Skip to content

Commit 1cc27ff

Browse files
committed
DSA + SHA1 sounds about just fine ... right?! + the usual cleanup
1 parent c64063a commit 1cc27ff

File tree

1 file changed

+2
-38
lines changed

1 file changed

+2
-38
lines changed

src/main/java/org/jruby/ext/openssl/X509CRL.java

Lines changed: 2 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,8 @@
3636
import java.util.Set;
3737

3838
import java.security.GeneralSecurityException;
39-
import java.security.InvalidKeyException;
40-
import java.security.NoSuchAlgorithmException;
4139
import java.security.PrivateKey;
4240
import java.security.PublicKey;
43-
import java.security.SignatureException;
4441
import java.security.cert.CRLException;
4542
import java.security.cert.CertificateFactory;
4643
import java.security.cert.X509CRLEntry;
@@ -60,8 +57,6 @@
6057
import org.bouncycastle.asn1.DERSequence;
6158
import org.bouncycastle.asn1.DLSequence;
6259
import org.bouncycastle.asn1.x500.X500Name;
63-
import org.bouncycastle.asn1.x509.AlgorithmIdentifier;
64-
import org.bouncycastle.asn1.x509.CertificateList;
6560
import org.bouncycastle.asn1.x509.Extension;
6661
import org.bouncycastle.asn1.x509.Extensions;
6762
import org.bouncycastle.cert.CertException;
@@ -71,9 +66,7 @@
7166
import org.bouncycastle.crypto.params.DSAParameters;
7267
import org.bouncycastle.crypto.params.DSAPublicKeyParameters;
7368
import org.bouncycastle.crypto.params.RSAKeyParameters;
74-
import org.bouncycastle.jce.provider.X509CRLObject;
7569
import org.bouncycastle.operator.ContentSigner;
76-
import org.bouncycastle.operator.ContentVerifier;
7770
import org.bouncycastle.operator.ContentVerifierProvider;
7871
import org.bouncycastle.operator.DefaultDigestAlgorithmIdentifierFinder;
7972
import org.bouncycastle.operator.DigestAlgorithmIdentifierFinder;
@@ -671,7 +664,8 @@ private String getSignatureAlgorithm(final Ruby runtime, final PKey key, final D
671664
final String digAlg = digest.getShortAlgorithm();
672665

673666
if ( "DSA".equalsIgnoreCase(keyAlg) ) {
674-
if ( ( "MD5".equalsIgnoreCase( digAlg ) ) ) {
667+
if ( ( "MD5".equalsIgnoreCase( digAlg ) ) ) { // ||
668+
// ( "SHA1".equals( digest.name().toString() ) ) ) {
675669
throw newCRLError(runtime, "unsupported key / digest algorithm ("+ key +" / "+ digAlg +")");
676670
}
677671
}
@@ -745,38 +739,8 @@ public IRubyObject verify(final ThreadContext context, final IRubyObject key) {
745739
debug("CRL#verify() failed:", e);
746740
return context.runtime.getFalse();
747741
}
748-
// catch (SignatureException e) {
749-
// debug("CRL#verify() failed:", e);
750-
// return context.runtime.getFalse();
751-
// }
752-
// catch (NoSuchAlgorithmException e) {
753-
// return context.runtime.getFalse();
754-
// }
755742
}
756743

757-
/*
758-
private static boolean verify(final CertificateList crl, final PublicKey publicKey)
759-
throws CRLException, InvalidKeyException, SignatureException, NoSuchAlgorithmException {
760-
761-
final AlgorithmIdentifier tbsSignatureId = crl.getTBSCertList().getSignature();
762-
if ( ! crl.getSignatureAlgorithm().equals( tbsSignatureId ) ) {
763-
if ( true ) return false;
764-
//throw new CRLException("Signature algorithm on CertificateList does not match TBSCertList.");
765-
}
766-
767-
final String sigAlgName = X509SignatureUtil.getSignatureName(crl.getSignatureAlgorithm());
768-
final Signature signature = SecurityHelper.getSignature(sigAlgName, securityProvider);
769-
770-
signature.initVerify(publicKey);
771-
signature.update(crl.getTBSCertList());
772-
773-
if ( ! signature.verify( crl.getSignature() ) ) {
774-
if ( true ) return false;
775-
//throw new SignatureException("CRL does not verify with supplied public key.");
776-
}
777-
return true;
778-
} */
779-
780744
private static RubyClass _CRLError(final Ruby runtime) {
781745
return _X509(runtime).getClass("CRLError");
782746
}

0 commit comments

Comments
 (0)