diff --git a/certidude/static/index.html b/certidude/static/index.html
index 28ea348..3f18d27 100644
--- a/certidude/static/index.html
+++ b/certidude/static/index.html
@@ -6,7 +6,7 @@
Certidude server
-
+
diff --git a/certidude/static/js/templates.js b/certidude/static/js/templates.js
deleted file mode 100644
index d0901db..0000000
--- a/certidude/static/js/templates.js
+++ /dev/null
@@ -1,1303 +0,0 @@
-(function() {(window.nunjucksPrecompiled = window.nunjucksPrecompiled || {})["img/iconmonstr-barcode-4.svg"] = (function() {
-function root(env, context, frame, runtime, cb) {
-var lineno = null;
-var colno = null;
-var output = "";
-try {
-var parentTemplate = null;
-output += " ";
-if(parentTemplate) {
-parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);
-} else {
-cb(null, output);
-}
-;
-} catch (e) {
- cb(runtime.handleError(e, lineno, colno));
-}
-}
-return {
-root: root
-};
-
-})();
-})();
-(function() {(window.nunjucksPrecompiled = window.nunjucksPrecompiled || {})["img/iconmonstr-calendar-6.svg"] = (function() {
-function root(env, context, frame, runtime, cb) {
-var lineno = null;
-var colno = null;
-var output = "";
-try {
-var parentTemplate = null;
-output += " ";
-if(parentTemplate) {
-parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);
-} else {
-cb(null, output);
-}
-;
-} catch (e) {
- cb(runtime.handleError(e, lineno, colno));
-}
-}
-return {
-root: root
-};
-
-})();
-})();
-(function() {(window.nunjucksPrecompiled = window.nunjucksPrecompiled || {})["img/iconmonstr-certificate-15.svg"] = (function() {
-function root(env, context, frame, runtime, cb) {
-var lineno = null;
-var colno = null;
-var output = "";
-try {
-var parentTemplate = null;
-output += " ";
-if(parentTemplate) {
-parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);
-} else {
-cb(null, output);
-}
-;
-} catch (e) {
- cb(runtime.handleError(e, lineno, colno));
-}
-}
-return {
-root: root
-};
-
-})();
-})();
-(function() {(window.nunjucksPrecompiled = window.nunjucksPrecompiled || {})["img/iconmonstr-compass-7.svg"] = (function() {
-function root(env, context, frame, runtime, cb) {
-var lineno = null;
-var colno = null;
-var output = "";
-try {
-var parentTemplate = null;
-output += " ";
-if(parentTemplate) {
-parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);
-} else {
-cb(null, output);
-}
-;
-} catch (e) {
- cb(runtime.handleError(e, lineno, colno));
-}
-}
-return {
-root: root
-};
-
-})();
-})();
-(function() {(window.nunjucksPrecompiled = window.nunjucksPrecompiled || {})["img/iconmonstr-download-12.svg"] = (function() {
-function root(env, context, frame, runtime, cb) {
-var lineno = null;
-var colno = null;
-var output = "";
-try {
-var parentTemplate = null;
-output += " ";
-if(parentTemplate) {
-parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);
-} else {
-cb(null, output);
-}
-;
-} catch (e) {
- cb(runtime.handleError(e, lineno, colno));
-}
-}
-return {
-root: root
-};
-
-})();
-})();
-(function() {(window.nunjucksPrecompiled = window.nunjucksPrecompiled || {})["img/iconmonstr-email-2.svg"] = (function() {
-function root(env, context, frame, runtime, cb) {
-var lineno = null;
-var colno = null;
-var output = "";
-try {
-var parentTemplate = null;
-output += " ";
-if(parentTemplate) {
-parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);
-} else {
-cb(null, output);
-}
-;
-} catch (e) {
- cb(runtime.handleError(e, lineno, colno));
-}
-}
-return {
-root: root
-};
-
-})();
-})();
-(function() {(window.nunjucksPrecompiled = window.nunjucksPrecompiled || {})["img/iconmonstr-error-4.svg"] = (function() {
-function root(env, context, frame, runtime, cb) {
-var lineno = null;
-var colno = null;
-var output = "";
-try {
-var parentTemplate = null;
-output += " ";
-if(parentTemplate) {
-parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);
-} else {
-cb(null, output);
-}
-;
-} catch (e) {
- cb(runtime.handleError(e, lineno, colno));
-}
-}
-return {
-root: root
-};
-
-})();
-})();
-(function() {(window.nunjucksPrecompiled = window.nunjucksPrecompiled || {})["img/iconmonstr-flag-3.svg"] = (function() {
-function root(env, context, frame, runtime, cb) {
-var lineno = null;
-var colno = null;
-var output = "";
-try {
-var parentTemplate = null;
-output += " ";
-if(parentTemplate) {
-parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);
-} else {
-cb(null, output);
-}
-;
-} catch (e) {
- cb(runtime.handleError(e, lineno, colno));
-}
-}
-return {
-root: root
-};
-
-})();
-})();
-(function() {(window.nunjucksPrecompiled = window.nunjucksPrecompiled || {})["img/iconmonstr-home-7.svg"] = (function() {
-function root(env, context, frame, runtime, cb) {
-var lineno = null;
-var colno = null;
-var output = "";
-try {
-var parentTemplate = null;
-output += " ";
-if(parentTemplate) {
-parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);
-} else {
-cb(null, output);
-}
-;
-} catch (e) {
- cb(runtime.handleError(e, lineno, colno));
-}
-}
-return {
-root: root
-};
-
-})();
-})();
-(function() {(window.nunjucksPrecompiled = window.nunjucksPrecompiled || {})["img/iconmonstr-info-8.svg"] = (function() {
-function root(env, context, frame, runtime, cb) {
-var lineno = null;
-var colno = null;
-var output = "";
-try {
-var parentTemplate = null;
-output += " ";
-if(parentTemplate) {
-parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);
-} else {
-cb(null, output);
-}
-;
-} catch (e) {
- cb(runtime.handleError(e, lineno, colno));
-}
-}
-return {
-root: root
-};
-
-})();
-})();
-(function() {(window.nunjucksPrecompiled = window.nunjucksPrecompiled || {})["img/iconmonstr-key-3.svg"] = (function() {
-function root(env, context, frame, runtime, cb) {
-var lineno = null;
-var colno = null;
-var output = "";
-try {
-var parentTemplate = null;
-output += " ";
-if(parentTemplate) {
-parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);
-} else {
-cb(null, output);
-}
-;
-} catch (e) {
- cb(runtime.handleError(e, lineno, colno));
-}
-}
-return {
-root: root
-};
-
-})();
-})();
-(function() {(window.nunjucksPrecompiled = window.nunjucksPrecompiled || {})["img/iconmonstr-magnifier-4.svg"] = (function() {
-function root(env, context, frame, runtime, cb) {
-var lineno = null;
-var colno = null;
-var output = "";
-try {
-var parentTemplate = null;
-output += " ";
-if(parentTemplate) {
-parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);
-} else {
-cb(null, output);
-}
-;
-} catch (e) {
- cb(runtime.handleError(e, lineno, colno));
-}
-}
-return {
-root: root
-};
-
-})();
-})();
-(function() {(window.nunjucksPrecompiled = window.nunjucksPrecompiled || {})["img/iconmonstr-mobile-phone-7.svg"] = (function() {
-function root(env, context, frame, runtime, cb) {
-var lineno = null;
-var colno = null;
-var output = "";
-try {
-var parentTemplate = null;
-output += " ";
-if(parentTemplate) {
-parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);
-} else {
-cb(null, output);
-}
-;
-} catch (e) {
- cb(runtime.handleError(e, lineno, colno));
-}
-}
-return {
-root: root
-};
-
-})();
-})();
-(function() {(window.nunjucksPrecompiled = window.nunjucksPrecompiled || {})["img/iconmonstr-pen-14.svg"] = (function() {
-function root(env, context, frame, runtime, cb) {
-var lineno = null;
-var colno = null;
-var output = "";
-try {
-var parentTemplate = null;
-output += " ";
-if(parentTemplate) {
-parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);
-} else {
-cb(null, output);
-}
-;
-} catch (e) {
- cb(runtime.handleError(e, lineno, colno));
-}
-}
-return {
-root: root
-};
-
-})();
-})();
-(function() {(window.nunjucksPrecompiled = window.nunjucksPrecompiled || {})["img/iconmonstr-tag-3.svg"] = (function() {
-function root(env, context, frame, runtime, cb) {
-var lineno = null;
-var colno = null;
-var output = "";
-try {
-var parentTemplate = null;
-output += " ";
-if(parentTemplate) {
-parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);
-} else {
-cb(null, output);
-}
-;
-} catch (e) {
- cb(runtime.handleError(e, lineno, colno));
-}
-}
-return {
-root: root
-};
-
-})();
-})();
-(function() {(window.nunjucksPrecompiled = window.nunjucksPrecompiled || {})["img/iconmonstr-user-5.svg"] = (function() {
-function root(env, context, frame, runtime, cb) {
-var lineno = null;
-var colno = null;
-var output = "";
-try {
-var parentTemplate = null;
-output += " ";
-if(parentTemplate) {
-parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);
-} else {
-cb(null, output);
-}
-;
-} catch (e) {
- cb(runtime.handleError(e, lineno, colno));
-}
-}
-return {
-root: root
-};
-
-})();
-})();
-(function() {(window.nunjucksPrecompiled = window.nunjucksPrecompiled || {})["img/iconmonstr-warning-8.svg"] = (function() {
-function root(env, context, frame, runtime, cb) {
-var lineno = null;
-var colno = null;
-var output = "";
-try {
-var parentTemplate = null;
-output += " ";
-if(parentTemplate) {
-parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);
-} else {
-cb(null, output);
-}
-;
-} catch (e) {
- cb(runtime.handleError(e, lineno, colno));
-}
-}
-return {
-root: root
-};
-
-})();
-})();
-(function() {(window.nunjucksPrecompiled = window.nunjucksPrecompiled || {})["img/iconmonstr-x-mark-8.svg"] = (function() {
-function root(env, context, frame, runtime, cb) {
-var lineno = null;
-var colno = null;
-var output = "";
-try {
-var parentTemplate = null;
-output += " ";
-if(parentTemplate) {
-parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);
-} else {
-cb(null, output);
-}
-;
-} catch (e) {
- cb(runtime.handleError(e, lineno, colno));
-}
-}
-return {
-root: root
-};
-
-})();
-})();
-(function() {(window.nunjucksPrecompiled = window.nunjucksPrecompiled || {})["index.html"] = (function() {
-function root(env, context, frame, runtime, cb) {
-var lineno = null;
-var colno = null;
-var output = "";
-try {
-var parentTemplate = null;
-output += "\n\n\n \n \n Certidude server \n \n \n \n \n \n \n\n\n \n \n Loading certificate authority...\n
\n\n\n\n\n\n\n";
-if(parentTemplate) {
-parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);
-} else {
-cb(null, output);
-}
-;
-} catch (e) {
- cb(runtime.handleError(e, lineno, colno));
-}
-}
-return {
-root: root
-};
-
-})();
-})();
-(function() {(window.nunjucksPrecompiled = window.nunjucksPrecompiled || {})["views/authority.html"] = (function() {
-function root(env, context, frame, runtime, cb) {
-var lineno = null;
-var colno = null;
-var output = "";
-try {
-var parentTemplate = null;
-output += "\n\n";
-output += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "session")),"user")),"gn"), env.opts.autoescape);
-output += " ";
-output += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "session")),"user")),"sn"), env.opts.autoescape);
-output += " (";
-output += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "session")),"user")),"name"), env.opts.autoescape);
-output += ") settings \n\nMails will be sent to: ";
-output += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "session")),"user")),"mail"), env.opts.autoescape);
-output += "
\n\n";
-if(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "session")),"authority")),"user_certificate_enrollment")) {
-output += "\nYou can click here to generate bundle\nfor current user account.
\n";
-;
-}
-output += "\n\n";
-if(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "session")),"authority")) {
-output += "\n\nAuthority certificate \n\nSeveral things such as CRL location and e-mails are hardcoded into\nthe certificate and\nas such require complete reset of X509 infrastructure if some of them needs to be changed:
\n\nMails will appear from: ";
-output += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "session")),"authority")),"certificate")),"email_address"), env.opts.autoescape);
-output += "
\n\n\nAuthority settings \n\nThese can be reconfigured via /etc/certidude/server.conf on the server.
\n\nUser certificate enrollment:\n";
-if(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "session")),"authority")),"user_certificate_enrollment")) {
-output += "\n ";
-if(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "session")),"authority")),"user_mutliple_certificates")) {
-output += "\n multiple\n ";
-;
-}
-else {
-output += "\n single\n ";
-;
-}
-output += "\nallowed\n";
-;
-}
-else {
-output += "\nforbidden\n";
-;
-}
-output += "\n
\n\nOutgoing mail server:\n";
-if(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "session")),"authority")),"outbox")) {
-output += "\n ";
-output += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "session")),"authority")),"outbox"), env.opts.autoescape);
-output += "\n";
-;
-}
-else {
-output += "\n E-mail disabled\n";
-;
-}
-output += "
\n\nWeb signed certificate attributes:
\n\n\n Certificate lifetime: ";
-output += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "session")),"authority")),"signature")),"certificate_lifetime"), env.opts.autoescape);
-output += " days \n Revocation list lifetime: ";
-output += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "session")),"authority")),"signature")),"revocation_list_lifetime"), env.opts.autoescape);
-output += " seconds \n \n\nAuthenticated users allowed from:\n\n";
-if(runtime.inOperator("0.0.0.0/0",runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "session")),"authority")),"user_subnets"))) {
-output += "\n anywhere\n
\n";
-;
-}
-else {
-output += "\n \n \n ";
-frame = frame.push();
-var t_3 = runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "session")),"authority")),"user_subnets");
-if(t_3) {var t_2 = t_3.length;
-for(var t_1=0; t_1 < t_3.length; t_1++) {
-var t_4 = t_3[t_1];
-frame.set("i", t_4);
-frame.set("loop.index", t_1 + 1);
-frame.set("loop.index0", t_1);
-frame.set("loop.revindex", t_2 - t_1);
-frame.set("loop.revindex0", t_2 - t_1 - 1);
-frame.set("loop.first", t_1 === 0);
-frame.set("loop.last", t_1 === t_2 - 1);
-frame.set("loop.length", t_2);
-output += "\n ";
-output += runtime.suppressValue(t_4, env.opts.autoescape);
-output += " \n ";
-;
-}
-}
-frame = frame.pop();
-output += "\n \n";
-;
-}
-output += "\n\n\nRequest submission is allowed from:\n\n";
-if(runtime.inOperator("0.0.0.0/0",runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "session")),"authority")),"request_subnets"))) {
-output += "\n anywhere\n
\n";
-;
-}
-else {
-output += "\n \n \n ";
-frame = frame.push();
-var t_7 = runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "session")),"authority")),"request_subnets");
-if(t_7) {var t_6 = t_7.length;
-for(var t_5=0; t_5 < t_7.length; t_5++) {
-var t_8 = t_7[t_5];
-frame.set("subnet", t_8);
-frame.set("loop.index", t_5 + 1);
-frame.set("loop.index0", t_5);
-frame.set("loop.revindex", t_6 - t_5);
-frame.set("loop.revindex0", t_6 - t_5 - 1);
-frame.set("loop.first", t_5 === 0);
-frame.set("loop.last", t_5 === t_6 - 1);
-frame.set("loop.length", t_6);
-output += "\n ";
-output += runtime.suppressValue(t_8, env.opts.autoescape);
-output += " \n ";
-;
-}
-}
-frame = frame.pop();
-output += "\n \n";
-;
-}
-output += "\n\nAutosign is allowed from:\n";
-if(runtime.inOperator("0.0.0.0/0",runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "session")),"authority")),"autosign_subnets"))) {
-output += "\n anywhere\n
\n";
-;
-}
-else {
-output += "\n \n \n ";
-frame = frame.push();
-var t_11 = runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "session")),"authority")),"autosign_subnets");
-if(t_11) {var t_10 = t_11.length;
-for(var t_9=0; t_9 < t_11.length; t_9++) {
-var t_12 = t_11[t_9];
-frame.set("subnet", t_12);
-frame.set("loop.index", t_9 + 1);
-frame.set("loop.index0", t_9);
-frame.set("loop.revindex", t_10 - t_9);
-frame.set("loop.revindex0", t_10 - t_9 - 1);
-frame.set("loop.first", t_9 === 0);
-frame.set("loop.last", t_9 === t_10 - 1);
-frame.set("loop.length", t_10);
-output += "\n ";
-output += runtime.suppressValue(t_12, env.opts.autoescape);
-output += " \n ";
-;
-}
-}
-frame = frame.pop();
-output += "\n \n";
-;
-}
-output += "\n\nAuthority administration is allowed from:\n";
-if(runtime.inOperator("0.0.0.0/0",runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "session")),"authority")),"admin_subnets"))) {
-output += "\n anywhere\n
\n";
-;
-}
-else {
-output += "\n \n ";
-frame = frame.push();
-var t_15 = runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "session")),"authority")),"admin_subnets");
-if(t_15) {var t_14 = t_15.length;
-for(var t_13=0; t_13 < t_15.length; t_13++) {
-var t_16 = t_15[t_13];
-frame.set("subnet", t_16);
-frame.set("loop.index", t_13 + 1);
-frame.set("loop.index0", t_13);
-frame.set("loop.revindex", t_14 - t_13);
-frame.set("loop.revindex0", t_14 - t_13 - 1);
-frame.set("loop.first", t_13 === 0);
-frame.set("loop.last", t_13 === t_14 - 1);
-frame.set("loop.length", t_14);
-output += "\n ";
-output += runtime.suppressValue(t_16, env.opts.autoescape);
-output += " \n ";
-;
-}
-}
-frame = frame.pop();
-output += "\n \n";
-;
-}
-output += "\n\nAuthority administration allowed for:
\n\n\n";
-frame = frame.push();
-var t_19 = runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "session")),"authority")),"admin_users");
-if(t_19) {var t_18 = t_19.length;
-for(var t_17=0; t_17 < t_19.length; t_17++) {
-var t_20 = t_19[t_17];
-frame.set("user", t_20);
-frame.set("loop.index", t_17 + 1);
-frame.set("loop.index0", t_17);
-frame.set("loop.revindex", t_18 - t_17);
-frame.set("loop.revindex0", t_18 - t_17 - 1);
-frame.set("loop.first", t_17 === 0);
-frame.set("loop.last", t_17 === t_18 - 1);
-frame.set("loop.length", t_18);
-output += "\n ";
-output += runtime.suppressValue(runtime.memberLookup((t_20),"given_name"), env.opts.autoescape);
-output += " ";
-output += runtime.suppressValue(runtime.memberLookup((t_20),"surname"), env.opts.autoescape);
-output += " \n";
-;
-}
-}
-frame = frame.pop();
-output += "\n \n \n\n";
-;
-}
-else {
-output += "\nHere you can renew your certificates
\n\n";
-;
-}
-output += "\n\n";
-var t_21;
-t_21 = runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "session")),"certificate")),"identity");
-frame.set("s", t_21, true);
-if(frame.topLevel) {
-context.setVariable("s", t_21);
-}
-if(frame.topLevel) {
-context.addExport("s", t_21);
-}
-output += "\n\n\n";
-if(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "session")),"authority")) {
-output += "\n\n Pending requests \n\n Submit a certificate signing request with Certidude:
\n certidude setup client ";
-output += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "session")),"common_name"), env.opts.autoescape);
-output += " \n\n \n \n\n\n Signed certificates \n \n \n ";
-frame = frame.push();
-var t_32 = env.getFilter("reverse").call(context, env.getFilter("sort").call(context, runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "session")),"authority")),"signed")));
-if(t_32) {var t_31 = t_32.length;
-for(var t_30=0; t_30 < t_32.length; t_30++) {
-var t_33 = t_32[t_30];
-frame.set("certificate", t_33);
-frame.set("loop.index", t_30 + 1);
-frame.set("loop.index0", t_30);
-frame.set("loop.revindex", t_31 - t_30);
-frame.set("loop.revindex0", t_31 - t_30 - 1);
-frame.set("loop.first", t_30 === 0);
-frame.set("loop.last", t_30 === t_31 - 1);
-frame.set("loop.length", t_31);
-output += "\n ";
-env.getTemplate("views/signed.html", false, "views/authority.html", null, function(t_36,t_34) {
-if(t_36) { cb(t_36); return; }
-t_34.render(context.getVariables(), frame, function(t_37,t_35) {
-if(t_37) { cb(t_37); return; }
-output += t_35
-output += "\n\t ";
-})});
-}
-}
-frame = frame.pop();
-output += "\n \n \n\n\n\n\n Revoked certificates \n To fetch certificate revocation list :
\n curl ";
-output += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "window")),"location")),"href"), env.opts.autoescape);
-output += "api/revoked/ | openssl crl -inform der -text -noout \n \n \n ";
-frame = frame.push();
-var t_40 = runtime.memberLookup((runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "session")),"authority")),"revoked");
-if(t_40) {var t_39 = t_40.length;
-for(var t_38=0; t_38 < t_40.length; t_38++) {
-var t_41 = t_40[t_38];
-frame.set("j", t_41);
-frame.set("loop.index", t_38 + 1);
-frame.set("loop.index0", t_38);
-frame.set("loop.revindex", t_39 - t_38);
-frame.set("loop.revindex0", t_39 - t_38 - 1);
-frame.set("loop.first", t_38 === 0);
-frame.set("loop.last", t_38 === t_39 - 1);
-frame.set("loop.length", t_39);
-output += "\n \n ";
-output += runtime.suppressValue(runtime.memberLookup((t_41),"changed"), env.opts.autoescape);
-output += "\n ";
-output += runtime.suppressValue(runtime.memberLookup((t_41),"serial_number"), env.opts.autoescape);
-output += " ";
-output += runtime.suppressValue(runtime.memberLookup((t_41),"identity"), env.opts.autoescape);
-output += " \n \n ";
-;
-}
-}
-if (!t_39) {
-output += "\n Great job! No certificate signing requests to sign. \n\t ";
-}
-frame = frame.pop();
-output += "\n \n \n\n\n\n";
-;
-}
-output += "\n";
-if(parentTemplate) {
-parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);
-} else {
-cb(null, output);
-}
-;
-} catch (e) {
- cb(runtime.handleError(e, lineno, colno));
-}
-}
-return {
-root: root
-};
-
-})();
-})();
-(function() {(window.nunjucksPrecompiled = window.nunjucksPrecompiled || {})["views/configuration.html"] = (function() {
-function root(env, context, frame, runtime, cb) {
-var lineno = null;
-var colno = null;
-var output = "";
-try {
-var parentTemplate = null;
-output += "\nCreate a rule \n\n\n \n\n \n\n Filter \n \n attaches attribute\n \n ";
-env.getTemplate("views/tagtypes.html", false, "views/configuration.html", null, function(t_3,t_1) {
-if(t_3) { cb(t_3); return; }
-t_1.render(context.getVariables(), frame, function(t_4,t_2) {
-if(t_4) { cb(t_4); return; }
-output += t_2
-output += "\n \n something \n Add rule \n
\n\n";
-frame = frame.push();
-var t_7 = env.getFilter("groupby").call(context, runtime.contextOrFrameLookup(context, frame, "configuration"),"tag_id");
-if(t_7) {var t_5;
-if(runtime.isArray(t_7)) {
-var t_6 = t_7.length;
-for(t_5=0; t_5 < t_7.length; t_5++) {
-var t_8 = t_7[t_5][0]
-frame.set("grouper", t_7[t_5][0]);
-var t_9 = t_7[t_5][1]
-frame.set("items", t_7[t_5][1]);
-frame.set("loop.index", t_5 + 1);
-frame.set("loop.index0", t_5);
-frame.set("loop.revindex", t_6 - t_5);
-frame.set("loop.revindex0", t_6 - t_5 - 1);
-frame.set("loop.first", t_5 === 0);
-frame.set("loop.last", t_5 === t_6 - 1);
-frame.set("loop.length", t_6);
-output += "\n\nFilter ";
-output += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((t_9),0)),"match_key"), env.opts.autoescape);
-output += " is ";
-output += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((t_9),0)),"match_value"), env.opts.autoescape);
-output += " \n\n\n";
-frame = frame.push();
-var t_12 = t_9;
-if(t_12) {var t_11 = t_12.length;
-for(var t_10=0; t_10 < t_12.length; t_10++) {
-var t_13 = t_12[t_10];
-frame.set("item", t_13);
-frame.set("loop.index", t_10 + 1);
-frame.set("loop.index0", t_10);
-frame.set("loop.revindex", t_11 - t_10);
-frame.set("loop.revindex0", t_11 - t_10 - 1);
-frame.set("loop.first", t_10 === 0);
-frame.set("loop.last", t_10 === t_11 - 1);
-frame.set("loop.length", t_11);
-output += "\n Attach ";
-output += runtime.suppressValue(runtime.memberLookup((t_13),"key"), env.opts.autoescape);
-output += " attribute ";
-output += runtime.suppressValue(runtime.memberLookup((t_13),"value"), env.opts.autoescape);
-output += " \n";
-;
-}
-}
-frame = frame.pop();
-output += "\n \n\n";
-;
-}
-} else {
-t_5 = -1;
-var t_6 = runtime.keys(t_7).length;
-for(var t_14 in t_7) {
-t_5++;
-var t_15 = t_7[t_14];
-frame.set("grouper", t_14);
-frame.set("items", t_15);
-frame.set("loop.index", t_5 + 1);
-frame.set("loop.index0", t_5);
-frame.set("loop.revindex", t_6 - t_5);
-frame.set("loop.revindex0", t_6 - t_5 - 1);
-frame.set("loop.first", t_5 === 0);
-frame.set("loop.last", t_5 === t_6 - 1);
-frame.set("loop.length", t_6);
-output += "\n\nFilter ";
-output += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((t_15),0)),"match_key"), env.opts.autoescape);
-output += " is ";
-output += runtime.suppressValue(runtime.memberLookup((runtime.memberLookup((t_15),0)),"match_value"), env.opts.autoescape);
-output += " \n\n\n";
-frame = frame.push();
-var t_18 = t_15;
-if(t_18) {var t_17 = t_18.length;
-for(var t_16=0; t_16 < t_18.length; t_16++) {
-var t_19 = t_18[t_16];
-frame.set("item", t_19);
-frame.set("loop.index", t_16 + 1);
-frame.set("loop.index0", t_16);
-frame.set("loop.revindex", t_17 - t_16);
-frame.set("loop.revindex0", t_17 - t_16 - 1);
-frame.set("loop.first", t_16 === 0);
-frame.set("loop.last", t_16 === t_17 - 1);
-frame.set("loop.length", t_17);
-output += "\n Attach ";
-output += runtime.suppressValue(runtime.memberLookup((t_19),"key"), env.opts.autoescape);
-output += " attribute ";
-output += runtime.suppressValue(runtime.memberLookup((t_19),"value"), env.opts.autoescape);
-output += " \n";
-;
-}
-}
-frame = frame.pop();
-output += "\n \n\n";
-;
-}
-}
-}
-frame = frame.pop();
-output += "\n\n\n";
-if(parentTemplate) {
-parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);
-} else {
-cb(null, output);
-}
-})});
-} catch (e) {
- cb(runtime.handleError(e, lineno, colno));
-}
-}
-return {
-root: root
-};
-
-})();
-})();
-(function() {(window.nunjucksPrecompiled = window.nunjucksPrecompiled || {})["views/error.html"] = (function() {
-function root(env, context, frame, runtime, cb) {
-var lineno = null;
-var colno = null;
-var output = "";
-try {
-var parentTemplate = null;
-output += "";
-output += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "message")),"title"), env.opts.autoescape);
-output += " \n";
-output += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "message")),"description"), env.opts.autoescape);
-output += "
\n";
-if(parentTemplate) {
-parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);
-} else {
-cb(null, output);
-}
-;
-} catch (e) {
- cb(runtime.handleError(e, lineno, colno));
-}
-}
-return {
-root: root
-};
-
-})();
-})();
-(function() {(window.nunjucksPrecompiled = window.nunjucksPrecompiled || {})["views/logentry.html"] = (function() {
-function root(env, context, frame, runtime, cb) {
-var lineno = null;
-var colno = null;
-var output = "";
-try {
-var parentTemplate = null;
-output += "\n";
-output += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "entry")),"created"), env.opts.autoescape);
-output += " \n";
-output += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "entry")),"message"), env.opts.autoescape);
-output += " \n \n\n";
-if(parentTemplate) {
-parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);
-} else {
-cb(null, output);
-}
-;
-} catch (e) {
- cb(runtime.handleError(e, lineno, colno));
-}
-}
-return {
-root: root
-};
-
-})();
-})();
-(function() {(window.nunjucksPrecompiled = window.nunjucksPrecompiled || {})["views/request.html"] = (function() {
-function root(env, context, frame, runtime, cb) {
-var lineno = null;
-var colno = null;
-var output = "";
-try {
-var parentTemplate = null;
-output += "\n\nFetch \n";
-if(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "request")),"signable")) {
-output += "\nSign \n";
-;
-}
-else {
-output += "\nSign \n";
-;
-}
-output += "\nDelete \n\n\n\n";
-env.getTemplate("img/iconmonstr-certificate-15.svg", false, "views/request.html", null, function(t_3,t_1) {
-if(t_3) { cb(t_3); return; }
-t_1.render(context.getVariables(), frame, function(t_4,t_2) {
-if(t_4) { cb(t_4); return; }
-output += t_2
-output += "\n";
-output += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "request")),"identity"), env.opts.autoescape);
-output += "\n
\n\n";
-if(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "request")),"email_address")) {
-output += "\n";
-env.getTemplate("img/iconmonstr-email-2.svg", false, "views/request.html", null, function(t_7,t_5) {
-if(t_7) { cb(t_7); return; }
-t_5.render(context.getVariables(), frame, function(t_8,t_6) {
-if(t_8) { cb(t_8); return; }
-output += t_6
-output += " ";
-output += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "request")),"email_address"), env.opts.autoescape);
-output += "
\n";
-})});
-}
-output += "\n\n\n";
-env.getTemplate("img/iconmonstr-key-3.svg", false, "views/request.html", null, function(t_11,t_9) {
-if(t_11) { cb(t_11); return; }
-t_9.render(context.getVariables(), frame, function(t_12,t_10) {
-if(t_12) { cb(t_12); return; }
-output += t_10
-output += "\n\n";
-output += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "request")),"sha256sum"), env.opts.autoescape);
-output += "\n \n";
-output += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "request")),"key_length"), env.opts.autoescape);
-output += "-bit\n";
-output += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "request")),"key_type"), env.opts.autoescape);
-output += "\n
\n\n";
-var t_13;
-t_13 = runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "request")),"key_usage");
-frame.set("key_usage", t_13, true);
-if(frame.topLevel) {
-context.setVariable("key_usage", t_13);
-}
-if(frame.topLevel) {
-context.addExport("key_usage", t_13);
-}
-output += "\n";
-if(runtime.contextOrFrameLookup(context, frame, "key_usage")) {
-output += "\n\n";
-env.getTemplate("img/iconmonstr-flag-3.svg", false, "views/request.html", null, function(t_16,t_14) {
-if(t_16) { cb(t_16); return; }
-t_14.render(context.getVariables(), frame, function(t_17,t_15) {
-if(t_17) { cb(t_17); return; }
-output += t_15
-output += "\n";
-output += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "request")),"key_usage"), env.opts.autoescape);
-output += "\n
\n";
-})});
-}
-output += "\n\n \n\n";
-if(parentTemplate) {
-parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);
-} else {
-cb(null, output);
-}
-})})})});
-} catch (e) {
- cb(runtime.handleError(e, lineno, colno));
-}
-}
-return {
-root: root
-};
-
-})();
-})();
-(function() {(window.nunjucksPrecompiled = window.nunjucksPrecompiled || {})["views/signed.html"] = (function() {
-function root(env, context, frame, runtime, cb) {
-var lineno = null;
-var colno = null;
-var output = "";
-try {
-var parentTemplate = null;
-output += "\n Fetch \n Revoke \n\n \n ";
-env.getTemplate("img/iconmonstr-certificate-15.svg", false, "views/signed.html", null, function(t_3,t_1) {
-if(t_3) { cb(t_3); return; }
-t_1.render(context.getVariables(), frame, function(t_4,t_2) {
-if(t_4) { cb(t_4); return; }
-output += t_2
-output += "\n ";
-output += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "certificate")),"common_name"), env.opts.autoescape);
-output += "\n
\n\n ";
-if(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "certificate")),"email_address")) {
-output += "\n ";
-env.getTemplate("img/iconmonstr-email-2.svg", false, "views/signed.html", null, function(t_7,t_5) {
-if(t_7) { cb(t_7); return; }
-t_5.render(context.getVariables(), frame, function(t_8,t_6) {
-if(t_8) { cb(t_8); return; }
-output += t_6
-output += " ";
-output += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "certificate")),"email_address"), env.opts.autoescape);
-output += "
\n ";
-})});
-}
-output += "\n\n ";
-if(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "certificate")),"given_name") || runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "certificate")),"surname")) {
-output += "\n ";
-env.getTemplate("img/iconmonstr-user-5.svg", false, "views/signed.html", null, function(t_11,t_9) {
-if(t_11) { cb(t_11); return; }
-t_9.render(context.getVariables(), frame, function(t_12,t_10) {
-if(t_12) { cb(t_12); return; }
-output += t_10
-output += " ";
-output += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "certificate")),"given_name"), env.opts.autoescape);
-output += " ";
-output += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "certificate")),"surname"), env.opts.autoescape);
-output += "
\n ";
-})});
-}
-output += "\n\n \n ";
-env.getTemplate("img/iconmonstr-calendar-6.svg", false, "views/signed.html", null, function(t_15,t_13) {
-if(t_15) { cb(t_15); return; }
-t_13.render(context.getVariables(), frame, function(t_16,t_14) {
-if(t_16) { cb(t_16); return; }
-output += t_14
-output += "\n ";
-output += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "certificate")),"signed"), env.opts.autoescape);
-output += " -\n ";
-output += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "certificate")),"expires"), env.opts.autoescape);
-output += " \n
\n\n ";
-output += "\n\n \n \n Add tag... \n ";
-env.getTemplate("views/tagtypes.html", false, "views/signed.html", null, function(t_19,t_17) {
-if(t_19) { cb(t_19); return; }
-t_17.render(context.getVariables(), frame, function(t_20,t_18) {
-if(t_20) { cb(t_20); return; }
-output += t_18
-output += "\n \n
\n
\n \n";
-if(parentTemplate) {
-parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);
-} else {
-cb(null, output);
-}
-})})})})})});
-} catch (e) {
- cb(runtime.handleError(e, lineno, colno));
-}
-}
-return {
-root: root
-};
-
-})();
-})();
-(function() {(window.nunjucksPrecompiled = window.nunjucksPrecompiled || {})["views/status.html"] = (function() {
-function root(env, context, frame, runtime, cb) {
-var lineno = null;
-var colno = null;
-var output = "";
-try {
-var parentTemplate = null;
-output += "\n 1209600) {
-output += "#D6083B";
-;
-}
-else {
-output += "#0072CF";
-;
-}
-;
-}
-else {
-output += "#55A51C";
-;
-}
-;
-}
-else {
-output += "#F3BD48";
-;
-}
-output += "\" />\n \n\n\n\n";
-if(runtime.contextOrFrameLookup(context, frame, "lease")) {
-output += "\n";
-if(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "lease")),"released")) {
-output += "\nLast seen ";
-output += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "lease")),"released"), env.opts.autoescape);
-output += " at ";
-output += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "lease")),"address"), env.opts.autoescape);
-output += "\n";
-;
-}
-else {
-output += "\nOnline since ";
-output += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "lease")),"acquired"), env.opts.autoescape);
-output += " at ";
-output += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "lease")),"address"), env.opts.autoescape);
-output += " \n";
-;
-}
-output += "\n";
-;
-}
-else {
-output += "\nNot seen\n";
-;
-}
-output += "\n \n";
-if(parentTemplate) {
-parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);
-} else {
-cb(null, output);
-}
-;
-} catch (e) {
- cb(runtime.handleError(e, lineno, colno));
-}
-}
-return {
-root: root
-};
-
-})();
-})();
-(function() {(window.nunjucksPrecompiled = window.nunjucksPrecompiled || {})["views/tags.html"] = (function() {
-function root(env, context, frame, runtime, cb) {
-var lineno = null;
-var colno = null;
-var output = "";
-try {
-var parentTemplate = null;
-output += "";
-output += runtime.suppressValue(runtime.memberLookup((runtime.contextOrFrameLookup(context, frame, "tag")),"value"), env.opts.autoescape);
-output += " \n";
-if(parentTemplate) {
-parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);
-} else {
-cb(null, output);
-}
-;
-} catch (e) {
- cb(runtime.handleError(e, lineno, colno));
-}
-}
-return {
-root: root
-};
-
-})();
-})();
-(function() {(window.nunjucksPrecompiled = window.nunjucksPrecompiled || {})["views/tagtypes.html"] = (function() {
-function root(env, context, frame, runtime, cb) {
-var lineno = null;
-var colno = null;
-var output = "";
-try {
-var parentTemplate = null;
-output += "Location \nPhone \nRoom \nProduct serial \n\nProtected wireless network password \nProtected wireless network name \nPublic wireless network name \nChannel number \nApproved USB device \n";
-if(parentTemplate) {
-parentTemplate.rootRenderFunc(env, context, frame, runtime, cb);
-} else {
-cb(null, output);
-}
-;
-} catch (e) {
- cb(runtime.handleError(e, lineno, colno));
-}
-}
-return {
-root: root
-};
-
-})();
-})();
-