GPG简介

简介

The GNU Privacy Guard

GnuPG 是 RFC4880 定义的 OpenPGP 标准(也称为 PGP)的完整且免费的实现。GnuPG 允许您加密和签署您的数据和通信;它具有多功能的密钥管理系统,以及用于各种公钥目录的访问模块。GnuPG,也称为 GPG,是一种命令行工具,具有易于与其他应用程序集成的功能。提供了丰富的前端应用程序和库。GnuPG 还提供对 S/MIME 和安全外壳 (ssh) 的支持。
自 1997 年推出以来,GnuPG 是自由软件(这意味着它尊重您的自由)。它可以根据 GNU 通用公共许可证的条款自由使用、修改和分发。

GnuPG 是一个没有任何图形用户界面的命令行工具。它是一个通用的加密引擎,可以直接从命令行提示符、shell 脚本或其他程序使用。因此,GnuPG经常被用作其他应用程序的实际加密后端。

即使在命令行上使用,它也能提供所需的所有功能 - 这包括交互式菜单系统。此工具的命令集将始终是任何前端提供的命令的超集。

GPG(GNU Privacy Guard)是一种用于数据加密和签名的自由软件工具,遵循OpenPGP标准。它是由GNU项目开发的,主要用于保护电子邮件和文件的安全。

功能

  • 数据加密:GPG可以对文件和电子邮件进行加密,确保只有授权的接收者能够读取内容。它使用对称和非对称加密算法,常用的算法包括AES、RSA等。

    • 对称加密:使用单一密钥对数据进行加密和解密,适合对称密钥分发的场景。
    • 非对称加密:使用一对公钥和私钥进行加密和解密。公钥用于加密数据,私钥用于解密数据。
  • 数字签名:GPG允许用户对文件和电子邮件进行数字签名,确保数据未被篡改,并验证发送者的身份。签名可以防止内容在传输过程中被修改。

    • 签名数据:数字签名确保数据来源的真实性和数据的完整性。签名可以应用于文件、电子邮件等各种数据。
    • 验证签名:接收者可以使用发送者的公钥来验证数据的签名,确认数据未被篡改。
  • 密钥管理:GPG提供全面的密钥管理功能,包括生成、分发、撤销和存储密钥。用户可以生成公钥和私钥对,其中公钥用于加密和验证签名,私钥用于解密和创建签名。

    • 生成密钥对:用户可以生成自己的公钥和私钥对。
    • 导入和导出密钥:支持从文件或剪贴板导入和导出公钥和私钥。
    • 密钥服务器:GPG允许将公钥上传到密钥服务器,方便其他人获取。
  • 跨平台支持

    • GPG与多种操作系统兼容,包括Linux、Windows和macOS。
    • 支持与其他OpenPGP兼容的软件进行互操作。
  • 命令行工具:GPG主要通过命令行界面使用,但也有许多图形化界面和插件可供选择,使其更易于使用。


用途

  • 电子邮件加密:保护电子邮件内容的隐私,防止被未授权人员读取。
  • 软件签名:验证软件包和源代码的真实性,确保软件没有被恶意篡改。
  • 文件保护:对重要文件进行加密,防止敏感信息泄露。

例子:

  • Git:Git 是一个流行的分布式版本控制系统,它可以使用 GPG 签名来验证提交者的身份。使用 GPG 签名可以确保代码提交的完整性和作者的身份。
# 配置 Git 使用 GPG 签名
git config --global user.signingkey <your-key-id>
git config --global commit.gpgsign true# 签署提交
git commit -S -m "Your commit message"
  • Docker:GPG 在 Docker 中的应用包括签名镜像和验证签名镜像。通过对镜像进行签名,开发者可以保证镜像在发布后未被篡改,用户在拉取镜像时可以验证其来源和完整性。
# 签名镜像
export DOCKER_CONTENT_TRUST=1
docker push your-repo/your-image:tag
# 拉取并验证镜像
export DOCKER_CONTENT_TRUST=1
docker pull your-repo/your-image:tag

Ubuntu使用例子

sudo apt-get install gnupg# 生成密钥对,按照提示输入你的信息,如姓名、电子邮件和密码。
gpg --gen-key
# 以获得一个全功能的密钥生成对话框。
gpg --full-generate-key# 列出公钥pub
gpg --list-keys
# 列出私钥sub
gpg --list-secret-keys# 使用接收者的公钥加密文件
gpg --encrypt --recipient recipient@example.com file.txt# 使用私钥解密文件
gpg --decrypt file.txt.gpg# 对文件进行数字签名
gpg --sign file.txt# 验证签名
gpg --verify file.txt.gpg

Ubuntu中主要路径和文件

不做密钥配置安装以后,默认会有公钥环文件,密钥指纹缓存文件

  • 公钥环文件:

路径:~/.gnupg/pubring.kbx
说明:存储用户的公钥。

  • 私钥环文件:

路径:~/.gnupg/private-keys-v1.d/
说明:存储用户的私钥。每个私钥都是一个单独的文件,文件名是以其KeyID命名的。

  • 配置文件:

路径:~/.gnupg/gpg.conf
说明:GPG的配置文件,可以在此文件中设置GPG的默认行为。

  • 密钥指纹缓存文件:

路径:~/.gnupg/trustdb.gpg
说明:存储用户信任的密钥的信任度信息。

  • 随机数种子文件:

路径:~/.gnupg/random_seed
说明:用于生成加密操作所需的随机数。


参考:

GPG官网

Ubuntu使用GPG

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/21340.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vitis HLS 学习笔记--HLS流水线类型

目录 1. 简介 2. 优缺点对比 2.1 Stalled Pipeline 2.2 Free-Running/Flushable Pipeline 2.3 Flushable Pipeline 3. 设置方法 4. FRP的特殊优势 5. 总结 1. 简介 Vitis HLS 会自动选择正确的流水线样式&#xff0c;用于流水打拍函数或循环。 停滞的流水线&#xff…

K8S SWCK SkyWalking全链路跟踪工具安装

官方参考&#xff1a;如何使用java探针注入器? 配置两个demo&#xff0c;建立调用关系&#xff0c; 首先创建一个基础镜像dockerfile from centos 先安装java 参考: linux rpm方式安装java JAVA_HOME/usr/java/jdk1.8.0-x64 CLASSPATH.:$JAVA_HOME/lib/tools.jar PATH…

了解Maven,并配置国内源

目录 1.了解Maven 1.1什么是Maven 1.2快速创建一个Maven项⽬ 1.3Maven 核⼼功能 1.3.1项⽬构建 1.3.2依赖管理 1.4Maven Help插件 2.Maven 仓库 2.1中央仓库 2.2本地仓库 3.Maven 设置国内源 1.查看配置⽂件的地址 2.配置国内源 3.设置新项⽬的setting 1.了解Ma…

Hive安装-内嵌模式

1.官网下在hive3.1.2版本 Index of /dist/hive/hive-3.1.2 2.上传到master节点的/opt/software目录下 3.解压到/opt/module目录下 tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/module/ 检查解压后文件 4.修改名字 改为hive cd /opt/module mv apache-hive-3.1.2-bin…

期权的时间价值是什么?和期权内在价值有啥不同?

今天带你了解期权的时间价值是什么&#xff1f;和期权内在价值有啥不同&#xff1f;期权的内在价值&#xff0c;是指期权立即执行产生的经济价值。 期权的时间价值是什么&#xff1f; 期权的时间价值是期权价格的一个重要组成部分&#xff0c;也被称为期权的外在价值。它是指期…

【再探】设计模式—备忘录模式与解释器模式

备忘录模式是用于保存对象在某个时刻的状态&#xff0c;来实现撤销操作。而解释器模式则是将文本按照定义的文法规则解析成对应的命令。 1 备忘录模式 需求&#xff1a;保存对象在某个时刻的状态&#xff0c;后面可以对该对象实行撤销操作。 1.1 备忘录模式介绍 提供一种状…

RK3568笔记二十九:RTMP推流

若该文为原创文章&#xff0c;转载请注明原文出处。 基于RK3568的RTMP推流测试&#xff0c;此代码是基于勇哥的github代码修改的&#xff0c;源码地址MontaukLaw/3568_rknn_rtmp: rk3568的推理推流 (github.com) 感兴趣的可以clone下来测试。 也可以下载修改后的代码测试。Y…

【面试宝藏】Go并发编程面试题

深入Go语言并发编程 Go语言以其简洁、高效的并发处理能力而闻名。在Go中&#xff0c;通过各种同步机制和原子操作&#xff0c;可以轻松地实现高性能并发编程。本文将深入探讨Go语言中的并发编程&#xff0c;包括Mutex、RWMutex、Cond、WaitGroup、原子操作等内容。 1. Mutex几…

普华永道信任危机:上市公司解约风波与反思

在全球会计业界的星空中&#xff0c;普华永道无疑是那颗最为耀眼的星之一。然而&#xff0c;近日这颗星却遭遇了前所未有的信任危机。这家大名鼎鼎的四大会计师事务所之一&#xff0c;近期陷入了上市公司解约的风波之中&#xff0c;其声誉与地位正面临严峻挑战。 就在昨晚&…

没有WebSecurityConfigurerAdapter的Spring Security

没有WebSecurityConfigurerAdapter的Spring Security 最近一直在从springboot2.x向3.x学习迁移&#xff0c;付出了很大的学习成本&#xff0c;心得会不断分享。对于spring security来说&#xff0c;是该和WebSecurityConfigurerAdapter说再见了&#xff0c;因为在Spring Secur…

Vivado的两种下载安装方式:Webpack下载与安装、本地文件安装详细步骤讲解

目录 1.前言2. Vivado Webpack下载、安装3.本地文件下载安装 微信公众号获取更多FPGA相关源码&#xff1a; 1.前言 本人自本科大二开始接触FPGA相关知识&#xff0c;现已将近六年&#xff0c;由于一直在上学&#xff0c;也不是一直在搞FPGA&#xff0c;但是也完成过一些项目…

【学习】企业如何选择一个合适的DCMM咨询机构

DCMM是我国首个数据管理领域正式发布的国家标准。旨在帮助企业利用先进的数据管理理念和方法&#xff0c;建立和评价自身数据管理能力&#xff0c;持续完善数据管理组织、程序和制度&#xff0c;充分发挥数据在促进企业向信息化、数字化、智能化发展方面的价值。该标准借鉴了国…

数据仓库核心:维度表设计的艺术与实践

文章目录 1. 引言1.1基本概念1.2 维度表定义 2. 设计方法2.1 选择或新建维度2.2 确定维度主维表2.3 确定相关维表2.14 确定维度属性 3. 维度的层次结构3.1 举个例子3.2 什么是数据钻取&#xff1f;3.3 常见的维度层次结构 4. 高级维度策略4.1 维度整合维度整合&#xff1a;构建…

IDEA 学习之 疑难杂症系列

IDEA 学习之 疑难杂症系列 1. Mapstruct 编译空指针问题 1.1. 现象 NullPointerException at org.mapstruct.ap.internal.processor.DefaultVersionInformation.createManifest1.2. 原因 MapStruct 在 IDEA 2020.3 版本编译 NPE 问题 1.3. 解决办法 2. IDEA 学习之 编译内…

python列表的进阶

小结&#xff1a; # 列表的删除小结&#xff1a; # 删除列表的最后一列 punished students.pop() print(被罚站的人是&#xff1a; punished &#xff0c;同学们引以为戒。)# 根据下标删除 del students[0]#根据名称删除 students.remove(王熙凤)在今天的课程里&#xff0c…

绿联 安装SeaTable在线协同表格

绿联 安装SeaTable在线协同表格 1、镜像 seatable/seatable-developer:latest 2、安装 2.1、基础设置 重启策略&#xff1a;容器退出时总是重启容器。 2.2、网络 网络选择桥接(bridge)。 2.3、存储空间 装载路径/shared不可变更。 2.4、端口设置 容器端口固定80&#x…

Unity动画系统介绍

Unity动画系统介绍 Animator组件&#xff1a; 这是Unity中用于控制动画状态的组件&#xff0c;它与Animator Controller一起工作&#xff0c;可以基于游戏逻辑来切换不同的动画状态。 Animator Controller&#xff1a; 这是一个用于管理动画状态机的组件&#xff0c;它允许…

Leetcode:回文数

题目链接&#xff1a;9. 回文数 - 力扣&#xff08;LeetCode&#xff09; 普通版本&#xff08;字符串双指针&#xff09; 1、x为负数时永远不可能为回文数 2、x为个位数时不可能是回文数 class Solution { public:bool isPalindrome(int x) {if(x<0||(x%100 &&…

服务器硬件的基础知识

服务器硬件的基础知识 服务器硬件是服务器计算机的物理组件&#xff0c;用于存储、处理和管理数据。以下是服务器硬件的基础知识介绍。 1. 处理器&#xff08;CPU&#xff09; 概述 处理器是服务器的核心组件&#xff0c;负责执行计算和处理任务。常见品牌有 Intel 和 AMD。…

音视频开发—V4L2介绍,FFmpeg 打开摄像头输出yuv文件

实验平台&#xff1a;Ubuntu20.04 摄像头&#xff1a;1080P 监控摄像头&#xff0c;采用V4L2驱动框架 文章目录 1.V4L2相关介绍1.1. 基本概念1.2. 主要功能1.3. V4L2驱动框架1.4. 主要组件1.5. 使用V4L2的应用1.6. 常用V4L2工具 2.ffmpeg命令实现打开摄像头输出yuv文件3.使用C…