Guest User

Untitled

a guest
Dec 14th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.62 KB | None | 0 0
  1. def self.create_csr(key, cn, dc)
  2.  
  3. raise Stdlib::Error.new('No suitable key was provided') if key.nil? or ! key.is_a?(OpenSSL::PKey::RSA)
  4. raise Stdlib::Error.new('No CN was supplied to the certificate') if cn.nil? or ! cn.is_a?(String)
  5. raise Stdlib::Error.new('No DC array was supplied to the certificate') if dc.nil? or ! dc.is_a?(String)
  6.  
  7. dclist = String.new
  8. dc.each do |d|
  9. dclist = dclist + "/DC=#{d}"
  10. end
  11.  
  12. name = OpenSSL::X509::Name.parse "CN=#{cn}#{dclist}"
  13.  
  14. csr = OpenSSL::X509::Request.new
  15. csr.version = 0
  16. csr.subject = name
  17. csr.public_key = key.public_key
  18. csr.sign key, OpenSSL::Digest::SHA1.new
  19. end
Add Comment
Please, Sign In to add comment