Projekt

Obecné

Profil

Stáhnout (3.94 KB) Statistiky
| Větev: | Tag: | Revize:
1 5885e489 Jan Pašek
    Vue.use(VueLoading);
2
    Vue.component('loading', VueLoading)
3
4 7a423499 Jan Pašek
5
    var certificateDetailsApp = new Vue({
6
        el: "#certificate-detailed-view-content",
7
        data: {
8 5885e489 Jan Pašek
            loading: true,
9
            error: false,
10 780c6d9c Jan Pašek
            id: null,
11 7a423499 Jan Pašek
            certificate: {
12
                subject: {
13
                    C: "",
14
                    ST: "",
15
                    L: "",
16
                    CN: "",
17
                    O: "",
18
                    OU: "",
19
                    emailAddress: "",
20
                },
21
                notBefore: "",
22
                notAfter: "",
23
                usage: {
24
                    CA: false,
25
                    authentication: false,
26
                    digitalSignature: false,
27
                    SSL: false,
28
                },
29
                CA: null,
30
            },
31 5f211e7b Jan Pašek
            errorMessage: "",
32
            successMessage: "",
33 7a423499 Jan Pašek
        },
34
        computed: {
35
            startDate: function () {
36
                return this.certificate.notBefore.substr(0, 16);
37
            },
38
            endDate: function () {
39
                return this.certificate.notAfter.substr(0, 16);
40 5f211e7b Jan Pašek
            },
41
            issuerURL: function () {
42
                return "/static/certificate.html?id=" + this.certificate.CA;
43
            },
44
            crlEndpoint: function () {
45
                return "/api/crl/" + this.certificate.CA;
46
            },
47
            ocspEndpoint: function () {
48
                return "/api/ocsp/" + this.certificate.CA;
49 7a423499 Jan Pašek
            }
50
        },
51
        watch: {
52
53
        },
54
        methods: {
55
            onCertificateDownload: function () {
56 780c6d9c Jan Pašek
                onCertificateDownload(this.id);
57 7a423499 Jan Pašek
            },
58
            onRootDownload: function () {
59 780c6d9c Jan Pašek
                onCertificateRootDownload(this.id);
60 7a423499 Jan Pašek
            },
61
            onChainDownload: function () {
62 780c6d9c Jan Pašek
                onCertificateChainDownload(this.id);
63 7a423499 Jan Pašek
            },
64
            onPublicKeyDownload: function () {
65 780c6d9c Jan Pašek
                onPublicKeyDownload(this.id);
66 7a423499 Jan Pašek
            },
67
            onPrivateKeyDownload: function () {
68 780c6d9c Jan Pašek
                onPrivateKeyDownload(this.id);
69 7a423499 Jan Pašek
            },
70
            onRevoke: function () {
71
72
            },
73
            onDelete: function () {
74
75
            }
76
        }
77
    });
78
79
    // get details of the selected certificate
80
    const params = window.location.search;
81
    if (params !== "") {
82 5885e489 Jan Pašek
        // get requested ID
83 7a423499 Jan Pašek
        const urlParams = new URLSearchParams(params);
84
        if (urlParams.get("id") != null) {
85
            const id = urlParams.get("id");
86 780c6d9c Jan Pašek
            certificateDetailsApp.id = id;
87 5885e489 Jan Pašek
            // query certificate detailes
88 7a423499 Jan Pašek
            axios.get(API_URL + "certificates/"+id+"/details")
89
                .then(function (response) {
90 5885e489 Jan Pašek
                    if (response.data["success"]) {
91
                        // display certificate
92 7a423499 Jan Pašek
                        certificateDetailsApp.certificate = response.data["data"];
93 5885e489 Jan Pašek
                        certificateDetailsApp.loading = false;
94
                        certificateDetailsApp.error = false;
95
                    }
96
                    else {
97
                        // certificate does not exists
98
                        console.error("Required certificate does not exists");
99
                        certificateDetailsApp.loading = false;
100
                        certificateDetailsApp.error = true;
101
                    }
102 7a423499 Jan Pašek
                })
103
                .catch(function (error) {
104 5885e489 Jan Pašek
                    // server error
105
                    console.error(error);
106
                    certificateDetailsApp.loading = false;
107
                    certificateDetailsApp.error = true;
108 7a423499 Jan Pašek
                });
109
        } else {
110 5885e489 Jan Pašek
            // id was not provided as a URL parameter
111
            console.error("URL does not contain 'id' parameter")
112
            certificateDetailsApp.loading = false;
113
            certificateDetailsApp.error = true;
114 7a423499 Jan Pašek
        }
115
    } else {
116 5885e489 Jan Pašek
        console.error("URL does not contain 'id' parameter")
117
        certificateDetailsApp.loading = false;
118
        certificateDetailsApp.error = true;
119
    }