The Wayback Machine - http://web.archive.org/web/20121027182736/http://msdn.microsoft.com:80/zh-tw/library/ms174430(v=sql.90).aspx
本主題尚未接受評分 - 為這個主題評分

CREATE ASYMMETRIC KEY (Transact-SQL)

在資料庫中建立非對稱金鑰。

主題連結圖示 Transact-SQL 語法慣例


CREATE ASYMMETRIC KEY Asym_Key_Name 
   [ AUTHORIZATION database_principal_name ]
   {
      FROM <Asym_Key_Source>
      |
      WITH ALGORITHM = { RSA_512 | RSA_1024 | RSA_2048 }
   }
      [ ENCRYPTION BY PASSWORD = 'password' ] 

<Asym_Key_Source>::=
   FILE = 'path_to_strong-name_file'
   |
   EXECUTABLE FILE = 'path_to_executable_file'
   |
   ASSEMBLY Assembly_Name
FROM Asym_Key_Source

指定載入非對稱金鑰組時所在的來源。

AUTHORIZATION database_principal_name

指定非對稱金鑰的擁有者。該擁有者不能是角色或群組。如果省略了這個選項,該擁有者便是目前的使用者。

FILE = 'path_to_strong-name_file'

指定載入金鑰組時所在的強式名稱檔案之路徑。

EXECUTABLE FILE = 'path_to_executable_file'

指定載入公開金鑰時所在的組件檔案。

ASSEMBLY Assembly_Name

指定載入公開金鑰時所在的組件之名稱。

ENCRYPTION BY PASSWORD = 'password'

指定用來加密私密金鑰的密碼。如果沒有這個子句,則會利用資料庫主要金鑰來加密私密金鑰。password 不可超過 128 個字元。

「非對稱金鑰」是資料庫層級的安全性實體。在它的預設格式中,這個實體同時包含公開金鑰和私密金鑰。如果執行時不使用 FROM 子句,CREATE ASYMMETRIC KEY 會產生新金鑰組。如果執行時使用 FROM 子句,CREATE ASYMMETRIC KEY 會從檔案匯入金鑰組,或從組件匯入公開金鑰。

依預設,私密金鑰由資料庫主要金鑰保護。如果尚未建立資料庫主要金鑰,則需要利用密碼保護私密金鑰。如果有資料庫主要金鑰,則密碼是選用的。

私密金鑰的長度可以是 512、1024 或 2048 位元。

需要資料庫的 CREATE ASYMMETRIC KEY 權限。如果指定了 AUTHORIZATION 子句,則需要資料庫主體的 IMPERSONATE 權限或應用程式角色的 ALTER 權限。

A. 建立非對稱金鑰

下列範例會利用 RSA_2048 演算法建立一個名稱為 PacificSales09 的非對稱金鑰,並利用密碼保護私密金鑰。

CREATE ASYMMETRIC KEY PacificSales09 
    WITH ALGORITHM = RSA_2048 
    ENCRYPTION BY PASSWORD = 'bmsA$dk7i82bv55foajsd9764'; 
GO

B. 從檔案建立非對稱金鑰,並提供授權給使用者

下列範例從儲存在檔案中的金鑰組建立非對稱金鑰 PacificSales19,然後授權使用者 SyedAbbas 使用該非對稱金鑰。

CREATE ASYMMETRIC KEY PacificSales19 AUTHORIZATION SyedAbbas  
    FROM FILE = ' c:\PacSales\Managers\SyedAbbasCerts.tmp'  
    ENCRYPTION BY PASSWORD = '35698ofg0sjlkfLKJ4548872$$$2';
GO
本文對您有任何幫助嗎?
(剩餘 1500 個字元)
社群內容 新增