我正在为我公司销售的智能卡编写 CSP 库(用于 CryptoAPI)。
我对私钥的 AT_SIGNATURE 密钥类型和 CALG_RSA_SIGN 算法之间的区别有疑问(AT_KEYEXCHANGE 和 CALG_RSA_KEYX 也是如此)。
我知道 MSDN 网站上写的是什么,但是如果在调用 CPGenKey() 函数时指定了 CALG_RSA... 算法中的任何一个,CSP DLL 应该如何工作?我的意思是它应该生成会话 RSA 私钥还是应该生成密钥并将其保存在卡上?或者它可能取决于在 CPAcquireContext() 调用(即 CRYPT_VERIFY_CONTEXT 即)中指定的标志,并且 AT_SIGNATURE 应该定义为“签名的默认算法”,对于我们的卡来说是 RSA?
谢谢