Class JwtKeyManager

java.lang.Object
io.github.xezzon.zeroweb.crypto.JwtKeyManager
All Implemented Interfaces:
JwtCryptoService

@Component public class JwtKeyManager extends Object implements JwtCryptoService
JWT 密钥管理器,用于生成、保存和加载 JWT 密钥对以及签发 JWT。
Author:
xezzon
  • Field Details

  • Constructor Details

    • JwtKeyManager

      public JwtKeyManager(io.github.xezzon.zeroweb.common.config.ZerowebConfig zerowebConfig)
  • Method Details

    • loadPrivateKey

      @PostConstruct public void loadPrivateKey()
      在应用启动后,加载私钥。 如果无法找到私钥文件或解析失败,则生成新的密钥对并保存私钥文件。 加载成功后,将公钥广播出去。
    • signJwt

      public String signJwt(@NotNull com.auth0.jwt.JWTCreator.Builder jwtBuilder)
      Description copied from interface: JwtCryptoService
      签发JWT
      Specified by:
      signJwt in interface JwtCryptoService
      Parameters:
      jwtBuilder - jwt构造器
      Returns:
      JWT字符串
    • getPublicKey

      public ECPublicKey getPublicKey()
      获取公钥
      Returns:
      返回ECPublicKey类型的公钥
    • printPublicKey

      @EventListener public void printPublicKey(PublicKeyGeneratedEvent event)
      打印公钥到控制台
      Parameters:
      event - 公钥
    • savePublicKeyToClasspath

      @EventListener public void savePublicKeyToClasspath(PublicKeyGeneratedEvent event)
      将公钥保存到文件中(PKCS8)
      Parameters:
      event - 公钥