`
zzzzzz5530041
  • 浏览: 34307 次
  • 性别: 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
分享到:
评论

相关推荐

    系统签名JKS生成工具.rar

    本压缩包"系统签名JKS生成工具.rar"包含了一套用于创建和管理JKS文件的工具和指南,适用于那些熟悉Android应用签名流程的开发者。 首先,我们要理解Android应用的签名过程。每个Android应用在发布之前都需要进行...

    WebSphere6.1+SSL配置

    在提供的文档"WebSphere 6.1 SSL配置.doc"中,你应该能找到更详细的步骤和具体配置选项,包括如何处理自签名证书、处理中间证书以及解决可能遇到的错误和警告。务必仔细阅读并按照指导操作,确保SSL配置正确无误。

    SSL转换工具jks2pfx

    java实现ssl自签名。 由于生成的证书是jks格式,nginx不能直接用,需要要转成PEM格式,这要用到jks2pfx工具进行转换。 jks2pfx的命令格式:JKS2PFX.bat keystore password alias exportname keystore:KeyStore文件...

    springboot下配置SSL证书HTTPS访问

    在生成 Keystore 之后,将生成一个名为 keystore.jks 的文件,该文件将存储 SSL 证书。Keystore 中存储了公钥、私钥和证书链。 SpringBoot 配置 SSL 在 SpringBoot 中,需要在 application.properties 文件中添加...

    Jboss与Tomcat服务器的SSL配置

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

    Androidstudio模拟器系统签名(.jks)

    用于Androidstudio模拟器的系统签名,方便进行需要系统签名方面的调试,内含一个生成的platform.jks和系统签名源文件(.pk8和x509.pem等等) ,拿到源文件你也可以自己生成jks或者keystore。 内含jks签名信息: Key ...

    jboss-native-2.0.8-windows-ssl

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

    Tomcat更换SSL证书方法(jks与pfx转换)

    ### Tomcat更换SSL证书方法(JKS与PFX转换) 在IT行业中,为了保障网络通信的安全性,使用SSL证书加密已经成为了一种标准做法。对于使用Tomcat作为应用服务器的企业或个人来说,有时候会遇到需要更换SSL证书的情况,...

    数字签名的Java实现

    ### 数字签名的Java实现 #### 一、引言 随着互联网的发展,数据安全变得尤为重要。数字签名技术作为保障信息安全的重要手段之一,在电子商务、电子政务等领域有着广泛的应用。本文主要探讨了基于Java语言的数字...

    openssl 生成client.jks与server.jks文件的方法

    然后,我们使用 OpenSSL 的 `ca` 命令来生成签名的 X509 证书: `$ openssl ca -config openssl.cnf -out client.pem -infiles client.cert.req` `$ openssl ca -config openssl.cnf -out service.pem -infiles ...

    Tomcat9.0安装JKS格式SSL证书.rar

    JKS是一个存储密钥对和数字证书的数据库,包括公钥和私钥,用于SSL/TLS协议。在Tomcat中,JKS用于存放服务器的SSL证书,确保服务器与客户端之间的通信是加密的。 标题中的"Tomcat9.0安装JKS格式SSL证书"意味着我们...

    tomcat+SSL

    【标题】:Tomcat+SSL 双向认证配置详解 【描述】:本文档将详细介绍如何在Apache Tomcat服务器上实现SSL双向认证的配置过程,包括基础概念、SSL工作原理及具体的配置步骤。 【标签】:Tomcat, SSL, 配置SSL, 双向...

    weblogic配置ssl[参照].pdf

    双向SSL的配置更为复杂,需要生成客户端和服务器的证书,以及自签名的证书颁发机构(CA)证书。 2.1 **安装OpenSSL**:在双向SSL中,OpenSSL工具用于生成和管理证书,可能还需要Perl环境。 2.2 **准备工作**:创建...

    JBOSS 7 基于HTTPS双向SSL认证

    JBOSS 7 基于 HTTPS 双向 SSL 认证 JBOSS 7 基于 HTTPS 双向 SSL 认证是一种高级别的安全认证...通过生成服务器证书、客户端证书、配置 JBOSS 服务器和导入客户端证书到浏览器,我们可以实现 HTTPS 双向 SSL 认证。

    Weblogic server10 SSL配置文档(详细解说)

    本文档旨在详细介绍 Weblogic 服务器 10 的 SSL 配置过程,包括生成证书请求、生成 keystore 文件、生成证书签发请求文件、配置 Weblogic 服务器 SSL 信息等步骤。 生成证书请求 在开始配置 Weblogic 服务器 SSL ...

    SSL + WEBLOGIC 8.1 + KEYTOOL建立单向SSL

    - 配置SSL服务,指定使用`identity.jks`作为标识密钥库和`trust.jks`作为信任密钥库。 - 设置SSL监听端口和其他SSL配置选项。 ##### 3. 启用HTTPS监听器 - 在Weblogic控制台中,导航至“服务器” -&gt; “管理服务器”...

    WebSphere 6.1 SSL配置

    在 WAS 中,需要创建一个密钥库文件(WASkey.jks),然后生成一个自签名证书(WAScert)。 在创建密钥库和证书之后,需要将其导入到对方的系统中。在 IHS 中,需要导入 WAS 中抽取的证书(WAStoIHScert.arm),而在...

    Android系统签名文件生成工具

    signature.sh脚本文件中的test.jks就是是生成签名文件的名称,123456是签名的密码,key0是签名的别名,可以自行编辑这三个内容,然后双击便可以得到签名文件了,后续用这个签名文件进行打包或者调试就行了

    SSL中各证书的转换

    在IT领域,特别是网络安全与加密通信中,SSL(Secure Sockets Layer)证书是确保数据传输安全的关键要素之一。本文将详细介绍如何在不同的证书格式之间进行转换,包括从`.cer`到`.jks`、从`.jks`到`.cer`、从`.p12`...

    weblogic配置ssl.pdf

    在配置SSL时,使用keytool生成密钥库(keystore)和自签名证书,或者请求由证书颁发机构(CA)签发的证书。 2. **生成密钥库和自签名证书**: 文档中提到使用keytool.exe创建一个名为hello.jks的密钥库,并生成一个...

Global site tag (gtag.js) - Google Analytics