Cryptography RSA公钥文件类型检测
我得到了一个RSA pubkey.dat(几乎显而易见),它的内容结构如下:Cryptography RSA公钥文件类型检测,cryptography,types,key,rsa,public,Cryptography,Types,Key,Rsa,Public,我得到了一个RSA pubkey.dat(几乎显而易见),它的内容结构如下: 大约1024位的ASN1整数(模数) ASN1整数(指数) 256字节的Blob(签名) 没有像“----开始---”这样的标签。其中包含纯十六进制值 P>有任何方式来识别它的格式,就像是DR/PEM/ETC一样,所以我可以用Python加密库或C++上的密码++来打开它。 (或者如果它与我要检查的公共标准结构名称匹配) 似乎它不是PEM,因为M2crypt无法加载它 提前感谢。PEM编码具有强制格式: ----
- 大约1024位的ASN1整数(模数)
- ASN1整数(指数)
- 256字节的Blob(签名)
提前感谢。PEM编码具有强制格式:
-----BEGIN typeName-----
base64 of DER value
-----END typeName-----
其中,对于公钥,typeName=“public KEY”(AFAIR),因此很容易使用正则表达式进行检查,例如:
/-----BEGIN [^-]+-----([A-Za-z0-9+\/=\s]+)-----END [^-]+-----/
如果不是PEM,通常是普通的DER
ASN.1序列的DER表示总是从0x30开始,因此通常当我必须解码DER或PEM流时,我确信它是ASN.1序列(无论如何,最复杂的值是序列),我检查第一个字节:如果它是0x30,我解码为DER,否则我解码为PEM
您可以使用快速检查ASN.1数据(这都是客户端Javascript,所以我不会看到您的数据)