簡體   English   中英

將帶有證書處理的2007 C ++ Builder SOAP代碼移動到Delphi2018-Indy10

[英]Moving 2007 C++Builder SOAP code with certificate handling to Delphi2018-Indy10

我有一個用C ++ / Builder 2007編寫的.dll,它使用GSOAP連接到Web服務,它似乎需要一個.PEM文件的位置和它的密碼(此文件是由。服務組織進行身份驗證和加密)。 除了gsoap之外,它還使用OpenSSL版本0.9.8

現在,我需要將SSL更新到TLS1.2,而openSSL 0.9.8並沒有涵蓋這一點,並且不可能更新到版本1.0.2(我可以使用的最新版本),因為我在OpenSSL代碼中遇到了很多錯誤在編譯。

轉換為Delphi 2007並沒有真正幫助-因為Indy也缺少必需的工具(似乎不支持SOAP1.2)。

但是,移至Ddelphi2018在我的TODO列表中,因此我將該過程的代碼移至了一個獨立程序(目前)至Delphi。 除了一件事,一切看起來都不錯:

在gsoap文件stdsoap2.h中,有:

struct SOAP_STD_API soap
…
  unsigned short ssl_flags;
  const char *keyfile;
  const char *password;
…

C ++代碼使用此

  struct soap soap;
  memset(&soap, 0, sizeof(soap));
  ...
  soap.keyfile = Parms->pCERTIFICAAT;    // is .pem bestand, including path
  soap.password = "(Certww)";            // hardcoded in deze code....
  ...

但是,在Delphi / Indy中,我看不到添加此數據的任何方法。 互聯網中的searc確實提供了用戶名和密碼的示例,但是在keyfile上進行seartching並沒有顯示任何匹配...

這在gsoap中有什么作用,在Delphi(2018)/ Indy10中又如何?

確實-10.2 Tokyo ..我們找到了將WSDL重新導入到Delphi中並使用我們已經擁有的用於訪問證書的代碼的解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM