Skip to content

Commit d91427e

Browse files
committed
[compat] handle nil dates in Certificate#sign
MRI allows signing a certificate without setting dates (not_before/ not_after both nil). JRuby now defaults to epoch 0 internally when building the certificate, to math C OpenSSL behavior.
1 parent 888c30c commit d91427e

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
import java.util.ArrayList;
4848
import java.util.Arrays;
4949
import java.util.Collection;
50+
import java.util.Date;
5051
import java.util.LinkedHashMap;
5152
import java.util.List;
5253
import java.util.Map;
@@ -673,7 +674,8 @@ private X509v3CertificateBuilder newCertificateBuilder() {
673674
return new X509v3CertificateBuilder(
674675
issuer == null ? null : ((X509Name) issuer).getX500Name(),
675676
serial.abs(),
676-
not_before.getJavaDate(), not_after.getJavaDate(),
677+
not_before != null ? not_before.getJavaDate() : new Date(0),
678+
not_after != null ? not_after.getJavaDate() : new Date(0),
677679
subject == null ? null : ((X509Name) subject).getX500Name(),
678680
publicKeyInfo
679681
);

0 commit comments

Comments
 (0)