makecer參數

在IIS的站點配置中可以爲站點加上證書,以保證站點的真實性和保護傳輸的數據的安全性。

爲站點加上證書之後,訪問站點就需要使用 https:// 協議訪問了,但前提就是要先去獲取一個證書。你可以從證書頒發機構(如 Verisign)獲得 基於 Internet 的客戶端進行 SSL 通信所需的證書。
但是,如果是爲了測試,您可以使用名爲 MakeCert.exe 的工具創建一個測試證書。MakeCert.exe 可以從 Microsoft .NET Framework 中獲得。(位置在:F:/Program Files/Microsoft Visual Studio 8/SDK/v2.0/Bin)。MakeCert.exe 也可從 Platform SDK 中獲得。MakeCert.exe 用於創建 X.509 證書。它爲數字簽名創建公鑰和私鑰對,並將其存儲在證書文件中。此工具也將密鑰對與指定發佈服務器相關聯,創建將用戶指定的名稱綁定到密鑰對公共部分的 X.509 證書。

若要爲主機名 (MyWebServer) 對應的服務器創建 SSL 證書,可以使用下列選項執行 MakeCert:

makecert -r -pe -n CN="MyWebServer" -eku 1.3.6.1.5.5.7.3.1 -ss my -sr localmachine

-sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12

命令行開關

-r

創建自我簽署的證書。自我簽署的證書是指那些不是由證書頒發機構簽署的證書。因爲它不是由證書頒發機構簽署的,所以可用於 SSL 所需的加密,但不可用於服務器身份驗證。

-n

指定服務器名稱。此名稱必須符合 X.500 標準。最簡單的方法是指定帶有雙引號且前面有 CN= 的名稱。

-eku

將一些以逗號分隔的增強型密鑰用法對象標識符 (OID) 指定到證書中。對於 SQL Server 2005,需要一個對具有 1.3.6.1.5.5.7.3.1 (szOID_PKIX_KP_SERVER_AUTH) OID 的服務器身份驗證有效的 SSL 證書。

-ss

指定保存創建的證書的證書存儲區。雖然可以將創建的證書保存到證書存儲區的任何位置,但我們建議將證書保存在 my 存儲區中。

-sr

指定證書所在的證書存儲區。位置既可以是 currentuser (默認),也可以是 localmachine。因爲此證書是爲服務創建的,所以應將它放置在本地計算機中。

-sky

指定證書密鑰類型。此開關的值必須爲 signature、exchange 或整數(如 4)。對於 RSA 公鑰交換算法,此處必需是 exchange。這是用於加密和解密會話密鑰的密鑰類型。

-sp

指定 CryptoAPI 提供程序名稱。對於爲 SQL Server 創建的證書,可以將其設置爲 Microsoft RSA SChannel Cryptographic Provider。

-sy

指定 CryptoAPI 提供程序類型。如果提供程序是 Microsoft RSA SChannel Cryptographic Provider,則此開關的值爲 12。

其他命令行開關

-b

以 mm/dd/yyyy 格式指定證書有效期的起始時間的日期值。默認值爲證書的創建日期。

-e

以 mm/dd/yyyy 格式指定證書有效期的結束時間的日期值。如果無其他設置,則默認值爲 12/31/2039 11:59:59 GMT。

示例

下面的示例說明了如何使用 MakeCert 和其他選項創建證書。

makecert -r -pe -n "CN= WebServerName" -b 01/01/2000 -e 01/01/2036
-eku 1.3.6.1.5.5.7.3.1 -ss my -sr localMachine -sky exchange
-sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12

創建證書後,您可以從證書的 MMC 或使用工具(如 CertUtil)來獲得證書哈希。使用 CertUtil,可以列出剛剛創建的證書。

C:/>certutil -store "my" "WebServerName"

================ Certificate 2 ================
Serial Number: e302d3a7a831c9884c0dd736f24825e6
Issuer: CN=MySQLServerName
Subject: CN=MySQLServerName
Signature matches Public Key
Root Certificate: Subject matches Issuer
Cert Hash(sha1): d2 2f 9a 7f 18 cb ed 13 a1 3e be e5 32 69 6c 4b ad ba b9 30
Key Container = 956cbc46-f005-4aeb-b521-7c313f2ccd10
Provider = Microsoft RSA SChannel Cryptographic Provider
Encryption test passed
CertUtil: -store command completed successfully.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章