Unprotect-CmsMessage

암호화 메시지 구문 형식을 사용하여 암호화된 콘텐츠의 암호를 해독합니다.

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

cmdlet은 Unprotect-CmsMessage CMS(암호화 메시지 구문) 형식을 사용하여 암호화된 콘텐츠의 암호를 해독합니다.

CMS cmdlet은 RFC5652 문서화된 대로 메시지를 암호화하기 위해 IETF 표준 형식을 사용하여 콘텐츠의 암호화 및 암호 해독을 지원합니다.

CMS 암호화 표준은 공개 키 암호화를 사용합니다. 여기서 콘텐츠(공개 키)를 암호화하는 데 사용되는 키와 콘텐츠 암호 해독에 사용되는 키(프라이빗 키)는 별개입니다. 공개 키는 널리 공유할 수 있으며 중요한 데이터가 아닙니다. 이 공개 키로 암호화된 콘텐츠가 있는 경우 프라이빗 키만 암호를 해독할 수 있습니다. 자세한 내용은 공개 키 암호화를 참조하세요.

Unprotect-CmsMessage CMS 형식으로 암호화된 콘텐츠의 암호를 해독합니다. 이 cmdlet을 실행하여 cmdlet을 실행하여 암호화한 콘텐츠의 암호를 해독할 Protect-CmsMessage 수 있습니다. 문자열, 암호화 이벤트 로그 레코드 ID 번호 또는 암호화된 콘텐츠 경로로 암호 해독하려는 콘텐츠를 지정할 수 있습니다. cmdlet은 Unprotect-CmsMessage 암호 해독된 콘텐츠를 반환합니다.

Linux 및 macOS에 대한 지원이 PowerShell 7.1에 추가되었습니다.

예제

예제 1: 메시지 암호 해독

다음 예제에서는 리터럴 경로 C:\Users\Test\Documents\PowerShell에 있는 콘텐츠의 암호를 해독합니다. 필수 To 매개 변수 값의 경우 이 예제에서는 암호화를 수행하는 데 사용된 인증서의 지문을 사용합니다. 암호 해독된 메시지인 "새 Break All 명령 사용해 보기"가 결과입니다.

$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

예제 2: 암호화된 이벤트 로그 메시지 암호 해독

다음 예제에서는 PowerShell 이벤트 로그에서 암호화된 이벤트를 가져오고 를 사용하여 Unprotect-CmsMessage암호를 해독합니다.

$event = Get-WinEvent Microsoft-Windows-PowerShell/Operational -MaxEvents 1 |
    Where-Object Id -eq 4104
Unprotect-CmsMessage -EventLogRecord $event

예제 3: 파이프라인을 사용하여 암호화된 이벤트 로그 메시지 암호 해독

다음 예제에서는 PowerShell 이벤트 로그에서 암호화된 모든 이벤트를 가져오고 Unprotect-CmsMessage.

Get-WinEvent Microsoft-Windows-PowerShell/Operational |
    Where-Object Id -eq 4104 |
    Unprotect-CmsMessage

매개 변수

-Content

암호화된 문자열 또는 암호화된 문자열을 포함하는 변수를 지정합니다.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-EventLogRecord

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

암호 해독하려는 암호화된 콘텐츠의 경로를 지정합니다. Path와 달리 LiteralPath값은 입력된 대로 정확하게 사용됩니다. 어떤 문자도 야생카드 문자로 해석되지 않습니다. 경로에 이스케이프 문자가 포함된 경우 작은따옴표로 묶습니다. 작은따옴표는 PowerShell에 문자를 이스케이프 시퀀스로 해석하지 않도록 지시합니다.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Path

암호 해독하려는 암호화된 콘텐츠의 경로를 지정합니다.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-To

다음 형식 중 하나로 식별되는 하나 이상의 CMS 메시지 받는 사람을 지정합니다.

  • 인증서 공급자에서 검색된 실제 인증서입니다.
  • 인증서를 포함하는 파일의 경로입니다.
  • 인증서를 포함하는 디렉터리의 경로입니다.
  • 인증서의 지문입니다(인증서 저장소를 찾는 데 사용됨).
  • 인증서의 주체 이름입니다(인증서 저장소를 찾는 데 사용됨).
Type:CmsMessageRecipient[]
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

입력

EventLogRecord

String

암호화된 콘텐츠가 포함된 개체를 이 cmdlet으로 파이프할 수 있습니다.

출력

String

이 cmdlet은 암호화되지 않은 메시지를 반환합니다.