Partilhar via


Get-CmsMessage

Obtém conteúdo que foi criptografado usando o formato 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 conteúdo que foi criptografado usando o formato CMS (Sintaxe de Mensagem Criptográfica).

Os cmdlets CMS oferecem suporte à criptografia e descriptografia de conteúdo usando o formato IETF para proteger mensagens criptograficamente, 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 compartilhada amplamente e não são dados confidenciais. Se algum conteúdo for encriptado com esta chave pública, apenas a sua chave privada pode desencriptar. Para obter mais informações, consulte Criptografia de chave pública.

Get-CmsMessage obtém conteúdo que foi criptografado no formato CMS. Não desencripta nem desprotege conteúdos. Você pode executar esse cmdlet para obter 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 do 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.

Exemplos

Exemplo 1: Obter conteúdo encriptado

PS C:\> Get-CmsMessage -Path "C:\Users\Test\Documents\PowerShell ISE\Future_Plans.txt"
-----BEGIN CMS-----
MIIBqAYJKoZIhvcNAQcDoIIBmTCCAZUCAQAxggFQMIIBTAIBADA0MCAxHjAcBgNVBAMBFWxlZWhv
bG1AbGljcm9zb2Z0LmNvbQIQQYHsbcXnjIJCtH+OhGmc1DANBgkqhkiG9w0BAQcwAASCAQAnkFHM
proJnFy4geFGfyNmxH3yeoPvwEYzdnsoVqqDPAd8D3wao77z7OhJEXwz9GeFLnxD6djKV/tF4PxR
E27aduKSLbnxfpf/sepZ4fUkuGibnwWFrxGE3B1G26MCenHWjYQiqv+Nq32Gc97qEAERrhLv6S4R
G+2dJEnesW8A+z9QPo+DwYP5FzD0Td0ExrkswVckpLNR6j17Yaags3ltNXmbdEXekhi6Psf2MLMP
TSO79lv2L0KeXFGuPOrdzPRwCkV0vNEqTEBeDnZGrjv/5766bM3GW34FXApod9u+VSFpBnqVOCBA
DVDraA6k+xwBt66cV84AHLkh0kT02SIHMDwGCSqGSIb3DQEHATAdBglghkgBZQMEASoEEJbJaiRl
KMnBoD1dkb/FzSWAEBaL8xkFwCu0e1AtDj7nSJc=
-----END CMS-----

Este comando obtém conteúdo criptografado localizado em C:\Users\Test\Documents\PowerShell\ISE\Future_Plans.txt.

Exemplo 2: Canalizar conteúdo criptografado para Unprotect-CmsMessage

PS C:\> $Msg = Get-CmsMessage -Path "C:\Users\Test\Documents\PowerShell ISE\Future_Plans.txt"
$Msg | Unprotect-CmsMessage -To "cn=youralias@emailaddress.com"
Try the new Break All command

Este 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 de assunto do certificado de criptografia. A mensagem desencriptada, "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.

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

ByContent
Position:0
Obrigatório:True
Valor do pipeline:True
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-LiteralPath

Especifica o caminho para o conteúdo criptografado que você deseja obter. Ao contrário Path, o valor de LiteralPath é usado exatamente como é digitado. Nenhum caractere é interpretado como um caractere curinga. Se o caminho incluir caracteres de escape, coloque cada um entre aspas simples. As aspas simples informam ao Windows PowerShell para não interpretar caracteres incluídos como caracteres de escape.

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

ByLiteralPath
Position:1
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Path

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

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

ByPath
Position:1
Obrigatório:True
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos: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.