不知道有没有人能调通这个程序,关于数字签名的,up有分

时间:2021-05-24 21:57:29
本程序是用来验证一个证书是否是某一个CA中心发放的,
程序抛出如下异常
Exception in thread "main" java.security.cert.CertificateParsingException: signe
d fields invalid
        at sun.security.x509.X509CertImpl.parse(X509CertImpl.java:1617)
        at sun.security.x509.X509CertImpl.<init>(X509CertImpl.java:286)
        at sun.security.provider.X509Factory.engineGenerateCertificate(X509Facto
ry.java:94)
        at java.security.cert.CertificateFactory.generateCertificate(Certificate
Factory.java:389)
        at CheckCerSign.main(CheckCerSign.java:23)
请问到底是哪里出错。

import java.io.*;
import java.security.*;
import java.security.cert.*;

public class CheckCerSign
{
public static void main(String args[]) throws Exception
{
String cacert="WIPONET CA Root.cer";

String ifcert="mycer.pfx";

CertificateFactory cf=CertificateFactory.getInstance("X.509");

FileInputStream in1=new FileInputStream(cacert);

java.security.cert.Certificate cac=cf.generateCertificate(in1);

in1.close();

FileInputStream in2=new FileInputStream(ifcert);

java.security.cert.Certificate lfc=cf.generateCertificate(in2);

in2.close();

PublicKey pbk=cac.getPublicKey();

boolean pass=false;

try
{
lfc.verify(pbk);

pass=true;
}
catch(Exception e)
{
pass=false;

System.out.println(e.getMessage());
}

if(pass)
{
System.out.println("The Certificate is Signed");
}
else
{
System.out.println("The Certificate is not Signed");
}
}


}

7 个解决方案

#1


试试

#2


up

#3


up

#4


test

#5


up

#6


从我的角度来看 没看出什么问题来,
我给你几个建议
1,好好检查你的路径,文件,重载参数,注意你的大小写,
   是一个字母就能让人调试一个晚上。
2,就是你的连接方式,你可以使用单步跟踪的方式,注意一定要一步一步的认真调试,
   只要是抛出异常,捕获他仔细查看就能顺利的解决了。
3,如果还是步行的话,你就把你的电脑关了,过一段事件在开,我就遇见过,我的程序报错,
   怎么也调试步出,我门一屋子的人都调不出,可是第二天一开机,内个问题自己就没了。

如果以上都不能解决的话,我是没办法了,你在请教高手把。

#7


up 一下下

#1


试试

#2


up

#3


up

#4


test

#5


up

#6


从我的角度来看 没看出什么问题来,
我给你几个建议
1,好好检查你的路径,文件,重载参数,注意你的大小写,
   是一个字母就能让人调试一个晚上。
2,就是你的连接方式,你可以使用单步跟踪的方式,注意一定要一步一步的认真调试,
   只要是抛出异常,捕获他仔细查看就能顺利的解决了。
3,如果还是步行的话,你就把你的电脑关了,过一段事件在开,我就遇见过,我的程序报错,
   怎么也调试步出,我门一屋子的人都调不出,可是第二天一开机,内个问题自己就没了。

如果以上都不能解决的话,我是没办法了,你在请教高手把。

#7


up 一下下