`
zzzzzz5530041
  • 浏览: 35049 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

JKS生成数字签名+JBOSS配置SSL

    博客分类:
  • java
阅读更多

第一步:

生成JKS文件

配置环境  JAVA_HOME: C:\bea\jdk150_10

                Path: C:\bea\jdk150_10\bin

运行一下脚本

keytool -genkey -keyalg RSA -alias jbosskey -keystore jbosskey.jks

得到下图


-keyalg RSA  算法是RSA

-alias jbosskey 别名jbosskey

-keystore jbosskey.jks生成的JKS名字

上面的步骤完成后可在C:\Documents and Settings\yz45177 下生成jbosskey.jks文件.

 

第二步:

导出证书

keytool -export -alias jbosskey -file jbosskey.cer -keystore jbosskey.jks



-alias jbosskey---jks的别名

-file jbosskey.cer---导出的cer文件名

-keystore jbosskey.jks--jks文件

password--生成jks文件时的密码

 

第三步:

查看jks文件的详情

keytool -list -keystore jbosskey.jks



 

第四步:

生成数字签名:

直接运行下面的代码.

 

package com.zhuyang.test;

import java.io.FileInputStream;
import java.security.KeyStore;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.Signature;
import java.security.cert.Certificate;
import java.util.HashMap;
import java.util.Map;

import sun.misc.BASE64Encoder;

public class DigitalSignatureTest {

	private static String alias="jbosskey";
	private static String keystoretype="jks";
	private static String certPath="C:\\workspace1\\digital_signature\\jbosskey.cer";
	private static String keystorePath="C:\\workspace1\\digital_signature\\jbosskey.jks";
	private static String password="1qazxsw2";
	private static byte[] testData = "Hello, this is Young from SH".getBytes();
	private static byte[] validateTest = "Hello, this is Young from SH".getBytes();
	 
	public static Map initial ()throws Exception{
		Map map = new HashMap();
		KeyStore keystore = KeyStore.getInstance("jks");
		keystore.load(new FileInputStream(keystorePath), password.toCharArray());
		PrivateKey senderKey = (PrivateKey) keystore.getKey(alias, password.toCharArray()); 
		Certificate cert = (Certificate) keystore.getCertificate(alias);
		System.out.println("Algorithm===>"+senderKey.getAlgorithm());
		map.put("senderKey", senderKey);
		map.put("cert", cert);
		return map;
	}
	public static byte[] getSignature(Map map)throws Exception{
		PrivateKey senderKey = (PrivateKey) map.get("senderKey");
		Certificate cert = (Certificate) map.get("cert");
		System.out.println(cert.getType());
		Signature sig = Signature.getInstance("SHA1withRSA");
		sig.initSign(senderKey);
		sig.update(testData);
		byte [] result = sig.sign();
		return result;
	}
	public static boolean varifySignature() throws Exception{
		boolean ret=false;
		Map map = initial();
		byte [] signature = getSignature(map);
		Certificate cert = (Certificate) map.get("cert");
		PublicKey pk = (PublicKey) cert.getPublicKey();
		Signature sig = Signature.getInstance("SHA1withRSA");
		sig.initVerify(pk);
		sig.update(validateTest);
		ret =sig.verify(signature);
		System.out.println(ret);
		return ret;
	}
	public static void main(String[] args) throws Exception {
		Map map = initial();
		byte[] signature =getSignature(map);
		BASE64Encoder encoder = new BASE64Encoder();
		String DIGITAL_SIGNATURE = encoder.encodeBuffer(signature);
		DIGITAL_SIGNATURE=DIGITAL_SIGNATURE.replaceAll("\\n", "").replaceAll("\\r", "");
		System.out.println("DIGITAL_SIGNATURE====>"+DIGITAL_SIGNATURE);
		varifySignature();
	}

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

如何配置JBOSS的SSL

我用的是jboss-5.0.1.GA

第一步:

拷贝jks和cer文件到C:\zhuyang\jboss-5.0.1.GA\jboss-5.0.1.GA\server\default\conf

第二步:

编辑文件C:\zhuyang\jboss-5.0.1.GA\jboss-5.0.1.GA\server\default\deploy\jbossweb.sar\server.xml

添加下面内容

<!-- SSL/TLS Connector configuration using the admin devl guide keystore-->
      <Connector protocol="HTTP/1.1" SSLEnabled="true" 
           port="8443" address="${jboss.bind.address}"
           scheme="https" secure="true" clientAuth="false" 
           keystoreFile="${jboss.server.home.dir}/conf/jbosskey.jks"
           keystorePass="1qazxsw2" sslProtocol = "TLS" />

 

keystorePass="1qazxsw2"这是你jks的密码
keystoreFile这是jks文件目录
port="8443"https访问的时候的短裤

这样http和https都能访问了.

 

HTTP



 

 

 

HTTPS

 



 

 

 

 

 

 



 

 

 

 

 

 

好像已经狠详细了哦...

 

 

 

 

  • 大小: 9.7 KB
  • 大小: 2.1 KB
  • 大小: 3.1 KB
  • 大小: 48.9 KB
  • 大小: 42 KB
  • 大小: 52 KB
分享到:
评论

相关推荐

    Jboss与Tomcat服务器的SSL配置

    在Jboss和Tomcat服务器上配置SSL的过程主要包括以下几个步骤: 1. **生成证书**: - 对于测试或内部环境,可以使用Java自带的`keytool`命令来生成自签名证书。例如,要为名为“tomcat”的服务创建一个RSA算法的...

    jboss-native-2.0.8-windows-ssl

    1. **生成或获取证书**:为了启用SSL,你需要一个数字证书,这可以是自签名的,也可以是从权威证书颁发机构(CA)购买的。证书包含了公钥和服务器的身份信息。 2. **配置Keystore**:将证书导入到Java Keystore文件中...

    CFCA全球信任证书技术手册

    CFCA全球信任证书的制作流程包括证书生成、证书签名、证书格式转换等步骤。用户可以使用Keytool、OpenSSL、iKeyman等工具生成证书,并将其转换为适合自己的格式。 证书格式转换是CFCA全球信任证书制作的重要步骤。...

    marlett_01_0109.pdf

    marlett_01_0109

    [AB PLC例程源码][MMS_040384]Winder Application.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    stassar_3cd_01_0716.pdf

    stassar_3cd_01_0716

    malpass_02_0907.pdf

    malpass_02_0907

    [AB PLC例程源码][MMS_046459]InView on EtherNet Add On Instruction.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    matlab程序代码项目案例:matlab程序代码项目案例文档+程序具有输出LC滤波器的三相逆变器的前馈神经网络模型预测控制.zip

    matlab程序代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    matlab程序代码项目案例:matlab程序代码项目案例基于运动学车辆模型的开放式驾驶MPC横向控制算法.zip

    matlab程序代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    matsumoto_01_1107.pdf

    matsumoto_01_1107

    [AB PLC例程源码][MMS_045719]Rotary Knife with SoftLogix.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    QT第五课-QT系统相关-文件

    代码

    大模型创业者手册-法务与产品合规篇.pdf

    大模型创业者手册-法务与产品合规篇.pdf

    [AB PLC例程源码][MMS_046456]ME Equipment Status Summary Faceplate for PowerFlex, Kinetix, E3 Plus,.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    指标体系数据开发.pptx

    指标体系数据开发

    半导体三极管β值测量仪的设计与制作

    半导体三极管β值测量仪的设计与制作

    [AB PLC例程源码][MMS_047416]ME Faceplates-AOIs for GuardLogix Safety Systems.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    [AB PLC例程源码][MMS_041473]Input Time Stamping.zip

    AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!

    本文将带你深入了解如何使用OpenCV库实现图片拼接技术,打造令人惊叹的全景图像。通过清晰的步骤讲解和代码示例

    本文将带你深入了解如何使用OpenCV库实现图片拼接技术,打造令人惊叹的全景图像。通过清晰的步骤讲解和代码示例

Global site tag (gtag.js) - Google Analytics