【发布时间】:2018-07-25 08:23:19
【问题描述】:
我想在不使用 BouncyCastle 的情况下以 Java 原生方式读取 OpenSSL 私钥。
我已经为此进行了广泛的搜索,但找不到答案。当您看到如下键时:
-----BEGIN EC PRIVATE KEY-----
...base64 here....
-----END EC PRIVATE KEY-----
那是什么格式?它似乎与 OpenSSH 密钥的编码相同(我认为)。 不是pkcs8,尽管 OpenSSL 允许您使用带有-topk8 参数的pkcs8 命令将其密钥格式转换为pkcs8。
我当然不会是唯一遇到这个问题的人,但是尽管进行了广泛的搜索,我还是找不到答案。谢谢!
编辑: 建议的副本都没有谈论使用纯 java 解决方案(没有 openssl)和没有 Bouncy Castle。除非有人问过这个确切的问题,否则请不要将其标记为重复。
西方开发商很容易对亚洲国家的商业运作方式一无所知。例如,中国有一整套在 OpenSSL 和 Bouncycastle 中闻所未闻的 EC 曲线,用于跨企业商务,因此这两个工具:OpenSSL 和 Bouncycastle 要么是非常旧的版本,要么在全部。像“只使用 openssl”这样的答案既无帮助也无建设性。
【问题讨论】:
-
如果你不愿意使用 Bouncycastle,你真的想使用
openssl -topk8。 -
我知道 openssl 可以进行转换,如上所述,但 openssl 不随 JDK 一起分发,因此不可能。
标签: java cryptography openssh pkcs#8