Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Область применения: система платформы аналитики SQL Server
(PDW)
Экспортирует сертификат в файл.
Примечание.
В SQL Server 2022 (16.x) сертификаты с закрытыми ключами можно создать резервную копию или восстановить непосредственно в файлы или двоичные BLOB-объекты с помощью формата пар открытых ключей (PKCS) #12 или обмена персональными данными (PFX).
Формат PKCS #12 или PFX — это двоичный формат для хранения сертификата сервера, всех промежуточных сертификатов и закрытого ключа в одном файле. PFX-файлы обычно имеют такие расширения, как .pfx и .p12. Для клиентов это упрощает соблюдение текущих рекомендаций по обеспечению безопасности и стандартов соответствия требованиям, запрещающих шифрование RC4, устраняя необходимость использования таких средств преобразования, как PVKConverter (для формата PVK или DER).
Соглашения о синтаксисе Transact-SQL
Синтаксис
-- 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'
)
Аргументы
certname
Является именем сертификата для резервного копирования.
TO FILE = 'путь к файлу'
Указывает полный путь, включая имя файла, для файла, в котором должен быть сохранен сертификат. Это может быть локальный путь или UNC-путь к расположению в сети. Если указано только имя файла, файл будет сохранен в папке данных пользователя по умолчанию для экземпляра (это может быть папка данных DATA для SQL Server или любая другая папка). В SQL Server Express LocalDB папкой данных пользователя по умолчанию для экземпляра является путь, указанный в переменной среды %USERPROFILE% учетной записи, создавшей этот экземпляр.
WITH FORMAT = 'PFX'
Область применения: SQL Server 2022 (16.x) и более поздних версий
Указывает на экспорт сертификата и его закрытого ключа в PFX-файл. Предложение не является обязательным.
WITH PRIVATE KEY указывает, что закрытый ключ сертификата следует сохранить в файл. Предложение не является обязательным.
FILE = 'путь к файлу закрытого ключа'
Указывает полный путь, включая имя файла, для файла, в котором должен быть сохранен закрытый ключ. Это может быть локальный путь или UNC-путь к расположению в сети. Если указано только имя файла, файл будет сохранен в папке данных пользователя по умолчанию для экземпляра (это может быть папка данных DATA для SQL Server или любая другая папка). В SQL Server Express LocalDB папкой данных пользователя по умолчанию для экземпляра является путь, указанный в переменной среды %USERPROFILE% учетной записи, создавшей этот экземпляр.
ENCRYPTION BY PASSWORD = 'пароль шифрования'
Пароль, используемый для шифрования закрытого ключа перед записью ключа в файл резервной копии. Пароль проходит проверку сложности.
DECRYPTION BY PASSWORD = 'пароль шифрования'
Пароль, используемый для дешифрования закрытого ключа перед созданием резервной копии ключа. Этот аргумент не является обязательным, если сертификат зашифрован главным ключом.
Замечания
Если закрытый ключ зашифрован с паролем в базе данных, необходимо указать пароль для дешифрования.
При создании резервной копии закрытого ключа в файле шифрование является необходимым. Пароль, используемый для защиты закрытого ключа в файле, не является тем же ключом, который применялся для шифрования закрытого ключа сертификата в базе данных.
Закрытые ключи сохраняются в формате PVK.
Чтобы восстановить резервную копию сертификата без закрытого ключа или с ним, используйте инструкцию CREATE CERTIFICATE.
Чтобы восстановить закрытый ключ в существующем сертификате в базе данных, используйте инструкцию ALTER CERTIFICATE.
При резервном копировании файлы будут перечислены в учетной записи службы экземпляра SQL Server. Если вам нужно восстановить сертификат сервера, работающего в другой учетной записи, настройте разрешения для файлов, чтобы они считывались новой учетной записью.
Разрешения
Требуется разрешение CONTROL для сертификата и знание пароля, использованного для шифрования закрытого ключа. Если резервное копирование выполняется только для общедоступной части сертификата, этой команде требуются некоторые разрешения для сертификата, а также необходимо, чтобы для вызывающей программы не было запрещено разрешение VIEW для сертификата.
Примеры
А. Экспорт сертификата в файл
В следующем примере сертификат экспортируется в файл.
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
В. Экспорт сертификата с зашифрованным закрытым ключом
В следующем примере закрытый ключ сертификата подвергается шифрованию в базе данных. Дешифрование ключа должно проводиться с паролем 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
D. Экспорт сертификата и его закрытого ключа в PFX-файл
BACKUP CERTIFICATE Shipping04 TO FILE = 'c:\storedcerts\shipping04cert.pfx'
WITH
FORMAT = 'PFX',
PRIVATE KEY (
ENCRYPTION BY PASSWORD = '9n34khUbhk$w4ecJH5gh',
ALGORITHM = 'AES_256'
)
См. также
CREATE CERTIFICATE (Transact-SQL)
ALTER CERTIFICATE (Transact-SQL)
DROP CERTIFICATE (Transact-SQL)
CERTENCODED (Transact-SQL)
CERTPRIVATEKEY (Transact-SQL)
CERT_ID (Transact-SQL)
CERTPROPERTY (Transact-SQL)