Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Sistema de Plataforma de Análise (PDW)
Exporta um certificado para um ficheiro.
Observação
No SQL Server 2022 (16.x), é possível fazer backup ou restaurar certificados com chaves privadas diretamente de e para arquivos ou blobs binários usando o formato PKCS (pares de chaves públicas) #12 ou PFX (troca de informações pessoais).
O formato PKCS #12 ou PFX é um formato binário para armazenar o certificado do servidor, quaisquer certificados intermediários e a chave privada em um arquivo. Os arquivos PFX geralmente têm extensões como .pfx e .p12. Isso torna mais fácil para os clientes aderirem às atuais diretrizes de práticas recomendadas de segurança e padrões de conformidade que proíbem a criptografia RC4, eliminando a necessidade de usar ferramentas de conversão, como PVKConverter (para o formato PVK ou DER).
Transact-SQL convenções de sintaxe
Syntax
-- 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'
)
Arguments
Certname
É o nome do certificado para fazer backup.
TO FILE = 'path_to_file'
Especifica o caminho completo, incluindo o nome do ficheiro, do ficheiro onde o certificado deve ser guardado. Este caminho pode ser um caminho local ou um caminho UNC para uma localização na rede. Se apenas um nome de ficheiro for especificado, o ficheiro será guardado na pasta de dados de utilizador por defeito da instância (que pode ou não ser a pasta DATA do SQL Server). Para o SQL Server Express LocalDB, a pasta de dados de utilizador predefinida da instância é o caminho especificado pela %USERPROFILE% variável de ambiente para a conta que criou a instância.
COM FORMATO = 'PFX'
Aplica-se a: SQL Server 2022 (16.x) e posterior
Especifica a exportação de um certificado e da sua chave privada para um ficheiro PFX. Esta cláusula é opcional.
COM CHAVE PRIVADA Especifica que a chave privada do certificado deve ser guardada num ficheiro. Esta cláusula é opcional.
FICHEIRO = 'path_to_private_key_file'
Especifica o caminho completo, incluindo o nome do ficheiro, do ficheiro onde a chave privada deve ser guardada. Este caminho pode ser um caminho local ou um caminho UNC para uma localização na rede. Se apenas um nome de ficheiro for especificado, o ficheiro será guardado na pasta de dados de utilizador por defeito da instância (que pode ou não ser a pasta DATA do SQL Server). Para o SQL Server Express LocalDB, a pasta de dados de utilizador predefinida da instância é o caminho especificado pela %USERPROFILE% variável de ambiente para a conta que criou a instância.
ENCRIPTAÇÃO POR PALAVRA-PASSE = 'encryption_password'
É a palavra-passe usada para encriptar a chave privada antes de escrever a chave no ficheiro de backup. A palavra-passe está sujeita a verificações de complexidade.
DESENCRIPTAÇÃO POR PALAVRA-PASSE = 'decryption_password'
É a palavra-passe usada para desencriptar a chave privada antes de fazer backup da chave. Este argumento não é necessário se o certificado for encriptado pela chave mestra.
Remarks
Se a chave privada estiver encriptada com uma palavra-passe na base de dados, a palavra-passe de desencriptação deve ser especificada.
Quando faz backup da chave privada de um ficheiro, é necessária encriptação. A palavra-passe usada para proteger a chave privada no ficheiro não é a mesma que é usada para encriptar a chave privada do certificado na base de dados.
As chaves privadas são guardadas no formato de ficheiro PVK.
Para restaurar um certificado com backup, com ou sem a chave privada, use a CREATE CERTIFICATE instrução.
Para restaurar uma chave privada de um certificado existente na base de dados, utilize a ALTER CERTIFICATE instrução.
Ao realizar uma cópia de segurança, os ficheiros serão ACLados à conta de serviço da instância do SQL Server. Se precisares de restaurar o certificado num servidor a correr com outra conta, terás de ajustar as permissões dos ficheiros para que possam ser lidos pela nova conta.
Permissions
Requer permissão CONTROL no certificado e conhecimento da palavra-passe usada para encriptar a chave privada. Se apenas a parte pública do certificado estiver guardada, este comando requer alguma permissão no certificado e que o interlocutor não tenha sido negado VIEW a permissão no certificado.
Examples
A. Exportar um certificado para um ficheiro
O exemplo seguinte exporta um certificado para um ficheiro.
BACKUP CERTIFICATE sales05 TO FILE = 'c:\storedcerts\sales05cert';
GO
B. Exportação de um certificado e de uma chave privada
No exemplo seguinte, a chave privada do certificado que é copiado será encriptada com a palavra-passe 997jkhUbhk$w4ez0876hKHJH5gh.
BACKUP CERTIFICATE sales05 TO FILE = 'c:\storedcerts\sales05cert'
WITH PRIVATE KEY ( FILE = 'c:\storedkeys\sales05key' ,
ENCRYPTION BY PASSWORD = '997jkhUbhk$w4ez0876hKHJH5gh' );
GO
C. Exportação de um certificado que tem uma chave privada encriptada
No exemplo seguinte, a chave privada do certificado é encriptada na base de dados. A chave privada deve ser desencriptada com a palavra-passe 9875t6#6rfid7vble7r. Quando o certificado é armazenado no ficheiro de backup, a chave privada será encriptada com a palavra-passe 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. Exportar um certificado e a sua chave privada para um ficheiro PFX
BACKUP CERTIFICATE Shipping04 TO FILE = 'c:\storedcerts\shipping04cert.pfx'
WITH
FORMAT = 'PFX',
PRIVATE KEY (
ENCRYPTION BY PASSWORD = '9n34khUbhk$w4ecJH5gh',
ALGORITHM = 'AES_256'
)
Consulte também
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)