如何将CSR提交给Windows CSR?

我目前正在将一个从Windows CA(通常在Microsoft Windows上运行)生成SSL密钥的脚本移植到Ubuntu。不幸的是,我找不到Windows应用程序certreq的替代品。
我的脚本目前看起来是这样的:
# Generate keystore with name ssl, write to cert.jks
keytool -genkey -dname "CN=my.host.bla, OU=[...], O=[...], L=[...], S=BY, C=DE" -alias ssl -keyalg RSA -keysize 2048 -keystore cert.jks

# gen CSR into my.host.bla.csr
keytool -certreq -keyalg RSA -alias ssl -file my.host.bla.csr -keystore cert.jks -ext san=DNS:my.host.bla

# submit CSR to CA (this is a windows-specifc part!!)
certreq -submit -attrib "certificatetemplate:ssl201610" my.host.bla.csr

# Import Issuers
# Root-CA: (already downloaded)
keytool -import -alias root-pki -keystore cert.jks -trustcacerts -file "blaRootCA.cer"

# Intermedi / Issuer-CA: (already downloaded)
keytool -import -alias issuing-pki -keystore cert.jks -trustcacerts -file "blaIssuingCA.cer"

# Import keys
keytool -import -alias ssl -keystore cert.jks -file my.host.bla.cer

唯一剩下的问题是:是否有一个可以替代 certreq 的应用程序?
其他一切都正常运作。

1有一个Web Enrollment界面,但在安装企业CA之前,您应该考虑安全性。 - garethTheRed
@garethTheRed 感谢您的建议,不幸的是,网络报名界面在这里行不通。 - Robert Heine
1certutil 使用微软自己的 WCCE 协议进行注册。据我所知,目前没有 Linux 客户端。 - garethTheRed
1个回答

不幸的是,在Linux中没有适用于此的客户端,虽然Web界面可能是一种解决方案(对于其他人来说),但最简单的方法是:

  • csr移动到基于Windows的主机上
  • 执行certreq步骤
  • certificate移回基于Linux的主机。