in src/socket.ts [70:97]
export function validateCertificate(
instanceInfo: InstanceConnectionInfo,
instanceDnsName: string,
serverName: string
) {
return (hostname: string, cert: tls.PeerCertificate): Error | undefined => {
if (!cert) {
return new CloudSQLConnectorError({
message: 'Certificate missing',
code: 'ENOSQLADMINVERIFYCERT',
});
}
if (!instanceDnsName) {
return checkCn(instanceInfo, cert);
} else {
const err = tls.checkServerIdentity(serverName, cert);
if (err) {
const cnErr = checkCn(instanceInfo, cert);
if (cnErr) {
return err;
}
}
}
return undefined;
};
}