Pracuję nad kodem, który tworzy certyfikat X509 i parę kluczy publiczny/prywatny. Klucz publiczny zostanie dodany do certyfikatu i zostanie wysłany do urzędu certyfikacji, który go podpisuje.Powiąż klucz prywatny z klasą X509Certificate2 w .net
Zwrócony certyfikat jest następnie dostępny za pośrednictwem klasy System.Security.Cryptography.X509Certificates.X509Certificate2. Teraz chcę użyć tego certyfikatu do zainicjowania bezpiecznego połączenia z innymi klientami. Dlatego używam klasy SslStream. Aby rozpocząć uzgadnianie SSL, używam tej metody:
server.AssociatedSslStream.AuthenticateAsServer(
MyCertificate, // Client Certificate
true, // Require Certificate from connecting Peer
SslProtocols.Tls, // Use TLS 1.0
false // check Certificate revocation
);
Ta metoda wymaga skojarzenia klucza prywatnego z certyfikatem. Oczywiście certyfikat zwracany przez urząd certyfikacji nie zawiera klucza prywatnego. Ale jest przechowywany jako plik .key na dysku twardym. Klasa X509Certificate2 ma właściwość o nazwie PrivateKey, która prawdopodobnie skojarzy klucz prywatny z certyfikatem, ale nie mogę znaleźć sposobu na ustawienie tej właściwości.
Czy istnieje sposób, w jaki mogę powiązać klucz prywatny z klasą .net X509?
to lepszy sposób niż do zwijaj klucz prywatny i certyfikat razem użyłem tej opcji i znaleźć wspaniałą alternatywą . – Alejandro
Gdybyś był tak miły, aby nas oświecić o naturze tej wyższości? – sschober
do uwzględnienia kodu dla metod pomocnika, denerwujące, aby utworzyć użytkownika w zewnętrznej witrynie, aby uzyskać dostęp. –