Share via


ASIMETRIK ANAHTAR (Transact-SQL) CREATE

Bir asimetrik anahtar veritabanında oluşturur.

Topic link iconTransact-SQL sözdizimi kuralları

CREATE ASYMMETRIC KEY Asym_Key_Name 
   [ AUTHORIZATION database_principal_name ]
   {
            [ FROM <Asym_Key_Source> ]
      |
      WITH <key_option>
   [ ENCRYPTION BY <encrypting_mechanism> ]

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

<key_option> ::=
   ALGORITHM = <algorithm>
      |
   PROVIDER_KEY_NAME = 'key_name_in_provider'
      |
      CREATION_DISPOSITION = { CREATE_NEW | OPEN_EXISTING }

<algorithm> ::=
      { RSA_512 | RSA_1024 | RSA_2048 } 

<encrypting_mechanism> ::=
    PASSWORD = 'password' 

Bağımsız değişkenler

  • Asym_Key_Source
    Asimetrik anahtar çifti yüklemek, kaynak belirtir.

  • database_principal_name yetkilendirme
    Asimetrik anahtarın sahibini belirtir.Sahip, rol veya bir grup olamaz.Sahibi, bu seçenek belirtilmezse, geçerli kullanıcının olacaktır.

  • Dosya = ' path_to_strong-name_file'
    Almak istediğiniz anahtar çifti yüklemek kesin ad dosyasının yolunu belirtir.

  • YÜRÜTÜLEBILIR DOSYA = ' path_to_executable_file'
    Ortak anahtar'nı yüklemek için bir derleme dosyası belirtir.

  • Assembly_Name derleme
    Ortak anahtar'nı yüklemek bir derleme adını belirtir.

  • ŞIFRELEME BY <key_name_in_provider>
    Nasıl şifreli anahtar belirtir.Bir sertifika, parola ya da asimetrik anahtar olabilir.

  • KEY_NAME = ' key_name_in_provider'
    Dış sağlayıcısından anahtar adını belirtir.Dış anahtar yönetimi hakkında daha fazla bilgi için bkz: Genişletilmiş Anahtar Yönetimi (EKM) anlama.

  • creation_disposition create_new =
    Yeni bir anahtar, genişletilmiş anahtar yönetimi aygıtta oluşturur.PROV_KEY_NAME aygıtta anahtar adı belirtmek için kullanılmalıdır.Aygıttaki anahtar zaten varsa, deyim hatasını vererek başarısız oluyor.

  • creation_disposition open_existing =
    Eşlemeler bir SQL Server Varolan bir Genişletilebilir Key Management anahtarı asimetrik anahtar. PROV_KEY_NAME aygıtta anahtar adı belirtmek için kullanılmalıdır.CREATION_DISPOSITION = OPEN_EXISTING sağlanmayabilir, CREATE_NEW varsayılandır.

  • PASSWORD = ' password'
    Özel anahtar şifrelemek kullanılacak parolayı belirtir.If this clause is not present, the private key will be encrypted with the database master key.password is a maximum of 128 characters.password must meet the Windows password policy requirements of the computer that is running the instance of SQL Server.

Remarks

Bir asimetrik anahtar veritabanını güvenli hale getirilebilen bir varlıkta olan düzey.Bu varlığın, varsayılan şekliyle, hem ortak anahtar ve özel anahtar içerir.FROM yan tümce kullanıldığında, CREATE ASIMETRIK ANAHTAR yeni bir anahtar çifti oluşturur.FROM yan tümce ile birlikte kullanıldığında, CREATE ASIMETRIK ANAHTAR bir anahtar çifti bir dosyadan alır veya ortak anahtar, bir derleme alır.

Varsayılan olarak, özel anahtar veritabanı ana anahtar tarafından korunur.Hiçbir veritabanı ana anahtar oluşturulmuşsa, özel anahtar korumak için parola gerekir.Bir veritabanı ana anahtar yoksa, parola isteğe bağlıdır.

Özel anahtar olarak 512, 1024 veya 2048 bit, uzun.

İzinler

Veritabanı CREATE ASIMETRIK ANAHTAR iznine gerek duyar.yetkilendirme yan tümce belirtilirse, asıl veritabanının özelliklerini AL iznine veya uygulama rolü ALTER izni gerektirir.Yalnızca Windows oturumlarının listelendiği, SQL Server asimetrik anahtarlar, oturum ve uygulama rollerine sahip olabilir. Asimetrik anahtar gruplarını ve rol sahibi olamaz.

Örnekler

C.Bir asimetrik anahtar oluşturma

Aşağıdaki örnek, adlı bir asimetrik anahtar oluşturur. PacificSales09 kullanarak RSA_2048 algoritma ve bir parola ile birlikte özel anahtarı korur.

CREATE ASYMMETRIC KEY PacificSales09 
    WITH ALGORITHM = RSA_2048 
    ENCRYPTION BY PASSWORD = '<enterStrongPasswordHere>'; 
GO

b.Yetkilendirme, bir kullanıcıya vermek, bir dosyadan bir asimetrik anahtar oluşturma

Aşağıdaki örnek, asimetrik anahtar oluşturur. PacificSales19 bir anahtar çifti bir dosyada saklanan ve sonra da kullanıcı yetkilendirir Christina asimetrik anahtar kullanmak için .

CREATE ASYMMETRIC KEY PacificSales19 AUTHORIZATION Christina 
    FROM FILE = 'c:\PacSales\Managers\ChristinaCerts.tmp'  
    ENCRYPTION BY PASSWORD = '<enterStrongPasswordHere>';
GO

c.Bir EKM sağlayıcısından bir asimetrik anahtar oluşturma

Aşağıdaki örnek, asimetrik anahtar oluşturur. EKM_askey1 bir dosyada saklanan bir anahtar çifti. Bunun ardından adlı bir Genişletilebilir anahtar Management sağlayıcı kullanarak şifreler EKMProvider1, ve bu sağlayıcısında anahtar olarak adlandırılır. key10_user1.

CREATE ASYMMETRIC KEY EKM_askey1 
    FROM PROVIDER EKM_Provider1
    WITH 
        ALGORITHM = RSA_512, 
        CREATION_DISPOSITION = CREATE_NEW
        , PROVIDER_KEY_NAME  = 'key10_user1' ;
GO

Değişiklik Geçmişi

Güncelleştirilmiş içerik

Sözdizimi SERTIFIKASı ve ASIMETRIK ANAHTAR seçeneklerden birini kaldırarak düzeltildi. <encrypting_mechanism>. PASSWORD yalnızca geçerli olan seçenektir.