示例#1
0
    // Sends the encrypted key to the didery server, returns a string with the did
    public string postEncryptedKey(byte[] encryptedKey)
    {
        string[] dideryData;
        dideryData = DideryInterface.makePost(encryptedKey);

        string did       = dideryData[0];
        string signature = dideryData[1];
        string postBody  = dideryData[2];

        Debug.Log("Did: " + DideryDemoManager.DemoDid);

        postRequest(url, postBody, signature);

        return(did);
    }
示例#2
0
    // Sends the encrypted key to the didery server, returns a string with the did
    public string postEncryptedKey(byte[] encryptedKey, byte[] seed, string url = null)
    {
        if (url == null)
        {
            url = urlAddress;
        }
        string[] dideryData;
        dideryData = DideryInterface.makePost(encryptedKey, seed);

        string did       = dideryData[0];
        string signature = dideryData[1];
        string postBody  = dideryData[2];

        Debug.Log("Did: " + DideryDemoManager.DemoDid);

        postRequest(url, postBody, signature);

        return(did);
    }
示例#3
0
    // Takes a key as input, encrypts the key, sends it to didery in a POST request
    public void demoEncryptKey(string inputKey, string url = null)
    {
        inputKey = VerifyKeys.removeHexPrefix(inputKey);
        if (url == null)
        {
            url = urlAddress;
        }
        int size = 32;

        string[] dideryData;

        byte[] otp = new byte[32];
        //byte[] seed = new byte[16]; // used for 128 bit seed
        byte[] seed         = new byte[14]; // used for 108 bit seed
        byte[] encryptedKey = new byte[34];
        byte[] key          = Encoding.ASCII.GetBytes(inputKey);

        seed = OTPworker.randomSeedGenerator(seed);

        // Used for demo puroses - required if trying to use 108 bit seed
        if (seed[13] > 7)
        {
            seed[13] = (byte)((int)seed[13] % 7);
        }

        OTPworker.OTPGenerator(otp, size, seed);

        encryptedKey = OTPworker.OTPxor(key, otp);

        dideryData = DideryInterface.makePost(encryptedKey, seed);

        string did       = dideryData[0];
        string signature = dideryData[1];
        string postBody  = dideryData[2];

        //Debug.Log("Did: " + did + " signature: " + " postBody: " + postBody);
        SeedManager.InputSeed     = OTPworker.ByteArrayToHex(seed);
        DideryDemoManager.DemoDid = did;
        Debug.Log("Did: " + DideryDemoManager.DemoDid);

        postRequest(url, postBody, signature);
    }
示例#4
0
    // Test making a didery blob post for a post request
    public int[] testMakePost()
    {
        int[] passed = new int[2];
        passed[1] = 1;
        byte[] key  = new byte[16];
        byte[] seed = new byte[16];

        for (int i = 0; i < key.Length; i++)
        {
            key[i] = (byte)i;
        }
        for (int i = 0; i < seed.Length; i++)
        {
            seed[i] = (byte)i;
        }

        string[] post = DideryInterface.makePost(key, seed);

        // If this has worked without getting an error then it's passed the test
        passed[0] = 1;
        return(passed);
    }
示例#5
0
    // Takes a key as input, encrypts the key, sends it to didery in a POST request
    public void demoEncryptKey(string inputKey)
    {
        int size = 32;

        string[] dideryData;

        byte[] otp = new byte[32];
        //byte[] seed = new byte[16];
        byte[] seed         = new byte[14];
        byte[] encryptedKey = new byte[34];
        byte[] key          = Encoding.ASCII.GetBytes(inputKey);

        seed = OTPworker.randomSeedGenerator(seed);
        seed = checkSeed(seed);

        // Used for demo puroses
        if (seed[13] > 7)
        {
            seed[13] = (byte)((int)seed[13] % 7);
        }
        //seed = HexStringToByteArray("4040C1A90886218984850151AC123249");

        OTPworker.OTPGenerator(otp, size, seed);

        encryptedKey = OTPworker.OTPxor(key, otp);

        dideryData = DideryInterface.makePost(encryptedKey);

        string did       = dideryData[0];
        string signature = dideryData[1];
        string postBody  = dideryData[2];

        //Debug.Log("Did: " + did + " signature: " + " postBody: " + postBody);
        SeedManager.InputSeed     = OTPworker.ByteArrayToHex(seed);
        DideryDemoManager.DemoDid = did;
        Debug.Log("Did: " + DideryDemoManager.DemoDid);

        postRequest(url, postBody, signature);
    }
示例#6
0
    // Test making a did for use with post requests to didery
    public int[] testMakeDid()
    {
        int[] passed = new int[2];
        passed[1] = 1;

        byte[] key = new byte[16];
        for (int i = 0; i < key.Length; i++)
        {
            key[i] = (byte)i;
        }

        string did = DideryInterface.makeDid(key);

        if (did == "did:dad:AAECAwQFBgcICQoLDA0ODw==")
        {
            passed[0] = 1;
        }
        else
        {
            Debug.Log("testMakeDid() failed.");
        }

        return(passed);
    }
示例#7
0
 // Send GET request to didery
 public void getRequest(string uri)
 {
     StartCoroutine(DideryInterface.GetRequest(uri));
 }
示例#8
0
 // Send POST request to didery
 public void postRequest(string url, string postBody, string signature)
 {
     StartCoroutine(DideryInterface.PostRequest(url, postBody, signature));
 }