ssh/terminal: handle non-ASCII characters when reading passwords

ReadPassword uses Windows ReadFile to read from console handle.
But ReadFile does not split input into UTF-8 characters, so ReadFile
only works when input is ASCII. Use os.File instead of Windows
ReadFile, because os.File reads console and parses it into UTF-8.

Fixes golang/go#22828

Change-Id: Ifeed3e8048b51f46706c28d4154a3e4b10111a3e
Reviewed-on: https://go-review.googlesource.com/79335
Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
Run-TryBot: Alex Brainman <alex.brainman@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
1 file changed
tree: 8e9b1dfaac5b448aeb594108a330fd2d825a0c50
  1. acme/
  2. bcrypt/
  3. blake2b/
  4. blake2s/
  5. blowfish/
  6. bn256/
  7. cast5/
  8. chacha20poly1305/
  9. cryptobyte/
  10. curve25519/
  11. ed25519/
  12. hkdf/
  13. md4/
  14. nacl/
  15. ocsp/
  16. openpgp/
  17. otr/
  18. pbkdf2/
  19. pkcs12/
  20. poly1305/
  21. ripemd160/
  22. salsa20/
  23. scrypt/
  24. sha3/
  25. ssh/
  26. tea/
  27. twofish/
  28. xtea/
  29. xts/
  30. .gitattributes
  31. .gitignore
  32. AUTHORS
  33. codereview.cfg
  34. CONTRIBUTING.md
  35. CONTRIBUTORS
  36. LICENSE
  37. PATENTS
  38. README.md
README.md

Go Cryptography

This repository holds supplementary Go cryptography libraries.

Download/Install

The easiest way to install is to run go get -u golang.org/x/crypto/.... You can also manually git clone the repository to $GOPATH/src/golang.org/x/crypto.

Report Issues / Send Patches

This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://golang.org/doc/contribute.html.

The main issue tracker for the crypto repository is located at https://github.com/golang/go/issues. Prefix your issue with “x/crypto:” in the subject line, so it is easy to find.

Note that contributions to the cryptography package receive additional scrutiny due to their sensitive nature. Patches may take longer than normal to receive feedback.