PKCS11 ECDSA 参数在 go 模块 pkcs11

我想知道如何使用go模块miekg / pkcs11为ECDSA模板传递正确的参数值:到目前为止,我得到了:

    privateKeyTemplate := []*pkcs11.Attribute{
        pkcs11.NewAttribute(pkcs11.CKA_TOKEN, tokenPersistent),
        pkcs11.NewAttribute(pkcs11.CKA_ECDSA_PARAMS, []byte{{/*how to use secp256k1?*/}), 
        pkcs11.NewAttribute(pkcs11.CKA_SIGN, true),
        pkcs11.NewAttribute(pkcs11.CKA_LABEL, label),
        pkcs11.NewAttribute(pkcs11.CKA_SENSITIVE, true),
        pkcs11.NewAttribute(pkcs11.CKA_EXTRACTABLE, true),
    }

有人可以帮我吗?

谢谢

编辑:

Alexander提供的字节数组是正确的,但请注意,我原来的问题也具有误导性。不应将ECDSA_PARAMS放在私钥模板中,而应仅放在公钥模板上。


喵喔喔
浏览 139回答 1
1回答

12345678_0001

在 OpenSC 项目中检查此行 (3189):FILL_ATTR(privkey_templ[n_privkey_attr], CKA_EC_PARAMS, gost.param_oid.value, gost.param_oid.len);和这个(3199):FILL_ATTR(privkey_templ[n_privkey_attr], CKA_GOSTR3410_PARAMS, gost.param_oid.value, gost.param_oid.len);根据我对GOST密钥的经验,我建议这里必须是一个编码的OID。在你的情况下,它可能看起来像这样:[]byte{ 06, 04, 01, 02, 03, 04 }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go