`
sony-soft
  • 浏览: 1021980 次
文章分类
社区版块
存档分类
最新评论

(转载)用openssl为apache制作ssl证书

 
阅读更多

因为要做个小诊所的财务管理,基于B/S的,所以想到了用ssl加强安全性。在网上找了这么些资料,贴在这里,已备查询。

一:

我用的apache版本是apache2.2.3 for windows,openssl使用的是0.9.8,这些软件可以google后下载,在windows平台或者linux平台都可以按以下命令生成证 书:

步骤1:生成密钥
命令:openssl genrsa 1024 > server.key
说明:这是用128位rsa算法生成密钥,得到server.key文件

步骤2: 生成证书请求
命令:openssl req -new -key server.key > server.csr
说明:这是用步骤1的密钥生成证书请求文件server.csr, 这一步提很多问题,一一输入

步骤2: 生成证书请求
命令:openssl req -x509 -days 365 -key server.key -in server.csr > server.crt
说明:这是用步骤1,2的的密钥和证书请求生成证书server.crt,-days参数指明证书有效期,单位为天

把得到的server.key和server.crt文件拷贝到apache的对应目录,具体就不做介绍了。

转自:老黄博客

二:

SSL自签署证书生成脚本

启用 apache 的 mod_ssl 之后需要有证书才能正常运作。写了个脚本来操作。首先要确定机器上已经有 openssl 。

#!/bin/sh
#

#ssl证书输出的根目录。
sslOutputRoot="/etc/apache_ssl"
if[$#-eq1];then
sslOutputRoot=$1
fi
if[!-d${sslOutputRoot}];then
mkdir-p${sslOutputRoot}
fi

cd${sslOutputRoot}

echo"开始创建CA根证书..."
#
#创建CA根证书,稍后用来签署用于服务器的证书。如果是通过商业性CA如
#Verisign或Thawte签署证书,则不需要自己来创建根证书,而是应该
#把后面生成的服务器csr文件内容贴入一个web表格,支付签署费用并
#等待签署的证书。关于商业性CA的更多信息请参见:
#Verisign-http://digitalid.verisign.com/server/apacheNotice.htm
#ThawteConsulting-http://www.thawte.com/certs/server/request.html
#CertiSignCertificadoraDigitalLtda.-http://www.certisign.com.br
#IKSGmbH-http://www.iks-jena.de/produkte/ca/
#UptimeCommerceLtd.-http://www.uptimecommerce.com
#BelSignNV/SA-http://www.belsign.be
#生成CA根证书私钥
opensslgenrsa-des3-outca.key1024

#生成CA根证书
#根据提示填写各个字段,但注意CommonName最好是有效根域名(如zeali.net),
#并且不能和后来服务器证书签署请求文件中填写的CommonName完全一样,否则会
#导致证书生成的时候出现
#error18at0depthlookup:selfsignedcertificate错误
opensslreq-new-x509-days365-keyca.key-outca.crt
echo"CA根证书创建完毕。"

echo"开始生成服务器证书签署文件及私钥..."
#
#生成服务器私钥
opensslgenrsa-des3-outserver.key1024
#生成服务器证书签署请求文件,CommonName最好填写使用该证书的完整域名
#(比如:security.zeali.net)
opensslreq-new-keyserver.key-outserver.csr
ls-altrh${sslOutputRoot}/server.*
echo"服务器证书签署文件及私钥生成完毕。"

echo"开始使用CA根证书签署服务器证书签署文件..."
#
#签署服务器证书,生成server.crt文件
#参见http://www.faqs.org/docs/securing/chap24sec195.html
#sign.shSTART
#
#SignaSSLCertificateRequest(CSR)
#Copyright(c)1998-1999RalfS.Engelschall,AllRightsReserved.
#

CSR=server.csr

case$CSRin
*.csr)CERT="`echo$CSR|sed-e's//.csr/.crt/'`";;
*)CERT="$CSR.crt";;
esac

#makesureenvironmentexists
if[!-dca.db.certs];then
mkdirca.db.certs
fi
if[!-fca.db.serial];then
echo'01'>ca.db.serial
fi
if[!-fca.db.index];then
cp/dev/nullca.db.index
fi

#createanownSSLeayconfig
#如果需要修改证书的有效期限,请修改下面的default_days参数.
#当前设置为10年.
cat>ca.config<<EOT
[ca]
default_ca=CA_own
[CA_own]
dir=.
certs=./certs
new_certs_dir=./ca.db.certs
database=./ca.db.index
serial=./ca.db.serial
RANDFILE=./ca.db.rand
certificate=./ca.crt
private_key=./ca.key
default_days=3650
default_crl_days=30
default_md=md5
preserve=no
policy=policy_anything
[policy_anything]
countryName=optional
stateOrProvinceName=optional
localityName=optional
organizationName=optional
organizationalUnitName=optional
commonName=supplied
emailAddress=optional
EOT

#signthecertificate
echo"CAsigning:$CSR->$CERT:"
opensslca-configca.config-out$CERT-infiles$CSR
echo"CAverifying:$CERT<->CAcert"
opensslverify-CAfile./certs/ca.crt$CERT

#cleanupafterSSLeay
rm-fca.config
rm-fca.db.serial.old
rm-fca.db.index.old
#sign.shEND
echo"使用CA根证书签署服务器证书签署文件完毕。"


#使用了ssl之后,每次启动apache都要求输入server.key的口令,
#你可以通过下面的方法去掉口令输入(如果不希望去掉请注释以下几行代码):
echo"去除apache启动时必须手工输入密钥密码的限制:"
cp-fserver.keyserver.key.org
opensslrsa-inserver.key.org-outserver.key
echo"去除完毕。"


#修改server.key的权限,保证密钥安全
chmod400server.key

echo"Nowucanconfigureapachesslwithfollowing:"
echo-e"/tSSLCertificateFile${sslOutputRoot}/server.crt"
echo-e"/tSSLCertificateKeyFile${sslOutputRoot}/server.key"

#diegracefully
exit0

分享到:
评论

相关推荐

    用openssl为apache制作ssl证书

    用openssl为apache制作ssl证书

    Centos7安装给Apache服务安装配置SSL证书

    在Centos7.6平台下使用openssl给apache做自签名证书,并给apache设置HTTPS的SSL证书。(无坑版) 二、平台 [root@kahn.xiao ~]# uname -r 3.10.0-957.el7.x86_64 [root@kahn.xiao ~]# cat /etc/redhat-release  ...

    apache_2.2.6 openssl-0.9.8e SSL配置

    感觉还不错 很不错的东东啊!!!!!!!!! apache_2.2.6 openssl-0.9.8e SSL配置 附带apache_2.2.6 openssl-0.9.8e SSL的下载地址

    OpenSSL证书生成器

    OpenSSL 证书生成器 可用于apache的ssl证书生成

    openSSL制作证书并在tomcat上配置

    自己学习openSSL的一些总结,很初步,希望能够帮助到跟我一样刚刚开始接触openSSL的朋友,很浅显,我也是初学者,希望大家不要见笑。

    Apache_2.4.23-x86-no-ssl.zip

    Apache HTTP Server 2.4.23 x86 (32 bit) Windows Installers,不含SSL。

    配合apache(2.2.x)+openssl(0.9.6->1.0.1升级)过程博文环境搭建的资源

    这些资源是配合apache(2.2.x)+openssl(0.9.6-&gt;1.0.1升级)过程博文环境搭建中所需要的资源,不是太好找,所以都传上来,主要有: ...5.包含一个我已经安装好后的apache整个的安装文件(openssl用的是0.9.6y的)

    用OpenSSL编写SSL,TLS程序

    如果想用它编程序,除了熟悉已有的文档(包括ssleay,mod_ssl,apachessl的文档)外, 可以到它的maillist上找相关的帖子,许多问题可以在以前的文章中找到答案. 编程: 程序分为两部分,客户端和服务器端,我们的目的是...

    Shell脚本实现生成SSL自签署证书

    启用 apache 的 mod_ssl 之后需要有证书才能正常运作。写了个脚本来操作。首先要确定机器上已经有 openssl 。 代码如下: #!/bin/sh # # ssl 证书输出的根目录。 sslOutputRoot=”/etc/apache_ssl” if [ $# -eq 1 ]...

    APACHE SSL配置 https 安全设置

    linux环境中设置APACHE支持SSL,使用OPENSSL生成安全密钥。前段时间客户要求增加项目安全性,通过实践与网络学习,总结文档与大家分享。

    apache_2.4.23-x64-no-ssl.msi

    ApacheHttpServer msi文件下载 apache_2.4.23-x64-no-ssl.msi apache_2.4.23-x64-no-ssl.msi

    apache_2.2.8-win32-x86-openssl-0.9.8g.zip

    apache + openssl验证ssl安全通讯

    给APACHE开启SSL服务

    1、首先请确认您的Apache服务器已经安装有加密模块,可以是OpenSSL,或是OpenSSL+ModSSL。 如果您的Apache web服务器安装在Unix或linux平台上,您可以通过以下网址获得OpenSSL: http://www.openssl.org/source/...

    Apache SSL服务器配置SSL详解

    1.安装必要的软件 引用 我用的是apahce2.0.61版,可以直接官方提供的绑定openssl的apache. 文件名是:apache_2.0.61-win32-x86-openssl-0.9.7m.msi 否则单独安装windows下的openssl比较麻烦,要么找到一个第三方的...

    apachessl-install.zip

    apache安装包以及apr/apr-util/openssl/pcre相关依赖。用于apache+SSL的安装使用,

    apache openssl配置快速的https网站

    配置SSL &lt;VirtualHost&gt; DocumentRoot … ScriptAlias … SSLCertificateFile /data/gauss/soft/httpd-2.2.4/conf/cert/server.crt SSLCertificateKeyFile /data/gauss/soft/httpd-2.2.4/conf/cert/server.key ...

    apache ssl单、双向配置

    SSL(Secure Socket Layer): 是为Http传输提供安全的协议,通过证书认证来确保客户端和网站服务器之间的数据是安全。Open SSL下载地址:http://www.openssl.org/source/ 一、下载并安装 支持SSL的 Apache 1....

    apache_2.2.11-win32-x86-openssl-0.9.8i.msi

    apache2.2.11最新版,win32版本,20个字很难凑啊

    Apache_2.4.23-x64-openssl-1.0.2h.zip

    Apache HTTP Server 2.4.23 x64 (64 bit) Windows Installers,含SSL1.0.2。

    openssl 1.0.0 天涯浪子

    The OpenSSL toolkit is licensed under an Apache-style licence, which basically means that you are free to get and use it for commercial and non-commercial purposes subject to some simple license ...

Global site tag (gtag.js) - Google Analytics