4

相互認証を使用して SSL 経由で XML/SOAP を送信し、証明書を使用して Web サービスを使用しようとしています。savonとを試しましnet/httpたが、同じエラーで停止しました:

SSL_CTX_use_PrivateKey: キーの値が一致しません (HTTPI::SSLError)

ネット/http :

uri = URI.parse('https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeStatusServico2?wsdl')
pem = File.read("cert/cert.pem")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
http.cert = OpenSSL::X509::Certificate.new(pem)
http.key = OpenSSL::PKey::RSA.new(pem)
http.verify_mode = OpenSSL::SSL::VERIFY_PEER

http.start

サボン:

WSDL_URL = 'https://homologacao.sefaz.mt.gov.br/nfews/v2/services/NfeStatusServico2?wsdl'

client = Savon.client(
   wsdl: WSDL_URL,
   ssl_version: :SSLv3,
   ssl_verify_mode: :peer,
   ssl_cert_file: 'cert/cert.pem',
   ssl_cert_key_file: 'cert/private_key.pem',
 # ssl_cert_key_password: '123456789',
   env_namespace: :soap, 
   namespace_identifier: nil
)

response = client.call(:nfeStatusServicoNF2, message: "test")

解決策はありますか?ありがとう!

4

0 に答える 0