資訊與網路安全技術 第 五章 密碼系統實習環境 - OpneSSL       下一頁

 

第五章 密碼系統實習環境 - OpenSLL

5-1 OpenSSL 簡介

內容:

  • 5-1 OpenSSL 簡介

    • 5-1-1 OpenSSL 簡介

    • 5-1-2 首頁下載 OpenSSL 套件

    • 5-1-3 密碼程式範例

  • 5-2 OpenSSL 編譯與安裝

5-1-1 OpenSSL 簡介

本書除了提供各種演算法的程式範例外,也利用 OpenSSL 系統作為實習工具。請讀者勢必將它安裝起來,研讀本書時可以隨時操作練習,甚至可利用它開發出具有安全性的應用系統。隨書光碟內包含各種演算法程式範例,以及 OpenSSL 完整套件。

OpenSSL 是一套安全性軟體開發工具Secure Software Development Key),它包含許多密碼標準規範所製作出來的安全套件,可供開發具有安全性的應用軟體。它是一套免費的自由軟體,是由 C 語言開發而成,經由編譯後可安裝於 LinuxWindowsUnixMACVMS 作業系統上,可攜性非常高。早期 OpenSSL 是由加拿大 Eric A. Yang Tim J. Hudson 開發而成,目前由 OpenSSL 工作小組繼續開發與維護,並隨時將最新版本公佈於官方網站www.openssl.org。讀者可自行下載安裝,幾乎沒有什麼版權限制,可運用於開發於非商業或商業應用系統。

如果認為 OpenSSL 僅提供 SSLSecure Socket Layer)庫存函數呼叫,那就太小看 OpenSSL 的功能。事實上,它包含了密碼系統的公用程式(openssl 套件)與庫存函數(crypto 套件)、以及 SSL 庫存函數(ssl 套件)等三部份

密碼系統公用程式(openssl 套件)是最可觀的『命令行』(Command line)操作工具,OpenSSL 將各種密碼演算法製作成可直接執行程式,透過這些命令操作是我們認識密碼系統的最佳途徑。它不但提供各種密碼系統的操作命令,還包含公開鑰匙產生、簽署與驗證、數位憑證產生與驗證、數位憑證發行(CA)、憑證註銷與查詢等等操作命令。透過這些公用程式,吾人可以很快速的認識密碼系統特性,與一些簡單的管理與運用。如果欲更進一步學習的話,則必須學習如何開發安全性應用系統,則非仰賴其他兩套開發工具不行。

5-1-2 首頁下載 OpenSSL 套件

5-1-3 密碼程式示範

 

5-2 OpenSSL 編譯與安裝

OpenSSL 最為可貴的地方,它是由 C 語言所開發出來的,任何系統只要擁有 C 編譯器,都可以將套件內所有原始程式,編譯成該系統的執行檔,再組裝成 OpenSSL 軟體發展環境。也就是說,安裝 OpenSSL 套件需要兩個步驟,首先將原始檔案編譯成可執行檔,並建立動態連結與靜態連結之庫存函數(與安裝系統有關聯性);第二個步驟是,利用這些庫存函數組安裝成系統發展環境(與安裝系統沒有關聯性)。老師已安裝完成並包裝成 opensll 壓縮檔,請同學複製下來解壓縮即可。

解壓縮後,必須設定 Path 變數(path=….;c:\openssl\out32\,或者安裝在 D:)。設定方法是,到系統環境視窗上設定,由桌面的『開始』→『設定』→『控制台』→『系統』→『進階』→『環境變數』→ path 變數,出現視窗如圖 5-1 所示。

吾人測試是否可執行,操作如下:(顯示如下,則表示安裝成功)

C:\openssl\OUT32>openssl

OpenSSL> ?

openssl:Error: '?' is an invalid command.

 

Standard commands

asn1parse      ca             ciphers        crl            crl2pkcs7

dgst           dh             dhparam        dsa            dsaparam

….

s_server       s_time         sess_id        smime          speed

spkac          verify         version        x509

 

Message Digest commands (see the `dgst' command for more details)

md2            md4            md5            rmd160         sha

 

 

主講人:粘添壽博士

 

資訊與網路安全技術