{"id":431,"date":"2024-05-07T23:14:36","date_gmt":"2024-05-07T15:14:36","guid":{"rendered":"https:\/\/jdzhao.com\/?p=431"},"modified":"2024-05-14T18:53:54","modified_gmt":"2024-05-14T10:53:54","slug":"yubikey-gpg-pgp","status":"publish","type":"post","link":"https:\/\/jdzhao.com\/en\/yubikey-gpg-pgp\/","title":{"rendered":"A Guide to Using YubiKey for GPG\/PGP"},"content":{"rendered":"<p>Initially, I was reluctant to try a YubiKey because it's configured such that GPG\/PGP private keys can only be written to it and cannot be exported. Additionally, my AIR doesn't have a USB-A port, and the four YubiKeys I bought on discount two years ago all use USB-A, so I found it too troublesome to use.<\/p>\n\n\n\n<p>Later, after some casual research, I learned that I could generate several subkeys through GPG Suite, back up the private keys first, and then export them to the YubiKey. This way, I wouldn't have to worry about losing the private keys. So, during my free time this week, I began my imperfect practice with Yubico's GPG\/PGP.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"791\" height=\"1024\" src=\"https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/IMG_9441-791x1024.jpg?v=1715094848\" alt=\"\" class=\"wp-image-440\" style=\"width:500px\" srcset=\"https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/IMG_9441-791x1024.jpg?v=1715094848 791w, https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/IMG_9441-232x300.jpg?v=1715094848 232w, https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/IMG_9441-768x994.jpg?v=1715094848 768w, https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/IMG_9441-1187x1536.jpg?v=1715094848 1187w, https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/IMG_9441-9x12.jpg?v=1715094848 9w, https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/IMG_9441.jpg?v=1715094848 1491w\" sizes=\"auto, (max-width: 791px) 100vw, 791px\" \/><\/figure>\n\n\n\n<p>Before I proceed with the text, I need to mention a pitfall I encountered. Although the YubiKey 5 supports DSA public keys, it does not support DSA private keys. Initially, I chose a DSA signing key to keep the signature size smaller, but I couldn't import it into the YubiKey, which forced me to generate a new RSA subkey for signing and subsequently update the private keys on GitHub and key.jdzhao.com. For those starting fresh, you might want to avoid this issue.<\/p>\n\n\n\n<p>The complete process is well-documented online; here, my purpose is twofold: to keep a record and to share key points with the audience.<\/p>\n\n\n\n<p>1.YubiKey\u2019s PIN and PUK<\/p>\n\n\n\n<p>It's important to note that the PIN used for GPG and the PIN\/PUK used in the YubiKey Manager software for PIV are different concepts; they are independent of each other and should not be confused.<\/p>\n\n\n\n<p>When preparing to use the YubiKey for GPG, we need to modify the USERPIN (used for daily signing and encryption), ADMINPIN (used for importing private keys), and PUK (used for resetting the PIN after it's locked) through command-line tools.<\/p>\n\n\n\n<p>In command-line mode, we enter the YubiKey operation interface by using gpg \u2013edit-key, and here is a screenshot of the help section.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"826\" height=\"326\" src=\"https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/\u622a\u5c4f2024-05-07-22.53.35.png?v=1715093620\" alt=\"\" class=\"wp-image-432\" style=\"width:500px\" srcset=\"https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/\u622a\u5c4f2024-05-07-22.53.35.png?v=1715093620 826w, https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/\u622a\u5c4f2024-05-07-22.53.35-300x118.png?v=1715093620 300w, https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/\u622a\u5c4f2024-05-07-22.53.35-768x303.png?v=1715093620 768w, https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/\u622a\u5c4f2024-05-07-22.53.35-18x7.png?v=1715093620 18w\" sizes=\"auto, (max-width: 826px) 100vw, 826px\" \/><\/figure>\n\n\n\n<p>By entering \"admin\", you can access the admin interface, where you'll see the following operational commands.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"704\" height=\"606\" src=\"https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/\u622a\u5c4f2024-05-07-22.54.20.png?v=1715093670\" alt=\"\" class=\"wp-image-433\" style=\"width:500px\" srcset=\"https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/\u622a\u5c4f2024-05-07-22.54.20.png?v=1715093670 704w, https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/\u622a\u5c4f2024-05-07-22.54.20-300x258.png?v=1715093670 300w, https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/\u622a\u5c4f2024-05-07-22.54.20-14x12.png?v=1715093670 14w\" sizes=\"auto, (max-width: 704px) 100vw, 704px\" \/><\/figure>\n\n\n\n<p>\u5efa\u8bae\u8f93\u5165passwd\uff0c\u4fee\u6539PIN\u3001ADMIN PIN\uff0c\u4ee5\u4fbf\u79c1\u94a5\u7684\u4fee\u6539\u548c\u7b7e\u540d\u7684\u5b89\u5168\u3002<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"518\" height=\"258\" src=\"https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/\u622a\u5c4f2024-05-07-22.55.21.png?v=1715093728\" alt=\"\" class=\"wp-image-434\" srcset=\"https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/\u622a\u5c4f2024-05-07-22.55.21.png?v=1715093728 518w, https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/\u622a\u5c4f2024-05-07-22.55.21-300x149.png?v=1715093728 300w, https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/\u622a\u5c4f2024-05-07-22.55.21-18x9.png?v=1715093728 18w\" sizes=\"auto, (max-width: 518px) 100vw, 518px\" \/><\/figure>\n\n\n\n<p>2.. About Generating GPG\/PGP Keys<\/p>\n\n\n\n<p>To allow for backups, we opt to generate private keys using third-party software and then import them. On macOS, you can use GPG Suite, and on Windows, it's recommended to use GPG4Win. Start by generating a primary key, and then it's advisable to create three subkeys for signing (S), encryption (E), and authentication (A). Managing subkeys later\u2014such as adding, revoking, or deleting\u2014can affect our public key, leading to the hassle of redistributing it multiple times.<\/p>\n\n\n\n<p>3. Backing Up Private Keys<\/p>\n\n\n\n<p>After generating them, first back up your public keys, subkeys, and revocation certificates. For GUI, you can directly use the software for backup. If using the command line, you can back up like this:<\/p>\n\n\n\n<p>gpg &#8211;armor &#8211;export-secret-keys your-key-id &gt; privkey.asc<\/p>\n\n\n\n<p>After exporting, it's recommended to package or compress and encrypt the data for storage in a secure location.<\/p>\n\n\n\n<p>4. Importing to YubiKey<\/p>\n\n\n\n<p>Operations for importing to YubiKey must use the command line tool, and typically, only the subkeys are imported, not the primary key.<\/p>\n\n\n\n<p>enter the following to see the overall situation of the key:\ngpg \u2013expert \u2013edit-key USERID (usually an email or fingerprint)\nThis procedure helps manage the keys effectively and ensure their security when using with YubiKey.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"254\" height=\"582\" src=\"https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/\u622a\u5c4f2024-05-07-23.02.28.png?v=1715094154\" alt=\"\" class=\"wp-image-435\" style=\"width:auto;height:500px\" srcset=\"https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/\u622a\u5c4f2024-05-07-23.02.28.png?v=1715094154 254w, https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/\u622a\u5c4f2024-05-07-23.02.28-131x300.png?v=1715094154 131w, https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/\u622a\u5c4f2024-05-07-23.02.28-5x12.png?v=1715094154 5w\" sizes=\"auto, (max-width: 254px) 100vw, 254px\" \/><\/figure>\n\n\n\n<p>In the GPG key management interface, sec denotes your primary key, and ssb refers to your subkeys. Generally, you cannot select multiple keys at once; you need to import them one by one.<\/p>\n\n\n\n<p>y default, the first key is labeled as Key 0. You should skip the primary key and enter key 1 to select the first subkey by default. Once selected, an asterisk (*) will appear next to it, indicating that it has been selected.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"206\" height=\"102\" src=\"https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/\u622a\u5c4f2024-05-07-23.04.50.png?v=1715094297\" alt=\"\" class=\"wp-image-436\" srcset=\"https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/\u622a\u5c4f2024-05-07-23.04.50.png?v=1715094297 206w, https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/\u622a\u5c4f2024-05-07-23.04.50-18x9.png?v=1715094297 18w\" sizes=\"auto, (max-width: 206px) 100vw, 206px\" \/><\/figure>\n\n\n\n<p>Next, type keytocard, which will prompt you to choose a slot. Typically, these slots correspond to the different functions of the subkeys:Signing (S slot)\nAuthentication (A slot)\nEncryption (E slot)\nEach slot on the YubiKey is designed to hold a specific type of subkey, ensuring that each function\u2014signing, authentication, and encryption\u2014is properly isolated and managed. This setup enhances the security and functionality of the keys stored on the device.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"382\" height=\"152\" src=\"https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/\u622a\u5c4f2024-05-07-23.05.26.png?v=1715094332\" alt=\"\" class=\"wp-image-437\" srcset=\"https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/\u622a\u5c4f2024-05-07-23.05.26.png?v=1715094332 382w, https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/\u622a\u5c4f2024-05-07-23.05.26-300x119.png?v=1715094332 300w, https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/\u622a\u5c4f2024-05-07-23.05.26-18x7.png?v=1715094332 18w\" sizes=\"auto, (max-width: 382px) 100vw, 382px\" \/><\/figure>\n\n\n\n<p>5. YUBIKEY  Status<\/p>\n\n\n\n<p>You can check the status of your YubiKey by using the following command:gpg --edit-card.This command will provide you with an interface that displays various information about your YubiKey, such as the card version, serial number, and the user data stored on the card. It also allows you to perform other card management functions directly from the command line.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"356\" height=\"952\" src=\"https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/\u622a\u5c4f2024-05-07-23.07.03.png?v=1715094431\" alt=\"\" class=\"wp-image-438\" style=\"width:auto;height:500px\" srcset=\"https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/\u622a\u5c4f2024-05-07-23.07.03.png?v=1715094431 356w, https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/\u622a\u5c4f2024-05-07-23.07.03-112x300.png?v=1715094431 112w, https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/\u622a\u5c4f2024-05-07-23.07.03-4x12.png?v=1715094431 4w\" sizes=\"auto, (max-width: 356px) 100vw, 356px\" \/><\/figure>\n\n\n\n<p>You can view the overall condition of your YubiKey, such as the settings for PIV (typically used for system logins), and the various subkeys that have been imported. The subkey used for AUTH is primarily for logging into and accessing remote servers, which is a topic I plan to discuss in detail in a separate article when time permits.<\/p>\n\n\n\n<p>\u516d\u3001\u65e5\u5e38\u4f7f\u7528<\/p>\n\n\n\n<p>\u8bf7\u6ce8\u610f\uff0c\u5bfc\u5165\u79c1\u94a5\u7684\u65f6\u5019\uff0c\u4f1a\u8f93\u5165\u4f60\u7684\u79c1\u94a5\u5bc6\u7801\u3001ADMIN PIN\uff08\u8bf7\u6ce8\u610f\u662fADMIN PIN\uff09<\/p>\n\n\n\n<p>\u65e5\u5e38\u4f7f\u7528\uff0c\u662f\u8f93\u5165USER PIN\uff08\u666e\u901a\u7684PIN\uff09\uff0c\u4e0b\u56fe\u662f\u65e5\u5e38\u52a0\u5bc6\u3001\u7b7e\u540d\u7684PIN\u7a97\u53e3\uff08\u5982\u679c\u4f60\u8bbe\u7f6e\u4e86\u5fc5\u987b\u63a5\u89e6YUBIKEY ,\u90a3\u4e48\u8f93\u5165PIN\u540e\uff0c\u8fd8\u9700\u8981\u63a5\u89e6YUBIKEY\u624d\u80fd\u5b8c\u6210\uff0cYUBIKEY\u5904\u4e8e\u7b49\u5f85\u6a21\u5f0f\u65f6\uff0cKEY\u4e0a\u7684\u6307\u793a\u706f\u4f1a\u5e38\u95ea\uff09<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"234\" src=\"https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/\u622a\u5c4f2024-05-07-23.38.42-1024x234.png?v=1715096330\" alt=\"\" class=\"wp-image-443\" srcset=\"https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/\u622a\u5c4f2024-05-07-23.38.42-1024x234.png?v=1715096330 1024w, https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/\u622a\u5c4f2024-05-07-23.38.42-300x68.png?v=1715096330 300w, https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/\u622a\u5c4f2024-05-07-23.38.42-768x175.png?v=1715096330 768w, https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/\u622a\u5c4f2024-05-07-23.38.42-18x4.png?v=1715096330 18w, https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/\u622a\u5c4f2024-05-07-23.38.42.png?v=1715096330 1078w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>These are the key points concerning the use of YubiKey for GPG\/PGP applications. If I think of anything else, I'll add it later. I welcome further discussion and exchange of ideas on this topic.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>-----BEGIN PGP SIGNED MESSAGE-----\nHash: SHA256\n\n\u672c\u5904\u7b7e\u540d\uff0c\u901a\u8fc7YUBIKEY\u7684RSA\u5b50\u94a5\u7b7e\u53d1\n\u4f60\u53ef\u4ee5\u901a\u8fc7key.jdzhao.com\u4e0b\u8f7d\u6211\u7684\u516c\u94a5\n\u5e76\u9a8c\u8bc1\u672c\u7b7e\u540d\u7684\u6709\u6548\u6027\u3002\n-----BEGIN PGP SIGNATURE-----\n\niQIzBAEBCAAdFiEE6pG3rRqQ57EQTPmw6kx\/\/Ye6jBYFAmY6RIgACgkQ6kx\/\/Ye6\njBZdFQ\/\/ckGWmCOk82r3dQa8GN3Bg8BLiuzX1i7rHs1fdqreBZwRJ5JcXtPOQ2aK\nJY1VTpK6P7rJA0j3E5fa3fJ\/fQ9+NSLIxD4UHJukIMQMqhN6FbAwf3EUXFS5QRg0\nurJ1z4ZkfqpSpMCVABj6cs5P6XaXWa6IU7U3qzv278pN46JuvbWPynFYO+MmbZHK\nMM2c4z+hi88MMWa6tSp31gclB7DwmEN2ekP8TggQKck5moO+C2F1KDy+L\/31Y+LO\nSxOq5EuWk9MObLWzzd8lz5MbBTJswfPc\/+wIwNwtHVmi0Qxi80UabXb1dIpGqliZ\nbo5e5RQgiULYNv8Kf582suXV8nnTZkRwknB9N\/jOp4HecbMInkMGoNj418b1JXS+\nUt+\/PT\/DXQMrUrrt1OEACe5+ocbHFs9Y6pjXF7QhaANX8Cfrpf+XjnCA28PmXJT3\n4mtegbTzyVybcB+6kBKpjd8f56dFoiEZ4qGsSM1k7y25KbL944TijXUDwBLrc3Cx\nB3BcfDWvJVYg78nw57zzrmZtRk4lNQsg+Mr+OrhOjhRWWPzxnLVq7yioKOwN4Z\/1\nMVi0MlxfnDCJ2FXxmaU3aD4dMLQhYRoqkNt7i4ajLeAJ7LIraELkEajpOE\/VooWv\nSo9xR+UbLqCa4w7lMaTUmKlRzegjyZsSbE3CI2uTeilfvZYa9pI=\n=FmbH\n-----END PGP SIGNATURE-----<\/code><\/pre>","protected":false},"excerpt":{"rendered":"<p>\u6700\u5f00\u59cb\uff0c\u5176\u5b9e\u4e0d\u60f3\u5c1d\u8bd5yubikey\u7684\uff0c\u56e0\u4e3ayubikey\u5bf9GPG\/PGP\u79c1\u94a5\u5c5e\u4e8e\u53ea\u80fd\u5199\u5165\u4e0d\u80fd\u5bfc\u51fa\u7684\u8bbe\u7f6e\uff0c\u51b5\u4e14\u81ea [&hellip;]<\/p>","protected":false},"author":1,"featured_media":440,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[5],"tags":[20],"class_list":["post-431","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-5","tag-20"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>YUBIKEY\u7684GPG\/PGP\u4f7f\u7528\u4e0d\u5b8c\u5168\u5b9e\u8df5 - \u91cd\u5149\u9601-Jundong&#039;s Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jdzhao.com\/en\/yubikey-gpg-pgp\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"YUBIKEY\u7684GPG\/PGP\u4f7f\u7528\u4e0d\u5b8c\u5168\u5b9e\u8df5 - \u91cd\u5149\u9601-Jundong&#039;s Blog\" \/>\n<meta property=\"og:description\" content=\"\u6700\u5f00\u59cb\uff0c\u5176\u5b9e\u4e0d\u60f3\u5c1d\u8bd5yubikey\u7684\uff0c\u56e0\u4e3ayubikey\u5bf9GPG\/PGP\u79c1\u94a5\u5c5e\u4e8e\u53ea\u80fd\u5199\u5165\u4e0d\u80fd\u5bfc\u51fa\u7684\u8bbe\u7f6e\uff0c\u51b5\u4e14\u81ea [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jdzhao.com\/en\/yubikey-gpg-pgp\/\" \/>\n<meta property=\"og:site_name\" content=\"\u91cd\u5149\u9601-Jundong&#039;s Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-05-07T15:14:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-14T10:53:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/IMG_9441.jpg?v=1715094848\" \/>\n\t<meta property=\"og:image:width\" content=\"1491\" \/>\n\t<meta property=\"og:image:height\" content=\"1930\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"MR.Zhao\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"MR.Zhao\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jdzhao.com\/en\/yubikey-gpg-pgp\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jdzhao.com\/en\/yubikey-gpg-pgp\/\"},\"author\":{\"name\":\"MR.Zhao\",\"@id\":\"https:\/\/jdzhao.com\/#\/schema\/person\/532d6b7e3c1da655148aba19b550ae62\"},\"headline\":\"YUBIKEY\u7684GPG\/PGP\u4f7f\u7528\u4e0d\u5b8c\u5168\u5b9e\u8df5\",\"datePublished\":\"2024-05-07T15:14:36+00:00\",\"dateModified\":\"2024-05-14T10:53:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jdzhao.com\/en\/yubikey-gpg-pgp\/\"},\"wordCount\":106,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\/\/jdzhao.com\/#\/schema\/person\/532d6b7e3c1da655148aba19b550ae62\"},\"image\":{\"@id\":\"https:\/\/jdzhao.com\/en\/yubikey-gpg-pgp\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/IMG_9441.jpg?v=1715094848\",\"keywords\":[\"\u52a0\u5bc6\"],\"articleSection\":[\"\u4e92\u8054\u7f51\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/jdzhao.com\/en\/yubikey-gpg-pgp\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jdzhao.com\/en\/yubikey-gpg-pgp\/\",\"url\":\"https:\/\/jdzhao.com\/en\/yubikey-gpg-pgp\/\",\"name\":\"YUBIKEY\u7684GPG\/PGP\u4f7f\u7528\u4e0d\u5b8c\u5168\u5b9e\u8df5 - \u91cd\u5149\u9601-Jundong&#039;s Blog\",\"isPartOf\":{\"@id\":\"https:\/\/jdzhao.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/jdzhao.com\/en\/yubikey-gpg-pgp\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/jdzhao.com\/en\/yubikey-gpg-pgp\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/IMG_9441.jpg?v=1715094848\",\"datePublished\":\"2024-05-07T15:14:36+00:00\",\"dateModified\":\"2024-05-14T10:53:54+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jdzhao.com\/en\/yubikey-gpg-pgp\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jdzhao.com\/en\/yubikey-gpg-pgp\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jdzhao.com\/en\/yubikey-gpg-pgp\/#primaryimage\",\"url\":\"https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/IMG_9441.jpg?v=1715094848\",\"contentUrl\":\"https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/IMG_9441.jpg?v=1715094848\",\"width\":1491,\"height\":1930},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jdzhao.com\/en\/yubikey-gpg-pgp\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/jdzhao.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"YUBIKEY\u7684GPG\/PGP\u4f7f\u7528\u4e0d\u5b8c\u5168\u5b9e\u8df5\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jdzhao.com\/#website\",\"url\":\"https:\/\/jdzhao.com\/\",\"name\":\"\u91cd\u5149\u9601-Jundong's Blog\",\"description\":\"\u4e00\u4e2a\u5206\u4eab\u751f\u6d3b\u7684\u81ea\u7559\u5730\",\"publisher\":{\"@id\":\"https:\/\/jdzhao.com\/#\/schema\/person\/532d6b7e3c1da655148aba19b550ae62\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jdzhao.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/jdzhao.com\/#\/schema\/person\/532d6b7e3c1da655148aba19b550ae62\",\"name\":\"MR.Zhao\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jdzhao.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/01\/cropped-4de75d49-562b-4335-a7d0-57a27272e5a3.webp\",\"contentUrl\":\"https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/01\/cropped-4de75d49-562b-4335-a7d0-57a27272e5a3.webp\",\"width\":536,\"height\":525,\"caption\":\"MR.Zhao\"},\"logo\":{\"@id\":\"https:\/\/jdzhao.com\/#\/schema\/person\/image\/\"},\"sameAs\":[\"https:\/\/jdzhao.com\"],\"url\":\"https:\/\/jdzhao.com\/en\/author\/zhaojundong\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"YUBIKEY\u7684GPG\/PGP\u4f7f\u7528\u4e0d\u5b8c\u5168\u5b9e\u8df5 - \u91cd\u5149\u9601-Jundong&#039;s Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jdzhao.com\/en\/yubikey-gpg-pgp\/","og_locale":"en_US","og_type":"article","og_title":"YUBIKEY\u7684GPG\/PGP\u4f7f\u7528\u4e0d\u5b8c\u5168\u5b9e\u8df5 - \u91cd\u5149\u9601-Jundong&#039;s Blog","og_description":"\u6700\u5f00\u59cb\uff0c\u5176\u5b9e\u4e0d\u60f3\u5c1d\u8bd5yubikey\u7684\uff0c\u56e0\u4e3ayubikey\u5bf9GPG\/PGP\u79c1\u94a5\u5c5e\u4e8e\u53ea\u80fd\u5199\u5165\u4e0d\u80fd\u5bfc\u51fa\u7684\u8bbe\u7f6e\uff0c\u51b5\u4e14\u81ea [&hellip;]","og_url":"https:\/\/jdzhao.com\/en\/yubikey-gpg-pgp\/","og_site_name":"\u91cd\u5149\u9601-Jundong&#039;s Blog","article_published_time":"2024-05-07T15:14:36+00:00","article_modified_time":"2024-05-14T10:53:54+00:00","og_image":[{"width":1491,"height":1930,"url":"https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/IMG_9441.jpg?v=1715094848","type":"image\/jpeg"}],"author":"MR.Zhao","twitter_card":"summary_large_image","twitter_misc":{"Written by":"MR.Zhao","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jdzhao.com\/en\/yubikey-gpg-pgp\/#article","isPartOf":{"@id":"https:\/\/jdzhao.com\/en\/yubikey-gpg-pgp\/"},"author":{"name":"MR.Zhao","@id":"https:\/\/jdzhao.com\/#\/schema\/person\/532d6b7e3c1da655148aba19b550ae62"},"headline":"YUBIKEY\u7684GPG\/PGP\u4f7f\u7528\u4e0d\u5b8c\u5168\u5b9e\u8df5","datePublished":"2024-05-07T15:14:36+00:00","dateModified":"2024-05-14T10:53:54+00:00","mainEntityOfPage":{"@id":"https:\/\/jdzhao.com\/en\/yubikey-gpg-pgp\/"},"wordCount":106,"commentCount":2,"publisher":{"@id":"https:\/\/jdzhao.com\/#\/schema\/person\/532d6b7e3c1da655148aba19b550ae62"},"image":{"@id":"https:\/\/jdzhao.com\/en\/yubikey-gpg-pgp\/#primaryimage"},"thumbnailUrl":"https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/IMG_9441.jpg?v=1715094848","keywords":["\u52a0\u5bc6"],"articleSection":["\u4e92\u8054\u7f51"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/jdzhao.com\/en\/yubikey-gpg-pgp\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/jdzhao.com\/en\/yubikey-gpg-pgp\/","url":"https:\/\/jdzhao.com\/en\/yubikey-gpg-pgp\/","name":"YUBIKEY\u7684GPG\/PGP\u4f7f\u7528\u4e0d\u5b8c\u5168\u5b9e\u8df5 - \u91cd\u5149\u9601-Jundong&#039;s Blog","isPartOf":{"@id":"https:\/\/jdzhao.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/jdzhao.com\/en\/yubikey-gpg-pgp\/#primaryimage"},"image":{"@id":"https:\/\/jdzhao.com\/en\/yubikey-gpg-pgp\/#primaryimage"},"thumbnailUrl":"https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/IMG_9441.jpg?v=1715094848","datePublished":"2024-05-07T15:14:36+00:00","dateModified":"2024-05-14T10:53:54+00:00","breadcrumb":{"@id":"https:\/\/jdzhao.com\/en\/yubikey-gpg-pgp\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jdzhao.com\/en\/yubikey-gpg-pgp\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jdzhao.com\/en\/yubikey-gpg-pgp\/#primaryimage","url":"https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/IMG_9441.jpg?v=1715094848","contentUrl":"https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/IMG_9441.jpg?v=1715094848","width":1491,"height":1930},{"@type":"BreadcrumbList","@id":"https:\/\/jdzhao.com\/en\/yubikey-gpg-pgp\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/jdzhao.com\/"},{"@type":"ListItem","position":2,"name":"YUBIKEY\u7684GPG\/PGP\u4f7f\u7528\u4e0d\u5b8c\u5168\u5b9e\u8df5"}]},{"@type":"WebSite","@id":"https:\/\/jdzhao.com\/#website","url":"https:\/\/jdzhao.com\/","name":"\u91cd\u5149\u9601-Jundong's Blog","description":"\u4e00\u4e2a\u5206\u4eab\u751f\u6d3b\u7684\u81ea\u7559\u5730","publisher":{"@id":"https:\/\/jdzhao.com\/#\/schema\/person\/532d6b7e3c1da655148aba19b550ae62"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jdzhao.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/jdzhao.com\/#\/schema\/person\/532d6b7e3c1da655148aba19b550ae62","name":"MR.Zhao","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jdzhao.com\/#\/schema\/person\/image\/","url":"https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/01\/cropped-4de75d49-562b-4335-a7d0-57a27272e5a3.webp","contentUrl":"https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/01\/cropped-4de75d49-562b-4335-a7d0-57a27272e5a3.webp","width":536,"height":525,"caption":"MR.Zhao"},"logo":{"@id":"https:\/\/jdzhao.com\/#\/schema\/person\/image\/"},"sameAs":["https:\/\/jdzhao.com"],"url":"https:\/\/jdzhao.com\/en\/author\/zhaojundong\/"}]}},"jetpack_featured_media_url":"https:\/\/jdzhao.com\/wp-content\/uploads\/2024\/05\/IMG_9441.jpg?v=1715094848","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/jdzhao.com\/en\/wp-json\/wp\/v2\/posts\/431","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jdzhao.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jdzhao.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jdzhao.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jdzhao.com\/en\/wp-json\/wp\/v2\/comments?post=431"}],"version-history":[{"count":3,"href":"https:\/\/jdzhao.com\/en\/wp-json\/wp\/v2\/posts\/431\/revisions"}],"predecessor-version":[{"id":444,"href":"https:\/\/jdzhao.com\/en\/wp-json\/wp\/v2\/posts\/431\/revisions\/444"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jdzhao.com\/en\/wp-json\/wp\/v2\/media\/440"}],"wp:attachment":[{"href":"https:\/\/jdzhao.com\/en\/wp-json\/wp\/v2\/media?parent=431"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jdzhao.com\/en\/wp-json\/wp\/v2\/categories?post=431"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jdzhao.com\/en\/wp-json\/wp\/v2\/tags?post=431"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}