Megosztás a következőn keresztül:


MÓDOSÍTÁSI TANÚSÍTVÁNY (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példányElemzési platformrendszer (PDW)SQL-adatbázis a Microsoft Fabricben

Módosítja a tanúsítvány titkos kulcsának titkosításához használt jelszót, eltávolítja a titkos kulcsot, vagy importálja a titkos kulcsot, ha nincs jelen. A tanúsítvány rendelkezésre állását a Service Brokerre módosítja.

Transact-SQL szintaxis konvenciók

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
Az az egyedi név, amellyel a tanúsítvány ismert az adatbázisban.

TITKOS KULCS ELTÁVOLÍTÁSA
Megadja, hogy a titkos kulcs többé nem lesz karbantartva az adatbázisban.

A PRIVATE KEY használatával Azt adja meg, hogy a tanúsítvány titkos kulcsa betöltődik-e az SQL Serverbe.

FILE ='path_to_private_key'
Megadja a titkos kulcs teljes elérési útját, beleértve a fájlnevet is. Ez a paraméter lehet egy hálózati hely helyi elérési útja vagy UNC elérési útja. A fájl az SQL Server szolgáltatásfiók biztonsági környezetében érhető el. Ha ezt a lehetőséget használja, győződjön meg arról, hogy a szolgáltatásfiók hozzáfér a megadott fájlhoz.

Ha csak egy fájlnevet ad meg, a fájl a példány alapértelmezett felhasználói adatmappájába lesz mentve. Lehet, hogy ez a mappa az SQL Server DATA mappája. AZ SQL Server Express LocalDB esetében a példány alapértelmezett felhasználói adatmappája a példányt létrehozó fiók környezeti változója által %USERPROFILE% megadott elérési út.

BINÁRIS ='private_key_bits'
A következővonatkozik: SQL Server 2012 (11.x) és újabb.

Bináris állandóként megadott titkoskulcs-bitek. Ezek a bitek titkosított formában is lehetnek. Ha titkosítva van, meg kell adnia egy visszafejtési jelszót. Az SQL Server nem végez jelszóházirend-ellenőrzéseket ezen a jelszón. A titkos kulcs bitjeinek PVK fájlformátumban kell lenniük.

VISSZAFEJTÉS JELSZÓ ALAPJÁN ='current_password'
Megadja a titkos kulcs visszafejtéséhez szükséges jelszót.

TITKOSÍTÁS JELSZÓ SZERINT ='new_password'
Megadja a tanúsítvány titkos kulcsának titkosításához használt jelszót az adatbázisban. new_password meg kell felelnie az SQL Server-példányt futtató számítógép Windows jelszóházirend-követelményeinek. További információ: Jelszóházirend.

ACTIVE FOR BEGIN_DIALOG = { ON | KI }
Elérhetővé teszi a tanúsítványt a Service Broker párbeszédpanel-beszélgetés kezdeményezője számára.

Remarks

A titkos kulcsnak meg kell felelnie a certificate_name által megadott nyilvános kulcsnak.

Kihagyhatja a DECRYPTION BY PASSWORD záradékot, ha a fájlban lévő jelszó null jelszóval van védve.

Amikor importálja egy olyan tanúsítvány titkos kulcsát, amely már létezik az adatbázisban, a titkos kulcsot automatikusan védi az adatbázis főkulcsa. A titkos kulcs jelszóval való védelméhez használja a ENCRYPTION BY PASSWORD záradékot.

A REMOVE PRIVATE KEY beállítás törli a tanúsítvány titkos kulcsát az adatbázisból. Eltávolíthatja a titkos kulcsot, ha a tanúsítvány használatával ellenőrzi az aláírásokat, vagy olyan Service Broker-forgatókönyvekben, amelyekhez nincs szükség titkos kulcsra. Ne távolítsa el a szimmetrikus kulcsot védő tanúsítvány titkos kulcsát. A titkos kulcsot vissza kell állítania a tanúsítványsal ellenőrizendő további modulok vagy sztringek aláírásához, vagy a tanúsítvánnyal titkosított érték visszafejtéséhez.

Nem kell visszafejtési jelszót megadnia, ha a titkos kulcs titkosítása az adatbázis főkulcsával történik.

A titkos kulcs titkosításához használt jelszó módosításához ne adja meg a FILE vagy a BINARY záradékot.

Important

Az adatbázisból való eltávolítás előtt mindig készítsen archiválási másolatot egy titkos kulcsról. További információ: BACKUP CERTIFICATE (Transact-SQL) és CERTPRIVATEKEY (Transact-SQL).

A WITH PRIVATE KEY (TITKOS KULCS) lehetőség nem érhető el egy tartalmazott adatbázisban.

Korlátozások

A tanúsítványnevek nem módosíthatók a létrehozás után. Az ALTER CERTIFICATE nem támogatja a tanúsítványok átnevezését. Ha másik tanúsítványnevet kell használnia, létre kell hoznia egy új tanúsítványt, és át kell telepítenie a függőségeket.

Megkerülő megoldás TDE-tanúsítványokhoz

Ha egy transzparens adattitkosítási (TDE) tanúsítványt másik névre kell cserélnie:

  1. Az aktuális tanúsítvány és titkos kulcs biztonsági mentése:

    BACKUP CERTIFICATE OldTDECert
    TO FILE = 'C:\Backup\OldTDECert.cer'
    WITH PRIVATE KEY (
        FILE = 'C:\Backup\OldTDECert.pvk',
        ENCRYPTION BY PASSWORD = '<password>'
    );
    
  2. Hozza létre az új tanúsítványt a megfelelő névvel:

    CREATE CERTIFICATE NewTDECert
    WITH SUBJECT = 'TDE Certificate - Correct Name';
    
  3. Minden TDE által titkosított adatbázis esetében módosítsa a titkosítási kulcsot:

    USE EncryptedDB;
    GO
    
    ALTER DATABASE ENCRYPTION KEY
    ENCRYPTION BY SERVER CERTIFICATE NewTDECert;
    
  4. Az összes adatbázis migrálása után vesse el a régi tanúsítványt:

    USE master;
    GO
    
    DROP CERTIFICATE OldTDECert;
    

Important

A TDE módosítása előtt mindig készítsen biztonsági másolatot a tanúsítványokról és a titkos kulcsokról. A biztonsági mentéseket biztonságos helyen, az adatbázis-kiszolgálótól elkülönítve tárolja.

Permissions

ALTER-engedélyt igényel a tanúsítványon.

Examples

A. Tanúsítvány titkos kulcsának eltávolítása

ALTER CERTIFICATE Shipping04   
    REMOVE PRIVATE KEY;  
GO  

B. A titkos kulcs titkosításához használt jelszó módosítása

ALTER CERTIFICATE Shipping11   
    WITH PRIVATE KEY (DECRYPTION BY PASSWORD = '95hkjdskghFDGGG4%',  
    ENCRYPTION BY PASSWORD = '34958tosdgfkh##38');  
GO  

C. Az adatbázisban már megtalálható tanúsítvány titkos kulcsának importálása

ALTER CERTIFICATE Shipping13   
    WITH PRIVATE KEY (FILE = 'c:\importedkeys\Shipping13',  
    DECRYPTION BY PASSWORD = 'GDFLKl8^^GGG4000%');  
GO  

D. A titkos kulcs védelmének módosítása jelszóról az adatbázis főkulcsára

ALTER CERTIFICATE Shipping15   
    WITH PRIVATE KEY (DECRYPTION BY PASSWORD = '95hk000eEnvjkjy#F%');  
GO