RSA Sign
개인키로 RSA-PSS 또는 PKCS#1 v1.5 전자서명을 생성한다
개요
서명자의 RSA 개인키를 사용하여 메시지 원문에 대한 확률적 RSASSA-PSS 또는 결정론적 RSASSA-PKCS1-v1_5 디지털 서명을 생성한다(RFC 8017 / FIPS 186-5).
노드 내부에서 선택한 해시 함수(SHA-256, SHA-384, SHA-512)로 입력 Message를 먼저 해시한 뒤 서명을 계산하므로, 이미 해시된 값이 아닌 원본 메시지 바이트를 Message 포트에 연결한다.
사용 시점
- 현대 보안 권장 스킴인 RSA-PSS 또는 레거시 인증서/JWT(RS256/RS384/RS512) 호환용 PKCS#1 v1.5로 메시지에 서명할 때 사용한다.
파라미터 설정
| 파라미터 (ID) | 타입 및 기본값 | 노출 조건 | 설명 및 옵션 |
|---|---|---|---|
서명 방식scheme |
select기본값: PSS |
항상 노출 | 이 노드의 서명 방식 설정을 지정한다.
|
해시 알고리즘hash |
select기본값: SHA-256 |
항상 노출 | 이 노드의 해시 알고리즘 설정을 지정한다.
|
PSS 솔트 길이 (바이트)saltLength |
number기본값: 32 |
scheme가 PSS 일 때 |
paddingScheme = PSS일 때 사용할 무작위 솔트 바이트 길이(기본 32바이트; 일반적으로 해시 바이트 길이와 같게 설정)이다. |
포트 입출력 명세
포트 연결 규칙, 데이터 타입별 색상, 가변 포트 생성 방식은 포트 및 연결 문서를 참고한다.
입력 포트
포트 성격: 고정 입력 포트 (총 2개).
| 포트 이름 | 포트 ID | 데이터 타입 | 필수 여부 | 노출 조건 | 설명 |
|---|---|---|---|---|---|
Private Key |
privateKey |
Any |
필수 | 항상 노출 | 서명자의 RSA 개인키 바이트 배열(PEM 또는 DER)이다. |
Message |
data |
Bytes |
필수 | 항상 노출 | 원본 메시지. 서명 전에 선택한 해시 알고리즘으로 해시한다. |
출력 포트
포트 성격: 고정 출력 포트 (총 1개).
| 포트 이름 | 포트 ID | 데이터 타입 | 노출 조건 | 설명 |
|---|---|---|---|---|
Signature |
signature |
Bytes |
항상 노출 | 생성된 $k$바이트 RSA 디지털 서명(Uint8Array)이다. |
오류 케이스
실행 중 아래 조건이 발생하면 이 노드는 ERROR 상태가 되며, 출력 포트에 연결된 하위 노드는 실행되지 않는다.
| 오류 코드 | 기본 엔진 메시지 | 발생 조건 |
|---|---|---|
INVALID_KEY_FORMAT |
RSA 키 형식이 올바르지 않는다 | Private Key를 유효한 RSA 개인키로 파싱할 수 없을 때 발생한다. |
RSA_SIGN_FAILED |
RSA 서명 생성에 실패했다 | 모듈러스 크기가 선택한 해시 및 PSS 솔트 길이를 수용하기에 너무 작거나 서명 연산에 실패했을 때 발생한다. |
활용 예시
RSA-PSS(SHA-256) 디지털 서명 생성하기
개인키로 메시지에 대한 확률적 RSA-PSS 서명을 만든다.
- RSA Sign에서 패딩 스킴을
PSS, 해시 알고리즘을SHA-256, PSS 솔트 길이를32로 설정한다. Private Key와 원본Message를 연결하면Signature가 출력된다.