feat: Implement P12 certificate generation improvements

- Replace hardcoded P12 password with randomly generated one
- Add p12_password column to certificates table
- Update certificate serializer to include p12 password in response
- Remove deprecated certificate revocation logic
- Add tests for certificate revocation functionality
- Implement async P12 generation via Sidekiq job
- Add job uniqueness to prevent parallel certificate generation

Migration changes:
- Replace p12_password_digest with p12_password column
- Add safety measures for column removal
This commit is contained in:
oleghasjanov 2025-03-19 13:25:43 +02:00
parent 072f4440e2
commit ae96863b88
13 changed files with 157 additions and 64 deletions

View file

@ -0,0 +1,21 @@
class ChangeP12PasswordDigestToP12PasswordInCertificates < ActiveRecord::Migration[6.1]
def up
add_column :certificates, :p12_password, :string
Certificate.find_each do |cert|
cert.update_column(:p12_password, cert.p12_password_digest)
end
safety_assured { remove_column :certificates, :p12_password_digest }
end
def down
add_column :certificates, :p12_password_digest, :string
Certificate.find_each do |cert|
cert.update_column(:p12_password_digest, cert.p12_password)
end
safety_assured { remove_column :certificates, :p12_password }
end
end