code: func NewHandler(dbAccessor certdb.Accessor, caPath string, caKeyPath string) (http.Handler, error) {
  	ca, err := helpers.ReadBytes(caPath)
  	if err != nil {
  		return nil, err
  	}
  
  	caKey, err := helpers.ReadBytes(caKeyPath)
  	if err != nil {
  		return nil, errors.Wrap(errors.PrivateKeyError, errors.ReadFailed, err)
  	}
  
  	// Parse the PEM encoded certificate
  	issuerCert, err := helpers.ParseCertificatePEM(ca)
  	if err != nil {
  		return nil, err
  	}
  
  	strPassword := os.Getenv("CFSSL_CA_PK_PASSWORD")
  	password := []byte(strPassword)
  	if strPassword == "" {
  		password = nil
  	}
  
  	// Parse the key given
  	key, err := helpers.ParsePrivateKeyPEMWithPassword(caKey, password)
  	if err != nil {
  		log.Debug("malformed private key %v", err)
  		return nil, err
  	}
  
  	return &api.HTTPHandler{
  		Handler: &Handler{
  			dbAccessor: dbAccessor,
  			ca:         issuerCert,
  			key:        key,
  		},
  		Methods: []string{"GET"},
  	}, nil
  }
docs: // NewHandler returns a new http.Handler that handles a revoke request.