【发布时间】:2017-05-16 04:04:44
【问题描述】:
假设我有一个如下所示的 DSA 公钥:
-----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-----
我通过openssl dsa -in dsa_priv.pem -pubout -out dsa_pub.pem生成了这个密钥
我希望能够在 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
有什么想法吗?
【问题讨论】:
标签: java bouncycastle dsa