首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从字节数组创建PrivateKey

从字节数组创建PrivateKey
EN

Stack Overflow用户
提问于 2011-01-05 09:31:43
回答 4查看 17.5K关注 0票数 9

有没有办法从字节数组生成PrivateKey?我使用getEncoded()方法得到这个字节数组,但现在我必须将它转换回PrivateKey。

谢谢,Vuk

EN

回答 4

Stack Overflow用户

发布于 2011-06-17 03:30:37

我也在寻找这个答案,并最终找到了它。keyBytes是最初使用getEncoded()创建的字节数组。

代码语言:javascript
复制
//add BouncyCastle as a provider if you want
Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
//create a keyfactory - use whichever algorithm and provider
KeyFactory kf = KeyFactory.getInstance("DSA", "BC");
//for private keys use PKCS8EncodedKeySpec; for public keys use X509EncodedKeySpec
PKCS8EncodedKeySpec ks = new PKCS8EncodedKeySpec(keyBytes);
PrivateKey pk = kf.generatePrivate(ks);

我从来没有为JavaCard做过任何事情,但是从这个post中,看起来您可以使用KeyFactory类。您可能需要下载BouncyCastle库。

票数 7
EN

Stack Overflow用户

发布于 2011-01-05 21:31:00

丢弃编码的字节数组。在JavaCard上,没有办法直接解码它-你必须单独设置不同的关键组件。

例如,RSAPrivateKey需要使用指数和模数进行初始化:

代码语言:javascript
复制
rsaPrivate = (RSAPrivateKey) javacard.security.KeyBuilder.buildKey
  (javacard.security.KeyBuilder.TYPE_RSA_PRIVATE, 
  javacard.security.KeyBuilder.LENGTH_RSA_512, false);

byte[] exponent = {(byte) 7};
byte[] modulus = {(byte) 33};
rsaPrivate.setExponent(exponent, (short) 0, (short) exponent.length);
rsaPrivate.setModulus(modulus, (short) 0, (short) modulus.length);

顺便说一句:对于JavaCard的问题,我推荐在Oracle论坛中使用JavaCard Forum。如果你在那里搜索RSAPrivateKey,你会发现一些有趣的帖子。

票数 3
EN

Stack Overflow用户

发布于 2019-05-30 05:32:22

代码语言:javascript
复制
//ECDSA algo of signature type prime256 of key
Security.addProvider(new BouncyCastleProvider());
KeyFactory factory = KeyFactory.getInstance("ECDSA", "BC");
ECNamedCurveParameterSpec spec = ECNamedCurveTable.getParameterSpec("prime256v1");
ECPrivateKeySpec ecPrivateKeySpec = new ECPrivateKeySpec(new BigInteger(1, privKey), spec);
PrivateKey privateKey = factory.generatePrivate(ecPrivateKeySpec);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4600106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档