Compartilhar via


Unprotect-CmsMessage

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

Sintaxe

ByWinEvent (Default)

Unprotect-CmsMessage
    [-EventLogRecord] <PSObject>
    [[-To] <CmsMessageRecipient[]>]
    [-IncludeContext]
    [<CommonParameters>]

ByContent

Unprotect-CmsMessage
    [-Content] <String>
    [[-To] <CmsMessageRecipient[]>]
    [-IncludeContext]
    [<CommonParameters>]

ByPath

Unprotect-CmsMessage
    [-Path] <String>
    [[-To] <CmsMessageRecipient[]>]
    [-IncludeContext]
    [<CommonParameters>]

ByLiteralPath

Unprotect-CmsMessage
    [-LiteralPath] <String>
    [[-To] <CmsMessageRecipient[]>]
    [-IncludeContext]
    [<CommonParameters>]

Description

O Unprotect-CmsMessage cmdlet descriptografa 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 padrão 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 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.

Unprotect-CmsMessage descriptografa o conteúdo que foi criptografado no formato CMS. Você pode executar esse cmdlet para descriptografar o conteúdo criptografado executando o cmdlet Protect-CmsMessage. Você pode especificar o conteúdo que deseja descriptografar como uma cadeia de caracteres, pelo número da ID do registro do log de eventos de criptografia ou pelo caminho para o conteúdo criptografado. O cmdlet Unprotect-CmsMessage retorna o conteúdo descriptografado.

O suporte para Linux e macOS foi adicionado ao PowerShell 7.1.

Exemplos

Exemplo 1: Descriptografar uma mensagem

No exemplo a seguir, você descriptografa o conteúdo localizado no caminho C:\Users\Test\Documents\PowerShellliteral . Para o valor necessário dos parâmetros e, este exemplo utiliza o identificador digital do certificado que foi utilizado para realizar a criptografia. A mensagem descriptografada, "Experimente o novo comando Interromper Tudo", é o resultado.

$parameters = @{
  LiteralPath = "C:\Users\Test\Documents\PowerShell\Future_Plans.txt"
  To = '0f 8j b1 ab e0 ce 35 1d 67 d2 f2 6f a2 d2 00 cl 22 z9 m9 85'
}
Unprotect-CmsMessage -LiteralPath @parameters
Try the new Break All command

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:True
Valor dos argumentos restantes:False

-EventLogRecord

Especifica uma ID de registro de log de eventos que representa uma operação de criptografia cms.

Propriedades do parâmetro

Tipo:PSObject
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

ByWinEvent
Cargo:0
Obrigatório:True
Valor do pipeline:True
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-IncludeContext

O Unprotect-CmsMessage cmdlet descriptografa 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 padrão 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 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.

Unprotect-CmsMessage descriptografa o conteúdo que foi criptografado no formato CMS. Você pode executar esse cmdlet para descriptografar o conteúdo criptografado executando o cmdlet Protect-CmsMessage. Você pode especificar o conteúdo que deseja descriptografar como uma cadeia de caracteres, pelo número da ID do registro do log de eventos de criptografia ou pelo caminho para o conteúdo criptografado. O cmdlet Unprotect-CmsMessage retorna o conteúdo descriptografado.

O suporte para Linux e macOS foi adicionado ao PowerShell 7.1.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
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 descriptografar. 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-o entre aspas simples. Aspas simples indicam ao PowerShell que não deve interpretar nenhum caractere como uma sequência 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:0
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:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-To

Especifica um ou mais destinatários de mensagens CMS, identificados em qualquer um dos seguintes formatos:

  • Um certificado real (conforme recuperado do provedor de certificados).
  • Caminho para um arquivo que contém o certificado.
  • Caminho para um diretório que contém o certificado.
  • Impressão digital do certificado (usada para procurar no armazenamento de certificados).
  • Nome da entidade do certificado (usado para pesquisar no repositório de certificados).

Propriedades do parâmetro

Tipo:

CmsMessageRecipient[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:1
Obrigatório:False
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.

Entradas

System.Diagnostics.Eventing.Reader.EventLogRecord or System.String

Você pode canalizar um objeto com conteúdo criptografado para Unprotect-CmsMessageo .

Saídas

String

A mensagem não criptografada.