日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

初識RPC中間件zeroC ICE工具之iceca

作者:聞啼鳥 更新時間: 2022-10-14 編程語言

zeroc-icecertutils是什么?

zeroc-icecertutils全稱zeroc Ice Certificate Utilities,其中包括iceca命令行程序和一個小型Python庫,用于為Ice客戶端或服務器創建證書。
該工具依賴于PyOpenSSL來創建證書。Java KeyStore文件是用keytool實用程序創建的。創建BouncyCastle KeyStore文件需要Java BouncyCastle提供支持。
其中,

  • PyOpenSSL是一個封裝了openssl的python模塊,使用它可以方便地進行一些加解密操作。
  • JAVA KeyStore是java的密鑰庫,用來進行通信加密用的,比如數字簽名;還有用來保存密鑰對的,比如公鑰和私鑰。一般多用作銀行接口相關,保證通訊安全。
  • keytool 是個密鑰和證書管理工具。它使用戶能夠管理自己的公鑰/私鑰對及相關證書,用于(通過數字簽名)自我認證(用戶向別的用戶/服務認證自己)或數據完整性以及認證服務。
  • BouncyCastle是一個提供了很多哈希算法和加密算法的第三方庫。它提供了Java標準庫沒有的一些算法,例如,RipeMD160哈希算法。

zeroc-icecertutils如何安裝?

安裝zeroc-icecertutils使用pip工具

pip install "zeroc-icecertutils >= 1.0.4"

iceca工具是什么?

iceca工具提供了一個小型證書頒發機構,允許創建與Ice客戶機和服務器一起使用的證書。支持初始化CA數據庫、創建證書和導出證書等命令。
iceca help info
通過以下命令可以查看相對應的命令幫助信息。

iceca init
ineca create
iceca list
iceca show
iceca export

python 模塊

#導入模塊
import IceCertUtils

#
# 創建IceCertUtil factory
#
factory = IceCertUtils.CertificateFactory(cn = "My CA")

#初始化證書數據庫,保存為PEM、DER、JKS格式
factory.getCA().save("cacert.pem").save("cacert.der").save("cacert.jks")

#
# 創建client證書
#
client = factory.create("client", cn = "Client")

# 保存證書為 PKCS12 格式
client.save("client.p12")

# 將客戶端證書保存為JKS格式,并將CA證書包含在別名為“cacert”的keystore中。
client.save("client.jks", caalias="cacert")

#
# 創建服務器證書,包括IP和DNS主題備選名稱。
#
server = factory.create("server", cn = "Server", ip="127.0.0.1", dns="server.foo.com")

# 保存證書為 PKCS12 格式
server.save("server.p12")

# 保存證書為 JKS 格式
server.save("server.jks", caalias="cacert")

# 將客戶端證書和服務端證書保存為BKS格式。如果不支持BKS,則會拋出異常
#
try:
    client.save("client.bks", caalias="cacert")
    server.save("server.bks", caalias="cacert")
except Exception as ex:
    print("warning: couldn't generate BKS certificates:\n" + str(ex))

factory.destroy()

拓展鏈接

zeroc-icecertutils GitHub
一文徹底搞懂加密、數字簽名和數字證書,看不懂你打我!

原文鏈接:https://blog.csdn.net/Tom942067059/article/details/127286767

欄目分類
最近更新