Versions in this module Expand all Collapse all v0 v0.17.0 Apr 8, 2026 Changes in this version + const KSecAccessControlAnd — darwin/amd64 + const KSecAccessControlApplicationPassword — darwin/amd64 + const KSecAccessControlBiometryAny — darwin/amd64 + const KSecAccessControlBiometryCurrentSet — darwin/amd64 + const KSecAccessControlDevicePasscode — darwin/amd64 + const KSecAccessControlOr — darwin/amd64 + const KSecAccessControlPrivateKeyUsage — darwin/amd64 + const KSecAccessControlUserPresence — darwin/amd64 + const KSecAccessControlWatch — darwin/amd64 + var ErrAlreadyExists = errors.New("already exists") — darwin/amd64 + var ErrInvalidData = errors.New("invalid data") — darwin/amd64 + var ErrNotFound = errors.New("not found") — darwin/amd64 + var KSecAttrAccessControl = cf.TypeRef(C.kSecAttrAccessControl) — darwin/amd64 + var KSecAttrAccessGroup = cf.TypeRef(C.kSecAttrAccessGroup) — darwin/amd64 + var KSecAttrAccessGroupToken = cf.TypeRef(C.kSecAttrAccessGroupToken) — darwin/amd64 + var KSecAttrAccessibleAfterFirstUnlock = cf.TypeRef(C.kSecAttrAccessibleAfterFirstUnlock) — darwin/amd64 + var KSecAttrAccessibleAfterFirstUnlockThisDeviceOnly = cf.TypeRef(C.kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly) — darwin/amd64 + var KSecAttrAccessibleWhenPasscodeSetThisDeviceOnly = cf.TypeRef(C.kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly) — darwin/amd64 + var KSecAttrAccessibleWhenUnlocked = cf.TypeRef(C.kSecAttrAccessibleWhenUnlocked) — darwin/amd64 + var KSecAttrAccessibleWhenUnlockedThisDeviceOnly = cf.TypeRef(C.kSecAttrAccessibleWhenUnlockedThisDeviceOnly) — darwin/amd64 + var KSecAttrApplicationLabel = cf.TypeRef(C.kSecAttrApplicationLabel) — darwin/amd64 + var KSecAttrApplicationTag = cf.TypeRef(C.kSecAttrApplicationTag) — darwin/amd64 + var KSecAttrCanDecrypt = cf.TypeRef(C.kSecAttrCanDecrypt) — darwin/amd64 + var KSecAttrCanEncrypt = cf.TypeRef(C.kSecAttrCanEncrypt) — darwin/amd64 + var KSecAttrCanSign = cf.TypeRef(C.kSecAttrCanSign) — darwin/amd64 + var KSecAttrCanUnwrap = cf.TypeRef(C.kSecAttrCanUnwrap) — darwin/amd64 + var KSecAttrCanVerify = cf.TypeRef(C.kSecAttrCanVerify) — darwin/amd64 + var KSecAttrCanWrap = cf.TypeRef(C.kSecAttrCanWrap) — darwin/amd64 + var KSecAttrIsPermanent = cf.TypeRef(C.kSecAttrIsPermanent) — darwin/amd64 + var KSecAttrIssuer = cf.TypeRef(C.kSecAttrIssuer) — darwin/amd64 + var KSecAttrKeyClass = cf.TypeRef(C.kSecAttrKeyClass) — darwin/amd64 + var KSecAttrKeyClassPrivate = cf.TypeRef(C.kSecAttrKeyClassPrivate) — darwin/amd64 + var KSecAttrKeyClassPublic = cf.TypeRef(C.kSecAttrKeyClassPublic) — darwin/amd64 + var KSecAttrKeySizeInBits = cf.TypeRef(C.kSecAttrKeySizeInBits) — darwin/amd64 + var KSecAttrKeyType = cf.TypeRef(C.kSecAttrKeyType) — darwin/amd64 + var KSecAttrKeyTypeECSECPrimeRandom = cf.TypeRef(C.kSecAttrKeyTypeECSECPrimeRandom) — darwin/amd64 + var KSecAttrKeyTypeRSA = cf.TypeRef(C.kSecAttrKeyTypeRSA) — darwin/amd64 + var KSecAttrLabel = cf.TypeRef(C.kSecAttrLabel) — darwin/amd64 + var KSecAttrSerialNumber = cf.TypeRef(C.kSecAttrSerialNumber) — darwin/amd64 + var KSecAttrSubject = cf.TypeRef(C.kSecAttrSubject) — darwin/amd64 + var KSecAttrSubjectKeyID = cf.TypeRef(C.kSecAttrSubjectKeyID) — darwin/amd64 + var KSecAttrSynchronizable = cf.TypeRef(C.kSecAttrSynchronizable) — darwin/amd64 + var KSecAttrTokenID = cf.TypeRef(C.kSecAttrTokenID) — darwin/amd64 + var KSecAttrTokenIDSecureEnclave = cf.TypeRef(C.kSecAttrTokenIDSecureEnclave) — darwin/amd64 + var KSecClass = cf.TypeRef(C.kSecClass) — darwin/amd64 + var KSecClassCertificate = cf.TypeRef(C.kSecClassCertificate) — darwin/amd64 + var KSecClassIdentity = cf.TypeRef(C.kSecClassIdentity) — darwin/amd64 + var KSecClassKey = cf.TypeRef(C.kSecClassKey) — darwin/amd64 + var KSecKeyAlgorithmECDHKeyExchangeStandard = C.kSecKeyAlgorithmECDHKeyExchangeStandard — darwin/amd64 + var KSecKeyAlgorithmECDSASignatureDigestX962 = C.kSecKeyAlgorithmECDSASignatureDigestX962 — darwin/amd64 + var KSecKeyAlgorithmECDSASignatureDigestX962SHA256 = C.kSecKeyAlgorithmECDSASignatureDigestX962SHA256 — darwin/amd64 + var KSecKeyAlgorithmECDSASignatureDigestX962SHA384 = C.kSecKeyAlgorithmECDSASignatureDigestX962SHA384 — darwin/amd64 + var KSecKeyAlgorithmECDSASignatureDigestX962SHA512 = C.kSecKeyAlgorithmECDSASignatureDigestX962SHA512 — darwin/amd64 + var KSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA256 = C.kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA256 — darwin/amd64 + var KSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA384 = C.kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA384 — darwin/amd64 + var KSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA512 = C.kSecKeyAlgorithmRSASignatureDigestPKCS1v15SHA512 — darwin/amd64 + var KSecKeyAlgorithmRSASignatureDigestPSSSHA256 = C.kSecKeyAlgorithmRSASignatureDigestPSSSHA256 — darwin/amd64 + var KSecKeyAlgorithmRSASignatureDigestPSSSHA384 = C.kSecKeyAlgorithmRSASignatureDigestPSSSHA384 — darwin/amd64 + var KSecKeyAlgorithmRSASignatureDigestPSSSHA512 = C.kSecKeyAlgorithmRSASignatureDigestPSSSHA512 — darwin/amd64 + var KSecMatchLimit = cf.TypeRef(C.kSecMatchLimit) — darwin/amd64 + var KSecMatchLimitAll = cf.TypeRef(C.kSecMatchLimitAll) — darwin/amd64 + var KSecMatchLimitOne = cf.TypeRef(C.kSecMatchLimitOne) — darwin/amd64 + var KSecPrivateKeyAttrs = cf.TypeRef(C.kSecPrivateKeyAttrs) — darwin/amd64 + var KSecPublicKeyAttrs = cf.TypeRef(C.kSecPublicKeyAttrs) — darwin/amd64 + var KSecReturnAttributes = cf.TypeRef(C.kSecReturnAttributes) — darwin/amd64 + var KSecReturnRef = cf.TypeRef(C.kSecReturnRef) — darwin/amd64 + var KSecUseDataProtectionKeychain = cf.TypeRef(C.kSecUseDataProtectionKeychain) — darwin/amd64 + var KSecValueData = cf.TypeRef(C.kSecValueData) — darwin/amd64 + var KSecValueRef = cf.TypeRef(C.kSecValueRef) — darwin/amd64 + func GetSecAttrApplicationLabel(v *cf.DictionaryRef) []byte — darwin/amd64 + func GetSecAttrApplicationTag(v *cf.DictionaryRef) string — darwin/amd64 + func GetSecAttrLabel(v *cf.DictionaryRef) string — darwin/amd64 + func GetSecAttrTokenID(v *cf.DictionaryRef) string — darwin/amd64 + func GetSecValueData(v *cf.DictionaryRef) []byte — darwin/amd64 + func SecCertificateCopyData(cert *SecCertificateRef) (*cf.DataRef, error) — darwin/amd64 + func SecCopyErrorMessageString(status C.OSStatus) *cf.StringRef — darwin/amd64 + func SecIdentityCreateWithCertificate(certRef cf.TypeRef, result *SecIdentityRef) error — darwin/amd64 + func SecIdentitySetPreferred(name *cf.StringRef, identityRef *SecIdentityRef) error — darwin/amd64 + func SecItemAdd(attributes *cf.DictionaryRef, result *cf.TypeRef) error — darwin/amd64 + func SecItemCopyMatching(query *cf.DictionaryRef, result *cf.TypeRef) error — darwin/amd64 + func SecItemDelete(query *cf.DictionaryRef) error — darwin/amd64 + func SecItemUpdate(query *cf.DictionaryRef, attributesToUpdate *cf.DictionaryRef) error — darwin/amd64 + func SecKeyCopyAttributes(key *SecKeyRef) *cf.DictionaryRef — darwin/amd64 + func SecKeyCopyExternalRepresentation(key *SecKeyRef) (*cf.DataRef, error) — darwin/amd64 + func SecKeyCopyKeyExchangeResult(privateKey *SecKeyRef, algorithm SecKeyAlgorithm, publicKey *SecKeyRef, ...) (*cf.DataRef, error) — darwin/amd64 + func SecKeyCreateSignature(key *SecKeyRef, algorithm SecKeyAlgorithm, dataToSign *cf.DataRef) (*cf.DataRef, error) — darwin/amd64 + type SecAccessControlCreateFlags = C.SecAccessControlCreateFlags — darwin/amd64 + type SecAccessControlRef struct — darwin/amd64 + func GetSecAttrAccessControl(v *cf.DictionaryRef) *SecAccessControlRef + func SecAccessControlCreateWithFlags(protection cf.TypeRef, flags SecAccessControlCreateFlags) (*SecAccessControlRef, error) + func (v *SecAccessControlRef) Release() + func (v *SecAccessControlRef) TypeRef() cf.CFTypeRef + type SecCertificateRef struct — darwin/amd64 + Value C.SecCertificateRef + func NewSecCertificateRef(ref cf.TypeRef) *SecCertificateRef + func SecCertificateCreateWithData(certData *cf.DataRef) (*SecCertificateRef, error) + func (v *SecCertificateRef) Certificate() (*x509.Certificate, error) + func (v *SecCertificateRef) Release() + func (v *SecCertificateRef) TypeRef() cf.CFTypeRef + type SecIdentityRef struct — darwin/amd64 + Value C.SecIdentityRef + func NewSecIdentityRef(ref cf.TypeRef) *SecIdentityRef + func (v *SecIdentityRef) Release() + func (v *SecIdentityRef) Retain() + func (v *SecIdentityRef) SecCertificateRef() (*SecCertificateRef, error) + func (v *SecIdentityRef) SecKeyRef() (*SecKeyRef, error) + func (v *SecIdentityRef) TypeRef() cf.CFTypeRef + type SecKeyAlgorithm = C.SecKeyAlgorithm — darwin/amd64 + type SecKeyRef struct — darwin/amd64 + Value C.SecKeyRef + func NewSecKeyRef(ref cf.TypeRef) *SecKeyRef + func SecKeyCopyPublicKey(key *SecKeyRef) (*SecKeyRef, error) + func SecKeyCreateRandomKey(parameters *cf.DictionaryRef) (*SecKeyRef, error) + func SecKeyCreateWithData(keyData *cf.DataRef, attributes *cf.DictionaryRef) (*SecKeyRef, error) + func (v *SecKeyRef) Public() (crypto.PublicKey, []byte, error) + func (v *SecKeyRef) Release() + func (v *SecKeyRef) Retain() + func (v *SecKeyRef) Signer() (crypto.Signer, error) + func (v *SecKeyRef) TypeRef() cf.CFTypeRef + type SecKeySigner struct — darwin/amd64 + func (s *SecKeySigner) Public() crypto.PublicKey + func (s *SecKeySigner) Sign(_ io.Reader, digest []byte, opts crypto.SignerOpts) ([]byte, error) + type SecKeychainItemRef struct — darwin/amd64 + Value C.SecKeychainItemRef + func NewSecKeychainItemRef(ref cf.TypeRef) *SecKeychainItemRef + func (v *SecKeychainItemRef) Release() + func (v *SecKeychainItemRef) Retain() + func (v *SecKeychainItemRef) TypeRef() cf.CFTypeRef v0.17.0-rc1 Apr 7, 2026