Merge pull request #2827 from PhilippC/2816-bug-yubikey-not-working-in-112
fix reading of cryptostream. Fixes Yubikey/KeeChallenge regression in 1.12-r1 .. 1.12-r3
This commit is contained in:
		| @@ -146,7 +146,20 @@ namespace KeeChallenge | |||||||
|             { |             { | ||||||
|                 using (CryptoStream csDecrypt = (CryptoStream)aes.DecryptStream(msDecrypt, key, inf.IV)) |                 using (CryptoStream csDecrypt = (CryptoStream)aes.DecryptStream(msDecrypt, key, inf.IV)) | ||||||
|                 { |                 { | ||||||
|                     csDecrypt.Read(secret, 0, secret.Length); |                     //read the secret from the stream | ||||||
|  |                     int totalBytesRead = 0; | ||||||
|  |                     byte[] buffer = new byte[secret.Length]; | ||||||
|  |                     var secretOutputStream = new MemoryStream(secret); | ||||||
|  |  | ||||||
|  |                     int bytesRead = csDecrypt.Read(buffer, totalBytesRead, secret.Length - totalBytesRead); | ||||||
|  |                     while (bytesRead > 0 && totalBytesRead < secret.Length) | ||||||
|  |                     { | ||||||
|  |                         secretOutputStream.Write(buffer, 0, bytesRead); | ||||||
|  |                         totalBytesRead += bytesRead; | ||||||
|  |                         bytesRead = csDecrypt.Read(buffer, totalBytesRead, secret.Length - totalBytesRead); | ||||||
|  |                     } | ||||||
|  |                     secretOutputStream.Close(); | ||||||
|  |  | ||||||
|                     csDecrypt.Close(); |                     csDecrypt.Close(); | ||||||
|                 } |                 } | ||||||
|                 msDecrypt.Close(); |                 msDecrypt.Close(); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 PhilippC
					PhilippC