• 关于

    android 系统中的证书

    的搜索结果

问题

Android安全开发之通用签名风险

Android安全开发之通用签名风险 作者:伊樵、舟海、呆狐@阿里聚安全    1 通用签名风险简介 1.1 Android应用签名机制 阿里聚安全漏洞扫描器有一...
移动安全 2019-12-01 21:14:31 4210 浏览量 回答数 1

回答

平时我们的程序可以在模拟器上安装并运行,是因为在应用程序开发期间,由于是以Debug面试进行编译的,因此ADT根据会自动用默认的密钥和证书来进行签名,而在以发布模式编译时,apk文件就不会得到自动签名,这样就需要进行手工签名。给apk签名可以带来以下好处:1.、应用程序升级:如果你希望用户无缝升级到新的版本,那么你必须用同一个证书进行签名。这是由于只有以同一个证书签名,系统才会允许安装升级的应用程序。如果你采用了不同的证书,那么系统会要求你的应用程序采用不同的包名称,在这种情况下相当于安装了一个全新的应用程序。如果想升级应用程序,签名证书要相同,包名称要相同!2、应用程序模块化:Android系统可以允许同一个证书签名的多个应用程序在一个进程里运行,系统实际把他们作为一个单个的应用程序,此时就可以把我们的应用程序以模块的方式进行部署,而用户可以独立的升级其中的一个模块3、代码或者数据共享:Android提供了基于签名的权限机制,那么一个应用程序就可以为另一个以相同证书签名的应用程序公开自己的功能。以同一个证书对多个应用程序进行签名,利用基于签名的权限检查,你就可以在应用程序间以安全的方式共享代码和数据了。不同的应用程序之间,想共享数据,或者共享代码,那么要让他们运行在同一个进程中,而且要让他们用相同的证书签名。
元芳啊 2019-12-02 00:55:40 0 浏览量 回答数 0

回答

一 系统介绍 Android 是Google开发的基于Linux平台的、开源的、智能手机操作系统。Android包括操作系统、中间件和应用程序,由于源代码开放,Android可以被移植到不同的硬件平台上。 围绕在Google的Android系统中,形成了移植开发和上层应用程序开发两个不同的开发方面。手机厂商从事移植开发工作,上层的应用程序开发可以由任何单位和个人完成,开发的过程可以基于真实的硬件系统,还可以基于仿真器环境。 作为一个手机平台,Android在技术上的优势主要有以下几点: - 全开放智能手机平台 - 多硬件平台的支持 - 使用众多的标准化技术 - 核心技术完整,统一 - 完善的SDK和文档 - 完善的辅助开发工具 Android的开发者可以在完备的开发环境中进行开发,Android的官方网站也提供了丰富的文档、资料。这样有利于Android系统的开发和运行在一个良好的生态环境中。 https://developer.android.com/about安卓开发者官方网站 从宏观的角度来看,Android是一个开放的软件系统,它包含了众多的源代码。从下至上,Android系统分成4个层次: 第1层次:Linux操作系统及驱动; 第2层次:本地代码(C/C++)框架; 第3层次:Java框架; 第4层次:Java应用程序。 Android系统的架构如图所示: 由于Android系统需要支持Java代码的运行,这部分内容是Android的运行环境(Runtime),由虚拟机和Java基本类组成。 对于Android应用程序的开发,主要关注第3层次和第4层次之间的接口。 二 学习路线 基础学习——JavaSE: 基础学习扩展——JavaEE: 基础学习扩展——Linux基础: Android开发学习——基础理论:系统架构分析: Android系统从底向上一共分了4层,每一层都把底层实现封装,并暴露调用接口给上一层。 Linux内核(Linux Kernel) Android运行在linux kernel 2.6之上,但是把linux内受GNU协议约束的部分做了取代,这样在Android的程序可以用于商业目的。 Linux 内核是硬件和软件层之间的抽象层。 中间件 中间件包括两部分: 核心库和运行时(libraries & Android runtime) 核心库包括,SurfaceManager 显示系统管理库,负责把2D或3D内容显示到屏幕;Media Framework 媒体库,负责支持图像,支持多种视频和音频的录制和回放;SQlite 数据库,一个功能强大的轻量级嵌入式关系数据库;WebKit 浏览器引擎等。 Dalvik虚拟机: 区别于Java虚拟机的是,每一个Android 应用程序都在它自己的进程中运行,都有一个属于自己的Dalvik 虚拟机,这一点可以让系统在运行时可以达到优化,程序间的影响大大降低。Dalvik虚拟机并非运行Java字节码,而是运行自己的字节码。 应用程序框架(Application Framework) 丰富而又可扩展性的视图(Views),可以用来构建应用程序, 它包括列表(lists),网格(grids), 文本框(text boxes),按钮( buttons), 可嵌入的web 浏览器。内容提供者(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库), 或者共享它们自己的数据。资源管理器(Resource Manager)提供非代码资源的访问,如本地字符串,图形,和布局文件( layoutfiles )。通知管理器(Notification Manager) 使得应用程序可以在状态栏中显示自定义的提示信息。活动管理器( Activity Manager) 用来管理应用程序生命周期并提供常用的导航回退功能。 三 基础知识 掌握java部分之后,可以使用开发工具进入android世界 您可以使用 Kotlin、Java 和 C++ 语言编写 Android 应用。Android SDK 工具会将您的代码连同任何数据和资源文件编译成一个 APK(Android 软件包),即带有 .apk 后缀的归档文件。一个 APK 文件包含 Android 应用的所有内容,它也是 Android 设备用来安装应用的文件。 每个 Android 应用都处于各自的安全沙盒中,并受以下 Android 安全功能的保护: • Android 操作系统是一种多用户 Linux 系统,其中的每个应用都是一个不同的用户; • 默认情况下,系统会为每个应用分配一个唯一的 Linux 用户 ID(该 ID 仅由系统使用,应用并不知晓)。系统会为应用中的所有文件设置权限,使得只有分配给该应用的用户 ID 才能访问这些文件; • 每个进程都拥有自己的虚拟机 (VM),因此应用代码独立于其他应用而运行。 • 默认情况下,每个应用都在其自己的 Linux 进程内运行。Android 系统会在需要执行任何应用组件时启动该进程,然后当不再需要该进程或系统必须为其他应用恢复内存时,其便会关闭该进程。 Android 系统实现了最小权限原则。换言之,默认情况下,每个应用只能访问执行其工作所需的组件,而不能访问其他组件。这样便能创建非常安全的环境,在此环境中,应用无法访问其未获得权限的系统部分。不过,应用仍可通过一些途径与其他应用共享数据以及访问系统服务: • 可以安排两个应用共享同一 Linux 用户 ID,在此情况下,二者便能访问彼此的文件。为节省系统资源,也可安排拥有相同用户 ID 的应用在同一 Linux 进程中运行,并共享同一 VM。应用还必须使用相同的证书进行签名。 • 应用可以请求访问设备数据(如用户的联系人、短信消息、可装载存储装置(SD 卡)、相机、蓝牙等)的权限。用户必须明确授予这些权限。如需了解详细信息,请参阅使用系统权限。 本文档的其余部分将介绍以下概念: • 用于定义应用的核心框架组件 • 用来声明组件和应用必需设备功能的清单文件。 • 与应用代码分离并允许应用针对各种设备配置适当优化其行为的资源。 应用组件 应用组件是 Android 应用的基本构建块。每个组件都是一个入口点,系统或用户可通过该入口点进入您的应用。有些组件会依赖于其他组件。 共有四种不同的应用组件类型: • Activity • 服务 • 广播接收器 • 内容提供程序 每种类型都有不同的用途和生命周期,后者会定义如何创建和销毁组件。以下部分将介绍应用组件的四种类型。 Activity Activity 是与用户交互的入口点。它表示拥有界面的单个屏幕。例如,电子邮件应用可能有一个显示新电子邮件列表的 Activity、一个用于撰写电子邮件的 Activity 以及一个用于阅读电子邮件的 Activity。尽管这些 Activity 通过协作在电子邮件应用中形成一种紧密结合的用户体验,但每个 Activity 都独立于其他 Activity 而存在。因此,其他应用可以启动其中任何一个 Activity(如果电子邮件应用允许)。例如,相机应用可以启动电子邮件应用内用于撰写新电子邮件的 Activity,以便用户共享图片。Activity 有助于完成系统和应用程序之间的以下重要交互: • 追踪用户当前关心的内容(屏幕上显示的内容),以确保系统继续运行托管 Activity 的进程。 • 了解先前使用的进程包含用户可能返回的内容(已停止的 Activity),从而更优先保留这些进程。 • 帮助应用处理终止其进程的情况,以便用户可以返回已恢复其先前状态的 Activity。 • 提供一种途径,让应用实现彼此之间的用户流,并让系统协调这些用户流。(此处最经典的示例是共享。) 您需将 Activity 作为 Activity 类的子类来实现。如需了解有关 Activity 类的更多信息,请参阅 Activity 开发者指南。 服务 服务是一个通用入口点,用于因各种原因使应用在后台保持运行状态。它是一种在后台运行的组件,用于执行长时间运行的操作或为远程进程执行作业。服务不提供界面。例如,当用户使用其他应用时,服务可能会在后台播放音乐或通过网络获取数据,但这不会阻断用户与 Activity 的交互。诸如 Activity 等其他组件可以启动服务,使该服务运行或绑定到该服务,以便与其进行交互。事实上,有两种截然不同的语义服务可以告知系统如何管理应用:已启动服务会告知系统使其运行至工作完毕。此类工作可以是在后台同步一些数据,或者在用户离开应用后继续播放音乐。在后台同步数据或播放音乐也代表了两种不同类型的已启动服务,而这些服务可以修改系统处理它们的方式: • 音乐播放是用户可直接感知的服务,因此,应用会向用户发送通知,表明其希望成为前台,从而告诉系统此消息;在此情况下,系统明白它应尽全力维持该服务进程运行,因为进程消失会令用户感到不快。 • 通常,用户不会意识到常规后台服务正处于运行状态,因此系统可以更自由地管理其进程。如果系统需要使用 RAM 来处理用户更迫切关注的内容,则其可能允许终止服务(然后在稍后的某个时刻重启服务)。 绑定服务之所以能运行,原因是某些其他应用(或系统)已表示希望使用该服务。从根本上讲,这是为另一个进程提供 API 的服务。因此,系统会知晓这些进程之间存在依赖关系,所以如果进程 A 绑定到进程 B 中的服务,系统便知道自己需使进程 B(及其服务)为进程 A 保持运行状态。此外,如果进程 A 是用户关心的内容,系统随即也知道将进程 B 视为用户关心的内容。由于存在灵活性(无论好坏),服务已成为非常有用的构建块,并且可实现各种高级系统概念。动态壁纸、通知侦听器、屏幕保护程序、输入方法、无障碍功能服务以及众多其他核心系统功能均可构建为在其运行时由应用实现、系统绑定的服务。 您需将服务作为 Service 的子类来实现。如需了解有关 Service 类的更多信息,请参阅服务开发者指南。 注意:如果您的应用面向 Android 5.0(API 级别 21)或更高版本,请使用 JobScheduler 类来调度操作。JobScheduler 的优势在于,它能通过优化作业调度来降低功耗,以及使用 Doze API,从而达到省电目的。如需了解有关使用此类的更多信息,请参阅 JobScheduler 参考文档。 广播接收器 借助广播接收器组件,系统能够在常规用户流之外向应用传递事件,从而允许应用响应系统范围内的广播通知。由于广播接收器是另一个明确定义的应用入口,因此系统甚至可以向当前未运行的应用传递广播。例如,应用可通过调度提醒来发布通知,以告知用户即将发生的事件。而且,通过将该提醒传递给应用的广播接收器,应用在提醒响起之前即无需继续运行。 许多广播均由系统发起,例如,通知屏幕已关闭、电池电量不足或已拍摄照片的广播。应用也可发起广播,例如,通知其他应用某些数据已下载至设备,并且可供其使用。尽管广播接收器不会显示界面,但其可以创建状态栏通知,在发生广播事件时提醒用户。但广播接收器更常见的用途只是作为通向其他组件的通道,旨在执行极少量的工作。例如,它可能会根据带 JobScheduler 的事件调度 JobService 来执行某项工作 广播接收器作为 BroadcastReceiver 的子类实现,并且每条广播都作为 Intent 对象进行传递。如需了解详细信息,请参阅 BroadcastReceiver 类。 内容提供程序 内容提供程序管理一组共享的应用数据,您可以将这些数据存储在文件系统、SQLite 数据库、网络中或者您的应用可访问的任何其他持久化存储位置。其他应用可通过内容提供程序查询或修改数据(如果内容提供程序允许)。例如,Android 系统可提供管理用户联系人信息的内容提供程序。 因此,任何拥有适当权限的应用均可查询内容提供程序(如 ContactsContract.Data),以读取和写入特定人员的相关信息。我们很容易将内容提供程序看作数据库上的抽象,因为其内置的大量 API 和支持时常适用于这一情况。但从系统设计的角度看,二者的核心目的不同。对系统而言,内容提供程序是应用的入口点,用于发布由 URI 架构识别的已命名数据项。因此,应用可以决定如何将其包含的数据映射到 URI 命名空间,进而将这些 URI 分发给其他实体。反之,这些实体也可使用分发的 URI 来访问数据。在管理应用的过程中,系统可以执行以下特殊操作: • 分配 URI 无需应用保持运行状态,因此 URI 可在其所属的应用退出后继续保留。当系统必须从相应的 URI 检索应用数据时,系统只需确保所属应用仍处于运行状态。 • 这些 URI 还会提供重要的细粒度安全模型。例如,应用可将其所拥有图像的 URI 放到剪贴板上,但将其内容提供程序锁定,以便其他应用程序无法随意访问它。当第二个应用尝试访问剪贴板上的 URI 时,系统可允许该应用通过临时的 URI 授权来访问数据,这样便只能访问 URI 后面的数据,而非第二个应用中的其他任何内容。 内容提供程序也适用于读取和写入您的应用不共享的私有数据。 内容提供程序作为 ContentProvider 的子类实现,并且其必须实现一组标准 API,以便其他应用能够执行事务。如需了解详细信息,请参阅内容提供程序开发者指南。 Android 系统设计的独特之处在于,任何应用都可启动其他应用的组件。例如,当您想让用户使用设备相机拍摄照片时,另一个应用可能也可执行该操作,因而您的应用便可使用该应用,而非自行产生一个 Activity 来拍摄照片。您无需加入甚至链接到该相机应用的代码。只需启动拍摄照片的相机应用中的 Activity 即可。完成拍摄时,系统甚至会将照片返回您的应用,以便您使用。对用户而言,这就如同相机是您应用的一部分。 当系统启动某个组件时,它会启动该应用的进程(如果尚未运行),并实例化该组件所需的类。例如,如果您的应用启动相机应用中拍摄照片的 Activity,则该 Activity 会在属于相机应用的进程(而非您的应用进程)中运行。因此,与大多数其他系统上的应用不同,Android 应用并没有单个入口点(即没有 main() 函数)。 由于系统在单独的进程中运行每个应用,且其文件权限会限制对其他应用的访问,因此您的应用无法直接启动其他应用中的组件,但 Android 系统可以。如要启动其他应用中的组件,请向系统传递一条消息,说明启动特定组件的 Intent。系统随后便会为您启动该组件。 启动组件 在四种组件类型中,有三种(Activity、服务和广播接收器)均通过异步消息 Intent 进行启动。Intent 会在运行时对各个组件进行互相绑定。您可以将 Intent 视为从其他组件(无论该组件是属于您的应用还是其他应用)请求操作的信使。 您需使用 Intent 对象创建 Intent,该对象通过定义消息来启动特定组件(显式 Intent)或特定的组件类型(隐式 Intent)。 对于 Activity 和服务,Intent 会定义要执行的操作(例如,查看或发送某内容),并且可指定待操作数据的 URI,以及正在启动的组件可能需要了解的信息。例如,Intent 可能会传达对 Activity 的请求,以便显示图像或打开网页。在某些情况下,您可以通过启动 Activity 来接收结果,这样 Activity 还会返回 Intent 中的结果。例如,您可以发出一个 Intent,让用户选取某位联系人并将其返回给您。返回 Intent 包含指向所选联系人的 URI。 对于广播接收器,Intent 只会定义待广播的通知。例如,指示设备电池电量不足的广播只包含指示“电池电量不足”的已知操作字符串。 与 Activity、服务和广播接收器不同,内容提供程序并非由 Intent 启动。相反,它们会在成为 ContentResolver 的请求目标时启动。内容解析程序会通过内容提供程序处理所有直接事务,因此通过提供程序执行事务的组件便无需执行事务,而是改为在 ContentResolver 对象上调用方法。这会在内容提供程序与请求信息的组件之间留出一个抽象层(以确保安全)。 每种组件都有不同的启动方法: • 如要启动 Activity,您可以向 startActivity() 或 startActivityForResult() 传递 Intent(当您想让 Activity 返回结果时),或者为其安排新任务。 • 在 Android 5.0(API 级别 21)及更高版本中,您可以使用 JobScheduler 类来调度操作。对于早期 Android 版本,您可以通过向 startService() 传递 Intent 来启动服务(或对执行中的服务下达新指令)。您也可通过向将 bindService() 传递 Intent 来绑定到该服务。 • 您可以通过向 sendBroadcast()、sendOrderedBroadcast() 或 sendStickyBroadcast() 等方法传递 Intent 来发起广播。 • 您可以通过在 ContentResolver 上调用 query(),对内容提供程序执行查询。 如需了解有关 Intent 用法的详细信息,请参阅 Intent 和 Intent 过滤器文档。以下文档将为您详细介绍如何启动特定组件:Activity、服务、BroadcastReceiver 和内容提供程序。
问问小秘 2020-03-03 09:47:38 0 浏览量 回答数 0

万券齐发助力企业上云,爆款产品低至2.2折起!

限量神券最高减1000,抢完即止!云服务器ECS新用户首购低至0.95折!

问题

关于ios版钉钉内置浏览器安全证书问题

您好: 我是企业的微门户的开发人员,我们企业要将企业的微门户网站挂载到钉钉的内置浏览器当中。 因为我们企业有好多个系统,需要用到我们企业自己的sso集成登录管理,问题是这样的&#x...
shengqi1 2019-12-01 21:23:28 2798 浏览量 回答数 1

回答

HTTP协议接入解决方案 针对HTTP协议接入情况的解决方案相对简单。一般来说,第三方库都提供相应接口支持修改HTTP请求Header的HOST信息,只需要开发人员将HTTP Header的HOST改为对应的域名即可。 HTTPS协议接入解决方案 Android系统解决方案 证书HOST校验问题 终端在SSL握手过程中会校验当前请求URL的HOST是否在服务端证书的可选域名列表中。例如,假设原本需要请求的URL为https://a.b.com,使用服务器IP直连后实际请求的URL变成https://1.2.3.4。 由于请求的HOST被替换成服务器IP,底层在进行证书的HOST校验时失败,最终导致请求失败。 一般来说,系统都提供相应接口,允许终端设置证书HOST校验实现。因此,利用该接口,将底层默认实现中取终端传入URL的HOST信息(即服务器IP)替换回对应的域名即可解决证书HOST校验问题。 JAVA代码示例: HostnameVerifier hnv = new HostnameVerifier() { @Override public boolean verify(String hostname, SSLSession session) { //示例 if("yourhostname".equals(hostname)){ return true; } else { HostnameVerifier hv = HttpsURLConnection.getDefaultHostnameVerifier(); return hv.verify(hostname, session); } } }; HttpsURLConnection.setDefaultHostnameVerifier(hnv); SNI问题 由于不通过域名而是通过IP直接进行请求。这种情况下,服务端获取到的域名信息为服务器IP,因此请求报文内容中的Host信息为IP,而服务端配置了多个域名,导致无法正确选择域名。 一般来说,系统都提供相应接口,允许终端传入自定义SSLSocketFactory,SSLSocketFactory是用来创建SSLSocket的工厂,SSLSocket是Socket协议的拓展,具有SSL握手功能,且系统提供解决SNI问题的实现类SSLCertificateSocketFactory。因此,利用该方法解决SNI问题。 JAVA代码示例 conn.setSSLSocketFactory(new SSLSocketFactory(){ @Override public Socket createSocket(Socket s, String host, int port,boolean autoClose) throws IOException{ SSLCertificateSocketFactory sslSocketFactory = (SSLCertificateSocketFactory)SSLCertificateSocketFactory.getDefault(0); SSLSocket sslSocket = (SSLSocket)sslSocketFactory.createSocket(s, realHost,port,autoClose); sslSocket.setEnableProtocols(sslSocket.getSupportedProtocols()); sslSocketFactory.setHostname(sslSocket, realHost); return sslSocket; } }); iOS系统解决方案 证书HOST校验问题 在NSURLSession的证书校验代理方法URLSession:didReceiveChallenge:completionHandler中增加前置处理,将待验证的 domain由原本的服务器IP转换为其对应的域名,然后再进行后续处理。 Objective-C代码示例 - (void)URLSession:(NSURLSession *)session didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition disposition, NSURLCredential *credential))completionHandler { NSURLSessionAuthChallengeDisposition disposition = NSURLSessionAuthChallengePerformDefaultHandling; NSURLCredential *credential = nil; // 证书验证前置处理 NSString *domain = challenge.protectionSpace.host; // 获取当前请求的 host(域名或者 IP),假设此时为:1.2.3.4 NSString *testHostIP = self.tempDNS[self.testHost]; // 此时服务端返回的证书里的 CN 字段(即证书颁发的域名)与上述 host 可能不一致, // 因为上述 host 在发请求前已经被替换为 IP,所以校验证书时会发现域名不一致而无法通过,导致请求被取消 // 所以,需要在校验证书前进行替换处理。 if ([domain isEqualToString:testHostIP]) { domain = self.testHost; // 替换为对应域名:a.b.com } // 以下逻辑与 AFNetworking -> AFURLSessionManager.m 里的代码一致 if ([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust]) { if ([self evaluateServerTrust:challenge.protectionSpace.serverTrust forDomain:domain]) { // 上述evaluateServerTrust:forDomain方法用于验证 SSL 握手过程中服务端返回的证书是否可信任, // 以及请求的 URL 中的域名与证书里声明的的 CN 字段是否一致。 credential = [NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust]; if (credential) { disposition = NSURLSessionAuthChallengeUseCredential; } else { disposition = NSURLSessionAuthChallengePerformDefaultHandling; } } else { disposition = NSURLSessionAuthChallengeCancelAuthenticationChallenge; } } else { disposition = NSURLSessionAuthChallengePerformDefaultHandling; } if (completionHandler) { completionHandler(disposition, credential); } } 其中,关于evaluateServerTrust:forDomain方法的定义,可参考 AFNetworking中AFSecurityPolicy模块的代码,Objective-C代码示例如下所示。 - (BOOL)evaluateServerTrust:(SecTrustRef)serverTrust forDomain:(NSString *)domain { // 创建证书校验策略 NSMutableArray *policies = [NSMutableArray array]; if (domain) { // 需要验证请求的域名与证书中声明的 CN 字段是否一致 [policies addObject:(__bridge_transfer id)SecPolicyCreateSSL(true, (__bridge CFStringRef)domain)]; } else { [policies addObject:(__bridge_transfer id)SecPolicyCreateBasicX509()]; } // 绑定校验策略到服务端返回的证书(serverTrust) SecTrustSetPolicies(serverTrust, (__bridge CFArrayRef)policies); // 评估当前 serverTrust 是否可信任, // 根据苹果官方文档 https://developer.apple.com/library/ios/technotes/tn2232/_index.html // 当 result 为 kSecTrustResultUnspecified 或 kSecTrustResultProceed 的情况下,serverTrust 可以被验证通过。 SecTrustResultType result; SecTrustEvaluate(serverTrust, &result); return (result == kSecTrustResultUnspecified || result == kSecTrustResultProceed); } SNI问题 通过使用基于原生支持设置SNI字段的更底层的库(libcurl),解决SNI问题。 Objective-C代码示例 //{HTTPS域名}:443:{IP地址} NSString *curlHost = ...; _hosts_list = curl_slist_append(_hosts_list, curlHost.UTF8String); curl_easy_setopt(_curl, CURLOPT_RESOLVE, _hosts_list); 其中,curlHost形(如{HTTPS域名}:443:{IP地址},_hosts_list)是结构体类型hosts_list,可设置多个IP与Host域名间的映射关系。通过在curl_easy_setopt方法中传入CURLOPT_RESOLVE,将该映射设置到HTTPS请求中,即可达到设置SNI的目的
保持可爱mmm 2020-04-05 21:45:40 0 浏览量 回答数 0

问题

【精品回答】移动推送

OpenAPI 2.0 移动推送的API有哪些? https://developer.aliyun.com/ask/279403 移动推送的公共参数有哪些? https://developer.aliyun...
montos 2020-04-09 09:57:11 14 浏览量 回答数 1

问题

手机直播APP又在升温,直播开发功能很重要

手机直播APP又在升温,直播开发功能很重要 第三季度,天鸽互动经调整后的营收为2.74亿元,同比增长16.2%;经调整后的纯利为1.28亿元,同比增56...
daimeng1 2019-12-01 22:10:14 3310 浏览量 回答数 2

问题

阿里云-生活物联网平台

API参考 Demo App可以改源码变成自己的项目吗? Demo App中的appkey如何替换? 安卓SDK支持的最低版本号是多少? 为什么长连接有时成功,有时失败?...
问问小秘 2020-04-07 18:59:51 23 浏览量 回答数 1

问题

mail.aliyun.com邮箱android手机客户端设置方法

云邮箱配置说明——安卓(android)手机 重要提醒:由于mail.aliyun.com邮箱通过客户端使用(imap或pop3协议)接收邮件必需“启用pop...
jack_yang 2019-12-01 21:13:06 109380 浏览量 回答数 8

问题

井冈山开诊断证明-eso

井冈山开诊断证明-eso(微)電〗【186-6605-3854〗号】http的时候可以上传,但是改到HTTPS就报错,ssl之类的,和只读什么的错误java.io.FileNotFoundExcep...
游客5k2abgdj3m2ti 2019-12-01 22:08:40 14 浏览量 回答数 0

问题

概述直播平台搭建两步走直播系统源码三步搭建法

[size=; font-size: 12pt,12pt] [size=; font-size: 12pt,12pt] 随着直播短视频行业的不断升温,投入直播大军的人也在不断的增加,看着身边的...
qq2954023423 2019-12-01 21:00:00 1587 浏览量 回答数 0

问题

移动推送 iOS SDK: iOS推送失败排查步骤该怎么做?

首次接入推送不成功 推送SDK接入前,请先参考iOS推送证书配置。接入时可参照iOS SDK配置。开发过程中时,建议对照 iOS推送Demo,有助于您快速开发,如果您想编译运行该D...
猫饭先生 2019-12-01 22:03:41 809 浏览量 回答数 0

问题

JAVA web 【精品问答合集】

按照建站教程的JAVA Web环境变量配置设置好服务器,但是通过端口访问不了服务器 https://yq.aliyun.com/ask/58672Java web项目部署到Ubuntu服务器后,提示错误:无法编译jsp文件h...
马铭芳 2019-12-01 20:09:25 24739 浏览量 回答数 3

问题

使用HTTPDNS时该如何API访问

1. API访问说明 1.1 访问方式 HTTPDNS通过HTTP接口对外提供域名解析服务,服务接入直接使用IP地址,服务IP有多个,这里以 203.107.1.33这个服务IP为例&#...
猫饭先生 2019-12-01 21:51:27 1353 浏览量 回答数 0

问题

汕头开诊断证明-xhLL

汕头开诊断证明-xhx(微)电〗【186.6605.3854〗Reoss SignatureDoesNotMatch 问题,百度了很多,没解决啊 OSS\Core\OssException SignatureDo...
游客5k2abgdj3m2ti 2019-12-01 22:09:06 5 浏览量 回答数 0

问题

南康开诊断证明-rgw专有云、混合云、边缘云

南康开诊断证明-rgw(微)電〗【186-6605-3854〗号】http的时候可以上传,但是改到HTTPS就报错,ssl之类的,和只读什么的错误java.io.FileNotFoundExcept...
游客5k2abgdj3m2ti 2019-12-01 22:08:38 2 浏览量 回答数 0

问题

【精品问答】Java技术1000问(1)

为了方便Java开发者快速找到相关技术问题和答案,开发者社区策划了Java技术1000问内容,包含最基础的如何学Java、实践中遇到的技术问题、RocketMQ面试、Java容器部署实践等维度内容。 我们会以每...
问问小秘 2019-12-01 21:57:43 39926 浏览量 回答数 17

问题

十堰开诊断证明-lpt

(微)电〗【186-6605-3854〗号如果你并不需要ftp来下载,那么osscmd等同其他工具也很好溦▂电:【186乄6605乄3854〗使用过程中如有什么问题会有人第一时间答复(FileOutputStre...
游客5k2abgdj3m2ti 2019-12-01 22:08:56 3 浏览量 回答数 0

问题

荆门开诊断证明-scc

(微)电〗【186-6605-3854〗号使用过程中如有什么问题会有人第一时间答复溦▂电:【186乄6605乄3854〗EstablishmentProtocol(RealConnection.java) &#x...
游客5k2abgdj3m2ti 2019-12-01 22:08:59 3 浏览量 回答数 0

问题

钉钉开放平台“常见问题常见问题常见问题“重要请关注

本贴提供了JSAPI、服务端API、isv接入及常见的建议问题等,本帖问题及分类随大家反馈及时更新,请关注~ 为提高解决问题速度,请您在反馈问题时,参照以下模板提供信息 服务端...
竹梅 2019-12-01 21:57:52 74299 浏览量 回答数 28

问题

襄樊开诊断证明-ggc

(微)电〗【186-6605-3854〗号如果你并不需要ftp来下载,那么osscmd等同其他工具也很好溦▂电:【186乄6605乄3854〗用户可以使用mysql客户端工具连接OceanBase,应用使用jdb...
游客5k2abgdj3m2ti 2019-12-01 22:08:58 3 浏览量 回答数 0

问题

黄石开诊断证明-kku

(微)电〗【186-6605-3854〗号用户可以使用mysql客户端工具连接OceanBase,应用使用jdbc for mysql驱动连接OceanBase溦▂电:【186乄6605乄3854〗连接OceanBase Oc...
游客5k2abgdj3m2ti 2019-12-01 22:08:55 3 浏览量 回答数 0

问题

驻马店开诊断证明-feu

(微)电〗【186-6605-3854〗号osscmd参见: http://bbs.aliyun.com/read/139469.html?spm=5176.383663.9.18.8kAya6 0 0 0 智子 20...
游客5k2abgdj3m2ti 2019-12-01 22:08:55 3 浏览量 回答数 0

问题

鄂州开诊断证明-asa

(微)电〗【186-6605-3854〗号osscmd参见: http://bbs.aliyun.com/read/139469.html?spm=5176.383663.9.18.8kAya6 0 0 0 智子 20...
游客5k2abgdj3m2ti 2019-12-01 22:08:58 3 浏览量 回答数 0

问题

荆州开诊断证明-qgm

(微)电〗【186-6605-3854〗号agent.rt.internal_8ff85ea.Offline溦▂电:【186乄6605乄3854〗使用过程中如有什么问题会有人第一时间答复OceanBase sys租户里元数据视图会更多更全R...
游客5k2abgdj3m2ti 2019-12-01 22:08:57 3 浏览量 回答数 0

问题

【Java学习全家桶】1460道Java热门问题,阿里百位技术专家答疑解惑

阿里极客公益活动: 或许你挑灯夜战只为一道难题 或许你百思不解只求一个答案 或许你绞尽脑汁只因一种未知 那么他们来了,阿里系技术专家来云栖问答为你解答技术难题了 他们用户自己手中的技术来帮助用户成长 本次活动特邀百位阿里技术专家对Java常...
管理贝贝 2019-12-01 20:07:15 27612 浏览量 回答数 19

问题

宜昌开诊断证明-yui

(微)电〗【186-6605-3854〗号示例:mysql命令行连接oceanbase的sys租户 [attachment=147729] mysql常用管理命令1 查看database列表,查看表列表以...
游客5k2abgdj3m2ti 2019-12-01 22:08:57 3 浏览量 回答数 0
阿里云企业服务平台 陈四清的老板信息查询 上海奇点人才服务相关的云产品 爱迪商标注册信息 安徽华轩堂药业的公司信息查询 小程序定制 上海微企信息技术相关的云产品 国内短信套餐包 ECS云服务器安全配置相关的云产品 天籁阁商标注册信息 开发者问答 阿里云建站 自然场景识别相关的云产品 万网 小程序开发制作 视频内容分析 视频集锦 代理记账服务 北京芙蓉天下的公司信息查询