-
Notifications
You must be signed in to change notification settings - Fork 2
/
resources.js
25 lines (23 loc) · 1.2 KB
/
resources.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
const fs = require("fs");
const https = require("https");
const execSync = require("child_process").execSync;
const downloadCER = (filename) => {
const file = fs.createWriteStream(`cctmp-${filename}.cer`);
// The first CA certificate (AppleWWDRCA) is stored in a different place for some reason...
const url = filename.endsWith("A") ? "https://developer.apple.com/certificationauthority/AppleWWDRCA.cer" : `https://www.apple.com/certificateauthority/${filename}.cer`;
https.get(url, (res) => {
res.pipe(file);
file.on('finish', () => {
file.close();
// Convert CER files to PEM
console.log(`[*] '${filename}.cer' has been downloaded, converting to PEM format...`);
execSync(`node ${__dirname}/cer-to-pem.js cctmp-${filename}.cer`);
fs.renameSync(`cctmp-${filename}.pem`, `CA-PEM/${filename}.pem`);
fs.unlinkSync(`cctmp-${filename}.cer`);
})
})
}
console.log('[*] Downloading resources...\n[*] Once complete, you can run the main script again.\n');
if (!fs.existsSync("CA-PEM")) fs.mkdirSync("CA-PEM/");
const certs = ["AppleWWDRCA", "AppleWWDRCAG2", "AppleWWDRCAG3", "AppleWWDRCAG4", "AppleWWDRCAG5", "AppleWWDRCAG6"];
certs.forEach(cert => downloadCER(cert));