Chilkat和 Delphi 7 -邮政pdf文件到一个身份验证网站

tktrz96b  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(128)

使用 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,但失败了,因为我需要通过身份验证。

yacmzcpb

yacmzcpb1#

我更新了示例,以包括以下内容:

// Set the certificate to be used for mutual TLS authentication
cert := CkCert_Create();

// If the smartcard or token requires a PIN...
CkCert_putSmartCardPin(cert,'000000');

success := CkCert_LoadFromSmartcard(cert,'');

字符串
您需要在调用LoadFromSmartcard之前设置PIN。

相关问题