公钥和私钥怎么生成链接(公钥和私钥怎么生成)
服务器公钥私钥总结

在非对称加密技术中,有两种密钥,分为私钥和公钥,私钥是密钥对所有者持有,不可公布,公钥是密钥对持有者公布给他人的。
公钥用来给数据加密,用公钥加密的数据只能使用私钥解密
用来解密公钥加密的数据。
对需要传输的文本,做一个HASH计算,一般采用SHA1,SHA2来获得
使用私钥对需要传输的文本的摘要进行加密,得到的密文即被称为该次传输过程的签名。
数据接收端,拿到传输文本,但是需要确认该文本是否就是发送发出的内容,中途是否曾经被篡改。因此拿自己持有的公钥对签名进行解密(密钥对中的一种密钥加密的数据必定能使用另一种密钥解密。),得到了文本的摘要,然后使用与发送方同样的HASH算法计算摘要值,再与解密得到的摘要做对比,发现二者完全一致,则说明文本没有被篡改过。
是将数据资料加密,使得非法用户即使取得加密过的资料,也无法获取正确的资料内容,所以数据加密可以保护数据,防止监听攻击。其重点在于数据的安全性。
公钥登录是为了解决每次登录服务器都要输入密码的问题,流行使用RSA加密方案,主要流程包含:
1、客户端生成RSA公钥和私钥
2、客户端将自己的公钥存放到服务器
3、客户端请求连接服务器,服务器将一个随机字符串加密后发送给客户端
4、客户端根据自己的私钥解密这个随机字符串之后再发送给服务器
5、服务器接受到字符串之后用公钥解密,如果正确就让客户端登录,否则拒绝。这样就不用使用密码了。
进入用户目录下.ssh目录:
id_rsa:私钥文件
id_rsa.pub:公钥文件
authorized_keys: 保存其他公钥的的文件
known_hosts: 已经建立过连接的服务器信息,可以清空。
1.执行命令:
此时会重新生成id_rsa私钥文件和id_rsa.pub公钥文件
用户将公钥发送给其他服务器,其他服务器将接受的公钥保存在authorized_keys里面。持有私钥的用户就可以登录服务器(authorized_keys存放自己的公钥,用户便可以使用私钥从其他的地方登录服务器)。
2.将公钥导入到vps
3.修改SSHD的配置文件/etc/ssh/sshd_config
4.重启SSH后进行测试
RSA公钥和私钥的生成以及PKCS#1与PKCE#8格式的转换
首先需要电脑安装openssl,这个搜一下安装就行了。
然后运行命令行输入命令:
回车,可以看到命令行执行的文件夹多了一个rsa_private_key.pem私钥文件
然后执行生成公钥命令:
回车,可以看到命令行执行的文件夹多了一个rsa_public_key.pem公钥文件
PKCS#1格式私钥转换成PKCS#8格式私钥(一般JAVA用的都是PKCS#8格式私钥)
回车,可以看到命令行打印出了PKCS#8格式的私钥,右键复制就行了。
用记事本开打密钥文件看看
以—–BEGIN RSA PRIVATE KEY—–开头
以—–END RSA PRIVATE KEY—–结束
的就是PKCS#1格式
以—–BEGIN PRIVATE KEY—–开头
以—–END PRIVATE KEY—–结束
的就是PKCS#8格式
最后附上pyhton和java语言实现RSA和AES加密的文章:
python实现RSA与AES混合加密
java实现RSA与AES混合加密
python,java跨语言RSA+AES混合加密解密以及踩过的那些坑
RSA公钥、私钥生成,详细讲解
RSA密钥生成过程
openssl:是一个自由的软件组织,专注做加密和解密的框架。
genrsa:指定了生成了算法使用RSA
-out:后面的参数表示生成的key的输入文件
1024:表示的是生成key的长度,单位字节(bits)
可以拿着这个文件去数字证书颁发机构(即CA)申请一个数字证书。CA会给你一个新的文件cacert.pem,那才是你的数字证书。(要收费的)
509是一种非常通用的证书格式。
将用上面生成的密钥privkey.pem和rsacert.csr证书请求文件生成一个数字证书rsacert.crt。这个就是公钥
![Upload Snip20160323_6.png failed. Please try again.]
在 iOS开发中,公钥是不能使用base64编码的,上面的命令是将公钥的base64编码字符串转换成二进制数据
在iOS使用私钥不能直接使用,需要导出一个p12文件。下面命令就是将私钥文件导出为p12文件。
执行完上面的这些,我们现在就得到了四个文件
需要在finder中进行搜搜,搜p.p12、reacert.der即可,为了方便查找,可将其导出到别的文件夹中。
注:p.p12 为私钥 reacert.der 为公钥
python rsa模块—生成公钥和私钥的方法
一.
非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)
对称加密算法大家共用一个密钥
数字签名: 就是为了证明该信件是确定的人发出的,而不是黑客冒充发出的
eg:
1.鲍勃给苏珊回信,决定采用”数字签名”。他写完后先用Hash函数,生成信件的摘要(digest)。
二.用RSA库可以生成公钥和私钥
到时候把公钥给前端,后端保存公钥和私钥
三.在用户注册/登入时,输入密码后前端会用JS对密码进行加密传送到后端
一般现在对于密码的加密解密都用RSA进行
GIT生成公钥和私钥
打开 git bash!
git config –global user.name “用户名”
用户名随便起!你能记住就行!
没报错就接着来!
git config –global user.email “邮箱”
没报错就是好消息!
然后执行生成公钥和私钥的命令!
ssh-keygen -t rsa -C “邮箱”
按回车3下!
为什么按三下?!是因为有提示你是否需要设置密码!如果设置了每次使用Git都会用到密码!一般都是直接不写为空!直接回车就好了!
然后!
执行查看公钥的命令!
cat ~/.ssh/id_rsa.pub
想知道这个文件在哪吗!
在这!
想知道linux下在哪吗?
cd ~/.ssh/
在这!
然后 catid_rsa.pub
复制它!
然后去你的gitlab 或者 github这个添加到你的ssh上!
然后干啥??
点复制!
然后去你自己的git仓库!!
git clone (刚才复制的地址)!!
会了不!!!
iOS RSA加密生成公钥私钥
该命令生成一个模长 2048 位,名字为 rsa_private_key.pem 、 PKCS1 格式的 RSA 私钥文件.
genrsa :指定生成算法使用 RSA
-out :后面参数是生成的私钥的文件名
2048 :生成私钥的模长,单位字节(bits)
根据生成的私钥 rsa_private_key.pem 文件,生成公钥 rsa_public_key.pem 文件
生成名字为 rsa_pkcs8_private_key.pem 的私钥文件
Java 和 Android 用到的密钥:
公钥: rsa_public_key.pem
私钥: rsa_pkcs8_private_key.pem
终端会提示输入国家、省市、所在地、组织、组织单位、常用名称、邮箱地址等信息,按要求填写(可以随便填写), 输入完对应信息后会提示输入一个密码 :
最终会生成 rsacert.csr 文件
用最开始生成的私钥 rsa_private_key.pem 和 rsacert.csr 证书请求文件生成一个数字证书 rsacert.crt
使用 x509 工具自建CA。由于 x509 无法建立证书请求文件,所以只能使用 openssl req 来生成请求文件,然后使用 x509 来自签署, 也可以用来签署他人的证书请求,即为他人颁发证书。
知识点 :
终端会提示设置密码,该密码是 .p12 私钥的密码(用 private_key.p12 私钥解密时, 要用到该密码, 需要记录下 ), 会提示再次输入检验刚才输入的密码.