Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(633)

Delta Between Two Patch Sets: src/pkg/crypto/x509/pem_decrypt_test.go

Issue 6555052: code review 6555052: crypto/x509: add DecryptBlock function for loading pass...
Left Patch Set: diff -r 24d74bd32d81 https://code.google.com/p/go Created 11 years, 6 months ago
Right Patch Set: diff -r 96fde1b15506 https://code.google.com/p/go Created 11 years, 6 months ago
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
Right: Side by side diff | Download
« no previous file with change/comment | « src/pkg/crypto/x509/pem_decrypt.go ('k') | no next file » | no next file with change/comment »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
LEFTRIGHT
(no file at all)
1 // Copyright 2012 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
4
5 package x509
6
7 import (
8 "encoding/pem"
9 "testing"
10 )
11
12 func TestDecrypt(t *testing.T) {
13 for _, data := range testData {
14 block, rest := pem.Decode(data.pemData)
15 if len(rest) > 0 {
16 t.Error(data.kind, "extra data")
17 }
18 der, err := DecryptPEMBlock(block, data.password)
19 if err != nil {
20 t.Error(data.kind, err)
21 continue
22 }
23 if _, err := ParsePKCS1PrivateKey(der); err != nil {
24 t.Error(data.kind, "Invalid private key")
25 }
26 }
27 }
28
29 var testData = []struct {
30 kind string
31 password []byte
32 pemData []byte
33 }{
34 {
35 kind: "DES-CBC",
36 password: []byte("asdf"),
37 pemData: []byte(`
38 -----BEGIN RSA PRIVATE KEY-----
39 Proc-Type: 4,ENCRYPTED
40 DEK-Info: DES-CBC,34F09A4FC8DE22B5
41
42 WXxy8kbZdiZvANtKvhmPBLV7eVFj2A5z6oAxvI9KGyhG0ZK0skfnt00C24vfU7m5
43 ICXeoqP67lzJ18xCzQfHjDaBNs53DSDT+Iz4e8QUep1xQ30+8QKX2NA2coee3nwc
44 6oM1cuvhNUDemBH2i3dKgMVkfaga0zQiiOq6HJyGSncCMSruQ7F9iWEfRbFcxFCx
45 qtHb1kirfGKEtgWTF+ynyco6+2gMXNu70L7nJcnxnV/RLFkHt7AUU1yrclxz7eZz
46 XOH9VfTjb52q/I8Suozq9coVQwg4tXfIoYUdT//O+mB7zJb9HI9Ps77b9TxDE6Gm
47 4C9brwZ3zg2vqXcwwV6QRZMtyll9rOpxkbw6NPlpfBqkc3xS51bbxivbO/Nve4KD
48 r12ymjFNF4stXCfJnNqKoZ50BHmEEUDu5Wb0fpVn82XrGw7CYc4iug==
49 -----END RSA PRIVATE KEY-----`),
50 },
51 {
52 kind: "DES-EDE3-CBC",
53 password: []byte("asdf"),
54 pemData: []byte(`
55 -----BEGIN RSA PRIVATE KEY-----
56 Proc-Type: 4,ENCRYPTED
57 DEK-Info: DES-EDE3-CBC,C1F4A6A03682C2C7
58
59 0JqVdBEH6iqM7drTkj+e2W/bE3LqakaiWhb9WUVonFkhyu8ca/QzebY3b5gCvAZQ
60 YwBvDcT/GHospKqPx+cxDHJNsUASDZws6bz8ZXWJGwZGExKzr0+Qx5fgXn44Ms3x
61 8g1ENFuTXtxo+KoNK0zuAMAqp66Llcds3Fjl4XR18QaD0CrVNAfOdgATWZm5GJxk
62 Fgx5f84nT+/ovvreG+xeOzWgvtKo0UUZVrhGOgfKLpa57adumcJ6SkUuBtEFpZFB
63 ldw5w7WC7d13x2LsRkwo8ZrDKgIV+Y9GNvhuCCkTzNP0V3gNeJpd201HZHR+9n3w
64 3z0VjR/MGqsfcy1ziEWMNOO53At3zlG6zP05aHMnMcZoVXadEK6L1gz++inSSDCq
65 gI0UJP4e3JVB7AkgYymYAwiYALAkoEIuanxoc50njJk=
66 -----END RSA PRIVATE KEY-----`),
67 },
68 {
69 kind: "AES-128-CBC",
70 password: []byte("asdf"),
71 pemData: []byte(`
72 -----BEGIN RSA PRIVATE KEY-----
73 Proc-Type: 4,ENCRYPTED
74 DEK-Info: AES-128-CBC,D4492E793FC835CC038A728ED174F78A
75
76 EyfQSzXSjv6BaNH+NHdXRlkHdimpF9izWlugVJAPApgXrq5YldPe2aGIOFXyJ+QE
77 ZIG20DYqaPzJRjTEbPNZ6Es0S2JJ5yCpKxwJuDkgJZKtF39Q2i36JeGbSZQIuWJE
78 GZbBpf1jDH/pr0iGonuAdl2PCCZUiy+8eLsD2tyviHUkFLOB+ykYoJ5t8ngZ/B6D
79 33U43LLb7+9zD4y3Q9OVHqBFGyHcxCY9+9Qh4ZnFp7DTf6RY5TNEvE3s4g6aDpBs
80 3NbvRVvYTgs8K9EPk4K+5R+P2kD8J8KvEIGxVa1vz8QoCJ/jr7Ka2rvNgPCex5/E
81 080LzLHPCrXKdlr/f50yhNWq08ZxMWQFkui+FDHPDUaEELKAXV8/5PDxw80Rtybo
82 AVYoCVIbZXZCuCO81op8UcOgEpTtyU5Lgh3Mw5scQL0=
83 -----END RSA PRIVATE KEY-----`),
84 },
85 {
86 kind: "AES-192-CBC",
87 password: []byte("asdf"),
88 pemData: []byte(`
89 -----BEGIN RSA PRIVATE KEY-----
90 Proc-Type: 4,ENCRYPTED
91 DEK-Info: AES-192-CBC,E2C9FB02BCA23ADE1829F8D8BC5F5369
92
93 cqVslvHqDDM6qwU6YjezCRifXmKsrgEev7ng6Qs7UmDJOpHDgJQZI9fwMFUhIyn5
94 FbCu1SHkLMW52Ld3CuEqMnzWMlhPrW8tFvUOrMWPYSisv7nNq88HobZEJcUNL2MM
95 Y15XmHW6IJwPqhKyLHpWXyOCVEh4ODND2nV15PCoi18oTa475baxSk7+1qH7GuIs
96 Rb7tshNTMqHbCpyo9Rn3UxeFIf9efdl8YLiMoIqc7J8E5e9VlbeQSdLMQOgDAQJG
97 ReUtTw8exmKsY4gsSjhkg5uiw7/ZB1Ihto0qnfQJgjGc680qGkT1d6JfvOfeYAk6
98 xn5RqS/h8rYAYm64KnepfC9vIujo4NqpaREDmaLdX5MJPQ+SlytITQvgUsUq3q/t
99 Ss85xjQEZH3hzwjQqdJvmA4hYP6SUjxYpBM+02xZ1Xw=
100 -----END RSA PRIVATE KEY-----`),
101 },
102 {
103 kind: "AES-256-CBC",
104 password: []byte("asdf"),
105 pemData: []byte(`
106 -----BEGIN RSA PRIVATE KEY-----
107 Proc-Type: 4,ENCRYPTED
108 DEK-Info: AES-256-CBC,8E7ED5CD731902CE938957A886A5FFBD
109
110 4Mxr+KIzRVwoOP0wwq6caSkvW0iS+GE2h2Ov/u+n9ZTMwL83PRnmjfjzBgfRZLVf
111 JFPXxUK26kMNpIdssNnqGOds+DhB+oSrsNKoxgxSl5OBoYv9eJTVYm7qOyAFIsjr
112 DRKAcjYCmzfesr7PVTowwy0RtHmYwyXMGDlAzzZrEvaiySFFmMyKKvtoavwaFoc7
113 Pz3RZScwIuubzTGJ1x8EzdffYOsdCa9Mtgpp3L136+23dOd6L/qK2EG2fzrJSHs/
114 2XugkleBFSMKzEp9mxXKRfa++uidQvMZTFLDK9w5YjrRvMBo/l2BoZIsq0jAIE1N
115 sv5Z/KwlX+3MDEpPQpUwGPlGGdLnjI3UZ+cjgqBcoMiNc6HfgbBgYJSU6aDSHuCk
116 clCwByxWkBNgJ2GrkwNrF26v+bGJJJNR4SKouY1jQf0=
117 -----END RSA PRIVATE KEY-----`),
118 },
119 }
LEFTRIGHT

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b