精华内容
下载资源
问答
  • 用于数字签名的证书,添加数字签名证书结合亚洲诚信的证书规则使用x64位系统禁止驱动签名
  • Android签名证书 keystore jks pem x509

    万次阅读 2019-10-24 15:01:26
    Android签名证书 背景 因业务需求,经常与系统厂商打交道,大多需要厂商开放root权限 目前获取系统权限的总结有三种方式(均有实际应用) platform签名 root固件 (有su) 调用厂商封装好的系统权限的sdk 后两者调试比较...

    Android签名证书

    背景

    因业务需求,经常与系统厂商打交道,大多需要厂商开放root权限

    目前获取系统权限的总结有三种方式(均有实际应用)

    1. platform签名
    2. root固件 (有su)
    3. 调用厂商封装好的系统权限的sdk

    后两者调试比较简单,不多做介绍. 针对第一点,厂商会提供两个文件

    ​ platform.pk8 保存private key 加密

    ​ platform.x509.pem X.509证书 存储数字证书,公钥信息还能存各种key

    但是这两种文件不能直接进行签名,需要调用

    java -jar signapk.jar platform.x509.pem platform.pk8 old.apk [new].apk
    

    Android Studio 生成apk,还需额外执行以上步骤,调试非常不方便,故想将pk8 和pem 转成通用的jks或者keystore的签名

    Note:

    android一般除了使用jarsigner签名,还有使用signapk 后者位于android源码,前者位于jdk中。两者使用的文件格式不同前者使用JKS,后者使用公钥+私钥是分开的

    signapk.jar 不是系统自带,需要额外下载

    环境配置

    下载 openssl
    在这里插入图片描述
    选择合适的文件下载安装,完成后配置环境变量
    在这里插入图片描述

    pem/pk8 转换jks/keystore

    keystore,jks本身是一个东西,没有区别;在eclipse上生成的是.keystore后缀,在andorid studio上生成的是.jks后缀;

    主要分三步

    1. pk8 私钥解密pem格式

      openssl pkcs8 -in platform.pk8 -inform DER -outform PEM -out platform.priv.pem -nocrypt
      
    2. 私钥通过公钥pem加密pk12

      openssl pkcs12 -export -in platform.x509.pem -inkey platform.priv.pem -out platform.pk12 -name [别名]
      

      需要输入两次密码

    3. 通过java的keytool 工具生成 keystore

      keytool -importkeystore -destkeystore platform.jks -srckeystore platform.pk12 -srcstoretype PKCS12 -srcstorepass [密码] -alias [别名]
      

      别名需要跟步骤2的一致,同样输入两次密码

    windows 下合并后如下

    openssl pkcs8 -in platform.pk8 -inform DER -outform PEM -out platform.priv.pem -nocrypt
    openssl pkcs12 -export -in platform.x509.pem -inkey platform.priv.pem -out platform.pk12 -name [别名]
    keytool -importkeystore -destkeystore platform.jks -srckeystore platform.pk12 -srcstoretype PKCS12 -srcstorepass [密码] -alias [别名]
    pause
    

    Android Studio 项目使用jks

    android {
     signingConfigs {
            MySignName {
                keyAlias "[别名]"
                keyPassword "[密码]"
                storeFile file('[jks路径]')
                storePassword "[密码]"
            }
        }
        
     buildTypes {
            debug {
             		signingConfig signingConfigs.MySignName
            }
            release{
                 signingConfig signingConfigs.MySignName
            }
       }  
    }
    

    现在Android Studio 调试安装都是platform签名

    扩展 jks 转pem/pk8

    主要分五步

    1. java keytool 转成 pkcs12格式

      keytool   -importkeystore -srckeystore debug.keystore   -destkeystore tmp.p12 -srcstoretype JKS         -deststoretype PKCS12
      
    2. pkcs12 dump pem格式

      openssl pkcs12 -in tmp.p12 -nodes -out tmp.rsa.pem
      

      dump的文件格式

      Bag Attributes
          friendlyName: [别名]
          localKeyID: 54 69 6D 65 20 31 35 37 31 38 39 30 30 31 35 30 30 30 
      Key Attributes: <No Attributes>
      -----BEGIN PRIVATE KEY-----
      ....
      -----END PRIVATE KEY-----
      Bag Attributes
          friendlyName: [别名]
          localKeyID: 54 69 6D 65 20 31 35 37 31 38 39 30 30 31 35 30 30 30 
      subject=C = US, ST = California, L = Mountain View, O = Android, OU = Android, CN = Android, emailAddress = android@android.com
      issuer=C = US, ST = California, L = Mountain View, O = Android, OU = Android, CN = Android, emailAddress = android@android.com
      
      -----BEGIN CERTIFICATE-----
      ...
      -----END CERTIFICATE-----
      
    3. 复制“BEGIN CERTIFICATE” “END CERTIFICATE” 到(新建个文件) cert.x509.pem

      dos命令不好实现,建议采用bash

      grep -zoe '-----BEGIN CERTIFICATE-----.*-----END CERTIFICATE-----' tmp.rsa.pem>cert.x509.pem
      
    4. 复制 “BEGIN RSA PRIVATE KEY” “END RSA PRIVATE KEY” 到(同上) private.rsa.pem

      dos命令不好实现,建议采用bash

      grep -zoe '-----BEGIN CERTIFICATE-----.*-----END CERTIFICATE-----' tmp.rsa.pem>private.rsa.pem
      
    5. 生成pk8格式的私钥

      openssl pkcs8 -topk8 -outform DER -in   private.rsa.pem -inform PEM -out private.pk8 -nocrypt
      

      至此已经生成pem pk8 格式的两个签名文件

    参考

    .pem和.pk8是什么文件?

    签名证书keystore,jks,pk8,x509.pem

    keystore文件转换格式为pk8+x509.pem

    展开全文
  • 自签名的证书无法被吊销,CA签名的证书可以被吊销 能不能吊销证书的区别在于,如果你的私钥被黑客获取,如果证书不能被吊销,则黑客可以伪装成你与用户进行...如果你直接用自签名证书,你需要给所有的客户端安装该证
    自签名的证书无法被吊销,CA签名的证书可以被吊销 能不能吊销证书的区别在于,如果你的私钥被黑客获取,如果证书不能被吊销,则黑客可以伪装成你与用户进行通信

    如果你的规划需要创建多个证书,那么使用私有CA的方法比较合适,因为只要给所有的客户端都安装了CA的证书,那么以该证书签名过的证书,客户端都是信任的,也就是安装一次就够了
    如果你直接用自签名证书,你需要给所有的客户端安装该证书才会被信任,如果你需要第二个证书,则还的挨个给所有的客户端安装证书2才会被信任。

    证书类型:
    x509的证书编码格式有两种
    1.PEM( Privacy-enhanced Electronic Mail) 是明文格式的  以 -----BEGIN CERTIFICATE-----开头,已-----END CERTIFICATE-----结尾,中间是经过base64编码的内容,apache需要的证书就是这类编码的证书 查看这类证书的信息的命令为 :openssl x509 -noout -text -in server.pem
    其实PEM就是把DER的内容进行了一次base64编码
    2.DER 是二进制格式的证书   查看这类证书的信息的命令为 :openssl x509 -noout -text -inform der -in server.der

    扩展名:
    .crt 证书文件 ,可以是DER(二进制)编码的,也可以是PEM( ASCII (Base64) )编码的 ,在类unix系统中比较常见 
    .cer 也是证书  常见于Windows系统  编码类型同样可以是DER或者PEM的,windows 下有工具可以转换crt到cer
    .csr 证书签名请求   一般是生成请求以后发送给CA,然后CA会给你签名并发回证书
    .key  一般公钥或者密钥都会用这种扩展名,可以是DER编码的或者是PEM编码的  查看DER编码的(公钥或者密钥)的文件的命令为 openssl rsa -inform DER  -noout -text -in  xxx.key  查看PEM编码的(公钥或者密钥)的文件的命令为 openssl rsa -inform PEM   -noout -text -in  xxx.key  
    .p12 证书  包含一个X509证书和一个被密码保护的私钥

    生成证书签名请求  用openssl  req
    给证书签名 用 openssl x509
    自签名证书的Issuer和Subject是一样的
    证书的三个作用   加密通信和身份验证(验证对方确实是对方声称的对象)和数据完整性(无法被修改,修改了会被知)

    一. 自签名证书:
    1.生成服务器私钥  openssl genrsa -des3 -out server.key 4096
    2.生成证书签名请求  openssl req -new -key server.key -out server.csr  这里要填一大堆东西 保证Common name跟你的域名或者IP相同
    3.对上一步生成的证书签名请求进行签名  openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt 
    4.生成无需密码的服务器私钥 ,如果私钥是有密码的,则每次启动web服务器都会要求你输入密码
     openssl rsa -in server.key -out server.key.insecure
    mv server.key server.key.secure
    mv server.key.insecure server.key
     确保你的私钥的安全性  因为该证书无法被吊销  chmod 999  server.key.secure  server.key
    还有一个简单的方法一步创建私钥和自签名请求
    openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout apache.key -out apache.crt
    
    这里的apache.key为私钥  apache.crt为证书
    
     
    
    二.创建私有CA,然后用该CA给证书进行签名
    1.创建CA私钥  openssl genrsa -des3 -out ca.key 4096
    2.生成CA的自签名证书   openssl req -new -x509 -days 365 -key ca.key -out ca.crt   其实CA证书就是一个自签名证书
    3.生成服务端私钥  openssl genrsa -des3 -out server.key 4096
    4.需要签名的对象(服务端)生成证书签名请求  openssl req -new -key server.key -out server.csr 
    这里注意证书签名请求当中的Common Name必须区别与CA的证书里面的Common Name
    5.用步骤2创建的CA证书给步骤4生成的签名请求进行签名
    openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key -set_serial 01 -out server.crt
    三.查看信息
     openssl rsa -noout -text -in server.key 查看私钥信息
    openssl req -noout -text -in server.csr 查看签名请求信息
    openssl rsa -noout -text -in ca.key   查看ca的私钥信息
    openssl x509 -noout -text -in ca.crt  查看证书信息
    openssl crl -text -in   xx.crl  查看一个证书吊销列表信息
    openssl x509 -purpose -in cacert.pem  查看一个证书的额外信息
    openssl rsa -in key.pem -pubout -out pubkey.pem 从一个私钥里面提取出公钥
    openssl rsa -noout -text -pubin -in apache.pub  查看一个公钥的信息
    openssl verify  -CAfile  指定CA文件路径    apache.crt  验证一个证书是否是某一个CA签发
     openssl s_client -connect 192.168.20.51:443  模拟一个ssl客户端访问ssl服务器  如果服务端要求客户端提供证书  则在加上 -cert 和-key参数 比如 openssl s_client -connect 192.168.20.51:443 -cert client.crt  -key client.key 
    openssl pkcs12 -in path.p12 -out newfile.crt.pem -clcerts -nokeys  从p12文件里面提取证书openssl pkcs12 -in path.p12 -out newfile.key.pem -nocerts -nodes  从p12文件里面提取私钥
    现代浏览器检查一个证书是否仍然有效 两种方法 OCSP (Online Certificate Status Protocol,在线证书状态协议) 和crl (Certificate Revoke List ,证书吊销列表)
    这些信息在CA的证书里面应该得有,否则浏览器无法检查由该CA签过的证书是否还继续有效  (这句话属于猜测)
    可以试一下导出给京东或者淘宝签名的CA证书 并用openssl x509 -noout -text -in ca.crt 查看一下,就能看到这两类信息京东的证书是由GeoTrustSSL进行签名的,导出GeoTrustSSL CA的证书 然后查看该CA的信息其中有一段信息是这样
    [plain]  view plain  copy
    1. X509v3 CRL Distribution Points:   
    2.   
    3.     Full Name:  
    4.       URI:http://g1.symcb.com/crls/gtglobal.crl  
    5.   
    6. Authority Information Access:   
    7.     OCSP - URI:http://g2.symcb.com  
    这里说明了它的证书吊销列表地址和OSCP协议地址
    有兴趣的可以试试给淘宝签名的CA的证书信息

    对已证书吊销列表 各浏览器的行为可以参考一下两个地址

    easy-rsa这个包封装了这些操作,可以很方便的创建CA和证书 这个工具是为了配合openvpn使用的,不过也可以用来创建WEB证书

    easy-rsa的特点是 使用方便不需要记忆大量的命令 而且配置文件里面有各种信息可以使你生成带有扩展信息的签名 比如 CA:TRUE等信息
    1.安装easy-rsa
    yum install easy-rsa
    2.然后拷贝整个目录到工作目录 比如当前目录
    cp -r /usr/share/easy-rsa/2.0 .
    3.进入工作目录 cd 2.0
    4.修改vars文件  修改国家省市代码 Common Name等,修改完以后导入一下. vars
    5:  清除一下    ./clean-all
    6.创建CA证书  ./build-ca   运行完这一步 在keys目录下就生成了 ca.crt(CA证书),ca.key(CA私钥)
    7.创建服务端证书  ./build-key-server  域名或者ip(有域名填域名没域名写ip)  这样就创建好服务端证书和私钥了
    8.安装CA的证书到客户端    然后安装服务端的证书和私钥到APACHE

    apache的ssl配置
    把生成的服务端的证书和私钥拷贝到一个目录 保证私钥的安全性
    然后安装apache的ssl模块
    yum install mod_ssl
    修改 vim /etc/httpd/conf.d/ssl.conf
    修改 SSLCertificateFile 指令为证书文件的路径
    修改 SSLCertificateKeyFile 修改为私钥文件的路径

    reference:
    展开全文
  • ios签名证书

    2015-11-24 10:28:36
    Flash开发iOS应用所要用到的签名证书
  • Mac上怎么创建自签名证书?您可以使用“钥匙串访问”中的“证书助理”创建自签名证书。自签名证书不提供由证书颁发机构所签名的证书中的各种保证,但如果证书的签名人可被信任,则此类证书会很有用。希望对您有所...

    Mac上怎么创建自签名证书?您可以使用“钥匙串访问”中的“证书助理”创建自签名证书。自签名证书不提供由证书颁发机构所签名的证书中的各种保证,但如果证书的签名人可被信任,则此类证书会很有用。希望对您有所帮助!

    Mac创建自签名证书图文教程

    1、在Mac 上的“钥匙串访问(在启动台中可以找到)”应用中,选取【钥匙串访问】>【证书助理】>【创建证书】,如下图:

    2、为证书输入名称。选取【身份】类型,然后选取证书类型,如下图所示:

    3、若要查看证书类型的说明,请点按【了解更多】,如下图所示:

    4、若要手动指定证书中的信息(如密钥对、扩展名和加密),请点【让我覆盖这些默认值】,然后按照指示操作,如下图所示:

    【注】您可以创建多达 4096 位的 RSA 密钥。不再支持小于 2048 位的 RSA 密钥。检查证书,然后点按“完成”。

    展开全文
  • android https遇到自签名证书/信任证书
  • 制作安卓软件的签名证书,安卓软件写出来了没有证书怎么办?现在有了,,打开就可以自己设置证书了,,很好用的签名证书生成器
  • 数字签名和数字签名证书理解

    千次阅读 2019-07-29 17:37:48
    什么是数字签名证书 数字签名证书是一种专门用于数字签名的数字证书。 要了解数字签名,我们必须先了解非对称加密算法,因为数字签名就是建立在非对称算法的基础之上的。非对称加密是创建一对密钥对,分别成为公钥和...

    数字签名和数字证书的原理解读(图文) 强烈建议阅读一下这篇文章,讲解的通俗易懂

    什么是数字签名证书
    数字签名证书是一种专门用于数字签名的数字证书。

    要了解数字签名,我们必须先了解非对称加密算法,因为数字签名就是建立在非对称算法的基础之上的。非对称加密是创建一对密钥对,分别成为公钥和私钥,这对密钥是成对的,当使用公钥加密后必须使用私钥才能解密,使用私钥加密后,只能采用公钥才能解密。

    数字签名,就是对数据的哈希值进行非对称加密,即对数据的哈希值使用私钥进行数据加密。

    由于公钥和私钥是成对使用的,使用私密加密就必须使用公钥才能解密。反过来说,只要使用公钥能进行解密的,那么就必然是和公钥所配对的私钥进行加密的。其实这样就是能确定签名者的身份。

    数字证书是由CA机构所签发的,签发数字证书时,申请者会产生一对公钥和私钥,然后把公钥发送给CA,CA在审核了用户身份后结合公钥一同制作出一张数字签名证书并公布在互联网上。

    数字签名证书的作用

    1. 数据完整性(防篡改)
      数字签名时对数据的哈希值进行非对称加密,假如数据经过篡改,那么其哈希值就会产生变化,最终就会导致数字验签失败,这样就能很容易地发现原数据是否被改动过。

    2. 不可抵赖性
      由于数字证书是经过权威的CA机构审核申请者信息才能签发,因此就存在签名者的不可抵赖性。因为每一个公钥和私钥是配对的,能够使用公钥解密的,那么就必然是对应的私钥进行签名,而公钥是保存在数字证书之中的,数字证书中有保存有经过审核的申请者信息。所以数字签名是能够具有法律效力的。

    展开全文
  • 微软代码签名证书工具用于32位或64位用户模式下数字签名.exe, .cab, .dll, .ocx, .msi, .xpi, and .xap文件或内核模式代码(硬件驱动、系统文件、杀毒软件等),支持Silverlight 4技术 http://www.ert7.com
  • IDSignMSO能够快速生成签名证书,用于软件等数字签名,是软件制作的必备神器!
  • 使用openssl生成IIS可用的SHA-256自签名证书 超详细步骤!
  • 不用签名证书将网页封装成苹果APP,无需苹果企业证书 签名,IPA证书签名,ios证书签名,免越狱安装 (本方法只支持网站封装app,原生的用不了,详细请咨询客服) 近期很多朋友问我把网站变成app的方法,原因...
  • 制作自签名证书

    千次阅读 2019-07-05 16:24:49
    制作自签名证书 1,手动制作自签名证书(NGINX用) openssl req -newkey rsa:2048 -nodes -keyout tls.key -x509 -days 3650 -out tls.pem -subj /C=...
  • 辅助类 1、创建签名证书 2、通过RSA加密解密 3、通过Pkcs7加密
  • 但是对于小白用户来说,手动安装自签名证书往往操作过于复杂,能不能有一个工具,只需要点击一下就可以把自签名证书安装在客户端。没错,在客户端快速安装自签名证书工具就是为了解决这个问题,你还等什么,赶紧下载...
  • 大众V2版安全认证代码签名证书 (高级免费签名证书)含(KEY) 请访问以下网站下载最新版 http://ca130.ys168.com 提供最新有效期限 2011/07/10 - 2012/07/10 都是同一个颁发机构的旗下证书机构发行。。。机构名为:...
  • 基于 OpenSSL 生成自签名证书

    万次阅读 2019-05-18 13:13:32
    基于 OpenSSL 生成自签名证书 PKI、CA、SSL、TLS、OpenSSL几个概念 PKI 和 CA PKI 就是 Public Key Infrastructure 的缩写,翻译过来就是公开密钥基础设施。它是利用公开密钥技术所构建的,解决网络安全问题的,普遍...
  • 不用签名证书将网页封装成苹果APP,无需苹果企业证书签名,IPA证书签名,ios证书签名,免越狱安装(本方法只支持网站封装app,原生的用不了,详细请咨询客服)近期很多朋友问我把网站变成app的方法,原因很多种,有...
  • 签名证书VS加密证书

    千次阅读 2012-09-13 11:45:07
    从证书的用途来看,数字证书可以分为: 签名证书:主要用于对用户信息进行签名,以保证信息的不可否认性。 加密证书:主要用于对用户传送信息进行加密,以保证信息的真实性和完整性。   什么是加密证书和签名...
  • 查看签名证书的指纹和应用签名
  • 这个工具可以免费制作自己的代码签名证书
  • Android签名证书文件的解析和签名校验的加强
  • keystore生成签名证书

    千次阅读 2018-05-04 11:31:21
    keystore生成签名证书
  • 解决“无法在证书存储区中找到清单签名证书”的问题
  • 修改Android签名证书keystore作为eclipse默认debug签名证书 原文地址:http://blog.k-res.net/archives/1229.html  http://blog.k-res.net/archives/1671.html (一)eclipse默认debugkeystore格式要求 最近...
  • 轻松解决自签名证书不安全!

    千次阅读 2019-12-31 20:01:58
    轻松解决自签名证书不安全!(以下过程为windows下的操作过程) 本地服务需要支持https服务的时候,之前最常用到的就是使用openssl生成自签名证书来支持https。但是使用自签名证书在浏览器里面就会遇到证书“不安全...
  • 如何用自签名证书为_sis文件签名sisx 如何用自签名证书为_sis文件签名sisx 如何用自签名证书为_sis文件签名sisx 如何用自签名证书为_sis文件签名 如何用自签名证书为_sis文件签名sisx sisx
  • 什么是EV 代码签名证书

    千次阅读 2020-03-30 16:02:35
    EV代码签名证书是指扩展验证代码签名证书,具有标准代码签名证书的所有功能,能签名内核代码,不同的是采用更加严格国际标准扩展验证(Extended Validation:EV验证),并且有严格的证书私钥保护机制--必须采用 USB ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 108,308
精华内容 43,323
关键字:

签名证书