public TlsCredentials getClientCredentials(CertificateRequest certificateRequest) throws IOException { short[] certificateTypes = certificateRequest.getCertificateTypes(); if (certificateTypes == null || !Arrays.contains(certificateTypes, ClientCertificateType.rsa_sign)) { return null; } SignatureAndHashAlgorithm signatureAndHashAlgorithm = null; Vector<?> sigAlgs = certificateRequest.getSupportedSignatureAlgorithms(); if (sigAlgs != null) { for (int i = 0; i < sigAlgs.size(); ++i) { SignatureAndHashAlgorithm sigAlg = (SignatureAndHashAlgorithm) sigAlgs.elementAt(i); if (sigAlg.getSignature() == SignatureAlgorithm.rsa) { signatureAndHashAlgorithm = sigAlg; break; } } if (signatureAndHashAlgorithm == null) { return null; } } return DtlsUtils.loadSignerCredentials(context, new String[] { cert.getAbsolutePath(), root.getAbsolutePath() }, key.getAbsolutePath(), signatureAndHashAlgorithm); } };
if (TlsUtils.isTLSv12(context)) TlsUtils.verifySupportedSignatureAlgorithm(state.certificateRequest.getSupportedSignatureAlgorithms(), signatureAlgorithm); hash = prepareFinishHash.getFinalHash(signatureAlgorithm.getHash());
if (TlsUtils.isTLSv12(getContext())) TlsUtils.verifySupportedSignatureAlgorithm(certificateRequest.getSupportedSignatureAlgorithms(), signatureAlgorithm); hash = prepareFinishHash.getFinalHash(signatureAlgorithm.getHash());
if (this.certificateRequest != null) if (TlsUtils.isTLSv12(getContext()) != (certificateRequest.getSupportedSignatureAlgorithms() != null)) this.certificateRequest.getSupportedSignatureAlgorithms());
this.certificateRequest.getSupportedSignatureAlgorithms());
if (state.certificateRequest != null) if (TlsUtils.isTLSv12(state.serverContext) != (state.certificateRequest.getSupportedSignatureAlgorithms() != null)) state.certificateRequest.getSupportedSignatureAlgorithms());
state.certificateRequest.getSupportedSignatureAlgorithms());
this.certificateRequest.getSupportedSignatureAlgorithms());
this.certificateRequest.getSupportedSignatureAlgorithms());
state.certificateRequest.getSupportedSignatureAlgorithms());
state.certificateRequest.getSupportedSignatureAlgorithms());