KB5066835: KSP vs CSP transition and recommendations for Personal Desktop Client. Read more ->
Nexus Documentation

Set up elliptic curve cryptography encoding in Identity Manager

This article includes updates for Identity Manager 6.0.0.

This article describes how to set up Elliptic Curve Cryptography (ECC) encoding in Smart ID Identity Manager.

For more information, see Set up card encoding description template in Identity Manager.

Prerequisites

  • The type of the created keys is coded into the KeySize property. Supported curves are limited by Bouncy Castle, the PKCS#11 middleware, and the certificate authority. 

The PKCS10SigningAlgorithm must be specified when using elliptic curves cryptography.

Set up elliptic curve cryptography encoding

Edit the encoding description in which you want to use ECC and do the following:

  1. Use the KeySize property to code the type of the created keys. Set the value to ECC/ plus a curve name, for example, KeySize=ECC/prime256v1.See the “Supported curves“ section below for the valid curve names.

  2. Specify a suitable PKCS10SigningAlgorithm supported by the given card/middleware combination. Preferably, choose a SHA-2-based algorithm. SHA1_ECDSA should be used only if better options are unavailable. See the “Supported signing algorithms“ section below for the valid algorithm names.

Example: ECC encodings

[Application_A]
CertTempl=SigCert
KeySize=ECC/prime256v1
PKCS10SigningAlgorithm=SHA256_ECDSA
 
[Application_B]
CertTempl=AuthCert
KeySize=ECC/brainpoolP256r1
PKCS10SigningAlgorithm=SHA256_ECDSA

Supported curves

The table below contains a subset of the supported curves. This is not an exhaustive list, there are many other curves that may or may not be supported.

Curve name

(alternative names)

Cryptovision 8 middleware
with CardOS 5.0 cards

Cryptovision 8 middleware
with CardOS 5.3 cards

TCOS 3 middleware
with TCOS 3 cards

TCOS 4 middleware
with TCOS 3/4 cards

CardOS API 5.5.5
with CardOS 5.0 cards

CardOS API 5.5.5
with CardOS 5.3 cards

IDplug 4.6.1 with CosmoX R6 cards

prime256v1

P-256

secp256r1

check mark

check mark

check mark

check mark

check mark

check mark

check mark

P-224

secp224r1

check mark

check mark

question mark

question mark

check mark

check mark

cross mark

P-384
secp384r1

check mark

check mark

check mark

check mark

check mark

check mark

check mark

P-521
secp521r1

cross mark

check mark

cross mark

cross mark

check mark

check mark

check mark

brainpoolP160t1

check mark

check mark

question mark

question mark

cross mark

cross mark

cross mark

brainpoolP256t1

check mark

check mark

check mark

check mark

cross mark

cross mark

cross mark

brainpoolP384t1

check mark

check mark

check mark

check mark

cross mark

cross mark

cross mark

brainpoolP512t1

cross mark

check mark

check mark

check mark

cross mark

cross mark

cross mark

brainpoolIP192r1

check mark

check mark

check mark

check mark

check mark

check mark

cross mark

brainpoolIP256r1

check mark

check mark

check mark

check mark

check mark

check mark

cross mark

brainpoolIP320r1

check mark

check mark

check mark

check mark

check mark

check mark

cross mark

brainpoolIP512r1

cross mark

check mark

check mark

check mark

check mark

check mark

cross mark

secp256k1

cross mark

check mark

question mark

question mark

check mark

check mark

cross mark

Supported signing algorithms

Algorithm name

Cryptovision 8 middleware
with CardOS 5.0/5.3 cards

TCOS 3 middleware
with TCOS 3 cards

TCOS 4 middleware
with TCOS 3/4 cards

CardOS API 5.5.5
with CardOS 5.0/5.3 cards

IDplug 4.6.1 with CosmoX R6 cards

SHA1_ECDSA

check mark  

check mark

check mark  

check mark  

cross mark

SHA224_ECDSA

check mark

cross mark

cross mark  

cross mark  

cross mark

SHA256_ECDSA

check mark

cross mark

check mark  

cross mark  

check mark

SHA384_ECDSA

check mark

cross mark

cross mark  

cross mark  

check mark

SHA512_ECDSA

check mark

cross mark

cross mark  

cross mark  

check mark