mirror of
				https://gitee.com/binary/weixin-java-tools.git
				synced 2025-10-31 10:38:42 +08:00 
			
		
		
		
	#1059 微信支付证书地址参数keyPath支持使用网络地址
This commit is contained in:
		| @ -1,19 +1,15 @@ | |||||||
| package com.github.binarywang.wxpay.config; | package com.github.binarywang.wxpay.config; | ||||||
|  |  | ||||||
| import java.io.ByteArrayInputStream; | import com.github.binarywang.wxpay.exception.WxPayException; | ||||||
| import java.io.File; | import lombok.Data; | ||||||
| import java.io.FileInputStream; |  | ||||||
| import java.io.IOException; |  | ||||||
| import java.io.InputStream; |  | ||||||
| import java.security.KeyStore; |  | ||||||
| import javax.net.ssl.SSLContext; |  | ||||||
|  |  | ||||||
| import org.apache.commons.io.IOUtils; | import org.apache.commons.io.IOUtils; | ||||||
| import org.apache.commons.lang3.StringUtils; | import org.apache.commons.lang3.StringUtils; | ||||||
| import org.apache.http.ssl.SSLContexts; | import org.apache.http.ssl.SSLContexts; | ||||||
|  |  | ||||||
| import com.github.binarywang.wxpay.exception.WxPayException; | import javax.net.ssl.SSLContext; | ||||||
| import lombok.Data; | import java.io.*; | ||||||
|  | import java.net.URL; | ||||||
|  | import java.security.KeyStore; | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * 微信支付配置 |  * 微信支付配置 | ||||||
| @ -131,6 +127,15 @@ public class WxPayConfig { | |||||||
|         if (inputStream == null) { |         if (inputStream == null) { | ||||||
|           throw new WxPayException(fileNotFoundMsg); |           throw new WxPayException(fileNotFoundMsg); | ||||||
|         } |         } | ||||||
|  |       } else if (this.getKeyPath().startsWith("http://") || this.getKeyPath().startsWith("https://")) { | ||||||
|  |         try { | ||||||
|  |           inputStream = new URL(this.keyPath).openStream(); | ||||||
|  |           if (inputStream == null) { | ||||||
|  |             throw new WxPayException(fileNotFoundMsg); | ||||||
|  |           } | ||||||
|  |         } catch (IOException e) { | ||||||
|  |           throw new WxPayException(fileNotFoundMsg, e); | ||||||
|  |         } | ||||||
|       } else { |       } else { | ||||||
|         try { |         try { | ||||||
|           File file = new File(this.getKeyPath()); |           File file = new File(this.getKeyPath()); | ||||||
|  | |||||||
| @ -14,16 +14,18 @@ import static org.testng.Assert.*; | |||||||
| public class WxPayConfigTest { | public class WxPayConfigTest { | ||||||
|   private WxPayConfig payConfig = new WxPayConfig(); |   private WxPayConfig payConfig = new WxPayConfig(); | ||||||
|  |  | ||||||
|   /** |  | ||||||
|    * Test init ssl context. |  | ||||||
|    * |  | ||||||
|    * @throws Exception the exception |  | ||||||
|    */ |  | ||||||
|   @Test |   @Test | ||||||
|   public void testInitSSLContext() throws Exception { |   public void testInitSSLContext_classpath() throws Exception { | ||||||
|     payConfig.setMchId("123"); |     payConfig.setMchId("123"); | ||||||
|     payConfig.setKeyPath("classpath:/abc.p12"); |     payConfig.setKeyPath("classpath:/abc.p12"); | ||||||
|     payConfig.initSSLContext(); |     payConfig.initSSLContext(); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  |   @Test | ||||||
|  |   public void testInitSSLContext_http() throws Exception { | ||||||
|  |     payConfig.setMchId("123"); | ||||||
|  |     payConfig.setKeyPath("https://www.baidu.com"); | ||||||
|  |     payConfig.initSSLContext(); | ||||||
|  |   } | ||||||
|  |  | ||||||
| } | } | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	 Binary Wang
					Binary Wang