什么网站可以做拍a发布会,做软件app需要多少钱,网络营销做得比较成功的企业,泉州建行 网站加密 身份的验证 #xff08;非对称加密#xff09;数据的加密 #xff08;对称加密#xff09;数据的完整性 #xff08;单向加密#xff09;三者的联合使用会保证数据的安全机制 A#xff1a;发送者 B#xff1a;接收方 A的操作#xff1a; A使用… 加密 身份的验证 非对称加密数据的加密 对称加密数据的完整性 单向加密三者的联合使用会保证数据的安全机制 A发送者 B接收方 A的操作 A使用单向加密算法获得发送数据文件的特征码A使用自己的私钥来加密数据文件的特征码A使用对称加密来对数据进行加密生成一个一次性会话密钥Session KeyA使用B的公钥加密生成的Session KeyA发送整个加密后的文件 B的操作 B接收到A发送来的加密文件B使用自己的私钥解密得到数据部分的Session KeyB使用Session Key解密加密的文件B使用A的公钥确认A的身份B使用单向加密对A发来的数据部分提取特征码B使用A的公钥解密A加密的数据部分的特征码B比对两个特征码的异同如果其中任何一步出现问题则B就认为该数据不安全 好了数据可以安全发送了但是A,B的公钥对方是怎么得到的呢A,B怎么信任对方的公钥呢 这就需要用到证书了证书的内容1.公钥和证书有效期2.拥有者信息3.证书的用途4.CA的信息5.CA的签名信息 签名的过程使用自己的私钥加密其发送文件的特征码 首先大家得知道操作系统中已经固定的存有CA的证书当你装好你的操作系统时。对于A,B而言需要使用该证书来确定来给自己发证的CA的真实性当A,B通信时也需要对方的证书根据保存的CA的证书A,B可以对对方证书的签名信息解密得到对方公钥等信息的特征码,然后通过对公钥等信息的单向加密获得特征码对比特征码可以得知对方的公钥的是否可靠。当然操作系统中有多个CA的证书允许A,B双方的发证CA不是同一机构。 下面我们来讨论证书的颁发过程 首先我们需要有一个CA然后我们才可以给别人发放证书。在RedHat中我们需要以下的做法 #vim /etc/pki/tls/openssl.cnf 修改 dir ../../CA # Where everything is kept 为 dir /etc/pki/CA # Where everything is kept 保存后退出 #cd /etc/pki/CA #touch index.tx #mkdir newcerts certs crl 建立一个自签的证书 #openssl genrsa 1024 gt; ./private/cakey.pem #openssl req -new -X509 –key ./private/cakey.pem -out cacert.pem 好了CA的证书做好了 接下来我们用A来进行证书的请求 生成A的私钥my.key #openssl genrsa –out my.key 1024 [可以提取my.key的公钥 openssl rsa –in -my.key –pubout -out pub_my.key] 生成A的证书请求my.csr #openssl req –new -k my.key -out my.csr 弹出选项用于完整的A的信息国家省份城市组织部门A的主机或服务器名称邮件 [更改默认的选项 vim /etc/pki/tls/openssl.cnf] A主机将自己的证书请求传给CA CA根据A的证书请求文件my.csr生成A的证书my.crt并签署 # openssl ca –in my.csr -out my.crt -days 3660 在RedHat中简单生成证书密钥等 cd /etc/pki/tls/certs/ make a.key make a.pem make a.crt 依靠Makefile文件来实现的 UTF8 : $(shell locale -c LC_CTYPE -k | grep -q charmap.*UTF-8 echo -utf8) SERIAL0 .PHONY: usage .SUFFIXES: .key .csr .crt .pem .PRECIOUS: %.key %.csr %.crt %.pem usage: echo This makefile allows you to create: echo o public/private key pairs echo o SSL certificate signing requests (CSRs) echo o self-signed SSL test certificates echo echo To create a key pair, run \make SOMETHING.key\. echo To create a CSR, run \make SOMETHING.csr\. echo To create a test certificate, run \make SOMETHING.crt\. echo To create a key and a test certificate in one file, run \make SOMETHING.pem\. echo echo To create a key for use with Apache, run \make genkey\. echo To create a CSR for use with Apache, run \make certreq\. echo To create a test certificate for use with Apache, run \make testcert\. echo echo To create a test certificate with serial number other than zero, add SERIALnum echo echo Examples: echo make server.key echo make server.csr echo make server.crt echo make stunnel.pem echo make genkey echo make certreq echo make testcert echo make server.crt SERIAL1 echo make stunnel.pem SERIAL2 echo make testcert SERIAL3 %.pem: umask 77 ; \ PEM1/bin/mktemp /tmp/openssl.XXXXXX ; \ PEM2/bin/mktemp /tmp/openssl.XXXXXX ; \ /usr/bin/openssl req $(UTF8) -newkey rsa:1024 -keyout $$PEM1 -nodes -x509 -days 365 -out $$PEM2 -set_serial $(SERIAL) ; \ cat $$PEM1 gt; $ ; \ echo gt;gt; $ ; \ cat $$PEM2 gt;gt; $ ; \ $(RM) $$PEM1 $$PEM2 %.key: umask 77 ; \ /usr/bin/openssl genrsa -des3 1024 gt; $ %.csr: %.key umask 77 ; \ /usr/bin/openssl req $(UTF8) -new -key $^ -out $ %.crt: %.key umask 77 ; \ /usr/bin/openssl req $(UTF8) -new -key $^ -x509 -days 365 -out $ -set_serial $(SERIAL) TLSROOT/etc/pki/tls KEY$(TLSROOT)/private/localhost.key CSR$(TLSROOT)/certs/localhost.csr CRT$(TLSROOT)/certs/localhost.crt genkey: $(KEY) certreq: $(CSR) testcert: $(CRT) $(CSR): $(KEY) umask 77 ; \ /usr/bin/openssl req $(UTF8) -new -key $(KEY) -out $(CSR) $(CRT): $(KEY) umask 77 ; \ /usr/bin/openssl req $(UTF8) -new -key $(KEY) -x509 -days 365 -out $(CRT) -set_serial $(SERIAL) 转载于:https://blog.51cto.com/linuxbpm/364551