This diff introduces adding the `sign_string_with_private_key` function to crypto tools. This function gets the string to be signed and the private key and returns a sha256 signature. We will use this function in the Tunnelbroker client's new session creation because we need to [[ https://www.notion.so/commapp/Tunnelbroker-028bdd578e4c487fb570dbb862952ec6#9758ddb84edd4a9f86ad07a9d8a4b39e | provide the signed string to the Tunnelbroker ]] to prove the ownership of the keys.
Linear task: [[ https://linear.app/comm/issue/ENG-1333/implement-native-client-for-the-tunnelbroker-api-using-rust | ENG-1333 ]]