[英]How do I get certificate information from p12 certificate using javascripts forge?
[英]How can I check the validity of the certificate in a p12 file in javascript?
我正在開發一個應用程序,我需要檢查上傳的 p12 文件是否具有由受信任的證書頒發機構頒發的證書。 我試圖在 javascript 中找到一種編程方式,但如果在 js 中不可能,我可以使用不同的語言。
我不知道這是最合適的工具,但我正在使用節點的 forge 庫並具有以下內容:
const p12 = fs.readFileSync(PATH_TO_PDF_P12_CERTIFICATE, 'binary');
const p12Asn1 = forge.asn1.fromDer(p12, false);
const p12Parsed = forge.pkcs12.pkcs12FromAsn1(p12Asn1, false, 'password');
const bags = p12Parsed.getBags({bagType: forge.pki.oids.certBag});
const caStore = forge.pki.createCaStore();
forge.pki.verifyCertificateChain(caStore, [Object.values(bags)[0][0].cert]);
但是,似乎我的 caStore 默認情況下沒有任何證書,而且我不知道如何獲取它來檢查我的機器上已安裝的證書。
嘗試這個:
npm 安裝 p12-pem --save
從'p12-pem'導入*作為p12;
/** * 給定一個 p12 文件,將其轉換為 PEM 格式。 * @param {string} pathToCert p12 文件的相對路徑。 * @param {string} p12 / 私鑰的密碼。 */ const {pemKey, pemCertificate, commonName} = p12.getPemFromP12(certPath, password); console.log('PEM中轉換后的私鑰:'); 控制台.log(pemKey);
console.log('PEM中轉換后的證書:'); 控制台日志(pemCertificate)
console.log('提取的 commonName:'); console.log(commonName);
資料來源: https://www.npmjs.com/package/p12-pem (AND>..) https://nodejs.org/en/about/releases/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.