Sdílet prostřednictvím


ALTERŮV CERTIFIKÁT (Transact-SQL)

Platí pro:SQL ServerAzure SQL DatabaseSpravovaná 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.

Transact-SQL konvence syntaxe

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
Je jedinečný název, podle kterého je certifikát v databázi známý.

ODEBRÁNÍ PRIVÁTNÍHO KLÍČE
Určuje, že privátní klíč by již neměl být udržován uvnitř databáze.

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í. Tento soubor bude přístupný 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 je zadán 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 uživatel zašifrovaný, musí zadat dešifrovací heslo. U tohoto hesla se neprovádí kontroly zásad hesel. 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.

Klauzule DECRYPTION BY PASSWORD je možné vynechat, pokud je heslo v souboru chráněné heslem s hodnotou null.

Když se importuje privátní klíč certifikátu, který už v databázi existuje, privátní klíč bude 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ž se certifikát použije k ověření podpisů nebo ve scénářích služby Service Broker, které nevyžadují privátní klíč. Neodebírání privátního klíče certifikátu, který chrání symetrický klíč. Privátní klíč bude potřeba obnovit, aby bylo možné 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.

Při šifrování privátního klíče pomocí hlavního klíče databáze nemusíte zadávat heslo pro dešifrování.

Pokud chcete změnit heslo použité k šifrování privátního klíče, nezadávejte buď klauzule FILE, nebo 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.

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  

Viz také

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)