问题标签 [boringssl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1331 浏览

android - Qt for Android 和 BoringSSL

我正在为 Android 开发一个基于 Qt 的应用程序,它使用 QSslSocket 下载数据。由于依赖于 OpenSSL 库的 Marshmallow Qt 程序,Android 从 OpenSSL 转向 BoringSSL,因此在 Android 6+ 上会产生以下警告:

但是,套接字本身成功连接到远程主机并从那里读取数据,没有任何明显的问题。这让我想知道我是否需要自己构建 OpenSSL 库并将其打包,或者使用平台提供的 BoringSSL 是否可以。

我还注意到,Android 版本低于 6 的应用程序倾向于使用 OpenSSL 的系统版本,即使我提供了自己的版本。我尝试添加构建的 libssl.so 和 libcrypto.so(从 libssl.so.1.0.0 和 libcrypto.so.1.0.0 重命名)ANDROID_EXTRA_LIBS(不确定是否LIBS+=也需要使用),甚至静态链接 libssl.a 和libcrypto.a. 仍然 QSslSocket::sslLibraryVersionString() 返回平台上可用的版本。

我的问题是:

  1. 是需要自己搭建OpenSSL库并打包还是使用平台提供的库就可以了?
  2. 如果我这样做,如何让 Android 识别 libssl.so 和 libcrypto.so?
0 投票
1 回答
594 浏览

linux - 如何将 C 代码链接到 BoringSSL?

我想在 Ubuntu 上安装 BoringSSL 并链接到 BoringSSL 而不是 OpenSSL。我找不到有关如何执行此操作的简单教程,此处的构建说明含糊不清。

0 投票
1 回答
613 浏览

ssl - javax.net.ssl.SSLProtocolException after migrating from Retrofit to Retrofit 2

I'm about to migrate from retrofit 1.9 to the latest version and encounter an issue...

My setup:

  • Samsung Galaxy S7 Edge (Android 7)
  • Retrofit 2.3
  • OkHttp 3.8

After migration I encounter this problem all of a sudden:

Any ideas?

0 投票
0 回答
314 浏览

android - aes_ctr_128_encrypt 在Android中使用boringSSL

我正在尝试使用谷歌定义的 BoringSSL 在 android 中实现 aes_ctr128_encrypt。

我通过链接使用 CMAKE 和 Gninja 构建了应用程序

https://boringssl.googlesource.com/boringssl/+/master/BUILDING.md

现在我在 build 文件夹中有 crypto 和 ssl 文件夹,但是任何文件中都没有 AES 定义,因为 AES.h 在根目录的 include 文件夹中。

无论如何,使用 CMAKE 生成的二进制文件也提供 .a 文件而不是 .so 文件。如何在我的项目中使用这些 .a 文件来访问 aes_ctr_128_encrypt?

0 投票
0 回答
431 浏览

android - Android 应用程序创建带有 RabbitMQ 错误的 TLS 连接

错误消息是 SSL 握手中止,系统连接期间的 I/O 错误由对等方重置。谁能告诉我发生了什么事?

我根据 RabbitMQ 介绍创建证书。它适用于纯 Java 版本。但是,Android 无法读取 .JKS 文件,我重建了一个 .BKS 信任库。真的需要你的帮助。

0 投票
1 回答
329 浏览

android - 在android studio中通过openSSL进行SHA-1哈希

我正在通过 android NDK 在 android studio 中创建一个加密库。我正在使用 CMakeLists.txt 脚本。

在 C++ 文件中,我想包含#include <openssl/sha.h>.

如何在我的 c++ 文件中包含 OpenSSL?

0 投票
2 回答
760 浏览

android - 当我使用 TIdHTTP 进行 HTTPS 调用时,Android 6.0 应用程序崩溃

我将 Delphi XE8 与 Indy 10 一起用于 Android 应用程序开发。我已将该TIdHTTP组件用于 HTTP/S 服务调用。

它在 Android 5 及更早版本中运行良好,但在 Android 6.0 中却无法正常运行(当我尝试访问 HTTPS 协议时)。

我试过了TIdSSLIOHandlerSocketOpenSSL,但当我调用任何服务方法(如 PUT、POST、GET)时,应用程序仍然崩溃。

请帮助我。

0 投票
1 回答
1462 浏览

php - 使用 PHP/Python 验证 ECDSA 签名

我编写代码以使用 spongycastle lib 在 Android 上生成 ECDSA 签名。然后我将标志字符串和公钥发送到服务器(Ubuntu 16.04)并尝试使用 php 和 python 来验证这个标志。

我在我的 android 应用程序上测试验证。它运作良好。

我使用 php-openssl 扩展,在 Python 中我使用 ecdsa 0.13。但是,这两个都失败了。我再试一次,使用 openssl 命令,它也无法验证。

我不知道,我错在哪里。

为什么 ECDSA 验证失败?


这是我的代码:

  1. 生成签名(安卓):

    /li>
  2. 输出我有签名和公钥是:

    (公钥)

    /li>
  3. 使用 PHP 验证:

    /li>
0 投票
1 回答
719 浏览

android - Facebook sdk 密钥哈希太短

我最近尝试将 facebook-sdk 集成到我的一个 Unity 项目中,实施过程很顺利,但是为了使用 facebook-sdk api,我需要生成一个密钥哈希(调试和发布)。

我用 cmd 尝试过,因为这似乎是最简单的方法,但是在生成 key-hash 时遇到了问题,因为 key-hash 不是 28 个字母长。

  1. 我从这里下载了 openssl:code.google.com (openssl-0.9.8k_X64.zip)
  2. 我打开 cmd 并输入以下命令:

    keytool -exportcert -alias mykeyalias -keystore PathToKeystore\MyKey.keystore | openssl sha1 -二进制 | openssl base64

  3. 然后我需要输入密钥库文件的密码

  4. 最后我得到了一个 key-hash,但它太短了: 点击

然而奇怪的是:当我在 cmd 中输入这个命令时: keytool -exportcert -alias mykeyalias -keystore PathToKeystore\MyKey | openssl sha1 -二进制 | openssl base64

所以不是“MyKey.keystore”只是“MyKey”,我不必输入我的密码,而且我确实得到了一个 28 个字母的哈希: 点击

谁能解释一下是什么原因造成的?

0 投票
2 回答
3785 浏览

java - 错误:0c0890ba:ASN.1 编码例程:asn1_check_tlen:WRONG_TAG

我正在尝试在我的 volley 请求中实现 ssl 支持(我也在 SO 中看到了类似问题的答案,但这对我没有帮助)

在本文的帮助下,我将证书扩展名从 .cer 转换为 .bks

根据这个 SO answer我接下来做

我得到下一个错误

com.android.org.conscrypt.OpenSSLX509CertificateFactory$ParsingException: com.android.org.conscrypt.OpenSSLX509CertificateFactory$ParsingException: java.lang.RuntimeException: error:0c0890ba:ASN.1 编码例程:asn1_check_tlen:WRONG_TAG

正因为如此,我得到了这样的回应

错误的请求

错误请求 - 无效标头


HTTP 错误 400。请求的标头名称无效。

我究竟做错了什么?

随意问

编辑 1

所以现在我的getSSLSocketFactory()方法看起来像这样

现在我没有收到关于错误 TAG 的消息,但我仍然收到bad respond

ResponseJsonString = 错误请求

错误请求 - 无效标头


HTTP 错误 400。请求的标头名称无效。