歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 輕松學會Linux系統下的中文數字證書制做

輕松學會Linux系統下的中文數字證書制做

日期:2017/2/28 17:23:00   编辑:Linux教程

  本文討論在簡體中文Linux系統中的Tomcat Web服務器上制作數字證書的方法。
  數字證書采用PKI(Public Key Infrastructure)公開密鑰基礎架構技術,利用一對互相匹配的密鑰進行加密和解密。但在內部系統應用中,不需要專門CA(認證授權中心)的認證證書,可自己建立認證服務器。可以用Windows 2003 Server證書頒發機構作為CA,用Java制作中文申請後向Windows 2003 Server證書頒發機構CA申請證書,這樣就可以得到簡體中文數字證書了。本文討論在簡體中文Linux系統中的Tomcat Web服務器上制作數字證書的方法。

  證書的產生方法

  在Linux下做CA,必須安裝openssl,該軟件的最新版本可以從www.openssl.org下載。不過,即使直到最新版本,openssl輸入簡體中文信息後產生的證書也會顯示為亂碼。還好,有兩個辦法可以解決這個問題: 一是修改openssl源程序; 另一個是用UTF-8編碼進行處理。由於前一種方法比較復雜,本文主要討論後一種方法。在輸入中文字符時,openssl可以正確處理UTF-8的字符編碼,不能處理簡體中文的gb2312編碼。於是可將簡體中文的用戶信息輸入到配置文件中,再轉換為UTF-8編碼,生成證書申請時使用配置文件的缺省信息,即可產生正確顯示中文的證書。其方法如下:

  1.假設配置文件為openssl.cnf,編輯修改如下內容:

  string_mask=utf8only

  countryName_default=CN stateOrProvinceName_default=省份

  localityName_default=城市 O.organizationName_default=部門

  organizationalUnitName_default=單位 commonName_default=名字

  2.用iconv命令將文件格式轉換為UTF-8編碼:

  iconv -f gbk -t utf-8 openssl.cnf > openssl_utf8.cnf

  3.用openssl生成證書簽名請求時,加上”-utf8”和將配置文件指定為openssl_utf8.cnf:

  openssl req -utf8 -config openssl_utf8.cnf -new -out req.csr

  除了輸入密碼,其他的一律選擇回車,使用顯示為亂碼的缺省值,就可產生包含正確中文信息的證書申請文件req.csr,這樣的申請方式可用於CA和客戶證書的申請。Tomcat服務器證書需要生成keystore文件,用Java工具keytool命令生成,安裝簡體中文版本的Java,可正確生成簡體中文的證書申請。

Copyright © Linux教程網 All Rights Reserved