Les données entre les marqueurs de l'encodage base64 de l'ASN.1 DER-encodage d'un fichier PKCS#8 PublicKeyInfo contenant un fichier PKCS#1 RSAPublicKey.
C'est beaucoup de normes, et vous serez mieux servi avec l'aide d'une bibliothèque de chiffrement pour les décoder (comme M2Crypto comme suggéré par joeforker). Traiter quelques le plaisir d'infos sur le format:
Si vous le souhaitez, vous pouvez décoder comme ceci:
Base64-décoder la chaîne:
30819f300d06092a864886f70d010101050003818d0030818902818100df1b822e14eda1fcb74336
6a27c06370e6cad69d4116ce806b3d117534cf0baa938c0f8e4500fb59d4d98fb471a8d01012d54b
32244197c7434f27c1b0d73fa1b8bae55e70155f907879ce9c25f28a9a92ff97de1684fdaff05dce
196ae76845f598b328c5ed76e0f71f6a6b7448f08691e6a556f5f0d773cb20d13f629b6391020301
0001
C'est le DER-encodage de:
0 30 159: SEQUENCE {
3 30 13: SEQUENCE {
5 06 9: OBJECT IDENTIFIER rsaEncryption (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 DF 1B 82 2E 14 ED A1 FC B7 43 36 6A 27 C0 63
: 70 E6 CA D6 9D 41 16 CE 80 6B 3D 11 75 34 CF 0B
: AA 93 8C 0F 8E 45 00 FB 59 D4 D9 8F B4 71 A8 D0
: 10 12 D5 4B 32 24 41 97 C7 43 4F 27 C1 B0 D7 3F
: A1 B8 BA E5 5E 70 15 5F 90 78 79 CE 9C 25 F2 8A
: 9A 92 FF 97 DE 16 84 FD AF F0 5D CE 19 6A E7 68
: 45 F5 98 B3 28 C5 ED 76 E0 F7 1F 6A 6B 74 48 F0
: 86 91 E6 A5 56 F5 F0 D7 73 CB 20 D1 3F 62 9B 63
: 91
157 02 3: INTEGER 65537
: }
: }
: }
Pour une clé RSA 1024-bit, vous pouvez traiter "30819f300d06092a864886f70d010101050003818d00308189028181" comme une constante de l'en-tête, suivi par un 00 octet, suivie par les 128 octets du RSA module. Après que 95% du temps, vous obtiendrez 0203010001, ce qui signifie un RSA publique exposant de 0x10001 = 65537.
Vous pouvez utiliser ces deux valeurs de n et e, dans un tuple à la construction d'un RSAobj.