1 /* 2 * Copyright 2020-2021 The OpenSSL Project Authors. All Rights Reserved. 3 * 4 * Licensed under the Apache License 2.0 (the "License"). You may not use 5 * this file except in compliance with the License. You can obtain a copy 6 * in the file LICENSE in the source distribution or at 7 * https://www.openssl.org/source/license.html 8 */ 9 10 #include "internal/deprecated.h" 11 12 #include <openssl/rsa.h> 13 #include <openssl/dsa.h> 14 #include <openssl/dh.h> 15 #include <openssl/ec.h> 16 #include <openssl/err.h> 17 #include <openssl/proverr.h> 18 #include <openssl/core_names.h> 19 #include <openssl/obj_mac.h> 20 #include "prov/securitycheck.h" 21 22 int FIPS_security_check_enabled(OSSL_LIB_CTX *libctx); 23 24 int ossl_securitycheck_enabled(OSSL_LIB_CTX *libctx) 25 { 26 #if !defined(OPENSSL_NO_FIPS_SECURITYCHECKS) 27 return FIPS_security_check_enabled(libctx); 28 #else 29 return 0; 30 #endif /* OPENSSL_NO_FIPS_SECURITYCHECKS */ 31 } 32 33 int ossl_digest_rsa_sign_get_md_nid(OSSL_LIB_CTX *ctx, const EVP_MD *md, 34 int sha1_allowed) 35 { 36 #if !defined(OPENSSL_NO_FIPS_SECURITYCHECKS) 37 if (ossl_securitycheck_enabled(ctx)) 38 return ossl_digest_get_approved_nid_with_sha1(ctx, md, sha1_allowed); 39 #endif /* OPENSSL_NO_FIPS_SECURITYCHECKS */ 40 return ossl_digest_get_approved_nid(md); 41 } 42