mirror of
https://github.com/internetee/registry.git
synced 2025-07-23 19:20:37 +02:00
Check that certificate is not revoked
This commit is contained in:
parent
90f933a5a1
commit
0fa7fcc771
2 changed files with 5 additions and 2 deletions
|
@ -66,22 +66,24 @@ class ApiUser < User
|
||||||
|
|
||||||
def registrar_pki_ok?(crt, cn)
|
def registrar_pki_ok?(crt, cn)
|
||||||
return false if crt.blank? || cn.blank?
|
return false if crt.blank? || cn.blank?
|
||||||
|
|
||||||
crt = crt.split(' ').join("\n")
|
crt = crt.split(' ').join("\n")
|
||||||
crt.gsub!("-----BEGIN\nCERTIFICATE-----\n", "-----BEGIN CERTIFICATE-----\n")
|
crt.gsub!("-----BEGIN\nCERTIFICATE-----\n", "-----BEGIN CERTIFICATE-----\n")
|
||||||
crt.gsub!("\n-----END\nCERTIFICATE-----", "\n-----END CERTIFICATE-----")
|
crt.gsub!("\n-----END\nCERTIFICATE-----", "\n-----END CERTIFICATE-----")
|
||||||
cert = OpenSSL::X509::Certificate.new(crt)
|
cert = OpenSSL::X509::Certificate.new(crt)
|
||||||
md5 = OpenSSL::Digest::MD5.new(cert.to_der).to_s
|
md5 = OpenSSL::Digest::MD5.new(cert.to_der).to_s
|
||||||
certificates.registrar.exists?(md5: md5, common_name: cn)
|
certificates.registrar.exists?(md5: md5, common_name: cn, revoked: false)
|
||||||
end
|
end
|
||||||
|
|
||||||
def api_pki_ok?(crt, cn)
|
def api_pki_ok?(crt, cn)
|
||||||
return false if crt.blank? || cn.blank?
|
return false if crt.blank? || cn.blank?
|
||||||
|
|
||||||
crt = crt.split(' ').join("\n")
|
crt = crt.split(' ').join("\n")
|
||||||
crt.gsub!("-----BEGIN\nCERTIFICATE-----\n", "-----BEGIN CERTIFICATE-----\n")
|
crt.gsub!("-----BEGIN\nCERTIFICATE-----\n", "-----BEGIN CERTIFICATE-----\n")
|
||||||
crt.gsub!("\n-----END\nCERTIFICATE-----", "\n-----END CERTIFICATE-----")
|
crt.gsub!("\n-----END\nCERTIFICATE-----", "\n-----END CERTIFICATE-----")
|
||||||
cert = OpenSSL::X509::Certificate.new(crt)
|
cert = OpenSSL::X509::Certificate.new(crt)
|
||||||
md5 = OpenSSL::Digest::MD5.new(cert.to_der).to_s
|
md5 = OpenSSL::Digest::MD5.new(cert.to_der).to_s
|
||||||
certificates.api.exists?(md5: md5, common_name: cn)
|
certificates.api.exists?(md5: md5, common_name: cn, revoked: false)
|
||||||
end
|
end
|
||||||
|
|
||||||
def linked_users
|
def linked_users
|
||||||
|
|
|
@ -116,6 +116,7 @@ class Certificate < ApplicationRecord
|
||||||
-revoke #{crt_file.path} -key '#{ENV['ca_key_password']}' -batch")
|
-revoke #{crt_file.path} -key '#{ENV['ca_key_password']}' -batch")
|
||||||
|
|
||||||
if err.match(/Data Base Updated/) || err.match(/ERROR:Already revoked/)
|
if err.match(/Data Base Updated/) || err.match(/ERROR:Already revoked/)
|
||||||
|
self.revoked = true
|
||||||
save!
|
save!
|
||||||
@cached_status = REVOKED
|
@cached_status = REVOKED
|
||||||
else
|
else
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue