X.509,数字证书标准。X.509用在包含SSL/TLS在内的很多网络协议中,证书内部包含一个public key和一个identity(hostname,organization等)。

  X.509由ITU-T发布,International  Telecommunications Unions,基于ASN.1的编码。

一个X.509的证书可以由CA或者self-signed来颁布。

  X.509v3中增加了PKI新的结构类型,mesh和bridge。

证书的格式:

    

  

  

应用确定证书有效性的过程叫做,Certification Path Process。

Certification Path称为从Trust anchor到Target certificate的路径。

Certification Path Building与Validation,设计和验证Ceritfication Path的有效性。

Cross Certification,两个CA之间的一个certification,表明信任链可以从该CA传递到下一个CA。

PKI,Public Key Infrastructure,PKI的structure,有很多变化结构,simple,hierarchy,complex等。

  主要用来issue和manage certification。

root CA一般会内嵌到浏览器或者OS中,

Sample Hierarchical PKI:

    

web中使用更多的是multi-root CA,Trust list中包含各种各样的机构的CA,这样客户端不需要特意的直到目前需要怎样的证书:

    

除了单向的trust validation,还有互为CA的结构,构成mesh状:

    

带有cross-certified的bridge 状的PKI结构:

    

一个典型的Certification Path,

    

PKCS,Public Key Cryptography Standards 公钥密码标准,一直由RSA公司颁布更新,来推动RSA技术的发展,

PKCS#1,又名RSA Cryptography Standard,实现了RSA encryptyion,decryption,sign,verify的encoding/padding格式;

PKCS#3,Diffie-Hellman Key Agreement,推动DH算法。

   

x509证书链,首先有一个CA跟证书,然后用CA证书来签发用户证书;

  用户进行证书申请,一般先生成一个私钥,然后用私钥生成证书请求,(证书请求中包含公钥信息),再利用证书服务器长度CA跟证书来签发证书;

  数字证书中包含公钥,并且与特定的个人匹配。

X.509证书及CeritificationPath及PKCS的更多相关文章

  1. X.509证书生成

    创建数字证书 用户对数字证书的认可决定于对证书颁发机构的信任,所以证书颁发机构决定了数字证书的可用范围.由于官方认可的数字证书颁发机构,比如VeriSign.Thawte(OpenSSL),具有普遍的 ...

  2. X.509证书_生成X.509协议的证书

    用法:1. 用NOTE打开,修改按实际情况脚本中的(1)~ (6)处参数2. 找一台含JVM环境的WIN机器3. 双击执行后,会生成一对密钥4. 请确保当前使用的JDK版本为6.0!!! @echo ...

  3. WCF X.509证书双向认证小结

    最近在学习WCF X.509证书验证,想实现使用证书实现服务端和客户端的双向认证,实现原理是利用了数字证书包含的一对非对称密钥来实现数字签名及加密.所谓非对称密钥是采用两个密钥将加密和解密能力分开:一 ...

  4. 利用X.509证书对XML进行加密和签名

    综述       XML加密和签名技术应用非常广泛. ASP.NET 使用XML加密对配置信息进行加密:InfoPath使用XML签名对表单进行签名:Web服务使用XML加密和签名对SOAP消息进行加 ...

  5. X.509证书的编码及解析:程序解析以及winhex模板解析

    一.证书的整体结构:证书内容.签名算法.签名结果. 用ASN.1语法描述如下: Certificate::=SEQUENCE{ tbsCertificate TBSCertificate, signa ...

  6. 使用OpenSSL工具制作X.509证书的方法及其注意事项总结

    版权声明:本文为博主原创文章.转载请注明出处. https://blog.csdn.net/Ping_Fani07/article/details/21622545 怎样使用OpenSSL工具生成根证 ...

  7. 基于X.509证书和SSL协议的身份认证过程实现(OpenSSL可以自己产生证书,有TCP通过SSL进行实际安全通讯的实际编程代码)good

    上周帮一个童鞋做一个数字认证的实验,要求是编程实现一个基于X.509证书认证的过程,唉!可怜我那点薄弱的计算机网络安全的知识啊!只得恶补一下了. 首先来看看什么是X.509.所谓X.509其实是一种非 ...

  8. openssl x.509证书

    openssl x.509证书 openssl x.509证书 ngnix 支持

  9. 什么是 X.509 证书以及它是如何工作的?

    X.509 证书是基于广泛接受的国际电信联盟 (ITU) X.509 标准的数字证书,该标准定义了公钥基础设施 (PKI) 证书的格式. 它们用于管理互联网通信和计算机网络中的身份和安全. 它们不显眼 ...

随机推荐

  1. mysql学习【第2篇】:MySQL数据管理

    狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! mysql学习[第2篇]:MySQL数据管理 外键管理 外键概念 如果公共关键字在一个关系中是主 ...

  2. HBase 笔记

    参考资料:HBase权威指南 一行由若干列组成,若干列又构成一个列族一个列族的所有列存储在同一个底层的存储文件里,这个文件叫HFile列族的数量有限制:一个列族里列的数量没限制谓词删除:例如允许用户只 ...

  3. CABasicAnimation 划线动画

    CGFloat animateDuration = ; UIBezierPath *bezierPath = [[UIBezierPath alloc] init]; CGPoint centerFr ...

  4. AVD启动报错:Running an x86 based Android Virtual Device (AVD) is 10x faster

    1.cmd窗口中输入emulator -avd test 启动AVD时报错: Running an x86 based Android Virtual Device (AVD) is 10x fast ...

  5. Numpy 机器学习三剑客之Numpy

    NumPy是Python语言的一个扩充程序库.支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库.Numpy内部解除了Python的PIL(全局解释器锁),运算效率极好,是大量机 ...

  6. Java ServiceLoader(SPI)学习

    1. 几个不错的关于ServiceLoader的文章,大家可以先参考一下 1) http://www.myexception.cn/program/1355384.html 这篇的后面的问题分析不错 ...

  7. tensorflow入门笔记(三) tf.GraphKeys

    tf.GraphKeys类存放了图集用到的标准名称. 该标准库使用各种已知的名称收集和检索图中相关的值.例如,tf.Optimizer子类在没有明确指定待优化变量的情况下默认优化被收集到tf.Grap ...

  8. opencv 替换图像中的一部分

    首先选取图像中的Roi区域,然后对Roi区域进行赋值,那么原图像相应的区域也跟着变化了: dst = src.clone(); cv::Mat Roi(dst, cv::Rect(x, y, cut_ ...

  9. 批量查询"_mget"

    1.不同index的批量查询GET /_mget{ "docs":[{ "_index":"test_index1", "_typ ...

  10. kvo观察实例变量

    // 手动设定KVO - (void)setAge:(NSString *)age { [self willChangeValueForKey:@"age"]; _age = ag ...