summaryrefslogtreecommitdiffstats
path: root/crypto/modes/gcm128.c
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2011-02-07 18:05:27 +0000
committerDr. Stephen Henson <steve@openssl.org>2011-02-07 18:05:27 +0000
commitfd3dbc1dbf416995089ff9eb1ac99b5cf0beffd7 (patch)
treef7014381377762857b2b484a028de85f5aefc9a9 /crypto/modes/gcm128.c
parentd45087c672bd24467e6aea4ef05dbe6a5c420d5a (diff)
Add CRYPTO_gcm128_tag() function to retrieve the tag.
Diffstat (limited to 'crypto/modes/gcm128.c')
-rw-r--r--crypto/modes/gcm128.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/crypto/modes/gcm128.c b/crypto/modes/gcm128.c
index 2de858c282..a9e9a34d3f 100644
--- a/crypto/modes/gcm128.c
+++ b/crypto/modes/gcm128.c
@@ -1337,6 +1337,12 @@ int CRYPTO_gcm128_finish(GCM128_CONTEXT *ctx,const unsigned char *tag,
return -1;
}
+void CRYPTO_gcm128_tag(GCM128_CONTEXT *ctx, unsigned char *tag, size_t len)
+{
+ CRYPTO_gcm128_finish(ctx, NULL, 0);
+ memcpy(tag, ctx->Xi.c, len);
+}
+
GCM128_CONTEXT *CRYPTO_gcm128_new(void *key, block128_f block)
{
GCM128_CONTEXT *ret;