与 Spark 的相互认证 Java

Mutual authentication with Spark Java

我正在尝试使用 spark-java 实现相互认证的 REST API 服务器,从 documentation 我看到:

安全(keystoreFilePath、keystorePassword、truststoreFilePath、truststorePassword);

...这看起来正是我需要的。但是我只能对服务器进行一种方式的身份验证,客户端证书似乎从未根据信任库进行过验证。我使用的是 2.1 版,如有任何建议或指点,我们将不胜感激。

看来2.6.0版本的Spark已经添加了你需要的东西。现在,有第二个版本 secure:

 /**
     (...)
     * @param needsClientCert    Whether to require client certificate to be supplied in
     *                           request
     (...)
     */
public synchronized Service secure(String keystoreFile,
                                       String keystorePassword,
                                       String truststoreFile,
                                       String truststorePassword,
                                       boolean needsClientCert)

它在底层 Jetty 网络服务器 SslContextFactory 对象上设置 setNeedClientAuth(true)setWantClientAuth(true)