@@ -144,58 +144,17 @@ bool SetGroups(SecureContext* sc, const char* groups) {
144
144
return SSL_CTX_set1_groups_list (sc->ctx ().get (), groups) == 1 ;
145
145
}
146
146
147
- // When adding or removing errors below, please also update the list in the API
148
- // documentation. See the "OpenSSL Error Codes" section of doc/api/errors.md
149
- const char * X509ErrorCode (long err) { // NOLINT(runtime/int)
150
- const char * code = " UNSPECIFIED" ;
151
- #define CASE_X509_ERR (CODE ) case X509_V_ERR_##CODE: code = #CODE; break ;
152
- switch (err) {
153
- // if you modify anything in here, *please* update the respective section in
154
- // doc/api/tls.md as well
155
- CASE_X509_ERR (UNABLE_TO_GET_ISSUER_CERT)
156
- CASE_X509_ERR (UNABLE_TO_GET_CRL)
157
- CASE_X509_ERR (UNABLE_TO_DECRYPT_CERT_SIGNATURE)
158
- CASE_X509_ERR (UNABLE_TO_DECRYPT_CRL_SIGNATURE)
159
- CASE_X509_ERR (UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY)
160
- CASE_X509_ERR (CERT_SIGNATURE_FAILURE)
161
- CASE_X509_ERR (CRL_SIGNATURE_FAILURE)
162
- CASE_X509_ERR (CERT_NOT_YET_VALID)
163
- CASE_X509_ERR (CERT_HAS_EXPIRED)
164
- CASE_X509_ERR (CRL_NOT_YET_VALID)
165
- CASE_X509_ERR (CRL_HAS_EXPIRED)
166
- CASE_X509_ERR (ERROR_IN_CERT_NOT_BEFORE_FIELD)
167
- CASE_X509_ERR (ERROR_IN_CERT_NOT_AFTER_FIELD)
168
- CASE_X509_ERR (ERROR_IN_CRL_LAST_UPDATE_FIELD)
169
- CASE_X509_ERR (ERROR_IN_CRL_NEXT_UPDATE_FIELD)
170
- CASE_X509_ERR (OUT_OF_MEM)
171
- CASE_X509_ERR (DEPTH_ZERO_SELF_SIGNED_CERT)
172
- CASE_X509_ERR (SELF_SIGNED_CERT_IN_CHAIN)
173
- CASE_X509_ERR (UNABLE_TO_GET_ISSUER_CERT_LOCALLY)
174
- CASE_X509_ERR (UNABLE_TO_VERIFY_LEAF_SIGNATURE)
175
- CASE_X509_ERR (CERT_CHAIN_TOO_LONG)
176
- CASE_X509_ERR (CERT_REVOKED)
177
- CASE_X509_ERR (INVALID_CA)
178
- CASE_X509_ERR (PATH_LENGTH_EXCEEDED)
179
- CASE_X509_ERR (INVALID_PURPOSE)
180
- CASE_X509_ERR (CERT_UNTRUSTED)
181
- CASE_X509_ERR (CERT_REJECTED)
182
- CASE_X509_ERR (HOSTNAME_MISMATCH)
183
- }
184
- #undef CASE_X509_ERR
185
- return code;
186
- }
187
-
188
147
MaybeLocal<Value> GetValidationErrorReason (Environment* env, int err) {
189
- if (err == 0 )
190
- return Undefined (env->isolate ());
191
- const char * reason = X509_verify_cert_error_string (err);
192
- return OneByteString (env->isolate (), reason);
148
+ auto reason = X509Pointer::ErrorReason (err);
149
+ if (reason == " " ) return Undefined (env->isolate ());
150
+ return OneByteString (env->isolate (), reason.data (), reason.length ());
193
151
}
194
152
195
153
MaybeLocal<Value> GetValidationErrorCode (Environment* env, int err) {
196
154
if (err == 0 )
197
155
return Undefined (env->isolate ());
198
- return OneByteString (env->isolate (), X509ErrorCode (err));
156
+ auto error = X509Pointer::ErrorCode (err);
157
+ return OneByteString (env->isolate (), error.data (), error.length ());
199
158
}
200
159
201
160
MaybeLocal<Value> GetCert (Environment* env, const SSLPointer& ssl) {
0 commit comments