Subject: | Add SSL*_get_client_CA_list and sk_X509_NAME_* functions / patch included |
While Net::SSLeay can set the client_CA_list, it currently cannot
retrieve this list.
Reading the client_CA_list can be useful e.g. to determine on the client
end the CAs configured on the server side.
The included patch adds the following SSL functions to Net::SSLeay:
SSL_CTX_get_client_CA_list
SSL_get_client_CA_list
sk_X509_NAME_free
sk_X509_NAME_num
sk_X509_NAME_value
I'm willing to create a patch to document the new functions in SSLeay.pm
if that is desirable.
Subject: | Net-SSLeay-1.35_get_client_CA_list.diff |
diff -ur Net-SSLeay-1.35-orig/SSLeay.xs Net-SSLeay-1.35/SSLeay.xs
--- Net-SSLeay-1.35-orig/SSLeay.xs 2008-07-24 03:03:22.000000000 +0200
+++ Net-SSLeay-1.35/SSLeay.xs 2008-10-23 13:01:03.000000000 +0200
@@ -1978,6 +1978,10 @@
SSL_CTX_set_cert_verify_callback(ctx, ssleay_ctx_cert_verify_cb_invoke, cb);
}
+X509_NAME_STACK *
+SSL_CTX_get_client_CA_list(ctx)
+ SSL_CTX *ctx
+
void
SSL_CTX_set_client_CA_list(ctx,list)
SSL_CTX * ctx
@@ -2167,6 +2171,23 @@
SSL_set_accept_state(s)
SSL * s
+void
+sk_X509_NAME_free(sk)
+ X509_NAME_STACK *sk
+
+int
+sk_X509_NAME_num(sk)
+ X509_NAME_STACK *sk
+
+X509_NAME *
+sk_X509_NAME_value(sk,i)
+ X509_NAME_STACK *sk
+ int i
+
+X509_NAME_STACK *
+SSL_get_client_CA_list(s)
+ SSL * s
+
void
SSL_set_client_CA_list(s,list)
SSL * s