Tag: ssl certificate

Axis 2 webservice SSL通信

我从这段代码得到了Soap Response SOAPConnectionFactory sfc = SOAPConnectionFactory.newInstance(); SOAPConnection connection = sfc.createConnection(); SOAPMessage soapMessageResponse = connection.call(soapRequest, new URL(serviceLocation)); 如何使其基于SSL? 我知道如何从SSLContext创建SSLSocketFactory给我指定的密钥库 。 如何告诉SOAPConnection类有关SSLSocketFactory或SSLContext ? 这样我的沟通就可以得到保障。 我不想在系统属性或xml文件中设置密钥库。 我正在使用Websphere 7。 编辑: Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:600) at com.ibm.ws.webservices.engine.soap.SOAPConnectionImpl.callJAXWSDispatch(SOAPConnectionImpl.java:416) … 49 more Caused by: javax.xml.soap.SOAPException: javax.xml.ws.WebServiceException: javax.net.ssl.SSLHandshakeException: General SSLEngine problem at com.ibm.ws.webservices.engine.xmlsoap.saaj13only.SOAPConnectionJAXWS.call(SOAPConnectionJAXWS.java:72) … 54 […]

找不到匹配www.billiving.com的主题替代DNS名称。 为什么这会引起如何解决?

我有www.billiving.com API的集成测试套件。 当API调用端点应该是https://www.billiving.com 。 我的测试套件在windows上完美运行。 但是当它移动到ubuntu 14.x时,它会因以下exception而失败。 [1] 所以我写了这个[2]代码来测试它超出测试套件。 它仍然以相同的例外失败。 所以我试图将billiving.com证书导入JKS但仍然失败,但同样的例外。 我知道作为解决方案,我们可以覆盖Verifier类中的verify方法并返回true。 但我需要适当的解决方案,因为这会导致安全问题。 1)为什么这个错误和为什么它只在linux上。 2)我们如何通过适当的解决方案解决这个问题 APIurl: https : //www.billiving.com/ [1]例外: > javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative DNS > name matching www.billiving.com found. at > com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174) > at > com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1747) > at > com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:241) > at > com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Handshaker.java:235) > at > com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1209) > at > com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:135) […]

无法找到有效的认证路径,jboss 5.1.0

当我尝试调用需要从本地环境通过HTTPS基本身份validation的SOAP Web服务(.wsdl)时,我收到了SSLHandShakeException。 首先,我从Chrome浏览器下载了证书Cert.cer ,然后按照以下步骤操作。 1) keytool -genkey -dname “CN=localhost:8080, OU=Group Name, O=Company Name,L=City Name, S=State, C=IN” -alias “key_alias” -keyalg RSA -keypass changeit -keystore server.keystore 2) copy server.keystore C:\Work\jboss-5.1.0.GA\server\default\conf 3) keytool -export -alias “key_alias” -file Cert.cer -keystore C:\Work\jboss-5.1.0.GA\server\default\conf\server.keystore 4) copy Cert.cer C:\Work\jboss-5.1.0.GA\server\default\conf 5) keytool -printcert -v -file C:\Work\jboss-5.1.0.GA\server\default\conf\Cert.cer 6) keytool -import -alias “key_alias” -file Cert.cer -keystore […]

Java Rest调用具有不同的用户证书

我有一组用户证书,我想使用相应的用户证书对用户进行身份validation。 我配置服务器以启用用户身份validation。 它从浏览器工作正常。 如果有多个用户证书,它会提示我选择需要使用的证书。 我的问题是,我怎么能用java做到这一点? 我正在使用RestTemplate与服务器进行通信。 如果是单用户证书,我可以将其添加到java密钥库并使用它。 如何使用特定的用户证书进行特定的rest呼叫?

自签名证书

我使用带有自签名证书的主机。 所以我从我的域https://www.marpel.cz/下载了证书,并使用http://portecle.sourceforge.net/创建了.bks文件。 我需要建立https连接并从我的webservice中检索数据。 我用的是ksoap2库。 我复制并使用了ksoap2 wiki中声明的类ConnectionWithSelfSignedCertificate 。 这是我创建keyStore的方式 MainActivity.java // Get an instance of the Bouncy Castle KeyStore format try { this.keyStore = KeyStore.getInstance(“BKS”); } catch (KeyStoreException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } // Get the raw resource, which contains the keystore with // your trusted certificates (root and any intermediate certs) […]

创建Web服务客户端时,没有主题备用名称存在exception

我想使用wsdl2java实用程序创建一个Web服务客户端。 我必须通过SSL连接到此服务器 这个wsdl看起来像这样: https://xxx.xx.xx.xx:8443/api/wsdl/xxxxxxx.wsdl 我使用以下方法生成证书: openssl s_client -connect xxx.xx.xx.x:8443 abcCertificate.pem 并使用以下命令将其添加到密钥库: keytool -import -noprompt -trustcacerts -alias testcert -file abcCertificate.pem -keystore /usr/java/jdk1.7.0_06/jre/lib/security/cacerts -ext san=ip:xxx.xx.xx.xx 当我尝试使用wsdl2java创建Web服务客户端时,它会抛出exception : javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative names present 我使用此链接中的这些信息。

以PEM格式转换私钥

我用Java代码创建了一个自签名证书并添加到KeyStore中。 现在,我想将创建的私钥和证书导出为PEM格式的文​​件。 没有任何第三方库,是否有可能实现这一目标? 下面是我用于创建自签名证书的代码。 public void createSelfSignedSSLCertificate() { try { final CertAndKeyGen keypair = new CertAndKeyGen(“RSA”, “SHA1WithRSA”, null); final X500Name x500Name = new X500Name(commonName, organizationalUnit, organization, city, state, country); keypair.generate(keysize); final PrivateKey privKey = keypair.getPrivateKey(); final X509Certificate[] chain = new X509Certificate[1]; chain[0] = keypair.getSelfCertificate(x500Name, new Date(), validity * 24 * 60 * 60); final String […]

将密钥和SSL证书导入java密钥库

我有pem格式的证书文件和私钥文件。 是否可以使用Java代码将这些文件加载​​到Java密钥库中,使用JDK附带的默认库而不是第三方库。 当我尝试谷歌搜索时,我只能找到.der格式的文件,使用java代码导入到java密钥库中。 http://knowledge-oracle.blogspot.in/2009/02/import-private-key-and-certificate-in.html 是否可以通过java代码将pem格式的密钥和证书文件加载到java密钥库中,而无需转换为.der格式?

无法从JAVA连接到Mongo SSL副本集

我正在尝试使用SSL加密设置MongoDB的最新版本,我能够从mongo shell连接,但是当我从Java客户端连接时出现错误。 作品 mongo admin –host mongo1.xxxx.com –ssl –sslPEMKeyFile mongoClient.pem –sslCAFile mongoCA.crt 不起作用 public static void main(String args[]){ System.setProperty(“javax.net.ssl.trustStore”,”/home/gasparms/truststore.ts”); System.setProperty(“javax.net.ssl.trustStorePassword”, “mypasswd”); System.setProperty(“javax.net.ssl.keyStore”, “/home/gasparms/truststore.ts”); System.setProperty(“javax.net.ssl.keyStorePassword”, “mypasswd”); System.setProperty(“javax.security.auth.useSubjectCredsOnly”,”false”); MongoClientOptions options = MongoClientOptions.builder().sslEnabled(true) .build(); MongoClient mongoClient = new MongoClient(“mongo1.xxxx.com”,options); System.out.println(mongoClient.getDatabaseNames()); } 我从Mongo那边得到这个错误: 2015-06-09T15:08:14.431ZI NETWORK [initandlisten]连接从192.168.33.1:38944#585接受(现已开通3个连接)2015-06-09T15:08:14.445ZE NETWORK [conn585]没有由同行提供的SSL证书; 连接被拒绝2015-06-09T15:08:14.445ZI NETWORK [conn585] end connection 192.168.33.1:38944(2个连接现已开通)2015-06-09T15:08:14.828ZI NETWORK [conn580] end connection 192.168.33.13:39240 […]

Java中是否有Java x509certificate ClientHello解析器?

我得到了一个字节包,它是SSL协议包的ClientHello 。 在我开始自己编写代码之前,通过遍历整个字节来获取每个字段值的代码,我想知道是否有任何Java对象(来自java.security)用于获取这些字节并解析数据,所以我将能够采取SSL协议字段并使用它们?