code: func ParseArmoredPublicKey(r io.Reader) (shortKeyId, armoredKey string, err error) {
  	var buf bytes.Buffer
  	pk, err := openArmoredPublicKeyFile(ioutil.NopCloser(io.TeeReader(r, &buf)))
  	if err != nil {
  		return
  	}
  	return publicKeyID(pk), buf.String(), nil
  }
docs: // ParseArmoredPublicKey tries to parse an armored public key from r,
  // taking care to bound the amount it reads.
  // The returned shortKeyId is 8 capital hex digits.
  // The returned armoredKey is a copy of the contents read.