Re: Help ASCII armor PGP Messages with golang.org/x/crypto/openpgp

115 views
Skip to first unread message
Message has been deleted

Brian Candler

unread,
Feb 28, 2021, 3:37:01 AM2/28/21
to golang-nuts
Your program does that already, so I'm not sure what the problem is.

Note that you don't need the private key to encode.  Your function encryptMessage() makes no use of the arguments privateKey, privateKeyPassword - you can simply remove them.
https://play.golang.org/p/EbuCRR32C7d

Now it's clearer that encryptMessage() uses the public key only, and decryptMessage() uses the private key only.

Therefore, Alice needs only Roger's public key to encrypt.  She doesn't need Roger's private key, nor her own private key unless she wants to sign the message.

Roger needs only Roger's private key to decrypt.  If the message was signed by Alice's private key, he would need Alice's public key to verify the signature.

On Sunday, 28 February 2021 at 03:02:59 UTC Hugo3 wrote:
https://play.golang.org/p/HpXdDlKcOPt


This is an example what I want to do is return a encrypted message from Alice
that can only be read by decrypted with Rogers key to reveal a sensitive message. 


Message has been deleted
Message has been deleted

Brian Candler

unread,
Mar 1, 2021, 3:41:00 AM3/1/21
to golang-nuts
The panic is in line 67, when you were decrypting the private key.  However you provided a public key (see line 131).

These things are always obvious to a fresh pair of eyes :-)

In short, you need to provide Roger's public key and Roger's private key respectively.  The public key is used to encrypt the message, and the corresponding private key is used to decrypt the message.

Alice's key is not needed at all.

On Monday, 1 March 2021 at 05:48:35 UTC Hugo3 wrote:
https://play.golang.org/p/XhnDZwJYdLp

On Sunday, February 28, 2021 at 10:57:21 PM UTC-5 Hugo3 wrote:
I used 2 test keys using the key block for Alice as the public key and Roger as the private key. but receiving a panic error: panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x128 pc=0x51fdd7]

Reply all
Reply to author
Forward
0 new messages