SERTIFIKASı (Transact-SQL) CREATE
Sertifika, bir veritabanına ekler.
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 = 'mm/dd/yyyy' | EXPIRY_DATE = 'mm/dd/yyyy'
Bağımsız değişkenler
certificate_name
Hangi sertifika veritabanında bilindiği addır.user_name yetkilendirme
Bu sahibi olan kullanıcının adı sertifika.assembly_name derleme
Veritabanına zaten yüklenmiş imzalı bir derleme belirtir.[ EXECUTABLE ] FILE ='path_to_file'
Sertifikayı içeren DER ile kodlanmış bir dosyaya, dosya adı dahil tam yolunu belirtir.If the EXECUTABLE option is used, the file is a DLL that has been signed by the certificate.path_to_file can be a local path or a UNC path to a network location.Dosya, güvenlik bağlamında erişileceğini SQL Server Hizmet hesabı'nı tıklatın. Bu hesabın, gerekli dosya sistemi izinlerinin olması gerekir.En büyük SSN değer döndürülüyor
Belirleyen özel anahtar içine Özgünlük yüklenir SQL Server. Bu yan tümce yalnızca ne zaman geçerli olacağı sertifika bir dosya oluşturulur.derleme özel anahtar'nı yüklemek için kullanın. DEĞİŞTİRME sertifika.FILE ='path_to_private_key'
Specifies the complete path, including file name, to the private key.path_to_private_key can be a local path or a UNC path to a network location.Dosya, güvenlik bağlamında erişileceğini SQL Server Hizmet hesabı'nı tıklatın. Bu hesabın, gerekli dosya sistemi izinlerinin olması gerekir.PASSWORD BY şifre çözme**= 'key_password'**
Bir dosyadan alınan özel anahtar şifresini çözmek için gereken parolayı belirtir.Bu yan tümce, özel anahtar null parola ile korunmuş durumdaysa bu işlem isteğe bağlıdır.Özel kaydetme anahtar parola olmadan bir dosyaya koruma önerilmez.deyim bir parola gereklidir, ancak hiçbir parola belirtilmedi, başarısız olur.ENCRYPTION BY PASSWORD ='password'
Özel anahtar şifrelemek için kullanılan parolayı belirtir.Şifrelemek istiyorsanız, bu seçeneği kullanın sertifika bir parolaya sahip.If this clause is omitted, the private key will be encrypted using the database master key.password must meet the Windows password policy requirements of the computer that is running the instance of SQL Server.Daha fazla bilgi için bkz:Parola ilkesi.SUBJECT**= 'certificate_subject_name'**
Terimi Konu meta veriler standart X.509 içinde tanımlandığı şekilde sertifika bir alana başvuruyor.Konu, en çok 128 karakter uzunluğunda olabilir.Katalog, ancak içeren ikili büyük nesne (BLOB) depolandığında 128 karakterden uzun özneler fazlalıklar atılacak sertifika tam konu adını korur.START_DATE ='mm/dd/yyyy'
Tarih, sertifika geçerli olur.Belirtilmezse, START_DATE olacak küme geçerli tarihe eşit.UTC START_DATE olan saat ve ikincisi, taneciklik için ayarlanabilir.EXPIRY_DATE ='mm/dd/yyyy'
Tarih, sertifika süresi doluyor.Belirtilmezse, EXPIRY_DATE olacak küme bir yıl sonra START_DATE tarih.EXPIRY_DATE UTC süresidir ve ikincisi, taneciklik için ayarlanabilir.SQL Server Sona erme tarihini Hizmet Aracısı denetler; bu sertifika için şifreleme kullanıldığında, sona erme ancak zorlanmaz.ACTIVE FOR BEGIN_DIALOG**=** { AÇIK | OFF }
Sertifika için başlatıcı tarafından kullanılabilmesini bir Service Broker iletişim konuşma. Varsayılan değer AÇıK'tır.
Remarks
A sertifika bir veritabanı-X.509 standardını izler ve X.509 V1 alanlar'ı destekleyen güvenliği sağlanabilir düzey.CREATE SERTIFIKASı sertifika, bir dosya veya derleme yükleyebilirsiniz.Bu deyim de bir anahtar çifti oluşturmak ve kendini imzalamış sertifika oluşturabilirsiniz.
Oluşturulan özel anahtarlar SQL Server 1024 bit uzunluğunda olur. 384 Bitlik uzunluk alt sınırı ve 3,456 bit uzunluğu en fazla bir dış kaynaktan alınan özel anahtar var.Alınan bir özel anahtar uzunluğu tamsayı olmalıdır 64 bitlik çok.
Özel anahtar, belirtilen ortak anahtara karşılık gelmelidir certificate_name.
kapsayıcı sertifika oluşturduğunuzda, özel anahtar yükleme isteğe bağlıdır.Ancak, SQL Server kendini imzalamış sertifika oluşturur özel anahtarın her zaman oluşturulur. Varsayılan olarak, özel anahtarı, veritabanı ana anahtar kullanılarak şifrelenir.Veritabanı ana anahtar yok ve hiçbir parola belirtilmedi, bu deyim başarısız olur.
Veritabanı ana anahtar ile şifrelenmiş özel anahtarı, ŞIFRELEME PASSWORD'BY seçeneği gerekli değildir.Yalnızca özel anahtar bir parola ile şifrelenir, bu seçeneği kullanın.Parola belirtilmemişse, sertifikanın özel anahtarı veritabanı ana anahtar kullanılarak şifrelenecektir.Bu yan tümce kullanılmazsa, veritabanının ana anahtar açılamıyor, hata neden olur.
Veritabanı ana anahtar ile şifrelenmiş özel anahtar, şifre çözme parola belirtmek zorunda değildir.
Not
Sertifika süre sonu tarihlerini, şifreleme ve imzalama için yerleşik işlevler denetlemez.Kullanıcılar bu işlevlerin denetlemek ne zaman karar vermelisiniz sertifika süre sonu.
İzinler
CREATE gerektirir sertifika veritabanı izni.Yalnızca Windows oturumlarının listelendiği, SQL Server Sertifikalar, oturum ve uygulama rollerine sahip olabilir. Sertifikaları, grupları ve rol sahibi olamaz.
Örnekler
C.Kendini imzalamış sertifika oluşturma
Aşağıdaki örnek, adı verilen bir sertifika oluşturur. Shipping04. Bu sertifikanın özel anahtar bir parolayla korunmuştur.
USE AdventureWorks;
CREATE CERTIFICATE Shipping04
ENCRYPTION BY PASSWORD = 'pGFD4bb925DGvbd2439587y'
WITH SUBJECT = 'Sammamish Shipping Records',
EXPIRY_DATE = '10/31/2009';
GO
b.Bir dosyadan sertifika oluşturma
Aşağıdaki örnek veritabanındaki dosyalardan anahtar çifti yükleniyor bir sertifika oluşturur.
USE AdventureWorks;
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.Imzalanmış bir yürütülebilir dosyadan sertifika oluşturma
USE AdventureWorks;
CREATE CERTIFICATE Shipping19
FROM EXECUTABLE FILE = 'c:\Shipping\Certs\Shipping19.dll';
GO
Alternatif olarak, bir derleme oluşturabileceğiniz dll Dosya ve sonra da derleme bir sertifika oluşturabilir.
USE AdventureWorks;
CREATE ASSEMBLY Shipping19
FROM ' c:\Shipping\Certs\Shipping19.dll'
WITH PERMISSION_SET = SAFE;
GO
CREATE CERTIFICATE Shipping19 FROM ASSEMBLY Shipping19;
GO
See Also