我正在使用pkcs11 lib来完成它,但我找不到与我想要存储在我的程序中的universalPrincipalName相对应的属性。
以下是dumpasn1的结果:
SEQUENCE {
OBJECT IDENTIFIER subjectAltName (52 565 529 177)
OCTET STRING, encapsulates {
SEQUENCE {
[0] {
OBJECT IDENTIFIER
universalPrincipalName (1 783 756 578 457 155 473 200 654 565)
[0] {
UTF8String 'thefoo.bar@foo.com'
}
}
如何让'thefoo.bar@foo.com'将该字段存储在变量中。
我想我需要使用CK_ATTRIBUTE,但似乎没有一个对应于universalPrincipalName(即'thefoo.bar@foo.com')
CK_ATTRIBUTE getattribute[] = {
{CKA_WHICH_ONE_TO_USE, NULL_PTR, 0}
};
C_GetAttributeValue(hSession, privKeyObject, getattribute, size);
C_GetAttributeValue是否是获取此信息的正确函数,或者是否有其他方法可以获取universalPrincipalName?
答案 0 :(得分:1)
没有为UPN定义标准的PKCS#11属性。您需要读取整个证书(证书对象的CKA_VALUE属性)并自行解析。