Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Analytics Platform System (PDW)
SQL-database in Microsoft Fabric Preview
Hiermee wijzigt u het wachtwoord dat wordt gebruikt om de persoonlijke sleutel van een certificaat te versleutelen, verwijdert u de persoonlijke sleutel of importeert u de persoonlijke sleutel als er geen aanwezig is. Hiermee wijzigt u de beschikbaarheid van een certificaat in Service Broker.
Transact-SQL syntaxis-conventies
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
Is de unieke naam waarmee het certificaat bekend is in de database.
PERSOONLIJKE SLEUTEL VERWIJDEREN
Hiermee geeft u op dat de persoonlijke sleutel niet meer in de database mag worden onderhouden.
MET PERSOONLIJKE SLEUTEL geeft u op dat de persoonlijke sleutel van het certificaat wordt geladen in SQL Server.
FILE ='path_to_private_key'
Hiermee geeft u het volledige pad, inclusief bestandsnaam, op de persoonlijke sleutel. Deze parameter kan een lokaal pad of een UNC-pad naar een netwerklocatie zijn. Dit bestand wordt geopend in de beveiligingscontext van het SQL Server-serviceaccount. Wanneer u deze optie gebruikt, moet u ervoor zorgen dat het serviceaccount toegang heeft tot het opgegeven bestand.
Als er alleen een bestandsnaam is opgegeven, wordt het bestand opgeslagen in de standaardmap met gebruikersgegevens voor het exemplaar. Deze map is mogelijk (of niet) de map SQL Server DATA. Voor SQL Server Express LocalDB is de standaardmap met gebruikersgegevens voor het exemplaar het pad dat is opgegeven door de %USERPROFILE% omgevingsvariabele voor het account dat het exemplaar heeft gemaakt.
BINARY ='private_key_bits'
Van toepassing op: SQL Server 2012 (11.x) en hoger.
Privésleutel-bits die zijn opgegeven als binaire constante. Deze bits kunnen in versleutelde vorm worden gebruikt. Indien versleuteld, moet de gebruiker een ontsleutelingswachtwoord opgeven. Er worden geen controles voor wachtwoordbeleid uitgevoerd op dit wachtwoord. De privésleutel-bits moeten een PVK-bestandsindeling hebben.
ONTSLEUTELING PER WACHTWOORD ='current_password'
Hiermee geeft u het wachtwoord op dat is vereist voor het ontsleutelen van de persoonlijke sleutel.
VERSLEUTELING OP WACHTWOORD ='new_password'
Hiermee geeft u het wachtwoord op dat wordt gebruikt voor het versleutelen van de persoonlijke sleutel van het certificaat in de database.
new_password moet voldoen aan de windows-wachtwoordbeleidsvereisten van de computer waarop het exemplaar van SQL Server wordt uitgevoerd. Zie Wachtwoordbeleidvoor meer informatie.
ACTIEF VOOR BEGIN_DIALOG = { AAN | UIT }
Het certificaat beschikbaar maken voor de initiator van een Service Broker-dialoogvenster.
Remarks
De persoonlijke sleutel moet overeenkomen met de openbare sleutel die is opgegeven door certificate_name.
De COMPONENT DECRYPTION BY PASSWORD kan worden weggelaten als het wachtwoord in het bestand is beveiligd met een null-wachtwoord.
Wanneer de persoonlijke sleutel van een certificaat dat al bestaat in de database wordt geïmporteerd, wordt de persoonlijke sleutel automatisch beveiligd door de hoofdsleutel van de database. Gebruik de component ENCRYPTION BY PASSWORD om de persoonlijke sleutel met een wachtwoord te beveiligen.
Met de optie PERSOONLIJKE SLEUTEL VERWIJDEREN wordt de persoonlijke sleutel van het certificaat uit de database verwijderd. U kunt de persoonlijke sleutel verwijderen wanneer het certificaat wordt gebruikt om handtekeningen te verifiëren of in Service Broker-scenario's waarvoor geen persoonlijke sleutel is vereist. Verwijder de persoonlijke sleutel van een certificaat dat een symmetrische sleutel beveiligt niet. De persoonlijke sleutel moet worden hersteld om aanvullende modules of tekenreeksen te ondertekenen die moeten worden geverifieerd met het certificaat of om een waarde te ontsleutelen die is versleuteld met het certificaat.
U hoeft geen ontsleutelingswachtwoord op te geven wanneer de persoonlijke sleutel wordt versleuteld met behulp van de hoofdsleutel van de database.
Als u het wachtwoord wilt wijzigen dat wordt gebruikt voor het versleutelen van de persoonlijke sleutel, geeft u niet de BESTANDS- of BINARY-componenten op.
Important
Maak altijd een archiveringskopie van een persoonlijke sleutel voordat u deze uit een database verwijdert. Zie BACKUP CERTIFICATE (Transact-SQL) en CERTPRIVATEKEY (Transact-SQL) voor meer informatie.
De optie WITH PRIVATE KEY is niet beschikbaar in een ingesloten database.
Permissions
Vereist ALTER-machtiging voor het certificaat.
Examples
A. De persoonlijke sleutel van een certificaat verwijderen
ALTER CERTIFICATE Shipping04
REMOVE PRIVATE KEY;
GO
B. Het wachtwoord wijzigen dat wordt gebruikt om de persoonlijke sleutel te versleutelen
ALTER CERTIFICATE Shipping11
WITH PRIVATE KEY (DECRYPTION BY PASSWORD = '95hkjdskghFDGGG4%',
ENCRYPTION BY PASSWORD = '34958tosdgfkh##38');
GO
C. Een persoonlijke sleutel importeren voor een certificaat dat al aanwezig is in de database
ALTER CERTIFICATE Shipping13
WITH PRIVATE KEY (FILE = 'c:\importedkeys\Shipping13',
DECRYPTION BY PASSWORD = 'GDFLKl8^^GGG4000%');
GO
D. De beveiliging van de persoonlijke sleutel wijzigen van een wachtwoord in de hoofdsleutel van de database
ALTER CERTIFICATE Shipping15
WITH PRIVATE KEY (DECRYPTION BY PASSWORD = '95hk000eEnvjkjy#F%');
GO
See Also
CERTIFICAAT MAKEN (Transact-SQL)
DROP CERTIFICATE (Transact-SQL)
BACK-UPCERTIFICAAT (Transact-SQL)
Encryption Hierarchy
EVENTDATA (Transact-SQL)
CERTENCODED (Transact-SQL)
CERTPRIVATEKEY (Transact-SQL)
CERT_ID (Transact-SQL)
CERTPROPERTY (Transact-SQL)