scala - 如何从 S3 读取 JKS 文件并将其解码以在 Scala 中使用?
问题描述
我是 Scala 新手,使用以下代码从 AWS S3 中提取 .jks 文件:
import com.amazonaws.services.s3.AmazonS3ClientBuilder
import java.io.File
import java.io.BufferedReader
import java.io.InputStreamReader
import java.io.FileOutputStream
import org.apache.commons.io.IOUtils
val s3obj = AmazonS3ClientBuilder
.defaultClient()
.getObject("bucket", "folder/file")
val bytes = IOUtils.toByteArray(s3obj.getObjectContent())
val file = new FileOutputStream("tmp/keystore.jks")
file.write(bytes)
// recommended way to access the .jks file as a parsed file reference.
从 AWS S3 加载到磁盘后,解析此二进制文件 (tmp/keystore.jks) 以用作磁盘中的 .jks 文件的推荐方法是什么?
解决方案
你可以导入包import java.security.KeyStore
并初始化你的 ks :
val passphrase = ??? // char array
val ksKeys = KeyStore.getInstance("JKS")
val keystoreResource = this.getClass.getClassLoader.getResourceAsStream("path to keystore")
ksKeys.load(keystoreResource, passphrase)
推荐阅读
- python - 如何在 Kaggle 平台的 LGBMClassifier 和 GridSearchCV 中使用 GPU 参数?
- java - 如何将音频信号添加到生成的 mp4 文件中?
- version - 在 Mac Big Sur 上,如何将我的 Unision 版本降级到特定版本?
- java - Avro 架构:无法使字段可选
- mongodb - 在猫鼬中建模一对多关系的最佳方法是什么
- azure - App Insights 以“HTTP/1.1 206 遥测采样”作为响应。
- swagger - 基于枚举值的 Swagger 查询参数
- flutter - 扑。是否有可能以某种方式装饰 SliverList/SliverGrid?
- node.js - 如何保存上传到文件系统中的图像以在谷歌应用引擎上进行部署
- r - 如何控制 R Markdown(PDF 输出)中目录的位置?