code: @Beta
    public final X509Certificate verifySignature(X509TrustManager trustManager)
        throws GeneralSecurityException {
      List<String> x509Certificates = getHeader().getX509Certificates();
      if (x509Certificates == null || x509Certificates.isEmpty()) {
        return null;
      }
      String algorithm = getHeader().getAlgorithm();
      Signature signatureAlg = null;
      if ("RS256".equals(algorithm)) {
        signatureAlg = SecurityUtils.getSha256WithRsaSignatureAlgorithm();
      } else {
        return null;
      }
      return SecurityUtils.verify(
          signatureAlg, trustManager, x509Certificates, signatureBytes, signedContentBytes);
    }
docs: {@link Beta} <br>
  Verifies the signature of the content using the certificate chain embedded in the signature.
  
  <p>Currently only {@code "RS256"} algorithm is verified, but others may be added in the future.
  For any other algorithm it returns {@code null}.
  
  <p>The leaf certificate of the certificate chain must be an SSL server certificate.
  
  @param trustManager Trust manager used to verify the X509 certificate chain embedded in this
  message.
  @return The signature certificate if the signature could be verified, null otherwise.
  @throws GeneralSecurityException
  @since 1.19.1.