Class SecretKeyUtil
java.lang.Object
io.github.xezzon.zeroweb.core.crypto.SecretKeyUtil
密钥读写工具类
SecretKeyUtil 提供了一系列静态方法,用于处理公钥和私钥的读取与写入操作。
它封装了底层密码学库的复杂性,使得在 ZeroWeb 框架中进行密钥管理变得更加简洁和安全。
主要功能:
- 从 ASN.1 格式的输入源读取公钥和私钥。
- 将公钥和私钥写入 ASN.1 格式的输出目标。
本工具类依赖于 Bouncy Castle 库进行密钥格式转换和处理。
- Author:
- xezzon
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final org.bouncycastle.openssl.jcajce.JcaPEMKeyConverter用于 PEM 格式密钥与 JCA 密钥对象之间转换的工具。 -
Method Summary
Modifier and TypeMethodDescriptionstatic PrivateKeyreadPrivateKey(ASN1PrivateKeyReader reader) 从提供的ASN1PrivateKeyReader中读取私钥。static PublicKeyreadPublicKey(ASN1PublicKeyReader reader) 从提供的ASN1PublicKeyReader中读取公钥。static voidwritePrivateKey(PrivateKey privateKey, ASN1PrivateKeyWriter writer) 将私钥写入到提供的ASN1PrivateKeyWriter中。static voidwritePublicKey(PublicKey publicKey, ASN1PublicKeyWriter writer) 将公钥写入到提供的ASN1PublicKeyWriter中。
-
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 错误或密码学相关的错误,则抛出此异常。
-