js: add Key lookup
-- * src/Keyring.js: getKeys() now has the option "search", which will trigger a remote lookup (as configured in gpg) for the string given as pattern. * src/permittedOperations: make use of the new 'locate' option in keylist * DemoExtension: Add a button for lookup, to demonstrate the functionality
This commit is contained in:
parent
a52ec87d40
commit
1105fc87a3
@ -98,5 +98,22 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||
alert( errormsg.message);
|
||||
});
|
||||
});
|
||||
document.getElementById('searchkey').addEventListener('click',
|
||||
function(){
|
||||
let data = document.getElementById('inputtext').value;
|
||||
gpgmejs.Keyring.getKeys(data, true, true).then(function(keys){
|
||||
if (keys.length === 1){
|
||||
document.getElementById(
|
||||
'pubkey').value = keys[0].fingerprint;
|
||||
} else if (keys.length > 1) {
|
||||
alert('The pattern was not unambigious enough for a Key. '
|
||||
+ keys.length + ' Keys were found');
|
||||
} else {
|
||||
alert('No keys found');
|
||||
}
|
||||
}, function(errormsg){
|
||||
alert( errormsg.message);
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
@ -17,9 +17,13 @@
|
||||
</li>
|
||||
<li>
|
||||
<span class="label">Fingerprint of Key to use: </span>
|
||||
</li>
|
||||
<input type="text" id="pubkey" value="" /> <br>
|
||||
<button id="getdefaultkey">Set to default signing key</button>
|
||||
<input type="text" id="pubkey" value="" />
|
||||
<button id="getdefaultkey">
|
||||
Set to default signing key
|
||||
</button>
|
||||
<button id="searchkey">
|
||||
Look up Key
|
||||
</button>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
@ -39,16 +39,21 @@ export class GPGME_Keyring {
|
||||
* inmediately. This allows for full synchronous use. If set to false,
|
||||
* these will initially only be available as Promises in getArmor() and
|
||||
* getHasSecret()
|
||||
* @param {Boolean} search (optional) retrieve the Keys from servers with
|
||||
* the method(s) defined in gnupg (e.g. WKD/HKP lookup)
|
||||
* @returns {Promise.<Array<GPGME_Key>>}
|
||||
*
|
||||
*/
|
||||
getKeys(pattern, prepare_sync){
|
||||
getKeys(pattern, prepare_sync, search){
|
||||
return new Promise(function(resolve, reject) {
|
||||
let msg = createMessage('keylist');
|
||||
if (pattern !== undefined){
|
||||
msg.setParameter('keys', pattern);
|
||||
}
|
||||
msg.setParameter('sigs', true);
|
||||
if (search === true){
|
||||
msg.setParameter('locate', true);
|
||||
}
|
||||
msg.post().then(function(result){
|
||||
let resultset = [];
|
||||
let promises = [];
|
||||
|
@ -188,6 +188,9 @@ export const permittedOperations = {
|
||||
'local':{
|
||||
allowed: ['boolean']
|
||||
},
|
||||
'locate': {
|
||||
allowed: ['boolean']
|
||||
},
|
||||
'sigs':{
|
||||
allowed: ['boolean']
|
||||
},
|
||||
|
Loading…
Reference in New Issue
Block a user