BACKUP CERTIFICATE (Transact-SQL)
証明書をファイルにエクスポートします。
構文
BACKUP CERTIFICATE certname TO FILE = 'path_to_file'
[ WITH PRIVATE KEY
(
FILE = 'path_to_private_key_file' ,
ENCRYPTION BY PASSWORD = 'encryption_password'
[ , DECRYPTION BY PASSWORD = 'decryption_password' ]
)
]
引数
path_to_file
証明書を保存するファイルの完全なパスを、ファイル名を含めて指定します。ローカル パスまたはネットワーク上の場所を示す UNC パスを指定できます。既定値は SQL Server の DATA フォルダのパスです。path_to_private_key_file
秘密キーを保存するファイルの完全なパスを、ファイル名を含めて指定します。ローカル パスまたはネットワーク上の場所を示す UNC パスを指定できます。既定値は SQL Server の DATA フォルダのパスです。encryption_password
バックアップ ファイルに秘密キーを書き込む前に、キーを暗号化するため使用するパスワードを指定します。このパスワードに対しては、複雑性がチェックされます。decryption_password
秘密キーをバックアップする前に、秘密キーの暗号化を解除するため使用するパスワードを指定します。
説明
データベースで秘密キーがパスワードによって暗号化されている場合は、暗号化解除パスワードを指定する必要があります。
秘密キーをファイルにバックアップする場合は、暗号化が必要です。バックアップした証明書の保護に使用するパスワードは、証明書の秘密キーの暗号化に使用するパスワードとは異なります。
バックアップした証明書を復元するには、CREATE CERTIFICATE ステートメントを使用します。
権限
証明書に対する CONTROL 権限と、秘密キーの暗号化に使用するパスワードの情報が必要です。証明書のパブリックの部分だけをバックアップする場合は、証明書の権限が必要です。また、呼び出し元に対して証明書の VIEW 権限が拒否されていないことも必要になります。
例
A. 証明書をファイルにエクスポートする
次の例では、証明書をファイルにエクスポートします。
BACKUP CERTIFICATE sales05 TO FILE = 'c:\storedcerts\sales05cert';
GO
B. 証明書と秘密キーをエクスポートする
次の例では、バックアップする証明書の秘密キーをパスワード 997jkhUbhk$w4ez0876hKHJH5gh で暗号化します。
BACKUP CERTIFICATE sales05 TO FILE = 'c:\storedcerts\sales05cert'
WITH PRIVATE KEY ( FILE = 'c:\storedkeys\sales05key' ,
ENCRYPTION BY PASSWORD = '997jkhUbhk$w4ez0876hKHJH5gh' );
GO
C. 秘密キーが暗号化されている証明書をエクスポートする
次の例では、データベースで証明書の秘密キーが暗号化されています。この秘密キーは、パスワード 9875t6#6rfid7vble7r を使って暗号化を解除する必要があります。証明書をバックアップ ファイルに保存するときには、秘密キーをパスワード 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