RSA的公钥和私钥的ASN.1编码

ASN.1 BER编码 https://blog.csdn.net/wzj_whut/article/details/86241935
pkcs-1定义
ftp://ftp.rsa.com/pub/pkcs/ascii/pkcs-1.asc
RSA规范 https://tools.ietf.org/html/rfc8017
X509公钥格式 https://tools.ietf.org/html/rfc5280
object identifier查询
http://www.oid-info.com
如果是文件格式的文件(PEM格式), 需要先使用base64解码

公钥格式

X.509中的RSA的公钥定义为

SEQUENCE {
	SEQUENCE {
		OBJECT IDENTIFIER
		rsaEncryption (1 2 840 113549 1 1 1)
		NULL
	}
	BIT STRING, encapsulates {
		SEQUENCE {
			INTEGER
			INTEGER 65537
		}
	}
}

随机生成RSA的公钥如下 (https://github.com/wzjwhut/rsa-theory)

30 82 01 22 30 0d 06 09 2a 86 48 86 f7 0d 01 01
01 05 00 03 82 01 0f 00 30 82 01 0a 02 82 01 01
00 d7 99 7d 64 f1 5e 77 dd a9 c8 fe 3d ea ba 0f
bd 83 56 27 f5 cb 52 78 09 da 60 fb 0f 16 ef b8
3a ed 19 dd c3 73 b1 e7 52 ca d8 82 95 cc 40 df
51 0c 59 26 52 6b 96 48 88 13 0a 78 28 68 3b 00
79 e6 a2 43 36 c2 04 aa 37 b0 77 73 19 ff 33 ec
50 76 45 ad 3b 46 09 29 83 c7 1b 73 d8 f7 f8 a0
f1 e4 e4 d8 ed aa fc 74 a0 5c ce 69 c4 be a8 e7
ac b3 e2 07 9b 90 de a3 94 42 89 85 90 09 58 43
fb ef 0c 05 91 38 67 f8 e1 8d 60 a8 c4 bb 3b 1f
35 1d 6a 17 38 12 50 cf 89 6d c5 27 4a 5f 98 23
df 23 d6 41 f3 ab a2 c1 5a 0d 2f d5 92 0c 3e 93
4e ef 4e 49 7d 0d 39 99 b9 a0 24 2a ce 7b 67 15
a3 df 25 2c ed b1 19 76 e3 41 ab 7f f8 86 fb 88
ed 85 94 2a 43 0d 3f 4d 1f c0 5d e7 af 5c 18 8a
e0 99 bd de ba 78 ec 97 27 ae ca ea 75 be 5f 84
2a 9a 10 c6 fa db cd 25 11 59 2a bf 12 36 02 9c
0d 02 03 01 00 01

总共294字节, 它的格式如下

30     --表示ASN.1的SEQUENCE编码
82 01 22,  --content长度为0x0122, 即290字节, 剩下的所有的数据都是content 
	30   --又是一个sequence
	0d   --长度为13字节
		06   -- Object identifier
		09   --长度为9个字节
		2a   --整数42 = 1*40 +2 , 即 {1, 2}
		86 48  --整数840
		86 f7 0d --整数113549
		01 01 01 ,  --三个整数1
		        --因此, object id是{1 2 840 113549 1 1 1},  官网上查到的pkcs-1的OID=1.2.840.113549.1.1.1
		05 00  -- null
	
		03 --表示bitstring
		82 01 0f  --长度为 271, 剩下的所有数据
			00  --padding的比特数为0.
			30 --sequence
			82 01 0a  --长度266
				02 --整数
				82 01 01 --长度为257,  以下是一个超级大的整数, 为密钥中的n
				00 d7 99 7d 64 f1 5e 77 dd a9 c8 fe 3d ea ba 0f
				bd 83 56 27 f5 cb 52 78 09 da 60 fb 0f 16 ef b8
				3a ed 19 dd c3 73 b1 e7 52 ca d8 82 95 cc 40 df
				51 0c 59 26 52 6b 96 48 88 13 0a 78 28 68 3b 00
				79 e6 a2 43 36 c2 04 aa 37 b0 77 73 19 ff 33 ec
				50 76 45 ad 3b 46 09 29 83 c7 1b 73 d8 f7 f8 a0
				f1 e4 e4 d8 ed aa fc 74 a0 5c ce 69 c4 be a8 e7
				ac b3 e2 07 9b 90 de a3 94 42 89 85 90 09 58 43
				fb ef 0c 05 91 38 67 f8 e1 8d 60 a8 c4 bb 3b 1f
				35 1d 6a 17 38 12 50 cf 89 6d c5 27 4a 5f 98 23
				df 23 d6 41 f3 ab a2 c1 5a 0d 2f d5 92 0c 3e 93
				4e ef 4e 49 7d 0d 39 99 b9 a0 24 2a ce 7b 67 15
				a3 df 25 2c ed b1 19 76 e3 41 ab 7f f8 86 fb 88
				ed 85 94 2a 43 0d 3f 4d 1f c0 5d e7 af 5c 18 8a
				e0 99 bd de ba 78 ec 97 27 ae ca ea 75 be 5f 84
				2a 9a 10 c6 fa db cd 25 11 59 2a bf 12 36 02 9c
				0d 
			   02 --整数
			   03  --就3个字节
			   01 00 01  --数字 65537, , 为RSA密钥中e

私钥格式

密码加密规范 https://tools.ietf.org/html/rfc8018
私钥文件格式 https://tools.ietf.org/html/rfc5958

格式定义
EncryptedPrivateKeyInfo {
密码生成算法参数
加密算法参数
加密后的数据, 即RSAPrivateKey使用密码加密后的数据
}

RSAPrivateKey ::= SEQUENCE {
version Version,
modulus INTEGER, – n
publicExponent INTEGER, – e
privateExponent INTEGER, – d
prime1 INTEGER, – p
prime2 INTEGER, – q
exponent1 INTEGER, – d mod (p-1)
exponent2 INTEGER, – d mod (q-1)
coefficient INTEGER, – (inverse of q) mod p
otherPrimeInfos OtherPrimeInfos OPTIONAL
}

以下是一段随机生成私钥, 密码为123456

30 82 05 0e 30 40 06 09 2a 86 48 86 f7 0d 01 05
0d 30 33 30 1b 06 09 2a 86 48 86 f7 0d 01 05 0c
30 0e 04 08 7d ff c1 d7 c3 3d 4b 55 02 02 08 00
30 14 06 08 2a 86 48 86 f7 0d 03 07 04 08 d6 cd
24 36 11 69 b9 76 04 82 04 c8 61 65 de 97 7e c5
ba 45 c6 f0 9f 4f d5 e4 d8 52 51 0f d4 a1 0e a7
cb b9 c4 f2 8c c3 95 69 56 6f 66 ad e9 e5 c2 7e
3b 15 91 61 f1 91 e0 84 23 4f 6a 12 67 c4 02 dd
6e fa a8 30 b5 10 58 7e 47 1a 58 35 20 6e 64 79
d7 79 46 7b 36 70 1d 76 e2 d2 22 10 7a d9 20 4b
fc dc 00 e7 5e 46 e1 90 6a 77 1d 04 e5 b5 67 9f
0e 3a 9c ab 89 65 4c d9 f6 51 52 6d 54 c8 88 ff
9f 70 89 7e 10 19 7f f0 a5 67 9c 4d 10 8e 92 51
2b 70 de 0a 2b bb 89 1f 67 57 3b 7f 2a ea a2 b2
fd 40 a1 14 96 09 9f 67 ce d8 83 21 c5 70 9f c0
4b b6 ca 69 d5 99 03 d0 5e 92 70 e8 b6 d3 9c 1e
68 4a 10 25 ab 77 ea 1e e2 18 2a f1 cc d9 7f 0b
05 ab a1 60 76 0d 6a c1 b8 52 52 a3 9b 7a 48 56
fd a2 7e 94 f0 17 47 a9 39 91 76 17 d6 27 44 32
e1 83 8e b2 f1 9c 9a a2 b7 80 bc 6b 82 b8 d0 e8
1a 81 5e a9 87 5d 01 9f 9d ed 40 55 d5 f8 bf aa
82 9c 91 75 43 c2 5c cc 62 8d 3c c4 21 d6 63 e9
d9 2d ca 6b bc 32 50 ce 0c 80 ba 05 0f a3 73 f3
39 4e b1 ff 4f 23 ff 24 99 40 20 f7 ce e3 62 27
a6 d2 09 ac 86 79 83 e3 d8 52 f1 a0 7f 68 d8 a9
a7 8d dd 92 9f 38 58 0b 08 94 67 c8 c6 48 bf 91
1a 35 41 a6 e1 37 5b c9 08 8e 49 8a 6b 26 ed 6e
35 38 ce 37 b0 0c eb 30 26 88 7c 88 d7 4f 7a 98
39 a3 13 b0 bd e7 ad 04 cd ae f9 e8 1e 37 84 39
c6 cc d1 f8 3b d3 06 a4 b0 d8 13 ba ba 61 2e df
1d a3 f6 ae 36 35 15 6c 07 7e 1f 27 3c 33 10 7f
0e 80 3f b8 c7 d6 fc 04 28 93 e7 0e 92 18 91 7e
53 e4 61 d5 7b bc 0f c3 a1 14 12 09 46 ad e8 4d
e4 46 73 a8 3b 90 b0 bf a5 f2 9e 75 2e 98 bb 0d
c9 b5 3d 65 a6 cf 70 80 16 b9 2a 93 c6 36 a0 b2
c4 db 2a 15 09 36 0f 8b 27 b4 db 23 eb 08 4b a3
aa d5 bc 40 0e 7f d3 c4 f8 dd d1 ce 37 77 f5 98
29 a1 2f ad 09 48 88 9e d5 01 62 19 2a b9 24 01
c0 d7 3a 44 39 1d 86 65 b4 db 82 bd 6a b8 d6 9d
d6 dc 13 c3 40 0c 5d d1 d4 3a 89 2e e1 55 af e1
e3 48 81 77 a9 d9 6e e5 c5 db 9e 5a 33 81 4d bb
03 23 6a 18 6d 82 a7 18 49 69 51 6b 83 84 5e 04
a4 5b 89 9a 3e f6 5d cc df b2 9e 0c 2a 82 e2 02
38 1e 38 c4 44 cb b1 79 5d 1a 68 4c a0 7d c9 18
14 d2 26 83 15 34 bd 26 4c cf 86 39 be 75 bb 1d
1b 1b 5a ab 10 e1 7b 83 13 54 c4 2c 76 18 f1 a3
c3 f9 f9 db d4 e0 6d 05 d2 b1 ee d3 09 d5 9d 76
f2 07 7c 79 10 3a 04 bb 59 7f c8 f0 f9 43 9e ad
23 0b 1c 46 08 15 c9 92 f1 bb e3 e5 ac a5 a9 ef
2e c7 90 84 df 3d 71 4d 08 96 f9 9b a2 59 67 ed
59 61 b8 ef 64 4c c8 e4 c7 39 20 4a 54 f7 f9 60
76 f1 4f 0a 56 02 57 15 f8 db 98 ca 36 ca f5 a4
a4 05 ad c9 fc 07 2c a2 8f 47 79 48 80 3a 27 e1
ff 67 ae c8 42 77 e7 1e 7a 8b 47 fc da 46 48 29
c9 82 4c 3c d2 95 99 af ef c2 29 db 47 1f c2 4d
78 bd b3 d5 01 26 63 ae d6 5d a5 a6 91 e7 90 7d
a0 b3 7d f2 93 4a 78 0a 31 c9 11 09 26 a7 59 09
41 d7 76 19 b6 fb b4 fd 87 88 f4 b1 f6 73 9c 04
1a 4c 6e 19 4a eb 4e d0 61 f5 e6 7e 69 51 94 62
69 6a 78 b1 93 b7 a8 60 b5 e7 c4 5d cf 0b 0c 70
ee ae 5c 3a ae 4b b9 ac 8c ba ad b1 79 1a 65 a7
b4 d9 47 c8 e7 ba 9d 00 95 46 f1 97 4a bc 02 48
c8 c0 18 cb e5 a6 5c b4 58 7d 7e 17 24 b7 c4 49
95 db 0a c4 de 39 91 bf fe 75 cc 75 e9 78 10 ab
47 e8 bb 6e 59 24 c5 95 a0 8a 22 2d d4 a9 df 74
3d 1a 66 80 ef 79 59 97 d2 d0 fd 59 70 7c 55 fe
dc da 67 6b 59 3d e7 32 7d 48 cf 25 ea b0 c9 af
95 ec 1d 35 45 b7 c8 b1 8e bd 8e 7e 86 79 b7 76
93 6c 17 ca c5 3a 2a 73 31 94 1f 30 61 5b a1 63
60 75 3e e8 df d1 54 61 cb 4f a8 07 f0 6d 84 3e
74 a0 87 eb 74 e6 92 37 d2 e1 59 3c 1d ff 4a a9
43 99 0e b2 da d1 53 a5 82 12 91 62 af d0 22 9d
85 fe 3a cd 46 2c 47 ec eb e6 34 52 60 df e0 3a
fc 5a bb d7 31 bd a4 64 bc cc 44 d5 2f 3e a9 14
8f b4 01 82 cf 8b 7c 7e 82 04 59 a9 ec 23 cc 09
4e 6e e0 fe 25 64 9f 61 7c ce 65 e9 25 5b 6a 07
e0 02 cf f8 ef 71 14 ba ca 77 0c 01 64 3b f8 a3
00 1b c7 f8 92 e5 74 c7 45 96 ff 44 cf c9 e0 db
1d f0 b3 ab 90 6c d5 57 2a 4e 58 eb 78 4c d5 42
d1 a0 bb 75 e7 84 be 30 21 36 77 89 68 78 ae f8
60 54 bf 97 7b 24 75 9d ad 60 56 7e b4 11 22 b3
67 d1

它的格式如下

30 sequence
82 05 0e  长度0x050e, 1294
	30 sequence
	40 长度64 
		06 Object identifier type
		09 长度9
			2a   86 48   86 f7 0d  01 05 0d   
			// 1.2.840.113549.1.5.13  {iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-5(5) pbes2(13)}
			//对应的定义为
		30 sequence
		33 长度51
			30 sequence
			1b 长度27
				06 Object identifier type
				09 长度9
				2a 86 48 86 f7 0d 01 05 0c  
				//oid 1.2.840.113549.1.5.12  {iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-5(5) pBKDF2(12)}  https://tools.ietf.org/html/rfc2898
				30 sequnece
				0e 长度14
					04 Octetstring type  
					08 长度8
						7d ff c1 d7 c3 3d 4b 55  8字节的salt
					02 Integer type
					02 长度2
						08 00 整数2048   加密次数2048次         
			
			30 sequence  //此处为PBES2-Encs
			14 长度20字节 
				06 Object identifier type
				08 
				2a 86 48 86 f7 0d 03 07  1.2.480.113549.3.7 自定义的类型, 为DES-EDE3-CBC-Pad加密
				04 Octetstring type //iv
				08 
				d6 cd 24 36 11 69 b9 76 
	
	04 octetstring
	82 04 c8  //1224 剩下的所有字节都是octetstring, 是通过DES-EDE3-CBC-Pad算法加密之后的数据
	61 65 de 97 7e c5
	ba 45 c6 f0 9f 4f d5 e4 d8 52 51 0f d4 a1 0e a7
	cb b9 c4 f2 8c c3 95 69 56 6f 66 ad e9 e5 c2 7e
	3b 15 91 61 f1 91 e0 84 23 4f 6a 12 67 c4 02 dd
	6e fa a8 30 b5 10 58 7e 47 1a 58 35 20 6e 64 79
	d7 79 46 7b 36 70 1d 76 e2 d2 22 10 7a d9 20 4b
	fc dc 00 e7 5e 46 e1 90 6a 77 1d 04 e5 b5 67 9f
	0e 3a 9c ab 89 65 4c d9 f6 51 52 6d 54 c8 88 ff
	9f 70 89 7e 10 19 7f f0 a5 67 9c 4d 10 8e 92 51
	2b 70 de 0a 2b bb 89 1f 67 57 3b 7f 2a ea a2 b2
	fd 40 a1 14 96 09 9f 67 ce d8 83 21 c5 70 9f c0
	4b b6 ca 69 d5 99 03 d0 5e 92 70 e8 b6 d3 9c 1e
	68 4a 10 25 ab 77 ea 1e e2 18 2a f1 cc d9 7f 0b
	05 ab a1 60 76 0d 6a c1 b8 52 52 a3 9b 7a 48 56
	fd a2 7e 94 f0 17 47 a9 39 91 76 17 d6 27 44 32
	e1 83 8e b2 f1 9c 9a a2 b7 80 bc 6b 82 b8 d0 e8
	1a 81 5e a9 87 5d 01 9f 9d ed 40 55 d5 f8 bf aa
	82 9c 91 75 43 c2 5c cc 62 8d 3c c4 21 d6 63 e9
	d9 2d ca 6b bc 32 50 ce 0c 80 ba 05 0f a3 73 f3
	39 4e b1 ff 4f 23 ff 24 99 40 20 f7 ce e3 62 27
	a6 d2 09 ac 86 79 83 e3 d8 52 f1 a0 7f 68 d8 a9
	a7 8d dd 92 9f 38 58 0b 08 94 67 c8 c6 48 bf 91
	1a 35 41 a6 e1 37 5b c9 08 8e 49 8a 6b 26 ed 6e
	35 38 ce 37 b0 0c eb 30 26 88 7c 88 d7 4f 7a 98
	39 a3 13 b0 bd e7 ad 04 cd ae f9 e8 1e 37 84 39
	c6 cc d1 f8 3b d3 06 a4 b0 d8 13 ba ba 61 2e df
	1d a3 f6 ae 36 35 15 6c 07 7e 1f 27 3c 33 10 7f
	0e 80 3f b8 c7 d6 fc 04 28 93 e7 0e 92 18 91 7e
	53 e4 61 d5 7b bc 0f c3 a1 14 12 09 46 ad e8 4d
	e4 46 73 a8 3b 90 b0 bf a5 f2 9e 75 2e 98 bb 0d
	c9 b5 3d 65 a6 cf 70 80 16 b9 2a 93 c6 36 a0 b2
	c4 db 2a 15 09 36 0f 8b 27 b4 db 23 eb 08 4b a3
	aa d5 bc 40 0e 7f d3 c4 f8 dd d1 ce 37 77 f5 98
	29 a1 2f ad 09 48 88 9e d5 01 62 19 2a b9 24 01
	c0 d7 3a 44 39 1d 86 65 b4 db 82 bd 6a b8 d6 9d
	d6 dc 13 c3 40 0c 5d d1 d4 3a 89 2e e1 55 af e1
	e3 48 81 77 a9 d9 6e e5 c5 db 9e 5a 33 81 4d bb
	03 23 6a 18 6d 82 a7 18 49 69 51 6b 83 84 5e 04
	a4 5b 89 9a 3e f6 5d cc df b2 9e 0c 2a 82 e2 02
	38 1e 38 c4 44 cb b1 79 5d 1a 68 4c a0 7d c9 18
	14 d2 26 83 15 34 bd 26 4c cf 86 39 be 75 bb 1d
	1b 1b 5a ab 10 e1 7b 83 13 54 c4 2c 76 18 f1 a3
	c3 f9 f9 db d4 e0 6d 05 d2 b1 ee d3 09 d5 9d 76
	f2 07 7c 79 10 3a 04 bb 59 7f c8 f0 f9 43 9e ad
	23 0b 1c 46 08 15 c9 92 f1 bb e3 e5 ac a5 a9 ef
	2e c7 90 84 df 3d 71 4d 08 96 f9 9b a2 59 67 ed
	59 61 b8 ef 64 4c c8 e4 c7 39 20 4a 54 f7 f9 60
	76 f1 4f 0a 56 02 57 15 f8 db 98 ca 36 ca f5 a4
	a4 05 ad c9 fc 07 2c a2 8f 47 79 48 80 3a 27 e1
	ff 67 ae c8 42 77 e7 1e 7a 8b 47 fc da 46 48 29
	c9 82 4c 3c d2 95 99 af ef c2 29 db 47 1f c2 4d
	78 bd b3 d5 01 26 63 ae d6 5d a5 a6 91 e7 90 7d
	a0 b3 7d f2 93 4a 78 0a 31 c9 11 09 26 a7 59 09
	41 d7 76 19 b6 fb b4 fd 87 88 f4 b1 f6 73 9c 04
	1a 4c 6e 19 4a eb 4e d0 61 f5 e6 7e 69 51 94 62
	69 6a 78 b1 93 b7 a8 60 b5 e7 c4 5d cf 0b 0c 70
	ee ae 5c 3a ae 4b b9 ac 8c ba ad b1 79 1a 65 a7
	b4 d9 47 c8 e7 ba 9d 00 95 46 f1 97 4a bc 02 48
	c8 c0 18 cb e5 a6 5c b4 58 7d 7e 17 24 b7 c4 49
	95 db 0a c4 de 39 91 bf fe 75 cc 75 e9 78 10 ab
	47 e8 bb 6e 59 24 c5 95 a0 8a 22 2d d4 a9 df 74
	3d 1a 66 80 ef 79 59 97 d2 d0 fd 59 70 7c 55 fe
	dc da 67 6b 59 3d e7 32 7d 48 cf 25 ea b0 c9 af
	95 ec 1d 35 45 b7 c8 b1 8e bd 8e 7e 86 79 b7 76
	93 6c 17 ca c5 3a 2a 73 31 94 1f 30 61 5b a1 63
	60 75 3e e8 df d1 54 61 cb 4f a8 07 f0 6d 84 3e
	74 a0 87 eb 74 e6 92 37 d2 e1 59 3c 1d ff 4a a9
	43 99 0e b2 da d1 53 a5 82 12 91 62 af d0 22 9d
	85 fe 3a cd 46 2c 47 ec eb e6 34 52 60 df e0 3a
	fc 5a bb d7 31 bd a4 64 bc cc 44 d5 2f 3e a9 14
	8f b4 01 82 cf 8b 7c 7e 82 04 59 a9 ec 23 cc 09
	4e 6e e0 fe 25 64 9f 61 7c ce 65 e9 25 5b 6a 07
	e0 02 cf f8 ef 71 14 ba ca 77 0c 01 64 3b f8 a3
	00 1b c7 f8 92 e5 74 c7 45 96 ff 44 cf c9 e0 db
	1d f0 b3 ab 90 6c d5 57 2a 4e 58 eb 78 4c d5 42
	d1 a0 bb 75 e7 84 be 30 21 36 77 89 68 78 ae f8
	60 54 bf 97 7b 24 75 9d ad 60 56 7e b4 11 22 b3
	67 d1

里面的加密数据的解密方式为

  1. 使用PBKDF2WithHmacSHA1生成key, 以上生成示例生成的key为
    9f 25 42 ea 69 b2 de 43 98 2d 49 b3 60 ea fd 92 a6 90 16 cb 2a 27 3d 00
    代码 https://github.com/wzjwhut/tlsv12-demo/blob/master/src/main/java/com/wzjwhut/example/PBKDF2.java
  2. 使用DESede/CBC/NoPadding解密
    代码 https://github.com/wzjwhut/tlsv12-demo/blob/master/src/main/java/com/wzjwhut/example/DesUtil.java

解密之后的数据的结构为

//总长度1224

30 sequence
82 04 c0 //长度1216
	02 整数
		01 
		00 数字0
	30 sequence
	0d //13
		06 Object identifier type
			09 
			2a 86 48 86 f7 0d 01 01 01 
			// oid 1.2.840.113549.1.1.1 
			//{iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-1(1) rsaEncryption(1)}
		05 00 
	
	04 Octetstring
	82 04 aa  //1194
		30  sequence
		82 04 a6 //1190
			02 
				01 00 //整数0
			02 
				82 01 01  //257, 以下是257字节的整数, 即RSA中的n
				00 cd 79 c6 0c 71 f8 c0 34 c1 c7
				a9 1a f5 9a 96 42 54 e1 5b ad 10 c0 51 76 7d 91
				2b de 0b 8f af 61 2d 6d 28 44 2e 35 71 65 20 3b
				3c b9 07 c1 4d a3 c8 c6 13 f9 00 3e 95 c2 56 55
				3b 8c d8 b8 65 82 73 00 dc 7a f5 13 bf 74 f2 82
				71 85 66 fd bc 34 23 43 04 a0 4f d7 bc 96 54 88
				c2 91 de b3 a4 04 13 83 6c 27 a0 d8 52 d5 b1 48
				dd e9 07 a3 9c f2 51 dc 0e e2 72 ac 38 85 3d 9b
				76 34 0c 02 b3 86 bb 06 6d 8e f0 d2 1f 09 56 db
				d8 b4 2f 70 76 30 34 97 b0 0e 83 03 59 58 62 bb
				4d 5e 1b 75 de d5 f9 5a be 65 25 92 d7 07 8d 3c
				d2 cb 7e 46 06 27 51 59 6d 7c 3c 00 fb 3d fa 9e
				99 91 cd 49 cf ce 11 d7 be 06 3e 18 50 48 19 d6
				0d a3 55 06 97 a1 a6 fa 2c 55 7b ba 91 18 7d 75
				74 9c d0 c8 a5 8c 00 af f3 04 ae d7 87 d1 32 3c
				07 cd f1 3f cc 1d 38 88 33 82 da d3 29 f8 f0 c8
				68 c9 8a 63 21 eb 
			02 整数
				03 01 00 01 //数字65537, 即RSA中的e
			02 
				82 01 01 ////257, 以下是257字节的整数, 即RSA中的d
				00 b9 82 a4 e5 1d 8d 08 f3 58 b4 cb 9f 54 78 d2 0a
				67 19 e3 ac 17 c0 9a 8b d1 08 5d 43 a6 ca 7d fb
				cd 88 8c df 29 9d 04 98 d9 85 c1 e8 07 f1 65 08
				67 3f 36 4f 0c 02 75 31 34 c2 d4 f5 ef c0 63 9d
				67 f9 32 16 2c e8 3c 65 f8 80 fe bf 03 62 38 26
				16 63 ee 6c 52 49 a3 b1 51 f6 fb 3b b9 86 14 a1
				bd 80 5d 08 56 36 98 6a e8 19 b2 88 2e 66 70 4f
				72 ca ac 01 94 a8 9a 8a e9 39 4f 79 e4 12 18 43
				fe 47 78 21 61 32 21 b2 e4 f9 7b a5 b4 4a 83 80
				dc b1 f3 89 87 5b 7e 06 a5 d4 88 af 95 46 fb 85
				21 fc ba 01 f0 83 1e 27 4c ba b8 57 0b a5 ec b8
				7b 5e 56 c7 2f 4c 64 24 c0 7b c0 51 d6 ba 58 15
				83 19 26 12 8e b4 9b 4e 97 48 72 3f 1a ac 12 bd
				5d 0b 18 90 01 e5 da c4 1f f2 2e 96 cb bb a5 46
				bd 8c 7e cd b6 06 39 d2 fc ea 71 1a 76 45 dd 0b
				2f 70 aa ab 0d b4 90 b1 6f e0 1c 92 8b 59 de 99
			
			
			02 整数
				81 81 //129字节, 以下是RSA中的p
				00 ff ab d0 57 65 c4 80 6b f6 d2 22 5e
				05 75 87 4a 8b fc 57 ef 7a a5 70 23 b6 d6 09 f0
				d3 84 53 34 2e 12 01 2d 35 ab f7 39 74 65 27 8f
				62 b9 29 9b 2b ec 8e 57 e3 9c b0 e8 57 01 fe 6b
				13 82 e8 66 8c a6 65 58 d0 1a 75 ea 00 f3 35 f5
				bc 72 3d 36 0a 3f f0 fb b6 8b c1 37 65 72 ac 0e
				7a 8b 4f 3c ab 28 19 0e 5e f2 4f 6a 39 1e 4e cb
				e9 f1 7c b0 3d a0 71 c7 23 d3 bb 29 90 47 a0 6f
				22 21 e6 5f 
			
			02 
				81 81 //129字节, 以下是RSA中的q
				00 cd bd 6e 81 fc 2d a7 74
				2f fb 1a 5d d4 ba 67 2a 80 a1 43 11 fe 27 ef 62
				2d dd 93 be c4 a7 b1 01 2d 06 d8 5e 8a 80 ee bd
				18 13 99 ba fd 3f 37 05 f9 53 3b 4c e7 03 eb 01
				93 38 6e f1 a6 b5 7a 2b ec cf cd 7c ed f6 78 c6
				b1 bd 73 26 d8 3f b3 a1 fc 43 e6 bc 2f 68 ee bc
				91 e9 45 83 28 ef 18 55 8b 23 f2 ec f9 de bd 5f
				ee 38 4a cd 2b 41 0e 79 87 89 94 54 cb ef 90 c6
				16 f2 db 06 1c d4 f7 f5 
			02 
				81 81  //129字节, 以下是RSA中的d mod (p-1)
				00 b9 49 43 e0
				c2 c0 e8 ac d5 a0 2e 05 e3 80 ec 3e 4b 3a e2 63
				8c 87 ae c0 43 35 d4 d8 72 01 b8 e6 dc e8 71 6f
				d9 30 ba 27 2a 42 50 ac 2a 48 b4 6d 5f 24 bd 77
				d6 5d 6d 1b c4 4a 8e 9d fc f2 e7 07 c2 b0 a8 4b
				f7 ec e5 3d 63 d8 de 67 2b 5d c3 1c 91 cb 0b 12
				f0 95 51 be 9a c7 c3 07 6f 29 dc 8f c4 1e 78 22
				21 0f 0c 1c 98 2e 6d be 7b d9 65 9a b7 de b9 f6
				2e f1 b7 f7 04 37 d4 7e 15 c7 69 93 
			02 
				81 81  //129字节, 以下是RSA中的d mod (q-1)
				00 ca d7 a7 6a 54 9d 16 6a 01 1c 4a e4 93 e5 ab ed
				45 a0 b8 a5 b6 b4 dc d9 29 6b 3a 4d 6d 49 ff c3
				af 06 fe b0 47 51 d3 0f 6f fb 73 27 de a3 42 b6
				8b 18 ba 70 99 9b 4d 49 e2 42 53 6f c0 f3 4f 9e
				9a fe 4e 14 8b f0 e3 26 d2 fa 7b db a2 7d 3b b7
				cb 25 8f 09 9e 9c 90 34 2e 8f 94 cf 39 be 71 79
				75 93 5d e0 b2 82 1e a7 c4 10 8f ff 34 54 11 d7
				54 00 1a d4 77 b4 9c 42 11 42 23 1b 25 b5 fb 39
			
			02 
				81 81  //129字节, 以下是RSA中的(inverse of q) mod p, //qInv, 是中国剩余定理的第1个系数
				00 c6 4c 62 45 cd a0 82 a4 84 48 c7 b5
				7b 61 1b 2c 67 d0 b6 88 17 7d c0 76 09 20 51 42
				73 48 ce 21 c0 c2 66 fc ae 90 f9 db 61 e4 81 83
				b0 68 30 32 f7 e2 f2 9d 79 01 ad b4 ca 87 65 66
				e4 e2 9b 3a 67 60 5f 00 52 68 a4 82 a5 cc a5 f7
				9a e8 bb 32 10 b7 09 ce 7d 8c 31 ec 60 4f 8e b5
				cf 14 4d ee 66 03 db a4 66 eb f7 3a 9f 74 1e 4a
				70 4d d6 0d e8 a2 c1 1e 21 6e 68 83 04 e9 3d 09
				17 ad 38 77 

04 04 04 04 //这是padding. 移除

猜你喜欢

转载自blog.csdn.net/wzj_whut/article/details/86477568