diff options
author | job <> | 2023-04-25 09:46:36 +0000 |
---|---|---|
committer | job <> | 2023-04-25 09:46:36 +0000 |
commit | 9f5c114f2613c79b3a6f5e64b9c599927e5d059b (patch) | |
tree | 440ec05447db860a385379f907fa7dada2b34caa | |
parent | 1bc29cdc7769c9ce6d69cbb60efbf25c96ef3917 (diff) | |
download | openbsd-9f5c114f2613c79b3a6f5e64b9c599927e5d059b.tar.gz openbsd-9f5c114f2613c79b3a6f5e64b9c599927e5d059b.tar.bz2 openbsd-9f5c114f2613c79b3a6f5e64b9c599927e5d059b.zip |
Use X509_set_version() and X509_REQ_set_version() instead doing it by hand
A small side-effect in X509_to_X509_REQ() is that 'x->req_info->enc.modified'
now earlier on is set to 1.
OK tb@ jsing@
-rw-r--r-- | src/lib/libcrypto/x509/x509_r2x.c | 6 | ||||
-rw-r--r-- | src/lib/libcrypto/x509/x509_req.c | 9 |
2 files changed, 4 insertions, 11 deletions
diff --git a/src/lib/libcrypto/x509/x509_r2x.c b/src/lib/libcrypto/x509/x509_r2x.c index 99c423d8c9..39b392259b 100644 --- a/src/lib/libcrypto/x509/x509_r2x.c +++ b/src/lib/libcrypto/x509/x509_r2x.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: x509_r2x.c,v 1.16 2023/02/16 08:38:17 tb Exp $ */ | 1 | /* $OpenBSD: x509_r2x.c,v 1.17 2023/04/25 09:46:36 job Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -85,9 +85,7 @@ X509_REQ_to_X509(X509_REQ *r, int days, EVP_PKEY *pkey) | |||
85 | xi = ret->cert_info; | 85 | xi = ret->cert_info; |
86 | 86 | ||
87 | if (sk_X509_ATTRIBUTE_num(r->req_info->attributes) != 0) { | 87 | if (sk_X509_ATTRIBUTE_num(r->req_info->attributes) != 0) { |
88 | if ((xi->version = ASN1_INTEGER_new()) == NULL) | 88 | if (!X509_set_version(ret, 2)) |
89 | goto err; | ||
90 | if (!ASN1_INTEGER_set(xi->version, 2)) | ||
91 | goto err; | 89 | goto err; |
92 | } | 90 | } |
93 | 91 | ||
diff --git a/src/lib/libcrypto/x509/x509_req.c b/src/lib/libcrypto/x509/x509_req.c index 0fea7e68b4..7ed106241a 100644 --- a/src/lib/libcrypto/x509/x509_req.c +++ b/src/lib/libcrypto/x509/x509_req.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: x509_req.c,v 1.32 2023/02/16 08:38:17 tb Exp $ */ | 1 | /* $OpenBSD: x509_req.c,v 1.33 2023/04/25 09:46:36 job Exp $ */ |
2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) | 2 | /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) |
3 | * All rights reserved. | 3 | * All rights reserved. |
4 | * | 4 | * |
@@ -77,7 +77,6 @@ X509_REQ * | |||
77 | X509_to_X509_REQ(X509 *x, EVP_PKEY *pkey, const EVP_MD *md) | 77 | X509_to_X509_REQ(X509 *x, EVP_PKEY *pkey, const EVP_MD *md) |
78 | { | 78 | { |
79 | X509_REQ *ret; | 79 | X509_REQ *ret; |
80 | X509_REQ_INFO *ri; | ||
81 | int i; | 80 | int i; |
82 | EVP_PKEY *pktmp; | 81 | EVP_PKEY *pktmp; |
83 | 82 | ||
@@ -87,11 +86,7 @@ X509_to_X509_REQ(X509 *x, EVP_PKEY *pkey, const EVP_MD *md) | |||
87 | goto err; | 86 | goto err; |
88 | } | 87 | } |
89 | 88 | ||
90 | ri = ret->req_info; | 89 | if (!X509_REQ_set_version(ret, 0)) |
91 | |||
92 | if ((ri->version = ASN1_INTEGER_new()) == NULL) | ||
93 | goto err; | ||
94 | if (ASN1_INTEGER_set(ri->version, 0) == 0) | ||
95 | goto err; | 90 | goto err; |
96 | 91 | ||
97 | if (!X509_REQ_set_subject_name(ret, X509_get_subject_name(x))) | 92 | if (!X509_REQ_set_subject_name(ret, X509_get_subject_name(x))) |