Unprotect-CmsMessage
Dešifruje obsah, který byl zašifrován pomocí formátu syntaxe kryptografických zpráv.
Syntaxe
Unprotect-CmsMessage
[-EventLogRecord] <EventLogRecord>
[[-To] <CmsMessageRecipient[]>]
[-IncludeContext]
[<CommonParameters>]
Unprotect-CmsMessage
[-Content] <string>
[[-To] <CmsMessageRecipient[]>]
[-IncludeContext]
[<CommonParameters>]
Unprotect-CmsMessage
[-Path] <string>
[[-To] <CmsMessageRecipient[]>]
[-IncludeContext]
[<CommonParameters>]
Unprotect-CmsMessage
[-LiteralPath] <string>
[[-To] <CmsMessageRecipient[]>]
[-IncludeContext]
[<CommonParameters>]
Description
Rutina Unprotect-CmsMessage
dešifruje obsah, který byl zašifrován pomocí formátu Cryptographic Message Syntax (CMS).
Rutiny CMS podporují šifrování a dešifrování obsahu pomocí standardního formátu IETF pro kryptograficky chráněné zprávy, jak je zdokumentované RFC5652.
Šifrovací standard CMS používá kryptografii veřejného klíče, kde jsou klíče používané k šifrování obsahu (veřejného klíče) a klíče používané k dešifrování obsahu (privátního klíče) oddělené. Veřejný klíč je možné sdílet široce a nejedná se o citlivá data. Pokud je jakýkoli obsah zašifrovaný tímto veřejným klíčem, může ho dešifrovat jenom váš privátní klíč. Další informace naleznete v tématu Kryptografie veřejného klíče.
Unprotect-CmsMessage
dešifruje obsah zašifrovaný ve formátu CMS. Tuto rutinu můžete spustit a dešifrovat obsah, který jste zašifrovali spuštěním rutiny Protect-CmsMessage
. Můžete zadat obsah, který chcete dešifrovat jako řetězec, pomocí čísla ID záznamu protokolu událostí šifrování nebo cestou k šifrovaného obsahu. Rutina Unprotect-CmsMessage
vrátí dešifrovaný obsah.
Podpora pro Linux a macOS byla přidána v PowerShellu 7.1.
Příklady
Příklad 1: Dešifrování zprávy
V následujícím příkladu dešifrujete obsah umístěný v cestě C:\Users\Test\Documents\PowerShell
literálu . Pro hodnotu požadovaného parametru To tento příklad používá kryptografický otisk certifikátu, který byl použit k provedení šifrování. Dešifrovaná zpráva Try the new Break All command (Vyzkoušet nový příkaz Break All) je výsledkem.
$parameters = @{
LiteralPath = "C:\Users\Test\Documents\PowerShell\Future_Plans.txt"
To = '0f 8j b1 ab e0 ce 35 1d 67 d2 f2 6f a2 d2 00 cl 22 z9 m9 85'
}
Unprotect-CmsMessage -LiteralPath @parameters
Try the new Break All command
Příklad 2: Dešifrování zašifrované zprávy protokolu událostí
Následující příklad získá zašifrovanou událost z protokolu událostí PowerShellu a dešifruje ji pomocí Unprotect-CmsMessage
.
$event = Get-WinEvent Microsoft-Windows-PowerShell/Operational -MaxEvents 1 |
Where-Object Id -eq 4104
Unprotect-CmsMessage -EventLogRecord $event
Příklad 3: Dešifrování šifrovaných zpráv protokolu událostí pomocí kanálu
Následující příklad získá všechny šifrované události z protokolu událostí PowerShellu a dešifruje je pomocí Unprotect-CmsMessage
.
Get-WinEvent Microsoft-Windows-PowerShell/Operational |
Where-Object Id -eq 4104 |
Unprotect-CmsMessage
Parametry
-Content
Určuje šifrovaný řetězec nebo proměnnou obsahující šifrovaný řetězec.
Typ: | String |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-EventLogRecord
Určuje záznam protokolu událostí, který obsahuje zašifrovanou zprávu CMS.
Typ: | PSObject |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-IncludeContext
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-LiteralPath
Určuje cestu k šifrovaného obsahu, který chcete dešifrovat. Na rozdíl od cesty se hodnota LiteralPath používá přesně tak, jak je zadaná. Žádné znaky nejsou interpretovány jako zástupné znaky. Pokud cesta obsahuje řídicí znaky, uzavřete ji do jednoduchých uvozovek. Jednoduché uvozovky říkají PowerShellu, aby nepřekládaly žádné znaky jako řídicí sekvence.
Typ: | String |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Path
Určuje cestu k šifrovaného obsahu, který chcete dešifrovat.
Typ: | String |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-To
Určuje jednoho nebo více příjemců zpráv CMS identifikovaných v některém z následujících formátů:
- Skutečný certifikát (načtený od zprostředkovatele certifikátu)
- Cesta k souboru obsahujícímu certifikát
- Cesta k adresáři obsahujícímu certifikát
- Kryptografický otisk certifikátu (použitý k vyhledání v úložišti certifikátů)
- Název subjektu certifikátu (slouží k vyhledání v úložišti certifikátů).
Typ: | CmsMessageRecipient[] |
Position: | 1 |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
Vstupy
Objekt obsahující šifrovaný obsah můžete do této rutiny převést.
Výstupy
Tato rutina vrátí nešifrovanou zprávu.