_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_ERROR);
} else if (not_approved) {
_gnutls_switch_fips_state(GNUTLS_FIPS140_OP_NOT_APPROVED);
+ } else {
+ _gnutls_switch_fips_state(GNUTLS_FIPS140_OP_APPROVED);
}
return ret;
}
FIPS_POP_CONTEXT(APPROVED);
- /* Create a SHA256 hashed data for 2-pass signature API; not a
- * crypto operation */
+ /* Create a SHA256 hashed data for 2-pass signature API; approved */
FIPS_PUSH_CONTEXT();
ret = gnutls_hash_fast(GNUTLS_DIG_SHA256, data.data, data.size, hash);
if (ret < 0) {
}
hashed_data.data = hash;
hashed_data.size = 32;
- FIPS_POP_CONTEXT(INITIAL);
+ FIPS_POP_CONTEXT(APPROVED);
/* Create a signature with ECDSA and SHA256 (2-pass API); not-approved */
FIPS_PUSH_CONTEXT();
FIPS_POP_CONTEXT(NOT_APPROVED);
gnutls_free(signature.data);
- /* Create a SHA1 hashed data for 2-pass signature API; not a
- * crypto operation */
+ /* Create a SHA1 hashed data for 2-pass signature API; approved */
FIPS_PUSH_CONTEXT();
ret = gnutls_hash_fast(GNUTLS_DIG_SHA1, data.data, data.size, hash);
if (ret < 0) {
}
hashed_data.data = hash;
hashed_data.size = 20;
- FIPS_POP_CONTEXT(INITIAL);
+ FIPS_POP_CONTEXT(APPROVED);
/* Create a signature with ECDSA and SHA1 (2-pass API); not-approved */
FIPS_PUSH_CONTEXT();