From 5227b4169f9e2f7ce309fa650ee3eec5f5aff5cf Mon Sep 17 00:00:00 2001 From: Shivam Mishra Date: Mon, 1 Sep 2025 13:27:03 +0530 Subject: [PATCH] feat: include fingerprint and certificate --- enterprise/app/models/account_saml_settings.rb | 12 ++++++++++++ .../v1/models/_account_saml_settings.json.jbuilder | 2 ++ 2 files changed, 14 insertions(+) diff --git a/enterprise/app/models/account_saml_settings.rb b/enterprise/app/models/account_saml_settings.rb index 6cc8314be..1bd7d296a 100644 --- a/enterprise/app/models/account_saml_settings.rb +++ b/enterprise/app/models/account_saml_settings.rb @@ -31,6 +31,18 @@ class AccountSamlSettings < ApplicationRecord sp_entity_id.presence || "#{installation_name}-#{account_id}".downcase end + def certificate_fingerprint + return nil if certificate.blank? + + begin + cert = OpenSSL::X509::Certificate.new(certificate) + fingerprint = OpenSSL::Digest::SHA1.new(cert.to_der).to_s + fingerprint.upcase.gsub(/(.{2})(?=.)/, '\1:') + rescue OpenSSL::X509::CertificateError + nil + end + end + private def installation_name diff --git a/enterprise/app/views/api/v1/models/_account_saml_settings.json.jbuilder b/enterprise/app/views/api/v1/models/_account_saml_settings.json.jbuilder index 8c053f706..82790dc5a 100644 --- a/enterprise/app/views/api/v1/models/_account_saml_settings.json.jbuilder +++ b/enterprise/app/views/api/v1/models/_account_saml_settings.json.jbuilder @@ -1,6 +1,8 @@ json.id account_saml_settings.id json.account_id account_saml_settings.account_id json.sso_url account_saml_settings.sso_url +json.certificate account_saml_settings.certificate +json.fingerprint account_saml_settings.certificate_fingerprint json.sp_entity_id account_saml_settings.sp_entity_id json.role_mappings account_saml_settings.role_mappings || {} json.created_at account_saml_settings.created_at