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.
Typ: | String |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | 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.
Typ: | String |
Position: | 1 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Path
Określa ścieżkę do zaszyfrowanej zawartości, którą chcesz odszyfrować.
Typ: | String |
Position: | 1 |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |