奥非域

SecureBlackbox用法

网上关于SecureBlackbox的使用资料比较少,经过一段时间的折腾,我来简单介绍下SecureBlackbox的用法吧。

  1. SecureBlackbox介绍
    SecureBlackbox是一套商业组件,允许开发人员为其应用程序添加强大的安全性,以保护二进制数据,文件,文档和电子邮件。SecureBlackbox包括用于各种平台(Windows,.NET,Linux,macOS / iOS,Java / Android)的各种数据安全标准和网络通信协议的可靠实现(不使用第三方代码)。
  2. HTTPS域名DVSSL证书申请(SSL/TLS)
    目前国内还能申请到的免费域名DVSSL证书已经不多,我是从阿里云申请的赛门铁克的免费DVSSL证书(CA),申请比较简单,登录阿里云的控制台,然后从“安全(云盾)》证书服务”里进行申请(购买):

    申请(购买)成功后,回到“我的证书》我的订单”下面进行后续步骤的操作,就是验证一下你对域名的所有权,然后生成和下载证书即可,这里不再详述。
  3. SecureBlackbox安装
    这里针对正版和试用分别进行说明,它们的步骤有一点点区别。正版用户,从官网下载后是包含源码的,安装后,在Delphi ide中设置lib目录,指向“Sources”和“Classes\RealThinClient”,然后在Delphi ide中打开“Packages\相应版本ide目录”下的dpk组件包文件,然后进行安装,然后安装“Classes\RealThinClient”目录下的dpk组件包;试用版用户,官网下载来的直接安装就可以用了,安装时选择复制bpl包到系统目录,不要取消勾选,你自己是无法像源码版一样安装的。
    这里说明一下,如果仅用于RealThinClientSDK,仅用于绑定DVSSL证书,那只需要购买SecureBlackbox的SSLBlackbox server+client子模块就可以了,不需要全部购买,费用也较专业版1200多美金减少到400多美金,相对会省钱一点。
  4. SecureBlackbox调用
    组件安装完成后,在ide中就可以正常使用了,这里要说明一下,试用版需要先添加TElSBLicenseManager到界面上,然后将您申请的试用key设置到它的LicenseKey属性上,才可以继续后面的操作,否则会发出警告并移除你想拖放的组件。
    下面,我们以RealThinClientSDK配合SecureBlackbox绑定DVSSL证书,实现https访问接口为例,描述下步骤:
    新建一个工程,添加相应的RealThinClientSDK服务端组件,添加测试的接口,编写接口应答内容,这些步骤就不描述了,您也可以下载“RTC服务端应答演示”稍微修改一下就行;在项目上添加TSSLServerRtcCryptPlugin和TElMemoryCertStorage(试用版用户要多添加一个TElSBLicenseManager),然后添加以下代码到相应的事件中(启动RealThinClientSDK服务前):
var
  s: TMemoryStream;
begin
  s := TMemoryStream.Create;
  try
    s.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'Server.pfx');
    s.Seek(0, soBeginning);
    ElMemoryCertStorage1.LoadFromStreamPFX(s, 'pfx密码', s.Size);
  finally
    s.Free;
  end;
  RtcHttpServer1.CryptPlugin := SSLServerRtcCryptPlugin1;
  if not Assigned(RtcHttpServer1.CryptPlugin) then
  begin
    ShowMessage('SSL证书加载失败!');
  end;
end;

本地和服务器上效果如下:

还有什么不明白的,可以给我发邮件或者加我QQ咨询。祝大家春节愉快!

Delphi