Tag: 安全

iOS开发中的Android权限等价于什么?

我不知道如何search这个,所以即使是一堆关键字将是足够的,如果有人可以指向我的相关文件+1。 Android有约。 这里描述了 122个权限。 iOS中的等价物是什么? 开发者是否声明权限,还是可以访问一切? 如果所有的东西,我在哪里可以find这个“一切”所需要的?

保护移动连接 – 存储秘密和密钥

感谢您花时间阅读本文,我是一个年轻的开发人员,在Web项目和服务器端编码方面有一些专业经验,但我现在正在构build我的第一个移动应用程序,经过深入的研究,我没有能够澄清一些关于保护移动应用程序数据传输的问题。 以下是我认为我正确理解的内容:通过实施SSL证书(以及可选的SSL客户端lockingfunction),可以在很大程度上防止在开放networking上嗅探用户信息,以及模拟其他用户(Man-in-中等等)。 任何进一步的安全层旨在保护服务器,并防止有人获得您的交易结构和细节的见解。 进一步的安全层包括消息authentication(例如HMAC)在处理消息之前对消息进行authentication,以及encryption以“隐藏”消息的内容。 我想实施一个encryption然后HMAC进程来进一步确保交易,这是我的问题,关于这个过程: 你如何存储在客户端上的密钥/秘密? 我意识到这将取决于具体的应用程序,以及它希望达到的安全程度。 由于这个原因,我包括一些细节:没有关于用户存储或转移(SSN,银行等)的高度敏感的信息,但应用程序处理付款,因此如果有人开始搞乱服务器,可能会导致高成本和支付系统。 因此,我希望实现客户端和服务器之间的安全传输,而不是做一些不寻常或不相称的事情。 我已经阅读了很多关于这个主题的内容,并且从我可以收集的内容中了解到,不pipe从哪个方式获得密钥或秘密,在某些时候它将以明文方式呈现给encryption/散列逻辑,因此有人将能够进行debugging应用程序,断点,步骤和妥协的关键/秘密。 你怎么解决这个问题? 什么会被认为是“合适的”(硬编码?来自表结构或其他元素?其他?)。 这个问题真的是高层次和概念性的,所以我不认为这是我讨论的平台,但是无论如何,现在我编写iOS应用程序,而后端是.NET 非常感谢您的时间,任何帮助或见解将不胜感激。 如果我能澄清应用程序的任何方面,我会很乐意这样做。 最好的,米歇尔

SecCertificateCreateWithData总是返回null

我目前正在从以下职位工作 。 这里是代码: SecCertificateRef certs = NULL; SecPolicyRef policy = NULL; NSString *publicKeyString = @"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCeJ8N8fuGShAJnniDg4yuRrxrG61ZF2T24eXSEH87jCJmLbc+MV70AgP/LC8btzSU4FFP56lBmDcmW+Prupf5gO1RXhjPIlET73t5Ny1I3ze+xaShAA9qB0c9dNb26NxVd95wCHNmQhon9qBFmTVZb0CdgscxYcDuLOGskDnATrwIDAQAB"; NSData *publicKeyStringData = [[NSData alloc] initWithBase64EncodedString:publicKeyString options:0]; certs = SecCertificateCreateWithData(kCFAllocatorDefault, (__bridge CFDataRef) publicKeyStringData); 如果certsvariables为NULL,则基于post,数据格式不正确。 我检查了上面的公钥,它确实是base64,所以我不明白为什么certs将是NULL?

如何使用Graph API下载上传到私人Facebook群组的文件

Facebook现在允许我们将任意types的file upload到Facebook群组,这非常棒。 我正在编写一个单点login的iOS应用程序,它访问用户所属的私人组,然后下载这些文件。 我能够使用Graph API获取这些文件的URL,如下所示: http://www.facebook.com/download/444555666777888/foo.bar (如果我把这个URLinput浏览器,只要我从该浏览器login到Facebook,浏览器就下载它,但否则会失败 – Facebook有很好的安全function)。 我不能将这个URL传递给graphicsAPI,因为它不是graphics的一部分(总是以https://graph.facebook.com/开头),但是由于缺乏访问,我无法使用常规的NSURLConnection来下载它令牌。 有没有适当的方法来下载这些文件? 或者,使用NSURLConnection下载这样的文件时是否需要设置任何特定的HTTP头?

在Objective-C中使用安全框架以编程方式创buildx509证书

我正在努力寻找一种方法来使用安全框架在Objective-C中以编程方式(自签名)创buildx509证书。 我没有为我的项目使用OpenSSL。 所以我不能考虑使用OpenSSL。 以下是我已经创build的几件事情: 创build了RSA密钥对。 使用- (void)generateKeyPairPlease函数每苹果的文档 使用ios-csr( https://github.com/ateska/ios-csr )创buildCSR。 看下面的代码 SCCSR *sccsr = [[SCCSR alloc]init]; sccsr.commonName = @"some name"; sccsr.organizationName = @"some organisation"; NSData *certificateRequest = [sccsr build:pPublicKey privateKey:privateKey]; NSString *str = [certificateRequest base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength]; NSString *strCertificateRequest = @"—–BEGIN CERTIFICATE REQUEST—–\n"; strCertificateRequest = [strCertificateRequest stringByAppendingString:str]; strCertificateRequest = [strCertificateRequest stringByAppendingString:@"\n—–END CERTIFICATE REQUEST—–\n"]; 现在我需要创buildX509证书(自签名)。 我使用下面的代码。 // Convert […]

你能确定是否在iOS上连接的networking上启用了Wifi安全function吗?

在我的iOS应用程序中,我希望能够确定设备当前连接的Wifinetworking是否具有某种启用的WiFi安全(wep,wpa等)。 CaptiveNetwork提供连接的networking的SSID,但不是其他的。 是否有一个批准的方式来确定当前连接的Wifinetworking上是否启用了WEP / WPA / etc?

如何从目标C中的文件创build私钥?

我已经创build了这样的公钥: NSString *pkFilePath = [[NSBundle mainBundle] pathForResource:@"public_key" ofType:@"der"]; NSData *myCertData = [NSData dataWithContentsOfFile:pkFilePath]; SecCertificateRef cert = SecCertificateCreateWithData (kCFAllocatorDefault, (CFDataRef)myCertData); CFArrayRef certs = CFArrayCreate(kCFAllocatorDefault, (const void **) &cert, 1, NULL); SecTrustRef trust; SecPolicyRef myPolicy = SecPolicyCreateBasicX509(); SecTrustCreateWithCertificates(certs, myPolicy, &trust); SecTrustResultType trustResult; SecTrustEvaluate(trust, &trustResult); SecKeyRef pub_key_leaf = SecTrustCopyPublicKey(trust); NSLog(@"%@",pub_key_leaf); 但是如何从文件创build私钥? 这里有一些相关的代码来创build一个私钥,但我没有得到如何使用我的私钥文件创build私钥。 https://developer.apple.com/library/mac/#documentation/security/conceptual/CertKeyTrustProgGuide/iPhone_Tasks/iPhone_Tasks.html#//apple_ref/doc/uid/TP40001358-CH208-SW10

loginOS X,在iOS和OSStatus -9809上进行validation

我正在使用苹果的安全框架 。 我能够签署,然后成功validation所有在OS X上,但是当我尝试在iOS上使用SecKeyRawVerify它失败-9809错误。 我已经玩过各种PKCS填充选项和许多其他属性,但我只是无法得到这个来validation正确。 请注意,下面的代码可能已经泄漏到各地,只是试图让这个function正常第一。 OS X签署代码: NSData* signData(NSData* plainData, SecKeyRef privateKey) { CFErrorRef error; /* Create the transform objects */ SecTransformRef signer = SecSignTransformCreate(privateKey, &error); if (error) { CFShow(error); exit(-1); } /* Explicitly set padding type (necessary?) */ SecTransformSetAttribute(signer, kSecPaddingKey, kSecPaddingPKCS1Key, &error); if (error) { CFShow(error); exit(-1); } /* Specify digest type */ […]

APNS令牌是否应该encryption?

所以,我想知道,因为用户发送他们的APNS令牌到APNS提供者为了接受推送通知,令牌是否应该被encryption? SSL是必需的吗? 从我所看到的是,令牌中没有真正的敏感数据。 如果有人真正设法从用户​​那里嗅出令牌,他仍然需要获得推送证书。 如果他设法做到这一点(他不会;-)),他所能做的就是发送垃圾邮件通知给这个特定的用户。 那是对的吗? 还是我错过了什么? 另外,我认为基于APNS令牌无法识别设备(或者更重要的是它的用户)? 所以,我想要保证,如果有人嗅探来自我的一个客户端的推送通知注册(注册包含APNS令牌和用户感兴趣的信息,并且连接未被encryption,所以一切都以纯文本forms可读)。 .. 他仍然必须获得我的推送证书才能以任何方式打扰我的客户 他知道有人对此信息感兴趣,但无法确定我的客户是谁 我可以放心吗? 提前致谢!

Swift中的SHA256 – 导入框架问题

我试图在我的一个函数在Swift中使用CC_SHA256_DIGEST_LENGTH,它会抛出一个错误,因为它找不到那个符号。 我已经尝试了一切,在Bridge-header中导入CommonCrypto并尝试.map解决scheme..没有任何工作。 我如何在Swift中使用CC_SHA256_DIGEST_LENGTH? 所有的解决scheme似乎都停止了工作。 谢谢!