偽命令req大致有3個(gè)功能:生成證書(shū)請(qǐng)求文件、驗(yàn)證證書(shū)請(qǐng)求文件和創(chuàng)建根CA。由于openssl req命令選項(xiàng)較多,所以先各舉幾個(gè)例子,再集中給出openssl req的選項(xiàng)說(shuō)明。若已熟悉openssl req和證書(shū)請(qǐng)求相關(guān)知識(shí),可直接跳至后文查看openssl req選項(xiàng)整理,若不熟悉,建議從前向后一步一步閱讀。
首先說(shuō)明下生成證書(shū)請(qǐng)求需要什么:申請(qǐng)者需要將自己的信息及其公鑰放入證書(shū)請(qǐng)求中。但在實(shí)際操作過(guò)程中,所需要提供的是私鑰而非公鑰,因?yàn)樗鼤?huì)自動(dòng)從私鑰中提取公鑰。另外,還需要將提供的數(shù)據(jù)進(jìn)行數(shù)字簽名(使用單向加密),保證該證書(shū)請(qǐng)求文件的完整性和一致性,防止他人盜取后進(jìn)行篡改,例如黑客將為www.baidu.com所申請(qǐng)的證書(shū)請(qǐng)求文件中的公司名改成對(duì)方的公司名稱(chēng),如果能夠篡改成功,則簽署該證書(shū)請(qǐng)求時(shí),所頒發(fā)的證書(shū)信息中將變成他人信息。
所以第一步就是先創(chuàng)建出私鑰pri_key.pem。其實(shí)私鑰文件是非必需的,因?yàn)閛penssl req在需要它的時(shí)候會(huì)自動(dòng)創(chuàng)建在特定的路徑下,此處為了舉例說(shuō)明,所以創(chuàng)建它。
[root@xuexi tmp]# openssl genrsa -out pri_key.pem
(1).根據(jù)私鑰pri_key.pem生成一個(gè)新的證書(shū)請(qǐng)求文件。其中"-new"表示新生成一個(gè)新的證書(shū)請(qǐng)求文件,"-key"指定私鑰文件,"-out"指定輸出文件,此處輸出文件即為證書(shū)請(qǐng)求文件。