Class SecretKeyUtil

java.lang.Object
io.github.xezzon.zeroweb.core.crypto.SecretKeyUtil

public class SecretKeyUtil extends Object

密钥读写工具类

SecretKeyUtil 提供了一系列静态方法,用于处理公钥和私钥的读取与写入操作。 它封装了底层密码学库的复杂性,使得在 ZeroWeb 框架中进行密钥管理变得更加简洁和安全。

主要功能:

  • 从 ASN.1 格式的输入源读取公钥和私钥。
  • 将公钥和私钥写入 ASN.1 格式的输出目标。

本工具类依赖于 Bouncy Castle 库进行密钥格式转换和处理。

Author:
xezzon
  • Field Details

    • keyConverter

      public static final org.bouncycastle.openssl.jcajce.JcaPEMKeyConverter keyConverter
      用于 PEM 格式密钥与 JCA 密钥对象之间转换的工具。 此转换器由 Bouncy Castle 库提供,用于简化密钥的导入和导出操作。
  • Method Details

    • readPublicKey

      public static PublicKey readPublicKey(ASN1PublicKeyReader reader) throws org.bouncycastle.openssl.PEMException

      从提供的 ASN1PublicKeyReader 中读取公钥。

      此方法通过读取 ASN.1 编码的公钥信息,并使用 JcaPEMKeyConverter 将其转换为 java.security.PublicKey 对象。

      Parameters:
      reader - 用于读取 ASN.1 格式公钥的读取器。
      Returns:
      解析并转换后的 PublicKey 对象。
      Throws:
      org.bouncycastle.openssl.PEMException - 如果在读取或转换过程中发生密码学相关的错误,则抛出此异常。
    • readPrivateKey

      public static PrivateKey readPrivateKey(ASN1PrivateKeyReader reader) throws org.bouncycastle.openssl.PEMException

      从提供的 ASN1PrivateKeyReader 中读取私钥。

      此方法通过读取 ASN.1 编码的私钥信息,并使用 JcaPEMKeyConverter 将其转换为 java.security.PrivateKey 对象。

      Parameters:
      reader - 用于读取 ASN.1 格式私钥的读取器。
      Returns:
      解析并转换后的 PrivateKey 对象。
      Throws:
      org.bouncycastle.openssl.PEMException - 如果在读取或转换过程中发生密码学相关的错误,则抛出此异常。
    • writePublicKey

      public static void writePublicKey(PublicKey publicKey, ASN1PublicKeyWriter writer) throws org.bouncycastle.openssl.PEMException

      将公钥写入到提供的 ASN1PublicKeyWriter 中。

      此方法将 PublicKey 对象的编码形式写入到 ASN.1 格式的输出流中。

      Parameters:
      publicKey - 要写入的 PublicKey 对象。
      writer - 用于写入 ASN.1 格式公钥的写入器。
      Throws:
      org.bouncycastle.openssl.PEMException - 如果在写入过程中发生 I/O 错误或密码学相关的错误,则抛出此异常。
    • writePrivateKey

      public static void writePrivateKey(PrivateKey privateKey, ASN1PrivateKeyWriter writer) throws org.bouncycastle.openssl.PEMException

      将私钥写入到提供的 ASN1PrivateKeyWriter 中。

      此方法将 PrivateKey 对象的编码形式写入到 ASN.1 格式的输出流中。

      Parameters:
      privateKey - 要写入的 PrivateKey 对象。
      writer - 用于写入 ASN.1 格式私钥的写入器。
      Throws:
      org.bouncycastle.openssl.PEMException - 如果在写入过程中发生 I/O 错误或密码学相关的错误,则抛出此异常。