Example #1
0
 public PayApi(System.Net.Http.HttpClient client,
               ISignatureGenerator signatureGenerator
               )
 {
     _client             = client;
     _signatureGenerator = signatureGenerator;
 }
Example #2
0
 public FileCrawler(IFileDatabase fileDatabase, IFileDescriptorProvider descriptorProvider, ISignatureGenerator signatureGenerator, IProgressTracker progressTracker)
 {
     this.fileDatabase = fileDatabase;
     this.descriptorProvider = descriptorProvider;
     this.signatureGenerator = signatureGenerator;
     this.progressTracker = progressTracker;
 }
 public WeChatPayController(IHttpContextAccessor httpContextAccessor,
                            ISignatureGenerator signatureGenerator,
                            IOptions <AbpWeChatPayOptions> abpWeChatPayOptions)
 {
     _httpContextAccessor = httpContextAccessor;
     _signatureGenerator  = signatureGenerator;
     _abpWeChatPayOptions = abpWeChatPayOptions.Value;
 }
Example #4
0
 public SignVerifyHandler(IWeChatPayOptionsResolver weChatPayOptionsResolver,
                          ISignatureGenerator signatureGenerator,
                          ILogger <SignVerifyHandler> logger)
 {
     WeChatPayOptionsResolver = weChatPayOptionsResolver;
     SignatureGenerator       = signatureGenerator;
     Logger = logger;
 }
Example #5
0
        public WebServiceRequest(ISerialization serialization, ISignatureGenerator signatureGenerator, int retryCount)
        {
            ServicePointManager.SecurityProtocol = ServicePointManager.SecurityProtocol | SecurityProtocolType.Tls12;

            this.serialization      = serialization;
            this.signatureGenerator = signatureGenerator;
            this.retryCount         = retryCount;
        }
Example #6
0
 public WeChatPayController(IHttpContextAccessor httpContextAccessor,
                            ISignatureGenerator signatureGenerator,
                            IWeChatPayOptionsResolver optionsResolver)
 {
     _httpContextAccessor = httpContextAccessor;
     _signatureGenerator  = signatureGenerator;
     _optionsResolver     = optionsResolver;
 }
Example #7
0
 public WeChatController(SignatureChecker signatureChecker,
                         IHttpClientFactory httpClientFactory,
                         IJsTicketAccessor jsTicketAccessor,
                         ISignatureGenerator signatureGenerator,
                         IWeChatOfficialOptionsResolver optionsResolver)
 {
     _signatureChecker   = signatureChecker;
     _httpClientFactory  = httpClientFactory;
     _jsTicketAccessor   = jsTicketAccessor;
     _signatureGenerator = signatureGenerator;
     _optionsResolver    = optionsResolver;
 }
 public WeChatController(SignatureChecker signatureChecker,
                         IOptions <AbpWeChatOfficialOptions> officialOptions,
                         IHttpClientFactory httpClientFactory,
                         IJsTicketAccessor jsTicketAccessor,
                         ISignatureGenerator signatureGenerator,
                         IHttpContextAccessor httpContextAccessor)
 {
     _signatureChecker    = signatureChecker;
     _httpClientFactory   = httpClientFactory;
     _jsTicketAccessor    = jsTicketAccessor;
     _signatureGenerator  = signatureGenerator;
     _httpContextAccessor = httpContextAccessor;
     _officialOptions     = officialOptions.Value;
 }
Example #9
0
 private static ISignatureGenerator GetGeneratorForMethod(EncryptionMethod signMethod)
 {
     if (_instancedGenerators.ContainsKey(signMethod))
     {
         return(_instancedGenerators[signMethod]);
     }
     else
     {
         Type signType = signMethod.GetSignatureType();
         ISignatureGenerator instancedType = Activator.CreateInstance(signType) as ISignatureGenerator;
         _instancedGenerators.Add(signMethod, instancedType);
         return(instancedType);
     }
 }
Example #10
0
        /// <summary>
        /// Verifies the signature of this response matches the expected signature using the <see cref="ISignatureGenerator"/> provided.
        /// </summary>
        /// <remarks>
        /// <para>The <see cref="HummClient"/> automatically calls this method when a reponse is received, application code does not need to call this method explicitly unless performing it's own calls without using a <see cref="HummClient"/> instance.</para>
        /// <para>The <paramref name="signatureGenerator"/> must have been created/initialised with the same device key as the request that generated this response.</para>
        /// <para>If the <see cref="Signature"/> property is null or empty, this call is a no-op and will return without throwing an exception.</para>
        /// </remarks>
        /// <param name="signatureGenerator">The signature generator to use to confirm the response signature.</param>
        /// <exception cref="ArgumentNullException">Thrown if <paramref name="signatureGenerator"/> is null.</exception>
        /// <exception cref="HummResponseSignatureException">Thrown if the signature of the response does not match the expected signature.</exception>
        public void VerifySignature(ISignatureGenerator signatureGenerator)
        {
            if (String.IsNullOrEmpty(Signature))
            {
                return;
            }

            signatureGenerator.GuardNull(nameof(signatureGenerator));

            var calcSig = signatureGenerator.GenerateSignature(HummModelPropertyReader.GetPropertyValues(this));

            if (calcSig != this.Signature)
            {
                throw new HummResponseSignatureException();
            }
        }
Example #11
0
        public ClientAppService(
            //其它模块
            IGuidGenerator guidGenerator,
            ICapPublisher capBus,
            ISignatureGenerator signatureGenerator,
            IWeixinAppService weixinAppService,
            IAppDefinitionManager appDefinitionManager,
            IAppProvider appProvider,

            //本模块
            IMallShopLookupService shopLookupService,
            IMallShopRepository shopRepository,
            IReadOnlyRepository <Address, Guid> addressRepository,
            IRepository <ProductOrder, Guid> orderRepository,
            IRepository <TenPayNotify, Guid> tenpayRepository,
            IProductCategoryRepository categoryRepository,
            IRepository <ProductSpu, Guid> spuRepository,
            IPayOrderRepository payOrderRepository,

            //系统
            ISettingProvider setting,
            IHttpContextAccessor httpContextAccessor,
            ILocalEventBus eventBus,
            IMediator mediator
            )
        {
            _guidGenerator       = guidGenerator;
            _weixinAppService    = weixinAppService;
            _shopLookupService   = shopLookupService;
            _shopRepository      = shopRepository;
            _addressRepository   = addressRepository;
            _orderRepository     = orderRepository;
            _tenpayRepository    = tenpayRepository;
            _categoryRepository  = categoryRepository;
            _spuRepository       = spuRepository;
            _payOrderRepository  = payOrderRepository;
            _setting             = setting;
            _appProvider         = appProvider;
            _httpContextAccessor = httpContextAccessor;
            _eventBus            = eventBus;
            _mediator            = mediator;
            _capBus = capBus;
            _appDefinitionManager = appDefinitionManager;
            _signatureGenerator   = signatureGenerator;
        }
Example #12
0
        private static ISignatureGenerator GetSignatureGenerator(IServiceProvider services)
        {
            ISignatureGenerator sigGenerator = null;

#if net40
            var httpContext = HttpContext.Current;
            if (httpContext != null)
            {
                sigGenerator = httpContext.Items[ContextKey_SignatureGenerator] as ISignatureGenerator;
            }
#endif
            if (services != null)
            {
                sigGenerator = TryGetService <ISignatureGenerator>(services);
            }

            if (sigGenerator == null)
            {
                sigGenerator = new Services.Impl.SignatureGenerator();
            }
            return(sigGenerator);
        }
 public SignatureGenerator_Tests()
 {
     _signatureGenerator = GetRequiredService <ISignatureGenerator>();
 }
		public void SetUp()
		{
			_signatureGenerator = A.Fake<ISignatureGenerator>();
			_urlSigner = new UrlSigner(_signatureGenerator);
		}
 public ForgeMessageReceipt(ISignatureGenerator <int> generator)
     : base(generator)
 {
 }
 public SignatureDelegatingHandler(ISignatureGenerator signatureGenerator, ISignatureSpecification signatureSpecification)
 {
     _signatureGenerator     = signatureGenerator;
     _signatureSpecification = signatureSpecification;
 }
 public OAuthWebRequestSigner(ISignatureGenerator signatureGenerator)
 {
   SignatureGenerator = signatureGenerator;
 }
Example #18
0
 public ForgeSignature(ISignatureGenerator <int> generator)
 {
     _id = generator.Generate();
 }
        /// <summary>
        /// 使用请求拦截器,为每个请求自动添加基于 https://tools.ietf.org/html/draft-cavage-http-signatures 的签名。
        /// </summary>
        /// <param name="httpClientBuilder"></param>
        /// <param name="signatureGenerator"></param>
        /// <param name="signingParameter"></param>
        /// <returns></returns>
        public static IHttpClientBuilder UseHttpSignatureInterceptor(this IHttpClientBuilder httpClientBuilder, ISignatureGenerator signatureGenerator, ISigningParameter signingParameter)
        {
            if (signatureGenerator == null)
            {
                throw new ArgumentNullException(nameof(signatureGenerator));
            }
            if (signingParameter == null)
            {
                throw new ArgumentNullException(nameof(signingParameter));
            }

            return(UseHttpSignatureInterceptor(httpClientBuilder, signatureGenerator, (request) => signingParameter));
        }
        /// <summary>
        /// 使用请求拦截器,为每个请求自动添加基于 https://tools.ietf.org/html/draft-cavage-http-signatures 的签名。
        /// </summary>
        /// <param name="httpClientBuilder"></param>
        /// <param name="signatureGenerator"></param>
        /// <param name="parameterGenerator"></param>
        /// <returns></returns>
        public static IHttpClientBuilder UseHttpSignatureInterceptor(this IHttpClientBuilder httpClientBuilder, ISignatureGenerator signatureGenerator, Func <IHttpRequest, ISigningParameter> parameterGenerator)
        {
            if (signatureGenerator == null)
            {
                throw new ArgumentNullException(nameof(signatureGenerator));
            }
            if (parameterGenerator == null)
            {
                throw new ArgumentNullException(nameof(parameterGenerator));
            }

            return(httpClientBuilder.AddRequestInterceptor(request =>
            {
                ISigningParameter signingParameter = parameterGenerator.Invoke(request);
                ISignature signature = signatureGenerator.Sign(request.ToSigningRequest(), signingParameter);
                request.AddHeader("Signature", signature.ToString(SignatureFormatting.Signature));
                request.AddHeader("Authorization", signature.ToString(SignatureFormatting.Authorization));
            }));
        }
		public UrlSigner(ISignatureGenerator signatureGenerator)
		{
			_signatureGenerator = signatureGenerator;
		}
Example #22
0
 public ForgePlayerSignature(ISignatureGenerator <int> generator)
     : base(generator)
 {
 }
Example #23
0
 public OAuthWebRequestSigner(ISignatureGenerator signatureGenerator)
 {
     SignatureGenerator = signatureGenerator;
 }