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 22int FIPS_security_check_enabled(OSSL_LIB_CTX *libctx); 23 24int 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 33int 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