如何将“byte [] publicKey”转换为“数据对象”(使用ObjectHandle)

时间:2017-06-07 21:58:56

标签: public-key-encryption pkcs#11 opensc

我从发件人的证书中提取加密的公钥为byte [] array

    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);最终是DestroyObject。

但是我得到CKR_FUNCTION_NOT_SUPPORTED调用CreateObject()。正如jariq在此post中所阐明的那样,OpenSC PKCS#11库不支持/实现PKCS#11规范中定义的某些功能,使用字节数组publicKey进行加密的替代方法/解决方法是什么?

0 个答案:

没有答案