当前位置: 澳门新濠3559 > 编程 > 正文

推送证书的两种类型,手动双击证书安装

时间:2019-11-08 23:18来源:编程
1.安装证书: "请求被中止: 未能创建 SSL/TLS 安全通道"解决办法,ssltls 1.安装证书: 手动双击证书安装,过程略 2.分配权限: 在控制台中找到安装的证书,右键选择“管理私钥”,  

1.安装证书:

"请求被中止: 未能创建 SSL/TLS 安全通道"解决办法,ssltls

1.安装证书:

手动双击证书安装,过程略

2.分配权限:

在控制台中找到安装的证书,右键选择“管理私钥”,

澳门新濠3559 1

 

澳门新濠3559 2

添加自己需要的权限,如果在测试可以直接添加Everyone

3.修改代码:public static string Refund(string urlWithParams)

{
    ServicePointManager.Expect100Continue = true;
    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;   //协议按需选择,不行就都试一遍
    ServicePointManager.ServerCertificateValidationCallback = (object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) => { return true; };

    HttpWebRequest webRequest = (HttpWebRequest)HttpWebRequest.Create(urlWithParams);
    webRequest.Method = "GET";

    //查找我们导入的证书
    X509Store certStore = new X509Store(StoreName.My, StoreLocation.LocalMachine);
    certStore.Open(OpenFlags.ReadOnly);
    X509Certificate2Collection certCollection = certStore.Certificates.Find(X509FindType.FindBySubjectName, "安装的证书名字", false);
    webRequest.ClientCertificates.Add(certCollection[0]);

    using (WebResponse webResponse = webRequest.GetResponse())
    {
        var sr = new StreamReader(webResponse.GetResponseStream(), Encoding.UTF8);
        var responseData = sr.ReadToEnd();
        return responseData;
    }
}

 

: 未能创建 SSL/TLS 安全通道解决办法,ssltls 1.安装证书: 手动双击证书安装,过程略 2.分配权限: 在控制台中找到安装的证书,...

推送

蛮记下吧,虽然没什么知识点

着重讲下面四种证书

澳门新濠3559 3

43261F9A-6578-44EE-BAB5-82ECC73F0F46.png

习惯性的命名方法:
①pushDemo的开发证书--开发环境pushDemo_dvlp_development.cer
③pushDemo的开发证书--生产环境pushDemo_dvlp_production.cer
②pushDemo的推送证书--开发环境pushDemo_apns_development.cer
④pushDemo的推送证书--生产环境pushDemo_apns_production.cer

推送证书的两种类型:

澳门新濠3559 4

推送证书的两种类型.png

手动双击证书安装,过程略

证书常见问题

在开发的时候生成的cer证书没有秘钥(就是看不到钥匙串证书左边的那个三角符号)或者生成的证书无法生成p12 文件来供推送使用

澳门新濠3559 5

证书无法生成p12 文件解决,或者无法生成秘钥.png

错误的原因是因为把这个证书添加到了错误的登录选项了。

澳门新濠3559 6

2CB79FA8-59CB-4085-8622-0F7F41A1B3FF.png

在注册App ID的时候,我们可以从提示中看出,App ID string是由两部分(前缀和后缀)组成的,即由我们的Team ID作为App ID的前缀Prefix,Bundle ID作为App ID的后缀Suffix。
比如如下创建的App ID

澳门新濠3559 7

04E04AF2-E1D7-44C5-A4E3-9A23C133575B.png

最后的App ID string为

澳门新濠3559 8

App ID string.png

所以呢,这里我们得出一个结论,即时我们和别人创建的是相同的Bundle ID是不是也可以?

2.分配权限:

证书验证

SmartPush,一款iOS苹果远程推送测试程序。
Mac OS下的APNS工具APP,iOS Push Notification Debug App
地址:https://github.com/shaojiankui/SmartPush

在控制台中找到安装的证书,右键选择“管理私钥”,

前言

首先来说一下CSR文件
我们知道我们去苹果申请证书的时候,苹果会给我们颁发证书。但是你清楚这个颁发下来的证书是根据什么来创建的吗?
答案是我们在申请证书的时候,苹果要求我们上传的CSR文件。CSR文件中包含我们的私钥签名,通过这个私钥签名,苹果给我们生成证书,并颁发给我们。
附:CSR是Cerificate Signing Request的英文缩写,即证书请求文件,也就是我们在申请数字证书时由CSP(加密服务提供者)在生成私钥的同时也生成证书请求文件,我们只要把CSR文件提交给苹果后台后,苹果后台使用其根证书私钥签名就生成了证书公钥文件,也就是颁发给我们的证书。也就是说,我们想申请开发者证书,首先要先申请CSR文件。

澳门新濠3559 9

F6AEC0BF-5E7E-4651-AFA6-8CAE8DE25660.png

上面中的“用户电子邮件地址”可以随便填一个,"常用名称"也可以随便填一个。

澳门新濠3559 10

Certification(证书) && Provisioning Profile(授权文件)


 

1、Certification(证书)

证书是对电脑开发资格的认证,每个开发者帐号有一套,分为两种:

  1. Developer Certification(开发证书)
    安装在电脑上提供权限:开发人员通过设备进行真机测试。
    可以生成副本供多台电脑安装;
  2. Distribution Certification(发布证书)
    安装在电脑上提供发布iOS程序的权限:开发人员可以制做测试版和发布版的程序。
    不可生成副本,仅有配置该证书的电脑才可使用;(副本制做介绍在下面Keychain中介绍)
  3. Keychain(开发密钥)
    安装证书成功的情况下证书下都会生成Keychain,上面提到的证书副本就是通过配置证书的电脑导出Keychain(就是.p12文件)安装到其他机子上,让其他机子得到证书对应的权限。Developer Certification就可以制做副本Keychain分发到其他电脑上安装,使其可以进行真机测试。
    注意:Distribution Certification只有配置证书的电脑才可使用,因此即使导出导出Keychain安装到其他电脑上,其他电脑也不可能具有证书的权限。

澳门新濠3559 11

2、Provisioning Profile(授权文件)

澳门新濠3559,授权文件是对设备如iPod Touch、iPad、iPhone的授权,文件内记录的是设备的UDID和程序的App Id,即使被授权的设备可以安装或调试Bundle identifier与授权文件中记录的App Id对应的程序。
开发者帐号在创建授权文件时候会选择App Id,(开发者帐号下App Id中添加,单选)和UDID(开发者帐号下Devices中添加最多100个,多选)。
授权文件分为两种,对应相应的证书使用:

  1. Developer Provisioning Profile(开发授权文件)
    在装有开发证书或副本的电脑上使用,开发人员选择该授权文件通过电脑将程序安装到授权文件记录的设备中,即可进行真机测试。
    注意:确保电脑有权限真机调试,即安装了开发证书或副本;在开发工具中程序的Bundle identifier和选中使用的授权文件的App Id要一致;连接调试的设备的UDID在选中的授权文件中有记录。
  2. Distribution Provisioning Profile(发布授权文件)
    在装有发布证书的电脑上(即配置证书的电脑,只有一台)制做测试版和发布版的程序。
    发布版就是发布到App Store上的程序文件,开发者帐号创建授权文件时选择store选项,选择App Id,无需选择UDID;
    测试版就是在发布之前交给测试人员可同步到设备上的程序文件,开发者帐号创建授权文件时选择AdHoc,选择App Id和UDID;只有选中的UDID对应的设备才可能安装上通过该授权文件制做的程序。

添加自己需要的权限,如果在测试可以直接添加Everyone

创建推送证书

澳门新濠3559 12

C818243C-B48C-4FDA-8EC5-F24A5661A0D7.png

3.修改代码:public static string Refund(string urlWithParams)

{
    ServicePointManager.Expect100Continue = true;
    ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;   //协议按需选择,不行就都试一遍
    ServicePointManager.ServerCertificateValidationCallback = (object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) => { return true; };

    HttpWebRequest webRequest = (HttpWebRequest)HttpWebRequest.Create(urlWithParams);
    webRequest.Method = "GET";

    //查找我们导入的证书
    X509Store certStore = new X509Store(StoreName.My, StoreLocation.LocalMachine);
    certStore.Open(OpenFlags.ReadOnly);
    X509Certificate2Collection certCollection = certStore.Certificates.Find(X509FindType.FindBySubjectName, "安装的证书名字", false);
    webRequest.ClientCertificates.Add(certCollection[0]);

    using (WebResponse webResponse = webRequest.GetResponse())
    {
        var sr = new StreamReader(webResponse.GetResponseStream(), Encoding.UTF8);
        var responseData = sr.ReadToEnd();
        return responseData;
    }
}

 

编辑:编程 本文来源:推送证书的两种类型,手动双击证书安装

关键词: