Bài đăng nổi bật

Lập trình Java Spring Boot (20 buổi)

JAVA FULLSTACK VIỆT NAM: Website:  javafullstackvietnam.com Fan page:  https://www.facebook.com/JavaFullstackVietNam Group:  https://www.fac...

Thứ Ba, 29 tháng 12, 2015

C#: Sử dụng RSACryptoServiceProvider tương tác với HSM ncipher để ký và xác thực dữ liệu

- Bài này hướng dẫn cách kết nối HSM từ C#, sử dụng provider RSACryptoServiceProvider.
- Khuyến nghị Protect mode key hsm: module
- Tất cả câu lệnh config chạy trên thư mục gốc cài hsm (c:\Program Files (x86)\nCipher\nfast\bin)

Các bước chi tiết:

A. Cấu hình CSP và HSM

1. Tạo Key trên HSM (làm theo tài liệu administrator HSM)

2. Tạo Container để RSACryptoServiceProvider gọi tới
- Câu lệnh tạo container
# Keytst -c test_container

3. Import key từ key HSM vào Container vừa tạo
# Cspimport --import --key [KEY OF HSM WANT TO IMPORT TO CONTANER] --appname pkcs11 [ID OF CONTAINER] exchange
Trong đó:
[KEY OF HSM WANT TO IMPORT TO CONTANER]: ID của key trong HSM đã tạo
[ID OF CONTAINER]: id của Container

B. Code C# sử dụng RSACryptoServiceProvider

Sử dụng các thư viện trong c#:

using System.Security;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
using System.Security.Cryptography.Pkcs;


1. Khai báo tham số CspParameters:
CspParameters cp = new CspParameters(1, "nCipher Enhanced Cryptographic Provider");
cp.KeyContainerName = "test_container";

cp.Flags = CspProviderFlags.UseMachineKeyStore;

2. Khai báo RSACryptoServiceProvider và ký dữ liệu
RSACryptoServiceProvider RsaCSP=new RSACryptoServiceProvider(2048, cp);

Lúc này bạn có thể sử dụng RsaCSP để ký dữ liệu.
byte [] signature = RsaCSP.SignData("Hello HVA",  new SHA1CryptoServiceProvider());

3. Xác thực dữ liệu
bool isValid = RsaCSP.VerifyData("Hello HVA", new SHA1CryptoServiceProvider(), signature);

Như vậy là các bạn có thể tạo kết nối HSM nCipher sử dụng RSACryptoServiceProvider của microsoft C# để ký và xác thực dữ liệu. Tương tự các bạn có thể sử dụng để làm các việc khác như: mã hóa, giải mã...

Author: HVA

Bài đăng phổ biến