2017-03-12 3 views
0

Node.JS 및 TypeScript를 사용하여 작은 프로젝트를 작성한 후 .pfx 파일에서 PFX 인증서를 읽고이 코드를 사용하여 페이로드 본문을 암호화합니다.NodeJS가 파일에서 PFX 인증서를로드합니다.

내가 인증서 공개/개인 키 파일이 cert1.pfx라는이, 내 코드는 내가 주위를 수색하지만 내 사용 사례에 대한 PFX를로드 할 수있는 방법을 찾을 수 없습니다

... 
const cert = loadPfx("cert1.pfx"); 
const p: Payload = new Payload(); 
p.addReaderCertificate(cert); 
... 

아래로이 인증서가 필요합니다, 나는 예를 보았다 HTTPS 서버 또는 Express.JS 용 PFX를로드 할 때 node-x509를 보았지만 이는 BASE64로 인코딩 된 CER 또는 PEM 인증서 용입니다. 또한 공개 키/개인 키를 사용하여 암호화/해독을 위해 node-rsa를 보았습니다.

가능하면 누구에게 알리십니까? 그렇다면 달성 방법에 대한 몇 가지 조언을 주시면 감사하겠습니다.

답변

2

연구와 나는 패키지를 통해 제공되는 구글 아카이브를 트롤 어업의 많은라고 그래서 후 pem 이것은 이것은 PKCS # 12 파일을 읽고 (또는 다른 단어 *.pfx을에 수

pem.readPkcs12(bufferOrPath, [options], callback) 

다음과 같은 방법이있다 또는 *.p12 파일) 다른 것들 중, 나는 이전 연구에서 이것을 놓쳐 버렸음에 틀림 없다.

사용법 :

const pem = require("pem"); 
const fs = require("fs"); 

const pfx = fs.readFileSync(__dirname + "/test.pfx"); 
pem.readPkcs12(pix, { p12Password: "password" }, (err, cert) => { 
    console.log(cert); 
}); 

출력 :

{ cert: "...", ca: ["subca", "rootca"], key: "..." } 

당신은 herehere을 찾을 수 있습니다.