java中的key接口解析
該接口實現(xiàn)了序列化,聲明為 public interface Key extends Serializable
Key 是所有密鑰的頂層接口。它定義了供所有密鑰對象共享的功能。所有的密鑰都具有三個特征:
①、算法
這是該密鑰的密鑰算法。密鑰算法通常是加密或不對稱操作算法(如 DSA 或 RSA),它們將和那些算法及相關的算法(例如 MD5 和 RSA,SHA-1 和 RSA、Raw DSA 等等)一起使用。用 getAlgorithm 方法獲取密鑰算法的名稱。
②、編碼形式
這是密鑰的外部編碼形式,在 Java 虛擬機之外需要密鑰的標準表示形式時以及將密鑰傳輸?shù)狡渌承┎糠謺r使用。密鑰根據(jù)標準格式(如 X.509 SubjectPublicKeyInfo 或 PKCS#8)編碼,使用 getEncoded 方法返回。注:ASN.1 類型 SubjectPublicKeyInfo 的語法定義如下:
SubjectPublicKeyInfo ::= SEQUENCE { algorithm AlgorithmIdentifier, subjectPublicKey BIT STRING }
AlgorithmIdentifier ::= SEQUENCE { algorithm OBJECT IDENTIFIER, parameters ANY DEFINED BY algorithm OPTIONAL }
③、格式
這是已編碼密鑰的格式的名稱。它由 getFormat 方法返回。
密鑰通常通過密鑰生成器、證書或用來管理密鑰的各種 Identity 類來獲取。密鑰也可以通過使用密鑰工廠(請參見 KeyFactory)從密鑰規(guī)范(基礎密鑰材料的透明表示形式)獲取。
密鑰應該使用 KeyRep 作為其序列化的表示形式。注意,序列化的 Key 可能包含不應該在不可信任的環(huán)境中顯示的敏感信息。有關更多信息,請參見序列化規(guī)范的安全附錄。
1、字段:
static final long serialVersionUID 設置為指示與以前的類版本序列化兼容的類指紋。 2、方法詳細:
①String getAlgorithm() 返回此密鑰的標準算法名稱。例如,"DSA" 指示此密鑰是一個 DSA 密鑰。
②String getFormat() 返回此密鑰的基本編碼格式,如果此密鑰不支持編碼,則返回 null。如果存在此密鑰的 ASN.1 規(guī)范,則根據(jù)合適的 ASN.1 數(shù)據(jù)格式命名基本編碼格式。例如,公鑰的 ASN.1 數(shù)據(jù)格式名稱是 SubjectPublicKeyInfo(由 X.509 標準定義);在這種情況下,返回的格式為 "X.509"。類似地,私鑰的 ASN.1 數(shù)據(jù)格式名稱是 PrivateKeyInfo(由 PKCS #8 標準定義);在這種情況下,返回的格式為 "PKCS#8"。
③byte[] getEncoded() 返回基本編碼格式的密鑰,如果此密鑰不支持編碼,則返回 null。
相關文章
JAVA如何判斷上傳文件后綴名是否符合規(guī)范MultipartFile
這篇文章主要介紹了JAVA判斷上傳文件后綴名是否符合規(guī)范MultipartFile,文中通過實例代碼介紹了java實現(xiàn)對上傳文件做安全性檢查,需要的朋友可以參考下2023-11-11SpringBoot實現(xiàn)本地存儲文件上傳及提供HTTP訪問服務的方法
這篇文章主要介紹了SpringBoot實現(xiàn)本地存儲文件上傳及提供HTTP訪問服務,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08Spring?Boot將@RestController誤用于視圖跳轉問題解決
這篇文章主要為大家介紹了Spring?Boot將@RestController誤用于視圖跳轉問題解決方案詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-06-06詳解使用spring validation完成數(shù)據(jù)后端校驗
這篇文章主要介紹了詳解使用spring validation完成數(shù)據(jù)后端校驗,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-03-03詳解Springboot @Cacheable 注解(指定緩存位置)
這篇文章主要介紹了詳解Springboot @Cacheable 注解(指定緩存位置),使用? @Cacheable ?注解就可以將運行結果緩存,以后查詢相同的數(shù)據(jù),直接從緩存中取,不需要調(diào)用方法,需要的朋友可以參考下2023-09-09Java數(shù)據(jù)結構之鏈表實現(xiàn)(單向、雙向鏈表及鏈表反轉)
這篇文章主要給大家介紹了關于Java數(shù)據(jù)結構之鏈表實現(xiàn)的相關資料,其中包括單向鏈表、雙向鏈表及鏈表反轉的實現(xiàn)代碼,需要的朋友可以參考下2021-06-06SpringBoot安全策略開發(fā)之集成數(shù)據(jù)傳輸加密
這篇文章主要介紹了SpringBoot集成數(shù)據(jù)傳輸加密,近期在對開發(fā)框架安全策略方面進行升級優(yōu)化,提供一些通用場景的解決方案,本文針對前后端數(shù)據(jù)傳輸加密進行簡單的分享2023-01-01