Exemple #1
0
        public T104 GetSymmetricKeyAndSignature()
        {
            Request request = new Request(appConfig);

            request.GlobalInfo.InterfaceCode = "T104";
            T104 response = (T104)SendRequest(request);

            byte[] privateKey = Convert.FromBase64String(File.ReadAllText(appConfig.PrivateKey));
            using (CngKey signingKey = CngKey.Import(privateKey, CngKeyBlobFormat.Pkcs8PrivateBlob))
                using (RSACng rsaCng = new RSACng(signingKey))
                {
                    byte[] decryptedAESKey = rsaCng.Decrypt(Convert.FromBase64String(response.PasswordAes), RSAEncryptionPadding.Pkcs1);
                    string AESKey          = Encoding.UTF8.GetString(decryptedAESKey);
                    File.WriteAllText(appConfig.SessionAESKey, AESKey);
                }
            return(response);
        }
Exemple #2
0
 static bool Do104(T104 t) {
   Nullable<T104> n = new Nullable<T104>(t);
   return Ensure(n.HasValue && n.Value == t);
 }