Additional "chain_cert" functions.
PR#3169 This patch, which currently applies successfully against master and 1_0_2, adds the following functions: SSL_[CTX_]select_current_cert() - set the current certificate without disturbing the existing structure. SSL_[CTX_]get0_chain_certs() - get the current certificate's chain. SSL_[CTX_]clear_chain_certs() - clear the current certificate's chain. The patch also adds these functions to, and fixes some existing errors in, SSL_CTX_add1_chain_cert.pod.
This commit is contained in:

committed by
Dr. Stephen Henson

parent
44314cf64d
commit
7b6b246fd3
14
ssl/s3_lib.c
14
ssl/s3_lib.c
@@ -3424,6 +3424,13 @@ long ssl3_ctrl(SSL *s, int cmd, long larg, void *parg)
|
||||
else
|
||||
return ssl_cert_add0_chain_cert(s->cert, (X509 *)parg);
|
||||
|
||||
case SSL_CTRL_GET_CHAIN_CERTS:
|
||||
*(STACK_OF(X509) **)parg = s->cert->key->chain;
|
||||
break;
|
||||
|
||||
case SSL_CTRL_SELECT_CURRENT_CERT:
|
||||
return ssl_cert_select_current(s->cert, (X509 *)parg);
|
||||
|
||||
#ifndef OPENSSL_NO_EC
|
||||
case SSL_CTRL_GET_CURVES:
|
||||
{
|
||||
@@ -3923,6 +3930,13 @@ long ssl3_ctx_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg)
|
||||
else
|
||||
return ssl_cert_add0_chain_cert(ctx->cert, (X509 *)parg);
|
||||
|
||||
case SSL_CTRL_GET_CHAIN_CERTS:
|
||||
*(STACK_OF(X509) **)parg = ctx->cert->key->chain;
|
||||
break;
|
||||
|
||||
case SSL_CTRL_SELECT_CURRENT_CERT:
|
||||
return ssl_cert_select_current(ctx->cert, (X509 *)parg);
|
||||
|
||||
default:
|
||||
return(0);
|
||||
}
|
||||
|
Reference in New Issue
Block a user