def collect_gpu_evidence_remote()

in src/local_gpu_verifier/src/verifier/cc_admin.py [0:0]


def collect_gpu_evidence_remote(nonce: str, no_gpu_mode=False, standalone_mode=True):
    """Method to Collect GPU Evidence for Remote GPU Attestation workflow
    Args:
        nonce (String): Hex string representation of Nonce
        no_gpu_mode (Boolean): Represents if the function should run in No GPU (test) mode
        standalone_mode (Boolean): Represents if the function should run in Standalone mode
    Returns:
        GPU Evidence list containing Base64 Encoded GPU certificate chain and Attestation Report as Hex String
    """
    evidence_list = collect_gpu_evidence(nonce, no_gpu_mode, standalone_mode)
    remote_evidence_list = []
    for gpu_info_obj in evidence_list:
        gpu_cert_chain = gpu_info_obj.get_attestation_cert_chain()
        gpu_cert_chain_base64 = GpuCertificateChains.extract_gpu_cert_chain_base64(gpu_cert_chain)
        evidence_bytes = gpu_info_obj.get_attestation_report()
        evidence_base64 = base64.b64encode(evidence_bytes).decode("utf-8")
        gpu_evidence = {
            "certificate": gpu_cert_chain_base64,
            "evidence": evidence_base64,
        }
        remote_evidence_list.append(gpu_evidence)
    return remote_evidence_list