c# – 读取ASN.1 DER编码的RSA公钥
我正在编写一个应用程序,以便更好地了解DKIM.规范说我从域TXT记录中检索“ASN.1 DER编码”公钥.我可以在“s1024._domainkey.yahoo.com”=“MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDrEee0Ri4Juz QfiWYui / E9UGSXau / 2P8LjnTD8V4Unn 2FAZVGE3kL23bzeoULYv4PeleB3gfm”上看到关键字.
如何从.net使用此密钥?我见过的例子从X509Certificate2或包含RSAParameters的XML文件中获取密钥. 更正:我从network-tools.com DNS工具上复制/粘贴了上面的密钥,该工具必须缩短它. nslookup给了我完整的密钥:
所以abelenky与BASE64在正确的轨道上…… 解决方法
这是包含RSA公钥的ASN.1 PublicKeyInfo的DER编码的base64编码.
这是一个翻译: 0 30 159: SEQUENCE { 3 30 13: SEQUENCE { 5 06 9: OBJECT IDENTIFIER '1 2 840 113549 1 1 1' 16 05 0: NULL : } 18 03 141: BIT STRING 0 unused bits,encapsulates { 22 30 137: SEQUENCE { 25 02 129: INTEGER : 00 EB 11 E7 B4 46 2E 09 BB 3F 90 7E 25 98 BA 2F : C4 F5 41 92 5D AB BF D8 FF 0B 8E 74 C3 F1 5E 14 : 9E 7F B6 14 06 55 18 4D E4 2F 6D DB CD EA 14 2D : 8B F8 3D E9 5E 07 78 1F 98 98 83 24 E2 94 DC DB : 39 2F 82 89 01 45 07 8C 5C 03 79 BB 74 34 FF AC : 04 AD 15 29 E4 C0 4C BD 98 AF F4 B7 6D 3F F1 87 : 2F B5 C6 D8 F8 46 47 55 ED F5 71 4E 7E 7A 2D BE : 2E 75 49 F0 BB 12 B8 57 96 F9 3D D3 8A 8F FF 97 : 73 157 02 3: INTEGER 65537 : } : } : } OBJECT IDENTIFIER指示以下BIT STRING包含RSAPublicKey的编码. INTEGER是模数和公共指数. 您可以使用Convert.FromBase64String解码base64,但我不认为.NET具有解析PublicKeyInfos的内置功能,因此您需要使用像BouncyCastle这样的第三方工具. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |