Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Analiz Platformu Sistemi (PDW)
Microsoft Fabric'te SQL veritabanı
Sertifikanın özel anahtarını şifrelemek için kullanılan parolayı değiştirir, özel anahtarı kaldırır veya yoksa özel anahtarı içeri aktarır. Sertifikanın kullanılabilirliğini Hizmet Aracısı olarak değiştirir.
Transact-SQL söz dizimi kuralları
Syntax
-- Syntax for SQL Server and Azure SQL Database
ALTER CERTIFICATE certificate_name
REMOVE PRIVATE KEY
| WITH PRIVATE KEY ( <private_key_spec> )
| WITH ACTIVE FOR BEGIN_DIALOG = { ON | OFF }
<private_key_spec> ::=
{
{ FILE = 'path_to_private_key' | BINARY = private_key_bits }
[ , DECRYPTION BY PASSWORD = 'current_password' ]
[ , ENCRYPTION BY PASSWORD = 'new_password' ]
}
|
{
[ DECRYPTION BY PASSWORD = 'current_password' ]
[ [ , ] ENCRYPTION BY PASSWORD = 'new_password' ]
}
-- Syntax for Parallel Data Warehouse
ALTER CERTIFICATE certificate_name
{
REMOVE PRIVATE KEY
| WITH PRIVATE KEY (
FILE = '<path_to_private_key>',
DECRYPTION BY PASSWORD = '<key password>' )
}
Arguments
certificate_name
Sertifikanın veritabanında bilindiği benzersiz ad.
ÖZEL ANAHTARı KALDıR
Özel anahtarın artık veritabanında tutulacağını belirtir.
ÖZEL ANAHTAR İLE Sertifikanın özel anahtarının SQL Server'a yüklendiğini belirtir.
DOSYA ='path_to_private_key'
Özel anahtarın dosya adı da dahil olmak üzere tam yolunu belirtir. Bu parametre yerel bir yol veya ağ konumuna giden bir UNC yolu olabilir. Dosyaya SQL Server hizmet hesabının güvenlik bağlamında erişilir. Bu seçeneği kullandığınızda, hizmet hesabının belirtilen dosyaya erişimi olduğundan emin olun.
Yalnızca bir dosya adı belirtirseniz, dosya örneğin varsayılan kullanıcı verileri klasörüne kaydedilir. Bu klasör SQL Server DATA klasörü olabilir veya olmayabilir. SQL Server Express LocalDB için, örneğin varsayılan kullanıcı verileri klasörü örneği oluşturan hesabın %USERPROFILE% ortam değişkeni tarafından belirtilen yoldur.
İKILI ='private_key_bits'
için geçerlidir: SQL Server 2012 (11.x) ve üzeri.
İkili sabit olarak belirtilen özel anahtar bitleri. Bu bitler şifrelenmiş biçimde olabilir. Şifrelenirse bir şifre çözme parolası sağlamanız gerekir. SQL Server bu parola üzerinde parola ilkesi denetimleri gerçekleştirmez. Özel anahtar bitleri PVK dosya biçiminde olmalıdır.
PAROLAYLA ŞIFRE ÇÖZME ='current_password'
Özel anahtarın şifresini çözmek için gereken parolayı belirtir.
PAROLAYLA ŞIFRELEME ='new_password'
Veritabanındaki sertifikanın özel anahtarını şifrelemek için kullanılan parolayı belirtir.
new_password , SQL Server örneğini çalıştıran bilgisayarın Windows parola ilkesi gereksinimlerini karşılamalıdır. Daha fazla bilgi için bkz. parola ilkesi .
BEGIN_DIALOG = IÇIN ETKİn { ON | KAPALI }
Sertifikayı bir Hizmet Aracısı iletişim kutusu konuşmasının başlatıcısı için kullanılabilir hale getirir.
Remarks
Özel anahtar , certificate_name tarafından belirtilen ortak anahtara karşılık gelir.
Dosyadaki parola null parolayla korunuyorsa PASSWORD ILE ŞIFRE ÇÖZME yan tümcesini atlayabilirsiniz.
Veritabanında zaten var olan bir sertifikanın özel anahtarını içeri aktardığınızda, özel anahtar veritabanı ana anahtarı tarafından otomatik olarak korunur. Özel anahtarı parolayla korumak için PASSWORD ILE ENCRYPTION yan tümcesini kullanın.
ÖZEL ANAHTARI KALDIR seçeneği sertifikanın özel anahtarını veritabanından siler. Sertifikayı kullanarak imzaları doğrularken veya özel anahtar gerektirmeyen Hizmet Aracısı senaryolarında özel anahtarı kaldırabilirsiniz. Simetrik anahtarı koruyan bir sertifikanın özel anahtarını kaldırmayın. Sertifikayla doğrulanması gereken ek modülleri veya dizeleri imzalamak veya sertifikayla şifrelenmiş bir değerin şifresini çözmek için özel anahtarı geri yüklemeniz gerekir.
Özel anahtar veritabanı ana anahtarı kullanılarak şifrelendiğinde şifre çözme parolası belirtmeniz gerekmez.
Özel anahtarı şifrelemek için kullanılan parolayı değiştirmek için FILE veya BINARY yan tümcelerini belirtmeyin.
Important
Özel anahtarı veritabanından kaldırmadan önce her zaman arşiv kopyasını alın. Daha fazla bilgi için bkz . BACKUP CERTIFICATE (Transact-SQL) ve CERTPRIVATEKEY (Transact-SQL).
WITH PRIVATE KEY seçeneği, kapsanan bir veritabanında kullanılamaz.
Sınırlamalar
Sertifika adları oluşturulduktan sonra değiştirilemez. ALTER CERTIFICATE sertifikaları yeniden adlandırmayı desteklemez. Farklı bir sertifika adı kullanmanız gerekiyorsa yeni bir sertifika oluşturmanız ve bağımlılıkları geçirmeniz gerekir.
TDE sertifikaları için geçici çözüm
Saydam Veri Şifrelemesi (TDE) sertifikasını farklı bir adla değiştirmeniz gerekiyorsa:
Geçerli sertifikayı ve özel anahtarı yedekleyin:
BACKUP CERTIFICATE OldTDECert TO FILE = 'C:\Backup\OldTDECert.cer' WITH PRIVATE KEY ( FILE = 'C:\Backup\OldTDECert.pvk', ENCRYPTION BY PASSWORD = '<password>' );Doğru ada sahip yeni sertifikayı oluşturun:
CREATE CERTIFICATE NewTDECert WITH SUBJECT = 'TDE Certificate - Correct Name';TDE ile şifrelenmiş her veritabanı için şifreleme anahtarını değiştirin:
USE EncryptedDB; GO ALTER DATABASE ENCRYPTION KEY ENCRYPTION BY SERVER CERTIFICATE NewTDECert;Tüm veritabanları geçirildikten sonra eski sertifikayı bırakın:
USE master; GO DROP CERTIFICATE OldTDECert;
Important
TDE değişiklikleri yapmadan önce sertifikaları ve özel anahtarları her zaman yedekleyin. Yedeklemeleri veritabanı sunucusundan ayrı güvenli bir konumda depolayın.
Permissions
Sertifika üzerinde ALTER izni gerektirir.
Examples
A. Sertifikanın özel anahtarını kaldırma
ALTER CERTIFICATE Shipping04
REMOVE PRIVATE KEY;
GO
B. Özel anahtarı şifrelemek için kullanılan parolayı değiştirme
ALTER CERTIFICATE Shipping11
WITH PRIVATE KEY (DECRYPTION BY PASSWORD = '95hkjdskghFDGGG4%',
ENCRYPTION BY PASSWORD = '34958tosdgfkh##38');
GO
C. Veritabanında zaten var olan bir sertifika için özel anahtarı içeri aktarma
ALTER CERTIFICATE Shipping13
WITH PRIVATE KEY (FILE = 'c:\importedkeys\Shipping13',
DECRYPTION BY PASSWORD = 'GDFLKl8^^GGG4000%');
GO
D. Özel anahtarın korumasını paroladan veritabanı ana anahtarına değiştirme
ALTER CERTIFICATE Shipping15
WITH PRIVATE KEY (DECRYPTION BY PASSWORD = '95hk000eEnvjkjy#F%');
GO