xref: /openbsd-src/lib/libcrypto/cms/cms_err.c (revision e5157e49389faebcb42b7237d55fbf096d9c2523)
1 /* $OpenBSD: cms_err.c,v 1.4 2014/07/10 22:45:56 jsing Exp $ */
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
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 /* 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 
63 #include <openssl/opensslconf.h>
64 
65 #include <openssl/cms.h>
66 #include <openssl/err.h>
67 
68 /* BEGIN ERROR CODES */
69 #ifndef OPENSSL_NO_ERR
70 
71 #define ERR_FUNC(func) ERR_PACK(ERR_LIB_CMS,func,0)
72 #define ERR_REASON(reason) ERR_PACK(ERR_LIB_CMS,0,reason)
73 
74 static ERR_STRING_DATA CMS_str_functs[]= {
75 	{ERR_FUNC(CMS_F_CHECK_CONTENT),	"CHECK_CONTENT"},
76 	{ERR_FUNC(CMS_F_CMS_ADD0_CERT),	"CMS_add0_cert"},
77 	{ERR_FUNC(CMS_F_CMS_ADD0_RECIPIENT_KEY),	"CMS_add0_recipient_key"},
78 	{ERR_FUNC(CMS_F_CMS_ADD0_RECIPIENT_PASSWORD),	"CMS_add0_recipient_password"},
79 	{ERR_FUNC(CMS_F_CMS_ADD1_RECEIPTREQUEST),	"CMS_add1_ReceiptRequest"},
80 	{ERR_FUNC(CMS_F_CMS_ADD1_RECIPIENT_CERT),	"CMS_add1_recipient_cert"},
81 	{ERR_FUNC(CMS_F_CMS_ADD1_SIGNER),	"CMS_add1_signer"},
82 	{ERR_FUNC(CMS_F_CMS_ADD1_SIGNINGTIME),	"CMS_ADD1_SIGNINGTIME"},
83 	{ERR_FUNC(CMS_F_CMS_COMPRESS),	"CMS_compress"},
84 	{ERR_FUNC(CMS_F_CMS_COMPRESSEDDATA_CREATE),	"cms_CompressedData_create"},
85 	{ERR_FUNC(CMS_F_CMS_COMPRESSEDDATA_INIT_BIO),	"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),	"cms_DigestAlgorithm_find_ctx"},
96 	{ERR_FUNC(CMS_F_CMS_DIGESTALGORITHM_INIT_BIO),	"cms_DigestAlgorithm_init_bio"},
97 	{ERR_FUNC(CMS_F_CMS_DIGESTEDDATA_DO_FINAL),	"cms_DigestedData_do_final"},
98 	{ERR_FUNC(CMS_F_CMS_DIGEST_VERIFY),	"CMS_digest_verify"},
99 	{ERR_FUNC(CMS_F_CMS_ENCODE_RECEIPT),	"cms_encode_Receipt"},
100 	{ERR_FUNC(CMS_F_CMS_ENCRYPT),	"CMS_encrypt"},
101 	{ERR_FUNC(CMS_F_CMS_ENCRYPTEDCONTENT_INIT_BIO),	"cms_EncryptedContent_init_bio"},
102 	{ERR_FUNC(CMS_F_CMS_ENCRYPTEDDATA_DECRYPT),	"CMS_EncryptedData_decrypt"},
103 	{ERR_FUNC(CMS_F_CMS_ENCRYPTEDDATA_ENCRYPT),	"CMS_EncryptedData_encrypt"},
104 	{ERR_FUNC(CMS_F_CMS_ENCRYPTEDDATA_SET1_KEY),	"CMS_EncryptedData_set1_key"},
105 	{ERR_FUNC(CMS_F_CMS_ENVELOPEDDATA_CREATE),	"CMS_EnvelopedData_create"},
106 	{ERR_FUNC(CMS_F_CMS_ENVELOPEDDATA_INIT_BIO),	"cms_EnvelopedData_init_bio"},
107 	{ERR_FUNC(CMS_F_CMS_ENVELOPED_DATA_INIT),	"CMS_ENVELOPED_DATA_INIT"},
108 	{ERR_FUNC(CMS_F_CMS_FINAL),	"CMS_final"},
109 	{ERR_FUNC(CMS_F_CMS_GET0_CERTIFICATE_CHOICES),	"CMS_GET0_CERTIFICATE_CHOICES"},
110 	{ERR_FUNC(CMS_F_CMS_GET0_CONTENT),	"CMS_get0_content"},
111 	{ERR_FUNC(CMS_F_CMS_GET0_ECONTENT_TYPE),	"CMS_GET0_ECONTENT_TYPE"},
112 	{ERR_FUNC(CMS_F_CMS_GET0_ENVELOPED),	"cms_get0_enveloped"},
113 	{ERR_FUNC(CMS_F_CMS_GET0_REVOCATION_CHOICES),	"CMS_GET0_REVOCATION_CHOICES"},
114 	{ERR_FUNC(CMS_F_CMS_GET0_SIGNED),	"CMS_GET0_SIGNED"},
115 	{ERR_FUNC(CMS_F_CMS_MSGSIGDIGEST_ADD1),	"cms_msgSigDigest_add1"},
116 	{ERR_FUNC(CMS_F_CMS_RECEIPTREQUEST_CREATE0),	"CMS_ReceiptRequest_create0"},
117 	{ERR_FUNC(CMS_F_CMS_RECEIPT_VERIFY),	"cms_Receipt_verify"},
118 	{ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_DECRYPT),	"CMS_RecipientInfo_decrypt"},
119 	{ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_KEKRI_DECRYPT),	"CMS_RECIPIENTINFO_KEKRI_DECRYPT"},
120 	{ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_KEKRI_ENCRYPT),	"CMS_RECIPIENTINFO_KEKRI_ENCRYPT"},
121 	{ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_KEKRI_GET0_ID),	"CMS_RecipientInfo_kekri_get0_id"},
122 	{ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_KEKRI_ID_CMP),	"CMS_RecipientInfo_kekri_id_cmp"},
123 	{ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_KTRI_CERT_CMP),	"CMS_RecipientInfo_ktri_cert_cmp"},
124 	{ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_KTRI_DECRYPT),	"CMS_RECIPIENTINFO_KTRI_DECRYPT"},
125 	{ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_KTRI_ENCRYPT),	"CMS_RECIPIENTINFO_KTRI_ENCRYPT"},
126 	{ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_KTRI_GET0_ALGS),	"CMS_RecipientInfo_ktri_get0_algs"},
127 	{ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_KTRI_GET0_SIGNER_ID),	"CMS_RecipientInfo_ktri_get0_signer_id"},
128 	{ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_PWRI_CRYPT),	"cms_RecipientInfo_pwri_crypt"},
129 	{ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_SET0_KEY),	"CMS_RecipientInfo_set0_key"},
130 	{ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_SET0_PASSWORD),	"CMS_RecipientInfo_set0_password"},
131 	{ERR_FUNC(CMS_F_CMS_RECIPIENTINFO_SET0_PKEY),	"CMS_RecipientInfo_set0_pkey"},
132 	{ERR_FUNC(CMS_F_CMS_SET1_SIGNERIDENTIFIER),	"cms_set1_SignerIdentifier"},
133 	{ERR_FUNC(CMS_F_CMS_SET_DETACHED),	"CMS_set_detached"},
134 	{ERR_FUNC(CMS_F_CMS_SIGN),	"CMS_sign"},
135 	{ERR_FUNC(CMS_F_CMS_SIGNED_DATA_INIT),	"CMS_SIGNED_DATA_INIT"},
136 	{ERR_FUNC(CMS_F_CMS_SIGNERINFO_CONTENT_SIGN),	"CMS_SIGNERINFO_CONTENT_SIGN"},
137 	{ERR_FUNC(CMS_F_CMS_SIGNERINFO_SIGN),	"CMS_SignerInfo_sign"},
138 	{ERR_FUNC(CMS_F_CMS_SIGNERINFO_VERIFY),	"CMS_SignerInfo_verify"},
139 	{ERR_FUNC(CMS_F_CMS_SIGNERINFO_VERIFY_CERT),	"CMS_SIGNERINFO_VERIFY_CERT"},
140 	{ERR_FUNC(CMS_F_CMS_SIGNERINFO_VERIFY_CONTENT),	"CMS_SignerInfo_verify_content"},
141 	{ERR_FUNC(CMS_F_CMS_SIGN_RECEIPT),	"CMS_sign_receipt"},
142 	{ERR_FUNC(CMS_F_CMS_STREAM),	"CMS_stream"},
143 	{ERR_FUNC(CMS_F_CMS_UNCOMPRESS),	"CMS_uncompress"},
144 	{ERR_FUNC(CMS_F_CMS_VERIFY),	"CMS_verify"},
145 	{0, NULL}
146 };
147 
148 static ERR_STRING_DATA CMS_str_reasons[]= {
149 	{ERR_REASON(CMS_R_ADD_SIGNER_ERROR)      , "add signer error"},
150 	{ERR_REASON(CMS_R_CERTIFICATE_ALREADY_PRESENT), "certificate already present"},
151 	{ERR_REASON(CMS_R_CERTIFICATE_HAS_NO_KEYID), "certificate has no keyid"},
152 	{ERR_REASON(CMS_R_CERTIFICATE_VERIFY_ERROR), "certificate verify error"},
153 	{ERR_REASON(CMS_R_CIPHER_INITIALISATION_ERROR), "cipher initialisation error"},
154 	{ERR_REASON(CMS_R_CIPHER_PARAMETER_INITIALISATION_ERROR), "cipher parameter initialisation error"},
155 	{ERR_REASON(CMS_R_CMS_DATAFINAL_ERROR)   , "cms datafinal error"},
156 	{ERR_REASON(CMS_R_CMS_LIB)               , "cms lib"},
157 	{ERR_REASON(CMS_R_CONTENTIDENTIFIER_MISMATCH), "contentidentifier mismatch"},
158 	{ERR_REASON(CMS_R_CONTENT_NOT_FOUND)     , "content not found"},
159 	{ERR_REASON(CMS_R_CONTENT_TYPE_MISMATCH) , "content type mismatch"},
160 	{ERR_REASON(CMS_R_CONTENT_TYPE_NOT_COMPRESSED_DATA), "content type not compressed data"},
161 	{ERR_REASON(CMS_R_CONTENT_TYPE_NOT_ENVELOPED_DATA), "content type not enveloped data"},
162 	{ERR_REASON(CMS_R_CONTENT_TYPE_NOT_SIGNED_DATA), "content type not signed data"},
163 	{ERR_REASON(CMS_R_CONTENT_VERIFY_ERROR)  , "content verify error"},
164 	{ERR_REASON(CMS_R_CTRL_ERROR)            , "ctrl error"},
165 	{ERR_REASON(CMS_R_CTRL_FAILURE)          , "ctrl failure"},
166 	{ERR_REASON(CMS_R_DECRYPT_ERROR)         , "decrypt error"},
167 	{ERR_REASON(CMS_R_DIGEST_ERROR)          , "digest error"},
168 	{ERR_REASON(CMS_R_ERROR_GETTING_PUBLIC_KEY), "error getting public key"},
169 	{ERR_REASON(CMS_R_ERROR_READING_MESSAGEDIGEST_ATTRIBUTE), "error reading messagedigest attribute"},
170 	{ERR_REASON(CMS_R_ERROR_SETTING_KEY)     , "error setting key"},
171 	{ERR_REASON(CMS_R_ERROR_SETTING_RECIPIENTINFO), "error setting recipientinfo"},
172 	{ERR_REASON(CMS_R_INVALID_ENCRYPTED_KEY_LENGTH), "invalid encrypted key length"},
173 	{ERR_REASON(CMS_R_INVALID_KEY_ENCRYPTION_PARAMETER), "invalid key encryption parameter"},
174 	{ERR_REASON(CMS_R_INVALID_KEY_LENGTH)    , "invalid key length"},
175 	{ERR_REASON(CMS_R_MD_BIO_INIT_ERROR)     , "md bio init error"},
176 	{ERR_REASON(CMS_R_MESSAGEDIGEST_ATTRIBUTE_WRONG_LENGTH), "messagedigest attribute wrong length"},
177 	{ERR_REASON(CMS_R_MESSAGEDIGEST_WRONG_LENGTH), "messagedigest wrong length"},
178 	{ERR_REASON(CMS_R_MSGSIGDIGEST_ERROR)    , "msgsigdigest error"},
179 	{ERR_REASON(CMS_R_MSGSIGDIGEST_VERIFICATION_FAILURE), "msgsigdigest verification failure"},
180 	{ERR_REASON(CMS_R_MSGSIGDIGEST_WRONG_LENGTH), "msgsigdigest wrong length"},
181 	{ERR_REASON(CMS_R_NEED_ONE_SIGNER)       , "need one signer"},
182 	{ERR_REASON(CMS_R_NOT_A_SIGNED_RECEIPT)  , "not a signed receipt"},
183 	{ERR_REASON(CMS_R_NOT_ENCRYPTED_DATA)    , "not encrypted data"},
184 	{ERR_REASON(CMS_R_NOT_KEK)               , "not kek"},
185 	{ERR_REASON(CMS_R_NOT_KEY_TRANSPORT)     , "not key transport"},
186 	{ERR_REASON(CMS_R_NOT_PWRI)              , "not pwri"},
187 	{ERR_REASON(CMS_R_NOT_SUPPORTED_FOR_THIS_KEY_TYPE), "not supported for this key type"},
188 	{ERR_REASON(CMS_R_NO_CIPHER)             , "no cipher"},
189 	{ERR_REASON(CMS_R_NO_CONTENT)            , "no content"},
190 	{ERR_REASON(CMS_R_NO_CONTENT_TYPE)       , "no content type"},
191 	{ERR_REASON(CMS_R_NO_DEFAULT_DIGEST)     , "no default digest"},
192 	{ERR_REASON(CMS_R_NO_DIGEST_SET)         , "no digest set"},
193 	{ERR_REASON(CMS_R_NO_KEY)                , "no key"},
194 	{ERR_REASON(CMS_R_NO_KEY_OR_CERT)        , "no key or cert"},
195 	{ERR_REASON(CMS_R_NO_MATCHING_DIGEST)    , "no matching digest"},
196 	{ERR_REASON(CMS_R_NO_MATCHING_RECIPIENT) , "no matching recipient"},
197 	{ERR_REASON(CMS_R_NO_MATCHING_SIGNATURE) , "no matching signature"},
198 	{ERR_REASON(CMS_R_NO_MSGSIGDIGEST)       , "no msgsigdigest"},
199 	{ERR_REASON(CMS_R_NO_PASSWORD)           , "no password"},
200 	{ERR_REASON(CMS_R_NO_PRIVATE_KEY)        , "no private key"},
201 	{ERR_REASON(CMS_R_NO_PUBLIC_KEY)         , "no public key"},
202 	{ERR_REASON(CMS_R_NO_RECEIPT_REQUEST)    , "no receipt request"},
203 	{ERR_REASON(CMS_R_NO_SIGNERS)            , "no signers"},
204 	{ERR_REASON(CMS_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE), "private key does not match certificate"},
205 	{ERR_REASON(CMS_R_RECEIPT_DECODE_ERROR)  , "receipt decode error"},
206 	{ERR_REASON(CMS_R_RECIPIENT_ERROR)       , "recipient error"},
207 	{ERR_REASON(CMS_R_SIGNER_CERTIFICATE_NOT_FOUND), "signer certificate not found"},
208 	{ERR_REASON(CMS_R_SIGNFINAL_ERROR)       , "signfinal error"},
209 	{ERR_REASON(CMS_R_SMIME_TEXT_ERROR)      , "smime text error"},
210 	{ERR_REASON(CMS_R_STORE_INIT_ERROR)      , "store init error"},
211 	{ERR_REASON(CMS_R_TYPE_NOT_COMPRESSED_DATA), "type not compressed data"},
212 	{ERR_REASON(CMS_R_TYPE_NOT_DATA)         , "type not data"},
213 	{ERR_REASON(CMS_R_TYPE_NOT_DIGESTED_DATA), "type not digested data"},
214 	{ERR_REASON(CMS_R_TYPE_NOT_ENCRYPTED_DATA), "type not encrypted data"},
215 	{ERR_REASON(CMS_R_TYPE_NOT_ENVELOPED_DATA), "type not enveloped data"},
216 	{ERR_REASON(CMS_R_UNABLE_TO_FINALIZE_CONTEXT), "unable to finalize context"},
217 	{ERR_REASON(CMS_R_UNKNOWN_CIPHER)        , "unknown cipher"},
218 	{ERR_REASON(CMS_R_UNKNOWN_DIGEST_ALGORIHM), "unknown digest algorihm"},
219 	{ERR_REASON(CMS_R_UNKNOWN_ID)            , "unknown id"},
220 	{ERR_REASON(CMS_R_UNSUPPORTED_COMPRESSION_ALGORITHM), "unsupported compression algorithm"},
221 	{ERR_REASON(CMS_R_UNSUPPORTED_CONTENT_TYPE), "unsupported content type"},
222 	{ERR_REASON(CMS_R_UNSUPPORTED_KEK_ALGORITHM), "unsupported kek algorithm"},
223 	{ERR_REASON(CMS_R_UNSUPPORTED_KEY_ENCRYPTION_ALGORITHM), "unsupported key encryption algorithm"},
224 	{ERR_REASON(CMS_R_UNSUPPORTED_RECIPIENT_TYPE), "unsupported recipient type"},
225 	{ERR_REASON(CMS_R_UNSUPPORTED_RECPIENTINFO_TYPE), "unsupported recpientinfo type"},
226 	{ERR_REASON(CMS_R_UNSUPPORTED_TYPE)      , "unsupported type"},
227 	{ERR_REASON(CMS_R_UNWRAP_ERROR)          , "unwrap error"},
228 	{ERR_REASON(CMS_R_UNWRAP_FAILURE)        , "unwrap failure"},
229 	{ERR_REASON(CMS_R_VERIFICATION_FAILURE)  , "verification failure"},
230 	{ERR_REASON(CMS_R_WRAP_ERROR)            , "wrap error"},
231 	{0, NULL}
232 };
233 
234 #endif
235 
236 void
237 ERR_load_CMS_strings(void)
238 {
239 #ifndef OPENSSL_NO_ERR
240 	if (ERR_func_error_string(CMS_str_functs[0].error) == NULL) {
241 		ERR_load_strings(0, CMS_str_functs);
242 		ERR_load_strings(0, CMS_str_reasons);
243 	}
244 #endif
245 }
246