NodeCrypto 도움말

RSA Sign

카테고리: 비대칭키 & 타원곡선 · 노드 타입 ID: asymmetric-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 포트에 연결한다.

사용 시점

파라미터 설정

파라미터 (ID)타입 및 기본값노출 조건설명 및 옵션
서명 방식
scheme
select
기본값: PSS
항상 노출 이 노드의 서명 방식 설정을 지정한다.
  • PSS: RSA-PSS (확률적 서명 방식 - RFC 8017)
  • PKCS1-v1_5: RSASSA-PKCS1-v1_5 (결정적 방식 - PKCS#1 v1.5)
해시 알고리즘
hash
select
기본값: SHA-256
항상 노출 이 노드의 해시 알고리즘 설정을 지정한다.
  • SHA-256: SHA-256
  • SHA-384: SHA-384
  • SHA-512: SHA-512
PSS 솔트 길이 (바이트)
saltLength
number
기본값: 32
변수 참조 지원 ($var: int)
scheme가 PSS 일 때 paddingScheme = PSS일 때 사용할 무작위 솔트 바이트 길이(기본 32바이트; 일반적으로 해시 바이트 길이와 같게 설정)이다.

포트 입출력 명세

포트 연결 규칙, 데이터 타입별 색상, 가변 포트 생성 방식은 포트 및 연결 문서를 참고한다.

입력 포트

포트 성격: 고정 입력 포트 (총 2개).

포트 이름포트 ID데이터 타입필수 여부노출 조건설명
Private Key privateKey Any (PEM/DER) 필수 항상 노출 서명자의 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 서명을 만든다.

  1. RSA Sign에서 패딩 스킴을 PSS, 해시 알고리즘을 SHA-256, PSS 솔트 길이를 32로 설정한다.
  2. Private Key와 원본 Message를 연결하면 Signature가 출력된다.