更新时间:2026-09-08 GMT+08:00
分享

上传证书

云模式-CNAME独享模式场景下,WAF作为防护网站反向代理防护节点,所有客户端HTTPS访问流量都会先经过WAF,再转发至源站。当防护网站“对外协议”设置为“HTTPS”时,要求客户端与WAF之间的通信全程加密,而SSL证书是HTTPS加密通信的唯一合法凭证与加密载体,没有证书则无法完成SSL握手,浏览器会直接拦截访问、提示网站不安全、连接失败。

因此,添加网站时,如果“对外协议”“HTTPS”,则需要将证书上传到WAF,并将证书绑定到防护网站,确保客户端与WAF之间的通信全程加密。

概念说明

  • 国际证书:WAF支持国际证书。该证书遵循国际密码标准,使用RSA/ECC算法的SSL证书,绝大多数浏览器、客户端原生支持,互联网业务通用证书类型。仅需要一份证书文件 + 一份私钥。
  • 国密证书:WAF支持国密证书。该证书遵循我国商用密码SM2/SM3/SM4算法标准,采用双证书体系,分为签名证书(身份签名校验)、加密证书(密钥协商加密),每组包含签名证书、签名私钥、加密证书、加密私钥4份内容。

    华北‑乌兰察布一地域支持。如果使用独享模式,则独享引擎需要升级至最新版本。

  • SCMSSL Certificate Manager,SSL证书管理):华为云云证书与管理服务 CCM提供的SSL证书管理平台,由华为云联合全球知名数字证书服务机构(CA,Certificate Authority),在华为云平台上为您提供一站式SSL证书的全生命周期管理,实现网站的可信认证与安全数据传输,支持证书购买、上传、续费、一键推送到WAF。
  • PEM格式:ASCII文本格式证书,文件以‑‑‑‑BEGIN XXX‑‑‑‑开头、‑‑‑‑END XXX‑‑‑‑结尾。WAF仅支持PEM格式,CER/CRT/PFX/P7B/DER等二进制格式,需要转换为PEM格式后上传。

典型业务场景

  • 普通互联网业务站点:域名接入WAF做HTTPS防护,证书从第三方CA购买,本地拿到PEM证书与私钥,需要手动上传WAF,后续绑定防护网站。
  • 华为云SCM托管证书场景:已在SCM购买并上传证书,且业务在default企业项目,可直接推送证书到WAF,无需复制粘贴证书文本。
  • 国密合规业务站点:政务、金融业务,要求使用国密SM系列加密算法,部署WAF独享模式,部署地域为华北‑乌兰察布一,可上传国密双证书(签名 + 加密两套证书与私钥)。
  • 证书到期更新场景:旧证书即将过期,获取新证书后,在证书管理列表执行更换操作,替换原有证书。

手动上传证书与SCM推送证书差异

绑定防护网站时,WAF支持手动上传的证书、SCM推送的证书两种。不同证书获取方式的差别表1如所示。

表1 手动上传证书与SCM推送证书差异

对比项

手动上传证书

SCM推送证书

证书来源

第三方CA、本地证书文件

云证书与管理服务 CCM的SSL证书管理平台

操作方式

云证书与管理服务 CCM一键推送至WAF。具体操作,请参见推送证书到云产品

企业项目限制

支持全部企业项目

仅支持“default”企业项目,则不能选择使用SCM推送的SSL证书。

证书生命周期管理

WAF仅存储证书,到期提醒需自行配置。具体操作,请参见开启告警通知

云证书与管理服务 CCM统一管理证书到期、续费、更新。

证书统计

添加到“证书管理”页面的证书列表,并占用证书套数配额。

添加到“证书管理”页面的证书列表,并占用证书套数配额。

规格限制

WAF支持上传的证书套数和WAF支持防护的域名的个数相同。

例如,购买了标准版WAF(支持防护20个域名)、1个独享版WAF(支持防护2,000个域名)和域名扩展包(20个域名),WAF可以防护2,040个域名,则WAF支持上传2,040套证书。

约束条件

  • 仅华北-乌兰察布一地域支持国密证书。
  • 使用国密证书前,请确认已将独享引擎升级到最新版本。
  • 证书必须为PEM格式,非PEM格式需要先转换格式。
  • 国际证书上传默认开启证书和私钥匹配校验,不匹配则上传失败。
  • 证书名称在当前企业项目下不可重复。

前提条件

  • 已获取证书文件和证书私钥信息,且证书和私钥匹配。国密证书需要同时获取签名证书、签名私钥、加密证书、加密私钥。
  • 若证书非PEM格式,已经使用OpenSSL工具转换为PEM编码格式。具体操作,请参见转换证书格式

上传证书

  1. 登录Web应用防火墙控制台
  2. 在控制台左上角,单击图标,选择区域或项目。
  3. (可选) 如果您已开通企业项目,在左侧导航栏上方单击“按企业项目筛选”下拉框,选择您所在的企业项目。完成后,页面将为您展示该企业项目下的相关数据。
  4. 在左侧导航栏,选择对象管理 > 证书管理
  5. 在证书列表左上方,单击“添加证书”
  6. “添加证书”面板,根据要添加的证书类型,完成如下配置后,单击“确定”

    表2 添加国际证书

    参数

    参数说明

    取值样例

    证书类型

    选择要添加的证书类型。此处选择“国际证书”

    国密证书

    证书名称

    填写证书名称。

    waf_international

    证书文件

    证书的公钥证书文件,PEM编码,包含公钥、防护域名、有效期、签发机构等公开信息。WAF在HTTPS握手时将证书下发客户端,用于站点身份校验与密钥加密。

    可以以文本方式打开待添加证书中的PEP格式的文件(后缀名为.pep),将证书内容复制到此处。

    -----BEGIN CERTIFICATE-----

    MIIDIjCCAougAwIBAgIJALV96mEtVF4EMA0GCSqGSIb3DQEBBQUAMGoxCzAJBgNVBAYTAnh4MQswCQYDVQQIEwJ4eDELMAkGA1UEBxMCeHgxCzAJBgNVBAoTAnh4MQswCQYDVQQLEwJ

    -----END CERTIFICATE-----

    证书私钥

    与证书文件配对的私有密钥,PEM编码,存储于WAF侧。用于解密会话密钥与握手签名,属于高危敏感信息,禁止外泄。证书文件与证书私钥必须匹配,否则上传失败。

    可以以文本方式打开待添加证书中的KEY格式的文件(后缀名为.key),将私钥复制到此处。

    -----BEGIN RSA PRIVATE KEY-----

    MIICXQIBAAKBgQDFPN9ojPndxSC4E1pqWQVKGHCFlXAAGBOxbGfSzXqzsoyacotueqMqXQbxrPSQFATeVmhZPNVEMdvcAMjYsV/mymtAwVqVA6q/OFdX/b3UHO+b/VqLo3J5SrM

    -----END RSA PRIVATE KEY-----

    校验证书和私钥是否匹配

    勾选该项。如果证书和私钥不匹配,可单击“如何解决证书与私钥不匹配问题”,查看解决方法。

    -

    表3 添加国密证书

    参数

    参数说明

    取值样例

    证书类型

    选择要添加的证书类型。此处选择“国密证书”

    国密证书

    证书名称

    填写证书名称。

    waf_chinese

    签名文件

    国密双证书体系中的公钥证书,携带SM2签名公钥,用于服务端身份认证与报文签名校验,可对外公开。

    以文本方式打开待上传证书里的签名证书PEM格式的文件(后缀名为“.pem”),将证书内容复制到此处。

    -----BEGIN CERTIFICATE-----

    MIIDIjCCAougAwIBAgIJALV96mEtVF4EMA0GCSqGSIb3DQEBBQUAMGoxCzAJBgNVBAYTAnh4MQswCQYDVQQIEwJ4eDELMAkGA1UEBxMCeHgxCzAJBgNVBAoTAnh4MQswCQYDVQQLEwJ

    -----END CERTIFICATE-----

    签名私钥

    与签名证书配对的私钥,保存在WAF侧,用于生成数字签名,证明报文未被篡改,属于敏感信息禁止外泄。

    以文本方式打开待上传证书里的签名私钥KEY格式的文件(后缀名为“.key”),将私钥复制到此处。

    -----BEGIN RSA PRIVATE KEY-----

    MIICXQIBAAKBgQDFPN9ojPndxSC4E1pqWQVKGHCFlXAAGBOxbGfSzXqzsoyacotueqMqXQbxrPSQFATeVmhZPNVEMdvcAMjYsV/mymtAwVqVA6q/OFdX/b3UHO+b/VqLo3J5SrM

    -----END RSA PRIVATE KEY-----

    加密证书

    国密双证书体系中的公钥证书,携带SM2加密公钥,客户端使用该证书公钥加密会话密钥,证书可对外公开。

    以文本方式打开待上传证书里的加密证书PEM格式的文件(后缀名为“.pem”),将证书内容复制到此处。

    -----BEGIN CERTIFICATE-----

    MIIDIjCCAougAwIBAgIJALV96mEtVF4EMA0GCSqGSIb3DQEBBQUAMGoxCzAJBgNVBAYTAnh4MQswCQYDVQQIEwJ4eDELMAkGA1UEBxMCeHgxCzAJBgNVBAoTAnh4MQswCQYDVQQLEwJ

    -----END CERTIFICATE-----

    加密私钥

    与加密证书配对的私钥,保存在WAF侧,用于解密客户端传递的会话密钥,完成国密SSL密钥协商,属于敏感信息禁止外泄。

    以文本方式打开待上传证书里的加密私钥KEY格式的文件(后缀名为“.key”),将私钥内容复制到此处。

    -----BEGIN RSA PRIVATE KEY-----

    MIICXQIBAAKBgQDFPN9ojPndxSC4E1pqWQVKGHCFlXAAGBOxbGfSzXqzsoyacotueqMqXQbxrPSQFATeVmhZPNVEMdvcAMjYsV/mymtAwVqVA6q/OFdX/b3UHO+b/VqLo3J5SrM

    -----END RSA PRIVATE KEY-----

操作结果验证

完成以上配置后,您可以通过以下方式确认证书是否可用:

  • 控制台查看校验:在证书列表,找到已上传的证书,单击“操作”列的“查看”,核对证书类型、证书文件、证书私钥内容与预期一致。
  • 绑定域名业务验证:将证书绑定防护HTTPS域名,浏览器访问https://{域名},查看地址栏锁图标,单击查看证书颁发机构、域名、有效期信息是否匹配预期。
  • 命令行校验(运维推荐)
    bash
    openssl s_client -connect 域名:443 -servername 域名

    查看输出中的“subject”“issuer”“notAfter”字段,确认域名、签发机构、过期时间正确,无证书链报错。

相关操作

  • 修改证书名称:当鼠标移到目标证书的名称后时,单击,您可以修改证书的名称。

    如果证书正在使用中,请先解除域名和证书的绑定关系,否则无法修改证书名称。

  • 查看证书:在目标证书所在行的“操作”列中,单击“查看”,您可以查看证书的证书文件和证书私钥信息。
  • 绑定证书:在目标证书所在行的“操作”列中,单击“应用”,您可以将证书绑定到对应的域名。
  • 在目标证书所在行的“操作”列中,单击更多 > 删除,您可以删除该证书。
  • 更新证书:在目标证书所在行的“操作”列中,单击更多 > 更新,您可以重新更新该域名绑定的证书。
  • 证书共享:在目标证书所在行的“操作”列中,单击更多 > 共享,您可以将证书共享给其他企业项目使用。
  • 删除证书:在目标证书所在行的“操作”列中,单击更多 > 停止共享,您可以将证书取消共享给其他企业项目使用。
    • 删除证书前,必须确认证书没有被任何防护域名绑定;若证书仍被域名绑定,删除操作会导致对应域名失去HTTPS证书、HTTPS业务访问异常。如果确认要删除该证书,须先解除域名绑定关系。
    • 证书删除后不可恢复,请确认证书不再被任何防护域名使用再执行删除操作,误删除需要重新上传证书文件。
  • 转换证书格式:WAF当前仅支持PEM格式证书。如果证书为非PEM格式,需参考表4,在本地将证书转换为PEM格式。
    • 执行openssl命令前,请确保本地已安装openssl
    • 如果本地为Windows操作系统,请进入“命令提示符”对话框后,再执行证书转换命令。
    表4 证书转换命令

    格式类型

    转换方式

    CER/CRT

    “cert.crt”证书文件直接重命名为“cert.pem”

    PFX

    • 提取私钥命令,以“cert.pfx”转换为“key.pem”为例。

      openssl pkcs12 -in cert.pfx -nocerts -out key.pem -nodes

    • 提取证书命令,以“cert.pfx”转换为“cert.pem”为例。

      openssl pkcs12 -in cert.pfx -nokeys -out cert.pem

    P7B

    1. 证书转换,以“cert.p7b”转换为“cert.cer”为例。

      openssl pkcs7 -print_certs -in cert.p7b -out cert.cer

    2. “cert.cer”证书文件直接重命名为“cert.pem”

    DER

    • 提取私钥命令,以“privatekey.der”转换为“privatekey.pem”为例。

      openssl rsa -inform DER -outform PEM -in privatekey.der -out privatekey.pem

    • 提取证书命令,以“cert.cer”转换为“cert.pem”为例。

      openssl x509 -inform der -in cert.cer -out cert.pem

常见问题

相关文档