Aracılığıyla paylaş


ASİMETRİK anahtar (Transact-SQL) oluştur

Veritabanındaki bir asimetrik anahtar oluşturur.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

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

  • DANAsym_Key_Source
    kaynak olarak asimetrik anahtar çifti yüklemek belirtir.

  • YETKİLENDİRMEdatabase_principal_name
    Asimetrik anahtarsahibini belirtir.Rol veya bir grubun sahibi olamaz.Bu seçenek belirtilmezse, geçerli kullanıcının sahibi olacaktır.

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

  • YÜRÜTÜLEBİLİR dosya ='path_to_executable_file'
    Ortak anahtaryüklemek bir derleme dosyası belirtir.Windows APImax_path tarafından 260 karakter sınırlı.

  • DERLEMEAssembly_Name
    derleme , ortak anahtaryüklemek adını belirtir.

  • ŞİFRELEME TARAFINDAN<key_name_in_provider>
    anahtar nasıl şifrelenir belirtir.sertifika, parola veya asimetrik anahtarolabilir.

  • KEY_NAME ='key_name_in_provider'
    sağlayıcıdış anahtar adını belirtir.Dış anahtar yönetimi hakkında daha fazla bilgi için bkz: Genişletilebilir Anahtar Yönetimi (ekm) Anlama.

  • CREATION_DISPOSITION = create_new
    Genişletilebilir Key Management aygıt üzerinde yeni bir anahtar oluşturur.prov_key_name aygıtında anahtar adını belirtmek için kullanılmalıdır.Aygıtta bir anahtar zaten varsa, deyim hata ile başarısız olur.

  • CREATION_DISPOSITION = OPEN_EXISTING
    Haritalar bir SQL Server Varolan bir Genişletilebilir Key Management anahtarasimetrik anahtar .prov_key_name aygıtında anahtar adını belirtmek için kullanılmalıdır. Yoksa CREATION_DISPOSITION = OPEN_EXISTING sağlanmadığından, create_new varsayılandır.

  • PAROLA = 'password'
    Özel anahtarşifrelemek kullanılacak parolayı belirtir.Bu yan tümce yoksa, özel anahtar veritabanı ana anahtarile şifrelenir.passworden çok 128 karakter olur.passwordörnek çalıştıran bilgisayarda Windows parola ilkesi gereksinimlerini karşılamalıdır SQL Server.

Açıklamalar

Bir asimetrik anahtar veritabanı düzeybir güvenliği sağlanabilirvarlık . Varsayılan haliyle bu varlık , bir ortak anahtar ve özel anahtariçerir.from yan tümceçalıştırıldığında, ASİMETRİK anahtar oluşturma yeni bir anahtar çifti oluşturur.from yan tümceile çalıştırıldığında, ASİMETRİK anahtar oluşturma bir anahtar çifti bir dosyadan alır veya derlemeortak anahtar alır.

Varsayılan olarak, özel anahtar veritabanı ana anahtartarafından korunur.Hiçbir veritabanı ana anahtar oluşturuldu, özel anahtarkorumak için bir parola gereklidir.Veritabanı ana anahtar yoksa, parola isteğe bağlıdır.

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

İzinler

Veritabanındaki ASİMETRİK anahtar oluşturma izni gerektirir.YETKİLENDİRME yan tümce belirtilirse, asıl veritabanı özelliklerini Al izni ya da uygulama rolüalter izni gerektirir.Yalnızca Windows oturumu açma SQL Server oturumları ve uygulama rolleri sahibi olabileceğini asimetrik anahtarları.Grupları ve rolleri asimetrik anahtarlar sahibi olamaz.

Örnekler

A.Bir asimetrik anahtaroluşturma

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

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

B.yetkilendirme bir kullanýcýya vermeden bir dosyadan bir asimetrik anahtar oluşturma

Aşağıdaki örnek, asimetrik anahtaroluştururPacificSales19 bir anahtar çifti bir dosyada depolanır ve sonra kullanıcı yetkisi verir Christina asimetrik anahtar.

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

C.Bir ekm sağlayıcı' ndan bir asimetrik anahtar oluşturma

Aşağıdaki örnek, asimetrik anahtaroluştururEKM_askey1 depolanan dosya. anahtar çiftinden Sonra adlı bir Genişletilebilir Key Management sağlayıcı kullanarak ifreler EKMProvider1, bu sağlayıcı anahtar adı verilen ve 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