httpsと証明書を使用してJava Webサービス上の.net C#クライアントを認証する際の問題

私は、Java Webサービスを消費しなければならないc#webserviceクライアントを実装しています。通信プロトコルはhttpsで、証明書(秘密鍵を含む)を使用して認証を行う必要があります。

私の知る限り、秘密鍵の目的は、Webサービスの背後にある正しい顧客データベースを特定することです。

ファイル拡張子が「txt」なので、証明書ファイルの形式がわかりません。 mmcコンソール経由でWindows証明書ストアでこのファイルをインポートしようとすると、「ファイルタイプが認識できませんでした」というエラーが発生します(私はドイツ語から翻訳したので、少し英語が違うかもしれません)。したがって、私のクライアントアプリケーションは、この証明書を証明書ストアで見つけることができません。

証明書をインスタンス化し、ファイルの場所をコンストラクタに渡そうとしました。

 mVerifyCert = new X509Certificate2(AppConfig.Settings.Default.CertificateAndKeyFileFullName);

しかし、次の例外が発生します(英語で「System.Security.Cryptography.CryptographicException:Object was not found」)。

{System.Security.Cryptography.CryptographicException:Das angeforderteオブジェクトが見つかりません。

System.Security.Cryptography.CryptographicException.ThrowCryptogaphicException(Int32 hr)    System.Security.Cryptography.X509Certificates.X509Utils._QueryCertFileType(String fileName)    Bean System.Security.Cryptography.X509Certificates.X509Certificate.LoadCertificateFromFile(文字列fileName、オブジェクトパスワード、X509KeyStorageFlags keyStorageFlags)    bei System.Security.Cryptography.X509Certificates.X509Certificate..ctor(String fileName)    bei System.Security.Cryptography.X509Certificates.X509Certificate2..ctor(String fileName)

だから今はファイルに問題があると思うかもしれません。しかし、このファイルがSoapUI Toolと一緒に使用されてWebサービスをテストすると、正常に動作します。 私もhavaのJavaの例のクライアントアプリケーションは、このファイルをJavaの信頼ストアで使用し、それはJavaクライアントのために正常に動作します。

私はまた、ファイルの拡張子を "txt"から "p12"に変更しようとしましたが、Windows証明書ストアにファイルをインポートできるようにするために "pem"は成功しません。

ここで何が問題なのか教えてくれますか?これを解決するために私は何ができますか?私は全く手がかりがありません。

ここに私のapp.configがあります:

<?xml version="1.0" encoding="utf-8" ?>

    
        
            
        
    
    
        
            
                ..\..\Data\getDefactInstance.xml
            
            
                ..\..\Data\DefactInstanceXmlDotNet.xml
            
            
                https://xyz.com/wsAdapter
            
            
                ..\..\Data\sdm.crt
            
            
                ..\..\Data\sdmCert + key.txt
            
            
                https://xyz.net/qcbin
            
            
                xyz
            
            
                xyz
            
            
                xyz
            
            
                xyz
            
        
    
    
        
            
                
                    
                    
                        <transport clientCredentialType="None" proxyCredentialType="None"
                            realm="" />
                        
                    
                
                
                    
                    
                        <transport clientCredentialType="None" proxyCredentialType="None"
                            realm="" />
                        
                    
                
                <!--
                    
                    
                        <transport clientCredentialType="None" proxyCredentialType="None"
                            realm="" />
                        
                    
                -->
            
        
        
            
            
        
    
0
追加された 編集された
ビュー: 1
app.configの関連セクションを投稿できますか? AppConfig.Settings.Default.CertificateAndKeyFileFullNameエントリが見つからない可能性があります。
追加された 著者 competent_tech,
多分このリンクを見てみましょう: stackoverflow.com/questions/7400500/… それはまったく同じ問題のように聞こえる。
追加された 著者 competent_tech,
それは問題ではないようですが、私はファイルパス名をハードコードしようとしましたが、同じエラーです。私は私の質問に私のapp.configを追加しました。
追加された 著者 donttellya,
リンクありがとう、本当に私の問題のように聞こえる。しかし、私は物事をまとめる方法を理解していません。だから私はあなたのリンクが指している質問のコードサンプルを求めました。あるいは、私が何をしなければならないかを少し詳しく説明できますか?
追加された 著者 donttellya,
あなたが投稿したリンク上の私のコメントは削除されました。私はこのコミュニティには新しいので、間違った投稿ができて申し訳ありません。ここで私が他のリンクに書いたことは、私はそれらの人がここに私の質問を見ることを願っています:私は問題を解決するために一緒に物事をどのように置くのか分かりません。あなたはいくつかのコードを提供してくださいどのオブジェクトを作成しなければならないか、どのメソッドを呼び出さなければならないのかの例?System.Security.Cryptography.X509Certificates.X509Certificat&zwnj; e2?どのプロパティを設定する必要がありますか?これらのモノソースコードファイルを使用するにはどうすればよいですか?
追加された 著者 donttellya,

答えはありません

0