Get-CmsMessage
Возвращает содержимое, зашифрованное с помощью формата синтаксиса криптографического сообщения.
Синтаксис
ByContent
Get-CmsMessage
[-Content] <String>
[<CommonParameters>]
ByPath
Get-CmsMessage
[-Path] <String>
[<CommonParameters>]
ByLiteralPath
Get-CmsMessage
[-LiteralPath] <String>
[<CommonParameters>]
Описание
Командлет Get-CmsMessage получает содержимое, зашифрованное с помощью формата синтаксиса криптографических сообщений (CMS).
Командлеты CMS поддерживают шифрование и расшифровку содержимого с помощью формата IETF для шифрования сообщений, как описано в RFC5652.
Стандарт шифрования CMS использует криптографию открытого ключа, где ключи, используемые для шифрования содержимого (открытый ключ), и ключи, используемые для расшифровки содержимого (закрытый ключ), разделены. Открытый ключ можно совместно использовать и не является конфиденциальными данными. Если содержимое зашифровано с помощью этого открытого ключа, его можно расшифровать только с помощью закрытого ключа. Дополнительные сведения см. в разделе "Криптография открытого ключа".
Get-CmsMessage получает содержимое, зашифрованное в формате CMS. Он не расшифровывает или не защищает содержимое. Этот командлет можно запустить, чтобы получить содержимое, зашифрованное с помощью командлета Protect-CmsMessage. Можно указать содержимое, которое требуется расшифровать как строку, или путем к зашифрованном содержимому. Результаты Get-CmsMessage можно передать в Unprotect-CmsMessage для расшифровки содержимого, если у вас есть сведения о сертификате шифрования документов, который использовался для шифрования содержимого.
Добавлена поддержка Linux и macOS в PowerShell 7.1.
Примеры
Пример 1. Получение зашифрованного содержимого
$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-----
Эта команда получает зашифрованное содержимое, расположенное в C:\Users\Test\Documents\PowerShell\Future_Plans.txt.
Пример 2. Передача зашифрованного содержимого в 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
Эта команда передает результаты командлета Get-CmsMessage из примера 1 в Unprotect-CmsMessage, чтобы расшифровать сообщение и прочитать его в виде обычного текста. В этом случае значение параметра To является значением строки темы сертификата шифрования. Расшифрованное сообщение "Попробуйте новую команду Break All", является результатом.
Параметры
-Content
Указывает зашифрованную строку или переменную, содержащую зашифрованную строку.
Свойства параметра
| Тип: | String |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
ByContent
| Position: | 0 |
| Обязательно: | True |
| Значение из конвейера: | True |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-LiteralPath
Указывает путь к зашифрованным содержимому, который требуется получить. В отличие от пути, значение LiteralPath используется в точности так, как оно введено. Ни один символ не интерпретируется как подстановочный знак. Если путь содержит escape-символы, заключите каждый из них в одинарные кавычки. Одинарные кавычки говорят PowerShell не интерпретировать заключенные символы как escape-символы.
Свойства параметра
| Тип: | String |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
ByLiteralPath
| Position: | 1 |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Path
Указывает путь к зашифрованным содержимому, который требуется расшифровать.
Свойства параметра
| Тип: | String |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
ByPath
| Position: | 1 |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
CommonParameters
Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.