Cach├й DBMS рдореЗрдВ SSL / TLS рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, Cach├й SSL- рдЖрдзрд╛рд░рд┐рдд DBMS рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдХреБрдЫ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЕрд░реНрдерд╛рддреН:


рдиреЛрдЯ: Cach├й DBMS рдХреЗ рд╕рд╛рде SSL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдг рдорд┐рд░рд░рд┐рдВрдЧ, рдЯреЗрд▓рдиреЗрдЯ, рдЯреАрд╕реАрдкреА / рдЖрдИрдкреА (рд╕реЙрдХреЗрдЯреНрд╕), рд╡реЗрдм рд╕реЗрд╡рд╛рдПрдВ, рдХреИрдЪ рд╕реНрдЯреВрдбрд┐рдпреЛ, рдЖрджрд┐ рд╣реИрдВред - рдЖрдк рдЗрд╕реЗ рдкреНрд░рд▓реЗрдЦрди рдпрд╛ рддрдХрдиреАрдХреА рд╕рд╣рд╛рдпрддрд╛ рдореЗрдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдЗрдП рд╕реНрд╡рдпрдВ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдмрдирд╛рдПрдБ: рд░реВрдЯ (CA: рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рд╛рдзрд┐рдХрд░рдг), рд╕рд░реНрд╡рд░ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯред
рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдмрдирд╛рдиреЗ / рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрд▓реНрдХрд┐ рдЬрдЯрд┐рд▓ рд╣реИ рдФрд░ рдЗрд╕ рд▓реЗрдЦ рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдкрд░реЗ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд░реНрдгрди рдпрд╣рд╛рдБ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЖрдк рдЗрд╕ рд╡рд┐рд╖рдп рдкрд░ рдХрдИ рд╕рд╛рдордЧреНрд░реА рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ ред
рдиреЛрдЯ: рдПрдХ eToken рд╡рд╛рдВрдЫрдиреАрдп рд╣реИ, рд▓реЗрдХрд┐рди рдЖрд╡рд╢реНрдпрдХ рдирд╣реАрдВ рд╣реИред

рдкрд░реАрдХреНрд╖рдг рдбрд┐рдЬрд┐рдЯрд▓ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреА рдкреАрдврд╝реА


рдЖрдкрдХреЗ рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЛ рдмрдирд╛рдиреЗ, рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░рдиреЗ, рд╕рддреНрдпрд╛рдкрди рдХрд░рдиреЗ рдФрд░ рд░рджреНрдж рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмреИрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдПрдХ рд╕реЗрдЯ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЖрдк рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ рд╡рд┐рд╡реЗрдХ рдкрд░ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рд╕рдВрдмрдВрдзрд┐рдд рдлрд╛рдЗрд▓реЗрдВ рджреЗрдЦреЗрдВред

рддреЛ, рдЪрд▓рд┐рдП рд╣рдорд╛рд░реЗ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдмрдирд╛рддреЗ рд╣реИрдВ:
  1. рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рдмрд┐рдирд╛ рдирд┐рдЬреА рдХреБрдВрдЬреА рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВред рдпрджрд┐ рд╡рд╛рдВрдЫрд┐рдд рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ рдЬреЛрдбрд╝рдХрд░ рд╕рдВрд░рдХреНрд╖рд┐рдд рдкрд╛рд╕рд╡рд░реНрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, -a2525 рдкреИрд░рд╛рдореАрдЯрд░:
    openssl genrsa -out cakey.pem -rand randfile 4096 openssl genrsa -out serverkey.pem -rand randfile 2048 openssl genrsa -out clientkey.pem -rand randfile 2048 

  2. рд╣рдо рдкреНрд░рдорд╛рдгрди рдЕрдиреБрд░реЛрдз рдмрдирд╛рддреЗ рд╣реИрдВред рд╣рдо рд╕рдВрдмрдВрдзрд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд▓реЗрддреЗ рд╣реИрдВ:
     openssl req -new -key cakey.pem -config cfgCA.txt -out cacsr.pem openssl req -new -key serverkey.pem -config cfgServer.txt -out servercsr.pem openssl req -new -key clientkey.pem -config cfgClient.txt -out clientcsr.pem 

  3. рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдмрдирд╛рдПрдВ рдФрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХрд░реЗрдВ:
     openssl x509 -req -signkey cakey.pem -in cacsr.pem -extfile cfgCA.txt -extensions v3_req -out cacrt.pem -days 365 openssl ca -config ca.config -extensions v3_server -in servercsr.pem -out servercrt.pem -batch openssl ca -config ca.config -extensions v3_client -in clientcsr.pem -out clientcrt.pem -batch 

  4. Windows рдореЗрдВ .NET, eToken, рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕реНрдЯреЛрд░ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд DER рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЯреНрд░рд╛рдВрд╕рдХреЛрдб рдкреНрд░рдорд╛рдгрдкрддреНрд░ред рдирд┐рд░реНрдпрд╛рдд рдХреЗ рд▓рд┐рдП рдкрд╛рд╕рд╡рд░реНрдб рд░рд┐рдХреНрдд рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
     openssl x509 -inform PEM -in cacrt.pem -outform DER -out ca.cer openssl x509 -inform PEM -in servercrt.pem -outform DER -out server.cer openssl x509 -inform PEM -in clientcrt.pem -outform DER -out client.cer openssl pkcs12 -export -in cacrt.pem -inkey cakey.pem -out ca.pfx -name "CA certificate CACHE" openssl pkcs12 -export -in servercrt.pem -inkey serverkey.pem -out server.pfx -name "Server certificate CACHE" openssl pkcs12 -export -in clientcrt.pem -inkey clientkey.pem -out client.pfx -name "Client certificate CACHE" 

  5. рд╣рдо рдЕрдкрдиреЗ рдЧреНрд░рд╛рд╣рдХ рдкреНрд░рдорд╛рдгрдкрддреНрд░ (рд╡реИрдХрд▓реНрдкрд┐рдХ) рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдирд┐рд░рд╕реНрдд рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдирд┐рд░рд╕реНрдд рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреА рд╕реВрдЪреА рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рддреЗ рд╣реИрдВ:
     rem openssl ca -config ca.config -revoke clientcrt.pem openssl ca -config ca.config -gencrl -out crl.pem openssl crl -outform DER -in crl.pem -out crl.crl -CAfile cacrt.pem copy crl.crl C:\Inetpub\wwwroot\crl.crl 

  6. рдЖрд╕рд╛рди рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ:
     openssl x509 -in cacrt.pem -noout -text >ca.log openssl x509 -in servercrt.pem -noout -text >server.log openssl x509 -in clientcrt.pem -noout -text >client.log openssl crl -in crl.pem -text -noout 

  7. рд╣рдо рдЕрдкрдиреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреА рд╡реИрдзрддрд╛ рдХреА рдЬрд╛рдБрдЪ рдХрд░рддреЗ рд╣реИрдВ:
     openssl verify -CAfile cacrt.pem servercrt.pem clientcrt.pem 

Ca.config рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА:
 [ca] default_ca=CA_CLIENT [CA_CLIENT] dir=./db certs = $dir/certs new_certs_dir = $dir/newcerts database = $dir/index.txt serial = $dir/serial certificate = ./cacrt.pem private_key = ./cakey.pem default_days = 365 default_crl_hours = 4 default_md = sha1 policy = policy_anything #     [policy_anything] countryName = optional stateOrProvinceName = optional localityName = optional organizationName = optional organizationalUnitName = optional commonName = supplied emailAddress = optional serialNumber = optional [v3_server] basicConstraints = critical,CA:false nsComment = "Server certificate CACHE" nsCertType = server keyUsage = critical,digitalSignature, nonRepudiation, keyEncipherment, keyAgreement crlDistributionPoints = URI:http://localhost/crl.crl [v3_client] subjectAltName = email:copy basicConstraints = critical,CA:false nsComment = "Client certificate CACHE" nsCertType = client, email, objsign keyUsage = critical,digitalSignature, nonRepudiation, keyEncipherment, keyAgreement crlDistributionPoints = URI:http://localhost/crl.crl 

CfgCA.txt рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА:
 #    [req] distinguished_name = req_distinguished_name prompt = no extensions = v3_req [req_distinguished_name] #  C=MD #  ST=Moldova #  L=Chisinau #   O=abc #   OU=zxc #   (,  ) CN=CACHE #   emailAddress=support@abc.md [v3_req] subjectAltName = email:copy keyUsage = critical, keyCertSign, cRLSign basicConstraints = critical, CA:TRUE, pathlen:0 nsComment = "CA certificate CACHE" nsCertType = sslCA, emailCA crlDistributionPoints = URI:http://localhost/crl.crl 

CfgServer.txt рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА:
 #    [req] distinguished_name = distinguished_name prompt = no [distinguished_name] C=MD ST=Moldova L=Chisinau O=abc OU=zxc CN=localhost 

CfgClient.txt рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА:
 #    [req] distinguished_name = distinguished_name prompt = no [distinguished_name] serialNumber=987654321 CN=superuser emailAddress=my@abc.md 

рдЕрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдорд╛рдг рдкрддреНрд░ рд╣реИрдВред рдлрд┐рд░ рдЙрдиреНрд╣реЗрдВ рдХреИрдЪреЗ, рдЕрдкрд╛рдЪреЗ, рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреА рджреБрдХрд╛рди рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдИрдХреЛрди рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЬрд┐рд╕рдХреЗ рдкрд╛рд╕ рднреА рд╣реЛред

Windows рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ


рдЫрд╡рд┐
рд╡реГрджреНрдзрд┐

рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдкреНрд░рдмрдВрдзрди рдХрдВрд╕реЛрд▓ (mmc.exe) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЙрдкрдпреБрдХреНрдд рд╕реНрдиреИрдк-рдЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
  • ca.cer рдХреЛ рд╕реНрдерд╛рдиреАрдп рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдЯ рдкреНрд░рдорд╛рдгрди рдЕрдзрд┐рдХрд╛рд░рд┐рдпреЛрдВ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП;
  • server.pfx рдХреЛ рд╕реНрдерд╛рдиреАрдп рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкреНрд░рдорд╛рдгрдкрддреНрд░ (рдЖрдИрдЖрдИрдПрд╕ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ) рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП;
  • client.pfx рдХреЛ рд╡рд░реНрддрдорд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдИрдЯреЛрдХрди рдХреЗ рдорд╛рд▓рд┐рдХ рдЗрд╕ рдЖрдЗрдЯрдо рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

EToken рдкрд░ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ


рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рд╕рд╛рде рдЖрдкреВрд░реНрддрд┐ рдХрд┐рдП рдЧрдП рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред

Cach├й рдореЗрдВ SSL рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ


  1. рдкреЛрд░реНрдЯрд▓ рдореЗрдВ, рд╣рдо SSL рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ % SuperServer рдирд╛рдо рд╕реЗ рдмрдирд╛рддреЗ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ:

    рдЫрд╡рд┐
    рд╡реГрджреНрдзрд┐

  2. Cach├й рд╕реБрдкрд░ рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ SSL / TLS рд╕рдорд░реНрдерди рд╕рдХреНрд╖рдо рдХрд░реЗрдВ:

    рдЫрд╡рд┐
    рд╡реГрджреНрдзрд┐

  3. рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рдм рдХреБрдЫ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╕реЗрдЯ рд╣реИ рдФрд░ SSL рд╕рдорд░реНрдерди рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рд╣рдо рдПрдХ рдкрд░реАрдХреНрд╖рдг рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрдирд╛рдПрдВрдЧреЗ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВрдЧреЗ:

    рдЫрд╡рд┐
    рд╡реГрджреНрдзрд┐

    рдЕрдЧрд▓рд╛, SSL рдХрдиреЗрдХреНрд╢рди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВред рдпрджрд┐ рдЖрдкрдиреЗ рд╕рдм рдХреБрдЫ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╕реБрд░рдХреНрд╖рд┐рдд рдХрдиреЗрдХреНрд╢рди рдХреА рд╕рдлрд▓ рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╕рдВрджреЗрд╢ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред
    рдиреЛрдЯ: рдпрджрд┐ рдЖрдк рдЪрд╛рд╣реЗрдВ, рддреЛ рдЖрдк рдЯреЗрд▓рдиреЗрдЯ рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдореЗрдВ SSL рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП % TELNET / SSL рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ SSL рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред

Cache рдореЗрдВ рдПрдореНрдмреЗрдбреЗрдб рдЕрдкрд╛рдЪреЗ рдореЗрдВ SSL рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди


рдиреЛрдЯ: рдЗрд╕ рдЦрдВрдб рдХрд╛ рдкреВрд░реНрдг рдФрд░ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╡рд░рдг mod_ssl рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣рд╛рдБ рд╕реЗ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рдПрд╕рдПрд╕рдПрд▓ рдХреЗ рд╕рд╛рде рдЕрдкрд╛рдЪреЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред

  1. % acheHome% \ httpd \ рдореЙрдбреНрдпреВрд▓ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ mod_ssl.so рдлрд╝рд╛рдЗрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ;
  2. рдирд┐рдореНрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ % acheHome% \ httpd \ conf \ httpd.conf рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ :
     ... UseCanonicalName Off SSLEngine on SSLCertificateFile C:/SSLKeys/servercrt.pem SSLCertificateKeyFile C:/SSLKeys/serverkey.pem SSLCACertificateFile C:/SSLKeys/cacrt.pem SSLVerifyClient require SSLVerifyDepth 10 SSLCipherSuite TLSv1:SSLv3:!ADH:!LOW:!EXP:@STRENGTH SSLOptions +StdEnvVars ... LoadModule ssl_module modules/mod_ssl.so ... 

  3. рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рдирд┐рд░реНрдорд┐рдд рдЕрдкрд╛рдЪреЗ рдХреЛ рдкреБрдирдГ рдЖрд░рдВрдн рдХрд░реЗрдВ:
     httpd.exe -k restart -n CACHEhttpd -c "Listen 8972" 

  4. рд╣рдо рдХреНрдпреВрдмрд╛ рд╕реЗ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рдмрдВрдзрди рдкреЛрд░реНрдЯрд▓ рдпрд╛ рдкреНрд░рд▓реЗрдЦрди рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рд░реНрд╡рд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╣реА рдкреНрд░рдорд╛рдгрд┐рдд рдХреЗрдВрджреНрд░ рджреНрд╡рд╛рд░рд╛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рд╡реИрдз рдЧреНрд░рд╛рд╣рдХ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

CSP / ZEN рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕рд░реНрдЯрд┐рдлрд┐рдХреЗрдЯ рдбреЗрдЯрд╛ рдкрдврд╝рдирд╛


CSP рдЧреЗрдЯрд╡реЗ рдореЗрдВ, рдЖрдкрдХреЛ рд╕рднреА рдЕрддрд┐рд░рд┐рдХреНрдд CGI рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░ рдХреЗ Cach├й рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛:

рдЫрд╡рд┐
рд╡реГрджреНрдзрд┐

рдЕрдм рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЖрдк рдирд┐рдореНрди рдкреНрд░рдХрд╛рд░ рд╕реЗ рд╡реЗрдм рд╕рд░реНрд╡рд░ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
Class sqlru.testpage Extends %ZEN.Component.page
{

/// This XML block defines the contents of this page.
XData
Contents [ XMLNamespace = "www.intersystems.com/zen" ]
{
<
page xmlns = "www.intersystems.com/zen" title = "" >
<
textarea id = "ta" value = "test" rows = "10" cols = "50" />
</
page >
}

Method %OnAfterCreatePage() As %Status
{
if %request. CgiEnvs ( "SERVER_SOFTWARE" )[ "Apache" {
set a = %request. CgiEnvs ( "SSL_CLIENT_S_DN" )
} else {
set a = %request. CgiEnvs ( "CERT_SUBJECT" )
}

do .. %SetValueById ( "ta" ,a)
Quit $$$OK
}
}

рдЕрдиреНрдп рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдЙрд╕реА рддрд░рд╣ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
  • SSL_CLIENT_I_DN ;
  • SSL_SERVER_I_DN ;
  • SSL_SERVER_S_DN ;
  • ...

SSL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ .NET рд╕реЗ Cach├й рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ


 var db = new CacheConnection("Server = localhost; Port = 1972; Namespace = SAMPLES; Password = SYS; User ID = _SYSTEM; SSL=true;"); if (db.State == ConnectionState.Closed) { db.Open(); textBox1.Text = db.ServerZV; } db.Close(); 

рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХреА рджреБрдХрд╛рди рд╕реЗ рдкрд╣рд▓реЗ рд╡реИрдз рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдИрдЯреЛрдХрди рдкрд░ рд╣реИ, рддреЛ рдПрдХ рдкрд┐рди рдХреЛрдб рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдпрджрд┐ рднрдВрдбрд╛рд░рдг рдЦрд╛рд▓реА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдИрдХреЛрдХреЙрди рдбрд╛рд▓рд╛ рдирд╣реАрдВ рдЧрдпрд╛ рд╣реИ, рдпрд╛ рд╕рднреА рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдЕрдорд╛рдиреНрдп рд╣реИрдВ, рддреЛ рдХрдиреЗрдХреНрд╢рди рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдмрд╛рдзрд┐рдд рд╣реЛрдЧрд╛ред

SSL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ Java рд╕реЗ Cach├й рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ


рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рд╣рдорд╛рд░реЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЛрдВ рдХреЛ рдЙрдкрдпреБрдХреНрдд рд╕реНрдЯреЛрд░реЛрдВ рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ : рдЯреНрд░рд╕реНрдЯрд╕реНрдЯреЛрд░ рдореЗрдВ рдПрдХ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдкреНрд░рдорд╛рдг рдкрддреНрд░, рдХреАрд╕реНрдЯреЛрд░ рдореЗрдВ рдПрдХ рдХреНрд▓рд╛рдЗрдВрдЯ рдкреНрд░рдорд╛рдгрдкрддреНрд░ред
рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкрд╛рд╕рд╡рд░реНрдб "mysecret" рджреНрд╡рд╛рд░рд╛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдлрд╝рд╛рдЗрд▓ client_pwd.pfx , рд╡реАрд╕реНрдЯреЛрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреБрдХреНрдд рд╣реИред
рд░реВрдЯ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдЯреНрд░рд╕реНрдЯрд╕реНрдЯреЛрд░ рдпрд╛ рдПрдХ рдорд╛рдирдХ рдХреИрд╕рд░реНрдЯ рдореЗрдВ рдбрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 keytool -importcert -alias CACHE -file c:\SSLKeys\ca.cer -keystore truststore -storepass mysecret 
рдпрд╛
 keytool -importcert -alias CACHE -file c:\SSLKeys\ca.cer -keystore cacerts -storepass changeit 

рдЗрд╕рдХреЗ рдмрд╛рдж, рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ SSLConfig рдмрдирд╛рдПрдБред
 protocol=SSLv3 keyStore=C:/SSLKeys/client_pwd.pfx keyStoreType=PKCS12 keyStorePassword=mysecret keyRecoveryPassword=mysecret #  ca     cacerts,     trustStore=C:/SSLKeys/truststore trustStoreType=JKS trustStorePassword=mysecret 

рдиреЛрдЯ: рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА JSSE рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИред

рдЕрдм рдЖрдк SSL рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рдЬрд╛рд╡рд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рд╕реЗ рдЬреБрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
 package test; import java.sql.Connection; import com.intersys.jdbc.CacheDataSource; public class Test { public static void main(String[] args) throws Throwable { String url = "jdbc:Cache://localhost:1972/USER"; String username = "_SYSTEM"; String password = "SYS"; System.setProperty("com.intersys.SSLConfigFile", "C:/SSLKeys/SSLConfig.Properties"); CacheDataSource cs = new CacheDataSource(); cs.setURL(url); cs.setUser(username); cs.setPassword(password); cs.setConnectionSecurityLevel(10); Connection cn = cs.getConnection(); System.out.println("  !"); //Database db = CacheDatabase.getDatabase(cn); } } 

CSP рдЧреЗрдЯрд╡реЗ рдореЗрдВ SSL рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛


рдЫрд╡рд┐
рд╡реГрджреНрдзрд┐

рдЖрдЗрдП рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ, рдХреНрдпрд╛ рд╣рдо рд╕рднреА рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╕реЗрдЯ рд╣реИрдВ:

рдЫрд╡рд┐
рд╡реГрджреНрдзрд┐

SSL рдХреЛ ODBC рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ


рдЫрд╡рд┐

SSL рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВ: HKEY_CURRENT_USER \ Software \ InterSystems \ Cache \ SSLConfigurations \ SSL рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдирд╛рдо
рдкреИрд░рд╛рдореАрдЯрд░ рдХрд╛ рд╡рд┐рд╡рд░рдг Security.SSLConfigs рд╡рд░реНрдЧ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рдкрд░реАрдХреНрд╖рдг рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ CacheOdbcSSL.reg рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдиреАрдЪреЗ рджреЗрдЦреЗрдВ)ред

рдЖрдЗрдП рд╕рд░реНрд╡рд░ рд╕реЗ рдХрдиреЗрдХреНрд╢рди рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ, рдХреНрдпрд╛ рд╣рдо рд╕рднреА рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рд╕реЗрдЯ рд╣реИрдВ:

рдЫрд╡рд┐

рд╕реНрд░реЛрдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ

Source: https://habr.com/ru/post/In144310/


All Articles