mturk 2005/08/01 00:23:10 Modified: jni/java/org/apache/tomcat/jni SSL.java jni/native/include ssl_private.h jni/native/src sslinfo.c Log: Implement SSL_INFO_CLIENT_V_REMAIN cert info flag and call. Revision Changes Path 1.23 +2 -1 jakarta-tomcat-connectors/jni/java/org/apache/tomcat/jni/SSL.java Index: SSL.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jni/java/org/apache/tomcat/jni/SSL.java,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- SSL.java 12 Jul 2005 14:56:09 -0000 1.22 +++ SSL.java 1 Aug 2005 07:23:09 -0000 1.23 @@ -195,6 +195,7 @@ public static final int SSL_INFO_CLIENT_A_SIG = 0x0105; public static final int SSL_INFO_CLIENT_A_KEY = 0x0106; public static final int SSL_INFO_CLIENT_CERT = 0x0107; + public static final int SSL_INFO_CLIENT_V_REMAIN = 0x0108; public static final int SSL_INFO_SERVER_M_VERSION = 0x0201; public static final int SSL_INFO_SERVER_M_SERIAL = 0x0202; 1.35 +2 -1 jakarta-tomcat-connectors/jni/native/include/ssl_private.h Index: ssl_private.h =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jni/native/include/ssl_private.h,v retrieving revision 1.34 retrieving revision 1.35 diff -u -r1.34 -r1.35 --- ssl_private.h 12 Jul 2005 14:56:10 -0000 1.34 +++ ssl_private.h 1 Aug 2005 07:23:09 -0000 1.35 @@ -178,6 +178,7 @@ #define SSL_INFO_CLIENT_A_SIG (0x0105) #define SSL_INFO_CLIENT_A_KEY (0x0106) #define SSL_INFO_CLIENT_CERT (0x0107) +#define SSL_INFO_CLIENT_V_REMAIN (0x0108) #define SSL_INFO_SERVER_MASK (0x0200) 1.13 +19 -2 jakarta-tomcat-connectors/jni/native/src/sslinfo.c Index: sslinfo.c =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jni/native/src/sslinfo.c,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- sslinfo.c 1 Aug 2005 07:12:55 -0000 1.12 +++ sslinfo.c 1 Aug 2005 07:23:09 -0000 1.13 @@ -498,6 +498,7 @@ { tcn_socket_t *a = J2P(sock, tcn_socket_t *); tcn_ssl_conn_t *s; + apr_status_t rv = APR_SUCCESS; jint value = -1; UNREFERENCED(o); @@ -528,10 +529,26 @@ } break; default: - tcn_ThrowAPRException(e, APR_EINVAL); + rv = APR_EINVAL; break; } + if (what & SSL_INFO_CLIENT_MASK) { + X509 *xs; + if ((xs = SSL_get_peer_certificate(s->ssl)) != NULL) { + switch (what) { + case SSL_INFO_CLIENT_V_REMAIN: + value = get_days_remaining(X509_get_notAfter(xs)); + rv = APR_SUCCESS; + break; + default: + rv = APR_EINVAL; + break; + } + } + } + if (rv != APR_SUCCESS) + tcn_ThrowAPRException(e, rv); return value; }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]