分类: 系统运维
2005-05-23 21:24:10
《資訊安全》
CA建置工具:Openssl的管理與使用介紹(上)
陸維肇
編按:為建立一套更為安全之資訊使用機制,中心PC Farm小組不
斷整合並利用各種可行之軟體工具,進行相關之研發,以期能提供
同仁更多好用之使用軟體與環境。有關資訊安全之議題在今日資訊
網路發達之情況下,更顯得益形重要,對此,該小組成員近日完成
建置CA之免費軟體openssl相關之研究就與探討,並將成果推廣予同
仁分享。本文首對此一軟體工具與機制作介紹,其後將另有相關說
明內容分享同仁。
前言
openssl為目前廣為在unix/linux平台上做為使用建制CA(Certificate
Authority)的免費軟體,它除了提供建制CA的基礎功能以外,使用
者也可以使用openssl來做文件加解密、簽章認證等應用。本文中將
分別從CA Server管理者與一般User兩方面,來介紹如何使用openssl
與相關工具。
在CA server方面,介紹如何建置一個CA Server、如何簽發及報
廢 certificate、以及CA簽證policy的設定;在一般User方面,則
包括private key的製作、申請certificate、驗證certificate的有
效性以及一般性的應用,如文件的加解密、簽章與驗證等。
另外,在建置CA時,亦介紹setupCA這套tools,它係以openssl為
基礎,來幫助管理者更方便地完成CA的建置。
為了讓讀者能很快地瞭解openssl的使用方式,筆者將在本文中的
每個實際範例之解說後,附上操作指令,以幫助讀者能夠順利的完
成整個操作的過程。如果操作指令長度超過一行,則會於行末處加
上一反斜線(“”),以表示次行仍為指令,每個指令後附上指令
參數的說明。例如:
使用user之private key在文件上簽名:
openssl smime -sign -inkey user.key -signer user.pem -in test.txt-out test.sig
-sign:簽章
-inkey:user的private key
-signer:user.pem--使用的certificate
-in:欲簽署的文件
-out:包含簽章的文件
上面的例子中,第一行「使用user之private key在文件上簽名」
說明了這個指令的功能,接著「openssl smime -sign -inkey user.key
-signer user.pem -in test.txt -out test.sig」則是完整的指
令行,而在指令行中第一行行末出現的反斜線“”,其代表次行仍
是該指令的一部分,最後則說明了指令中各option所代表的功能說
明。
另,本文中指令內的option可能需要檔案名稱作為該option之參
數,茲將本文指令中所用之檔名代表含意說明如下:
ca-key.pem:CA server的private key;
ca-cert.pem:CA server的certificate;
ca.config:CA server的設定檔;
mykey.pem:使用者之private key;
mycsr.pem:使用者所提出的 signing request檔案;
mycert.pem:在server端,為使用者產生之certificate檔名、
在user端,為使用者之certificate;
test.txt:所要簽章或加密之文件檔;
test.sig:簽章後的文件檔;
test.msg:加密後之文件檔。
相關資源
本文所使用的軟體包括:openssl-0.9.7-beta2以及setupCA-1.1,
使用者可以在以下網址找到相關資源:
openssl:
setupCA:
本地下载: setupCA-1.1.zip
軟體安裝
1. openssl安裝
安裝openssl前,系統必須已安裝Perl 5、以及ANSI C compiler。
請下載openssl-0.9.7-beta2.tar.gz並解開後,開始下列的安裝
步驟:
$ ./config
$ make
$ make install
openssl內定會安裝在/usr/local/ssl,如果欲安裝在其它路徑,
例如 /usr/local,在 config時,可以進行如下設定:
$ ./config --prefix=/usr/local --openssldir=/usr/local/openssl
詳細的安裝步驟,請連線至下列網址
逕行參閱。
2. setupCA安裝
請下載setupCA-1.1.tar.gz並解開後,直接執行install.sh進行
安裝,作業方式如下:
$ ./install.sh
其預設安裝之路徑在/usr/local/catools之目錄下;相關之tools
則放置在/usr/local/catools/bin目錄下。
建置CA與實際咦