Ok, for all you Certificate Gurus, here is a bizarre one for you!
I am downloading a .pfx (PKCS12) file to a local file. I then use a System
call to run a Java application I have written to convert that PKCS12 file
into a pem (I essentially am just getting rid of the password protection).
Upon finishing the system call, I then attempt to open this file with the
OpenSSL::X509:: Certificate.new call. This produces the following error:
OpenSSL::X509::CertificateError: not enough data
Y:/pki/../lib/pkistdlib.rb:346:in `initialize'
Y:/pki/../lib/pkistdlib.rb:349:in `join'
Y:/pki/../lib/pkistdlib.rb:349:in `validateExportedCert'
Y:/pki/../lib/pkistdlib.rb:349:in `each'
Y:/pki/../lib/pkistdlib.rb:349:in `validateExportedCert'
Y:/pki/../lib/pkistdlib.rb:323:in `check_Export_WprivateKey'
Y:/pki/../lib/pkistdlib.rb:284:in `times'
Y:/pki/../lib/pkistdlib.rb:284:in `check_Export_WprivateKey'
Y:/pki/eval/pki_validation.rb:37:in `test_02_ExportKMO_validate'
Y:/pki/../lib/testcase_impl.rb:26:in `run'
The interesting part is this. I can stall the progress, with a gets
command, and use the exact same code run from a different file, and read the
exact same certificate file with no problem. Any ideas as to why this is
happening?
Thanks in advance!
Mbright
Code:
Ruby Ceritifcate Code:
require 'openssl'
file=File.open(out)
cert=OpenSSL::X509::Certificate.new(file.read) if file &&
FileTest::file?(file)
file.close()
Java Code is cleaning up with System.exit();