1234567891011121314151617181920212223242526272829303132 |
- # Copyright (C) 2012-2024 Zammad Foundation, https://zammad-foundation.org/
- class SMIMEMetaInformationData < ActiveRecord::Migration[6.1]
- def change
- # return if it's a new setup
- return if !Setting.exists?(name: 'system_init_done')
- SMIMECertificate.in_batches.each_record do |record|
- begin
- cert = Certificate::X509::SMIME.new(record.pem)
- data = {
- email_addresses: cert.email_addresses,
- issuer_hash: cert.issuer.hash.to_s(16),
- subject_hash: cert.subject.hash.to_s(16)
- }
- rescue
- Rails.logger.warn <<~TEXT.squish
- SMIME: The migration of the certificate with fingerprint #{record.fingerprint} failed.
- The certificate might not be usable anymore.
- TEXT
- data = {
- email_addresses: [],
- issuer_hash: '',
- subject_hash: ''
- }
- end
- record.update!(data)
- end
- end
- end
|