一、创建CA需要用到的目录和文件
执行命令如下:
mkdir "$HOME/testca"
cd "$HOME/testca"
mkdir newcerts private conf
chmod g-rwx,o-rwx private
echo "01" > serial
touch index.txt
说明:
/testca为待建CA的主目录。
其中newcerts子目录将存放CA签署(颁发)过的数字证书(证书备份目录)。
而private目录用于存放CA的私钥。
目录conf只是用于存放一些简化参数用的配置文件。
文件serial和index.txt分别用于存放下一个证书的序列号和证书信息数据库。
当然,偷懒起见,可以只用按照本文操作即可,不一定需要关心各个目录和文件的作用。
二、生成CA的私钥和自签名证书(即根证书)
创建文件:
vi "$HOME/testca/conf/gentestca.conf"
文件内容如下:
{
####################################
[ req ]
default_keyfile = $ENV::HOME/testca/private/cakey.pem
default_md = md5
prompt = no
distinguished_name = ca_distinguished_name
x509_extensions = ca_extensions
[ ca_distinguished_name ]
organizationName = TestOrg
organizationalUnitName = TestDepartment
commonName = TestCA
emailAddress = ca_admin@testorg.com
[ ca_extensions ]
basicConstraints = CA:true
########################################
}
然后执行命令如下:
cd "$HOME/testca"
openssl req -x509 -newkey rsa:2048 -out cacert.pem -outform PEM -days 2190 -config "$HOME/testca/conf/gentestca.conf"
openssl x509 -in cacert.pem -text –noout
执行过程中需要输入CA私钥的保护密码,假设我们输入密码: 888888
可以用如下命令查看一下CA自己证书的内容
openssl x509 -in cacert.pem -text –noout
三、创建一个配置文件,以便后续CA日常操作中使用
vi "$HOME/testca/conf/testca.conf"
文件内容如下:
{
####################################
[ ca ]
default_ca = testca # The default ca section
[ testca ]
dir = $ENV::HOME/testca # top dir
database = $dir/index.txt # index file.
new_certs_dir = $dir/newcerts # new certs dir
certificate = $dir/cacert.pem # The CA cert
serial = $dir/serial # serial no file
private_key = $dir/private/cakey.pem # CA private key
RANDFILE = $dir/private/.rand # random number file
default_days = 365 # how long to certify for
default_crl_days= 30 # how long before next CRL
default_md = md5 # message digest method to use
unique_subject = no # Set to 'no' to allow creation of
# several ctificates with same subject.
policy = policy_any # default policy
[ policy_any ]
countryName = optional
stateOrProvinceName = optional
localityName = optional
organizationName = optional
organizationalUnitName = optional
commonName = supplied
emailAddress = optional
########################################
}
四、停止glassfish服务器
asadmin stop-domain
五、更改域 domain1 的主密码
asadmin change-master-password --savemasterpassword=true
输入66666666
六、删除glassfish 自带的证书
cd E:\Java\jdk1.5.0_12\bin
keytool -delete -alias s1as -keystore E:\glassfish\domains\domain1\config\keystore.jks -storepass 66666666
七、查看里面的证书是否还存在,如果空了说明删除成功
keytool -list -rfc -keystore E:\glassfish\domains\domain1\config\keystore.jks
八、为glassfish服务器生成新密钥对
keytool -genkey -keyalg rsa -keystore E:\glassfish\domains\domain1\config\keystore.jks -validity 365 -alias s1as
{
输入keystore密码: 66666666
您的名字与姓氏是什么?
[Unknown]: jlx.zju.edu.cn
您的组织单位名称是什么?
[Unknown]: zf
您的组织名称是什么?
[Unknown]: zfsoft
您所在的城市或区域名称是什么?
[Unknown]: hz
您所在的州或省份名称是什么?
[Unknown]: zj
该单位的两字母国家代码是什么
[Unknown]: cn
CN=jlx.zju.edu.cn, OU=zf, O=zfsoft, L=hz, ST=zj, C=cn 正确吗?
[否]: 是
输入<s1as>的主密码
(如果和 keystore 密码相同,按回车):
}
九、生成证书签名请求(CSR文件)
keytool -certreq -alias s1as -file E:\glassfish\domains\domain1\config\req\s1as.csr -keystore E:\glassfish\domains\domain1\config\keystore.jks -storepass 66666666
十、使用openssl签名证书
openssl ca -in $HOME/testca/newcerts/s1as.csr -out $HOME/testca/newcerts/s1as.crt -config "$HOME/testca/conf/testca.conf"
十一、查看已签好的证书
openssl x509 -in $HOME/testca/newcerts/s1as.crt -text -noout
{
Certificate:
Data:
Version: 1 (0x0)
Serial Number: 1 (0x1)
Signature Algorithm: md5WithRSAEncryption
Issuer: O=TestOrg, OU=TestDepartment, CN=TestCA/emailAddress=ca_admin@testorg.com
Validity
Not Before: Feb 15 02:51:36 2011 GMT
Not After : Feb 15 02:51:36 2012 GMT
Subject: C=cn, ST=zj, L=hz, O=zfsoft, OU=zf, CN=jlx.zju.edu.cn
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (1024 bit)
Modulus (1024 bit):
00:a9:dd:bf:32:0a:59:49:00:a1:97:6d:f6:79:75:
b5:1c:14:26:be:72:d7:54:dd:05:cc:95:f5:cb:55:
b7:4b:a6:ba:96:f9:2b:b7:31:8c:2c:e4:1a:48:6d:
62:74:16:46:90:a5:1f:d0:d3:38:4c:4b:12:86:b4:
36:d0:5c:7a:9e:45:07:29:bc:9e:28:32:f6:16:b5:
61:03:27:03:5f:d9:13:b1:4f:21:4e:24:8d:93:92:
b2:bc:75:74:08:d2:8e:78:41:81:1a:c1:c3:e5:17:
df:ce:da:a6:ba:32:ec:33:77:7e:6b:86:c9:d3:63:
34:ca:0d:2b:25:6f:37:c5:75
Exponent: 65537 (0x10001)
Signature Algorithm: md5WithRSAEncryption
8b:13:94:fa:09:7f:4a:51:1b:10:be:28:c7:45:f4:f5:ed:5f:
98:2e:71:02:37:85:48:1b:f6:83:6b:94:9f:bc:8b:cb:91:39:
df:f4:e8:b0:8a:b1:c6:f6:dd:45:47:15:c4:7c:ec:a5:0a:89:
35:0f:b5:17:80:2c:57:80:83:28:7b:25:19:26:dc:b7:af:3f:
70:72:41:14:e5:60:b5:9f:a9:e0:ab:c6:2a:5c:fe:8c:10:b0:
a1:03:c1:6d:ef:67:5e:41:68:53:b8:40:5a:f0:17:44:bd:67:
54:07:58:aa:34:d8:08:74:ae:1e:86:d8:9b:e8:86:02:fc:1f:
d9:03:39:57:e4:78:38:28:ed:90:2e:2c:35:64:24:0d:43:a2:
08:ff:92:33:7c:92:b7:93:00:e3:7d:b9:1d:8f:f5:7b:95:fe:
a3:03:34:28:89:e2:a9:60:e4:72:7a:03:f1:b0:8a:8a:cb:70:
db:e1:0e:dd:d4:9d:6d:50:3c:fb:0f:68:86:c2:dc:18:74:d1:
7b:ed:c4:ac:04:d7:17:0e:0d:7b:6f:f1:62:21:56:d8:5b:a7:
5d:da:69:ec:95:1b:6c:3a:ba:45:50:a2:ca:9f:ce:f7:f7:ff:
fb:ef:a2:5b:fa:3f:de:4a:25:bc:bb:53:a2:99:ea:ff:b3:d6:
a6:2f:d9:0b
}
十二、将s1as.crt文件中的如下内容拷贝到新文件s1as.jsk中
{
-----BEGIN CERTIFICATE-----
MIICrzCCAZcCAQEwDQYJKoZIhvcNAQEEBQAwYTEQMA4GA1UEChMHVGVzdE9yZzEX
MBUGA1UECxMOVGVzdERlcGFydG1lbnQxDzANBgNVBAMTBlRlc3RDQTEjMCEGCSqG
SIb3DQEJARYUY2FfYWRtaW5AdGVzdG9yZy5jb20wHhcNMTEwMjE1MDI1MTM2WhcN
MTIwMjE1MDI1MTM2WjBeMQswCQYDVQQGEwJjbjELMAkGA1UECBMCemoxCzAJBgNV
BAcTAmh6MQ8wDQYDVQQKEwZ6ZnNvZnQxCzAJBgNVBAsTAnpmMRcwFQYDVQQDEw5q
bHguemp1LmVkdS5jbjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAqd2/MgpZ
SQChl232eXW1HBQmvnLXVN0FzJX1y1W3S6a6lvkrtzGMLOQaSG1idBZGkKUf0NM4
TEsShrQ20Fx6nkUHKbyeKDL2FrVhAycDX9kTsU8hTiSNk5KyvHV0CNKOeEGBGsHD
5RffztqmujLsM3d+a4bJ02M0yg0rJW83xXUCAwEAATANBgkqhkiG9w0BAQQFAAOC
AQEAixOU+gl/SlEbEL4ox0X09e1fmC5xAjeFSBv2g2uUn7yLy5E53/TosIqxxvbd
RUcVxHzspQqJNQ+1F4AsV4CDKHslGSbct68/cHJBFOVgtZ+p4KvGKlz+jBCwoQPB
be9nXkFoU7hAWvAXRL1nVAdYqjTYCHSuHobYm+iGAvwf2QM5V+R4OCjtkC4sNWQk
DUOiCP+SM3ySt5MA4325HY/1e5X+owM0KIniqWDkcnoD8bCKistw2+EO3dSdbVA8
+w9ohsLcGHTRe+3ErATXFw4Ne2/xYiFW2FunXdpp7JUbbDq6RVCiyp/O9/f/+++i
W/o/3kolvLtTopnq/7PWpi/ZCw==
-----END CERTIFICATE-----
}
十三、导入证书到glassfish
keytool -import -file E:\glassfish\domains\domain1\config\cazs\s1as.jsk -alias slas -keystore E:\glassfish\domains\domain1\config\keystore.jks -storepass 66666666
十四、查看glassfish中的证书
keytool -list -rfc -keystore E:\glassfish\domains\domain1\config\keystore.jks -storepass 66666666
分享到:
相关推荐
在网络安全中,OpenSSL 是一个强大的安全套接层 (SSL) 工具包,它包含了各种用于处理加密通信所需的工具,包括生成证书、密钥以及执行加密操作。本文将详细介绍如何使用 OpenSSL 创建和管理CA证书、服务器证书和...
2. **创建证书签名请求(CSR)**:接着,我们使用私钥生成一个证书签名请求。 ``` openssl req -new -key ca.key -out ca.csr ``` 在此过程中,你需要提供一些基本信息,如组织名、组织单位等,这些信息将出现在最终...
在`/home/tvbs/openssl`目录下创建一个名为`ssl.key`的目录,并将`CA.sh`文件复制到此目录: ```bash mkdir ssl.key cp /home/tvbs/openssl/ssl/misc/CA.sh /home/tvbs/openssl/ssl.key/CA.sh ``` #### 2.2 运行CA....
OpenSSL是一个开源的库,包含了各种加密算法,它提供了生成SSL证书的功能。本教程将详细介绍如何使用OpenSSL在Windows环境下为Nginx服务器配置HTTPS服务,以及如何生成和管理SSL证书。 首先,了解SSL证书的作用。...
在IT行业中,安全通信是至关重要的,而OpenSSL是一个强大的安全套接字层密码库,包含各种主要的密码算法、常用的密钥和证书封装管理功能,以及SSL协议,并提供丰富的应用程序用于测试或其他目的。本文将深入讲解如何...
总的来说,“openssl1.1 windows(32位 +64位).zip”压缩包为Windows用户提供了一个便捷的OpenSSL安装方案,无论你是系统管理员还是开发者,都能快速地在你的环境中集成OpenSSL,提升系统的安全性。在实际应用中,...
在你的代码中,需要创建一个`boost::asio::ssl::context`对象,通常使用`boost::asio::ssl::context::sslv23`或`boost::asio::ssl::context::tlsv12`模式,并加载证书和私钥: ```cpp boost::asio::ssl::context ctx...
这个命令会模拟一个TLS/SSL客户端连接到指定的服务器,并显示整个证书链。 输出中,`BEGIN CERTIFICATE`和`END CERTIFICATE`之间就是服务端的PEM格式的证书。你可以复制这部分内容并保存为`.crt`文件,例如: ```...
综上所述,这个压缩包提供了一套完整的 OpenSSL 集成方案,包括静态库、头文件和开发文档,以便于 BCB 开发者在他们的项目中使用 OpenSSL 的加密功能,尤其是 DES 和 RSA 算法。有了这些资源,开发者可以轻松地在...
2. **服务器安全**:网站所有者为增强用户数据安全性,会使用 OpenSSL 获取并部署正式的 CA 签发的 SSL 证书。 3. **网络安全分析**:网络管理员可以利用 OpenSSL 工具检查 SSL/TLS 连接的安全性,检测潜在的漏洞。 ...
在本篇文章中,我们将详细介绍如何使用OpenSSL来创建自己的证书颁发机构(Certificate Authority, CA)以及相关的数字证书。 #### 二、准备工作 在开始之前,请确保已经安装了OpenSSL。如果你是在Linux环境下操作...
在IT行业中,加密和安全通信是至关重要的环节,OpenSSL是一个强大的安全套接层(SSL)和传输层安全(TLS)协议实现工具包,同时也包含了用于创建数字证书、管理CA(证书颁发机构)以及处理公钥基础设施(PKI)的相关工具。...
使用OpenSSL,你可以创建一个自签名的根证书(Root CA),如压缩包内的"MiniCA2"和"MiniCA",它们是简单的CA(证书颁发机构)实现。通过以下步骤,你可以创建自己的证书: - 初始化CA私钥和证书请求:`openssl req ...
OpenSSL是一个强大的安全套接层(SSL/TLS)和传输层安全(TLS)协议库,它不仅支持各种加密算法,还能用于创建数字证书,包括自签名的根证书权威机构(CA)证书。本文将详细阐述如何利用OpenSSL生成CA证书以及相关的...
同时,“里面包含一个C#的用例代码”意味着可能有一个示例程序,使用C#编程语言与OpenSSL库进行交互,这可能是为了演示如何在.NET环境中利用OpenSSL的功能,如加密、解密或者证书操作。 **标签解析:** “OPENSSL...
在本案例中,你已经拥有一个名为"lib"的文件夹,可能包含了OpenSSL的动态链接库文件。这些文件是运行时支持OpenSSL功能所必需的,通常包括`libeay32.dll`和`ssleay32.dll`等。 安装OpenSSL库到系统路径: 1. 将"lib...
使用OpenSSL库创建一个简单的SSL服务器。 监听指定端口,接受客户端连接。 通过SSL加密与客户端进行通信。 发送简单的响应消息给客户端。 2. SSL客户端 使用OpenSSL库创建一个简单的SSL客户端。 连接到指定的...
总结来说,"Openssl证书创建脚本"是IT安全领域中一个基础但至关重要的工具,它帮助我们自动生成和管理X509证书,以确保网络通信的安全。理解并掌握这个过程,对于服务器管理员、开发人员以及网络安全专家都是必不可...
本文将指导读者如何使用 OpenSSL 在 Linux 平台上创建一个简单的证书颁发机构(CA),并颁发数字证书。 标题解释 Linux 下使用 OpenSSL 制作 CA 及证书颁发是指使用 OpenSSL 工具在 Linux 平台上创建一个证书颁发...
资源包内提供了详细的使用说明文档,包括如何在项目中引入预编译库、源码编译步骤及常见问题的解决方案。此外,资源定期更新,确保与官方最新版本保持一致。用户如有任何疑问或需要技术支持,可通过CSDN平台联系资源...