code: func (p *Platform) ParseAndLoad() (ok bool) {
  	p.HashUbiquity = p.hashUbiquity()
  	p.KeyAlgoUbiquity = p.keyAlgoUbiquity()
  	p.KeyStore = map[string]bool{}
  	if p.KeyStoreFile != "" {
  		pemBytes, err := ioutil.ReadFile(p.KeyStoreFile)
  		if err != nil {
  			log.Error(err)
  			return false
  		}
  		// Best effort parsing the PEMs such that ignore all borken pem,
  		// since some of CA certs have negative serial number which trigger errors.
  		for len(pemBytes) > 0 {
  			var certs []*x509.Certificate
  			certs, rest, err := helpers.ParseOneCertificateFromPEM(pemBytes)
  			// If one certificate object is parsed, possibly a PKCS#7
  			// structure containing multiple certs, record the raw SHA1 hash(es).
  			if err == nil && certs != nil {
  				for _, cert := range certs {
  					p.KeyStore.Add(cert)
  				}
  			}
  
  			if len(rest) < len(pemBytes) {
  				pemBytes = rest
  			} else {
  				// No progress in bytes parsing, bail out.
  				break
  			}
  		}
  	}
  	if p.HashUbiquity <= UnknownHashUbiquity ||
  		p.KeyAlgoUbiquity <= UnknownAlgoUbiquity {
  		return false
  	}
  	return true
  }
docs: // ParseAndLoad converts HashAlgo and KeyAlgo to corresponding ubiquity value and load
  // certificates into internal KeyStore from KeyStoreFiles