首页 > 解决方案 > 如何从 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 文件的推荐方法是什么?

标签: scalaamazon-web-servicesamazon-s3jks

解决方案


你可以导入包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)

推荐阅读