Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > EJB и TrustManager


Автор: lat 17.3.2008, 15:54
Использую SSL, работа клиента с сервером построена на :
Код

 public static void init ()
        {
            SSLContext sc = null;
                    try
                    {
                        sc = SSLContext.getInstance("SSL");
                    }
                    catch (NoSuchAlgorithmException ex)
                    {
                        log.error(ex.toString());
                    }

                    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)
                            {
                            }
                        }
                    };

                    try
                    {
                       sc.init(null, trustAllCerts, new java.security.SecureRandom());
                       SSLSocketFactory ssf = sc.getSocketFactory();
                       HttpsURLConnection.setDefaultSSLSocketFactory(ssf);
                    }
                    catch (KeyManagementException ex)
                    {
                        log.error(ex.toString());
                    }
                   
        }


При использовании trustAllCerts в EJB-сеанса откуда да то появляется исключение:

Код

...
javax.ejb.EJBException: Unexpected Error
java.lang.NoSuchMethodError: sun.security.x509.AVAKeyword.getKeyword(Lsun/security/util/ObjectIdentifier;ILjava/util/Map;)Ljava/lang/String;
...


Но если этот же кусок кода использовать в обычном class файле - все работает и ошибок нет.

Почему?

Автор: LSD 17.3.2008, 16:24
А JVM используются одинаковые и там и там?

Автор: lat 17.3.2008, 16:39
Цитата(LSD @ 17.3.2008,  16:24)
А JVM используются одинаковые и там и там?


да, использую jdk1.6.0_03

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)