(X509Certificate & KeyStore) C # Эквивалентный код Java - PullRequest
0 голосов
/ 30 октября 2019

У меня есть этот код (Java), также у меня есть '* pfx' и мне нужен код C #.

KeyStore keyStore = KeyStore.getInstance("JKS");
keyStore.load(new FileInputStream(/* Path */),keyPassword.toCharArray());

java.security.cert.Certificate cf = keyStore.getCertificate(/* keyAlias */); //certificates alias
Key k1 = keyStore.getKey(keyAlias, keyPassword.toCharArray()); //private key
KeyPair kp1 = new KeyPair(cf.getPublicKey(), (PrivateKey)k1);

System.out.println("publicKey:" + cf.getPublicKey().toString());
System.out.println("privateKey:" + k1.getEncoded());

Согласно моему поиску, C # использует класс X509Certificate . поэтому я написал следующим образом.

string loc = "~~~.pfx";
string password = "~~~~";
X509Certificate cert = new X509Certificate(loc, password, X509KeyStorageFlags.PersistKeySet);
X509Certificate2 cert2 = new X509Certificate2(cert);

Я получил другой результат в C # после того, как попробовал cert2.GetPrivateKey () или cert2.GetPublicKey ()

Этот результат отличается от Java.

Я живу в не говорящей по-английски области, поэтому на меня налагаются многие ограничения при поиске.

Как получить такой же результат в C #, что эквивалентный Java-код выше?

...