From d287d142837d4323576a61182431a58ead88f9cd Mon Sep 17 00:00:00 2001 From: Michael Rash Date: Tue, 4 Oct 2016 22:16:34 -0400 Subject: [PATCH] [perl] add SHA3 digest algorithms --- perl/FKO/lib/FKO_Constants.pl | 8 ++++++++ perl/FKO/t/02_functions.t | 12 ++++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/perl/FKO/lib/FKO_Constants.pl b/perl/FKO/lib/FKO_Constants.pl index 00914d9c..377799c7 100644 --- a/perl/FKO/lib/FKO_Constants.pl +++ b/perl/FKO/lib/FKO_Constants.pl @@ -31,6 +31,8 @@ our @DIGEST_TYPES = qw( FKO_DIGEST_SHA256 FKO_DIGEST_SHA384 FKO_DIGEST_SHA512 + FKO_DIGEST_SHA3_256 + FKO_DIGEST_SHA3_512 ); # HMAC digest types tag list. @@ -43,6 +45,8 @@ our @HMAC_DIGEST_TYPES = qw( FKO_HMAC_SHA256 FKO_HMAC_SHA384 FKO_HMAC_SHA512 + FKO_HMAC_SHA3_256 + FKO_HMAC_SHA3_512 ); # Encryption types tag list. @@ -233,6 +237,8 @@ use constant { FKO_DIGEST_SHA256 => 3, FKO_DIGEST_SHA384 => 4, FKO_DIGEST_SHA512 => 5, + FKO_DIGEST_SHA3_256 => 6, + FKO_DIGEST_SHA3_512 => 7, # HMAC digest types FKO_HMAC_INVALID_DATA => -1, @@ -242,6 +248,8 @@ use constant { FKO_HMAC_SHA256 => 3, FKO_HMAC_SHA384 => 4, FKO_HMAC_SHA512 => 5, + FKO_HMAC_SHA3_256 => 6, + FKO_HMAC_SHA3_512 => 7, # Encryption types FKO_ENCRYPTION_INVALID_DATA => -1, diff --git a/perl/FKO/t/02_functions.t b/perl/FKO/t/02_functions.t index 51599119..277345cb 100644 --- a/perl/FKO/t/02_functions.t +++ b/perl/FKO/t/02_functions.t @@ -10,7 +10,7 @@ # use FKO; -use Test::More tests => 533; +use Test::More tests => 537; # Test spa data support vars # @@ -151,8 +151,16 @@ $err = $f1->digest_type(FKO::FKO_DIGEST_MD5); ok($err == FKO::FKO_SUCCESS, 'f1 set digest to md5'); is($f1->digest_type(), FKO::FKO_DIGEST_MD5, 'verify set digest md5'); +$err = $f1->digest_type(FKO::FKO_DIGEST_SHA3_256); +ok($err == FKO::FKO_SUCCESS, 'f1 set digest to sha3_256'); +is($f1->digest_type(), FKO::FKO_DIGEST_SHA3_256, 'verify set digest sha3_256'); + +$err = $f1->hmac_type(FKO::FKO_HMAC_SHA3_512); +ok($err == FKO::FKO_SUCCESS, 'f1 set HMAC digest to sha3_512'); +is($f1->hmac_type(), FKO::FKO_HMAC_SHA3_512, 'verify set HMAC digest sha3_512'); + $err = $f1->hmac_type($tsd_hmac_digest_type); -ok($err == FKO::FKO_SUCCESS, 'f1 set set HMAC digest to sha512'); +ok($err == FKO::FKO_SUCCESS, 'f1 set HMAC digest to sha512'); is($f1->hmac_type(), $tsd_hmac_digest_type, 'verify set HMAC digest sha512'); my $tts = $f1->timestamp();