Notice
Recent Posts
Recent Comments
Link
투케이2K
121. (Library/Framework) [라이브러리] [Web] 자바스크립트 node-forge 웹 브라우저 X.509 인증서 정보 확인 라이브러리 본문
Library & F.W
121. (Library/Framework) [라이브러리] [Web] 자바스크립트 node-forge 웹 브라우저 X.509 인증서 정보 확인 라이브러리
투케이2K 2026. 6. 6. 10:48728x90
반응형
[타이틀]
구 분 : Library / 라이브러리
제 목 : [라이브러리] [Web] 자바스크립트 node-forge 웹 브라우저 X.509 인증서 정보 확인 라이브러리

[설 명]
-----------------------------------------------------------------------------------------
[라이브러리 정보 및 환경]
-----------------------------------------------------------------------------------------
- 구 분 : Library / Framework
- 제 목 : [라이브러리] [Web] 자바스크립트 node-forge 웹 브라우저 X.509 인증서 정보 확인 라이브러리
- 환 경 : Web / JavaScript / Chrome / node-forge / X.509
- 사전) 👉 X.509 간단 설명 :
>> X.509 는 공개키 기반 구조 (PKI, Public Key Infrastructure) 에서 사용되는 디지털 인증서의 표준 규격입니다.
>> X.509 는 인터넷에서 사용하는 SSL/TLS 인증서, AWS IoT 인증서, 전자서명 인증서 등이 어떤 형식으로 구성되어야 하는지 정의한 국제 표준입니다.
>> X.509 인증서는 다음 정보를 담고 있습니다.
- "이 공개키는 누구의 것인가?"
- "누가 이 공개키를 보증하는가?"
- "언제까지 유효한가?"
>> X.509 인증서 구조 : Base64로 인코딩된 ASN.1 데이터가 들어있습니다.
-----BEGIN CERTIFICATE-----
MIIDYzCCAkugAwIBAgI...
...
...
-----END CERTIFICATE-----
- 사전) 👉 자바스크립트에서 node-forge 의존성 설정 코드 :
<!-- node-forge 라이브러리 -->
<script src="https://cdn.jsdelivr.net/npm/node-forge@1.3.1/dist/forge.min.js"></script>
-----------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------
[설 명]
-----------------------------------------------------------------------------------------
1. node-forge 는 JavaScript 로 구현된 오픈소스 암호화 (Cryptography) 라이브러리입니다.
2. node-forge 는 브라우저와 Node.js 환경 모두에서 사용할 수 있으며, 별도의 네이티브 라이브러리(OpenSSL 등) 설치 없이 다양한 암호화 기능을 제공합니다.
3. node-forge 주요 특징 :
>> 👉 순수 JavaScript 구현 : 다른 암호화 라이브러리와 달리 C/C++ 기반 모듈 없이 동작합니다.
forge.md.sha256.create()
forge.pki.certificateFromPem()
forge.pki.rsa.generateKeyPair()
>> 👉 X.509 인증서 처리 : Certificate 검증에 활용하는 기능입니다.
const cert = forge.pki.certificateFromPem(certPem);
console.log(cert.serialNumber);
console.log(cert.validity.notBefore);
console.log(cert.validity.notAfter);
PEM 파싱
DER 변환
Subject 조회
Issuer 조회
Extension 조회
Fingerprint 생성
>> 👉 RSA 공개키 암호화 : RSA 키 생성 , RSA 암호화 , RSA 복호화
>> 👉 AES 대칭키 암호화 : AES-128 , AES-192 , AES-256
const cipher =
forge.cipher.createCipher(
"AES-CBC",
key
);
>> 👉 해시 (Hash) : MD5 , SHA1 , SHA256 , SHA384 , SHA512
const md = forge.md.sha256.create();
md.update("hello");
console.log(
md.digest().toHex()
);
>> 👉 디지털 서명 : 서명 생성 , 서명 검증
publicKey.verify(
md.digest().bytes(),
signature
);
>> 👉 CSR (Certificate Signing Request) : 인증서 요청서 생성 가능
const csr = forge.pki.createCertificationRequest();
4. node-forge 장점 :
✅ 브라우저에서 사용 가능
✅ OpenSSL 없이 동작
✅ X.509 인증서 지원
✅ RSA 지원
✅ AES 지원
✅ SHA 지원
✅ AWS IoT 인증서 분석에 적합
✅ CDN으로 즉시 사용 가능
5. node-forge 단점 :
❌ Web Crypto API보다 느림
❌ 대용량 암호화에는 부적합
❌ 최신 브라우저의 네이티브 암호화 API보다 성능이 낮음
❌ ECDSA/ECC 지원이 제한적
-----------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------
[참고 사이트]
-----------------------------------------------------------------------------------------
▶️ [Git 공식 사이트]
https://github.com/digitalbazaar/forge?utm_source=chatgpt.com
▶️ [자바스크립트 node-forge 라이브러리 사용해 X.509 인증서 식별 정보 확인 - getSha256Fingerprint]
https://kkh0977.tistory.com/8893
https://blog.naver.com/kkh0977/224307596780
▶️ [자바스크립트 node-forge 라이브러리 사용해 X.509 인증서 만료 기간 유효성 검증 수행]
https://kkh0977.tistory.com/8892
https://blog.naver.com/kkh0977/224307272979
▶️ [자바스크립트 AWS Iot registerCertificateWithoutCA 사용해 클레임 인증서 등록 요청 수행 - 공통 클레임 인증서 사용]
https://kkh0977.tistory.com/8886
https://blog.naver.com/kkh0977/224306059609
▶️ [Aws Iot Core] Aws 프로비저닝 수행에 필요한 클레임 인증서 (claim certificate) 설명 정리
https://kkh0977.tistory.com/7799
https://blog.naver.com/kkh0977/223784109192?trackingCode=blog_bloghome_searchlist
-----------------------------------------------------------------------------------------
728x90
반응형
'Library & F.W' 카테고리의 다른 글
Comments
