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


Protect-CmsMessage

Titkosítja a tartalmat a titkosítási üzenet szintaxisának formátumával.

Syntax

ByContent (Alapértelmezett)

Protect-CmsMessage
    [-To] <CmsMessageRecipient[]>
    [-Content] <PSObject>
    [[-OutFile] <String>]
    [<CommonParameters>]

ByPath

Protect-CmsMessage
    [-To] <CmsMessageRecipient[]>
    [-Path] <String>
    [[-OutFile] <String>]
    [<CommonParameters>]

ByLiteralPath

Protect-CmsMessage
    [-To] <CmsMessageRecipient[]>
    [-LiteralPath] <String>
    [[-OutFile] <String>]
    [<CommonParameters>]

Description

A Protect-CmsMessage parancsmag titkosítja a tartalmat a titkosítási üzenet szintaxisa (CMS) formátum használatával.

A CMS-parancsmagok támogatják a tartalom titkosítását és visszafejtést az RFC5652által dokumentált IETF-formátumban.

A CMS titkosítási szabvány nyilvános kulcsú titkosítást használ, ahol a tartalom titkosításához használt kulcsok (a nyilvános kulcs) és a tartalom visszafejtéséhez használt kulcsok (a titkos kulcs) külön vannak. A nyilvános kulcs széles körben megosztható, és nem bizalmas adatok. Ha bármely tartalom ezzel a nyilvános kulccsal van titkosítva, csak a titkos kulcs tudja visszafejteni. További információ: nyilvános kulcsú titkosítási.

A Protect-CmsMessage parancsmag futtatása előtt be kell állítania egy titkosítási tanúsítványt. A PowerShellben való felismeréshez a titkosítási tanúsítványokhoz egyedi kiterjesztett kulcshasználati (EKU-) azonosítóra van szükség az adattitkosítási tanúsítványok (például a kódaláírás és a titkosított levelek azonosítói) azonosításához. Példa a dokumentumtitkosításhoz használható tanúsítványokra: ebben a témakörben az 1. példa.

A Linux és a macOS támogatása a PowerShell 7.1-ben lett hozzáadva.

Példák

1. példa: Tanúsítvány létrehozása tartalom titkosításához

A Protect-CmsMessage parancsmag futtatása előtt létre kell hoznia egy titkosítási tanúsítványt. A következő szöveg használatával módosítsa a Tulajdonos sorban lévő nevet az Ön nevére, e-mail-címére vagy más azonosítóra, és mentse a tanúsítványt egy fájlba (például DocumentEncryption.inf, ahogyan az ebben a példában látható).

# Create .INF file for certreq
{[Version]
Signature = "$Windows NT$"

[Strings]
szOID_ENHANCED_KEY_USAGE = "2.5.29.37"
szOID_DOCUMENT_ENCRYPTION = "1.3.6.1.4.1.311.80.1"

[NewRequest]
Subject = "cn=youralias@emailaddress.com"
MachineKeySet = false
KeyLength = 2048
KeySpec = AT_KEYEXCHANGE
HashAlgorithm = Sha1
Exportable = true
RequestType = Cert
KeyUsage = "CERT_KEY_ENCIPHERMENT_KEY_USAGE | CERT_DATA_ENCIPHERMENT_KEY_USAGE"
ValidityPeriod = "Years"
ValidityPeriodUnits = "1000"

[Extensions]
%szOID_ENHANCED_KEY_USAGE% = "{text}%szOID_DOCUMENT_ENCRYPTION%"
} | Out-File -FilePath DocumentEncryption.inf

# After you have created your certificate file, run the following command to add
# the certificate file to the certificate store. Now you are ready to encrypt and
# decrypt content with the next two examples.
certreq.exe -new DocumentEncryption.inf DocumentEncryption.cer

2. példa: E-mailben küldött üzenet titkosítása

$Protected = "Hello World" | Protect-CmsMessage -To "*youralias@emailaddress.com*"

Az alábbi példában a "Hello World" üzenetet titkosítja úgy, hogy a Protect-CmsMessage parancsmagba pipálja, majd egy változóba menti a titkosított üzenetet. A To paraméter a tanúsítvány Tulajdonos sorának értékét használja.

3. példa: Dokumentumtitkosítási tanúsítványok megtekintése

PS C:\> cd Cert:\CurrentUser\My
PS Cert:\CurrentUser\My> Get-ChildItem -DocumentEncryptionCert

A tanúsítványszolgáltató dokumentumtitkosítási tanúsítványainak megtekintéséhez hozzáadhatja a Get-ChildItemDocumentEncryptionCert dinamikus paraméterét, amely csak a tanúsítványszolgáltató betöltésekor érhető el.

Paraméterek

-Content

Megadja a titkosítani kívánt tartalmat tartalmazó PSObject. Titkosíthatja például egy eseményüzenet tartalmát, majd az üzenetet tartalmazó változót (ebben a példában$Event) használhatja a Tartalom paraméter értékeként: $event = Get-WinEvent -ProviderName "PowerShell" -MaxEvents 1. A Get-Content parancsmaggal lekérheti egy fájl ( például Egy Microsoft Word-dokumentum) tartalmát, és mentheti a tartalmat egy változóba, amelyet a Content paraméter értékeként használ.

Paramétertulajdonságok

Típus:PSObject
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

ByContent
Position:1
Kötelező:True
Folyamatból származó érték:True
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-LiteralPath

Megadja a titkosítandó tartalom elérési útját. A Path-tal ellentétben a LiteralPath értéke pontosan a beíráskor lesz használva. A rendszer egyetlen karaktert sem értelmez helyettesítő karakterként. Ha az elérési útvonal escape karaktereket tartalmaz, tedd azt egyes idézőjelek közé. Az egyes idézőjelek azt mondják a PowerShellnek, hogy egyetlen karaktert se értelmezzen escape szekvenciaként.

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

ByLiteralPath
Position:1
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-OutFile

Megadja annak a fájlnak az elérési útját és fájlnevét, amelyre a titkosított tartalmat el szeretné küldeni.

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:2
Kötelező:False
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-Path

Megadja a titkosítandó tartalom elérési útját.

Paramétertulajdonságok

Típus:String
Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

ByPath
Position:1
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

-To

Egy vagy több CMS-üzenet címzettjének megadása, amelyeket az alábbi formátumok bármelyike azonosít:

  • Egy tényleges tanúsítvány (a tanúsítványszolgáltatótól lekért módon).
  • A tanúsítványt tartalmazó fájl elérési útja.
  • A tanúsítványt tartalmazó könyvtár elérési útja.
  • A tanúsítvány ujjlenyomata (a tanúsítványtárolóban való kereséshez használatos).
  • A tanúsítvány tulajdonosának neve (a tanúsítványtárolóban való kereséshez használatos).

Paramétertulajdonságok

Típus:

CmsMessageRecipient[]

Alapértelmezett érték:None
Támogatja a helyettesítő karaktereket:False
DontShow:False

Paraméterkészletek

(All)
Position:0
Kötelező:True
Folyamatból származó érték:False
Folyamatból származó érték tulajdonságnév alapján:False
Fennmaradó argumentumokból származó érték:False

CommonParameters

Ez a parancsmag a következő gyakori paramétereket támogatja: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction és -WarningVariable. További információért lásd about_CommonParameters.