0
一个DSA公钥比方说,我有一个看起来像这样的DSA公钥:我做openssl dsa -in dsa_priv.pem -pubout -out dsa_pub.pem
装载在Java中
产生这个关键
-----BEGIN PUBLIC KEY-----
MIIBuDCCASwGByqGSM44BAEwggEfAoGBAOwYAcAzXpuw+XCXuNp5zhAzKdhrRguI
uI5kLia8fhRb+1EnFPNpXt4fUS2c/0P0nvzH/TvApizzMkRYJea6rRSW5B+MDjv6
lvrxv+5xBM15kdug033mgSL7wEJIrTLwbe5/djz2oe+pr1KLqs/fvgyKcQyttUWb
5SmwZ+UVx3zfAhUAu0kA2L6VgbvEwpD9sTj5tLyB6Y0CgYEA5GjC+KsPsAH3HZKl
2IwTjX47iNVHyuzr4ZcyXceJ/pi3WR6bQJ6tpf1I2jIE0DOMPlNUwYh0aWBGvoY2
t4d5cwZaW90OS8IAIRFkQS0ywpmJyb7KXqRHwAYdMID88GW0d/KsVB3if0j/9QOo
jhGOrO+kJcZBxUSxINgIIEYFAlEDgYUAAoGBALnHTAZlpoLJZuSBVtnMuRM3cSX4
3IkE9w9FveDV1jX5mmfK7yBVpQFV8eVJfk91ERQ4Dn6ePLUv2dRIt4a0S0qHqadg
zyoFyqkmmUi1kNLyixtRqh+m2gXx0t63HEpZDbEPppdpnlppZquVQh7TyrKSXW9M
TzUkQjFI9UY7kZeK
-----END PUBLIC KEY-----
我想能够加载这个在Java中的关键,但我不清楚如何。
我会用RSA做的是...我想base64将字符串解码为字节数组,然后将该字节数组传递给org.bouncycastle.asn1.pkcs.RSAPrivateKey.getInstance()
。此时,您可以将个人参数传递到java.security.spec.RSAPrivateKeySpec
,并从那里做钥匙。
但我该如何做与DSA?据我所知,没有org.bouncycastle.asn1.pkcs.RSAPrivateKey
班。下面是我尝试导入时出现的错误:
import org.bouncycastle.asn1.pkcs.DSAPublicKey;
^
symbol: class DSAPublicKey
location: package org.bouncycastle.asn1.pkcs
1 error
任何想法?
我得到一个空指针异常。我的代码:http://pastebin.com/pMH5F445 – neubert
'----- BEGIN PUBLIC KEY -----'和'----- END PUBLIC KEY -----'分隔符是PEM格式,就像Base 64编码一样。只要给读者提供openssl的PEM输出即可。我用一个完整的例子更新了答案。 – teppic
工作 - 谢谢! – neubert