我正在使用Bouncy Castle到TLS连接,并将客户端证书发送到服务器。但是我不知道我应该使用哪个接口作为TlsCredentials,这应该是:
TlsSignerCredentials或TlsAgreementCredentials以及如何实施。

例如什么是正确的实现

byte[] GenerateCertificateSignature(byte[] md5andsha1);


在TlsSignerCredentials中,何时应该使用它代替TlsAgreementCredentials

请给我一个示例实现或任何线索吗?

提前致谢!

阿图尔

最佳答案

您可能需要TlsSignerCredentials,当密钥交换涉及客户端签名(除DH,ECDH之外,基本上所有其他客户端签名)时使用该TlsSignerCredentials。有一个可用的默认实现DefaultTlsSignerCredentials,您可以为其提供证书和相应的私钥。它识别DSA,ECDSA和RSA凭据。

TlsAgreementCredentials同样具有DefaultTlsAgreementCredentials实现,但是协议凭证仅在DH / ECDH密钥交换中使用,而很少使用。

09-10 09:24