開發(fā)微信小程序中SSL協(xié)議的申請薯酝、證書綁定半沽、TLS 版本處理等

在上篇隨筆《基于微信小程序的系統(tǒng)開發(fā)準備工作》介紹了開發(fā)微信小程序的一些前期的架構設計、技術路線 吴菠、工具準備等方面內容者填,本篇隨筆繼續(xù)這個步驟,逐步介紹我們實際開發(fā)過程中對SSL協(xié)議的申請及后期處理過程做葵,包括證書的IIS端口綁定占哟,以及解決“”小程序要求的 TLS 版本必須大于等于 1” 的問題。

1、證書申請及成功的后續(xù)處理

小程序的配置要求我們必須在網站提供443端口服務榨乎,需要加入HTTPS證書怎燥,這種證書可以從云服務商上購買,如騰訊云谬哀、阿里云上的云服務器后臺都提供了購買證書服務的通道刺覆,以阿里云為例,使用阿里云賬號登陸后史煎,在【控制臺】【安全云盾】【證書服務】里面進行申請谦屑。
購買證書,我們在沒有太多資金支持的情況下篇梭,可以考慮先使用免費SSL證書氢橙,阿里云上提供 免費型DV SSL的申請,購買后恬偷,會在訂單列表里面有一個待審核的訂單悍手,如下所示,等待審核通過即可使用袍患。


一般情況下坦康,如果我們填寫的資料正確,會較快通過審核的诡延,如果我們的DNS不在萬網上滞欠,那么我們還需要到服務商的網站進行添加阿里云的DNS配置。通過我們在提交信息的時候肆良,如果是Windows服務器筛璧,因此會勾選DNS方式驗證,如下所示惹恃。

這樣提交成功后夭谤,會同時在服務器的云解析上面自動增加一條記錄,如下所示

如果我們的申請的免費SSL證書獲得通過巫糙,那么狀態(tài)會變?yōu)椤疽押灠l(fā)】朗儒,如下所示,這個時候就可以用了曲秉。

下載的證書包括幾個文件采蚀,如下所示。

我們在IIS服務器上雙擊pfx文件承二,默認一步步操作即可把證書增加加到對應的目錄里面了榆鼠。

接著我們可以在控制臺中查看到對應的證書位置。

然后在IIS里面綁定443端口亥鸠,選擇對應的SSL證書即可完成對SSL證書的綁定了妆够,如下圖所示识啦。

這個時候,如果我們訪問網站(我們官網是https://www.iqidi.com)神妹,那么 就可以在瀏覽器的左側看到證書的信息了颓哮。

2、微信小程序整合處理

為了整合遠程HTTPS連接獲取數(shù)據鸵荠,我們需要進行部署一個Web API的接口冕茅,那么我們可以建立一個進行MVC控制器進行測試,如下我們在控制器里面添加一個方法來獲取第三方接口的數(shù)據蛹找,然后返回來給我們的小程序使用姨伤。
例如,我們以連接地址:http://m.maoyan.com/movie/list.json返回的數(shù)據為例庸疾,這個接口用來獲取電影的數(shù)據乍楚,獲得的結果如下所示。


由于小程序對域名的限制届慈,我們不能使用第三方的API接口徒溪,因此需要在自己域名內部的API進行封裝處理,然后再提供給自己的小程序使用金顿,我們建立一個MVC的控制器方法臊泌,如下代碼所示。

/// <summary>
/// 增加一個域名內的接口揍拆,供小程序測試
/// </summary>
/// <returns></returns>
[HttpPost]
public ActionResult Movies(int offset = 0, string type = "hot", int limit=6)
{
    var url = "http://m.maoyan.com/movie/list.json";
    var postData = string.Format("?offset={0}&type={1}&limit={2}", offset,type,limit);

    HttpHelper helper = new HttpHelper();
    string result = helper.GetHtml(url+ postData, "", false);
    return Content(result);
}

這樣我們使用Fiddler測試的時候缺虐,確信能夠獲得返回的JSON數(shù)據,在進行小程序的測試即可礁凡。



執(zhí)行POST數(shù)據的處理,可以獲得對應的JSON數(shù)據慧妄,如下所示顷牌。



不過如果我們這個時候整合小程序進行測試,如下代碼所示塞淹。
onShow: function () {
    var that = this
    wx.request({
      url: 'https://www.iqidi.com/h5/movies',
      data: {
        offset: 0,
        type: 'hot',
        limit: that.data.limit
      },
      method : 'POST',
      header: {
        'Content-Type': 'application/json'
      },
      success: function (res) {
        console.log(res.data)
        that.setData({
          films: res.data.data.movies,
          loading: true
        })
      }
    })

那么上述的處理操作窟蓝,還是沒有能夠獲取正確的結果的,調試小程序發(fā)現(xiàn)饱普,它提示”小程序要求的 TLS 版本必須大于等于 1.2“”运挫。


在網站上找到對應的解決方案,測試后正確解決問題:在 PowerShell中運行以下內容, 然后重啟服務器

# Enables TLS 1.2 on windows Server 2008 R2 and Windows 7

# These keys do not exist so they need to be created prior to setting values.
md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2"
md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server"
md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client"

# Enable TLS 1.2 for client and server SCHANNEL communications
new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" -name "Enabled" -value 1 -PropertyType "DWord"
new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" -name "DisabledByDefault" -value 0 -PropertyType "DWord"
new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" -name "Enabled" -value 1 -PropertyType "DWord"
new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" -name "DisabledByDefault" -value 0 -PropertyType "DWord"

# Disable SSL 2.0 (PCI Compliance)
md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server"
new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server" -name Enabled -value 0 -PropertyType "DWord"
# Enables TLS 1.2 on Windows Server 2008 R2 and Windows 7 # These keys do not exist so they need to be created prior to setting values. md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2" md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" # Enable TLS 1.2 for client and server SCHANNEL communications new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" -name "Enabled" -value 1 -PropertyType "DWord" new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server" -name "DisabledByDefault" -value 0 -PropertyType "DWord" new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" -name "Enabled" -value 1 -PropertyType "DWord" new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" -name "DisabledByDefault" -value 0 -PropertyType "DWord" # Disable SSL 2.0 (PCI Compliance) md "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server" new-itemproperty -path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server" -name Enabled -value 0 -PropertyType "DWord"

這樣啟動接口套耕,獲得數(shù)據并在小程序中進行正確展示了谁帕。


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市冯袍,隨后出現(xiàn)的幾起案子匈挖,更是在濱河造成了極大的恐慌碾牌,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件儡循,死亡現(xiàn)場離奇詭異舶吗,居然都是意外死亡,警方通過查閱死者的電腦和手機择膝,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進店門誓琼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人肴捉,你說我怎么就攤上這事腹侣。” “怎么了每庆?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵筐带,是天一觀的道長。 經常有香客問我缤灵,道長伦籍,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任腮出,我火速辦了婚禮帖鸦,結果婚禮上,老公的妹妹穿的比我還像新娘胚嘲。我一直安慰自己作儿,他們只是感情好,可當我...
    茶點故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布馋劈。 她就那樣靜靜地躺著攻锰,像睡著了一般漩符。 火紅的嫁衣襯著肌膚如雪洲愤。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天牵寺,我揣著相機與錄音械姻,去河邊找鬼妒蛇。 笑死,一個胖子當著我的面吹牛楷拳,可吹牛的內容都是我干的绣夺。 我是一名探鬼主播,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼欢揖,長吁一口氣:“原來是場噩夢啊……” “哼陶耍!你這毒婦竟也來了?” 一聲冷哼從身側響起浸颓,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤物臂,失蹤者是張志新(化名)和其女友劉穎旺拉,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體棵磷,經...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡蛾狗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了仪媒。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沉桌。...
    茶點故事閱讀 40,001評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖算吩,靈堂內的尸體忽然破棺而出留凭,到底是詐尸還是另有隱情,我是刑警寧澤偎巢,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布蔼夜,位于F島的核電站,受9級特大地震影響压昼,放射性物質發(fā)生泄漏求冷。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一窍霞、第九天 我趴在偏房一處隱蔽的房頂上張望匠题。 院中可真熱鬧,春花似錦但金、人聲如沸韭山。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽钱磅。三九已至,卻和暖如春似枕,著一層夾襖步出監(jiān)牢的瞬間续搀,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工菠净, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人彪杉。 一個月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓毅往,卻偏偏與公主長得像,于是被迫代替她去往敵國和親派近。 傳聞我的和親對象是個殘疾皇子攀唯,可洞房花燭夜當晚...
    茶點故事閱讀 44,955評論 2 355

推薦閱讀更多精彩內容