You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Redhat中替代PowerShell New-SelfSignedCertificate的等效命令及证书配置

在Red Hat Linux上创建用于Azure AD认证的自签名证书

1. 使用OpenSSL生成自签名证书

Linux上最常用的证书生成工具是openssl,执行以下命令即可生成符合需求的自签名证书(对应Windows系统中New-SelfSignedCertificate的参数逻辑):

# 生成自签名证书和可导出的未加密私钥
openssl req -x509 -newkey rsa:2048 -keyout mycert.key -out mycert.crt -days 365 -subj "/CN=MyCertificate" -nodes

参数说明:

  • -x509:指定生成自签名证书
  • -newkey rsa:2048:创建2048位RSA密钥对
  • -keyout:指定私钥文件的输出路径
  • -out:指定证书文件的输出路径
  • -days 365:设置证书有效期为1年
  • -subj "/CN=MyCertificate":定义证书的主体名称(对应Windows命令中的Subject参数)
  • -nodes:让私钥不加密,确保可导出使用(对应KeyExportPolicy Exportable)

2. 转换为PFX格式(用于Azure应用注册上传)

Azure应用注册支持上传PFX格式的证书,执行以下命令将生成的.crt和.key文件合并为PFX:

openssl pkcs12 -export -out mycert.pfx -inkey mycert.key -in mycert.crt

执行后会提示设置PFX文件的密码,务必记住该密码,后续上传证书到Azure时需要用到。

3. Linux上的证书存储位置

Linux没有Windows那样的统一证书存储库,推荐按以下场景存放:

  • 系统级共享证书:将.crt文件放到/etc/pki/tls/certs/,.key文件放到/etc/pki/tls/private/,并设置私钥权限为chmod 600 /etc/pki/tls/private/mycert.key(仅root可读写,保证安全)
  • 应用专用证书:如果仅单个应用使用,可将证书文件放到应用专属目录(如/opt/your-app/certs/),同样要严格限制私钥的访问权限

4. 配置Azure应用注册与Key Vault访问

  1. 登录Azure门户,进入目标应用注册,选择证书和密码 > 上传证书,选择生成的mycert.pfx文件,输入设置的密码后保存
  2. 进入目标Key Vault,选择访问策略 > 添加访问策略,为应用注册分配所需的密钥权限(如Get、List),完成后保存

5. 应用中使用证书认证

以Python为例,通过Azure SDK加载证书完成认证:

from azure.identity import CertificateCredential
from azure.keyvault.keys import KeyClient

credential = CertificateCredential(
    tenant_id="你的租户ID",
    client_id="你的应用客户端ID",
    certificate_path="/path/to/mycert.pfx",
    certificate_password="你的PFX密码"
)

key_client = KeyClient(vault_url="https://你的密钥库名称.vault.azure.net/", credential=credential)
# 后续可调用key_client的方法访问密钥

内容的提问来源于stack exchange,提问作者omena kutchena

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 08:30:09