国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

ASP.NET Core 數據保護(Data Protection 集群場景)下篇

2024-07-10 12:46:37
字體:
來源:轉載
供稿:網友

前言 

接【中篇】 ,在有一些場景下,我們需要對 ASP.NET Core 的加密方法進行擴展,來適應我們的需求,這個時候就需要使用到了一些 Core 提供的高級的功能。 

本文還列舉了在集群場景下,有時候我們需要實現自己的一些方法來對Data Protection進行分布式配置。 

加密擴展 

IAuthenticatedEncryptor 和 IAuthenticatedEncryptorDescriptor 

IAuthenticatedEncryptor是 Data Protection 在構建其密碼加密系統中的一個基礎的接口。
 一般情況下一個key 對應一個IAuthenticatedEncryptor,IAuthenticatedEncryptor封裝了加密操作中需要使用到的秘鑰材料和必要的加密算法信息等。 

下面是IAuthenticatedEncryptor接口提供的兩個 api方法:
Decrypt(ArraySegment<byte> ciphertext, ArraySegment<byte> additionalAuthenticatedData) : byte[]
Encrypt(ArraySegment<byte> plaintext, ArraySegment<byte> additionalAuthenticatedData) : byte[]

其中接口中的參數additionalAuthenticatedData表示在構建加密的時候提供的一些附屬信息。 

IAuthenticatedEncryptorDescriptor接口提供了一個創建包含類型信息IAuthenticatedEncryptor實例方法。

CreateEncryptorInstance() : IAuthenticatedEncryptor
ExportToXml() : XmlSerializedDescriptorInfo

密鑰管理擴展 

在密鑰系統管理中,提供了一個基礎的接口IKey,它包含以下屬性: 

Activation
creation
expiration dates
Revocation status
Key identifier (a GUID)

IKey還提供了一個創建IAuthenticatedEncryptor實例的方法CreateEncryptorInstance。 

IKeyManager接口提供了一系列用來操作Key的方法,包括存儲,檢索操作等。他提供的高級操作有:

 •創建一個Key 并且持久存儲
 •從存儲庫中獲取所有的 Key
 •撤銷保存到存儲中的一個或多個鍵

XmlKeyManager
通常情況下,開發人員不需要去實現IKeyManager來自定義一個 KeyManager。我們可以使用系統默認提供的XmlKeyManager類。 

XMLKeyManager是一個具體實現IKeyManager的類,它提供了一些非常有用的方法。

 public sealed class XmlKeyManager : IKeyManager, IInternalXmlKeyManager{ public XmlKeyManager(IXmlRepository repository, IAuthenticatedEncryptorConfiguration configuration, IServiceProvider services); public IKey CreateNewKey(DateTimeOffset activationDate, DateTimeOffset expirationDate); public IReadOnlyCollection<IKey> GetAllKeys(); public CancellationToken GetCacheExpirationToken(); public void RevokeAllKeys(DateTimeOffset revocationDate, string reason = null); public void RevokeKey(Guid keyId, string reason = null);}             
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 抚顺市| 八宿县| 大理市| 万全县| 永济市| 施甸县| 柏乡县| 江阴市| 张掖市| 若羌县| 安国市| 买车| 游戏| 陆丰市| 铜陵市| 土默特左旗| 谢通门县| 阿克苏市| 加查县| 宁陵县| 进贤县| 昭苏县| 内乡县| 南华县| 丹阳市| 彰化县| 茌平县| 科技| 长丰县| 洱源县| 冀州市| 宁阳县| 都兰县| 介休市| 兴宁市| 钟山县| 咸丰县| 武城县| 穆棱市| 紫云| 平昌县|