키 체인 항목의 속성을 가져 오려고합니다. 이 코드는 사용 가능한 모든 속성을 찾아보고 태그와 내용을 인쇄합니다.키 체인 항목의 속성 가져 오기
the docs에 따르면 'cdat'과 같은 태그가 표시되어야하지만 색인처럼 보입니다 (즉, 첫 번째 태그는 0, 다음은 1). 이것은 어떤 속성이 내가 찾고있는 것인지 알 수 없기 때문에 꽤 쓸모 없게 만든다.
SecItemClass itemClass;
SecKeychainItemCopyAttributesAndData(itemRef, NULL, &itemClass, NULL, NULL, NULL);
SecKeychainRef keychainRef;
SecKeychainItemCopyKeychain(itemRef, &keychainRef);
SecKeychainAttributeInfo *attrInfo;
SecKeychainAttributeInfoForItemID(keychainRef, itemClass, &attrInfo);
SecKeychainAttributeList *attributes;
SecKeychainItemCopyAttributesAndData(itemRef, attrInfo, NULL, &attributes, 0, NULL);
for (int i = 0; i < attributes->count; i ++)
{
SecKeychainAttribute attr = attributes->attr[i];
NSLog(@"%08x %@", attr.tag, [NSData dataWithBytes:attr.data length:attr.length]);
}
SecKeychainFreeAttributeInfo(attrInfo);
SecKeychainItemFreeAttributesAndData(attributes, NULL);
CFRelease(itemRef);
CFRelease(keychainRef);
일반 항목 클래스를 처리하는 방법을 알려 주셔서 감사합니다. 'SecKeychainAttributeInfoForItemID'에 대한 문서는 많이 필요합니다. –