--- title: "Fortanix DSM Client SDKs" slug: "fortanix-dsm-client-sdks" updated: 2026-08-19T06:37:53Z published: 2026-08-19T06:37:53Z canonical: "support.fortanix.com/fortanix-dsm-client-sdks" --- > ## Documentation Index > Fetch the complete documentation index at: https://support.fortanix.com/llms.txt > Use this file to discover all available pages before exploring further. # Fortanix DSM Client SDKs **Java** ## Java The Java SDK supports Java 8, 11, and 17. ### Download Click [here](/v1/docs/jce) to download the Unified JCE and Java SDK, and the Java SDK and JCE documentation. ### Download using Maven Click [here](/v1/docs/jce) to download the Unbundled JCE and Java SDK, and the Java SDK and JCE documentation. *For more information, refer to the* [*DSM Java SDK and JCE Provider Documentation*](/v1/docs/dsm-java-sdk-and-jce-provider-documentation)*.* ```plaintext com.fortanix sdkms-client 5.8.2962 ``` Alternatively, add the following dependency to the `build.gradle` file: ```plaintext compile "com.fortanix:sdkms-client:5.8.2962" ``` ### Supported Features | OPERATIONS | ALGORITHM | KEY SIZE, CURVE, OR MODE | | --- | --- | --- | | **Create or Import** | Supported algorithms for importing a key: - AES, DES, DES3 as HEX - EC, RSA as PEM - Cert - Pfx - Secret | Supported key sizes or curves: - **AES** - 128,192, or 256 bits - **DES** - 56 bits - **DES3** - 112 or 168 bits - **RSA** - between 1024 and 8192 bits - **EC** - SecP192K1, SecP224K1, SecP256K1, NistP192, NistP224, NistP256, NistP384, NistP521, Gost256A, Ed25519, X25519, X448 - **DSA** - When `key_size` = 2048: 224 or 256 bits - When `key_size` = 3072: 256 bits - **HMAC** - between 112 and 8192 bits - **BLS** - Minimal public key and signature sizes - **FPE** - Custom, General, Identification Numbers (USA), Military Service Numbers | | **Encrypt or Decrypt** **Batch Encrypt or Batch Decrypt** | - AES - DES - DES3 - RSA | Supported modes: - **AES** - CBC, CBC (no padding), CFB, CTR, GCM, GCM (no padding), CCM, OFB, KW, KWP, FPE - **DES**, **DES3** - ECB, CBC, CBC (no padding) - **RSA** - OAEP_MGF1_SHA224, OAEP_MGF1_SHA384, OAEP_MGF1_SHA512, OAEP_MGF1_SHA1, OAEP_MGF1_SHA256, PKCS1_V15 | | **Sign or Verify** **Batch Sign or Batch Verify** | - EC, RSA | Supported modes: - **RSA** - PKCS#1 v1.5, OAEP, OAEPPADDING, PSS - **With hash algorithms (sign/verify)**: SHA-1, RIPEMD-160, SHA-224, SHA-256, SHA-384, SHA-512, SSL3, Blake2b256, Blake2b384, Blake2b512, Blake2s256, SHA3_224, SHA3_256, SHA3_384, SHA3_512, Streebog256, Streebog512 | | **Multipart Encrypt or Multipart Decrypt** | - AES | Supported modes: CBC, CBCNOPAD, CTR, GCM | | **Key Rotation or Revoke Key** | - AES, DES, DES3, RSA, EC, ARIA, DSA, SEED, KCDSA, EC-KCDSA, LMS | Supported key sizes or curves: - **AES**, **ARIA** - 128,192, or 256 bits - **DES** - 56 bits - **DES3** - 112 or 168 bits - **RSA** - between 1024 and 8192 bits - **EC** - SecP192K1, SecP224K1, SecP256K1, NistP192, NistP224, NistP256, NistP384, NistP521 - **EC-KCDSA** - NIST P-192 to P-521, SecP192K1 to SecP256K1 - **LMS** - SHA-256 M32 H5/H10/H15/H20/H25 - **SEED** - 128 bits | | **Message Digest** | | Supported hash algorithms: SHA1, SHA256, SHA384, SHA512, SHA3_224, SHA3_256, SHA3_384, SHA3_512 | | **Wrap Key** | - AES, DES, HMAC, RSA, EC, ARIA, SEED | Symmetric, HMAC, opaque, and secret objects may be wrapped with symmetric or asymmetric keys. Asymmetric-to-asymmetric key wrapping is not supported. | | **Derive Key** | - AES, DES, DES3, HMAC, ARIA, SEED | - **AES**, **ARIA** - 128,192, or 256 bits - **DES** - 56 bits - **DES3** - 168 bits - **HMAC** - 1024–8192 bits - **SEED** - 128 bits | | **Agree Key** | - AES, EC | - **AES** - 128,192, or 256 bits - **EC** - SecP192K1 to SecP256K1, NistP192 to NistP521 | | **Export Key** | - AES, DES, DES3, RSA, EC, ARIA, DSA, SEED, KCDSA, EC-KCDSA, LMS, HMAC | - **AES**, **ARIA** - 128,192, or 256 bits - **DES** - 56 bits - **DES3** - 112 or 168 bits - **HMAC** - 1024–8192 bits - **RSA** - 1024–8192 bits - **EC** - SecP192K1 to SecP256K1, NistP192 to NistP521 - **EC-KCDSA** - NIST P-192 to P-521, SecP192K1 to SecP256K1 - **LMS** - SHA-256 M32 H5/H10/H15/H20/H25 - **SEED** - 128 bits | | **Approval Requests** | All the crypto algorithms | | | **Export or Import Key components** | - AES | Supported key size: - **AES** - Key Size - 128,192, or 256 bits - Mode - CBC, OFB, CFB, CTR | | **Batch Mac or Mac Verify** **Mac Generate or Mac Verify** | | Digest algorithms: - SHA-1, RIPEMD-160, SHA-224, SHA-256, SHA-384, SHA-512, SSL3, Blake2b256, Blake2b384, Blake2b512, Blake2s256, SHA3_224, SHA3_256, SHA3_384, SHA3_512, Streebog256, Streebog512 | | **Tokenization** | AES | Custom, General, Identification Numbers (USA), Military Service Numbers | | **HMG** | | Supported kinds of HMGs: AWSKMS, AWSCLOUDHSM, AZUREKEYVAULT, NCIPHER, SAFENET, FORTANIXFIPSCLUSTER, FORTANIX | **Python** ## Python The Python SDK supports both Python 2 and 3. > [!NOTE] > NOTE > > For Python version 3.9 and above, you must use Cryptography library version 37.0.0. ### Download [Library package](https://cdn.us.document360.io/c3bd85d2-4ad8-4d85-9f60-f1c168a3aad9/Images/Documentation/sdkms-python-sdk-5.8.2962.zip) **SHA256 sum:** [Library package](https://cdn.us.document360.io/c3bd85d2-4ad8-4d85-9f60-f1c168a3aad9/Images/Documentation/sdkms-python-sdk-5.8.2962.zip) **SHA256 sum:** ```plaintext 2f50919aa503052d8ed14c96caa4cc7799b9c03a4bd1a9148f99f909fe7e6d90 ``` [Sample code](https://download.fortanix.com/clients/sdkms-sdk-sample.py) ### PIP Alternatively, install via PIP ```plaintext pip install sdkms ``` ### Supported Features | Operations | Algorithm | Key Size, Curve, or Mode | | --- | --- | --- | | **Create or Import** | Supported algorithms: - AES, DES, DES3 as HEX - EC, RSA as PEM - Cert, PFX, Secret | Supported key sizes or curves: - **AES** – 128, 192, 256 bits - **DES** – 56 bits - **DES3** – 112, 168 bits - **RSA** – 1024 to 8192 bits - **EC** – SecP192K1, SecP224K1, SecP256K1, NistP192, NistP224, NistP256, NistP384, NistP521, Gost256A, Ed25519, X25519, X448 - **DSA** - 2048 key size → 224 or 256 bits - 3072 key size → 256 bits - **HMAC** – 112 to 8192 bits - **BLS** – Minimal public key and signature size - **FPE** – Custom, General, Identification Numbers (USA), Military Service Numbers | | **Encrypt/Decrypt** **Batch Encrypt/Decrypt** | - AES - DES - DES3 - RSA | Supported modes: - **AES** – CBC, CBC (no padding), CFB, CTR, GCM, GCM (no padding), CCM, OFB, KW, KWP, FPE - **DES/DES3** – ECB, CBC, CBC (no padding) - **RSA** – OAEP_MGF1_SHA1/224/256/384/512, PKCS1_V15 | | **Sign/Verify** **Batch Sign/Verify** | - EC, RSA | Supported modes: - **RSA** – PKCS#1 v1.5, OAEP, OAEPPADDING, PSS - **With hash algorithms** – SHA-1, RIPEMD-160, SHA-224/256/384/512, SSL3, Blake2b256/384/512, Blake2s256, SHA3_224/256/384/512, Streebog256/512 | | **Multipart Encrypt/Decrypt** | - AES | Modes: CBC, CBCNOPAD, CTR, GCM | | **Key Rotation / Revoke** | - AES, DES, DES3, RSA, EC, ARIA, DSA, SEED, KCDSA, EC-KCDSA, LMS | Key sizes or curves: - **AES/ARIA** – 128, 192, 256 bits - **DES** – 56 bits - **DES3** – 112, 168 bits - **RSA** – 1024 to 8192 bits - **EC** – Nist and SecP curves - **EC-KCDSA** – NIST P and SecP curves - **LMS** – SHA-256 M32 H5–H25 - **SEED** – 128 bits | | **Message Digest** | | Hash algorithms: SHA1, SHA256, SHA384, SHA512, SHA3_224/256/384/512 | | **Wrap Key** | - AES, DES, HMAC, RSA, EC, ARIA, SEED | Symmetric keys, HMAC, opaque and secret objects can be wrapped with symmetric or asymmetric keys. Asymmetric keys can be wrapped with symmetric keys. Wrapping asymmetric with asymmetric is not supported. | | **Derive Key** | - AES, DES, DES3, HMAC, ARIA, SEED | Key sizes: - **AES/ARIA** – 128, 192, 256 bits - **DES** – 56 bits - **DES3** – 168 bits - **HMAC** – 1024 to 8192 bits - **SEED** – 128 bits | | **Agree Key** | - AES, EC | Key sizes: - **AES** – 128, 192, 256 bits - **EC** – SecP and Nist curves | | **Export Key** | - AES, DES, DES3, RSA, EC, ARIA, DSA, SEED, KCDSA, EC-KCDSA, LMS, HMAC | Key sizes or curves: - **AES/ARIA** – 128, 192, 256 bits - **DES** – 56 bits - **DES3** – 112, 168 bits - **RSA** – 1024 to 8192 bits - **HMAC** – 1024 to 8192 bits - **EC/EC-KCDSA** – NIST P and SecP curves - **LMS** – SHA-256 M32 H5–H25 - **SEED** – 128 bits | | **Approval Requests** | All crypto algorithms | | | **Export/Import Key Components** | - AES | - Key Size – 128, 192, 256 bits - Mode – CBC, OFB, CFB, CTR | | **Batch MAC / MAC Verify** **MAC Generate / Verify** | | Digest algorithms: - SHA-1, RIPEMD-160, SHA-224/256/384/512, SSL3, Blake2b256/384/512, Blake2s256, SHA3_224/256/384/512, Streebog256/512 | | **Tokenization** | AES | Custom, General, Identification Numbers (USA), Military Service Numbers | | **HMG** | | Supported HMGs: AWSKMS, AWSCLOUDHSM, AZUREKEYVAULT, NCIPHER, SAFENET, FORTANIXFIPSCLUSTER, FORTANIX | **Go** ## Go The Go SDK supports Go 1.18 and above. ### New SDK [github.com/fortanix/sdkms-client-go](http://github.com/fortanix/sdkms-client-go) ### Supported Operating Systems (OS) *For information on the GO client OS compatibility matrix, refer to* [*Compatibility Matrix*](/v1/docs/fortanix-dsm-clients-compatibility-matrix)*.* ### Supported Features | OPERATIONS | ALGORITHM | KEY SIZE, CURVE, OR MODE | | --- | --- | --- | | **Create or Import** | Supported algorithms for importing a key: - AES, DES, DES3 as HEX - EC, RSA as PEM - Cert - Secret | Supported key sizes or curves: - **AES** - 128,192, or 256 bits - **DES** - 56 bits - **DES3** - 112 or 168 bits - **RSA** - between 1024 and 8192 bits - **EC** - SecP192K1, SecP224K1, SecP256K1, NistP192, NistP224, NistP256, NistP384, NistP521, Gost256A, Ed25519, X25519, X448 - **HMAC** - between 112 and 8192 bits | | **Encrypt or Decrypt** | - AES - DES - DES3 - RSA | Supported modes: - **AES** - CBC, CBC (no padding), CFB, CTR, GCM, CCM, OFB, KW, KWP - **DES**, **DES3** - ECB, CBC, CBC (no padding) - **RSA** - OAEP_MGF1_SHA224, OAEP_MGF1_SHA384, OAEP_MGF1_SHA512, OAEP_MGF1_SHA1, OAEP_MGF1_SHA256, PKCS1_V15 | | **Sign or Verify** **Batch Sign or Batch Verify** | - RSA | Supported modes: - **RSA** - PKCS#1 v1.5, OAEP, OAEPPADDING, PSS - **With hash algorithms (sign/verify)**: SHA-1, RIPEMD-160, SHA-224, SHA-256, SHA-384, SHA-512, SSL3, Blake2b256, Blake2b384, Blake2b512, Blake2s256, SHA3_224, SHA3_256, SHA3_384, SHA3_512, Streebog256, Streebog512 | | **Multipart Encrypt or Multipart Decrypt** | - AES | Supported modes: CBC, CBCNOPAD, CTR, and GCM | | **Key Rotation or Revoke Key** | - AES, DES, DES3, RSA, EC, ARIA, SEED | Supported key sizes or curves: - **AES** and **ARIA** - 128,192, or 256 bits - **DES** - 56 bits - **DES3** - 112 or 168 bits - **RSA** - between 1024 and 8192 bits - **EC** - SecP192K1, SecP224K1, SecP256K1, NistP192, NistP224, NistP256, NistP384, NistP521 - **SEED** - 128 bits | | **Message Digest** | | Supported hash algorithms: SHA1, SHA256, SHA384, SHA512, SHA3_224, SHA3_256, SHA3_384, SHA3_512 | | **Wrap Key** | - AES, DES, HMAC, RSA, EC, ARIA, SEED | Symmetric keys, HMAC keys, opaque objects, and secret objects may be wrapped with symmetric or asymmetric keys. Asymmetric keys may be wrapped with symmetric keys. But wrapping an asymmetric key with another asymmetric key is not supported. | | **Derive Key** | - AES, DES, DES3, HMAC, ARIA, SEED, Secret | Supported key sizes or curves: - **AES** and **ARIA** - 128,192, or 256 bits - **DES** - 56 bits - **DES3** - 168 bits - **HMAC** - between 1024 and 8192 bits - **SEED** - 128 bits - Deriving **AES** and **ARIA** key -128, 192, and 256 bits size from **Secret** key with HKDF mechanism using DigestAlgorithmSha1, DigestAlgorithmSha224, DigestAlgorithmSha256, DigestAlgorithmSha384, DigestAlgorithmSha512 - Deriving **SEED** key 128 bits size from **Secret** key with HKDF mechanism using DigestAlgorithmSha1, DigestAlgorithmSha224, DigestAlgorithmSha256, DigestAlgorithmSha384, DigestAlgorithmSha512 - Deriving **HMAC** key from **Secret** key with HKDF mechanism using DigestAlgorithmSha1, DigestAlgorithmSha224, DigestAlgorithmSha256, DigestAlgorithmSha384, DigestAlgorithmSha512 *For more information, refer to* [*Deriving Security Object.*](/v1/docs/dsm-deriving-security-objects) | | **Agree Key** | - AES, EC | Supported key sizes or curves: - **AES** - 128,192, or 256 bits - **EC** - SecP192K1, SecP224K1, SecP256K1, NistP192, NistP224, NistP256, NistP384, NistP521 | | **Export Key** | - AES, DES, DES3, RSA, EC, ARIA, SEED, HMAC | Supported key sizes or curves: - **AES** and **ARIA** - 128,192, or 256 bits - **DES** - 56 bits - **DES3** - 112 or 168 bits - **HMAC** - between 1024 and 8192 bits - **RSA** - between 1024 and 8192 bits - **EC** - SecP192K1, SecP224K1, SecP256K1, NistP192, NistP224, NistP256, NistP384, NistP521 - **SEED** - 128 bits | | **Approval Requests** | All the crypto algorithms | | | **Batch Mac or Mac verify,** **Mac Generate or Mac Verify** | | Digest algorithms: - SHA-1, RIPEMD-160, SHA-224, SHA-256, SHA-384, SHA-512, SSL3, Blake2b256, Blake2b384, Blake2b512, Blake2s256, SHA3_224, SHA3_256, SHA3_384, SHA3_512, Streebog256, Streebog512 | ### Old SDK The go SDK supports go 1.9 and above. [Library package](https://cdn.us.document360.io/c3bd85d2-4ad8-4d85-9f60-f1c168a3aad9/Images/Documentation/sdkms-go-sdk-3.16.1311.zip) **C# .Net** ## C# .Net The C# SDK supports .Net 2.1 and above. ### Download [Library package](https://cdn.us.document360.io/c3bd85d2-4ad8-4d85-9f60-f1c168a3aad9/Images/Documentation/sdkms-csharp-sdk-3.27.zip) **Javascript/Node.js** ## Javascript/Node.js Javascript/Node.js ### Download [Javascript/Node.js SDK](https://cdn.us.document360.io/c3bd85d2-4ad8-4d85-9f60-f1c168a3aad9/Images/Documentation/sdkms-javascript-sdk-4.1.1484.zip) **PHP SDK** ## PHP SDK PHP SDK ### Download [PHP SDK](https://cdn.us.document360.io/c3bd85d2-4ad8-4d85-9f60-f1c168a3aad9/Images/Documentation/sdkms-php-sdk-4.16.2195.zip) **SHA256 sum:** ```plaintext 47504c35d216238928a512f798623cbe3b6f3cbd92798f404531b7ec715c1349 ```