Exemplo n.º 1
0
        private async Task <bool> Sign()
        {
            var tx_hex = await Serialize();

            signatures = (await signatureProvider.Sign(this.ChainId, Hex.HexToBytes(tx_hex))).ToArray();
            return(true);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Gets the Base64Url of signature.
        /// </summary>
        /// <returns>A string encoded of signature.</returns>
        public string ToSigntureBase64Url()
        {
            if (signature == null || !signature.CanSign)
            {
                return(signatureCache ?? string.Empty);
            }
            var bytes = signature.Sign($"{ToHeaderBase64Url()}.{ToPayloadBase64Url()}", Encoding.ASCII);

            return(WebFormat.Base64UrlEncode(bytes));
        }
Exemplo n.º 3
0
        public T Sign <T>(ISignatureProvider provider) where T : class
        {
            if (NeedsSignature)
            {
                //Validate IdCard before starting to generate Assertion
                new IdCardValidator().ValidateIdCard(this);

                //Generate unsigned assertion here based on IdCard, and sign it
                Xassertion = provider.Sign(GenerateAssertion());

                LastDomOperation = SIGNED;
                NeedsSignature   = false;
            }

            return(GetAssertion <T>());
        }
Exemplo n.º 4
0
 /// <summary>
 /// Computes the signature for the specified hash value.
 /// </summary>
 /// <param name="sign">The signature provider.</param>
 /// <param name="value">The value to sign.</param>
 /// <param name="encoding">The text encoding.</param>
 /// <returns>The signature for the specified hash value.</returns>
 public static byte[] Sign(this ISignatureProvider sign, string value, Encoding encoding = null)
 {
     return(sign.Sign((encoding ?? Encoding.UTF8).GetBytes(value)));
 }