Udostępnij za pośrednictwem


Get-CmsMessage

Pobiera zawartość, która została zaszyfrowana przy użyciu formatu składni komunikatów kryptograficznych.

Składnia

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

Opis

Polecenie Get-CmsMessage cmdlet pobiera zawartość zaszyfrowaną przy użyciu formatu składni komunikatów kryptograficznych (CMS).

Polecenia cmdlet cmS obsługują szyfrowanie i odszyfrowywanie zawartości przy użyciu formatu IETF na potrzeby kryptograficznego ochrony komunikatów zgodnie z opisem RFC5652.

Standard szyfrowania CMS używa kryptografii klucza publicznego, gdzie klucze używane do szyfrowania zawartości (klucza publicznego) i kluczy używanych do odszyfrowywania zawartości (klucza prywatnego) są oddzielne. Klucz publiczny może być szeroko udostępniany i nie jest poufny. Jeśli jakakolwiek zawartość jest zaszyfrowana przy użyciu tego klucza publicznego, tylko twój klucz prywatny może go odszyfrować. Aby uzyskać więcej informacji, zobacz Kryptografia klucza publicznego.

Get-CmsMessage pobiera zawartość zaszyfrowaną w formacie CMS. Nie odszyfruje ani nie wyłącza ochrony zawartości. To polecenie cmdlet można uruchomić, aby uzyskać zaszyfrowaną zawartość, uruchamiając Protect-CmsMessage polecenie cmdlet . Możesz określić zawartość, którą chcesz odszyfrować jako ciąg, lub ścieżką do zaszyfrowanej zawartości. Możesz przekazać wyniki polecenia Get-CmsMessage , aby Unprotect-CmsMessage odszyfrować zawartość, pod warunkiem, że masz informacje o certyfikacie szyfrowania dokumentu, który został użyty do szyfrowania zawartości.

Dodano obsługę systemów Linux i macOS w programie PowerShell 7.1.

Przykłady

Przykład 1. Pobieranie zaszyfrowanej zawartości

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

To polecenie pobiera zaszyfrowaną zawartość znajdującą się w folderze C:\Users\Test\Documents\PowerShell\Future_Plans.txt.

Przykład 2: Przesyłaj potokowo zaszyfrowaną zawartość do komunikatu 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

To polecenie potokuje wyniki polecenia cmdlet z przykładu Get-CmsMessage 1 do Unprotect-CmsMessage, aby odszyfrować komunikat i odczytać go w postaci zwykłego tekstu. W takim przypadku wartość parametru To jest wartością wiersza Podmiot certyfikatu szyfrowania. Odszyfrowany komunikat "Wypróbuj nowe polecenie Break All" jest wynikiem.

Parametry

-Content

Określa zaszyfrowany ciąg lub zmienną zawierającą zaszyfrowany ciąg.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-LiteralPath

Określa ścieżkę do zaszyfrowanej zawartości, którą chcesz pobrać. W przeciwieństwie do ścieżki wartość LiterałuPath jest używana dokładnie tak, jak jest typowana. Znaki nie są interpretowane jako symbole wieloznaczne. Jeśli ścieżka zawiera znaki ucieczki, należy ująć je w pojedynczy cudzysłów. Znaki pojedynczego cudzysłowu informują program PowerShell, aby nie interpretował znaków zamkniętych jako znaków ucieczki.

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Path

Określa ścieżkę do zaszyfrowanej zawartości, którą chcesz odszyfrować.

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False