关于Nodejs下的rsa加密
nodejs吧
全部回复
仅看楼主
level 1
有一对公私密钥对
保存在private.pem和public.pem下
private.pem文件如下:
-----BEGIN RSA PRIVATE KEY-----
MIICcwIBADANBgkqhkiG9w0BAQEFAASCAl0wggJZAgEAAoGBAJoh/t8+KS3gmnml94zBkzhZkb+u
xxxx(省略)
-----END RSA PRIVATE KEY-----
public.pem文件如下:
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCaIf7fPikt4Jp5pfeMwZM4WZG/rtLt9xEw08G3
xxxx(省略)
-----END PUBLIC KEY-----
下面是用nodejs库cypto进行签名生成
var privatePem = fs.readFileSync('private.pem');
var prikey = privatePem.toString();
var sign = crypto.createSign('RSA-MD5');
sign.update(data);
sig = sign.sign(prikey, 'hex');
return sig;
那么问题来了
在windows下,这段代码执行是完全没有问题的,可以生成签名。
可是在linux下,这段代码执行就会报错:
Error: error:0D0680A8:asn1 encoding routines:ASN1_CHECK_TLEN:wrong tag
请大神指教解决这个问题,死活解决不了这个问题,搞了一天了。。。
跪求指点。
2015年09月11日 03点09分 1
level 1
自顶。。求大神解决 不要沉了。。。。。
2015年09月11日 03点09分 2
同问,LZ解决了么?
2017年06月30日 01点06分
请问楼主解决了吗,我也遇到这问题了
2019年01月22日 11点01分
level 13
改成 -----BEGIN PRIVATE KEY-----
PEM 格式常用的有 PKCS
#8 和 PKCS#
1
后者要加 RSA
2018年08月09日 08点08分 3
1