Security constants

mdbechmdbech DKMember

Hi!

I'm currently working on a XF app, where we on iOS would like to utilize the Secure Enclave if available on the device. As fare as I have been able to determine so fare this is not possible through the current iOS-library as the constants needed to manipulate the underlying operation have been made internal to the iOS-library, see

github.com/xamarin/xamarin-macios/blob/cad99240e7d4ad99bc9eb1068990945323c90922/src/security.cs#L340-L512

Furthermore have been able to determine that the constants kSecPrivateKeyAttrs and kSecPublicKeyAttrs haven't even been mapped into the iOS-library cf. this bugreport:

bugzilla.xamarin.com/show_bug.cgi?id=34135

and that in the tests of the library the following line !missing-field! kSecPrivateKeyAttrs not bound states that field is not covered by the library, see tests/xtro-sharpie/common-Security.ignore:2 in the xamarin-macios repository.

My question is therefore as follows, why have platform constants which were originally public made internal? I guess this question is primarily aimed at the developers of iOS-library.

My personal opinion is that a library should provide adequate abstraction for general use cases, but not restrict the access to the underlying basis primitives, which seems to be the case here.

//mdbech

PS. In my efforts to understand where changes to the xamarin-macios library that would be needed I tried checking out the repo and building it. During this I encountered the error described at

gitter.im/xamarin/xamarin-macios/archives/2016/10/04

namely that the PATH-variable may not contain spaces. A fix where the make-script can handle spaces in the PATH-variable would be appreciated.

PPS. Links wouldn't work, because "new users" aren't allowed to link - come on... So to follow the links you manually have to copy and paste the links.

Tagged:
Sign In or Register to comment.