2017-02-17 9 views

ответ

1

getAcceptedIssuers вернет список центров сертификации (CA) из настроенного/доступного доверия. Метод вызывается внутренне с помощью checkClientTrusted и checkServerTrusted, где он будет сравнивать ЦС входящего сертификата с списком доверенных ЦС, доступным из TrustStore.

+0

Что произойдет, если мы вернем 'null' или' new X509Certificate [0]; 'из' getAcceptedIssuers() '? – MediumOne

+0

@MediumOne это зависит от того, для чего этот метод используется. Обычно этот метод будет вызван внутренне при открытии https-соединения, если этот метод возвращает X509Certificate [0], то это означает, что в вашем хранилище доверенных сертификатов нет доверенных сертификатов, т. Е. Вы никому не доверяете;) так что либо checkServerTrusted, либо checkClientTrusted будет throw CertificateException в зависимости от того, что вызывается –

+0

Если вы пишете собственную реализацию x509TrustManager, тогда в идеале вы должны вызывать getAcceptedissuers при реализации checkClientTrusted и checkServerTrusted, но это полностью зависит от того, что вы хотите сделать в реализации. getAcceptedIssuers больше похож на частный метод и не имеет внешней зависимости от моих знаний –