【问题标题】:Java soap client for EJBCA webservices用于 EJBCA Web 服务的 Java SOAP 客户端
【发布时间】:2018-08-01 13:05:34
【问题描述】:

我正在尝试构建一个 Java Soap 客户端来调用 Ejbca 网络服务。

我遇到了证书级别的问题。

Exception in thread "main" org.ejbca.core.protocol.ws.AuthorizationDeniedException_Exception: Error no client certificate received used for authentication.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)

从我的安装中,我可以检索 *.p12 文件,我如何告诉我的 Java 程序使用该文件来正确调用 Web 服务。

感谢您的帮助。

【问题讨论】:

    标签: web-services certificate webservices-client ejbca


    【解决方案1】:

    在 EJBCA 中有一个名为 clientToolBox 的工具,它是一个命令行实用程序,可以进行 Web 服务调用。这是测试 WS 功能的好工具。 ClientToolBox 还可以作为各种 WS 命令​​的示例代码。

    对于客户端证书问题,您可以查看 org.ejbca.core.protocol.ws.client.EJBCAWSRABaseCommand。构造函数中有代码加载 p12 文件并设置 java 属性 javax.net.ssl.keyStore 和其他属性。

    final String keyStorePath = props.getProperty("ejbcawsracli.keystore.path", "keystore.jks");
    checkIfFileExists(keyStorePath);
    System.setProperty("javax.net.ssl.keyStore", keyStorePath);
    if (keyStorePath.endsWith(".p12")) {
        System.setProperty("javax.net.ssl.keyStoreType", "pkcs12");
    }
    if ( trustStorePath==null  ) {
        if (keyStorePath.endsWith(".p12")) {
            final Provider tlsProvider = new TLSProvider();
            Security.addProvider(tlsProvider);
            Security.setProperty("ssl.TrustManagerFactory.algorithm", "AcceptAll");
        } else {
            System.setProperty("javax.net.ssl.trustStore", keyStorePath);
        }
    }
    System.setProperty("javax.net.ssl.keyStorePassword", password);
    

    密钥库属性在 EJBCA 的 Web 服务文档中进行了描述: https://www.ejbca.org/docs/Web_Service_Interface.html#src-16224398_id-.WebServiceInterfacev6.12.0-UsingtheWebServiceAPIforIntegrationUsing_the_Web_Service_API_for_Integratio

    clientToolBox 的文档可以在文档中找到: https://www.ejbca.org/docs/EJBCA_Client_Toolbox.html

    【讨论】:

    • 感谢您的帮助,按照您的建议,它运行良好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-31
    • 1970-01-01
    • 1970-01-01
    • 2011-10-11
    • 2014-09-04
    • 1970-01-01
    相关资源
    最近更新 更多