mirror of
https://github.com/Ylianst/MeshCommander
synced 2025-12-06 06:03:20 +00:00
Fixed certificate/key matching.
This commit is contained in:
@@ -4,6 +4,7 @@
|
|||||||
* @version v0.2.0b
|
* @version v0.2.0b
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
// Check which key pair matches the public key in the certificate
|
// Check which key pair matches the public key in the certificate
|
||||||
function amtcert_linkCertPrivateKey(certs, keys) {
|
function amtcert_linkCertPrivateKey(certs, keys) {
|
||||||
for (var i in certs) {
|
for (var i in certs) {
|
||||||
@@ -20,6 +21,25 @@ function amtcert_linkCertPrivateKey(certs, keys) {
|
|||||||
} catch (e) { console.log(e); }
|
} catch (e) { console.log(e); }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Check which key pair matches the public key in the certificate
|
||||||
|
function amtcert_linkCertPrivateKey(certs, keys) {
|
||||||
|
for (var i in certs) {
|
||||||
|
var cert = certs[i];
|
||||||
|
try {
|
||||||
|
if (keys.length == 0) return;
|
||||||
|
var publicKeyPEM = forge.pki.publicKeyToPem(forge.pki.certificateFromAsn1(forge.asn1.fromDer(cert.X509Certificate)).publicKey).substring(28 + 32).replace(/(\r\n|\n|\r)/gm, "");
|
||||||
|
publicKeyPEM = publicKeyPEM.substring(0, publicKeyPEM.length - 24); // Remove the PEM footer
|
||||||
|
for (var j = 0; j < keys.length; j++) {
|
||||||
|
if ((publicKeyPEM === (keys[j]['DERKey'])) || (publicKeyPEM == btoa(atob(keys[j]['DERKey']).substring(24)))) { // Match directly or, new version of Intel AMT put the key type OID in the private key, skip that and match.
|
||||||
|
keys[j].XCert = cert; // Link the key pair to the certificate
|
||||||
|
cert.XPrivateKey = keys[j]; // Link the certificate to the key pair
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (e) { console.log(e); }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Load a P12 file, decodes it using the password and returns the private key handle
|
// Load a P12 file, decodes it using the password and returns the private key handle
|
||||||
function amtcert_loadP12File(file, password, func) {
|
function amtcert_loadP12File(file, password, func) {
|
||||||
|
|||||||
Reference in New Issue
Block a user