将PolarSSL x509_cert结构映射到PKCS#11 X.509对象

时间:2013-05-17 05:02:46

标签: c++ mapping x509certificate pkcs#11 polarssl

我想编写一个C ++程序来解析与PolarSSL兼容的X.509证书文件,提取它的所有属性&将它们映射到PKCS#11对象模板,以存储在加密令牌上。我还需要能够获取存储的对象属性&使用它们重新创建原始文件,但我完全不知道如何在PolarSSL x509_cert struct fields&之间进行映射。 PKCS#11 X.509对象属性。
我知道这个映射的一部分(即crt.valid_from映射到CKA_START_DATEcrt.valid_to映射到CKA_END_DATE)&需要这些属性来在令牌上创建我的证书对象(所有这些值必须根据PKCS#11规范进行设置):

CKA_CERTIFICATE_CATEGORY
CKA_CHECK_VALUE
CKA_SUBJECT
CKA_ID
CKA_ISSUER
CKA_SERIAL_NUMBER
CKA_VALUE
CKA_URL
CKA_HASH_OF_SUBJECT_PUBLIC_KEY
CKA_HASH_OF_ISSUER_PUBLIC_KEY
CKA_JAVA_MIDP_SECURITY_DOMAIN

有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

您基本上需要了解两个规格:X509 (RFC 5280)PKCS#11。证书是加密的“整体”对象,而PKCS#11中的许​​多可选“辅助属性”没有加密值。例如,我认为CKA_JAVA_MIDP_SECURITY_DOMAIN在2013年现实生活中接近零点。如果您将证书作为blob,您只需要关心原始证书数据(AKA CKA_VALUE) )和证书的主题(CKA_SUBJECT)。除非你解释为什么你想要“所有的属性”,否则你的想法是你想要做一些你不应该做的事情。