code: func (u *utils) ParsePrivateKeyPEMWithPassword(pemBytes, password []byte) (crypto.Signer, error) {
  	block, _ := pem.Decode(pemBytes)
  	if block == nil {
  		return nil, errors.New("Could not parse PEM")
  	}
  
  	if IsPKCS8(block.Bytes) {
  		return pkcs8.ParsePrivateKeyPEMWithPassword(pemBytes, password)
  	} else if u.fips {
  		return nil, ErrFIPSUnsupportedKeyFormat
  	}
  
  	return helpers.ParsePrivateKeyPEMWithPassword(pemBytes, password)
  }
docs: // ParsePrivateKeyPEMWithPassword parses an encrypted or a decrypted PKCS#1 or PKCS#8 PEM to crypto.Signer.
  // It returns an error in FIPS mode if PKCS#1 PEM bytes are passed.