Last active
November 23, 2016 17:58
-
-
Save cprice404/6957d9f34fa1cdcd764b9a34b3ecd98e to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def test_foo | |
now = Time.at(Time.now.to_i) | |
ca_exts = [ | |
["basicConstraints","CA:TRUE",true], | |
["keyUsage","cRLSign,keyCertSign",true], | |
] | |
ee_exts = [ | |
["keyUsage","keyEncipherment,digitalSignature",true], | |
] | |
ca1_cert = issue_cert(@ca1, @rsa2048, 1, now, now+3600, ca_exts, | |
nil, nil, OpenSSL::Digest::SHA1.new) | |
ca2_cert = issue_cert(@ca2, @rsa1024, 2, now, now+1800, ca_exts, | |
ca1_cert, @rsa2048, OpenSSL::Digest::SHA1.new) | |
ee1_cert = issue_cert(@ee1, @dsa256, 10, now, now+1800, ee_exts, | |
ca2_cert, @rsa1024, OpenSSL::Digest::SHA1.new) | |
puts "EE1CERT: #{ee1_cert.class}" | |
puts "CA2CERT: #{ca2_cert.class}" | |
puts "EE1CERT.to_java: #{ee1_cert.to_java.class}" | |
puts "CA2CERT.to_java: #{ca2_cert.to_java.class}" | |
puts "[EE1CERT].to_java: #{[ee1_cert].to_java(java.util.List)[0].to_java.class}" | |
puts "[CA2CERT].to_java: #{[ca2_cert].to_java(java.util.List)[0].to_java.class}" | |
store = OpenSSL::X509::Store.new | |
# store.verify(ee1_cert, [ca2_cert]) | |
store.verify(ee1_cert, [ee1_cert]) | |
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@JRubyMethod(rest = true) | |
public IRubyObject verify(final ThreadContext context, final IRubyObject[] args, final Block block) { | |
final IRubyObject mycert = args[0]; | |
final RubyArray mychain = (RubyArray) args[1]; | |
final Object nestedCert = mychain.get(0); | |
System.out.println("CERT CLASS: " + mycert.getClass()); | |
System.out.println("NESTED CERT CLASS: " + nestedCert.getClass()); | |
... | |
} | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
EE1CERT: OpenSSL::X509::Certificate | |
CA2CERT: OpenSSL::X509::Certificate | |
EE1CERT.to_java: Java::OrgBouncycastleJceProvider::X509CertificateObject | |
CA2CERT.to_java: Java::OrgBouncycastleJceProvider::X509CertificateObject | |
[EE1CERT].to_java: Java::OrgBouncycastleJceProvider::X509CertificateObject | |
[CA2CERT].to_java: Java::OrgBouncycastleJceProvider::X509CertificateObject | |
CERT CLASS: class org.jruby.ext.openssl.X509Cert | |
NESTED CERT CLASS: class org.bouncycastle.jce.provider.X509CertificateObject |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment