UBAH SERTIFIKAT (Transact-SQL)
Berlaku untuk: SQL Server Azure SQL Database Azure SQL Managed Instance Analytics Platform System (PDW)
Mengubah kata sandi yang digunakan untuk mengenkripsi kunci privat sertifikat, menghapus kunci privat, atau mengimpor kunci privat jika tidak ada. Mengubah ketersediaan sertifikat menjadi Service Broker.
Sintaks
-- 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>' )
}
Argumen
certificate_name
Adalah nama unik di mana sertifikat diketahui dalam database.
HAPUS KUNCI PRIVAT
Menentukan bahwa kunci privat tidak boleh lagi dipertahankan di dalam database.
DENGAN KUNCI PRIVAT Menentukan bahwa kunci privat sertifikat dimuat ke dalam SQL Server.
FILE ='path_to_private_key'
Menentukan jalur lengkap, termasuk nama file, ke kunci privat. Parameter ini dapat berupa jalur lokal atau jalur UNC ke lokasi jaringan. File ini akan diakses dalam konteks keamanan akun layanan SQL Server. Saat Anda menggunakan opsi ini, pastikan akun layanan memiliki akses ke file yang ditentukan.
Jika hanya nama file yang ditentukan, file disimpan di folder data pengguna default untuk instans. Folder ini mungkin (atau mungkin tidak) adalah folder DATA SQL Server. Untuk SQL Server Express LocalDB, folder data pengguna default untuk instans adalah jalur yang ditentukan oleh %USERPROFILE%
variabel lingkungan untuk akun yang membuat instans.
BINER ='private_key_bits'
Berlaku untuk: SQL Server 2012 (11.x) dan yang lebih baru.
Bit kunci privat ditentukan sebagai konstanta biner. Bit ini dapat dalam bentuk terenkripsi. Jika dienkripsi, pengguna harus memberikan kata sandi dekripsi. Pemeriksaan kebijakan kata sandi tidak dilakukan pada kata sandi ini. Bit kunci privat harus dalam format file PVK.
DEKRIPSI MENURUT KATA SANDI ='current_password'
Menentukan kata sandi yang diperlukan untuk mendekripsi kunci privat.
ENKRIPSI MENURUT KATA SANDI ='new_password'
Menentukan kata sandi yang digunakan untuk mengenkripsi kunci privat sertifikat dalam database. new_password harus memenuhi persyaratan kebijakan kata sandi Windows komputer yang menjalankan instans SQL Server. Untuk informasi selengkapnya, lihat Kebijakan Kata Sandi.
ACTIVE FOR BEGIN_DIALOG = { ON | NONAKTIF }
Membuat sertifikat tersedia untuk inisiator percakapan dialog Service Broker.
Keterangan
Kunci privat harus sesuai dengan kunci publik yang ditentukan oleh certificate_name.
Klausa DECRYPTION BY PASSWORD dapat dihilangkan jika kata sandi dalam file dilindungi dengan kata sandi null.
Ketika kunci privat sertifikat yang sudah ada dalam database diimpor, kunci privat akan secara otomatis dilindungi oleh kunci master database. Untuk melindungi kunci privat dengan kata sandi, gunakan klausa ENCRYPTION BY PASSWORD.
Opsi HAPUS KUNCI PRIVAT akan menghapus kunci privat sertifikat dari database. Anda dapat menghapus kunci privat saat sertifikat akan digunakan untuk memverifikasi tanda tangan atau dalam skenario Service Broker yang tidak memerlukan kunci privat. Jangan hapus kunci privat sertifikat yang melindungi kunci konten. Kunci privat perlu dipulihkan untuk menandatangani modul atau string tambahan yang harus diverifikasi dengan sertifikat, atau untuk mendekripsi nilai yang telah dienkripsi dengan sertifikat.
Anda tidak perlu menentukan kata sandi dekripsi saat kunci privat dienkripsi dengan menggunakan kunci master database.
Untuk mengubah kata sandi yang digunakan untuk mengenkripsi kunci privat, jangan tentukan klausa FILE atau BINARY.
Penting
Selalu buat salinan arsip kunci privat sebelum menghapusnya dari database. Untuk informasi selengkapnya, lihat SERTIFIKAT CADANGAN (Transact-SQL) dan CERTPRIVATEKEY (Transact-SQL).
Opsi WITH PRIVATE KEY tidak tersedia dalam database yang terkandung.
Izin
Memerlukan izin ALTER pada sertifikat.
Contoh
J. Menghapus kunci privat sertifikat
ALTER CERTIFICATE Shipping04
REMOVE PRIVATE KEY;
GO
B. Mengubah kata sandi yang digunakan untuk mengenkripsi kunci privat
ALTER CERTIFICATE Shipping11
WITH PRIVATE KEY (DECRYPTION BY PASSWORD = '95hkjdskghFDGGG4%',
ENCRYPTION BY PASSWORD = '34958tosdgfkh##38');
GO
C. Mengimpor kunci privat untuk sertifikat yang sudah ada dalam database
ALTER CERTIFICATE Shipping13
WITH PRIVATE KEY (FILE = 'c:\importedkeys\Shipping13',
DECRYPTION BY PASSWORD = 'GDFLKl8^^GGG4000%');
GO
D. Mengubah perlindungan kunci privat dari kata sandi ke kunci master database
ALTER CERTIFICATE Shipping15
WITH PRIVATE KEY (DECRYPTION BY PASSWORD = '95hk000eEnvjkjy#F%');
GO
Lihat Juga
BUAT SERTIFIKAT (Transact-SQL)
HILANGKAN SERTIFIKAT (T-SQL)
SERTIFIKAT CADANGAN (Transact-SQL)
Hierarki Enkripsi
EVENTDATA (Transact-SQL)
CERTENCODED (Transact-SQL)
CERTPRIVATEKEY (Transact-SQL)
CERT_ID (T-SQL)
CERTPROPERTY (Transact-SQL)