Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Analysplattformssystem (PDW)
SQL-databas i Förhandsversion av Microsoft Fabric
Ändrar lösenordet som används för att kryptera den privata nyckeln för ett certifikat, tar bort den privata nyckeln eller importerar den privata nyckeln om ingen finns. Ändrar tillgängligheten för ett certifikat till Service Broker.
Transact-SQL syntaxkonventioner
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
Är det unika namn med vilket certifikatet är känt i databasen.
TA BORT PRIVAT NYCKEL
Anger att den privata nyckeln inte längre ska underhållas i databasen.
MED PRIVAT NYCKEL Anger att certifikatets privata nyckel läses in i SQL Server.
FILE ='path_to_private_key'
Anger den fullständiga sökvägen, inklusive filnamn, till den privata nyckeln. Den här parametern kan vara en lokal sökväg eller en UNC-sökväg till en nätverksplats. Den här filen kommer att nås inom säkerhetskontexten för SQL Server-tjänstkontot. När du använder det här alternativet kontrollerar du att tjänstkontot har åtkomst till den angivna filen.
Om endast ett filnamn anges sparas filen i standardmappen för användardata för instansen. Den här mappen kan (eller kanske inte) vara SQL Server DATA-mappen. För SQL Server Express LocalDB är standardmappen för användardata för instansen den sökväg som anges av %USERPROFILE% miljövariabeln för det konto som skapade instansen.
BINARY ='private_key_bits'
gäller för: SQL Server 2012 (11.x) och senare.
Privata nyckelbitar som anges som binär konstant. Dessa bitar kan vara i krypterad form. Om den är krypterad måste användaren ange ett dekrypteringslösenord. Lösenordsprincipkontroller utförs inte på det här lösenordet. De privata nyckelbitarna ska vara i ett PVK-filformat.
DEKRYPTERING EFTER LÖSENORD ='current_password'
Anger det lösenord som krävs för att dekryptera den privata nyckeln.
KRYPTERING EFTER LÖSENORD ='new_password'
Anger lösenordet som används för att kryptera certifikatets privata nyckel i databasen.
new_password måste uppfylla kraven på Windows-lösenordsprinciper för den dator som kör SQL Server-instansen. Mer information finns i lösenordsprincip.
AKTIV FÖR BEGIN_DIALOG = { ON | AV }
Gör certifikatet tillgängligt för initieraren av en dialogkonversation för Service Broker.
Remarks
Den privata nyckeln måste motsvara den offentliga nyckel som anges av certificate_name.
Satsen DECRYPTION BY PASSWORD kan utelämnas om lösenordet i filen skyddas med ett null-lösenord.
När den privata nyckeln för ett certifikat som redan finns i databasen importeras skyddas den privata nyckeln automatiskt av databashuvudnyckeln. Om du vill skydda den privata nyckeln med ett lösenord använder du satsen KRYPTERING EFTER LÖSENORD.
Alternativet TA BORT PRIVAT NYCKEL tar bort certifikatets privata nyckel från databasen. Du kan ta bort den privata nyckeln när certifikatet ska användas för att verifiera signaturer eller i Service Broker-scenarier som inte kräver en privat nyckel. Ta inte bort den privata nyckeln för ett certifikat som skyddar en symmetrisk nyckel. Den privata nyckeln måste återställas för att signera ytterligare moduler eller strängar som ska verifieras med certifikatet, eller för att dekryptera ett värde som har krypterats med certifikatet.
Du behöver inte ange ett dekrypteringslösenord när den privata nyckeln krypteras med hjälp av databasens huvudnyckel.
Om du vill ändra lösenordet som används för att kryptera den privata nyckeln ska du inte ange satserna FILE eller BINARY.
Important
Skapa alltid en arkiveringskopia av en privat nyckel innan du tar bort den från en databas. Mer information finns i SÄKERHETSKOPIERINGSCERTIFIKAT (Transact-SQL) och CERTPRIVATEKEY (Transact-SQL).
ALTERNATIVET MED PRIVAT NYCKEL är inte tillgängligt i en innesluten databas.
Permissions
Kräver ALTER-behörighet för certifikatet.
Examples
A. Ta bort den privata nyckeln för ett certifikat
ALTER CERTIFICATE Shipping04
REMOVE PRIVATE KEY;
GO
B. Ändra lösenordet som används för att kryptera den privata nyckeln
ALTER CERTIFICATE Shipping11
WITH PRIVATE KEY (DECRYPTION BY PASSWORD = '95hkjdskghFDGGG4%',
ENCRYPTION BY PASSWORD = '34958tosdgfkh##38');
GO
C. Importera en privat nyckel för ett certifikat som redan finns i databasen
ALTER CERTIFICATE Shipping13
WITH PRIVATE KEY (FILE = 'c:\importedkeys\Shipping13',
DECRYPTION BY PASSWORD = 'GDFLKl8^^GGG4000%');
GO
D. Ändra skyddet för den privata nyckeln från ett lösenord till databasens huvudnyckel
ALTER CERTIFICATE Shipping15
WITH PRIVATE KEY (DECRYPTION BY PASSWORD = '95hk000eEnvjkjy#F%');
GO
See Also
SKAPA CERTIFIKAT (Transact-SQL)
SLÄPP CERTIFIKAT (Transact-SQL)
SÄKERHETSKOPIERINGSCERTIFIKAT (Transact-SQL)
Encryption Hierarchy
EVENTDATA (Transact-SQL)
CERTENCODED (Transact-SQL)
CERTPRIVATEKEY (Transact-SQL)
CERT_ID (Transact-SQL)
CERTPROPERTY (Transact-SQL)