Example #1
0
        public List <UProveKeyAndTokenComposite> generateTokens(ThirdIssuanceMessageComposite thirdMessage, string sessionID)
        {
            /*
             *  token issuance - generate tokens.
             */

            cOut.write("Issuing U-Prove tokens - generate tokens, prover side");
            VerifySessionId(sessionID);

            try
            {
                // Convert serializable ThirdIssuanceMessageComposite members to ThirdIssuanceMessage.
                ThirdIssuanceMessage tm = ConvertUtils.convertThirdIssuanceMessageComposite(thirdMessage);

                // Retrieve correct Prover instance from proversDictionary for the given sessionKey.
                if (sessionDB.ContainsKey(sessionID))
                {
                    Prover prover = sessionDB[sessionID].prover;
                    // generate the tokens.
                    UProveKeyAndToken[] upkt = prover.GenerateTokens(tm);

                    // Serialize them.
                    cOut.write("Generating tokens...");

                    List <UProveKeyAndTokenComposite> tokens = new List <UProveKeyAndTokenComposite>();

                    foreach (UProveKeyAndToken t in upkt)
                    {
                        byte[] bigInt = t.PrivateKey.ToByteArray();
                        UProveKeyAndTokenComposite keyAndTokenComposite = new UProveKeyAndTokenComposite();
                        keyAndTokenComposite.PrivateKey = bigInt;
                        keyAndTokenComposite.Token      = ConvertUtils.convertUProveToken(t.Token);
                        tokens.Add(keyAndTokenComposite);
                    }

                    return(tokens);
                }
            }
            catch (Exception e)
            {
                cOut.write(e.ToString());
                DebugUtils.DebugPrint(e.StackTrace.ToString());
            }

            return(null);
        }
    public List<UProveKeyAndTokenComposite> generateTokens(ThirdIssuanceMessageComposite thirdMessage, string sessionID)
    {
      /*
             *  token issuance - generate tokens.
            */

      cOut.write("Issuing U-Prove tokens - generate tokens, prover side");
      VerifySessionId(sessionID);

      try
      {
        // Convert serializable ThirdIssuanceMessageComposite members to ThirdIssuanceMessage.
        ThirdIssuanceMessage tm = ConvertUtils.convertThirdIssuanceMessageComposite(thirdMessage);

        // Retrieve correct Prover instance from proversDictionary for the given sessionKey.
        if (sessionDB.ContainsKey(sessionID))
        {
          Prover prover = sessionDB[sessionID].prover;
          // generate the tokens.
          UProveKeyAndToken[] upkt = prover.GenerateTokens(tm);

          // Serialize them.
          cOut.write("Generating tokens...");

          List<UProveKeyAndTokenComposite> tokens = new List<UProveKeyAndTokenComposite>();

          foreach (UProveKeyAndToken t in upkt)
          {
            byte[] bigInt = t.PrivateKey.ToByteArray();
            UProveKeyAndTokenComposite keyAndTokenComposite = new UProveKeyAndTokenComposite();
            keyAndTokenComposite.PrivateKey = bigInt;
            keyAndTokenComposite.Token = ConvertUtils.convertUProveToken(t.Token);
            tokens.Add(keyAndTokenComposite);
          }

          return tokens;
        }

      }
      catch (Exception e)
      {
        cOut.write(e.ToString());
        DebugUtils.DebugPrint(e.StackTrace.ToString());
      }

      return null;
    }