Compartilhar via


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.