相互SSL認証が必要なSOAPサービスに接続しようとしています。gSOAPによる相互SSL認証
自己署名入りの証明書を作成し、サービスオペレーターに転送して接続を確認しました。同様に、彼らは私たちに彼らのSSL証明書のコピーを送った。
私は、openssl s_clientを使用してHTTPリクエスト、ヘッダー、およびSOAPコンテンツを手動で入力することで、サービスから期待されるSOAP応答を得ることができました。自己の
openssl s_client -connect example.com:443 -key my_key.pem -cert my_cert.pem -pass file:my_passphrase
- my_key.pemは私の秘密鍵
- my_cert.pemのファイル名があるされ、ファイル名: 私は正常な接続を作成するために、次のようなパラメータを使用します署名された証明書がサービスオペレータに転送されます。
- my_passphraseには、秘密鍵のパスフレーズが含まれています。
私は現在、gSOAPとそのCバインディングを使用して同じサービスにアクセスしようとしています。 http://www.cs.fsu.edu/~engelen/soapdoc2.htmlの文書に従って、サービスWSDLからバインディングを作成し、soap_ssl_client_context()
への呼び出しを追加してSSL接続をセットアップしましたが、問題が発生しています。
私はkeyfile
パラメータとしてmy_key.pemへのパスを使用する必要があることが推測が、GDBを使用して、私はそれが失敗しているSSL_CTX_use_certificate_chain_file()
への呼び出しであることがわかります。 gSOAPはkeyfile
パラメータをfile
引数としてこの呼び出しに渡します。
ご迷惑をおかけして申し訳ありません。