Add function to get sharing keys

This commit is contained in:
brantje 2016-09-25 22:02:58 +02:00
parent 1aae11b6bf
commit b1728da8e2
5 changed files with 15 additions and 8 deletions

View file

@ -8,6 +8,8 @@ angular.module('passmanApp')
$scope.progress = 1; $scope.progress = 1;
$scope.generating = false; $scope.generating = false;
$scope.sharing_keys = ShareService.getSharingKeys();
$scope.generateKeys = function (length) { $scope.generateKeys = function (length) {
$scope.progress = 1; $scope.progress = 1;
$scope.generating = true; $scope.generating = true;
@ -27,7 +29,6 @@ angular.module('passmanApp')
var _vault = angular.copy($scope.active_vault); var _vault = angular.copy($scope.active_vault);
_vault.private_sharing_key = EncryptService.encryptString(_vault.private_sharing_key); _vault.private_sharing_key = EncryptService.encryptString(_vault.private_sharing_key);
_vault.public_sharing_key = EncryptService.encryptString(_vault.public_sharing_key);
VaultService.updateSharingKeys(_vault).then(function (result) { VaultService.updateSharingKeys(_vault).then(function (result) {
console.log('done') console.log('done')
}) })

View file

@ -8,8 +8,7 @@
* Service in the passmanApp. * Service in the passmanApp.
*/ */
angular.module('passmanApp') angular.module('passmanApp')
.service('ShareService', ['$http', function ($http) { .service('ShareService', ['$http', 'VaultService', 'EncryptService', function ($http, VaultService, EncryptService) {
var _tags = [];
return { return {
search: function (string) { search: function (string) {
var queryUrl = OC.generateUrl('apps/passman/api/v2/sharing/search'); var queryUrl = OC.generateUrl('apps/passman/api/v2/sharing/search');
@ -47,6 +46,13 @@ angular.module('passmanApp')
'privateKey' : forge.pki.privateKeyToPem(keypair.privateKey) 'privateKey' : forge.pki.privateKeyToPem(keypair.privateKey)
}; };
}, },
getSharingKeys: function(){
var vault = VaultService.getActiveVault();
return{
'private_sharing_key': EncryptService.decryptString(angular.copy(vault.private_sharing_key)),
'public_sharing_key': vault.public_sharing_key
};
},
rsaPrivateKeyFromPEM: function(private_pem) { rsaPrivateKeyFromPEM: function(private_pem) {
return forge.pki.privateKeyFromPem(private_pem); return forge.pki.privateKeyFromPem(private_pem);
}, },

View file

@ -63,7 +63,7 @@ angular.module('views/partials/forms/settings/import.html', []).run(['$templateC
angular.module('views/partials/forms/settings/sharing.html', []).run(['$templateCache', function($templateCache) { angular.module('views/partials/forms/settings/sharing.html', []).run(['$templateCache', function($templateCache) {
'use strict'; 'use strict';
$templateCache.put('views/partials/forms/settings/sharing.html', $templateCache.put('views/partials/forms/settings/sharing.html',
'<div ng-controller="SharingSettingsCtrl"><div class="row"><div class="col-md-6"><label>Private Key</label><textarea class="col-md-12">{{active_vault.private_sharing_key}}</textarea></div><div class="col-md-6"><label>Public key</label><textarea class="col-md-12">{{active_vault.public_sharing_key}}</textarea></div></div><div class="row"><div class="col-md-12"><label>Key size<select ng-model="key_size"><option value="512">512</option><option value="1024">1024</option><option value="2048">2048</option><option value="4096">4096</option></select><button ng-if="!generating" ng-click="generateKeys(key_size)">Generate sharing keys</button> <button ng-if="generating"><i class="fa fa-spinner fa-spin"></i> Generating sharing keys step {{progress}}/2</button></label></div></div></div>{{active_vault}}'); '<div ng-controller="SharingSettingsCtrl"><div class="row"><div class="col-md-6"><label>Private Key</label><textarea class="col-md-12">{{sharing_keys.private_sharing_key}}</textarea></div><div class="col-md-6"><label>Public key</label><textarea class="col-md-12">{{sharing_keys.public_sharing_key}}</textarea></div></div><div class="row"><div class="col-md-12"><label>Key size<select ng-model="key_size"><option value="512">512</option><option value="1024">1024</option><option value="2048">2048</option><option value="4096">4096</option></select><button ng-if="!generating" ng-click="generateKeys(key_size)">Generate sharing keys</button> <button ng-if="generating"><i class="fa fa-spinner fa-spin"></i> Generating sharing keys step {{progress}}/2</button></label></div></div></div>');
}]); }]);
angular.module('views/partials/forms/settings/tool.html', []).run(['$templateCache', function($templateCache) { angular.module('views/partials/forms/settings/tool.html', []).run(['$templateCache', function($templateCache) {

View file

@ -50,6 +50,7 @@ class Vault extends Entity implements \JsonSerializable{
// add types in constructor // add types in constructor
$this->addType('created', 'integer'); $this->addType('created', 'integer');
$this->addType('lastAccess', 'integer'); $this->addType('lastAccess', 'integer');
$this->addType('sharing_keys_generated', 'integer');
} }
/** /**
* Turns entity attributes into an array * Turns entity attributes into an array

View file

@ -3,11 +3,11 @@
<div class="row"> <div class="row">
<div class="col-md-6"> <div class="col-md-6">
<label>Private Key</label> <label>Private Key</label>
<textarea class="col-md-12">{{active_vault.private_sharing_key}}</textarea> <textarea class="col-md-12">{{sharing_keys.private_sharing_key}}</textarea>
</div> </div>
<div class="col-md-6"> <div class="col-md-6">
<label>Public key</label> <label>Public key</label>
<textarea class="col-md-12">{{active_vault.public_sharing_key}}</textarea> <textarea class="col-md-12">{{sharing_keys.public_sharing_key}}</textarea>
</div> </div>
</div> </div>
<div class="row"> <div class="row">
@ -25,4 +25,3 @@
</div> </div>
</div> </div>
</div> </div>
{{active_vault}}