2016-08-02 10 views
2

私は自分のローカルコンピュータストアにx509を持っています。 C#での読み方は? は、私はこれは、「マイ」(個人)ストアからあなたの証明書を取得します。この方法店舗から秘密鍵を読み取る方法

RSACryptoServiceProvider rsa = (RSACryptoServiceProvider).cert.PrivateKey() 

答えて

1

秘密鍵を取得使用する必要があります。

その時点でX509Certificate2があり、そこからPrivateKeyプロパティにアクセスできます。

+0

はいローカルストアから証明書を取得する方法を知りたいだけです。現在、私はCドライブの証明書を持っており、そこから読み取っています。 – JohnM

+0

@ JohnMあなたはあなたが望む証明書を識別する何らかの方法が必要です。証明書ストアには、多くの証明書を含めることができます。通常、拇印またはX500 DNが使用されます。拇印は重複を生成する可能性が低いので好ましい。その時点で、上の例の 'certificates'変数に' Find'を使って正確な証明書を見つけることができます。 – vcsjones

+0

彼のコメントは、私の答えを編集する前であった、BTWは違った文脈で異なった読み方をしていたかもしれません。しかし、店舗とまったく同じ証明書を常に探しているなら、 。 – Yushatak

0
public void AddCertificate() 
    { 
     if (this.ClientCertificates == null) 
     { 
      this.ClientCertificates = new X509CertificateCollection(); 
     } 
     X509Certificate cert = new X509Certificate(path, pass, X509KeyStorageFlags.MachineKeySet); 
     this.ClientCertificates.Add(cert); 
    } 
+0

関数のホストクラスがClientCertificatesを取るものであれば、そのコードはそれを追加しますが、私はそれが彼が求めていたものではないと思いますか? – Yushatak

+0

@Yushatak多分私は質問を理解していませんでした... –

+0

これは私が今すぐcertを取得して動作しますが、それは普通のユーザーには見やすいものです。だから私はローカルのコンピュータ店に入れてそこから読んでみたいです – JohnM

関連する問題