- 浏览: 47253 次
- 性别:
- 来自: 广州
最新评论
对称加密算法:
DES、IDEA、RC2、RC4、AES、Skipjack ......
非对称加密算法:
RSA、DSA、DiffieHellman、PKCS、PGP ......
单向的HASH算法属于报文摘要算法,虽然有些也出自OpenSSL库。
命令操作:
1、生成普通私钥:
[weigw@TEST src]$ openssl genrsa -out privatekey.key 1024 Generating RSA private key, 1024 bit long modulus ....++++++ .......++++++ e is 65537 (0x10001) |
2、生成带加密口令的密钥:
[weigw@TEST src]$ openssl genrsa -des3 -out privatekey.key 1024 Generating RSA private key, 1024 bit long modulus ............++++++ .....................++++++ e is 65537 (0x10001) Enter pass phrase for privatekey.key: Verifying - Enter pass phrase for privatekey.key: |
在生成带加密口令的密钥时需要自己去输入密码。对于为密钥加密现在提供了一下几种算法:
-des encrypt the generated key with DES in cbc mode -des3 encrypt the generated key with DES in ede cbc mode (168 bit key) -aes128, -aes192, -aes256 encrypt PEM output with cbc aes |
去除密钥的口令:
[weigw@TEST src]$ openssl rsa -in privatekey.key -out privatekey.key Enter pass phrase for privatekey.key: writing RSA key |
通过生成的私钥去生成证书:
[weigw@TEST src]$ openssl req -new -x509 -key privatekey.key -out cacert.crt -days 1095 You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [GB]:CN State or Province Name (full name) [Berkshire]:beijing Locality Name (eg, city) [Newbury]:beijing Organization Name (eg, company) [My Company Ltd]:wondersoft Organizational Unit Name (eg, section) []:develop Common Name (eg, your name or your server's hostname) []:WeiGW Email Address []:weigongwan@sina.com |
通过私钥生成公钥:
[weigw@TEST src]$ openssl rsa -in privatekey.key -pubout -out pubkey.key writing RSA key |
格式转换:(证书、私钥、公钥)(PEM <----->DER)
[weigw@TEST src]$ openssl x509 -in cacert.crt -inform PEM -out cacert.der -outform DER [weigw@TEST src]$ |
[weigw@TEST src]$ openssl rsa -in privatekey.key -inform PEM -out privatekey.der -outform DER writing RSA key |
[weigw@TEST src]$ openssl rsa -pubin -in pubkey.key -inform PEM -pubout -out pubkey.der -outform DER writing RSA key |
从DER格式转换成PEM格式一样,就是把inform的格式改成DERoutform的格式改成PEM即可。
下面是一个服务器和客户端认证的证书、私钥生成方法:(server.crt、client.crt、ca.crt)
第一步: 生成私钥
[weigw@TEST bin]$ openssl genrsa -out server.key 1024 Generating RSA private key, 1024 bit long modulus .++++++ ..........................++++++ e is 65537 (0x10001) [weigw@TEST bin]$ openssl genrsa -out client.key 1024 Generating RSA private key, 1024 bit long modulus ...++++++ ....................................................++++++ e is 65537 (0x10001) [weigw@TEST bin]$ openssl genrsa -out ca.key 1024 Generating RSA private key, 1024 bit long modulus .............................................................++++++ .........++++++ e is 65537 (0x10001) [weigw@TEST bin]$ |
第二步: 证书请求
[weigw@TEST bin]$ openssl req -new -key server.key -out server.csr -days 1095 [weigw@TEST bin]$ openssl req -new -key client.key -out client.csr -days 1095 [weigw@TEST bin]$ openssl req -new -x509 -key ca.key -out ca.crt -days 1095 |
第三步: 申请证书(为请求文件签名)
[weigw@TEST bin]$ openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key [weigw@TEST bin]$ openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key |
如果在这步出现错误信息:
[weigw@TEST bin]$ openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key Using configuration from /usr/share/ssl/openssl.cnf I am unable to access the ./demoCA/newcerts directory ./demoCA/newcerts: No such file or directory [weigw@TEST bin]$ |
自己手动创建一个CA目录结构:
[weigw@TEST bin]$ mkdir ./demoCA
[weigw@TEST bin]$ mkdir demoCA/newcerts
创建个空文件:
[weigw@TEST bin]$ vi demoCA/index.txt
向文件中写入01:
[weigw@TEST bin]$ vi demoCA/serial
合并证书文件(crt)和私钥文件(key):
[weigw@TEST bin]$ cat client.crt client.key > client.pem [weigw@TEST bin]$ cat server.crt server.key > server.pem |
合并成pfx证书:
[weigw@TEST bin]$ openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12 Enter Export Password: Verifying - Enter Export Password: [weigw@TEST bin]$openssl pkcs12 -export -clcerts -in server.crt -inkey server.key -out server.p12 |
文本化证书:
[weigw@TEST bin]$ openssl pkcs12 -in client.p12 -out client.txt Enter Import Password: MAC verified OK Enter PEM pass phrase: Verifying - Enter PEM pass phrase: [weigw@TEST bin]$openssl pkcs12 -in server.p12 -out server.txt Enter Import Password: MAC verified OK Enter PEM pass phrase: Verifying - Enter PEM pass phrase: |
屏幕模式显式:(证书、私钥、公钥)
[weigw@TEST bin]$ openssl x509 -in client.crt -noout -text -modulus [weigw@TEST bin]$ openssl rsa -in server.key -noout -text -modulus [weigw@TEST bin]$ openssl rsa -in server.pub -noout -text -modulus |
得到DH:
[weigw@TEST bin]$ openssl dhparam -out dh1024.pem 1024
发表评论
-
大型网站架构不得不考虑的10个问题
2011-08-24 17:12 547http://developer.51cto.com/art/ ... -
十步构建大型网站架构
2011-08-24 15:05 581http://developer.51cto.com/art/ ... -
wtp servers
2011-06-03 11:17 8781.在servers中新建的SERVER上右击——属性的G ... -
Configuring Maven to Use a Single Nexus Group
2011-05-24 16:21 930原文出处:http://www.sonatype.com/bo ... -
spring 管理多datasource
2011-05-18 10:37 740原文出处:http://blog.springsource.c ... -
quartz
2011-04-12 22:21 610quartz cron 表达式详解 字段 ... -
maven
2011-04-12 22:19 510nexus搭建maven私服 maven轻松管理项目 -
linux编码
2011-02-23 10:25 926vi /etc/sysconfig/i18n LANG=&q ... -
ftpclient
2010-11-04 16:37 783org.apache.commons.net.ftp htt ... -
linux下oracle
2010-10-28 13:48 6701.启动数据库 su - oracle sqlplus / ... -
BoneCPc3p0、dbcp快25倍
2010-10-26 08:50 613http://jolbox.com/ -
keytool
2010-09-27 14:07 790keytool -genkey {-alias alias} ... -
RXTX串口通信
2010-06-11 11:41 1478RXTX串口通信 -
osgi
2010-05-30 10:03 875osgi-configadmin osgi-eventadm ... -
xsocket
2010-05-30 09:56 700xsocket -
xwindows
2010-05-30 09:52 644xwindows -
缓存技术(oscache )与(ehcache)
2007-11-20 18:04 4073一.ehcache主要是对数据库访问的缓存,相同的查询语句只需 ... -
EJB新特性
2007-10-19 23:25 10191. 一套以注 ...
相关推荐
`openssl-devel` 是OpenSSL的开发库,包含了头文件和静态链接库,用于编译和链接到OpenSSL功能的应用程序。开发人员在编写需要使用OpenSSL的软件时,需要安装这个包,以便在编译时可以正确地引用OpenSSL的函数和结构...
OpenSSL 是一个强大的安全套接层(SSL)和传输层安全(TLS)协议实现库,同时也包含各种加密算法、证书处理和其他安全功能。在iOS开发中,如果你的应用需要进行安全的网络通信,如HTTPS,或者需要对数据进行加密解密...
标题中的"openssl-1.0.2u + openssl-1.0.2k"指的是OpenSSL库的两个不同版本,1.0.2u和1.0.2k。OpenSSL是一个开源项目,提供安全套接层(SSL)和传输层安全(TLS)协议的实现,用于加密通信,确保网络数据传输的安全...
不同版本的OpenSSL压缩包: openssl-1.0.0.tar.gz openssl-1.0.1.tar.gz openssl-1.0.2.tar.gz openssl-1.1.0.tar.gz openssl-1.1.1.tar.gz openssl-3.0.14.tar.gz openssl-3.1.6.tar.gz openssl-3.2.2.tar.gz ...
这个压缩包“openssl-0.9.8k_WIN32_openssl-0.9.8k_WIN32_OpenSSL-Win32_openssl_”显然包含了适用于 Windows 32位系统的 OpenSSL 版本0.9.8k。这个版本可能已经过时,因为最新的稳定版本通常会提供更多的安全修复和...
用openSSL工具生成密钥使用说明: 安装后进入OpenSSL工具,输入如下命令: • Linux用户(以Ubuntu为例): $ openssl 进入OpenSSL程序 OpenSSL> genrsa -out rsa_private_key.pem 1024 生成私钥 OpenSSL> pkcs8 -...
基于VC6的openssl库, (1) lib\libeay32.lib及lib\ssleay32.lib是已经编译好的VC6可用的静态库, 只要把这两个文件拷到VC6的lib目录中即可。 (2) include\openssl是openssl相关的头文件, 只要把openssl这个文件夹...
centos7 最新版本的openssl rpm安装包 openssl-1.1.1u-1.el7.x86_64.rpm openssl-debuginfo-1.1.1u-1.el7.x86_64.rpm openssl-devel-1.1.1u-1.el7.x86_64.rpm openssl-1.1.1v-1.el7.x86_64.rpm openssl-debuginfo-...
**OpenSSL 在 Windows x64 平台上的编译与应用** OpenSSL 是一个开源的加密库,包含了大量的加密算法,如对称加密、非对称加密、哈希函数等,广泛应用于网络通信的安全保障,如 SSL/TLS 协议。在 Windows x64 环境...
OpenSSL 是一个强大的安全套接层(SSL)和传输层安全(TLS)协议实现库,同时也包含各种加密算法、证书工具和其他相关功能。OpenSSL 3.2 是该库的一个新版本,它提供了最新的安全更新、性能改进以及对现有特性的优化...
"openssl-OpenSSL_1_1_1d.tar.gz" 是一个包含 OpenSSL 1.1.1d 版本的压缩文件,它遵循了通常的命名规范,其中 "openssl" 表示这是一个与 OpenSSL 相关的软件,"OpenSSL_1_1_1d" 指的是 OpenSSL 的特定版本号,即 ...
这里我们关注的是“openssl”和“openssl-devel”这两个关键组件,它们是实现安全套接字层(SSL)和传输层安全(TLS)协议的基础。SSL/TLS协议用于加密网络通信,确保数据在传输过程中不被窃取或篡改。 **openssl**...
OpenSSL 是一个强大的安全套接层 (SSL) 和传输层安全 (TLS) 库,用于加密通信,确保网络数据传输的安全性。它包含了各种加密算法、常用的密钥和证书操作,以及SSL/TLS协议实现。标题提到的是 "openssl已编译,3.0.3...
Hmailserver配置openSSL生成密钥公钥Win64OpenSSL+DKIM,文件内容有Win64OpenSSL_Light-1_1_1w,GenDKIM.bat,GenDKIMtxt.exe,makeHMScert.bat,先安装Win64OpenSSL_Light-1_1_1w,然后进入安装目录的bin目录下,将...
OpenSSL 是一个强大的安全套接层 (SSL) 和 Transport Layer Security (TLS) 库,用于在互联网上实现安全通信。这个“openssl-windows64”压缩包显然是为64位Windows操作系统设计的OpenSSL版本,主要用途是进行数据...
OpenSSL 是一个强大的安全套接层(SSL/TLS)库,同时也包含各种加密算法、证书操作和其他相关工具。这个压缩包文件提供了丰富的OpenSSL学习资料,涵盖了从基础概念到实践应用的不同方面。以下是对这些知识点的详细...
**OpenSSL 概述** OpenSSL 是一个强大的安全套接字层密码库,包含各种主要的密码算法、常用的密钥和证书封装管理功能以及 SSL 协议,并提供丰富的应用程序供测试或其他目的使用。这个库被广泛应用于网络服务器,...
OpenSSL 3.0.0 是该库的一个重要版本,引入了多项改进和新特性。在Windows环境下,使用Microsoft Visual Studio 2019 (msvc2019) 进行OpenSSL的静态编译,可以确保编译出的库文件与目标应用程序紧密集成,减少运行时...
OpenSSL 是一个强大的安全套接层 (SSL) 和 Transport Layer Security (TLS) 库,它包含各种加密算法、常用的密钥和证书管理功能,以及 SSL/TLS 协议的实现。OpenSSL 1.1.0 版本是该项目的一个重要里程碑,引入了许多...
### OpenSSL编程帮助文档知识点梳理 #### 第一章:基础知识 **1.1 对称算法** - **概念**:对称算法是一种加密技术,在该技术中,加密和解密使用相同的密钥。 - **常见对称算法**:包括DES、3DES、AES、RC4等。 -...