@@ -48,17 +48,23 @@ func TestWinAES(t *testing.T) {
4848}
4949
5050func TestWinRSA (t * testing.T ) {
51- t .Run ("sign" , func (t * testing.T ) {
52- key , err := os .ReadFile ("testdata/privatekey.sign" )
53- require .NoError (t , err )
54-
55- privateKey , err := ImportRSAPrivateKeyBlob (key )
56- require .NoError (t , err )
51+ key , err := os .ReadFile ("testdata/privatekey.sign" )
52+ require .NoError (t , err )
53+ priKeySign , err := ImportRSAPrivateKeyBlob (key )
54+ require .NoError (t , err )
55+ pubKeySign := & priKeySign .PublicKey
56+
57+ key , err = os .ReadFile ("testdata/privatekey.keyx" )
58+ require .NoError (t , err )
59+ priKeyKeyx , err := ImportRSAPrivateKeyBlob (key )
60+ require .NoError (t , err )
61+ pubKeyKeyx := & priKeyKeyx .PublicKey
5762
63+ t .Run ("sign" , func (t * testing.T ) {
5864 message := []byte {1 , 2 , 3 , 4 }
5965 digest := sha256 .Sum256 (message )
6066
61- signature , err := rsa .SignPKCS1v15 (rand .Reader , privateKey , crypto .SHA256 , digest [:])
67+ signature , err := rsa .SignPKCS1v15 (rand .Reader , priKeySign , crypto .SHA256 , digest [:])
6268 require .NoError (t , err )
6369 signature = reverseBytes (signature )
6470
@@ -67,12 +73,6 @@ func TestWinRSA(t *testing.T) {
6773 })
6874
6975 t .Run ("verify" , func (t * testing.T ) {
70- key , err := os .ReadFile ("testdata/privatekey.sign" )
71- require .NoError (t , err )
72-
73- privateKey , err := ImportRSAPrivateKeyBlob (key )
74- require .NoError (t , err )
75-
7676 message := []byte {1 , 2 , 3 , 4 }
7777 digest := sha256 .Sum256 (message )
7878
@@ -112,15 +112,62 @@ func TestWinRSA(t *testing.T) {
112112 }
113113 signature = reverseBytes (signature )
114114
115- err = rsa .VerifyPKCS1v15 (& privateKey . PublicKey , crypto .SHA256 , digest [:], signature )
115+ err = rsa .VerifyPKCS1v15 (pubKeySign , crypto .SHA256 , digest [:], signature )
116116 require .NoError (t , err )
117117 })
118118
119119 t .Run ("encrypt" , func (t * testing.T ) {
120+ message := []byte {1 , 2 , 3 , 4 }
121+
122+ cipherData , err := rsa .EncryptPKCS1v15 (rand .Reader , pubKeyKeyx , message )
123+ require .NoError (t , err )
124+ cipherData = reverseBytes (cipherData )
120125
126+ // this output will move to the test of Gleam-RT
127+ spew .Dump (cipherData )
121128 })
122129
123130 t .Run ("decrypt" , func (t * testing.T ) {
131+ cipherData := []byte {
132+ 0x90 , 0x7C , 0x39 , 0xA0 , 0x21 , 0xEB , 0x31 , 0x7A ,
133+ 0x48 , 0x0E , 0x83 , 0x7F , 0xF3 , 0x65 , 0x04 , 0xD4 ,
134+ 0xD6 , 0x8A , 0x63 , 0xDC , 0xF4 , 0x2B , 0xE2 , 0xC4 ,
135+ 0x85 , 0xF9 , 0x8C , 0x8A , 0xB0 , 0x8A , 0xAF , 0xAD ,
136+ 0xF2 , 0xFB , 0xB5 , 0xCF , 0x8B , 0x19 , 0x5A , 0x3F ,
137+ 0xA8 , 0x18 , 0xE8 , 0xB2 , 0xA5 , 0x96 , 0x02 , 0x2E ,
138+ 0x60 , 0x1D , 0x26 , 0x92 , 0xF8 , 0x41 , 0xB2 , 0xCF ,
139+ 0xDC , 0x94 , 0x39 , 0x22 , 0xDE , 0xD2 , 0x05 , 0x3A ,
140+ 0x8C , 0xED , 0x40 , 0x99 , 0x6A , 0x96 , 0xEA , 0xB4 ,
141+ 0x3F , 0x5C , 0xFB , 0xB7 , 0xBA , 0xE3 , 0x94 , 0x98 ,
142+ 0xBE , 0xDF , 0xE7 , 0xAB , 0x70 , 0xEA , 0x5D , 0x4E ,
143+ 0xC2 , 0xC9 , 0x62 , 0xA9 , 0x76 , 0xDF , 0xC5 , 0x42 ,
144+ 0xB4 , 0x7F , 0x7D , 0x34 , 0x8E , 0xE9 , 0xE3 , 0xCD ,
145+ 0xA5 , 0x28 , 0x67 , 0xD5 , 0x9B , 0x0E , 0x1D , 0x8A ,
146+ 0x92 , 0x6C , 0x90 , 0x84 , 0x51 , 0x88 , 0x7E , 0xC6 ,
147+ 0xE4 , 0xD0 , 0xC9 , 0x0B , 0xF8 , 0x06 , 0x47 , 0x3D ,
148+ 0xE1 , 0x96 , 0x74 , 0xA9 , 0x40 , 0x0D , 0xF8 , 0xA6 ,
149+ 0xA7 , 0xD0 , 0xD1 , 0xDF , 0x97 , 0x74 , 0x3E , 0xB3 ,
150+ 0xF7 , 0xC7 , 0x20 , 0x82 , 0x13 , 0xCA , 0xE2 , 0x81 ,
151+ 0x3F , 0x6F , 0x03 , 0x68 , 0xDF , 0xAB , 0x29 , 0x45 ,
152+ 0xFA , 0xBC , 0xEC , 0x79 , 0x66 , 0x21 , 0xED , 0x2A ,
153+ 0xA1 , 0x64 , 0xCC , 0x23 , 0x8C , 0xB3 , 0xFE , 0x51 ,
154+ 0xCD , 0x65 , 0xC6 , 0xB6 , 0xD1 , 0xA9 , 0xA6 , 0xB8 ,
155+ 0xC4 , 0x9E , 0xD9 , 0xBE , 0x5E , 0xCC , 0x47 , 0x05 ,
156+ 0xEE , 0xEF , 0x9B , 0xB1 , 0xB4 , 0xC4 , 0x07 , 0xC3 ,
157+ 0x41 , 0xDD , 0xF8 , 0x56 , 0x64 , 0x8E , 0xC8 , 0x94 ,
158+ 0xFC , 0x97 , 0xB8 , 0x3B , 0xC6 , 0xDE , 0x3D , 0xA5 ,
159+ 0x99 , 0x56 , 0xA8 , 0x63 , 0x10 , 0x60 , 0x71 , 0x44 ,
160+ 0x94 , 0xF0 , 0x4E , 0xCB , 0x29 , 0xDA , 0x67 , 0x23 ,
161+ 0x86 , 0x52 , 0xFF , 0x18 , 0x81 , 0x8E , 0x0B , 0x1B ,
162+ 0x45 , 0x65 , 0x66 , 0x2A , 0xBE , 0x33 , 0x94 , 0x63 ,
163+ 0x43 , 0xD8 , 0xB2 , 0x14 , 0xD3 , 0xFE , 0x2C , 0x4F ,
164+ }
165+ cipherData = reverseBytes (cipherData )
166+
167+ plainData , err := rsa .DecryptPKCS1v15 (rand .Reader , priKeyKeyx , cipherData )
168+ require .NoError (t , err )
124169
170+ expected := []byte {1 , 2 , 3 , 4 }
171+ require .Equal (t , expected , plainData )
125172 })
126173}
0 commit comments