问题标签 [security-framework]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1592 浏览

macos - How to do asymmetric encryption/decryption with OSX 10.7+ without openssl?

Since openssl is deprecated in osx 10.7+, I'd like to switch from openssl to the internal osx keychain and crypto function.

But now I am stuck on asymmetric encryption/decryption.

How can I do encryption/decryption of a randomly generated symmetric key with a asymmetric (RSA) key. With openssl it's quite easy.

In the apple dev docs, they say that CommonCrypto supports asymmetric encryption, but while checking the headers, I can only see support for symmetric stuff.

Any hints?

0 投票
1 回答
532 浏览

iphone - 设备上 iPhone kccparamerror 中的 AES 加密

我正在加密像图像文件这样的大文件(可能有任何大小 - 从一些 KB 到大 MB)。我正在使用以下代码进行加密,这在 iPhone Simulator 5.1 上运行良好:

但是,当我使用相同的代码加密设备上的某些图像时 - iPhone 5.1.1,

这种加密给了我一个 kCCaramError (-4300)。我在模拟器中有相同的值 - 但它在那里工作正常。请问有什么帮助吗?

0 投票
1 回答
977 浏览

ios - 使用安全框架编写安全传输级别

我开发了安全敏感的应用程序。我必须使用基于TEA的算法来加密/解密数据以与服务器通信并遵循服务器协议。我使用AsyncSocket进行使用CFNetworkAPI 的传输级通信。我注意到TEA算法不是很安全,很容易被黑客入侵。此外,AsyncSocket图书馆没有使用 Apple 的安全框架任何地方。我计划重写传输层并重新定义客户端-服务器安全协议。我一直在研究应该使用什么样的安全算法来保护数据,这种算法对性能没有影响或影响最小并且难以破解。此外,我正在浏览安全框架,但找不到任何使用该框架实现传输层的示例。有人可以帮助我吗?我应该遵循哪些内容来编写安全传输层?我可以针对我的应用程序检查哪些安全措施?

0 投票
0 回答
744 浏览

ios - 如何在 iOS 中使用 p12 文件对数据进行签名?

对于 iOS 中的 Web 服务请求,我需要使用我拥有的 .p12 文件对 POST 参数之一进行签名。以下是我采用的方法:

  1. 我将 .p12 文件导入 XCode 项目。
  2. 我将 .p12 文件的数据加载到一个NSData对象中。
  3. 我检查了安全框架文档,发现了一种名为SecKeyRawSign的方法,它可以从原始数据创建数字签名。
  4. 但是,这种方法的参数让我感到困惑。我应该SecKeyRef key向这个方法传递一个参数。但是,我所拥有的只是NSData对象(包含 .p12 文件中的数据)

如何SecKeyRef从 .p12 文件中获取类型变量?

或者基本上,如何在 Objective-C 中仅使用 .p12 文件对数据进行签名?

0 投票
1 回答
1961 浏览

ios - 共享钥匙串数据的两个应用程序在 iOS 模拟器中运行良好,但在设备中运行不正常

我正在尝试从具有相同标识符(相同配置文件)的另一个应用程序访问应用程序设置的钥匙串数据。我使用这个链接来实现这一点。

钥匙串数据的保存正常进行,我得到以下语句的 errSecSuccess (在模拟器和设备中)

到目前为止一切都很好,但是当我试图取回我的应用程序 A 保存在另一个应用程序 B 中的凭据时,它在模拟器和设备中的工作方式不同。

在 iOS 模拟器 6.1 中,以下语句的状态为“0”。

在任何 iOS 设备中,我的状态都是“-25300”。

我知道这些是安全框架中的错误代码:

我明白了,找不到该项目,但为什么在设备和模拟器中有所不同。

0 投票
0 回答
160 浏览

objective-c - 如果在 root 下运行代理/守护程序,SecPKCS12Import 功能将无法正常工作

我有 OSX 代理,它应该从放置在项目中的 p12 文件中读取数据。Security.framework 中有一个功能 SecPKCS12Import 可以做到这一点。问题是,如果我在安装到适当的文件夹后立即在 root 下运行代理,则以下函数不会返回证书的数据(&items 参数),而是返回状态错误“0”。

但是在 OSX 重新启动后,代理在 root 下启动并且工作正常。

如果在用户权限下运行代理,即使没有 OSX 重新启动它也能正常工作。

这是一个 plist 文件:

我使用 OSX 10.8

如何解决上述问题?

0 投票
1 回答
1781 浏览

ios - 带有 SSL 的 iOS NSURLConnection:接受过期的自签名证书

我有一个已发布的应用程序,该应用程序使用以下代码来使用应用程序附带的自签名证书来保护 SSL 连接。

不幸的是,我做了一个巨大的疏忽。SSL 证书过期。因此,当到期日期过去时,我假设该应用程序将停止正常工作!对于当前版本的应用程序,我无能为力 - 这很快就会停止工作。

我需要发布更新,为了避免将来发生这种情况,我想允许自签名证书,即使它已经过期。

即使证书已过期,如何修改上面的代码以信任证书?

0 投票
1 回答
2546 浏览

ios - 将 NSData 转换为 SecKeyRef

我已经生成了私钥和公钥,SecKeyGeneratePair 并且我已经将 a 转换SecKeyRefNSDatawith

size_t keySize = SecKeyGetBlockSize(publicKey);

NSData *keyData = [NSData dataWithBytes:publicKey length:keySize];

keyData但不幸的是,我无法重新转换SecKeyRef类型。

这是问题:如何重新转换 SecKeyRef 类型的 NSData?

这是代码!

0 投票
1 回答
574 浏览

cocoa - OSX 10.9 Mavericks 钥匙串 API 坏了?

自从升级到 OSX 10.9 Mavericks 后,我一直无法在 Security 框架中使用 Keychain API,因为每次调用 Keychain 函数时,它都会引发未知异常。我尝试了许多不同的 Keychain 包装器实现,它们在调用任何 Keychain 函数时都会抛出未知异常。我什至尝试过在他们的开发者网站上发布的示例代码苹果并遇到了同样的问题。这是一个已知问题吗?如果是,修复的状态如何?他们现在有任何使用钥匙串的方法吗?我在下面包含了来自苹果网站的示例代码。这是链接:https ://developer.apple.com/library/mac/documentation/Security/Conceptual/keychainServConcepts/03tasks/tasks.html#//apple_ref/doc/uid/TP30000897-CH205-TP9

0 投票
1 回答
443 浏览

ios - SecKeyGeneratePair 公共指数

使用生成 RSA 密钥对时是否可以更改默认公共指数 (e) SecKeyGeneratePair

我知道 65537 是一个很好的默认值,所以这只是一个关于它在技术上是否可行的问题。