應用軟件安全編程--28SSL 連接時要進行服務器身份驗證

當進行SSL 連接時,服務器身份驗證處于禁用狀態。在某些使用SSL 連接的庫中,默認情況下不 驗證服務器證書。這相當于信任所有證書。

對 SSL 連接時要進行服務器身份驗證的情況,示例1給出了不規范用法(Java 語言)示例。示例2 給出了規范用法(Java 語言)示例。

示例1:SimpleEmail email = new SimpleEmail();email.setHostName("smtp.testemail.com");email.setCharset("UTF-8");email.setSmtpPort(25);email.setAuthenticator(new DefaultAuthenticator(name, pwd));email.setSSLOnConnect(true);email.setFrom("test@163.com");email.setSubject("測試主題");email.setMsg("郵件內容)");email.addTo("admin@163.com");email.send();

上述代碼片段沒有明確地驗證服務器證書。

當嘗試連接到 smtp.testemail.com:25 時,此應用程序將隨時接受頒發給"hackedserver.com" 的證 書。此時,當服務器被黑客攻擊發生 SSL 連接中斷時,應用程序可能會泄露用戶敏感信息。

當進行 SSL 連接時,需要注意進行服務器驗證檢查。根據所使用的庫,驗證服務器身份并建立安 全的 SSL 連接。

示例2:SimpleEmail email = new SimpleEmail();email.setHostName("smtp.testemail.com");email.setCharset("UTF-8");email.setSmtpPort(25);email.setAuthenticator(new DefaultAuthenticator(name,pwd));email.setSSLCheckServerldentity(true);email.setSSLOnConnect(true);email.setFrom("test@163.com");email.setSubject("測試主題");email.setMsg("郵件內容)");email.addTo("admin@163.com");email.send();

上述代碼示例中,明確驗證服務器證書。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/162766.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/162766.shtml
英文地址,請注明出處:http://en.pswp.cn/news/162766.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

安裝MySQL搭建論壇

課前默寫: 1、nginx配置文件的區域有哪些 ①全局區域 ②events區域 ③http區域 2、區域模塊的作用 全局區域模塊主要是用戶和工作進程 events區域模塊配置最大連接數時需先配置:vim /etc/limits.conf 因為系統默認最大是1024 http區域模塊:代理地…

BUUCTF [HBNIS2018]excel破解 1

BUUCTF:https://buuoj.cn/challenges 題目描述: 得到的 flag 請包上 flag{} 提交。來源: https://github.com/hebtuerror404/CTF_competition_warehouse_2018 密文: 下載附件,得到一個attachment.xls文件。 解題思路&#xff…

計算機視覺的應用19-基于pytorch框架搭建卷積神經網絡CNN的衛星地圖分類問題實戰應用

大家好,我是微學AI,今天給大家介紹一下計算機視覺的應用19-基于pytorch框架搭建卷積神經網絡CNN的衛星地圖分類問題實戰應用。隨著遙感技術和衛星圖像獲取能力的快速發展,衛星圖像分類任務成為了計算機視覺研究中一個重要的挑戰。為了促進這一…

git的用法

目錄 一、為什么需要git 二、git基本操作 2.1、初始化git倉庫 2.2、配置本地倉庫的name和email 2.3、認識工作區、暫存區、版本庫 三、git的實際操作 3.1 提交文件 3.2 查看git狀態以及具體的修改 3.3 git版本回退 git reset 3.1 撤銷修改 四、git分支管理 4.…

vue el-table (固定列+滾動列)【橫向滾動條】確定滾動條是在列頭還是列尾

效果圖&#xff1a; 代碼實現&#xff1a; html&#xff1a; <script src"//unpkg.com/vue2/dist/vue.js"></script> <script src"//unpkg.com/element-ui2.15.14/lib/index.js"></script> <div id"app" style&quo…

【數據結構】樹如何定義 | 如何存儲 | 實際應用

前言 如上圖&#xff0c;A中的孩子的個數是不固定的。我們無法精確的每個不同的根結點有多少個孩子。所以并不能精確知道需要定義多少個孩子節點。 struct TreeNode {int val;struct TreeNode* child1;struct TreeNode* child2;struct TreeNode* child3;//...//這樣顯然是不能…

springboot 攔截器中使用@Value注解為null

攔截器中獲取配置參數為null 代碼如下&#xff1a; 解決方式一&#xff1a; 檢查你的WebMvcConfigurer實現類&#xff0c;比如我的是CCBWebMvcConfig 將攔截器以bean的形式注入&#xff1a; 我之前的寫法是new 一個放進去的&#xff0c;這種會導致Value為null AutowiredJSCCB…

2014年10月6日 Go生態洞察:Go在Google I/O和Gopher SummerFest的應用

&#x1f337;&#x1f341; 博主貓頭虎&#xff08;&#x1f405;&#x1f43e;&#xff09;帶您 Go to New World?&#x1f341; &#x1f984; 博客首頁——&#x1f405;&#x1f43e;貓頭虎的博客&#x1f390; &#x1f433; 《面試題大全專欄》 &#x1f995; 文章圖文…

《微信小程序開發從入門到實戰》學習二十七

3.4 開發參與投票頁面 3.4.2 借用偽造數據開發功能 為了便于開發&#xff0c;新建一個編譯模式&#xff1a; 之前沒看文章&#xff0c;每次都習慣性填完投票創建的信息提交再跳轉看效果。好累。 添加變異模式開發真方便。 另外&#xff0c;點擊提交后沒跳轉到投票頁面&#…

xorm源碼學習

文章目錄 XORM源碼淺析及實踐ORMORM vs. SQLXORM軟件架構 ORM 引擎 Engine——DBM*core.DB Golang&#xff1a;database/sql 源碼基本結構連接復用&#xff0c;提高性能。增加數據庫連接池數量連接管理 database/sql主要內容&#xff1a;sql.DB創建數據庫連接sql.Open()DB.conn…

Spring——感謝尚硅谷官方文檔

Spring——尚硅谷學習筆記 1 Spring簡介&#x1f47e;1.1 Spring概述1.2 Spring Framework1.2.1 Spring Framework特性1.2.2 Spring Framework五大功能模塊 2 IOC-IOC容器思想&#x1f47e;IOC容器思想IOC在Spring中的實現 3 IOC-基于XML文件管理Bean&#x1f47e;3.1 準備工作…

2023亞太杯數學建模A題思路 - 采果機器人的圖像識別技術

# 1 賽題 問題A 采果機器人的圖像識別技術 中國是世界上最大的蘋果生產國&#xff0c;年產量約為3500萬噸。與此同時&#xff0c;中國也是世 界上最大的蘋果出口國&#xff0c;全球每兩個蘋果中就有一個&#xff0c;全球超過六分之一的蘋果出口 自中國。中國提出了一帶一路倡議…

數據庫實驗四 索引創建與管理操作

數據庫實驗四 索引創建與管理操作 一、實驗目的二、設計性實驗三、觀察與思考 一、實驗目的 (1) 理解索引的概念與類型。 (2) 掌握創建、更改、刪除索引的方法。 (3) 掌握維護索引的方法。 二、設計性實驗 在數據庫job下創建worklnfo表。創建表的同時在id字段上創建名為inde…

【HarmonyOS】元服務卡片本地啟動拉起加桌沒問題,上架后拉起加桌時卡片展示異常

【關鍵字】 加桌選卡展示異常 、 2卡共用一個布局 、 代碼混淆 【問題現象】 元服務卡片在本地啟動拉起加桌時&#xff0c;多卡的選卡過程顯示是沒問題的。但是在上架后拉起加桌時&#xff0c;多卡的選卡過程卡片展示異常。 代碼邏輯是通過創建卡片的時候判斷卡片的尺寸大小…

數據結構與算法編程題13

設計算法將一個帶頭結點的單鏈表A分解為兩個具有相同結構的鏈表B、C&#xff0c;其中B表的結點為A表中值小于零的結點&#xff0c;而C表的結點為A表中值大于零的結點&#xff08;鏈表A中的元素為非零整數&#xff0c;要求B、C表利用A表的結點&#xff09; for example: A -1 2 …

SpringBoot + 通義千問 + 自定義React組件,支持EventStream數據解析!

一、前言 大家好&#xff01;我是sum墨&#xff0c;一個一線的底層碼農&#xff0c;平時喜歡研究和思考一些技術相關的問題并整理成文&#xff0c;限于本人水平&#xff0c;如果文章和代碼有表述不當之處&#xff0c;還請不吝賜教。 最近ChatGPT非常受歡迎&#xff0c;尤其是…

virtualList 封裝使用 虛擬列表 列表優化

虛擬列表 列表優化 virtualList 組件封裝 virtualList 組件封裝 本虛擬列表 要求一次性加載完所有數據 不適合分頁 新建一個select.vue 組件頁面 <template><div> <el-select transfer"true" :popper-append-to-body"true"popper-class…

YOLOv8/5不顯示FLPOs

YOLOv8/5不顯示FLPOs,避免自媒體搬運,請下滑! YOLOv8/5不顯示FLPOs,避免自媒體搬運,請下滑! YOLOv8/5不顯示FLPOs,避免自媒體搬運,請下滑! YOLOv8/5不顯示FLPOs,避免自媒體搬運,請下滑! YOLOv8/5不顯示FLPOs,避免自媒體搬運,請下滑! YOLOv8/5不顯示FLPOs,避免自…

安裝第三方包報錯 error: Microsoft Visual C++ 14.0 or greater is required——解決辦法

1、問題描述 手動安裝第三方軟件時&#xff0c;可以使用setup.py&#xff0c;來安裝已經下載的第三方包。一般文件下會存在setup&#xff0c;在所要安裝庫的目錄下的cmd執行&#xff1a;python setup.py install報錯&#xff1a;error: Microsoft Visual C 14.0 or greater i…