Normalerweise, wenn ich ein X509Certificate2
aus meinem Keystore nehme, kann ich .PrivateKey
aufrufen, um den privaten Schlüssel des Zertifikats als AsymmetricAlgorithm
zu erhalten. Allerdings habe ich mich entschieden, Bouncy Castle zu benutzen und seine Instanz von X509Certificate
hat nur eine getPublicKey();
Ich kann keinen Weg finden, den privaten Schlüssel aus dem Cert zu bekommen. Irgendwelche Ideen?
Ich erhalte das X509Certificate2 von meinem Windows-MY Keystore und benutze dann:
%Vor% Gibt es trotzdem einen AsymmetricAlgorithm
(C # privaten Schlüssel) in einen AsymmetricKeyParameter
(bouncycastle privaten Schlüssel) zu konvertieren?
Ich kenne BouncyCastle nicht so gut, aber es scheint mir, dass es einfach ist, den Schlüssel basierend auf den Schlüsselparametern neu zu erstellen.
%Vor%Sie können den Code mit
aufrufen %Vor% Offensichtlich wird davon ausgegangen, dass das Zertifikat einen RSA-Schlüssel enthält, aber das gleiche Ergebnis kann für DSA mit DSACryptoServiceProvider
und DSAParameters
Finden Sie .NET X509Certificate2:
%Vor%Parsen Sie es zum BouncyCastle-Zertifikat und verwenden Sie X509Certificate2Signature, um die Signatur zu erhalten:
%Vor%Tags und Links c# x509certificate bouncycastle private-key