我的设备中有一个支付应用程序,我的应用程序连接到该应用程序的服务以获取启动支付活动的待处理意图,然后在onActivityResult()方法中监听结果.(类似于应用内购买方案)
我为付款意图设置了包裹名称.但是你知道,这并不能保证支付应用程序是值得信赖的.如果有人通过具有相同包名称和相同的aidl-service实现的未知来源安装假应用程序,那么它可以给我挂起意图和网络钓鱼我的用户信息.
我通过某种机制验证付款结果,并且只保证我的应用程序免于虚假付款,但我的应用程序用户在网络钓鱼者应用程序中输入他们的数据.(这一段说我的问题不信任支付应用程序的响应,我的问题是在启动他们的活动之前信任支付应用程序)
我知道一些方法,我可以检查其他应用程序签名和公钥.如果 Android操作系统保证公钥和签名是只读的并且与已安装的应用程序匹配,我可以依赖它并在发送意图之前检查支付应用程序的公钥.但我猜这些不是现成的,只检查匹配在安装.
防止网络钓鱼攻击的任何建议(类似或不同的方法)?
更新:直接从我的公司网站(Unknown-Source)约50%的应用程序用户安装应用程序.
我在项目中使用spring boot。当我运行我的应用程序时,如果我运行单元测试(@RunWith(SpringJUnit4ClassRunner)),一切都OK ,我得到了以下错误。我不知道为什么spring在单元测试中不使用application.properties(定义了哪些数据源参数)。
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource' threw exception; nested exception is org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException: Failed to determine a suitable driver class
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185)
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:579)
... 106 more
Caused by: org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException: Failed to determine a suitable driver class
at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.determineDriverClassName(DataSourceProperties.java:236)
at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.initializeDataSourceBuilder(DataSourceProperties.java:176)
at org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration.createDataSource(DataSourceConfiguration.java:43)
at org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari.dataSource(DataSourceConfiguration.java:81)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154)
... 107 more
Run Code Online (Sandbox Code Playgroud)
我的单元测试课是:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = Application.class)
public class RepoTest {
@Autowired IRepo repo;
@Test …Run Code Online (Sandbox Code Playgroud)