FinClip为企业提供小程序生态圈技术产品,开发者可在FinClip小程序开发帮助中心找到相关FinClip小程序指引

# 证书管理常见问题

# 1. 功能介绍

你可以点击 这里 查看证书管理功能的介绍信息。

# 2. 常见问题答疑

请注意

使用本功能,请确保 SDK 版本高于以下版本:

  • iOS SDK:2.24.4
  • Android SDK:2.24.3

# 2.1 如何获取证书?

您可以通过第三方渠道获取或采购证书,可选择下载的证书类型一般包括 Apache、IIS、Nginx 和 Tomcat。请选择下载 Nginx 类型的 SSL 证书。

进入 Nginx 文件夹,您会看到包含后缀为.crt(证书)和后缀为.key(私钥)的这两个文件,使用文本编辑器打开文件,您可以看到与下图格式相似的 PEM 格式的证书内容和私钥内容。

image.png PEM格式证书

  • 以“-----BEGIN CERTIFICATE-----”开头,以“-----END CERTIFICATE-----”结尾。
  • 每行64个字符,最后一行可以不足64个字符。

证书上传要求

  • 请将以“-----BEGIN CERTIFICATE-----”开头和以“-----END CERTIFICATE-----”结尾的内容一并上传。
  • 每行64个字符,最后一行可以不足64个字符。

请注意

正常的 App 网络请求是无法使用自签证书的,所以不建议您在证书管理中使用自签证书。

# 2.2 我获得的证书是其他格式怎么办?

证书管理功能只支持 PEM 格式的证书,其他格式的证书需要转换成 PEM 格式,建议您通过 OpenSSL 工具进行转换。我们提供了几种比较流行的证书格式转换为 PEM 格式的方法,供您参考。

# DER 转换为 PEM

DER 格式一般出现在Java平台中

  • 证书转换:
    openssl x509 -inform der -**in** certificate.cer -**out** certificate.pem
    

# P7B 转换为 PEM

P7B 格式一般出现在Windows ServerTomcat

  • 证书转换:
    openssl pkcs7 -print_certs -**in** incertificat.p7b -**out** outcertificate.cer
    
    获取outcertificat.cer里面的-----BEGIN CERTIFICATE-----和-----END CERTIFICATE-----的内容作为证书进行上传。

# PFX 转换为 PEM

PFX 格式一般出现在Windows Server

  • 证书转换:
    openssl pkcs12 -**in** certname.pfx -nokeys -**out** cert.pem
    

# 2.3 上传证书后,如何验证证书有效?

我们会通过提取证书中的认证域名,有效期与证书类型,与请求的域名进行核验。在您上传证书时,我们也会展示对应的信息,便于您进行二次确认。

# 2.4 小程序内包含多个域名,每个域名都需要上传证书吗?

不需要。

多个域名配置可以不同的证书、也可以同一个证书对应多个域名。未配置证书的域名将不做校验。

# 2.5 如果下载证书失败,证书校验机制是否就失效了?

获取证书和获取小程序详情的 API 并未耦合。理论上来说,如果前者请求失败,后者也应该请求失败,FinClip 小程序 SDK 内部也包含了接口重试机制。

但确实可能存在极端情况:假如小程序详情接口请求成功(用户本地获取到了对应小程序),但证书请求不成功(未能获得域名对应证书)时,小程序内的请求将走默认的 https 请求,不再执行强校验。

如您对安全问题非常关注,建议在小程序内部增加其他判断机制。

# 2.6 更改证书后(比如删除或修改对应域名),多长时间会生效?

在用户下次打开小程序时生效。

# 2.7 如果希望对网络请求进行严格加密,开发者可以如何处理?

证书“强校验”,即:当前小程序中的某些网络请求,必须执行证书加密、在无法执行加密的情况下,不允许用户执行任何业务。

为了实现该目标,我们在小程序的app.json文件中增加了配置项,开发者可自行执行必须执行强校验的域名(URL),如发生异常情况、导致 SDK 中无证书时,用户将无法继续使用。

image.png

© 2022 FinClip with ❤