web interface: reorder input fields in certificate search page
[openxpki.git] / trunk / clients / perl / OpenXPKI-Client-HTML-Mason / htdocs / lib / filename_for_cert.mhtml
blob956686da91a272732a27a493ec7e8deea0887eca
1 <%args>
2     $identifier => undef
3     $chain      => 0
4     $extension  => ''
5 </%args>
6 <%init>
7   ## get certificate metadata for the filename
8   my $msg  = $context->{client}->send_receive_command_msg(
9         'get_cert',
10         {
11             IDENTIFIER => $identifier,
12         },
13   );
14   my $subject = $msg->{PARAMS}->{BODY}->{SUBJECT};
15   my $dn = OpenXPKI::DN->new($subject);
16   my %dn_hash = $dn->get_hashed_content();
17   my $filename = '';
18   if (exists $dn_hash{'CN'} && ref $dn_hash{'CN'} eq 'ARRAY') {
19     # by default, use the CN of the certificate for the filename
20     $filename = $dn_hash{'CN'}->[0];
21   }
22   else {
23     # no CN found, just use the identifier
24     $filename = $identifier;
25   }
26   $filename =~ s/ /_/g;
27   $filename =~ s/:/_/g;
28   $filename = URI::Escape::uri_escape_utf8($filename);
30   if ($chain) {
31     $filename .= '_chain';
32   }
34   $filename .= '.' . $extension;
36   return $filename;
37 </%init>
38 <%once>
39   use OpenXPKI::DN;
40   use URI::Escape;
41 </%once>