diff options
author | rcritten <> | 2006-03-02 19:21:54 +0000 |
---|---|---|
committer | rcritten <> | 2006-03-02 19:21:54 +0000 |
commit | b9131c4fa214f39705da4246425645a6c587d488 (patch) | |
tree | 51330d53bb6e98f11ec74cd66c640fb7afa782f4 /nss_engine_vars.c | |
parent | 50ad8c993fc499f0d09cebd2d5f1517677f7e748 (diff) | |
download | mod_nss-b9131c4fa214f39705da4246425645a6c587d488.tar.gz mod_nss-b9131c4fa214f39705da4246425645a6c587d488.tar.xz mod_nss-b9131c4fa214f39705da4246425645a6c587d488.zip |
Add support for Elliptical Curve Cryptography (ECC). This is disabled
by default. To enable it, pass --enable-ecc to configure.
Diffstat (limited to 'nss_engine_vars.c')
-rw-r--r-- | nss_engine_vars.c | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/nss_engine_vars.c b/nss_engine_vars.c index 4d18c9a..f5fb045 100644 --- a/nss_engine_vars.c +++ b/nss_engine_vars.c @@ -363,10 +363,10 @@ static char *nss_var_lookup_nss_cert(apr_pool_t *p, CERTCertificate *xs, char *v if (SSL_GetCipherSuiteInfo(channel.cipherSuite, &suite, sizeof suite) == SECSuccess) { - result = apr_psprintf(p, "%s", suite.keaTypeName); + result = apr_psprintf(p, "%s_%s", suite.keaTypeName, suite.authAlgorithmName); } } else - result = apr_pstrdup(p, "UNKNOWN"); + result = apr_pstrdup(p, "UNKNOWN_UNKNOWN"); resdup = FALSE; } @@ -582,6 +582,25 @@ static char *nss_var_lookup_nss_cipher(apr_pool_t *p, conn_rec *c, char *var) result = apr_psprintf(p, "%d", keySize); resdup = FALSE; } + else if (strcEQ(var, "_NAME")) { + SSLChannelInfo channel; + SSLCipherSuiteInfo suite; + SSLConnRec *sslconn = myConnConfig(c); + + if (SSL_GetChannelInfo(sslconn->ssl, &channel, sizeof channel) == + SECSuccess && channel.length == sizeof channel && + channel.cipherSuite) + { + if (SSL_GetCipherSuiteInfo(channel.cipherSuite, + &suite, sizeof suite) == SECSuccess) + { + result = apr_psprintf(p, "%s", suite.cipherSuiteName); + } + } else + result = apr_pstrdup(p, "UNKNOWN"); + + resdup = FALSE; + } if (result != NULL && resdup) result = apr_pstrdup(p, result); |