【发布时间】:2018-03-31 06:32:03
【问题描述】:
using (Session session = slot.OpenSession(SessionType.ReadWrite))
{
session.Login(CKU.CKU_SO, "pin");
List<ObjectAttribute> publicKeyAttributes = new List<ObjectAttribute>();
publicKeyAttributes.Add(new ObjectAttribute(CKA.CKA_CLASS, CKO.CKO_SECRET_KEY));
publicKeyAttributes.Add(new ObjectAttribute(CKA.CKA_KEY_TYPE, CKK.CKK_RSA));
publicKeyAttributes.Add(new ObjectAttribute(CKA.CKA_CLASS, CKO.CKO_CERTIFICATE));
publicKeyAttributes.Add(new ObjectAttribute(CKA.CKA_CLASS, CKO.CKO_PRIVATE_KEY));
publicKeyAttributes.Add(new ObjectAttribute(CKA.CKA_LABEL, "label2"));
publicKeyAttributes.Add(new ObjectAttribute(CKA.CKA_LABEL, "label1"));
publicKeyAttributes.Add(new ObjectAttribute(CKA.CKA_LABEL, "Pkcs11Interop"));
List<ObjectHandle> foundPublicKeys = session.FindAllObjects(publicKeyAttributes);
}
我正在尝试使用 Pkcs11Interop 库从 HSM 获取我自己的证书并从账单中获取。
当我尝试使用此代码查找自己的证书时:
var foundObjects = session.FindAllObjects (searchTemplate)
它返回零 (0)。
session.GenerateKeyPair (mechanism, publicKeyAttributes, privateKeyAttributes, out publicKeyHandle, out privateKeyHandle);
我找到了这段代码,但我得到了一个错误。
C_GenerateKeyPair returned CKR_USER_NOT_LOGGED_IN
谁能帮帮我?谢谢。
【问题讨论】:
-
请阅读Under what circumstances may I add “urgent” or other similar phrases to my question, in order to obtain faster answers? - 总结是这不是解决志愿者的理想方式,并且可能会适得其反。请不要将此添加到您的问题中。
-
我正在将 Jariq 帖子中的一些极好的建议转移到 cmets。 (1) 我只能猜测你的问题到底是什么,因为你问得不够清楚 (您唯一一次使用问号是在 "emergency ???" 这个词之后,这并没有真正的帮助)。请参阅How do I ask a good question?,了解有关如何改进未来问题的一些基本想法。
-
(2) 您也没有提供足够的代码让任何人理解您的问题。提供Minimal, Complete, and Verifiable example 重现您的问题总是一个好主意。
-
(3) 使用markdown to format your question 也是一个好主意,这样可以增加它的可读性。
-
(4) 通过犯这些初学者错误,您降低了任何人能够或愿意帮助您的机会。请尝试改进您未来的问题。
标签: c# .net rsa hsm pkcs11interop