TLS

Note: The 7210 SAS only supports the TLS client. It does not support the TLS server. Any reference to the TLS server in the following sections is for completeness.

Transport Layer Security (TLS) is used for the following primary purposes:

  • authentication of an end device (client or server) using a digital signature (DS)

    TLS uses Public Key Infrastructure (PKI) for device authentication. DSs are used to authenticate the client or the server. The server typically sends a certificate with a DS to the client.

    In certain situations, the server can request a certificate from the client to authenticate it. The client has a certificate (called a trust anchor) from the certificate authority (CA), which is used to authenticate a server certificate and its DS. After the client provides a digitally signed certificate to the server and both parties are authenticated, the encryption Protocol Data Units (PDUs) are transmitted.

  • encryption and authentication of application PDUs

    After the clients and server are successfully authenticated, the cipher suite is negotiated between the server and clients, and the PDUs are encrypted based on the agreed cipher protocol.

TLS client interaction with applications

On the 7210 SAS, TLS is a standalone configuration. The user must configure TLS profiles with certificates and cryptograhic algorithms to use and then assign the TLS profiles to the appropriate applications. When a TLS profile is assigned to an application, the application should not send any clear text PDUs until the TLS handshake is successfully completed and the encryption ciphers are negotiated between the TLS server and the TLS client.

After successful negotiation and handshake, the TLS is operationally up and notifies the application, which begins transmitting PDUs. These PDUs are encrypted using TLS based on the agreed ciphers. At any point, if the TLS becomes operationally down, the application stops transmitting PDUs.

For example, the following sequence describes a TLS connection for generic TLS client application:

  1. A TLS client profile is assigned to the application.

  2. The application stops sending clear text PDUs because a TLS profile has been assigned and TLS is not ready to encrypt.

  3. TLS begins the handshake.

  4. Authentication occurs at the TLS layer.

  5. The TLS server and TLS client negotiate ciphers.

  6. Salts are negotiated for the symmetric key. A salt is a seed for creating Advanced Encryptions Standard (AES) encryption keys.

  7. When negotiations are successfully completed, the handshake finishes and the application is notified.

  8. TLS becomes operationally up, and the application can resume transmitting PDUs using the negotiated cipher. Until TLS is operationally up, application PDUs arriving from the peer (either server or client) are dropped.

TLS application support

The following table lists the applications that support TLS.

Table 1. TLS application support
Application TLS server supported TLS client supported

Syslog

TLS handshake

The following figure shows the TLS handshake.

Figure 1. TLS handshake

The following table describes the steps in the TLS handshake.

Table 2. TLS handshake step descriptions
Step Description

1

The TLS handshake begins with the client Hello message. This message includes the cipher list that the client wants to use and negotiate, among other information.

2

The TLS server sends back a server Hello message, along with the first common cipher found on both the client and server cipher lists. The common cipher is used for data encryption.

3

The TLS server sends a server certificate message, in which the server provides a certificate that the client can use to authenticate the server identity. The public key of this certificate (RSA key) can also be used to encrypt the symmetric key seed used by the client and server to create the symmetric encryption key. This occurs only if the PKI is using RSA for asymmetric encryption.

4

7210 SAS does not support server key exchange.

7210 SAS uses only RSA keys; Diffie-Hellman key exchange is not supported.

5

The server can optionally be configured to request a certificate from the client to authenticate the client.

6

If the server requests a client certificate, the client must provide it by using a client certificate message. If the client does not respond to the certificate request, the server drops the TLS session.

7

The client uses the public server RSA key included in the server certificate to encrypt a seed. The client and server use this seed to create the identical symmetric key used for encrypting and decrypting data plane traffic.

8

The client sends a cipher spec message to switch encryption to this symmetric key.

9

The client successfully finishes the handshake.

10

The server sends a cipher spec message to switch encryption to this symmetric key.

11

The server successfully finishes the handshake.

After a successful handshake, TLS is operationally up and applications can use TLS for application encryption.

TLS 1.3

TLS 1.3 is required for faster handshakes and stronger encryption and authentication algorithms.

All 7210 SAS applications that use TLS 1.2 also support TLS 1.3, unless specifically stated otherwise.

The user can configure the node to use TLS 1.2, TLS 1.3, or both for negotiation with the peer.

When TLS 1.3 is negotiated with a peer, the node no longer negotiates the TLS version down to 1.2 as long as the session is alive.

TLS 1.3 handshake

The TLS 1.3 client handshake is very similar to TLS 1.2 because the client is able to negotiate TLS 1.2 or 1.3 when starting the TLS Hello message to the server. The client includes a "Supported Version" extension in its Hello message. The server responds with its own supported version, agreed ciphers, and so on.

In TLS 1.2 and TLS 1.3, the server can optionally request for the client certificate to authenticate the client. If requested, the client must provide its certificate to the server.

TLS 1.2 and TLS 1.3 configuration

Users must configure the following for TLS to function properly:
  • TLS 1.2
    • cipher list
  • TLS 1.3
    • cipher list
    • signature list
    • group list
During the TLS handshake, the client sends the following information in the TLS Hello message to the server:
  • a list of cipher suites
  • a list of supported signatures
  • a list of groups for key exchange

The client and server can each configure their own signature, group, and cipher lists. During the handshake protocol between the client and server, the server selects the first group from the group list that it supports to use for the key exchange and negotiates the cipher and signature algorithm from the lists provided by the client.

TLS 1.3 client options and TLS client profile configuration

The following examples display the configuration of the TLS 1.3 client options and the TLS client profile.

Configure TLS 1.3 client information (classic CLI)

A:node-2>config>system>security>tls# info
----------------------------------------------
                cert-profile "profile1" create
                    no shutdown
                exit
                client-cipher-list "cipherlist1" create
                    tls13-cipher 1 name tls-aes128-ccm8-sha256
                exit
                client-group-list "grouplist1" create
                    tls13-group 1 name tls-ecdhe-521
                exit
                client-signature-list "signaturelist1" create
                    tls13-signature 1 name tls-rsa-pss-pss-sha512
                exit
----------------------------------------------

Configure the TLS client profile (classic CLI)

A:node-2>config>system>security>tls# info
----------------------------------------------
                client-tls-profile "profile1" create
                    no shutdown
                    cert-profile "profile1"
                    cipher-list "cipherlist1"
                    group-list "grouplist1"
                    protocol-version tls-version13
                    signature-list "signaturelist1"
                exit
----------------------------------------------

TLS client certificate

The TLS protocol is used for authentication. It allows the server to authenticate the client via PKI. If the server requests authentication from the client, the client response must provide an X.509v3 certificate that the server can authenticate using the digital signature of its client. The 7210 SAS supports the configuration of an X.509v3 certificate for TLS clients. When the server requests a certificate using the Hello message, the client sends a client certificate message to transmit its certificate to the server.

Supported TLS ciphers

As shown in TLS handshake, TLS negotiates the supported ciphers between the client and the server.

The client sends the supported cipher suites in the client Hello message, and the server compares them with the server cipher list. The top protocol on both lists is chosen and returned from the server within the server Hello message.

7210 SAS supports the following TLS 1.2 ciphers as a TLS client:

  • tls-rsa-with3des-ede-cbc-sha

  • tls-rsa-with-aes128-cbc-sha

  • tls-rsa-with-aes256-cbc-sha

  • tls-rsa-with-aes128-cbc-sha256

  • tls-rsa-with-aes256-cbc-sha256

  • tls-rsa-with-aes128-gcm-sha256

  • tls-rsa-with-aes256-gcm-sha384

The 7210 SAS supports the following TLS 1.3 ciphers, groups, and signature algorithms as a TLS client:

  • tls-aes128-gcm-sha256

  • tls-aes256-gcm-sha384

  • tls-chacha20-poly1305-sha256

  • tls-aes128-ccm-sha256

  • tls-aes128-ccm8-sha256

  • Groups:

    • tls-ecdhe-256

    • tls-ecdhe-384

    • tls-ecdhe-521

    • tls-x25519

    • tls-x448

  • Signature algorithms:

    • tls-rsa-pkcs1-sha256

    • tls-rsa-pkcs1-sha384

    • tls-rsa-pkcs1-sha512

    • tls-ecdsa-secp256r1-sha256

    • tls-ecdsa-secp384r1-sha384

    • tls-ecdsa-secp521r1-sha512

    • tls-rsa-pss-rsae-sha256

    • tls-rsa-pss-rsae-sha384

    • tls-rsa-pss-rsae-sha512

    • tls-rsa-pss-pss-sha256

    • tls-rsa-pss-pss-sha384

    • tls-rsa-pss-pss-sha512

    • tls-ed25519

    • tls-ed448

7210 SAS certificate management

The 7210 SAS implements a centralized certificate management protocol that can be used by TLS.

Use the commands in the following contexts to configure and manage certificates:

admin certificate

Certificate profile

The certificate profile is available for the TLS client. The cert-profile command is configured for the client to transmit the provider certificate and its DS to the peer so that the peer can authenticate it via the trust-anchor and CA certificate.

Multiple provider certificates can be configured on the 7210 SAS; however, the 7210 SAS currently uses the smallest index as the active provider certificate, and only sends the certificate to the peer.

Operational guidelines

This section provides operational guidelines for TLS.

TLS authentication behavior

Following the Hello messages, the server sends its certificate in a certificate message. If required, a ServerKeyExchange message may also be sent.

The 7210 SASTLS client establishes a trusted connection without server authentication using a trust-anchor. The RSA key of the certificate is used for public key encryption, with the following basic checks to validate the certificate:

  • time validity

    The certificate is checked to ensure that it is neither expired nor not yet valid.

  • certificate type

    The certificate is not a CA certificate.

  • keyUsage extension

    If present, this must contain a digital signature and key encryption.

  • host verification

    The IP address or DNS name of the server is looked up, if available (for LDAP, only the IP address is used), in the common name (cn) or subjectAltName extension. This is to verify that the certificate was issued to that server and not to another.

Client TLS profile and scale

The 7210 SAS supports the creation of client TLS profiles, which can be assigned to applications such as syslog to encrypt the application layer.

The client-tls-profile command is used for negotiating and authenticating the server. After the server is authenticated the server negotiates the ciphers and authentication algorithms to use for data encryption. The client TLS profile must be assigned to an application for it to start encrypting. Up to 16 client TLS profiles can be configured.

Basic TLS configuration

Basic TLS client configuration requires the following:

  • Use the following command to create a cipher list.

    configure system security tls client-cipher-list
  • Use the following command to assign a TLS cipher list to the TLS client profile.

    configure system security tls client-tls-profile cipher-list

Common configuration tasks

This section provides information about common configuration tasks.

Configuring a client TLS profile

Use the following command to configure a client TLS profile.

configure system security tls client-tls-profile

Configuring a TLS client certificate

Use the following commands to configure TLS certificate management.

configure system security tls cert-profile
configure system security tls client-tls-profile cert-profile

TLS command reference

Command hierarchies

Configuration commands

TLS commands
config
    - system 
        - security
            - tls
                - cert-profile profile-name [create]
                - no cert-profile profile-name
                    - entry  entry-id [create]
                    - no entry  entry-id
                        - cert cert-filename
                        - no cert
                        - key key-filename
                        - no key
                    - [no] shutdown
                - client-cipher-list name [create]
                - no client-cipher-list name
                    - cipher index name cipher-suite-code
                    - no cipher index
                    - tls13-cipher index name cipher-suite-code
                    - no tls13-cipher index
                - client-group-list name [create]
                - no client-group-list name
                    - tls13-group index name group-suite-code
                    - no tls13-group index
                - client-signature-list name [create]
                - no client-signature-list name
                    - tls13-signature index name signature-suite-code
                    - no tls13-signature index
                - client-tls-profile name [create]
                - no client-tls-profile name
                    - cert-profile name
                    - no cert-profile
                    - cipher-list name
                    - no cipher-list
                    - group-list name
                    - no group-list
                    - protocol-version TLS version
                    - no protocol-version
                    - [no] shutdown
                    - signature-list name
                    - no signature-list
Certificate management commands
admin
    - certificate
        - display type {cert | key} url-string format {pkcs10 | pkcs12 | pkcs7-der | pkcs7-pem | pem | der} [password password]
        - import type {cert | key} input url-string output filename format input-format [password password]

Command descriptions

Configuration commands

TLS commands

tls
Syntax

tls

Context

config>system>security

Platforms

Supported on all 7210 SAS platforms as described in this document, except the 7210 SAS-D

Description

Commands in this context configure Transport Layer Security (TLS) parameters.

cert-profile
Syntax

cert-profile profile-name [create]

no cert-profile profile-name

Context

config>system>security>tls

Platforms

Supported on all 7210 SAS platforms as described in this document, except the 7210 SAS-D

Description

Commands in this context configure TLS certificate profile information. The certificate profile contains certificates that are sent to the TLS peer (server) to authenticate itself. It is mandatory for the TLS server to send this information. The TLS client may optionally send this information upon request from the TLS server.

The no form of this command deletes the specified TLS certificate profile.

Default

no cert-profile

Parameters
profile-name

Specifies the TLS certificate profile name, up to 32 characters in length.

create

Keyword used to create the TLS certificate profile.

entry
Syntax

entry entry-id [create]

no entry entry-id

Context

config>system>security>tls>cert-profile

Platforms

Supported on all 7210 SAS platforms as described in this document, except the 7210 SAS-D

Description

Commands in this context configure an entry for the TLS certificate profile. A certificate profile may have up to eight entries. Currently, TLS uses the entry with the smallest ID number when responding to server requests.

The no form of this command deletes the specified entry.

Default

no entry

Parameters
entry-id

Specifies the ID of the TLS certificate profile entry.

Values

1 to 8

create

Keyword used to create the TLS certificate profile entry.

cert
Syntax

cert cert-filename

no cert

Context

config>system>security>tls>cert-profile>entry

Platforms

Supported on all 7210 SAS platforms as described in this document, except the 7210 SAS-D

Description

This command specifies the filename of an imported certificate for the cert-profile entry.

The no form of this command removes the certificate.

Default

no cert

Parameters
cert-filename

Specifies the filename of the TLS certificate, up to 95 characters in length.

key
Syntax

key key-filename

no key

Context

config>system>security>tls>cert-profile>entry

Platforms

Supported on all 7210 SAS platforms as described in this document, except the 7210 SAS-D

Description

This command specifies the filename of an imported key for the cert-profile entry.

The no form of this command removes the key.

Default

no key

Parameters
key-filename

Specifies the filename of the key, up to 95 characters in length.

client-cipher-list
Syntax

client-cipher-list name [create]

no client-cipher-list name

Context

config>system>security>tls

Platforms

Supported on all 7210 SAS platforms as described in this document, except the 7210 SAS-D

Description

Commands in this context create a cipher list that the client sends to the server in the client Hello message. It is a list of ciphers supported and preferred by the 7210 SAS TLS client for use in the TLS session. The server matches this list against the server cipher list. The most preferred cipher found in both lists is chosen.

The no form of this command removes cipher list.

Default

no client-cipher-list

Parameters
name

Specifies the name of the client cipher list, up to 32 characters in length.

create

Keyword used to create the client cipher list.

cipher
Syntax

cipher index name cipher-suite-code

no cipher index

Context

config>system>security>tls>client-cipher-list

Platforms

Supported on all 7210 SAS platforms as described in this document, except the 7210 SAS-D

Description

This command configures the cipher suite to be negotiated by the server and client.

The no form of this command removes the cipher suite.

Default

no cipher

Parameters
index

Specifies the index number. The index number indicates the location of the cipher in the negotiation list, with the lower index numbers appearing higher in the list and the higher index numbers appearing at the bottom of the list.

Values

1 to 255

cipher-suite-code

Specifies the cipher suite code.

Values

tls-rsa-with3des-ede-cbc-sha

tls-rsa-with-aes128-cbc-sha

tls-rsa-with-aes256-cbc-sha

tls-rsa-with-aes128-cbc-sha256

tls-rsa-with-aes256-cbc-sha256

tls-rsa-with-aes128-gcm-sha256

tls-rsa-with-aes256-gcm-sha384

tls13-cipher
Syntax

tls13-cipher index name cipher-suite-code

no tls13-cipher index

Context

config>system>security>tls>client-cipher-list

Platforms

Supported on all 7210 SAS platforms as described in this document, except the 7210 SAS-D

Description

This command configures the TLS 1.3-supported ciphers that are used by the client and server.

The no form of this command removes the cipher suite.

Default

no tls13-cipher

Parameters
index

Specifies the index number. The index number indicates the location of the cipher in the negotiation list, with the lower index numbers appearing higher in the list and the higher index numbers appearing at the bottom of the list.

Values

1 to 255

cipher-suite-code

Specifies the cipher suite code.

Values

tls-aes128-gcm-sha256

tls-aes256-gcm-sha384

tls-chacha20-poly1305-sha256

tls-aes128-ccm-sha256

tls-aes128-ccm8-sha256

client-group-list
Syntax

client-group-list name [create]

no client-group-list name

Context

config>system>security>tls

Platforms

Supported on all 7210 SAS platforms as described in this document, except the 7210 SAS-D

Description

Commands in this context configure a list of group suite codes that the client sends in a client Hello message.

The no form of this command removes the client group list.

Default

no client-group-list

Parameters
name

Specifies the name of the client group list, up to 32 characters.

create

Keyword used to create the client group list.

tls13-group
Syntax

tls13-group index name group-suite-code

no tls13-group index

Context

config>system>security>tls>client-group-list

Platforms

Supported on all 7210 SAS platforms as described in this document, except the 7210 SAS-D

Description

This command configures the TLS 1.3-supported group suite codes sent by the client or server in their respective Hello messages.

The 7210 SAS TLS client supports the use of Elliptic-curve Diffie-Hellman Ephemeral (ECDHE) groups.

The no form of this command removes the group suite code.

Default

no tls13-group

Parameters
index

Specifies the index number, that indicates the location of the group suite code in the client or server group list. The lower index numbers are higher in the list, and the higher index numbers are at the bottom of the list.

Values

1 to 255

group-suite-code

Specifies the group suite code.

Values

tls-ecdhe-256

tls-ecdhe-384

tls-ecdhe-521

tls-x25519

tls-x448

client-signature-list
Syntax

client-signature-list name [create]

no client-signature-list name

Context

config>system>security>tls

Platforms

Supported on all 7210 SAS platforms as described in this document, except the 7210 SAS-D

Description

Commands in this context configure a list of TLS 1.3-supported signature suite codes that the client sends in a client Hello message.

The no form of this command removes the client signature list.

Default

no client-signature-list

Parameters
name

Specifies the name of the client signature list, up to 32 characters.

create

Keyword used to create the client signature list.

tls13-signature
Syntax

tls13-signature index name signature-suite-code

no tls13-signature index

Context

config>system>security>tls>client-signature-list

Platforms

Supported on all 7210 SAS platforms as described in this document, except the 7210 SAS-D

Description

This command configures the TLS 1.3-supported signature suite codes sent by the client or server in their respective Hello messages.

The no form of this command removes the signature suite code.

Default

no tls13-signature

Parameters
index

Specifies the index number, that indicates the location of the signature suite code in the client or server group list. The lower index numbers are higher in the list, and the higher index numbers are at the bottom of the list.

Values

1 to 255

signature-suite-code

Specifies the signature suite code.

Values

tls-rsa-pkcs1-sha256

tls-rsa-pkcs1-sha384

tls-rsa-pkcs1-sha512

tls-ecdsa-secp256r1-sha256

tls-ecdsa-secp384r1-sha384

tls-ecdsa-secp521r1-sha512

tls-rsa-pss-rsae-sha256

tls-rsa-pss-rsae-sha384

tls-rsa-pss-rsae-sha512

tls-rsa-pss-pss-sha256

tls-rsa-pss-pss-sha384

tls-rsa-pss-pss-sha512

tls-ed25519

tls-ed448

client-tls-profile
Syntax

client-tls-profile name [create]

no client-tls-profile name

Context

config>system>security>tls

Platforms

Supported on all 7210 SAS platforms as described in this document, except the 7210 SAS-D

Description

Commands in this context configure the TLS client profile to be assigned to applications for encryption.

The no form of this command removes the TLS client profile.

Default

no client-tls-profile

Parameters
name

Specifies the name of the client TLS profile, up to 32 characters in length.

create

Keyword used to create the client TLS profile.

cert-profile
Syntax

cert-profile name

no cert-profile

Context

config>system>security>tls>client-tls-profile

Platforms

Supported on all 7210 SAS platforms as described in this document, except the 7210 SAS-D

Description

This command assigns a TLS certificate profile to be used by the TLS client profile. This certificate is sent to the server for the authentication of the client and public key.

The no form of this command removes the TLS certificate profile assignment.

Default

no cert-profile

Parameters
name

Specifies the name of the TLS certificate profile, up to 32 characters in length.

cipher-list
Syntax

cipher-list name

no cipher-list

Context

config>system>security>tls>client-tls-profile

Platforms

Supported on all 7210 SAS platforms as described in this document, except the 7210 SAS-D

Description

This command assigns the cipher list to be used by the TLS client profile for negotiation in the client Hello message.

The no form of this command removes the cipher list assignment.

Default

no cipher-list

Parameters
name

Specifies the name of the cipher list, up to 32 characters in length.

group-list
Syntax

group-list name

no group-list

Context

config>system>security>tls>client-tls-profile

Platforms

Supported on all 7210 SAS platforms as described in this document, except the 7210 SAS-D

Description

This command assigns an existing TLS 1.3 group list to the TLS client profile.

The no form of this command removes the group list from the client profile.

Default

no group-list

Parameters
name

Specifies the name of the group list, up to 32 characters in length.

protocol-version
Syntax

protocol-version TLS version

no protocol-version

Context

config>system>security>tls>client-tls-profile

Platforms

Supported on all 7210 SAS platforms as described in this document, except the 7210 SAS-D

Description

This command configures the TLS version to be negotiated between the client and server.

When configured, the client adds the specified version as a supported version in its Hello message to the server. If the tls-version-all parameter is specified, the client adds both TLS 1.2 and TLS 1.3 as supported versions in its Hello message.

The no form of this command reverts to the default TLS version.

Default

protocol-version tls-version12

Parameters
TLS version

Specifies the TLS version to include in the client Hello message.

Values

tls-version12

tls-version13

tls-version-all

signature-list
Syntax

signature-list name

no signature-list

Context

config>system>security>tls>client-tls-profile

Platforms

Supported on all 7210 SAS platforms as described in this document, except the 7210 SAS-D

Description

This command assigns an existing TLS 1.3 signature list to the TLS client profile.

The no form of this command removes the signature list from the client profile.

Default

no signature-list

Parameters
name

Specifies the name of the signature list, up to 32 characters in length.

certificate
Syntax

certificate

Context

admin

Platforms

Supported on all 7210 SAS platforms as described in this document, except the 7210 SAS-D

Description

Commands in this context configure X.509 certificate-related operational parameters.

display
Syntax

display type {cert | key} url-string format {pkcs10 | pkcs12 | pkcs7-der | pkcs7-pem | pem | der} [password password]

Context

admin>certificate

Platforms

Supported on all 7210 SAS platforms as described in this document, except the 7210 SAS-D

Description

This command displays the content of an input file in plain text.

The following list summarizes the formats supported by this command:
  • System
    • system format
    • PKCS #12
    • PKCS #7 PEM encoded
    • PKCS #7 DER encoded
    • RFC 4945
  • Key
    • system format
    • PKCS #12
Parameters
url-string

Specifies the local CF card URL of the input file.

Values

url-string: <local-url> [up to 99 characters]

local-url: <cflash-id>/<file-path>

cflash-id: cf1:

type

Keyword to specify the type of input file.

Values

cert, key

format

Keyword to specify the format of input file.

Values

pkcs10, pkcs12, pkcs7-der, pkcs7-pem, pem, der

password

Specifies the password , up to 99 characters in length, to decrypt the input file, if it is an encrypted PKCS#12 file.

import
Syntax

import type {cert | key} input url-string output filename format input-format [password password]

Context

admin>certificate

Platforms

Supported on all 7210 SAS platforms as described in this document, except the 7210 SAS-D

Description

This command converts an input file (key or certificate) to a system format file. The following list summarizes the formats supported by this command:

  • Certificate
    • PKCS #12
    • PKCS #7 PEM encoded
    • PKCS #7 DER encoded
    • PEM
    • DER
  • Key
    • PKCS #12
    • PEM
    • DER
Note: If the input file contains multiple objects of the same type, only the first object is extracted and converted.
Parameters
url-string

Specifies the URL for the input file. This URL could be either a local CF card URL file or an FP URL to download the input file.

Values

url-string: <local-url> [up to 99 characters]

local-url: <cflash-id>/<file-path>

cflash-id: cf1:

filename

Specifies the name of the output file, up to 95 characters in length. The output directory is cf1:\system-pki.

type

Keyword to specify the type of input file.

Values

cert, key

input-format

Keyword to specify the format of the input file.

Values

pkcs12, pkcs7-der, pkcs7-pem, pem, der

password

Specifies the password, up to 32 characters in length, to decrypt the input file if it is an encrypted PKCS#12 file.