org.bouncycastle.tls.crypto.impl.AbstractTlsCrypto Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of impersonator Show documentation
Show all versions of impersonator Show documentation
Spoof TLS/JA3/JA4 and HTTP/2 fingerprints in Java
package org.bouncycastle.tls.crypto.impl;
import org.bouncycastle.tls.crypto.TlsCrypto;
import org.bouncycastle.tls.crypto.TlsSecret;
/**
* Base class for a TlsCrypto implementation that provides some needed methods from elsewhere in the impl package.
*/
public abstract class AbstractTlsCrypto
implements TlsCrypto
{
public TlsSecret adoptSecret(TlsSecret secret)
{
// TODO[tls] Need an alternative that doesn't require AbstractTlsSecret (which holds literal data)
if (secret instanceof AbstractTlsSecret)
{
AbstractTlsSecret sec = (AbstractTlsSecret)secret;
return createSecret(sec.copyData());
}
throw new IllegalArgumentException("unrecognized TlsSecret - cannot copy data: " + secret.getClass().getName());
}
}