簡體   English   中英

具有RSA,私鑰和公鑰的Nimbus JOSE JWT加密

[英]Nimbus JOSE JWT Encryption with RSA, Private and Public Key

對示例代碼“帶有RSA加密的JSON Web令牌(JWT)”中應用的概念有疑問

供參考,請參閱: http : //connect2id.com/products/nimbus-jose-jwt/examples/jwt-with-rsa-encryption

示例代碼提供了一個RSAEncrypter其基於使用公開密鑰的類,以及一個RSADencrypter其中使用相反,私鑰類。

從更實際的角度來看,我無法理解為什么以這種方式生成JSON Web令牌,因為通常將使用JWE格式將加密信息發送到客戶端。 並行地,客戶端從共享源(如數字證書存儲或JWK存儲)中提取公鑰,然后從JWE數據中解密信息。

我的問題:客戶端為什么使用私鑰? 為什么不使用Encrypter的私鑰和Decrypter類的公鑰?

歡迎對此RSA示例代碼的概念性方面進行澄清。

如示例中所述,加密的目的是機密性:確保僅由目標接收者讀取數據

公鑰加密中一個重要的安全方面是確保為目標收件人而不是其他人對數據進行加密,這可能會損害數據的機密性。

雙方之間為進行身份驗證而發布的JSON Web令牌未加密,使用私鑰進行了數字簽名。 另一方可以使用已發布的公鑰來驗證真實性和完整性。 但是內容不是隱藏的。 觀察者可以閱讀該消息,但不能修改它。

加密是使用收件人的公鑰完成的。 只有匹配的私鑰的所有者才能解密JWT的內容。 由於使用RSa密鑰加密的數據的大小限制,因此在示例中生成了AES對稱加密密鑰。 該消息將使用AES密鑰加密,並且此密鑰使用RSA公鑰加密並嵌入到JWT中。 接收者將使用RSA私有密鑰解密AES密鑰

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM