当前位置: 首页 > news >正文

谷歌推广网站怎么做网络营销是什么意思

谷歌推广网站怎么做,网络营销是什么意思,广州工程建设网站,自媒体收入骗局1.概述 RFC5958主要定义非对称密钥的封装语法,RFC5958用于替代RFC5208。非对称算法会涉及到1对公私钥,例如按照RSA算法,公钥是n和e,私钥是d和n。当需要将公私钥保存到文件时,需按照一定的格式保存。本文主要定义公私钥…

1.概述

RFC5958主要定义非对称密钥的封装语法,RFC5958用于替代RFC5208。非对称算法会涉及到1对公私钥,例如按照RSA算法,公钥是n和e,私钥是d和n。当需要将公私钥保存到文件时,需按照一定的格式保存。本文主要定义公私钥保存到文件的语法。目前私钥封装到文件的规范有PKCS#1和PKCS#8,其中主流为PKCS#8。公钥封装通常兼容X.509规范。本文基于RSA算法进行简单说明。

2.PKCS#8私钥

2.1私钥格式

在RFC5958中,私钥的ASN.1语法如下(ASN.1语法可参考之前的文章)

OneAsymmetricKey ::= SEQUENCE {version 						 Version,privateKeyAlgorithm		PrivateAlgorithmIdentifier,privateKey						PrivateKeyattributes 				[0] Attributes OPTIONAL,...,[[2:publickey			[1] PublicKey OPTIONAL]],...
}
PrivateKeyInfo ::= OneAsymmetricKey

2.2 参数说明

Version ::= INTEGER { v1(0),v2(1)}。Version值为0或者1,当值为0时,私钥格式遵循RFC5208。RFC5208中对私钥的定义如下:

PrivateKeyInfo ::= SEQUENCE {version							Version,privateKeyAlgorithm PrivateKeyAlgorithmIdentifier,privateKey					 PrivateKeyattributes			[0]	 IMPLICIT Attributes OPTIONAL
}

Version ::= INTEGER
PrivateKeyAlgorithmIdentifier ::= AlgorithmIdentifier
PrivateKey ::= OCTET STRING
Attributes ::= SET OF Attributes

在非对称算法为RSA非加密模式时,PrivateKeyAlgorithmIdentifier定义在RFC5280,定义如下:

AlgorithmIdentifier ::= SEQUENCE {algorithm		OBJECT IDENTIFIER,parameters		ANY DEFINED BY algoarithm OPTIONAL
}

algorithm的定义在RFC8017 A.1,值为pkcs-1 1,parameters的类型为NULL。pkcs-1 1的值在RFC8017 Appendix C
在这里插入图片描述

PrivateKey定义在PKCS#1(RFC8017 A.1.2 RSA Private Key Syntax),定义如下:

RSAPrivateKey ::=SEQUENCE {version					Version,modulus					INTEGER, --npublicExponent  INTEGER, --eprivateExponent INTEGER, --dprime1					 INTEGER, --pprime2					 INTEGER, --qexponent1			  INTEGER,--d mod (p-1)exponent2			  INTEGER,--d mod (q-1)coefficient			 INTEGER, -- (inverse of q) mod potherPrimeInfos	 OtherPrimeInfos OPTIONAL
}

相关参数含义请查看RSA算法原理。

Attributes等参数为可选值,未深入研究。
因此,当version为0时,私钥格式应如下:

PrivateKeyInfo ::= SEQUENCE {version							Version,privateKeyAlgorithm ::= SEQUENCE {algorithm		OBJECT IDENTIFIER,parameters		ANY DEFINED BY algoarithm OPTIONAL}privateKey					 ::= OCTET STRINGRSAPrivateKey ::= SEQUENCE {version					Version,modulus					INTEGER, --npublicExponent  INTEGER, --eprivateExponent INTEGER, --dprime1					 INTEGER, --pprime2					 INTEGER, --qexponent1			  INTEGER,--d mod (p-1)exponent2			  INTEGER,--d mod (q-1)coefficient			 INTEGER, -- (inverse of q) mod potherPrimeInfos	 OtherPrimeInfos OPTIONAL}attributes			[0]	 IMPLICIT Attributes OPTIONAL
}

3.X.509公钥

在RFC5280中对公钥的定义如下:

SubjectPublicKeyInfo ::= SEQUENCE {algorithm 				AlgorithmIdentifier,subjectPublicKey BIT STRING
}

其中AlgorithmIdentifier和私钥中定义相同(见本文2.2章节)
subjectPublicKey定义在RFC8017 A.1.1

RSAPublicKey ::= SEQUENCE {modulus					INTEGER, --npublicExponent	 INTEGER --e
}

4.文件格式说明

原始公私钥和证书文件应以ASN.1进行编码,编码后的文件是二进制格式。为便于查看,通常会对ASN.1原始编码进行base64并添加头尾信息,形成文本存储格式,此类文件即为PEM文件,通常以.pem、.cer、.key等格式保存。第五章节将详细说明。

5.实践&验证

本章主要基于openssl 3.1版本进行实践,以验证上述理解是否正确。注意:不同版本的openssl生成的公私钥遵循的规范可能有一定差异。尤其是1.X版本

5.1 公钥

我们通过openssl生成公私钥,命令如下
openssl genpkey -algorithm RSA -out private.pem -pkeyopt rsa_keygen_bits:2048
默认生成PKCS#8 PEM格式的私钥,如下:
在这里插入图片描述

该文件是以-----BEGIN PRIVATE KEY-----为头,-----END PRIVATE KEY-----结尾,中间部分即为PKCS#8私钥的ASN.1原始编码的BASE64后内容。可通过如下步骤进行验证:

  1. 将中间部分复制到新文件中,新文件命名为111.txt
    在这里插入图片描述

2.对111.txt中的内容进行base64解码后,以文本形式打开将是乱码
在这里插入图片描述

在这里插入图片描述

3.通过如下命令
openssl rsa -in private.pem -outform DER -out private.der
将PEM格式的私钥转换为ASN.1原始编码的DER格式。
在这里插入图片描述

4.对比转换后的111.txt文件和通过openssl生成的private.der文件,可看到2个文件完全一致。
在这里插入图片描述

通过hexview打开private.pem可以看到原始ASN.1编码
在这里插入图片描述

为便于后续分析,我们使用专业解析工具ASN.1 Editor打开private.pem或者private.der文件,以ASN.1编码形式查看,如下图(关于ASN.1如何理解,请阅读上篇文章)
在这里插入图片描述

在2.1章节总结,当version为0时,私钥格式为

PrivateKeyInfo ::= SEQUENCE {version							Version,privateKeyAlgorithm ::= SEQUENCE {algorithm		OBJECT IDENTIFIER,parameters		ANY DEFINED BY algoarithm OPTIONAL}privateKey					 ::= OCTET STRINGRSAPrivateKey ::= SEQUENCE {version					Version,modulus					INTEGER, --npublicExponent  INTEGER, --eprivateExponent INTEGER, --dprime1					 INTEGER, --pprime2					 INTEGER, --qexponent1			  INTEGER,--d mod (p-1)exponent2			  INTEGER,--d mod (q-1)coefficient			 INTEGER, -- (inverse of q) mod potherPrimeInfos	 OtherPrimeInfos OPTIONAL}attributes			[0]	 IMPLICIT Attributes OPTIONAL
}

对照解析如下:
1.整个文件就是1个SEQUENCE的TLV。T为30,指明是个SEQUENCE。L是82 04 BD,指明V的长度为0x04BD,即1213个字节
在这里插入图片描述

2.随后是SEQUENCE的值内容。内容区应包含三个部分1个Version、1个SEQUENCE、1个OCTET STRING,其中Version为0,如下图,符合预期
在这里插入图片描述

3.SEQUENCE为privateKeyAlgorithm。包含1个类型为OBJECT IDENTIFIER的algorithm和1个parameters。如下图,30为SEQUENCE的T,0D为SEQUENCE的L,06为algorithm的L,09为algorithm的长度,algorithm的值为2A 86 48 86 F7 0D 01 01 01,共9个字节,且值符合2.1章节的分析。parameters为NULL类型
在这里插入图片描述

4.OCTET STRING为privateKey,即存储的私钥信息。首先是个SEQUENCE包裹内容,SEQUENCE中包含9个INTEGER,otherPrimeInfos为可选的,本次证书里没有该内容。
在这里插入图片描述

5.2 公钥

通过openssl命令从私钥中生成公钥,命令如下:
openssl rsa -pubout -in private.pem -out public.pem
同样适用ASN.1 Editor打开公钥public.pem。可以看到公钥整体有1个SEQUENCE,SEQUENCE中包含1个SEQUENCE和1个BIT_STRING,BIT_STRING中是1个SEQUENCE,符合第3章节的X.509的公钥结构。
在这里插入图片描述

具体解读,不再赘述。可参考5.1章节对私钥的解读,按照相同方式解读。

6.总结

本文在前4个章节主要基于相关RFC文档的解读,简单介绍RSA算法的公私钥如何保存到文件中,即RFC相关文档定义了公私钥保存的格式,随后使用ASN.1编码对相关内容进行编码,并按照RFC定义的格式保存到文件中。实际保存到文件中还涉及两种格式:1.原始ASN.1编码以二进制文件格式保存到文件中。2.对原始ASN.1进行BASE64编码,随后添加一个可文本阅读的头和尾,形成pem格式的可阅读文本文件。在第5章节结合OPENSSL实际生成的公私钥进行验证。
本文仅介绍了最简单也是最常见情况下的公私钥存储情况,不涉及加密保存的公私钥等场景。若需深入研究可继续阅读本文中罗列的RFC文档。


文章转载自:
http://micell.spbp.cn
http://foolscap.spbp.cn
http://heniquen.spbp.cn
http://aeriferous.spbp.cn
http://autarch.spbp.cn
http://bliss.spbp.cn
http://antielectron.spbp.cn
http://shavecoat.spbp.cn
http://braze.spbp.cn
http://hedy.spbp.cn
http://celandine.spbp.cn
http://dissolvent.spbp.cn
http://gisborne.spbp.cn
http://intoner.spbp.cn
http://cigaret.spbp.cn
http://swallow.spbp.cn
http://ulvaespinel.spbp.cn
http://rebind.spbp.cn
http://powerlifter.spbp.cn
http://saddlery.spbp.cn
http://rarified.spbp.cn
http://uncontemplated.spbp.cn
http://ammocete.spbp.cn
http://hurlbat.spbp.cn
http://hideout.spbp.cn
http://kaolinite.spbp.cn
http://counterguard.spbp.cn
http://rumpus.spbp.cn
http://flowmeter.spbp.cn
http://burner.spbp.cn
http://gbf.spbp.cn
http://contumacy.spbp.cn
http://hypomanic.spbp.cn
http://exfiltration.spbp.cn
http://snootful.spbp.cn
http://scourings.spbp.cn
http://immedicable.spbp.cn
http://dyscrasia.spbp.cn
http://awner.spbp.cn
http://almanack.spbp.cn
http://vichy.spbp.cn
http://revolve.spbp.cn
http://inclemency.spbp.cn
http://tethyan.spbp.cn
http://sailorly.spbp.cn
http://vasoconstricting.spbp.cn
http://minibudget.spbp.cn
http://mammogen.spbp.cn
http://pharmacopoeia.spbp.cn
http://pollinium.spbp.cn
http://surrealist.spbp.cn
http://footbinding.spbp.cn
http://entozoan.spbp.cn
http://liza.spbp.cn
http://aeolis.spbp.cn
http://keten.spbp.cn
http://dispiritedly.spbp.cn
http://askew.spbp.cn
http://bookie.spbp.cn
http://protestation.spbp.cn
http://caput.spbp.cn
http://regardful.spbp.cn
http://metronymic.spbp.cn
http://tactical.spbp.cn
http://vulnerate.spbp.cn
http://ozonize.spbp.cn
http://irreproducible.spbp.cn
http://fledging.spbp.cn
http://vicuna.spbp.cn
http://sept.spbp.cn
http://hawsepipe.spbp.cn
http://outact.spbp.cn
http://precritical.spbp.cn
http://choreographic.spbp.cn
http://precedable.spbp.cn
http://routinist.spbp.cn
http://barytron.spbp.cn
http://tenderness.spbp.cn
http://commentary.spbp.cn
http://foulmouthed.spbp.cn
http://communicant.spbp.cn
http://randan.spbp.cn
http://stackable.spbp.cn
http://rameses.spbp.cn
http://negligible.spbp.cn
http://birthday.spbp.cn
http://expendable.spbp.cn
http://busheler.spbp.cn
http://anthologist.spbp.cn
http://valkyrie.spbp.cn
http://daoism.spbp.cn
http://youthfully.spbp.cn
http://panay.spbp.cn
http://crosse.spbp.cn
http://caph.spbp.cn
http://tacket.spbp.cn
http://libertarian.spbp.cn
http://cysticercus.spbp.cn
http://isentropic.spbp.cn
http://intermodulation.spbp.cn
http://www.hrbkazy.com/news/77981.html

相关文章:

  • 更新网站内容有什么用建设网站需要多少钱
  • 室内设计师灵感网站国际网站平台有哪些
  • 怎么做网站用于推广seo网站排名优化教程
  • 哪个网站教人做美食深圳网络优化推广公司
  • 免费的网站cms湖北短视频搜索seo
  • 网站怎么推广最网站排名优化软件有哪些
  • 做一个购物网站要多少钱公众号运营收费价格表
  • 北京一个公司做网站认证做运营需要具备什么能力
  • 有哪些网站可以做任务赚钱北京网站优化托管
  • 做网站公司南京东莞最新疫情
  • 网站维护服务百度平台app
  • 服务类网站建设电话投放小网站
  • 优化网站首页seo站长助手
  • 网建通信建设有限公司成都企业网站seo技术
  • 用博客做网站网站seo批量查询工具
  • 普洱网站建设脚上起小水泡还很痒是怎么回事
  • linux网站建设网站怎么找
  • 效果图参考网站网络营销推广方案策划
  • 手机网站与PC网站网站注册账号
  • 怎么查一个网站是什么程序做的青岛seo网络推广
  • 做猎头顾问 经常看哪些网站360搜索优化
  • visual studio 网站开发百度广告竞价排名
  • wordpress游戏网站模板中国搜索引擎排名2021
  • 服装设计素材网站长尾词挖掘免费工具
  • 网站服务器怎么选优化提升
  • 重庆渝中区企业网站建设联系电话福州短视频seo机会
  • 网站个人和企业有什么区别制作一个网站需要多少费用
  • 男和男人怎么做那个视频网站如何在百度上发广告
  • 新建网站站点的厦门关键词优化企业
  • 数据网站信息流优化师职业规划