<%args> $identifier => undef

<% i18nGettext('I18N_OPENXPKI_CLIENT_HTML_MASON_API_CERT_FULL_INFO_TITLE') %>

<% i18nGettext('I18N_OPENXPKI_CLIENT_HTML_MASON_API_CERT_FULL_INFO_DESCRIPTION') %>

% if ($status eq 'REVOKED') {

<% i18nGettext('I18N_OPENXPKI_CLIENT_HTML_MASON_API_CERT_INFO_REVOKED_DESC') %>

% } % elsif ($status eq 'SUSPENDED') {

<% i18nGettext('I18N_OPENXPKI_CLIENT_HTML_MASON_API_CERT_INFO_SUSPENDED_DESC') %>

% } % elsif ($status eq 'CRL_ISSUANCE_PENDING') {

<% i18nGettext('I18N_OPENXPKI_CLIENT_HTML_MASON_API_CERT_INFO_CRL_ISSUANCE_PENDING_DESC') %>

% } % }
<% i18nGettext('I18N_OPENXPKI_CLIENT_HTML_MASON_TABLE_HEAD_NAME') %> <% i18nGettext('I18N_OPENXPKI_CLIENT_HTML_MASON_TABLE_HEAD_VALUE') %>
<% i18nGettext('I18N_OPENXPKI_CERT_SUBJECT') %> <% delete $params->{SUBJECT} %>
<% i18nGettext('I18N_OPENXPKI_CERT_SERIAL') %> <% delete $params->{SERIAL} %>
<% i18nGettext('I18N_OPENXPKI_CERT_FINGERPRINT') %> <% delete $params->{FINGERPRINT} %>
<% i18nGettext('I18N_OPENXPKI_CERT_NOTBEFORE') %> <% join " ", split "T", delete $params->{NOTBEFORE} %> UTC % if ($not_yet_valid) { (<% i18nGettext('I18N_OPENXPKI_CERT_NOT_YET_VALID') %>) % }
<% i18nGettext('I18N_OPENXPKI_CERT_NOTAFTER') %> <% join " ", split "T", delete $params->{NOTAFTER} %> UTC % if ($expired) { (<% i18nGettext('I18N_OPENXPKI_CERT_EXPIRED') %>)
<% i18nGettext('I18N_OPENXPKI_CERT_ISSUER') %> <& /lib/html/a.mhtml, target => 'ca_cert_info.html', label => delete $params->{ISSUER}, params => [["identifier", $issuer_identifier]] &>
<% i18nGettext('I18N_OPENXPKI_CSR_SERIAL') %> <% $csr_serial %>
<% i18nGettext('I18N_OPENXPKI_CERT_IS_CA') %> % if (delete $params->{IS_CA}) { <% i18nGettext('I18N_OPENXPKI_YES') %> % } else { <% i18nGettext('I18N_OPENXPKI_NO') %> % }
<% i18nGettext('I18N_OPENXPKI_CERT_KEY_ALGORITHM') %> % $params->{PUBKEY_ALGORITHM} =~ s/encryption//i; <% uc(delete $params->{PUBKEY_ALGORITHM}) %>
<% i18nGettext('I18N_OPENXPKI_CERT_KEY_SIZE') %> <% delete $params->{KEYSIZE} %>
<% i18nGettext('I18N_OPENXPKI_CERT_KEY_EXPONENT') %> <% delete $params->{EXPONENT} %>
<%init> ## first we need the issuer identifier and the CSR serial my $msg = $context->{client}->send_receive_command_msg ( "search_cert", {'IDENTIFIER' => $identifier}); my $issuer_identifier = $msg->{PARAMS}->[0]->{ISSUER_IDENTIFIER}; my $csr_serial = $msg->{PARAMS}->[0]->{CSR_SERIAL}; $csr_serial = i18nGettext('I18N_OPENXPKI_NOT_AVAILABLE') if (not defined $csr_serial or not length $csr_serial); ## second we download the certificate itself $msg = $context->{client}->send_receive_command_msg ( "get_cert", {'IDENTIFIER' => $identifier}); my $params = $msg->{PARAMS}->{BODY}; my $status = $msg->{PARAMS}->{STATUS}; my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = gmtime(time); $year += 1900; $mon++; my $now = sprintf("%04d-%02d-%02dT%02d:%02d%02d", $year, $mon, $mday, $hour, $min, $sec); my $not_yet_valid; my $expired; if ($now lt $params->{NOTBEFORE}) { $not_yet_valid = 1; } if ($now gt $params->{NOTAFTER}) { $expired = 1; }