Sonar Java漏洞方法返回true

时间:2018-09-27 06:58:14

标签: java ssl sonarqube

以下是我的SSL主机名验证程序的代码段。但是正如我从此方法返回无条件true一样。声纳认为这是一个漏洞。我将如何解决这个问题?

SslClient sslClient = SslClient.localhost();
    SSLSocketFactory socketFactory = sslClient.socketFactory;
    HostnameVerifier hostnameVerifier = new HostnameVerifier() {
      @Override public boolean verify(String s, SSLSession session) {
        return true;
      }
    };

我想知道最好的方法。

1 个答案:

答案 0 :(得分:3)

为什么您需要无条件返回true?如果那是Sonar所检测到的漏洞,则您不应该这样做,或者记录为什么在这种情况下它实际上是安全的。

就实现“某些”修复而言,look at the test cases用于该类。似乎要使用的实现是:

@Override
  public boolean verify(String a, SSLSession b) {
    return a.equalsIgnoreCase(b.getPeerHost());
  }