X509Certificate2
클래스의 다양한 생성자를 사용하여 파일 또는 바이트 배열에서 인증서를 만들 수 있습니다. 예컨대 :
string certFile = @"MyCert.pfx";
string pfxPassword = "password"; // never hard code password in code
X509Certificate2 certificate = new X509Certificate2(certFile, pfxPassword,
X509KeyStorageFlags.MachineKeySet);
RSACryptoServiceProvider rsaCsp = (RSACryptoServiceProvider)certificate.PrivateKey;
그런 다음 How to: Sign XML Documents with Digital Signatures 같이 서명을위한 암호화 서비스 공급자를 사용할 수 있습니다.
이제 "어떤 식 으로든 로컬에 저장하지 않습니까?" 음, 전적으로. 인증서는 이 아니고은 저장되지만 개인 키 은 Microsoft 암호화 API 암호화 서비스 공급자 키 데이터베이스에 저장된입니다.
CryptoAPI를 사용하면 메모리 내 저장소 (.NET Framework에서 허용하거나 P/Invoke를 사용해야하는지 확실하지 않음)를 만들어이 작업을 수행 할 수 있습니다. 또는 BouncyCastle 또는 SecureBlackbox와 같은 타사 라이브러리를 사용하여 작업을 수행 할 수 있습니다 (특히 고급 서명이 필요한 경우). –