рдЖрдЬрдХрд▓, HTTPS рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рднреА рд╕рд╛рдЗрдЯреЛрдВ рдФрд░ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реЛрддрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╡рд┐рдХрд╛рд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╕рд╣реА рдкрд░реАрдХреНрд╖рдг рдХреА рд╕рдорд╕реНрдпрд╛ рд╣реИред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдЪрд▓реЛ рдПрдирдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдЕрдиреНрдп рд╕реАрдП рд╕реНрдерд╛рдиреАрдпрд╣реЛрд╕реНрдЯ рдХреЗ рд▓рд┐рдП рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдЬрд╛рд░реА рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
рдкрд░рдВрдкрд░рд╛рдЧрдд рд░реВрдк рд╕реЗ, рджреЛ рд╕рдорд╛рдзрд╛рди рд╣реИрдВред
- рдУрдкрдирд╕рд┐рдПрд▓ рдпрд╛ рдЕрдиреНрдп рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрддреНрдкрдиреНрди рд╕реНрд╡-рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдорд╛рдг рдкрддреНрд░ред рдпрд╣рд╛рдВ рд╕реНрдерд╛рдиреАрдп рдХреБрдВрдЬреА рдХреЗ рд▓рд┐рдП рдирд┐рдЬреА рдХреБрдВрдЬреА рдФрд░ рд╕реНрд╡-рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдмрдирд╛рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ:
openssl req -x509 -out localhost.crt -keyout localhost.key \ -newkey rsa:2048 -nodes -sha256 \ -subj '/CN=localhost' -extensions EXT -config <( \ printf "[dn]\nCN=localhost\n[req]\ndistinguished_name = dn\n[EXT]\nsubjectAltName=DNS:localhost\nkeyUsage=digitalSignature\nextendedKeyUsage=serverAuth")
рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЗ рдХрд╛рд░рдг рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╕рдВрдмрдВрдзреА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╕реНрдЯреЛрд░ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рдорд╛рдгрди рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдирд╣реАрдВ рд╣реИред - рдЪрд╛рд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рдбреЛрдореЗрди рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд░рдирд╛ рд╣реИ рдЬреИрд╕реЗ localhost.example.com, рдЬреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ 127.0.0.1 (/ / рдЖрджрд┐ / рд╣реЛрд╕реНрдЯ рдореЗрдВ) рдХреЛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕ рдбреЛрдореЗрди рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣ рдХреА рдзреЛрдЦрд╛рдзрдбрд╝реА рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рд╕рдВрджреЗрд╣рд╛рд╕реНрдкрдж рд╣реИ - рдХрдо рд╕реЗ рдХрдо рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреА рдЕрддреНрдпрдзрд┐рдХ рдЕрдиреБрд╢рдВрд╕рд╛ рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдкреНрд░рддрд┐рдХреВрд▓ рдЖрдИрдкреА рдкрддреЗ рдХреЗ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд╕рд╛рде рд╕рдВрднрд╛рд╡рд┐рдд рдПрдордЖрдИрдЯреАрдПрдо рд╣рдорд▓реЗ рдХреЗ рдХрд╛рд░рдгред рдпрджрд┐ рд╣рдо рдЦреБрдж рдХреЛ рдХреЗрд╡рд▓ рд╕реНрдерд╛рдиреАрдп рдорд╢реАрди рддрдХ рд╕реАрдорд┐рдд рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдПрдХ рдЙрдкрдпреБрдХреНрдд рд╡рд┐рдХрд▓реНрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕рдореЗрдВ рдХреБрдЫ рд╕рдВрджреЗрд╣ рднреА рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЛ рдирд┐рд░рд╕реНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдПрдХ рд╕рд░рд▓ рдФрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рд╡рд┐рдХрд▓реНрдк рд╣реИ (рдиреАрдЪреЗ рджреЗрдЦреЗрдВ)ред
рдпрд╣
mccert рд╣реИ ,
рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреНрд░рдорд╛рдгрди рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╣реИред рдпрд╣ рд╕рднреА рдУрдПрд╕ рдХреЗ рддрд╣рдд рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрд┐рд╕реА рднреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
рд▓рд┐рдирдХреНрд╕ рд╕рдВрд╕реНрдХрд░рдг
рдкрд╣рд▓реЗ рдЖрдкрдХреЛ
certutil
рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
sudo apt install libnss3-tools -- sudo yum install nss-tools -- sudo pacman -S nss
рддреЛ
brew install mkcert
рдпрд╛ рд╕реНрд░реЛрдд рд╕реЗ рд╕рдВрдХрд▓рди:
go get -u github.com/FiloSottile/mkcert $(go env GOPATH)/bin/mkcert
MacOS рд╕рдВрд╕реНрдХрд░рдг
brew install mkcert brew install nss
рд╡рд┐рдВрдбреЛрдЬ рд╕рдВрд╕реНрдХрд░рдг
рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рддрд╣рдд, рдЖрдк
рдПрдХрддреНрд░рд┐рдд рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдЪреЙрдХрд▓реЗрдЯрд░реА рдпрд╛ рд╕реНрдХреВрдкред
choco install mkcert -- scoop install mkcert
рд╕реНрдерд╛рдиреАрдп рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рд╛рдзрд┐рдХрд╛рд░реА рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ mkcert рдФрд░ Opensl рдФрд░ рд╕реНрд╡-рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЗ рдмреАрдЪ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдореВрд▓рднреВрдд рдЕрдВрддрд░ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рдЖрдк рдРрд╕рд╛ CA рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдХреЛрдИ рд╡рд┐рд╢реНрд╡рд╛рд╕ рддреНрд░реБрдЯреА рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред
рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЖрдк рдЕрдиреНрдп рд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕реАрдП рдХреЛ рд╢реБрд░реВ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рдЧреИрд░-рддреБрдЪреНрдЫ рдЬреНрдЮрд╛рди рдФрд░ рдХреМрд╢рд▓ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЕрддрд┐рд░рд┐рдХреНрдд рдХреБрдВрдЬреА рдФрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ, рд╕рдм рдХреБрдЫ рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рдпрд╣рд╛рдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдмрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ - рдФрд░ рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рд╕реНрдерд╛рдиреАрдп рдкреНрд░рдорд╛рдгрди рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рднрдВрдбрд╛рд░рдг рдФрд░ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рднрдВрдбрд╛рд░рдг рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛ рд╣реИред
$ mkcert -install Created a new local CA at "/Users/filippo/Library/Application Support/mkcert" The local CA is now installed in the system trust store! я╕П The local CA is now installed in the Firefox trust store (requires restart)!