gpt4 book ai didi

java - 是否可以通过 java 中的 bouncycaSTLe 使用 SMIME 加密常规文件

转载 作者:行者123 更新时间:2023-11-29 04:07:31 26 4
gpt4 key购买 nike

我见过很多可以使用 SMIME 加密和发送电子邮件的示例,但没有加密常规文件的示例。我有一种将 key 插入 bd 的方法,但我不知道如何使用 bouncycaSTLe 的 SMIME 来加密文件。

public CifradoDeArchivos obtenerCifradoDeArchivosParticular(
ParametrizacionCifradoArchivosBancos parametrizacionCifradoArchivosBancos) {

CifradoDeArchivos newInstance = null;
try {
// Se realiza la introspección
Class<?> clazz = Class
.forName(parametrizacionCifradoArchivosBancos
.getClaseImplementacion());
Constructor<?> clazzConstructor = clazz.getConstructor();
newInstance = (CifradoDeArchivos) clazzConstructor
.newInstance();

} catch (NoClassDefFoundError e) {
logger.info(e.getMessage());
}
return newInstance;
}

最佳答案

你可以使用bouncycaSTLe提供的cms加密文件,前提是你有公钥。 Smime 更倾向于电子邮件。

片段如下:

CMSEnvelopedDataGenerator enGen = new CMSEnvelopedDataGenerator();

for (Certificate c : certs) {
enGen.addRecipientInfoGenerator(
new JceKeyTransRecipientInfoGenerator((X509Certificate) c));
}
OutputEncryptor encryptor =
new JceCMSContentEncryptorBuilder(CMSAlgorithm.AES256_CBC).setProvider("BC").build();
CMSEnvelopedData envelopedData = enGen.generate(new CMSProcessableByteArray(bos.toByteArray()),
encryptor);

那么加密后的数据将是:

envelopedData.getEncoded()

关于java - 是否可以通过 java 中的 bouncycaSTLe 使用 SMIME 加密常规文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57577321/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com