Thank you Tio!
your response is always appreciated.

On Thu, Jan 7, 2016 at 5:41 PM, Tio Oscar <[email protected]> wrote:

>
>
> El jue., 7 de ene. de 2016 a la(s) 21:22, Andrew <[email protected]>
> escribió:
>
>> Please note I'm using 2 different functions getKeyId()
>> and getKeyIds().........
>>
>> calling getKeyIds() on either the public or private Key gives me 2 keys
>> (in array) ( pubKey.getKeyIds()[0].toHex(); +'
>> '+pubKey.getKeyIds()[1].toHex() ) - the first key [0] is the PublicKeyId.
>>
>> calling getKeyId() -  pubKey.primaryKey.getKeyId().toHex() on the public
>> or private key EQUALS  pubKey.getKeyIds()[0].toHex() - which is the
>> PublicKeyId
>>
>> If I run this on encrypted message:
>> pgpmessage = openpgp.message.readArmored(pgpmessage);
>> pgpmessage.packets[0]['publicKeyId'].toHex()
>>
>> it returns the same key as pubKey.getKeyIds()[1].toHex() does on public
>> or private key.
>>
>> Am I correct in assuming this ( pubKey.getKeyIds()[1].toHex() ) is the
>> subKeyId ? it is the only common identifier that is the same in public key,
>> private key or encrypted message.
>>
>>
> Yes, the key id obtain from the ecrypted message are the subkey id.
> You need to consider the order of the packets are not important, you need
> to find the packets with the type ciphered data (or some else).
>
> Consider the ciphered messages can has various encripted packets for
> various keys, and a key (Public or private) can has various subkeys.
>
> If you need to know with which key you can decrypt a message, you have to
> search all keys from de message on all subkeys on your private keys.
>
> I've tried this on numerous openpgp keys and encrypted messages with the
>> same result.
>>
>> What I find hard to understand is why
>> pgpmessage.packets[0]['publicKeyId'].toHex() returns this key as packets[0]
>> clearly shows this as ]['publicKeyId'].
>> when in fact it's not the PublicKeyId, could it be the subKeyId ??
>>
>
> Exactly.
>
> Sorry my poor english, If there are anything you do not understand what I
> wrote please tell me.
>
>
>
>>
>>
>>
>>
>>
>> On Thu, Dec 17, 2015 at 5:14 PM, Andrew <[email protected]> wrote:
>>
>>> I'm getting the publicKeyId from the Public Key with this function:
>>> which ties with the signature correctly.
>>> function findkeyid(){
>>> var openpgp = window.openpgp;
>>> var testPublicKey = sessionStorage.getItem('testPublicKey');
>>> var foundKeys = openpgp.key.readArmored(testPublicKey).keys;
>>> if (!foundKeys || foundKeys.length !== 1) {
>>>    throw new Error("Key not readed, or more than one key");
>>> }
>>> var pubKey = foundKeys[0]; foundKeys = null;
>>> var getKeyId = function (key) {
>>>  return key.primaryKey.getKeyId().toHex();
>>> }
>>> console.log('publicKeyId '+getKeyId(pubKey));
>>> }
>>>
>>> I'm a bit confused by your "PGP key" what is that?
>>>
>>> I was hoping that I could extract the publicKeyId from the message and
>>> use that to determine what public Key was used to encrypt the message -
>>> this assumes I have several public keys etc.
>>>
>>> On Thu, Dec 17, 2015 at 4:39 PM, Tio Oscar <[email protected]> wrote:
>>>
>>>> By other hand, 6F9AE3EF7B6DB9C8 is the keyId of the public key, not the
>>>> PGP key, it's "F2F3C0463B4D9830", you need to obtain the keyId from
>>>> key.primaryKey.
>>>>
>>>>
>>>>
>>>> El jue., 17 de dic. de 2015 a la(s) 20:29, Tio Oscar <[email protected]>
>>>> escribió:
>>>>
>>>>> There is not wrong, the key fingerprint isn't the keyId, the keyID are
>>>>> the las 8 octets of the fingerprint.
>>>>>
>>>>> 3.3 <https://tools.ietf.org/html/rfc4880#section-3.3>.  Key IDs
>>>>>
>>>>>    A Key ID is an eight-octet scalar that identifies a key.
>>>>>    Implementations SHOULD NOT assume that Key IDs are unique.  The
>>>>>    section "Enhanced Key Formats" below describes how Key IDs are
>>>>>    formed.
>>>>>
>>>>>
>>>>>
>>>>> https://tools.ietf.org/html/rfc4880#section-3.3
>>>>>
>>>>> In hex, how is represented, are 16 chars (2 char by octet), the keyId
>>>>> are correct.
>>>>>
>>>>> El jue., 17 de dic. de 2015 a la(s) 19:43, Andrew <[email protected]>
>>>>> escribió:
>>>>>
>>>>>> Hi Tio,
>>>>>>
>>>>>> -----BEGIN PGP PUBLIC KEY BLOCK-----
>>>>>> Version: OpenPGP.js v1.3.0
>>>>>> Comment: http://openpgpjs.org
>>>>>>
>>>>>> xsBNBFZwoBwBCADbTO4n8WRnG1ktQUZLJYgsC4cVy70BHyotHl6wpAGLirpb
>>>>>> HZ2erWLk5u4B5hdNTR3ZF5YLgE9EymgUh42BRt4786MuXplHLw/JplGpCL6t
>>>>>> 9eXSzlSlUrbQ6oOTt18vA8fCvEy7guXw+G3ez/f2GfLgOGi2dCgNWUAuY8Zy
>>>>>> vRpHAnrdhXd8btAOHba15XD9fxUqw+vbf7a9V+vj2/bTBhlEUCbfozcUl/qs
>>>>>> 2F3PG3CZnuoznMoJuqHcTnL3vs6DCxBjyi6DnLVL6yHeJ7rCLf5agK6ZTfXs
>>>>>> WOOik5X6ZJgROnRYrm7GodbHlQH//5Kir3uG+7rCILGEzZTU3adbm5rrABEB
>>>>>> AAHNEjxhZzU3NDNAZ21haWwuY29tPsLAcgQQAQgAJgUCVnCgIQYLCQgHAwIJ
>>>>>> EPLzwEY7TZgwBBUIAgoDFgIBAhsDAh4BAAAuzwgAibMW3hEGR5c+3VhhJ3S2
>>>>>> 7lF7XKjFKyduEt5AoYjONEpO3YQZtJNal3lMnQqyFSnZEPLH5TtKI8i0K/+1
>>>>>> 8QahJdmC3PDKfeP/ecx8QVtFMb6zk60AdcGLd4v6/rUpAI9mw0rSMZuoAtoq
>>>>>> IkO3tYZkqP0cbl+8VCO6NhP80njFA5gWJDWxkBNqh7OKm8l9aXInmzo7NlCv
>>>>>> 1jU6nsrRdVQlV8VNEFQXjtkqOocgioN0+pHHnwYoaMQGHVmUowve1o/vJUwr
>>>>>> V3L3kOLoPPZl1Zo4JSH7QLDgCPt2Igiu/tCSVDwiD1rTFPNwrKfsq7j5bSGm
>>>>>> bjLDEnXj/CGP+qD7ReTsec7ATQRWcKAcAQgAp5tthNvTjjdkx7WEfWFaGJPt
>>>>>> 0xrqsXmhIYoyHfhyg9AZGe7WKivIBgm4kUoQ4pHpdBtL0YzeZzGfIt4X2yz3
>>>>>> ysySf6YHzrt6R7O/8MOWnCK92XU2Nz6fj9ecr3QkCy9Kv/XKUzainftdec+Q
>>>>>> tVe/edts6/lPhsc8mGIpjDdEBwg67iU/FSsTtl+LnQ7LuX2GyMii5FeJrSQu
>>>>>> KQco7MISVT2WxtSOMXRZcsu5NIOgNZa1BwEaUBaZJMy+kA7IbcmDj30oI3KD
>>>>>> 0nb5xmN8XG24s71wkyOGdZcnpu4hHzL3fhdmfK0M7iWYNYnxylEsiIZCYGna
>>>>>> JKtZfV8U7Rs0Sy+DmQARAQABwsBfBBgBCAATBQJWcKAhCRDy88BGO02YMAIb
>>>>>> DAAAaLYH/1QOKW6xMV4u3f+wY2gMV++UqNrUjJUJqSfkbyASsmZ0Oa0CMpYi
>>>>>> 9/tE1W9/4ti8/z9RZ/i6qqeP+HhL1McnoOE38lXEYRiaw9SEMIrz79OL7+4c
>>>>>> VEOQOBUQn69G7Rc6LI0xzABnzHlHz0W5UnlVZhYiQDcm4B1dJVyyXbhwdJ7Q
>>>>>> xVy4pmwe6cn19I4P0o5WFEKE5RIgc7ZvRGjVHWoEhe8sc6wijlNLc4wFzTwt
>>>>>> tARzaRTTYaQoy3LiCTCpJyJZGCxjPYeTh2GDQGWvOZVay89FzJypRN9zxOp1
>>>>>> rwjp1g7s9qqQRhVzoMAtQgzeenkIgmZkQyd6Ba12UmNiszhRPP0=
>>>>>> =wLZD
>>>>>> -----END PGP PUBLIC KEY BLOCK-----
>>>>>>
>>>>>>
>>>>>> my public key signature is: 04f4d2ee95856f1d3e48aebcf2f3c0463b4d9830
>>>>>>
>>>>>> using console.log(pgpMessage.packets[0].publicKeyId.toHex()  ); I
>>>>>> get: 6f9ae3ef7b6db9c8
>>>>>>
>>>>>> the message:
>>>>>>
>>>>>> -----BEGIN PGP MESSAGE-----
>>>>>> Version: OpenPGP.js v1.3.0
>>>>>> Comment: http://openpgpjs.org
>>>>>>
>>>>>> wcBMA2+a4+97bbnIAQf/aHclrmHwOXdRIhiM32zjiC+8dM+IXZPfRAJXHfbr
>>>>>> TeTtO5bxBIP83Hv+Ytk5mL89TYWvhgpcG0YxV8rBtb4xSipK6N26cG6vpF1V
>>>>>> YngsjKLZ4niW0TvP9fy9bkkYjXMd+RdQq2t27X9xbMUSHTzGsl9EKYy1P3ZW
>>>>>> YxuB2Zpqm0tzQTU6eMkdbA3tAaw3JbUfUK1OyDBEeSO5X3MPFH4ftaxcWFUV
>>>>>> pysv7xm4IErSjMlhHu602ShQpg6HZe6768pbe4xWC4fZcSZQ/tlVNpyPLw0O
>>>>>> /WsBRe9KHKmfEfiuY+wRF9f0Ky73zeEEm0rUKA+KB2ycpjUYtzXDZrP/jLtX
>>>>>> 1dJMAe5ymyUNG7heZHaRvcB7mc4yMyNKMgrN6rAmPqDgMx8RFe7imq/wQ3yS
>>>>>> 0feZoTDximM69wWz71IQfpBza+NJJIj52WQI01Go/jU7HQ==
>>>>>> =rIyN
>>>>>> -----END PGP MESSAGE-----
>>>>>>
>>>>>> any idea why the keyId is wrong?
>>>>>>
>>>>>> On Thu, Dec 17, 2015 at 3:01 PM, Tio Oscar <[email protected]> wrote:
>>>>>>
>>>>>>> There is not docunented, but there are a method called toHex:
>>>>>>>
>>>>>>>
>>>>>>> Keyid.prototype.toHex = function() {  return 
>>>>>>> util.hexstrdump(this.bytes);};
>>>>>>>
>>>>>>> In your case:
>>>>>>>
>>>>>>> console.log(pgpMessage.packets[0].publicKeyId.toHex()  );
>>>>>>>
>>>>>>> El jue., 17 de dic. de 2015 a la(s) 18:03, Andrew <[email protected]>
>>>>>>> escribió:
>>>>>>>
>>>>>>>> I am trying to get the publicKeyId from the encrypted message.
>>>>>>>>
>>>>>>>> pgpMessage = openpgp.message.readArmored(pgpMessage);
>>>>>>>>
>>>>>>>> console.log( JSON.stringify( pgpMessage ) )
>>>>>>>> returns:
>>>>>>>>
>>>>>>>>
>>>>>>>> {"packets":{"0":{"tag":1,"version":3,"publicKeyId":{"bytes":"ošãï{m¹È"},"publicKeyAlgorithm":"rsa_encrypt_sign","sessionKey":null,"sessionKeyAlgorithm":"aes256","encrypted":[{"data":
>>>>>>>>
>>>>>>>> console.log( JSON.stringify(
>>>>>>>> pgpMessage['packets'][0]['publicKeyId']['bytes'] ) );
>>>>>>>> returns:
>>>>>>>>
>>>>>>>> "ošãï{m¹È"
>>>>>>>>
>>>>>>>> does this - "bytes" represent the publicKeyId and if so how do I
>>>>>>>> convert it into a format that I can compare with the actual publicKeyId
>>>>>>>> associated with the publicKey used for encryption?
>>>>>>>>
>>>>>>>> thanks.
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>>
>>>>>>>> http://openpgpjs.org
>>>>>>>> Subscribe/unsubscribe: http://list.openpgpjs.org
>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>>
>>>>>>> http://openpgpjs.org
>>>>>>> Subscribe/unsubscribe: http://list.openpgpjs.org
>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>>
>>>>>> http://openpgpjs.org
>>>>>> Subscribe/unsubscribe: http://list.openpgpjs.org
>>>>>
>>>>>
>>>> _______________________________________________
>>>>
>>>> http://openpgpjs.org
>>>> Subscribe/unsubscribe: http://list.openpgpjs.org
>>>>
>>>
>>>
>> _______________________________________________
>>
>> http://openpgpjs.org
>> Subscribe/unsubscribe: http://list.openpgpjs.org
>
>
> _______________________________________________
>
> http://openpgpjs.org
> Subscribe/unsubscribe: http://list.openpgpjs.org
>
_______________________________________________

http://openpgpjs.org
Subscribe/unsubscribe: http://list.openpgpjs.org

Reply via email to