func()

in server/signedcontainer/payload.go [77:94]


func (p *payload) publicKey() ([]byte, error) {
	publicKey, ok := p.Optional[publicKey].(string)
	if !ok {
		return nil, fmt.Errorf("public key not found in the Optional field of payload: %v", p)
	}

	// Decode the unpadded base64 encoding public key.
	publicKeyBytes, err := unpaddedEncoding.DecodeString(publicKey)
	if err != nil {
		return nil, fmt.Errorf("failed to decode public key string as base64 [%v]: %v", publicKey, err)
	}

	// Check if the retrieved public key is PEM formatted.
	if block, _ := pem.Decode(publicKeyBytes); block == nil {
		return nil, errors.New("could not decode public key bytes as PEM")
	}
	return publicKeyBytes, nil
}