aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDavid Benjamin <davidben@chromium.org>2014-11-13 15:29:09 -0500
committerAdam Langley <agl@google.com>2014-11-18 22:19:24 +0000
commitb398d16c1d103cff0fee577a9e8c1a7cc8d5242b (patch)
treef8f2f8a849df70d93d29e07e952d59be0a11e0d5 /include
parent675227e0d2cf328b216b83f61745e464c92d7066 (diff)
downloadboringssl-b398d16c1d103cff0fee577a9e8c1a7cc8d5242b.zip
boringssl-b398d16c1d103cff0fee577a9e8c1a7cc8d5242b.tar.gz
boringssl-b398d16c1d103cff0fee577a9e8c1a7cc8d5242b.tar.bz2
Remove SSL_check_chain and unexport CERT_PKEY flags.
Both of these are newly-exported in OpenSSL 1.0.2, so they cannot be used by current consumers. This was added in upstream's 18d7158809c9722f4c6d2a8af7513577274f9b56 to support custom selection of certificates. The intent seems to be that you listen to cert_cb and use SSL_check_chain to lean on OpenSSL to process signature algorithms list for you. Unfortunately, the implementation is slightly suspect: it uses the same function as the codepath which mutates and refers to the CERT_PKEY of the matching type. Some access was guarded by check_flags, but this is too complex. Part of it is also because the matching digest is selected early and we intend to connect this to EVP_PKEY_supports_digest so it is no longer a property of just the key type. Let's remove the hook for now, to unblock removing a lot of complexity. After cleaning up this area, a function like this could be cleaner to support, but we already have a version of this: select_certificate_cb and ssl_early_callback_ctx. Change-Id: I3add425b3996e5e32d4a88e14cc607b4fdaa5aec Reviewed-on: https://boringssl-review.googlesource.com/2283 Reviewed-by: Adam Langley <agl@google.com>
Diffstat (limited to 'include')
-rw-r--r--include/openssl/ssl.h20
-rw-r--r--include/openssl/tls1.h2
2 files changed, 0 insertions, 22 deletions
diff --git a/include/openssl/ssl.h b/include/openssl/ssl.h
index d357e73..bcc9501 100644
--- a/include/openssl/ssl.h
+++ b/include/openssl/ssl.h
@@ -543,26 +543,6 @@ struct ssl_session_st
/* Clear verification errors from queue */
#define SSL_BUILD_CHAIN_FLAG_CLEAR_ERROR 0x10
-/* Flags returned by SSL_check_chain */
-/* Certificate can be used with this session */
-#define CERT_PKEY_VALID 0x1
-/* Certificate can also be used for signing */
-#define CERT_PKEY_SIGN 0x2
-/* EE certificate signing algorithm OK */
-#define CERT_PKEY_EE_SIGNATURE 0x10
-/* CA signature algorithms OK */
-#define CERT_PKEY_CA_SIGNATURE 0x20
-/* EE certificate parameters OK */
-#define CERT_PKEY_EE_PARAM 0x40
-/* CA certificate parameters OK */
-#define CERT_PKEY_CA_PARAM 0x80
-/* Client CA issuer names match (always set for server cert) */
-#define CERT_PKEY_ISSUER_NAME 0x200
-/* Cert type matches client types (always set for server cert) */
-#define CERT_PKEY_CERT_TYPE 0x400
-/* Cert chain suitable to Suite B */
-#define CERT_PKEY_SUITEB 0x800
-
#define SSL_CONF_FLAG_CMDLINE 0x1
#define SSL_CONF_FLAG_FILE 0x2
#define SSL_CONF_FLAG_CLIENT 0x4
diff --git a/include/openssl/tls1.h b/include/openssl/tls1.h
index d2682dd..dc106d2 100644
--- a/include/openssl/tls1.h
+++ b/include/openssl/tls1.h
@@ -325,8 +325,6 @@ OPENSSL_EXPORT int SSL_get_shared_sigalgs(SSL *s, int idx,
int *psign, int *phash, int *psignandhash,
unsigned char *rsig, unsigned char *rhash);
-OPENSSL_EXPORT int SSL_check_chain(SSL *s, X509 *x, EVP_PKEY *pk, STACK_OF(X509) *chain);
-
#define SSL_set_tlsext_host_name(s,name) \
SSL_ctrl(s,SSL_CTRL_SET_TLSEXT_HOSTNAME,TLSEXT_NAMETYPE_host_name,(char *)name)