I have a CentOS 6 server running Apache 2.2.15 with
OpenSSL 1.0.1e-fips. I am trying to setup two-way SSL authentication for a specific
location in my web root. A 3rd party has provided both a public (plain-text) and private
(binary) certificate.
I need some guidance on
how to include both the public and private certs to get the handshaking working, as I am
getting the following
error:
Re-negotiation handshake failed: Not accepted by
client!?
Here's
what I have in my /etc/httpd/conf.d/ssl.conf file pertaining to this
section:
/api/path/>
SSLCipherSuite
ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCACertificateFile
/etc/pki/tls/private/public.cer
SSLVerifyClient
require
SSLVerifyDepth 10
SSLOptions +StdEnvVars +ExportCertData
+OptRenegotiate
Admittedly
I am not an SSL expert. I know enough to get certs installed and working. I have turned
logginf to 'debug' level. I have tried to follow these
guides:
href="http://www.stefanocapitanio.com/configuring-two-way-authentication-ssl-with-apache/"
rel="nofollow
noreferrer">http://www.stefanocapitanio.com/configuring-two-way-authentication-ssl-with-apache/
href="http://www.cafesoft.com/products/cams/ps/docs32/admin/ConfiguringApache2ForSSLTLSMutualAuthentication.html"
rel="nofollow
noreferrer">http://www.cafesoft.com/products/cams/ps/docs32/admin/ConfiguringApache2ForSSLTLSMutualAuthentication.html
Thanks
in advance!
Full ssl.conf
file:
LoadModule ssl_module
modules/mod_ssl.so
Listen 443
SSLPassPhraseDialog
builtin
SSLSessionCache
shmcb:/var/cache/mod_ssl/scache(512000)
SSLSessionCacheTimeout
300
SSLMutex default
SSLRandomSeed startup
file:/dev/urandom 256
SSLRandomSeed connect builtin
#SSLRandomSeed
startup file:/dev/random 512
#SSLRandomSeed connect file:/dev/random
512
#SSLRandomSeed connect file:/dev/urandom
512
SSLCryptoDevice builtin
#SSLCryptoDevice
ubsec
DocumentRoot
"/var/www/html/staging-site"
ServerName
staging.site.com:443
ErrorLog logs/ssl_error_log
TransferLog
logs/ssl_access_log
LogLevel debug
SSLEngine
on
SSLProtocol all -SSLv2 -SSLv3
SSLCipherSuite
ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
SSLCertificateFile
/etc/pki/tls/certs/cert.crt
SSLCertificateKeyFile
/etc/pki/tls/private/private.key
#SSLCertificateChainFile
/etc/pki/tls/certs/server-chain.crt
SSLCACertificateFile
/etc/pki/tls/certs/rapidssl.crt
#SSLVerifyClient
require
#SSLVerifyDepth 10
# Access
Control:
#
#SSLRequire ( %{SSL_CIPHER} !~
m/^(EXP|NULL)/ \
# and %{SSL_CLIENT_S_DN_O} eq "Snake Oil, Ltd." \
#
and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"} \
# and %{TIME_WDAY} >=
1 and %{TIME_WDAY} <= 5 \
# and %{TIME_HOUR} >= 8 and %{TIME_HOUR} <=
20 ) \
# or %{REMOTE_ADDR} =~
m/^192\.76\.162\.[0-9]+$/
#
/path/api/>
SSLCipherSuite
ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCACertificateFile /etc/pki/tls/private/3rdpartyprivate.cer
SSLVerifyClient
require
SSLVerifyDepth 10
SSLOptions +StdEnvVars +ExportCertData
+OptRenegotiate
# SSL Engine
Options:
#SSLOptions +FakeBasicAuth +ExportCertData
+StrictRequire
SSLOptions +StdEnvVars
"/var/www/cgi-bin">
SSLOptions
+StdEnvVars
# SSL Protocol
Adjustments:
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive
ssl-unclean-shutdown \
downgrade-1.0
force-response-1.0
# Per-Server Logging:
CustomLog
logs/ssl_request_log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\"
%b"
Comments
Post a Comment