public ECPoint RandomizeToken(AnonymousTokenState state, GenerateTokenResponseModel tokenResponse, ECPoint K) { var Q = _ecParameters.Curve.DecodePoint(Convert.FromBase64String(tokenResponse.SignedPoint)); var c = new BigInteger(Convert.FromBase64String(tokenResponse.ProofChallenge)); var z = new BigInteger(Convert.FromBase64String(tokenResponse.ProofResponse)); return(_initiator.RandomiseToken(_ecParameters, K, state.P, Q, c, z, state.r)); }
public ECPoint RandomizeToken(AnonymousTokenState state, GenerateTokenResponseModel tokenResponse, ECPublicKeyParameters K) { var Q = _ecParameters.Curve.DecodePoint(Hex.Decode(tokenResponse.QAsHex)); var c = new BigInteger(Hex.Decode(tokenResponse.ProofCAsHex)); var z = new BigInteger(Hex.Decode(tokenResponse.ProofZAsHex)); return(_initiator.RandomiseToken(_ecParameters, K, state.P, Q, c, z, state.r)); }
private async Task <ECPoint> GetPublicKeyAsync(GenerateTokenResponseModel tokenResponse) { string kid = tokenResponse.Kid; var request = new HttpRequestMessage(HttpMethod.Get, OAuthConf.OAUTH2_ANONTOKEN_URL + "/atks"); var response = await new HttpClient().SendAsync(request); if (!response.IsSuccessStatusCode) { throw new WebServiceHttpException(response, OAuthConf.OAUTH2_ANONTOKEN_URL + "/atks"); } var anonTokenKeyStoreResponse = JsonConvert.DeserializeObject <AnonymousTokenKeyStoreResponseModel>(await response.Content.ReadAsStringAsync()); return(DecodePublicKey(anonTokenKeyStoreResponse.Keys.Single(k => k.Kid == kid))); }