• [翻译] SSKeychain


    SSKeychain

    https://github.com/soffes/sskeychain

    SSKeychain is a simple wrapper for accessing accounts, getting passwords, setting passwords, and deleting passwords using the system Keychain on Mac OS X and iOS.

    SSKeychain是一个对keychain简易封装的开源库,用以存储用户信息,密码信息等.

    Adding to Your Project

    Simply add the following to your Podfile if you're using CocoaPods:

    你可以用CocoaPods安装,在Podfile中写入下面一句话:

    pod 'SSKeychain'

    or Cartfile if you're using Carthage:

    如果你是在使用Carthage,写入下面一句话:

    github "soffes/SSKeychain"
    

    To manually add to your project:

    或者手动添加到项目当中:

    1. Add Security.framework to your target 添加Security.framework框架
    2. Add SSKeychain.hSSKeychain.mSSKeychainQuery.h, and SSKeychainQuery.m to your project. SSKeychain.hSSKeychain.mSSKeychainQuery.h, 与 SSKeychainQuery.m添加到你的项目当中.

    SSKeychain requires ARC.

    SSKeychain需要开启ARC.

    Note: Currently SSKeychain does not support Mac OS 10.6.

    注意:当前的SSKeychain并不支持Mac OS 10.6

    Working with the Keychain

    SSKeychain has the following class methods for working with the system keychain:

    SSKeychain有以下的一些方法供你使用:

    + (NSArray *)allAccounts;
    + (NSArray *)accountsForService:(NSString *)serviceName;
    + (NSString *)passwordForService:(NSString *)serviceName account:(NSString *)account;
    + (BOOL)deletePasswordForService:(NSString *)serviceName account:(NSString *)account;
    + (BOOL)setPassword:(NSString *)password forService:(NSString *)serviceName account:(NSString *)account;

    Easy as that. (See SSKeychain.h and SSKeychainQuery.h for all of the methods.)

    是不是很简单.(你可以在 SSKeychain.h 与 SSKeychainQuery.h 中看到所有相关方法)

    Documentation

    Read the online documentation.

    你可以阅读在线文档

    Debugging

    If your saving to the keychain fails, use the NSError object to handle it. You can invoke [error code]to get the numeric error code. A few values are defined in SSKeychain.h, and the rest in SecBase.h.

    如果你存储keychain操作失败,请使用NSError来捕获他.

    NSError *error = nil;
    SSKeychainQuery *query = [[SSKeychainQuery alloc] init];
    query.service = @"MyService";
    query.account = @"soffes";
    [query fetch:&error];
    
    if ([error code] == errSecItemNotFound) {
        NSLog(@"Password not found");
    } else if (error != nil) {
        NSLog(@"Some other error occurred: %@", [error localizedDescription]);
    }

    Obviously, you should do something more sophisticated. You can just call [error localizedDescription] if all you need is the error message.

    Disclaimer

    Working with the keychain is pretty sucky. You should really check for errors and failures. This library doesn't make it any more stable, it just wraps up all of the annoying C APIs.

    Thanks

    This was originally inspired by EMKeychain and SDKeychain (both of which are now gone). Thanks to the authors. SSKeychain has since switched to a simpler implementation that was abstracted fromSSToolkit.

    A huge thanks to Caleb Davenport for leading the way on version 1.0 of SSKeychain.

  • 相关阅读:
    i春秋——春秋争霸write up
    2017-2018-2 《网络对抗技术》20155322 Exp6 信息搜集与漏洞扫描
    2017-2018-2 《网络对抗技术》 20155322 Exp 5 MSF基础应用
    OpenCV学习系列(一) Mac下OpenCV + xcode人脸检测实现
    2017-2018-2 《网络对抗技术》 20155322 Exp4 恶意代码分析
    MacOS下netstat和lsof使用的若干问题
    OpenCV学习系列(零) Mac下OpenCV + xcode环境搭建
    2017-2018-2 《网络对抗技术》 20155322 Exp3 免杀原理与实践
    2017-2018-2 《网络对抗技术》 20155322 第五周 Exp2 后门原理与实践
    信息安全铁人三项赛--资质赛writeup
  • 原文地址:https://www.cnblogs.com/YouXianMing/p/4777270.html
Copyright © 2020-2023  润新知