使用openssl的認證機制完成版本控制

openssl的功能十分強大,好比能夠實現無縫的io過濾,但是實現安全套接字,能夠實現數據加密解 密等等,其實openssl的證書認證功能能夠實現C/S模式程序的版本控制功能,最重要的就是使用在ssl握手的時候會傳遞證書,而證書中不少字段是可 以自定義的,服務器能夠經過查看客戶端的證書獲得客戶端的信息,反之客戶端也能夠經過服務器的證書獲得服務器的信息,不少人會認爲這有點複雜了,實現信息 互通大可沒必要使用ssl握手,標準套接字就能夠,然而使用ssl的目的就是使得通訊更加保密,或者就是使用ssl的清晰的過程,openssl的握手過程 十分清晰,爲咱們考慮了不少咱們可能考慮不到的事情,並且openssl的api很是豐富,咱們能夠在很安全很穩定的環境下輕鬆獲得很充足的信息,何樂而 不爲!api

最簡單的版本控制就是在控制端使用一個全局的變量,這個變量能夠是int類型,它的每個位表明一個功能,在程序初始化的時候服務器和做爲控制端的客戶端 進行ssl握手,期間服務器會將證書傳遞給控制端,控制端能夠根據服務器證書的內容獲得這個全局的版本控制變量,而後解析這個變量獲得該程序可使用的功 能,或者過程反過來也能夠,就是客戶端將證書傳遞給服務器,服務器經過驗證客戶端的證書來肯定提供哪些服務,亦或者服務器和客戶端進行雙向驗證。如下就是 一個實際的例子,首先看一下服務器的粗略代碼:安全

#include "StdAfx.h"服務器

#include "Server_Verify.h"ide

DWORD WINAPI VerifyProc( LPVOID lpParam ) ;加密

int IsValidCert( char * strCertPath )版本控制

相關文章
相關標籤/搜索