포탈 암호화 모듈 추가: forge-crypto.min.js 라이브러리 도입
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
/**
|
||||
* password-crypto.js 의 crypto.subtle 폴백용 forge 커스텀 번들 엔트리.
|
||||
*
|
||||
* 원격 오리진 HTTP(비 secure context)에서는 브라우저가 crypto.subtle 을 노출하지 않는다.
|
||||
* 그 환경에서도 같은 ENC1 봉투(RSA-OAEP SHA-256/MGF1-SHA-256 + AES-256-GCM)를 만들려고
|
||||
* node-forge 를 쓰는데, 배포판 forge.min.js 는 283KB 라 필요한 모듈만 묶는다.
|
||||
*
|
||||
* 빌드: npm run forge:build
|
||||
* → src/main/resources/static/js/lib/forge-crypto.min.js (약 111KB, gzip 31KB)
|
||||
*
|
||||
* 넣지 않은 것: x509/pem/pbe/pkcs12(인증서 파싱), hmac, des, ed25519 등. 봉투 생성에 안 쓴다.
|
||||
* pki.js 전체 대신 rsa.js 만 require 하는 이유도 같다 — publicKeyFromAsn1 은 rsa.js 에 있다.
|
||||
*/
|
||||
var forge = require('node-forge/lib/forge');
|
||||
|
||||
require('node-forge/lib/util'); // ByteBuffer, encodeUtf8
|
||||
require('node-forge/lib/asn1'); // SPKI DER 파싱
|
||||
require('node-forge/lib/sha256'); // OAEP 해시 · MGF1
|
||||
require('node-forge/lib/pkcs1'); // RSA-OAEP 패딩
|
||||
require('node-forge/lib/rsa'); // pki.publicKeyFromAsn1, publicKey.encrypt
|
||||
require('node-forge/lib/aes'); // cipher 'AES-GCM' 등록
|
||||
|
||||
module.exports = forge;
|
||||
Reference in New Issue
Block a user