由于不建议使用SHA1,因此我想禁用SHA1哈希算法。我使用OpenSSL API将签名算法设置为SSL_CTX,
静态INT32 signAlgoList [24] = {NID_sha512, EVP_PKEY_RSA,NID_sha512,EVP_PKEY_DSA,NID_sha512,EVP_PKEY_EC,NID_sha384, EVP_PKEY_RSA,NID_sha512,EVP_PKEY_DSA,NID_sha384,EVP_PKEY_EC,NID_sha256, EVP_PKEY_RSA,NID_sha256,EVP_PKEY_DSA,NID_sha256,EVP_PKEY_EC,NID_sha224, EVP_PKEY_RSA,NID_sha224,EVP_PKEY_DSA,NID_sha224,EVP_PKEY_EC};
/ *签名算法列表* /
(void)SSL_CTX_set1_client_sigalgs(sCtxMutualAuth,(int *)signAlgoList,24);
(void)SSL_CTX_set1_sigalgs(sCtxMutualAuth,(int *)signAlgoList,24);
在我的程序中包含这些API之后,SHA-1在Windows中可用(在wireshark日志中看不到SHA-1),但是在Linux中仍未禁用SHA1。它在Wireshark日志中显示SHA-1。谁能建议我,还有其他方法可以禁用Linux中的SHA1