How to Create CSR and Key Attestation using Luna HSM?

1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)
Key Generation and Attestation with Luna HSM

Welcome to the comprehensive guide that will walk you through generating Certificate Signing Requests (CSRs) and performing Key Attestation using the highly secure and trusted Luna Hardware Security Module (HSM).

The information will equip you with the knowledge and best practices to ensure the utmost integrity and protection of your cryptographic keys and certificates.

Stay on top of the software development game as a security professional or anyone involved in code signing certificates. Keeping industry standards alongside is crucial in today’s fast-paced technology.

One essential resource you should familiarize yourself with is the CA/B Forum Baseline Requirements v2.8 for Code Signing Certificates.

Code signing certificates function as digital signatures, instilling confidence in users that the code they download or install originates from a trusted source and remains untampered.

We will review the CA/B Forum Baseline Requirements version 2.8 for Code Signing Certificates. This collection of industry standards and guidelines aims to bolster the security and reliability of code signing processes, ensuring a safer digital environment for all users.

Let’s embark on this journey to discover how these requirements enhance the trustworthiness of code signing practices.

Explore the Role and Significance of Certificate Signing Requests (CSRs)

A Certificate Signing Request (CSR) is crucial in obtaining an SSL Certificate from a Certificate Authority. It constitutes a block of text generated on the server where the certificate will be installed.

The CSR lies vital information required for the certificate, including the organization name, common name, location, and nation. Moreover, it contains the public key, which is pivotal in signing the certificate.

The Importance of CSRs:

CSRs are pivotal in facilitating communication between the entity requesting the SSL certificate and the CA. Generating a CSR leads to creating two essential components.

The first is the public key, an integral part of the CSR.

The second is the private key, generated simultaneously with the CSR and securely kept on the server.

The confidentiality of the private key is imperative.

Steps for CSR and Key Attestation Creation for Luna Network

This section will help you create a Certificate Signing Request (CSR) and perform key attestation for the Luna Network Attached HSM 7.x. Following these instructions, you can generate a Public Key Confirmation (PKC) file in an RSA key pair context.

For Luna Network Attached HSM 7.x; you must know this!

Our focus here lies in the remarkable capabilities of Luna HSMs, particularly their ability to generate a Public Key Confirmation package (PKC) as a key attestation.

This PKC serves as an invaluable verification that a specific key pair was generated and securely stored within the Luna HSM, ensuring the highest level of security.

What does the Attestation Package Format include?

The PKC files generated by Luna HSM utilize the DER-encoded PKCS7 format, efficiently containing all the necessary critical attestation information.

To ensure compatibility with the critical attestation service, it is crucial to encode the PKC file in base64 format.

Instructions to Generate a CSR

Generating a Certificate Signing Request (CSR) may vary depending on your software, but the fundamental steps remain consistent. Here’s a general outline to help you through the process:

Step 1: Preparation

Before diving into CSR generation, ensure you have all the relevant details. It includes your domain name, organization name, city (locality), state or province name, and country code.

Step 2: Generate a Key Pair

The first crucial step is to create a public-private key pair. Keep your private key secure, ensuring it remains within the server or hardware module where it was generated.

Step 3: Generate the CSR

Select a CSR generation tool that aligns with your server software. This tool will prompt you to provide the details prepared in Step 1 and the private key generated in Step 2.

Subsequently, the tool will generate an encoded file with the .csr or .req extension.

During the CSR generation process, you will be prompted to enter details such as the common name, organization, locality, and more essential for the SSL certificate.

Formats for Generating a PKC for RSA Keypair:

When generating a PKC for an RSA key pair, you’ll come across two commonly mentioned formats:

TC-Trust Center Format:

This format encompasses three certificates within the PKC. However, it’s important to note that the certificate chain does not conclude with a root certificate.

Chrysalis-ITS Format:

In contrast, the Chrysalis-ITS format comprises five certificates arranged within the PKC structure. Moreover, the certificate chain culminates with a root certificate, providing an extra layer of trust.

Our strong recommendation is to opt for the Chrysalis-ITS format due to the availability of vendor documentation, which offers further guidance and support throughout the process.

With these comprehensive guidelines, you can create your CSR and conduct key attestation using the mighty Luna Network Attached HSM 7.x.

Safeguard your cryptographic operations and enjoy enhanced security and peace of mind with Luna HSM’s cutting-edge features.

Step-by-Step Get CSR and PKC in Chrysalis-ITS Format

To ensure seamless utilization of the Sectigo key attestation service or reseller-website enrollment form, follow these simple steps to generate a Certificate Signing Request (CSR) and Public Key Confirmation (PKC) in the Chrysalis-ITS format using Luna HSM:

Step 1: Launch the Luna remote client and access the Luna HSM by logging in.

Step 2: Employ the LunaCM2 utility to create an RSA key pair on Luna Partition1, executing the appropriate commands based on your operating system:

For Windows:

c:\ cd c:\Program Files\SafeNet\LunaClient
c:\Program Files\SafeNet\LunaClient\> lunacm

For Linux:

> cd /usr/safenet/lunaclient/bin

Generate the RSA key pair using the command below, ensuring you replace “LABEL” with your desired key pair identifier:

cmu gen -modulusBits=3072 -publicExp=65537 -sign=T -verify=T -label=LABEL -extractable=false

REMINDER! For successful CSR generation, the parameters “-extractable=false” and “-sign=T” is mandatory, as Luna will not utilize this key for CSR signing. The RSA key must also be at least 3072 bits for code signing certificates.

Step 3: Retrieve the handle numbers of the public and private keys with the following commands:

cmu list -class public -label=LABEL
cmu list -class private -label=LABEL

Step 4: Generate a CSR using the subsequent command, replacing “MNO” and “BCD” with the respective public and private key handles:

cmu requestcert -publichandle=MNO -privatehandle=BCD -C=CA -L=Ottawa -O=Sectigo -CN="PKC Test Cert" -outputFile=rsacsr.pem

Step 5: Now, create a PKC using the following command, replacing “MNO” with your public key handle and “attestation.p7b” with the desired file name:

cmu getpkc -handle=MNO -outputfile=attestation.p7b -pkctype=2 -verify

Step 6: Convert the attestation PKC file to base64 format using the appropriate commands:

For Windows:

certutil -encode attestation.p7b attestation.b64
findstr /v CERTIFICATE attestation.b64 > attestation.b64

For Linux:

base64 attestation.p7b > attestation.b64

Step 7: Finally, submit the generated CSR and base64-encoded attestation to the website enrollment form to verify the HSM’s authenticity in issuing code signing certificates.

These straightforward steps can effortlessly generate a CSR and PKC in the Chrysalis-ITS format, ensuring a secure and reliable process for the Sectigo key attestation service or reseller-website enrollment form.

Safeguard your cryptographic operations with confidence and elevate your code signing certificates to new heights.

Obtain Trusted Code Signing Certificates from Certera at pocket-friendly pricing.

Cheap SSL Certificates
<?xml version="1.0" encoding="UTF-8"?><svg id="Layer_1" xmlns="" viewBox="0 0 109.7 29.02"><defs><style>.cls-1{fill:#fff;}</style></defs><path class="cls-1" d="m5.38,22.85c-3.1-.26-5.3-1.92-5.38-4.8h3.6c.1,1.1.67,1.85,1.78,2.09v-4.58c-2.47-.62-5.38-1.32-5.38-4.87,0-2.83,2.26-4.68,5.38-4.92v-1.94h1.54v1.94c3,.24,5.02,1.85,5.23,4.7h-3.62c-.1-.94-.67-1.66-1.61-1.94v4.54c2.5.65,5.42,1.3,5.42,4.85,0,2.45-1.92,4.73-5.42,4.97v1.94h-1.54v-1.97Zm0-10.25v-4.15c-1.1.17-1.87.84-1.87,2.06,0,1.13.77,1.7,1.87,2.09Zm1.54,3.38v4.2c1.22-.22,1.94-1.06,1.94-2.14s-.82-1.68-1.94-2.06Z"/><path class="cls-1" d="m17.62,8.33h-2.33v-3.1h5.78v17.5h-3.46v-14.4Z"/><path class="cls-1" d="m28.27,17.81c.26,1.39,1.15,2.18,2.71,2.18,1.97,0,2.83-1.46,2.83-5.4-.74,1.03-2.16,1.63-3.7,1.63-3.02,0-5.45-1.9-5.45-5.59,0-3.5,2.21-5.81,5.91-5.81,4.75,0,6.22,3.22,6.22,8.76,0,5.95-1.32,9.17-5.95,9.17-3.72,0-5.5-2.38-5.69-4.94h3.12Zm5.23-7.15c0-1.92-1.1-2.98-2.81-2.98s-2.81,1.18-2.81,2.93c0,1.58.89,2.88,2.93,2.88,1.68,0,2.69-1.13,2.69-2.83Z"/><path class="cls-1" d="m41.28,22.9c-1.22,0-2.09-.86-2.09-1.97s.86-1.97,2.09-1.97,2.04.86,2.04,1.97-.86,1.97-2.04,1.97Z"/><path class="cls-1" d="m49.54,17.81c.26,1.39,1.15,2.18,2.71,2.18,1.97,0,2.83-1.46,2.83-5.4-.74,1.03-2.16,1.63-3.7,1.63-3.02,0-5.45-1.9-5.45-5.59,0-3.5,2.21-5.81,5.91-5.81,4.75,0,6.22,3.22,6.22,8.76,0,5.95-1.32,9.17-5.95,9.17-3.72,0-5.5-2.38-5.69-4.94h3.12Zm5.23-7.15c0-1.92-1.1-2.98-2.81-2.98s-2.81,1.18-2.81,2.93c0,1.58.89,2.88,2.93,2.88,1.68,0,2.69-1.13,2.69-2.83Z"/><path class="cls-1" d="m64.56,17.81c.26,1.39,1.15,2.18,2.71,2.18,1.97,0,2.83-1.46,2.83-5.4-.74,1.03-2.16,1.63-3.7,1.63-3.02,0-5.45-1.9-5.45-5.59,0-3.5,2.21-5.81,5.9-5.81,4.75,0,6.22,3.22,6.22,8.76,0,5.95-1.32,9.17-5.95,9.17-3.72,0-5.5-2.38-5.69-4.94h3.12Zm5.23-7.15c0-1.92-1.1-2.98-2.81-2.98s-2.81,1.18-2.81,2.93c0,1.58.89,2.88,2.93,2.88,1.68,0,2.69-1.13,2.69-2.83Z"/><path class="cls-1" d="m81.79,0h3.29l-6.48,27.07h-3.29L81.79,0Z"/><path class="cls-1" d="m96.89,9.43h3.58l-8.23,19.59h-3.58l2.88-6.62-5.33-12.96h3.77l3.43,9.29,3.48-9.29Z"/><path class="cls-1" d="m105.62,22.73h-3.36v-13.3h3.36v2.06c.84-1.37,2.23-2.26,4.08-2.26v3.53h-.89c-1.99,0-3.19.77-3.19,3.34v6.62Z"/></svg>