`
275553385
  • 浏览: 721395 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
文章分类
社区版块
存档分类
最新评论

openssl生成rsa密钥

 
阅读更多

http://phpor.net/blog/post/445

openssl命令的用法

 密钥的生成

 a. 生成非对称密钥对
  openssl genrsa -out rsa.key
 b. 指定生成的密钥的位数,默认512
  openssl genrsa -out rsa_2048.key 2048
 c. 为私钥添加密码 (一般都不用)
  openssl genrsa -out rsa_des3.key -des3

 
 密钥的查看
 d. 查看私钥
  openssl rsa -in rsa.key
 e. 查看公钥
  openssl rsa -in rsa.key -pubout
 f. 查看公钥和modulus
  openssl rsa -in rsa.key -modulus
 g. 查看密钥的详细信息,包含component prime等细节信息,这些信息的值都是冒号分割的,称为abstract
  openssl rsa -in rsa.key -text
 h. 查看只有public key的文件
  openssl rsa -in pub.txt -pubin
  注: 
   pub.txt 可由
   openssl rsa -in rsa.key -pubout >pub.txt 
   或
   openssl rsa -in rsa.key -pubout -out pub.txt 
   产生
   如果pub.txt 中不是公钥将报错, -pubin 仅仅说明 -in 所指定的文件里面是什么
 i. 只查看key的其他信息,不显示key
  openssl  rsa -in rsa.key -noout

 

 其它:
 
 检查是否含有某个子命令
  openssl no-rsa
  输出rsa,命令的返回值为1,说明存在该子命令
  openssl no-des5
  输出no-des5 命令的返回值为0,说明不存在des5这个子命令
 
 分析key的详细信息
  openssl asn1parse -in rsa.key
  openssl asn1parse -in pub.txt

 

签名和签名的验证

  这里给出一个例子:

基本步骤:

1. 生成rsa密钥对

2. 用私钥做签名

3. 用公钥做验证

[root@bsso ~]# openssl
OpenSSL> genrsa -out rsa.1024 1024
Generating RSA private key, 1024 bit long modulus
………..++++++
……….++++++
e is 65537 (0×10001)
OpenSSL> rsa -in rsa.1024 -pubout
writing RSA key
—–BEGIN PUBLIC KEY—–
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD0BlFXN1wkgBb5hadMeLz4Pqj2
nZQGyyidW1GTun9rnKkG7o/v/YM8MCcrqW+2hizkbJygfRGvb1iHvc22SD7Q1Unk
7yKU5qDiDnXdIl1x05PMGRwfNhG75uv9tr/IsxA+bmIrEAZ+fxlGhXbg8R2gUm2O
c51AyBOgb92DtEfLgQIDAQAB
—–END PUBLIC KEY—–
OpenSSL> rsa -in rsa.1024 -pubout -out rsa.1024.pub
writing RSA key
OpenSSL> dgst -sign rsa.1024 -sha1 -out a.sign a.php
OpenSSL> dgst -verify rsa.1024.pub -sha1 -signature a.sign a.php

Verified OK
OpenSSL>

分享到:
评论

相关推荐

    使用openssl生成RSA密钥对

    ### 使用OpenSSL生成RSA密钥对 在网络安全与加密领域,使用公钥基础设施(Public Key Infrastructure,PKI)是常见的做法。其中,OpenSSL作为一款强大的工具库,提供了丰富的功能来支持各种加密算法,包括RSA算法。...

    OpenSSL 中RSA16进制密钥生成方法

    在Linux下,使用OpenSSL生成RSA密钥的步骤如下: 1. 安装OpenSSL:首先,确保系统已经安装了OpenSSL。如果没有,可以通过包管理器(如`apt-get`或`yum`)来安装。例如,在Ubuntu上,可以运行`sudo apt-get install ...

    OpenSSL工具生成RSA密钥1

    在这个场景中,我们主要关注如何使用 OpenSSL 生成 RSA 密钥对,这是许多网络安全应用的基础,比如 SSL/TLS 加密、数字签名以及 SSH 连接等。 1. **安装 OpenSSL**: 在 Windows 上,你可以通过下载 OpenSSL 的 ...

    使用openssl生成RSA秘钥对(用这个!)

    本教程将详细解释如何使用开源工具openssl生成RSA密钥对,并探讨其在实际应用中的重要性。 首先,我们需要了解RSA的基本原理。RSA算法由Ron Rivest、Adi Shamir和Leonard Adleman在1977年提出,它使用一对密钥——...

    openssl生成RSA私钥公钥

    在使用OpenSSL生成RSA密钥对的过程中,还可以通过调整参数来定制密钥长度和其他选项,例如增加加密算法或设置不同的密钥大小。在实际开发中,了解这些细节将有助于构建更安全的系统。 总结起来,本教程详细介绍了...

    OpenSSL免安装RSA密钥生成工具

    通常,生成RSA密钥对的命令行操作需要对OpenSSL有一定的了解,而这个免安装工具简化了这个过程,使得即使是对OpenSSL不熟悉的用户也能轻松生成密钥。 压缩包内的"rsa制作教程.txt"可能包含了详细的操作步骤,指导...

    openssl rsa 密钥生成工具

    本文将详细讲解如何使用OpenSSL工具生成RSA密钥对,并探讨其在加密解密和通信交互中的应用。 首先,让我们了解RSA密钥对的构成。RSA算法由两个密钥组成:公钥和私钥。公钥用于加密数据,而私钥用于解密数据。这种...

    基于OpenSSL的RSA加解密的C语言实现

    2.该程序具有生成RSA密钥对、RSA公钥加密和RSA私钥解密的功能,支持手动输入密钥; 3.该程序支持不限长度的明文加密,支持256~4096长度的密钥,支持Crypto++密码库生成的RSA密钥对(公钥:X.509,私钥:PKCS#8); 4...

    openssl-0.9.8k_WIN32(RSA密钥生成工具)

    6. **命令行使用**:了解如何在命令行中使用OpenSSL生成RSA密钥对,例如`openssl genrsa -out private.key 2048` 生成私钥,`openssl rsa -pubout -in private.key -out public.key` 生成公钥。 7. **密钥管理**:...

    openssl密钥生成工具

    1. **生成RSA密钥对** RSA是一种广泛使用的非对称加密算法。在OpenSSL中,你可以通过以下命令生成一对2048位的RSA密钥: ``` openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:...

    c++通过openssl实现rsa加密解密【windows版】

    c++通过使用openssl实现rsa加密解密算法,网上有很多文章和例子,但是大部分都是linux版的,并且内容不全、代码老旧等各种问题,导致最后无法调试,这里提供的源码是用code::blocks编写的c++源码,可以直接运行...

    openssl开源RSA密钥生成工具

    1. `openssl_pkey_new()`:生成一个新的RSA密钥对。 2. `openssl_pkey_get_details()`:获取密钥对的详细信息,包括n、e和d。 3. `openssl_public_encrypt()`:使用公钥进行加密。 4. `openssl_private_decrypt()`:...

    RSA密钥生成工具 简单方便

    `生成命令.txt`很可能包含了生成RSA密钥的OpenSSL命令行指令,如`openssl genpkey -algorithm RSA -out private_key.pem`用于生成私钥,`openssl rsa -in private_key.pem -pubout -out public_key.pem`用于从私钥...

    Qt实现的RSA密钥生成器[2048bit], 附带项目源码和工程文件

    本资源内含2部分, 一个Qt实现的附带界面的RSA密钥生成器, 支持2048bit,可以直接安装使用, 另外一部分是本软件的Qt项目源文件工程。其中RSA的实现使用的是gmp库,只有2个类, 方便移植使用。

    Win64OpenSSL-1_1_0f_用于生成RSA的公钥私钥对,并可加解密处理

    **使用OpenSSL生成RSA密钥对** 在Win64OpenSSL-1_1_0f环境下,可以通过命令行工具`openssl.exe`来生成RSA密钥对。例如,生成2048位的密钥对的命令如下: ``` openssl genpkey -algorithm RSA -out private_key.pem...

    CA.rar_RSA签名验证_lilin8dsw_openssl rsa 签名_openssl签名_rsa openssl

    首先,我们需要理解如何使用openssl生成RSA密钥对。在命令行中,我们可以使用`openssl genpkey -algorithm RSA -out private.key`生成一个私钥,并用`openssl rsa -pubout -in private.key -out public.key`将私钥...

    openssl_win x64

    **二、OpenSSL生成RSA密钥对** 在Windows x64环境下,我们可以使用OpenSSL工具来生成RSA密钥对。首先,需要安装`Win64OpenSSL-1_1_0b.exe`这个程序,安装完成后,我们可以在命令行中使用OpenSSL命令行工具。 生成...

    openssl,-0.9.8k_WIN32(RSA密钥生成工具)

    **OpenSSL 与 RSA 密钥生成** OpenSSL 是一个强大的安全套接字层密码库,包含各种主要的密码算法、常用的密钥和证书封装管理功能以及 SSL 协议,并提供丰富的应用程序供测试或其他目的使用。在本压缩包中,我们关注...

    RSA密钥生成、 JS加密、PHP解密Demo

    生成RSA密钥对的过程通常涉及以下几个步骤: - 随机选择两个大素数p和q。 - 计算n=p*q,n是模数。 - 计算欧拉函数φ(n)=(p-1)*(q-1),它决定了密钥的长度和安全性。 - 选择一个整数e,1φ(n),且e与φ(n)互质。 ...

Global site tag (gtag.js) - Google Analytics