
🔐 A CLI tool to extract server certificates
Uno strumento CLI per estrarre i certificati dei server

Gli eseguibili sono disponibili per il download nella sezione Releases. In alternativa, puoi installare lo strumento utilizzando uno dei seguenti metodi:
brew install cripbrew install hakky54/homebrew-apps/cripsudo add-apt-repository ppa:hakky554/apps && sudo apt update && sudo apt-get install crip -t 'o=LP-PPA-hakky554-apps'nix-shell -p certificate-ripper oppure aggiungi pkgs.certificate-ripper al tuo file configuration.nixchoco install cripscoop install extras/cripRequisiti minimi:
Requisiti aggiuntivi specifici per il sistema operativo
sudo apt-get update && sudo apt-get install build-essential libz-dev zlib1g-dev -yxcode-select --installchcp 65001 (codifica UTF-8) sia attivo nella riga di comandomvn clean install -Pnative-image \
&& ./target/crip print --url=https://youtube.com/
Il binario eseguibile nativo del sistema operativo sarà disponibile nella directory target con il nome file crip
Requisiti minimi:
mvn clean install -Pfat-jar \
&& java -jar target/crip.jar print --url=https://youtube.com/
Il fat jar sarà disponibile nella directory target con il nome file crip.jar
Usage: crip [COMMAND]
Commands:
print Prints the extracted certificates to the console
export p12 Export the extracted certificate to a PKCS12/p12 type truststore
export jks Export the extracted certificate to a JKS (Java KeyStore) type truststore
export der Export the extracted certificate to a binary form also known as DER
export pem Export the extracted certificate to a base64 encoded string also known as PEM
Usage: crip print
Prints the extracted certificates to the console
-f, --format To be printed certificate format. This option is not required. Default is human-readable.
-u, --url Url of the target server to extract the certificates. Can be provided multiple times.
Usage: crip export pkcs12
Export the extracted certificate to a PKCS12/p12 type truststore
-u, --url Url of the target server to extract the certificates. Can be provided multiple times.
-p, --password TrustStore password. This option is not required. Default is changeit.
-d, --destination Destination of the to be stored file. Default is current directory if none is provided.
Usage: crip export der
Export the extracted certificate to a binary form also known as DER
-u, --url Url of the target server to extract the certificates. Can be provided multiple times.
-c, --combined Indicator to either combine all of the certificate into one file for a given url or export into individual files.
-d, --destination Destination of the to be stored file. Default is current directory if none is provided.
Usage: crip export pem
Export the extracted certificate to a base64 encoded string also known as PEM
-u, --url Url of the target server to extract the certificates. Can be provided multiple times.
-c, --combined Indicator to either combine all of the certificate into one file for a given url or export into individual files.
-d, --destination Destination of the to be stored file. Default is current directory if none is provided.
--include-header Indicator to either omit or include additional information above the BEGIN statement.
Other additional options applicable for all commands
--proxy-host Proxy host
--proxy-port Proxy port
--proxy-password Password for authenticating the user for the given proxy
--proxy-user User for authenticating the user for the given proxy
-t, --timeout Amount of milliseconds till the ripping should timeout
--resolve-ca Indicator to automatically resolve the root ca. Possible options: true, false
--resolve-siblings Indicator to automatically resolve the certificates from DNS names. Possible options: true, false
--cert-type To be extracted certificate types. Available Formats: root, inter, leaf, all. Default: all
crip export pkcs12 -u=https://github.com
crip export pkcs12 \
-u=https://youtube.com \
-u=https://github.com \
-u=https://stackoverflow.com \
-u=https://facebook.com
crip export pkcs12 -u=https://github.com -d=/path/to/directory
crip print -u=https://github.com
crip print -u=https://github.com -f=pem
crip print -f=pem \
-u=https://youtube.com \
-u=https://github.com \
-u=https://stackoverflow.com \
-u=https://facebook.com
crip export pem \
-u=https://stackoverflow.com \
--proxy-host=my-host.com \
--proxy-port=1234 \
--proxy-user=foo \
--proxy-password
crip export pem -u=https://github.com --combined=true
Funziona solo con l'opzione combined e specificando un singolo URL.
crip export pem -u=https://github.com --combined=true --destination=/path/to/export/github-chain.crt
crip export p12 -d=path/to/lib/security/cacerts -p=changeit -u=https://google.com
# Operating System trusted certificates
crip export pem -u=system
# Websocket server
crip export pem -u=wss://echo.websocket.org
# FTP server
crip export pem -u=ftps://my-drive.com:21
# SMTP server
crip export pem -u=smtps://smtp-mail.outlook.com:587
# IMAP server
crip export pem -u=imaps://outlook.office365.com:993
# PostgreSQL server
crip export pem -u=postgresql://localhost:5432/
# MySQL server
crip export pem -u=mysql://localhost:3306/
I certificati da estrarre possono essere filtrati per includere solo certificati root ca, intermedi o leaf. Di seguito è mostrato un esempio:
crip export der -u=https://google.com --cert-type=root
Gli altri valori per l'opzione cert-type sono: inter e leaf. Quando l'opzione non viene fornita, vengono estratti tutti i certificati.
Includi la seguente dipendenza:
<dependency>
<groupId>io.github.hakky54</groupId>
<artifactId>certificate-ripper</artifactId>
<version>2.7.1</version>
</dependency>
Esempio di frammento di codice:
CertificateRipper.exportToPem("https://github.com")
.withIncludeHeader(false)
.withCombined(true)
.withDestination("/path/to/export/github-chain.crt")
.build()
.run();
Certificate Ripper ha bisogno del tuo aiuto!
Se puoi, prendi in considerazione l'idea di sponsorizzare Certificate Ripper. Anche una piccola donazione ci aiuterebbe a coprire i costi ricorrenti di manutenzione. Con abbastanza sponsor potremmo far crescere Certificate Ripper più velocemente e più forte! Puoi sponsorizzarlo su GitHub, Ko-fi o open collective.
Se utilizzi Certificate Ripper in ambito professionale e vuoi assicurarti che continui a crescere e a essere mantenuto, contattaci!
In ogni caso, lascia una stella su GitHub e spargi la voce!