Skip to content

Commit 7d1818b

Browse files
committed
PDFBOX-5941: isSelfSigned() should not throw an exception
git-svn-id: https://svn.apache.org/repos/asf/pdfbox/trunk@1923393 13f79535-47bb-0310-9956-ffa450edef68
1 parent 41ebe03 commit 7d1818b

File tree

2 files changed

+4
-14
lines changed

2 files changed

+4
-14
lines changed

examples/src/main/java/org/apache/pdfbox/examples/signature/cert/CertificateVerifier.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,7 @@
2323
import java.io.InputStream;
2424
import java.net.URISyntaxException;
2525
import java.security.GeneralSecurityException;
26-
import java.security.InvalidKeyException;
2726
import java.security.PublicKey;
28-
import java.security.SignatureException;
2927
import java.security.cert.CertPathBuilder;
3028
import java.security.cert.CertPathBuilderException;
3129
import java.security.cert.CertStore;
@@ -263,10 +261,9 @@ private static void checkRevocationsWithIssuer(X509Certificate cert, X509Certifi
263261
/**
264262
* Checks whether given X.509 certificate is self-signed.
265263
* @param cert The X.509 certificate to check.
266-
* @return true if the certificate is self-signed, false if not.
267-
* @throws java.security.GeneralSecurityException
264+
* @return true if the certificate is self-signed, false if error or not self-signed.
268265
*/
269-
public static boolean isSelfSigned(X509Certificate cert) throws GeneralSecurityException
266+
public static boolean isSelfSigned(X509Certificate cert)
270267
{
271268
try
272269
{
@@ -275,7 +272,7 @@ public static boolean isSelfSigned(X509Certificate cert) throws GeneralSecurityE
275272
cert.verify(key, SecurityProvider.getProvider());
276273
return true;
277274
}
278-
catch (SignatureException | InvalidKeyException ex)
275+
catch (GeneralSecurityException | IllegalArgumentException ex)
279276
{
280277
// Invalid signature --> not self-signed
281278
LOG.debug("Couldn't get signature information - returning false", ex);

examples/src/main/java/org/apache/pdfbox/examples/signature/validation/CertInformationCollector.java

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -233,14 +233,7 @@ private void traverseChain(X509Certificate certificate, CertSignatureInformation
233233
certInfo.crlUrl = CertInformationHelper.getCrlUrlFromExtensionValue(crlExtensionValue);
234234
}
235235

236-
try
237-
{
238-
certInfo.isSelfSigned = CertificateVerifier.isSelfSigned(certificate);
239-
}
240-
catch (GeneralSecurityException ex)
241-
{
242-
throw new CertificateProccessingException(ex);
243-
}
236+
certInfo.isSelfSigned = CertificateVerifier.isSelfSigned(certificate);
244237
if (maxDepth <= 0 || certInfo.isSelfSigned)
245238
{
246239
return;

0 commit comments

Comments
 (0)