GPG 简明笔记
This commit is contained in:
parent
28c3c3a1ad
commit
776bf9e244
195
docs/密码/GPG/GPG 简明笔记.md
Normal file
195
docs/密码/GPG/GPG 简明笔记.md
Normal file
@ -0,0 +1,195 @@
|
|||||||
|
---
|
||||||
|
id: GPG简明笔记
|
||||||
|
title: GPG简明笔记
|
||||||
|
data: 2022年1月25日
|
||||||
|
---
|
||||||
|
|
||||||
|
## 简介
|
||||||
|
|
||||||
|
GnuPG(GNU Privacy Guard,GPG)是一款非对称加密的开源软件,它是PGP加密软件的满足GPL协议的实现。GnuPG依照由IETF制定的en:OpenPGP技术标准设计。GnuPG是用于**加密、数字签章**及产生非对称匙对的软件。GPG 兼容 PGP(Pretty Good Privacy)的功能。
|
||||||
|
|
||||||
|
如果你想发送加密信息,首先你要得到接收者的公钥,然后通过该公钥加密传输,接收者使用私钥就可解密并读取文件,同时也可以在公共网络用数字签章表明身份和安全性。
|
||||||
|
|
||||||
|
## GPG
|
||||||
|
|
||||||
|
### 安装
|
||||||
|
|
||||||
|
linux 默认安装 GPG,windows 和 mac 安装方法大同小异。
|
||||||
|
|
||||||
|
### 配置
|
||||||
|
|
||||||
|
```
|
||||||
|
# GPG 配置文件介绍
|
||||||
|
~/.gnupg - 配置目录
|
||||||
|
~/.gnupg/gpg.conf – 配置文件
|
||||||
|
~/.gnupg/trustdb.gpg – 信任库
|
||||||
|
~/.gnupg/pubring.gpg – 公钥库
|
||||||
|
~/.gnupg/secring.gpg – 私钥库
|
||||||
|
```
|
||||||
|
|
||||||
|
### 生成密钥
|
||||||
|
|
||||||
|
```
|
||||||
|
gpg --gen-key
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
1.请选择您要使用的密钥种类:
|
||||||
|
(1) RSA and RSA (default)
|
||||||
|
(2) DSA and Elgamal
|
||||||
|
(3) DSA (仅用于签名)
|
||||||
|
(4) RSA (仅用于签名)
|
||||||
|
您的选择? 1
|
||||||
|
|
||||||
|
2.RSA 密钥长度应在 1024 位与 4096 位之间。
|
||||||
|
您想要用多大的密钥尺寸?(2048)4096
|
||||||
|
您所要求的密钥尺寸是 4096 位
|
||||||
|
请设定这把密钥的有效期限。
|
||||||
|
0 = 密钥永不过期
|
||||||
|
<n> = 密钥在 n 天后过期
|
||||||
|
<n>w = 密钥在 n 周后过期
|
||||||
|
<n>m = 密钥在 n 月后过期
|
||||||
|
<n>y = 密钥在 n 年后过期
|
||||||
|
密钥的有效期限是?(0) 0
|
||||||
|
密钥永远不会过期
|
||||||
|
以上正确吗?(y/n)y
|
||||||
|
|
||||||
|
|
||||||
|
3. You need a user ID to identify your key; the software constructs the user ID
|
||||||
|
from the Real Name, Comment and Email Address in this form:
|
||||||
|
"Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"
|
||||||
|
|
||||||
|
真实姓名:zhouzhongping
|
||||||
|
电子邮件地址:zhouzhongping@7wate.com
|
||||||
|
注释:测试使用
|
||||||
|
您正在使用‘utf-8’字符集。
|
||||||
|
您选定了这个用户标识:
|
||||||
|
“zhouzhongping (测试使用) <zhouzhongping@7wate.com>”
|
||||||
|
|
||||||
|
4.更改姓名(N)、注释(C)、电子邮件地址(E)或确定(O)/退出(Q)?o
|
||||||
|
|
||||||
|
5.您需要一个密码来保护您的私钥。
|
||||||
|
|
||||||
|
我们需要生成大量的随机字节。这个时候您可以多做些琐事(像是敲打键盘、移动
|
||||||
|
鼠标、读写硬盘之类的),这会让随机数字发生器有更好的机会获得足够的熵数。
|
||||||
|
```
|
||||||
|
|
||||||
|
根据提示结合需求填写,生成 GPG 密钥。
|
||||||
|
|
||||||
|
## 常用命令
|
||||||
|
|
||||||
|
### 查看
|
||||||
|
|
||||||
|
公钥
|
||||||
|
|
||||||
|
```
|
||||||
|
gpg --list-keys
|
||||||
|
gpg -k
|
||||||
|
```
|
||||||
|
私钥
|
||||||
|
|
||||||
|
```
|
||||||
|
gpg --list-secret-keys
|
||||||
|
gpg -K
|
||||||
|
```
|
||||||
|
|
||||||
|
### 导出
|
||||||
|
|
||||||
|
公钥
|
||||||
|
|
||||||
|
```
|
||||||
|
gpg --armor --output public-key.txt --export [用户ID]
|
||||||
|
```
|
||||||
|
|
||||||
|
私钥
|
||||||
|
|
||||||
|
```
|
||||||
|
gpg --armor --output private-key.txt --export-secret-keys [用户ID]
|
||||||
|
```
|
||||||
|
|
||||||
|
*--armor 生成 asc 后缀的 ASCII 类型的文本文件,否则生成 gpg 后缀的二进制文件*
|
||||||
|
|
||||||
|
### 导入
|
||||||
|
|
||||||
|
本地公钥文件
|
||||||
|
|
||||||
|
```
|
||||||
|
gpg --import [密钥文件]
|
||||||
|
```
|
||||||
|
|
||||||
|
服务器公钥文件
|
||||||
|
|
||||||
|
```
|
||||||
|
gpg --keyserver [服务器] --search-keys [用户ID]
|
||||||
|
```
|
||||||
|
|
||||||
|
### 公布
|
||||||
|
|
||||||
|
发布至公开服务器
|
||||||
|
|
||||||
|
```
|
||||||
|
gpg --send-keys [用户ID] --keyserver [服务器]
|
||||||
|
```
|
||||||
|
|
||||||
|
发布用户指纹
|
||||||
|
```
|
||||||
|
gpg --fingerprint [用户ID]
|
||||||
|
```
|
||||||
|
|
||||||
|
### 删除
|
||||||
|
|
||||||
|
删除指定公钥
|
||||||
|
|
||||||
|
```
|
||||||
|
gpg --delete-key [用户id]
|
||||||
|
```
|
||||||
|
|
||||||
|
删除指定密钥
|
||||||
|
|
||||||
|
```
|
||||||
|
gpg --delete-secret-keys [用户id]
|
||||||
|
```
|
||||||
|
|
||||||
|
吊销指定密钥
|
||||||
|
|
||||||
|
## 加密/解密
|
||||||
|
|
||||||
|
加密文件
|
||||||
|
|
||||||
|
```
|
||||||
|
gpg --recipient [用户ID] --output demo.en.txt --encrypt demo.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
解密文件
|
||||||
|
|
||||||
|
```
|
||||||
|
gpg --decrypt demo.en.txt --output demo.de.txt
|
||||||
|
gpg demo.en.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
签名文件(GPG 格式)
|
||||||
|
|
||||||
|
```
|
||||||
|
gpg --sign test.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
签名文件(ASCII 格式)
|
||||||
|
|
||||||
|
```
|
||||||
|
gpg --clearsign test.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
生成单独签名
|
||||||
|
|
||||||
|
```
|
||||||
|
gpg -a --detach-sign test.txt
|
||||||
|
```
|
||||||
|
|
||||||
|
*-a 生成 ASCII 格式*
|
||||||
|
|
||||||
|
验证签名
|
||||||
|
|
||||||
|
```
|
||||||
|
gpg --verify test.txt.asc test.txt
|
||||||
|
```
|
||||||
|
|
@ -32,7 +32,7 @@ data: 2022年1月22日
|
|||||||
CI/CD (持续集成系统) 也不一定保证交付时间会很短。
|
CI/CD (持续集成系统) 也不一定保证交付时间会很短。
|
||||||
|
|
||||||
|
|
||||||
# 职责
|
### 职责
|
||||||
|
|
||||||
- On-call (电话值班)的计划或者规定是什么?值班或者遇到问题加班时候有加班费吗?
|
- On-call (电话值班)的计划或者规定是什么?值班或者遇到问题加班时候有加班费吗?
|
||||||
- 我的日常工作是什么?
|
- 我的日常工作是什么?
|
||||||
@ -53,7 +53,7 @@ CI/CD (持续集成系统) 也不一定保证交付时间会很短。
|
|||||||
- 我入职的岗位是新增还是接替之前离职的同事?(是否有技术债需要还)?(zh)
|
- 我入职的岗位是新增还是接替之前离职的同事?(是否有技术债需要还)?(zh)
|
||||||
- 入职之后在哪个项目组,项目是新成立还是已有的?(zh)
|
- 入职之后在哪个项目组,项目是新成立还是已有的?(zh)
|
||||||
|
|
||||||
# 技术
|
### 技术
|
||||||
|
|
||||||
- 公司常用的技术栈是什么?
|
- 公司常用的技术栈是什么?
|
||||||
- 你们怎么使用源码控制系统?
|
- 你们怎么使用源码控制系统?
|
||||||
@ -78,7 +78,7 @@ CI/CD (持续集成系统) 也不一定保证交付时间会很短。
|
|||||||
- 你们的数据库是怎么进行版本控制的?(zh)
|
- 你们的数据库是怎么进行版本控制的?(zh)
|
||||||
- 业务需求有没有文档记录?是如何记录的?(zh)
|
- 业务需求有没有文档记录?是如何记录的?(zh)
|
||||||
|
|
||||||
# 团队
|
### 团队
|
||||||
|
|
||||||
- 工作是怎么组织的?
|
- 工作是怎么组织的?
|
||||||
- 团队内 / 团队间的交流通常是怎样的?
|
- 团队内 / 团队间的交流通常是怎样的?
|
||||||
@ -101,7 +101,7 @@ CI/CD (持续集成系统) 也不一定保证交付时间会很短。
|
|||||||
- 公司技术团队的架构和人员组成?(zh)
|
- 公司技术团队的架构和人员组成?(zh)
|
||||||
- 团队内开发、产品、运营哪一方是需求的主要提出方?哪一方更强势?(zh)
|
- 团队内开发、产品、运营哪一方是需求的主要提出方?哪一方更强势?(zh)
|
||||||
|
|
||||||
# 问未来的同事
|
### 问未来的同事
|
||||||
|
|
||||||
- 开发者倾向于从哪里学习?
|
- 开发者倾向于从哪里学习?
|
||||||
- 你对在这里工作最满意的地方是?
|
- 你对在这里工作最满意的地方是?
|
||||||
@ -110,7 +110,7 @@ CI/CD (持续集成系统) 也不一定保证交付时间会很短。
|
|||||||
- 团队最老的成员在这里多久了?
|
- 团队最老的成员在这里多久了?
|
||||||
- 在小团队中,有没有出现成员性格互相冲突的情况?最后是如何解决的?
|
- 在小团队中,有没有出现成员性格互相冲突的情况?最后是如何解决的?
|
||||||
|
|
||||||
# 公司
|
### 公司
|
||||||
|
|
||||||
- 公司为什么在招人?(产品发展 / 新产品 / 波动...)
|
- 公司为什么在招人?(产品发展 / 新产品 / 波动...)
|
||||||
- 有没有会议 / 旅行预算?使用的规定是什么?
|
- 有没有会议 / 旅行预算?使用的规定是什么?
|
||||||
@ -136,14 +136,14 @@ CI/CD (持续集成系统) 也不一定保证交付时间会很短。
|
|||||||
- 大家为什么会喜欢这里?(zh)
|
- 大家为什么会喜欢这里?(zh)
|
||||||
- 公司的调薪制度是如何的?(zh)
|
- 公司的调薪制度是如何的?(zh)
|
||||||
|
|
||||||
# 社会问题
|
### 社会问题
|
||||||
|
|
||||||
- 你们关于多元化招聘什么看法?
|
- 你们关于多元化招聘什么看法?
|
||||||
- 你们的公司文化如何?你认为有什么空白么?
|
- 你们的公司文化如何?你认为有什么空白么?
|
||||||
- 这里的工作生活平衡地怎么样?
|
- 这里的工作生活平衡地怎么样?
|
||||||
- 公司对气候变化有什么态度吗?
|
- 公司对气候变化有什么态度吗?
|
||||||
|
|
||||||
# 冲突
|
### 冲突
|
||||||
|
|
||||||
- 不同的意见如何处理?
|
- 不同的意见如何处理?
|
||||||
- 如果被退回了会怎样?(“这个在预计的时间内做不完”)
|
- 如果被退回了会怎样?(“这个在预计的时间内做不完”)
|
||||||
@ -154,7 +154,7 @@ CI/CD (持续集成系统) 也不一定保证交付时间会很短。
|
|||||||
- 如果在公司内你的同事因涉嫌性侵犯他人而被调查,请问你会如何处理?
|
- 如果在公司内你的同事因涉嫌性侵犯他人而被调查,请问你会如何处理?
|
||||||
- 假设我自己很不幸是在公司内被性侵的受害者,在公司内部有没有争取合法权益的渠道?
|
- 假设我自己很不幸是在公司内被性侵的受害者,在公司内部有没有争取合法权益的渠道?
|
||||||
|
|
||||||
# 商业
|
### 商业
|
||||||
|
|
||||||
- 你们现在盈利吗?
|
- 你们现在盈利吗?
|
||||||
- 如果没有的话,还需要多久?
|
- 如果没有的话,还需要多久?
|
||||||
@ -166,7 +166,7 @@ CI/CD (持续集成系统) 也不一定保证交付时间会很短。
|
|||||||
- 你们的竞争优势是什么?
|
- 你们的竞争优势是什么?
|
||||||
- 公司未来的商业规划是怎样的?有上市的计划吗?(zh)
|
- 公司未来的商业规划是怎样的?有上市的计划吗?(zh)
|
||||||
|
|
||||||
# 远程工作
|
### 远程工作
|
||||||
|
|
||||||
- 远程工作和办公室工作的比例是多少?
|
- 远程工作和办公室工作的比例是多少?
|
||||||
- 公司提供硬件吗?更新计划如何?
|
- 公司提供硬件吗?更新计划如何?
|
||||||
@ -176,12 +176,12 @@ CI/CD (持续集成系统) 也不一定保证交付时间会很短。
|
|||||||
- 多久需要去一次办公室?
|
- 多久需要去一次办公室?
|
||||||
- 公司的会议室是否一直是视频会议就绪的?
|
- 公司的会议室是否一直是视频会议就绪的?
|
||||||
|
|
||||||
# 办公室布局
|
### 办公室布局
|
||||||
|
|
||||||
- 办公室的布局如何?(开放的 / 小隔间 / 独立办公室)
|
- 办公室的布局如何?(开放的 / 小隔间 / 独立办公室)
|
||||||
- 有没有支持 / 市场 / 或者其他需要大量打电话的团队在我的团队旁边办公?
|
- 有没有支持 / 市场 / 或者其他需要大量打电话的团队在我的团队旁边办公?
|
||||||
|
|
||||||
# 终极问题
|
### 终极问题
|
||||||
|
|
||||||
- 该职位为何会空缺?
|
- 该职位为何会空缺?
|
||||||
- 公司如何保证人才不流失?
|
- 公司如何保证人才不流失?
|
||||||
@ -189,7 +189,7 @@ CI/CD (持续集成系统) 也不一定保证交付时间会很短。
|
|||||||
- 你最开始为什么选择了这家公司?
|
- 你最开始为什么选择了这家公司?
|
||||||
- 你为什么留在这家公司?
|
- 你为什么留在这家公司?
|
||||||
|
|
||||||
# 待遇
|
### 待遇
|
||||||
|
|
||||||
- 如果有奖金计划的话,奖金如何分配?
|
- 如果有奖金计划的话,奖金如何分配?
|
||||||
- 如果有奖金计划的话,过去的几年里通常会发百分之多少的奖金?
|
- 如果有奖金计划的话,过去的几年里通常会发百分之多少的奖金?
|
||||||
@ -199,7 +199,7 @@ CI/CD (持续集成系统) 也不一定保证交付时间会很短。
|
|||||||
- 有额外商业保险吗?例如人寿保险和额外的养老/医疗保险?
|
- 有额外商业保险吗?例如人寿保险和额外的养老/医疗保险?
|
||||||
- 更换工作地点,公司付费吗?
|
- 更换工作地点,公司付费吗?
|
||||||
|
|
||||||
# 休假
|
### 休假
|
||||||
|
|
||||||
- 带薪休假时间有多久?
|
- 带薪休假时间有多久?
|
||||||
- 病假和事假是分开的还是一起算?
|
- 病假和事假是分开的还是一起算?
|
||||||
@ -209,14 +209,14 @@ CI/CD (持续集成系统) 也不一定保证交付时间会很短。
|
|||||||
- 无薪休假政策是什么样的?
|
- 无薪休假政策是什么样的?
|
||||||
- 学术性休假政策是怎么样的?
|
- 学术性休假政策是怎么样的?
|
||||||
|
|
||||||
# 其他资源
|
### 其他资源
|
||||||
|
|
||||||
Find more inspiration for questions in:
|
Find more inspiration for questions in:
|
||||||
|
|
||||||
- [The Joel Test: 12 Steps to Better Code](https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-steps-to-better-code/) by Joel Spolsky
|
- [The Joel Test: 12 Steps to Better Code](https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-steps-to-better-code/) by Joel Spolsky
|
||||||
- [Questions I'm asking in interviews](https://jvns.ca/blog/2013/12/30/questions-im-asking-in-interviews/) by Julia Evans
|
- [Questions I'm asking in interviews](https://jvns.ca/blog/2013/12/30/questions-im-asking-in-interviews/) by Julia Evans
|
||||||
|
|
||||||
# License
|
### License
|
||||||
|
|
||||||
[![Creative Commons License](https://i.creativecommons.org/l/by-sa/4.0/88x31.png)](https://creativecommons.org/licenses/by-sa/4.0/)
|
[![Creative Commons License](https://i.creativecommons.org/l/by-sa/4.0/88x31.png)](https://creativecommons.org/licenses/by-sa/4.0/)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user