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


Автор: heizer 4.8.2010, 10:53
Доброго времени суток 

у меня  следующая проблема есть Роот сертификат(А) и есть сертификаты (Б) которые были сделаны при его помощи. Можно как нибуть считать в яве что  сертификат А является Роот сертификат для Б 

огромное всем спасибо.

Автор: Mabramyan 4.8.2010, 12:32
Код

X509Certificate a,b;
.....
b.verify(a.getPublicKey());

Автор: heizer 4.8.2010, 17:31
Цитата(Mabramyan @ 4.8.2010,  12:32)
Код

X509Certificate a,b;
.....
b.verify(a.getPublicKey());

спасибо на следующей неделе попробую и отпишусь получилось или нет 

ещё какие нибуть предложения будут smile ? 

зарание благодаренsmile

Автор: heizer 27.8.2010, 12:35
Работает нужно только ешё  в 

трастманагер (MyTrustManager implements X509TrustManager) следующую функтцию переписать 


 public void checkServerTrusted(X509Certificate[] chain, String authType)   throws CertificateException
.
.
    iFelherCode = -1 ;
.
.
.
((Certificate) myCerts.get(j)).verify(chain[i].getPublicKey());
.
.
.

где  chain ето то что передаот сервер а  myCerts сертификат в  Клиенте если  verify проходит 
нормально значит сертификаты подходяд если нет  следуюшие исключения 
потом можно при помощи переменной 

   catch (InvalidKeyException e)
                {
                    iFelherCode = 0;
  
                }
                catch (CertificateException e)
                {
                    iFelherCode = 1;
            
                }
                catch (NoSuchAlgorithmException e)
                {
                    iFelherCode = 2;

                }
                catch (NoSuchProviderException e)
                {
                    iFelherCode = 3;

                }
                catch (SignatureException e)
                {
                    iFelherCode = 4;

                }

потом можно самому вызывать исключения

 if (iFelherCode != -1)
        {
            throw new CertificateException(strExceptionMessage);
        }


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