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

巨省网站电商网站建设 解决方案的设计

巨省网站,电商网站建设 解决方案的设计,wordpress怎么让手机端好看,oa和erp系统区别银河麒麟服务器操作系统搭建证书服务器并颁发可用于签名的证书的方法与前面Centos7上#xff08;centos7 使用openssl 配置证书服务器并颁发证书#xff08;史上最详细版本#xff09;_centos phpinfo显示的openssl配置项为/etc/pki/tls/openssl.c-CSDN博客#xff09;是一…银河麒麟服务器操作系统搭建证书服务器并颁发可用于签名的证书的方法与前面Centos7上centos7 使用openssl 配置证书服务器并颁发证书史上最详细版本_centos phpinfo显示的openssl配置项为/etc/pki/tls/openssl.c-CSDN博客是一样的不过使用的openssl版本不同可能略微不同。  就还是稍微记录一下吧~~ 使用cat /etc/os-release命令获取当前系统版本信息 一、安装openssl工具 rpm -qa openssl  #如果没有查询到则需要进行安装 yum install -y openssl #如果服务器可联网yum install 命令安装即可如服务器不可联网则使用对应服务器CPU架构的离线安装包通过命令 rpm -ivh xxx.rpm 命令安装 安装好了openssl工具之后默认安装目录为/etc/pki/目录。cd /etc/pki/ 跳转到目录下ls查看目录结构 在进行搭建证书服务器之前需要先了解openssl配置文件的作用。 1.1openssl.cnf配置文件作用简介 openssl工具安装之后默认配置文件目录为/etc/pki/tls/openssl.cnf该文件主要设置了证书请求、签名、crl相关的配置。主要相关的伪命令为ca和req。该文件从功能结构上分为4个段落默认段、ca相关的段、req相关的段、tsa相关的段。每个段中都以namevalue的格式定义。 1.1.1配置默认路径 配置默认路径包括默认的CA路径dir、证书路径certs、crl路径crl_dir、根证书路径certificate、serial文件路径serial、私钥路径private_key等。生成根证书的私钥、证书时可以根据此配置文件里的设置设定文件名也可以根据自己的需要自行设置文件名然后再对此配置文件进行修改将对应的文件名信息改正确。 一般需要设置的就是 1dir             /etc/pki/CA    设定这个路径 为home路径所有ca相关的证书都在这个文件夹里 2certificate     $dir/XXXX  设定根证书文件路径 这是自建证书服务器时需要去生成的。 3serial          $dir/serial  这个 就建议就用serial做文件名即需要在这个路径下生成一个名为serial的文件并且需要向这个文件中添加初始值 4private_key     $dir/private/XXXX  # The private key 设定根证书对应的私钥文件路径 #################################################################### [ ca ] default_ca      CA_default            # The default ca section #################################################################### [ CA_default ] dir             /etc/pki/CA           # Where everything is kept certs           $dir/certs            # Where the issued certs are kept crl_dir         $dir/crl              # Where the issued crl are kept database        $dir/index.txt        # database index file. #unique_subject no                    # Set to no to allow creation of                                         # several ctificates with same subject. new_certs_dir   $dir/newcerts         # default place for new certs. certificate     $dir/cacert.pem       # The CA certificate serial          $dir/serial           # The current serial number crlnumber       $dir/crlnumber        # the current crl number                                         # must be commented out to leave a V1 CRL crl             $dir/crl.pem          # The current CRL private_key     $dir/private/cakey.pem# The private key RANDFILE        $dir/private/.rand    # private random number file 具体路径可根据自己的情况进行配置然后去生成相关的文件也可以先生成相关的文件然后再对此配置文件进行修改一定要确保配置文件里的路径是正确的否则可能会报错 1.1.2规定签发的证书的用途 如规定证书中的密钥用途这个证书用途的体现在当使用证书浏览器查看时看到的密钥用法如通过浏览器---internet选项---内容---证书---详细信息中显示的密钥用法信息如下图所示 对应的配置内容为 当需要在证书的密钥用法中展示数字签名并可用于签名时就需要将此部分的keyUsage内容开放 # This is typical in keyUsage for a client certificate. keyUsage nonRepudiation, digitalSignature, keyEncipherment vi /etc/pki/tls/openssl.cnf 1.1.3规定证书信息的匹配情况 具体体现在证书生成证书请求文件时设定的要与根证书设定的一样如果设定不一样在做证书签名时就会报错提示对应设定不匹配。 如以下配置就要求 countryName、stateOrProvinceName、organizationName三个都是一样的。 对于openssl.cnf文件的更加详细的介绍可参考其他资料。 二、生成根证书 生成证书的步骤是生成私钥文件---》生成证书请求文件---》生成公钥证书文件并进行签名。 生成证书的过程中会涉及多个文件如私钥文件、证书请求文件、公钥证书文件等非常容易搞混淆一定要区分清楚建议就从文件名、后缀加以区分否则就真的非常容易踩坑。如私钥就用xxxKey.pem证书请求文件xxxreq.pem、公钥证书文件xxxCert.crt。一定要搞清楚自己的文件到底是哪种类型的 2.1生成根证书的私钥 openssl genrsa 命令是会用来生成 RSA 私有秘钥不会生成公钥因为公钥提取自私钥。生成私钥时是可以指定私钥长度和密码保护。如果需要查看公钥或生成公钥可以使用 openssl rsa 命令。 openssl genrsa [-out filename] [-passout arg] [-aes128] [-aes192] [-aes256] [-camellia128] [-camellia192] [-camellia256] [-des] 可以通过openssl genrsa 命令查看命令具体参数与用法 [rootecs-be9a CA]#openssl genrsa ? usage: genrsa [args] [numbits]  -des            encrypt the generated key with DES in cbc mode  -des3           encrypt the generated key with DES in ede cbc mode (168 bit key)  -idea           encrypt the generated key with IDEA in cbc mode  -seed                  encrypt PEM output with cbc seed  -aes128, -aes192, -aes256                  encrypt PEM output with cbc aes  -camellia128, -camellia192, -camellia256                  encrypt PEM output with cbc camellia  -out file       output the key to file  -passout arg    output file pass phrase source  -f4             use F4 (0x10001) for the E value  -3              use 3 for the E value  -engine e       use engine e, possibly a hardware device.  -rand file:file:...                  load the file (or the files in the directory) into                  the random number generator [rootecs-be9a CA]# openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048 生成私钥私钥中含有公钥如果需要公钥需要单独提取公钥 。 如果在openssl genrsa 命令中指定加密算法如 -des3 则会提示输入私钥保护密码那么下次使用这个私钥文件的时候就会提示输入私钥密码如命令openssl genrsa -des3 -out test1.key 2048执行效果如下图所示 2.2生成根证书的证书请求文件 2.2.1准备--创建serial文件 在生成证书请求文件之前需要形成记录数据的文件index.txt以及最初始的自签名证书的序列号可serial文件 touch index.txt  #生成数据记录文件index.txt 向serial中写入证书初始序列号这个serial文件路径就按照openssl.cnf配置文件中的路径生成就可以。网上很多是向serial中写入01像这样 但是实际上这个序列号最终是显示到自签名的根证书的序列号里的,像这样 对于x509证书来说序列号应该是一个32位的类似uuid的标志证书序列号的因此我个人不建议直接向serial中写01可写一个32位的如 a87a2d6dec4d07bd9095c9b2ee73b2ea 9579518878956341ccc51615197eb0f3 51b55180d6da29cdbaddf60d9430230a 5ce48cc7f764ad17aa6fe2a1ffab06d5 dd7b4730fa89a66b8edd977415a8b688 1ce7727ba8fb7be4dca36c354d1ae61f 因此可这样操作 echo 9579518878956341ccc51615197eb0f3 serial 2.2.2生成根证书的证书请求文件 创建证书请求文件使用openssl req命令。 该命令主要的功能有生成证书请求文件 查看验证证书请求文件还有就是生成自签名证书。生成证书请求需要什么申请者需要将自己的信息及其公钥放入证书请求中。但在实际操作过程中所需要提供的是私钥而非公钥建议使用CA的私钥文件/etc/pki/CA/private/cakey.pem来创建待自签署的证书请求文件虽非必须但方便管理。在生成证书请求文件时就会根据配置文件里要求的整合素必须项进行输入设置。另外还需要将提供的数据进行数字签名(使用单向加密)保证该证书请求文件的完整性和一致性防止他人盗取后进行篡改。 openssl req命令参数说明     -new    :说明生成证书请求文件      -x509   :说明生成自签名证书      -key    :指定已有的秘钥文件生成秘钥请求只与生成证书请求选项-new配合。      -newkey :-newkey是与-key互斥的-newkey是指在生成证书请求或者自签名证书的时候自动生成密钥 然后生成的密钥名称由-keyout参数指定。当指定newkey选项时后面指定rsa:bits说明产生 rsa密钥位数由bits指定。 如果没有指定选项-key和-newkey默认自动生成秘钥。      -out    :-out 指定生成的证书请求或者自签名证书名称      -config :默认参数在ubuntu上为 /etc/pki/tls/openssl.cnf, 可以使用-config指定特殊路径的配置文件      -nodes  :如果指定-newkey自动生成秘钥那么-nodes选项说明生成的秘钥不需要加密即不需要输入passphase.      -batch  :指定非交互模式直接读取config文件配置参数或者使用默认参数值     执行如下命令生成根证书的请求文件 openssl req -new -x509 -key  /etc/pki/CA/private/cakey.pem -out careq.pem -days 730 -config  /etc/pki/tls/openssl.cnf   #使用-key指定使用的根证书的私钥文件  /etc/pki/CA/private/cakey.pem-config指定配置文件 /etc/pki/tls/openssl.cnf -days 730指定有效期为730天 -out careq.pem指定输出文件为当前命令执行目录下careq.pem 生成证书请求文件时要求输入配置文件里设定的必须的信息值。如在上文中我配置了要求countryName、stateOrProvinceName、organizationName三个是一致的因此此时这三者是需要填写并且需要记住的。其中对于最终生成的根证书来说这些填写的信息最终体现在证书的详细信息中生成证书请求文件时输入的信息对应的就是使用者信息 在证书详细信息中、各参数含义如下 C-----国家Country Name S----省份State or Province Name L----城市Locality Name O----公司Organization Name OU----部门Organizational Unit Name CN----通用名Common Name emailAddress----邮箱Email Address 通过 openssl req 命令生成证书请求文件careq.pem 2.3生成根证书公钥证书并进行自签名 要提供CA自己的证书测试环境下CA只能自签署使用openssl req -x509、openssl x509和openssl ca都可以自签署证书请求文件。 自签署的证书就是自签名证书自签名证书的体现就是查看证书时证书的颁发给与颁发者是一致的如下图所示 openssl x509 命令 该X509命令是一个多目的证书效用。它可用于显示证书信息、将证书转换为各种形式、像“迷你 CA”一样签署证书请求或编辑证书信任设置。 执行命令 openssl req -x509 -new -key /etc/pki/CA/private/cakey.pem -in careq.pem -out cacert.pem -days 3650  -new表明要使用新的私钥文件 -key:指定签名使用的私钥 -in:指定签名使用的证书请求文件 -out:指定输出的证书的文件信息   -days :指定生成的证书文件的有效期 进行自签名 做完自签名之后我们就可以得到一个自签名根证书了。 2.3.1pem格式证书转换crt 注意按照前面操作的步骤我们得到的是一个PEM后缀格式的根证书的公钥证书文件cacert.pem对于后续的个人证书的签发没有影响但对于windows操作系统来说是不能直接使用的如果需要在windows上导入证书存储区需要做一个格式转换。 openssl x509 -outform der -in cacert.pem -out cacert.crt 前面我们提到在证书的配置文件中规定了证书的信息匹配问题主要体现在这里生成证书请求文件时输入的信息与签名用的根证书信息不匹配时可能会报错。例如下图所示就是因为生成证书请求文件时候输入的stateOrProvinceName不一致提示了The stateOrProvinceName field needed to be the same in the CA certificate(XXXX) and the request(XXX) 在完全生成了需要的根证书的私钥文件、证书请求文件、根证书之后我们就可以再次确认一下配置文件 /etc/pki/tls/openssl.cnf里的私钥文件路径、根证书路径是否是对的。 做完以上操作就已经完成了根证书的设置接下来只需要进行需要个人证书的私钥生成、证书请求文件的生成、公钥证书的生成、生成需要的pfx格式证书文件、抽取需要的证书链p7b文件最后通过结合使用pfx格式证书以及p7b证书链只要能完整的验证证书的完整性证书目的是可用于签名的就算是达到目的了。 三、生成需要使用的可用于签名的证书 与生成根证书的过程类似都是生成私钥文件---》生成证书请求文件---》生成公钥证书文件并进行签名。不一样的地方在于签署证书使用的是前面产生的根证书的相关文件。具体步骤如下。 3.1生成签名证书的私钥 执行如下命令生成签名证书需要的私钥文件 openssl genrsa -des3 -out testkey.pem 2048 -des3参数表示加密算法为des3 需要输入即将生成这个私钥文件testuser2key.pem的加密密码请牢记这个密码后续需要使用到。现象如下 提示输入加密密码并确认输入两次输入的信息必须是一致的。 3.2生成签名证书的证书请求文件 生成需要使用的签名证书私钥对应的证书请求文件 openssl  req -new -key testkey.pem -out testreq.pem -days 365 -config /etc/pki/tls/openssl.cnf  -key 指定当前使用的私钥文件、-out 指定当前要生成的证书请求文件的名字如上述命令均为指向当前目录下的文件。当使用的密钥文件有加密时就会提示输入加密使用的密码。之后会提示输入这个证书请求文件的主要信息如 You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter ., the field will be left blank. ----- Country Name (2 letter code) [AU]:CN State or Province Name (full name) [Some-State]:CQ Locality Name (eg, city) []:cq Organization Name (eg, company) [Internet Widgits Pty Ltd]:Company Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []:test Email Address []: Please enter the following extra attributes to be sent with your certificate request A challenge password []: An optional company name []: 这些信息最终会在证书的详细信息的使用者中展示。 如下图所示就是在生成证书请求文件时设置的Common Name为testuser1最终签发的证书Common Name就是指的颁发给即证书使用者信息 整体过程图如下使用的密钥有密码需要输入正确的密码extra部分为可选内容可直接回车 生成的证书请求文件 3.3用Ca的根证书相关文件签发 签名证书的公钥证书文件 生成签名证书的公钥证书文件在生成根证书的时候采用的是自签名所以是使用的根证书自己的私钥去做签名。而到这里需要的签名证书的公钥证书文件的时候就需要注意是用的签名证书的证书请求文件、根证书的公钥证书文件、以及根证书的私钥文件来进行签发 执行命令 openssl ca -in testreq.pem -cert /etc/pki/CA/cacert.pem -keyfile /etc/pki/CA/private/cakey.pem -out /etc/pki/CA/testcert.crt -config /etc/pki/tls/openssl.cnf -in 指定当前使用的证书请求文件-cert 指定当前签发用的根证书的公钥证书文件-keyfile 指向当前使用的根证书公钥文件对应的根证书私钥文件-out 指定即将生成的公钥证书文件名不指定目录的情况下均为当前目录。 这样就得到了crt后缀的公钥证书文件了。 3.4生成签名证书的pfx格式文件 openssl pkcs12 -export -inkey testkey.pem -in testcert.crt  -out test.pfx -in 使用的是签名通过证书请求文件已签发的公钥证书文件 -inkey 使用的是私钥文件 -out 指定生成的pfx格式文件 不指定路径为当前目录下 导出pfx格式证书文件时还提示输入的密码就使用此证书文件需要的密码要牢记。 4.4.1检测生成的证书 将生成的pfx文件testuser2.pfx、根证书文件caroot.crt通过windows客户端安装检查最终结果如下 1、双击安装pfx文件 下一步 下一步输入生成pfx设置的密码 下一步根据证书类型自动选择证书存储即可 点击完成即可。 如果安装的是根证书则要选择存储区域将其安装到受信任的根证书颁发机构中的安装的根证书存储位置受信任的根证书颁发机构里颁发给与颁发者信息完全一致是一个自签名的根证书。 查看证书 生成证书请求文件输入的Common Name信息就是颁发给显示的详细信息里的使用者信息就是全部输入的信息 当对应的根证书也安装时就能进行验证 证书密钥用法含Digital Signature 四、生成根证书的证书链p7b文件 签名盖章时需要使用p7b文件去验证证书链这里说的证书链必然是要包含到根证书信息的因此使用的是根证书的相关文件进行抽取证书链。 生成p7b命令语法 openssl  crl2pkcs7  [-inform PEM|DER ] [-outform PEM|DER ] [-in filename ] [-out filename ] [-certfile filename ] [-nocrl ] 选项说明 -inform PEM|DER输入文件的格式。DER是DER编码的CRL对象。PEM默认的格式是base64编码的CRL对象。 -outform PEM|DER指定文件的输出格式跟-inform的意思一样。  -in filename指定CRL文件不设置此项则从标准输入中获取。 -out filename指定输出文件不设置此项则输入到标准输出。 -certfile filename指定证书文件PEM格式的证书文件可以包含多个证书此选项可以多次使用。 -nocrl不处理crl。一般情况下输出文件中包含crl信息设置此选项时读取时忽略CRL信息生成的信息不保护CRL信息。 要导出的是根证书的证书链文件一定是通过根证书的公钥证书文件导出证书链p7b文件 执行命令openssl crl2pkcs7 -certfile cacert.pem -outform DER -out caRoot.p7b -nocrl 至此需要的签名证书 test.pfx、根证书链caroot.p7b均已生成。
http://www.zqtcl.cn/news/912962/

相关文章:

  • 怎样创建网站的代码此网站域名即将过期
  • 网页转向网站jquery图片效果网站
  • 山东定制网页建站wordpress是是什么技术
  • 无锡免费网站制作手游网页版
  • 东莞 网站建设 定制水寻找常州微信网站建设
  • 在门户网站做推广网站开发需要20万
  • 网站做电商销售需要注册吗上海的公司地址
  • 给网站做选题计算机网络技术电商网站建设与运营方向
  • 网站如何做熊掌号并绑定wordpress pdf
  • wordpress页面构建器中文文山seo公司
  • 凡科免费做网站蜂箱尺寸与制作图片
  • 完全不收费的聊天软件班级优化大师下载安装app
  • 合肥网站改版360免费建站永久免费
  • 商业网站建设案例课程 下载工信部企业网站认证
  • 泉州网站设计哪家公司好沈阳seo代理计费
  • 做景观素材有哪几个网站国内建网站费用
  • 驻马店重点项目建设网站wordpress常规选项
  • 网站开发 英文网站策划建设阶段的推广
  • 建立网站一般多少钱wordpress评论跳过验证
  • 南京每月做社保明细在哪个网站查看设计作品的网站软件
  • html怎么做网站如何在腾讯云上网站建设
  • 网站建设怎么链接表格手机做外贸有什么好的网站
  • 深圳开发网站建设哪家好外贸网络营销培训
  • 广州智迅网络做网站免费下载ps素材网站
  • 什么网站时候做伪静态开发软件定制
  • 找人做网站 多少钱西宁市公司网站建设
  • 网页设计 教程网站找权重高的网站方法
  • 网站建设本地还是外地重庆seo排名方法
  • 那个网站做网编好昨晚兰州发生了什么事
  • 温州建设局网站首页哪里可以学做资料员的网站