피드로 돌아가기
Node.js 15.9.0 (Current)
Node.js BlogNode.js Blog
Backend

Node.js 15.9.0이 crypto 모듈에 JWK 형식 지원과 X509Certificate 객체 조회 기능 추가로 암호화 작업 표준화

Node.js 15.9.0 (Current)

2021년 2월 18일5intermediate

Context

Node.js의 암호화 기능이 웹 표준(WebCrypto)과의 호환성 강화 필요했으며, 기존 키 객체 내보내기가 PEM, DER 형식만 지원하여 JWK(JSON Web Key) 형식 작업에 제약이 있었다.

Technical Solution

  • crypto.keyObject.export()에 'jwk' 형식 옵션 추가: PEM/DER과 동일 수준으로 JWK 형식 키 내보내기 지원
  • tls 모듈에 X509Certificate 객체 조회 능력 확보: certificate와 peer certificate를 X509Certificate 객체로 반환
  • libuv를 1.41.0으로 업그레이드: 저수준 I/O 바인딩 개선
  • crypto의 JWK OKP(Octet string key pairs) 공개 키 import 버그 수정: 표준 준수 강화
  • crypto의 소수 생성 로직 무한 루프 제거 및 옵션 검증 단순화: 안정성 개선
  • WebCrypto "DSA" JWK 키 타입 작업 제거: 표준 미지원 방식 정리

Key Takeaway

Node.js가 WebCrypto 표준 호환성을 심화하며 JWK 형식 기본 지원으로 웹 생태계와의 키 교환을 표준화했으며, 이는 마이크로서비스 간 토큰 기반 인증 구현 시 상호운용성을 크게 향상시킨다.


Node.js 기반 백엔드 서비스에서 OAuth

2.0 또는 OIDC 구현 시 crypto.keyObject.export('jwk')를 사용하면 외부 클라이언트와 공개 키 교환 시 Base64 인코딩 단계를 제거하고 표준 JWK 형식으로 직접 전달할 수 있다.

원문 읽기