Interface AppKeyProvider

Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface AppKeyProvider
非对称签名密钥获取函数式接口

用于根据 appId 获取非对称签名所需的公钥/私钥。与 AppSecretProvider(对称密钥)并列: 对称算法(HMAC)使用 secret,非对称算法(SM2/RSA)使用此接口的密钥对象。

使用者可自行实现该接口,从数据库、配置中心、KMS/HSM 等任意来源获取密钥。 框架本身不提供任何默认实现,也不从配置文件读取密钥(无 default-secret / app-secrets / sm2.default-*-key 等配置项)——密钥一律由业务方以 Bean 形式提供, 生产环境从上述来源查询即可,避免密钥明文落盘。

// 从密钥库/KMS 获取
AppKeyProvider kmsProvider = appId -> {
    KeyPair kp = kmsClient.getKeyPair(appId);
    return new AppKey(appId, kp.getPrivate(), kp.getPublic());
};
Author:
Kerbores(kerbores@riemann.tech)
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static final record 
    非对称密钥载体
  • Method Summary

    Modifier and Type
    Method
    Description
    getKey(String appId)
    根据 appId 获取非对称密钥对
  • Method Details

    • getKey

      根据 appId 获取非对称密钥对
      Parameters:
      appId - 应用ID
      Returns:
      密钥对(含公钥与可选私钥),找不到返回 null