{"id":2414,"date":"2025-02-22T12:12:00","date_gmt":"2025-02-22T11:12:00","guid":{"rendered":"https:\/\/alessandromasciadri.com\/?p=2414"},"modified":"2025-02-23T14:41:32","modified_gmt":"2025-02-23T13:41:32","slug":"come-aggiungere-una-gpg-key-al-proprio-account-github","status":"publish","type":"post","link":"https:\/\/alessandromasciadri.com\/come-aggiungere-una-gpg-key-al-proprio-account-github\/","title":{"rendered":"Come aggiungere una GPG key al proprio account GitHub"},"content":{"rendered":"\t\t<div data-akihiro-type=\"ama-post\" data-akihiro-id=\"2414\" class=\"akihiro akihiro-2414\" data-akihiro-post-type=\"post\">\n\t\t\t\t<div class=\"akihiro-element akihiro-element-e24e382 e-flex e-con-boxed e-con e-parent\" data-id=\"e24e382\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"akihiro-element akihiro-element-5c9b289 akihiro-widget akihiro-widget-text-editor\" data-id=\"5c9b289\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>In questo tutorial \u00e8 basato sulla <a href=\"https:\/\/docs.github.com\/en\/authentication\/managing-commit-signature-verification\/about-commit-signature-verification\">guida ufficiale di GitHub<\/a> che spiega sia come il meccanismo di firma dei commit e dei tag funziona su GitHub ed \u00e8 pertanto da tenere come riferimento per un eventuale approfondimento dell&#8217;argomento.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-2aea632 akihiro-widget akihiro-widget-heading\" data-id=\"2aea632\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t<h3 class=\"akihiro-heading-title akihiro-size-default\">Creazione di una GPG key<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-ece3ffa akihiro-widget akihiro-widget-text-editor\" data-id=\"ece3ffa\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Il primo passo, a meno che non si abbia gi\u00e0 una GPG key e che si voglia utilizzare questa per firmare i propri commit su GitHub, \u00e8 quello di crearne una. Il comando da lanciare \u00e8 il seguente.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-feedc20 akihiro-widget akihiro-widget-code-highlight\" data-id=\"feedc20\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-bash \">\n\t\t\t\t<code readonly=\"true\" class=\"language-bash\">\n\t\t\t\t\t<xmp>gpg --full-generate-key<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-0b084fd akihiro-widget akihiro-widget-text-editor\" data-id=\"0b084fd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Seguire la procedura guidata selezionando le specifiche opzioni o semplicemente premendo invio per accettare l&#8217;opzione di default. Verranno richieste le seguenti:<\/p><ol><li>Tipologia della GPG key (default RSA)<\/li><li>Lunghezza della GPG key (default 3072)<\/li><li>Scadenza della GPG key (default nessuna scadenza)<\/li><\/ol>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-249af23 akihiro-widget akihiro-widget-text-editor\" data-id=\"249af23\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Dopo questi primi tre punti, verr\u00e0 richiesto di inserire:<\/p><ol start=\"4\"><li>Il proprio nome<\/li><li>La propria email<\/li><\/ol><p>Per quanto riguarda il nome c&#8217;\u00e8 poco da dire, mentre per quanto riguarda la propria email, \u00e8 necessario inserire l&#8217;email registrata e verificata su GitHub.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-36fd6e9 akihiro-widget akihiro-widget-text-editor\" data-id=\"36fd6e9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Terminato l&#8217;inserimento di questi dati verr\u00e0 richiesto di inserire una passphrase. Sceglierne una sufficientemente complessa e premere quindi invio per completare la procedura di creazione della GPG key.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-e822165 akihiro-widget akihiro-widget-heading\" data-id=\"e822165\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t<h3 class=\"akihiro-heading-title akihiro-size-default\">Visualizzazione dei dettagli della GPG key generata<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-32d365f akihiro-widget akihiro-widget-text-editor\" data-id=\"32d365f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Per visualizzare i dettagli della GPG key appena generata lanciamo il seguente comando:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-b48dc1f akihiro-widget akihiro-widget-code-highlight\" data-id=\"b48dc1f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-bash \">\n\t\t\t\t<code readonly=\"true\" class=\"language-bash\">\n\t\t\t\t\t<xmp>gpg --list-secret-keys --keyid-format=long<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-5cdf455 akihiro-widget akihiro-widget-text-editor\" data-id=\"5cdf455\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>L&#8217;output che otterremo sar\u00e0 simile al seguente:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-da94e8b akihiro-widget akihiro-widget-code-highlight\" data-id=\"da94e8b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language- \">\n\t\t\t\t<code readonly=\"true\" class=\"language-\">\n\t\t\t\t\t<xmp>\/Users\/hubot\/.gnupg\/secring.gpg\n------------------------------------\nsec   4096R\/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10]\nuid                          Hubot <hubot@example.com>\nssb   4096R\/4BB6D45482678BE3 2016-03-10<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-713e24e akihiro-widget akihiro-widget-text-editor\" data-id=\"713e24e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Copiamo quindi il GPG key ID, che in questo esempio \u00e8 <code>3AA5C34371567BD2<\/code> e lanciamo il seguente comando:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-1601179 akihiro-widget akihiro-widget-code-highlight\" data-id=\"1601179\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-bash \">\n\t\t\t\t<code readonly=\"true\" class=\"language-bash\">\n\t\t\t\t\t<xmp>gpg --armor --export 3AA5C34371567BD2<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-9f92f8c akihiro-widget akihiro-widget-text-editor\" data-id=\"9f92f8c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\tCopiamo tutto l&#8217;output ottenuto, compreso <code>-----BEGIN PGP PUBLIC KEY BLOCK-----<\/code> e <code>-----END PGP PUBLIC KEY BLOCK-----<\/code> e incolliamolo in Settings -> SSH and GPG keys del nostro GitHub account.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-3b410b6 akihiro-widget akihiro-widget-image\" data-id=\"3b410b6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"800\" height=\"298\" src=\"https:\/\/alessandromasciadri.com\/ama-uploads\/2025\/02\/github-add-gpg-key-01-1024x381.png\" class=\"attachment-large size-large ama-image-2419\" alt=\"\" srcset=\"https:\/\/alessandromasciadri.com\/ama-uploads\/2025\/02\/github-add-gpg-key-01-1024x381.png 1024w, https:\/\/alessandromasciadri.com\/ama-uploads\/2025\/02\/github-add-gpg-key-01-300x112.png 300w, https:\/\/alessandromasciadri.com\/ama-uploads\/2025\/02\/github-add-gpg-key-01-768x286.png 768w, https:\/\/alessandromasciadri.com\/ama-uploads\/2025\/02\/github-add-gpg-key-01.png 1252w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-8e2199d akihiro-widget akihiro-widget-heading\" data-id=\"8e2199d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t<h3 class=\"akihiro-heading-title akihiro-size-default\">Configurare git per firmare automaticamente tutti i commit e tag<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-1e9978a akihiro-widget akihiro-widget-text-editor\" data-id=\"1e9978a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Se si vuole che tutti i propri commit e i tag creati vengano automaticamente firmati, l&#8217;ultima cosa da fare \u00e8 configurare git. Il comando da lanciare \u00e8 il seguente:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-3d5c8c7 akihiro-widget akihiro-widget-code-highlight\" data-id=\"3d5c8c7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-bash \">\n\t\t\t\t<code readonly=\"true\" class=\"language-bash\">\n\t\t\t\t\t<xmp>git config --global user.signingkey 3AA5C34371567BD2<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-b392c48 akihiro-widget akihiro-widget-text-editor\" data-id=\"b392c48\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\tAncora una volta, la stringa <code>3AA5C34371567BD2<\/code> che corrisponde al GPG key ID del nostro esempio, deve essere opportunamente cambiato con il proprio.\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-f21169f akihiro-widget akihiro-widget-text-editor\" data-id=\"f21169f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Infine laciamo questi ultimi due comandi per istruire git di firmare automaticamente tutti i nostri commit e tag:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"akihiro-element akihiro-element-ba7a7db akihiro-widget akihiro-widget-code-highlight\" data-id=\"ba7a7db\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"akihiro-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-tomorrow copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-bash \">\n\t\t\t\t<code readonly=\"true\" class=\"language-bash\">\n\t\t\t\t\t<xmp>git config --global commit.gpgsign true\ngit config --global tag.gpgSign true<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>In questo tutorial \u00e8 basato sulla guida ufficiale di GitHub che spiega sia come il meccanismo di firma dei commit e dei tag funziona su GitHub ed \u00e8 pertanto da tenere come riferimento per un eventuale approfondimento dell&#8217;argomento. Creazione di una GPG key Il primo passo, a meno che non si abbia gi\u00e0 una GPG [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[35],"class_list":["post-2414","post","type-post","status-publish","format-standard","hentry","category-programmazione","tag-git"],"_links":{"self":[{"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/posts\/2414","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/comments?post=2414"}],"version-history":[{"count":10,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/posts\/2414\/revisions"}],"predecessor-version":[{"id":2425,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/posts\/2414\/revisions\/2425"}],"wp:attachment":[{"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/media?parent=2414"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/categories?post=2414"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/alessandromasciadri.com\/ama-json\/wp\/v2\/tags?post=2414"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}