Как включить совместное использование цепочки для ключей с расширением Siri Kit? - PullRequest
0 голосов
/ 04 июля 2018

Я хочу включить обмен ключами между моим приложением и расширением sirikit. Я добавил группу доступа цепочки для ключей с той же самой строкой для приложения и sirikit. Также добавлена ​​группа приложений для обеих целей с одинаковой строкой. Я использую Locksmith в качестве оболочки для цепочки для ключей, которая также использует свойство kSecAttrAccessGroup со значением teamID + идентификатор группы доступа цепочки для ключей. Но я получаю следующую ошибку при попытке запустить расширение siri:

CredStore - performQuery - Error copying matching creds.  Error=-25300, query={class = inet;
        "m_Limit" = "m_LimitAll";
        ptcl = htps;
        "r_Attributes" = 1;
        srvr = "appurl.com";
        sync = syna;
    }

Любое руководство приветствуется. Спасибо

1 Ответ

0 голосов
/ 05 июля 2018

Причина, по которой это не сработало, потому что TeamID или AppIdentifierPrefix отличались в профиле обеспечения, используемом приложением и расширением siri. Когда мы используем группу доступа цепочки для ключей, если вы проверяете права доступа, группе доступа цепочки для ключей предшествует AppIdentifierPrefix, который является TeamID или AppID, который присоединен к вашей учетной записи:

<key>keychain-access-groups</key>
<array>
    <string>$(AppIdentifierPrefix)common_keychain_access_group_string</string>
</array>

И этот AppIdentifierPrefix должен быть одинаковым как для приложения, так и для sirikit. Спасибо

...