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