예제 #1
0
 public AccessTokenSignature(BasicSignature b, Keypair RequestResponseToken)
 {
     Timestamp = b.Timestamp;
     ConsumerKeypair = b.ConsumerKeypair;
     Nonce = b.Nonce;
     RequestResponseKeypair = RequestResponseToken;
     SignatureParameters = GetSigBaseStringParams();
     SignatureBaseString = GetSignatureBaseString();
     SigningKey = new SigningKey(ConsumerKeypair, SignatureBaseString);
     SignedSignature = Cryptography.GetSignature(SigningKey);
     RequestUri = AccessTokenApiUri + "?" + SignatureParameters + "&oauth_signature=" +
                  Uri.EscapeDataString(SignedSignature);
 }
        internal static string GetSignature(SigningKey signingKey)
        {
            IBuffer KeyMaterial;
            KeyMaterial = CryptographicBuffer.ConvertStringToBinary(signingKey.GetSigningKey(),
                BinaryStringEncoding.Utf8);
            var HmacSha1Provider = MacAlgorithmProvider.OpenAlgorithm("HMAC_SHA1");
            var MacKey = HmacSha1Provider.CreateKey(KeyMaterial);
            var DataToBeSigned = CryptographicBuffer.ConvertStringToBinary(signingKey.SignatureParameters,
                BinaryStringEncoding.Utf8);
            var SignatureBuffer = CryptographicEngine.Sign(MacKey, DataToBeSigned);
            var Signature = CryptographicBuffer.EncodeToBase64String(SignatureBuffer);

            return Signature;
        }
예제 #3
0
 public RequestTokenSignature(BasicSignature b, string callback)
 {
     Timestamp = b.Timestamp;
     ConsumerKeypair = b.ConsumerKeypair;
     Nonce = b.Nonce;
     Callback = callback;
     SignatureParameters = GetSigBaseStringParams();
     SignatureBaseString = GetSignatureBaseString();
     SigningKey = new SigningKey(ConsumerKeypair, SignatureBaseString);
     SignedSignature = Cryptography.GetSignature(SigningKey);
     RequestUri = RequestTokenApiUri + "?" + SignatureParameters + "&oauth_signature=" +
                  Uri.EscapeDataString(SignedSignature);
 }
예제 #4
0
 public GeneralGetSignature(BasicSignature b, Keypair UserAccessKeypair, string requestUri)
 {
     Timestamp = b.Timestamp;
     ConsumerKeypair = b.ConsumerKeypair;
     Nonce = b.Nonce;
     AccessKeypair = UserAccessKeypair;
     RequestUri = requestUri;
     SignatureParameters = GetSigBaseStringParams();
     SignatureBaseString = GetSignatureBaseString();
     SigningKey = new SigningKey(ConsumerKeypair, UserAccessKeypair, SignatureBaseString);
     SignedSignature = Cryptography.GetSignature(SigningKey);
 }