Я хочу скомпилировать программу this в IntelliJ IDE. Но она возвращает следующие три ошибки:Ошибка при составлении программы проверки сертификата
1.for этой линии:
CertStore certs = s.getCertificatesAndCRLs("Collection", "BC");
эта ошибка:
error: cannot find symbol method getCertificatesAndCRLs(String,String)
2.for эта линия:
Collection certCollection = certs.getCertificates(signer.getSID());
Эта ошибка:
error: method getCertificates in class CertStore cannot be applied to given types;
required: CertSelector
found: SignerId
reason: actual argument SignerId cannot be converted to CertSelector by method invocation conversion
3.And для этой линии:
if (signer.verify(cert.getPublicKey(), "BC")) verified++;
эта ошибка:
error: method verify in class SignerInformation cannot be applied to given types;
required: SignerInformationVerifier
found: PublicKey,String
reason: actual and formal argument lists differ in length
Это мой импорт верхней части моей программы:
import java.io.*;
import java.util.*;
import java.security.*;
import java.security.Security;
import java.security.cert.*;
import org.bouncycastle.jce.provider.BouncyCastleProvider;
import org.bouncycastle.cms.*;
и я добавил jdk1.7.0_15
библиотеки + bcpkix-jdk15on-151.jar
и bcprov-jdk16-1.45.jar
к моему проекту.
Может ли кто-нибудь помочь мне справиться с этими проблемами?
Возможно, вам стоит попросить автора [этой программы] (http://www.jensign.com/JavaScience/javacrypto/) о правильных библиотеках. Цитата: «Образцы выше были скомпилированы с помощью j2sdk1.4.1_02 и требуют базовый провайдер Bouncy Castle и поставщик почтовых сообщений версии 1.19+ для компиляции и во время выполнения ». – Alexander
Этот образец (который был создан 10 лет назад) использует чрезвычайно старую версию BouncyCastle, я предполагаю, что API отличается от последней версии. рассмотрите возможность поиска более актуальной выборки для функциональности. – yole