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ść, która została zaszyfrowana przy użyciu formatu składni komunikatów kryptograficznych (CMS).

Polecenia cmdlet usługi 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 klucze używane do odszyfrowywania zawartości (klucza prywatnego) są oddzielne. Klucz publiczny można szeroko udostępniać i nie jest poufnymi danymi. 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 odszyfrowuje ani nie chroni zawartości. Możesz uruchomić to polecenie cmdlet, 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. Aby odszyfrować zawartość, możesz przekazać wyniki Get-CmsMessageUnprotect-CmsMessage potoku, 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 C:\Users\Test\Documents\PowerShell\Future_Plans.txt.

Przykład 2. Potok zaszyfrowanej zawartości do 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 tym przypadku wartość parametru Do 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 wieloznaczne nie są interpretowane jako znaki wieloznaczne. Jeśli ścieżka zawiera znaki ucieczki, należy je ująć w pojedynczy cudzysłów. Znaki pojedynczego cudzysłowu informują program PowerShell, aby nie interpretował znaków ujętych w znaki 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