「java导入ssl证书」jdk导入https证书

博主:adminadmin 2022-12-31 13:03:08 1161

今天给各位分享java导入ssl证书的知识,其中也会对jdk导入https证书进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

如何在Tomcat或其他基于Java的Web服务器下安装SSL证书

Tomcat支持SSL,并且用它确保机密数据的传输,如身份证号码和信用卡信息等。利用KeyTool程序生成一个public/private键对,同时选择一家可信任的授权机构,来创建和签发数字证书。

一旦收到证书,并将它导入到keystore后,下一步就是在服务器上安装证书了。如果使用的是Tomcat,复制放在服务器某个位置下的keystore,并对Tomcat进行配置即可。随后,打开conf/server.xml文件,并在service下添加以下Connector元素。

Connector port="443"

    minSpareThreads="5"

    maxSpareThreads="75"

    enableLookups="true"

    disableUploadTimeout="true"

    acceptCount="100"

    maxThreads="200"

    

    cheme="https"

    secure="true"

    SSLEnabled="true"

    keystoreFile="/path/to/keystore"

    keyAlias="example.com"

    keystorePass="01secret02%%%"

    clientAuth="false"

    sslPortocol="TLS"

/

以上从cheme开始到最后的代码与SSL有关。

如何用Java代码来把SSL的证书自动导入到Jav

下面这个Java类可以帮助我们做这个事情。同时我们还可以把这个帮助方法开发一个可视化的程序,这样就更加方便:

import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.security.KeyStore;import java.security.cert.CertificateFactory;import java.security.cert.X509Certificate;import java.util.List;import javax.naming.ldap.LdapName;import javax.naming.ldap.Rdn;import javax.security.auth.x500.X500Principal;public class KeyStoreHelper { public static void createTrustJKSKeyStore(final String originalTrustFolder, final String jksTrustStoreLocation, final String password) { File keyStoreFile = new File(jksTrustStoreLocation); if (!keyStoreFile.exists()) { try { KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType()); keystore.load(null, password.toCharArray()); File trustedFolder = new File(originalTrustFolder); File[] certs = trustedFolder.listFiles(); if (certs != null) { for (File cert : certs) { CertificateFactory factory = CertificateFactory.getInstance("X.509"); try { X509Certificate certificate = (X509Certificate) factory.generateCertificate(new FileInputStream(cert)); X500Principal principal = certificate.getSubjectX500Principal(); LdapName ldapDN = new LdapName(principal.getName()); ListRdn rdns = ldapDN.getRdns(); for (Rdn rdn : rdns) { String type = rdn.getType(); if (type.equals("CN")) { keystore.setCertificateEntry((String) rdn.getValue(),certificate);break; } } } catch (Exception ex) { continue; } } } FileOutputStream fos = new FileOutputStream(jksTrustStoreLocation); keystore.store(fos, password.toCharArray()); fos.close(); } catch (Exception exp) { } } } /** * @param args */ public static void main(String[] args) { KeyStoreHelper.createTrustJKSKeyStore("D:\\cacerts", "D:\\cacerts\\test.jks", "test123"); }}

如何通过java程序来加载客户端证书进行ssl连接?

用WS-Security对.NET 和 Java之间的Web服务请求进行签发到底为了对Web服务请求进行签发可以保证消息内容在传输期间没有被修改。 使用数字证书,可以用一个私钥对Web服务进行签发,这样只能用相应的公钥对消息进行校验。

到目前为止,Web服务的安全策略有两种选择: 一种是在传输层(使用 SSL),另一种是在应用层,使用自定制的安全机制。 这两种方法虽然技术上有效,在采用时均有一些限制与缺点。

在传输层使用SSL而获得的安全性是通过对底层的传输层(HTTP)进行安全化而确保Web服务请求的完整性。. SSL 既可以用于加密链接,也可以用于使用证书来校验客户端和服务器。

使用SSL来保护Web服务的一个主要问题之一就是其安全性只在一个单独的节点到另一个节点之间有效。 由于SSL通信是基于传输层,一旦到达终端节点,这种保护消息的方法就不再有效了。. 例如,我从Client A 向 Server B发送一个消息,并使用SSL来保护链接。 然而,如果我从Client A 向 Server C发送一条信息,并且必须经过Server B,这时就没有容易的办法来确保使用SSL通过这一媒介的传输消息的安全性。

也可以开发一种自定制的安全机制,将消息的内容和消息头在客户端进行签发,并在服务器端进行校验。 这种办法可以克服传输安全问题,但最终这将是一种自定制的解决方案。. 如果一个组织希望保护发布到其它组织的Web服务,则他必须确保另一终端节点也使用了相同的技术。

WS-Security 通过提供一种基于应用层的Web服务签发方式来解决这两个问题(避免在传输层进行安全化时遇到的安全问题),它使用了一个已经公布的标准,可以由客户、系统集成商和销售商参考和采用。

为了帮助推动这一标准,本文将演示一系列两个WS-Security实现之间进行Web签发的示例: 一个位于 Microsoft .NET, 基于 Microsoft Web Services Enhancements (WSE) 1.0, 另一个基于GLUE Professional 4.0.1。

java jre已经导入了ssl证书为什么还报错

这种情况下可以判定没有安装好或者证书密码错误导致的。

Tomcat 安装SSL证书:网页链接

Tomcat 自动跳转到HTTPS:网页链接

注意:安装防火墙需要设置允许443端口或关闭防火墙,如果本地服务器安装安全狗的,请允许443端口。

java B/S开发,ssl证书是怎么回事

jks是数字证书库,

pfx是一种二进制格式,

cer 是证书后缀名 ,譬如 test.cer ;

keytool工具,jdk中有自带的,所在路径为:%JDK_HOME%/bin

客户端访问时,怎么验证证书?

--当你访问https的网站时,服务端会将它那边的信息,包括服务器证书传给客户端,然后你再验证改该证书的有效期,颁发者,公钥信息等,确认是否可信任该证书,这就是一个验证证书的过程。

其它验证步骤,可以网上搜索SSL验证步骤。

关于java导入ssl证书和jdk导入https证书的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。