UNPKG

ssl.publickey.checker

Version:

This plugin can be used to add an extra layer of security by preventing 'Man in the Middle' attacks.

62 lines (55 loc) 2.31 kB
"use strict"; var exec = require('cordova/exec'); function SSLPublicKeyChecker() { } SSLPublicKeyChecker.prototype.check = function (successCallback, errorCallback, serverURL, allowedSHA1FingerprintOrArray, allowedSHA1FingerprintAlt) { if (typeof errorCallback != "function") { console.log("SSLPublicKeyChecker.find failure: errorCallback parameter must be a function"); return } if (typeof successCallback != "function") { console.log("SSLPublicKeyChecker.find failure: successCallback parameter must be a function"); return } // if an array is not passed, transform the input into one var fpArr = []; if (allowedSHA1FingerprintOrArray !== undefined) { if (typeof allowedSHA1FingerprintOrArray == "string") { fpArr.push(allowedSHA1FingerprintOrArray); } else { fpArr = allowedSHA1FingerprintOrArray.slice(0); } } if (allowedSHA1FingerprintAlt !== undefined) { fpArr.push(allowedSHA1FingerprintAlt); } exec(successCallback, errorCallback, "SSLPublicKeyChecker", "check", [serverURL, false, fpArr]); }; SSLPublicKeyChecker.prototype.checkInCertChain = function (successCallback, errorCallback, serverURL, allowedSHA1FingerprintOrArray, allowedSHA1FingerprintAlt) { if (typeof errorCallback != "function") { console.log("SSLPublicKeyChecker.find failure: errorCallback parameter must be a function"); return } errorCallback("This function has been removed in versions higher than 4.0.0 because it's considered too insecure."); /* if (typeof successCallback != "function") { console.log("SSLPublicKeyChecker.find failure: successCallback parameter must be a function"); return } // if an array is not passed, transform the input into one var fpArr = []; if (allowedSHA1FingerprintOrArray !== undefined) { if (typeof allowedSHA1FingerprintOrArray == "string") { fpArr.push(allowedSHA1FingerprintOrArray); } else { fpArr = allowedSHA1FingerprintOrArray.slice(0); } } if (allowedSHA1FingerprintAlt !== undefined) { fpArr.push(allowedSHA1FingerprintAlt); } cordova.exec(successCallback, errorCallback, "SSLPublicKeyChecker", "check", [serverURL, true, fpArr]); */ }; var sslPublicKeyChecker = new SSLPublicKeyChecker(); module.exports = sslPublicKeyChecker;