openssl dhparam

openssl dhparam用于生成和管理dh文件。dh(Diffie-Hellman)是著名的密钥交换协议,或称为密钥协商协议,它可以保证通信双方安全地交换密钥。但注意,它不是加密算法,所以不提供加密功能,仅仅只是保护密钥交换的过程。在openvpn中就使用了该交换协议。

openssl dhparam命令集合了老版本的openssl dh和openssl gendh,后两者可能已经失效了,即使存在也仅表示未来另有用途。

openssl dhparam [-in filename] [-out filename] [-dsaparam] [-noout] [-text] [-rand file(s)] [numbits]

选项说明:

-in filename:从filename文件中读取密钥交换协议参数。

-out filename:输出密钥交换协议参数到filename文件。

-dsaparam:指定此选项将使用dsa交换协议替代dh交换协议。虽然生成速度更快,但更不安全。

-noout:禁止输出任何信息。

-text:以文本格式输出dh协议。

-rand:指定随机数种子文件。

numbits:指定生成的长度。

注意,dh协议文件生成速度随长度增长而急剧增长,使用随机数种子可以加快生成速度。

例如:生成1024长度的交换协议文件,其消耗的时间2秒不到。

[[email protected] tmp]# time openssl dhparam -out dh.pem 1024               

Generating DH parameters, 1024 bit long safe prime, generator 2
This is going to take a long time
..........+.................................................+....................+..+.................................+.........+..................+.............................................+...................................................................................................+..................................+............+...................+................+...................................................................................................................................................................................................+.........................................................................................................................................................+.............................................+............................................+......................+.......................++*++*++*

real    0m1.762s
user    0m1.608s
sys     0m0.017s

但生成长度2048的交换协议文件用了4分多钟,可见长度增长会导致协议生成的时间急剧增长。

[[email protected] ~]# time openssl dhparam -out dh.pem 2048

    .........
    .........
real    4m36.606s
user    4m14.404s
sys     0m0.538s

而使用了64位随机数种子的同样命令只需50秒钟。

[[email protected] tmp]# time openssl dhparam -rand rand.seed -out dh.pem 2048

    .........
    .........
real    0m50.264s
user    0m46.039s
sys     0m0.104s

openssl命令实现的是各种算法和加密功能,它的cpu的使用率会非常高,再结合dhparam,可以使得openssl dhparam作为一个不错的cpu压力测试工具,并且可以长时间飙高cpu使用率。

回到openssl系列文章大纲:http://www.cnblogs.com/f-ck-need-u/p/7048359.html

转载请注明出处:http://www.cnblogs.com/f-ck-need-u/p/7103791.html

时间: 2024-08-08 21:55:45

openssl dhparam的相关文章

openssl生成https证书 (转)

1.首先要生成服务器端的私钥(key文件):openssl genrsa -des3 -out server.key 1024运行时会提示输入密码,此密码用于加密key文件去除key文件口令的命令:openssl rsa -in server.key -out server.key 2.openssl req -new -key server.key -out server.csr -config openssl.cfg生成Certificate Signing Request(CSR),生成的

阿里云搭建VPN

目标: 主机A有外网权限.内网权限: 主机B只有内网权限. 希望在主机A上能搭VPN,作为跳板机器,在本地主机能够直接访问主机B. 尝试1: 在主机A上搭pptpd. 尝试了两天,搜索无数,无论如何访问不了主机B.怀疑阿里云做了限制,检查Mac和IP是否相符 尝试2: 在主机B上搭建OpenVPN.搞定! 参见:http://docs.linuxtone.org/ebooks/VPN/openvpn%E9%9B%86%E5%90%88.pdf 写的相当详细 在Mac上配客户端的过程: 1.安装T

教你如何在let's encrypt申请免费证书---开启网站的https之路

最近谷歌和火狐封杀了国内大部分的CA机构,导致使用国内CA办法的证书在chrome浏览器显示为不安全的网站,国外的证书又比较贵,发现了一款开源免费的证书机构let's encrypt, 是由Mozilla.Cisco.Akamai.IdenTrust.EFF等组织人员发起,比较有权威性,下面的例子是nginx 实例上的部署安装过程. 1. 安装客户端脚本 curl https://get.acme.sh | sh 安装完成后会自动在计划任务中增加一条任务自动更新证书,自动申请 因为证书有效期应该

个人博客http转https

搭建个人博客的时候,就看过一些免费证书申请的文章,也浏览过一些使用Https的博客.使用Https要比Http安全很多,至少在国内很普通的流量劫持攻击会减少很多.闲来无事,测试把自己的个人博客也升级到Https. 使用Https加密首先就需要申请个人博客证书,收费的证书颁发机构国内和国外都有很多.个人博客推荐使用现在比较流行的Let's Encrypt.申请过程比较简单,使用官方自动化脚本: 1.配置git环境:# yum install git 2.下载自动化脚本到本地 # git clone

3. OpenVPN配置文件

1.   OpenVPN配置文件翻译 1.1   server.conf ################################################# # OpenVPN 2.0 多客户的服务端的配置文件例子. # # # # 这一配置文件是OpenVPN的多个客户端<->一个服务 # # 端的服务端的配置文件. # # # # OpenVPN也支持一台机器<->一台机器的配置(更多信 # # 息参看网站上的Example页面). # # # # 这一配置文件

OPENVPN搭建与配置

Content-type: text/html; charset=UTF-8 openvpn Section: Maintenance Commands (8)Updated: 17 November 2008Index Return to Main Contents NAME openvpn - secure IP tunnel daemon. SYNOPSIS openvpn [ options ... ] INTRODUCTION OpenVPN is an open source VPN

为苹果ATS和微信小程序搭建 Nginx + HTTPS 服务

昨天测试开发微信小程序,才发现微信也要求用HTTPS加密数据,想来是由于之前苹果的ATS审核政策的缘故吧,微信想在苹果上开放小程序必然也只能要求开发者必须使用HTTPS了,于是在服务器上测试安装Nginx+HTTPS服务. 安装 HTTPS 最麻烦的问题应该就是获取证书了,证书感觉种类也挺复杂的,有好几种,单域.泛域.多域...还有个种标准乱七八糟的感觉,而且收费很高,还是每年买的. 现在各个云服务商也都有提供各种基础功能的免费证书,但似乎很多只对单域免费,这里的单域是指每个二级域名都算是一个域

或许是 Nginx 上配置 HTTP2 最实在的教程了

导读 从 2015 年 5 月 14 日 HTTP/2 协议正式版的发布到现在已经快有一年了,越来越多的网站部署了 HTTP2,HTTP2 的广泛应用带来了更好的浏览体验,只要是 Modern 浏览器都支持,所以部署 HTTP2 并不会带来太多困扰. 虽然 h2 有 h2c (HTTP/2 Cleartext) 可以通过非加密通道传输,但是支持的浏览器初期还是比较少的,所以目前部署 h2 还是需要走加密的,不过由于 Let’s Encrypt 大力推行免费证书和证书的廉价化,部署 h2 的成本并

Linux之加密解密基础技术

下文主要介绍了什么是加密解密:为何要用到加密解密技术:加密解密技术能够为我们带来什么样的好处:常见的几种加密解密技术介绍以及Linux中的openssl. 一.什么是加密,解密 加密技术是一种常用的安全保密手段,利用各种技术手段把重要的数据进行加密传送:再用对应的技术手段进行解封,该过程的逆过程就称为解密.这里用一个不太恰当的例子说一下:也就好比你去办一张银行卡,需要你设置一个密码,就可以理解成在为这张银行卡做一个加密的操作:用银行卡到提款机取钱需要你输入密码,这就是一个解密的操作. 二.为什么