avatar

Apache+OpenSSL 自签通配符SSL证书

自签SSL的笔记
正文开始

创建目录
#root > mkdir /usr/ssl/CA/newcerts -p
#root > mkdir /usr/ssl/CA/private -p
#root > touch /usr/ssl/CA/index.txt
#root > echo "01" >> /usr/ssl/CA/serial

切换目录
#root > cd /usr/ssl/CA/private

自签根证书
#root > openssl genrsa -des3 -out ca.key 2048
#root > openssl req -new -x509 -days 7305 -key ca.key -out intermediate.crt

签域名证书 host 用通配符写就可以了
e.g. *.doneta.org
#root > openssl genrsa -des3 -out server.key 2048
#root > openssl rsa -in server.key -out server.key
#root > openssl req -new -key server.key -out server.csr

openssl rsa -in server.key -out server.key

是用来删除证书密码的, 这样Apache不用每次启动都需要输入密码 o( ̄3 ̄)o
当然你也可以通过exec自动输入密码~

最重要的一部了 用根证书签
#root > openssl ca -in server.csr -out certificate.crt -cert intermediate.crt -keyfile ca.key

到这里为止,我们已经把证书给签好了! 然后在Apache中使用它

先把httpd.conf 中的 #Include conf/extra/httpd-ssl.conf 的警号去掉~

修改http-ssl.conf文件 然后配置个虚拟主机就可以了 https 端口是 443~~

NameVirtualHost *:443
<VirtualHost *:443>
    DocumentRoot "****"
    ServerName www.doneta.org
    Options FollowSymLinks ExecCGI +ExecCGI
    AddType application/x-httpd-php .php .php5
    DirectoryIndex index.html index.htm index.php
    SSLEngine on
    SSLProtocol all
</VirtualHost>
SSLCertificateFile /usr/ssl/CA/private/certificate.crt
SSLCertificateKeyFile /usr/ssl/CA/private/server.key
SSLCACertificateFile /usr/ssl/CA/private/intermediate.crt

然后测试下~~
https://www.doneta.org

我们会发现浏览器报根证书未认证什么的, 没办法 谁让我们没花钱自己签呢 (┳Д┳)

没办法 把根证书导入下吧
比如 吾辈的 根证书是这个~

-----BEGIN CERTIFICATE-----
MIIERTCCAy2gAwIBAgIJANnhwNN/qMUgMA0GCSqGSIb3DQEBBQUAMHQxCzAJBgNV
BAYTAkNOMREwDwYDVQQIEwhTaGFuZ2hhaTERMA8GA1UEBxMIU2hhbmdoYWkxJjAk
BgNVBAoTHURvbmV0YSBOb25Qcm9maXQgT3JnYW5pemF0aW9uMRcwFQYDVQQDEw5E
b25ldGEgUm9vdCBDQTAeFw0xMTA0MDgwNjU1NTVaFw0zMTA0MDgwNjU1NTVaMHQx
CzAJBgNVBAYTAkNOMREwDwYDVQQIEwhTaGFuZ2hhaTERMA8GA1UEBxMIU2hhbmdo
YWkxJjAkBgNVBAoTHURvbmV0YSBOb25Qcm9maXQgT3JnYW5pemF0aW9uMRcwFQYD
VQQDEw5Eb25ldGEgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
ggEBAMRmSq0YR+ZCG/NRsxeufzKm8V5r7sMPYuJ5odpMoNHFlB//h5r5r4Y3R/t9
UN51zrfAtfzRTwm/vzKdColoFXA33RvT0muE8xTKonbp2UzLl/xKMn8Clgj79TAh
nRB1F68+Sjkyyzxh9+hL//f3k4Evn72ea1M/W5lG++eSTjhX0bCp+DTpwaSjl4j8
rCJFkyCrk8uj3tU5DNqf3gQnqergefHguxML31dOX8UEfLeETTCrTxQyMrfu1gwf
UIMjcS5lxqN5qU5eQIZa/+DihR2SRLmQVIgo5Ekr83rLD7iHpE6Vn2GzfwQvTScy
EujfGBVsJukyTiSlHCaft+Jws10CAwEAAaOB2TCB1jAdBgNVHQ4EFgQUJF4OFrws
tLhphHVod1hYqnJGSKcwgaYGA1UdIwSBnjCBm4AUJF4OFrwstLhphHVod1hYqnJG
SKeheKR2MHQxCzAJBgNVBAYTAkNOMREwDwYDVQQIEwhTaGFuZ2hhaTERMA8GA1UE
BxMIU2hhbmdoYWkxJjAkBgNVBAoTHURvbmV0YSBOb25Qcm9maXQgT3JnYW5pemF0
aW9uMRcwFQYDVQQDEw5Eb25ldGEgUm9vdCBDQYIJANnhwNN/qMUgMAwGA1UdEwQF
MAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAIYQRe5LrSAVSozr3lCK7qeAxbjTyOzF
GKWDAlfxSMWQ1O/BQHdT2wk0zWg4AnGN90bSeklcFeGvUjaIj9ZIBgv2b9O6a6cS
EHkjwBAjZDGhCZ9iOFikpXdd8MEFBu4Y+/cWizNsYLnu2C87Ls/hzubX3wKxpcdv
BvSqicWo7ltSECZKxj/nc7yYfTEIFosC/cfuJKdFIw6G/r/b+9q23R+fsFeGezAd
Bt0WLlQF0wF9D9LBUB4x1RcKBDBGMHEpZizxJE07J9g2691FbjRk56VSkKZR/9uv
8I/yMBgE6w1VNRfuSum5fqIdyYoP3iIRLxd59G0HHoNjkocInsOSuHQ=
-----END CERTIFICATE-----

新建文件,复制以上内容, 然后把后缀改成crt 双击即可倒入!
Chrome 是和 IE 共用证书的 所以 双击后就能使用
Firefox需要手动导入根证书!

其实就是你 /usr/ssl/CA/private/intermediate.crt 的内容!!

然后你再浏览 https://www.doneta.org 就可以啦~~

Comments ( 0 ) Trackbacks ( 0 ) Leave a Reply
  1. No comments yet.

    目前尚无任何评论.

    コメントはまだありません。

  1. No trackbacks yet.

    目前尚无任何 trackbacks 和 pingbacks.

    トラックバックはまだありません。

  • ☆*:.。. o(≧▽≦)o .。.:*☆
  • _(:з」∠)_
  • ♪(´ε` )
  • ψ(`∇´)ψ
  • (-_-#)
  • (=´∀`)人(´∀`=)
  • \(//∇//)\
  • ♪(*^^)o∀*∀o(^^*)♪
  • (((o(*゚▽゚*)o)))
  • (´・_・`)
  • σ(^_^;)
  • ( *`ω´)
  • (ノ`Д´)ノ
  • (( _ _ ))..zzzZZ
  • ( ̄▽ ̄)
  • ヽ(`Д´#)ノ
  • ((((;゚Д゚)))))))
  • (>_<)
  • (T_T)
  • ( T_T)\(^-^ )
  • ε=ε=ε=ε=ε=ε=┌(; ̄◇ ̄)┘