RSA Verify
공개키로 RSA-PSS 또는 PKCS#1 v1.5 전자서명을 검증한다
개요
서명자의 RSA 공개키로 RSASSA-PSS 또는 RSASSA-PKCS1-v1_5 디지털 서명을 원본 메시지와 대조 검증하여 불리언 판정 결과(Valid)를 내보낸다.
판정 오류 프로필(Judgement Error Profile)을 사용하므로 서명이 올바르지 않더라도 기본적으로는 런타임 오류를 내는 대신 Valid = false를 정상 출력하며, 필요 시 오류로 처리(errorOnValue)를 설정해 즉시 파이프라인을 중단시킬 수 있다.
사용 시점
- RSA Sign이나 외부 시스템이 생성한 RSA-PSS / PKCS#1 v1.5 서명의 진위를 검증할 때 사용한다.
파라미터 설정
| 파라미터 (ID) | 타입 및 기본값 | 노출 조건 | 설명 및 옵션 |
|---|---|---|---|
서명 방식scheme |
select기본값: PSS |
항상 노출 | 이 노드의 서명 방식 설정을 지정한다.
|
해시 알고리즘hash |
select기본값: SHA-256 |
항상 노출 | 이 노드의 해시 알고리즘 설정을 지정한다.
|
PSS 솔트 길이 (바이트)saltLength |
number기본값: 32 |
scheme가 PSS 일 때 |
paddingScheme = PSS일 때 서명에 사용된 솔트 바이트 길이(기본 32바이트)이다. |
오류로 처리errorOnValue |
select기본값: "" (비움) |
항상 노출 | 판정 오류 재해석 설정: false로 지정하면 서명 검증 실패 시 노드를 ERROR 상태로 전환한다.
|
오류 코드errorCode |
text기본값: "" (비움) |
errorOnValue가 true 또는 false 일 때 |
오류로 처리 발동 시 사용할 사용자 정의 오류 코드이다. |
오류 메시지errorMessage |
text기본값: "" (비움) |
errorOnValue가 true 또는 false 일 때 |
오류로 처리 발동 시 사용할 사용자 정의 오류 메시지이다. |
포트 입출력 명세
포트 연결 규칙, 데이터 타입별 색상, 가변 포트 생성 방식은 포트 및 연결 문서를 참고한다.
입력 포트
포트 성격: 고정 입력 포트 (총 3개).
| 포트 이름 | 포트 ID | 데이터 타입 | 필수 여부 | 노출 조건 | 설명 |
|---|---|---|---|---|---|
Public Key |
publicKey |
Any |
필수 | 항상 노출 | 서명자의 RSA 공개키 바이트 배열(PEM 또는 DER)이다. |
Message |
data |
Bytes |
필수 | 항상 노출 | 원본 메시지. 검증 전에 선택한 해시 알고리즘으로 해시한다. |
Signature |
signature |
Bytes |
필수 | 항상 노출 | 검증할 RSA 서명 바이트 배열(Uint8Array)이다. |
출력 포트
포트 성격: 고정 출력 포트 (총 1개).
| 포트 이름 | 포트 ID | 데이터 타입 | 노출 조건 | 설명 |
|---|---|---|---|---|
Valid |
isValid |
Bool |
항상 노출 | 서명 검증 결과 불리언 값(유효하면 true, 아니면 false)이다. |
오류 케이스
이 노드는 불리언 출력 포트 isValid에 대해 판정 오류 프로필(Judgement Error Profile)을 사용한다:
- 기본 동작 (
오류로 처리 = 안 함): 검증이나 비교가 일치하지 않아도 런타임 오류를 발생시키지 않으며, 정상 완료 상태로isValid포트에false(또는true)를 내보내어 하위 노드나 스크립트가 불리언 결과를 활용할 수 있게 한다. - 오류로 재해석 (
오류로 처리 = false또는true):isValid포트의 불리언 판정 값이 설정한errorOnValue와 일치할 때 노드를ERROR상태로 전환하고 지정한 오류 코드와 오류 메시지를 발생시키며 하위 실행을 중단한다.
활용 예시
RSA-PSS 서명 검증하기
공개키와 원본 메시지로 서명의 유효성을 확인한다.
- RSA Sign의
Signature, 원본Message, 그리고 대응하는Public Key를 RSA Verify에 연결하면Valid에서true가 출력된다.