def METHOD_NAME(cert: Certificate) -> Json:
    pub_key = cert.public_key()
    if not isinstance(pub_key, RSAPublicKey):
        raise ValueError(f"Unsupported public key type: {type(pub_key)}")
    pem_data = cert.public_bytes(serialization.Encoding.PEM)
    pem_contents = pem_data.split(b"\n")[1:-2]  # Remove header and footer lines
    x5t_256 = x5t_s256(cert)
    pub_num = pub_key.public_numbers()
    return {
        "kty": "RSA",
        "alg": cert.signature_algorithm_oid._name,
        "n": base64url_encode(pub_num.n.to_bytes((pub_num.n.bit_length() + 7) // 8, "big")).decode("utf-8"),
        "e": base64url_encode(pub_num.e.to_bytes((pub_num.e.bit_length() + 7) // 8, "big")).decode("utf-8"),
        "use": "sig",
        "kid": x5t_256,
        "x5t": x5t(cert),
        "x5t#S256": x5t_256,
        "x5c": [b"".join(pem_contents).decode("utf-8")],
    }