Advertisement
Guest User

Untitled

a guest
Jun 24th, 2019
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.27 KB | None | 0 0
  1. var tls = require("tls");
  2. var fs = require("fs");
  3.  
  4. const serverOptions = {
  5. key: fs.readFileSync("frontend.key"),
  6. cert: fs.readFileSync("frontend.pem"),
  7. ca: [ fs.readFileSync("root-ca.pem") ],
  8. requestCert: true,
  9. };
  10.  
  11. var server = tls.createServer(serverOptions);
  12. server.listen(4532);
  13. console.log("Server up");
  14. server.on('connection', function(stream) {
  15. console.log("Connected: " + stream.address().address);
  16.  
  17. stream.on('data', function(d) {
  18. stream.write(("" + d).split("").reverse().join(""));
  19. stream.destroy();
  20. });
  21.  
  22. stream.write("The sky above the port was the color of television, tuned to a dead channel");
  23. });
  24.  
  25. var tls = require("tls");
  26. var fs = require("fs");
  27.  
  28. const streamOptions = {
  29. key: fs.readFileSync("backend.key"),
  30. cert: fs.readFileSync("backend.pem"),
  31. ca: [ fs.readFileSync("root-ca.pem") ],
  32. requestCert: true,
  33. host: "localhost",
  34. port: "4532",
  35. };
  36.  
  37. var stream = tls.connect(streamOptions, function(){console.log("Connected")});
  38. var flag = 0;
  39. stream.on('data', function(d) {
  40. console.log("Received " + d);
  41. if (flag === 0) {
  42. stream.write("This string in reverse, please");
  43. flag = 1;
  44. } else {
  45. stream.destroy();
  46. }
  47. });
  48.  
  49. # create server directory
  50. mkdir -pv server
  51.  
  52. # create a root CA, used to sign off on others
  53. openssl genrsa
  54. -out server/root-ca.key
  55. 2048
  56.  
  57. # sign the root CA
  58. openssl req
  59. -x509
  60. -new
  61. -nodes
  62. -key server/root-ca.key
  63. -days 1024
  64. -out server/root-ca.pem
  65. -subj "/C=US/ST=California/L=Provo/O=Nobody/CN=localhost"
  66.  
  67. # function to create a device certificate for a particular domain
  68. create_certificate() {
  69. # $1 should be name, $2 should be domain
  70. name=$1
  71. domain=$2
  72.  
  73. echo "------- Creating certificate $name -------"
  74.  
  75. # generate key
  76. mkdir -pv $name
  77. openssl genrsa
  78. -out $name/$name.key
  79. 2048
  80.  
  81. # create request for signing
  82. openssl req -new
  83. -key $name/$name.key
  84. -out $name/$name.csr
  85. -subj "/C=US/ST=California/L=Provo/O=Nobody/CN=$domain"
  86.  
  87. # sign the request using the root CA
  88. openssl x509
  89. -req -in $name/$name.csr
  90. -CA server/root-ca.pem
  91. -CAkey server/root-ca.key
  92. -CAcreateserial
  93. -out $name/$name.pem
  94. -days 500
  95.  
  96. rsync -a server/root-ca.pem $name/root-ca.pem
  97. }
  98.  
  99. create_certificate frontend localhost
  100. create_certificate backend localhost
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement