gpt4 book ai didi

javax.net.ssl.SSLPeerUnverifiedException : peer not authenticated when trying to session. getPeerCertificateChain()

转载 作者:太空宇宙 更新时间:2023-11-03 15:02:34 29 4
gpt4 key购买 nike

我对使用 http/certs/etc 还很陌生。我为 apache httpclient 设置了自己的 hostnameVerifier。 (尝试允许 FQDN 不匹配,只要证书 FQDN 仍然在我们的域内部——这不是我所知道的最好的——但聊胜于无)

它在我测试过的大多数服务器上工作正常,但有几个我得到了

javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated

当我尝试

session.getPeerCertificateChain().

当我转到 firefox 中的相同链接时,我能够很好地查看证书。

下面是该方法的完整代码。

@Override
public void verify( String arg0, SSLSocket arg1 ) throws IOException
{
String certFQDN = null;

SSLSession session = arg1.getSession();
javax.security.cert.X509Certificate[] certs = session.getPeerCertificateChain();
if ( certs.length > 0 )
{
String name = certs[ 0 ].getSubjectDN().getName();
for ( String s : name.split( "," ) )
{
String part[] = s.split( "=" );
if ( part[ 0 ].trim().equals( "CN" ) )
{
certFQDN = part[ 1 ].trim();
}
}
}
else
{
throw new IOException( "Could not find certificate chain." );
}


if ( !certFQDN.substring( certFQDN.length() - 11 ).equals( ".domain.com" ) )
{
throw new SSLException( "Not an internal host: " + certFQDN );
}
}

最佳答案

@Override public void verify(String arg0, SSLSocket arg1) throws IOException {

arg1.getSession();

javax.security.cert.X509Certificate[] certs = session.getPeerCertificateChain();

.getSubjectDN().getName();

) )

);

].trim().equals( "CN") )

.trim();

找不到证书链。");

certFQDN.length() - 11 ).equals( ".domain.com") )

内部主机:"+ certFQDN );

关于javax.net.ssl.SSLPeerUnverifiedException : peer not authenticated when trying to session. getPeerCertificateChain(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19323904/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com