设计经典网站凡客网站建设

diannao/2026/1/26 20:58:07/文章来源:
设计经典网站,凡客网站建设,长春财经学院教务系统,市场调研报告怎么写java 验证码透明背景因此#xff0c;我有一个幼稚的想法#xff0c;即除了证书有效性检查#xff08;在Java中#xff09;之外#xff0c;将证书透明性验证作为每个请求的一部分也很容易。 牺牲了整个周末的一半时间#xff0c;我可以证明这并不是一件小事。 但是#… java 验证码透明背景 因此我有一个幼稚的想法即除了证书有效性检查在Java中之外将证书透明性验证作为每个请求的一部分也很容易。 牺牲了整个周末的一半时间我可以证明这并不是一件小事。 但是 证书透明性是什么 简而言之它是世界上所有TLS证书的公开日志即使SSL已过时仍称为SSL证书。 您可以检查该日志中是否发布了日志如果不发布则有些可疑因为CA必须将其所有已颁发的证书推送到日志中。 还有其他用例例如为您的域注册新证书的通知以检测可能被劫持的DNS管理面板或CA Facebook免费提供了这样的工具 。 我想做的是前者–使来自Java应用程序的每个请求在证书透明性日志中验证对方的证书。 似乎这不是开箱即用的如果可以我找不到它。 在一次有关JEP 244的讨论中 似乎讨论了与证书透明性有关的TLS扩展但是我找不到它是否是最终支持。 我开始认为您可以简单地获取证书然后通过证书的指纹检查其是否包含在日志中。 这太容易了-允许通过哈希检查的日志但这不是证书的指纹而是签名的证书时间戳-由日志在包含之前发布的签名。 引用CT RFC SCT签名证书时间戳是日志将证书合并到Merkle树中的承诺 merkle树是一种非常酷的数据结构它通过提供比整个日志短得多的“包含证明”使外部参与者确信该日志中包含某些内容从而节省了大量带宽。 实际上默克尔树的凉爽是为什么我首先对证书透明性感兴趣的原因因为我们在我当前的面向日志的公司中使用默克尔树 因此为了检查是否包含 您必须以某种方式获取SCT。 最初我认为使用Certificate Transparency Java库是可能的但事实并非如此。 拥有它之后您可以使用客户端在日志中对其进行检查但是获取它比较困难。 注意对于服务器端验证可以通过HTTP查询日志 但是浏览器可以使用DNS查询来保留用户的匿名性。 可以通过三种方式来获得SCT具体取决于服务器和/或日志和/或CA选择支持的方式SCT可以包含在证书中也可以在TLS握手期间作为TLS扩展提供。 也可以在握手期间再次包含在TLS装订响应中。 不幸的是我检查的少数证书中没有存储SCT因此我必须进入较低级别并调试TLS握手。 我启用了TLS hadnshake 冗长的输出 并且瞧瞧-那里什么都没有。 Google确实将SCT包含为TLS扩展根据Qualys但Java输出未对此进行任何说明。 幸运的是Google发布了Conscrypt –一种基于Java的安全性提供程序基于Google的OpenSSL分支。 事情开始变得一团糟……但我还是去了包括Conscrypt并将其注册为安全提供程序。 我必须使用Conscrypt TrustManager建立连接已使用JDK中的所有受信任证书初始化 KeyStore trustStore KeyStore.getInstance(JKS); trustStore.load(new FileInputStream(System.getenv(JAVA_HOME) /lib/security/cacerts), changeit.toCharArray()); ctx.init(null,new TrustManager[] {new TrustManagerImpl(trustStore, null, null, null, logStore, null, new StrictCTPolicy())}, new SecureRandom());URL url new URL(https://google.com); HttpsURLConnection conn (HttpsURLConnection) url.openConnection(); conn.setSSLSocketFactory(ctx.getSocketFactory()); conn.connect(); conn.getInputStream(); conn.disconnect(); 当然它最初并不起作用因为Conscrypt不提供某些核心接口CTLogStore和CTPolicy类的实现。 实际上CTLogStore是保留有关所有已知日志信息的重要位我仍然发现将“日志提供程序”简称为“ log”很奇怪但这是公认的术语。 有一个以JSON形式存在的已知日志列表 这很酷只是花了我一段时间在外部帮助下才能弄清楚那些公钥到底是什么。 它们是什么-RSAECC 它们如何编码 您在RFC和文档中都找不到。 在这里可以看到它是“ SubjectPublicKeyInfo ASN.1结构的DER编码”。 啊。 BouncyCastle进行营救。 我与BouncyCastle的恋爱关系深深。 我讨厌它的直观性和API的复杂性但是我喜欢它几乎具有您可能需要的所有与密码相关的东西。 在花费一些时间试图弄清楚如何将公共密钥转换为PublicKey对象之后我发现使用PublicKeyFactory.createKey(Base64.getDecoder().decode(base64Key)); 为您提供使用任何算法的参数-它可以返回椭圆曲线关键参数或RSA关键参数。 您只需要将它们包装在另一个类中然后将它们传递到另一个工厂通常为BouncyCastle就可以拥有公共密钥。 当然现在Google的Conscrypt不再起作用因为在转换之后publicKey的编码版本与原始字节不相同因此日志ID计算错误。 但是我经过一番思考后解决了这个问题最后它奏效了–查询了证书透明性日志并证明该证书有效并且正确地包含在日志中。 整个代码可以在这里找到 。 是的它使用了多个安全提供程序一些奇怪的BouncyCastle API和Google提供程序中缺少的一些简单实现。 可能会缓存已知的证书以便不执行对日志的重复调用但这超出了我的实验范围。 证书透明性似乎是当今互联网的核心内容。 但是它是如此晦涩且难以使用。 为什么列表中的公共密钥类型没有记录它们至少应在公共密钥旁边放置一个OID因为事实证明并非所有日志都使用椭圆曲线-其中两个使用RSA。 也许有一个很好的解释但是为什么在日志中包括SCT而不是证书的指纹 那么为什么不要求在证书中包括SCT而不需要将服务器和客户端包含在TLS握手中而证书和证书又需要升级呢 据我所知由于数以百万计的Lets加密证书在那里证书透明性倡议现在面临可伸缩性问题。 每个日志提供者都应将整个日志提供给所有请求它的人。 解决这不是一件容易的事并且朝着这个方向努力了但是目前还没有明显的解决方案。 最后如果Java没有简便的方法来实现这一点那么所有的加密库都可用我想知道其他语言的情况如何。 他们支持证书透明性还是需要升级 也许我们都很好因为浏览器支持它但是浏览器并不是发出HTTP请求的唯一对象。 API调用是一个巨大的用例如果可以对其进行劫持则所造成的损害甚至可能比被诱骗的单个用户还要大。 因此我认为应该在两方面加大投入 1.改进RFC和2.改进编程生态系统。 我希望这篇文章至少能有所贡献。 翻译自: https://www.javacodegeeks.com/2019/01/certificate-transparency-verification-java.htmljava 验证码透明背景

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/87840.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

创建网站代码网站建设的目的和意义

一、引言 在软件设计中,设计模式是解决常见问题的最佳实践。它们提供了一种重用设计的方法,使得代码更易于理解、维护和扩展。状态设计模式是行为设计模式的一种,它允许对象在其内部状态改变时改变其行为。当控制一个对象的状态转换条件表达…

视频制作网站都有哪些公司网站实名认证

一、物理连接 二,流程分析 电脑连接CAN分析仪,电脑通过软件USB-CAN把can十六进制数据发到CAN分析仪。CAN分析仪连接CAN转以太网设备,数据通过CAN转以太网设备后,通过网线传送到单片机。这里面,CAN转以太网设置为TCP C…

网站 手机 app上海建立网站公司

背景展示:有页码的操作题 背景需求: 实操课终于全部结束了,把考试内容(docx)都写好了 【办公类-21-10】三级育婴师 视频转文字docx(等线小五单倍行距),批量改成“宋体小四、1.5倍行…

潜江做网站文化传媒公司广告宣传

Windows 11已经向全世界的客户推出,自从它问世以来已经收到各种有趣的更新。例如,Windows 11的22H2版本(操作系统的第一个大更新)为文件资源管理器添加了标签,启用了任务栏的拖放支持,以及更多。Windows-11…

做网站的前景如何wordpress邮件联系

分享 NVIDIA 基于 GPU 的 TTS 解决方案介绍。 1. 基于 FastPitchHifi-GAN 的 Streaming TTS 效果优化 NVIDIA 在 TTS 领域也做了一些供大家参考的工作,例如提供了高效的流式 TTS 部署方案,利用 TensorRT 加速模型推理速度,并通过 Triton Inf…

湖南衡阳网站建设开公司要多少钱才能注册

题目描述: 提取字符串中的最长合法简单数学表达式,字符串长度最长的,并计算表达式的值。如果没有,则返回0 简单数学表达式只能包含以下内容 0-9数字,符号 +-* 说明: 1. 所有数字,计算结果都不超过long 2. 如果有多个长度一样的,请返回第一个表达式的结果 3. 数学表达式…

大连网站开发需要多少钱四川建设网官网app

文章目录 0 前期教程1 概述2 matplotlib2.1 库导入2.2 图片的各个部分解释2.3 代码风格2.4 后端 3 集成matplotlib图像到pyqt界面中3.1 使用到的模块3.2 理解Qt Designer中的“控件提升”3.3 界面与逻辑分离的思路3.4 扩展 0 前期教程 【PyQt】PyQt5进阶——串口上位机及实时数…

杭州网站建设杭州沃迩夫做水暖的网站

备忘录模式 一、概述二、结构三、案例实现(一)“白箱”备忘录模式(二)“黑箱”备忘录模式 四、优缺点五、使用场景 一、概述 备忘录模式提供了一种状态恢复的实现机制,使得用户可以方便地回到一个特定的历史步骤&…

中国电信视频app下载东莞百度快照优化排名

问:three.js是当前主流的网页3d开发框架,但three.js的editor功能比较粗糙。国内有没有比较容易上手功能类似Unity3D的网页3D编辑软件,可以通过实体组件系统来完成程序扩展,简单拖拉拽完成3D场景、常用特效和用户交互的构建&#x…

青岛本地招聘网站直播app开发公司排名

lucene自动补全最简单的Apache Lucene查询TermQuery匹配包含指定术语的任何文档,无论该术语出现在每个文档中的何处 。 使用BooleanQuery可以将多个TermQuery组合在一起,并完全控制哪些术语是可选的( SHOULD )和哪些是必需的&…

北京网站建设方案托管动易门户网站价格

博客园有很多漂亮的皮肤,但总是有一些地方我不大喜欢,所以经过慎重考虑,我决定亲自动手换个装。本文将介绍博客园换装的一些基础(不涉及标准皮肤的做法),如果你想让你的博客更炫,可以参考本文入…

建立企业网站的费用做搬家网站推广在那好

这里是Z哥的个人公众号每周五早8点 按时送达当然了,也会时不时加个餐~我的第「77」篇原创敬上在一个分布式系统的开发团队中,有一些问题是很容易产生程序员之间矛盾的。其中之一就是「业务归属」,就是当新加/修改一个业务的时候&a…

国外网站建设的发展生产企业网站建设

某天突然收到报警,数据库大量事务等待,进到数据库后发线大量的插入操作被阻塞,且都是同一个表的。通过 show engine innodb status 发现插入操作都是在等待索引 idx_create_time(create_time) 的 insert intention lock(跟 gap 锁互斥)&#…

门户网站怎么做seo营销文案

一、本文介绍 本文给大家带来的改进机制是EMAttention注意力机制,它的核心思想是,重塑部分通道到批次维度,并将通道维度分组为多个子特征,以保留每个通道的信息并减少计算开销。EMA模块通过编码全局信息来重新校准每个并行分支中的通道权重,并通过跨维度交互来捕获像素级…

天津网站排名优化wordpress 登录显示

第一章 绪论1.1 计算机的产生与发展现代计算机的发展电子管时代晶体管时代集成电路时代超大规模集成电路时代1.2 冯.诺伊曼计算机模型冯诺伊曼计算机的组成,各部分的作用.冯诺伊曼计算机的特点.(1) 计算机由运算器、存储器、控制器和输入设备、输出设备五大部件组成…

新公司网站设计注意事项wordpress音乐播放插件

set是关联容器&#xff0c;类似于集合。 特点是里面的元素不会重复&#xff0c;而且元素时有序的。 1.声明定义&#xff1a; #include<set>using namespace std;set<int> s; 2.常见用法 s.inert(5); //插入 s.begin(); //返回s的第一个元素 s.end(); // 返回最后一…

做网站什么码建设银行论坛网站

题意&#xff1a; ----最大M子段和问题 给定由 n个整数&#xff08;可能为负整数&#xff09;组成的序列以及一个正整数 m&#xff0c;要求确定序列的 m个不相交子段&#xff0c;使这m个子段的总和达到最大&#xff0c;求出最大和。 题目&#xff1a; Now I think you have …

辽宁造价工程造价信息网seo是什么简称

目录 一&#xff0c;ProcessOn 1.1 ProcessOn是什么 1.2 ProcessOn应用场景 1.3 流程图 1.4 泳道图简介 1.5 Process网址与界面简介 二&#xff0c;流程图案例 2.1 门诊流程图 2.2 住院流程图 2.3 药房药库流程图 2.4 会议OA流程图 三&#xff0c;Axure自定义元件 …

北京网站设计公司新鸿儒国家高新技术企业是什么意思

在Windows10上使用Ubuntu终端 习惯了ubuntu的开发&#xff0c;回到windows的command可以说是很绝望了。之前偶尔用windows时一直用git-bash来代替。但是发现windows已经添加了对ubuntu子系统的支持&#xff0c;那直接用不是更爽。 1.安装 进入控制面板&#xff0c;开启适用于Li…