<% @header [("title", ["SSL certificate permission requests"])]; val admin = Group.inGroupName "server"; if $"new" <> "" then val cert = $"cert"; val domain = $"domain"; val subdomain = $"subdomain"; val msg = $"msg"; if cert = "" then %>

Please fill in a path to a certificate.

<% elseif not (ChooseDomain.yourDomain {user = Init.getUserName (), domain = domain}) then %>

You don't have permissions on domain <% Web.html domain %>.

<% else %>Are you sure you want to ask for permissions on an SSL certificate Yes, I want to request that.<% end elseif $"cmd" = "request" then val cert = $"cert"; val domain = $"domain"; val subdomain = $"subdomain"; val msg = $"msg"; if cert = "" then %>

Please fill in a path to a certificate.

<% elseif not (ChooseDomain.yourDomain {user = Init.getUserName (), domain = domain}) then %>

You don't have permissions on domain <% Web.html domain %>.

<% else val text = "/afs/hcoop.net/common/etc/scripts/ca-install " ^ Init.getUserName () ^ " " ^ (Sec.fulldomain (subdomain, domain)) ^ " " ^ cert val id = Cert.add (Init.getUserId (), text, msg); if not (Cert.notifyNew id) then %>

Error sending e-mail notification

<% end %>

Request added

<% end elseif $"cmd" = "open" then %>

Open requests

List all requests<% foreach (name, req) in Cert.listOpen () do %>


By: <% name %>
Time: <% #stamp req %> (<% Util.diffFromNow (#stamp req) %> ago)
Request: <% #data req %>
Reason: <% Web.html (#msg req) %>
<% if admin then %>
[Modify] [Delete]
<% end %> <% end elseif $"cmd" = "list" then %>

All requests

<% foreach (name, req) in Cert.list () do %>


By: <% name %>
Time: <% #stamp req %> (<% Util.diffFromNow (#stamp req) %> ago)
Request: <% #data req %>
Reason: <% Web.html (#msg req) %>
<% if admin then %>
[Modify] [Delete] <% end %> <% end elseif $"mod" <> "" then Group.requireGroupName "server"; val id = Web.stoi ($"mod"); val req = Cert.lookup id; val user = Init.lookupUser (#usr req) %>

Handle request

Requestor: <% #name user %>
Time: <% #stamp req %> (<% Util.diffFromNow (#stamp req) %> ago)
Status:
Request:
Message:
<% elseif $"save" <> "" then Group.requireGroupName "server"; val id = Web.stoi ($"save"); val req = Cert.lookup id; val oldStatus = #status req; val newStatus = Cert.statusFromInt (Web.stoi ($"status")); Cert.modify {req with data = $"req", msg = $"msg", status = newStatus}; if not (Cert.notifyMod (oldStatus, newStatus, Init.getUserName(), id)) then %>

Error sending e-mail notification

<% end %>

Request modified

Back to: open requests, all requests <% elseif $"del" <> "" then Group.requireGroupName "server"; val id = Web.stoi ($"del"); val req = Cert.lookup id; val user = Init.lookupUser (#usr req) %>

Are you sure you want to delete request by <% #name user %> for <% #data req %>?

Yes, I'm sure! <% elseif $"del2" <> "" then Group.requireGroupName "server"; val id = Web.stoi ($"del2"); Cert.delete id %>

Request deleted

Back to: open requests, all requests <% else %>

Request installation of an SSL certificate

Use this form to request Domtool permissions to use an SSL certificate. Give the location of your certificate/key (.pem) file within /afs/hcoop.net.

The instructions on our wiki for creating SSL certificates may be helpful.

If you need to install intermediate certificates, please include the intermediate certificate chain in the combined pem file after the private key.

Subdomain (optional):
Domain: <% @chooseDomain [] %>
OpenSSL certificate: " >
Additional comments:

Your certificates

Your intermediate certificates

<% end %> <% @footer[] %>