mirror of
https://github.com/nextcloud/passman.git
synced 2025-10-12 22:46:08 +08:00
Add function to get sharing keys
This commit is contained in:
parent
1aae11b6bf
commit
b1728da8e2
5 changed files with 15 additions and 8 deletions
|
@ -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')
|
||||||
})
|
})
|
||||||
|
|
|
@ -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);
|
||||||
},
|
},
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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}}
|
|
Loading…
Add table
Reference in a new issue