Unprotect-CmsMessage
Dešifruje obsah, který byl zašifrován pomocí formátu syntaxe kryptografických zpráv.
Syntaxe
ByWinEvent (Výchozí)
Unprotect-CmsMessage
[-EventLogRecord] <EventLogRecord>
[[-To] <CmsMessageRecipient[]>]
[-IncludeContext]
[<CommonParameters>]
ByContent
Unprotect-CmsMessage
[-Content] <string>
[[-To] <CmsMessageRecipient[]>]
[-IncludeContext]
[<CommonParameters>]
ByPath
Unprotect-CmsMessage
[-Path] <string>
[[-To] <CmsMessageRecipient[]>]
[-IncludeContext]
[<CommonParameters>]
ByLiteralPath
Unprotect-CmsMessage
[-LiteralPath] <string>
[[-To] <CmsMessageRecipient[]>]
[-IncludeContext]
[<CommonParameters>]
Description
Rutina Unprotect-CmsMessage dešifruje obsah, který byl zašifrován pomocí formátu CMS (Cryptographic Message Syntax).
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 š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ý na doslovné cestě C:\Users\Test\Documents\PowerShell. Pro hodnotu požadovaného parametru To používá tento příklad kryptografický otisk certifikátu použitého 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šifrovat šifrované zprávy z 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.
Vlastnosti parametru
| Typ: | String |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
ByContent
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | True |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-EventLogRecord
Určuje záznam protokolu událostí, který obsahuje zašifrovanou zprávu CMS.
Vlastnosti parametru
| Typ: | PSObject |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
ByWinEvent
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | True |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-IncludeContext
Určuje, zda se má dešifrovaný obsah zahrnout do původního kontextu, a ne výstup pouze dešifrovaného obsahu.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-LiteralPath
Určuje cestu k šifrovaného obsahu, který chcete dešifrovat. Na rozdíl od pathse hodnota LiteralPath používá přesně tak, jak je zadána. Žádné znaky nejsou interpretovány jako zástupné znaky. Pokud cesta obsahuje únikové znaky, uzavřete ji do jednoduchých uvozovek. Jednoduché uvozovky říkají PowerShellu, aby žádné znaky neinterpretoval jako únikové sekvence.
Vlastnosti parametru
| Typ: | String |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
ByLiteralPath
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Path
Určuje cestu k šifrovaného obsahu, který chcete dešifrovat.
Vlastnosti parametru
| Typ: | String |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
ByPath
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | 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ý z poskytovatele certifikátů)
- Cesta k souboru obsahujícímu certifikát
- Cesta k adresáři obsahujícímu certifikát
- Otisk prstu certifikátu (používaný k vyhledávání v úložišti certifikátů)
- Název subjektu certifikátu (slouží k vyhledání v úložišti certifikátů).
Vlastnosti parametru
| Typ: | |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | 1 |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
CommonParameters
Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.
Vstupy
EventLogRecord
String
Objekt obsahující šifrovaný obsah můžete předat tomuto cmdletu.
Výstupy
String
Tato rutina vrátí nešifrovanou zprávu.