I am currently working on a soft phone working on windows, the goal is to be able to make a call from a standard phone number, using a sim card, through VoLTE (Voice over LTE).
Currently I am able to contact the HSS/HLR and receive a 401 Unauthorized with a nonce (According to he standard RFC3310). This nonce should be given as a input a AKAv1-MD5 algorithm, which will return a new value that can be send to the HSS/HLR and the authorization is done, this can only be done on a sim card. It cannot be done on a computer due to another input to the algorithm which is highly confidential and only known by a sim card.
Therefore, I would like to know how I can interface with a sim card through a sim card reader, send the nonce to the card, and let it calculate the response and return it.
As my project is written in C# it is preferable if some headers for C# exists.
Since I am using VoLTE the sim card must be a USIM, hence the interface must be to a USIM.
I can, if needed get the Ki key from the sim card, because I working together with a telephone operator.