scala - 使用 .ca-bundle、.crt 和 .key 文件为 Akka 服务器设置 https 支持

标签 scala ssl akka-http

我有一个简单的 Akka http 服务器,但我必须设置 https 支持。 我有三个证书文件:.crt、.key 和 .ca-bundle 在 Akka 文档中,只有 PKCS12 示例。 我该如何处理我拥有的文件?

def initializeWebServer(interface: String,
                          port: Int) = {

        val route : Route =
          pathPrefix("secured") {
            authenticateOAuth2(realm = "secure site", checkAuthentication){ token =>
            concat(
              get{
                path("hello"){
                  complete("hello world")
                }
              }
            )
          }
        }

    val bindingFuture = Http().bindAndHandle(route, interface, port.toInt)
    CoordinatedShutdown(system).addJvmShutdownHook({
      bindingFuture
        .flatMap(_.unbind())
    })
  }

  def myUserPassAuthenticator(credentials: Credentials): Option[String] =
    credentials match {
      case p@Credentials.Provided(id) if p.verify("secret") => Some(id)
      case _ => None
    }

  def checkAuthentication(credentials: Credentials): Option[String] = credentials match {
    case p @ Credentials.Provided(token) if p.verify("secret") => Some(token)
    case _ => None
  }

最佳答案

感谢@Leo C 的评论,

关于scala - 使用 .ca-bundle、.crt 和 .key 文件为 Akka 服务器设置 https 支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59533287/

相关文章:

java - 加入 2 个 PairRDDs 而不洗牌

scala - 如何减少 ScalaCheck 生成的测试用例的数量?

c++ - OpenSSL:将不安全的 BIO 提升为安全的 BIO

wcf net.tcp 使用 SSL

c++ - Scala 严格类型系统与 C++ 类型系统

scala - 如何在 IntelliJ IDEA 中关闭带有 Unit 返回类型的函数的 Scala 自动完成?

perl - 在 PERL 中调用 restful web 服务时如何包含 SSL 客户端证书

游戏框架 2.6.x : Why Akka HTTP is default from now?

java - Akka-http,用Java获取客户端IP

scala - 如何知道,如果配置已加载