-
附上安卓HttpClient调用北向鉴权接口代码示例,详细见附件: // 服务器端需要验证的客户端证书 KeyStore keyStore = KeyStore.getInstance("PKCS12");// 客户端信任的服务器端证书 KeyStore trustStore = KeyStore.getInstance("BKS"); // 读取证书输入流 InputStream ksIn = getApplicationContext().getAssets().open(Constant.SELFCERTPATH); InputStream tsIn = getApplicationContext().getAssets().open(Constant.TRUSTCAPATH);try { keyStore.load(ksIn, Constant.SELFCERTPWD.toCharArray()); trustStore.load(tsIn, Constant.TRUSTCAPWD.toCharArray()); } catch (Exception e) { e.printStackTrace(); } finally {try { ksIn.close(); } catch (Exception ignore) { }try { tsIn.close(); } catch (Exception ignore) { } } TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); trustManagerFactory.init(trustStore); KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance("X509"); keyManagerFactory.init(keyStore, Constant.SELFCERTPWD.toCharArray()); SSLSocketFactory ssl = new SSLSocketFactory(keyStore, Constant.SELFCERTPWD, trustStore); ssl.setHostnameVerifier(new AllowAllHostnameVerifier());httpClient = new DefaultHttpClient();if (ssl != null) { Scheme sch = new Scheme("https", ssl, 443);httpClient.getConnectionManager().getSchemeRegistry().register(sch); } Map// 发起请求,获取回应,自封装接口,详见附录 HttpResponse response = executeHttpRequest(request);注:1、安卓不支持jks格式证书,需使用bks格式证书,步骤如下:a)先使用jks证书生成cer证书,例:keytool -exportcert -alias test -file test.cer -keystore test.jks b)下载bcprov-ext-jdk15on-158.jar,根据本地jdk环境选择对应的jar文件下载,下载地址:http://www.bouncycastle.org/latest_releases.html,若本地已有,可跳过此步骤;c)将jar放在Java\jdk1.8.0_20\jre\lib\ext目录下,若本地已存在,可跳过此步骤;d)使用命令行生成bks格式证书,例:keytool -importcert -trustcacerts -keystore e:\test.bks -file e:\test.cer -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvidere)将p12证书和bks证书放入安卓资源文件夹assets中进行读取。2、SSLSocketFactory在安卓开发版本21中才能调用compileSdkVersion 21buildToolsVersion '21.1.2'IoTGUI.part1.rarIoTGUI.part2.rar
-
(转自 https://developer.huawei.com/ict/forum/forum.php?mod=viewthread&tid=24703&highlight )前言IKVM.NET是一个针对Mono和微软.net框架的java实现,其设计目的是在.NET平台上运行java程序。有些在java程序上可以实现的功能,但在C#中无法实现或者目前不知道怎么实现时(如带有特殊Padding的RSA2048加密,https双向认证等),可以考虑使用IKVM工具把已生成的jar转成dll供C#程序去调用。IKVM官网地址:https://www.nuget.org/packages/IKVM/由于IKVM7最高只支持jdk1.6编译出来的jar转换,建议使用最新版本IKVM8。使用说明前提条件:已通过java实现所需功能,且编译成一个jar,如MyHttpClient.jar。1. 在官网下载ikvm压缩包,这里用的是ikvmbin-8.1.5717.0.zip,解压到一个文件夹中,如C:\tools\ikvm-8.1.5717.0。2. 配置环境变量:在系统环境变量中增加IKVM_HOME:C:\tools\ikvm-8.1.5717.0,同时Path中增加%IKVM_HOME%/bin;3. 把MyHttpClient.jar放到一个工作目录下,如C:\tools\ikvm,在命令行中进入该目录,执行 ikvmc -target:library MyHttpClient.jar,即在当前目录下生产MyHttpClient.dll,这里只需要生成一个dll,如需生产可执行程序,可执行命令 ikvmc -target:exe xxx.jar。4. 在C#工程中引用MyHttpClient.dll以及IKVM相关的dll(C:\tools\ikvm-8.1.5717.0\bin目录下的以IKVM.开头的dll,这里为了方便全部引用了),C#中类的命名空间和java中的类的包名是一致的,如java中import com.huawei.myhttpclient,C#中为using com.huawei.myhttpclient特别注意:由于实际的java实现工程很多情况下都依赖一些第三方jar,比如举例的MyHttpClient工程使用了Apache httpClient相关组件实现的设置客户端,服务端证书,发送消息功能,依赖的jar有:commons-codec-1.9.jar,commons-logging-1.2.jar,httpclient-4.5.2.jar,httpcore-4.4.4.jar,httpmime-4.5.2.jar,在网上查询很多做法是把这些第三方jar依次编译成dll,执行ikvm命令时需要指定指定依赖的dll,比较麻烦,这里的做法是把这些jar用winrar等解压软件打开,然后里面的根目录文件夹org(里面包含了Apache httpClient编译生成的class),拷到MyHttpClient.jar中。补充:最近发现有人使用该方式,执行ikvmc编译命令时,命令行中报错:Class "org.apache.http.impl.client.DefaultHttpClient" not found.可能原因是导出jar时,Options选项中未勾选 Add Directory entries
-
用户问题Flume向Spark Streaming提交作业,提交到集群后报类找不到。问题类型大数据组件操作类问题现象Spark Streaming代码打成jar包提交到集群后报类找不到错误,通过以下两种方式依然不生效。在提交Spark作业的时候使用 --jars 命令引用类所在的jar包。将类所在的jar包引入Spark Streaming的jar包。原因分析执行Spark作业时无法加载部分jar,导致找不到class。处理步骤使用 --jars 加载flume-ng-sdk-{version}.jar依赖包。同时修改spark-default.conf中两个配置项。spark.driver.extraClassPath=$PWD/*:{加上原来配置的值}spark.executor.extraClassPath =$PWD/*作业运行成功。如果还有报错,则需要排查还有哪个jar没有加载,再次执行步骤1和步骤2。
-
下载地址:http://redis.googlecode.com/files/redis-2.0.4.tar.gz 2.0 目前是最新稳定版可以在linux下运行如下命令进行安装 15083 make完后redis-2.0.4目录下会出现编译后的redis服务程序redis-server,还有用于测试的客户端程序redis-cli 启动redis服务: 1.默认方式启动命令: $./redis-server 注意这种方式启动redis 使用的是默认配置。也可以通过启动参数告诉redis使用指定配置文件使用下面命令启动. 2.配置文件方式启动命令: $ ./redis-server redis.conf redis.conf是一个默认的配置文件。我们可以根据需要使用自己的配置文件。启动redis服务进程后,就可以使用测试客户端程序redis-cli和redis服务交互了. 如: 15084 3.java客户端配置: 客户端jar包地址 http://cloud.github.com/downloads/alphazero/jredis/jredis-1.0-rc2.jar 下载后引入jar包到工程,maven项目可以将jar包添加到本地仓库,将jar包添加到maven仓库的命令可自行百度,添加完后在pom文件中引入依赖即可。 java代码示例: package jredisStudy; import org.jredis.*; import org.jredis.ri.alphazero.JRedisClient; public class RedisTest { public static void main(String[] args) { try { JRedis jr = new JRedisClient("192.168.56.55",6379); //redis服务地址和端口号 String key = "mKey"; jr.set(key, "hello,redis!"); String v = new String(jr.get(key)); String k2 = "count"; jr.incr(k2); jr.incr(k2); System.out.println(v); System.out.println(new String(jr.get(k2))); } catch (Exception e) { // TODO: handle exception } } }
-
[code][ERROR] Failed to execute goal on project hadoop-aws: Could not resolve dependencies for project org.apache.hadoop:hadoop-aws:jar:3.0.0: Could not find artifact com.amazonaws:DynamoDBLocal:jar:1.11.86 in huaweicloud (https://repo.huaweicloud.com/repository/maven/) -[/code] 不使用Mirror时,正常从amazon下载了: [code]Downloading from dynamodb-local-oregon: https://s3-us-west-2.amazonaws.com/dynamodb-local/release/org/apache/servicemix/servicemix-pom/5/servicemix-pom-5.pom [/code]所以,能否添加amazon的mvn仓库。
-
本帖最后由 bigdata11 于 2017-12-13 11:28 编辑怎么传数据和jor程序jar包到mapreduce服务的HDFS上? 在快速入门里http://support.huaweicloud.com/mrs_ksrm/index.html,只有怎么上传program和input数据到OBS,没有介绍如何上传到HDFS上。
-
ServiceComb的jar包依赖如此混乱,,简直不敢想象是个大公司开源出来的成熟产品。 导入的dependency pom里包含了几百个jar包,不同模块依赖的同一个jar包的不同版本,,看看阿里的dubbo,springcloud这些竞品,还差了十万八千里远。。
-
本帖最后由 HW Developer 于 2017-9-7 09:57 编辑[color=rgb(51,51,51)]这是Jalor3框架提供的一个获取类路径下文件资源的方法,com.huawei.ormapping.common.resources.Resources.getResourceAsFile("config/excel/excel-validation.xml");[color=rgb(51,51,51)]发到测试环境后,老是报异常:java.io.FileNotFoundException: file:\D:\dev\workspace\PSI\201601\zzzTest\libs\config.jar!\config\excel\excel-validation.xml (文件名、目录名或卷**法不正确。)[color=rgb(51,51,51)]最后发现,这个方法是通过将java.net.URL的getFile方法返回的值直接当java.io.File的构造函数参数,如果要获取的文件资源不在jar包中,没有问题,但如果放在jar包中,就会报文件不存在。这时,只能用URL的openStream来获取文件信息。[color=rgb(51,51,51)]{:4_87:}本文来自华为资深应用实施专家日常总结分享
上滑加载中
推荐直播
-
华为AI技术发展与挑战:集成需求分析的实战指南
2024/11/26 周二 18:20-20:20
Alex 华为云学堂技术讲师
本期直播将综合讨论华为AI技术的发展现状,技术挑战,并深入探讨华为AI应用开发过程中的需求分析过程,从理论到实践帮助开发者快速掌握华为AI应用集成需求的框架和方法。
去报名 -
华为云DataArts+DWS助力企业数据治理一站式解决方案及应用实践
2024/11/27 周三 16:30-18:00
Walter.chi 华为云数据治理DTSE技术布道师
想知道数据治理项目中,数据主题域如何合理划分?数据标准及主数据标准如何制定?数仓分层模型如何合理规划?华为云DataArts+DWS助力企业数据治理项目一站式解决方案和应用实践告诉您答案!本期将从数据趋势、数据治理方案、数据治理规划及落地,案例分享四个方面来助力企业数据治理项目合理咨询规划及顺利实施。
去报名
热门标签