Commit 8c29e12
authored
x509-cert: builder updates (#1001)
- Per RFC5280, DigitalSignature 'is asserted when the subject public key
is used for verifying digital signatures, other than signatures on
certificates (bit 5) and CRLs (bit 6)'.
Using CA keys to sign random data would definitely be a bad practice and
should be avoided. Thus remove the DigitalSignature keyUsage from these
certificates.
- RSA PSS implements DynSignatureAlgorithmIdentifier only for the
SigningKey, not for the verifying key. To allow using CertificateBuilder
with RSA PSS keys require DynSignatureAlgorithmIdentifier implementation
on S rather than on S::VerifyingKey.
- Signer (unlike SignerMut) is not expected to be mutable. Don't require
mutability of the Signer argument.
- ECDSA keys can not be used for keyEncipherment. Make this keyUsage bit
optional.
- Follow the rules from RFC 5280 Section 4.1.2.1 to set the certificate's
version depending on the presence of the extensions and identifiers.
- Remove unused conversion when building RDN fields.
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>1 parent 498e20e commit 8c29e12
4 files changed
Lines changed: 55 additions & 73 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
25 | | - | |
| 25 | + | |
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
36 | 36 | | |
37 | 37 | | |
38 | 38 | | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
39 | 42 | | |
40 | 43 | | |
41 | 44 | | |
| |||
87 | 90 | | |
88 | 91 | | |
89 | 92 | | |
| 93 | + | |
| 94 | + | |
90 | 95 | | |
91 | 96 | | |
92 | 97 | | |
| |||
161 | 166 | | |
162 | 167 | | |
163 | 168 | | |
164 | | - | |
165 | | - | |
166 | | - | |
167 | | - | |
168 | | - | |
169 | | - | |
| 169 | + | |
| 170 | + | |
170 | 171 | | |
171 | 172 | | |
172 | 173 | | |
| 174 | + | |
173 | 175 | | |
174 | 176 | | |
175 | | - | |
176 | | - | |
177 | | - | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
178 | 181 | | |
179 | 182 | | |
180 | 183 | | |
| |||
194 | 197 | | |
195 | 198 | | |
196 | 199 | | |
197 | | - | |
198 | 200 | | |
199 | 201 | | |
200 | 202 | | |
| |||
223 | 225 | | |
224 | 226 | | |
225 | 227 | | |
226 | | - | |
227 | 228 | | |
228 | 229 | | |
229 | 230 | | |
230 | 231 | | |
231 | | - | |
| 232 | + | |
232 | 233 | | |
233 | 234 | | |
234 | 235 | | |
235 | 236 | | |
236 | 237 | | |
237 | | - | |
| 238 | + | |
238 | 239 | | |
239 | 240 | | |
240 | 241 | | |
241 | 242 | | |
242 | | - | |
| 243 | + | |
243 | 244 | | |
244 | | - | |
245 | 245 | | |
246 | 246 | | |
247 | 247 | | |
248 | 248 | | |
249 | | - | |
250 | 249 | | |
251 | 250 | | |
252 | 251 | | |
253 | 252 | | |
254 | | - | |
| 253 | + | |
255 | 254 | | |
256 | 255 | | |
257 | 256 | | |
| |||
261 | 260 | | |
262 | 261 | | |
263 | 262 | | |
264 | | - | |
| 263 | + | |
265 | 264 | | |
266 | 265 | | |
267 | 266 | | |
268 | 267 | | |
269 | 268 | | |
270 | 269 | | |
271 | | - | |
| 270 | + | |
272 | 271 | | |
273 | 272 | | |
274 | 273 | | |
| |||
286 | 285 | | |
287 | 286 | | |
288 | 287 | | |
289 | | - | |
290 | | - | |
291 | | - | |
292 | | - | |
293 | | - | |
294 | | - | |
295 | | - | |
296 | | - | |
297 | | - | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
298 | 295 | | |
299 | 296 | | |
300 | 297 | | |
| |||
317 | 314 | | |
318 | 315 | | |
319 | 316 | | |
320 | | - | |
| 317 | + | |
321 | 318 | | |
322 | 319 | | |
323 | 320 | | |
324 | 321 | | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
325 | 329 | | |
326 | 330 | | |
327 | 331 | | |
328 | 332 | | |
329 | 333 | | |
330 | | - | |
| 334 | + | |
331 | 335 | | |
332 | 336 | | |
333 | 337 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
14 | | - | |
| 14 | + | |
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
32 | | - | |
| 32 | + | |
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
13 | 12 | | |
14 | 13 | | |
15 | 14 | | |
| |||
31 | 30 | | |
32 | 31 | | |
33 | 32 | | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | | - | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
45 | 37 | | |
46 | 38 | | |
47 | 39 | | |
| |||
57 | 49 | | |
58 | 50 | | |
59 | 51 | | |
60 | | - | |
61 | | - | |
62 | | - | |
63 | | - | |
64 | | - | |
| 52 | + | |
| 53 | + | |
65 | 54 | | |
66 | 55 | | |
67 | 56 | | |
68 | 57 | | |
69 | 58 | | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
74 | | - | |
| 59 | + | |
| 60 | + | |
75 | 61 | | |
76 | 62 | | |
77 | 63 | | |
78 | | - | |
79 | | - | |
| 64 | + | |
| 65 | + | |
80 | 66 | | |
81 | | - | |
82 | 67 | | |
83 | 68 | | |
84 | 69 | | |
85 | 70 | | |
86 | | - | |
| 71 | + | |
87 | 72 | | |
88 | 73 | | |
89 | 74 | | |
| |||
108 | 93 | | |
109 | 94 | | |
110 | 95 | | |
111 | | - | |
112 | | - | |
113 | | - | |
114 | | - | |
115 | | - | |
| 96 | + | |
| 97 | + | |
116 | 98 | | |
117 | 99 | | |
118 | 100 | | |
| 101 | + | |
119 | 102 | | |
120 | 103 | | |
121 | | - | |
122 | | - | |
123 | | - | |
124 | | - | |
125 | | - | |
| 104 | + | |
126 | 105 | | |
127 | 106 | | |
128 | 107 | | |
129 | | - | |
130 | | - | |
| 108 | + | |
| 109 | + | |
131 | 110 | | |
132 | | - | |
133 | 111 | | |
134 | 112 | | |
135 | 113 | | |
136 | 114 | | |
137 | | - | |
| 115 | + | |
138 | 116 | | |
139 | 117 | | |
140 | 118 | | |
| |||
0 commit comments