问题标签 [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 投票
0 回答
461 浏览

android - 为Android编译boringssl问题

我正在尝试编译boringssl库,以便可以在Android项目中使用它(在Ubuntu 18.04上构建)。我正在遵循链接中的构建步骤。

这是我的环境设置:

这些工具确实存在于我的 /usr/bin 中

下面列出了工具的版本:

尝试了this issue中提到的建议,但没有用。

错误说“/home/amy/android_test/android-ndk-r21-beta2/toolchains/llvm/prebuilt/linux-x86_64/bin/clang”不是完整路径,所以我检查了路径中的内容(我没有请参阅其中列出的“linux-x86_64”):

0 投票
1 回答
171 浏览

openssl - 客户端可以使用 BoringSSL 与使用 OpenSSL 的服务器通信吗?

我有一个使用 OpenSSL 进行安全通信的服务器/客户端程序。出于某种原因,我必须在客户端使用 BoringSSL,并且更喜欢将 OpenSSL 保留在服务器端。

我能够将 BoringSSL 编译为 libssl.a/libcrypto.a 并链接到客户端程序,唯一的问题是在使用SSL_CTX_new()启动 SSL 连接时,只有功能TLS_with_buffers_method()可用。在创建对应连接时我正在使用的服务器端TLS_server_method()SSL_CTX_new()在这种情况下,客户端无法启动与服务器的 SSL 连接。

只是想确认有没有办法将 BoringSSL 配置为与 OpenSSL 一起使用?或者它不起作用,因为下面的详细实现不同......

我的服务器是 linux 主机,而客户端是 android/ios 主机

0 投票
2 回答
1163 浏览

c - 如何在已经安装了 OpenSSL 的 Linux 中使用 BoringSSL?

我能够在 Ubuntu 上编译 BoringSSL 并创建 libssl.a 和 libcrypto.a。在 Makefile 中,我更改-L了指向这些库位置并-lssl -lcrypto指定库名称的路径。但是,我的机器已经安装了 OpenSSL,所以在这种情况下,看起来 OpenSSL 库一如既往地被拾取,因为这些库具有完全相同的名称。

除了完全删除或禁用 OpenSSL 并尝试之外,是否还有其他方法可以强制操作系统使用 BoringSSL?

0 投票
1 回答
211 浏览

ssl - 我应该如何在 BoringSSL 中使用 TLS_with_buffers_method() 与带有自签名证书的 OpenSSL 服务器通信?

我正在尝试在与使用 OpenSSL 的服务器通信的客户端中使用 BoringSSL。客户端和服务器都位于内部网络中,并使用私有 IP 地址(192.168.xx)进行通信。BoringSSL 库公开的用于创建 SSL 连接的两个函数之一SSL_CTX_new()TLS_with_buffers_method(). 我已经尝试过这个功能,但它无法与我的 OpenSSL 服务器建立,因为来自服务器的证书是自签名的。

根据下面 BoringSSL 的移植指南,它避免了创建 X509 对象。

"The function TLS_with_buffers_method returns an SSL_METHOD that avoids creating X509 objects for certificates. Additionally, SSL_CTX_set0_buffer_pool can be used to install a pool on an SSL_CTX so that certificates can be deduplicated across connections and across SSL_CTXs."

但是,我的服务器使用 OpenSSL 使用的是使用 x509 创建的证书并且是自签名的。我不熟悉 SSL 证书的详细信息。从这篇文章看来,自签名需要 x509。

这是否意味着如果我必须使用自签名证书 BoringSSL 在这里可能不是一个选项?

0 投票
0 回答
391 浏览

ios - Dart PKCS12 p12 pfx 生成

dart 中有没有办法通过传入证书和纯 Dart 中的私钥来生成 PKCS12 / .p12 / .pfx 格式的文件?

BouncyCastle 端口不支持 PKCS 12

对于 Android,有 Bouncy Castle Library (Java),我对其进行了测试,它就像一个魅力。

对于 iOS,我发现很难使用链接的 Open SSL 库构建插件,因为目前无法告诉 Xcode 在 Flutter 插件中包含 C 代码。

dart:ffi 将是一个选项,但似乎 dart 在 C 指针方面存在问题,所以我不知道如何解决这个问题。

0 投票
1 回答
52 浏览

bazel - 我可以使用 `bazel cquery` 来确定正在激活哪些 `config_setting` 规则吗?

我有一个似乎选择了错误的依赖库config_setting

为了进一步调试,我尝试使用文档中的config函数,但它返回所有潜在的 config_settings。cquery

具体来说,我尝试运行以下命令: bazel cquery "config(deps(@openssl//:crypto), target)" --noimplicit_deps --bazelrc=build-scripts/windows/windows.bazelrc

它返回:

确定 Bazel 如何选择 的最佳方法是config_setting什么?是cquery吗?

我希望我的上述命令不会返回任何与 mac、linux 和 android 配置设置相关的构建规则。只是窗户。

0 投票
0 回答
199 浏览

openssl - 电子中的openssl版本

根据电子文档,电子不使用 openssl,但它使用 BoringSSL。我使用电子 v8.2.5 创建了一个电子应用程序,并在我执行的调试控制台窗口中process.versions.openssl。我可以看到 openssl 版本为1.1.0. 我还从https://github.com/electron/electron/releases/download/v8.2.5/electron-v8.2.5-darwin-x64.zip下载了电子 zip并进行了黑鸭二进制分析。我还可以看到 openssl 版本为 1.1.0。如果 electron 不使用 openssl,那么这是哪个 openssl 版本?这个版本是从 BoringSSL 派生出来的 openssl 版本吗?

0 投票
1 回答
600 浏览

openssl - 电子如何使用openssl?

我有一个使用 angular 和 electron 制作的应用程序。我在我的应用程序中使用 http 和 https。Electron 使用 BoringSSL,它是 openssl 的一个分支。我想知道电子​​的 openssl 是否以任何方式用于我的应用程序。

我是 openssl 的新手,据我所知,它用于生成密钥和安装证书。我没有在我的应用程序中对证书进行任何加密或签名。Electron 有点像浏览器,所以即使对于 Http 和 Https 调用,是否使用 openssl?

电子中使用的 openssl 不符合 FIP,所以我想知道电子​​的 openssl 是否以任何方式用于我的应用程序。

0 投票
0 回答
215 浏览

libcurl - 使用 BoringSSL 1.1.0 在 Windows 上卷曲静态编译问题 (X509_NAME)

当我尝试使用 BoringSSL 在 Windows 上编译 Curl 静态库时,我最近遇到了一个问题。上述命令在 6 个月前运行良好,但使用最新版本的 Curl 和 BoringSSL 我在 nmake 命令中遇到了问题。

我在做什么:

我在控制台输出中面临的问题:

因此,我进行了调查,指示行中的所有错误似乎与 X509_NAME typedef 用法有共同之处,但在 openssl/base.h 中的定义是正确的:

在 openssl/x509.h 中:

此外,Curl lib 中的文件 ..\lib\vtls\openssl.c 包括 <openssl/x509v3.h> 包括 <openssl/x509.h> 包括 <openssl/base.h> ...所以一切都应该没问题,但事实并非如此。

我的命令中是否缺少某些内容?

0 投票
1 回答
107 浏览

node.js - 如何使用 grpc 的无聊功能来处理我的 nodejs 程序

当我知道 Google gRPC 有一个工作版本的无聊SSL 时,我不想安装另一个 openssl。

现在,我的挑战是能够访问一些功能,例如计算盐和 CMAC。

我知道 Google 不会推广使用它,以防万一发生更改并破坏我的代码。

我看到在 node_modules/grpc 的根目录中有一个名为 'binding.gyp' 的文件,但不知道是否可以使用它。

欢迎任何建议。

谢谢