OpenSSL  1.0.1c
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros
cms_err.c
Go to the documentation of this file.
1 /* crypto/cms/cms_err.c */
2 /* ====================================================================
3  * Copyright (c) 1999-2009 The OpenSSL Project. All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  *
9  * 1. Redistributions of source code must retain the above copyright
10  * notice, this list of conditions and the following disclaimer.
11  *
12  * 2. Redistributions in binary form must reproduce the above copyright
13  * notice, this list of conditions and the following disclaimer in
14  * the documentation and/or other materials provided with the
15  * distribution.
16  *
17  * 3. All advertising materials mentioning features or use of this
18  * software must display the following acknowledgment:
19  * "This product includes software developed by the OpenSSL Project
20  * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)"
21  *
22  * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
23  * endorse or promote products derived from this software without
24  * prior written permission. For written permission, please contact
26  *
27  * 5. Products derived from this software may not be called "OpenSSL"
28  * nor may "OpenSSL" appear in their names without prior written
29  * permission of the OpenSSL Project.
30  *
31  * 6. Redistributions of any form whatsoever must retain the following
32  * acknowledgment:
33  * "This product includes software developed by the OpenSSL Project
34  * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)"
35  *
36  * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
37  * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
38  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
39  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
40  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
41  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
42  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
43  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
44  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
45  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
46  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
47  * OF THE POSSIBILITY OF SUCH DAMAGE.
48  * ====================================================================
49  *
50  * This product includes cryptographic software written by Eric Young
51  * ([email protected]). This product includes software written by Tim
52  * Hudson ([email protected]).
53  *
54  */
55 
56 /* NOTE: this file was auto generated by the mkerr.pl script: any changes
57  * made to it will be overwritten when the script next updates this file,
58  * only reason strings will be preserved.
59  */
60 
61 #include <stdio.h>
62 #include <openssl/err.h>
63 #include <openssl/cms.h>
64 
65 /* BEGIN ERROR CODES */
66 #ifndef OPENSSL_NO_ERR
67 
68 #define ERR_FUNC(func) ERR_PACK(ERR_LIB_CMS,func,0)
69 #define ERR_REASON(reason) ERR_PACK(ERR_LIB_CMS,0,reason)
70 
71 static ERR_STRING_DATA CMS_str_functs[]=
72  {
73 {ERR_FUNC(CMS_F_CHECK_CONTENT), "CHECK_CONTENT"},
74 {ERR_FUNC(CMS_F_CMS_ADD0_CERT), "CMS_add0_cert"},
75 {ERR_FUNC(CMS_F_CMS_ADD0_RECIPIENT_KEY), "CMS_add0_recipient_key"},
76 {ERR_FUNC(CMS_F_CMS_ADD0_RECIPIENT_PASSWORD), "CMS_add0_recipient_password"},
77 {ERR_FUNC(CMS_F_CMS_ADD1_RECEIPTREQUEST), "CMS_add1_ReceiptRequest"},
78 {ERR_FUNC(CMS_F_CMS_ADD1_RECIPIENT_CERT), "CMS_add1_recipient_cert"},
79 {ERR_FUNC(CMS_F_CMS_ADD1_SIGNER), "CMS_add1_signer"},
80 {ERR_FUNC(CMS_F_CMS_ADD1_SIGNINGTIME), "CMS_ADD1_SIGNINGTIME"},
81 {ERR_FUNC(CMS_F_CMS_COMPRESS), "CMS_compress"},
82 {ERR_FUNC(CMS_F_CMS_COMPRESSEDDATA_CREATE), "cms_CompressedData_create"},
83 {ERR_FUNC(CMS_F_CMS_COMPRESSEDDATA_INIT_BIO), "cms_CompressedData_init_bio"},
84 {ERR_FUNC(CMS_F_CMS_COPY_CONTENT), "CMS_COPY_CONTENT"},
85 {ERR_FUNC(CMS_F_CMS_COPY_MESSAGEDIGEST), "CMS_COPY_MESSAGEDIGEST"},
86 {ERR_FUNC(CMS_F_CMS_DATA), "CMS_data"},
87 {ERR_FUNC(CMS_F_CMS_DATAFINAL), "CMS_dataFinal"},
88 {ERR_FUNC(CMS_F_CMS_DATAINIT), "CMS_dataInit"},
89 {ERR_FUNC(CMS_F_CMS_DECRYPT), "CMS_decrypt"},
90 {ERR_FUNC(CMS_F_CMS_DECRYPT_SET1_KEY), "CMS_decrypt_set1_key"},
91 {ERR_FUNC(CMS_F_CMS_DECRYPT_SET1_PASSWORD), "CMS_decrypt_set1_password"},
92 {ERR_FUNC(CMS_F_CMS_DECRYPT_SET1_PKEY), "CMS_decrypt_set1_pkey"},
93 {ERR_FUNC(CMS_F_CMS_DIGESTALGORITHM_FIND_CTX), "cms_DigestAlgorithm_find_ctx"},
94 {ERR_FUNC(CMS_F_CMS_DIGESTALGORITHM_INIT_BIO), "cms_DigestAlgorithm_init_bio"},
95 {ERR_FUNC(CMS_F_CMS_DIGESTEDDATA_DO_FINAL), "cms_DigestedData_do_final"},
96 {ERR_FUNC(CMS_F_CMS_DIGEST_VERIFY), "CMS_digest_verify"},
97 {ERR_FUNC(CMS_F_CMS_ENCODE_RECEIPT), "cms_encode_Receipt"},
98 {ERR_FUNC(CMS_F_CMS_ENCRYPT), "CMS_encrypt"},
99 {ERR_FUNC(CMS_F_CMS_ENCRYPTEDCONTENT_INIT_BIO), "cms_EncryptedContent_init_bio"},
100 {ERR_FUNC(CMS_F_CMS_ENCRYPTEDDATA_DECRYPT), "CMS_EncryptedData_decrypt"},
101 {ERR_FUNC(CMS_F_CMS_ENCRYPTEDDATA_ENCRYPT), "CMS_EncryptedData_encrypt"},
102 {ERR_FUNC(CMS_F_CMS_ENCRYPTEDDATA_SET1_KEY), "CMS_EncryptedData_set1_key"},
103 {ERR_FUNC(CMS_F_CMS_ENVELOPEDDATA_CREATE), "CMS_EnvelopedData_create"},
104 {ERR_FUNC(CMS_F_CMS_ENVELOPEDDATA_INIT_BIO), "cms_EnvelopedData_init_bio"},
105 {ERR_FUNC(CMS_F_CMS_ENVELOPED_DATA_INIT), "CMS_ENVELOPED_DATA_INIT"},
106 {ERR_FUNC(CMS_F_CMS_FINAL), "CMS_final"},
107 {ERR_FUNC(CMS_F_CMS_GET0_CERTIFICATE_CHOICES), "CMS_GET0_CERTIFICATE_CHOICES"},
108 {ERR_FUNC(CMS_F_CMS_GET0_CONTENT), "CMS_get0_content"},
109 {ERR_FUNC(CMS_F_CMS_GET0_ECONTENT_TYPE), "CMS_GET0_ECONTENT_TYPE"},
110 {ERR_FUNC(CMS_F_CMS_GET0_ENVELOPED), "cms_get0_enveloped"},
111 {ERR_FUNC(CMS_F_CMS_GET0_REVOCATION_CHOICES), "CMS_GET0_REVOCATION_CHOICES"},
112 {ERR_FUNC(CMS_F_CMS_GET0_SIGNED), "CMS_GET0_SIGNED"},
113 {ERR_FUNC(CMS_F_CMS_MSGSIGDIGEST_ADD1), "cms_msgSigDigest_add1"},
114 {ERR_FUNC(CMS_F_CMS_RECEIPTREQUEST_CREATE0), "CMS_ReceiptRequest_create0"},
115 {ERR_FUNC(CMS_F_CMS_RECEIPT_VERIFY), "cms_Receipt_verify"},
116 {ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_DECRYPT), "CMS_RecipientInfo_decrypt"},
117 {ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_KEKRI_DECRYPT), "CMS_RECIPIENTINFO_KEKRI_DECRYPT"},
118 {ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_KEKRI_ENCRYPT), "CMS_RECIPIENTINFO_KEKRI_ENCRYPT"},
119 {ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_KEKRI_GET0_ID), "CMS_RecipientInfo_kekri_get0_id"},
120 {ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_KEKRI_ID_CMP), "CMS_RecipientInfo_kekri_id_cmp"},
121 {ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_KTRI_CERT_CMP), "CMS_RecipientInfo_ktri_cert_cmp"},
122 {ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_KTRI_DECRYPT), "CMS_RECIPIENTINFO_KTRI_DECRYPT"},
123 {ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_KTRI_ENCRYPT), "CMS_RECIPIENTINFO_KTRI_ENCRYPT"},
124 {ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_KTRI_GET0_ALGS), "CMS_RecipientInfo_ktri_get0_algs"},
125 {ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_KTRI_GET0_SIGNER_ID), "CMS_RecipientInfo_ktri_get0_signer_id"},
126 {ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_PWRI_CRYPT), "cms_RecipientInfo_pwri_crypt"},
127 {ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_SET0_KEY), "CMS_RecipientInfo_set0_key"},
128 {ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_SET0_PASSWORD), "CMS_RecipientInfo_set0_password"},
129 {ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_SET0_PKEY), "CMS_RecipientInfo_set0_pkey"},
130 {ERR_FUNC(CMS_F_CMS_SET1_SIGNERIDENTIFIER), "cms_set1_SignerIdentifier"},
131 {ERR_FUNC(CMS_F_CMS_SET_DETACHED), "CMS_set_detached"},
132 {ERR_FUNC(CMS_F_CMS_SIGN), "CMS_sign"},
133 {ERR_FUNC(CMS_F_CMS_SIGNED_DATA_INIT), "CMS_SIGNED_DATA_INIT"},
134 {ERR_FUNC(CMS_F_CMS_SIGNERINFO_CONTENT_SIGN), "CMS_SIGNERINFO_CONTENT_SIGN"},
135 {ERR_FUNC(CMS_F_CMS_SIGNERINFO_SIGN), "CMS_SignerInfo_sign"},
136 {ERR_FUNC(CMS_F_CMS_SIGNERINFO_VERIFY), "CMS_SignerInfo_verify"},
137 {ERR_FUNC(CMS_F_CMS_SIGNERINFO_VERIFY_CERT), "CMS_SIGNERINFO_VERIFY_CERT"},
138 {ERR_FUNC(CMS_F_CMS_SIGNERINFO_VERIFY_CONTENT), "CMS_SignerInfo_verify_content"},
139 {ERR_FUNC(CMS_F_CMS_SIGN_RECEIPT), "CMS_sign_receipt"},
140 {ERR_FUNC(CMS_F_CMS_STREAM), "CMS_stream"},
141 {ERR_FUNC(CMS_F_CMS_UNCOMPRESS), "CMS_uncompress"},
142 {ERR_FUNC(CMS_F_CMS_VERIFY), "CMS_verify"},
143 {0,NULL}
144  };
145 
146 static ERR_STRING_DATA CMS_str_reasons[]=
147  {
148 {ERR_REASON(CMS_R_ADD_SIGNER_ERROR) ,"add signer error"},
149 {ERR_REASON(CMS_R_CERTIFICATE_ALREADY_PRESENT),"certificate already present"},
150 {ERR_REASON(CMS_R_CERTIFICATE_HAS_NO_KEYID),"certificate has no keyid"},
151 {ERR_REASON(CMS_R_CERTIFICATE_VERIFY_ERROR),"certificate verify error"},
152 {ERR_REASON(CMS_R_CIPHER_INITIALISATION_ERROR),"cipher initialisation error"},
153 {ERR_REASON(CMS_R_CIPHER_PARAMETER_INITIALISATION_ERROR),"cipher parameter initialisation error"},
154 {ERR_REASON(CMS_R_CMS_DATAFINAL_ERROR) ,"cms datafinal error"},
155 {ERR_REASON(CMS_R_CMS_LIB) ,"cms lib"},
156 {ERR_REASON(CMS_R_CONTENTIDENTIFIER_MISMATCH),"contentidentifier mismatch"},
157 {ERR_REASON(CMS_R_CONTENT_NOT_FOUND) ,"content not found"},
158 {ERR_REASON(CMS_R_CONTENT_TYPE_MISMATCH) ,"content type mismatch"},
159 {ERR_REASON(CMS_R_CONTENT_TYPE_NOT_COMPRESSED_DATA),"content type not compressed data"},
160 {ERR_REASON(CMS_R_CONTENT_TYPE_NOT_ENVELOPED_DATA),"content type not enveloped data"},
161 {ERR_REASON(CMS_R_CONTENT_TYPE_NOT_SIGNED_DATA),"content type not signed data"},
162 {ERR_REASON(CMS_R_CONTENT_VERIFY_ERROR) ,"content verify error"},
163 {ERR_REASON(CMS_R_CTRL_ERROR) ,"ctrl error"},
164 {ERR_REASON(CMS_R_CTRL_FAILURE) ,"ctrl failure"},
165 {ERR_REASON(CMS_R_DECRYPT_ERROR) ,"decrypt error"},
166 {ERR_REASON(CMS_R_DIGEST_ERROR) ,"digest error"},
167 {ERR_REASON(CMS_R_ERROR_GETTING_PUBLIC_KEY),"error getting public key"},
168 {ERR_REASON(CMS_R_ERROR_READING_MESSAGEDIGEST_ATTRIBUTE),"error reading messagedigest attribute"},
169 {ERR_REASON(CMS_R_ERROR_SETTING_KEY) ,"error setting key"},
170 {ERR_REASON(CMS_R_ERROR_SETTING_RECIPIENTINFO),"error setting recipientinfo"},
171 {ERR_REASON(CMS_R_INVALID_ENCRYPTED_KEY_LENGTH),"invalid encrypted key length"},
172 {ERR_REASON(CMS_R_INVALID_KEY_ENCRYPTION_PARAMETER),"invalid key encryption parameter"},
173 {ERR_REASON(CMS_R_INVALID_KEY_LENGTH) ,"invalid key length"},
174 {ERR_REASON(CMS_R_MD_BIO_INIT_ERROR) ,"md bio init error"},
175 {ERR_REASON(CMS_R_MESSAGEDIGEST_ATTRIBUTE_WRONG_LENGTH),"messagedigest attribute wrong length"},
176 {ERR_REASON(CMS_R_MESSAGEDIGEST_WRONG_LENGTH),"messagedigest wrong length"},
177 {ERR_REASON(CMS_R_MSGSIGDIGEST_ERROR) ,"msgsigdigest error"},
178 {ERR_REASON(CMS_R_MSGSIGDIGEST_VERIFICATION_FAILURE),"msgsigdigest verification failure"},
179 {ERR_REASON(CMS_R_MSGSIGDIGEST_WRONG_LENGTH),"msgsigdigest wrong length"},
180 {ERR_REASON(CMS_R_NEED_ONE_SIGNER) ,"need one signer"},
181 {ERR_REASON(CMS_R_NOT_A_SIGNED_RECEIPT) ,"not a signed receipt"},
182 {ERR_REASON(CMS_R_NOT_ENCRYPTED_DATA) ,"not encrypted data"},
183 {ERR_REASON(CMS_R_NOT_KEK) ,"not kek"},
184 {ERR_REASON(CMS_R_NOT_KEY_TRANSPORT) ,"not key transport"},
185 {ERR_REASON(CMS_R_NOT_PWRI) ,"not pwri"},
186 {ERR_REASON(CMS_R_NOT_SUPPORTED_FOR_THIS_KEY_TYPE),"not supported for this key type"},
187 {ERR_REASON(CMS_R_NO_CIPHER) ,"no cipher"},
188 {ERR_REASON(CMS_R_NO_CONTENT) ,"no content"},
189 {ERR_REASON(CMS_R_NO_CONTENT_TYPE) ,"no content type"},
190 {ERR_REASON(CMS_R_NO_DEFAULT_DIGEST) ,"no default digest"},
191 {ERR_REASON(CMS_R_NO_DIGEST_SET) ,"no digest set"},
192 {ERR_REASON(CMS_R_NO_KEY) ,"no key"},
193 {ERR_REASON(CMS_R_NO_KEY_OR_CERT) ,"no key or cert"},
194 {ERR_REASON(CMS_R_NO_MATCHING_DIGEST) ,"no matching digest"},
195 {ERR_REASON(CMS_R_NO_MATCHING_RECIPIENT) ,"no matching recipient"},
196 {ERR_REASON(CMS_R_NO_MATCHING_SIGNATURE) ,"no matching signature"},
197 {ERR_REASON(CMS_R_NO_MSGSIGDIGEST) ,"no msgsigdigest"},
198 {ERR_REASON(CMS_R_NO_PASSWORD) ,"no password"},
199 {ERR_REASON(CMS_R_NO_PRIVATE_KEY) ,"no private key"},
200 {ERR_REASON(CMS_R_NO_PUBLIC_KEY) ,"no public key"},
201 {ERR_REASON(CMS_R_NO_RECEIPT_REQUEST) ,"no receipt request"},
202 {ERR_REASON(CMS_R_NO_SIGNERS) ,"no signers"},
203 {ERR_REASON(CMS_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE),"private key does not match certificate"},
204 {ERR_REASON(CMS_R_RECEIPT_DECODE_ERROR) ,"receipt decode error"},
205 {ERR_REASON(CMS_R_RECIPIENT_ERROR) ,"recipient error"},
206 {ERR_REASON(CMS_R_SIGNER_CERTIFICATE_NOT_FOUND),"signer certificate not found"},
207 {ERR_REASON(CMS_R_SIGNFINAL_ERROR) ,"signfinal error"},
208 {ERR_REASON(CMS_R_SMIME_TEXT_ERROR) ,"smime text error"},
209 {ERR_REASON(CMS_R_STORE_INIT_ERROR) ,"store init error"},
210 {ERR_REASON(CMS_R_TYPE_NOT_COMPRESSED_DATA),"type not compressed data"},
211 {ERR_REASON(CMS_R_TYPE_NOT_DATA) ,"type not data"},
212 {ERR_REASON(CMS_R_TYPE_NOT_DIGESTED_DATA),"type not digested data"},
213 {ERR_REASON(CMS_R_TYPE_NOT_ENCRYPTED_DATA),"type not encrypted data"},
214 {ERR_REASON(CMS_R_TYPE_NOT_ENVELOPED_DATA),"type not enveloped data"},
215 {ERR_REASON(CMS_R_UNABLE_TO_FINALIZE_CONTEXT),"unable to finalize context"},
216 {ERR_REASON(CMS_R_UNKNOWN_CIPHER) ,"unknown cipher"},
217 {ERR_REASON(CMS_R_UNKNOWN_DIGEST_ALGORIHM),"unknown digest algorihm"},
218 {ERR_REASON(CMS_R_UNKNOWN_ID) ,"unknown id"},
219 {ERR_REASON(CMS_R_UNSUPPORTED_COMPRESSION_ALGORITHM),"unsupported compression algorithm"},
220 {ERR_REASON(CMS_R_UNSUPPORTED_CONTENT_TYPE),"unsupported content type"},
221 {ERR_REASON(CMS_R_UNSUPPORTED_KEK_ALGORITHM),"unsupported kek algorithm"},
222 {ERR_REASON(CMS_R_UNSUPPORTED_KEY_ENCRYPTION_ALGORITHM),"unsupported key encryption algorithm"},
223 {ERR_REASON(CMS_R_UNSUPPORTED_RECIPIENT_TYPE),"unsupported recipient type"},
224 {ERR_REASON(CMS_R_UNSUPPORTED_RECPIENTINFO_TYPE),"unsupported recpientinfo type"},
225 {ERR_REASON(CMS_R_UNSUPPORTED_TYPE) ,"unsupported type"},
226 {ERR_REASON(CMS_R_UNWRAP_ERROR) ,"unwrap error"},
227 {ERR_REASON(CMS_R_UNWRAP_FAILURE) ,"unwrap failure"},
228 {ERR_REASON(CMS_R_VERIFICATION_FAILURE) ,"verification failure"},
229 {ERR_REASON(CMS_R_WRAP_ERROR) ,"wrap error"},
230 {0,NULL}
231  };
232 
233 #endif
234 
236  {
237 #ifndef OPENSSL_NO_ERR
238 
239  if (ERR_func_error_string(CMS_str_functs[0].error) == NULL)
240  {
241  ERR_load_strings(0,CMS_str_functs);
242  ERR_load_strings(0,CMS_str_reasons);
243  }
244 #endif
245  }