Unprotect-CmsMessage
Descifra el contenido cifrado mediante el formato de sintaxis de mensajes criptográficos.
Sintaxis
Unprotect-CmsMessage
[-EventLogRecord] <EventLogRecord>
[[-To] <CmsMessageRecipient[]>]
[-IncludeContext]
[<CommonParameters>]
Unprotect-CmsMessage
[-Content] <string>
[[-To] <CmsMessageRecipient[]>]
[-IncludeContext]
[<CommonParameters>]
Unprotect-CmsMessage
[-Path] <string>
[[-To] <CmsMessageRecipient[]>]
[-IncludeContext]
[<CommonParameters>]
Unprotect-CmsMessage
[-LiteralPath] <string>
[[-To] <CmsMessageRecipient[]>]
[-IncludeContext]
[<CommonParameters>]
Description
El cmdlet Unprotect-CmsMessage
descifra el contenido que se ha cifrado mediante el formato de sintaxis de mensajes criptográficos (CMS).
Los cmdlets de CMS admiten el cifrado y descifrado de contenido mediante el formato estándar IETF para proteger los mensajes criptográficamente, tal como se documenta en RFC5652.
El estándar de cifrado cmS usa criptografía de clave pública, donde las claves usadas para cifrar el contenido (la clave pública) y las claves usadas para descifrar contenido (la clave privada) son independientes. La clave pública se puede compartir ampliamente y no es información confidencial. Si algún contenido se cifra con esta clave pública, solo la clave privada puede descifrarlo. Para obtener más información, vea criptografía de clave pública.
Unprotect-CmsMessage
descifra el contenido cifrado en formato CMS. Puede ejecutar este cmdlet para descifrar el contenido que ha cifrado mediante la ejecución del cmdlet Protect-CmsMessage
. Puede especificar el contenido que desea descifrar como una cadena, mediante el número de identificador de registro de eventos de cifrado o por ruta de acceso al contenido cifrado. El cmdlet Unprotect-CmsMessage
devuelve el contenido descifrado.
Se ha agregado compatibilidad con Linux y macOS en PowerShell 7.1.
Ejemplos
Ejemplo 1: Descifrar un mensaje
En el ejemplo siguiente, descifrará el contenido que se encuentra en la ruta de acceso literal C:\Users\Test\Documents\PowerShell
. Para el valor del parámetro necesario Para, en este ejemplo se usa la huella digital del certificado que se usó para realizar el cifrado. El mensaje descifrado " Try the new Break All command" (Probar el nuevo comando Interrumpir todo) es el 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
Ejemplo 2: Descifrar un mensaje de registro de eventos cifrado
En el ejemplo siguiente se obtiene un evento cifrado del registro de eventos de PowerShell y se descifra mediante Unprotect-CmsMessage
.
$event = Get-WinEvent Microsoft-Windows-PowerShell/Operational -MaxEvents 1 |
Where-Object Id -eq 4104
Unprotect-CmsMessage -EventLogRecord $event
Ejemplo 3: Descifrar mensajes de registro de eventos cifrados mediante la canalización
En el ejemplo siguiente se obtienen todos los eventos cifrados del registro de eventos de PowerShell y los descifra mediante Unprotect-CmsMessage
.
Get-WinEvent Microsoft-Windows-PowerShell/Operational |
Where-Object Id -eq 4104 |
Unprotect-CmsMessage
Parámetros
-Content
Especifica una cadena cifrada o una variable que contiene una cadena cifrada.
Tipo: | String |
Posición: | 0 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-EventLogRecord
Especifica un registro de registro de eventos que contiene un mensaje cifrado cmS.
Tipo: | PSObject |
Posición: | 0 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-IncludeContext
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-LiteralPath
Especifica la ruta de acceso al contenido cifrado que desea descifrar. A diferencia de Ruta de acceso, el valor de LiteralPath se usa exactamente como se escribe. No se interpreta ningún carácter comodín. Si la ruta de acceso incluye caracteres de escape, escríbala entre comillas simples. Las comillas simples indican a PowerShell que no interprete ningún carácter como secuencias de escape.
Tipo: | String |
Posición: | 0 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Path
Especifica la ruta de acceso al contenido cifrado que desea descifrar.
Tipo: | String |
Posición: | 0 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-To
Especifica uno o varios destinatarios del mensaje CMS, identificados en cualquiera de los siguientes formatos:
- Un certificado real (como se recuperó del proveedor de certificados).
- Ruta de acceso al archivo que contiene el certificado.
- Ruta de acceso a un directorio que contiene el certificado.
- Huella digital del certificado (que se usa para buscar en el almacén de certificados).
- Nombre del firmante del certificado (que se usa para buscar en el almacén de certificados).
Tipo: | CmsMessageRecipient[] |
Posición: | 1 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
Entradas
Puede canalizar un objeto que contiene contenido cifrado a este cmdlet.
Salidas
Este cmdlet devuelve el mensaje sin cifrar.