Tag: 证书

如何从GoDaddy导入证书以进行Java代码签名?

我需要能够使用来自CA的证书来签署jar文件。 我按照GoDaddy的文档说明如何执行此操作: http : //support.godaddy.com/help/article/4780/signing-java-code 但是,步骤3需要导入从GoDaddy网站获取的证书文件。 根据文档,命令是: keytool -import -trustcacerts -keystore codesignstore -storepass -alias codesigncert -file mycert.cer 虽然我成功提交了CSR(由keytool生成)并获得了响应,但我无法终身了解如何获取mycert.cer文件。 可以选择下载PEM文件。 但是在运行上面的命令后,我收到错误“keytool error:java.lang.Exception:Incomplete certificate chain in reply”。 我已多次尝试过,并仔细检查我是否正在使用正确的密钥库。 我甚至尝试过使用SSH-1重新键入一次,然后再使用SSH-2重新键入。 根据这个人( https://stackoverflow.com/questions/20793254/signing-a-jar-the-signers-certificate-chain-is-not-validated?rq=1 ),他们至少能够成功导入PEM文件。 但我不确定这是否是正确的方法。 GoDaddy的技术支持绝对可怕。 我所谈到的大多数技术人员根本不熟悉keytool,在他们转发给他们的SSL部门(480-505-8852)之前,我花了好几次尝试打电话给他们,这至少比一般情况要好一些。支持。 如果我使用Internet Explorer或Firefox,我相信我可以自动生成CSR而不是创建一个通过密钥工具。 然后我将通过Web浏览器导出证书。 从阅读各种其他在线文档,我相信我可以使用openssl转换为keytool的正确格式。 我不确定这将如何工作的细节,但我没有看到任何其他选择。 有没有人成功的这个或有任何指示如何进行? 我在这里找到了一个类似的问题( 使用GoDaddy的spc文件签署一个java小程序 ),但答案只是指向GoDaddy糟糕的文档。 如果可以的话,我会使用另一个CA,但我已经付了钱,经历了漫长而漫长的validation过程。

使用Java通过https和REST使用RESTful服务

我是REST服务的新用户。 我需要使用Jersey生成的RESTful API服务。 问题出现是因为该服务托管在远程主机上,并且需要https访问证书。 我从组织获得了我的证书,并且我能够使用我的任何浏览器访问该REST API服务(其上设置了证书)。 我在这里阅读了很多post,我已经按照这个主题的答案: 在Java中使用HTTPS和REST 现在我在我的Java Keystore上设置了证书。 但我不知道如何在我的Java程序中使用它,所以它使用我需要的证书来进行https连接。 这是我用于本地测试的简单连接代码。 package rest.test.first; import java.net.URI; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.UriBuilder; import com.sun.jersey.api.client.Client; import com.sun.jersey.api.client.ClientResponse; import com.sun.jersey.api.client.WebResource; import com.sun.jersey.api.client.config.ClientConfig; import com.sun.jersey.api.client.config.DefaultClientConfig; public class TestClient{ public static void main(String[]args){ ClientConfig config= new DefaultClientConfig(); Client client=Client.create(config); WebResource service=client.resource(getBaseURI()); //Fluentinterfaces System.out.println(service.path(“rest”).path(“hello”).accept(MediaType.TEXT_PLAIN).get(ClientResponse.class).toString()); //Getplaintext System.out.println(service.path(“rest”).path(“hello”).accept(MediaType.TEXT_PLAIN).get(String.class)); //GetXML System.out.println(service.path(“rest”).path(“hello”).accept(MediaType.TEXT_XML).get(String.class)); //TheHTML System.out.println(service.path(“rest”).path(“hello”).accept(MediaType.TEXT_HTML).get(String.class)); } private […]

如何使用iText对pdf进行数字签名?

如何使用iText签署pdf? 我正在浏览这个LINK但却不了解my_private_key.pfx。 我真的需要数字签名证书吗? 请澄清我。 提前致谢。

Java SSL / TLS忽略过期的证书? (java.security.cert.CertPathValidatorException:时间戳检查失败)

我遇到了一个与我通过SSL沟通的api的问题。 我认为由于SSL证书已过期这一事实即将发生。 问题是我不管理API框。 是否可以忽略过期的证书? 例外: [ERROR,TaacWorkshop] Problem deleting user group from CADA: org.apache.thrift.transport.TTransportException: javax.net.ssl.SSLException: Connection has been shutdown: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: timestamp check failed at org.apache.thrift.transport.TIOStreamTransport.flush(TIOStreamTransport.java:156) at company.oss.thrift.cada.CADABackend$Client.send_DeleteUserGroup(CADABackend.java:580) at company.oss.thrift.cada.CADABackend$Client.DeleteUserGroup(CADABackend.java:568) at com.cable.company.nse.cada.CadaDao.deleteUserGroup(CadaDao.java:72) at com.cable.company.nse.taac.business.TaacWorkshop.deleteTaac(TaacWorkshop.java:127) at com.cable.company.nse.taac.controller.RemoteVendorAccessController.processRequest(RemoteVendorAccessController.java:130) at com.cable.company.nse.taac.controller.RemoteVendorAccessController$$FastClassByCGLIB$$63639bdf.invoke() at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191) at org.springframework.aop.framework.Cglib2AopProxy$CglibMethodInvocation.invokeJoinpoint(Cglib2AopProxy.java:692) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:67) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:625) at […]

keytool -genkey错误:密钥库文件不存在

我尝试创建一个新的自我认证的密钥库文件 我使用的命令是: keytool -genkey -selfcert -dname “cn=My Name, ou=Orga unit” -alias selfcertified -keypass somepass -keystore keystore.jks -storepass anotherpass -validity 365 但我总是得到这个恼人的错误: keytool error: java.lang.Exception: Keystore file does not exist: keystore.jks 我不明白为什么我收到这个错误。 上面的命令应该创建一个新的密钥库,为什么它抱怨一个不存在的商店?

在Windows JRE中导入StartCom CA证书

我有一个Java应用程序访问使用StartCom SSL证书的服务。 为了实现这一点,我需要将StartCom CA证书添加到Java的信任库中,因为它们默认不在那里。 我已经使用这些命令在linux上成功完成了这项工作 sudo keytool -import -trustcacerts -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit -noprompt -alias startcom.ca -file ca.crt sudo keytool -import -trustcacerts -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit -noprompt -alias startcom.ca.sub.class1 -file sub.class1.server.ca.crt sudo keytool -import -trustcacerts -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit -noprompt -alias startcom.ca.sub.class2 -file sub.class2.server.ca.crt sudo keytool -import -trustcacerts -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass changeit -noprompt -alias startcom.ca.sub.class3 […]

从密钥库加载证书

从受密码保护的密钥库加载证书和密钥,然后将其用于证书validation和数字签名

连接到URL时出错 – PKIX路径构建失败

我正在尝试连接到网页以收集信息,我正在使用jsoup来解析HTML。 但是,每当我尝试连接到URL以下载源时,我都会收到有关PKIX构建路径的错误。 我环顾四周,我发现的所有内容都说将我的网站的CA根证书添加到我的信任库,但问题仍然存在(CA根证书已经存在)。 我可以通过Web浏览器连接到网站,但不能通过URL类连接到网站。 这是我能编写的最基本的代码,它会产生错误。 public class URLConnectStart { public static void main(String[] args) { try { URL u = new URL(“https://ntst.umd.edu/soc/”); u.openStream(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } } 这是错误 javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target […]

用于Java的x509证书解析库

任何推荐的Java加密库。 我需要的是能够解析X.509证书以提取其中包含的信息。 谢谢

Java SSLSocket:如何发送完整的服务器证书链?

当我在Java 7中创建SSLServerSocket时,服务器正确使用我的服务器证书和密钥。 该证书是由ca的子ca发行的。 因此,从根证书到服务器证书的完整链具有四个证书。 完整链存在于密钥库/信任库中。 但是,当客户端连接服务器时,始终只发送服务器证书本身。 这也适用于基于Java的Web服务器,如Jetty。 因为大多数客户端只安装了根ca证书而不是两个sub-ca证书,所以这是一个大问题。 如何强制Java在SSL / TLS握手中发送完整的证书链?