<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>安全 on Shiro</title><link>https://verymoe.vercel.app/tags/%E5%AE%89%E5%85%A8/</link><description>Recent content in 安全 on Shiro</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><lastBuildDate>Sun, 15 Oct 2023 08:27:00 +0800</lastBuildDate><atom:link href="https://verymoe.vercel.app/tags/%E5%AE%89%E5%85%A8/index.xml" rel="self" type="application/rss+xml"/><item><title>MacOS设置Yubikey GPG签名Git Commit</title><link>https://verymoe.vercel.app/posts/macos-yubikey-gpg-sign-git-commit/</link><pubDate>Sun, 15 Oct 2023 08:27:00 +0800</pubDate><guid>https://verymoe.vercel.app/posts/macos-yubikey-gpg-sign-git-commit/</guid><description>&lt;img src="https://assets.moedev.cn/blog/photo/images/2023/EuA8.md.jpg!webp" alt="Featured image of post MacOS设置Yubikey GPG签名Git Commit" /&gt;&lt;blockquote class="alert alert-note"&gt;
 &lt;div class="alert-header"&gt;
 &lt;span class="alert-icon"&gt;📝&lt;/span&gt;
 &lt;span class="alert-title"&gt;&lt;br&gt;&lt;/span&gt;
 &lt;/div&gt;
 &lt;div class="alert-body"&gt;
 &lt;p&gt;此文章恢复自过去的博客站点，仅作纪念保留。&lt;br&gt;
原文发布于 2023-10-15 08:27:00&lt;br&gt;
原始地址：&lt;a class="link" href="https://justmyblog.net/1226.html" target="_blank" rel="noopener"
 &gt;https://justmyblog.net/1226.html&lt;/a&gt;&lt;br&gt;
Web Archive：&lt;a class="link" href="https://web.archive.org/web/20231201062854/https://justmyblog.net/1226.html" target="_blank" rel="noopener"
 &gt;https://web.archive.org/web/20231201062854/https://justmyblog.net/1226.html&lt;/a&gt;&lt;/p&gt;
 &lt;/div&gt;
 &lt;/blockquote&gt;
&lt;p&gt;本文并非从入门到入土教程，而是你已经准备且配置好了有 GPG 智能卡的 Yubikey，现在要拿到 MacOS 上使用，却不知道怎么用 Yubikey 里的 GPG 给 Commit 和 Tag 签名。&lt;/p&gt;
&lt;p&gt;假定你 MacOS 上已经安装有 Git 和 HomeBrew 了，不会请参考知乎文章 &lt;a class="link" href="https://zhuanlan.zhihu.com/p/111014448" target="_blank" rel="noopener"
 &gt;Homebrew国内如何自动安装（国内地址）（Mac &amp;amp; Linux）&lt;/a&gt;。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;先通过 brew 安装以下工具便于管理 Yubikey 上的 GPG智能卡。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;brew tap homebrew/versions
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;brew install gnupg21 pinentry-mac
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;接下来插入你的 Yubikey （我使用的是Yubikey 5，其他型号类同），然后打开终端键入&lt;/p&gt;
&lt;p&gt;gpg &amp;ndash;card-edit&lt;/p&gt;
&lt;p&gt;即可看到卡上的 GPG 数据，记录你要用于签名的密钥的后几位，例如我的是&lt;/p&gt;
&lt;p&gt;5C05964A&lt;/p&gt;
&lt;p&gt;。&lt;/p&gt;
&lt;p&gt;&lt;img alt="GPG Card" class="gallery-image" data-flex-basis="316px" data-flex-grow="131" height="791" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://assets.moedev.cn/blog/photo/images/2023/Evax.png!webp" srcset="https://verymoe.vercel.app/Evax_10619759385846544228_hu_248814dd7b0a617f.webp 800w, https://assets.moedev.cn/blog/photo/images/2023/Evax.png!webp 1043w" width="1043"&gt;&lt;/p&gt;
&lt;p&gt;配置 Git 全局签名用密钥并默认启用签名。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git config --global user.signingkey &lt;span class="s2"&gt;&amp;#34;密钥HASH&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git config --global commit.gpgsign &lt;span class="nb"&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;不出意外的话，现在你 Git 签名依然会出意外。&lt;/p&gt;
&lt;p&gt;&lt;img alt="Git 找不到私钥" class="gallery-image" data-flex-basis="639px" data-flex-grow="266" height="398" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://assets.moedev.cn/blog/photo/images/2023/ECJX.png!webp" srcset="https://verymoe.vercel.app/ECJX_7895002008507320342_hu_2ebd852e0940cebc.webp 800w, https://assets.moedev.cn/blog/photo/images/2023/ECJX.png!webp 1060w" width="1060"&gt;&lt;/p&gt;
&lt;p&gt;Git 没有找到你的私钥！？？？ 等等这是为什么呢？ 其实熟悉终端或者 Linux 的朋友应该发现了 Git bash 有一套自己的环境变量，它在调用 gpg 时调用的是 Git 安装时自带的，所以现在要让 Git 调用我们自己通过 brew 安装的。&lt;/p&gt;
&lt;p&gt;配置 Git 使用我们自己的 GPG 程序。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-shell" data-lang="shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git config --global gpg.program &lt;span class="s2"&gt;&amp;#34;/usr/local/MacGPG2/bin/gpg2&amp;#34;&lt;/span&gt; //如果你使用别的 GPG 管理工具请自行替换
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;好，现在当你再次 git commit 时，就会弹出 Yubikey PIN 验证界面了，push 完我们也终于能看到提交有小绿标了喵。&lt;/p&gt;
&lt;p&gt;&lt;img alt="结果" class="gallery-image" data-flex-basis="337px" data-flex-grow="140" height="909" loading="lazy" sizes="(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px" src="https://assets.moedev.cn/blog/photo/images/2023/El54.png!webp" srcset="https://verymoe.vercel.app/El54_3441232401177312282_hu_e5f9593c9902fe90.webp 800w, https://assets.moedev.cn/blog/photo/images/2023/El54.png!webp 1280w" width="1280"&gt;&lt;/p&gt;</description></item></channel></rss>