网络推荐

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

OpenSSL X.509 CA ( Certificate Authority )

Description:
&r/@|Ue eNBSD爱好者乐园 Hwm[VP6Q\wO:?
        在 FreeBSD 中採用 OpenSSL 製作 X.509 憑證簽發。完整的 SSL/X.509 應該要做三層:最高層認證中心 (Root CA) ,中間的認證中心 (CA) ,最後才簽發下面的憑證,而本筆記則只有做兩層直接用最高的 Root CA 向下簽證。BSD爱好者乐园Y,d;`^6jv5Q8A w+F
BSD爱好者乐园:|in7hr%h j tap
Environment :BSD爱好者乐园|T{r!}u5Z%|#H

-]/LWkHX.Y硬體:i386 PC Intel P3 550 x 3 台BSD爱好者乐园Z,BD$Ya u3c3{"ih
網卡:6 片網卡 《 每台各兩片:AP 為一片無線網卡 + 一片有線網卡,Gateway 則為兩片 100M 的有線網卡 》BSD爱好者乐园$\Zg l ^3W
作業系統:FreeBSD 6.2 Release
3Bwt u Axy ?/e~
l2mh!KaGmjAmSetp 1.BSD爱好者乐园(V"V*h.mbqY

*wi$u3}vq(x`k@設定 FreeBSD SSL 環境BSD爱好者乐园 Z ]1}"~;C,ZNp|

Q(biiG# cd /etc/ssl       # 切換到  FreeBSD /etc/ssl 目錄下去設定 SSLBSD爱好者乐园Bn [!w&{-JJ
# mkdir -p /etc/ssl/private       #  建立存放私鑰 Private Key 目錄BSD爱好者乐园;g-CE+s ^K
# chmod og-rwx /etc/ssl/private       #  更改 Private Key 目錄權限BSD爱好者乐园\ {y@$_K0q a2D
# mkdir -p /etc/ssl/certs
-E,bzu:Nk# mkdir -p /etc/ssl/crl
Ee(b0D4xB# mkdir -p /etc/ssl/newcertsBSD爱好者乐园d3N(BVEE| y
BSD爱好者乐园\so5c.B eB4T
# vi /etc/ssl/openssl.cnf        # 修改 ssl 設定檔目錄,將 demoCA Mark 起來再指向 /etc/ssl 目錄
BSD爱好者乐园1VdW\l
#dir = ./demoCABSD爱好者乐园&hH|(` B)o8o8V
dir = /etc/ssl


ta| u;Y ASetp 2.
o/[)u9QG)~\2zBSD爱好者乐园c4E8t\3Z0@2x6oq"?
製作 Root CA 憑證,首先產生 Root Private keyBSD爱好者乐园[7| x3{SO$h

y$k3v8{I-lR z7|# openssl genrsa -des3 -out /etc/ssl/private/myroot.key.pem 2048
# chmod og-rwx /etc/ssl/private/myroot.key.pem
y8GfBr:P2M)}7k
8@Df E8V接著填寫 Root  憑證申請書
e ]ueS0m2m7WBSD爱好者乐园ir ^&sr W
# openssl req -new -key /etc/ssl/private/myroot.key.pem -out /tmp/myroot.req.pem
v1NN!XtBSD爱好者乐园 O&m,c @L+q KI'W
最後簽發憑證 ( Root 自己簽給自己 ) 有效期就簽 7300 天約 20 年
7w*[x(hgZ[,KT{(\]BSD爱好者乐园7u H;a4HGU9A%H yC
# 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.pem
R^0U7e#q8C
1o!p*VGH,uU'^%zes查看 /etc/ssl/private 目錄下是否有 myroot.key.pem Private Key 及 /etc/ssl/certs/ 下是否有 myroot.crt.pem Public KeyBSD爱好者乐园 I _y4t KP1t5i NfM2}
BSD爱好者乐园b`7]y-z0K7N}
# ls /etc/ssl/private/etc/ssl/certBSD爱好者乐园_a Q3z T4H/g
BSD爱好者乐园5Yv9T-d1HM
※ Private key 檔案在 /etc/ssl/private/myroot.key.pem 要小心保管,檔案讀取權限最好不要給第二個人知道而簽好的Public Key 在 /etc/ssl/certs/myroot.crt.pem 可盡量散出去給其他人
e.|*]N,~XK4MdN
w!M$QI;M JIn完成後砍掉憑證申請書同時並建立 hash 索引
"lQ(K#dnK?BSD爱好者乐园5k6w#^+d+DX%b#U"v
# rm -f /tmp/myrootca.req.pem
# rehash /etc/ssl/certs
,P'I$Q7_8E,t)EH j)HBSD爱好者乐园l+\J7x?!c
Setp 3.
]o po0a8Mi
y1W#y2U_^ e5^製作 Server 的 Private key ,首先產生 Server 的 Private key
#k6GH0zq Yl%_ \m2m%H.mBSD爱好者乐园{ Q(fE3a KU1\
# openssl genrsa -out /etc/ssl/private/myserver.key.pem 2048
# chmod og-rwx /etc/ssl/private/myserver.key.pem
*D/Z7]'wJI8Tn c
G0`Ri,~ V h`※ Server 的 Private Key 不要設密碼,每當 SSL 伺服器程式重新啟動時就會去讀憑證和 Private Key 這時就會再問一次密碼,這樣每次重開機時都要停下來等鍵盤輸入密碼會很麻煩。BSD爱好者乐园L"YWOR,h"ro

&F8` Kzz}9N用 Server 的 Private Key 填寫憑證申請書
-PN7k VDpk\ iBSD爱好者乐园AZjh)FO6hm
# openssl req -new -key /etc/ssl/private/myserver.key.pem -out /tmp/myserver.req.pemBSD爱好者乐园2lH] [D]o4BB
BSD爱好者乐园5Vb*j9eO/L F7]
使用 ROOT CA 來簽發 Server 的憑證,設 730 天 2 年
5X;I"a"o&j1do/di
VI2D5v,Z7N"{"j Jw# 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.pem
2Rau jl o
'B8S;bN \B(yw一樣記得刪除憑證申請書BSD爱好者乐园?!e9{V,D w,@M
BSD爱好者乐园!FIh!J/YeuTf ]
# rm -f /tmp/www.req.pem
yJ:Ic%o~o L1G)u
!?5L"z/^] p%X製作 Client 的 Private key 與 Server 產生的過程一樣,首先產生 Client 的 Private keyBSD爱好者乐园3RkZ``+ioT
BSD爱好者乐园0gcb V0HM_
# openssl genrsa -out /etc/ssl/private/myclient.key.pem 2048
# chmod og-rwx /etc/ssl/private/myclient.key.pem
~MTngd,JBSD爱好者乐园:Nq~ ZZ
用 Client 的 Private Key 填寫憑證申請書BSD爱好者乐园8iBd,o h3b)Li

3H,RY"EU9eI-w# openssl req -new -key /etc/ssl/private/myclient.key.pem -out /tmp/myclient.req.pemBSD爱好者乐园 Q kQ2]6P0jF!}

F.mgv-V7z,f9^使用 ROOT CA 來簽發 Client 的憑證,設 730 天 2 年
x b.c/L,zU x"U
BD~Vat/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.pem
^/{ v0rXr_BSD爱好者乐园qrf U$a.AE)oI
一樣別忘記要刪除憑證申請書BSD爱好者乐园Us-Yk*o0i4W/L EiC

s!mP7N${q'g# rm -f /tmp/myclient.req.pem
因为使用范围的限制,BSD方面文章更新速度不快,站长会坚持每天更新博客,欢迎访问!
[版权声明]BSD爱好者乐园站内文章,如来源不是互联网,则均系原创或翻译之作,可随意转载,或以此为基础进行演译,但务必以链接形式注明原始出处和作者信息,否则属于侵权行为。另对本站转载他处文章,俱有说明,如有侵权请联系本人,本人将会在第一时间删除侵权文章。
TAG: OpenSSL CA
 

评分:0

我来说两句

seccode