Advertisement

gm-jsse:提供开源国密通信的纯 Java JSSE 实现,包含源码。

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
该程序依赖于Java Secure Socket Extension (JSSE),它需要JDK 1.7或更高版本的环境才能运行。为了安装JSSE,请添加以下依赖项:`< dependency> < groupId>com.aliyun < artifactId>gmsse < version>{{请参考徽章上的版本号}}。使用方法如下: ```java import javax.net.ssl.HttpsURLConnection ; import javax.net.ssl.SSLContext ; import javax.net.ssl.SSLSocketFactory ; import java.net.URL ; import com.aliyun.gmsse.GMProvider ; public class Main ```

全部评论 (0)

还没有任何评论哟~
客服
客服
  • GM-JSSEJavaJSSE-
    优质
    简介:GM-JSSE是一款基于纯Java开发的开源库,为开发者提供符合中国商用密码算法标准(国密)的JSSE接口实现,便于在各种应用中集成安全通信功能。 通用JSSE要求JDK 1.7或更高版本。安装以下依赖项: ```xml com.aliyun gmsse {{see the version on the badge}} ``` 使用方法如下: ```java import javax.net.ssl.HttpsURLConnection; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLSocketFactory; import java.net.URL; public class Main { public static void main(String[] args) throws Exception { SSLContext sslContext = SSLContext.getInstance(TLSv1.2); GMProvider provider = new GMProvider(); sslContext.init(null, null, null); URL url = new URL(https://example.com/); HttpsURLConnection connection = (HttpsURLConnection)url.openConnection(); connection.setSSLSocketFactory(sslContext.getSocketFactory()); } } ``` 注意:在上述代码中,你需要根据实际情况初始化`SSLContext`和添加必要的安全策略。
  • 大宝CA版SSL规范JSSE 1.0.1),附带示例代
    优质
    本资源提供基于国密算法的大宝CA版本SSL规范实现,采用JSSE 1.0.1框架,并包含详细的通信示例代码,便于开发者理解和应用。 1. 修正了前一版本中的证书验证问题,并支持JDK8的高版本。 2. 调整以适配更多硬件设备及国密浏览器。 3. 支持国密SSL双向认证功能。 4. 替换过期的国密证书为新证书。
  • JSSE-2.7.0-Release.zip
    优质
    JSSE-2.7.0-Release.zip是Java软件安全扩展(JSSE)的一个发布版本,提供了一套用于实现网络通信中各种加密协议和安全管理工具的库文件。 使用Java并通过jssc库文件实现串口通信的方法涉及几个关键步骤:首先需要添加JSSC库到项目中;然后初始化并打开指定的串行端口;接着配置波特率、数据位等参数以匹配连接设备的要求;最后,通过读写操作与外部硬件进行交互。在开发过程中需要注意异常处理和资源管理,确保程序稳定运行且能够正确地收发数据。
  • C#汇川全系列上位机适配——PLC读写例及TCP类库,无加,注释详尽,
    优质
    本项目提供了C#编写的汇川设备全系列上位机软件源代码,包括详细的PLC读写示例和TCP通讯类库。代码公开且未加密,附有丰富注释便于理解与二次开发。 C#汇川全系列上位机适配源码提供了一个完整的解决方案,适用于通过TCP通信协议读取与编写PLC数据的案例研究。此项目中通讯部分已经被封装为独立类库,并且提供了详尽的注释以方便理解。 该代码示例支持汇川所有型号PLC设备进行Modbus TCP通讯的操作,并包括了上位机一键修改plc参数的功能,以及导入导出变量表的能力。通过使用socket编程技术实现与汇川全系列PLC的通信连接,经过实际测试证明其功能可靠且易于学习。 关键代码部分都有清晰注释以帮助开发者快速理解逻辑流程和核心算法,并提供了一个可以重复使用的通讯程序库形式的源码。
  • Java SocketJava
    优质
    本资源提供详细的Java Socket编程教程及完整源代码,涵盖客户端与服务器端通信实现,适用于网络编程学习与实践。包含所有必需的Java类文件,帮助开发者快速上手Socket编程技术。 在实现聊天室的网络通信时使用了socket技术,在源码示例中采用127.0.0.1:9000作为服务器地址,需要先启动服务端再开启客户端进行连接。
  • Java Socket例(
    优质
    本资源提供了一个详细的Java Socket通信示例,包括客户端和服务器端代码。通过这个例子,开发者可以学习到如何实现简单的网络数据传输功能,并直接获取完整源码进行实践操作。 在实现聊天室的网络通信时使用了socket技术。源码中设定的服务端地址为127.0.0.1:9000,在运行过程中需要先启动服务端,然后再开启客户端。
  • Java中AES加与解
    优质
    本篇文章详细介绍了如何在Java项目中使用AES算法进行数据加密和解密的具体方法,并提供了相应的代码示例。适合需要增强应用安全性的开发者阅读参考。 最近编写了一些加密解密的代码,并参考了许多文章结合自己的理解后将代码发布出来供他人参考。 ```java import javax.crypto.*; import javax.crypto.spec.*; public class AES { public static void main(String[] args) throws Exception { // 加密用的Key,可以由26个字母和数字组成,最好不使用保留字符。 String cKey = 1234567890abcDEF; // 需要加密的字串 String cSrc = 我的MSN:xxxx@hotmail.com,QQ:10000; long lStart = System.currentTimeMillis(); String enString = AES.Encrypt(cSrc, cKey); System.out.println(加密后的字串是: + enString); long lUseTime = System.currentTimeMillis() - lStart; System.out.println(加密耗时: + lUseTime + 毫秒); // 解密 lStart = System.currentTimeMillis(); String deString = AES.Decrypt(enString, cKey); System.out.println(解密后的字串是: + deString); lUseTime = System.currentTimeMillis() - lStart; System.out.println(解密耗时: + lUseTime + 毫秒); } public static String Decrypt(String sSrc, String sKey) throws Exception { try { if (sKey == null) { return null; } if (sKey.length() != 16) { return null; } byte[] raw = sKey.getBytes(ASCII); SecretKeySpec keySpec = new SecretKeySpec(raw, AES); Cipher cipher = Cipher.getInstance(AES); cipher.init(Cipher.DECRYPT_MODE, keySpec); byte[] encrypted1 = hex2byte(sSrc); try { byte[] original = cipher.doFinal(encrypted1); String originalString = new String(original); return originalString; } catch (Exception e) { System.out.println(e.toString()); return null; } } catch (Exception ex) { System.out.println(ex.toString()); return null; } } public static String Encrypt(String sSrc, String sKey) throws Exception { if (sKey == null) { return null; } if (sKey.length() != 16) { return null; } byte[] raw = sKey.getBytes(ASCII); SecretKeySpec keySpec = new SecretKeySpec(raw, AES); Cipher cipher = Cipher.getInstance(AES); cipher.init(Cipher.ENCRYPT_MODE, keySpec); byte[] encrypted = cipher.doFinal(sSrc.getBytes()); return byte2hex(encrypted).toLowerCase(); } public static byte[] hex2byte(String strhex) { if (strhex == null) { return null; } int l = strhex.length(); if (l % 2 == 1) { return null; } byte[] b = new byte[l / 2]; for(int i=0;i != l/2 ;i++) { b[i] = (byte) Integer.parseInt(strhex.substring(i * 2, i * 2 + 2), 16); } return b; } public static String byte2hex(byte[] b) { String hs = ; for(int n=0;n
  • 基于JAVASM3算法
    优质
    这段简介描述了一个使用Java编程语言实现的开源软件项目,该项目具体实现了中国国家密码管理局发布的SM3哈希算法。此源码为开发人员提供了方便地集成与应用国产密码标准的一种途径,以满足数据安全和合规性需求。 国密SM3算法的Java实现可以与bc很好地结合,从而扩展国密算法的应用范围。已经使用了SM3算法标准中的示例数据进行验证,并通过两组示例数据进行了对比测试,结果完全正确。此外还附带了一个工具类来实现这一功能,经过两天的努力开发,确保100%的准确性。
  • i18next际化i18next.jar
    优质
    本项目深入解析i18next库的国际化功能及其源代码,并提供自包含的i18next.jar文件用于快速集成和测试。适合开发者研究与应用。 上传了一个实现i18next国际化的资源包,包含i18next.js文件。此资源支持中文、英文和繁体三种语言的切换,默认使用浏览器设置的语言。
  • 算法C语言SM2RAR
    优质
    本资源提供了一套用C语言编写的通信加密算法SM2的源代码,压缩为RAR文件格式。适用于需要深入了解和应用国密SM2算法进行数据安全传输的研究者及开发者。 加密算法主要分为对称加密算法和非对称加密算法两大类。SM2是中国国家密码管理局于2010年12月17日发布的一种基于椭圆曲线的公钥密码算法,对于从事加密研究的人来说具有一定的参考价值。