Is an open source tool to help you build a valid SSL certificate chain from the root certificate to the end-user certificate. Also can help you fix the incomplete certificate chain and download all missing CA certificates.
How To Use
It's simple:
# Clone this repository
git clone https://github.com/trimstray/sslmerge
# Go into the repository
cd sslmerge
# Install
./setup.sh install
# Run the app
sslmerge -i /data/certs -o /data/certs/chain.crt
- symlink to
bin/sslmerge
is placed in/usr/local/bin
- man page is placed in
/usr/local/man/man8
Parameters
Provides the following options:
Usage:
sslmerge <option|long-option>
Examples:
sslmerge --in Root.crt --in Intermediate1.crt --in Server.crt --out bundle_chain_certs.crt
sslmerge --in /tmp/certs --out bundle_chain_certs.crt --with-root
sslmerge -i Server.crt -o bundle_chain_certs.crt
Options:
--help show this message
--debug displays information on the screen (debug mode)
-i, --in add certificates to merge (certificate file, multiple files or directory with ssl certificates)
-o, --out saves the result (chain) to file
--with-root add root certificate to the certificate chain
How it works
Let's start with ssllabs certificate chain. They are delivered together with the sslmerge and can be found in the
example/ssllabs.com
directory which additionally contains the all
directory (containing all the certificates needed to assemble the chain) and the server_certificate
directory (containing only the server certificate).The correct chain for the ssllabs.com domain (the result of the openssl command):
Certificate chain
0 s:/C=US/ST=California/L=Redwood City/O=Qualys, Inc./CN=ssllabs.com
i:/C=US/O=Entrust, Inc./OU=See www.entrust.net/legal-terms/OU=(c) 2012 Entrust, Inc. - for authorized use only/CN=Entrust Certification Authority - L1K
1 s:/C=US/O=Entrust, Inc./OU=See www.entrust.net/legal-terms/OU=(c) 2012 Entrust, Inc. - for authorized use only/CN=Entrust Certification Authority - L1K
i:/C=US/O=Entrust, Inc./OU=See www.entrust.net/legal-terms/OU=(c) 2009 Entrust, Inc. - for authorized use only/CN=Entrust Root Certification Authority - G2
2 s:/C=US/O=Entrust, Inc./OU=See www.entrust.net/legal-terms/OU=(c) 2009 Entrust, Inc. - for authorized use only/CN=Entrust Root Certification Authority - G2
i:/C=US/O=Entrust, Inc./OU=www.entrust.net/CPS is incorporated by reference/OU=(c) 2006 Entrust, Inc./CN=Entrust Root Certification Authority
- Identity Certificate (Server Certificate)
issued for ssllabs.com by Entrust Certification Authority - L1K
- Intermediate Certificate
issued for Entrust Certification Authority - L1K by Entrust Root Certification Authority - G2
- Intermediate Certificate
issued for Entrust Root Certification Authority - G2 by Entrust Root Certification Authority
- Root Certificate (Self-Signed Certificate)
issued for Entrust Root Certification Authority by Entrust Root Certification Authority
Scenario 1
In this scenario, we will chain all delivered certificates. Example of running the tool:
Scenario 2
In this scenario, we only use the server certificate and use it to retrieve the remaining required certificates. Then, as above, we will combine all the provided certificates. Example of running the tool:
Certificate chain
In order to create a valid chain, you must provide the tool with all the necessary certificates. It will be:
- Server Certificate
- Intermediate CAs and Root CAs
However, if you look inside the generated chain after generating with sslmerge, you will not find the root certificate there. Why?
Because self-signed root certificates need not/should not be included in web server configuration. They serve no purpose (clients will always ignore them) and they incur a slight performance (latency) penalty because they increase the size of the SSL handshake.
If you want to add a root certificate to the certificate chain, call the utility with the
--with-root
parameter.Certification Paths
Sslmerge allows use of two certification paths:
Output comments
When generating the chain of certificates, sslmerge displays comments with information about certificates, including any errors.
Here is a list of all possibilities:
not found identity (end-user, server) certificate
The message is displayed in the absence of a server certificate that is the beginning of the chain. This is a unique case because in this situation the sslmerge ends its operation displaying only this information. The server certificate is the only certificate required to correctly create a chain. Without this certificate, the correct chain will not be created.
found correct identity (end-user, server) certificate
The reverse situation here - message displayed when a valid server certificate is found.
not found first intermediate certificate
This message appears when the first of the two intermediate certificates is not found. This information does not explicitly specify the absence of a second intermediate certificate and on the other hand it allows to determine whether the intermediate certificate to which the server certificate was signed exists. Additionally, it can be displayed if the second intermediate certificate has been delivered.
not found second intermediate certificate
Similar to the above, however, it concerns the second intermediate certificate. However, it is possible to create the chain correctly using the second certification path, e.g. using the first intermediate certificate and replacing the second with the main certificate.
one or more intermediate certificate not found
This message means that one or all of the required intermediate certificates are missing and displayed in the absence of the root certificate.
found 'n' correct intermediate certificate(s)
This message indicates the number of valid intermediate certificates.
not found correct root certificate
The lack of the root certificate is treated as a warning. Of course, when configuring certificates on the server side, it is not recommended to attach a root certificate, but if you create it with the sslmerge, it treats the chain as incomplete displaying information about the incorrect creation of the chain.
an empty CN field was found in one of the certificates
This message does not inform about the error and about the lack of the CN field what can happen with some certificates (look at
example/google.com
). Common Name field identifies the host name associated with the certificate. There is no requirement in RFC3280 for an Issuer DN to have a CN. Most CAs do include a CN in the Issuer DN, but some don't, such as this Equifax CA.Requirements
Sslmerge uses external utilities to be installed before running:
Other
Contributing
See this.
Project architecture
See this.
- Hacker Tools 2019
- Hack App
- Hack Tool Apk No Root
- Pentest Tools Framework
- Wifi Hacker Tools For Windows
- Hak5 Tools
- How To Hack
- Hacker Security Tools
- Hacker Tools Hardware
- Hacking Tools Download
- New Hack Tools
- Hacker Security Tools
- Pentest Tools Bluekeep
- Hacking Tools For Windows 7
- Hacker Tools Free Download
- Hacking Tools
- What Are Hacking Tools
- Hacking Tools Windows
- Pentest Tools Url Fuzzer
- Pentest Tools Tcp Port Scanner
- Pentest Tools Online
- How To Make Hacking Tools
- Hack Tools For Games
- Hacking Tools Free Download
- Hack Website Online Tool
- Hacking Tools Usb
- New Hack Tools
- How To Hack
- Blackhat Hacker Tools
- Hacker Tools Free
- Bluetooth Hacking Tools Kali
- Tools 4 Hack
- Hacker Techniques Tools And Incident Handling
- Hacker Tools Free
- Hacker Hardware Tools
- Hacking Tools For Mac
- Top Pentest Tools
- Hacker Tools Mac
- Pentest Tools
- Hacking Tools For Games
- Hacker Tool Kit
- Hacking Tools Download
- Hack Tools Download
- Hack Tools For Games
- How To Make Hacking Tools
- Hack Tools 2019
- Hackrf Tools
- Hacker
- Hacking Tools Kit
- Pentest Tools
- Hack Tool Apk No Root
- Hacker Tools Free Download
- Pentest Tools Find Subdomains
- Beginner Hacker Tools
- Pentest Tools Framework
- Hacker Tools Windows
- Hack Tools For Pc
- Hackrf Tools
- Hacker Tools Hardware
- Hacker Tools
- Hacking Tools For Windows Free Download
- Hacking Tools 2019
- Termux Hacking Tools 2019
- Hacker Tools Apk Download
- Pentest Tools Windows
- Computer Hacker
- Hackers Toolbox
- Hack App
- Hack Tools Mac
- Hack Tool Apk
- Hack Tools Github
- Pentest Tools Android
- Pentest Tools Review
- Pentest Tools Android
- Hack Tools For Mac
- Pentest Tools Linux
- Blackhat Hacker Tools
- Tools 4 Hack
- Hacker Tools Apk Download
- Hacker Tools Linux
- Hacking Tools For Games
- Github Hacking Tools
- Pentest Tools For Windows
- Pentest Tools Subdomain
- Pentest Box Tools Download
- Hacker Tools Apk Download
- Best Hacking Tools 2019
- What Is Hacking Tools
- Hacker Tool Kit
- Hack Tools For Windows
- Pentest Tools For Windows
- Pentest Automation Tools
- Hacking Tools Name
- Nsa Hack Tools
- Pentest Tools Android
- Best Hacking Tools 2019
- Hacking Tools For Beginners
- Growth Hacker Tools
- What Are Hacking Tools
- Pentest Tools Subdomain
- New Hacker Tools
- Hack Tools
- Pentest Tools Review
- Pentest Tools For Windows
- Hacker Tools Apk Download
- Hacker Tools 2019
- Pentest Tools Android
- New Hack Tools
- How To Make Hacking Tools
- Pentest Tools Bluekeep
- Hacker Tools Software
- New Hack Tools
- How To Make Hacking Tools
- Growth Hacker Tools
- Hackrf Tools
- Pentest Recon Tools
- New Hack Tools
- Game Hacking
- Tools Used For Hacking
- Pentest Tools For Windows
- Hacking Tools Free Download
- Best Pentesting Tools 2018
- Hack Website Online Tool
- Hacker Tools List
- Hack Tools For Games
- Underground Hacker Sites
- Hacker Tools Apk Download
- Pentest Tools Subdomain
- Pentest Tools For Android
- Black Hat Hacker Tools
- Hacker Tools Hardware
- Hackrf Tools
- Pentest Tools Free
- Best Pentesting Tools 2018
- Hack Tools Online
- Pentest Tools For Mac
- Hacker Tools Mac
- Hacking Tools For Beginners
- Hack Tools For Ubuntu
- Android Hack Tools Github
- Top Pentest Tools
- Hacker Tools Free Download
- Pentest Tools Kali Linux
- Hack Tools Pc
- Hacking Tools 2019
- Hack Tools
- Black Hat Hacker Tools
- Hacker Tools Github
- Hacks And Tools
- Physical Pentest Tools
- Hacking Tools Hardware
- Hacking Tools For Windows 7
- Hacking Tools Usb
- Beginner Hacker Tools
- Hacker Tools List
- Hacking Tools For Pc
- Hacking Tools 2019
- Hack Tools Github
- Bluetooth Hacking Tools Kali
- Hak5 Tools
- Hacking Tools Windows
- Tools For Hacker
- Hacking Tools For Kali Linux
- Pentest Tools Android
- Hacking Tools For Windows Free Download
- Hacker Tools Github
- Growth Hacker Tools
- Top Pentest Tools
- Pentest Tools Url Fuzzer
- Install Pentest Tools Ubuntu
- Hacker Tools Software
- Hacking Tools Download
- Pentest Tools Github
- Hacking Tools Software
- Pentest Tools For Mac
- Hacking Tools For Windows
- Hacker Tools Apk Download
- Hack Tools For Pc
No hay comentarios:
Publicar un comentario