java ssl协议_国密SSL协议之Java编程

本文介绍了如何在Java环境中使用国密JCE和国密JSSE库,建立一个简单的SSL客户端,连接到国密Web服务器并进行HTTP通信。通过注册国密提供者并设置SSLContext,实现了国密SSLv11协议的连接,展示了Java实现国密SSL的简便性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

Java自身通过JCE和JSSE支持标准的SSL协议,但并不支持国密SSL协议。本文描述了Java使用国密JCE和国密JSSE开发一个简单的客户端程序,连接国密Web网站,发送HTTP请求,并接收HTTP应答。

环境JRE是jre8。

国密JCE和国密JSSE。下载参

https://www.gmssl.cn/gmssl/index.jsp?go=gmsdk

gmjce.jar和gmjsse.jar放到jre的lib/ext/目录下

源码package cn.gmssl.test;

import java.net.*;

import java.io.*;

import java.security.*;

import java.security.cert.*;

import javax.net.*;

import javax.net.ssl.*;

public class SocketGet

{

public static void main(String[] args)

{

SocketFactory fact = null;

SSLSocket socket = null;

String addr = "ebssec.boc.cn";

int port = 443;

String uri = "/";

try

{

if(args.length > 0)

{

addr = args[0];

port = Integer.parseInt(args[1]);

uri = args[2];

}

System.out.println("\r\naddr="+addr);

System.out.println("port="+port);

System.out.println("uri="+uri);

// 加载国密提供者

Security.insertProviderAt(new cn.gmssl.jce.provider.GMJCE(), 1);

Security.insertProviderAt(new cn.gmssl.jsse.provider.GMJSSE(), 2);

fact = createSocketFactory(null, null);

socket = (SSLSocket)fact.createSocket();

socket.setTcpNoDelay(true);

System.out.println("\r\nGM SSL connecting...");

socket.c

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值