Skip to content

Instantly share code, notes, and snippets.

@davorpa
Forked from planetacomputer/GPG Linea de Comandos
Created July 25, 2021 20:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save davorpa/8976acdd6a8dfe69ee87f69afb4e6b75 to your computer and use it in GitHub Desktop.
Save davorpa/8976acdd6a8dfe69ee87f69afb4e6b75 to your computer and use it in GitHub Desktop.
GPG Linea de Comandos
1- Creamos el par, seleccionamos 0
gpg --gen-key
2- Listamos las claves
gpg --list-keys
Tambien las secretas, con su fingerprint:
gpg --list-secret-keys --fingerprint
3- Podemos exportar a un fichero la clave pública
gpg --armor --export marge@aplawrence.com > mypk
así como también la secreta:
gpg --export-secret-key -a "User Name" > private.key
4- Para añadir la clave pública de un tercero, por ej. Marge, podemos importarlo por ejemplo a partir de un fichero ya descargado:
gpg --import margepk
5- Editamos la clave de Marge para darle confianza en nuestro sistema:
gpg --edit-key marge@aplawrence.com
//Inspeccionamos el fingerprint
>fpr
//Firmamos esa clave pública con la nuestra privada para validez (validity)
>sign //Para firmar con nuestra clave secreta siempre nos pedirá contraseña
(o bien directamente para firmar:
gpg --sign-key E4758D1D)
>check (comprueba que la firma ha sido correcta)
6- Podemos listar las claves firmadas:
gpg --list-sigs
7- Podríamos enviar la clave pública a un servidor de claves:
gpg --keyserver pgp.mit.edu --send-keys CB865900
o bien importarla:
gpg --keyserver pgp.mit.edu --recv-keys 18384645
gpg --keyserver pgp.mit.edu --search-key KeyID
8- Vamos a encriptar un fichero. El fichero secrets será encriptado como secrets_to_marge:
gpg --encrypt secrets --out secrets_to_marge
9- Y a continuación lo desencriptamos. secrets_to_marge será desencriptado en el fichero secrets_from_tom:
gpg --decrypt secrets_to_marge --output secrets_from_tom
//Pero lo anterior estaba referenciado a una misma clave/par. Mejor si encriptamos con la clave pública de alguien:
gpg --encrypt --recipient 18384645 documento.txt
9b- Tambien podemos firmar un fichero con la clave privada y enviarlo al destinatario:
gpg -u C4A9EA7A --output firmar.txt.gpg --sign firmar.txt
gpg --clearsign HTML5.png (parecido, crea nuevo fichero .png.asc, igual que el original, con la firma hash al final)
Para comprobar la autenticidad del autor, el destinatario lo descifrará con la clave pública del remitente:
gpg --verify firmar.txt.gpg
10- Lo siguiente que puedes hacer es establecer un nivel de "trust" para la clave, es decir, establecer un nivel de confianza de que B sabe lo que esta haciendo con lo del PGP (lo que hemos hecho antes era establecer un nivel de validity), por ejemplo
gpg --edit-key AD0302F7
>trust
De vez en cuando las personas intermedias pueden ir firmando claves (extendiendo la red), para actualizar el anillo haz:
gpg --update-trustdb
gpg --refresh-keys
11- También es posible revocar un certificado digital:
gpg --gen-revoke
A continuación creo un fichero de revocacion con la salida del comando anterior:mirevocacion.txt
importo: gpg --import mirevocacion.txt
actualizo el servidor remoto pks: gpg --keyserver pgp.mit.edu --send-keys DF263E31
gpg --refresh-keys --keyserver pgp.mit.edu
12- to delete a public key (from your public key ring):
gpg --delete-key "User Name"
This removes the public key from your public key ring.
NOTE! If there is a private key on your private key ring associated with this public key, you will get an error! You must delete your private key for this key pair from your private key ring first.
to delete an private key (a key on your private key ring):
gpg --delete-secret-key "User Name"
This deletes the secret key from your secret key ring.
13- CIFRADO SIMÉTRICO
Cifrar con algoritmo simétrico:
gpg -c – -cipher-algo [algoritmo] [archivo]
ejemplo: gpg -c -cipher-algo 3des fichero.txt
gpg --symmetric --cipher-algo AES256 file.txt
podemos utilizar el modificador -a o – -armor para crear el fichero cifrado en formato ASCII
//Ciframos en AES256 firmando con nuestra clave privada
gpg --sign --symmetric --cipher-algo AES256 file.txt
(Cypher: 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH, CAMELLIA128,
CAMELLIA192, CAMELLIA256)
//Para descifrar:
gpg -d file.txt.gpg
----------
Servidores PKS:
http://pgp.rediris.es
http://pgp.mit.edu/
http://www.tutonics.com/2012/11/gpg-encryption-guide-part-4-symmetric.html
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment