深入理解 Android Https

2021-09-19 21:35:21 字數 1713 閱讀 7453

用私鑰加密資訊,用公鈅來解密。因為公鑰是共有的,這種流程用於認證。

c用s的公鑰把資訊加密後傳遞給s. s用自己的私鑰解密獲取資訊。

常用的非對稱加密演算法有rsa、elgamal、rabin、d-h、ecc(橢圓曲線加密演算法)等。

//配置: 

/*** 設定簽名證書

}//建立tls型別的sslcontext物件, that uses our trustmanager

sslcontext sslcontext = sslcontext.getinstance("tls");

//trustmanage***ctory是用於生成trustmanager的,我們建立乙個預設型別的trustmanage***ctory

trustmanage***ctory trustmanage***ctory = trustmanage***ctory.getinstance(trustmanage***ctory.getdefaultalgorithm());

trustmanage***ctory.init(keystore);

sslcontext.init(null, trustmanage***ctory.gettrustmanagers(), new securerandom());

//配置到okhttpclient 或者

builder.sslsocketfactory(sslcontext.getsocketfactory());

} catch (exception e)

}

trustmanager tm = new x509trustmanager() 

public

void

checkservertrusted

(x509certificate chain, string authtype)

throws certificateexception

public x509certificate getacceptedissuers()

};sslcontext.init(null, new trustmanager , null);

new x509trustmanager() 

@override

public

void

checkservertrusted

(x509certificate chain,

string authtype)

throws certificateexception catch (nosuchalgorithmexception e) catch (invalidkeyexception e) catch (nosuchproviderexception e) catch (signatureexception e) }}

@override

public x509certificate getacceptedissuers()

}}

深入理解C語言 深入理解指標

關於指標,其是c語言的重點,c語言學的好壞,其實就是指標學的好壞。其實指標並不複雜,學習指標,要正確的理解指標。指標也是一種變數,占有記憶體空間,用來儲存記憶體位址 指標就是告訴編譯器,開闢4個位元組的儲存空間 32位系統 無論是幾級指標都是一樣的 p操作記憶體 在指標宣告時,號表示所宣告的變數為指...

mysql 索引深入理解 深入理解MySql的索引

為什麼索引能提高查詢速度 先從 mysql的基本儲存結構說起 mysql的基本儲存結構是頁 記錄都存在頁裡邊 各個資料頁可以組成乙個雙向鍊錶每個資料頁中的記錄又可以組成乙個單向鍊錶 每個資料頁都會為儲存在它裡邊兒的記錄生成乙個頁目錄,在通過主鍵查詢某條記錄的時候可以在頁目錄中使用二分法快速定位到對應...

深入理解C語言 深入理解指標

關於指標,其是c語言的重點,c語言學的好壞,其實就是指標學的好壞。其實指標並不複雜,學習指標,要正確的理解指標。指標也是一種變數,占有記憶體空間,用來儲存記憶體位址 指標就是告訴編譯器,開闢4個位元組的儲存空間 32位系統 無論是幾級指標都是一樣的 p操作記憶體 在指標宣告時,號表示所宣告的變數為指...