对象存储服务 OBS-客户端加密简介(Java SDK):加密过程与加密套件

时间:2023-12-28 21:02:35

加密过程与加密套件

OBS Java SDK提供了两个不同的加密套件生成器,分别是基于AES-CTR加密方法的CTRCipherGenerator与基于RSA + AES-CTR加密的CtrRSACipherGenerator。

使用CTRCipherGenerator上传对象时,用户需要提供一个用来加密数据的数据密钥,SDK将会针对每个对象随机生成一个初始值,并使用数据密钥与初始值加密对象,加密完成后将加密后文件上传至OBS,并将对应的初始值存储至对象元数据中。下载该对象时,用户需要提供对应的数据密钥,SDK会自动获取保存在对象元数据中的初始值,使用数据密钥与初始值解密对象并返回。下载时如若提供了与加密时不同的数据密钥,SDK也将返回不可用的解密后文件。

使用CtrRSACipherGenerator上传对象时,用户需要提供一个RSA 公钥,SDK会针对每个对象随机生成一个数据密钥和初始值,并使用数据密钥与初始值加密对象,加密完成后将加密后文件上传至OBS,随后会使用RSA密钥加密数据密钥,并将加密后的数据密钥与初始值存储至对象元数据中。下载该对象时,用户需要提供对应的RSA私钥,SDK会自动获取保存在对象元数据中的数据密钥与初始值,并使用私钥解密数据密钥,如若提供的私钥与上传时使用的密钥不匹配,将会抛出异常。解密成功后,SDK将会使用解密后的数据密钥与初始值解密对象并返回。

support.huaweicloud.com/sdk-java-devg-obs/obs_21_2302.html