Exemple #1
0
func BuildSignatureAndMetadata(crypto secure.Crypto, signature *Signature) (string, string, error) {
	signatureJson, err := json.Marshal(&signature)
	if err != nil {
		return "", "", err
	}

	signatureJsonEncrypted, nonce, err := crypto.Encrypt(signatureJson)
	if err != nil {
		return "", "", err
	}

	metadata := Metadata{
		Nonce: nonce,
	}

	metadataJson, err := json.Marshal(&metadata)
	if err != nil {
		return "", "", err
	}

	metadataHeader := base64.URLEncoding.EncodeToString(metadataJson)
	signatureHeader := base64.URLEncoding.EncodeToString(signatureJsonEncrypted)

	return signatureHeader, metadataHeader, nil
}