• Demo
    保持交易與客戶資料隱密性

    GoDaddy

    Keep payments & customer data private
  • Demo
    創造線上信任者!

    COMODO

    Creating Trust Online
  • Demo
    您的成功來自於信任!

    digicert

    Your Success is Built on Trust
  • Demo
    保護數位認證與信息安全!

    Entrust

    Securing digital Identities & Information
  • Demo
    數位憑證的領導品牌!

    GeoTrust

    a leading certificate authority
  • Demo
    安全地溝通和交易!

    GlobalSign

    Communicate and transact securely.
  • Demo
    保護您的網站!保護您的客戶們!

    Network Solutions

    Secure Your Site!Protect Your Customers
  • Demo
    瑞士軍刀的數位認證和PKI

    StartCom

    The Swiss Army Knife of Digital Certificates & PKI
  • Demo
    最高等級的安全與身分認證

    SwissSign

    Extreme Security & Identity
  • Demo
    一個全新等級的保護和信任

    Symantec

    protect and trust to a whole new level
  • Demo
    最明顯的網站安全性標誌

    Thawte

    The most visible sign of web site security
  • Demo
    最簡單方案滿足您安全性與法規的遵從

    trustwave

    to your complex security and compliance challenges
  • Demo
    低成本,高保證的SSL證書

    instantssl

    low cost high assurance ssl certificates
  • Demo
    官網負擔得起的SSL證書及信任標章

    trustico

    Official Supplier Of Affordable Website SSL Certificates & Trust Seals
  • Demo
    簡單的網站安全性

    rapidssl

    simple site security for less
  • Demo
    由SSL.com來建立客戶信任

    ssl.com

    simple site security for less
  • Demo
    我們知道需要什麼是安全的

    certs4less

    We know what it takes to be secure
  • Demo
    從世界上唯一的高級SSL服務

    thesslstore

    SSL Certificates from the Only Premium SSL Service in the World
  • Demo
    專業,認證,信任

    certcenter

    expert. proven. trusted
  • Demo
    網頁安全解決方案

    secure128

    web security solutions
  • Demo
    保護您的業務,高度信任的SSL證書

    sslcertificate

    secure your business,high trust ssl cert
  • Demo
    保護您客戶的資料

    Namecheap

    Protect your site visitors' data
  • Demo
    我們把信任標識化

    IdenTrust

    We Put The Trust In Identity

OPENSSL常用語法彙整

OPENSSL是一套免費開源的軟體,在憑證應用上有非常大的幫助,雖然官網上面有一些使用上的參數說明,可是有些說明不是很清楚,常常需要另外在網路上找一些語法來進行使用,以下介紹一些平常常用的語法,大家可參考使用!


查看安裝的openssl版本
語法: openssl version 或者 openssl version -a


查看openssl可使用的參數
語法: openssl -help 或者 openssl -h
只要打的參數不存在(不一定要打h),就會列出所有的參數

查看openssl在系統上效能
語法: openssl speed
此語法可測試系統在支援的演算法上的效能,這會跑一段時間!

查看openssl在系統上效能
語法: openssl speed
此語法可測試系統在支援的演算法上的效能,這會跑一段時間!如果要針對特定加密演算法測試的話,請在openssl speed 演算法,如:openssl speed aes.

查看openssl支援的雜湊演算法(Hash algorithms)
語法 :openssl dgst -h
只要打的參數不存在(不一定要打h),就會列出所有的參數

查看openssl支援的對稱式加解密演算法
語法 :openssl enc -h
只要打的參數不存在(不一定要打h),就會列出所有的參數,所以您可以發現想要查詢哪個命令的參數,只要後面輸入 -h即可知道!

產生私密金鑰(RSA演算法)
語法 :openssl genrsa -out private.key 長度
以上語法會把私密金鑰輸出到private.key檔案中,最後面沒有加參數,代表512位元的長度, 如果加上 1024 就是1024位元,如openssl genrsa -out private.key 1024

產生金鑰對(私密金鑰與公開金鑰)
語法 :openssl rsa -in private.key -out public.key -outform PEM
以上語法會依據已存在的私密金鑰private.key來產生對應的公開金鑰public.key,並且以PEM的格式產生.如果要指定要產生在哪個目錄下,可輸入D:/private.key即可,如產生在D槽下:openssl rsa -in d:/private.key -out d:/public.key -outform PEM

用公鑰加密檔案(RSA)
語法 :openssl rsautl -encrypt -inkey public.pem -pubin -in filename -out filename.rsa
rsautl : 使用RSA的工具
-encrypt : 進行加密動作
-inkey public.pem : 選用public.pem的公鑰
-pubin:公鑰放入加密檔案中
-in filename : 想加密的檔案
-out filename.rsa:加密完成的檔案

用私鑰解密檔案(RSA)
語法 :openssl rsautl -decrypt -inkey private.pem -in file.rsa -out file
rsautl : 使用RSA的工具
-dncrypt : 進行解密動作
-inkey private.pem : 選用private.pem的私鑰
-in filename.rsa : 想解密的檔案
-out filename:解密完成的檔案

產生CSR檔案(已存在私密金鑰)
語法:openssl req -new -key private.pem -out CSR.csr
金鑰參數:-key
已存在的私密金鑰: private.pem
輸出:-out
產生的CSR檔案:client.csr
特別注意:如果有發生Unable to load config info from c:/openssl-0.9.8y/ssl/openssl.cnf,找不到openssl.cnf的情況,可在語法最後加入 -config "檔案位置",如:-config c:/apache/conf/openssl.cnf 即可找到!根本做法是加系統環境變數
產生CSR檔案的時候會要您輸入一些資料,您輸入後即可產生CSR檔案!

產生CSR檔案(一併產生私密金鑰)
語法:openssl req -out CSR.csr -new -newkey rsa:2048 -nodes -keyout privateKey.key
產生RSA2048位元的金鑰:-newkey rsa:2048 -nodes -keyout privateKey.key
產生CSR檔案:-out CSR.csr
產生CSR檔案的時候會要您輸入一些資料與密碼,您輸入後即可產生CSR檔案!

產生CSR檔案(利用已存在的憑證與私鑰)
語法:openssl x509 -x509toreq -in certificate.crt -out CSR.csr -signkey privateKey.key
檔案格式:x509
使用既有的憑證:-in certificate.crt
產生CSR檔案:-out CSR.csr
使用既有私鑰(屬於上面憑證的):-signkey privateKey.key

讀取CSR檔案
語法:openssl req -in mycsr.csr -noout -text
要解讀的CSR檔案:-in mycsr.csr
以文字方式輸出在螢幕上:-noout -text (也可改成-out filename,輸出到檔案裡)
特別注意:如果有發生Unable to load config info from c:/openssl-0.9.8y/ssl/openssl.cnf,找不到openssl.cnf的情況,可在語法最後加入 -config "檔案位置",如:-config c:/apache/conf/openssl.cnf 即可找到!

確認CSR檔案正確與否
語法:openssl req -text -noout -verify -in myCSR.csr
確認的檔案:myCSR.csr
確認指令:-verify
如果確認OK會出現verify OK與憑證相關的資訊

產生自簽憑證(self signed certificate)
語法:openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout privateKey.key -out certificate.crt
檔案格式:-x509
產生365天效期 : -days 365
產生RSA 2048位元的私密金鑰:-newkey rsa:2048
產生憑證檔案:-out certificate.crt
注意:產生憑證的時候會要您輸入相關的憑證資訊!

針對私密金鑰進行加密保護
語法:openssl rsa -des3 -in private.key -out privatepass.key
使用des3加密方式:-des3
選取要加密的私鑰:-in private.key
產生加密後的私鑰:-out privatepass.key
注意:加密的私鑰必須是未加密過的,輸入後會要您打兩次的密碼!

取消私密金鑰的保護密碼
語法:openssl rsa -in private.key -out newprivateKey.key
選取要取消密碼的私鑰:-in private.key
產生取消後的私鑰:-out privatepass.key
注意:指令輸入後會要您輸入原本的密碼.要取消私鑰的密碼,必須知道原來的密碼.

確認金鑰是否正確
語法:openssl rsa -check -in Key.key
確認指令:-check
要確認的金鑰檔案:-in Key.key
注意:確認正確會出現RSA key ok以及憑證檔案的內容

查看憑證的內容
語法:openssl x509 -in certificate.crt -text -noout
以文字方式呈現:-text
要查看的憑證檔案:-in certificate.crt
注意:指令執行會會show出憑證的內容,可以藉此確認正確與否

檔案格式轉換(PEM to DER)
語法:openssl x509 -outform der -in cert.pem -out cert.der 輸出檔案格式:-outform der PEM格式檔案:-in cert.pem DER格式檔案:-out cert.der

檔案格式轉換(DER to PEM)
語法:openssl x509 -inform der -in cert.der -out cert.pem 輸入檔案格式:-inform der DER格式檔案:-out cert.pem PEM格式檔案:-in cert.der