使用憑證簽署封裝
更新: 2006 年 12 月 12 日
SQL Server 2005 Integration Services (SSIS) 封裝可以使用憑證進行簽署,也可以設定為要求執行階段在載入封裝前檢查簽章。封裝的屬性 CheckSignatureOnLoad 及 CertificateObject 會指出是否必須檢查憑證,並指定用來簽署封裝的憑證。用來簽署封裝的憑證必須已啟用程式碼簽章功能。
Integration Services 提供一個可用來管理載入已簽署和未簽署封裝之組織原則的登錄值。該登錄值也可以管理已簽署封裝之不受信任的簽章。關於用來簽署封裝的簽章狀態,BlockedSignatureStates 登錄值會使用下列定義:
- 「有效簽章」是指可以成功讀取的簽章。
- 「無效簽章」是指簽章的解密總和檢查碼 (由私密金鑰加密之封裝程式碼的單向雜湊) 與載入 Integration Services 封裝程序中導出的解密總和檢查碼不符。
- 「信任簽章」是指使用由信任根憑證授權單位簽署的數位憑證所建立的簽章。使用此設定時,簽署者不必出現在使用者的「受信任的發行者」清單中。
- 「不受信任的簽章」是指無法確認為信任根憑證授權單位所發出的簽章,或不是目前的簽章。
若要使用登錄值,以防止封裝在未簽署、擁有無效或不受信任的簽章時載入,您必須將 BlockedSignatureStates DWORD 值加入 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTS 登錄機碼,並指定 0、1、2 或 3 值。
下表列出 DWORD 資料的有效值及其相關聯的原則。
值 | 描述 |
---|---|
0 |
沒有管理限制。 |
1 |
封鎖無效的簽章。 此設定不會封鎖未簽署的封裝。 |
2 |
封鎖無效及不受信任的簽章。 此設定不會封鎖未簽署的封裝,但是會封鎖自我產生的簽章。 |
3 |
封鎖無效和不受信任的簽章以及未簽署的封裝。 此設定也會封鎖自我產生的簽章。 |
如果 BlockedSignatureStates 登錄值的類型是 DWORD,而且登錄值不是 0、1、2 或 3,則 Integration Services 會將登錄值視為 3。如果 BlockedSignatureStates 不是設定為 DWORD,則 Integration Services 會將登錄值視為具有 0 值的 DWORD。
附註: |
---|
BlockedSignatureStates 的建議設定為 3。此設定會提供最大程度的保護,以防範無效或不受信任的未簽署封裝或簽章。但是,建議設定未必適合所有情況。如需有關如何簽署數位資產的詳細資訊,請參閱 MSDN Library 中的<程式碼簽章簡介>(英文) 主題。 |
若要簽署封裝
請參閱
概念
Integration Services 封裝
Integration Services 的安全性考量
說明及資訊
變更歷程記錄
版本 | 歷程記錄 |
---|---|
2006 年 12 月 12 日 |
|
2006 年 4 月 14 日 |
|