SERTIFIKAT CADANGAN (Transact-SQL)

Berlaku untuk:SQL ServerAnalytics Platform System (PDW)

Mengekspor sertifikat ke file.

Catatan

Di SQL Server 2022 (16.x), sertifikat dengan kunci privat dapat dicadangkan atau dipulihkan langsung ke dan dari file atau blob biner menggunakan format pasangan kunci publik (PKCS) #12 atau pertukaran informasi pribadi (PFX).

Format PKCS #12 atau PFX adalah format biner untuk menyimpan sertifikat server, sertifikat perantara apa pun, dan kunci privat dalam satu file. File PFX biasanya memiliki ekstensi seperti .pfx dan .p12. Ini memudahkan pelanggan untuk mematuhi pedoman praktik terbaik keamanan saat ini dan standar kepatuhan yang melarang enkripsi RC4, dengan menghilangkan kebutuhan untuk menggunakan alat konversi seperti PVKConverter (untuk format PVK atau DER).

Konvensi sintaks transact-SQL

Sintaksis

-- Syntax for SQL Server  
  
BACKUP CERTIFICATE certname TO FILE = 'path_to_file'  
    [ WITH
      [FORMAT = 'PFX',]
      PRIVATE KEY   
      (   
        FILE = 'path_to_private_key_file' ,  
        ENCRYPTION BY PASSWORD = 'encryption_password'   
        [ , DECRYPTION BY PASSWORD = 'decryption_password' ]   
      )   
    ]  
-- Syntax for Parallel Data Warehouse  
  
BACKUP CERTIFICATE certname TO FILE ='path_to_file'  
      WITH PRIVATE KEY   
      (   
        FILE ='path_to_private_key_file',  
        ENCRYPTION BY PASSWORD ='encryption_password'   
      )   

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

certname
Adalah nama sertifikat yang akan dicadangkan.

KE FILE = 'path_to_file'
Menentukan jalur lengkap, termasuk nama file, dari file tempat sertifikat akan disimpan. Jalur ini bisa berupa jalur lokal atau jalur UNC ke lokasi jaringan. Jika hanya nama file yang ditentukan, file akan disimpan di folder data pengguna default instans (yang mungkin atau mungkin bukan folder DATA SQL Server). Untuk SQL Server Express LocalDB, folder data pengguna default instans adalah jalur yang ditentukan oleh %USERPROFILE% variabel lingkungan untuk akun yang membuat instans.

WITH FORMAT = 'PFX'
Berlaku untuk: SQL Server 2022 (16.x) dan yang lebih baru
Menentukan mengekspor sertifikat dan kunci privatnya ke file PFX. Klausa ini opsional.

DENGAN KUNCI PRIVAT Menentukan bahwa kunci privat sertifikat akan disimpan ke file. Klausa ini opsional.

FILE = 'path_to_private_key_file'
Menentukan jalur lengkap, termasuk nama file, dari file tempat kunci privat akan disimpan. Jalur ini bisa berupa jalur lokal atau jalur UNC ke lokasi jaringan. Jika hanya nama file yang ditentukan, file akan disimpan di folder data pengguna default instans (yang mungkin atau mungkin bukan folder DATA SQL Server). Untuk SQL Server Express LocalDB, folder data pengguna default instans adalah jalur yang ditentukan oleh %USERPROFILE% variabel lingkungan untuk akun yang membuat instans.

ENKRIPSI MENURUT KATA SANDI = 'encryption_password'
Apakah kata sandi yang digunakan untuk mengenkripsi kunci privat sebelum menulis kunci ke file cadangan. Kata sandi tunduk pada pemeriksaan kompleksitas.

DEKRIPSI MENURUT KATA SANDI = 'decryption_password'
Adalah kata sandi yang digunakan untuk mendekripsi kunci privat sebelum mencadangkan kunci. Argumen ini tidak diperlukan jika sertifikat dienkripsi oleh kunci master.

Keterangan

Jika kunci privat dienkripsi dengan kata sandi dalam database, kata sandi dekripsi harus ditentukan.

Saat Anda mencadangkan kunci privat ke file, enkripsi diperlukan. Kata sandi yang digunakan untuk melindungi kunci privat dalam file bukanlah kata sandi yang sama yang digunakan untuk mengenkripsi kunci privat sertifikat dalam database.

Kunci privat disimpan dalam format file PVK.

Untuk memulihkan sertifikat yang dicadangkan, dengan atau tanpa kunci privat, gunakan pernyataan CREATE CERTIFICATE .

Untuk memulihkan kunci privat ke sertifikat yang ada dalam database, gunakan pernyataan UBAH SERTIFIKAT .

Saat melakukan pencadangan, file akan menjadi ACLd ke akun layanan instans SQL Server. Jika Anda perlu memulihkan sertifikat ke server yang berjalan di bawah akun lain, Anda harus menyesuaikan izin pada file sehingga mereka dapat dibaca oleh akun baru.

Izin

Memerlukan izin CONTROL pada sertifikat dan pengetahuan tentang kata sandi yang digunakan untuk mengenkripsi kunci privat. Jika hanya bagian publik sertifikat yang dicadangkan, perintah ini memerlukan beberapa izin pada sertifikat dan bahwa pemanggil belum ditolak izin VIEW pada sertifikat.

Contoh

J. Mengekspor sertifikat ke file

Contoh berikut mengekspor sertifikat ke file.

BACKUP CERTIFICATE sales05 TO FILE = 'c:\storedcerts\sales05cert';  
GO  

B. Mengekspor sertifikat dan kunci privat

Dalam contoh berikut, kunci privat sertifikat yang dicadangkan akan dienkripsi dengan kata sandi 997jkhUbhk$w4ez0876hKHJH5gh.

BACKUP CERTIFICATE sales05 TO FILE = 'c:\storedcerts\sales05cert'  
    WITH PRIVATE KEY ( FILE = 'c:\storedkeys\sales05key' ,   
    ENCRYPTION BY PASSWORD = '997jkhUbhk$w4ez0876hKHJH5gh' );  
GO  

C. Mengekspor sertifikat yang memiliki kunci privat terenkripsi

Dalam contoh berikut, kunci privat sertifikat dienkripsi dalam database. Kunci privat harus didekripsi dengan kata sandi 9875t6#6rfid7vble7r. Ketika sertifikat disimpan ke file cadangan, kunci privat akan dienkripsi dengan kata sandi 9n34khUbhk$w4ecJH5gh.

BACKUP CERTIFICATE sales09 TO FILE = 'c:\storedcerts\sales09cert'   
    WITH PRIVATE KEY ( DECRYPTION BY PASSWORD = '9875t6#6rfid7vble7r' ,  
    FILE = 'c:\storedkeys\sales09key' ,   
    ENCRYPTION BY PASSWORD = '9n34khUbhk$w4ecJH5gh' );  
GO  

D. Mengekspor sertifikat dan kunci privatnya ke file PFX

BACKUP CERTIFICATE Shipping04 TO FILE = 'c:\storedcerts\shipping04cert.pfx'
WITH  
    FORMAT = 'PFX',  
    PRIVATE KEY ( 
ENCRYPTION BY PASSWORD = '9n34khUbhk$w4ecJH5gh',  
ALGORITHM = 'AES_256'
    )

Baca juga

BUAT SERTIFIKAT (Transact-SQL)
UBAH SERTIFIKAT (Transact-SQL)
HILANGKAN SERTIFIKAT (T-SQL)
CERTENCODED (Transact-SQL)
CERTPRIVATEKEY (Transact-SQL)
CERT_ID (T-SQL)
CERTPROPERTY (Transact-SQL)