Skip to content

decrypt cannot read private key #18

@apoorvmote

Description

@apoorvmote

I am following decrypt with tinkey official guide for golang.

https://github.com/google/tink/blob/master/docs/GOLANG-HOWTO.md#decryption

	pk, pkErr := base64.StdEncoding.DecodeString(privateKey)

	if pkErr != nil {

		fmt.Printf("decoding private key failed, %v\n", pkErr)

		return
	}

	fmt.Println(string(pk))

	khPriv, khPrivErr := insecurecleartextkeyset.Read(keyset.NewBinaryReader(bytes.NewReader(pk)))

	if khPrivErr != nil {

		fmt.Printf("reading private key fail, %v\n", khPrivErr)

		return
	}

Then it fails with message

reading private key fail, insecurecleartextkeyset: invalid keyset

I also tried adding key directly

	khPriv, khPrivErr := insecurecleartextkeyset.Read(keyset.NewBinaryReader(bytes.NewReader([]byte(privateKey))))

	if khPrivErr != nil {

		fmt.Printf("reading private key fail, %v\n", khPrivErr)

		return
	}

Then again it failed with same message

reading private key fail, insecurecleartextkeyset: invalid keyset

I am running this code on local playground because there are lots of warning saying DONT ADD PRIVATE KEY INTO SOURCE CODE.

Took me very long time to convert authorize lambda encpoint from NodeJS to golang. I do receive base64 encoded encrypted key as follows.

crypt := request.QueryStringParameters["crypt"]
	
fmt.Println(crypt)
AXW5Nb8EM4syiCgAWYoIcXTtGmDQ0qexeDisQPX3xhFvtb3iGUAvJa6/2kiBUQXMuQRjUpAk2JC01KmVfupNq5hmnckvdD17IBwijFIEtxzPX4OBpE5TXcTH1jpzn+RtDJCK5W1oWleBOKSZBvAS2EF9kxxXcvEOnMB1OrjtzT81gZK70HTNKIAELa9jzaLftQZUtcK1jI12HnUvWPrQkStrPHajByXyroryUZrgNlHvu+Y=

I can base64 decode it fine at lambda. But have trouble reading private key.

The private key is same generated from https://github.com/subscriptions-project/encryption/tree/master/golang/cmd/aws_key_gen

It generated one public and private key.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions