level 1
HipHop夜半天使
楼主
有一对公私密钥对
保存在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
保存在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
请大神指教解决这个问题,死活解决不了这个问题,搞了一天了。。。
跪求指点。