private boolean shouldGenerateV3(Entitlement entitlement) { Consumer consumer = entitlement.getConsumer(); if (consumer.getType().isManifest()) { for (ConsumerCapability capability : consumer.getCapabilities()) { if ("cert_v3".equals(capability.getName())) { return true; } } return false; } else if (consumer.getType().getLabel().equals(ConsumerTypeEnum.HYPERVISOR.getLabel())) { // Hypervisors in this context don't use content, so allow v3 return true; } else { String entitlementVersion = consumer.getFact("system.certificate_version"); return entitlementVersion != null && entitlementVersion.startsWith("3."); } }