推荐给好友 上一篇 | 下一篇

OpenSSL X.509 CA ( Certificate Authority )

Description:
J/N,M'U/Cv/e @Y.|
L-`VM-|2{4`        在 FreeBSD 中採用 OpenSSL 製作 X.509 憑證簽發。完整的 SSL/X.509 應該要做三層:最高層認證中心 (Root CA) ,中間的認證中心 (CA) ,最後才簽發下面的憑證,而本筆記則只有做兩層直接用最高的 Root CA 向下簽證。BSD爱好者乐园:^E0X)T @i}7lP

,H,pDN"] cYlEnvironment :BSD爱好者乐园GU-Z-MJ)jh X2jI9M8h
BSD爱好者乐园$i%x$q? l&j7r
硬體:i386 PC Intel P3 550 x 3 台
^Wr4mT6?.R網卡:6 片網卡 《 每台各兩片:AP 為一片無線網卡 + 一片有線網卡,Gateway 則為兩片 100M 的有線網卡 》BSD爱好者乐园%SZ^ t&k/l,n
作業系統:FreeBSD 6.2 Release
Sf)b0{:@V2DBSD爱好者乐园Q"b)CKnGF*ws
Setp 1.
W;X})a \)u
)aQ6j6m_:S@B設定 FreeBSD SSL 環境
!oB(gZY1sq`i/dBSD爱好者乐园 R,r7X,]un
# cd /etc/ssl       # 切換到  FreeBSD /etc/ssl 目錄下去設定 SSL
{ko v+h:L9d# mkdir -p /etc/ssl/private       #  建立存放私鑰 Private Key 目錄BSD爱好者乐园)c*J5REk'HG+t
# chmod og-rwx /etc/ssl/private       #  更改 Private Key 目錄權限BSD爱好者乐园%kqZ!IO
# mkdir -p /etc/ssl/certs
nz5[5B2OR\3X# mkdir -p /etc/ssl/crl
9g vq+|fw# mkdir -p /etc/ssl/newcertsBSD爱好者乐园^z:R1S V8EN.Q4D
BSD爱好者乐园d pGmb*zq
# vi /etc/ssl/openssl.cnf        # 修改 ssl 設定檔目錄,將 demoCA Mark 起來再指向 /etc/ssl 目錄
BSD爱好者乐园.L8h+K eVtc
#dir = ./demoCABSD爱好者乐园+D6mE)teT,q%e
dir = /etc/ssl


.v^&S/Ogp#QSetp 2.
o^.d@&D;qn"Ev-u/sBSD爱好者乐园 bb.a-m {` YM:j t
製作 Root CA 憑證,首先產生 Root Private keyBSD爱好者乐园*oT-~]Ou
BSD爱好者乐园nN[5Vai4L@
# openssl genrsa -des3 -out /etc/ssl/private/myroot.key.pem 2048
# chmod og-rwx /etc/ssl/private/myroot.key.pemBSD爱好者乐园;s*Kc!y&W6em
BSD爱好者乐园a7r*m i.S)Y.L
接著填寫 Root  憑證申請書
K SLX-d$z k h v
`Bw%DT ~UG# openssl req -new -key /etc/ssl/private/myroot.key.pem -out /tmp/myroot.req.pem
!G0Flr"H0V2Oy$vBSD爱好者乐园y m1`hed
最後簽發憑證 ( Root 自己簽給自己 ) 有效期就簽 7300 天約 20 年BSD爱好者乐园4CJ^i4i9j
BSD爱好者乐园d"\Q[ F
# openssl x509 -req -days 7300 -sha1 -extfile /etc/ssl/openssl.cnf -extensions v3_ca -signkey /etc/ssl/private/myroot.key.pem -in /tmp/myroot.req.pem -out /etc/ssl/certs/myroot.crt.pemBSD爱好者乐园1{+~y"xf/J8[,]Q'b
BSD爱好者乐园 q\Xwx~0}
查看 /etc/ssl/private 目錄下是否有 myroot.key.pem Private Key 及 /etc/ssl/certs/ 下是否有 myroot.crt.pem Public KeyBSD爱好者乐园 rq#JwM)EH C
BSD爱好者乐园#EN_-md/Q D.po2oQC_
# ls /etc/ssl/private/etc/ssl/certBSD爱好者乐园v&k'H&vQdJ
BSD爱好者乐园"no7B)hhOUf
※ Private key 檔案在 /etc/ssl/private/myroot.key.pem 要小心保管,檔案讀取權限最好不要給第二個人知道而簽好的Public Key 在 /etc/ssl/certs/myroot.crt.pem 可盡量散出去給其他人
`3w#[_;{2sBSD爱好者乐园(n"W{Mlh
完成後砍掉憑證申請書同時並建立 hash 索引BSD爱好者乐园K$]yxt:s

{l:bDJQ0N&J%c# rm -f /tmp/myrootca.req.pem
# rehash /etc/ssl/certs
3Sm#^[_qBSD爱好者乐园qE+w)yW$}!N z\
Setp 3.
"w*Xp|N`#ABSD爱好者乐园~vl#h5w.j}
製作 Server 的 Private key ,首先產生 Server 的 Private keyBSD爱好者乐园qW q@f ]W

Z1a#kq?@S# openssl genrsa -out /etc/ssl/private/myserver.key.pem 2048
# chmod og-rwx /etc/ssl/private/myserver.key.pem
|8F2|hloRK6_5nBSD爱好者乐园oGGn9o
※ Server 的 Private Key 不要設密碼,每當 SSL 伺服器程式重新啟動時就會去讀憑證和 Private Key 這時就會再問一次密碼,這樣每次重開機時都要停下來等鍵盤輸入密碼會很麻煩。BSD爱好者乐园+J tz4C-N"n

5u*Fo2J%u3y用 Server 的 Private Key 填寫憑證申請書
i`j|#l n.a ]#])H7v
ws:FsL# openssl req -new -key /etc/ssl/private/myserver.key.pem -out /tmp/myserver.req.pem
F{/LVdBSD爱好者乐园']Ov:[,v6Ql
使用 ROOT CA 來簽發 Server 的憑證,設 730 天 2 年BSD爱好者乐园5{0c,y5h7u&A.j

E.AN,f ~I:i# openssl x509 -req -days 730 -sha1 -extfile /etc/ssl/openssl.cnf -extensions v3_req -CA /etc/ssl/certs/myroot.crt.pem -CAkey /etc/ssl/private/myroot.key.pem -CAserial /etc/ssl/myroot.srl -CAcreateserial -in /tmp/myserver.req.pem -out /etc/ssl/certs/myserver.crt.pemBSD爱好者乐园 xO!k#{X|7}

3x-\-n)k|3j.b一樣記得刪除憑證申請書BSD爱好者乐园 f0ej'dP \W)C$U~Ov
BSD爱好者乐园&e GCfV
# rm -f /tmp/www.req.pemBSD爱好者乐园/C:D*B'm(N5XZt
BSD爱好者乐园x dTMn$MM7x
製作 Client 的 Private key 與 Server 產生的過程一樣,首先產生 Client 的 Private keyBSD爱好者乐园+gEM1Nb|

@Jpv#o5R1hL.v# openssl genrsa -out /etc/ssl/private/myclient.key.pem 2048
# chmod og-rwx /etc/ssl/private/myclient.key.pem
-K4g\$C)t"P
!U)p0qku Q H.M/d用 Client 的 Private Key 填寫憑證申請書BSD爱好者乐园)x j?#P+n)\m
BSD爱好者乐园/O?dU!n7QX&O
# openssl req -new -key /etc/ssl/private/myclient.key.pem -out /tmp/myclient.req.pemBSD爱好者乐园`.}&h5d%j5K
BSD爱好者乐园 Ch[ _7A7X+oB F
使用 ROOT CA 來簽發 Client 的憑證,設 730 天 2 年BSD爱好者乐园/S\2_Sr"^.O[ X

-f.JMC"f# openssl x509 -req -days 730 -sha1 -extfile /etc/ssl/openssl.cnf -extensions v3_req -CA /etc/ssl/certs/myroot.crt.pem -CAkey /etc/ssl/private/myroot.key.pem -CAserial /etc/ssl/myroot.srl -CAcreateserial -in /tmp/myclient.req.pem -out /etc/ssl/certs/myclient.crt.pemBSD爱好者乐园.Z"j-A*cp^
BSD爱好者乐园M7I/l*Qd)dr4`
一樣別忘記要刪除憑證申請書
r+L-A#@T$@J
O:i p%d4z$YibC# rm -f /tmp/myclient.req.pem
因为使用范围的限制,BSD方面文章更新速度不快,站长会坚持每天更新博客,欢迎访问!
[版权声明]BSD爱好者乐园站内文章,如来源不是互联网,则均系原创或翻译之作,可随意转载,或以此为基础进行演译,但务必以链接形式注明原始出处和作者信息,否则属于侵权行为。另对本站转载他处文章,俱有说明,如有侵权请联系本人,本人将会在第一时间删除侵权文章。
TAG: OpenSSL CA
 

评分:0

我来说两句

seccode