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