分类: 系统运维
2009-05-12 10:04:44
网上找了很多文章,再加上自己的一些体会,希望对看的人有所帮助。
一、编译openSSL
网上有很多编译文章,但可能因为openSSL版本的原因,编译中会有很多问题,所以建议下个旧点的版本,这里用的是openssl-0.9.8i.tar.gz.
1、下载ActivePerl-5.8.0.806-MSWin32-x86.msi
warning treated as error - no object file generated
/WX tells the compiler to treat all warnings as errors. Since an error occurred, no object or executable file was generated.
是由于设置了/WX选项,将所有的警告都作为错误对待,所以。。。
于是打开OpenSSL目录下的MS目录下的ntdll.mak文件,将CFLAG的/WX选项去掉,存盘。。。
继续执行nmake -f ms\ntdll.mak
二、用openSSL制作证书
1.获取IIS证书请求:打开IIS,右键单击【默认网站】,在【目录安全性】选项卡中点击【服务器证书】按钮,【下一步】,【新建证书】,【现在准备证书请求--下一步】,输入【名称】,输入【单位】和【部门】,输入【公用名称】,选择【国家】并输入【省】和【市县】并【下一步】,【下一步】,【下一步】,【完成】,IIS的证书请求已经获取,就是C:\certreq.txt。这里请牢记输入的信息。
3.生成自签名根证书:openssl req -x509 -newkey rsa:1024 -keyout cakey.pem -out cacert.pem -days 3650 -config e:\Security\openssl098e\openssl.cnf
以上信息除了Email以外,所有内容都要和客户端请求的内容一致。
提醒:这时候,已经有cakey.pem:ca的私钥文件,cacert.pem:ca的自签名根证书,certreq.txt:IIS的证书请求文件,三个文件。现在将certreq.txt拷贝到bin目录下。把cakey.pem 拷贝到bin\demoCA\private, 把cacert.pem拷贝到out32dll\demoCA和bin\demoCA下(好象只有后面那个有用)。
4.用CA证书cacert.pem为IIS请求certreq.txt签发证书:server.pem:
openssl ca -in certreq.txt -out server.pem -config e:\Security\openssl098e\openssl.cnf
如果不行,试用下面的语句,指定cakey.pem的路径:
openssl ca -keyfile E:\Security\openssl098e\bin\demoCA\private\cakey.pem -in certreq.txt -out server.pem -config
e:\Security\openssl098e\openssl.cnf
执行完后,得到server.pem文件。
5.把server.pem转换成x509格式:
三、在IIS中倒入证书。
将生成的证书server.cer导入到IIS:打开IIS,在【默认网站】上单击右键【属性】,在【目录安全性】选项卡中点击【服务器证书】按钮,【下一步】,选择【处理挂起的请求并安装证书】并【下一步】,正常情况下,您已经看到了文本框中就是c:\server.cer,如果不是,自己点【浏览】按钮去找并【下一步】,【下一步】,【完成】。回到【目录安全性】选项卡在【安全通信】栏目中单击【编辑】按钮,勾上【要求安全通道(SSL)】,点击【确定】按钮。