Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: jruby/jruby-openssl
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 7d13c15d3f80
Choose a base ref
...
head repository: jruby/jruby-openssl
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: ecc1a05f458b
Choose a head ref
  • 7 commits
  • 27 files changed
  • 1 contributor

Commits on Nov 3, 2016

  1. Copy the full SHA
    86edc63 View commit details

Commits on Nov 4, 2016

  1. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    d84bf06 View commit details
  2. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    493c28f View commit details
  3. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    6701f8e View commit details
  4. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    a13f15c View commit details
  5. field not used

    kares committed Nov 4, 2016
    Copy the full SHA
    9482dd8 View commit details
  6. Copy the full SHA
    ecc1a05 View commit details
12 changes: 3 additions & 9 deletions pom.xml
Original file line number Diff line number Diff line change
@@ -11,7 +11,7 @@ DO NOT MODIFIY - GENERATED CODE
<modelVersion>4.0.0</modelVersion>
<groupId>rubygems</groupId>
<artifactId>jruby-openssl</artifactId>
<version>0.9.17</version>
<version>0.9.18.dev-SNAPSHOT</version>
<packaging>gem</packaging>
<name>JRuby OpenSSL</name>
<description>JRuby-OpenSSL is an add-on gem for JRuby that emulates the Ruby OpenSSL native library.</description>
@@ -58,7 +58,6 @@ DO NOT MODIFIY - GENERATED CODE
</distributionManagement>
<properties>
<bc.versions>1.54</bc.versions>
<mavengem.wagon.version>0.2.0</mavengem.wagon.version>
<jruby.plugins.version>1.0.10</jruby.plugins.version>
<invoker.skip>${maven.test.skip}</invoker.skip>
<jruby.version>1.7.18</jruby.version>
@@ -117,8 +116,8 @@ DO NOT MODIFIY - GENERATED CODE
</dependencies>
<repositories>
<repository>
<id>mavengems</id>
<url>mavengem:https://rubygems.org</url>
<id>rubygems-releases</id>
<url>http://rubygems-proxy.torquebox.org/releases</url>
</repository>
<repository>
<releases>
@@ -133,11 +132,6 @@ DO NOT MODIFIY - GENERATED CODE
</repositories>
<build>
<extensions>
<extension>
<groupId>org.torquebox.mojo</groupId>
<artifactId>mavengem-wagon</artifactId>
<version>${mavengem.wagon.version}</version>
</extension>
<extension>
<groupId>de.saumya.mojo</groupId>
<artifactId>gem-with-jar-extension</artifactId>
4 changes: 2 additions & 2 deletions src/main/java/org/jruby/ext/openssl/OpenSSL.java
Original file line number Diff line number Diff line change
@@ -216,11 +216,11 @@ static void debugStackTrace(final Ruby runtime, final Throwable e) {
if ( isDebug(runtime) ) e.printStackTrace(runtime.getOut());
}

static void debug(final Ruby runtime, final String msg) {
public static void debug(final Ruby runtime, final String msg) {
if ( isDebug(runtime) ) runtime.getOut().println(msg);
}

static void debug(final Ruby runtime, final String msg, final Throwable e) {
public static void debug(final Ruby runtime, final String msg, final Throwable e) {
if ( isDebug(runtime) ) runtime.getOut().println(msg + ' ' + e);
}

9 changes: 9 additions & 0 deletions src/main/java/org/jruby/ext/openssl/X509Cert.java
Original file line number Diff line number Diff line change
@@ -737,4 +737,13 @@ private static GeneralName[] extRealNames(final X509Extension extension) throws
return GeneralNames.getInstance( value ).getNames();
}

@Override
public Object toJava(Class target) {
if ( target.isAssignableFrom(X509Certificate.class) ) {
if ( target == X509AuxCertificate.class ) return getAuxCert();
return cert;
}
return super.toJava(target);
}

}// X509Cert
13 changes: 8 additions & 5 deletions src/main/java/org/jruby/ext/openssl/x509store/Lookup.java
Original file line number Diff line number Diff line change
@@ -27,6 +27,7 @@
***** END LICENSE BLOCK *****/
package org.jruby.ext.openssl.x509store;

import org.jruby.ext.openssl.OpenSSL;
import org.jruby.ext.openssl.util.Cache;
import static org.jruby.ext.openssl.x509store.X509Utils.X509_CERT_DIR;
import static org.jruby.ext.openssl.x509store.X509Utils.X509_FILETYPE_ASN1;
@@ -356,10 +357,10 @@ public int loadDefaultJavaCACertsFile(String certsFile) throws IOException, Gene
final FileInputStream fin = new FileInputStream(certsFile);
int count = 0;
try {
// hardcode the keystore type, as we expcet cacerts to be a java
// keystore - especially needed for jdk9
// hardcode the keystore type, as we expect cacerts to be a java
// keystore - especially needed for jdk9
KeyStore keystore = SecurityHelper.getKeyStore("jks");
// we pass a null password, as the cacerts file isn't password protected
// null password - as the cacerts file isn't password protected
keystore.load(fin, null);
PKIXParameters params = new PKIXParameters(keystore);
for ( TrustAnchor trustAnchor : params.getTrustAnchors() ) {
@@ -515,9 +516,11 @@ public int call(final Lookup ctx, final Integer cmd, final String argp, final Nu
case X509_L_FILE_LOAD:
if (arglInt == X509_FILETYPE_DEFAULT) {
try {
file = ctx.envEntry( getDefaultCertificateFileEnvironment() );
file = ctx.envEntry( getDefaultCertificateFileEnvironment() ); // ENV['SSL_CERT_FILE']
}
catch (RuntimeException e) {
OpenSSL.debug(ctx.runtime, "failed to read SSL_CERT_FILE", e);
}
catch (RuntimeException e) { }
if (file == null) {
file = X509Utils.X509_CERT_FILE.replace('/', File.separatorChar);
}
18 changes: 9 additions & 9 deletions src/main/java/org/jruby/ext/openssl/x509store/LookupMethod.java
Original file line number Diff line number Diff line change
@@ -37,15 +37,15 @@
public class LookupMethod {
public String name;

static interface NewItemFunction extends Function1<Lookup> {}
static interface FreeFunction extends Function1<Lookup> {}
static interface InitFunction extends Function1<Lookup> {}
static interface ShutdownFunction extends Function1<Lookup> {}
static interface ControlFunction extends Function5<Lookup, Integer, String, Number, String[]> {}
static interface BySubjectFunction extends Function4<Lookup, Integer, Name, X509Object[]> {}
static interface ByIssuerSerialNumberFunction extends Function5<Lookup, Integer, Name, BigInteger, X509Object[]> {}
static interface ByFingerprintFunction extends Function4<Lookup, Integer, String, X509Object[]> {}
static interface ByAliasFunction extends Function4<Lookup, Integer, String, X509Object[]> {}
interface NewItemFunction extends Function1<Lookup> {}
interface FreeFunction extends Function1<Lookup> {}
interface InitFunction extends Function1<Lookup> {}
interface ShutdownFunction extends Function1<Lookup> {}
interface ControlFunction extends Function5<Lookup, Integer, String, Number, String[]> {}
interface BySubjectFunction extends Function4<Lookup, Integer, Name, X509Object[]> {}
interface ByIssuerSerialNumberFunction extends Function5<Lookup, Integer, Name, BigInteger, X509Object[]> {}
interface ByFingerprintFunction extends Function4<Lookup, Integer, String, X509Object[]> {}
interface ByAliasFunction extends Function4<Lookup, Integer, String, X509Object[]> {}

/**
* c: new_item
2 changes: 1 addition & 1 deletion src/main/java/org/jruby/ext/openssl/x509store/Store.java
Original file line number Diff line number Diff line change
@@ -113,7 +113,7 @@ public int call(StoreContext context) {
};
}

@Deprecated int cache = 1; // not-used
// @Deprecated int cache = 1; // not-used

private volatile X509Object[] objects = new X509Object[0];
private volatile Lookup[] certLookups = new Lookup[0];
33 changes: 30 additions & 3 deletions src/test/ruby/test_helper.rb
Original file line number Diff line number Diff line change
@@ -95,19 +95,46 @@ def assert_nothing_raised

def self.disable_security_restrictions!; end # do nothing on MRI

@@security_restrictions = nil

def self.disable_security_restrictions!
security_class = java.lang.Class.for_name('javax.crypto.JceSecurity')
restricted_field = security_class.get_declared_field('isRestricted')
jce_security_class = java.lang.Class.for_name('javax.crypto.JceSecurity')
restricted_field = jce_security_class.getDeclaredField('isRestricted')
restricted_field.accessible = true
restricted_field.set nil, false; return true
@@security_restrictions = restricted_field.getBoolean(nil)
return false unless @@security_restrictions

if java.lang.reflect.Modifier.isFinal restricted_field.modifiers
field_class = java.lang.Class.for_name('java.lang.reflect.Field')
# NOTE: this no longer works since 8u111 as it's using unsafe :
# Can not set static final boolean field javax.crypto.JceSecurity.isRestricted to (boolean)false
# sun.reflect.UnsafeFieldAccessorImpl.throwFinalFieldIllegalAccessException(sun/reflect/UnsafeFieldAccessorImpl.java:76)
# sun.reflect.UnsafeFieldAccessorImpl.throwFinalFieldIllegalAccessException(sun/reflect/UnsafeFieldAccessorImpl.java:84)
# sun.reflect.UnsafeQualifiedStaticBooleanFieldAccessorImpl.setBoolean(sun/reflect/UnsafeQualifiedStaticBooleanFieldAccessorImpl.java:93)
# java.lang.reflect.Field.setBoolean(java/lang/reflect/Field.java:801)
mods_field = field_class.getDeclaredField('modifiers')
mods_field.accessible = true

# restricted_field = jce_security_class.getDeclaredField('isRestricted')
# restricted_field.accessible = true
mods_field.setInt restricted_field, (~java.lang.reflect.Modifier::FINAL & restricted_field.modifiers)
end
restricted_field.setBoolean nil, false; return true
rescue Java::JavaLang::ClassNotFoundException => e
warn "failed to disable JCE security restrictions: #{e.inspect}"; nil
rescue Java::JavaLang::NoSuchFieldException => e # Java 6
warn "failed to disable JCE security restrictions: #{e.inspect}"; nil
rescue Java::JavaLang::IllegalAccessException => e
warn "failed to disable JCE security restrictions: #{e.inspect}"; nil
rescue NameError => e
warn "failed to disable JCE security restrictions: #{e.inspect}"; nil
end if defined? JRUBY_VERSION

def self.security_restrictions?
disable_security_restrictions! if @@security_restrictions.nil?
@@security_restrictions
end

def self.java6?; java_version.last.to_i == 6 end
def self.java7?; java_version.last.to_i == 7 end
def self.java8?; java_version.last.to_i == 8 end
6 changes: 4 additions & 2 deletions src/test/ruby/test_security.rb
Original file line number Diff line number Diff line change
@@ -129,7 +129,7 @@ def parse_hash_value(value)

##

Security.install_security_manager
Security.install_security_manager if ENV['INSTALL_SECURITY_MANAGER'].eql?('true')

##

@@ -167,4 +167,6 @@ def parse_hash_value(value)

Security.permissive!

puts "using permissive! security with installed manager: #{java.lang.System.getSecurityManager}"
if manager = java.lang.System.getSecurityManager
puts "using permissive! security with installed manager: #{manager}"
end
10 changes: 10 additions & 0 deletions src/test/ruby/x509/SETUP.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
$ /usr/lib/ssl/misc/CA.sh -newca

$ /usr/lib/ssl/misc/CA.sh -newreq

$ /usr/lib/ssl/misc/CA.sh -sign
Signed certificate is in newcert.pem

$ keytool -import -file demoCA/cacert.pem -alias demoCA -keystore javastore.ts -storepass javastore
Trust this certificate? [no]: y
Certificate was added to keystore
32 changes: 20 additions & 12 deletions src/test/ruby/x509/ca.crt
Original file line number Diff line number Diff line change
@@ -1,13 +1,21 @@
-----BEGIN CERTIFICATE-----
MIICATCCAWoCCQDbLK0ArLx6CTANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJB
VTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0
cyBQdHkgTHRkMB4XDTE1MDkxMDE2NDIyNVoXDTQzMDEyNjE2NDIyNVowRTELMAkG
A1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUxITAfBgNVBAoTGEludGVybmV0
IFdpZGdpdHMgUHR5IEx0ZDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAy3aH
N4Pci0FwOpfwxFXKQ1IlXWrfUIuWTJs4bPek3kKmM4eJOfMLnQ2f/i0nrI1JHJBn
GTMqiXti8lRhdy0HONVCVolc9rycdIj/batAwbCLxhg5lQMVOWzIJ3fW5R5DEcKK
87PN8Dpf4nn9b2zyszGroExqgVFcp5q2zDzD+b0CAwEAATANBgkqhkiG9w0BAQUF
AAOBgQCu+bibmVksOHFauNRRt2uDLzNw6rDJyL9X3UC6Wu2Dp8Sk44RxR+qNQMS/
CqgW9P7TWZdhsRUcnVRpaRMsr8CpTzHMmKaR0APON7v1C0HaV0CBYfzuNraAnlsq
e7KpTHJ+mwxwVvN1XDv/jGqiw83p1wA4jyxQe59Cmubv+jGksQ==
-----END CERTIFICATE-----
MIIDdzCCAl+gAwIBAgIJAPDDJ9RadMXtMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNV
BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMRwwGgYDVQQKDBNEZW1vIENlcnQg
QXV0aG9yaXR5MRAwDgYDVQQDDAdkZW1vLmNhMB4XDTE2MTEwNDEwMTk1M1oXDTE5
MTEwNDEwMTk1M1owUjELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUx
HDAaBgNVBAoME0RlbW8gQ2VydCBBdXRob3JpdHkxEDAOBgNVBAMMB2RlbW8uY2Ew
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDMRtKAJKnnzXa9quZTErpK
BZaUY9XGBm+Fzn0VLUEmHdLd2tU17IDdlOy35Eu24i30csCgxb/zurlf/KK+wPe+
ORw7k1IyheYpAMefO4rB7XfjjcD2HJjBCpiFuAy1V7p16W/yh63fNjIgkluzhYoY
8dXa5jsIUhW0ZTvA1Pkhnvb5Iuc9Ht4fe9kWvAZYJjv/FkbDL0OZpFsBeJ4ehm3D
W2OCj3YhVFATf6hv2S9ylmTmDLxbnmSp8eBUfwTWQflWxOcGWjjDmpH9jamZuFCc
HXviYqsiS//8q5Q7upgda5YRCgZrOF1hUYBvajKoiJELqJSLu1FBgvnpgRd5IiA3
AgMBAAGjUDBOMB0GA1UdDgQWBBS6XumQO1v2eaLTZQnFOWrnQ2v4PTAfBgNVHSME
GDAWgBS6XumQO1v2eaLTZQnFOWrnQ2v4PTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3
DQEBCwUAA4IBAQBgK6cDSR9nCrM0EoBPs54eEqV3YUU7b22SEMWhwjrHtaV8jL12
yfvbnw/7id88A/iHnQEEdUUdL0NqttZsQ920tMS6JpkAXwL8LM6vo3+WCY0ERuoq
efWYaCigMR3CKtOCMyBO38b32WXXmVbOx8VLAKjkU0rih/52k1dJ0glEzqZ7Omlt
Al5+hgAl6r9HMIi+GqIStxLH3QROQfY/Sa2aWNFyFyGJ4sIAWEsRsASUm8LcJo92
SP0sLkwkyCkkPB78Os56W5LhFNSi0KGdD5LL1C/eOTYLrvqYRcTaABoTzyLRTukz
jqUw967yke1++Kq+SwYwhfUxb8EZpfSRYSxT
-----END CERTIFICATE-----
78 changes: 78 additions & 0 deletions src/test/ruby/x509/demoCA/cacert.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
Certificate:
Data:
Version: 3 (0x2)
Serial Number: 17348753982565434861 (0xf0c327d45a74c5ed)
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=AU, ST=Some-State, O=Demo Cert Authority, CN=demo.ca
Validity
Not Before: Nov 4 10:19:53 2016 GMT
Not After : Nov 4 10:19:53 2019 GMT
Subject: C=AU, ST=Some-State, O=Demo Cert Authority, CN=demo.ca
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Modulus:
00:cc:46:d2:80:24:a9:e7:cd:76:bd:aa:e6:53:12:
ba:4a:05:96:94:63:d5:c6:06:6f:85:ce:7d:15:2d:
41:26:1d:d2:dd:da:d5:35:ec:80:dd:94:ec:b7:e4:
4b:b6:e2:2d:f4:72:c0:a0:c5:bf:f3:ba:b9:5f:fc:
a2:be:c0:f7:be:39:1c:3b:93:52:32:85:e6:29:00:
c7:9f:3b:8a:c1:ed:77:e3:8d:c0:f6:1c:98:c1:0a:
98:85:b8:0c:b5:57:ba:75:e9:6f:f2:87:ad:df:36:
32:20:92:5b:b3:85:8a:18:f1:d5:da:e6:3b:08:52:
15:b4:65:3b:c0:d4:f9:21:9e:f6:f9:22:e7:3d:1e:
de:1f:7b:d9:16:bc:06:58:26:3b:ff:16:46:c3:2f:
43:99:a4:5b:01:78:9e:1e:86:6d:c3:5b:63:82:8f:
76:21:54:50:13:7f:a8:6f:d9:2f:72:96:64:e6:0c:
bc:5b:9e:64:a9:f1:e0:54:7f:04:d6:41:f9:56:c4:
e7:06:5a:38:c3:9a:91:fd:8d:a9:99:b8:50:9c:1d:
7b:e2:62:ab:22:4b:ff:fc:ab:94:3b:ba:98:1d:6b:
96:11:0a:06:6b:38:5d:61:51:80:6f:6a:32:a8:88:
91:0b:a8:94:8b:bb:51:41:82:f9:e9:81:17:79:22:
20:37
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Key Identifier:
BA:5E:E9:90:3B:5B:F6:79:A2:D3:65:09:C5:39:6A:E7:43:6B:F8:3D
X509v3 Authority Key Identifier:
keyid:BA:5E:E9:90:3B:5B:F6:79:A2:D3:65:09:C5:39:6A:E7:43:6B:F8:3D

X509v3 Basic Constraints:
CA:TRUE
Signature Algorithm: sha256WithRSAEncryption
60:2b:a7:03:49:1f:67:0a:b3:34:12:80:4f:b3:9e:1e:12:a5:
77:61:45:3b:6f:6d:92:10:c5:a1:c2:3a:c7:b5:a5:7c:8c:bd:
76:c9:fb:db:9f:0f:fb:89:df:3c:03:f8:87:9d:01:04:75:45:
1d:2f:43:6a:b6:d6:6c:43:dd:b4:b4:c4:ba:26:99:00:5f:02:
fc:2c:ce:af:a3:7f:96:09:8d:04:46:ea:2a:79:f5:98:68:28:
a0:31:1d:c2:2a:d3:82:33:20:4e:df:c6:f7:d9:65:d7:99:56:
ce:c7:c5:4b:00:a8:e4:53:4a:e2:87:fe:76:93:57:49:d2:09:
44:ce:a6:7b:3a:69:6d:02:5e:7e:86:00:25:ea:bf:47:30:88:
be:1a:a2:12:b7:12:c7:dd:04:4e:41:f6:3f:49:ad:9a:58:d1:
72:17:21:89:e2:c2:00:58:4b:11:b0:04:94:9b:c2:dc:26:8f:
76:48:fd:2c:2e:4c:24:c8:29:24:3c:1e:fc:3a:ce:7a:5b:92:
e1:14:d4:a2:d0:a1:9d:0f:92:cb:d4:2f:de:39:36:0b:ae:fa:
98:45:c4:da:00:1a:13:cf:22:d1:4e:e9:33:8e:a5:30:f7:ae:
f2:91:ed:7e:f8:aa:be:4b:06:30:85:f5:31:6f:c1:19:a5:f4:
91:61:2c:53
-----BEGIN CERTIFICATE-----
MIIDdzCCAl+gAwIBAgIJAPDDJ9RadMXtMA0GCSqGSIb3DQEBCwUAMFIxCzAJBgNV
BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMRwwGgYDVQQKDBNEZW1vIENlcnQg
QXV0aG9yaXR5MRAwDgYDVQQDDAdkZW1vLmNhMB4XDTE2MTEwNDEwMTk1M1oXDTE5
MTEwNDEwMTk1M1owUjELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUx
HDAaBgNVBAoME0RlbW8gQ2VydCBBdXRob3JpdHkxEDAOBgNVBAMMB2RlbW8uY2Ew
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDMRtKAJKnnzXa9quZTErpK
BZaUY9XGBm+Fzn0VLUEmHdLd2tU17IDdlOy35Eu24i30csCgxb/zurlf/KK+wPe+
ORw7k1IyheYpAMefO4rB7XfjjcD2HJjBCpiFuAy1V7p16W/yh63fNjIgkluzhYoY
8dXa5jsIUhW0ZTvA1Pkhnvb5Iuc9Ht4fe9kWvAZYJjv/FkbDL0OZpFsBeJ4ehm3D
W2OCj3YhVFATf6hv2S9ylmTmDLxbnmSp8eBUfwTWQflWxOcGWjjDmpH9jamZuFCc
HXviYqsiS//8q5Q7upgda5YRCgZrOF1hUYBvajKoiJELqJSLu1FBgvnpgRd5IiA3
AgMBAAGjUDBOMB0GA1UdDgQWBBS6XumQO1v2eaLTZQnFOWrnQ2v4PTAfBgNVHSME
GDAWgBS6XumQO1v2eaLTZQnFOWrnQ2v4PTAMBgNVHRMEBTADAQH/MA0GCSqGSIb3
DQEBCwUAA4IBAQBgK6cDSR9nCrM0EoBPs54eEqV3YUU7b22SEMWhwjrHtaV8jL12
yfvbnw/7id88A/iHnQEEdUUdL0NqttZsQ920tMS6JpkAXwL8LM6vo3+WCY0ERuoq
efWYaCigMR3CKtOCMyBO38b32WXXmVbOx8VLAKjkU0rih/52k1dJ0glEzqZ7Omlt
Al5+hgAl6r9HMIi+GqIStxLH3QROQfY/Sa2aWNFyFyGJ4sIAWEsRsASUm8LcJo92
SP0sLkwkyCkkPB78Os56W5LhFNSi0KGdD5LL1C/eOTYLrvqYRcTaABoTzyLRTukz
jqUw967yke1++Kq+SwYwhfUxb8EZpfSRYSxT
-----END CERTIFICATE-----
16 changes: 16 additions & 0 deletions src/test/ruby/x509/demoCA/careq.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE REQUEST-----
MIIClzCCAX8CAQAwUjELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUx
HDAaBgNVBAoME0RlbW8gQ2VydCBBdXRob3JpdHkxEDAOBgNVBAMMB2RlbW8uY2Ew
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDMRtKAJKnnzXa9quZTErpK
BZaUY9XGBm+Fzn0VLUEmHdLd2tU17IDdlOy35Eu24i30csCgxb/zurlf/KK+wPe+
ORw7k1IyheYpAMefO4rB7XfjjcD2HJjBCpiFuAy1V7p16W/yh63fNjIgkluzhYoY
8dXa5jsIUhW0ZTvA1Pkhnvb5Iuc9Ht4fe9kWvAZYJjv/FkbDL0OZpFsBeJ4ehm3D
W2OCj3YhVFATf6hv2S9ylmTmDLxbnmSp8eBUfwTWQflWxOcGWjjDmpH9jamZuFCc
HXviYqsiS//8q5Q7upgda5YRCgZrOF1hUYBvajKoiJELqJSLu1FBgvnpgRd5IiA3
AgMBAAGgADANBgkqhkiG9w0BAQsFAAOCAQEAdjOJT6TBALLbsVs28b3k9zk+89QZ
CRI7zs3jBc1xbCTYp9qTWP6JHKzNAzs1Md2ZkC4J98MdmVwq/9TJLXFUjYRwlxKe
QIkLhHw2jPKZ6ELRB8E3sWHiWFZ/yNzKk4P6nAgNjWhzH0LK1yfb0JyI/mNLLGEf
s7Ao+sQuSie83cMx9qccDtNh5Rd+tUXS4eGNcN/W5BrqqPKkznEl1yyeeY3Cdm37
3db4TPSiVjoMK1UnufqU9fRJ5cpC9QT7GUk2x3yXD9vf913on9AO1Oo05Q9qHMX+
3ea18pDu8yeWbsovmvf2n9gI8I8+Gbv1QE/kzzXCtGSrqgdDVf4UqLsVuw==
-----END CERTIFICATE REQUEST-----
2 changes: 2 additions & 0 deletions src/test/ruby/x509/demoCA/index.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
V 191104101953Z F0C327D45A74C5ED unknown /C=AU/ST=Some-State/O=Demo Cert Authority/CN=demo.ca
V 171104103219Z F0C327D45A74C5EE unknown /C=AU/ST=Some-State/O=Internet Widgits Pty Ltd/CN=example.com/emailAddress=hi@example.com
1 change: 1 addition & 0 deletions src/test/ruby/x509/demoCA/index.txt.attr
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
unique_subject = yes
1 change: 1 addition & 0 deletions src/test/ruby/x509/demoCA/index.txt.attr.old
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
unique_subject = yes
1 change: 1 addition & 0 deletions src/test/ruby/x509/demoCA/index.txt.old
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
V 191104101953Z F0C327D45A74C5ED unknown /C=AU/ST=Some-State/O=Demo Cert Authority/CN=demo.ca
30 changes: 30 additions & 0 deletions src/test/ruby/x509/demoCA/private/cakey.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
-----BEGIN ENCRYPTED PRIVATE KEY-----
MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIKTGpQgsbXdwCAggA
MBQGCCqGSIb3DQMHBAgBzf9P1JYH3wSCBMjSuxf3yYg+PcmAKtAl6M4piLfzIEqO
79iKi7nqlZ+Z8BOyWeNRzd70IUru0XrPyD+wLH1CN2MXtDff3z5JVAG8CaDPS79+
6yrgMn8jgMHTT/bxZiTncFy4RxvP8+ug3UlUXyhnTUW+peyWMerzx8+mUH5FIhIN
KsCFnKEMFY58z/mdOIaX/zrBbnHTR94BSGBycor1UNLiT51CupTOzwUxyOiI6cm9
sRtvAenY5O6LK4yKlg9S8w7Fh+3k1dWn5VjSIwSuCJTsWkuidXL70K/yv2vY0/MI
dqsQCeoZli57+W8+OK+KgPifQPwovuEnCGb3EtNzIPMjyAL4D+yiBJb8KtHk/591
fJo6n9eFY++vm/TAVI0brY6/l4ltejWXMPTeh6tVnJ+HXv/R+ws85fZCGr0dJZcQ
A4gV4bsOrnxxSGkaw8NVfxy2Nr4xsoZItKAHPXfaXMbJZcv+rbpFWp2lNRyGLNP2
SWJ91eqdN/zYg3flS9gxIQSB+JBzf9Z3XSW7LRlqLy/aIEsPgCj0hMSjiRyGpeaL
J38ljBeK3+BPMT88k/OQYUlbIKkBfIHpjB5r9Gpm6J6RcGZx27DqZCKdkFo75V37
ECl2EzGOJUprIynjszJlfaFzhTckupxPxUxZamL/Uazjby8yWQ07MvHse0Oq1ejL
0eK5IjpbkNOk16YoR1MGNEm4XSrc8E8u9CkHcnrTl0nzkJNWo+p4IgfUuSIsYLxZ
bZm0czMNo+R4+Bo8yULiOSXDOjEKlKGW+SFxNKrtjRxzvOAG6VRPlBVO6Jemj3fI
z+19eFPdze6nvHVmwNO3kYMh2bRgVgCG+jQ4B4bVAFy+bd5scWmu/1kAxsEDy9lL
ahZCfkFuBBSK4EoeuEZDyOYtmlSwIkzm0wqdQuhZ+URuPbwfv8MRkHjaThDdrdrU
bO8J3j2AJYikYPYtN+Ts4GiP+r88qhjdh0FsuGQzOKaTSgNAySfv5zaRKo50YKoK
ie+6xniRJNWW81Qd5MwBLy/UZc7dzbtm3nu766ARTjJOkZfcOvD/vhb8UlZjBRNF
VyOljZA7PU2cmJ9akDi3spEckNJcWKWThQzJJ4TXHu8dMQEwT7SmZTBua8AjNYPV
whEVVbbDKTK1nZMsc/IQYcqauYCijO0gkQ2KC2RL9KR0CrTj87OCqrZTwDMmND5A
bqLEZR0rdjMhvZKo17gOOSpaFnPLcbNmyv+oMq/MxY6zlT43LVDveH/p/cKYkSxf
PT5pl0Jiqd46ZA86X0DIV8yPc44QMhB4dA24M148jKrEQxXQ7Zw2ZLR6cqo8u56R
weEY3+2H6kXWVjT8Bz0X2ZB39V/3k3ZiDQ2VUsaJvcveoOBv0k+sZdPaQW+mN52R
ZTQME5Q73mI3IUOukTlJg3G71IzEQLmdLaOuCPoqVHdmBzl3RKfUvmQ59Qe41bum
nGjWh2Rxl3MPkGYQ2b1mpgbjhGIHb4pkFXwHL0yeh1wC5hIYEc0WwbW3OuUdX0aM
qb2EHUWsA7CdQVWhQ0/aZYTsAALYOza01XhxDgrtMWWDPe52yzscpIBLpDJp/cm2
IxrPtQT1xlymrCw8ipEAxtC1QKtNe/9HAlnFFogExM/9/NgIqWf6cHZk6SQuYNkG
ldw=
-----END ENCRYPTED PRIVATE KEY-----
1 change: 1 addition & 0 deletions src/test/ruby/x509/demoCA/private/cakey.pem.passwd
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
cakey
1 change: 1 addition & 0 deletions src/test/ruby/x509/demoCA/serial
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
F0C327D45A74C5EF
1 change: 1 addition & 0 deletions src/test/ruby/x509/demoCA/serial.old
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
F0C327D45A74C5EE
Binary file added src/test/ruby/x509/javastore.ts
Binary file not shown.
Loading