private static CFArrayRefByReference copyTrustSettings()

in src/main/java/org/jetbrains/nativecerts/mac/SecurityFrameworkUtil.java [379:395]


    private static CFArrayRefByReference copyTrustSettings(SecurityFramework.SecCertificateRef certificateRef, SecurityFramework.SecTrustSettingsDomain domain) {
        CFArrayRefByReference trustedSettingsRef = new CFArrayRefByReference();

        SecurityFramework.OSStatus rc = SecurityFramework.INSTANCE.SecTrustSettingsCopyTrustSettings(certificateRef, domain, trustedSettingsRef);

        if (SecurityFramework.OSStatus.errSecItemNotFound.equals(rc)) {
            return null;
        }

        if (!SecurityFramework.OSStatus.errSecSuccess.equals(rc)) {
            String certificateDescription = CoreFoundationExtUtil.getDescription(certificateRef);
            throw new IllegalStateException("Failed to get trust settings for certificate '" +
                    certificateDescription + "': " + rc.toError());
        }

        return trustedSettingsRef;
    }