- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我通过 SignatureSpi 扩展了我的类,我想使用此类对文本文件进行签名。但是,有一个问题,我不知道如何使用这个类。所有方法都受到保护。您有任何用法示例吗?我试图在谷歌上找到一些东西但没有结果。 ;/
最佳答案
在 Java 中,您不能只扩展 Signature
类。您需要创建一个 Java 安全提供程序,然后它会注册底层 SignatureSpi
类。然后,当用户使用 Signature.getInstance()
之一时,您的提供程序中的 SignatureSpi
可以用作底层实现。从 1.5 开始,Signature.init()
方法也很重要,因为可以根据给定 key 使用延迟提供程序选择。
所以有两种方法可以使用你自己的算法。一是创建自己的界面并使用它。例如,这是由 Bouncy CaSTLe light API 执行的。另一种方法是创建您自己的提供程序,但在 Oracle 运行时内,该提供程序需要由 Oracle 签署的证书/ key 对进行签名。后者的优点是该算法也可以被使用Signature
类的库使用,例如Oracle提供的TLS实现和XML数字签名库。
mkl 很好地提供了更多信息的链接:How to Implement a Provider in the Java Cryptography Architecture
关于java.security.SignatureSpi 用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20428760/
我通过 SignatureSpi 扩展了我的类,我想使用此类对文本文件进行签名。但是,有一个问题,我不知道如何使用这个类。所有方法都受到保护。您有任何用法示例吗?我试图在谷歌上找到一些东西但没有结果。
我是一名优秀的程序员,十分优秀!