證書中包括的內容:公鑰和過期時間,擁有者的信息,證書要被怎麼用,CA的信息,以及CA用私鑰加密做的簽名。
OpenSSL包含以下三個組件:
libcrypto:是一個庫文件,用來加密的
libssl:提供ssl支持的,提供在OSI或TCP/IP中提供那半個層的。
openssl:是命令行工具,用來實現加密,解密,生成密鑰,生成自簽證書等。
介紹三種常用的加密方式:
①Symmetric Algorithms:對稱加密,加密方和解密方用同一個密碼。而且是基於塊加密的。常用的對稱加密算法有DES,3DES,AES。常用的實現對稱加密的工具有gpg和openssl enc。
②Asymmetric Algorithms:非對稱加密。有rsa,dsa。
③One Way Hashes:單向加密。通過提取數據的特徵碼加密。此方式有三個特點:無論輸入多長,輸出都是定長的;過程是不可逆的;具有雪崩效應。
可以用命令openssl ?來查看openssl支持的命令。(這裏會報錯,但是仍會顯示出命令信息)
可以用命令openssl version查看版本信息。
可以用命令openssl ciphers查看所支持的參數,加密方式。
可以用openssl speed測試某算法的速度。如openssl speed rsa查看算法rsa的速度。若不加任何參數顯示所有算法的速度。
實現加密的方法:
#openssl enc -des3 -salt -a -in plaintext -out ciphertext.des3
用openssl的子命令enc,使用des3方式加密,salt表示送去一個隨機值,-a in plaintext表示對那個文件加密,-out指定加密後的文件的名字。此對稱加密需要輸入一個密碼。
解密時需加-d選項,-in後跟的是需解密的文件。如下:
#openssl enc -d -des3 -salt -a -in ciphertext.des3 -out plaintext2
客戶端驗證服務器,服務器不需要驗證客戶端。只要客戶端有證書就可以用了。
可用以下命令查看證書內容:
#openssl req –noout –in my.csr -text