ECC Sign (ECDSA)
지정한 곡선의 개인키로 메시지 또는 해시에 서명한다
개요
지정한 바이어슈트라스 타원곡선과 해시 알고리즘을 사용하여 ECDSA(Elliptic Curve Digital Signature Algorithm, FIPS 186-5 / RFC 6979 결정론적 $k$) 디지털 서명을 생성한다.
서명 결과는 원시 고정 길이 연결 형식인 RAW (r || s)(JWS ES256/ES384/ES512, PKCS#11 표준) 또는 ASN.1 DER 시퀀스 형식(TLS/X.509/OpenSSL 표준) 중 선택해 출력할 수 있다.
사용 시점
- P-256/384/521, secp256k1, 또는 Brainpool 곡선 개인키로 메시지에 대한 ECDSA 서명을 생성할 때 사용한다.
파라미터 설정
| 파라미터 (ID) | 타입 및 기본값 | 노출 조건 | 설명 및 옵션 |
|---|---|---|---|
곡선curve |
select기본값: p256 |
항상 노출 | 개인키가 속한 타원곡선(P-256, P-384, P-521, secp256k1, brainpoolP256r1, brainpoolP384r1, brainpoolP512r1)이다.
|
SHA-256으로 먼저 해시autoHash |
boolean기본값: true |
항상 노출 | 이 노드의 SHA-256으로 먼저 해시 설정을 지정한다. |
포트 입출력 명세
포트 연결 규칙, 데이터 타입별 색상, 가변 포트 생성 방식은 포트 및 연결 문서를 참고한다.
입력 포트
포트 성격: 고정 입력 포트 (총 2개).
| 포트 이름 | 포트 ID | 데이터 타입 | 필수 여부 | 노출 조건 | 설명 |
|---|---|---|---|---|---|
Private Key |
privateKey |
Bytes |
필수 | 항상 노출 | 서명자의 원시 타원곡선 개인키 스칼라 바이트 배열이다. |
Message |
data |
Bytes |
필수 | 항상 노출 | 원본 메시지. SHA-256으로 먼저 해시하는 옵션을 끄면 이미 계산한 해시를 넣는다. |
출력 포트
포트 성격: 고정 출력 포트 (총 1개).
| 포트 이름 | 포트 ID | 데이터 타입 | 노출 조건 | 설명 |
|---|---|---|---|---|
Signature |
signature |
Bytes |
항상 노출 | 생성된 ECDSA 서명 바이트 배열(RAW 또는 DER)이다. |
오류 케이스
실행 중 아래 조건이 발생하면 이 노드는 ERROR 상태가 되며, 출력 포트에 연결된 하위 노드는 실행되지 않는다.
| 오류 코드 | 기본 엔진 메시지 | 발생 조건 |
|---|---|---|
INVALID_KEY_MATERIAL |
키 길이 또는 형식이 올바르지 않는다 | Private Key 길이가 선택한 곡선의 필드 크기와 맞지 않거나 유효한 곡선 차수 범위($1 \le d < n$)를 벗어날 때 발생한다. |
활용 예시
P-256 ECDSA 서명 생성하기
P-256 개인키와 SHA-256으로 64바이트 RAW(r||s) 서명을 만든다.
- ECC Keypair Generator(
P-256)의Private Key와 원본Message를 ECC Sign (ECDSA)에 연결하면 64바이트Signature가 출력된다.