我正在使用Bouncy Castle与TLS连接,并将客户端证书发送到服务器。但我不知道我应该使用哪个接口作为TlsCredentials,这应该是: TlsSignerCredentials 或 TlsAgreementCredentials 以及如何实现此目的。
例如,正确的实现是什么
byte[] GenerateCertificateSignature(byte[] md5andsha1);
TlsSignerCredentials ,当我应该使用此代替 TlsAgreementCredentials
你能给我一个示例实现或提供任何线索吗?
提前致谢!
阿图尔
答案 0 :(得分:1)
您可能需要TlsSignerCredentials,它在密钥交换涉及客户端签名时使用(基本上所有这些都包括DH,ECDH)。有一个可用的默认实现DefaultTlsSignerCredentials,您可以为其提供证书和相应的私钥。它识别DSA,ECDSA和RSA凭证。
TlsAgreementCredentials同样具有DefaultTlsAgreementCredentials实现,但协议凭证仅用于很少使用的DH / ECDH密钥交换。