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