簡體   English   中英

以編程方式檢測 Bouncycastle 版本

[英]Programmatically detect Bouncycastle version

我正在使用多個包裝 Bouncycastle 的庫,但它缺少 Maven 工件數據。 我希望能夠在代碼中檢測 Bouncycastle 的版本。 我試圖自己找到一個內部版本,但該庫絕對是龐大的。 有什么想法嗎?

例如,對於 Jetty,它就是 Jetty.VERSION。

更新: new BouncyCastleProvider().getVersion()是解決方案。

它在每個 jar 的META-INF/MANIFEST.MF文件中定義。 您可以通過以下方式以編程方式查看:

org.bouncycastle.jce.provider.BouncyCastleProvider
  .class
  .getPackage()
  .getImplementationVersion()

這是一個可能的、不太可能的、可怕的黑客攻擊。

如果您有可用的 org.bouncycastle.bcpg.ArmoredOutputStream 類( org.bouncycastle.bcpg.ArmoredOutputStream一部分),您也許可以使用反射來獲取version的值。 它似乎在構建時將版本號放入其中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM