使用 Delphi 7和chilkat库,我试图使用一个身份验证到一个网站,并发布一个pdf文件,以获得一个上传索引。我迷失在所有chilkat所提供的,我是一个全新的这部分编程(使用智能卡,SSL/TLS,证书,REST等)。我怎么做?
这是我的代码的一部分,我在post部分卡住了。
http := CkHttp_Create();
cert := CkCert_Create();
success := CkCert_LoadFromSmartcard(cert, '');
if (success = False) then
begin
Memo1.Lines.Add(CkCert__lastErrorText(cert));
Memo1.Lines.Add('Certificate not loaded.');
Exit;
end;
if (CkCert_HasPrivateKey(cert) <> True) then
begin
Memo1.Lines.Add('A private key is needed for TLS client authentication.');
Memo1.Lines.Add('This certificate has no private key.');
Exit;
end;
sock := CkSocket_Create();
success := CkSocket_SetSslClientCert(sock, cert);
if (success <> True) then
begin
Memo1.Lines.Add(CkSocket__lastErrorText(sock));
Exit;
end;
bTls := True;
port := 443;
maxWaitMs := 5000;
success := CkSocket_Connect(sock, mysite, port, bTls, maxWaitMs);
if (success <> True) then
begin
Memo1.Lines.Add('Connect Failure Error Code: ' + IntToStr(CkSocket_getConnectFailReason(sock)));
Memo1.Lines.Add(CkSocket__lastErrorText(sock));
Exit;
end;
rest := CkRest_Create();
success := CkRest_UseConnection(rest, socket, bAutoReconnect);
if (success <> True) then
begin
Memo1.Lines.Add(CkRest__lastErrorText(rest));
Exit;
end;
字符串
这里我需要使用POST上传文件。
我尝试使用httprequest
,但失败了,因为我需要通过身份验证。
1条答案
按热度按时间yacmzcpb1#
我更新了示例,以包括以下内容:
字符串
您需要在调用LoadFromSmartcard之前设置PIN。