@zkp2p/reclaim-witness-sdk
Version:
<div> <div> <img src="https://raw.githubusercontent.com/reclaimprotocol/.github/main/assets/banners/Attestor-Core.png" /> </div> </div>
51 lines • 4.24 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.main = main;
const tls_1 = require("@reclaimprotocol/tls");
const parse_certificate_1 = require("@reclaimprotocol/tls/lib/utils/parse-certificate");
const net_1 = require("net");
const config_1 = require("../config");
const utils_1 = require("../utils");
const hostPort = process.argv[2];
async function main() {
const [host, port] = hostPort.split(':');
const socket = new net_1.Socket();
let rootIssuer = '';
let certError;
const tls = (0, tls_1.makeTLSClient)({
host,
logger: utils_1.logger,
verifyServerCertificate: false,
async onRecvCertificates({ certificates }) {
rootIssuer = certificates[certificates.length - 1].internal.issuer;
utils_1.logger.info({ rootIssuer }, 'received certificates');
try {
await (0, parse_certificate_1.verifyCertificateChain)(certificates, host);
utils_1.logger.info('root CA in store. Successfully verified certificate chain');
}
catch (err) {
certError = err;
}
},
async onHandshake() {
await tls.end();
socket.end();
if (certError) {
// wait for everything else to log
setTimeout(() => {
utils_1.logger.info({ err: certError.message, rootIssuer }, 'error in cert verify');
}, 500);
}
},
async write({ header, content }) {
socket.write(header);
socket.write(content);
}
});
socket.once('connect', () => tls.startHandshake());
socket.on('data', tls.handleReceivedBytes);
utils_1.logger.info(`connecting to ${hostPort}`);
socket.connect({ host, port: +(port || config_1.DEFAULT_HTTPS_PORT) });
}
void main();
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZ5LXJvb3QtY2EuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NyaXB0cy92ZXJpZnktcm9vdC1jYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVFBLG9CQWdEQztBQXhERCw4Q0FBb0Q7QUFDcEQsd0ZBQXlGO0FBQ3pGLDZCQUE0QjtBQUM1Qix1Q0FBK0M7QUFDL0MscUNBQWtDO0FBRWxDLE1BQU0sUUFBUSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFFekIsS0FBSyxVQUFVLElBQUk7SUFDekIsTUFBTSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3hDLE1BQU0sTUFBTSxHQUFHLElBQUksWUFBTSxFQUFFLENBQUE7SUFDM0IsSUFBSSxVQUFVLEdBQUcsRUFBRSxDQUFBO0lBQ25CLElBQUksU0FBNEIsQ0FBQTtJQUNoQyxNQUFNLEdBQUcsR0FBRyxJQUFBLG1CQUFhLEVBQUM7UUFDekIsSUFBSTtRQUNKLE1BQU0sRUFBTixjQUFNO1FBQ04sdUJBQXVCLEVBQUUsS0FBSztRQUM5QixLQUFLLENBQUMsa0JBQWtCLENBQUMsRUFBRSxZQUFZLEVBQUU7WUFDeEMsVUFBVSxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUE7WUFDbEUsY0FBTSxDQUFDLElBQUksQ0FBQyxFQUFFLFVBQVUsRUFBRSxFQUFFLHVCQUF1QixDQUFDLENBQUE7WUFDcEQsSUFBSSxDQUFDO2dCQUNKLE1BQU0sSUFBQSwwQ0FBc0IsRUFBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUE7Z0JBQ2hELGNBQU0sQ0FBQyxJQUFJLENBQUMsMkRBQTJELENBQUMsQ0FBQTtZQUN6RSxDQUFDO1lBQUMsT0FBTSxHQUFHLEVBQUUsQ0FBQztnQkFDYixTQUFTLEdBQUcsR0FBRyxDQUFBO1lBQ2hCLENBQUM7UUFDRixDQUFDO1FBQ0QsS0FBSyxDQUFDLFdBQVc7WUFDaEIsTUFBTSxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUE7WUFDZixNQUFNLENBQUMsR0FBRyxFQUFFLENBQUE7WUFFWixJQUFHLFNBQVMsRUFBRSxDQUFDO2dCQUNkLGtDQUFrQztnQkFDbEMsVUFBVSxDQUNULEdBQUcsRUFBRTtvQkFDSixjQUFNLENBQUMsSUFBSSxDQUNWLEVBQUUsR0FBRyxFQUFFLFNBQVUsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEVBQ3ZDLHNCQUFzQixDQUN0QixDQUFBO2dCQUNGLENBQUMsRUFDRCxHQUFHLENBQ0gsQ0FBQTtZQUNGLENBQUM7UUFDRixDQUFDO1FBQ0QsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUU7WUFDOUIsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUNwQixNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3RCLENBQUM7S0FDRCxDQUFDLENBQUE7SUFFRixNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQTtJQUNsRCxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQTtJQUUxQyxjQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixRQUFRLEVBQUUsQ0FBQyxDQUFBO0lBRXhDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksMkJBQWtCLENBQUMsRUFBRSxDQUFDLENBQUE7QUFDOUQsQ0FBQztBQUVELEtBQUssSUFBSSxFQUFFLENBQUEifQ==
;