1*3dca7526Stb /* $OpenBSD: cms_err.c,v 1.15 2024/06/24 06:43:22 tb Exp $ */
2b8b016bfSjsing /*
3b8b016bfSjsing * Copyright 1995-2018 The OpenSSL Project Authors. All Rights Reserved.
4b8b016bfSjsing *
5b8b016bfSjsing * Licensed under the OpenSSL license (the "License"). You may not use
6b8b016bfSjsing * this file except in compliance with the License. You can obtain a copy
7b8b016bfSjsing * in the file LICENSE in the source distribution or at
8b8b016bfSjsing * https://www.openssl.org/source/license.html
9b8b016bfSjsing */
10b8b016bfSjsing
11a4f38546Sjsing #include <openssl/cms.h>
12b8b016bfSjsing #include <openssl/err.h>
13b8b016bfSjsing
14*3dca7526Stb #include "err_local.h"
15*3dca7526Stb
16b8b016bfSjsing #ifndef OPENSSL_NO_ERR
17b8b016bfSjsing
187de7a297Sjsing #define ERR_FUNC(func) ERR_PACK(ERR_LIB_CMS,func,0)
197de7a297Sjsing #define ERR_REASON(reason) ERR_PACK(ERR_LIB_CMS,0,reason)
207de7a297Sjsing
21*3dca7526Stb static const ERR_STRING_DATA CMS_str_functs[] = {
227de7a297Sjsing {ERR_FUNC(0xfff), "CRYPTO_internal"},
23b8b016bfSjsing {0, NULL}
24b8b016bfSjsing };
25b8b016bfSjsing
26*3dca7526Stb static const ERR_STRING_DATA CMS_str_reasons[] = {
27b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_ADD_SIGNER_ERROR), "add signer error"},
28b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_CERTIFICATE_ALREADY_PRESENT),
29b8b016bfSjsing "certificate already present"},
30b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_CERTIFICATE_HAS_NO_KEYID),
31b8b016bfSjsing "certificate has no keyid"},
32b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_CERTIFICATE_VERIFY_ERROR),
33b8b016bfSjsing "certificate verify error"},
34b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_CIPHER_INITIALISATION_ERROR),
35b8b016bfSjsing "cipher initialisation error"},
36b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_CIPHER_PARAMETER_INITIALISATION_ERROR),
37b8b016bfSjsing "cipher parameter initialisation error"},
38b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_CMS_DATAFINAL_ERROR),
39b8b016bfSjsing "cms datafinal error"},
40b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_CMS_LIB), "cms lib"},
41b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_CONTENTIDENTIFIER_MISMATCH),
42b8b016bfSjsing "contentidentifier mismatch"},
43b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_CONTENT_NOT_FOUND), "content not found"},
44b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_CONTENT_TYPE_MISMATCH),
45b8b016bfSjsing "content type mismatch"},
46b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_CONTENT_TYPE_NOT_COMPRESSED_DATA),
47b8b016bfSjsing "content type not compressed data"},
48b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_CONTENT_TYPE_NOT_ENVELOPED_DATA),
49b8b016bfSjsing "content type not enveloped data"},
50b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_CONTENT_TYPE_NOT_SIGNED_DATA),
51b8b016bfSjsing "content type not signed data"},
52b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_CONTENT_VERIFY_ERROR),
53b8b016bfSjsing "content verify error"},
54b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_CTRL_ERROR), "ctrl error"},
55b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_CTRL_FAILURE), "ctrl failure"},
56b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_DECRYPT_ERROR), "decrypt error"},
57b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_ERROR_GETTING_PUBLIC_KEY),
58b8b016bfSjsing "error getting public key"},
59b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_ERROR_READING_MESSAGEDIGEST_ATTRIBUTE),
60b8b016bfSjsing "error reading messagedigest attribute"},
61b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_ERROR_SETTING_KEY), "error setting key"},
62b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_ERROR_SETTING_RECIPIENTINFO),
63b8b016bfSjsing "error setting recipientinfo"},
64b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_INVALID_ENCRYPTED_KEY_LENGTH),
65b8b016bfSjsing "invalid encrypted key length"},
66b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_INVALID_KEY_ENCRYPTION_PARAMETER),
67b8b016bfSjsing "invalid key encryption parameter"},
68b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_INVALID_KEY_LENGTH), "invalid key length"},
69b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_MD_BIO_INIT_ERROR), "md bio init error"},
70b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_MESSAGEDIGEST_ATTRIBUTE_WRONG_LENGTH),
71b8b016bfSjsing "messagedigest attribute wrong length"},
72b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_MESSAGEDIGEST_WRONG_LENGTH),
73b8b016bfSjsing "messagedigest wrong length"},
74b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_MSGSIGDIGEST_ERROR), "msgsigdigest error"},
75b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_MSGSIGDIGEST_VERIFICATION_FAILURE),
76b8b016bfSjsing "msgsigdigest verification failure"},
77b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_MSGSIGDIGEST_WRONG_LENGTH),
78b8b016bfSjsing "msgsigdigest wrong length"},
79b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_NEED_ONE_SIGNER), "need one signer"},
80b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_NOT_A_SIGNED_RECEIPT),
81b8b016bfSjsing "not a signed receipt"},
82b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_NOT_ENCRYPTED_DATA), "not encrypted data"},
83b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_NOT_KEK), "not kek"},
84b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_NOT_KEY_AGREEMENT), "not key agreement"},
85b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_NOT_KEY_TRANSPORT), "not key transport"},
86b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_NOT_PWRI), "not pwri"},
87b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_NOT_SUPPORTED_FOR_THIS_KEY_TYPE),
88b8b016bfSjsing "not supported for this key type"},
89b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_NO_CIPHER), "no cipher"},
90b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_NO_CONTENT), "no content"},
91b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_NO_CONTENT_TYPE), "no content type"},
92b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_NO_DEFAULT_DIGEST), "no default digest"},
93b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_NO_DIGEST_SET), "no digest set"},
94b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_NO_KEY), "no key"},
95b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_NO_KEY_OR_CERT), "no key or cert"},
96b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_NO_MATCHING_DIGEST), "no matching digest"},
97b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_NO_MATCHING_RECIPIENT),
98b8b016bfSjsing "no matching recipient"},
99b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_NO_MATCHING_SIGNATURE),
100b8b016bfSjsing "no matching signature"},
101b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_NO_MSGSIGDIGEST), "no msgsigdigest"},
102b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_NO_PASSWORD), "no password"},
103b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_NO_PRIVATE_KEY), "no private key"},
104b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_NO_PUBLIC_KEY), "no public key"},
105b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_NO_RECEIPT_REQUEST), "no receipt request"},
106b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_NO_SIGNERS), "no signers"},
107b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE),
108b8b016bfSjsing "private key does not match certificate"},
109b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_RECEIPT_DECODE_ERROR),
110b8b016bfSjsing "receipt decode error"},
111b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_RECIPIENT_ERROR), "recipient error"},
112b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_SIGNER_CERTIFICATE_NOT_FOUND),
113b8b016bfSjsing "signer certificate not found"},
114b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_SIGNFINAL_ERROR), "signfinal error"},
115b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_SMIME_TEXT_ERROR), "smime text error"},
116b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_STORE_INIT_ERROR), "store init error"},
117b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_TYPE_NOT_COMPRESSED_DATA),
118b8b016bfSjsing "type not compressed data"},
119b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_TYPE_NOT_DATA), "type not data"},
120b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_TYPE_NOT_DIGESTED_DATA),
121b8b016bfSjsing "type not digested data"},
122b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_TYPE_NOT_ENCRYPTED_DATA),
123b8b016bfSjsing "type not encrypted data"},
124b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_TYPE_NOT_ENVELOPED_DATA),
125b8b016bfSjsing "type not enveloped data"},
126b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_UNABLE_TO_FINALIZE_CONTEXT),
127b8b016bfSjsing "unable to finalize context"},
128b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_UNKNOWN_CIPHER), "unknown cipher"},
129b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_UNKNOWN_DIGEST_ALGORITHM),
130b8b016bfSjsing "unknown digest algorithm"},
131b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_UNKNOWN_ID), "unknown id"},
132b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_UNSUPPORTED_COMPRESSION_ALGORITHM),
133b8b016bfSjsing "unsupported compression algorithm"},
134b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_UNSUPPORTED_CONTENT_TYPE),
135b8b016bfSjsing "unsupported content type"},
136b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_UNSUPPORTED_KEK_ALGORITHM),
137b8b016bfSjsing "unsupported kek algorithm"},
138b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_UNSUPPORTED_KEY_ENCRYPTION_ALGORITHM),
139b8b016bfSjsing "unsupported key encryption algorithm"},
140b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_UNSUPPORTED_RECIPIENTINFO_TYPE),
141b8b016bfSjsing "unsupported recipientinfo type"},
142b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_UNSUPPORTED_RECIPIENT_TYPE),
143b8b016bfSjsing "unsupported recipient type"},
144b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_UNSUPPORTED_TYPE), "unsupported type"},
145b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_UNWRAP_ERROR), "unwrap error"},
146b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_UNWRAP_FAILURE), "unwrap failure"},
147b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_VERIFICATION_FAILURE),
148b8b016bfSjsing "verification failure"},
149b8b016bfSjsing {ERR_PACK(ERR_LIB_CMS, 0, CMS_R_WRAP_ERROR), "wrap error"},
150b8b016bfSjsing {0, NULL}
151b8b016bfSjsing };
152b8b016bfSjsing
153b8b016bfSjsing #endif
154b8b016bfSjsing
15572419cc7Sjsing int
ERR_load_CMS_strings(void)15672419cc7Sjsing ERR_load_CMS_strings(void)
157b8b016bfSjsing {
158b8b016bfSjsing #ifndef OPENSSL_NO_ERR
159b8b016bfSjsing if (ERR_func_error_string(CMS_str_functs[0].error) == NULL) {
160*3dca7526Stb ERR_load_const_strings(CMS_str_functs);
161*3dca7526Stb ERR_load_const_strings(CMS_str_reasons);
162b8b016bfSjsing }
163b8b016bfSjsing #endif
164b8b016bfSjsing return 1;
165b8b016bfSjsing }
166ead8f799Sbeck LCRYPTO_ALIAS(ERR_load_CMS_strings);
167