Get-CmsMessage
Obtém o conteúdo que foi criptografado usando o formato de sintaxe de mensagem criptográfica.
Sintaxe
ByContent
Get-CmsMessage
[-Content] <String>
[<CommonParameters>]
ByPath
Get-CmsMessage
[-Path] <String>
[<CommonParameters>]
ByLiteralPath
Get-CmsMessage
[-LiteralPath] <String>
[<CommonParameters>]
Description
O cmdlet Get-CmsMessage obtém o conteúdo que foi criptografado usando o formato CMS (Sintaxe de Mensagem Criptográfica).
Os cmdlets do CMS dão suporte à criptografia e à descriptografia de conteúdo usando o formato IETF para proteção criptográfica de mensagens, conforme documentado por RFC5652.
O padrão de criptografia cms usa criptografia de chave pública, onde as chaves usadas para criptografar conteúdo (a chave pública) e as chaves usadas para descriptografar conteúdo (a chave privada) são separadas. Sua chave pública pode ser amplamente compartilhada e não é dados confidenciais. Se qualquer conteúdo for criptografado com essa chave pública, somente sua chave privada poderá descriptografá-la. Para obter mais informações, consulte criptografia de chave pública.
Get-CmsMessage obtém o conteúdo que foi criptografado no formato CMS. Ele não descriptografa ou desprotege o conteúdo. Você pode executar esse cmdlet para obter o conteúdo criptografado executando o cmdlet Protect-CmsMessage. Você pode especificar o conteúdo que deseja descriptografar como uma cadeia de caracteres ou por caminho para o conteúdo criptografado. Você pode canalizar os resultados de Get-CmsMessage para Unprotect-CmsMessage para descriptografar o conteúdo, desde que você tenha informações sobre o certificado de criptografia de documento que foi usado para criptografar o conteúdo.
O suporte para Linux e macOS foi adicionado ao PowerShell 7.1.
Exemplos
Exemplo 1: Obter conteúdo criptografado
$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-----
Esse comando obtém conteúdo criptografado localizado em C:\Users\Test\Documents\PowerShell\Future_Plans.txt.
Exemplo 2: redirecionar conteúdo criptografado para 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
Esse comando canaliza os resultados do cmdlet Get-CmsMessage do Exemplo 1 para Unprotect-CmsMessage, para descriptografar a mensagem e lê-la em texto sem formatação. Nesse caso, o valor do parâmetro To é o valor da linha Subject do certificado de criptografia. A mensagem descriptografada, "Experimente o novo comando Interromper Tudo", é o resultado.
Parâmetros
-Content
Especifica uma cadeia de caracteres criptografada ou uma variável que contém uma cadeia de caracteres criptografada.
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
ByContent
| Cargo: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | True |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-LiteralPath
Especifica o caminho para o conteúdo criptografado que você deseja obter. Diferente de Path, o valor de LiteralPath é usado exatamente como foi digitado. Nenhum caractere é interpretado como caractere curinga. Se o caminho incluir caracteres de escape, coloque cada um entre aspas simples. As aspas simples dizem ao PowerShell para não interpretar os caracteres incluídos como caracteres de escape.
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
ByLiteralPath
| Cargo: | 1 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Path
Especifica o caminho para o conteúdo criptografado que você deseja descriptografar.
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
ByPath
| Cargo: | 1 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
CommonParameters
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.