Linux用Openssl为Apache签发证书
2012-07-06 22:32
344 查看
公司需要搭建Tomcat + Apache + Openssl的https站点,集团内的所有的机器都有客户端证书,该证书是由集团的CA证书签发的。
需要做的工作是让集团的员工通过客户端证书认证的方式访问这个即将搭建的站点。
环境: Centos 5.7 x64 + apache + tomcat + openssl
Centos默认安装的openssl路径是/etc/pki/tsl/下,openssl的默认配置路径是/etc/pki/tls/openssl.cnf
复制创建证书的脚本到Apache的配置目录下
给自己签发一个本地CA证书
通过刚才的本地根证书创建一个服务器证书,过程基本上与创建CA证书相同
这样就创建好了服务器证书, 接下来需要将服务器证书serverca.crt发给集团的证书中心签发,签发后会收到一个服务器证书serverca.crt与一个CA认证证书intranet-ca.cer,intranet-ca.cer(客户端证书加密公钥)的作用就是与客户端证书握手通信的凭证, 有了它我们才能通过客户端证书访问apache服务器。
接下来会配置apache的ssl,修改httpd.conf的以下配置如下
修改httpd-ssl.conf的以下配置如下
到此,Apache的SSL认证就搭建好了,员工可以通过证书对应的域名访问刚才所搭建的apache服务器,后面会介绍如何通过apache反向代理访问tomcat。
需要做的工作是让集团的员工通过客户端证书认证的方式访问这个即将搭建的站点。
环境: Centos 5.7 x64 + apache + tomcat + openssl
Centos默认安装的openssl路径是/etc/pki/tsl/下,openssl的默认配置路径是/etc/pki/tls/openssl.cnf
#修改默认配置为以下状态 dir = ./demoCA # Where everything is kept certs = $dir/certs # Where the issued certs are kept crl_dir = $dir/crl # Where the issued crl are kept database = $dir/index.txt # database index file.
复制创建证书的脚本到Apache的配置目录下
cp /etc/pki/tls/misc/CA /usr/local/apache/conf/
给自己签发一个本地CA证书
#创建本地根证书private key openssl genrsa -des3 -out private/cakey.key 2048 chmod og-rwx private/cakey.key #创建根证书请求文件,这里需要填写一些信息 openssl req -new -key private/cakey.key -out cacert.req #根据前面创建的请求文件生成根证书 openssl x509 -req -days 3650 -sha1 -extensions v3_ca -signkey private/cakey.key -in cacert.req -out cacert.pem rm -f cacert.req
通过刚才的本地根证书创建一个服务器证书,过程基本上与创建CA证书相同
#创建证书key openssl genrsa -out serverca.key 2048 chmod og-rwx serverca.key #服务器证书请求文件 openssl req -new -key serverca.key -out serverca.req #创建服务器证书 openssl x509 -req -days 3650 -sha1 -extensions v3_req -CA cacert.pem -CAkey private/cakey.pem -CAserial serial -in serverca.req -out serverca.crt
这样就创建好了服务器证书, 接下来需要将服务器证书serverca.crt发给集团的证书中心签发,签发后会收到一个服务器证书serverca.crt与一个CA认证证书intranet-ca.cer,intranet-ca.cer(客户端证书加密公钥)的作用就是与客户端证书握手通信的凭证, 有了它我们才能通过客户端证书访问apache服务器。
接下来会配置apache的ssl,修改httpd.conf的以下配置如下
LoadModule ssl_module modules/mod_ssl.so Include conf/extra/httpd-default.conf Include conf/extra/httpd-ssl.conf <IfModule ssl_module> SSLRandomSeed startup builtin SSLRandomSeed connect builtin </IfModule>
修改httpd-ssl.conf的以下配置如下
SSLEngine on #集团签发的服务器证书 SSLCertificateFile "/usr/local/apache/conf/serverca.crt" #服务器证书加密文件 SSLCertificateKeyFile "/usr/local/apache/conf/serverca.key" #本地签发的根证书 SSLCertificateChainFile "/usr/local/apache/conf/cacert.pem" #集团签发的认证证书 SSLCACertificateFile "/usr/local/apache/conf/intranet-ca.cer" #要求客户端通过证书访问 SSLVerifyClient require SSLVerifyDepth 10
到此,Apache的SSL认证就搭建好了,员工可以通过证书对应的域名访问刚才所搭建的apache服务器,后面会介绍如何通过apache反向代理访问tomcat。
相关文章推荐
- Linux下使用Openssl颁发Apache证书
- linux下运用Openssl签发证书详解。
- LINUX-OPENSSL证书签发
- OpenSSL 给自己颁发根证书,由根证书签发下级证书的步骤。
- openssl如何制作自签名的CA证书,及利用CA签发证书
- linux下利用openssl来实现证书的颁发(详细步骤)
- openssl建立证书,非常详细配置ssl+apache
- 汇总多个帖子,RH上用OpenSSL签发证书
- jdk+apache+jboss+mod_jk+openssl--从零开始搭建Linux测试环境
- Linux下使用OpenSSL生成证书
- openssl自建证书SSL+apache
- 用Keytool和OpenSSL生成和签发数字证书
- linux 下部署 openssl+apache 配置https
- Linxu环境下如何使用Openssl搭建CA中心签发证书
- Linux下OpenSSL客户端中使用req命令来生成证书的教程
- openssl ca签发证书
- Apache + SSL搭建Linux证书服务器
- Linux下使用OpenSSL生成证书
- openssl自建证书SSL+apache
- openssl建立证书,非常详细配置ssl+apache