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.

Példák

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

# 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 -new DocumentEncryption.inf DocumentEncryption.cer

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 a "DocumentEncryption.inf" fájlba, ahogyan az ebben a példában látható).

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
Get-ChildItem -DocumentEncryptionCert

A dokumentumtitkosítási tanúsítványok a tanúsítványszolgáltatóban való 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:

  • 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.