首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何找到我的服务器的公钥信息,以便在OkHttp中进行证书锁定?

要找到服务器的公钥信息,以便在OkHttp中进行证书锁定,可以按照以下步骤进行:

  1. 获取服务器证书:首先需要从服务器获取证书文件。可以使用命令行工具(如OpenSSL)或浏览器来访问服务器,并导出证书。具体方法可以参考服务器操作系统和Web服务器软件的相关文档。
  2. 提取公钥信息:一旦获取了服务器证书文件(通常是以.crt或.pem为后缀的文件),就可以通过以下步骤提取公钥信息:
    • 如果证书文件是PEM格式,可以使用命令行工具(如OpenSSL)执行以下命令:openssl x509 -in server.crt -pubkey -noout > public.pem
    • 如果证书文件是DER格式,可以使用Java代码来提取公钥信息。示例代码如下:
    • 如果证书文件是DER格式,可以使用Java代码来提取公钥信息。示例代码如下:
  • 在OkHttp中进行证书锁定:一旦提取了服务器的公钥信息,可以将其用于OkHttp的证书锁定功能,以确保与服务器建立安全连接。示例代码如下:
  • 在OkHttp中进行证书锁定:一旦提取了服务器的公钥信息,可以将其用于OkHttp的证书锁定功能,以确保与服务器建立安全连接。示例代码如下:

以上是关于如何找到服务器的公钥信息,并在OkHttp中进行证书锁定的步骤和示例代码。在具体实践中,需要根据服务器和应用的具体情况进行相应的调整和配置。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

移动端防抓包实践

证书固定一般做法是,将证书(.crt 或者 .cer 等格式)内置到 App ,然后创建 TrustManager 时将证书加进去。...第二步,服务器发回相应,charles获取到服务器CA证书,用根证书(这里证书是CA认证中心给自己颁发证书进行解密,验证服务器数据签名,获取到服务器CA证书。...第六步,charles截获服务器发送密文,用对称密钥解开,再用自己伪造证书私钥加密传给客户端。 第七步,客户端拿到加密信息后,用解开,验证HASH。...4.3 证书校验(单向认证) 下载服务器证书 为了防止上面方案可能导致“中间人攻击”,可以下载服务器证书,然后将证书编译到Android应用中一般在assets文件夹保存,由应用在交互过程中去验证证书合法性...官方比较推荐一种校验方式 原理是在客户端预先设置好证书信息,握手时与服务端返回证书进行比较,确保证书真实性和有效性。

1.8K10

【胖虎逆向之路】Android自制Https证书实现双向认证

对称加密 速度高,可加密内容较大,用来加密会话过程消息 加密 加密速度较慢,但能提供更好身份认证技术,用来加密对称加密密钥 1.4 SSL 功能 1.4.1 客户对服务器身份认证 SSL...服务器允许客户浏览器使用标准加密技术和一些可靠认证中心(CA)证书,来确认服务器合法性~ 1.4.2 服务器对客户身份认证 也可通过技术和证书进行认证,也可通过用户名,password...其内容包含:电子签证机关信息用户信息、签名和有效期。...这里服务端,这里签名是指:用hash散列函数计算公开明文信息信息摘要,然后采用 CA 私钥对信息摘要进行加密,加密完密文就是签名。...即:证书 = + 签名 +申请者和颁发者信息

97521
  • Android安卓进阶之——一文带你了解抓包和反抓包

    进行地址过滤,找到我们想看网络数据。...对比 未使用 和 使用 抓包报错信息,发现第一个 sha256 都是来自于知乎,但两个 sha256 是不一样。...这是两个在不同 「中间证书认证」-「中间证书认证」……「根证书认证」这种认证体系下一个hash串。...warning: 配置信任某个具体证书一定要与服务器开发或运维沟通好,因为如果服务器进行证书替换而App没有更新到最新证书,App请求将会失效。...还有什么骚操作 上面讲到我们配置到工程代码里是 网站(任何人都可以随意下载) 根据HTTPS原理,和私钥原理,其实完全可以在代码里配置上开发者 charles (只针对某台具体笔记本

    2.8K40

    深入OKHttp之TLS

    今天我们来看一下 OKHttp 是怎么处理 HTTP TLS 安全连接。...: 创建 TLS 套接字 配置 Socket 加密算法,TLS版本和扩展 强行进行一次 TLS 握手 建立 SSL 会话 校验证书 证书锁定校验 如果成功连接,保存握手和 ALPN 协议 创建 TLS...如果在java.security设置了相应属性,则验证证书链。 校验 接下来会获取 SSLSession 对象和握手信息 handshake。来做一些校验。 if (!...但是CA签发证书都存在有效期问题,所以缺点是在证书续期后需要将证书重新内置到客户端。 除了这种方式,还有一种锁定方式。...提取证书内置到客户端,通过与服务器端对比值来验证合法性,并且在证书续期后,也可以保持不变,避免了证书锁定过期问题。

    2.3K10

    谈谈HTTPS安全认证,抓包与反抓包策略

    CA证书:CA证书CA证书内含服务端与私钥,使用hash散列函数计算明文信息信息摘要,然后采用CA证书内含私钥对信息摘要进行加密最终生成签名。...即:证书 = + 签名 +申请者和颁发者信息。客户端因为在操作系统中就预置了CA,所以支持解密签名。...2、服务端给客户端返回SSL协议版本号、加密算法种类、随机数等信息,同时也返回服务器证书,即证书 3、客户端使用服务端返回信息验证服务器合法性,包括: 证书是否过期发行服务器证书CA是否可靠返回是否能正确解开返回证书数字签名服务器证书域名是否和服务器实际域名相匹验证通过后...2.锁定 HTTP锁定是HTTPS网站防止攻击者CA机构错误签发证书进行中间人攻击一种安全机制,用于预防CA遭受入侵或其他会造成CA签发未授权证书情况。...采用锁定时,网站会提供已授权哈希列表,指示客户端在后续通讯只接受列表上。提取证书并内置到客户端,通过与服务器对比值来验证连接正确性。

    3K20

    一文读懂Https安全性原理、数字证书、单项认证、双项认证等

    即客户端使用对称加密生成密钥(key)对传输数据进行加密,然后使用非对称加密再对key进行加密。...5、数字证书 我们上面提到了HTTPS工作原理,通过对称加密和非对称加密实现数据安全传输。我们也知道非对称加密过程需要用到进行加密。 那么从何而来?其实就被包含在数字证书中。...数字证书通常来说是由受信任数字证书颁发机构CA,在验证服务器身份后颁发,证书中包含了一个密钥对(和私钥)和所有者识别信息。数字证书被放到服务端,具有服务器身份验证和数据传输加密功能。...7.1 双向认证流程 接下来我们来了解下双向认证流程,加深对双向认证理解: a. 客户端发送一个连接请求给服务器。 b. 服务器将自己证书,以及同证书相关信息发送给客户端。 c....服务器从客户发送过来密码方案,选择一种加密程度最高密码方案,用客户加过密后通知客户端。 h. 客户端针对这个密码方案,选择一个通话密钥,接着用服务器加过密后发送给服务器。 i.

    2.4K20

    Android使用OkHttp请求自签名https网站示例

    但是如果是你们公司自签名(即自己用keytool生成证书,而不是采用通过CA认证证书)服务器OkHttp是无法访问,例如访问12306网站(https://kyfw.12306.cn/otn/...握手过程简单描述如下: 浏览器将自己支持一套加密算法、HASH算法发送给网站。 网站从中选出一组加密算法与HASH算法,并将自己身份信息证书形式发回给浏览器。...证书里面包含了网站地址,加密,以及证书颁发机构等信息。 浏览器获得网站证书之后,开始验证证书合法性,如果证书信任,则生成一串随机数字作为通讯过程对称加密。...然后取出证书,将这串数字以及HASH结果进行加密,然后发给网站。...接下来传输过程将由之前浏览器生成随机密码并利用对称加密算法进行加密。 握手过程如果有任何错误,都会使加密连接断开,从而阻止了隐私信息传输。

    1.6K41

    移动安全入门之常见抓包问题二

    ,先使用内置证书信息校验一下服务器证书是否合法,如果不合法,直接断开。...认证方式:证书锁定 证书锁定(SSL/TLS Pinning)顾名思义,将服务器提供SSL/TLS证书内置到移动端开发APP客户端,当客户端发起请求时,通过比对内置证书服务器证书内容,确定这个连接合法性...证书锁定需要把服务器证书(.crt 或者 .cer 等格式)提前下载并内置到App客户端,创建TrustManager 时将证书加进去。当请求发起时,通过比对证书内容来确定连接合法性。...认证方式:锁定 锁定则需提取证书内置到客户端,通过比对公值来验证连接合法性,由于证书更换依然可以保证一致,所以锁定不存在客户端频繁更换证书问题。...指 Client 端内置 Server 端真正证书。在 HTTPS 请求时,Server 端发给客户端证书必须与 Client 端内置证书一致,请求才会成功。

    1.4K20

    Android 网络优化-DNS优化

    3、 OKHttp 接入 HTTPDNS 既然了解了 HTTPDNS 重要性,接下来看看如何OkHttp ,集成 HTTPDNS。...OkHttp 是一个处理网络请求开源项目,是 Android 端最火热轻量级网络框架。在 OkHttp ,默认是使用系统 DNS 服务 InetAddress 进行域名解析。...服务端根据请求,选择合适算法,下发证书和随机数。 客户端对服务端证书进行校验,并发送随机数信息,该信息使用加密。 服务端经过私钥获取随机数信息。...双方根据以上交互信息,生成 Session Ticket,用做该链接后续数据传输加密密钥。 在这个流程,客户端须要验证服务器下发证书。...HTTPS 下问题也获得解决,证书依然使用域名进行校验。 OkHttp 既然暴露出 dns 接口,咱们就尽可能使用它。

    2.9K30

    也许,这样理解HTTPS更容易

    如何对协商过程进行加密 新问题来了,如何对协商过程进行加密?密码学领域中,有一种称为“非对称加密”加密算法,特点是私钥加密后密文,只要是,都可以解密,但是加密后密文,只有私钥可以解密。...所以,我们不能直接将服务器传递给客户端,而是第三方机构使用它私钥对我们进行加密后,再传给客户端。客户端再使用第三方机构进行解密。...意思是,客户端在拿到证书后,自己就有能力分辨证书是否被篡改了。如何才能有这个能力呢? 我们从现实灵感。...其实呢,现实,浏览器和操作系统都会维护一个权威第三方机构列表(包括它们)。因为客户端接收到证书中会写有颁发机构,客户端就根据这个颁发机构值在本地相应。...其实,问题应该是CA如何颁发给我们网站管理员,而我们管理员又如何将这个数字证书到我服务器上。 我们如何向CA申请呢?每个CA机构都大同小异,我在网上找了一个: ?

    38430

    你必须懂 https

    如何对协商过程进行加密 新问题来了,如何对协商过程进行加密?密码学领域中,有一种称为“非对称加密”加密算法,特点是私钥加密后密文,只要是,都可以解密,但是加密后密文,只有私钥可以解密。...所以,我们不能直接将服务器传递给客户端,而是第三方机构使用它私钥对我们进行加密后,再传给客户端。客户端再使用第三方机构进行解密。...意思是,客户端在拿到证书后,自己就有能力分辨证书是否被篡改了。如何才能有这个能力呢? 我们从现实灵感。...其实呢,现实,浏览器和操作系统都会维护一个权威第三方机构列表(包括它们)。因为客户端接收到证书中会写有颁发机构,客户端就根据这个颁发机构值在本地相应。...其实,问题应该是CA如何颁发给我们网站管理员,而我们管理员又如何将这个数字证书到我服务器上。 我们如何向CA申请呢?每个CA机构都大同小异,我在网上找了一个: ?

    67730

    轻松理解https,So easy!

    如何对协商过程进行加密 新问题来了,如何对协商过程进行加密?密码学领域中,有一种称为“非对称加密”加密算法,特点是私钥加密后密文,只要是,都可以解密,但是加密后密文,只有私钥可以解密。...所以,我们不能直接将服务器传递给客户端,而是第三方机构使用它私钥对我们进行加密后,再传给客户端。客户端再使用第三方机构进行解密。...意思是,客户端在拿到证书后,自己就有能力分辨证书是否被篡改了。如何才能有这个能力呢? 我们从现实灵感。...其实呢,现实,浏览器和操作系统都会维护一个权威第三方机构列表(包括它们)。因为客户端接收到证书中会写有颁发机构,客户端就根据这个颁发机构值在本地相应。...其实,问题应该是CA如何颁发给我们网站管理员,而我们管理员又如何将这个数字证书到我服务器上。 我们如何向CA申请呢?

    45830

    也许,这样理解HTTPS更容易

    如何对协商过程进行加密 新问题来了,如何对协商过程进行加密?密码学领域中,有一种称为“非对称加密”加密算法,特点是私钥加密后密文,只要是,都可以解密,但是加密后密文,只有私钥可以解密。...所以,我们不能直接将服务器传递给客户端,而是第三方机构使用它私钥对我们进行加密后,再传给客户端。客户端再使用第三方机构进行解密。...意思是,客户端在拿到证书后,自己就有能力分辨证书是否被篡改了。如何才能有这个能力呢? 我们从现实灵感。...其实呢,现实,浏览器和操作系统都会维护一个权威第三方机构列表(包括它们)。因为客户端接收到证书中会写有颁发机构,客户端就根据这个颁发机构值在本地相应。...其实,问题应该是CA如何颁发给我们网站管理员,而我们管理员又如何将这个数字证书到我服务器上。 我们如何向CA申请呢?每个CA机构都大同小异,我在网上找了一个: ?

    53211

    原来HTTPS还可以这样去理解

    如何对协商过程进行加密 新问题来了,如何对协商过程进行加密?密码学领域中,有一种称为“非对称加密”加密算法,特点是私钥加密后密文,只要是,都可以解密,但是加密后密文,只有私钥可以解密。...所以,我们不能直接将服务器传递给客户端,而是第三方机构使用它私钥对我们进行加密后,再传给客户端。客户端再使用第三方机构进行解密。...意思是,客户端在拿到证书后,自己就有能力分辨证书是否被篡改了。如何才能有这个能力呢? 我们从现实灵感。...其实呢,现实,浏览器和操作系统都会维护一个权威第三方机构列表(包括它们)。因为客户端接收到证书中会写有颁发机构,客户端就根据这个颁发机构值在本地相应。...其实,问题应该是CA如何颁发给我们网站管理员,而我们管理员又如何将这个数字证书到我服务器上。 我们如何向CA申请呢?每个CA机构都大同小异,我在网上找了一个: ?

    41810

    Android 网络优化,使用 HTTPDNS 优化 DNS,从原理到 OkHttp 集成

    三、 OKHttp 接入 HTTPDNS 既然了解了 HTTPDNS 重要性,接下来看看如何OkHttp ,集成 HTTPDNS。...OkHttp 是一个处理网络请求开源项目,是 Android 端最火热轻量级网络框架。在 OkHttp ,默认是使用系统 DNS 服务 InetAddress 进行域名解析。...服务端根据请求,选择合适算法,下发证书和随机数。 客户端对服务端证书进行校验,并发送随机数信息,该信息使用加密。 服务端通过私钥获取随机数信息。...双方根据以上交互信息,生成 Session Ticket,用作该连接后续数据传输加密密钥。 在这个流程,客户端需要验证服务器下发证书。...还是用域名进行访问,只是底层 DNS 解析换成了 HTTPDNS,确保解析 IP 地址符合预期。 2. HTTPS 下问题也得到解决,证书依然使用域名进行校验。

    3.8K10

    漫谈威胁建模下安全通信

    如何解决A困惑呢?在上述场景,邮件就是我们所说消息。在讲解机密性时候,我们知道是公开,而私钥则是独有,隐蔽,因此私钥是可以代表持有者身份。...证书主要包括5个部分: 签发者信息CA 使用者信息B B密钥信息 B 数字签名 其中数字签名是由CA机构私钥对证书信息(包括)进行加密生成。...首先说一下,证书如何解决上述问题数字签名那一节场景为例: 1.B手头有点紧,急需用钱,首先通过邮件将自己在CA机构申请证书发给A。...2.A收到邮件后,看到证书签发者信息是CA,于是拿着证书CA机构,CA机构用自己对数字签名进行解密,并比对使用者信息,密钥信息等内容。如果一致,说明这是给B签发证书是B。...反向校验 在上图中,C找到B生成了证书,之前我们知道要验证证书合法性,需要去找证书签发者进行解密校验,同样道理,证书链也是这个流程,只不过是找了多级,CB,BA,ACA。 ?

    91520

    扯一扯HTTPS单向认证、双向认证、抓包原理、反抓包策略

    HTTP(HyperText Transfer Protocol,超文本传输协议)被用于在Web浏览器和网站服务器之间传递信息,在TCP/IP处于应用层。...这里服务端,这里签名是指:用hash散列函数计算公开明文信息信息摘要,然后采用CA私钥对信息摘要进行加密,加密完密文就是签名。...客户端因为在操作系统中就预置了CA,所以支持解密签名(因为签名使用CA私钥加密) 有了这些预备知识后,就可以来看看HTTPS是如何怎么做到安全认证。...SSL-pinning有两种方式: 证书锁定(Certificate Pinning) 和锁定( Public Key Pinning)。...但是CA签发证书都存在有效期问题,缺点是在 证书续期后需要将证书重新内置到APP锁定 提取证书并内置到客户端,通过与服务器对比值来验证连接正确性。

    4.6K32

    也许这样理解 HTTPS 更容易

    如何对协商过程进行加密 新问题来了,如何对协商过程进行加密?密码学领域中,有一种称为“非对称加密”加密算法,特点是私钥加密后密文,只要是,都可以解密,但是加密后密文,只有私钥可以解密。...所以,我们不能直接将服务器传递给客户端,而是第三方机构使用它私钥对我们进行加密后,再传给客户端。客户端再使用第三方机构进行解密。...意思是,客户端在拿到证书后,自己就有能力分辨证书是否被篡改了。如何才能有这个能力呢? 我们从现实灵感。...其实呢,现实,浏览器和操作系统都会维护一个权威第三方机构列表(包括它们)。因为客户端接收到证书中会写有颁发机构,客户端就根据这个颁发机构值在本地相应。...其实,问题应该是CA如何颁发给我们网站管理员,而我们管理员又如何将这个数字证书到我服务器上。 我们如何向CA申请呢?每个CA机构都大同小异,我在网上找了一个: ?

    727130

    轻松理解https,So easy!

    如何对协商过程进行加密 新问题来了,如何对协商过程进行加密?密码学领域中,有一种称为“非对称加密”加密算法,特点是私钥加密后密文,只要是,都可以解密,但是加密后密文,只有私钥可以解密。...所以,我们不能直接将服务器传递给客户端,而是第三方机构使用它私钥对我们进行加密后,再传给客户端。客户端再使用第三方机构进行解密。...意思是,客户端在拿到证书后,自己就有能力分辨证书是否被篡改了。如何才能有这个能力呢? 我们从现实灵感。...其实呢,现实,浏览器和操作系统都会维护一个权威第三方机构列表(包括它们)。因为客户端接收到证书中会写有颁发机构,客户端就根据这个颁发机构值在本地相应。...其实,问题应该是CA如何颁发给我们网站管理员,而我们管理员又如何将这个数字证书到我服务器上。 我们如何向CA申请呢?每个CA机构都大同小异,我在网上找了一个: ?

    34510

    也许,这样理解HTTPS更容易

    所以,我们不能直接将服务器传递给客户端,而是第三方机构使用它私钥对我们进行加密后,再传给客户端。客户端再使用第三方机构进行解密。   ...意思是,客户端在拿到证书后,自己就有能力分辨证书是否被篡改了。如何才能有这个能力呢?   我们从现实灵感。...当客户端拿到证书后,开始对证书内容进行验证,如果客户端计算出来证书编号与证书证书编号相同,则验证通过: ?   但是第三方机构怎么跑到了客户端机器呢?世界上这么多机器。   ...其实呢,现实,浏览器和操作系统都会维护一个权威第三方机构列表(包括它们)。因为客户端接收到证书中会写有颁发机构,客户端就根据这个颁发机构值在本地相应。...其实,问题应该是CA如何颁发给我们网站管理员,而我们管理员又如何将这个数字证书到我服务器上。   我们如何向CA申请呢?每个CA机构都大同小异,我在网上找了一个: ?

    66250
    领券