diff --git a/smack-java7/src/main/java/org/jivesoftware/smack/java7/XmppHostnameVerifier.java b/smack-java7/src/main/java/org/jivesoftware/smack/java7/XmppHostnameVerifier.java index 61ba37994..71a120bfe 100644 --- a/smack-java7/src/main/java/org/jivesoftware/smack/java7/XmppHostnameVerifier.java +++ b/smack-java7/src/main/java/org/jivesoftware/smack/java7/XmppHostnameVerifier.java @@ -78,19 +78,20 @@ public class XmppHostnameVerifier implements HostnameVerifier { } catch (SSLPeerUnverifiedException e) { // Not using certificates for peers, try verifying the principal + Principal peerPrincipal = null; try { - Principal peerPrincipal = session.getPeerPrincipal(); - if (peerPrincipal instanceof KerberosPrincipal) { - validPrincipal = match(hostname, (KerberosPrincipal) peerPrincipal); - } - else { - LOGGER.info("Can't verify principal for " + hostname + ". Not kerberos"); - } + peerPrincipal = session.getPeerPrincipal(); } catch (SSLPeerUnverifiedException e2) { LOGGER.log(Level.INFO, "Can't verify principal for " + hostname + ". Not kerberos", e2); } + if (peerPrincipal instanceof KerberosPrincipal) { + validPrincipal = match(hostname, (KerberosPrincipal) peerPrincipal); + } + else { + LOGGER.info("Can't verify principal for " + hostname + ". Not kerberos"); + } } return validCertificate || validPrincipal;