RETVAL
int
+_set_encryption_mode(ctx, encryption_mode)
+ INPUT:
+ fko_ctx_t ctx;
+ short encryption_mode;
+ CODE:
+ RETVAL = fko_set_spa_encryption_mode(ctx, encryption_mode);
+ OUTPUT:
+ RETVAL
+
+int
+_get_encryption_mode(ctx, val)
+ INPUT:
+ fko_ctx_t ctx;
+ short val
+ CODE:
+ RETVAL = fko_get_spa_encryption_mode(ctx, &val);
+ OUTPUT:
+ val
+ RETVAL
+
+int
_set_hmac_mode(ctx, hmac_mode)
INPUT:
fko_ctx_t ctx;
@DIGEST_TYPES,
@HMAC_DIGEST_TYPES,
@ENCRYPTION_TYPES,
+ @ENCRYPTION_MODES,
@ERROR_CODES
);
'digest_types' => \@DIGEST_TYPES,
'hmac_digest_types' => \@HMAC_DIGEST_TYPES,
'encryption_types' => \@ENCRYPTION_TYPES,
+ 'encryption_modes' => \@ENCRYPTION_MODES,
'errors' => \@ERROR_CODES,
'types' => [
@MSG_TYPES,
@MSG_TYPES,
@HMAC_DIGEST_TYPES,
@ENCRYPTION_TYPES,
+ @ENCRYPTION_MODES,
@ERROR_CODES
]
);
return($self->_check_return_val($val));
}
+sub encryption_mode {
+ my $self = shift;
+ my $val = shift;
+
+ return FKO::_set_encryption_mode($self->{_ctx}, $val)
+ if(defined($val));
+
+ $val = -1;
+ $self->{_err} = FKO::_get_encryption_mode($self->{_ctx}, $val);
+
+ return($self->_check_return_val($val));
+}
+
sub username {
my $self = shift;
my $val = shift;
FKO_ENCRYPTION_GPG
);
+# Encryption modes tag list.
+#
+our @ENCRYPTION_MODES = qw(
+ FKO_ENC_MODE_ECB
+ FKO_ENC_MODE_CBC
+ FKO_ENC_MODE_CFB
+ FKO_ENC_MODE_PCBC
+ FKO_ENC_MODE_OFB
+ FKO_ENC_MODE_CTR
+ FKO_ENC_MODE_ASYMMETRIC
+ FKO_ENC_MODE_CBC_LEGACY_IV
+);
+
# Error codes tag list.
#
our @ERROR_CODES = qw(
FKO_ENCRYPTION_RIJNDAEL => 1,
FKO_ENCRYPTION_GPG => 2,
+ # Encryption modes
+ FKO_ENC_MODE_ECB => 1,
+ FKO_ENC_MODE_CBC => 2,
+ FKO_ENC_MODE_CFB => 3,
+ FKO_ENC_MODE_PCBC => 4,
+ FKO_ENC_MODE_OFB => 5,
+ FKO_ENC_MODE_CTR => 6,
+ FKO_ENC_MODE_ASYMMETRIC => 7,
+ FKO_ENC_MODE_CBC_LEGACY_IV => 8,
+
# FKO error codes
FKO_SUCCESS => 0,
FKO_ERROR_CTX_NOT_INITIALIZED => 1,
$curr_test_file);
return 0;
}
+ $fko_obj->encryption_mode(FKO->FKO_ENC_MODE_CBC_LEGACY_IV);
$fko_obj->spa_data($encrypted_spa_pkt);
my $status = $fko_obj->decrypt_spa_data($fuzzing_key, length($fuzzing_key));