Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I integrate HSM encryption with C#?

How would I integrate Hardware Security Module encryption with a C# application?

like image 886
user690932 Avatar asked Apr 07 '11 14:04

user690932


People also ask

How keys are stored in HSM?

A Hardware Security Module (HSM) is a hardware-based security device that generates, stores, and protects cryptographic keys. Secure Proxy uses keys and certificates stored in its store or on an HSM. Secure Proxy maintains information in its store about all keys and certificates.

Is HSM a hardware or software?

Hardware Security Modules (HSMs) are hardened, tamper-resistant hardware devices that strengthen encryption practices by generating keys, encrypting and decrypting data, and creating and verifying digital signatures. Some hardware security modules (HSMs) are certified at various FIPS 140-2 Levels.

What is HSM connectivity?

A Hardware Security Module (HSM) is a physical device that provides a secure environment for the storage of cryptographic keys and for performing operations using these keys.


2 Answers

We used Pkcs11Interop and it worked really well. It is an Apache 2.0 licensed open source library. As far as i see it is quite up to date and still being maintained.

like image 103
mehmet6parmak Avatar answered Sep 29 '22 04:09

mehmet6parmak


If its a PKCS #11 compliant device, you can use NCryptoki. From their website:

NCryptoki is a library for .NET framework that implements the PKCS#11 specifications and supplies an API for C#, VB.NET, Visual Basic 6, Delphi and other COM interop languages for integrating a PKCS#11 compliant token in any application.

[...]

Main Features:

  • Compliant with PKCS#11 2.20 specifications
  • Compliant with any PKCS#11 smart card/token/HSM
  • 32 or 64 bit platform
  • .NET Framework 2.0, 3.0, 3.5 and 4.0
like image 38
GWLlosa Avatar answered Sep 29 '22 05:09

GWLlosa