Skip to content

Commit 3db1e49

Browse files
committed
test: rename Hash->Digest and test RSA DigestSign
1 parent 2ae60b3 commit 3db1e49

File tree

2 files changed

+98
-3
lines changed

2 files changed

+98
-3
lines changed

test/rsa_keypair.pem

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
-----BEGIN PRIVATE KEY-----
2+
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
51+
4StaWaBmCrIZtIRAfGBj7TQU0vQ9f2g=
52+
-----END PRIVATE KEY-----

test/runtests.jl

Lines changed: 46 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -269,9 +269,52 @@ end
269269
#finalize(ssl_ctx)
270270
end
271271

272-
@testset "Hash" begin
273-
res = digest(EvpMD5(), IOBuffer("The quick brown fox jumps over the lazy dog"))
274-
@test res == UInt8[0x9e, 0x10, 0x7d, 0x9d, 0x37, 0x2b, 0xb6, 0x82, 0x6b, 0xd8, 0x1d, 0x35, 0x42, 0xa4, 0x19, 0xd6]
272+
@testset "Digest" begin
273+
teststring = "The quick brown fox\n一二三"
274+
@test digest(EvpMD5(), IOBuffer(teststring)) == UInt8[
275+
0xb8, 0x8c, 0xf0, 0x30, 0x36, 0x62, 0xb8, 0x11, 0x5b, 0x80, 0x6f, 0xd3,
276+
0xab, 0xff, 0xdf, 0xb7
277+
]
278+
@test digest(EvpSHA1(), IOBuffer(teststring)) == UInt8[
279+
0x90, 0xdb, 0x7f, 0xf8, 0x91, 0x5b, 0x0b, 0x19, 0x92, 0xee, 0xd6, 0x99,
280+
0xee, 0x73, 0x99, 0x67, 0xa2, 0x1e, 0xc6, 0xb3
281+
]
282+
@test digest(EvpSHA224(), IOBuffer(teststring)) == UInt8[
283+
0x35, 0x9f, 0xba, 0x86, 0x72, 0xea, 0x68, 0xff, 0x61, 0x66, 0xe3, 0x80,
284+
0x79, 0xb4, 0xec, 0x50, 0x9b, 0x20, 0xe0, 0x93, 0xc1, 0xb0, 0xe5, 0x4e,
285+
0xca, 0x9c, 0xcc, 0x1b
286+
]
287+
@test digest(EvpSHA256(), IOBuffer(teststring)) == UInt8[
288+
0x30, 0x53, 0xc0, 0x66, 0xf0, 0xc7, 0x96, 0xa1, 0xa3, 0xa1, 0x3c, 0xb8,
289+
0x11, 0x05, 0xe2, 0x62, 0x25, 0x77, 0x07, 0xf5, 0xc3, 0xe1, 0x38, 0xb1,
290+
0xa0, 0x01, 0x5e, 0xd6, 0xfb, 0xa6, 0xe5, 0x0c
291+
]
292+
@test digest(EvpSHA384(), IOBuffer(teststring)) == UInt8[
293+
0xc2, 0xd6, 0x21, 0x4f, 0x31, 0x5e, 0x73, 0x6b, 0x03, 0xec, 0x3f, 0xac,
294+
0xd8, 0x7d, 0xa4, 0xeb, 0x28, 0xac, 0x04, 0x9d, 0xc8, 0x06, 0x9a, 0x58,
295+
0x6f, 0xe8, 0xa8, 0xa6, 0x35, 0x51, 0xbc, 0x21, 0x20, 0x9d, 0x37, 0x4f,
296+
0x87, 0xe7, 0x34, 0x59, 0x9c, 0x74, 0xd5, 0xc6, 0x4b, 0xf0, 0xd3, 0xf6
297+
]
298+
@test digest(EvpSHA512(), IOBuffer(teststring)) == UInt8[
299+
0x65, 0xd4, 0xc1, 0x27, 0x65, 0x96, 0x3b, 0x6f, 0x8b, 0x91, 0x87, 0x3c,
300+
0x25, 0x62, 0xf7, 0x71, 0xc5, 0x68, 0x72, 0xae, 0x60, 0xaf, 0x89, 0x68,
301+
0x9a, 0x4e, 0xcf, 0x0b, 0xf7, 0x29, 0xde, 0x2a, 0x2d, 0xa3, 0xc9, 0x2d,
302+
0x2b, 0x59, 0xc2, 0xd1, 0xb1, 0xc9, 0x54, 0x7c, 0x07, 0xd7, 0x93, 0xc1,
303+
0xd4, 0x2b, 0x81, 0x7e, 0xd0, 0xf4, 0xee, 0xee, 0x8b, 0x84, 0x33, 0x6d,
304+
0x40, 0x0c, 0xfd, 0xe5
305+
]
306+
end
307+
308+
@testset "DigestSign" begin
309+
teststring = "The quick brown fox\n一二三"
310+
open("rsa_keypair.pem") do f
311+
rsa_key = EvpPKey(read(f, String))
312+
rsa_sig = digestsign(EvpSHA256(), IOBuffer(teststring), rsa_key)
313+
@test digest(EvpMD5(), IOBuffer(rsa_sig)) == UInt8[
314+
0x7d, 0xe9, 0x0c, 0x17, 0xed, 0xb4, 0x9c, 0xc1, 0xbc, 0xfc, 0x8a,
315+
0x3c, 0xba, 0x35, 0xdc, 0x45
316+
]
317+
end
275318
end
276319

277320
@testset "SelfSignedCertificate" begin

0 commit comments

Comments
 (0)