Openssl用法详解

CA --Certificate Authority  证书授权中心
Authorize 授权 
Authorization 授权书 
PKI Public Key Infrastucture 公共秘钥基础设施

openssl是一个开源程序的套件、这个套件有三个部分组成:一是libcryto,这是一个具有通用功能的加密库,里面实现了众多的加密库;二是libssl,这个是实现ssl机制的,它是用于实现TLS/SSL的功能;三是openssl,是个多功能命令行工具,它可以实现加密解密,甚至还可以当CA来用,可以让你创建证书、吊销证书

 

证书格式
x509,pkcs12


x509:
    公钥及其有效期限
    证书的合法拥有者
    证书该如何使用
    CA的信息
    CA签名的校验码

PKI: TLS/SSL 使用x509

PKI: OenGPG  

https 默认端口443

TLS : Transport Layer Security 在传输层加密,相当于SSL V3
SSL : Secure Socket Layer 安全套接层 只是一个库,由美国netscape公司研发提供
        版本: SSL V1、V2、V3
https:数据由http协议 通过 SSL 封装后传输

http(tcp) 基于tcp


对称加密: 加密解密用同一个密码
        DES : Data Encryption Standand 56bit
        3DES : Triple DES 使用DES加密三次
        AES : Advanced Encryption Standand
                AES192,AES256,AES512    
        Blowfish : 
        
实现对称加密的工具:OpenSSL、GPG
        
单向加密:定向输出密码位数
        MD4
        MD5
        SHA1(160bit)
        SHA192,SHA256,SHA384,SHA512
        CRC-32 校验码机制(可能出现不同的输入,加密后生成一样的秘钥)
非对称加密: 公钥加密(加密和签名)
        身份认证(数字签名)
        数据加密
        秘钥交换
        
        RSA : 既可以加密也可以签名        
        DSA : 只能签名,公开使用的
        ELGamal : 商业算法
        
OpenSSL : SSL的开源实现
        libcrypto : 加密库
        libssl : TLS/SSL的实现
                基于会话的、实现了身份认证、数据机密性和会话完整性的TLS/SSL库
        openssl : 多用途命令行工具
                实现私有证书颁发机构
        
        openssl speed [Encryption Algorithm] 计算加密某个加密算法所需要的时间,默认为全部
        
        example:
        加密:
            openssl enc -des3 -salt -a(base64处理数据) -in inittab -out inittab.des3
        解密:
            openssl enc -des3 -salt -d(解密) -a -in inittab.des3 -out inittab
        利用摘要算法加密
        openssl dgst GIGESTCOMMANDS(md5/sha/sha1) FILE
        
        
        openssl passwd -1 PASSWD
            -1 :基于MD5加密
        
Openssl 实现私有CA:

1.生成一对秘钥
    生成一个私钥,保存在FILE中
    秘钥权限要是600,保证只有管理员可以读写
    openssl genrsa  [-out /PATH/TO/KEYFILE] [size]
    example:
        (umask 077;openssl genrsa -out private/cakey.pem 2048)
        秘钥的名称和后缀需要和/etc/pki/tls/openssl.conf中的private_key命名一致
    从私钥中提取公钥
    openssl rsa -in /PATH/TO/KEYFILE -pubout
2.生成自签署证书
    openssl req -new -x509 -key /PATH/TO/KEYFILE -out /PATH/TO/cacert.pem -days EXPIRES
    证书的名称和后缀需要和/etc/pki/tls/openssl.conf中的certificate命名一致

3.证书请求 
    openssl req -new -key /PATH/TO/KEYFILE -out /PATH/TO/CSRFILE
    
3.证书签名
    openssl ca -in /PATH/TO/CSRFILE -out /PATH/TO/CRTFILE -days EXPIRE 
    证书签名时,请求的证书需要和自签署证书的信息保持一致

        
            
            
            
        

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值