bir şekilde, (ben var oldu ne kadar geriye diyemeyiz rağmen) Windows ile birlikte gelen sertifika isteklerini yüklemek ve bunları çözümlenen olmasını sağlar CertEnroll kütüphane bulunmaktadır.
Öncelikle projenize CERTENROLLLib
COM kitaplığına bir başvuru almanız gerekir. Bu, daha sonra kullanabileceğiniz bir CERTENROLLLib
ad alanı oluşturacaktır.
Sonra böyle bir şey yaparsınız;
string csr = "-----BEGIN CERTIFICATE REQUEST-----\r\n" +
"MIIBnTCCAQYCAQAwXTELMAkGA1UEBhMCU0cxETAPBgNVBAoTCE0yQ3J5cHRvMRIw\r\n" +
"EAYDVQQDEwlsb2NhbGhvc3QxJzAlBgkqhkiG9w0BCQEWGGFkbWluQHNlcnZlci5l\r\n" +
"eGFtcGxlLmRvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAr1nYY1Qrll1r\r\n" +
"uB/FqlCRrr5nvupdIN+3wF7q915tvEQoc74bnu6b8IbbGRMhzdzmvQ4SzFfVEAuM\r\n" +
"MuTHeybPq5th7YDrTNizKKxOBnqE2KYuX9X22A1Kh49soJJFg6kPb9MUgiZBiMlv\r\n" +
"tb7K3CHfgw5WagWnLl8Lb+ccvKZZl+8CAwEAAaAAMA0GCSqGSIb3DQEBBAUAA4GB\r\n" +
"AHpoRp5YS55CZpy+wdigQEwjL/wSluvo+WjtpvP0YoBMJu4VMKeZi405R7o8oEwi\r\n" +
"PdlrrliKNknFmHKIaCKTLRcU59ScA6ADEIWUzqmUzP5Cs6jrSRo3NKfg1bd09D1K\r\n" +
"9rsQkRc9Urv9mRBIsredGnYECNeRaK5R1yzpOowninXC\r" +
"-----END CERTIFICATE REQUEST-----";
CX509CertificateRequestPkcs10 request = new CX509CertificateRequestPkcs10();
request.InitializeDecode(csr, EncodingType.XCN_CRYPT_STRING_BASE64_ANY);
request.CheckSignature();
Console.WriteLine(((CX500DistinguishedName)request.Subject).Name);
Console.WriteLine(request.PublicKey.Length);
Console.WriteLine(request.HashAlgorithm.FriendlyName);
Sen önce bir CX500DistinguishedName
örneğine döküm gerek sadece eğlenceli kısım, konu adını oluyor görebilirsiniz.
Bununla ilgili herhangi bir deneyimim yok, ancak Bouncy Castle API'sine göz atın. Java uygulaması CSR'leri okur ve C# uygulamasının Java işlevselliğinin "çoğunu" sağlaması beklenir. http://www.bouncycastle.org/csharp/ –