Unprotect-CmsMessage
Descifra el contenido cifrado mediante el formato de sintaxis de mensajes criptográficos.
Syntax
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 Unprotect-CmsMessage
cmdlet 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 el descifrado del 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 cualquier contenido está cifrado con esta clave pública, solo su clave privada puede descifrarlo. Para obtener más información, consulte Public-key cryptography (Criptografía mediante claves públicas).
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 Protect-CmsMessage
cmdlet . 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 Unprotect-CmsMessage
cmdlet 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 C:\Users\Test\Documents\PowerShell
literal . Para el valor del parámetro To necesario, 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.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-EventLogRecord
Especifica un registro de registro de eventos que contiene un mensaje cifrado cmS.
Type: | PSObject |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-IncludeContext
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LiteralPath
Especifica la ruta de acceso al contenido cifrado que desea descifrar. A diferencia de Path, el valor de LiteralPath se usa exactamente como se escribe. Ningún carácter se interpreta como carácter comodín. Si la ruta de acceso contiene caracteres de escape, escríbalos entre comillas simples. Las comillas simples indican a PowerShell que no interprete ningún carácter como secuencias de escape.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Especifica la ruta de acceso al contenido cifrado que desea descifrar.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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).
Type: | CmsMessageRecipient[] |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entradas
Puede canalizar un objeto que contiene contenido cifrado a este cmdlet.
Salidas
Este cmdlet devuelve el mensaje sin cifrar.
Vínculos relacionados
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de