Implement your own TrustManager in Javascript (Rhino engine)

I am trying to implement my own TrustManager in Javascript, but I have no idea how to implement it.

In Java, I have the following:

TrustManager[] trustAllCerts = new TrustManager[]{ new X509TrustManager() { public java.security.cert.X509Certificate[] getAcceptedIssuers() { return null; } public void checkClientTrusted( java.security.cert.X509Certificate[] certs, String authType) { } public void checkServerTrusted( java.security.cert.X509Certificate[] certs, String authType) { } } }; 

I tried using the following for the X509TrustManager:

 js> obj = { getAcceptedIssuers : function() { return null; }, checkClientTrusted: function() { }, checkServerTrusted: function() { } } [object Object] js> x509tm = new javax.net.ssl.X509TrustManager(obj) adapter1@2eee9593 js> 

Then I do not know how to create TrustManager. How to do it in Javascript (Rhino 1.6 release 7 2008 01 02)?

+4
source share
1 answer

A few hours later I managed to realize it.

Here is the code corresponding to the above part of Java:

  obj = { getAcceptedIssuers : function() { return null; }, checkClientTrusted: function() { return; }, checkServerTrusted: function() { return; } }; var o = new JavaAdapter(javax.net.ssl.X509TrustManager, obj); var oo = new Array(); oo.push(o); 

Then, to use it, everything becomes easy:

 var sc = javax.net.ssl.SSLContext.getInstance("SSL"); sc.init(null, oo, new java.security.SecureRandom()); javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); 

Hope this helps someone in the same situation.

+3
source

All Articles