证书导入java的jre环境中

本文详细介绍了如何使用Java调用Webservice接口,包括证书导入JRE环境、生成webservice的jar包等步骤,以及相关操作指令和注意事项。
以java调用web service接口为例:

一、将证书导入Java的JRE环境

1、浏览器中输入地址:https://api.nciic.com.cn/nciic_ws/services/NciicServices?wsdl     (webservice接口地址)
     
        点击
      保存证书,例如:保存到:H:/ciicCheck.cer    base64编码   (ciicCheck.cer为证书名称,可随便命名)

2、用命令导入到jre中   注:服务器可能不再 cacerts 中,要在 jssecacerts 中导入,否则冲突

       开启CMD,进入Java/jdk/jre6/lib/security 目录下
      (注:没有配置classpath则需要进到jdk/bin目录下,否则会报“不是内部命令”,因为keytool .exe在bin目录下)。

3、 执行以下命令:
          keytool -import -alias ciicCheck(名字) -keystore cacerts -file H:/ciicCheck.cer
       -alias 后面的名字可随便起名,即使有重名也不要紧,可替换。
         执行命令后会要求输入密码。 默认密码为changeit 再输入y,进行确认。

4、如果出现:keytool错误: java.io.FileNotFoundException: cacerts (拒绝访问。)的错误,可能是jre的文件夹放到了C盘没有权限读写,可以给这个文件夹设置一下权限就可以了。(右击文件夹-属性中的权限)

5、查看证书
     (所有的证书,按时间或者名字查找就可找到)
     keytool -list -keystore cacerts
     (根据别名查找证书)
     keytool -list -v -alias ciiccheck -keystore cacerts -storepass changeit
     (注 | -v:证书详细信息,可有可无,可有可无,ciiccheck:证书名称 ,                                                                        changeit:密码)

6、删除证书
     keytool -delete -alias ciicCheck(名字) -keystore cacerts


二、生成web service 的jar包

0、继续打开这个网址,将此页面保存为.wsdl的文件,如:IDcard.wsdl
1、在eclipse中新建一个web service project 其中framework选择xfire
2、在src上右击--new --other -- web Service Client 来创建一个类,wsdl file选择保存的wsdl文件
      会自动生成好多类
3、将这些自动生成的类打成jar包,项目右击--emport--jar---选择导出为jar的文件,就可以使用这个jar包调用webservice的方法了


### 配置和管理Java JRE中的SSL证书 #### 1. 解决Java应用程序访问HTTPS服务时遇到的SSL证书问题 当Java应用尝试通过SSL连接至服务器(如Azure ServiceBus),如果JVM无法识别目标站点的SSL证书,则会抛出异常。为了使Java程序能够成功建立安全连接,需确保JRE的信任库已包含该远程主机的有效认证机构(CA)签发的公钥证书[^1]。 #### 2. 检查编译器与项目的兼容性设置 确认使用的Java Compiler版本及其关联的Project Structure下的JDK路径无误,并且这些环境变量指向的是预期安装位置上的标准版OpenJDK或Oracle JDK软件包。这一步骤对于避免因不同版本间API差异而引发的安全协议握手失败至关重要[^2]。 #### 3. Spring Boot工程内的SSL设定方式 针对采用Spring框架构建的应用,在`application.properties`文件里指定keystore的位置参数可以简化SSL上下文初始化过程。具体来说就是把`.jks`格式密钥仓库放置于项目顶层目录下,并按照文档指示调整相应的属性值来启用加密传输层支持[^3]。 #### 4. Tomcat容器级别的HTTPS配置实例 编辑位于Tomcat安装目录下的`conf/server.xml`文件,定位到Connector节点处添加必要的SSL相关选项,比如限定只允许使用更高级别的TLS版本作为通信协议。同时也要记得指明私钥所在的具体地址连同解锁所需的口令字符串一起写入XML标签内部[^4]。 #### 5. 基础命令行工具操作指南 除了上述几种场景化解决方案外,还可以利用随JDK附带的一些实用程序来进行更加底层的操作: - 使用`keytool`命令查看当前运行环境中预加载了多少个受信CA; ```bash keytool -list -v -keystore $JAVA_HOME/lib/security/cacerts ``` - 向默认信任存储中导入新的X.509格式PEM编码证书; ```bash keytool -importcert -file example.crt -alias example.com \ -storepass changeit -noprompt \ -keystore $JAVA_HOME/jre/lib/security/cacerts ``` - 创建自签名测试用途的小型PKCS#12 keystore档案供本地调试阶段调用; ```bash openssl req -newkey rsa:2048 -nodes -keyout server.key \ -x509 -days 365 -out server.crt openssl pkcs12 -export -in server.crt -inkey server.key \ -name tomcat -out keystore.p12 ``` 以上方法适用于大多数常规情况下的Java平台SSL/TLS设施部署需求[^5]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值