package macOS
import (
)
type SecTrustSettingsResult int32
const (
SecTrustSettingsResultInvalid SecTrustSettingsResult = iota
SecTrustSettingsResultTrustRoot
SecTrustSettingsResultTrustAsRoot
SecTrustSettingsResultDeny
SecTrustSettingsResultUnspecified
)
type SecTrustSettingsDomain int32
const (
SecTrustSettingsDomainUser SecTrustSettingsDomain = iota
SecTrustSettingsDomainAdmin
SecTrustSettingsDomainSystem
)
type OSStatus struct {
call string
status int32
}
func ( OSStatus) () string {
return .call + " error: " + strconv.Itoa(int(.status))
}
var SecTrustSettingsResultKey = StringToCFString("kSecTrustSettingsResult")
var SecTrustSettingsPolicy = StringToCFString("kSecTrustSettingsPolicy")
var SecTrustSettingsPolicyString = StringToCFString("kSecTrustSettingsPolicyString")
var SecPolicyOid = StringToCFString("SecPolicyOid")
var SecPolicyAppleSSL = StringToCFString("1.2.840.113635.100.1.3")
var ErrNoTrustSettings = errors.New("no trust settings found")
const errSecNoTrustSettings = -25263
func ( SecTrustSettingsDomain) ( CFRef, error) {
:= syscall(funcPC(x509_SecTrustSettingsCopyCertificates_trampoline), uintptr(),
uintptr(unsafe.Pointer(&)), 0, 0, 0, 0)
if int32() == errSecNoTrustSettings {
return 0, ErrNoTrustSettings
} else if != 0 {
return 0, OSStatus{"SecTrustSettingsCopyCertificates", int32()}
}
return , nil
}
func ()
const kSecFormatX509Cert int32 = 9
func ( CFRef) ( CFRef, error) {
:= syscall(funcPC(x509_SecItemExport_trampoline), uintptr(), uintptr(kSecFormatX509Cert),
0 , 0 , uintptr(unsafe.Pointer(&)), 0)
if != 0 {
return 0, OSStatus{"SecItemExport", int32()}
}
return , nil
}
func ()
const errSecItemNotFound = -25300
func ( CFRef, SecTrustSettingsDomain) ( CFRef, error) {
:= syscall(funcPC(x509_SecTrustSettingsCopyTrustSettings_trampoline), uintptr(), uintptr(),
uintptr(unsafe.Pointer(&)), 0, 0, 0)
if int32() == errSecItemNotFound {
return 0, ErrNoTrustSettings
} else if != 0 {
return 0, OSStatus{"SecTrustSettingsCopyTrustSettings", int32()}
}
return , nil
}
func ()
func ( CFRef) CFRef {
:= syscall(funcPC(x509_SecPolicyCopyProperties_trampoline), uintptr(), 0, 0, 0, 0, 0)
return CFRef()
}
func ()