- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
尝试读取 SSLeay 格式私钥时抛出 InvalidKeyException。
请在下面找到详细信息:-我有一个 SSLeay 格式的私钥。pem 格式以以下文件开头
-----开始 RSA 私钥-----
我正在编写代码来获取以字节格式保存的私钥并将其转换为 PrivateKey。变量 privateKeyBytes 包含字节格式的私钥/
String pkStrFormat = new String(privateKeyBytes, "UTF-8");
pkStrFormat = pkStrFormat.replaceAll("(-----BEGIN RSA PRIVATE KEY-----\\r?\\n|-----END RSA PRIVATE KEY-----+\\r?\\n?)","");
byte[] keyBytesOfPrivateKey = org.bouncycastle.util.encoders.Base64
.decode(pkStrFormat.getBytes());
KeyFactory ecKeyFac = KeyFactory.getInstance("RSA");
PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(keyBytesOfPrivateKey);
PrivateKey priKey = ecKeyFac.generatePrivate(keySpec);
我收到以下异常:-
Caused by: java.security.InvalidKeyException: IOException : version mismatch: (supported: 00, parsed: 01
at sun.security.pkcs.PKCS8Key.decode(PKCS8Key.java:350)
at sun.security.pkcs.PKCS8Key.decode(PKCS8Key.java:356)
使用 PKCS8 格式 key 时,代码可以正常工作。
最佳答案
以 BEGIN RSA PRIVATE KEY
开头的 PEM 文件是 PKCS#1,而不是 PKCS#8。 PKCS#1 本质上是固定算法 RSA 的 PKCS#8,因此删除了算法标识符。要么像 https://superuser.com/questions/606215/openssl-pkcs8-default-format-gives-rsa-private-key 那样转换您的 key :
openssl pkcs8 -topk8 -inform pem -in file.key -outform pem -nocrypt -out file.pem
或使用类似于Bouncy Castle : PEMReader => PEMParser的PEMParser
(没有密码的东西)
关于java - 使用充气城堡读取 SSLeay 格式私钥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28430603/
想问一下。有什么区别: LayoutInflater layoutInflater = (LayoutInflater) getBaseContext().getSystemService(Conte
我正在使用 RecyclerView 来保存 CardView 列表。在我运行 Lollipop 5.0.2 的设备上,应用程序运行良好并且列表正确显示数据。然而,在其他 Lollipop 之前的设备
简单:我想用 1 个宽度为 0dp 的子项来膨胀父项。 父级 xml: 子类: public class KeyButton extends RelativeLayout implements Vi
我正在尝试创建一个 android 键盘,现在我希望它只是膨胀,即显示来自 main.xml 的线性布局 这是java文件 package keyboard.rob.com; import ... p
我有以下适配器 public class CardAdapter extends RecyclerView.Adapter{ List list; int id; Context context;
我的 main.xml 中目前有一个 DrawerLayout。 AppBarLayout 中包含了一个 Toolbar,然后是一个简单的 LinearLayout 来交换 fragment 。 我导
由于不推荐使用 Kotlin Synthetics,我们正在迁移到 ViewBinding。 我已经尝试了很多关于 ViewStub、ViewBinding 的谷歌搜索和阅读文档,并为 Fragmen
我无法使用 LayoutInflater 扩充 xml(包含 QuickContactBadge 的布局)文件,以便在 ListView 中使用它。它不会产生编译/运行时错误或正确的预期输出。从 XM
我是一名优秀的程序员,十分优秀!