diff options
author | beck <> | 1999-09-29 04:37:45 +0000 |
---|---|---|
committer | beck <> | 1999-09-29 04:37:45 +0000 |
commit | de8f24ea083384bb66b32ec105dc4743c5663cdf (patch) | |
tree | 1412176ae62a3cab2cf2b0b92150fcbceaac6092 /src/lib/libcrypto/asn1/p7_signi.c | |
parent | cb929d29896bcb87c2a97417fbd03e50078fc178 (diff) | |
download | openbsd-de8f24ea083384bb66b32ec105dc4743c5663cdf.tar.gz openbsd-de8f24ea083384bb66b32ec105dc4743c5663cdf.tar.bz2 openbsd-de8f24ea083384bb66b32ec105dc4743c5663cdf.zip |
OpenSSL 0.9.4 merge
Diffstat (limited to 'src/lib/libcrypto/asn1/p7_signi.c')
-rw-r--r-- | src/lib/libcrypto/asn1/p7_signi.c | 51 |
1 files changed, 26 insertions, 25 deletions
diff --git a/src/lib/libcrypto/asn1/p7_signi.c b/src/lib/libcrypto/asn1/p7_signi.c index 0da92169fc..21132ef4dd 100644 --- a/src/lib/libcrypto/asn1/p7_signi.c +++ b/src/lib/libcrypto/asn1/p7_signi.c | |||
@@ -58,45 +58,40 @@ | |||
58 | 58 | ||
59 | #include <stdio.h> | 59 | #include <stdio.h> |
60 | #include "cryptlib.h" | 60 | #include "cryptlib.h" |
61 | #include "asn1_mac.h" | 61 | #include <openssl/asn1_mac.h> |
62 | #include "x509.h" | 62 | #include <openssl/x509.h> |
63 | 63 | ||
64 | /* | 64 | int i2d_PKCS7_SIGNER_INFO(PKCS7_SIGNER_INFO *a, unsigned char **pp) |
65 | * ASN1err(ASN1_F_PKCS7_SIGNER_INFO_NEW,ASN1_R_LENGTH_MISMATCH); | ||
66 | * ASN1err(ASN1_F_D2I_PKCS7_SIGNER_INFO,ASN1_R_LENGTH_MISMATCH); | ||
67 | */ | ||
68 | |||
69 | int i2d_PKCS7_SIGNER_INFO(a,pp) | ||
70 | PKCS7_SIGNER_INFO *a; | ||
71 | unsigned char **pp; | ||
72 | { | 65 | { |
73 | M_ASN1_I2D_vars(a); | 66 | M_ASN1_I2D_vars(a); |
74 | 67 | ||
75 | M_ASN1_I2D_len(a->version,i2d_ASN1_INTEGER); | 68 | M_ASN1_I2D_len(a->version,i2d_ASN1_INTEGER); |
76 | M_ASN1_I2D_len(a->issuer_and_serial,i2d_PKCS7_ISSUER_AND_SERIAL); | 69 | M_ASN1_I2D_len(a->issuer_and_serial,i2d_PKCS7_ISSUER_AND_SERIAL); |
77 | M_ASN1_I2D_len(a->digest_alg,i2d_X509_ALGOR); | 70 | M_ASN1_I2D_len(a->digest_alg,i2d_X509_ALGOR); |
78 | M_ASN1_I2D_len_IMP_set_opt(a->auth_attr,i2d_X509_ATTRIBUTE,0); | 71 | M_ASN1_I2D_len_IMP_SET_opt_type(X509_ATTRIBUTE,a->auth_attr, |
72 | i2d_X509_ATTRIBUTE,0); | ||
79 | M_ASN1_I2D_len(a->digest_enc_alg,i2d_X509_ALGOR); | 73 | M_ASN1_I2D_len(a->digest_enc_alg,i2d_X509_ALGOR); |
80 | M_ASN1_I2D_len(a->enc_digest,i2d_ASN1_OCTET_STRING); | 74 | M_ASN1_I2D_len(a->enc_digest,i2d_ASN1_OCTET_STRING); |
81 | M_ASN1_I2D_len_IMP_set_opt(a->unauth_attr,i2d_X509_ATTRIBUTE,1); | 75 | M_ASN1_I2D_len_IMP_SET_opt_type(X509_ATTRIBUTE,a->unauth_attr, |
76 | i2d_X509_ATTRIBUTE,1); | ||
82 | 77 | ||
83 | M_ASN1_I2D_seq_total(); | 78 | M_ASN1_I2D_seq_total(); |
84 | 79 | ||
85 | M_ASN1_I2D_put(a->version,i2d_ASN1_INTEGER); | 80 | M_ASN1_I2D_put(a->version,i2d_ASN1_INTEGER); |
86 | M_ASN1_I2D_put(a->issuer_and_serial,i2d_PKCS7_ISSUER_AND_SERIAL); | 81 | M_ASN1_I2D_put(a->issuer_and_serial,i2d_PKCS7_ISSUER_AND_SERIAL); |
87 | M_ASN1_I2D_put(a->digest_alg,i2d_X509_ALGOR); | 82 | M_ASN1_I2D_put(a->digest_alg,i2d_X509_ALGOR); |
88 | M_ASN1_I2D_put_IMP_set_opt(a->auth_attr,i2d_X509_ATTRIBUTE,0); | 83 | M_ASN1_I2D_put_IMP_SET_opt_type(X509_ATTRIBUTE,a->auth_attr, |
84 | i2d_X509_ATTRIBUTE,0); | ||
89 | M_ASN1_I2D_put(a->digest_enc_alg,i2d_X509_ALGOR); | 85 | M_ASN1_I2D_put(a->digest_enc_alg,i2d_X509_ALGOR); |
90 | M_ASN1_I2D_put(a->enc_digest,i2d_ASN1_OCTET_STRING); | 86 | M_ASN1_I2D_put(a->enc_digest,i2d_ASN1_OCTET_STRING); |
91 | M_ASN1_I2D_put_IMP_set_opt(a->unauth_attr,i2d_X509_ATTRIBUTE,1); | 87 | M_ASN1_I2D_put_IMP_SET_opt_type(X509_ATTRIBUTE,a->unauth_attr, |
88 | i2d_X509_ATTRIBUTE,1); | ||
92 | 89 | ||
93 | M_ASN1_I2D_finish(); | 90 | M_ASN1_I2D_finish(); |
94 | } | 91 | } |
95 | 92 | ||
96 | PKCS7_SIGNER_INFO *d2i_PKCS7_SIGNER_INFO(a,pp,length) | 93 | PKCS7_SIGNER_INFO *d2i_PKCS7_SIGNER_INFO(PKCS7_SIGNER_INFO **a, |
97 | PKCS7_SIGNER_INFO **a; | 94 | unsigned char **pp, long length) |
98 | unsigned char **pp; | ||
99 | long length; | ||
100 | { | 95 | { |
101 | M_ASN1_D2I_vars(a,PKCS7_SIGNER_INFO *,PKCS7_SIGNER_INFO_new); | 96 | M_ASN1_D2I_vars(a,PKCS7_SIGNER_INFO *,PKCS7_SIGNER_INFO_new); |
102 | 97 | ||
@@ -105,18 +100,23 @@ long length; | |||
105 | M_ASN1_D2I_get(ret->version,d2i_ASN1_INTEGER); | 100 | M_ASN1_D2I_get(ret->version,d2i_ASN1_INTEGER); |
106 | M_ASN1_D2I_get(ret->issuer_and_serial,d2i_PKCS7_ISSUER_AND_SERIAL); | 101 | M_ASN1_D2I_get(ret->issuer_and_serial,d2i_PKCS7_ISSUER_AND_SERIAL); |
107 | M_ASN1_D2I_get(ret->digest_alg,d2i_X509_ALGOR); | 102 | M_ASN1_D2I_get(ret->digest_alg,d2i_X509_ALGOR); |
108 | M_ASN1_D2I_get_IMP_set_opt(ret->auth_attr,d2i_X509_ATTRIBUTE,0); | 103 | M_ASN1_D2I_get_IMP_set_opt_type(X509_ATTRIBUTE,ret->auth_attr, |
104 | d2i_X509_ATTRIBUTE,X509_ATTRIBUTE_free, | ||
105 | 0); | ||
109 | M_ASN1_D2I_get(ret->digest_enc_alg,d2i_X509_ALGOR); | 106 | M_ASN1_D2I_get(ret->digest_enc_alg,d2i_X509_ALGOR); |
110 | M_ASN1_D2I_get(ret->enc_digest,d2i_ASN1_OCTET_STRING); | 107 | M_ASN1_D2I_get(ret->enc_digest,d2i_ASN1_OCTET_STRING); |
111 | M_ASN1_D2I_get_IMP_set_opt(ret->unauth_attr,d2i_X509_ATTRIBUTE,1); | 108 | M_ASN1_D2I_get_IMP_set_opt_type(X509_ATTRIBUTE,ret->unauth_attr, |
109 | d2i_X509_ATTRIBUTE, | ||
110 | X509_ATTRIBUTE_free,1); | ||
112 | 111 | ||
113 | M_ASN1_D2I_Finish(a,PKCS7_SIGNER_INFO_free, | 112 | M_ASN1_D2I_Finish(a,PKCS7_SIGNER_INFO_free, |
114 | ASN1_F_D2I_PKCS7_SIGNER_INFO); | 113 | ASN1_F_D2I_PKCS7_SIGNER_INFO); |
115 | } | 114 | } |
116 | 115 | ||
117 | PKCS7_SIGNER_INFO *PKCS7_SIGNER_INFO_new() | 116 | PKCS7_SIGNER_INFO *PKCS7_SIGNER_INFO_new(void) |
118 | { | 117 | { |
119 | PKCS7_SIGNER_INFO *ret=NULL; | 118 | PKCS7_SIGNER_INFO *ret=NULL; |
119 | ASN1_CTX c; | ||
120 | 120 | ||
121 | M_ASN1_New_Malloc(ret,PKCS7_SIGNER_INFO); | 121 | M_ASN1_New_Malloc(ret,PKCS7_SIGNER_INFO); |
122 | M_ASN1_New(ret->version,ASN1_INTEGER_new); | 122 | M_ASN1_New(ret->version,ASN1_INTEGER_new); |
@@ -131,19 +131,20 @@ PKCS7_SIGNER_INFO *PKCS7_SIGNER_INFO_new() | |||
131 | M_ASN1_New_Error(ASN1_F_PKCS7_SIGNER_INFO_NEW); | 131 | M_ASN1_New_Error(ASN1_F_PKCS7_SIGNER_INFO_NEW); |
132 | } | 132 | } |
133 | 133 | ||
134 | void PKCS7_SIGNER_INFO_free(a) | 134 | void PKCS7_SIGNER_INFO_free(PKCS7_SIGNER_INFO *a) |
135 | PKCS7_SIGNER_INFO *a; | ||
136 | { | 135 | { |
137 | if (a == NULL) return; | 136 | if (a == NULL) return; |
138 | ASN1_INTEGER_free(a->version); | 137 | ASN1_INTEGER_free(a->version); |
139 | PKCS7_ISSUER_AND_SERIAL_free(a->issuer_and_serial); | 138 | PKCS7_ISSUER_AND_SERIAL_free(a->issuer_and_serial); |
140 | X509_ALGOR_free(a->digest_alg); | 139 | X509_ALGOR_free(a->digest_alg); |
141 | sk_pop_free(a->auth_attr,X509_ATTRIBUTE_free); | 140 | sk_X509_ATTRIBUTE_pop_free(a->auth_attr,X509_ATTRIBUTE_free); |
142 | X509_ALGOR_free(a->digest_enc_alg); | 141 | X509_ALGOR_free(a->digest_enc_alg); |
143 | ASN1_OCTET_STRING_free(a->enc_digest); | 142 | ASN1_OCTET_STRING_free(a->enc_digest); |
144 | sk_pop_free(a->unauth_attr,X509_ATTRIBUTE_free); | 143 | sk_X509_ATTRIBUTE_pop_free(a->unauth_attr,X509_ATTRIBUTE_free); |
145 | if (a->pkey != NULL) | 144 | if (a->pkey != NULL) |
146 | EVP_PKEY_free(a->pkey); | 145 | EVP_PKEY_free(a->pkey); |
147 | Free((char *)a); | 146 | Free((char *)a); |
148 | } | 147 | } |
149 | 148 | ||
149 | IMPLEMENT_STACK_OF(PKCS7_SIGNER_INFO) | ||
150 | IMPLEMENT_ASN1_SET_OF(PKCS7_SIGNER_INFO) | ||