首页 > 系统相关 >OpenSSL相关命令(for Linux)详细介绍

OpenSSL相关命令(for Linux)详细介绍

时间:2024-08-09 23:40:39浏览次数:16  
标签:bin 详细 weigw OpenSSL openssl key Linux TEST out

加密算法:

  对称加密算法:

  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 []:[email protected]

  在生成证书的时候需要按照提示输入一些个人信息。

  通过私钥生成公钥:

[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

下面是一个服务器和客户端认证的证书、私钥生成方法:(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 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  

Enter Export Password:

Verifying - Enter Export Password:

  文本化证书:

[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

标签:bin,详细,weigw,OpenSSL,openssl,key,Linux,TEST,out
From: https://www.cnblogs.com/smoke520/p/18351715

相关文章

  • linux 搭建yum仓库
    yum  Yum(全称为YellowdogUpdater,Modified),能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。自己本身也可以做yum服务器,本身可以根据光盘镜像做yum服务器。搭建yum服务器:(1)本地yum(服务器不能上......
  • Linux目录结构
    Linux目录结构具体目录bin:存放着最经常使用的命令sbin:存放着系统管理员使用的系统管理命令home:存放着普通用户的主目录root:系统管理的主目录lib:系统开机所需要最基本的动态连接共享库lost+found:一般情况下是空的,当系统非法关机后,存放一些文件etc:存放着系统管理所需要......
  • linux下的mysql语句命令大全
    1.linux下启动mysql的命令:mysqladminstart/ect/init.d/mysqlstart(前面为mysql的安装路径)2.linux下重启mysql的命令:mysqladminrestart/ect/init.d/mysqlrestart(前面为mysql的安装路径)3.linux下关闭mysql的命令:mysqladmin-uroot-p......
  • Linux下修改Mysql的用户(root)的密码
    修改的用户都以root为列。一、拥有原来的myql的root的密码;  方法一:在mysql系统外,使用mysqladmin#mysqladmin-uroot-ppassword"test123"Enterpassword:【输入原来的密码】 方法二:通过登录mysql系统,#mysql-uroot-pEnterpassword:【输入原来的密码】mys......
  • linux自定义启动服务
    启动程序你需要分清楚,是一般的程序还是服务对于有些服务开机要启动,关机的时候还要关闭,所以,比较好的方法是写服务脚本,然后放到/etc/init.d,然后在相应的运行级启动目录中添加链接。如果只是一般的程序,并且关机时不需要退出。那么加在任何一个自启动的脚本都可以。下面结合condor启......
  • linux2
    文件权限1.文件权限概念ls-l查看文件权限total4-rw-r--r--1zhaozhao1766nov99:25mypass文件的访问权限连接数文件用户名文件用户所在用户组名文件的大小上次文件修改日期上次文件修改时间文件名r可读w可写x可执行命令chmoda(所有人)+rchmodg(代表grou......
  • linux1
    学习目标(李鸿宇362102207)在本单元学习完成后,你应该能:理解文件系统层次结构管理虚拟内存添加新的驱动和分区加载nfs文件系统硬盘分为ide硬盘hda0scs硬盘sda0设备识别主引导记录(MBR)包括:用于调入操作系统的可指执行代码分区表信息,包括:分区ID或类型分区开始的柱面......
  • linux4
    增加虚拟内存的方法以及配置ddif=/dev/zoreof=/tmp/swapbs=4kcount=1000mkswap/tmp/swap重新增加400M的虚拟内存swapon/tmp/swap应用并激活我们重新划分的虚拟内存swapoff/tmp/swap关闭增加的虚拟内存raid磁盘整理常用的三种技术raid0raid1raid5对于redhatli......
  • linux3
    什么是逻辑卷管理器(lvm)?为了便于操作卷,包括重定义文件系统的大小,而定义的抽象层允许在多个物理设备上重新组织文件系统设置被认定为物理卷一个或多个物理卷可以用于创建成一个卷组卷组由固定大小的物理区域(pe)定义逻辑卷在卷组上创建,并且由PE组成文件系统创建在逻辑卷之......
  • linux5
    linux密码恢复的步骤第一步:重新启动电脑进入启动引导界面,按键盘的上下键固定启动界面第二步:按键盘上的e键编辑启动信息,进入第二个启动界面第三步:用键盘的上下键选择第二个选项同时按e键编辑此选项第五步:按键盘上的b键重启我们的系统让修改生效第六步:进入单用户模式,passwd修......