Sdílet prostřednictvím


Get-CmsMessage

Získá obsah, který byl zašifrován pomocí kryptografického formátu syntaxe zprávy.

Syntaxe

Get-CmsMessage
   [-Content] <String>
   [<CommonParameters>]
Get-CmsMessage
   [-Path] <String>
   [<CommonParameters>]
Get-CmsMessage
   [-LiteralPath] <String>
   [<CommonParameters>]

Description

Rutina Get-CmsMessage získá obsah, který byl zašifrován pomocí formátu Cryptographic Message Syntax (CMS).

Rutiny CMS podporují šifrování a dešifrování obsahu pomocí 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é. Váš 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.

Get-CmsMessage získá obsah, který je šifrovaný ve formátu CMS. Nešifruje ani nechrání obsah. Spuštěním této rutiny můžete získat obsah, který jste zašifrovali spuštěním rutiny Protect-CmsMessage . Můžete zadat obsah, který chcete dešifrovat jako řetězec, nebo cestou k šifrovaného obsahu. Výsledky dešifrování obsahu můžete předvést Get-CmsMessage Unprotect-CmsMessage , pokud máte informace o šifrovacím certifikátu dokumentu, který se použil k šifrování obsahu.

Podpora pro Linux a macOS byla přidána v PowerShellu 7.1.

Příklady

Příklad 1: Získání šifrovaného obsahu

$Msg = Get-CmsMessage -Path "C:\Users\Test\Documents\PowerShell\Future_Plans.txt"
$Msg.Content

-----BEGIN CMS-----
MIIBqAYJKoZIhvcNAQcDoIIBmTCCAZUCAQAxggFQMIIBTAIBADA0MCAxHjAcBgNVBAMBFWxlZWhv
bG1AbGljcm9zb2Z0LmNvbQIQQYHsbcXnjIJCtH+OhGmc1DANBgkqhkiG9w0BAQcwAASCAQAnkFHM
proJnFy4geFGfyNmxH3yeoPvwEYzdnsoVqqDPAd8D3wao77z7OhJEXwz9GeFLnxD6djKV/tF4PxR
E27aduKSLbnxfpf/sepZ4fUkuGibnwWFrxGE3B1G26MCenHWjYQiqv+Nq32Gc97qEAERrhLv6S4R
G+2dJEnesW8A+z9QPo+DwYP5FzD0Td0ExrkswVckpLNR6j17Yaags3ltNXmbdEXekhi6Psf2MLMP
TSO79lv2L0KeXFGuPOrdzPRwCkV0vNEqTEBeDnZGrjv/5766bM3GW34FXApod9u+VSFpBnqVOCBA
DVDraA6k+xwBt66cV84AHLkh0kT02SIHMDwGCSqGSIb3DQEHATAdBglghkgBZQMEASoEEJbJaiRl
KMnBoD1dkb/FzSWAEBaL8xkFwCu0e1AtDj7nSJc=
-----END CMS-----

Tento příkaz získá šifrovaný obsah umístěný v umístění C:\Users\Test\Documents\PowerShell\Future_Plans.txt.

Příklad 2: Zašifrovaný obsah kanálu pro unprotect-CmsMessage

$Msg = Get-CmsMessage -Path "C:\Users\Test\Documents\PowerShell\Future_Plans.txt"
$Msg | Unprotect-CmsMessage -To "cn=youralias@emailaddress.com"

Try the new Break All command

Tento příkaz předá výsledky rutiny z příkladu Get-CmsMessage 1 do Unprotect-CmsMessage, dešifruje zprávu a přečte ji ve formátu prostého textu. V tomto případě je hodnota parametru To hodnotou šifrujícího řádku předmětu certifikátu. Dešifrovaná zpráva Try the new Break All command (Vyzkoušet nový příkaz Break All) je výsledkem.

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

-LiteralPath

Určuje cestu k šifrovaného obsahu, který chcete získat. Na rozdíl od cesty se hodnota LiteralPath používá přesně tak, jak je zadána. Žádné znaky nejsou interpretovány jako zástupné znaky. Pokud cesta obsahuje řídicí znaky, uzavřete je do jednoduchých uvozovek. Jednoduché uvozovky říkají PowerShellu, aby neukládal uzavřené znaky jako řídicí znaky.

Typ:String
Position:1
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:1
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False