mirror of
https://github.com/silkimen/cordova-plugin-advanced-http.git
synced 2024-10-06 09:12:13 +08:00
41 lines
996 B
JavaScript
41 lines
996 B
JavaScript
const fs = require('fs');
|
|
const https = require('https');
|
|
const path = require('path');
|
|
|
|
const SOURCE_HOST = 'httpbin.org';
|
|
const TARGET_PATH = path.join(__dirname, '../test/e2e-app-template/www/certificates/httpbin.org.cer');
|
|
|
|
const getCert = hostname => new Promise((resolve, reject) => {
|
|
const options = {
|
|
hostname,
|
|
agent: false,
|
|
rejectUnauthorized: false,
|
|
ciphers: 'ALL'
|
|
};
|
|
|
|
const req = https.get(options, response => {
|
|
const certificate = response.socket.getPeerCertificate();
|
|
|
|
if (certificate === null) {
|
|
return reject({ message: 'The website did not provide a certificate' });
|
|
}
|
|
|
|
resolve(certificate);
|
|
});
|
|
|
|
req.on('error', error => {
|
|
return reject(error)
|
|
});
|
|
|
|
req.end();
|
|
});
|
|
|
|
console.log(`Updating server certificate from ${SOURCE_HOST}`);
|
|
|
|
getCert(SOURCE_HOST)
|
|
.then(cert => fs.writeFileSync(TARGET_PATH, cert.raw))
|
|
.catch(error => {
|
|
console.error(`Updating server certificate failed: ${error}`);
|
|
process.exit(1);
|
|
});
|