GnuPG高级指导(3)导出私钥

1 为什么要导出分发私钥

友情提示:分发私钥,是危险的!

我有好几个电脑,只想用一对密钥;也就是说我需要把我的私钥,放到那几个电脑上。这样,我就就可以在任意电脑上,解密和签名以及其他。

1       怎么做

使用(临时)公钥把私钥加密,然后传到我的其他某个电脑,再解密。

3 我的debian8,生成(临时)密钥

[email protected]:~# gpg -K

[email protected]:~# gpg -k

/root/.gnupg/pubring.gpg

------------------------

pub   4096R/276856F7 2016-11-25 [expires: 2017-04-24]

uid                  FranklinYang (Encrypt RSA 4096) <[email protected]>

sub   4096R/0A09DAC9 2016-11-25 [expires: 2017-04-24]

[email protected]:~#

[email protected]:~#

(编辑这个key,并且修改trust)

[email protected]:~# gpg -K

/root/.gnupg/secring.gpg

------------------------

sec  1024D/D04D1A0B 2016-11-25 [expires: 2016-12-09]

uid                  debian8

ssb   2048g/C1845DA4 2016-11-25

[email protected]:~# gpg -k

/root/.gnupg/pubring.gpg

------------------------

pub   4096R/276856F7 2016-11-25 [expires: 2017-04-24]

uid                  FranklinYang (Encrypt RSA 4096) <[email protected]>

sub   4096R/0A09DAC9 2016-11-25 [expires: 2017-04-24]

pub   1024D/D04D1A0B 2016-11-25 [expires: 2016-12-09]

uid                  debian8

sub   2048g/C1845DA4 2016-11-25 [expires: 2016-12-09]

[email protected]:~#

4 我的Centos7,生成(临时)密钥

[[email protected] ~]# gpg -K

[[email protected] ~]#

[[email protected] ~]#

[[email protected] ~]# gpg -k

/root/.gnupg/pubring.gpg

------------------------

pub   4096R/276856F7 2016-11-25 [expires: 2017-04-24]

uid                  FranklinYang (Encrypt RSA 4096) <[email protected]>

sub   4096R/0A09DAC9 2016-11-25 [expires: 2017-04-24]

[[email protected] ~]#

[[email protected] ~]#

(编辑这个key,并且修改trust)

[[email protected] ~]# gpg -K

/root/.gnupg/secring.gpg

------------------------

sec  1024D/28D414A1 2016-11-25 [expires: 2016-12-09]

uid                  centos7

ssb   2048g/CDA873F4 2016-11-25

[[email protected] ~]# gpg -k

/root/.gnupg/pubring.gpg

------------------------

pub   4096R/276856F7 2016-11-25 [expires: 2017-04-24]

uid                  FranklinYang (Encrypt RSA 4096) <[email protected]>

sub   4096R/0A09DAC9 2016-11-25 [expires: 2017-04-24]

pub   1024D/28D414A1 2016-11-25 [expires: 2016-12-09]

uid                  centos7

sub   2048g/CDA873F4 2016-11-25 [expires: 2016-12-09]

[[email protected] ~]#

5 导出2个(临时)公钥给我的(opensuse13)电脑

[email protected]:~# gpg -a -o debian8.pub.key --export D04D1A0B

[email protected]:~#

[email protected]:~#

[email protected]:~# l debian8.pub.key

-rw-r--r-- 1 root root 1645 Nov 25 23:16 debian8.pub.key

[email protected]:~#

[email protected]:~# scp debian8.pub.key [email protected]:/root/

Password:

debian8.pub.key                            100% 1645     1.6KB/s   00:00

[email protected]:~#

[email protected]:~#

[[email protected] ~]# gpg -a -o centos7.pub.key --export 28D414A1

[[email protected] ~]# ls -l centos7.pub.key

-rw-r--r--. 1 root root 1662 Nov 25 23:15 centos7.pub.key

[[email protected] ~]#

[[email protected] ~]# scp centos7.pub.key [email protected]:/root/

Password:

centos7.pub.key                            100% 1662     1.6KB/s   00:00

[[email protected] ~]#

5 我的(opensuse13)电脑导入2个(临时)公钥

opensuse13:~ # gpg --import debian8.pub.key

gpg: key D04D1A0B: public key "debian8" imported

gpg: Total number processed: 1

gpg:               imported: 1

opensuse13:~ # gpg --import centos7.pub.key

gpg: key 28D414A1: public key "centos7" imported

gpg: Total number processed: 1

gpg:               imported: 1

opensuse13:~ #

(编辑这二个key,并且修改trust)

opensuse13:~ # gpg -k

/root/.gnupg/pubring.gpg

------------------------

pub   4096R/276856F7 2016-11-25 [expires: 2017-04-24]

uid       [ultimate] FranklinYang (Encrypt RSA 4096) <[email protected]>

sub   4096R/0A09DAC9 2016-11-25 [expires: 2017-04-24]

pub   1024D/D04D1A0B 2016-11-25 [expires: 2016-12-09]

uid       [unknown] debian8

sub   2048g/C1845DA4 2016-11-25 [expires: 2016-12-09]

pub   1024D/28D414A1 2016-11-25 [expires: 2016-12-09]

uid       [unknown] centos7

sub   2048g/CDA873F4 2016-11-25 [expires: 2016-12-09]

opensuse13:~ #

整个过程的唯一不安全的地方就在这里,通过scp分发2个“临时”公钥;没有涉及认证,也没有签名!其实可以签名一下,或者对比指纹fingerprint,达到认证这2个公钥的效果。

6 我的(opensuse13)导出我的私钥

opensuse13:~ # gpg -K

/root/.gnupg/secring.gpg

------------------------

sec   4096R/276856F7 2016-11-25 [expires: 2017-04-24]

uid                  FranklinYang (Encrypt RSA 4096) <[email protected]>

ssb   4096R/0A09DAC9 2016-11-25

opensuse13:~ # gpg -a -o FranklinYang.rsa.sec.key --export-secret-keys 276856F7

opensuse13:~ # l FranklinYang.rsa.sec.key

-rw-r--r-- 1 root root 3132 Nov 25 21:19 FranklinYang.rsa.sec.key

opensuse13:~ #

或者:

opensuse13:~ #

opensuse13:~ # gpg -o FranklinYang.sec.key --export-secret-keys FranklinYang

opensuse13:~ #

opensuse13:~ #

时间: 2024-12-22 00:56:02

GnuPG高级指导(3)导出私钥的相关文章

GnuPG高级指导(2)上传/导出分发公钥

1 上传到keyserver opensuse13:~ # gpg -k /root/.gnupg/pubring.gpg ------------------------ pub   4096R/276856F7 2016-11-25 [expires: 2017-04-24] uid       [ultimate] FranklinYang (Encrypt RSA 4096) <[email protected]> sub   4096R/0A09DAC9 2016-11-25 [ex

GnuPG高级指导(4)加密分发我的私钥

私钥,需要绝密,绝对不让别人知道! 所以,分发私钥,可以加密一下! 1 给debian8加密一份“我的私钥” opensuse13:~ # opensuse13:~ # opensuse13:~ # gpg -a -r "debian8" -o FranklinYang.rsa.sec.key.debian8.asc --encrypt FranklinYang.rsa.sec.key gpg: C1845DA4: There is no assurance this key belo

GnuPG高级指导(5)分发我的私钥(+签名)

(加密 + 签名,保证私钥的安全) 1 给debian8加密(再IDEA加密)并签名一份“我的私钥” opensuse13:~ # opensuse13:~ # opensuse13:~ # gpg -r "debian8" -o FranklinYang.rsa.sec.key.sign.debian8.asc -a --se --cipher-algo IDEA FranklinYang.rsa.sec.key You need a passphrase to unlock the

GnuPG高级指导(1)GnuPG的用法

1       k与K 可以参考man gpg里的说明: -k --list-public-keys List  all  keys from the public keyrings, or just the keys given on the command line. Avoid using the output of this command in scripts or other  pro- grams  as  it  is likely to change as GnuPG chan

GnuPG高级指导(6)在其他电脑上启用“我的密钥”

1 其他电脑上的密钥 [email protected]:~# gpg -K /root/.gnupg/secring.gpg ------------------------ sec  1024D/D04D1A0B 2016-11-25 [expires: 2016-12-09] uid                  debian8 ssb   2048g/C1845DA4 2016-11-25 sec  4096R/276856F7 2016-11-25 [expires: 2017-0

Java Keytools 证书转换成Openssl 的PEM 文件或keytools 导出私钥文件

上一遍又说到Godaddy 生请证书流程与操作: 现因使用Incapsula 防护使用到https,在添加网站时需要自定义证书,其中需要上传私钥信息,因公钥是能过keytool 生成所以需要导出私钥信息: 导出的步骤如下: 一:安装openssl and openssl-devel: yum -y install openssl openssl-devel 二:能过keytool 导出证书文件cer的格式,其中1234567 前面生成tomcat.keystore 文件密码: /usr/java

P12证书导出私钥

使用openssl把PKCS12文件(my.p12)转换成我们需要的pem文件(my.pem) openssl pkcs12 -in my.p12 -out my.pem -passin pass:mypass -passout pass:mypass 分离my.pem文件,导出服务器配置所需文件 my.pem一个文件里面实际上包含了服务器做双向SSL证书认证的所有文件,打开my.pem能查看所有的key和证书 得到配置服务器使用的 server.crt,server.key,ca.crt 文件

证书解析(二):windows 2012 r2证书服务安装与高级配置

本着应用隔离的原则,建议把证书服务部署在一台独立的windows server 2012 r2虚拟机之中.证书服务器可以不用考虑高可用,因证书服务宕掉后,除了不能继续颁发证书和不能访问证书吊销信息,并不影响证书的其他验证. 证书服务的安装 证书服务的安装很简单,运行服务器管理器,添加角色与功能,选择"Active Directory证书服务", 在角色服务中选择"证书颁发机构"与"证书颁发机构WEB注册" (不是证书注册web服务)两项,证书颁发

RSA不对称加密,公钥加密私钥解密,私钥加密公钥解密

RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作. RSA是被研究得最广泛的公钥算法,从提出到现在已近二十年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一.RSA的安全性依赖于大数的因子分解,但并没有从理论上证明破译RSA的难度与大数分解难度等价. .NET提供常用的加密算法类,支持RSA的类是RSACryptoServiceProvider(命名空间:System.Security.Cryptography),但只支持公钥加密,私钥解密.RSACr