摘要:"X.509][X.509]是[ 公钥证书" 的格式标准, 广泛用于TLS/SSL安全通信或者其他需要认证的环境中。X.509证书可以由 " CA" 颁发,也可以自签名产生。 1 Overview { 1 overview} X.509证书中主要含有 、`身份信息 签名信息 有效性信息`等信息。这些 阅读全文
posted @ 2020-02-17 10:19 blackheart 阅读 (314) 评论 (0) 编辑
摘要:在上一篇 "[Cake] 2. dotnet 全局工具 cake" 中介绍了通过.Net Core 2.1 的全局工具 命令来简化cake的安装和使用。 因为是全局安装,则无法适应每个项目对特定版本的要求 。随着.Net Core 3.0中增加的对本地工具(项目级别)的支持,使得这一问题得以解决。 阅读全文
posted @ 2019-12-17 14:56 blackheart 阅读 (332) 评论 (0) 编辑
摘要:1969年11月美国国防部建立了一个名为 ARPANET (Internet的雏形)的 分组交换 网络,当前时间是2019年,50年过去了,如今的网络已经融入了社会的方方面面,其重要性不言而喻。本系列博客专注于 计算机网络 的核心概念和体系结构,并不涉及网络编程的概念。 1 标准化 { 1.stan 阅读全文
posted @ 2019-09-23 10:09 blackheart 阅读 (248) 评论 (1) 编辑
摘要:在上篇博客[Cake] 1. CI中的Cake中介绍了如何在CI中利用Cake来保持与CI/CD环境的解耦。 1. 简化cake的安装 当时dotnet 2.1还未正式发布,dotnet 还没有工具的支持,使得安装cake非常麻烦。不过随着 dotnet tool 的加入,这一问题得到了很好的解决。 阅读全文
posted @ 2019-05-12 09:29 blackheart 阅读 (1083) 评论 (1) 编辑
摘要:Web之父 Tim Berners Lee :https://en.wikipedia.org/wiki/Tim_Berners-Lee 世界上诞生的第一个网站:http://info.cern.ch/ 世界上诞生的第一个网站-模拟器:http://line-mode.cern.ch/www/hyp 阅读全文
posted @ 2019-04-30 18:24 blackheart 阅读 (228) 评论 (0) 编辑
摘要:在上上一篇基于OIDC的SSO的登录页面的截图中有出现QQ登录的地方。这个其实是通过扩展OIDC的OpenID Provider来实现的,OpenID Provider简称OP,OP是OIDC的一个很重要的角色,OIDC用它来实现兼容众多的用户认证方式的,比如基于OAuth2,SAML和WS-Fed 阅读全文
posted @ 2018-12-01 10:41 blackheart 阅读 (1747) 评论 (1) 编辑
摘要:在上一篇C#Make自动化构建-简介中,简单的介绍了下Cake的脚本如何编写以及通过Powershell或者Bash在本地运行Cake脚本。本篇在此基础上,介绍下如何在CI环境中使用Cake。 1. Cake简介续 1.1 为Task添加注释信息 Cake的每一个Task都可以添加一项描述,用来解释 阅读全文
posted @ 2018-03-04 12:16 blackheart 阅读 (869) 评论 (1) 编辑
摘要:在前面5篇博客中介绍了OAuth2和OIDC(OpenId Connect),其作用是授权和认证。那么当我们得到OAuth2的Access Token或者OIDC的Id Token之后,我们的资源服务如何来验证这些token是否有权限来执行对资源的某一项操作呢?比如我有一个API,/books,它具 阅读全文
posted @ 2018-01-13 15:23 blackheart 阅读 (4187) 评论 (20) 编辑
摘要:在基于传统的.NET Framework的Asp.Net Mvc的时候,本地开发环境中可以在IIS中建立一个站点,可以直接把站点的目录指向asp.net mvc的项目的根目录。然后build一下就可以在浏览器里面刷新到最新的修改了,也可以附加到w3wp的进程进行调试。但是在开发基于.Net Core 阅读全文
posted @ 2017-11-29 23:56 blackheart 阅读 (1551) 评论 (13) 编辑
摘要:在上一篇基于OIDC的SSO的中涉及到了4个Web站点: 其中hybrid和implicit这两个站点都是具有在服务端执行代码的能力的(1,登录需要在服务端做跳转;2,登录状态写入cookie;3,通过服务端的接口接收被动的退出通知)。而js这个客户端则是一个纯粹的静态网站,那么它是如何处理登录和退 阅读全文
posted @ 2017-11-27 12:19 blackheart 阅读 (2735) 评论 (8) 编辑
摘要:在[认证授权]系列博客中,分别对OAuth2和OIDC在理论概念方面进行了解释说明,其间虽然我有写过一个完整的示例(https://github.com/linianhui/oidc.example),但是却没有在实践方面做出过解释。在这里新开一个系列博客,来解释其各种不同的应用场景。因为OIDC是 阅读全文
posted @ 2017-11-26 01:09 blackheart 阅读 (9612) 评论 (58) 编辑
摘要:在上一篇[认证授权] 4.OIDC(OpenId Connect)身份认证(核心部分)中解释了OIDC的核心部分的功能,即OIDC如何提供id token来用于认证。由于OIDC是一个协议族,如果只是简单的只关注其核心部分其实是不足以搭建一个完整的OIDC服务的。本篇则解释下OIDC中比较常用的几个 阅读全文
posted @ 2017-11-16 13:39 blackheart 阅读 (10769) 评论 (19) 编辑
摘要:先看一下Redis是一个什么东西。官方简介解释到:Redis是一个基于BSD开源的项目,是一个把结构化的数据放在内存中的一个存储系统,你可以把它作为数据库,缓存和消息中间件来使用。同时支持strings,lists,hashes,sets,sorted sets,bitmaps,hyperloglo 阅读全文
posted @ 2017-11-06 15:31 blackheart 阅读 (9723) 评论 (15) 编辑
摘要:衔接上文[解读REST] 5.Web的需求 & 推导REST,上文根据Web的需求推导出了REST架构风格,以及REST的详细描述和解释。自从1994年以来,REST架构风格被用于指导Web架构的设计和开发工作,最重要的两点体现是在设计HTTP和URI两个互联网规范协议中,以及实现这些规范的libw 阅读全文
posted @ 2017-10-21 15:21 blackheart 阅读 (1299) 评论 (0) 编辑
摘要:衔接上文[解读REST] 4.基于网络应用的架构风格,上文总结了一些适用于基于网络应用的架构风格,以及其评估结果。在前文的基础上,本文介绍一下Web架构的需求,以及在对Web的关键协议进行设计和改进的过程中遇到的问题;以及在对基于网络应用的架构风格进行评估的过程中的领悟;结合Web的需求进而推导出R 阅读全文
posted @ 2017-10-15 15:44 blackheart 阅读 (1571) 评论 (2) 编辑
摘要:衔接上文[解读REST] 3.基于网络应用的架构,上文介绍了一组自洽的术语来描述和解释软件架构;如何利用架构属性评估一个架构风格;以及对于基于网络的应用架构来说,那些架构属性是值得我们重点关注评估的。本篇在以上的基础上,列举一下一些常见的(REST除外)的适用于基于网络应用的架构风格,并使用对比架构 阅读全文
posted @ 2017-09-24 13:33 blackheart 阅读 (1332) 评论 (4) 编辑
摘要:链接上文[解读REST] 2.REST用来干什么的?,上文中解释到什么是架构风格和应该以怎样的视角来理解REST(Web的架构风格)。本篇来介绍一组自洽的术语,用它来描述和解释软件架构;以及列举下对于基于网络的应用来说,哪些点是需要我们重点关注的。 1 软件架构 软件架构方面关注的是如何以最佳的方式 阅读全文
posted @ 2017-09-17 16:58 blackheart 阅读 (1196) 评论 (3) 编辑
摘要:衔接上文[解读REST] 1.REST的起源,介绍了REST的诞生背景。每当笔者遇到一个新事物的想去了解的时候,总是会问上自己第一个问题,这个新事物是干什么用的?在解释我所理解的REST这个过程中也不例外,这篇博客我们先关注一下REST是干什么用的,然后后续再解释REST是什么。好了,不说废话了,在 阅读全文
posted @ 2017-09-15 23:24 blackheart 阅读 (1142) 评论 (3) 编辑
摘要:0. 世界上第一个网站 1990年12月20日,这一天对于现在的互联网来说意义非凡。欧洲核子研究组织(CREN)的科学家Tim Berners-Lee在一台NeXT电脑上启动了世界上的第一个网站(当然当时仅能Tim Berners-Lee自己访问),这台电脑至今仍保留在CREN,但当年那个网站已经不 阅读全文
posted @ 2017-09-06 10:06 blackheart 阅读 (1416) 评论 (0) 编辑
摘要:在信息安全领域,一般把Cryptography称为密码,而把Password称为口令。日常用户的认知中,以及我们开发人员沟通过程中,绝大多数被称作密码的东西其实都是Password(口令),而不是真正意义上的密码。本文保持这种语义,采用密码来代指Password,而当密码和口令同时出现时,用英文表示 阅读全文
posted @ 2017-07-23 14:24 blackheart 阅读 (2674) 评论 (3) 编辑
摘要:0. 简单回顾 在前面两篇博客中介绍了密码相关的一些基本工具,包括(对称密码,公钥密码,密码散列函数,混合密码系统,消息认证码码,数字签名,伪随机数,数字证书)这几个。其中它们之间也是互相依赖的,我们来简单的梳理一下它们的依赖关系。 这篇要介绍的HTTPS,则把以上这些全都派上场了。 1. HTTP 阅读全文
posted @ 2017-07-04 22:25 blackheart 阅读 (1843) 评论 (10) 编辑
摘要:在上一篇1.密码工具箱中介绍了一些密码技术相关的一些基本工具,同时遗留了一个鸡生蛋蛋生鸡的问题和公钥的认证问题( ̄▽ ̄)",这里再补充几个常用的工具先。 1. 伪随机数生成器(Pseudo-Random Number Generator) 随机数大家不陌生,但是随机数怎么就和信息安全扯上关系了呢?其 阅读全文
posted @ 2017-07-02 15:08 blackheart 阅读 (1084) 评论 (1) 编辑
摘要:0. 何谓安全? 对于信息安全性的重要性,我想大家都不会否认。那么具体来说应该具有哪些特性才能称之为安全呢?举个简单的例子:我给你发送一条消息“借给我100元”,当你收到这条消息并且处理后你的账户里面会少出来100块,我的账户会多出来100块。在这个过程中,你是消息接收方,我是消息发送方。 总结来说 阅读全文
posted @ 2017-06-26 22:55 blackheart 阅读 (2083) 评论 (4) 编辑
摘要:1 什么是OIDC? 看一下官方的介绍(http://openid.net/connect/): OpenID Connect 1.0 is a simple identity layer on top of the OAuth 2.0 protocol. It allows Clients to 阅读全文
posted @ 2017-05-30 09:18 blackheart 阅读 (40399) 评论 (47) 编辑
摘要:0. Cake是什么? Cake是C# Make的缩写,是一个基于C# DSL的自动化构建系统。它可以用来编译代码,复制文件以及文件夹,运行单元测试,压缩文件以及构建Nuget包等等。 熟悉大名鼎鼎的Make的小伙伴,应该已经知道Cake大致是个什么样的工具了,Cake具有以下几个特点: 1. 一个 阅读全文
posted @ 2017-05-06 22:37 blackheart 阅读 (4053) 评论 (7) 编辑