问题标签 [certificate-transparency]

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 回答
230 浏览

c# - 如何为 Xamarin.Android 实现证书透明度

我正在尝试这是为 Xamarin.Android 实施证书透明度的一周,但没有成功,任何人都可以帮助我使用 xamarin 示例或类似的算法吗?

提前致谢!

我尝试通过绑定此库来使用https://github.com/babylonhealth/certificate-transparency-Android,但它是 Kotlin 库,无法在 xamarin 中编译。我尝试https://github.com/anonyome/certificate-transparency-android也没有成功

0 投票
1 回答
772 浏览

android - Android 证书透明度

我正在尝试使用巴比伦的 sdk 在 android 应用程序中测试 CT。我尝试了这里给出的https://github.com/babylonhealth/certificate-transparency-android

但我收到日志 System.out: xxx.xxx.xxx.xxxx.org -> Success: SCT not enabled for insecure connection

我非常确定这些是安全连接,并且我有有效的 SCT。当我深入研究代码时,我可以看到`

它来到了其他部分,从而给出了错误。我看到连接具有空值。任何想法可能是错的。

0 投票
1 回答
312 浏览

java - 无法在 java 中解析 subjectAlternativeNames

我尝试在 java中解析证书的额外数据。我对 subjectAlternativeNames 部分感兴趣。我的代码是:

X509CertInfo包含java.io.IOException: invalid URI name:DNS:*.cetrel.lu, DNS:mail.cetrel.lu, DNS:www.cetrel.lu. 并且subjectAlternativeNames是空的。

我该如何解析它?

我只对 感兴趣extra_data,对 不感兴趣leaf_input。我可以在这里找到证书:http: //transparencyreport.google.com/https/certificates/

DNS names部分是空的,似乎谷歌也无法解析它。

提供证书的完整代码:

0 投票
1 回答
821 浏览

android - 证书透明度可以检测移动应用程序中的 SSL Pinning 绕过吗?

我正在阅读证书透明度 (CT) 及其监控证书使用和滥用的能力。我想知道 CT 是否可以检测到移动应用程序中的 SSL Pinning 绕过(在 Web 应用程序的情况下)。请您在这方面启发我。如果是,如何?如果不是,为什么?

0 投票
1 回答
172 浏览

c# - C# 的证书透明度日志

目前正在处理证书透明度日志。我的目标是像CertStream一样读取每个日志——(打开消防水带按钮),我的老板想要创建另一个用 C# 编写的日志。只需一个简单的代码来解析日志就可以真正帮助我。不一定像 CertStream 那样花哨。

这些是我读过的以下链接/API:( 来自 Google 或相关的 API)

有价值的信息:

对于我开始的代码,

但它只显示了一些乱码数据,几乎没有可读的单词。 在此处输入图像描述

任何可以帮助我的代码或库?经过搜索,我发现了很多用 Python、Go 等不同语言编写的代码,但根据我对他们代码的理解,他们也在使用 NuGet 中不可用的库。X509Certificate 可能有用,但我不知道在这种情况下如何使用它。

任何潜在客户都将不胜感激。谢谢你。

0 投票
1 回答
203 浏览

python - 证书透明度日志-API 限制条目范围

只是想知道http://ct.googleapis.com/logs/argon2021/ct/v1/get-entries?start=12345&end=12345在范围内是否有限制。

现在我最多只能在该 API 中获得 20 个条目。例如,我想获取最近的记录,当前树的大小是 1000。我必须做这样的事情

http://ct.googleapis.com/logs/argon2021/ct/v1/get-entries?start=1&end=20
http://ct.googleapis.com/logs/argon2021/ct/v1/get-entries?start =21&end=40
http://ct.googleapis.com/logs/argon2021/ct/v1/get-entries?start=41&end=60

.
.
直到我能得到 1000 条记录而不是像

http://ct.googleapis.com/logs/argon2021/ct/v1/get-entries?start=1&end=1000

每个运营商有限制吗?我现在观察到的是以下数据 20 for Google
1000 for Cloudflare
200 for Let's Encrypt

如果是,每次通话的限额是多少?谢谢你。

0 投票
1 回答
104 浏览

android - CertificateTransparency:失败:没有证书

您好,我使用 okhttp/certificate pinning(使用 TrustKit)实现了这个库( https://github.com/babylonhealth/certificate-transparency-android )问题是我收到了一个错误,即使主机名有日志检查Google 报告 并且有一个使用以下配置的 CT 日志即时消息:

但我从 logcat CertificateTransparency: domain.myhostname.io 失败:没有证书 okHttp 是这样的:

我在证书中添加 intereptor.addNetworkInterceptor 被记录google_xenon2021并且cloudflare_nimbus2021 它们在默认列表中 https://www.gstatic.com/ct/log_list/log_list.json

我试图找出问题所在,但我不知道,

0 投票
0 回答
322 浏览

macos - 受信任的根证书不受信任

我有一个奇怪的问题,我不明白。我认为它以前工作过,我确实怀疑我之前在我的 macbook air 上加载的 macos 的更新,但我想我会在这里问这个问题,看看是否有人有任何见解。

我正在开发一个在公司防火墙后面运行的 PWA 应用程序。结果没有机会获得公共 ssl 证书,因为我无法将网站公开给公众。结果,我进行了自签名过程,是否已设置受信任的证书颁发机构,然后该证书颁发机构为应用程序签署 ssl 证书。缺点是它需要将我的自签名权限的密钥加载到浏览器的受信任存储中。

它在 Windows 和 iPad 上运行良好,直到今天早上我还以为我可以在 MAC 上运行它,当时我来制作一个关于如何安装它的视频。就在视频之前,我的 mac 宣布它想要升级它的操作系统,所以我让它。我去了钥匙串访问并删除了证书颁发机构。然后我在密钥链中安装了新的证书文件并运行了我的浏览器。Safari 根本无法工作,Chrome 显示了不安全的标记。当我点击它时,我得到了这个下拉列表

从地址栏中的不安全警告下拉

如您所见,它说证书无效,但是如果您单击它,则会弹出此对话框。

结果证书

这表示它是完全信任的。

所以我不知道出了什么问题。是上次发布后mac钥匙串中的错误还是我做错了什么?

编辑:我怀疑这与证书透明度日志有关,尽管我无法找到太多信息,但其他苹果公司已经改变了他们的政策。公共证书必须提交到证书透明度日志,并且在很长一段时间内,证书需要在不同的日志中输入多个条目。然而,我几乎找不到关于自签名证书是否需要这个的信息。

通过使用开发人员工具并在 service worker 中设置断点,我最终也让 Safari 正常工作。它在用于刷新离线缓存的后台获取中抛出错误(因为证书错误),但是有很多错误(我的应用程序有 100 个小文件要下载)我没有等待足够长的时间它来完成该过程。当我这样做时,它会发出一条消息,询问我是否要信任该站点。当我确认我这样做时,它更新了钥匙串,然后一直工作。

0 投票
1 回答
130 浏览

ios - 如何检查服务器信任期间使用的证书透明度

我们正在构建一个使用证书透明性来验证 SSL 连接的 iOS SDK。这最初是在 info.plist 中使用 ATS 实现的,但我们遇到了一个问题:

用户可以安装配置文件并完全信任允许他们覆盖这些检查的根证书。Burpsuite 也是开箱即用的。

我们找到的解决方法是使用URLSessionDelegate并在评估后检查SecTrustCopyResult(_: SecTrust)key的结果kSecTrustCertificateTransparency,确保值为true.

这里的问题是这个键只在 iOS 13 之后才出现。我们应该如何为早期版本的 iOS 实现这一点?(我们目前支持 iOS 11.0 及更高版本)

0 投票
1 回答
58 浏览

ssl - HTTPS - 浏览器验证服务器 SSL 证书

我对 Web 浏览器(如 Firefox/Chrome)验证服务器 SSL 证书的过程有一个疑问。

我阅读了很多关于最大限度地降低攻击者/黑客应用错误颁发的 CA/中间 CA 证书(即被黑客攻击的 CA 或错误地将证书颁发给实际上不应该接收它们的实体)的风险的机制,例如 HPKP HTTP 标头或证书透明度日志。

根据我阅读的解释,潜在的攻击者可能会出示这个错误颁发的证书来冒充终端服务器并劫持来自预期被加密的请求发送者的内容。

但怎么可能呢?浏览器验证证书的机制是什么?

当我使用编程库通过 HTTPS 执行对 API 的请求时,默认情况下会打开一个选项,以将证书中的“主题”字段与我传递来查询服务的 URL 进行比较。如果比较失败,则通信中断。可以绕过此设置(在 Apache HTTP 中称为 NoopH​​ostnameVerifier)。如果我理解得很好,这个功能会导致,如果我拥有域(例如“blablabla.com”)并为域“xyxyxy.xom”提供错误颁发的证书,并带有 CA 的有效签名,Http Client 将由于不匹配而阻止连接具有请求 URL 的证书中的主题。

它在浏览器中是如何工作的?浏览器是否对 x509 证书中的主题和地址栏中的 URL 进行比较?如果不是,为什么浏览器不做这个比较?如果是,浏览器会阻止此请求吗?或者只是发出一些警告?

换句话说:正确验证 CA 的签名是确认证书和整个服务器对证书的响应有效的唯一条件吗?在这种情况下浏览器会忽略 X509 中的“主题”字段和 URL 地址栏之间的不匹配吗?