Вы можете получить длину модуля (n) и, следовательно, длину открытого ключа из файла сертификата .pem, используя удобную функцию certificateFromPem, которую предоставляет forge.
Мы также можем получить идентификатор объекта подписи, который мыможно посмотреть здесь: http://www.oid -info.com / .
const forge = require('node-forge');
const fs = require('fs');
function getCertificatePublicKeyBitLength(pemFile) {
const certificate = forge.pki.certificateFromPem(fs.readFileSync(pemFile));
return certificate.publicKey.n.bitLength();
}
function getCertificateSignatureObjectId(pemFile) {
const certificate = forge.pki.certificateFromPem(fs.readFileSync(pemFile));
return certificate.signatureOid;
}
console.log("Bit length: ", getCertificatePublicKeyBitLength('cert.pem'));
console.log("Certificate Signature Object Id: ", getCertificateSignatureObjectId('cert.pem'));
Я проверил это, создав сертификаты, используя openssl, например, (ключ 4096 бит здесь):
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365