首页  >  文章  >  Java  >  如何在 Java 中从文件加载 RSA 公钥?

如何在 Java 中从文件加载 RSA 公钥?

Patricia Arquette
Patricia Arquette原创
2024-11-01 04:11:28509浏览

How to Load an RSA Public Key from a File in Java?

从文件加载 RSA 公钥

在本文中,我们将讨论如何使用 Java 从文件加载 RSA 公钥。当我们使用 OpenSSL 生成私钥和公钥对并希望在 Java 中使用它们进行数字签名和验证时,就会出现这种情况。

加载私钥

我们可以转换私钥使用 OpenSSL 转换为 PKCS8 格式,然后使用以下代码加载它:

<code class="java">import java.nio.file.*;
import java.security.*;
import java.security.spec.*;

public class PrivateKeyReader {

  public static PrivateKey get(String filename)
    throws Exception {

    byte[] keyBytes = Files.readAllBytes(Paths.get(filename));

    PKCS8EncodedKeySpec spec =
      new PKCS8EncodedKeySpec(keyBytes);
    KeyFactory kf = KeyFactory.getInstance("RSA");
    return kf.generatePrivate(spec);
  }
}</code>

加载公钥

要加载公钥,我们需要将其转换为 X509 格式。以下是代码片段:

<code class="java">import java.nio.file.*;
import java.security.*;
import java.security.spec.*;

public class PublicKeyReader {

  public static PublicKey get(String filename)
    throws Exception {
    
    byte[] keyBytes = Files.readAllBytes(Paths.get(filename));

    X509EncodedKeySpec spec =
      new X509EncodedKeySpec(keyBytes);
    KeyFactory kf = KeyFactory.getInstance("RSA");
    return kf.generatePublic(spec);
  }
}</code>

按照以下步骤,您可以成功从文件加载 RSA 公钥和私钥,并使用它们进行签名和验证操作。

以上是如何在 Java 中从文件加载 RSA 公钥?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn