创建自签名证书SSL流程说明
——单向SSL
1、创建keystore
2、验证生成的keystore
3、创建自签名的证书
4、再次验证生成的keystore
5、导出cer证书
6、浏览器安装信任证书
a)对于IE浏览器,选择Internet选项,则显示如下:
b)点击证书按钮,显示如下
c)点击导入,显示如下:
d)点击下一步,显示如下:
e)选择要导入的文件,这里我们选择步骤5导出的dty.cer证书,单击下一步显示如
下:
f)选择奖所有的证书放入下列存储:收信人的根证书颁发机构,点击下一步,显示如
下:
g)单击完成,显示如下:
h)由于我们是一个自签名证书,所以windows会给出上面的安全提示,选择“是”,显
示如下:
7、启动配置SSL的服务器,提交https请求,将不再出现如下的提示框:
8、证书下载
对于证书的安装,在实际使用中一般可以提供一个连接允许用户下载证书。如下图红框
所示:
9、说明:
此SSL配置为单向认证。
SSL证书验证过程解读及申请使用注意事项 SSL证书和我们日常用的身份证类似,是一个支持HTTPS网站的身份证明,由受信任的数字证书颁发机构CA(如沃通CA)验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。SSL证书里面包含了网站的域名,证书有效期,证书的颁发机构以及用于加密传输密码的公钥等信息,由于公钥加密的密码只能被在申请证书时生成的私钥解密,因此浏览器在生成密码之前需要先核对当前访问的域名与证书上绑定的域名是否一致,同时还要对证书的颁发机构进行验证,如果验证失败浏览器会给出证书错误的提示。 本文将对SSL证书的验证过程以及个人用户在访问HTTPS网站时,对SSL证书的使用需要注意哪些安全方面的问题进行描述。 一、数字证书的类型 实际上,我们使用的数字证书分很多种类型,SSL证书只是其中的一种。证书的格式是由X.509标准定义。SSL证书负责传输公钥,是一种PKI(Public Key Infrastructure,公钥基础结构)证书。 我们常见的数字证书根据用途不同大致有以下几种: 1、SSL证书:用于加密HTTP协议,也就是HTTPS。 2、代码签名证书:用于签名二进制文件,比如Windows内核驱动,Firefox插件,Java 代码签名等等。 3、客户端证书:用于加密邮件。 4、双因素证书,网银专业版使用的USB Key里面用的就是这种类型的证书。 这些证书都是由受认证的证书颁发机构CA(Certificate Authority)来颁发,针对企业与个人的不同,可申请的证书的类型也不同,价格也不同。CA机构颁发的证书都是受信任的证书,对于SSL证书来说,如果访问的网站与证书绑定的网站一致就可以通过浏览器的验证而不会提示错误。 二、SSL证书申请与规则 SSL证书可以向CA机构通过付费的方式申请,也有CA机构提供免费SSL证书如沃通CA。 CA机构颁发的证书有效期一般只有一年到三年不等,过期之后还要再次申请,在ssl 证书应用中企业网站应用较多。但是随着个人网站的增多,以及免费SSL证书的推出,个人网站ssl证书应用数量也在飞速增加。在百度开放收录https网站后,预计https网站将迎来井喷。 在申请SSL证书时需要向CA机构提供网站域名,营业执照,以及申请人的身份信息等。网站的域名非常重要,申请人必须证明自己对域名有所有权。此外,一个证书一般只绑定一个域名,比如你要申请域名时绑定的域名是https://www.doczj.com/doc/7111298103.html,,那么只有在浏览器地址是
附件2 中债综合业务平台客户端数字签名说明 可信代码数字签名证书可以保证您的软件是完整的、安全的(即可信任的)。为了保障您所下载的中债综合业务平台客户端安装程序未受病毒或木马的侵害,我公司已对安装程序及运行程序启用数字签名证书,并在版本安装和使用时进行明确的提示。(以下以“中债综合业务平台网上客户端”为例说明)。 一、数字签名说明 1.在已下载的安装程序上点击右键,选择“属性”;
2.选择“数字签名”标签,可看到该文件由中央国债登记结算有限责任签名。
3.点击“详细信息”,如软件未被改动,则证书的状态为“此数字签名正常”。 4.点击“查看证书”,可看到证书相关信息。
至此,可确认您下载的安装程序是可信任的,请放心进行安装和使用。 5.如果文件被非法篡改,分为两种情况 第一种:如果是WindowsXP系统,则在文件属性里,“数字签名”一栏仍显示该文件有签名,但详细信息里会提示“该数 字签名无效”,查看证书里会提示“没有验证对象的数字签名”。
第二种:如果是Windows7以上的系统,则在文件属性里看不到“数字签名”一栏. 一旦遇到以上这两种情况,请立即删除安装程序并重新下载,然后重复以上的验证步骤。 二、安装过程及客户端打开过程操作提示 1.Windows系统弹出的用户帐户控制窗口。 在Windows7及以上版本的系统中,如果将控制面板中的“用户帐户控制设置”设定为“始终通知”或“仅在程序尝试对我的计算机进行更改时通知我”,则会在运行安装程序时,弹出操作系统UAC提示对话框,此时点击“是”即可
继续进行安装操作。 2.打开客户端时可能遇到的安全警告。 在启动中债综合业务平台客户端时,如果用户的组策略—用户配置—管理模板—Windows组件—附件管理器中的高风险文件类型的包含列表是开启状态,会弹出安全警告对话框,此时点击“运行”即可继续启动打开客户端程序。
如何通过SSL证书开启服务器443端口 前阵子遇到个问题,因为我们的网站是外贸网站,需要通过Paypal付款,但是,客户通过PP付款之后居然不能生成订单号,后来发现服务器的443端口是关闭状态,好了,问题来了:如何开启服务器的443端口呢? 深圳国际快递https://www.doczj.com/doc/7111298103.html,在这里分享一下开启443端口的经验: 第一:当然是配置硬件,把防火墙令443端口放行!具体办法朋友可以去百度一下哈,其实落伍里面也有! 第二,创建SSL证书,我个人觉得这个比较重要,下面把具体的方法分享给一下。 #LoadModule ssl_module modules/mod_ssl.so 的#去掉,开启SSL功能。 然后我们要新建一个SSL虚拟目录,监听443端口 一般情况下我使用centos的虚拟列表都会放到/etc/httpd/conf.d/目录下 依旧是在这个目录下新建一个ssl.conf,并且在你的网站列表新建一个ssl文件夹,我的习惯是/var/www/vhosts/ssl 将你的server.crt和ca-server.crt文件以及你原来生成的server.key文件一起上传到ssl文件夹内。 进入/etc/httpd/conf.d/ 输入 vi ssl.conf 使用vi编辑器编辑ssl.conf内容如下
Linux下利用openssl 生成SSL证书步骤 1、概念 首先要有一个CA根证书,然后用CA根证书来签发用户证书。 用户进行证书申请:一般先生成一个私钥,然后用私钥生成证书请求(证书请求里应含有公钥信息),再利用证书服务器的CA根证书来签发证书。 2、后缀详解 .key格式:私有的密钥 .csr格式:证书签名请求(证书请求文件),含有公钥信息,certificate signing request 的缩写 .crt格式:证书文件,certificate的缩写 .crl格式:证书吊销列表,Certificate Revocation List的缩写 .pem格式:用于导出,导入证书时候的证书的格式,有证书开头,结尾的格式 3、添加 index.txt 和 serial 文件 cd /etc/pki/CA/ touch /etc/pki/CA/index.txt touch /etc/pki/CA/serial echo 01 > /etc/pki/CA/serial 4、CA根证书的生成 4.1 生成CA私钥(.key) openssl genrsa -out ca.key 2048 [root@CA]# openssl genrsa -out ca.key 2048 Generating RSA private key, 2048 bit long modulus .............+++ .....+++ e is 65537 (0x10001) 4.2 生成CA证书请求(.csr) openssl req -new -key ca.key -out ca.csr [root@CA]# openssl req -new -key ca.key -out ca.csr 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,
IOS证书/私钥/代码签名/描述文件 SURFSKY-2012-10 1.相关资源 (1)钥匙串程序(常用工具->钥匙串),用于创建证书请求、安装证书、导出私钥等 (2)IOS开发中心:https://d evel oper.appl https://www.doczj.com/doc/7111298103.html,/d evcenter/ios/ind ex.action (3)IOS描述门户(IOS provisioning Portal),在此配置证书、描述文件、推送服务等:https://d eveloper.appl https://www.doczj.com/doc/7111298103.html,/ios/manage/overview/ind ex.action, (4)IOS程序发布:http://itunesconnect.appl https://www.doczj.com/doc/7111298103.html,/ 2.证书、签名、私钥、描述文件的一句话描述 (1)证书分两种:开发者证书、发布者证书。前者开发时使用,后者发布使用 (2)模拟器调试无需代码签名;真机调试需开发者证书代码签名;发布时需发布证书签名 (3)代码签名需要:证书+私钥,缺一不可,详见4 (4)真机调试时要求在设备上安装描述文件(provision profile),该文件包含信息:调试者证书,授权调试设备清单,应用ID。一个应用对应一个描述文件。 (5)一般情况下,xcod e需要做以下代码签名配置: 3. XCODE代码签名简要步骤 (1)用钥匙串程序创建证书请求:证书请求文件(*.certSigningRequest),私钥,公钥。 (2)将证书请求文件发送给appl e,后者将创建一个证书文件(*.cer)给你。 (3)xcod e将使用证书文件和对应的私钥给代码签名。 注:私钥可导出为p12文件拷贝他人使用,详见下节。
1.确定配置好java的环境变量 2.生成密钥库 新建一个密钥临时目录/home/genkey,并cd到/home/genkey 参数alias的为密钥标识第2、3、4步的命令中的alias必须完全一致 输入以下命令: keytool -genkey -alias tomcat -keyalg RSA -keysize 1024 -validity 3650 -keypass changeit -storepass changeit -keystore server.keystore -validity 3600 按照提示输入信息,第一个名字与姓氏必须为localhost,其他可以随意填写。 执行成功后/home/genkey下生成了一个server.keystore文件。 Tomcat: 3.导出证书 keytool -export -trustcacerts -alias tomcat -file server.cer -keystore server.keystore -storepass changeit 执行成功后/home/genkey下生成了一个server.cer文件。
4.导入到java信任库中 keytool -import -trustcacerts -alias tomcat -file server.cer -keystore /opt/Java/jdk1.6.0_35/jre/lib/security/cacerts -storepass changeit /opt/Java/jdk1.6.0_35修改为服务器java安装目录再执行 5.修改tomcat配置 打开tomcat目录下conf/server.xml,修改keystoreFile及keystorePass
天威诚信SSL证书工具使用说明 天威诚信SSL证书工具专业版,集CSR生成、CSR校验、证书格式转换和证书配置检测于一体,在客户端上即可完成CSR 在线自动生成并能快速校验CSR信息,实现不同证书间的格式互转,快速有效的检测出证书的安装状态,操作简单,易于上手,是SSL证书安装使用过程中不可或缺的得力干将。 一,CSR生成 按照工具提示的信息填写您申请证书的真实信息,点击生成CSR文件。下图为填写示例:
*注:目前主流密钥算法为RSA,长度为2048位,签名算法为SHA256。 通过点击保存私钥文件和CSR文件,保存文件到本地。私钥文件您需要在本地备份并妥善保管,CSR申请文件需要提交给商务人员。 二,CSR校验 字符串校验:您可以打开制作的CSR文件,并把字符串复制到空白框中并点击“验证CSR 文件”。
文件校验:通过添加本地CSR文件并进行验证。 二,证书格式转换 1,PEM转JKS 1,首先准备好server.pem证书文件和server.key私钥文件。 2,将证书签发邮件中的包含服务器证书代码的文本复制出来(包括“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”)粘贴到记事本等文本编辑器中。在服务器证书代码文本结尾,回车换行不留空行,并粘贴中级CA证书代码(包括“-----BEGIN CERTIFICATE-----”和“-----END CERTIFICATE-----”,每串证书代码之间均需要使用回车换行不留空行),修改文件扩展名,保存包含多段证书代码的文本文件为server.pem文件。 3,在源证书文件中录入server.pem,源私钥文件中录入server.key文件。(如果您的.key 私钥文件没有设置密码,源私钥密码处可以为空) 4,在“目标证书别名”选择中这是JKS文件密钥别名,并在“目标证书密码”中设置JKS 文件密码。
一、概述 数字证书又称为数字标识(Digital Certificate,Digital ID)。它提供了一种在Internet 上进行身份验证的方式,是用来标志和证明网络通信双方身份的数字信息文件,与司机驾照或日常生活中的身份证相似。在网上进行电子商务活动时,交易双方需要使用数字证书来表明自己的身份,并使用数字证书来进行有关的交易操作。通俗地讲,数字证书就是个人或单位在Internet 的身份证。 数字证书主要包括三方面的内容:证书所有者的信息、证书所有者的公开密钥和证书颁发机构的签名。 一个标准的X.509 数字证书包含(但不限于)以下内容: 证书的版本信息; 证书的序列号,每个证书都有一个唯一的证书序列号; 证书所使用的签名算法; 证书的发行机构名称(命名规则一般采用X.500 格式)及其私钥的签名; 证书的有效期; 证书使用者的名称及其公钥的信息。 在使用数字证书的过程中应用公开密钥加密技术,建立起一套严密的身份认证系统,实现: 除发送方和接收方外信息不被其他人窃取; 信息在传输过程中不被篡改; 接收方能够通过数字证书来确认发送方的身份; 发送方对于自己发送的信息不能抵赖。 代码签名证书主要颁发给软件开发商,用户在下栽、使用软件代码时,证书将证明软件代码的来源、完整性等信息,主要功能是让用户知道该软件代码是安全的并且没有被篡改过,用户可以安全地进行下载、使用。本业务支持Microsoft Authenticode Techology、Netscape Object Signing、Ms Office 2000/VBA Macro Signing 等代码签名技术。 二、使用代码签名证书 在获得数字证书之前,您必须向一个合法的认证机构(例如:广东省电子商务认证中心)提交证书申请。您需要填写书面的申请表格(试用型数字证书除外),向认证中心的证书申请审核机构(例如:广东省电子商务认证中心的代理点)提交相关的身份证明材料(如身份证、营业执照副本、组织机构代码证等)以供审核。当您的申请通过审核并且交纳相关的费用后,证书申请审核机构会向您返回证书业务受理号和证书下载密码。您通过这个证书业务受理号及下载密码,就可以到认证机构的网站上下载和安装证书了。 详细的证书申请与安装指南请参考https://www.doczj.com/doc/7111298103.html, 上“客户服务区”->“操作指南”->“使用手册”上的相关内容。 以下是微软的代码签名控件的使用说明。详细的操作指南请参考微软提供的代码签名控件的广东省电子商务认证中心证书应用指南(codesign)说明文档。 2.1 利用证书对代码进行签名 2.1.1 第一步:下载微软的控件 在使用代码签名证书对程序员编写的程序代码进行签名之前,请到微软的网站上上下载代码签名的工具。 根据用户不同的环境要求,根据以下链接下载相对应驱动程序:
制作和使用SSL证书 在Linux环境下,一般都安装有OPENSSL。下面的内容就是用OPENSSL快速制作root 证书以及客户端证书的步骤和方法。 1、初始准备工作 1)创建一个我们制作证书的工作目录 # mkdir CA # cd CA # mkdir newcerts private 2)制作一个我们创建证书时需要的配置文件,内容可以参考见 # cd CA # vi 3)创建我们自己的证书库的索引 # echo '01' >serial # touch 2、制作一个root证书 执行下面的命令 # openssl req -new -x509 -extensions v3_ca -keyout private/ \ -out -days 3650 -config ./ 在屏幕上会出现如下的交互内容,按照提示相应的信息。注意,一定要记住PEM,这个在以后生成客户端证书时都需要。 Using configuration from ./ Generating a 1024 bit RSA private key .......++++++ ..........................++++++ writing new private key to 'private/' Enter PEM pass phrase:demo Verifying password - Enter PEM pass phrase:demo ----- 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,
本文由我司收集整编,推荐下载,如有疑问,请与我司联系 代码签名错误:应用程序codesign验证失败代码签名错误:应用程序codesign验证失败[英]Code signing Error: Application failed codesign verification I am very new to iOS development, I have an app all set and ready to be distributed, but I seem to get this error every single time I run the application on my DEVICE only, the iOS simulator works just fine. Heres the full error: ?我是iOS开发的新手,我有一个应用程序都已经设置好并准备发布,但是每次我在我的设备上运行这个应用程序,iOS模拟器就会出现这个错误。这是完整的错误: Application failed codesign verification. The signature was invalid, contains disallowed entitlements, or it was not signed with an iPhone Distribution Certificate. (-19011) ?应用程序失败的合作设计验证。签名无效,包含不允许的权利,或者没有与iPhone分发证书签署。(-19011) Here’s the entire log: ?这是整个日志: ?Validate “/Users/masonsocha/Library/Developer/Xcode/DerivedData/Multibrowser-brgeiknbjgrywwehhohafjwxjqnk/Build/Products/App Store-iphoneos/Multibrowser.app” cd /Users/masonsocha/Desktop/Apps/MultiBrowser setenv PATH “/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/us r/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin” setenv PRODUCT_TYPE com.apple.product-type.application /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr /bin/Validation “/Users/masonsocha/Library/Developer/Xcode/DerivedData/Multibrowser-brgeiknbjgrywwehhohafjwxjqnk/Build/Products/App Store-iphoneos/Multibrowser.app”warning: Application failed codesign verification. The signature was invalid, contains disallowed entitlements, or it was not signed with an iPhone Distribution Certificate. (-
SSL双向认证证书制作流程 ——含单向SSL 一、证书制作: 1、生成服务器密钥(库): keytool -genkey -alias server -keyalg RSA -keysize 2048 -validity 3650 -dname "CN=localhost,OU=DTY,O=BMC,L=Beijing,ST=Beijing,C=CN" -keypass 123456 -keystore server.jks -storepass 123456 CN:要签名的[域名]或[IP](说明:此处为要配置SSL服务器IP 或域名) OU:组织单位名称,如:[公司注册简称] O:组织名称,如:[公司英文全称] L:城市或地区名称,如:[Beijing] ST:州或省份名称,如:[Beijing] C:单位的两字母国家代码,如:[CN] 2、验证生成的服务器密钥(库): keytool -list -v -keystore server.jks -storepass 123456
3、为步骤1生成的服务器密钥(库)创建自签名的证书: keytool -selfcert -alias server -keystore server.jks -storepass 123456 4、验证生成的服务器密钥(库): keytool -list -v -keystore server.jks -storepass 123456
5、导出自签名证书: keytool -export -alias server -keystore server.jks -file server.cer -storepass 123456 说明:此证书为后续要导入到浏览器中的受信任的根证书颁发机构。 6、生成客户端密钥(库): 说明:keytool –genkey命令默认生成的是keystore文件,但为了能顺利导入到IE或其他浏览器中,文件格式应为PKCS12。 稍后,此P12文件将导入到IE或其他浏览器中。 keytool -genkey -alias client -keyalg RSA -keysize 2048 -validity 3650 -dname
Apache SSL证书安装配置方法教程 1.1 SSl证书安装环境简介 Centos 6.4 操作系统; Apache2.2.*或以上版本; Openssl 1.0.1+; SSL 证书一张(备注:本指南使用https://www.doczj.com/doc/7111298103.html, 域名OV SSL 证书进行操作,通用其它版本证书) 1.2 网络环境要求 请确保站点是一个合法的外网可以访问的域名地址,可以正常通过或http://XXX 进行正常访问。 2.1 生成请求文件csr 首先下载openssl软件,可以去openssl官网下载: https://www.doczj.com/doc/7111298103.html,/source/ 下载后安装到本地计算机。 2.1.1 查看openssl 在终端输入openssl version 查看openssl当前版本。 图 1 2.1.2 生成key私钥文件 使用以下命令来生成私钥:opensslgenrsa -des3 -out https://www.doczj.com/doc/7111298103.html,.key 2048,生成的私钥保存在当期目录。
图 2 2.1.3 生成csr文件 使用以下命令来生成私钥:opensslreq -new -key https://www.doczj.com/doc/7111298103.html,.key -out https://www.doczj.com/doc/7111298103.html,.csr 图 3 Country Name (2 letter code) [GB]: 输入国家地区代码,如中国的CN State or Province Name (full name) [Berkshire]: 地区省份 Locality Name (eg, city) [Newbury]: 城市名称 Organization Name (eg, company) [My Company Ltd]: 公司名称 Organizational Unit Name (eg, section) []: 部门名称
更新日期:2011-03-10 上海域联软件技术有限公司 全国统一免费服务热线:800-820-8109 https://www.doczj.com/doc/7111298103.html,
数字签名工具专业版使用指南 亚洲诚信数字签名工具专业版简介: 亚洲诚信数字签名工具是由上海域联软件技术有限公司的研发团队经过多年时间自主开发的带有自主知识产权的图形化数字签名专业工具,区别于以往的数字签名工具(代码签名工具)复杂的命令行和逐个文件签名繁琐的操作方式。亚洲诚信数字签名工具是集成了图形化操作界面,测试证书签名,文件拖曳签名/验证,灵活的命令行签名/验证等专业且更加人性化的功能,使您可以更加高效率的为您的应用软件、驱动程序进行代码签名,支持应用程序数字签名、ActiveX控件数字签名、64位驱动程序数字签名。 软件类别:国产软件/系统安全 软件授权:免费版 运行环境:Win7/2008/Vista/WinXP/2003/2000 出品人:TrustAsia(亚洲诚信) 软件大小:1028KB 软件语言:简体中文 联系人:support@https://www.doczj.com/doc/7111298103.html, 亚洲诚信数字证书签名工具专业版下载安装: 亚洲诚信数字证书签名工具下载: 华军下载:https://www.doczj.com/doc/7111298103.html,/soft/113034.htm 亚洲诚信数字证书签名工具安装方便快捷、界面干净大方: 双击安装程序setup.msi 启动数字证书签名工具安装向导后,点击“下一步”:
选择安装路径,工具将默认安装于C:\Program Files\Dsign Tool\目录下,点击下一步:
点击“安装”,数字证书签名工具安装程序开始执行安装过程:
文档出处:https://www.doczj.com/doc/7111298103.html,/support/java_signing_guide.html 第1步下载签名工具Step 1: Download Signing Tools 如果您还没有签名工具,请到SUN公司网站免费下载:https://www.doczj.com/doc/7111298103.html,/j2se/,推荐下载JDK1.4.2或以上版本,支持Solaris SPARC/x86, Linux86 和Windows 操作系统。 If you have not already done so, download the Java 2 Software Development Kit (SDK). The latest version is available free of charge for the Solaris SPARC/x86, Linux86, and Microsoft Windows platforms from https://www.doczj.com/doc/7111298103.html,/j2se/. 您将使用签名工具中的keytool, jar, jarsigner 来申请代码签名证书和数字签名您的代码。 You will be using the keytool, jar, and jarsigner to apply for your Code Signing C ertificate and sign your code. 第2步申请签名证书Step 2: Enrollment (1) 生成私钥和公钥对(Keystore) Create a Keystore 使用以下命令生成私钥和公钥对: To generate a public/private key pair, enter the following command, specifying a name for your keystore and an alias as well. c:\jdk1.5\bin\keytool -genkey -keyalg rsa -keystore
SSL证书是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本。SSL证书通过在客户端浏览器和Web服务器之间建立一条SSL安全通道(Secure socket layer(SSL)安全协议是由Netscape Communication公司设计开发。该安全协议主要用来提供对用户和服务器的认证;对传送的数据进行加密和隐藏;确保数据在传送中不被改变,即数据的完整性,现已成为该领域中全球化的标准。由于SSL技术已建立到所有主要的浏览器和WEB服务器程序中,因此,仅需安装服务器证书就可以激活该功能了)。即通过它可以激活SSL协议,实现数据信息在客户端和服务器之间的加密传输,可以防止数据信息的泄露。保证了双方传递信息的安全性,而且用户可以通过服务器证书验证他所访问的网站是否是真实可靠。 SSL证书安全认证的原理: 安全套接字层(SSL) 技术通过加密信息和提供鉴权,保护您的网站安全。一份SSL 证书包括一个公共密钥和一个私用密钥。公共密钥用于加密信息,私用密钥用于解译加密的信息。浏览器指向一个安全域时,SSL 同步确认服务器和客户端,并创建一种加密方式和一个唯一的会话密钥。它们可以启动一个保证消息的隐私性和完整性的安全会话。 SSL证书的功能: a 确认网站真实性(网站身份认证):用户需要登录正确的网站进行在线购物或其它交易活动,但由于互联网的广泛性和开放性,使得互联网上存在着许多假冒、钓鱼网站,用户如何来判断网站的真实性,如何信任自己正在访问的网站,可信网站将帮你确认网站的身份。 b 保证信息传输的机密性:用户在登录网站在线购物或进行各种交易时,需要多次向服务器端传送信息,而这些信息很多是用户的隐私和机密信息,直接涉及经济利益或私密,如何来确保这些信息的安全呢?可信网站将帮您建立一条安全的信息传输加密通道。 其实现原理图如下图1所示: SSL证书的原理在SSL会话产生时,服务器会传送它的证书,用户端浏览器会自动的分析服务器证书,并根据不同版本的浏览器,从而产生40位或128位的会话密钥,用于对交易的信息进行加密。所有的过程都会自动完成,对用户是透明的,因而,服务器证书可分为两种:最低40位和最低128位(这里指的是SSL会话时生成加密密钥的长度,密钥越长越不容易破解)证书。 最低40位的服务器证书在建立会话时,根据浏览器版本不同,可产生40位或128位的SSL会话密钥用来建立用户浏览器与服务器之间的安全通道。而最低128位的服务器证书不受浏览器版本的限制可以产生128位以上的会话密钥,实现高级别的加密强度,无论是IE或Netscape浏览器,即使使用强行攻击的办法破译密码,也需要10年。
(19)中华人民共和国国家知识产权局 (12)发明专利申请 (10)申请公布号 (43)申请公布日 (21)申请号 201910380256.2 (22)申请日 2019.05.08 (71)申请人 苏州浪潮智能科技有限公司 地址 215100 江苏省苏州市吴中区吴中经 济开发区郭巷街道官浦路1号9幢 (72)发明人 钱慧娟 (74)专利代理机构 北京集佳知识产权代理有限 公司 11227 代理人 罗满 (51)Int.Cl. G06F 21/51(2013.01) (54)发明名称 BIOS加载签名证书方法、系统、设备及计算 机介质 (57)摘要 本申请公开了一种BIOS加载签名证书方法、 系统、设备及计算机介质,获取目标待加载项目 的标识信息;基于预设的待加载项目的标识信息 与签名证书间的对应关系,在签名证书对应的签 名证书文件中,确定目标待加载项目的标识信息 对应的目标签名证书;签名证书文件中包含各个 待加载项目的签名证书;加载目标签名证书。本 申请提供的一种BIOS加载签名证书方法、系统、 设备及计算机可读存储介质,签名证书文件中包 含各个待加载项目的签名证书,且可以根据待加 载项目的标识信息与签名证书间的对应关系,在 签名证书文件中,确定目标待加载项目的标识信 息对应的目标签名证书,无需对BIOS代码进行修 改, 可以提高加载效率。权利要求书2页 说明书8页 附图2页CN 110096869 A 2019.08.06 C N 110096869 A
权 利 要 求 书1/2页CN 110096869 A 1.一种BIOS加载签名证书方法,其特征在于,包括: 获取目标待加载项目的标识信息; 基于预设的待加载项目的标识信息与签名证书间的对应关系,在所述签名证书对应的签名证书文件中,确定所述目标待加载项目的标识信息对应的目标签名证书;所述签名证书文件中包含各个待加载项目的签名证书; 加载所述目标签名证书。 2.根据权利要求1所述的方法,其特征在于,所述获取目标待加载项目的标识信息之前,还包括: 获取各个待加载项目的标识信息及对应的签名证书; 将所述各个待加载项目的签名证书进行代码编译,得到所述签名证书文件; 建立并保存所述各个待加载项目的标识信息及对应的所述签名证书间的所述对应关系。 3.根据权利要求1或2所述的方法,其特征在于,所述加载所述目标签名证书之后,还包括: 获取所述目标待加载项目对应的目标签名文件; 基于所述目标签名证书对所述目标签名文件进行验签。 4.根据权利要求3所述的方法,其特征在于,所述基于所述目标签名证书对所述目标签名文件进行验签,包括: 解析出所述目标签名文件中携带的第一公钥信息; 解析出所述目标签名证书中携带的第二公钥信息; 判断所述第一公钥信息与所述第二公钥信息是否一致,若是,则执行所述基于所述目标签名证书对所述目标签名文件进行验签的步骤。 5.根据权利要求4所述的方法,其特征在于,所述第二公钥信息包括基于加密算法对初始公钥信息进行加密后得到的信息; 所述判断所述第一公钥信息与所述第二公钥信息是否一致,包括: 基于所述加密算法对所述第一公钥信息进行加密,得到第三密钥信息; 判断所述第三密钥信息是否与所述第二公钥信息一致,若是,则判定所述第一公钥信息与所述第二公钥信息一致。 6.根据权利要求5所述的方法,其特征在于,所述加密算法包括哈希加密算法。 7.根据权利要求1所述的方法,其特征在于,所述标识信息包括项目ID。 8.一种BIOS加载签名证书系统,其特征在于,包括: 第一获取模块,用于获取目标待加载项目的标识信息; 第一确定模块,用于基于预设的待加载项目的标识信息与签名证书间的对应关系,在所述签名证书对应的签名证书文件中,确定所述目标待加载项目的标识信息对应的目标签名证书;所述签名证书文件中包含各个待加载项目的签名证书; 第一加载模块,用于加载所述目标签名证书。 9.一种BIOS加载签名证书设备,其特征在于,包括: 存储器,用于存储计算机程序; 处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述BIOS加载签名证 2
1 引言 随着Linux 的不断发展,已有越来越多的人开始推广和使用Linux,其安全性也受到越来越多的挑战。ELF(Executable and Linkable Format)[1]作为Linux 下最主要的可执行二进制文件格式,自然成了病毒及各种恶意代码的攻击目标。事实证明,有不少Linux下的病毒程序就是通过直接修改ELF文件的方法来实现入侵的[10]。传统的Unix系统(包括Linux)并不会对执行的代码进行完整性和合法性检测,因而让很多病毒程序以及木马程序有机可乘。 代码签名验证是一种能够有效的防止病毒以及其他恶意代码入侵的方法。对于Linux下的代码签名验证机制,早几年就已经有人研究。文[2]提出了在安装时进行签名验证的方法,并通过修改chmod系统调用控制文件的可执行属性,但这种方法无法检测程序安装后对代码的任何修改,有一定的局限性。文[3][4][5]描述的都是在执行时进行签名验证的方法,其中[4][5]采用了缓存已验证文件的策略,使效率较[3]有很大提高。但是,它们将所有ELF文件"一视同仁",没有主次轻重之分,缺少灵活性。 本文提出了一种改进的基于ELF文件格式的代码签名验证机制,通过提供更加灵活的分级验证方式,进一步提高验证效率,并且使系统在安全性与效率方面取得平衡。 2 签名验证原理 我们采用完全符合PKCS[8] 系列标准的签名验证算法,并兼容所有符合X509格式的证书,以RSA[6][7]非对称密钥体制为基础来完成对ELF文件代码的签名验证。 2.1签名 设被签名的数据为m,其数字摘要为h。 h = Hash(m) 其中,Hash是哈希单向散列算法,如MD5、SHA-1等。 设p,q,d为签名者的私有数据,他们都包含在签名者的私钥SK中;n,e为签名者的公开数据,并且都包含在签名者的公钥PK中。这些数据满足以下要求: n = pq 其中p ≠q,p q均为大素数;e,d∈RZn 并且e = d-1,ed ≡1mod(n);这里,(n) = (p-1)(q-1)。那么,使用签名者私钥对h进行加密即可得到签名值s: s = E(x) = hdmod n 2.2验证 设被验证数据为m′,其数字摘要为h′。 h′= Hash(m′) 假设我们已经取得签名者的真实公钥PK,然后我们使用PK中的公开数据e对s进行解密计算,得到还原的数字摘要h′′,这里h′′就相当于是○1式中的h。 h′′= D(s) = se mod n 现在,我们比较h′和h′′是否完全相同。如果相同则验证通过,否则验证失败。 3 设计与实现 为了便于描述,我们引入以下几个基本概念: 1. 完全摘要值--指对ELF文件的所有数据以及签名相关数据计算出来的摘要值; 2. 不完全摘要值--指对ELF文件的一部分重要数据(主要是ELF文件头)以及签名相关数