import fs from "fs" import path from "path" import tls from "tls" import { fileURLToPath } from "url" import grpc from "@grpc/grpc-js" import * as kk from "./src/protos/kunkun" // Create channel credentials with SSL verification disabled const filepath = fileURLToPath(import.meta.url) const __dirname = path.dirname(filepath) const certPath = path.join(__dirname, "../tauri-plugins/jarvis/self_signed_certs/cert.pem") const credentials = grpc.credentials.createSsl(fs.readFileSync(certPath)) // const client = new kk.kunkun.KunkunClient("localhost:9559", credentials) // trust SSL cert // const originalCreateSecureContext = tls.createSecureContext // tls.createSecureContext = (options) => { // if (options && options.rejectUnauthorized === false) { // options.checkServerIdentity = () => undefined // Skip validation // } // return originalCreateSecureContext(options) // } const insecureSslCredentials = grpc.credentials.createSsl( null, // Pass `null` to skip validation null, // Client key (not used here) null // Client certificate (not used here) ) const client = new kk.kunkun.KunkunClient("localhost:9559", insecureSslCredentials) // skip SSL cert validation client.ServerInfo(new kk.kunkun.Empty(), (err, response) => { console.log(response) console.log("public_key", response?.public_key) console.log("ssl_cert", response?.ssl_cert) if (err) { console.error(err) } }) // To trust any SSL cert, set NODE_TLS_REJECT_UNAUTHORIZED='0'