菜鸟向高手请教

lindianxuan 2003-09-23 09:18:00
java.security.spec.InvalidKeySpecException: Inappropriate key specification: IOException : null

at sun.security.provider.DSAKeyFactory.engineGeneratePrivate(DSAKeyFactory.java:102)

at java.security.KeyFactory.generatePrivate(KeyFactory.java:237)

at com.tention.mptp.secure.DSA.loadPrivateKey(DSA.java:71)

at com.tention.mptp.secure.DSA.signed(DSA.java:101)

at com.tention.mptp.secure.DSA.main(DSA.java:117)
在数字签名中这个异常是什么意思,怎么解决????????????
能否给个实力
...全文
59 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
alexela 2003-09-29
  • 打赏
  • 举报
回复
你的privatekey文件是不是用openssl生成的?!如果不是java自己生成的,很有可能是采用DSA PRIVATE KEY编码而不是pkcs8编码,你把编码文件attach到PCKS8结构上再看看:)
xwOnlyU 2003-09-28
  • 打赏
  • 举报
回复
up
lindianxuan 2003-09-28
  • 打赏
  • 举报
回复
各位高手请发言
lindianxuan 2003-09-24
  • 打赏
  • 举报
回复
文件内容不会是空
我打印成16进制的出来了
shipp 2003-09-23
  • 打赏
  • 举报
回复
UP
hesi726 2003-09-23
  • 打赏
  • 举报
回复
给我的感觉,好像你的 文件内容为空哦!
看看 jdk1.4对 key 有些什么要求!
lindianxuan 2003-09-23
  • 打赏
  • 举报
回复
/**
* 从私钥数据文件载入私钥
* @param file String
* @return PrivateKey
* @throws IOException
* @throws NoSuchAlgorithmException
* @throws InvalidKeySpecException
*/
public static PrivateKey loadPrivateKey(String file)throws IOException,NoSuchAlgorithmException,
InvalidKeySpecException{
File f = new File(file);
if( ! f.exists())
throw new IOException("private key file not found.");
FileInputStream in = new FileInputStream(f);
byte[] privateKeyBytes = new byte[file.length()];
in.read(privateKeyBytes,0,privateKeyBytes.length);
in.close();
for(int i=0;i<privateKeyBytes.length;i++)
System.out.print(Integer.toHexString(privateKeyBytes[i]&0xFF) + " ");
PKCS8EncodedKeySpec priPKCS8 = new PKCS8EncodedKeySpec(privateKeyBytes);
KeyFactory keyf = KeyFactory.getInstance("DSA");
PrivateKey pKey = keyf.generatePrivate(priPKCS8);
return pKey;
}

我用的是jdk1.4自带的包
RobertDeNiro 2003-09-23
  • 打赏
  • 举报
回复
无效的密钥定义,你用了第三方的包吧,好好看看你用的包的说明

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧