检查传统CSP是否支持';PP#u KEYSET_secu#u DESCR';旗帜
我通过GUI在windows证书存储中导入了一个pfx。当我检查“certutil-storemycn”的输出时 它将CSP显示为“Microsoft增强加密提供程序v1.0”,这是传统的CSP,而不是新的CNG。我正在使用Windows2012服务器 (我知道我可以通过certutil-csp“csp_name”导入,并获得新的csp,如“Microsoft软件密钥存储提供商”) 我想在证书对应的私钥上设置DACL。尽管如此,由于我有传统的CSP,我必须使用“CryptoSetProvParam”,而不是CNG等效物。我机器上的旧版CSP支持“PP_KEYSET_SEC_DESCR”标志,但我的客户可能正在使用不支持此标志的旧版CSP 1。是否有办法检查旧版CSP是否支持此“PP\U KEYSET\U SEC\U DESCR”标志? 我知道CNG等效标志“NCRYPT_SECURITY_DESCR_SUPPORT_PROPERTY”,但如果我使用“CryptAcquireCertificatePrivateKey”获取密钥的NCRYPT句柄,API“NCryptGetProperty”将失败,错误为NTE_BAD_key_STATE 2。如果句柄是NCrypt,但底层CSP是遗留的,为什么“NCryptGetProperty”会失败?检查传统CSP是否支持';PP#u KEYSET_secu#u DESCR';旗帜,c,cryptography,cryptoapi,cng,dpapi,C,Cryptography,Cryptoapi,Cng,Dpapi,我通过GUI在windows证书存储中导入了一个pfx。当我检查“certutil-storemycn”的输出时 它将CSP显示为“Microsoft增强加密提供程序v1.0”,这是传统的CSP,而不是新的CNG。我正在使用Windows2012服务器 (我知道我可以通过certutil-csp“csp_name”导入,并获得新的csp,如“Microsoft软件密钥存储提供商”) 我想在证书对应的私钥上设置DACL。尽管如此,由于我有传统的CSP,我必须使用“CryptoSetProvPara