Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server
Azure SQL Database
Spravovaná instance
Azure SQLPdW (Analytics Platform System)
Databáze SQL v Microsoft Fabric
Změní heslo použité k šifrování privátního klíče certifikátu, odebere privátní klíč nebo importuje privátní klíč, pokud neexistuje. Změní dostupnost certifikátu na Service Broker.
Syntax
-- 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>' )
}
Arguments
certificate_name
Jedinečný název, kterým je certifikát známý v databázi.
ODEBRÁNÍ PRIVÁTNÍHO KLÍČE
Určuje, že privátní klíč už nebude v databázi zachován.
WITH PRIVATE KEY Určuje, že privátní klíč certifikátu je načten do SQL Serveru.
SOUBOR ='path_to_private_key'
Určuje úplnou cestu, včetně názvu souboru, k privátnímu klíči. Tento parametr může být místní cesta nebo cesta UNC k síťovému umístění. K souboru se přistupuje v kontextu zabezpečení účtu služby SQL Serveru. Při použití této možnosti se ujistěte, že má účet služby přístup k zadanému souboru.
Pokud zadáte pouze název souboru, soubor se uloží do výchozí složky dat uživatele pro instanci. Tato složka může nebo nemusí být složkou SQL Server DATA. Pro SQL Server Express LocalDB je výchozí složka dat uživatele pro instanci cesta určená proměnnou %USERPROFILE% prostředí pro účet, který instanci vytvořil.
BINÁRNÍ ='private_key_bits'
platí pro: SQL Server 2012 (11.x) a novější.
Bity privátního klíče zadané jako binární konstanta. Tyto bity můžou být v šifrované podobě. Pokud je zašifrováno, musíte zadat dešifrovací heslo. SQL Server neprovádí kontroly zásad hesel pro toto heslo. Bity privátního klíče by měly být ve formátu souboru PVK.
DEŠIFROVÁNÍ HESLEM ='current_password'
Určuje heslo potřebné k dešifrování privátního klíče.
ŠIFROVÁNÍ HESLEM ='new_password'
Určuje heslo použité k šifrování privátního klíče certifikátu v databázi.
new_password musí splňovat požadavky na zásady hesel systému Windows počítače, na kterém běží instance SQL Serveru. Další informace najdete v tématu Zásady pro hesla.
ACTIVE FOR BEGIN_DIALOG = { ON | VYPNUTO }
Zpřístupňuje certifikát iniciátoru konverzace dialogového okna Service Broker.
Remarks
Privátní klíč musí odpovídat veřejnému klíči určenému certificate_name.
Klauzuli DECRYPTION BY PASSWORD můžete vynechat, pokud je heslo v souboru chráněné heslem s hodnotou null.
Při importu privátního klíče certifikátu, který již v databázi existuje, je privátní klíč automaticky chráněn hlavním klíčem databáze. K ochraně privátního klíče pomocí hesla použijte klauzuli ENCRYPTION BY PASSWORD.
Možnost ODEBRAT PRIVÁTNÍ KLÍČ odstraní privátní klíč certifikátu z databáze. Privátní klíč můžete odebrat, když certifikát použijete k ověření podpisů nebo ve scénářích služby Service Broker, které nevyžadují privátní klíč. Neodebíjejte privátní klíč certifikátu, který chrání symetrický klíč. Pokud chcete podepsat všechny další moduly nebo řetězce, které by se měly ověřit pomocí certifikátu, nebo dešifrovat hodnotu zašifrovanou certifikátem, musíte privátní klíč obnovit.
Pokud je privátní klíč zašifrovaný pomocí hlavního klíče databáze, nemusíte zadávat dešifrovací heslo.
Pokud chcete změnit heslo použité k šifrování privátního klíče, nezadávejte klauzule FILE ani BINARY.
Important
Před odebráním privátního klíče z databáze vždy vytvořte archivní kopii privátního klíče. Další informace naleznete v tématu BACKUP CERTIFICATE (Transact-SQL) a CERTPRIVATEKEY (Transact-SQL).
Možnost WITH PRIVATE KEY není k dispozici v obsažené databázi.
Omezení
Po vytvoření není možné změnit názvy certifikátů. ALTER CERTIFICATE nepodporuje přejmenování certifikátů. Pokud potřebujete použít jiný název certifikátu, musíte vytvořit nový certifikát a migrovat závislosti.
Alternativní řešení pro certifikáty transparentního šifrování dat
Pokud potřebujete nahradit certifikát transparentního šifrování dat jiným názvem:
Zálohujte aktuální certifikát a privátní klíč:
BACKUP CERTIFICATE OldTDECert TO FILE = 'C:\Backup\OldTDECert.cer' WITH PRIVATE KEY ( FILE = 'C:\Backup\OldTDECert.pvk', ENCRYPTION BY PASSWORD = '<password>' );Vytvořte nový certifikát se správným názvem:
CREATE CERTIFICATE NewTDECert WITH SUBJECT = 'TDE Certificate - Correct Name';Pro každou databázi zašifrovanou transparentním šifrováním dat změňte šifrovací klíč:
USE EncryptedDB; GO ALTER DATABASE ENCRYPTION KEY ENCRYPTION BY SERVER CERTIFICATE NewTDECert;Po migraci všech databází odstraňte starý certifikát:
USE master; GO DROP CERTIFICATE OldTDECert;
Important
Před provedením změn transparentního šifrování dat vždy zálohujte certifikáty a privátní klíče. Uložte zálohy do zabezpečeného umístění odděleně od databázového serveru.
Permissions
Vyžaduje oprávnění ALTER k certifikátu.
Examples
A. Odebrání privátního klíče certifikátu
ALTER CERTIFICATE Shipping04
REMOVE PRIVATE KEY;
GO
B. Změna hesla použitého k šifrování privátního klíče
ALTER CERTIFICATE Shipping11
WITH PRIVATE KEY (DECRYPTION BY PASSWORD = '95hkjdskghFDGGG4%',
ENCRYPTION BY PASSWORD = '34958tosdgfkh##38');
GO
C. Import privátního klíče pro certifikát, který je již v databázi.
ALTER CERTIFICATE Shipping13
WITH PRIVATE KEY (FILE = 'c:\importedkeys\Shipping13',
DECRYPTION BY PASSWORD = 'GDFLKl8^^GGG4000%');
GO
D. Změna ochrany privátního klíče z hesla na hlavní klíč databáze
ALTER CERTIFICATE Shipping15
WITH PRIVATE KEY (DECRYPTION BY PASSWORD = '95hk000eEnvjkjy#F%');
GO
Související obsah
- VYTVOŘIT CERTIFIKÁT (Transact-SQL)
- CERTIFIKÁT ODHOĎTE (Transact-SQL)
- BACKUP CERTIFICATE (Transact-SQL)
- Hierarchie šifrování
- EVENTDATA (Transact-SQL)
- CERTENCODED (Transact-SQL)
- CERTPRIVATEKEY (Transact-SQL)
- CERT_ID (Transact-SQL)
- CERTPROPERTY (Transact-SQL)