Mutual Transport Layer Security (mTLS) is a protocol that mandates both the sender and receiver to authenticate each other before establishing a secure connection. Each party verifies the other’s certificate, ensuring authenticity and trust. This establishes a secure connection between both the parties. Use mutual TLS to securely authenticate to artifact repositories.Documentation Index
Fetch the complete documentation index at: https://docs.endorlabs.com/llms.txt
Use this file to discover all available pages before exploring further.
Set up mTLS
Perform the following steps to set up a secure mTLS connection:If your certificate is in PKCS12 format, you can start with step 1. If you already have a PEM certificate, you can skip to step 2.
-
Generate client certificate and client key
Run the following command to generate the client certificate in the Privacy Enhanced Mail (PEM) format. Replace
<pkcs12 file>with the name of your.p12file.Run the following command to generate the client key in the Privacy Enhanced Mail (PEM) format. Replace<pkcs12 file>with the name of your.p12file.Ensure you have your PKCS12 certificate and its password ready. When prompted, enter the password. -
Format the client certificate and client key as json
Run the following command to format the client certificate as json:
Run the following command to format the client key as json:
- Create a package manager resource after generating the client certificate and client key.
Authenticate to Gradle repository
Run the following command to create a package manager resource and authenticate to Gradle artifact repository. Replacenamespace with your namespace.
The
property_key_name must match exactly ENDOR_MTLS_CONFIGURATION.Authenticate to Maven repository
Run the following command to create a package manager resource and authenticate to Maven repository. Replace:namespacewith your namespace.https://nexus.example.com/repository/publicwith your Maven repository URL.
Authenticate to PyPI repository
Run the following command to create a package manager resource and authenticate to PyPI repository. Replace:namespacewith your namespace.https://nexus.example.com/repository/pypiwith your PyPI repository URL.
Authenticate to npm registry
Run the following command to create a package manager resource and authenticate to npm registry. Replace:namespacewith your namespace.https://nexus.example.com/repository/npmwith your npm registry URL.