Informarle a Git acerca de tu llave GPG
Si estás utilizando una llave GPG que empata con tu identidad de confirmante y tu dirección de correo electrónico verificada asociada con tu cuenta de tu instancia de GitHub Enterprise Server, entonces puedes comenzar a firmar confirmaciones y etiquetas.
Si no tienes una llave GPG que coincida con la identidad de la persona que confirma el cambio, debes asociar un correo electrónico a una llave existente. Para obtener más información, consulta "Asociar un correo electrónico a tu llave GPG".
Si tienes múltiples llaves GPG, le debes decir a Git cuál utilizar.
-
Abre la TerminalTerminalGit Bash.
-
Utiliza el comando
gpg --list-secret-keys --keyid-format=long
para enumerar la forma larga de las llaves GPG para las cuales tienes tanto una llave pública como una privada. Se requiere una llave privada para registrar confirmaciones o etiquetas.$ gpg --list-secret-keys --keyid-format=long
Nota: Algunas instalaciones GPG en Linux pueden requerir que uses
gpg2 --list-keys --keyid-format LONG
para visualizar una lista de tus llaves existentes en su lugar. En este caso también deberás configurar Git para que usegpg2
by runninggit config --global gpg.program gpg2
. -
Desde la lista de llaves GPG, compia la forma larga de la ID de la llave GPG que quieres utilizar. En este ejemplo, el ID de la llave GPG es
3AA5C34371567BD2
:$ gpg --list-secret-keys --keyid-format=long /Users/hubot/.gnupg/secring.gpg ------------------------------------ sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10] uid Hubot
ssb 4096R/42B317FD4BA89E7A 2016-03-10 -
Para configurar tu llave de firma GPG en Git, pega el siguiente texto en sustitución de la ID de la llave GPG que quieras utilizar. En este ejemplo, el ID de la llave GPG es
3AA5C34371567BD2
:$ git config --global user.signingkey 3AA5C34371567BD2
-
Si no estás utilizando la suite de GPG, ejecuta el siguiente comando en el shell de
zsh
para agregar la llave GPG a tu archivo.zshrc
, si es que existe, o a tu archivo.zprofile
:$ if [ -r ~/.zshrc ]; then echo 'export GPG_TTY=$(tty)' >> ~/.zshrc; \ else echo 'export GPG_TTY=$(tty)' >> ~/.zprofile; fi
Como alternativa, si utilizas el shell
bash
, ejecuta este comando:$ if [ -r ~/.bash_profile ]; then echo 'export GPG_TTY=$(tty)' >> ~/.bash_profile; \ else echo 'export GPG_TTY=$(tty)' >> ~/.profile; fi
-
Opcionalmente, para que se te pida ingresar un PIN o frase de ingreso cuando estos se requieran, instala
pinentry-mac
. Pior ejemplo, utilizando Homebrew:$ brew install pinentry-mac $ echo "pinentry-program $(which pinentry-mac)" >> ~/.gnupg/gpg-agent.conf $ killall gpg-agent
Informarle a Git acerca de tu llave X.509
Puedes usar smimesign para firmar confirmaciones y etiquetas utilizando S/MIME en lugar de GPG.
Nota: la verificación de firma S/MIME está disponible desde Git 2.19 o posterior. Para actualizar tu versiíon de Git, consulta el sitio web de Git.
- Instala smimesign.
- Abre la TerminalTerminalGit Bash.
- Configura Git para que use S/MIME para firmar confirmaciones y etiquetas. En Git 2.19 o posterior, utiliza los comandos
git config gpg.x509.program
ygit config gpg.format
:
- Para utilizar S/MIME para firmar todos los repositorios:
$ git config --global gpg.x509.program smimesign $ git config --global gpg.format x509
- Para utilizar S/MIME para firmar un repositorio único:
En Git 2.18 o inferior, utiliza el comando$ cd /path/to/my/repository $ git config --local gpg.x509.program smimesign $ git config --local gpg.format x509
git config gpg.program
: - Para utilizar S/MIME para firmar todos los repositorios:
$ git config --global gpg.program smimesign
- Para utilizar S/MIME para firmar un repositorio único:
Si estás utilizando una llave X.509 que coincide con tu identidad de persona que confirma el cambio, puedes comenzar firmando confirmaciones y etiquetas.$ cd /path/to/my/repository $ git config --local gpg.program smimesign
- Si no estás utilizando una llave X.509 que coincida con tu identidad de confirmante, lista las llaves X.509 para las cuales tienes tanto un certificado como una llave privada utilizando el comando
smimesign --list-keys
.$ smimesign --list-keys
- De la lista de llaves X.509, copia el ID del certificado de la llave X.509 que desearías utilizar. En este ejemplo, el ID del certificado es
0ff455a2708394633e4bb2f88002e3cd80cbd76f
:$ smimesign --list-keys ID: 0ff455a2708394633e4bb2f88002e3cd80cbd76f S/N: a2dfa7e8c9c4d1616f1009c988bb70f Algorithm: SHA256-RSA Validity: 2017-11-22 00:00:00 +0000 UTC - 2020-11-22 12:00:00 +0000 UTC Issuer: CN=DigiCert SHA2 Assured ID CA,OU=www.digicert.com,O=DigiCert Inc,C=US Subject: CN=Octocat,O=GitHub\, Inc.,L=San Francisco,ST=California,C=US Emails: octocat@github.com
- Para configurar tu llave de firma X.509 en Git, pega el texto de abajo, sustituyendo el ID del certificado que copiaste anteriormente.
- Para utilizar tu llave X.509 para firmar todos los repositorios:
$ git config --global user.signingkey 0ff455a2708394633e4bb2f88002e3cd80cbd76f
- Para utilizar tu llave X.509 para firmar un repositorio único:
$ cd /path/to/my/repository $ git config --local user.signingkey 0ff455a2708394633e4bb2f88002e3cd80cbd76f
Informarle a Git acerca de tu llave GPG
Si estás utilizando una llave GPG que empata con tu identidad de confirmante y tu dirección de correo electrónico verificada asociada con tu cuenta de tu instancia de GitHub Enterprise Server, entonces puedes comenzar a firmar confirmaciones y etiquetas.
Si no tienes una llave GPG que coincida con la identidad de la persona que confirma el cambio, debes asociar un correo electrónico a una llave existente. Para obtener más información, consulta "Asociar un correo electrónico a tu llave GPG".
Si tienes múltiples llaves GPG, le debes decir a Git cuál utilizar.
-
Abre la TerminalTerminalGit Bash.
-
Utiliza el comando
gpg --list-secret-keys --keyid-format=long
para enumerar la forma larga de las llaves GPG para las cuales tienes tanto una llave pública como una privada. Se requiere una llave privada para registrar confirmaciones o etiquetas.$ gpg --list-secret-keys --keyid-format=long
Nota: Algunas instalaciones GPG en Linux pueden requerir que uses
gpg2 --list-keys --keyid-format LONG
para visualizar una lista de tus llaves existentes en su lugar. En este caso también deberás configurar Git para que usegpg2
by runninggit config --global gpg.program gpg2
. -
Desde la lista de llaves GPG, compia la forma larga de la ID de la llave GPG que quieres utilizar. En este ejemplo, el ID de la llave GPG es
3AA5C34371567BD2
:$ gpg --list-secret-keys --keyid-format=long /Users/hubot/.gnupg/secring.gpg ------------------------------------ sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10] uid Hubot
ssb 4096R/42B317FD4BA89E7A 2016-03-10 -
Para configurar tu llave de firma GPG en Git, pega el siguiente texto en sustitución de la ID de la llave GPG que quieras utilizar. En este ejemplo, el ID de la llave GPG es
3AA5C34371567BD2
:$ git config --global user.signingkey 3AA5C34371567BD2
Informarle a Git acerca de tu llave X.509
Puedes usar smimesign para firmar confirmaciones y etiquetas utilizando S/MIME en lugar de GPG.
Nota: la verificación de firma S/MIME está disponible desde Git 2.19 o posterior. Para actualizar tu versiíon de Git, consulta el sitio web de Git.
- Instala smimesign.
- Abre la TerminalTerminalGit Bash.
- Configura Git para que use S/MIME para firmar confirmaciones y etiquetas. En Git 2.19 o posterior, utiliza los comandos
git config gpg.x509.program
ygit config gpg.format
:
- Para utilizar S/MIME para firmar todos los repositorios:
$ git config --global gpg.x509.program smimesign $ git config --global gpg.format x509
- Para utilizar S/MIME para firmar un repositorio único:
En Git 2.18 o inferior, utiliza el comando$ cd /path/to/my/repository $ git config --local gpg.x509.program smimesign $ git config --local gpg.format x509
git config gpg.program
: - Para utilizar S/MIME para firmar todos los repositorios:
$ git config --global gpg.program smimesign
- Para utilizar S/MIME para firmar un repositorio único:
Si estás utilizando una llave X.509 que coincide con tu identidad de persona que confirma el cambio, puedes comenzar firmando confirmaciones y etiquetas.$ cd /path/to/my/repository $ git config --local gpg.program smimesign
- Si no estás utilizando una llave X.509 que coincida con tu identidad de confirmante, lista las llaves X.509 para las cuales tienes tanto un certificado como una llave privada utilizando el comando
smimesign --list-keys
.$ smimesign --list-keys
- De la lista de llaves X.509, copia el ID del certificado de la llave X.509 que desearías utilizar. En este ejemplo, el ID del certificado es
0ff455a2708394633e4bb2f88002e3cd80cbd76f
:$ smimesign --list-keys ID: 0ff455a2708394633e4bb2f88002e3cd80cbd76f S/N: a2dfa7e8c9c4d1616f1009c988bb70f Algorithm: SHA256-RSA Validity: 2017-11-22 00:00:00 +0000 UTC - 2020-11-22 12:00:00 +0000 UTC Issuer: CN=DigiCert SHA2 Assured ID CA,OU=www.digicert.com,O=DigiCert Inc,C=US Subject: CN=Octocat,O=GitHub\, Inc.,L=San Francisco,ST=California,C=US Emails: octocat@github.com
- Para configurar tu llave de firma X.509 en Git, pega el texto de abajo, sustituyendo el ID del certificado que copiaste anteriormente.
- Para utilizar tu llave X.509 para firmar todos los repositorios:
$ git config --global user.signingkey 0ff455a2708394633e4bb2f88002e3cd80cbd76f
- Para utilizar tu llave X.509 para firmar un repositorio único:
$ cd /path/to/my/repository $ git config --local user.signingkey 0ff455a2708394633e4bb2f88002e3cd80cbd76f
Informarle a Git acerca de tu llave GPG
Si estás utilizando una llave GPG que empata con tu identidad de confirmante y tu dirección de correo electrónico verificada asociada con tu cuenta de tu instancia de GitHub Enterprise Server, entonces puedes comenzar a firmar confirmaciones y etiquetas.
Si no tienes una llave GPG que coincida con la identidad de la persona que confirma el cambio, debes asociar un correo electrónico a una llave existente. Para obtener más información, consulta "Asociar un correo electrónico a tu llave GPG".
Si tienes múltiples llaves GPG, le debes decir a Git cuál utilizar.
-
Abre la TerminalTerminalGit Bash.
-
Utiliza el comando
gpg --list-secret-keys --keyid-format=long
para enumerar la forma larga de las llaves GPG para las cuales tienes tanto una llave pública como una privada. Se requiere una llave privada para registrar confirmaciones o etiquetas.$ gpg --list-secret-keys --keyid-format=long
Nota: Algunas instalaciones GPG en Linux pueden requerir que uses
gpg2 --list-keys --keyid-format LONG
para visualizar una lista de tus llaves existentes en su lugar. En este caso también deberás configurar Git para que usegpg2
by runninggit config --global gpg.program gpg2
. -
Desde la lista de llaves GPG, compia la forma larga de la ID de la llave GPG que quieres utilizar. En este ejemplo, el ID de la llave GPG es
3AA5C34371567BD2
:$ gpg --list-secret-keys --keyid-format=long /Users/hubot/.gnupg/secring.gpg ------------------------------------ sec 4096R/3AA5C34371567BD2 2016-03-10 [expires: 2017-03-10] uid Hubot
ssb 4096R/42B317FD4BA89E7A 2016-03-10 -
Para configurar tu llave de firma GPG en Git, pega el siguiente texto en sustitución de la ID de la llave GPG que quieras utilizar. En este ejemplo, el ID de la llave GPG es
3AA5C34371567BD2
:$ git config --global user.signingkey 3AA5C34371567BD2
-
Para agregar tu clave GPG a tu archivo de inicio
.bashrc
, ejecuta el siguiente comando:$ [ -f ~/.bashrc ] && echo 'export GPG_TTY=$(tty)' >> ~/.bashrc