1/* crypto/cms/cms_err.c */
2/* ====================================================================
3 * Copyright (c) 1999-2013 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
25 *    openssl-core@OpenSSL.org.
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 * (eay@cryptsoft.com).  This product includes software written by Tim
52 * Hudson (tjh@cryptsoft.com).
53 *
54 */
55
56/*
57 * NOTE: this file was auto generated by the mkerr.pl script: any changes
58 * made to it will be overwritten when the script next updates this file,
59 * only reason strings will be preserved.
60 */
61
62#include <stdio.h>
63#include <openssl/err.h>
64#include <openssl/cms.h>
65
66/* BEGIN ERROR CODES */
67#ifndef OPENSSL_NO_ERR
68
69# define ERR_FUNC(func) ERR_PACK(ERR_LIB_CMS,func,0)
70# define ERR_REASON(reason) ERR_PACK(ERR_LIB_CMS,0,reason)
71
72static ERR_STRING_DATA CMS_str_functs[] = {
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),
77     "CMS_add0_recipient_password"},
78    {ERR_FUNC(CMS_F_CMS_ADD1_RECEIPTREQUEST), "CMS_add1_ReceiptRequest"},
79    {ERR_FUNC(CMS_F_CMS_ADD1_RECIPIENT_CERT), "CMS_add1_recipient_cert"},
80    {ERR_FUNC(CMS_F_CMS_ADD1_SIGNER), "CMS_add1_signer"},
81    {ERR_FUNC(CMS_F_CMS_ADD1_SIGNINGTIME), "CMS_ADD1_SIGNINGTIME"},
82    {ERR_FUNC(CMS_F_CMS_COMPRESS), "CMS_compress"},
83    {ERR_FUNC(CMS_F_CMS_COMPRESSEDDATA_CREATE), "cms_CompressedData_create"},
84    {ERR_FUNC(CMS_F_CMS_COMPRESSEDDATA_INIT_BIO),
85     "cms_CompressedData_init_bio"},
86    {ERR_FUNC(CMS_F_CMS_COPY_CONTENT), "CMS_COPY_CONTENT"},
87    {ERR_FUNC(CMS_F_CMS_COPY_MESSAGEDIGEST), "CMS_COPY_MESSAGEDIGEST"},
88    {ERR_FUNC(CMS_F_CMS_DATA), "CMS_data"},
89    {ERR_FUNC(CMS_F_CMS_DATAFINAL), "CMS_dataFinal"},
90    {ERR_FUNC(CMS_F_CMS_DATAINIT), "CMS_dataInit"},
91    {ERR_FUNC(CMS_F_CMS_DECRYPT), "CMS_decrypt"},
92    {ERR_FUNC(CMS_F_CMS_DECRYPT_SET1_KEY), "CMS_decrypt_set1_key"},
93    {ERR_FUNC(CMS_F_CMS_DECRYPT_SET1_PASSWORD), "CMS_decrypt_set1_password"},
94    {ERR_FUNC(CMS_F_CMS_DECRYPT_SET1_PKEY), "CMS_decrypt_set1_pkey"},
95    {ERR_FUNC(CMS_F_CMS_DIGESTALGORITHM_FIND_CTX),
96     "cms_DigestAlgorithm_find_ctx"},
97    {ERR_FUNC(CMS_F_CMS_DIGESTALGORITHM_INIT_BIO),
98     "cms_DigestAlgorithm_init_bio"},
99    {ERR_FUNC(CMS_F_CMS_DIGESTEDDATA_DO_FINAL), "cms_DigestedData_do_final"},
100    {ERR_FUNC(CMS_F_CMS_DIGEST_VERIFY), "CMS_digest_verify"},
101    {ERR_FUNC(CMS_F_CMS_ENCODE_RECEIPT), "cms_encode_Receipt"},
102    {ERR_FUNC(CMS_F_CMS_ENCRYPT), "CMS_encrypt"},
103    {ERR_FUNC(CMS_F_CMS_ENCRYPTEDCONTENT_INIT_BIO),
104     "cms_EncryptedContent_init_bio"},
105    {ERR_FUNC(CMS_F_CMS_ENCRYPTEDDATA_DECRYPT), "CMS_EncryptedData_decrypt"},
106    {ERR_FUNC(CMS_F_CMS_ENCRYPTEDDATA_ENCRYPT), "CMS_EncryptedData_encrypt"},
107    {ERR_FUNC(CMS_F_CMS_ENCRYPTEDDATA_SET1_KEY),
108     "CMS_EncryptedData_set1_key"},
109    {ERR_FUNC(CMS_F_CMS_ENVELOPEDDATA_CREATE), "CMS_EnvelopedData_create"},
110    {ERR_FUNC(CMS_F_CMS_ENVELOPEDDATA_INIT_BIO),
111     "cms_EnvelopedData_init_bio"},
112    {ERR_FUNC(CMS_F_CMS_ENVELOPED_DATA_INIT), "CMS_ENVELOPED_DATA_INIT"},
113    {ERR_FUNC(CMS_F_CMS_ENV_ASN1_CTRL), "cms_env_asn1_ctrl"},
114    {ERR_FUNC(CMS_F_CMS_FINAL), "CMS_final"},
115    {ERR_FUNC(CMS_F_CMS_GET0_CERTIFICATE_CHOICES),
116     "CMS_GET0_CERTIFICATE_CHOICES"},
117    {ERR_FUNC(CMS_F_CMS_GET0_CONTENT), "CMS_get0_content"},
118    {ERR_FUNC(CMS_F_CMS_GET0_ECONTENT_TYPE), "CMS_GET0_ECONTENT_TYPE"},
119    {ERR_FUNC(CMS_F_CMS_GET0_ENVELOPED), "cms_get0_enveloped"},
120    {ERR_FUNC(CMS_F_CMS_GET0_REVOCATION_CHOICES),
121     "CMS_GET0_REVOCATION_CHOICES"},
122    {ERR_FUNC(CMS_F_CMS_GET0_SIGNED), "CMS_GET0_SIGNED"},
123    {ERR_FUNC(CMS_F_CMS_MSGSIGDIGEST_ADD1), "cms_msgSigDigest_add1"},
124    {ERR_FUNC(CMS_F_CMS_RECEIPTREQUEST_CREATE0),
125     "CMS_ReceiptRequest_create0"},
126    {ERR_FUNC(CMS_F_CMS_RECEIPT_VERIFY), "cms_Receipt_verify"},
127    {ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_DECRYPT), "CMS_RecipientInfo_decrypt"},
128    {ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_ENCRYPT), "CMS_RecipientInfo_encrypt"},
129    {ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_KARI_ENCRYPT),
130     "cms_RecipientInfo_kari_encrypt"},
131    {ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_KARI_GET0_ALG),
132     "CMS_RecipientInfo_kari_get0_alg"},
133    {ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_KARI_GET0_ORIG_ID),
134     "CMS_RecipientInfo_kari_get0_orig_id"},
135    {ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_KARI_GET0_REKS),
136     "CMS_RecipientInfo_kari_get0_reks"},
137    {ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_KARI_ORIG_ID_CMP),
138     "CMS_RecipientInfo_kari_orig_id_cmp"},
139    {ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_KEKRI_DECRYPT),
140     "CMS_RECIPIENTINFO_KEKRI_DECRYPT"},
141    {ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_KEKRI_ENCRYPT),
142     "CMS_RECIPIENTINFO_KEKRI_ENCRYPT"},
143    {ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_KEKRI_GET0_ID),
144     "CMS_RecipientInfo_kekri_get0_id"},
145    {ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_KEKRI_ID_CMP),
146     "CMS_RecipientInfo_kekri_id_cmp"},
147    {ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_KTRI_CERT_CMP),
148     "CMS_RecipientInfo_ktri_cert_cmp"},
149    {ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_KTRI_DECRYPT),
150     "CMS_RECIPIENTINFO_KTRI_DECRYPT"},
151    {ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_KTRI_ENCRYPT),
152     "CMS_RECIPIENTINFO_KTRI_ENCRYPT"},
153    {ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_KTRI_GET0_ALGS),
154     "CMS_RecipientInfo_ktri_get0_algs"},
155    {ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_KTRI_GET0_SIGNER_ID),
156     "CMS_RecipientInfo_ktri_get0_signer_id"},
157    {ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_PWRI_CRYPT),
158     "cms_RecipientInfo_pwri_crypt"},
159    {ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_SET0_KEY),
160     "CMS_RecipientInfo_set0_key"},
161    {ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_SET0_PASSWORD),
162     "CMS_RecipientInfo_set0_password"},
163    {ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_SET0_PKEY),
164     "CMS_RecipientInfo_set0_pkey"},
165    {ERR_FUNC(CMS_F_CMS_SD_ASN1_CTRL), "CMS_SD_ASN1_CTRL"},
166    {ERR_FUNC(CMS_F_CMS_SET1_IAS), "cms_set1_ias"},
167    {ERR_FUNC(CMS_F_CMS_SET1_KEYID), "cms_set1_keyid"},
168    {ERR_FUNC(CMS_F_CMS_SET1_SIGNERIDENTIFIER), "cms_set1_SignerIdentifier"},
169    {ERR_FUNC(CMS_F_CMS_SET_DETACHED), "CMS_set_detached"},
170    {ERR_FUNC(CMS_F_CMS_SIGN), "CMS_sign"},
171    {ERR_FUNC(CMS_F_CMS_SIGNED_DATA_INIT), "CMS_SIGNED_DATA_INIT"},
172    {ERR_FUNC(CMS_F_CMS_SIGNERINFO_CONTENT_SIGN),
173     "CMS_SIGNERINFO_CONTENT_SIGN"},
174    {ERR_FUNC(CMS_F_CMS_SIGNERINFO_SIGN), "CMS_SignerInfo_sign"},
175    {ERR_FUNC(CMS_F_CMS_SIGNERINFO_VERIFY), "CMS_SignerInfo_verify"},
176    {ERR_FUNC(CMS_F_CMS_SIGNERINFO_VERIFY_CERT),
177     "CMS_SIGNERINFO_VERIFY_CERT"},
178    {ERR_FUNC(CMS_F_CMS_SIGNERINFO_VERIFY_CONTENT),
179     "CMS_SignerInfo_verify_content"},
180    {ERR_FUNC(CMS_F_CMS_SIGN_RECEIPT), "CMS_sign_receipt"},
181    {ERR_FUNC(CMS_F_CMS_STREAM), "CMS_stream"},
182    {ERR_FUNC(CMS_F_CMS_UNCOMPRESS), "CMS_uncompress"},
183    {ERR_FUNC(CMS_F_CMS_VERIFY), "CMS_verify"},
184    {0, NULL}
185};
186
187static ERR_STRING_DATA CMS_str_reasons[] = {
188    {ERR_REASON(CMS_R_ADD_SIGNER_ERROR), "add signer error"},
189    {ERR_REASON(CMS_R_CERTIFICATE_ALREADY_PRESENT),
190     "certificate already present"},
191    {ERR_REASON(CMS_R_CERTIFICATE_HAS_NO_KEYID), "certificate has no keyid"},
192    {ERR_REASON(CMS_R_CERTIFICATE_VERIFY_ERROR), "certificate verify error"},
193    {ERR_REASON(CMS_R_CIPHER_INITIALISATION_ERROR),
194     "cipher initialisation error"},
195    {ERR_REASON(CMS_R_CIPHER_PARAMETER_INITIALISATION_ERROR),
196     "cipher parameter initialisation error"},
197    {ERR_REASON(CMS_R_CMS_DATAFINAL_ERROR), "cms datafinal error"},
198    {ERR_REASON(CMS_R_CMS_LIB), "cms lib"},
199    {ERR_REASON(CMS_R_CONTENTIDENTIFIER_MISMATCH),
200     "contentidentifier mismatch"},
201    {ERR_REASON(CMS_R_CONTENT_NOT_FOUND), "content not found"},
202    {ERR_REASON(CMS_R_CONTENT_TYPE_MISMATCH), "content type mismatch"},
203    {ERR_REASON(CMS_R_CONTENT_TYPE_NOT_COMPRESSED_DATA),
204     "content type not compressed data"},
205    {ERR_REASON(CMS_R_CONTENT_TYPE_NOT_ENVELOPED_DATA),
206     "content type not enveloped data"},
207    {ERR_REASON(CMS_R_CONTENT_TYPE_NOT_SIGNED_DATA),
208     "content type not signed data"},
209    {ERR_REASON(CMS_R_CONTENT_VERIFY_ERROR), "content verify error"},
210    {ERR_REASON(CMS_R_CTRL_ERROR), "ctrl error"},
211    {ERR_REASON(CMS_R_CTRL_FAILURE), "ctrl failure"},
212    {ERR_REASON(CMS_R_DECRYPT_ERROR), "decrypt error"},
213    {ERR_REASON(CMS_R_DIGEST_ERROR), "digest error"},
214    {ERR_REASON(CMS_R_ERROR_GETTING_PUBLIC_KEY), "error getting public key"},
215    {ERR_REASON(CMS_R_ERROR_READING_MESSAGEDIGEST_ATTRIBUTE),
216     "error reading messagedigest attribute"},
217    {ERR_REASON(CMS_R_ERROR_SETTING_KEY), "error setting key"},
218    {ERR_REASON(CMS_R_ERROR_SETTING_RECIPIENTINFO),
219     "error setting recipientinfo"},
220    {ERR_REASON(CMS_R_INVALID_ENCRYPTED_KEY_LENGTH),
221     "invalid encrypted key length"},
222    {ERR_REASON(CMS_R_INVALID_KEY_ENCRYPTION_PARAMETER),
223     "invalid key encryption parameter"},
224    {ERR_REASON(CMS_R_INVALID_KEY_LENGTH), "invalid key length"},
225    {ERR_REASON(CMS_R_MD_BIO_INIT_ERROR), "md bio init error"},
226    {ERR_REASON(CMS_R_MESSAGEDIGEST_ATTRIBUTE_WRONG_LENGTH),
227     "messagedigest attribute wrong length"},
228    {ERR_REASON(CMS_R_MESSAGEDIGEST_WRONG_LENGTH),
229     "messagedigest wrong length"},
230    {ERR_REASON(CMS_R_MSGSIGDIGEST_ERROR), "msgsigdigest error"},
231    {ERR_REASON(CMS_R_MSGSIGDIGEST_VERIFICATION_FAILURE),
232     "msgsigdigest verification failure"},
233    {ERR_REASON(CMS_R_MSGSIGDIGEST_WRONG_LENGTH),
234     "msgsigdigest wrong length"},
235    {ERR_REASON(CMS_R_NEED_ONE_SIGNER), "need one signer"},
236    {ERR_REASON(CMS_R_NOT_A_SIGNED_RECEIPT), "not a signed receipt"},
237    {ERR_REASON(CMS_R_NOT_ENCRYPTED_DATA), "not encrypted data"},
238    {ERR_REASON(CMS_R_NOT_KEK), "not kek"},
239    {ERR_REASON(CMS_R_NOT_KEY_AGREEMENT), "not key agreement"},
240    {ERR_REASON(CMS_R_NOT_KEY_TRANSPORT), "not key transport"},
241    {ERR_REASON(CMS_R_NOT_PWRI), "not pwri"},
242    {ERR_REASON(CMS_R_NOT_SUPPORTED_FOR_THIS_KEY_TYPE),
243     "not supported for this key type"},
244    {ERR_REASON(CMS_R_NO_CIPHER), "no cipher"},
245    {ERR_REASON(CMS_R_NO_CONTENT), "no content"},
246    {ERR_REASON(CMS_R_NO_CONTENT_TYPE), "no content type"},
247    {ERR_REASON(CMS_R_NO_DEFAULT_DIGEST), "no default digest"},
248    {ERR_REASON(CMS_R_NO_DIGEST_SET), "no digest set"},
249    {ERR_REASON(CMS_R_NO_KEY), "no key"},
250    {ERR_REASON(CMS_R_NO_KEY_OR_CERT), "no key or cert"},
251    {ERR_REASON(CMS_R_NO_MATCHING_DIGEST), "no matching digest"},
252    {ERR_REASON(CMS_R_NO_MATCHING_RECIPIENT), "no matching recipient"},
253    {ERR_REASON(CMS_R_NO_MATCHING_SIGNATURE), "no matching signature"},
254    {ERR_REASON(CMS_R_NO_MSGSIGDIGEST), "no msgsigdigest"},
255    {ERR_REASON(CMS_R_NO_PASSWORD), "no password"},
256    {ERR_REASON(CMS_R_NO_PRIVATE_KEY), "no private key"},
257    {ERR_REASON(CMS_R_NO_PUBLIC_KEY), "no public key"},
258    {ERR_REASON(CMS_R_NO_RECEIPT_REQUEST), "no receipt request"},
259    {ERR_REASON(CMS_R_NO_SIGNERS), "no signers"},
260    {ERR_REASON(CMS_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE),
261     "private key does not match certificate"},
262    {ERR_REASON(CMS_R_RECEIPT_DECODE_ERROR), "receipt decode error"},
263    {ERR_REASON(CMS_R_RECIPIENT_ERROR), "recipient error"},
264    {ERR_REASON(CMS_R_SIGNER_CERTIFICATE_NOT_FOUND),
265     "signer certificate not found"},
266    {ERR_REASON(CMS_R_SIGNFINAL_ERROR), "signfinal error"},
267    {ERR_REASON(CMS_R_SMIME_TEXT_ERROR), "smime text error"},
268    {ERR_REASON(CMS_R_STORE_INIT_ERROR), "store init error"},
269    {ERR_REASON(CMS_R_TYPE_NOT_COMPRESSED_DATA), "type not compressed data"},
270    {ERR_REASON(CMS_R_TYPE_NOT_DATA), "type not data"},
271    {ERR_REASON(CMS_R_TYPE_NOT_DIGESTED_DATA), "type not digested data"},
272    {ERR_REASON(CMS_R_TYPE_NOT_ENCRYPTED_DATA), "type not encrypted data"},
273    {ERR_REASON(CMS_R_TYPE_NOT_ENVELOPED_DATA), "type not enveloped data"},
274    {ERR_REASON(CMS_R_UNABLE_TO_FINALIZE_CONTEXT),
275     "unable to finalize context"},
276    {ERR_REASON(CMS_R_UNKNOWN_CIPHER), "unknown cipher"},
277    {ERR_REASON(CMS_R_UNKNOWN_DIGEST_ALGORIHM), "unknown digest algorihm"},
278    {ERR_REASON(CMS_R_UNKNOWN_ID), "unknown id"},
279    {ERR_REASON(CMS_R_UNSUPPORTED_COMPRESSION_ALGORITHM),
280     "unsupported compression algorithm"},
281    {ERR_REASON(CMS_R_UNSUPPORTED_CONTENT_TYPE), "unsupported content type"},
282    {ERR_REASON(CMS_R_UNSUPPORTED_KEK_ALGORITHM),
283     "unsupported kek algorithm"},
284    {ERR_REASON(CMS_R_UNSUPPORTED_KEY_ENCRYPTION_ALGORITHM),
285     "unsupported key encryption algorithm"},
286    {ERR_REASON(CMS_R_UNSUPPORTED_RECIPIENT_TYPE),
287     "unsupported recipient type"},
288    {ERR_REASON(CMS_R_UNSUPPORTED_RECPIENTINFO_TYPE),
289     "unsupported recpientinfo type"},
290    {ERR_REASON(CMS_R_UNSUPPORTED_TYPE), "unsupported type"},
291    {ERR_REASON(CMS_R_UNWRAP_ERROR), "unwrap error"},
292    {ERR_REASON(CMS_R_UNWRAP_FAILURE), "unwrap failure"},
293    {ERR_REASON(CMS_R_VERIFICATION_FAILURE), "verification failure"},
294    {ERR_REASON(CMS_R_WRAP_ERROR), "wrap error"},
295    {0, NULL}
296};
297
298#endif
299
300void ERR_load_CMS_strings(void)
301{
302#ifndef OPENSSL_NO_ERR
303
304    if (ERR_func_error_string(CMS_str_functs[0].error) == NULL) {
305        ERR_load_strings(0, CMS_str_functs);
306        ERR_load_strings(0, CMS_str_reasons);
307    }
308#endif
309}
310