code: public GSIConstants.CertificateType getProxyType() {
          try {
              return BouncyCastleUtil.getCertificateType(this.certChain[0]);
          } catch (CertificateException e) {
              logger.error("Error getting certificate type.", e);
              return GSIConstants.CertificateType.UNDEFINED;
          }
      }
docs: Returns the certificate type of the first certificate in the chain. Returns -1 if unable to determine
  the certificate type (an error occurred)
  
  @see BouncyCastleUtil#getCertificateType(X509Certificate)
  
  @return the type of first certificate in the chain. -1 if unable to determine the certificate type.