При сохранении профиля VPN на NEVPNManager происходит сбой из-за безопасности SecKeychain - PullRequest
3 голосов
/ 26 апреля 2020

При попытке сохранить мой профиль VPN у меня внезапно появляется sh. Я считаю, что это происходит из-за проблем с разрешениями при доступе к цепочке для ключей. В отличие от iOS, где я могу удалить все приложение на симуляторе и полностью сбросить его, на ma c мне кажется, что я не могу этого сделать.

Я никогда не получаю то начальное всплывающее окно, где он спрашивает меня, было ли у него разрешение на установку профиля. Есть ли способ полностью сбросить это?

var vpnManager : NEVPNManager
self.vpnManager.loadFromPreferences(completionHandler: vpnLoadHandler)

func vpnLoadHandler(error: (Error?)) -> Void {
  self.vpnManager.saveToPreferences(completionHandler: vpnSaveHandler). // Crash happens here
}

Исключение:

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000004
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Segmentation fault: 11
Termination Reason:    Namespace SIGNAL, Code 0xb
Terminating Process:   exc handler [8290]

VM Regions Near 0x4:
--> 
    __TEXT                 0000000100791000-00000001009d0000 [ 2300K] r-x/r-x SM=COW  /Users/USER/Library/Developer/Xcode/DerivedData/myapp-dspbcxdpmpqntaeullwdrgftmcyb/Build/Products/Debug/myapp-mac.app/Contents/MacOS/myapp-mac

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   com.apple.security              0x00007fff3b000dd5 Security::NameValueDictionary::NameValueDictionary(Security::CssmData const&) + 63
1   com.apple.security              0x00007fff3b1e57eb SecKeychainItemCopyFromPersistentReference + 361
2   com.apple.NetworkExtension      0x00007fff352735cc -[NEKeychainItem copyKeychainItem:copyPrivateKey:] + 484
3   com.apple.NetworkExtension      0x00007fff35274276 -[NEKeychainItem copyDataFromKeychainItem:outPassword:outIdentifier:outPersistentReference:] + 89
4   com.apple.NetworkExtension      0x00007fff3527454d -[NEKeychainItem copyPassword] + 119
5   com.apple.NetworkExtension      0x00007fff352ebe0b -[NEVPNManager additionalSetup] + 929
6   com.apple.NetworkExtension      0x00007fff352ec2b6 -[NEVPNManager saveToPreferencesWithCompletionHandler:] + 288
...