[英]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.