IOSCError IOSC_DeleteObject(u32 key_handle) IOS_Ioctl(FD, 0x01, in_buf, 0x10, out_buf, 4) Ĭreates a new crypto object and returns a handle for it. IOSCError IOSC_CreateObject(u32* key_handle, IOSCObjectType type, IOSCObjectSubType subtype) This is done using different message queues, each one mapping a subset of commands in a jump table:Ġx0B: Mapped by the 2nd message queue | Mapped by the 4th message queue (async version)Ġx0F: Mapped by the 2nd message queue | Mapped by the 4th message queue (async version) Requests are issued via ioctl()/ioctlv() commands which are then mapped to internal functions inside the IOS-CRYPTO process. It can only be opened by the IOSU and it also provides a stripped down library (IOSC) that is implemented on most IOSU modules under the name 'crypto_ios_interface'. dev/crypto is the IOSU device node for the cryptographic engine.