Share via


Get-CmsMessage

Obtém o conteúdo que foi criptografado usando o formato sintaxe de mensagem criptográfica.

Syntax

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

Description

O Get-CmsMessage cmdlet obtém o conteúdo que foi criptografado usando o formato CMS (Sintaxe de Mensagem Criptográfica).

Os cmdlets cmdlets do CMS dão suporte à criptografia e à descriptografia de conteúdo usando o formato IETF para proteger criptograficamente mensagens, conforme documentado por RFC5652.

O padrão de criptografia CMS usa criptografia de chave pública, em que as chaves usadas para criptografar o conteúdo (a chave pública) e as chaves usadas para descriptografar o conteúdo (a chave privada) são separadas. Sua chave pública pode ser compartilhada amplamente e não contém dados confidenciais. Se algum conteúdo for criptografado com essa chave pública, somente sua chave privada poderá descriptografá-lo. Para obter mais informações, consulte Criptografia por chave pública.

Get-CmsMessage obtém o conteúdo que foi criptografado no formato CMS. Ele não descriptografa nem desprotege o conteúdo. Você pode executar esse cmdlet para obter o conteúdo criptografado executando o Protect-CmsMessage cmdlet . Você pode especificar o conteúdo que deseja descriptografar como uma cadeia de caracteres ou por caminho para o conteúdo criptografado. Você pode redirecionar os resultados de Get-CmsMessage para Unprotect-CmsMessage descriptografar o conteúdo, desde que 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 no 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 o 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 redireciona os resultados do Get-CmsMessage cmdlet 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 Break All", é o resultado.

Parâmetros

-Content

Especifica uma cadeia de caracteres criptografada ou uma variável que contém uma cadeia de caracteres criptografada.

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

-LiteralPath

Especifica o caminho para o conteúdo criptografado que você deseja obter. Ao contrário de Path, o valor de LiteralPath é usado exatamente como 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 caracteres delimitados como caracteres de escape.

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

-Path

Especifica o caminho para o conteúdo criptografado que você deseja descriptografar.

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