então, to usando c#, transformando o certificado do endpoint em um x509certificate2 , tem um metódo Verify(), ele já não meio que faz todas essas verificações?
Retornando um Verify() true, conferindo o Issuer == "[email protected], CN=api-pix-h.gerencianet.com.br, OU=Infraestrutura, O=Gerencianet Pagamentos do Brasil Ltda, S=Minas Gerais, C=BR"
Restringindo também (como comentou) o IP, eu nem precisaria verificar o thumbprint? já estaria validado?