如何从节点js中的RSA公钥生成SKI?

张大卫

我正在尝试修改fabric-sdk-node项目以将其与RSA证书和密钥一起使用。

现在,我还不知道如何生成带有RSA公钥的SKI(X509v3主题密钥标识符)。

该项目正在对加密货币使用jsrsasign 软件包

jsrsasign在Github.com问题页面上找到了可以用ECDSA生成SKI的页面,但在RSA方面仍然没有任何线索。

任何建议都将受到欢迎!

谢谢!

张大卫

我几乎测试了包中的每个方法jsrsasign,但仍然找不到任何有用的方法。

因此,我在框外查看,认为X509V3主题密钥标识符(SKI)由默认的sha1哈希算法生成。但是,我们在超级账本/结构中所做的定义将哈希算法定义为sha256那么,如果jsrsasign用对该哈希算法进行了硬编码sha1怎么办?(这是一个猜测,如果我错了,请纠正我。)

考虑到这一点,我尝试了另一个node-forge可以解决我问题的软件包

这是演示:

const nodeForge = require("node-forge");
const pki = nodeForge.pki;

const jsrsa = require("jsrsasign");
const KEYUTIL = jsrsa.KEYUTIL;


const rsaPubKeyPem = `-----BEGIN CERTIFICATE-----
MIID<.........>Y/gRUg==
-----END CERTIFICATE-----
`;

const pubKey = KEYUTIL.getKey(rsaPubKeyPem);
const publicKey = pki.rsa.setPublicKey(pubKey.n,pubKey.e);

console.log(pki.getPublicKeyFingerprint(publicKey,{
    md: nodeForge.sha256.create(),
    encoding: 'hex',
    delimiter: ':'}));

而且,我们获得了与openssl完全相同的SKI。这将导入另一个加密软件包,并且看起来很丑。如果有什么好主意请告知。

谢谢!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章