2016-04-03 13:10:16 +00:00
|
|
|
$(function () {
|
2016-04-05 00:19:21 +00:00
|
|
|
var error = $('<div class="alert alert-danger" role="alert"></div>');
|
|
|
|
|
2016-04-03 13:10:16 +00:00
|
|
|
$('.magic-csr').click(function () {
|
2016-04-05 00:19:21 +00:00
|
|
|
var name = $('#name').val();
|
|
|
|
var user = $('.user').text();
|
|
|
|
|
2016-04-03 13:10:16 +00:00
|
|
|
var keys = forge.pki.rsa.generateKeyPair(1024);
|
|
|
|
var csr = forge.pki.createCertificationRequest();
|
2016-04-05 00:19:21 +00:00
|
|
|
var commonName = name + '.' + user;
|
|
|
|
|
2016-04-03 13:10:16 +00:00
|
|
|
csr.publicKey = keys.publicKey;
|
|
|
|
csr.setSubject([{
|
|
|
|
name: 'commonName',
|
2016-04-05 00:19:21 +00:00
|
|
|
value: commonName
|
2016-04-03 13:10:16 +00:00
|
|
|
}]);
|
|
|
|
csr.sign(keys.privateKey);
|
|
|
|
var pem = forge.pki.certificationRequestToPem(csr);
|
|
|
|
|
|
|
|
$.post('/panel/certificates/new', {
|
2016-04-05 00:19:21 +00:00
|
|
|
csr: pem,
|
|
|
|
name: name
|
2016-04-03 13:10:16 +00:00
|
|
|
}, function (data) {
|
2016-04-05 00:19:21 +00:00
|
|
|
if (data.success) {
|
|
|
|
var zip = new JSZip();
|
|
|
|
zip.file(commonName + '.key', pem);
|
|
|
|
|
|
|
|
for(var file in data.zip) {
|
|
|
|
zip.file(file, data.zip[file]);
|
|
|
|
}
|
|
|
|
var content = zip.generate({type:"blob"});
|
|
|
|
saveAs(content, commonName + '-vpn.zip');
|
|
|
|
location.href = '/panel';
|
|
|
|
} else {
|
|
|
|
$('h2').after(error.text(data.error));
|
|
|
|
}
|
2016-04-03 13:10:16 +00:00
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|