📄 unit1.pas
字号:
unit Unit1;
interface
// remember to install one of additional packages,
// located in <SecureBlackbox>\Classes\Indy,
// as described in SecureBlackbox readme file
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, IdIntercept, IdSSLIntercept, SBIndyIntercept,
IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, SBClient,
SBConstants, SBUtils;
type
TForm1 = class(TForm)
OpenDialog1: TOpenDialog;
Label1: TLabel;
ComboBox1: TComboBox;
Button1: TButton;
GroupBox2: TGroupBox;
Button2: TButton;
Button3: TButton;
Edit1: TEdit;
Edit2: TEdit;
GroupBox1: TGroupBox;
CheckBox1: TCheckBox;
CheckBox2: TCheckBox;
CheckBox3: TCheckBox;
Memo1: TMemo;
Button4: TButton;
IdHTTP1: TIdHTTP;
ElIndyConnectionSSLIntercept1: TElIndyConnectionSSLIntercept;
procedure Button4Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure CheckBox2Click(Sender: TObject);
procedure CheckBox3Click(Sender: TObject);
procedure ElIndyConnectionSSLIntercept1CertificateNeeded(
Sender: TObject; CertificateBuffer: Pointer;
var CertificateSize: Integer; PrivateKeyBuffer: Pointer;
var PrivateKeySize: Integer;
CertificateType: TClientCertificateType);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button4Click(Sender: TObject);
begin
Close;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
ComboBox1.ItemIndex := 0;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Clear;
Memo1.Repaint;
Button1.Enabled := False;
Memo1.Lines.Text := IdHTTP1.Get(ComboBox1.Text);
Button1.Enabled := True;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if OpenDialog1.Execute then
Edit1.Text := OpenDialog1.FileName;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
if OpenDialog1.Execute then
Edit2.Text := OpenDialog1.FileName;
end;
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if CheckBox1.Checked
then
ElIndyConnectionSSLIntercept1.Versions := ElIndyConnectionSSLIntercept1.Versions + [sbSSL2]
else
ElIndyConnectionSSLIntercept1.Versions := ElIndyConnectionSSLIntercept1.Versions - [sbSSL2];
end;
procedure TForm1.CheckBox2Click(Sender: TObject);
begin
if CheckBox2.Checked
then
ElIndyConnectionSSLIntercept1.Versions := ElIndyConnectionSSLIntercept1.Versions + [sbSSL3]
else
ElIndyConnectionSSLIntercept1.Versions := ElIndyConnectionSSLIntercept1.Versions - [sbSSL3];
end;
procedure TForm1.CheckBox3Click(Sender: TObject);
begin
if CheckBox3.Checked
then
ElIndyConnectionSSLIntercept1.Versions := ElIndyConnectionSSLIntercept1.Versions + [sbTLS1]
else
ElIndyConnectionSSLIntercept1.Versions := ElIndyConnectionSSLIntercept1.Versions - [sbTLS1];
end;
procedure TForm1.ElIndyConnectionSSLIntercept1CertificateNeeded(
Sender: TObject; CertificateBuffer: Pointer;
var CertificateSize: Integer; PrivateKeyBuffer: Pointer;
var PrivateKeySize: Integer; CertificateType: TClientCertificateType);
var
F: File;
begin
ShowMessage('Certificate Needed');
CertificateSize := 0;
PrivateKeySize := 0;
if Edit1.Text <> '' then
begin
AssignFile(F, Edit1.Text);
Reset(F, 1);
BlockRead(F, CertificateBuffer^, FileSize(F));
CertificateSize := FileSize(F);
CloseFile(F);
end;
if Edit2.Text <> '' then
begin
AssignFile(F, Edit2.Text);
Reset(F, 1);
BlockRead(F, PrivateKeyBuffer^, FileSize(F));
PrivateKeySize := FileSize(F);
CloseFile(F);
end;
end;
initialization
SetLicenseKey('ADDCD14AD06709806817E0B3D7BFD0A2222D536FE156466C5D5FE65DB5DEAE76' +
'FFDEBC07E915A5751C12C01C783958872A38E4A5EDA140E7247E0F2E56442A3C' +
'F3E9347AD8FDE52083A0DFC86BC00ECB0FD0CF1B51159A2BCB84F6EA6349EF47' +
'5C15A59AFCC55F7C3AAD26C279628B5D91B1DC94BD2385354A70CCA3B76101D9' +
'F41C84A639FC3CCE4BA8F0CC4A66DCD150114A3F58C1AD46B7B94643741BC20A' +
'8DCA83AB921480951B423CAA19EF1863A47CA2C3422E7E5634BED98939A5AE43' +
'DE1E4BAD79E66D8A5C973B3455656C8C9B6FF024FADD6CDA02D0F506D98493C8' +
'BD1ED7B237DB75FA31F2C82654490CDDDEE24E19939137B9E1DB05508733B22F');
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -