Drop key packets not in a meaningful order according to RFC4880 "11. Packet Composition"
This commit is contained in:
parent
d28eb4406d
commit
9413cd6e7f
15
src/key.js
15
src/key.js
|
@ -26,7 +26,8 @@
|
||||||
var packet = require('./packet'),
|
var packet = require('./packet'),
|
||||||
enums = require('./enums.js'),
|
enums = require('./enums.js'),
|
||||||
armor = require('./encoding/armor.js'),
|
armor = require('./encoding/armor.js'),
|
||||||
config = require('./config');
|
config = require('./config'),
|
||||||
|
util = require('./util');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @class
|
* @class
|
||||||
|
@ -83,6 +84,10 @@ Key.prototype.packetlist2structure = function(packetlist) {
|
||||||
case enums.signature.cert_persona:
|
case enums.signature.cert_persona:
|
||||||
case enums.signature.cert_casual:
|
case enums.signature.cert_casual:
|
||||||
case enums.signature.cert_positive:
|
case enums.signature.cert_positive:
|
||||||
|
if (!user) {
|
||||||
|
util.print_debug('Dropping certification signatures without preceding user packet');
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (packetlist[i].issuerKeyId.equals(primaryKeyId)) {
|
if (packetlist[i].issuerKeyId.equals(primaryKeyId)) {
|
||||||
if (!user.selfCertifications) user.selfCertifications = [];
|
if (!user.selfCertifications) user.selfCertifications = [];
|
||||||
user.selfCertifications.push(packetlist[i]);
|
user.selfCertifications.push(packetlist[i]);
|
||||||
|
@ -105,12 +110,20 @@ Key.prototype.packetlist2structure = function(packetlist) {
|
||||||
this.directSignatures.push(packetlist[i]);
|
this.directSignatures.push(packetlist[i]);
|
||||||
break;
|
break;
|
||||||
case enums.signature.subkey_binding:
|
case enums.signature.subkey_binding:
|
||||||
|
if (!subKey) {
|
||||||
|
util.print_debug('Dropping subkey binding signature without preceding subkey packet');
|
||||||
|
continue;
|
||||||
|
}
|
||||||
subKey.bindingSignature = packetlist[i];
|
subKey.bindingSignature = packetlist[i];
|
||||||
break;
|
break;
|
||||||
case enums.signature.key_revocation:
|
case enums.signature.key_revocation:
|
||||||
this.revocationSignature = packetlist[i];
|
this.revocationSignature = packetlist[i];
|
||||||
break;
|
break;
|
||||||
case enums.signature.subkey_revocation:
|
case enums.signature.subkey_revocation:
|
||||||
|
if (!subKey) {
|
||||||
|
util.print_debug('Dropping subkey revocation signature without preceding subkey packet');
|
||||||
|
continue;
|
||||||
|
}
|
||||||
subKey.revocationSignature = packetlist[i];
|
subKey.revocationSignature = packetlist[i];
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user