mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-10-03 06:17:04 +00:00
Merge pull request #30351 from stackbuilders/openpgp-fix
Update openpgp type definitions to support async functions
This commit is contained in:
Vendored
+15
-4
@@ -1,8 +1,9 @@
|
||||
// Type definitions for openpgp 4.0.0
|
||||
// Type definitions for openpgp 4.0.1
|
||||
// Project: http://openpgpjs.org/
|
||||
// Definitions by: Guillaume Lacasa <https://blog.lacasa.fr>
|
||||
// Errietta Kostala <https://github.com/errietta>
|
||||
// Daniel Montesinos <https://github.com/damonpam>
|
||||
// Carlos Villavicencio <https://github.com/po5i>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
export as namespace openpgp;
|
||||
@@ -269,7 +270,17 @@ export namespace cleartext {
|
||||
verify(keys: Array<key.Key>): Array<VerifiedMessage>;
|
||||
}
|
||||
|
||||
function readArmored(armoredText: string): CleartextMessage;
|
||||
/** creates new message object from binary data
|
||||
@param bytes
|
||||
*/
|
||||
function fromBinary(bytes: string): CleartextMessage;
|
||||
|
||||
/** creates new message object from text
|
||||
@param text
|
||||
*/
|
||||
function fromText(text: string): CleartextMessage;
|
||||
|
||||
function readArmored(armoredText: string): Promise<CleartextMessage>;
|
||||
}
|
||||
|
||||
export namespace config {
|
||||
@@ -514,7 +525,7 @@ export namespace key {
|
||||
|
||||
@param armoredText text to be parsed
|
||||
*/
|
||||
function readArmored(armoredText: string): KeyResult;
|
||||
function readArmored(armoredText: string): Promise<KeyResult>;
|
||||
}
|
||||
|
||||
export namespace message {
|
||||
@@ -580,7 +591,7 @@ export namespace message {
|
||||
|
||||
@param armoredText text to be parsed
|
||||
*/
|
||||
function readArmored(armoredText: string): Message;
|
||||
function readArmored(armoredText: string): Promise<Message>;
|
||||
|
||||
/**
|
||||
* reads an OpenPGP message as byte array and returns a message object
|
||||
|
||||
@@ -19,27 +19,51 @@ openpgp.generateKey(options).then(function (keypair) {
|
||||
|
||||
|
||||
var spubkey = '-----BEGIN PGP PUBLIC KEY BLOCK ... END PGP PUBLIC KEY BLOCK-----';
|
||||
var publicKey = openpgp.key.readArmored(spubkey);
|
||||
|
||||
openpgp.encrypt({
|
||||
message: openpgp.message.fromText('Hello, World!'),
|
||||
publicKeys: publicKey.keys
|
||||
}).then(function (pgpMessage) {
|
||||
openpgp.key.readArmored(spubkey)
|
||||
.then(function (publicKey) {
|
||||
return {
|
||||
message: openpgp.message.fromText('Hello, World!'),
|
||||
publicKeys: publicKey.keys
|
||||
};
|
||||
})
|
||||
.then(openpgp.encrypt)
|
||||
.then(function (pgpMessage) {
|
||||
// success
|
||||
})
|
||||
.catch(function (error) {
|
||||
// failure
|
||||
});
|
||||
|
||||
var sprivkey = '-----BEGIN PGP PRIVATE KEY BLOCK ... END PGP PRIVATE KEY BLOCK-----';
|
||||
var pgpMessageStr = '-----BEGIN PGP MESSAGE ... END PGP MESSAGE-----';
|
||||
|
||||
openpgp.message.readArmored(pgpMessageStr).then(function(pgpMessage) {
|
||||
const options = {
|
||||
message: pgpMessage
|
||||
};
|
||||
return openpgp.decrypt(options);
|
||||
}).then(function (plaintext) {
|
||||
// success
|
||||
}).catch(function (error) {
|
||||
// failure
|
||||
});
|
||||
|
||||
var sprivkey = '-----BEGIN PGP PRIVATE KEY BLOCK ... END PGP PRIVATE KEY BLOCK-----';
|
||||
var privateKey = openpgp.key.readArmored(sprivkey).keys[0];
|
||||
privateKey.decrypt('passphrase');
|
||||
const promises: [Promise<openpgp.key.KeyResult>, Promise<openpgp.message.Message>] = [
|
||||
openpgp.key.readArmored(sprivkey),
|
||||
openpgp.message.readArmored(pgpMessageStr)
|
||||
];
|
||||
|
||||
var pgpMessageStr = '-----BEGIN PGP MESSAGE ... END PGP MESSAGE-----';
|
||||
var pgpMessage = openpgp.message.readArmored(pgpMessageStr);
|
||||
|
||||
openpgp.decrypt({
|
||||
privateKeys: privateKey,
|
||||
message: pgpMessage
|
||||
Promise.all(promises).then(function (values) {
|
||||
const keyObject: openpgp.key.KeyResult = values[0];
|
||||
const pgpMessage: openpgp.message.Message = values[1];
|
||||
const privateKey = keyObject.keys[0];
|
||||
privateKey.decrypt('passphrase');
|
||||
const options = {
|
||||
privateKeys: privateKey,
|
||||
message: pgpMessage
|
||||
};
|
||||
return openpgp.decrypt(options);
|
||||
}).then(function (plaintext) {
|
||||
// success
|
||||
}).catch(function (error) {
|
||||
|
||||
Reference in New Issue
Block a user