我编写了一些代码,在令牌中写入公钥和私钥的密钥对。从密钥对中,我创建 pkcs10,然后从中生成证书文件。证书文件将被插入到令牌中。这一切都运行成功,但不知何故,CAPI 或 Internet Explorer 无法读取证书。如果我插入一个 p12 文件,它会毫不费力地运行。我怀疑 CKA_LABEL 和 CKA_ID 是这里的罪魁祸首。在 p12 中,所有内容都使用相同的名称约定。来自容器、公钥、私钥和证书。但是在我的方法中,容器名称看起来像是自动生成的。如何将其转换为与 CKA_ID 相同?下面是我生成保存在容器中的密钥对的代码。
rv = g_pFunctionList->C_GenerateKeyPair(hSession,
&ck_gen_ecc,
tPubKey, sizeof(tPubKey) / sizeof(CK_ATTRIBUTE),
tPrvKey, sizeof(tPrvKey) / sizeof(CK_ATTRIBUTE),
&pkcs11_hPubKey, &pkcs11_hPrvKey);
它保存在容器名称中,例如
cont_4440xxxxxxxx
如何将容器名称更改为与 CKA_ID 完全相同?任何人都可以帮忙吗?