Aracılığıyla paylaş


Sertifika (Transact-SQL) oluştur

sertifika bir veritabanına ekler.

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

Sözdizimi

CREATE CERTIFICATE certificate_name [ AUTHORIZATION user_name ] 
    { FROM <existing_keys> | <generate_new_keys> }
    [ ACTIVE FOR BEGIN_DIALOG =  { ON | OFF } ]
        
<existing_keys> ::= 
    ASSEMBLY assembly_name
    | { 
        [ EXECUTABLE ] FILE = 'path_to_file'
        [ WITH PRIVATE KEY ( <private_key_options> ) ] 
      }
        
<generate_new_keys> ::= 
    [ ENCRYPTION BY PASSWORD = 'password' ] 
    WITH SUBJECT = 'certificate_subject_name' 
    [ , <date_options> [ ,...n ] ] 

<private_key_options> ::=
    FILE = 'path_to_private_key'
    [ , DECRYPTION BY PASSWORD = 'password' ]
    [ , ENCRYPTION BY PASSWORD = 'password' ]  

<date_options> ::=
    START_DATE = 'datetime' | EXPIRY_DATE = 'datetime'

Bağımsız değişkenler

  • certificate_name
    Olarak sertifika veritabanında bilinecek adıdır.

  • YETKİLENDİRMEuser_name
    Bu sertifikasahibi kullanıcı adıdır.

  • DERLEMEassembly_name
    Veritabanına zaten yüklenmiş imzalı bir derleme belirtir.

  • [YÜRÜTÜLEBİLİR] FILE ='path_to_file'
    sertifikaiçeren der ile kodlanmış bir dosya için dosya adı da dahil olmak üzere tam yolbelirtir.YÜRÜTÜLEBİLİR seçeneği kullanılırsa, ' % s'sertifikası sertifikatarafından imzalanmış bir dll dosyasıdır.path_to_fileyerel bir yol veya bir ağ konumuna bir unc yol olabilir.Dosya güvenlik bağlamında erişilecek SQL Server hizmet hesabı.Bu hesabın gerekli dosya sistemi izinleri olması gerekir.

  • ÖZEL ANAHTARLA
    sertifika özel anahtar içine yüklendiği belirtir SQL Server.sertifika bir dosya oluşturulduğunda, bu yan tümce yalnızca geçerli olur.derlemeözel anahtar yüklemek için kullanmak Sertifika alter.

  • FILE ='path_to_private_key'
    Özel anahtardosya adı da dahil olmak üzere tam yolbelirtir.path_to_private_keyyerel bir yol veya bir ağ konumuna bir unc yol olabilir.Dosya güvenlik bağlamında erişilecek SQL Server hizmet hesabı.Bu hesabın gerekli dosya sistemi izinleri olması gerekir.

  • Şifre çözme by parola ='key_password'
    Bir dosyadan alınan özel anahtar şifresini çözmek için gereken parolayı belirtir.Bu yan tümce özel anahtar null bir parola ile korunmuşsa isteğe bağlıdır.Özel anahtar parola korumalı olmayan bir dosyaya kaydetme önerilmez.Parola gereklidir, ancak hiçbir parola belirtilmedi, deyim başarısız olur.

  • Şifreleme by parola ='password'
    Özel anahtarşifrelemek için kullanılacak parolayı belirtir.sertifika bir parola ile şifrelemek isterseniz bu seçeneği kullanın.Bu yan tümce atlanırsa, özel anahtar veritabanı ana anahtarkullanılarak şifrelenecektir.passwordörnek çalıştıran bilgisayarda Windows parola ilkesi gereksinimlerini karşılamalıdır SQL Server.Daha fazla bilgi için, bkz. Parola İlkesi.

  • Konu ='certificate_subject_name'
    Bu terim Konu x.509 standardında tanımlanan sertifika meta veriler bir alan gösterir.Konu, en çok 128 karakter uzunluğunda olabilir.128 Karakterden fazla konular bunlar katalogda depolanır, ancak tam konu adı sertifika içeren ikili büyük nesne (blob) korur kesilecek.

  • Başlangıç_tarihi ='datetime'
    Olduğu tarih , sertifika geçerli olur.Belirtilmezse, Başlangıç_tarihi küme için geçerli tariheşit olacaktır.Başlangıç_tarihi utc saat ve bir tarih ve saatdönüştürülebilir herhangi bir biçimde belirtilebilir.

  • EXPIRY_DATE ='datetime'
    sertifika sona erdiği tarih olacaktır.Belirtilmezse, EXPIRY_DATE, bir tarih küme Başlangıç_tarihi sonra bir yıl olacaktır.EXPIRY_DATE utc saat içinde ve bir tarih ve saatdönüştürülebilir herhangi bir biçimde belirtilebilir.SQL Server Hizmet Aracısı sona erme tarihdenetler; Ancak, sertifika için şifrelemekullanıldığında, sona erme zorlanmaz.

  • Etkin için BEGIN_DIALOG = { on | OFF}
    sertifika başlatıcı için kullanılabilir hale getirir bir Service Broker iletişim konuşma.Varsayılan değer açık'tır.

Açıklamalar

Bir sertifika , x.509 standardına uygun ve x.509 V1 alanları destekleyen bir veritabanı -düzey güvenliği sağlanabilir içindir.Sertifika oluşturma, bir dosya veya derlemebir sertifika yükleyebilirsiniz.Bu deyim de bir anahtar çifti oluşturmak ve kendinden imzalı bir sertifikaoluşturun.

Özel anahtarlar tarafından üretilen SQL Server 1024 bit uzun olanBir dış kaynak alınan özel anahtarlar 384 bit uzunluk ve 3,456 bit uzunluğu maksimum vardır.Alınan özel anahtar uzunluğu tamsayı olmalı çoklu 64 bit.

Özel anahtar tarafından belirtilen ortak anahtar eşleşmelidir certificate_name.

Bir kapsayıcıbir sertifika oluşturduğunuzda, özel anahtar yükleme isteğe bağlıdır.Ancak ne zaman SQL Server otomatik olarak imzalanan sertifikaoluşturduğu özel anahtar her zaman oluşturulur.Varsayılan olarak, özel anahtar veritabanı ana anahtarkullanılarak şifrelenir.Veritabanı ana anahtar yok ve hiçbir parola belirtilen, deyim başarısız olur.

Özel anahtar veritabanı ana anahtarile şifrelenir zaman tarafından şifreleme parola seçeneği gerekli değildir.Yalnızca özel anahtar parola ile şifrelenir, bu seçeneği kullanın.Parola belirtilmemişse, özel anahtar sertifika veritabanı ana anahtarkullanılarak şifrelenir.Veritabanı ana anahtar açılamıyor bu yan tümce atlama bir hata neden olur.

Veritabanı ana anahtarile şifrelenmiş özel anahtar şifre çözme parola belirtmeniz gerekmez.

Not

Yerleşik fonksiyonlar için şifreleme ve imzalama sertifikalarının sona erme tarihlerini denetlemez.Kullanıcılar bu işlevlerin sertifika süresinin denetlemek ne zaman karar vermeniz gerekir.

İzinler

OLUŞTURDUĞUNUZ sertifika veritabanı izni gerektirir.Yalnızca Windows oturumu açma SQL Server oturumları ve uygulama rolleri kendi sertifikaları.Grupları ve rolleri sertifika sahibi olamaz.

Örnekler

A.Otomatik olarak imzalanan sertifikaoluşturma

Aşağıdaki örnek, adı verilen bir sertifika oluşturur Shipping04.Bu sertifika özel anahtar bir parolayla korunmuştur.

USE AdventureWorks2008R2;
CREATE CERTIFICATE Shipping04 
   ENCRYPTION BY PASSWORD = 'pGFD4bb925DGvbd2439587y'
   WITH SUBJECT = 'Sammamish Shipping Records', 
   EXPIRY_DATE = '10/31/2009';
GO

B.Bir dosyadan bir sertifika oluşturma

Aşağıdaki örnek veritabanındaki dosyalardan anahtar çifti yüklenirken bir sertifika oluşturur.

USE AdventureWorks2008R2;
CREATE CERTIFICATE Shipping11 
    FROM FILE = 'c:\Shipping\Certs\Shipping11.cer' 
    WITH PRIVATE KEY (FILE = 'c:\Shipping\Certs\Shipping11.pvk', 
    DECRYPTION BY PASSWORD = 'sldkflk34et6gs%53#v00');
GO 

C.sertifika imzalı bir yürütülebilir dosyadan oluşturma

USE AdventureWorks2008R2;
CREATE CERTIFICATE Shipping19 
    FROM EXECUTABLE FILE = 'c:\Shipping\Certs\Shipping19.dll';
GO

Bunun yerine, derleme oluşturabilirsiniz dll Dosya ve derlemebir sertifika oluşturun.

USE AdventureWorks2008R2;
CREATE ASSEMBLY Shipping19 
    FROM ' c:\Shipping\Certs\Shipping19.dll' 
    WITH PERMISSION_SET = SAFE;
GO
CREATE CERTIFICATE Shipping19 FROM ASSEMBLY Shipping19;
GO