- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用 Veracode 扫描我的应用程序并出现以下错误未检查的错误条件。这是我的代码:
let status = withUnsafeMutablePointer(to: &queryResult) {
SecItemCopyMatching(query as CFDictionary, UnsafeMutablePointer($0))
}
// Check the return status and throw an error if appropriate.
guard status != errSecItemNotFound else {
throw KeychainError.noKeychain
}
guard status == noErr else {
throw KeychainError.unhandledError(status: status)
}
错误出现在这一行:SecItemCopyMatching(query as CFDictionary, UnsafeMutablePointer($0))
Error handling problems occur when an application does not properly handle errors that occur during processing. If a function does not generate the correct return/status codes, or if the product does not handle all possible return/status codes that could be generated by a function, then security issues may result. Similarly, failing to catch an exception thrown by a function can potentially cause the program to crash or to behave in an unexpected manner.
最佳答案
根据documentation of withUnsafeMutablePointer
,闭包中的参数已经是 UnsafeMutablePointer
类型。所以基本上你正在通过 UnsafeMutablePointer<UnsafeMutablePointer>
至SecItemCopyMatching
,其中(如果您想坚持 UnsafeMutablePointer
)您应该传递 UnsafeMutablePointer<CFTypeRef>
。所以尝试一下
SecItemCopyMatching(query as CFDictionary, $0)
关于ios - 使用 SecItemCopyMatching 和 Veracode 进行错误处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53326673/
我在下一个代码中出现内存泄漏。我的灵感来自here这是RSA算法的一部分。 - (SecKeyRef)getPublicKeyRef { OSStatus resultCode = noErr; Se
我想在运行时将 OSX/iOS 证书导入到 OpenSSL 上下文中。为此,我使用带有以下代码的 SecItemCopyMatching 从操作系统钥匙串(keychain)中检索证书: CFMuta
首先,我观看了关于使用钥匙串(keychain)保护 secret 的 WWDC 2013 session 。我想做一个基本的密码存储。观看了整个视频,但在视频的前 10 分钟找到了我需要的内容。看起
我的方法: +(SecKeyRef)getKeyByTagWithoutAlert:(NSString *)keyTag status:(OSStatus *) status{ *status
与 REST API 通信并将 API token 保存在 iOS 的钥匙串(keychain)中。但钥匙串(keychain)代码抛出 nil 错误。 KeychainAccess.swift: p
我正在尝试使用钥匙串(keychain)服务来保存一个值,即使用户重新安装应用程序,该值也会持续存在。所以我使用 SecItemCopyMatching 检查一个项目是否存在,它第一次返回 errSe
我正在将一个项目添加到钥匙串(keychain),然后我想获取该项目的值(value)。问题是,它原来是一个空字符串。我究竟做错了什么?谢谢! //add item to keychain NSDic
我正在尝试从已生成的 key 对(两个 SecKeyRef)中提取一个 1024 位 RSA 公钥,以便通过网络发送它。我只需要一个普通的 (modulus, exponent) 对,它应该正好占用
我的应用程序中有以下代码片段。 CFTypeRef result = nil; OSStatus userPresenceStatus = SecItemCopyMatching((_
我无法让此调用适用于 IOS。我尝试了多种方法,但似乎没有任何效果:我总是获得 errSecParam 状态。谁能告诉我我做错了什么? 我开始使用它来获取我从字节中提取的证书的属性列表。那没有用,所以
我正在尝试使用 CryptoExercise 的 SecKeyWrapper addPeerPublicKey:keyBits: 方法将 RSA 公钥添加到我的 iPhone 钥匙串(keychain
KeychainTouchID应用程序是使用 Xcode 安装并执行的。 key 是通过按“添加 protected key ”生成的,并通过按“使用 protected key ”使用。 key 是
我从 Stack Overflow 上抓取了代码来访问一些网络浏览器密码。只要密码在登录钥匙串(keychain)中,它就可以很好地工作。在某些时候,我感兴趣的特定帐户已移至 iCloud 钥匙串(k
我使用 Veracode 扫描我的应用程序并出现以下错误未检查的错误条件。这是我的代码: let status = withUnsafeMutablePointer(to: &queryRes
所以我的问题是关于钥匙串(keychain)访问是如何工作的。如果我已经使用 kSecAttrAccessible 属性集将一个项目保存到钥匙串(keychain),并且如果我想稍后查询这个项目,我是
我想在我的 iOS 应用程序中支持多个帐户,并且我正在使用 KeyChain 来存储凭据。我正在存储具有相同类 (kSecClassGenericPassword) 和属性 (kSecAttrServ
我正在使用 SecItemCopyMatching 获取受 Touch ID 保护的钥匙串(keychain)项。 但是,如果 Touch ID 解锁失败(或用户选择“输入密码”),我想展示我自己的
我在 SecItemCopyMatching 上发现内存泄漏。经过对 SF 的调查,我找到了解决方案: __block NSString *certificateName = nil; SecKeyc
我正在尝试通过 FaceID 解锁钥匙串(keychain)/安全区域中的数据,并使其在用户 session 期间可访问(无需额外解锁)。 Per the documentation for kSec
我正在为我们的 iPhone 应用程序实现 SSL 客户端身份验证,并使用应用程序钥匙串(keychain)来存储客户端身份(证书 + 私钥)。将项目添加到钥匙串(keychain)后,我在使用 Se
我是一名优秀的程序员,十分优秀!