質問

どのようにWSセキュリティで(Javaで作成した)Webサービスを呼び出すために、彼らは証明書ファイル、ユーザー名とパスワードを提供し、私はWebサービスの機能強化(WSE)3.0を使用してみました、Microsoft.Web.Services3.WebServicesClientProtocolからサービスプロキシを継承使用するユーザ名・パスワードtocken

  UsernameToken tocken = new UsernameToken("uname", "pwd");
  Service.RequestSoapContext.Security.Tokens.Add(tocken);

だエラー「基になる接続が閉じられました:SSLの信頼関係を確立できませんでした/安全なチャネルをTLS。」

それがあるため、クライアント証明書のですか?私が試したaslo

 X509Certificate xCert = new X509Certificate();
  xCert = X509Certificate.CreateFromCertFile("certificate_path.cer");
  Service.ClientCertificates.Add(xCert);
役に立ちましたか?

解決

私は問題を解決し、それがため、SSL証明書の検証の問題のですが、使用

 UsernameToken token = new UsernameToken("uname", "pwd", PasswordOption.SendPlainText);
 Service.RequestSoapContext.Security.Tokens.Add(token);
 System.Net.ServicePointManager.CertificatePolicy = new TrustAllCertificatePolicy();           


    public class TrustAllCertificatePolicy : System.Net.ICertificatePolicy
            {
                public TrustAllCertificatePolicy()
                { }

                public bool CheckValidationResult(ServicePoint sp,
                 X509Certificate cert, WebRequest req, int problem)
                {

                    return true;
                }
            }
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top