CentOS6.5下openssl加密解密及CA自签颁发证书详解
正文 数字证书: 证书格式通常是x509的数字证书的格式、还有pkcs等其他的。 对于x509这种证书内容当中都包含哪些呢: 1、公钥和也就是有效期限。 2、持有者的个人合法身份信息、这个信息有可能是一个公司、也可能是个人、也可以是主机名。 3、证书的使用方式、比如用来进行主机之间的认证等。 4、CA(证书颁发机构)的信息 5、CA的数字签名、CA的证是自签证书 公钥加密、也叫非对称加密 公钥加密最大的特性就是密钥成对的、公钥称为public key(pkey)、私钥称为secret key(skey)、一般而言、公钥用来加密、私钥用来解密、如果要实现电子签名那就是私钥来用加密、公钥用来解密、而公钥是可以给任何人的、私钥就得自己保存;公钥加密一般不会加来对数据加密、因为他的加密速度很慢、比对称加密慢3个数量级(一个数量级是10倍、3个就是1000倍)、所以公钥加密通常用于密钥交换(IKE)和身份认证的。 他的常用算法有:RSA和EIGamal、目前RSA是比较广泛的加密算法、而DSA(DigitalSignature Algorithm)只能加来做签名、而无法加于加密的算法 他的工具通常用:gpg、opensslrsautl
信息摘要码: 实现步骤: 在当前shell中用()执行命令表示括号中的命令要在子shell中执行,2048表示密钥的长度、-out后面表示生成密钥文件保存的路径,生也的文件权限是666、而这个文件不能被别人访问、所在666-077就得到权限600: 查看公钥或提取公钥、这个并不是必要步骤: # openssl rsa -in private/cakey.pem -pubout -text 生成自签证书、用openssl中req这个命令、叫证书请求: # opensslreq -new -x509 -key private/cakey.pem -out cacert.pem -days 3650 在CA的目录下创建两个文件: # touch index.txt serial OK、CA的证书有了、那接下来就是给客户签署证书了;我这里换另一台主机来做客户、向CA了起签署申请、如果要给服务器使用、那一定要跟你的服务器名保持一致、我们这里是以web服务器使用的、所以生成的私钥也要放在服务器的目录下、我这里以httpd为例: 生成密钥对、我们专门分建一个目录来存放: # mkdir /etc/httpd/ssl # (umask 077; openssl genrsa -out httpd.key 1024) 客户端生成证书签署请求: # openssl req -new -key httpd.key -out httpd.csr 再把httpd.csr发给远程主机的CA签署 # scp httpd.csr 172.16.251.171:/tmp/ 再切换到远程主机的/tmp看一下有没有一个叫httpd.csr的文件: 于是我们的CA检查信息完后就可以签署了: # openssl ca -in /tmp/httpd.csr -out /tmp/httpd.crt -days 3655 再把签署好的证书发送回去给客户端的主机: # scp httpd.crt 172.16.251.127:/etc/httpd/ssl/ 发送给客户端主机了我们就可以去查看一下了: # ls -l /etc/httpd/ssl 于是我们的客户端主机就可以配置使用CA签署的证书了。 如果说证书过期了怎么吊销呢:(要在CA主机上吊销) # openssl ca -revoke httpd.crt
第一步: 第二步: 第三步: 第四步: 第五步: 第六步: (编辑:阜阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |