`

程序获取访问目标主机有效SSL/TLS证书

 
阅读更多

现在,很多网站或者服务,都实现成基于SSL,并且提供证书下载安装才能访问。如果它能提供下载,当然什么问题有没有。

可是,如果你无权下载,并且它不是CA证书,只是自签名的Server端证书。只知道Added certificate to keystore ‘jssecacerts’ using alias ‘goauth.baoxan.net-1′它的端口和地址,你强行通过程序访问,可能会得到这样的错误:

1
2
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 
        at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)

没想到,Sun提供了一个工具程序,能够能过程序调用,得到Server端的证书。

工具类在googlecode源码地址为:InstallCert.java

在IDE里面运行,或者控制台进入class文件目录后:

java TestFetchingCert goauth.baoxan.net

选中你需要保存的那个证书序号,比如1,会自动生成certificate,包括他的alias:

Added certificate to keystore ‘jssecacerts’ using alias ‘goauth.baoxan.net-1′

然后把这个证书导成可见文本:(密码是默认的changeit)

keytool -export -alias goauth.baoxan.net-1 -keystore jssecacerts -rfc -file goauth.crt

进入jre的security目录,把它导入java可信任库(%JAVA_HOME%/jre/lib/security/cacerts):

cd /d C:\Program Files\Java\jdk1.6.0_24\jre\lib\security

keytool -import -alias goauthCA -file goauth.crt -keystore “%JAVA_HOME%/jre/lib/security/cacerts”

默认密码还是changeit

一切搞定,可以再java中访问这个goauth.baoxan.net的SSL服务了,比如单点登录的时候。

 

本人博客已搬家,新地址为:http://yidao620c.github.io/

分享到:
评论

相关推荐

    java client访问https server(客户端代码、服务器端配置)

    1. SSL/TLS协议:SSL(Secure Sockets Layer)和TLS(Transport Layer Security)是网络通信中的安全协议,它们通过加密技术和数字证书来保证数据传输的安全。HTTPS是HTTP协议与SSL/TLS的结合,用于在Web浏览器和...

    Https请求验证工具类

    // 获取SSLContext实例并使用我们信任的所有证书初始化 SSLContext sslContext = SSLContext.getInstance("SSL"); sslContext.init(null, trustAllCerts, new java.security.SecureRandom()); // 将我们的SSL...

    Janus证书.rar

    1. **获取SSL/TLS证书**:你可以从权威的证书颁发机构(如Let's Encrypt、Verisign等)申请免费或付费的SSL证书,或者自签名证书用于测试环境。 2. **安装证书**:将证书和私钥文件(通常是.pem或.key格式)放在...

    vmware证书过期问题处理相关脚本

    1. **证书过期问题**:VMware产品(如vSphere、vCenter等)使用的SSL/TLS证书都有有效期,过期后需要更新以确保通信的安全性。未及时更新的证书可能会导致管理界面无法访问、ESXi主机失去连接等问题。 2. **...

    openssl ssl 加密 证书

    - **主机名验证**: 检查证书中的 Common Name 或 Subject Alternative Names 是否与访问的域名匹配。 ### 5. 在代码中使用 SSL 证书 在 Win32 平台上,使用 OpenSSL 库编写的 SSL 通信程序需要加载并验证证书。...

    k8s部署kuboard(支持https认证)

    首先,使用`openssl`工具创建自签名的CA证书,确保证书有效天数足够。然后,创建服务器端证书的请求文件,再使用CA证书对其进行签发。同样,我们也需要生成客户端证书的请求文件,并由CA签发。这些证书和密钥将用于...

    apache_2.0.54-win32-x86-no_ssl.zip

    通常,这需要获取并安装SSL证书,以验证服务器的身份并加密传输的数据。 在Windows 32位环境下,Apache的安装通常涉及以下步骤: 1. 解压下载的zip文件,通常包含可执行的安装程序(如这里提到的apache_2.0.54-win...

    Apache SSL 加密機制

    2. 配置SSL证书:获取并安装SSL证书,证书应由权威的CA签发,以确保其可信度。 3. 修改配置文件:编辑Apache的配置文件httpd.conf或ssl.conf,配置虚拟主机以监听443端口,并指定SSL证书和私钥的位置。 4. 重启...

    ssl证书,可用于nginx

    1. **获取SSL证书**:首先,你需要从权威的证书颁发机构(如Let's Encrypt、Comodo、Symantec等)申请SSL证书。你可以选择免费的证书或者付费的高级证书,根据网站的需求来决定。申请过程中,你需要验证你对域名的...

    apache_2.2.4-win32-x86-no_ssl

    4. 配置Apache:修改配置文件httpd.conf以调整服务器行为,如虚拟主机设置、日志记录、访问权限等。 5. 测试Apache:启动服务后,在浏览器中输入"localhost",如果看到Apache的欢迎页面,则表示安装成功。 安全和...

    免费 SSL 安全证书

    StartCom免费提供个人使用的StartSSL™ Free服务,基于Class 1级别的X.509 SSL安全证书,主要提供Web服务器(SSL/TLS)及电子邮件加密(S/MIME)认证。此外,还提供了更高级别的2级和3级证书以及扩展验证证书...

    linux-HTTPS服务器配置

    2. 创建或获取SSL证书: 可以选择申请免费的Let's Encrypt证书,或购买商业证书。如果使用Let's Encrypt,可以借助certbot工具自动化安装: ``` sudo apt-get install certbot python3-certbot-apache sudo ...

    https/http 的调用类和代理proxy调用类

    这些协议是Web应用程序的基础,用于客户端(如浏览器)与服务器之间的数据交换。在这个压缩包中,我们有三个核心文件:`HttpAndHttpsProxy.java`、`HttpClientUtil.java`和`SSLClient.java`,它们分别涉及了...

    install-https-on-windows-2008.rar_https

    1. **获取SSL证书**:首先,你需要从受信任的证书颁发机构(如Verisign、Comodo、Let's Encrypt等)购买或申请一个SSL证书。证书包含了你的域名信息和公钥,用于验证服务器的身份。 2. **安装IIS**:Windows 2008...

    Apache Server的Httpd配置文件SSL443 配置https

    2. 获取SSL证书:你可以从权威的证书颁发机构购买一个SSL证书,或者使用自签名证书进行测试。自签名证书可以通过openssl工具生成: ``` openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/...

    curl 校验服务器证书代码

    - **证书有效期**:检查证书是否在有效期内。 - **主机名匹配**:验证服务器证书中的Common Name或Subject Alternative Names是否与请求的URL匹配。 - **证书链完整性**:确保服务器提供了完整的证书链,所有证书...

    禅道10.4的SSL配置(完美版)

    - 将你的SSL证书(通常是.crt文件)和私钥文件(通常是.key文件)放置在Apache的安全目录下,如`/etc/pki/tls/certs/`和`/etc/pki/tls/private/`。 2. **编辑配置文件**: - 找到禅道的Apache配置文件,根据描述...

    网址有效性验证

    5. **SSL/TLS证书验证**:对于使用HTTPS的网址,还需验证服务器的SSL/TLS证书。这涉及到证书链的完整性、有效期、颁发机构以及域名匹配等方面。证书问题可能导致浏览器显示警告,影响用户信任度。 6. **重定向处理*...

    windows下apache的SSL配置

    在开始配置SSL之前,你需要获取一个SSL证书。这通常是由受信任的证书颁发机构(CA)颁发的,但也可以使用自签名证书进行测试。如果你选择自签名证书,可以在Apache的`conf\extra`目录下找到`httpd-ssl.conf`模板文件...

Global site tag (gtag.js) - Google Analytics