Delphi 連接 SSL TLS 1.2 第三方支付金流問題

台灣最近銀行與第三方支付、行動支付發展越來越快,而Delphi使用indy元件時,如果處理SSL網站時不是很容易。
後來找到了ipwork的元件還不錯用。
列一下關鍵的程式

  ipwhttp1 := Tipwhttp.Create(Application);
 ipwhttp1.Config('CodePage=65001');
 posturl:=posturl+'barcode='+sBarcode;
 ipwhttp1.Post(sPaymentURL+'?'+posturl); 
 result:=UTF8ToString(ipwhttp1.TransferredData);
  ipwhttp1.free;

另外處理像SHA/AES等加解密也很方便

function GetTokenKey(s:String):String;
var ipcHash1: TipcHash;
begin
  ipcHash1 := TipcHash.Create(Application);
  ipcHash1.Reset();
  ipcHash1.Algorithm := TipcHashAlgorithms(haSHA256);
  ipcHash1.InputMessage := s;    
  ipcHash1.ComputeHash();
  result :=lowercase(ipcHash1.HashValue);
  ipcHash1.Free;
end;

支援Google最新安全策略的遠振虛擬主機

如果對遠振有興趣的話,可以直接到 遠振主機選購。
Google從2014年宣佈有https的網頁會優先排序後,今年更發佈訊息說2017年1月開始的Chrome 56版本中,會針對傳輸密碼以及信用卡資訊的網頁,如果沒有使用https加密,就會一律告知是不安全的網站。


而以往申請SSL加密認證網頁的手續相當繁瑣,幸好遠振在今年2月就推出Linux主機的 Let’s Encrypt免費SSL加密服務,而八月底的cPanel 版本 58 開始,也提供了官方的 AutoSSL 服務,由 cPanel & Comodo 一起提供免費 SSL 憑證。
當然你會問,那免費SSL跟付費的SSL有什麼差異?遠振也給你答案如下
Q:Let’s Encrypt 提供之 SSL 與付費 SSL 有什麼分別?

A:免費 SSL 與付費 SSL 間的差異有:

1. 品牌差異:
付費 SSL 有國際知名廠商如賽門鐵克(Verisign)、GeoTrust、Comodo、TWCA 等,根據調查,有 7 成以上的網友認得這些品牌,在電子商務網站上使用知名 SSL 廠商相對容易獲得客戶信任。
2. 憑證期限:
免費 SSL 只提供 3 個月使用期限,系統雖然會自動續約但是有續約失敗的風險,相對於付費 SSL 提供 1~3 年的購買期限可選擇,付費 SSL 還是商務網站的穩定選擇。
3. 多網域憑證:
免費 SSL 不提供萬用子網域的 SSL (wildcard ssl)。
4. 憑證標章:
免費 SSL 沒有提供憑證的驗證標章 (ssl seal),在正式電商網站上會建議用付費 SSL 取得動態驗證標章,贏得客戶信任。
5. 技術差異:
基本上免費與付費 SSL 加密技術差異不大。
6. 驗證方式:
免費 SSL 只提供網域驗證,不提供組織驗證 SSL,若要向銀行申請金流串接,可能須提供組織驗證 SSL。
除此之外,遠振也提供HTTP/2.0的加速技術。HTTP/2.0 是自 HTTP/1.1 於 1997 年由 IETF 發表後,最重大的更新。HTTP/2 使用二進制取代文字傳輸,並導入 HPACK 來壓縮 header,ALPN 用來加速加密傳輸,且具備在一個 TCP 連線中,平行處理多個要求的能力。就好像幫賽車加上氮氣加速一樣,讓網站瀏覽神速!

你的網站是否支援HTTP/2呢? 可以到 https://tools.keycdn.com/http2-test 測試!

如果對遠振有興趣的話,可以直接到 遠振主機選購。

遠振資訊支援免費SSL

前陣子看到Google說會優先搜尋網站使用https://SSL加密傳輸,前幾天看到遠振資訊的虛擬主機在CPanel支援免費的SSL憑證功能”Let’s Encrypt SSL”。

操作的方式很簡單分享給大家,但如果有需要做進一步的金流服務。大家可以考慮付費的SSL憑證 🙂

CPanel頁面的安全有一個 Let’s Encrypt SSL

1456362301514

點入後,會看到區塊是 your domains with Let’s Encrypt certificates(也就是你已經使用SSL憑證的網域)以及Issue a new certificate(你要加入的網域)

1456362384414

從你要加密的網域名稱點選+Issue

1456362488385

他會問你其他的domain要不要加入,例如: 勾選 abc.com,他會問 www.abc.com要不要
確定後按issue

1456362537402

這樣就完成了!是不是很簡單

1456362697833

 

 

 

Delphi XE5 不同平台使用 SSL/HTTPS

以前在 Delphi 使用 Tidhttp元件時,需要額外載入 OpenSSL的 dll。Delphi XE5開始支援多裝置、多平台的時候,該如何解決呢?

昨天在 Coderage 8時,Olaf Monien的分享,記錄下來避免忘記!不過文中提到Android目前似乎還沒有XD

 

 

連結:

Delphi XE5 : SSL / HTTPS on different platforms with TIdHTTP and TRESTClient


http://www.monien.net/delphi-xe5-ssl-https-on-different-platforms-with-tidhttp-and-trestclient/