我正在从发件人的证书中提取用于加密的公钥作为字节 [] 数组
JObject o = JObject.Parse(reply);
string certResponse = o.GetValue("certificate").Value<string>();
byte[] certByteArray = Encoding.ASCII.GetBytes(certResponse);
//Extract Public key from Certificate
var certTest = new X509Certificate2(certByteArray);
var certPublicKey = certTest.GetPublicKey();
我希望使用 PKCS11Interop Encrypt() 函数,该函数采用密钥的 ObjectHandle 来加密消息/数据。我发现的唯一方法是设置 ObjectAttributes 和 session.CreateObject(objectAttributes); 并最终销毁对象。
但是我得到 CKR_FUNCTION_NOT_SUPPORTED 调用 CreateObject()。正如 jariq 在这篇文章中所澄清的那样,OpenSC PKCS#11 库不支持/实现 PKCS#11 规范中定义的某些功能,使用字节数组 publicKey 进行加密的替代方法/解决方法是什么?