Micronaut Key Store Path中可以设置S3路径吗?

问题描述 投票:0回答:1

我有一个使用 Micronaut 3.9.x(从 Micronaut 1 迁移)的 lambda 应用程序,它使用 HttpClient 并具有指向我的资源文件夹内的证书的 SSL 配置。我在环境变量中有变量 micronaut.http.client.ssl.key.store.path 。我可以将其设置为 S3 存储桶中的路径(例如 s3://mys3bucket/certs/client.p12)吗?

我需要在 Lambda 角色中添加哪些权限? TIA

amazon-s3 micronaut micronaut-client micronaut-aws
1个回答
0
投票

您可以创建一个类来替换 NettyClientSslBuilder。然后您可以覆盖 load() 方法,并从您想要的任何地方获取密钥存储。

@Slf4j
@Singleton
@Replaces(NettyClientSslBuilder.class)
public class CustomClientSslBuilder extends NettyClientSslBuilder {

    @Override
    protected KeyStore load(Optional<String> optionalType, String resource, Optional<String> optionalPassword) throws Exception {
        ...
        retrun keystore;
    }

}

如果您想在 Micronaut 4.x 上执行此操作,请确保添加

netty-incubator-codec-http3
作为依赖项,否则注释处理器会在该类上失败。这是因为它扩展的类实现了对 HTTP 3 的实验性支持,并且需要构建该库。

© www.soinside.com 2019 - 2024. All rights reserved.