comparison src/luan/modules/Rpc.luan @ 1506:d80395468b4e

ssl security in code
author Franklin Schmidt <fschmidt@gmail.com>
date Fri, 15 May 2020 18:29:47 -0600
parents 5b8f76e26ab7
children 0ba144491a42
comparison
equal deleted inserted replaced
1505:01e38174d580 1506:d80395468b4e
1 require "java" 1 require "java"
2 local Socket = require "java:java.net.Socket" 2 local Socket = require "java:java.net.Socket"
3 local ServerSocket = require "java:java.net.ServerSocket" 3 local ServerSocket = require "java:java.net.ServerSocket"
4 local SSLSocketFactory = require "java:javax.net.ssl.SSLSocketFactory" 4 local IoUtils = require "java:goodjava.io.IoUtils"
5 local SSLServerSocketFactory = require "java:javax.net.ssl.SSLServerSocketFactory"
6 local RpcClient = require "java:goodjava.rpc.RpcClient" 5 local RpcClient = require "java:goodjava.rpc.RpcClient"
7 local RpcServer = require "java:goodjava.rpc.RpcServer" 6 local RpcServer = require "java:goodjava.rpc.RpcServer"
8 local RpcCall = require "java:goodjava.rpc.RpcCall" 7 local RpcCall = require "java:goodjava.rpc.RpcCall"
9 local RpcResult = require "java:goodjava.rpc.RpcResult" 8 local RpcResult = require "java:goodjava.rpc.RpcResult"
10 local RpcException = require "java:goodjava.rpc.RpcException" 9 local RpcException = require "java:goodjava.rpc.RpcException"
176 function Rpc.remote(domain) 175 function Rpc.remote(domain)
177 local socket 176 local socket
178 if Rpc.cipher_suites == nil then 177 if Rpc.cipher_suites == nil then
179 socket = Socket.new(domain,Rpc.port) 178 socket = Socket.new(domain,Rpc.port)
180 else 179 else
181 socket = SSLSocketFactory.getDefault().createSocket(domain,Rpc.port) 180 socket = IoUtils.getSSLSocketFactory().createSocket(domain,Rpc.port)
182 socket.setEnabledCipherSuites(Rpc.cipher_suites) 181 socket.setEnabledCipherSuites(Rpc.cipher_suites)
183 end 182 end
184 local call = rpc_caller(socket) 183 local call = rpc_caller(socket)
185 local mt = {} 184 local mt = {}
186 function mt.__index(_,key) 185 function mt.__index(_,key)
202 fns = fns or Rpc.functions 201 fns = fns or Rpc.functions
203 local socket_server 202 local socket_server
204 if Rpc.cipher_suites == nil then 203 if Rpc.cipher_suites == nil then
205 socket_server = ServerSocket.new(port) 204 socket_server = ServerSocket.new(port)
206 else 205 else
207 socket_server = SSLServerSocketFactory.getDefault().createServerSocket(port) 206 socket_server = IoUtils.getSSLServerSocketFactory().createServerSocket(port)
208 socket_server.setEnabledCipherSuites(Rpc.cipher_suites) 207 socket_server.setEnabledCipherSuites(Rpc.cipher_suites)
209 end 208 end
210 while true do 209 while true do
211 try { 210 try {
212 function() 211 function()