Browse files

Initial refactored node proxy library.

  • Loading branch information...
1 parent 9bb10ed commit 16b7c4c578cb49272b69e8eb7d9e0b6e06b137cb @axiak committed Feb 3, 2012
Showing with 2,366 additions and 0 deletions.
  1. +2 −0 .gitignore
  2. +66 −0 example/keys/MikeCA/ca.db.certs/01.pem
  3. +66 −0 example/keys/MikeCA/ca.db.certs/02.pem
  4. +66 −0 example/keys/MikeCA/ca.db.certs/03.pem
  5. +66 −0 example/keys/MikeCA/ca.db.certs/04.pem
  6. +66 −0 example/keys/MikeCA/ca.db.certs/05.pem
  7. +66 −0 example/keys/MikeCA/ca.db.certs/06.pem
  8. +66 −0 example/keys/MikeCA/ca.db.certs/07.pem
  9. +66 −0 example/keys/MikeCA/ca.db.certs/08.pem
  10. +8 −0 example/keys/MikeCA/ca.db.index
  11. +1 −0 example/keys/MikeCA/ca.db.index.attr
  12. +1 −0 example/keys/MikeCA/ca.db.index.attr.old
  13. +7 −0 example/keys/MikeCA/ca.db.index.old
  14. +1 −0 example/keys/MikeCA/ca.db.rand
  15. +1 −0 example/keys/MikeCA/ca.db.serial
  16. +1 −0 example/keys/MikeCA/ca.db.serial.old
  17. +20 −0 example/keys/MikeCA/signing-ca-1.crt
  18. +18 −0 example/keys/MikeCA/signing-ca-1.key
  19. +15 −0 example/keys/MikeCA/signing-ca-1.key.free
  20. +66 −0 example/keys/default.crt
  21. +15 −0 example/keys/default.key
  22. +15 −0 example/keys/default.key.free
  23. +11 −0 example/keys/default.req
  24. +6 −0 example/keys/genKey.sh
  25. +66 −0 example/keys/google.com.crt
  26. +15 −0 example/keys/google.com.key
  27. +15 −0 example/keys/google.com.key.free
  28. +12 −0 example/keys/google.com.req
  29. +41 −0 example/keys/mk_new_ca_dir.pl
  30. +319 −0 example/keys/openssl.cnf
  31. +66 −0 example/keys/star.ak.facebook.com.crt
  32. +15 −0 example/keys/star.ak.facebook.com.key
  33. +15 −0 example/keys/star.ak.facebook.com.key.free
  34. +12 −0 example/keys/star.ak.facebook.com.req
  35. +66 −0 example/keys/star.bankofamerica.com.crt
  36. +15 −0 example/keys/star.bankofamerica.com.key
  37. +15 −0 example/keys/star.bankofamerica.com.key.free
  38. +12 −0 example/keys/star.bankofamerica.com.req
  39. +66 −0 example/keys/star.facebook.com.crt
  40. +15 −0 example/keys/star.facebook.com.key
  41. +15 −0 example/keys/star.facebook.com.key.free
  42. +12 −0 example/keys/star.facebook.com.req
  43. +66 −0 example/keys/star.google.com.crt
  44. +15 −0 example/keys/star.google.com.key
  45. +15 −0 example/keys/star.google.com.key.free
  46. +12 −0 example/keys/star.google.com.req
  47. +66 −0 example/keys/star.yaluandmike.com.crt
  48. +15 −0 example/keys/star.yaluandmike.com.key
  49. +15 −0 example/keys/star.yaluandmike.com.key.free
  50. +12 −0 example/keys/star.yaluandmike.com.req
  51. +66 −0 example/keys/www.facebook.com.crt
  52. +15 −0 example/keys/www.facebook.com.key
  53. +15 −0 example/keys/www.facebook.com.key.free
  54. +12 −0 example/keys/www.facebook.com.req
  55. +351 −0 example/nodeproxy.js
  56. +2 −0 example/runproxy.sh
  57. +41 −0 example/skeletontest.js
  58. +15 −0 example/stats.log
  59. +107 −0 lib/proxy.js
  60. +12 −0 package.json
  61. +6 −0 test.js
View
2 .gitignore
@@ -0,0 +1,2 @@
+*~
+*#*
View
66 example/keys/MikeCA/ca.db.certs/01.pem
@@ -0,0 +1,66 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 1 (0x1)
+ Signature Algorithm: md5WithRSAEncryption
+ Issuer: C=US, ST=Massachusetts, L=Boston, O=YaluAndMike, O=Org, CN=yaluandmike.com
+ Validity
+ Not Before: Jan 24 15:14:38 2012 GMT
+ Not After : Jan 23 15:14:38 2013 GMT
+ Subject: C=US, ST=Massachusetts, L=Boston, O=YaluAndMike, O=Org, CN=default
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:c5:c0:ab:12:5f:bb:69:26:e0:36:44:8b:58:bb:
+ 9a:d6:7b:35:71:5f:1a:3b:c9:a5:44:c2:72:05:6e:
+ 69:12:9c:15:ac:3e:63:76:2a:19:6d:6c:7e:e2:08:
+ 1b:cb:39:ee:70:10:1c:6e:43:95:d1:ac:73:62:d7:
+ b9:0a:a5:aa:8c:79:34:54:6c:b2:d4:5c:23:28:c8:
+ 63:29:f3:03:e6:57:19:ae:bf:26:97:f4:bc:97:88:
+ 2e:4f:85:1e:9c:9f:0e:ad:00:35:17:79:f7:90:0f:
+ af:cc:40:b8:30:1a:a8:52:59:e1:c4:41:fc:e6:bd:
+ 51:4f:60:f6:ec:a7:f4:40:7f
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:FALSE
+ Netscape Comment:
+ OpenSSL Generated Certificate
+ X509v3 Subject Key Identifier:
+ B2:C8:1C:3D:48:FD:B2:64:06:2A:EC:D3:D7:C2:4B:A8:7E:A8:3F:7B
+ X509v3 Authority Key Identifier:
+ keyid:FC:90:77:9B:7A:51:29:78:A7:23:23:83:77:65:3A:0E:E9:EC:2F:66
+ DirName:/C=US/ST=Massachusetts/L=Boston/O=YaluAndMike/O=Org/CN=yaluandmike.com
+ serial:C8:86:E0:8B:8B:8A:12:71
+
+ Signature Algorithm: md5WithRSAEncryption
+ 19:94:b1:20:5d:1c:21:36:d1:94:e8:db:a6:c4:a2:9b:8a:f1:
+ 11:f0:ea:0f:0b:8a:0f:bc:cf:f1:9f:18:ba:00:67:7e:28:32:
+ d1:9e:9a:a7:8c:9f:cc:ce:f2:e6:8d:38:3d:78:c3:7c:c2:f1:
+ 9e:0b:59:c4:db:af:36:a9:f0:4c:8b:1e:da:3c:c0:01:6f:a6:
+ d2:3c:37:cd:62:80:8f:45:ae:37:20:35:cb:fb:56:78:04:e3:
+ 5c:f4:89:f9:16:d5:2d:3e:bc:83:33:7b:71:38:f4:01:2e:1a:
+ f2:0f:e4:e9:8a:d3:40:dc:dd:5b:a8:42:4a:f3:cf:5e:eb:ee:
+ 55:40
+-----BEGIN CERTIFICATE-----
+MIIDXTCCAsagAwIBAgIBATANBgkqhkiG9w0BAQQFADB0MQswCQYDVQQGEwJVUzEW
+MBQGA1UECBMNTWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQwEgYDVQQK
+EwtZYWx1QW5kTWlrZTEMMAoGA1UEChMDT3JnMRgwFgYDVQQDEw95YWx1YW5kbWlr
+ZS5jb20wHhcNMTIwMTI0MTUxNDM4WhcNMTMwMTIzMTUxNDM4WjBsMQswCQYDVQQG
+EwJVUzEWMBQGA1UECBMNTWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQw
+EgYDVQQKEwtZYWx1QW5kTWlrZTEMMAoGA1UEChMDT3JnMRAwDgYDVQQDEwdkZWZh
+dWx0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDFwKsSX7tpJuA2RItYu5rW
+ezVxXxo7yaVEwnIFbmkSnBWsPmN2KhltbH7iCBvLOe5wEBxuQ5XRrHNi17kKpaqM
+eTRUbLLUXCMoyGMp8wPmVxmuvyaX9LyXiC5PhR6cnw6tADUXefeQD6/MQLgwGqhS
+WeHEQfzmvVFPYPbsp/RAfwIDAQABo4IBBTCCAQEwCQYDVR0TBAIwADAsBglghkgB
+hvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYE
+FLLIHD1I/bJkBirs09fCS6h+qD97MIGmBgNVHSMEgZ4wgZuAFPyQd5t6USl4pyMj
+g3dlOg7p7C9moXikdjB0MQswCQYDVQQGEwJVUzEWMBQGA1UECBMNTWFzc2FjaHVz
+ZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQwEgYDVQQKEwtZYWx1QW5kTWlrZTEMMAoG
+A1UEChMDT3JnMRgwFgYDVQQDEw95YWx1YW5kbWlrZS5jb22CCQDIhuCLi4oScTAN
+BgkqhkiG9w0BAQQFAAOBgQAZlLEgXRwhNtGU6NumxKKbivER8OoPC4oPvM/xnxi6
+AGd+KDLRnpqnjJ/MzvLmjTg9eMN8wvGeC1nE2682qfBMix7aPMABb6bSPDfNYoCP
+Ra43IDXL+1Z4BONc9In5FtUtPryDM3txOPQBLhryD+TpitNA3N1bqEJK889e6+5V
+QA==
+-----END CERTIFICATE-----
View
66 example/keys/MikeCA/ca.db.certs/02.pem
@@ -0,0 +1,66 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 2 (0x2)
+ Signature Algorithm: md5WithRSAEncryption
+ Issuer: C=US, ST=Massachusetts, L=Boston, O=YaluAndMike, O=Org, CN=yaluandmike.com
+ Validity
+ Not Before: Jan 24 16:11:16 2012 GMT
+ Not After : Jan 23 16:11:16 2013 GMT
+ Subject: C=US, ST=Massachusetts, L=Boston, O=YaluAndMike, O=Org, CN=*.google.com
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:c6:5a:47:58:56:d9:ca:05:ee:00:29:dd:3a:76:
+ 0f:2b:b7:b9:60:db:93:ce:a6:b8:c0:a5:28:ba:17:
+ 4d:2e:ad:9c:65:2f:e8:68:59:4e:8a:8e:6e:62:66:
+ eb:93:50:62:de:12:97:26:cc:91:6b:0d:bf:52:f5:
+ 16:be:3d:4b:7a:c6:1c:e5:f4:6e:d2:72:64:99:69:
+ 57:b9:6e:dd:7f:55:8d:db:80:70:5b:c3:36:00:02:
+ 26:0f:f7:e0:8f:07:f0:2e:c6:ad:33:01:29:b1:e4:
+ f2:2d:49:5d:4d:d4:6b:5f:f3:7e:f4:35:d7:2f:db:
+ d3:3b:60:81:a4:ec:f3:a9:ab
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:FALSE
+ Netscape Comment:
+ OpenSSL Generated Certificate
+ X509v3 Subject Key Identifier:
+ 51:4C:BB:BA:CA:E0:A7:7D:37:30:21:9F:21:EB:8D:DA:2B:88:AF:A3
+ X509v3 Authority Key Identifier:
+ keyid:FC:90:77:9B:7A:51:29:78:A7:23:23:83:77:65:3A:0E:E9:EC:2F:66
+ DirName:/C=US/ST=Massachusetts/L=Boston/O=YaluAndMike/O=Org/CN=yaluandmike.com
+ serial:C8:86:E0:8B:8B:8A:12:71
+
+ Signature Algorithm: md5WithRSAEncryption
+ 1f:c5:52:72:5d:d3:52:9a:1b:b5:13:f9:2e:b1:d2:13:1a:62:
+ 8b:89:23:ef:df:94:b8:a6:2c:1a:84:e4:f1:8c:86:21:85:d8:
+ 33:69:47:3f:46:c2:c6:36:66:72:59:f2:3a:f4:8c:a9:bf:4d:
+ 0f:fd:f7:8c:67:4f:2e:8b:43:7e:bf:79:bf:d3:d5:5c:e1:8f:
+ 62:22:f7:bb:76:d2:22:3b:b7:f8:2f:b2:74:73:c1:71:91:58:
+ d0:30:73:7f:96:81:48:a3:b8:3a:31:7c:55:4a:98:46:2a:9d:
+ ed:23:ba:4a:a2:94:44:b6:cd:9e:79:f4:cc:eb:4c:6a:ac:a6:
+ e6:57
+-----BEGIN CERTIFICATE-----
+MIIDYjCCAsugAwIBAgIBAjANBgkqhkiG9w0BAQQFADB0MQswCQYDVQQGEwJVUzEW
+MBQGA1UECBMNTWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQwEgYDVQQK
+EwtZYWx1QW5kTWlrZTEMMAoGA1UEChMDT3JnMRgwFgYDVQQDEw95YWx1YW5kbWlr
+ZS5jb20wHhcNMTIwMTI0MTYxMTE2WhcNMTMwMTIzMTYxMTE2WjBxMQswCQYDVQQG
+EwJVUzEWMBQGA1UECBMNTWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQw
+EgYDVQQKEwtZYWx1QW5kTWlrZTEMMAoGA1UEChMDT3JnMRUwEwYDVQQDFAwqLmdv
+b2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMZaR1hW2coF7gAp
+3Tp2Dyu3uWDbk86muMClKLoXTS6tnGUv6GhZToqObmJm65NQYt4SlybMkWsNv1L1
+Fr49S3rGHOX0btJyZJlpV7lu3X9VjduAcFvDNgACJg/34I8H8C7GrTMBKbHk8i1J
+XU3Ua1/zfvQ11y/b0ztggaTs86mrAgMBAAGjggEFMIIBATAJBgNVHRMEAjAAMCwG
+CWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNV
+HQ4EFgQUUUy7usrgp303MCGfIeuN2iuIr6MwgaYGA1UdIwSBnjCBm4AU/JB3m3pR
+KXinIyODd2U6DunsL2aheKR2MHQxCzAJBgNVBAYTAlVTMRYwFAYDVQQIEw1NYXNz
+YWNodXNldHRzMQ8wDQYDVQQHEwZCb3N0b24xFDASBgNVBAoTC1lhbHVBbmRNaWtl
+MQwwCgYDVQQKEwNPcmcxGDAWBgNVBAMTD3lhbHVhbmRtaWtlLmNvbYIJAMiG4IuL
+ihJxMA0GCSqGSIb3DQEBBAUAA4GBAB/FUnJd01KaG7UT+S6x0hMaYouJI+/flLim
+LBqE5PGMhiGF2DNpRz9GwsY2ZnJZ8jr0jKm/TQ/994xnTy6LQ36/eb/T1Vzhj2Ii
+97t20iI7t/gvsnRzwXGRWNAwc3+WgUijuDoxfFVKmEYqne0jukqilES2zZ559Mzr
+TGqspuZX
+-----END CERTIFICATE-----
View
66 example/keys/MikeCA/ca.db.certs/03.pem
@@ -0,0 +1,66 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 3 (0x3)
+ Signature Algorithm: md5WithRSAEncryption
+ Issuer: C=US, ST=Massachusetts, L=Boston, O=YaluAndMike, O=Org, CN=yaluandmike.com
+ Validity
+ Not Before: Jan 24 16:11:33 2012 GMT
+ Not After : Jan 23 16:11:33 2013 GMT
+ Subject: C=US, ST=Massachusetts, L=Boston, O=YaluAndMike, O=Org, CN=www.facebook.com
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:e0:58:37:3c:81:b5:9d:64:3d:c0:b8:31:b4:b1:
+ 94:c9:23:a9:37:65:3c:a4:c3:c3:e7:e6:ba:6e:da:
+ 03:4c:c6:d5:d0:e1:7b:09:05:53:88:2f:25:f3:16:
+ cd:de:34:d5:fc:6a:22:e0:08:55:22:bf:f3:a6:24:
+ 46:99:fa:9d:91:bf:1b:33:d9:fa:03:c4:bb:9d:fe:
+ 73:51:cb:3e:fe:da:1e:0d:fe:f3:9f:64:c6:d4:5b:
+ 5b:c4:19:6e:22:a8:f8:34:22:2a:56:d3:d1:ad:1d:
+ 2a:82:e2:de:30:48:9c:d7:6a:bf:fd:dc:36:30:4d:
+ 96:ad:32:c9:bb:c3:94:2a:73
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:FALSE
+ Netscape Comment:
+ OpenSSL Generated Certificate
+ X509v3 Subject Key Identifier:
+ 3E:0D:85:D1:99:8A:0D:04:4C:D0:CF:3B:17:38:7D:A0:39:A0:3E:D9
+ X509v3 Authority Key Identifier:
+ keyid:FC:90:77:9B:7A:51:29:78:A7:23:23:83:77:65:3A:0E:E9:EC:2F:66
+ DirName:/C=US/ST=Massachusetts/L=Boston/O=YaluAndMike/O=Org/CN=yaluandmike.com
+ serial:C8:86:E0:8B:8B:8A:12:71
+
+ Signature Algorithm: md5WithRSAEncryption
+ 55:43:7d:7a:b2:a7:5e:16:d4:1b:8a:ca:1d:85:6b:38:cd:3c:
+ 67:57:22:03:80:37:5b:ff:47:16:05:7d:58:67:83:23:0a:a8:
+ b8:9b:3a:c5:7f:f6:6b:bf:20:e4:1c:8e:c7:e2:8a:c3:1b:29:
+ a1:a8:73:30:be:3d:ca:7f:8e:26:7c:34:2b:dd:27:d7:4b:df:
+ ed:78:2d:58:d7:51:7f:59:76:fc:c6:71:3e:88:43:c6:a4:fd:
+ 9a:bc:61:f4:e9:53:4d:bf:cc:f2:e0:3a:a9:34:f6:ac:69:d1:
+ ad:18:50:57:bd:6f:35:56:84:05:84:2c:b6:46:36:0a:48:ed:
+ 0e:ce
+-----BEGIN CERTIFICATE-----
+MIIDZjCCAs+gAwIBAgIBAzANBgkqhkiG9w0BAQQFADB0MQswCQYDVQQGEwJVUzEW
+MBQGA1UECBMNTWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQwEgYDVQQK
+EwtZYWx1QW5kTWlrZTEMMAoGA1UEChMDT3JnMRgwFgYDVQQDEw95YWx1YW5kbWlr
+ZS5jb20wHhcNMTIwMTI0MTYxMTMzWhcNMTMwMTIzMTYxMTMzWjB1MQswCQYDVQQG
+EwJVUzEWMBQGA1UECBMNTWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQw
+EgYDVQQKEwtZYWx1QW5kTWlrZTEMMAoGA1UEChMDT3JnMRkwFwYDVQQDExB3d3cu
+ZmFjZWJvb2suY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDgWDc8gbWd
+ZD3AuDG0sZTJI6k3ZTykw8Pn5rpu2gNMxtXQ4XsJBVOILyXzFs3eNNX8aiLgCFUi
+v/OmJEaZ+p2Rvxsz2foDxLud/nNRyz7+2h4N/vOfZMbUW1vEGW4iqPg0IipW09Gt
+HSqC4t4wSJzXar/93DYwTZatMsm7w5QqcwIDAQABo4IBBTCCAQEwCQYDVR0TBAIw
+ADAsBglghkgBhvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUw
+HQYDVR0OBBYEFD4NhdGZig0ETNDPOxc4faA5oD7ZMIGmBgNVHSMEgZ4wgZuAFPyQ
+d5t6USl4pyMjg3dlOg7p7C9moXikdjB0MQswCQYDVQQGEwJVUzEWMBQGA1UECBMN
+TWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQwEgYDVQQKEwtZYWx1QW5k
+TWlrZTEMMAoGA1UEChMDT3JnMRgwFgYDVQQDEw95YWx1YW5kbWlrZS5jb22CCQDI
+huCLi4oScTANBgkqhkiG9w0BAQQFAAOBgQBVQ316sqdeFtQbisodhWs4zTxnVyID
+gDdb/0cWBX1YZ4MjCqi4mzrFf/ZrvyDkHI7H4orDGymhqHMwvj3Kf44mfDQr3SfX
+S9/teC1Y11F/WXb8xnE+iEPGpP2avGH06VNNv8zy4DqpNPasadGtGFBXvW81VoQF
+hCy2RjYKSO0Ozg==
+-----END CERTIFICATE-----
View
66 example/keys/MikeCA/ca.db.certs/04.pem
@@ -0,0 +1,66 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 4 (0x4)
+ Signature Algorithm: md5WithRSAEncryption
+ Issuer: C=US, ST=Massachusetts, L=Boston, O=YaluAndMike, O=Org, CN=yaluandmike.com
+ Validity
+ Not Before: Jan 24 16:37:40 2012 GMT
+ Not After : Jan 23 16:37:40 2013 GMT
+ Subject: C=US, ST=Massachusetts, L=Boston, O=YaluAndMike, O=Org, CN=*.yaluandmike.com
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:bb:da:e2:f8:6a:f3:8b:c0:17:cb:55:d5:91:d5:
+ 29:1e:98:67:e4:fa:a8:e9:af:b4:b5:f1:00:5d:2c:
+ d9:b0:e5:94:ef:3e:91:47:58:b2:fa:35:5c:69:c4:
+ c3:3e:38:2a:80:c7:cb:69:3e:97:11:a6:ef:c6:cd:
+ 5b:a2:da:99:b9:c2:18:2a:63:5e:c1:1a:bf:f2:13:
+ d4:9c:e9:f7:9c:65:76:7f:c4:48:86:47:af:76:79:
+ 36:2b:a6:ac:0a:19:e6:80:3d:59:d3:fd:7f:a4:1a:
+ 0b:6a:cf:88:a2:fb:ce:b4:7c:da:0f:ed:64:e6:d6:
+ 1d:ca:02:d0:9d:0a:09:fc:77
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:FALSE
+ Netscape Comment:
+ OpenSSL Generated Certificate
+ X509v3 Subject Key Identifier:
+ 9E:95:CB:09:89:8E:77:AE:58:1F:C6:CE:B8:88:BA:FA:4F:8D:E2:23
+ X509v3 Authority Key Identifier:
+ keyid:FC:90:77:9B:7A:51:29:78:A7:23:23:83:77:65:3A:0E:E9:EC:2F:66
+ DirName:/C=US/ST=Massachusetts/L=Boston/O=YaluAndMike/O=Org/CN=yaluandmike.com
+ serial:C8:86:E0:8B:8B:8A:12:71
+
+ Signature Algorithm: md5WithRSAEncryption
+ 12:66:6c:f7:fd:71:65:b2:89:3a:ba:9d:38:11:6d:e2:22:61:
+ 52:20:fa:d9:2b:f0:fe:bd:83:45:e9:3a:94:82:e9:66:4e:5f:
+ 98:16:4f:18:d6:8c:18:ad:90:72:f4:24:43:c3:09:eb:b6:c1:
+ e9:d2:3c:d5:ee:31:60:99:ba:2b:ed:5b:4e:21:8f:8a:9f:73:
+ 9e:32:9b:b9:f2:cc:29:01:50:f8:d1:c9:5f:e7:af:eb:d0:bf:
+ fb:b4:5c:71:9b:54:9f:4c:5a:f2:37:e8:0c:bc:0b:86:db:ee:
+ 4e:69:d1:2b:6d:35:f8:69:90:c9:29:3c:ca:6a:72:6e:16:8a:
+ 6b:64
+-----BEGIN CERTIFICATE-----
+MIIDZzCCAtCgAwIBAgIBBDANBgkqhkiG9w0BAQQFADB0MQswCQYDVQQGEwJVUzEW
+MBQGA1UECBMNTWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQwEgYDVQQK
+EwtZYWx1QW5kTWlrZTEMMAoGA1UEChMDT3JnMRgwFgYDVQQDEw95YWx1YW5kbWlr
+ZS5jb20wHhcNMTIwMTI0MTYzNzQwWhcNMTMwMTIzMTYzNzQwWjB2MQswCQYDVQQG
+EwJVUzEWMBQGA1UECBMNTWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQw
+EgYDVQQKEwtZYWx1QW5kTWlrZTEMMAoGA1UEChMDT3JnMRowGAYDVQQDFBEqLnlh
+bHVhbmRtaWtlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAu9ri+Grz
+i8AXy1XVkdUpHphn5Pqo6a+0tfEAXSzZsOWU7z6RR1iy+jVcacTDPjgqgMfLaT6X
+Eabvxs1botqZucIYKmNewRq/8hPUnOn3nGV2f8RIhkevdnk2K6asChnmgD1Z0/1/
+pBoLas+IovvOtHzaD+1k5tYdygLQnQoJ/HcCAwEAAaOCAQUwggEBMAkGA1UdEwQC
+MAAwLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRl
+MB0GA1UdDgQWBBSelcsJiY53rlgfxs64iLr6T43iIzCBpgYDVR0jBIGeMIGbgBT8
+kHebelEpeKcjI4N3ZToO6ewvZqF4pHYwdDELMAkGA1UEBhMCVVMxFjAUBgNVBAgT
+DU1hc3NhY2h1c2V0dHMxDzANBgNVBAcTBkJvc3RvbjEUMBIGA1UEChMLWWFsdUFu
+ZE1pa2UxDDAKBgNVBAoTA09yZzEYMBYGA1UEAxMPeWFsdWFuZG1pa2UuY29tggkA
+yIbgi4uKEnEwDQYJKoZIhvcNAQEEBQADgYEAEmZs9/1xZbKJOrqdOBFt4iJhUiD6
+2Svw/r2DRek6lILpZk5fmBZPGNaMGK2QcvQkQ8MJ67bB6dI81e4xYJm6K+1bTiGP
+ip9znjKbufLMKQFQ+NHJX+ev69C/+7RccZtUn0xa8jfoDLwLhtvuTmnRK201+GmQ
+ySk8ympybhaKa2Q=
+-----END CERTIFICATE-----
View
66 example/keys/MikeCA/ca.db.certs/05.pem
@@ -0,0 +1,66 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 5 (0x5)
+ Signature Algorithm: md5WithRSAEncryption
+ Issuer: C=US, ST=Massachusetts, L=Boston, O=YaluAndMike, O=Org, CN=yaluandmike.com
+ Validity
+ Not Before: Jan 24 16:48:08 2012 GMT
+ Not After : Jan 23 16:48:08 2013 GMT
+ Subject: C=US, ST=Massachusetts, L=Boston, O=YaluAndMike, O=Org, CN=*.bankofamerica.com
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:ef:f3:4d:f1:41:d2:8c:3d:c3:c0:83:83:93:42:
+ 90:b2:1e:cd:4f:a8:d2:0d:ac:70:d5:16:ec:94:fa:
+ 9e:0f:f6:5d:91:c2:1a:3c:e4:fe:e8:7d:41:ef:ad:
+ c3:e3:c0:38:42:f9:6f:90:a6:a3:e2:04:25:fc:23:
+ bc:40:b3:95:21:c1:6b:9c:55:6e:78:ae:0e:df:25:
+ 90:f9:f2:af:3c:04:4d:55:cd:e4:f6:9d:fc:77:de:
+ d3:59:df:a9:f5:7b:ac:b2:dc:28:4a:cf:e4:a2:c0:
+ 57:7d:c1:25:eb:99:0d:30:bb:5c:40:1a:22:10:65:
+ ef:63:d8:39:02:ec:15:4b:5b
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:FALSE
+ Netscape Comment:
+ OpenSSL Generated Certificate
+ X509v3 Subject Key Identifier:
+ 3D:EE:A7:CD:2B:5B:BD:E3:C1:08:BA:90:5D:3D:95:D8:75:A9:5E:E3
+ X509v3 Authority Key Identifier:
+ keyid:FC:90:77:9B:7A:51:29:78:A7:23:23:83:77:65:3A:0E:E9:EC:2F:66
+ DirName:/C=US/ST=Massachusetts/L=Boston/O=YaluAndMike/O=Org/CN=yaluandmike.com
+ serial:C8:86:E0:8B:8B:8A:12:71
+
+ Signature Algorithm: md5WithRSAEncryption
+ 9e:bd:dd:7b:f7:9a:be:2d:0b:61:8e:8f:22:58:0d:d4:0b:1a:
+ 7f:af:17:bd:92:a6:d5:fe:ea:63:88:99:57:01:ab:ed:72:73:
+ c2:d0:53:17:34:d3:e0:af:62:ec:d5:4e:2b:b0:82:65:96:6c:
+ bd:d7:96:c4:65:21:23:58:ef:87:40:ab:48:81:da:7a:1b:b4:
+ 67:42:6e:10:3a:99:a2:6f:8f:96:40:2c:ba:a4:f5:8c:5d:e6:
+ cd:13:f5:0a:a1:87:46:f7:69:6d:1f:80:12:e5:cf:c3:cf:72:
+ 2c:17:ff:20:5f:16:64:13:6b:7c:82:0c:c5:db:81:0d:cc:88:
+ e5:5d
+-----BEGIN CERTIFICATE-----
+MIIDaTCCAtKgAwIBAgIBBTANBgkqhkiG9w0BAQQFADB0MQswCQYDVQQGEwJVUzEW
+MBQGA1UECBMNTWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQwEgYDVQQK
+EwtZYWx1QW5kTWlrZTEMMAoGA1UEChMDT3JnMRgwFgYDVQQDEw95YWx1YW5kbWlr
+ZS5jb20wHhcNMTIwMTI0MTY0ODA4WhcNMTMwMTIzMTY0ODA4WjB4MQswCQYDVQQG
+EwJVUzEWMBQGA1UECBMNTWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQw
+EgYDVQQKEwtZYWx1QW5kTWlrZTEMMAoGA1UEChMDT3JnMRwwGgYDVQQDFBMqLmJh
+bmtvZmFtZXJpY2EuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDv803x
+QdKMPcPAg4OTQpCyHs1PqNINrHDVFuyU+p4P9l2Rwho85P7ofUHvrcPjwDhC+W+Q
+pqPiBCX8I7xAs5UhwWucVW54rg7fJZD58q88BE1VzeT2nfx33tNZ36n1e6yy3ChK
+z+SiwFd9wSXrmQ0wu1xAGiIQZe9j2DkC7BVLWwIDAQABo4IBBTCCAQEwCQYDVR0T
+BAIwADAsBglghkgBhvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0ZWQgQ2VydGlmaWNh
+dGUwHQYDVR0OBBYEFD3up80rW73jwQi6kF09ldh1qV7jMIGmBgNVHSMEgZ4wgZuA
+FPyQd5t6USl4pyMjg3dlOg7p7C9moXikdjB0MQswCQYDVQQGEwJVUzEWMBQGA1UE
+CBMNTWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQwEgYDVQQKEwtZYWx1
+QW5kTWlrZTEMMAoGA1UEChMDT3JnMRgwFgYDVQQDEw95YWx1YW5kbWlrZS5jb22C
+CQDIhuCLi4oScTANBgkqhkiG9w0BAQQFAAOBgQCevd1795q+LQthjo8iWA3UCxp/
+rxe9kqbV/upjiJlXAavtcnPC0FMXNNPgr2Ls1U4rsIJllmy915bEZSEjWO+HQKtI
+gdp6G7RnQm4QOpmib4+WQCy6pPWMXebNE/UKoYdG92ltH4AS5c/Dz3IsF/8gXxZk
+E2t8ggzF24ENzIjlXQ==
+-----END CERTIFICATE-----
View
66 example/keys/MikeCA/ca.db.certs/06.pem
@@ -0,0 +1,66 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 6 (0x6)
+ Signature Algorithm: md5WithRSAEncryption
+ Issuer: C=US, ST=Massachusetts, L=Boston, O=YaluAndMike, O=Org, CN=yaluandmike.com
+ Validity
+ Not Before: Jan 24 16:49:46 2012 GMT
+ Not After : Jan 23 16:49:46 2013 GMT
+ Subject: C=US, ST=Massachusetts, L=Boston, O=YaluAndMike, O=Org, CN=google.com
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:e4:6b:fa:1b:24:15:ea:1f:37:70:7f:9a:bf:3f:
+ 49:1c:ee:df:c3:ba:b6:b8:c4:56:9a:f8:09:a7:fb:
+ a0:63:9b:8c:a4:b5:02:ed:26:f3:eb:cb:aa:69:4e:
+ c7:f2:b1:56:b7:f6:4e:41:fc:aa:ee:9c:37:d4:2e:
+ 3b:f0:c4:20:f9:d7:89:36:00:34:68:1c:85:a1:e3:
+ f1:f6:59:48:23:13:f0:73:8c:b7:72:23:f6:c9:07:
+ bf:25:04:98:4e:01:cf:31:d1:df:9b:44:ec:6c:9a:
+ 40:62:77:8d:e0:79:35:02:61:5c:51:a2:d9:8c:bf:
+ 74:39:d9:66:c7:cd:53:0b:bb
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:FALSE
+ Netscape Comment:
+ OpenSSL Generated Certificate
+ X509v3 Subject Key Identifier:
+ B9:8B:1D:16:B1:7A:35:26:C0:60:D9:BC:5A:4C:7B:22:00:8E:CF:86
+ X509v3 Authority Key Identifier:
+ keyid:FC:90:77:9B:7A:51:29:78:A7:23:23:83:77:65:3A:0E:E9:EC:2F:66
+ DirName:/C=US/ST=Massachusetts/L=Boston/O=YaluAndMike/O=Org/CN=yaluandmike.com
+ serial:C8:86:E0:8B:8B:8A:12:71
+
+ Signature Algorithm: md5WithRSAEncryption
+ 4b:f2:62:75:99:4b:c0:29:08:e6:43:68:98:73:98:e6:72:fc:
+ f1:ae:40:30:15:f5:9d:de:0d:37:4e:2a:bf:24:a4:a3:c3:df:
+ c4:4e:1a:41:12:ec:15:ef:37:7e:41:2f:77:a1:1f:ec:c8:30:
+ 9a:a5:a4:7a:55:2b:3e:4a:2a:74:65:df:0b:fa:b7:6e:8a:d1:
+ 35:b4:27:0c:3a:cc:3d:f0:93:ab:05:66:05:b5:48:ce:d5:77:
+ 8f:7e:bc:d5:fd:48:59:ad:8b:ef:79:3e:9a:64:7c:c6:37:0c:
+ e9:46:9e:be:8a:27:74:9b:d5:51:59:fa:47:80:a5:c4:26:53:
+ 68:68
+-----BEGIN CERTIFICATE-----
+MIIDYDCCAsmgAwIBAgIBBjANBgkqhkiG9w0BAQQFADB0MQswCQYDVQQGEwJVUzEW
+MBQGA1UECBMNTWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQwEgYDVQQK
+EwtZYWx1QW5kTWlrZTEMMAoGA1UEChMDT3JnMRgwFgYDVQQDEw95YWx1YW5kbWlr
+ZS5jb20wHhcNMTIwMTI0MTY0OTQ2WhcNMTMwMTIzMTY0OTQ2WjBvMQswCQYDVQQG
+EwJVUzEWMBQGA1UECBMNTWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQw
+EgYDVQQKEwtZYWx1QW5kTWlrZTEMMAoGA1UEChMDT3JnMRMwEQYDVQQDEwpnb29n
+bGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDka/obJBXqHzdwf5q/
+P0kc7t/Dura4xFaa+Amn+6Bjm4yktQLtJvPry6ppTsfysVa39k5B/KrunDfULjvw
+xCD514k2ADRoHIWh4/H2WUgjE/BzjLdyI/bJB78lBJhOAc8x0d+bROxsmkBid43g
+eTUCYVxRotmMv3Q52WbHzVMLuwIDAQABo4IBBTCCAQEwCQYDVR0TBAIwADAsBglg
+hkgBhvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0O
+BBYEFLmLHRaxejUmwGDZvFpMeyIAjs+GMIGmBgNVHSMEgZ4wgZuAFPyQd5t6USl4
+pyMjg3dlOg7p7C9moXikdjB0MQswCQYDVQQGEwJVUzEWMBQGA1UECBMNTWFzc2Fj
+aHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQwEgYDVQQKEwtZYWx1QW5kTWlrZTEM
+MAoGA1UEChMDT3JnMRgwFgYDVQQDEw95YWx1YW5kbWlrZS5jb22CCQDIhuCLi4oS
+cTANBgkqhkiG9w0BAQQFAAOBgQBL8mJ1mUvAKQjmQ2iYc5jmcvzxrkAwFfWd3g03
+Tiq/JKSjw9/EThpBEuwV7zd+QS93oR/syDCapaR6VSs+Sip0Zd8L+rduitE1tCcM
+Osw98JOrBWYFtUjO1XePfrzV/UhZrYvveT6aZHzGNwzpRp6+iid0m9VRWfpHgKXE
+JlNoaA==
+-----END CERTIFICATE-----
View
66 example/keys/MikeCA/ca.db.certs/07.pem
@@ -0,0 +1,66 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 7 (0x7)
+ Signature Algorithm: md5WithRSAEncryption
+ Issuer: C=US, ST=Massachusetts, L=Boston, O=YaluAndMike, O=Org, CN=yaluandmike.com
+ Validity
+ Not Before: Jan 24 16:54:03 2012 GMT
+ Not After : Jan 23 16:54:03 2013 GMT
+ Subject: C=US, ST=Massachusetts, L=Boston, O=YaluAndMike, O=Org, CN=*.facebook.com
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:be:76:fb:e1:65:4e:64:62:6c:c4:67:0f:e3:57:
+ 27:da:34:e3:82:ce:4e:52:af:0d:74:32:0d:53:0b:
+ a7:77:b1:4e:1a:99:84:fe:15:d2:2b:cd:cd:7b:95:
+ ab:bc:2d:ce:3a:5a:83:14:7b:6c:66:5b:23:40:ae:
+ 16:c4:f8:0d:ad:2e:00:22:fc:b8:79:7b:92:b2:58:
+ a2:e3:28:01:05:b5:79:a4:0b:e6:c2:4d:78:87:de:
+ 7e:fe:59:8d:c1:c7:c5:ed:94:f4:8d:14:a7:af:0e:
+ 9a:35:8a:47:58:a1:5c:63:d5:bb:22:3f:e9:03:b6:
+ 7d:76:17:e4:34:cb:46:bb:73
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:FALSE
+ Netscape Comment:
+ OpenSSL Generated Certificate
+ X509v3 Subject Key Identifier:
+ 72:DE:C6:72:F4:91:78:AA:A9:01:33:07:C0:0C:8E:D3:1B:15:00:90
+ X509v3 Authority Key Identifier:
+ keyid:FC:90:77:9B:7A:51:29:78:A7:23:23:83:77:65:3A:0E:E9:EC:2F:66
+ DirName:/C=US/ST=Massachusetts/L=Boston/O=YaluAndMike/O=Org/CN=yaluandmike.com
+ serial:C8:86:E0:8B:8B:8A:12:71
+
+ Signature Algorithm: md5WithRSAEncryption
+ 5d:ed:7a:96:ea:c2:51:37:92:81:4a:8a:3c:bf:98:c0:47:c7:
+ 3b:a7:bc:4b:dd:14:6a:0d:49:84:91:b8:69:0e:e5:a9:dc:ba:
+ 8a:95:b4:be:f5:23:f0:b6:0c:21:ed:24:ba:f4:31:6f:58:59:
+ 85:00:ce:9e:cc:5f:12:42:2c:48:3e:d1:1c:62:64:2d:5e:33:
+ 4f:39:e6:13:06:06:98:9f:7b:46:3b:e4:5f:ea:0d:33:99:4d:
+ ab:03:e1:f6:86:ac:f2:53:67:d6:82:25:33:3d:a6:8e:cb:82:
+ 06:90:1e:f9:07:74:4f:20:98:22:b0:65:ba:78:07:ca:be:de:
+ 30:f9
+-----BEGIN CERTIFICATE-----
+MIIDZDCCAs2gAwIBAgIBBzANBgkqhkiG9w0BAQQFADB0MQswCQYDVQQGEwJVUzEW
+MBQGA1UECBMNTWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQwEgYDVQQK
+EwtZYWx1QW5kTWlrZTEMMAoGA1UEChMDT3JnMRgwFgYDVQQDEw95YWx1YW5kbWlr
+ZS5jb20wHhcNMTIwMTI0MTY1NDAzWhcNMTMwMTIzMTY1NDAzWjBzMQswCQYDVQQG
+EwJVUzEWMBQGA1UECBMNTWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQw
+EgYDVQQKEwtZYWx1QW5kTWlrZTEMMAoGA1UEChMDT3JnMRcwFQYDVQQDFA4qLmZh
+Y2Vib29rLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvnb74WVOZGJs
+xGcP41cn2jTjgs5OUq8NdDINUwund7FOGpmE/hXSK83Ne5WrvC3OOlqDFHtsZlsj
+QK4WxPgNrS4AIvy4eXuSslii4ygBBbV5pAvmwk14h95+/lmNwcfF7ZT0jRSnrw6a
+NYpHWKFcY9W7Ij/pA7Z9dhfkNMtGu3MCAwEAAaOCAQUwggEBMAkGA1UdEwQCMAAw
+LAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0G
+A1UdDgQWBBRy3sZy9JF4qqkBMwfADI7TGxUAkDCBpgYDVR0jBIGeMIGbgBT8kHeb
+elEpeKcjI4N3ZToO6ewvZqF4pHYwdDELMAkGA1UEBhMCVVMxFjAUBgNVBAgTDU1h
+c3NhY2h1c2V0dHMxDzANBgNVBAcTBkJvc3RvbjEUMBIGA1UEChMLWWFsdUFuZE1p
+a2UxDDAKBgNVBAoTA09yZzEYMBYGA1UEAxMPeWFsdWFuZG1pa2UuY29tggkAyIbg
+i4uKEnEwDQYJKoZIhvcNAQEEBQADgYEAXe16lurCUTeSgUqKPL+YwEfHO6e8S90U
+ag1JhJG4aQ7lqdy6ipW0vvUj8LYMIe0kuvQxb1hZhQDOnsxfEkIsSD7RHGJkLV4z
+TznmEwYGmJ97RjvkX+oNM5lNqwPh9oas8lNn1oIlMz2mjsuCBpAe+Qd0TyCYIrBl
+ungHyr7eMPk=
+-----END CERTIFICATE-----
View
66 example/keys/MikeCA/ca.db.certs/08.pem
@@ -0,0 +1,66 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 8 (0x8)
+ Signature Algorithm: md5WithRSAEncryption
+ Issuer: C=US, ST=Massachusetts, L=Boston, O=YaluAndMike, O=Org, CN=yaluandmike.com
+ Validity
+ Not Before: Jan 24 17:11:42 2012 GMT
+ Not After : Jan 23 17:11:42 2013 GMT
+ Subject: C=US, ST=Massachusetts, L=Boston, O=YaluAndMike, O=Org, CN=*.ak.facebook.com
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:e6:a0:b0:71:45:69:8d:1f:95:1e:65:51:24:90:
+ 38:d0:bf:4f:9f:a6:54:95:93:98:6f:55:90:dc:df:
+ 1d:c5:07:ab:7f:bd:fc:91:44:19:63:f1:9e:d4:a9:
+ 9d:f0:ed:ae:78:8d:a6:5d:54:7a:4a:e5:5c:1d:2e:
+ fc:c0:7c:ea:fa:83:9d:85:44:a6:03:68:08:34:b0:
+ 2f:0d:27:9b:2c:95:d8:fc:e2:16:7a:e8:6e:d9:c2:
+ 70:ae:1b:be:83:5d:76:76:9e:e8:c6:92:ab:29:cc:
+ 76:50:8e:cb:60:aa:40:ec:30:8a:db:41:16:2f:fd:
+ 5e:2d:7f:dd:f0:0c:3c:9a:51
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:FALSE
+ Netscape Comment:
+ OpenSSL Generated Certificate
+ X509v3 Subject Key Identifier:
+ C8:46:CC:EF:C0:AD:20:1B:F2:14:64:B3:42:00:1C:85:5D:F4:53:C3
+ X509v3 Authority Key Identifier:
+ keyid:FC:90:77:9B:7A:51:29:78:A7:23:23:83:77:65:3A:0E:E9:EC:2F:66
+ DirName:/C=US/ST=Massachusetts/L=Boston/O=YaluAndMike/O=Org/CN=yaluandmike.com
+ serial:C8:86:E0:8B:8B:8A:12:71
+
+ Signature Algorithm: md5WithRSAEncryption
+ 84:b3:4c:2e:4f:5a:19:0b:90:5c:a5:66:0e:97:39:9b:7d:be:
+ 29:27:d6:56:39:75:17:19:ab:7d:bc:82:b2:a9:82:95:d2:c2:
+ a2:8d:6d:60:21:79:68:e1:f3:e9:e3:ec:8f:21:21:34:df:dc:
+ 87:1b:7f:31:dd:62:da:fb:be:bb:8b:2d:28:1c:cf:e2:45:4a:
+ 77:ba:fb:4e:6d:5e:10:16:61:4e:89:3a:d7:1c:88:eb:a6:94:
+ d6:41:d7:1b:5a:f4:a9:b6:2c:f7:5f:a1:98:41:6d:ac:ac:dc:
+ d4:95:39:18:5f:64:4a:f7:6b:96:e6:87:c7:7b:34:6c:be:e7:
+ 46:26
+-----BEGIN CERTIFICATE-----
+MIIDZzCCAtCgAwIBAgIBCDANBgkqhkiG9w0BAQQFADB0MQswCQYDVQQGEwJVUzEW
+MBQGA1UECBMNTWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQwEgYDVQQK
+EwtZYWx1QW5kTWlrZTEMMAoGA1UEChMDT3JnMRgwFgYDVQQDEw95YWx1YW5kbWlr
+ZS5jb20wHhcNMTIwMTI0MTcxMTQyWhcNMTMwMTIzMTcxMTQyWjB2MQswCQYDVQQG
+EwJVUzEWMBQGA1UECBMNTWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQw
+EgYDVQQKEwtZYWx1QW5kTWlrZTEMMAoGA1UEChMDT3JnMRowGAYDVQQDFBEqLmFr
+LmZhY2Vib29rLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA5qCwcUVp
+jR+VHmVRJJA40L9Pn6ZUlZOYb1WQ3N8dxQerf738kUQZY/Ge1Kmd8O2ueI2mXVR6
+SuVcHS78wHzq+oOdhUSmA2gINLAvDSebLJXY/OIWeuhu2cJwrhu+g112dp7oxpKr
+Kcx2UI7LYKpA7DCK20EWL/1eLX/d8Aw8mlECAwEAAaOCAQUwggEBMAkGA1UdEwQC
+MAAwLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRl
+MB0GA1UdDgQWBBTIRszvwK0gG/IUZLNCAByFXfRTwzCBpgYDVR0jBIGeMIGbgBT8
+kHebelEpeKcjI4N3ZToO6ewvZqF4pHYwdDELMAkGA1UEBhMCVVMxFjAUBgNVBAgT
+DU1hc3NhY2h1c2V0dHMxDzANBgNVBAcTBkJvc3RvbjEUMBIGA1UEChMLWWFsdUFu
+ZE1pa2UxDDAKBgNVBAoTA09yZzEYMBYGA1UEAxMPeWFsdWFuZG1pa2UuY29tggkA
+yIbgi4uKEnEwDQYJKoZIhvcNAQEEBQADgYEAhLNMLk9aGQuQXKVmDpc5m32+KSfW
+Vjl1FxmrfbyCsqmCldLCoo1tYCF5aOHz6ePsjyEhNN/chxt/Md1i2vu+u4stKBzP
+4kVKd7r7Tm1eEBZhTok61xyI66aU1kHXG1r0qbYs91+hmEFtrKzc1JU5GF9kSvdr
+luaHx3s0bL7nRiY=
+-----END CERTIFICATE-----
View
8 example/keys/MikeCA/ca.db.index
@@ -0,0 +1,8 @@
+V 130123151438Z 01 unknown /C=US/ST=Massachusetts/L=Boston/O=YaluAndMike/O=Org/CN=default
+V 130123161116Z 02 unknown /C=US/ST=Massachusetts/L=Boston/O=YaluAndMike/O=Org/CN=*.google.com
+V 130123161133Z 03 unknown /C=US/ST=Massachusetts/L=Boston/O=YaluAndMike/O=Org/CN=www.facebook.com
+V 130123163740Z 04 unknown /C=US/ST=Massachusetts/L=Boston/O=YaluAndMike/O=Org/CN=*.yaluandmike.com
+V 130123164808Z 05 unknown /C=US/ST=Massachusetts/L=Boston/O=YaluAndMike/O=Org/CN=*.bankofamerica.com
+V 130123164946Z 06 unknown /C=US/ST=Massachusetts/L=Boston/O=YaluAndMike/O=Org/CN=google.com
+V 130123165403Z 07 unknown /C=US/ST=Massachusetts/L=Boston/O=YaluAndMike/O=Org/CN=*.facebook.com
+V 130123171142Z 08 unknown /C=US/ST=Massachusetts/L=Boston/O=YaluAndMike/O=Org/CN=*.ak.facebook.com
View
1 example/keys/MikeCA/ca.db.index.attr
@@ -0,0 +1 @@
+unique_subject = yes
View
1 example/keys/MikeCA/ca.db.index.attr.old
@@ -0,0 +1 @@
+unique_subject = yes
View
7 example/keys/MikeCA/ca.db.index.old
@@ -0,0 +1,7 @@
+V 130123151438Z 01 unknown /C=US/ST=Massachusetts/L=Boston/O=YaluAndMike/O=Org/CN=default
+V 130123161116Z 02 unknown /C=US/ST=Massachusetts/L=Boston/O=YaluAndMike/O=Org/CN=*.google.com
+V 130123161133Z 03 unknown /C=US/ST=Massachusetts/L=Boston/O=YaluAndMike/O=Org/CN=www.facebook.com
+V 130123163740Z 04 unknown /C=US/ST=Massachusetts/L=Boston/O=YaluAndMike/O=Org/CN=*.yaluandmike.com
+V 130123164808Z 05 unknown /C=US/ST=Massachusetts/L=Boston/O=YaluAndMike/O=Org/CN=*.bankofamerica.com
+V 130123164946Z 06 unknown /C=US/ST=Massachusetts/L=Boston/O=YaluAndMike/O=Org/CN=google.com
+V 130123165403Z 07 unknown /C=US/ST=Massachusetts/L=Boston/O=YaluAndMike/O=Org/CN=*.facebook.com
View
1 example/keys/MikeCA/ca.db.rand
@@ -0,0 +1 @@
+32
View
1 example/keys/MikeCA/ca.db.serial
@@ -0,0 +1 @@
+09
View
1 example/keys/MikeCA/ca.db.serial.old
@@ -0,0 +1 @@
+08
View
20 example/keys/MikeCA/signing-ca-1.crt
@@ -0,0 +1,20 @@
+-----BEGIN CERTIFICATE-----
+MIIDQDCCAqmgAwIBAgIJAMiG4IuLihJxMA0GCSqGSIb3DQEBBQUAMHQxCzAJBgNV
+BAYTAlVTMRYwFAYDVQQIEw1NYXNzYWNodXNldHRzMQ8wDQYDVQQHEwZCb3N0b24x
+FDASBgNVBAoTC1lhbHVBbmRNaWtlMQwwCgYDVQQKEwNPcmcxGDAWBgNVBAMTD3lh
+bHVhbmRtaWtlLmNvbTAeFw0xMjAxMjQxNTEzMzFaFw0yMjAxMjExNTEzMzFaMHQx
+CzAJBgNVBAYTAlVTMRYwFAYDVQQIEw1NYXNzYWNodXNldHRzMQ8wDQYDVQQHEwZC
+b3N0b24xFDASBgNVBAoTC1lhbHVBbmRNaWtlMQwwCgYDVQQKEwNPcmcxGDAWBgNV
+BAMTD3lhbHVhbmRtaWtlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA
+okxE+DHqFf/9KkJlyj6NbcP1gt3nfpvFnXZctjlg8jtB9+UQnIklNrCxmWexCrGP
+7Yx1uZcfGkob4P3ED6ZT82ZDpvrD6F/YYfoOrGMS9b5dTYCEFq6C7y4joAI2BoTm
+4mJQPI+hhHdv151DR/mddtb3vfh45Roexp+ZOlrSx2MCAwEAAaOB2TCB1jAdBgNV
+HQ4EFgQU/JB3m3pRKXinIyODd2U6DunsL2YwgaYGA1UdIwSBnjCBm4AU/JB3m3pR
+KXinIyODd2U6DunsL2aheKR2MHQxCzAJBgNVBAYTAlVTMRYwFAYDVQQIEw1NYXNz
+YWNodXNldHRzMQ8wDQYDVQQHEwZCb3N0b24xFDASBgNVBAoTC1lhbHVBbmRNaWtl
+MQwwCgYDVQQKEwNPcmcxGDAWBgNVBAMTD3lhbHVhbmRtaWtlLmNvbYIJAMiG4IuL
+ihJxMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADgYEAfAIX2GH94zN67usE
+xUSr6mrkuFNeF8fs6/2kdyqYNTxSDxOhT5tofaNGIbTyqZ+DnFQuDIKDFNDH1npM
+7ecnkFwnPa/OyKNnGmj/j9MejudMcB+QDijSKAAuqo4oJcogg3KUJC7I0HNRy+Mg
+6/LwIcNAbHlwyKcmJdnauyMFoD0=
+-----END CERTIFICATE-----
View
18 example/keys/MikeCA/signing-ca-1.key
@@ -0,0 +1,18 @@
+-----BEGIN RSA PRIVATE KEY-----
+Proc-Type: 4,ENCRYPTED
+DEK-Info: DES-EDE3-CBC,C785DE447FCD4AD4
+
+PvnWjxrnWivKoxXHu9chT1E8+0Un1l2dzjjX3+a05JoC4iOdR9kAZIG+4PdzlQAI
+udunLDgRpwo6vsNQ6zYXPWz259lx3176uhAn59Nk83l/6aeG1isdpPfYhu2Tvmlh
+cmgTIk7U6l/swrxS+8AYQ6dpi6iGK0df7H+QZ/4Qn9gi7ubu05qumnmMeyKYSnhu
+oHXiOAM5cZoZ8iqEvwP0ONQWNjsTukczuMKjOUGK9MpvywVm+ls97yd1p2dcGGMy
+1LxKJJRde6Tq+LnOC5jXR5NNx7fUX9ZzVd1emJmYjRXouAibbVHe7txANFCVQx3K
+Thk67b2FRohGP2kvRoq0toovxdFgdPn1cKMSHnd6sm6mpcjyxfRK6tLID7OVufOt
+1LFXIzrBD4grVuL7cOesiqe6AVKDulCTHTG+9YK49WhpWEEf4oL/8tHyMMWvbf8V
+4Pp6MaLVi3tjFeDcqKYTlcy5FFc2dLHvUhWRti1vRyGlCx7K7a1M35rBlGC14dcG
+rCfgerZoYjHJs4YN44pAtXTwLRV0F8RHt+kcbL4BuKA/ki+Js9+sjwpMHS23/eoh
+r8XQyvWsJ8Wb7VKxSX8pu0sHK6RW+nAgdmQd+wQQ4IqjM6oAWNRM5BIgGc+MYKxV
+00LAYGhGjVoh6a5Z48bs+SXSXvqmimlsGGdtMtu8d32SmHPNxXIhpDxUurucEum4
+xQBU1jrQLQ9RynCqZm178b42po+lMKIpwTVcpPw4fzO2gR2URmfI2nMGDL1lAsYL
+dXuwPnPhgqRk8IlMmiNKgOvZqOU4HqRPJP2d3T/Cd/6nABUUp7X94Q==
+-----END RSA PRIVATE KEY-----
View
15 example/keys/MikeCA/signing-ca-1.key.free
@@ -0,0 +1,15 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICXgIBAAKBgQCiTET4MeoV//0qQmXKPo1tw/WC3ed+m8Wddly2OWDyO0H35RCc
+iSU2sLGZZ7EKsY/tjHW5lx8aShvg/cQPplPzZkOm+sPoX9hh+g6sYxL1vl1NgIQW
+roLvLiOgAjYGhObiYlA8j6GEd2/XnUNH+Z121ve9+HjlGh7Gn5k6WtLHYwIDAQAB
+AoGATEbOL1u+KaLLCB52mou1in4Ll/rUvsNVKAEl55ql/pJtGaW1newy6jY28eMy
+6NS00S8vcQ8eVgu4eJCrobNJRp7ak1Yr/Az1kUXZu0stfI5pNTVygmBBA2hINRK6
+mlmFpflwYsXxAXaHng3X3/3Zk6NJ3Xh5cvqpGij9yqxR7uECQQDV4IvEIEVYf0Hn
+1iqoiNllY2BmE/ljHjBIEQ/t9eQV39YrhwU3bdFI7AQYbcTuJDiLGQ932unCvZU9
+I9qtgmWTAkEAwkMn1zAuWn2NY0YNnFAMo8wxDU7paqZIt1lSwguDpr0uFRJnn3MD
+UOHKUHbhJAMzVbCUiOM8sW7mYa+ZF2M48QJBAM7XU7RAlXAp2n4xFJ5bgwvX2QG/
+rX8bUgxQW/yBwq0ZBdKgyP27OhzxDGDnv/2jj/+OI/SBBXPtz2gKxdDp+/sCQQCo
+oBKdQD18Xy+z1MNLxFC0fjK2EqGa6eyE+wxTVBtbSSwPLoK0bema8+PiJM8Zq42L
+/FNy3413l4RzlzGUk5SBAkEA1XnGbI+827uIpslN8Nbov7/7lkRGqe7gSCYCqjpl
+PZUS4eroWX0HPw1K1nclxLzfrufR0jifTyOC8E/uqB4UWw==
+-----END RSA PRIVATE KEY-----
View
66 example/keys/default.crt
@@ -0,0 +1,66 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 1 (0x1)
+ Signature Algorithm: md5WithRSAEncryption
+ Issuer: C=US, ST=Massachusetts, L=Boston, O=YaluAndMike, O=Org, CN=yaluandmike.com
+ Validity
+ Not Before: Jan 24 15:14:38 2012 GMT
+ Not After : Jan 23 15:14:38 2013 GMT
+ Subject: C=US, ST=Massachusetts, L=Boston, O=YaluAndMike, O=Org, CN=default
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:c5:c0:ab:12:5f:bb:69:26:e0:36:44:8b:58:bb:
+ 9a:d6:7b:35:71:5f:1a:3b:c9:a5:44:c2:72:05:6e:
+ 69:12:9c:15:ac:3e:63:76:2a:19:6d:6c:7e:e2:08:
+ 1b:cb:39:ee:70:10:1c:6e:43:95:d1:ac:73:62:d7:
+ b9:0a:a5:aa:8c:79:34:54:6c:b2:d4:5c:23:28:c8:
+ 63:29:f3:03:e6:57:19:ae:bf:26:97:f4:bc:97:88:
+ 2e:4f:85:1e:9c:9f:0e:ad:00:35:17:79:f7:90:0f:
+ af:cc:40:b8:30:1a:a8:52:59:e1:c4:41:fc:e6:bd:
+ 51:4f:60:f6:ec:a7:f4:40:7f
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:FALSE
+ Netscape Comment:
+ OpenSSL Generated Certificate
+ X509v3 Subject Key Identifier:
+ B2:C8:1C:3D:48:FD:B2:64:06:2A:EC:D3:D7:C2:4B:A8:7E:A8:3F:7B
+ X509v3 Authority Key Identifier:
+ keyid:FC:90:77:9B:7A:51:29:78:A7:23:23:83:77:65:3A:0E:E9:EC:2F:66
+ DirName:/C=US/ST=Massachusetts/L=Boston/O=YaluAndMike/O=Org/CN=yaluandmike.com
+ serial:C8:86:E0:8B:8B:8A:12:71
+
+ Signature Algorithm: md5WithRSAEncryption
+ 19:94:b1:20:5d:1c:21:36:d1:94:e8:db:a6:c4:a2:9b:8a:f1:
+ 11:f0:ea:0f:0b:8a:0f:bc:cf:f1:9f:18:ba:00:67:7e:28:32:
+ d1:9e:9a:a7:8c:9f:cc:ce:f2:e6:8d:38:3d:78:c3:7c:c2:f1:
+ 9e:0b:59:c4:db:af:36:a9:f0:4c:8b:1e:da:3c:c0:01:6f:a6:
+ d2:3c:37:cd:62:80:8f:45:ae:37:20:35:cb:fb:56:78:04:e3:
+ 5c:f4:89:f9:16:d5:2d:3e:bc:83:33:7b:71:38:f4:01:2e:1a:
+ f2:0f:e4:e9:8a:d3:40:dc:dd:5b:a8:42:4a:f3:cf:5e:eb:ee:
+ 55:40
+-----BEGIN CERTIFICATE-----
+MIIDXTCCAsagAwIBAgIBATANBgkqhkiG9w0BAQQFADB0MQswCQYDVQQGEwJVUzEW
+MBQGA1UECBMNTWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQwEgYDVQQK
+EwtZYWx1QW5kTWlrZTEMMAoGA1UEChMDT3JnMRgwFgYDVQQDEw95YWx1YW5kbWlr
+ZS5jb20wHhcNMTIwMTI0MTUxNDM4WhcNMTMwMTIzMTUxNDM4WjBsMQswCQYDVQQG
+EwJVUzEWMBQGA1UECBMNTWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQw
+EgYDVQQKEwtZYWx1QW5kTWlrZTEMMAoGA1UEChMDT3JnMRAwDgYDVQQDEwdkZWZh
+dWx0MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDFwKsSX7tpJuA2RItYu5rW
+ezVxXxo7yaVEwnIFbmkSnBWsPmN2KhltbH7iCBvLOe5wEBxuQ5XRrHNi17kKpaqM
+eTRUbLLUXCMoyGMp8wPmVxmuvyaX9LyXiC5PhR6cnw6tADUXefeQD6/MQLgwGqhS
+WeHEQfzmvVFPYPbsp/RAfwIDAQABo4IBBTCCAQEwCQYDVR0TBAIwADAsBglghkgB
+hvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0OBBYE
+FLLIHD1I/bJkBirs09fCS6h+qD97MIGmBgNVHSMEgZ4wgZuAFPyQd5t6USl4pyMj
+g3dlOg7p7C9moXikdjB0MQswCQYDVQQGEwJVUzEWMBQGA1UECBMNTWFzc2FjaHVz
+ZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQwEgYDVQQKEwtZYWx1QW5kTWlrZTEMMAoG
+A1UEChMDT3JnMRgwFgYDVQQDEw95YWx1YW5kbWlrZS5jb22CCQDIhuCLi4oScTAN
+BgkqhkiG9w0BAQQFAAOBgQAZlLEgXRwhNtGU6NumxKKbivER8OoPC4oPvM/xnxi6
+AGd+KDLRnpqnjJ/MzvLmjTg9eMN8wvGeC1nE2682qfBMix7aPMABb6bSPDfNYoCP
+Ra43IDXL+1Z4BONc9In5FtUtPryDM3txOPQBLhryD+TpitNA3N1bqEJK889e6+5V
+QA==
+-----END CERTIFICATE-----
View
15 example/keys/default.key
@@ -0,0 +1,15 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICXAIBAAKBgQDFwKsSX7tpJuA2RItYu5rWezVxXxo7yaVEwnIFbmkSnBWsPmN2
+KhltbH7iCBvLOe5wEBxuQ5XRrHNi17kKpaqMeTRUbLLUXCMoyGMp8wPmVxmuvyaX
+9LyXiC5PhR6cnw6tADUXefeQD6/MQLgwGqhSWeHEQfzmvVFPYPbsp/RAfwIDAQAB
+AoGAffiiAW5iYDWXlnpLmhbIJ+EMxk+i0ns9gHOtVrBi1qv/Ul3b1iYzVHVMzogD
+zI32ygQ5WDRNd+e3CTwKcDHgVcQIYHcNhmxU8ltorLDN5UA5En500Pjd8GMt0XmA
+DxSOuE9CI9g721x1NzNlu2CScMhuwlwamRb3l6xaz8Js4MECQQD1yZzkvs+CGDxa
++41uCqYF3N6YegTpaQYciHAAoTHNQFgqPYgzZbU3QuYKBvijg/gYL81k7UxmlFqd
+0/wc+LjpAkEAzfgeVPi4JBKJCYg7sqdW2H7y4sKOGpCo76UPRykDLzj5bpDj9Ore
+scP55+0+lsWqa+LnwtvqMVpiy7TCM6JNJwJAByXv7C8odc4iozrBqDujDHSZ/LE/
+x1IInXfSWhJWEnQWnFPhzCzfElZdvljpjkfeRUXOoWrNWAZkhEaQBH+vUQJANHM3
+vimsMrtpnDzN/vuwGOeTEH281DT8YDJnRpbCEddvZWGOO0NIPHqMfCwlIR3q/RhG
+Lo/z/mdm+zrnrWBqRwJBALaM2+KybGKX79or7eHdHlVN2383En+KbEuxfH9vHyEg
+UPJFNCc4LOWEF36x5Z/IUM/Or2GZr0L+NWZQCaiUrOA=
+-----END RSA PRIVATE KEY-----
View
15 example/keys/default.key.free
@@ -0,0 +1,15 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICXAIBAAKBgQDFwKsSX7tpJuA2RItYu5rWezVxXxo7yaVEwnIFbmkSnBWsPmN2
+KhltbH7iCBvLOe5wEBxuQ5XRrHNi17kKpaqMeTRUbLLUXCMoyGMp8wPmVxmuvyaX
+9LyXiC5PhR6cnw6tADUXefeQD6/MQLgwGqhSWeHEQfzmvVFPYPbsp/RAfwIDAQAB
+AoGAffiiAW5iYDWXlnpLmhbIJ+EMxk+i0ns9gHOtVrBi1qv/Ul3b1iYzVHVMzogD
+zI32ygQ5WDRNd+e3CTwKcDHgVcQIYHcNhmxU8ltorLDN5UA5En500Pjd8GMt0XmA
+DxSOuE9CI9g721x1NzNlu2CScMhuwlwamRb3l6xaz8Js4MECQQD1yZzkvs+CGDxa
++41uCqYF3N6YegTpaQYciHAAoTHNQFgqPYgzZbU3QuYKBvijg/gYL81k7UxmlFqd
+0/wc+LjpAkEAzfgeVPi4JBKJCYg7sqdW2H7y4sKOGpCo76UPRykDLzj5bpDj9Ore
+scP55+0+lsWqa+LnwtvqMVpiy7TCM6JNJwJAByXv7C8odc4iozrBqDujDHSZ/LE/
+x1IInXfSWhJWEnQWnFPhzCzfElZdvljpjkfeRUXOoWrNWAZkhEaQBH+vUQJANHM3
+vimsMrtpnDzN/vuwGOeTEH281DT8YDJnRpbCEddvZWGOO0NIPHqMfCwlIR3q/RhG
+Lo/z/mdm+zrnrWBqRwJBALaM2+KybGKX79or7eHdHlVN2383En+KbEuxfH9vHyEg
+UPJFNCc4LOWEF36x5Z/IUM/Or2GZr0L+NWZQCaiUrOA=
+-----END RSA PRIVATE KEY-----
View
11 example/keys/default.req
@@ -0,0 +1,11 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIIBrDCCARUCAQAwbDELMAkGA1UEBhMCVVMxFjAUBgNVBAgTDU1hc3NhY2h1c2V0
+dHMxDzANBgNVBAcTBkJvc3RvbjEUMBIGA1UEChMLWWFsdUFuZE1pa2UxDDAKBgNV
+BAoTA09yZzEQMA4GA1UEAxMHZGVmYXVsdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAw
+gYkCgYEAxcCrEl+7aSbgNkSLWLua1ns1cV8aO8mlRMJyBW5pEpwVrD5jdioZbWx+
+4ggbyznucBAcbkOV0axzYte5CqWqjHk0VGyy1FwjKMhjKfMD5lcZrr8ml/S8l4gu
+T4UenJ8OrQA1F3n3kA+vzEC4MBqoUlnhxEH85r1RT2D27Kf0QH8CAwEAAaAAMA0G
+CSqGSIb3DQEBBQUAA4GBAD9+BpImUcCQe27Evj/WoEQ4m+5iMgZU4lAsUeyYJCn/
+w8X7XwDvVAmsBNwNm1wrhlG3nTRWrpQ7g11l4A7M54VwN6aMFUG5nFUJCXcVuhi0
+9r6dCc+6ffQE4uIsqQCrC26dlh2Q5S48FhTP76uxKZIXvhPcSKrkbba9n8GkiB50
+-----END CERTIFICATE REQUEST-----
View
6 example/keys/genKey.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+HOST="$1"
+
+openssl req -newkey rsa:1024 -keyout $HOST.key -nodes -config openssl.cnf -out $HOST.req
+openssl ca -config openssl.cnf -out $HOST.crt -infiles $HOST.req
+openssl rsa -in $HOST.key -out $HOST.key.free
View
66 example/keys/google.com.crt
@@ -0,0 +1,66 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 6 (0x6)
+ Signature Algorithm: md5WithRSAEncryption
+ Issuer: C=US, ST=Massachusetts, L=Boston, O=YaluAndMike, O=Org, CN=yaluandmike.com
+ Validity
+ Not Before: Jan 24 16:49:46 2012 GMT
+ Not After : Jan 23 16:49:46 2013 GMT
+ Subject: C=US, ST=Massachusetts, L=Boston, O=YaluAndMike, O=Org, CN=google.com
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:e4:6b:fa:1b:24:15:ea:1f:37:70:7f:9a:bf:3f:
+ 49:1c:ee:df:c3:ba:b6:b8:c4:56:9a:f8:09:a7:fb:
+ a0:63:9b:8c:a4:b5:02:ed:26:f3:eb:cb:aa:69:4e:
+ c7:f2:b1:56:b7:f6:4e:41:fc:aa:ee:9c:37:d4:2e:
+ 3b:f0:c4:20:f9:d7:89:36:00:34:68:1c:85:a1:e3:
+ f1:f6:59:48:23:13:f0:73:8c:b7:72:23:f6:c9:07:
+ bf:25:04:98:4e:01:cf:31:d1:df:9b:44:ec:6c:9a:
+ 40:62:77:8d:e0:79:35:02:61:5c:51:a2:d9:8c:bf:
+ 74:39:d9:66:c7:cd:53:0b:bb
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:FALSE
+ Netscape Comment:
+ OpenSSL Generated Certificate
+ X509v3 Subject Key Identifier:
+ B9:8B:1D:16:B1:7A:35:26:C0:60:D9:BC:5A:4C:7B:22:00:8E:CF:86
+ X509v3 Authority Key Identifier:
+ keyid:FC:90:77:9B:7A:51:29:78:A7:23:23:83:77:65:3A:0E:E9:EC:2F:66
+ DirName:/C=US/ST=Massachusetts/L=Boston/O=YaluAndMike/O=Org/CN=yaluandmike.com
+ serial:C8:86:E0:8B:8B:8A:12:71
+
+ Signature Algorithm: md5WithRSAEncryption
+ 4b:f2:62:75:99:4b:c0:29:08:e6:43:68:98:73:98:e6:72:fc:
+ f1:ae:40:30:15:f5:9d:de:0d:37:4e:2a:bf:24:a4:a3:c3:df:
+ c4:4e:1a:41:12:ec:15:ef:37:7e:41:2f:77:a1:1f:ec:c8:30:
+ 9a:a5:a4:7a:55:2b:3e:4a:2a:74:65:df:0b:fa:b7:6e:8a:d1:
+ 35:b4:27:0c:3a:cc:3d:f0:93:ab:05:66:05:b5:48:ce:d5:77:
+ 8f:7e:bc:d5:fd:48:59:ad:8b:ef:79:3e:9a:64:7c:c6:37:0c:
+ e9:46:9e:be:8a:27:74:9b:d5:51:59:fa:47:80:a5:c4:26:53:
+ 68:68
+-----BEGIN CERTIFICATE-----
+MIIDYDCCAsmgAwIBAgIBBjANBgkqhkiG9w0BAQQFADB0MQswCQYDVQQGEwJVUzEW
+MBQGA1UECBMNTWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQwEgYDVQQK
+EwtZYWx1QW5kTWlrZTEMMAoGA1UEChMDT3JnMRgwFgYDVQQDEw95YWx1YW5kbWlr
+ZS5jb20wHhcNMTIwMTI0MTY0OTQ2WhcNMTMwMTIzMTY0OTQ2WjBvMQswCQYDVQQG
+EwJVUzEWMBQGA1UECBMNTWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQw
+EgYDVQQKEwtZYWx1QW5kTWlrZTEMMAoGA1UEChMDT3JnMRMwEQYDVQQDEwpnb29n
+bGUuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDka/obJBXqHzdwf5q/
+P0kc7t/Dura4xFaa+Amn+6Bjm4yktQLtJvPry6ppTsfysVa39k5B/KrunDfULjvw
+xCD514k2ADRoHIWh4/H2WUgjE/BzjLdyI/bJB78lBJhOAc8x0d+bROxsmkBid43g
+eTUCYVxRotmMv3Q52WbHzVMLuwIDAQABo4IBBTCCAQEwCQYDVR0TBAIwADAsBglg
+hkgBhvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUwHQYDVR0O
+BBYEFLmLHRaxejUmwGDZvFpMeyIAjs+GMIGmBgNVHSMEgZ4wgZuAFPyQd5t6USl4
+pyMjg3dlOg7p7C9moXikdjB0MQswCQYDVQQGEwJVUzEWMBQGA1UECBMNTWFzc2Fj
+aHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQwEgYDVQQKEwtZYWx1QW5kTWlrZTEM
+MAoGA1UEChMDT3JnMRgwFgYDVQQDEw95YWx1YW5kbWlrZS5jb22CCQDIhuCLi4oS
+cTANBgkqhkiG9w0BAQQFAAOBgQBL8mJ1mUvAKQjmQ2iYc5jmcvzxrkAwFfWd3g03
+Tiq/JKSjw9/EThpBEuwV7zd+QS93oR/syDCapaR6VSs+Sip0Zd8L+rduitE1tCcM
+Osw98JOrBWYFtUjO1XePfrzV/UhZrYvveT6aZHzGNwzpRp6+iid0m9VRWfpHgKXE
+JlNoaA==
+-----END CERTIFICATE-----
View
15 example/keys/google.com.key
@@ -0,0 +1,15 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICWwIBAAKBgQDka/obJBXqHzdwf5q/P0kc7t/Dura4xFaa+Amn+6Bjm4yktQLt
+JvPry6ppTsfysVa39k5B/KrunDfULjvwxCD514k2ADRoHIWh4/H2WUgjE/BzjLdy
+I/bJB78lBJhOAc8x0d+bROxsmkBid43geTUCYVxRotmMv3Q52WbHzVMLuwIDAQAB
+AoGAQuJzK7tXR2S4oRJcR5/KUtSHZRKpKlUjXuE+QpflkQUdG6V9I+ACEItkbM2K
+sr/Gurs+kwffLVtE5bZcCtYDKVeV1OBnBUz+Rdeqhh2CGY6QQ4Q75pAeCjIA98TD
+gjZnPwD+hH1ycsfSH3yDUuenTvrZUIszWhL9wIryi0Lu9oECQQD2LYJPTm160AEs
+3FaNf9OXF1QK6EwW49Se3dyup7QIstCjs9ASf7SS435tF58yCQ8oLWbXgsICXcbZ
+taDFjCubAkEA7YkbJ7VRUQ9RExL8WbheNN3KhdiAvPG7toFDIvaC8u2d0nMeJbZT
+1vPHUvgJedXRGMoE9geByhVcjRWg8NryYQJAK2438RnbArGzo2Bz/J6yi5NYBlyZ
+H+it2CE4D7ASeP5jBJ5ydPEGwGtWIJTsRv2GKQZpgFfXNmeo7zu102Q5RQJAY+wm
+OTkEIRZRY7W75D4zmwel91IRLep+rZKI3H9YrLqahnoYt4KQmD7qnZNr4Q26LTRm
+i9yyk4ES8uKjVk60YQJABRDCUtLGfswcsjcX0lgZ2/jzh1dik9uzf0n3VGaqzfRl
+/XMY730aXzHwDhR21mrLfnxXeqtkEbgIGdfnpsoENg==
+-----END RSA PRIVATE KEY-----
View
15 example/keys/google.com.key.free
@@ -0,0 +1,15 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICWwIBAAKBgQDka/obJBXqHzdwf5q/P0kc7t/Dura4xFaa+Amn+6Bjm4yktQLt
+JvPry6ppTsfysVa39k5B/KrunDfULjvwxCD514k2ADRoHIWh4/H2WUgjE/BzjLdy
+I/bJB78lBJhOAc8x0d+bROxsmkBid43geTUCYVxRotmMv3Q52WbHzVMLuwIDAQAB
+AoGAQuJzK7tXR2S4oRJcR5/KUtSHZRKpKlUjXuE+QpflkQUdG6V9I+ACEItkbM2K
+sr/Gurs+kwffLVtE5bZcCtYDKVeV1OBnBUz+Rdeqhh2CGY6QQ4Q75pAeCjIA98TD
+gjZnPwD+hH1ycsfSH3yDUuenTvrZUIszWhL9wIryi0Lu9oECQQD2LYJPTm160AEs
+3FaNf9OXF1QK6EwW49Se3dyup7QIstCjs9ASf7SS435tF58yCQ8oLWbXgsICXcbZ
+taDFjCubAkEA7YkbJ7VRUQ9RExL8WbheNN3KhdiAvPG7toFDIvaC8u2d0nMeJbZT
+1vPHUvgJedXRGMoE9geByhVcjRWg8NryYQJAK2438RnbArGzo2Bz/J6yi5NYBlyZ
+H+it2CE4D7ASeP5jBJ5ydPEGwGtWIJTsRv2GKQZpgFfXNmeo7zu102Q5RQJAY+wm
+OTkEIRZRY7W75D4zmwel91IRLep+rZKI3H9YrLqahnoYt4KQmD7qnZNr4Q26LTRm
+i9yyk4ES8uKjVk60YQJABRDCUtLGfswcsjcX0lgZ2/jzh1dik9uzf0n3VGaqzfRl
+/XMY730aXzHwDhR21mrLfnxXeqtkEbgIGdfnpsoENg==
+-----END RSA PRIVATE KEY-----
View
12 example/keys/google.com.req
@@ -0,0 +1,12 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIIBrzCCARgCAQAwbzELMAkGA1UEBhMCVVMxFjAUBgNVBAgTDU1hc3NhY2h1c2V0
+dHMxDzANBgNVBAcTBkJvc3RvbjEUMBIGA1UEChMLWWFsdUFuZE1pa2UxDDAKBgNV
+BAoTA09yZzETMBEGA1UEAxMKZ29vZ2xlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOB
+jQAwgYkCgYEA5Gv6GyQV6h83cH+avz9JHO7fw7q2uMRWmvgJp/ugY5uMpLUC7Sbz
+68uqaU7H8rFWt/ZOQfyq7pw31C478MQg+deJNgA0aByFoePx9llIIxPwc4y3ciP2
+yQe/JQSYTgHPMdHfm0TsbJpAYneN4Hk1AmFcUaLZjL90Odlmx81TC7sCAwEAAaAA
+MA0GCSqGSIb3DQEBBQUAA4GBALV8ZYRU5K8Mp+phqe1oR9tmfEk5rnbxJSJSWYiu
+BZDAX4pyAWpZnsAqitH6oUGpJTR82l2xYTuVR2lQW/qnKEnlfAgnR4arPdLnKW63
+1Ehy1u18sCiRQJAF5A9IYAuVJMJTjLeShqhFYd6Kxmg0PAFOc7h3/CYP5zv21kEq
+qjh8
+-----END CERTIFICATE REQUEST-----
View
41 example/keys/mk_new_ca_dir.pl
@@ -0,0 +1,41 @@
+#!/usr/bin/perl -w
+
+# Specify directory name on command line or
+# use default.
+$ca_root_dir = shift || "CondorRootCA";
+
+# Create directory for CA files.
+if(not -d $ca_root_dir) {
+ mkdir $ca_root_dir, 0700
+ or die "Can't create '$ca_root_dir' directory: $!.";
+}
+
+# Create directory for certificate files.
+if(not -d "$ca_root_dir/ca.db.certs") {
+ mkdir "$ca_root_dir/ca.db.certs", 0700
+ or die "Can't create '$ca_root_dir/ca.db.certs': $!";
+}
+
+# Initialize serial if it isn't already created.
+if(not -f "$ca_root_dir/ca.db.serial") {
+ open SERIAL, ">$ca_root_dir/ca.db.serial"
+ or die "Can't create serial: $!";
+ print SERIAL "01\n";
+ close SERIAL;
+}
+
+# Create index file if not existant.
+if(not -f "$ca_root_dir/ca.db.index") {
+ open INDEX, ">$ca_root_dir/ca.db.index"
+ or die "Can't create index: $!";
+ close INDEX;
+}
+
+# Initialize random number file.
+if(not -f "$ca_root_dir/ca.db.rand") {
+ open RAND, ">$ca_root_dir/ca.db.rand"
+ or die "Can't create randfile: $!";
+ my($r) = int(rand(90)+10);
+ print RAND "$r\n";
+ close RAND;
+}
View
319 example/keys/openssl.cnf
@@ -0,0 +1,319 @@
+
+#
+# OpenSSL Configuration file for Condor Multi-level CA
+#
+
+# This definition stops the following lines choking if HOME isn't
+# defined.
+HOME = .
+RANDFILE = $ENV::HOME/.rnd
+
+####################################################################
+[ ca ]
+default_ca = CA_default # The default ca section
+
+####################################################################
+[ CA_default ]
+
+dir = ./MikeCA # Where everything is kept
+certs = $dir/ca.db.certs # Where the issued certs are kept
+#crl_dir = $dir/crl # Where the issued crl are kept
+database = $dir/ca.db.index # database index file.
+new_certs_dir = $dir/ca.db.certs # default place for new certs.
+
+certificate = $dir/signing-ca-1.crt # The CA certificate
+serial = $dir/ca.db.serial # The current serial number
+#crl = $dir/crl.pem # The current CRL
+private_key = $dir/signing-ca-1.key # The private key
+RANDFILE = $dir/.rand # private random number file
+
+x509_extensions = usr_cert # The extentions to add to the cert
+
+# Comment out the following two lines for the "traditional"
+# (and highly broken) format.
+name_opt = ca_default # Subject Name options
+cert_opt = ca_default # Certificate field options
+
+# Extension copying option: use with caution.
+# copy_extensions = copy
+
+# Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs
+# so this is commented out by default to leave a V1 CRL.
+# crl_extensions = crl_ext
+
+default_days = 365 # how long to certify for
+default_crl_days= 30 # how long before next CRL
+default_md = md5 # which md to use.
+preserve = no # keep passed DN ordering
+
+# A few difference way of specifying how similar the request should look
+# For type CA, the listed attributes must be the same, and the optional
+# and supplied fields are just that :-)
+policy = policy_match
+
+# A new one - quells a complaint from openssl ca
+unique_subject = yes
+
+####################################################################
+[ CA_marginal ]
+
+dir = ./CondorSigningCA3 # Where everything is kept
+certs = $dir/ca.db.certs # Where the issued certs are kept
+#crl_dir = $dir/crl # Where the issued crl are kept
+database = $dir/ca.db.index # database index file.
+new_certs_dir = $dir/ca.db.certs # default place for new certs.
+
+certificate = $dir/signing-ca-3.crt # The CA certificate
+serial = $dir/ca.db.serial # The current serial number
+#crl = $dir/crl.pem # The current CRL
+private_key = $dir/signing-ca-3.key # The private key
+RANDFILE = $dir/.rand # private random number file
+
+x509_extensions = usr_cert # The extentions to add to the cert
+
+# Comment out the following two lines for the "traditional"
+# (and highly broken) format.
+name_opt = ca_default # Subject Name options
+cert_opt = ca_default # Certificate field options
+
+# Extension copying option: use with caution.
+# copy_extensions = copy
+
+# Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs
+# so this is commented out by default to leave a V1 CRL.
+# crl_extensions = crl_ext
+
+default_days = 365 # how long to certify for
+default_crl_days= 30 # how long before next CRL
+default_md = md5 # which md to use.
+preserve = no # keep passed DN ordering
+
+# A few difference way of specifying how similar the request should look
+# For type CA, the listed attributes must be the same, and the optional
+# and supplied fields are just that :-)
+policy = policy_match
+
+###################################################################
+[ CA_root ]
+
+dir = ./CondorRootCA # Where everything is kept
+certs = $dir/ca.db.certs # Where the issued certs are kept
+#crl_dir = $dir/crl # Where the issued crl are kept
+database = $dir/ca.db.index # database index file.
+new_certs_dir = $dir/ca.db.certs # default place for new certs.
+
+certificate = $dir/root-ca.crt # The CA certificate
+serial = $dir/ca.db.serial # The current serial number
+#crl = $dir/crl.pem # The current CRL
+private_key = $dir/root-ca.key # The private key
+RANDFILE = $dir/.rand # private random number file
+
+x509_extensions = v3_ca # The extentions to add to the cert
+
+# Comment out the following two lines for the "traditional"
+# (and highly broken) format.
+name_opt = ca_default # Subject Name options
+cert_opt = ca_default # Certificate field options
+
+# Extension copying option: use with caution.
+# copy_extensions = copy
+
+# Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs
+# so this is commented out by default to leave a V1 CRL.
+# crl_extensions = crl_ext
+
+default_days = 1095 # how long to certify for
+default_crl_days= 30 # how long before next CRL
+default_md = md5 # which md to use.
+preserve = no # keep passed DN ordering
+
+# A few difference way of specifying how similar the request should look
+# For type CA, the listed attributes must be the same, and the optional
+# and supplied fields are just that :-)
+policy = policy_match
+unique_subject = yes
+
+# For the CA policy
+[ policy_match ]
+countryName = match
+stateOrProvinceName = match
+localityName = match
+organizationName = match
+organizationalUnitName = optional
+commonName = supplied
+emailAddress = optional
+
+# For the 'anything' policy
+# At this point in time, you must list all acceptable 'object'
+# types.
+[ policy_anything ]
+countryName = optional
+stateOrProvinceName = optional
+localityName = optional
+organizationName = optional
+organizationalUnitName = optional
+commonName = supplied
+emailAddress = optional
+
+####################################################################
+[ req ]
+default_bits = 1024
+default_keyfile = privkey.pem
+distinguished_name = req_distinguished_name
+attributes = req_attributes
+x509_extensions = v3_ca # The extentions to add to the self signed cert
+
+# Passwords for private keys if not present they will be prompted for
+# input_password = secret
+# output_password = secret
+
+# This sets a mask for permitted string types. There are several options.
+# default: PrintableString, T61String, BMPString.
+# pkix : PrintableString, BMPString.
+# utf8only: only UTF8Strings.
+# nombstr : PrintableString, T61String (no BMPStrings or UTF8Strings).
+# MASK:XXXX a literal mask value.
+# WARNING: current versions of Netscape crash on BMPStrings or UTF8Strings
+# so use this option with caution!
+string_mask = nombstr
+
+# req_extensions = v3_req # The extensions to add to a certificate request
+
+[ req_distinguished_name ]
+countryName = Country Name (2 letter code)
+countryName_default = US
+countryName_min = 2
+countryName_max = 2
+
+stateOrProvinceName = State or Province Name (full name)
+stateOrProvinceName_default = Massachusetts
+
+localityName = Locality Name (eg, city)
+localityName_default = Boston
+
+0.organizationName = Organization Name (eg, company)
+0.organizationName_default = YaluAndMike
+
+1.organizationName = Second Organization Name (eg, company)
+1.organizationName_default = Org
+
+organizationalUnitName = Organizational Unit Name (eg, section)
+organizationalUnitName_default =
+
+commonName = Common Name (eg, YOUR name)
+commonName_max = 64
+
+emailAddress = Email Address
+emailAddress_max = 64
+
+# SET-ex3 = SET extension number 3
+
+[ req_attributes ]
+# challengePassword = A challenge password
+# challengePassword_min = 4
+# challengePassword_max = 20
+
+# unstructuredName = An optional company name
+
+[ usr_cert ]
+
+# These extensions are added when 'ca' signs a request.
+
+# This goes against PKIX guidelines but some CAs do it and some software
+# requires this to avoid interpreting an end user certificate as a CA.
+
+basicConstraints=CA:FALSE
+
+# Here are some examples of the usage of nsCertType. If it is omitted
+# the certificate can be used for anything *except* object signing.
+
+# This is OK for an SSL server.
+# nsCertType = server
+
+# For an object signing certificate this would be used.
+# nsCertType = objsign
+
+# For normal client use this is typical
+# nsCertType = client, email
+
+# and for everything including object signing:
+# nsCertType = client, email, objsign
+
+# This is typical in keyUsage for a client certificate.
+# keyUsage = nonRepudiation, digitalSignature, keyEncipherment
+
+# This will be displayed in Netscape's comment listbox.
+nsComment = "OpenSSL Generated Certificate"
+
+# PKIX recommendations harmless if included in all certificates.
+subjectKeyIdentifier=hash
+authorityKeyIdentifier=keyid,issuer:always
+
+# This stuff is for subjectAltName and issuerAltname.
+# Import the email address.
+# subjectAltName=email:copy
+# An alternative to produce certificates that aren't
+# deprecated according to PKIX.
+# subjectAltName=email:move
+
+# Copy subject details
+# issuerAltName=issuer:copy
+
+#nsCaRevocationUrl = http://www.domain.dom/ca-crl.pem
+#nsBaseUrl
+#nsRevocationUrl
+#nsRenewalUrl
+#nsCaPolicyUrl
+#nsSslServerName
+
+[ v3_req ]
+
+# Extensions to add to a certificate request
+
+basicConstraints = CA:FALSE
+keyUsage = nonRepudiation, digitalSignature, keyEncipherment
+
+[ v3_ca ]
+
+
+# Extensions for a typical CA
+
+
+# PKIX recommendation.
+
+subjectKeyIdentifier=hash
+
+authorityKeyIdentifier=keyid:always,issuer:always
+
+# This is what PKIX recommends but some broken software chokes on critical
+# extensions.
+#basicConstraints = critical,CA:true
+# So we do this instead.
+basicConstraints = CA:true
+
+# Key usage: this is typical for a CA certificate. However since it will
+# prevent it being used as an test self-signed certificate it is best
+# left out by default.
+# keyUsage = cRLSign, keyCertSign
+
+# Some might want this also
+# nsCertType = sslCA, emailCA
+
+# Include email address in subject alt name: another PKIX recommendation
+# subjectAltName=email:copy
+# Copy issuer details
+# issuerAltName=issuer:copy
+
+# DER hex encoding of an extension: beware experts only!
+# obj=DER:02:03
+# Where 'obj' is a standard or added object
+# You can even override a supported extension:
+# basicConstraints= critical, DER:30:03:01:01:FF
+
+[ crl_ext ]
+
+# CRL extensions.
+# Only issuerAltName and authorityKeyIdentifier make any sense in a CRL.
+
+# issuerAltName=issuer:copy
+authorityKeyIdentifier=keyid:always,issuer:always
View
66 example/keys/star.ak.facebook.com.crt
@@ -0,0 +1,66 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 8 (0x8)
+ Signature Algorithm: md5WithRSAEncryption
+ Issuer: C=US, ST=Massachusetts, L=Boston, O=YaluAndMike, O=Org, CN=yaluandmike.com
+ Validity
+ Not Before: Jan 24 17:11:42 2012 GMT
+ Not After : Jan 23 17:11:42 2013 GMT
+ Subject: C=US, ST=Massachusetts, L=Boston, O=YaluAndMike, O=Org, CN=*.ak.facebook.com
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:e6:a0:b0:71:45:69:8d:1f:95:1e:65:51:24:90:
+ 38:d0:bf:4f:9f:a6:54:95:93:98:6f:55:90:dc:df:
+ 1d:c5:07:ab:7f:bd:fc:91:44:19:63:f1:9e:d4:a9:
+ 9d:f0:ed:ae:78:8d:a6:5d:54:7a:4a:e5:5c:1d:2e:
+ fc:c0:7c:ea:fa:83:9d:85:44:a6:03:68:08:34:b0:
+ 2f:0d:27:9b:2c:95:d8:fc:e2:16:7a:e8:6e:d9:c2:
+ 70:ae:1b:be:83:5d:76:76:9e:e8:c6:92:ab:29:cc:
+ 76:50:8e:cb:60:aa:40:ec:30:8a:db:41:16:2f:fd:
+ 5e:2d:7f:dd:f0:0c:3c:9a:51
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:FALSE
+ Netscape Comment:
+ OpenSSL Generated Certificate
+ X509v3 Subject Key Identifier:
+ C8:46:CC:EF:C0:AD:20:1B:F2:14:64:B3:42:00:1C:85:5D:F4:53:C3
+ X509v3 Authority Key Identifier:
+ keyid:FC:90:77:9B:7A:51:29:78:A7:23:23:83:77:65:3A:0E:E9:EC:2F:66
+ DirName:/C=US/ST=Massachusetts/L=Boston/O=YaluAndMike/O=Org/CN=yaluandmike.com
+ serial:C8:86:E0:8B:8B:8A:12:71
+
+ Signature Algorithm: md5WithRSAEncryption
+ 84:b3:4c:2e:4f:5a:19:0b:90:5c:a5:66:0e:97:39:9b:7d:be:
+ 29:27:d6:56:39:75:17:19:ab:7d:bc:82:b2:a9:82:95:d2:c2:
+ a2:8d:6d:60:21:79:68:e1:f3:e9:e3:ec:8f:21:21:34:df:dc:
+ 87:1b:7f:31:dd:62:da:fb:be:bb:8b:2d:28:1c:cf:e2:45:4a:
+ 77:ba:fb:4e:6d:5e:10:16:61:4e:89:3a:d7:1c:88:eb:a6:94:
+ d6:41:d7:1b:5a:f4:a9:b6:2c:f7:5f:a1:98:41:6d:ac:ac:dc:
+ d4:95:39:18:5f:64:4a:f7:6b:96:e6:87:c7:7b:34:6c:be:e7:
+ 46:26
+-----BEGIN CERTIFICATE-----
+MIIDZzCCAtCgAwIBAgIBCDANBgkqhkiG9w0BAQQFADB0MQswCQYDVQQGEwJVUzEW
+MBQGA1UECBMNTWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQwEgYDVQQK
+EwtZYWx1QW5kTWlrZTEMMAoGA1UEChMDT3JnMRgwFgYDVQQDEw95YWx1YW5kbWlr
+ZS5jb20wHhcNMTIwMTI0MTcxMTQyWhcNMTMwMTIzMTcxMTQyWjB2MQswCQYDVQQG
+EwJVUzEWMBQGA1UECBMNTWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQw
+EgYDVQQKEwtZYWx1QW5kTWlrZTEMMAoGA1UEChMDT3JnMRowGAYDVQQDFBEqLmFr
+LmZhY2Vib29rLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA5qCwcUVp
+jR+VHmVRJJA40L9Pn6ZUlZOYb1WQ3N8dxQerf738kUQZY/Ge1Kmd8O2ueI2mXVR6
+SuVcHS78wHzq+oOdhUSmA2gINLAvDSebLJXY/OIWeuhu2cJwrhu+g112dp7oxpKr
+Kcx2UI7LYKpA7DCK20EWL/1eLX/d8Aw8mlECAwEAAaOCAQUwggEBMAkGA1UdEwQC
+MAAwLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRl
+MB0GA1UdDgQWBBTIRszvwK0gG/IUZLNCAByFXfRTwzCBpgYDVR0jBIGeMIGbgBT8
+kHebelEpeKcjI4N3ZToO6ewvZqF4pHYwdDELMAkGA1UEBhMCVVMxFjAUBgNVBAgT
+DU1hc3NhY2h1c2V0dHMxDzANBgNVBAcTBkJvc3RvbjEUMBIGA1UEChMLWWFsdUFu
+ZE1pa2UxDDAKBgNVBAoTA09yZzEYMBYGA1UEAxMPeWFsdWFuZG1pa2UuY29tggkA
+yIbgi4uKEnEwDQYJKoZIhvcNAQEEBQADgYEAhLNMLk9aGQuQXKVmDpc5m32+KSfW
+Vjl1FxmrfbyCsqmCldLCoo1tYCF5aOHz6ePsjyEhNN/chxt/Md1i2vu+u4stKBzP
+4kVKd7r7Tm1eEBZhTok61xyI66aU1kHXG1r0qbYs91+hmEFtrKzc1JU5GF9kSvdr
+luaHx3s0bL7nRiY=
+-----END CERTIFICATE-----
View
15 example/keys/star.ak.facebook.com.key
@@ -0,0 +1,15 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICXQIBAAKBgQDmoLBxRWmNH5UeZVEkkDjQv0+fplSVk5hvVZDc3x3FB6t/vfyR
+RBlj8Z7UqZ3w7a54jaZdVHpK5VwdLvzAfOr6g52FRKYDaAg0sC8NJ5ssldj84hZ6
+6G7ZwnCuG76DXXZ2nujGkqspzHZQjstgqkDsMIrbQRYv/V4tf93wDDyaUQIDAQAB
+AoGBAMGvS98k+zsgvfwz/Ixnbr+pG3apmrmvpcJCqxFDc93nzhjO9pENDwHHhqt0
+84bGJdNqqsAQ1U+XBeAgePYzMqauthMjzN9a6PV8rURfB0eYBPqcGekuqHYdvm5m
+fM0Jw4khGcHaVgDJPpYxcjXZtjNUmyIcEVlYtzwdr5EjOMuRAkEA93EKsoDkLLTM
+zA1pFZwswYxPYGWabQLychV3m13dGxfiywK3s5dIZ3f81rZASYwRAhno33J/q0Uo
+f7r86HfhfQJBAO6axRWd+rJ8EeCXy9sOo3o2JOm91q3mA4lliurWyLaLrlwx11ED
+6YKA/0QnKHGBrHS0l1nVHZn4g0N/UwkUdGUCQGQgCtsWSr5IXsKG/qmu63FaLFhu
+ZKGN2rsNMrvcrHalILFTJTB3m+W6aMYdM0BPfCZkg5W/SCfusSeWa3ZJ5CUCQQDY
+dEUISEmOM2mQYoSHk+8PxiCUfyhKl5hrw1dTlUd9+pdRgdF/6Fmkj1uDOzbASc/m
+C5Il52S0MjL6P35XhVvVAkAN57W0lSFv38Gxx6Atuuqs5t2/kCZPspA5xbpBuRKA
+5IWKF/dt2LnDWCxuD+kC+8g6ia0fhK8IEzZK5ssjrYFm
+-----END RSA PRIVATE KEY-----
View
15 example/keys/star.ak.facebook.com.key.free
@@ -0,0 +1,15 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICXQIBAAKBgQDmoLBxRWmNH5UeZVEkkDjQv0+fplSVk5hvVZDc3x3FB6t/vfyR
+RBlj8Z7UqZ3w7a54jaZdVHpK5VwdLvzAfOr6g52FRKYDaAg0sC8NJ5ssldj84hZ6
+6G7ZwnCuG76DXXZ2nujGkqspzHZQjstgqkDsMIrbQRYv/V4tf93wDDyaUQIDAQAB
+AoGBAMGvS98k+zsgvfwz/Ixnbr+pG3apmrmvpcJCqxFDc93nzhjO9pENDwHHhqt0
+84bGJdNqqsAQ1U+XBeAgePYzMqauthMjzN9a6PV8rURfB0eYBPqcGekuqHYdvm5m
+fM0Jw4khGcHaVgDJPpYxcjXZtjNUmyIcEVlYtzwdr5EjOMuRAkEA93EKsoDkLLTM
+zA1pFZwswYxPYGWabQLychV3m13dGxfiywK3s5dIZ3f81rZASYwRAhno33J/q0Uo
+f7r86HfhfQJBAO6axRWd+rJ8EeCXy9sOo3o2JOm91q3mA4lliurWyLaLrlwx11ED
+6YKA/0QnKHGBrHS0l1nVHZn4g0N/UwkUdGUCQGQgCtsWSr5IXsKG/qmu63FaLFhu
+ZKGN2rsNMrvcrHalILFTJTB3m+W6aMYdM0BPfCZkg5W/SCfusSeWa3ZJ5CUCQQDY
+dEUISEmOM2mQYoSHk+8PxiCUfyhKl5hrw1dTlUd9+pdRgdF/6Fmkj1uDOzbASc/m
+C5Il52S0MjL6P35XhVvVAkAN57W0lSFv38Gxx6Atuuqs5t2/kCZPspA5xbpBuRKA
+5IWKF/dt2LnDWCxuD+kC+8g6ia0fhK8IEzZK5ssjrYFm
+-----END RSA PRIVATE KEY-----
View
12 example/keys/star.ak.facebook.com.req
@@ -0,0 +1,12 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIIBtjCCAR8CAQAwdjELMAkGA1UEBhMCVVMxFjAUBgNVBAgTDU1hc3NhY2h1c2V0
+dHMxDzANBgNVBAcTBkJvc3RvbjEUMBIGA1UEChMLWWFsdUFuZE1pa2UxDDAKBgNV
+BAoTA09yZzEaMBgGA1UEAxQRKi5hay5mYWNlYm9vay5jb20wgZ8wDQYJKoZIhvcN
+AQEBBQADgY0AMIGJAoGBAOagsHFFaY0flR5lUSSQONC/T5+mVJWTmG9VkNzfHcUH
+q3+9/JFEGWPxntSpnfDtrniNpl1UekrlXB0u/MB86vqDnYVEpgNoCDSwLw0nmyyV
+2PziFnrobtnCcK4bvoNddnae6MaSqynMdlCOy2CqQOwwittBFi/9Xi1/3fAMPJpR
+AgMBAAGgADANBgkqhkiG9w0BAQUFAAOBgQBQV3m7WXFmnmoQtXq4o+jpbseSU6wq
+u23bB0Dnuyc2sXv/tUnMT+s2Qn5OlioNRpw1Mxw5gOWbaFESqv7cRro9s12cGUz6
+2HndQjfc8JBaTBwO6jnmAaS2Rbij3bNci9yqICofkQ9mV7EN8XC9wMxPWvDlpxXX
+zCx721M4juIKLQ==
+-----END CERTIFICATE REQUEST-----
View
66 example/keys/star.bankofamerica.com.crt
@@ -0,0 +1,66 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 5 (0x5)
+ Signature Algorithm: md5WithRSAEncryption
+ Issuer: C=US, ST=Massachusetts, L=Boston, O=YaluAndMike, O=Org, CN=yaluandmike.com
+ Validity
+ Not Before: Jan 24 16:48:08 2012 GMT
+ Not After : Jan 23 16:48:08 2013 GMT
+ Subject: C=US, ST=Massachusetts, L=Boston, O=YaluAndMike, O=Org, CN=*.bankofamerica.com
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:ef:f3:4d:f1:41:d2:8c:3d:c3:c0:83:83:93:42:
+ 90:b2:1e:cd:4f:a8:d2:0d:ac:70:d5:16:ec:94:fa:
+ 9e:0f:f6:5d:91:c2:1a:3c:e4:fe:e8:7d:41:ef:ad:
+ c3:e3:c0:38:42:f9:6f:90:a6:a3:e2:04:25:fc:23:
+ bc:40:b3:95:21:c1:6b:9c:55:6e:78:ae:0e:df:25:
+ 90:f9:f2:af:3c:04:4d:55:cd:e4:f6:9d:fc:77:de:
+ d3:59:df:a9:f5:7b:ac:b2:dc:28:4a:cf:e4:a2:c0:
+ 57:7d:c1:25:eb:99:0d:30:bb:5c:40:1a:22:10:65:
+ ef:63:d8:39:02:ec:15:4b:5b
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:FALSE
+ Netscape Comment:
+ OpenSSL Generated Certificate
+ X509v3 Subject Key Identifier:
+ 3D:EE:A7:CD:2B:5B:BD:E3:C1:08:BA:90:5D:3D:95:D8:75:A9:5E:E3
+ X509v3 Authority Key Identifier:
+ keyid:FC:90:77:9B:7A:51:29:78:A7:23:23:83:77:65:3A:0E:E9:EC:2F:66
+ DirName:/C=US/ST=Massachusetts/L=Boston/O=YaluAndMike/O=Org/CN=yaluandmike.com
+ serial:C8:86:E0:8B:8B:8A:12:71
+
+ Signature Algorithm: md5WithRSAEncryption
+ 9e:bd:dd:7b:f7:9a:be:2d:0b:61:8e:8f:22:58:0d:d4:0b:1a:
+ 7f:af:17:bd:92:a6:d5:fe:ea:63:88:99:57:01:ab:ed:72:73:
+ c2:d0:53:17:34:d3:e0:af:62:ec:d5:4e:2b:b0:82:65:96:6c:
+ bd:d7:96:c4:65:21:23:58:ef:87:40:ab:48:81:da:7a:1b:b4:
+ 67:42:6e:10:3a:99:a2:6f:8f:96:40:2c:ba:a4:f5:8c:5d:e6:
+ cd:13:f5:0a:a1:87:46:f7:69:6d:1f:80:12:e5:cf:c3:cf:72:
+ 2c:17:ff:20:5f:16:64:13:6b:7c:82:0c:c5:db:81:0d:cc:88:
+ e5:5d
+-----BEGIN CERTIFICATE-----
+MIIDaTCCAtKgAwIBAgIBBTANBgkqhkiG9w0BAQQFADB0MQswCQYDVQQGEwJVUzEW
+MBQGA1UECBMNTWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQwEgYDVQQK
+EwtZYWx1QW5kTWlrZTEMMAoGA1UEChMDT3JnMRgwFgYDVQQDEw95YWx1YW5kbWlr
+ZS5jb20wHhcNMTIwMTI0MTY0ODA4WhcNMTMwMTIzMTY0ODA4WjB4MQswCQYDVQQG
+EwJVUzEWMBQGA1UECBMNTWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQw
+EgYDVQQKEwtZYWx1QW5kTWlrZTEMMAoGA1UEChMDT3JnMRwwGgYDVQQDFBMqLmJh
+bmtvZmFtZXJpY2EuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDv803x
+QdKMPcPAg4OTQpCyHs1PqNINrHDVFuyU+p4P9l2Rwho85P7ofUHvrcPjwDhC+W+Q
+pqPiBCX8I7xAs5UhwWucVW54rg7fJZD58q88BE1VzeT2nfx33tNZ36n1e6yy3ChK
+z+SiwFd9wSXrmQ0wu1xAGiIQZe9j2DkC7BVLWwIDAQABo4IBBTCCAQEwCQYDVR0T
+BAIwADAsBglghkgBhvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0ZWQgQ2VydGlmaWNh
+dGUwHQYDVR0OBBYEFD3up80rW73jwQi6kF09ldh1qV7jMIGmBgNVHSMEgZ4wgZuA
+FPyQd5t6USl4pyMjg3dlOg7p7C9moXikdjB0MQswCQYDVQQGEwJVUzEWMBQGA1UE
+CBMNTWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQwEgYDVQQKEwtZYWx1
+QW5kTWlrZTEMMAoGA1UEChMDT3JnMRgwFgYDVQQDEw95YWx1YW5kbWlrZS5jb22C
+CQDIhuCLi4oScTANBgkqhkiG9w0BAQQFAAOBgQCevd1795q+LQthjo8iWA3UCxp/
+rxe9kqbV/upjiJlXAavtcnPC0FMXNNPgr2Ls1U4rsIJllmy915bEZSEjWO+HQKtI
+gdp6G7RnQm4QOpmib4+WQCy6pPWMXebNE/UKoYdG92ltH4AS5c/Dz3IsF/8gXxZk
+E2t8ggzF24ENzIjlXQ==
+-----END CERTIFICATE-----
View
15 example/keys/star.bankofamerica.com.key
@@ -0,0 +1,15 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICXgIBAAKBgQDv803xQdKMPcPAg4OTQpCyHs1PqNINrHDVFuyU+p4P9l2Rwho8
+5P7ofUHvrcPjwDhC+W+QpqPiBCX8I7xAs5UhwWucVW54rg7fJZD58q88BE1VzeT2
+nfx33tNZ36n1e6yy3ChKz+SiwFd9wSXrmQ0wu1xAGiIQZe9j2DkC7BVLWwIDAQAB
+AoGBAIVN3RpQICGLWsoEBj/0diCOni9IMdIo39JyVuL5TIC/tQH6HMuByN/uXohC
+OBa6Pkdu/f0Vpuw0s8mdLMOhQRKZTQfh/ORFF+ewlRpuAMSmo33c2DgPEkj3BNko
+30BT2hnK8s06Uj1XdL1H2VGkEn3iwKrVaQPAq9dbKapdRryhAkEA/GY+wSqLpUfo
+S3HvLWpy9s3BttnFfcog46rH/TFXOEnNpfVuc34hno8uig6supz+wy18/3OFmUOE
+NtCr08J4KwJBAPNfmJP8VQa5DQ2gX9kC0FPCqrw4hBBou6xVKu2nq3eXFWkSjRGk
+Hxc0+M3mP6AiNIGKdZPNhUg9tURu+VdNMZECQQCTUma8v0WlYpRvPQB7RM/3yN+S
+CAijRJDv8mYrHlqni0SS4u/mT6/16eMjSC9/+VUmvW1heZ94dxU8HY692pvjAkEA
+ixzIpUZl/6rFOFXEk9IU7NvoJiCT9KE5LV+dYy0lSP2WYnIVKtFKaESCN4d2NP14
+T9eqL6sZlVqYg55/bhSU0QJASLuJOXUkkZUS/oQbjE7Y7kwjagX6WZaoXiTgxJ9Y
+GRaZw7OwBjmQNObnFJCVtWHbN/Arle9wJyqyjzixAn6tGg==
+-----END RSA PRIVATE KEY-----
View
15 example/keys/star.bankofamerica.com.key.free
@@ -0,0 +1,15 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICXgIBAAKBgQDv803xQdKMPcPAg4OTQpCyHs1PqNINrHDVFuyU+p4P9l2Rwho8
+5P7ofUHvrcPjwDhC+W+QpqPiBCX8I7xAs5UhwWucVW54rg7fJZD58q88BE1VzeT2
+nfx33tNZ36n1e6yy3ChKz+SiwFd9wSXrmQ0wu1xAGiIQZe9j2DkC7BVLWwIDAQAB
+AoGBAIVN3RpQICGLWsoEBj/0diCOni9IMdIo39JyVuL5TIC/tQH6HMuByN/uXohC
+OBa6Pkdu/f0Vpuw0s8mdLMOhQRKZTQfh/ORFF+ewlRpuAMSmo33c2DgPEkj3BNko
+30BT2hnK8s06Uj1XdL1H2VGkEn3iwKrVaQPAq9dbKapdRryhAkEA/GY+wSqLpUfo
+S3HvLWpy9s3BttnFfcog46rH/TFXOEnNpfVuc34hno8uig6supz+wy18/3OFmUOE
+NtCr08J4KwJBAPNfmJP8VQa5DQ2gX9kC0FPCqrw4hBBou6xVKu2nq3eXFWkSjRGk
+Hxc0+M3mP6AiNIGKdZPNhUg9tURu+VdNMZECQQCTUma8v0WlYpRvPQB7RM/3yN+S
+CAijRJDv8mYrHlqni0SS4u/mT6/16eMjSC9/+VUmvW1heZ94dxU8HY692pvjAkEA
+ixzIpUZl/6rFOFXEk9IU7NvoJiCT9KE5LV+dYy0lSP2WYnIVKtFKaESCN4d2NP14
+T9eqL6sZlVqYg55/bhSU0QJASLuJOXUkkZUS/oQbjE7Y7kwjagX6WZaoXiTgxJ9Y
+GRaZw7OwBjmQNObnFJCVtWHbN/Arle9wJyqyjzixAn6tGg==
+-----END RSA PRIVATE KEY-----
View
12 example/keys/star.bankofamerica.com.req
@@ -0,0 +1,12 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIIBuDCCASECAQAweDELMAkGA1UEBhMCVVMxFjAUBgNVBAgTDU1hc3NhY2h1c2V0
+dHMxDzANBgNVBAcTBkJvc3RvbjEUMBIGA1UEChMLWWFsdUFuZE1pa2UxDDAKBgNV
+BAoTA09yZzEcMBoGA1UEAxQTKi5iYW5rb2ZhbWVyaWNhLmNvbTCBnzANBgkqhkiG
+9w0BAQEFAAOBjQAwgYkCgYEA7/NN8UHSjD3DwIODk0KQsh7NT6jSDaxw1RbslPqe
+D/ZdkcIaPOT+6H1B763D48A4QvlvkKaj4gQl/CO8QLOVIcFrnFVueK4O3yWQ+fKv
+PARNVc3k9p38d97TWd+p9XusstwoSs/kosBXfcEl65kNMLtcQBoiEGXvY9g5AuwV
+S1sCAwEAAaAAMA0GCSqGSIb3DQEBBQUAA4GBAEvP6sxTIR/BOFQskMZZ+JoJWlkZ
+YcbeifFGy6SiobJRlSEGGr5z9lTRBRiA/hWqqmo7wtvLZdWT90kmcgiHJeswuGzf
+h11aB4hWOWo7dV1MTp0tBgz1ZWr6AAlhgF/U10Q4aW2K+SbPHO3X0M0mWOvEl0dl
+ZlFzp8QJ/22lqrnT
+-----END CERTIFICATE REQUEST-----
View
66 example/keys/star.facebook.com.crt
@@ -0,0 +1,66 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 7 (0x7)
+ Signature Algorithm: md5WithRSAEncryption
+ Issuer: C=US, ST=Massachusetts, L=Boston, O=YaluAndMike, O=Org, CN=yaluandmike.com
+ Validity
+ Not Before: Jan 24 16:54:03 2012 GMT
+ Not After : Jan 23 16:54:03 2013 GMT
+ Subject: C=US, ST=Massachusetts, L=Boston, O=YaluAndMike, O=Org, CN=*.facebook.com
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:be:76:fb:e1:65:4e:64:62:6c:c4:67:0f:e3:57:
+ 27:da:34:e3:82:ce:4e:52:af:0d:74:32:0d:53:0b:
+ a7:77:b1:4e:1a:99:84:fe:15:d2:2b:cd:cd:7b:95:
+ ab:bc:2d:ce:3a:5a:83:14:7b:6c:66:5b:23:40:ae:
+ 16:c4:f8:0d:ad:2e:00:22:fc:b8:79:7b:92:b2:58:
+ a2:e3:28:01:05:b5:79:a4:0b:e6:c2:4d:78:87:de:
+ 7e:fe:59:8d:c1:c7:c5:ed:94:f4:8d:14:a7:af:0e:
+ 9a:35:8a:47:58:a1:5c:63:d5:bb:22:3f:e9:03:b6:
+ 7d:76:17:e4:34:cb:46:bb:73
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:FALSE
+ Netscape Comment:
+ OpenSSL Generated Certificate
+ X509v3 Subject Key Identifier:
+ 72:DE:C6:72:F4:91:78:AA:A9:01:33:07:C0:0C:8E:D3:1B:15:00:90
+ X509v3 Authority Key Identifier:
+ keyid:FC:90:77:9B:7A:51:29:78:A7:23:23:83:77:65:3A:0E:E9:EC:2F:66
+ DirName:/C=US/ST=Massachusetts/L=Boston/O=YaluAndMike/O=Org/CN=yaluandmike.com
+ serial:C8:86:E0:8B:8B:8A:12:71
+
+ Signature Algorithm: md5WithRSAEncryption
+ 5d:ed:7a:96:ea:c2:51:37:92:81:4a:8a:3c:bf:98:c0:47:c7:
+ 3b:a7:bc:4b:dd:14:6a:0d:49:84:91:b8:69:0e:e5:a9:dc:ba:
+ 8a:95:b4:be:f5:23:f0:b6:0c:21:ed:24:ba:f4:31:6f:58:59:
+ 85:00:ce:9e:cc:5f:12:42:2c:48:3e:d1:1c:62:64:2d:5e:33:
+ 4f:39:e6:13:06:06:98:9f:7b:46:3b:e4:5f:ea:0d:33:99:4d:
+ ab:03:e1:f6:86:ac:f2:53:67:d6:82:25:33:3d:a6:8e:cb:82:
+ 06:90:1e:f9:07:74:4f:20:98:22:b0:65:ba:78:07:ca:be:de:
+ 30:f9
+-----BEGIN CERTIFICATE-----
+MIIDZDCCAs2gAwIBAgIBBzANBgkqhkiG9w0BAQQFADB0MQswCQYDVQQGEwJVUzEW
+MBQGA1UECBMNTWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQwEgYDVQQK
+EwtZYWx1QW5kTWlrZTEMMAoGA1UEChMDT3JnMRgwFgYDVQQDEw95YWx1YW5kbWlr
+ZS5jb20wHhcNMTIwMTI0MTY1NDAzWhcNMTMwMTIzMTY1NDAzWjBzMQswCQYDVQQG
+EwJVUzEWMBQGA1UECBMNTWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQw
+EgYDVQQKEwtZYWx1QW5kTWlrZTEMMAoGA1UEChMDT3JnMRcwFQYDVQQDFA4qLmZh
+Y2Vib29rLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAvnb74WVOZGJs
+xGcP41cn2jTjgs5OUq8NdDINUwund7FOGpmE/hXSK83Ne5WrvC3OOlqDFHtsZlsj
+QK4WxPgNrS4AIvy4eXuSslii4ygBBbV5pAvmwk14h95+/lmNwcfF7ZT0jRSnrw6a
+NYpHWKFcY9W7Ij/pA7Z9dhfkNMtGu3MCAwEAAaOCAQUwggEBMAkGA1UdEwQCMAAw
+LAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRlMB0G
+A1UdDgQWBBRy3sZy9JF4qqkBMwfADI7TGxUAkDCBpgYDVR0jBIGeMIGbgBT8kHeb
+elEpeKcjI4N3ZToO6ewvZqF4pHYwdDELMAkGA1UEBhMCVVMxFjAUBgNVBAgTDU1h
+c3NhY2h1c2V0dHMxDzANBgNVBAcTBkJvc3RvbjEUMBIGA1UEChMLWWFsdUFuZE1p
+a2UxDDAKBgNVBAoTA09yZzEYMBYGA1UEAxMPeWFsdWFuZG1pa2UuY29tggkAyIbg
+i4uKEnEwDQYJKoZIhvcNAQEEBQADgYEAXe16lurCUTeSgUqKPL+YwEfHO6e8S90U
+ag1JhJG4aQ7lqdy6ipW0vvUj8LYMIe0kuvQxb1hZhQDOnsxfEkIsSD7RHGJkLV4z
+TznmEwYGmJ97RjvkX+oNM5lNqwPh9oas8lNn1oIlMz2mjsuCBpAe+Qd0TyCYIrBl
+ungHyr7eMPk=
+-----END CERTIFICATE-----
View
15 example/keys/star.facebook.com.key
@@ -0,0 +1,15 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICXQIBAAKBgQC+dvvhZU5kYmzEZw/jVyfaNOOCzk5Srw10Mg1TC6d3sU4amYT+
+FdIrzc17lau8Lc46WoMUe2xmWyNArhbE+A2tLgAi/Lh5e5KyWKLjKAEFtXmkC+bC
+TXiH3n7+WY3Bx8XtlPSNFKevDpo1ikdYoVxj1bsiP+kDtn12F+Q0y0a7cwIDAQAB
+AoGAKG/mhjIV9KYY5ZHkA6ZLZb541xqp8lAMETFXNtxwj67rICab374OQxKMn8Jl
+Fay77hOtZLnXh9utnlvXpbXsYQxt7Rg6HtWjcvy9jR2p1Os3WnLdC7U/lHEg3mq/
+9RGyiarwAby1Wud2617R0hZyNVYJpBuYWGYar0Ricvh0s3ECQQDg49tnM4aqNy3G
+GC8KkMndOaebJwyPjV1gKIpvEYkXbRc5a3PFOYcmPFLULrTSsBPVNxUVKASKOypk
+s5gNrnclAkEA2NAB2ZvtabsIVzbhr0lBKTx1ryE/38kPeJwn02gF4L4wcoo6KEH4
+ISYC/MyQFDcBlQMvG7twwibkpbosTsRQtwJBAJpaKbuCdPodFzCwZpEU4UgSi0QF
+ICzi9OTLzn//BB3tBRSm+HW0T1th6eOyDu/QZDxiKvkzVzJc+3LUhRdW2HUCQQCk
+mueMqtFIoHLopAYb6mXKRNikKX4xDJjuXL/vxN4RjtOBYmhdABi+Mfm6rCQG9OwC
+kfRF/bzR6m1VVU8mTe1pAkAxVyi10u+sJh/+42GP3iOuSneSl7NtoGbridd490cy
+0Cz7rjhm73MMvusxMvvMUnX5SRIYpSksHptxNsDe5Crq
+-----END RSA PRIVATE KEY-----
View
15 example/keys/star.facebook.com.key.free
@@ -0,0 +1,15 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICXQIBAAKBgQC+dvvhZU5kYmzEZw/jVyfaNOOCzk5Srw10Mg1TC6d3sU4amYT+
+FdIrzc17lau8Lc46WoMUe2xmWyNArhbE+A2tLgAi/Lh5e5KyWKLjKAEFtXmkC+bC
+TXiH3n7+WY3Bx8XtlPSNFKevDpo1ikdYoVxj1bsiP+kDtn12F+Q0y0a7cwIDAQAB
+AoGAKG/mhjIV9KYY5ZHkA6ZLZb541xqp8lAMETFXNtxwj67rICab374OQxKMn8Jl
+Fay77hOtZLnXh9utnlvXpbXsYQxt7Rg6HtWjcvy9jR2p1Os3WnLdC7U/lHEg3mq/
+9RGyiarwAby1Wud2617R0hZyNVYJpBuYWGYar0Ricvh0s3ECQQDg49tnM4aqNy3G
+GC8KkMndOaebJwyPjV1gKIpvEYkXbRc5a3PFOYcmPFLULrTSsBPVNxUVKASKOypk
+s5gNrnclAkEA2NAB2ZvtabsIVzbhr0lBKTx1ryE/38kPeJwn02gF4L4wcoo6KEH4
+ISYC/MyQFDcBlQMvG7twwibkpbosTsRQtwJBAJpaKbuCdPodFzCwZpEU4UgSi0QF
+ICzi9OTLzn//BB3tBRSm+HW0T1th6eOyDu/QZDxiKvkzVzJc+3LUhRdW2HUCQQCk
+mueMqtFIoHLopAYb6mXKRNikKX4xDJjuXL/vxN4RjtOBYmhdABi+Mfm6rCQG9OwC
+kfRF/bzR6m1VVU8mTe1pAkAxVyi10u+sJh/+42GP3iOuSneSl7NtoGbridd490cy
+0Cz7rjhm73MMvusxMvvMUnX5SRIYpSksHptxNsDe5Crq
+-----END RSA PRIVATE KEY-----
View
12 example/keys/star.facebook.com.req
@@ -0,0 +1,12 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIIBszCCARwCAQAwczELMAkGA1UEBhMCVVMxFjAUBgNVBAgTDU1hc3NhY2h1c2V0
+dHMxDzANBgNVBAcTBkJvc3RvbjEUMBIGA1UEChMLWWFsdUFuZE1pa2UxDDAKBgNV
+BAoTA09yZzEXMBUGA1UEAxQOKi5mYWNlYm9vay5jb20wgZ8wDQYJKoZIhvcNAQEB
+BQADgY0AMIGJAoGBAL52++FlTmRibMRnD+NXJ9o044LOTlKvDXQyDVMLp3exThqZ
+hP4V0ivNzXuVq7wtzjpagxR7bGZbI0CuFsT4Da0uACL8uHl7krJYouMoAQW1eaQL
+5sJNeIfefv5ZjcHHxe2U9I0Up68OmjWKR1ihXGPVuyI/6QO2fXYX5DTLRrtzAgMB
+AAGgADANBgkqhkiG9w0BAQUFAAOBgQC623gio2rsxHs/qhw6sfp5JNuG7TohSqwu
+i6VstfQimaGOJnJh8eWloNlydjTIyaGMJWhB/5iNkUB/Z9cHHTdvp5q1//J/oNlX
+RTDlMLm7iX6EzNBbnGE/2buA8eZNhu46+XRMlN+LPjsKjklfCBNHc1qQIHJ7trAS
+vmsMHg2BTw==
+-----END CERTIFICATE REQUEST-----
View
66 example/keys/star.google.com.crt
@@ -0,0 +1,66 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 2 (0x2)
+ Signature Algorithm: md5WithRSAEncryption
+ Issuer: C=US, ST=Massachusetts, L=Boston, O=YaluAndMike, O=Org, CN=yaluandmike.com
+ Validity
+ Not Before: Jan 24 16:11:16 2012 GMT
+ Not After : Jan 23 16:11:16 2013 GMT
+ Subject: C=US, ST=Massachusetts, L=Boston, O=YaluAndMike, O=Org, CN=*.google.com
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:c6:5a:47:58:56:d9:ca:05:ee:00:29:dd:3a:76:
+ 0f:2b:b7:b9:60:db:93:ce:a6:b8:c0:a5:28:ba:17:
+ 4d:2e:ad:9c:65:2f:e8:68:59:4e:8a:8e:6e:62:66:
+ eb:93:50:62:de:12:97:26:cc:91:6b:0d:bf:52:f5:
+ 16:be:3d:4b:7a:c6:1c:e5:f4:6e:d2:72:64:99:69:
+ 57:b9:6e:dd:7f:55:8d:db:80:70:5b:c3:36:00:02:
+ 26:0f:f7:e0:8f:07:f0:2e:c6:ad:33:01:29:b1:e4:
+ f2:2d:49:5d:4d:d4:6b:5f:f3:7e:f4:35:d7:2f:db:
+ d3:3b:60:81:a4:ec:f3:a9:ab
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:FALSE
+ Netscape Comment:
+ OpenSSL Generated Certificate
+ X509v3 Subject Key Identifier:
+ 51:4C:BB:BA:CA:E0:A7:7D:37:30:21:9F:21:EB:8D:DA:2B:88:AF:A3
+ X509v3 Authority Key Identifier:
+ keyid:FC:90:77:9B:7A:51:29:78:A7:23:23:83:77:65:3A:0E:E9:EC:2F:66
+ DirName:/C=US/ST=Massachusetts/L=Boston/O=YaluAndMike/O=Org/CN=yaluandmike.com
+ serial:C8:86:E0:8B:8B:8A:12:71
+
+ Signature Algorithm: md5WithRSAEncryption
+ 1f:c5:52:72:5d:d3:52:9a:1b:b5:13:f9:2e:b1:d2:13:1a:62:
+ 8b:89:23:ef:df:94:b8:a6:2c:1a:84:e4:f1:8c:86:21:85:d8:
+ 33:69:47:3f:46:c2:c6:36:66:72:59:f2:3a:f4:8c:a9:bf:4d:
+ 0f:fd:f7:8c:67:4f:2e:8b:43:7e:bf:79:bf:d3:d5:5c:e1:8f:
+ 62:22:f7:bb:76:d2:22:3b:b7:f8:2f:b2:74:73:c1:71:91:58:
+ d0:30:73:7f:96:81:48:a3:b8:3a:31:7c:55:4a:98:46:2a:9d:
+ ed:23:ba:4a:a2:94:44:b6:cd:9e:79:f4:cc:eb:4c:6a:ac:a6:
+ e6:57
+-----BEGIN CERTIFICATE-----
+MIIDYjCCAsugAwIBAgIBAjANBgkqhkiG9w0BAQQFADB0MQswCQYDVQQGEwJVUzEW
+MBQGA1UECBMNTWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQwEgYDVQQK
+EwtZYWx1QW5kTWlrZTEMMAoGA1UEChMDT3JnMRgwFgYDVQQDEw95YWx1YW5kbWlr
+ZS5jb20wHhcNMTIwMTI0MTYxMTE2WhcNMTMwMTIzMTYxMTE2WjBxMQswCQYDVQQG
+EwJVUzEWMBQGA1UECBMNTWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQw
+EgYDVQQKEwtZYWx1QW5kTWlrZTEMMAoGA1UEChMDT3JnMRUwEwYDVQQDFAwqLmdv
+b2dsZS5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMZaR1hW2coF7gAp
+3Tp2Dyu3uWDbk86muMClKLoXTS6tnGUv6GhZToqObmJm65NQYt4SlybMkWsNv1L1
+Fr49S3rGHOX0btJyZJlpV7lu3X9VjduAcFvDNgACJg/34I8H8C7GrTMBKbHk8i1J
+XU3Ua1/zfvQ11y/b0ztggaTs86mrAgMBAAGjggEFMIIBATAJBgNVHRMEAjAAMCwG
+CWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0ZTAdBgNV
+HQ4EFgQUUUy7usrgp303MCGfIeuN2iuIr6MwgaYGA1UdIwSBnjCBm4AU/JB3m3pR
+KXinIyODd2U6DunsL2aheKR2MHQxCzAJBgNVBAYTAlVTMRYwFAYDVQQIEw1NYXNz
+YWNodXNldHRzMQ8wDQYDVQQHEwZCb3N0b24xFDASBgNVBAoTC1lhbHVBbmRNaWtl
+MQwwCgYDVQQKEwNPcmcxGDAWBgNVBAMTD3lhbHVhbmRtaWtlLmNvbYIJAMiG4IuL
+ihJxMA0GCSqGSIb3DQEBBAUAA4GBAB/FUnJd01KaG7UT+S6x0hMaYouJI+/flLim
+LBqE5PGMhiGF2DNpRz9GwsY2ZnJZ8jr0jKm/TQ/994xnTy6LQ36/eb/T1Vzhj2Ii
+97t20iI7t/gvsnRzwXGRWNAwc3+WgUijuDoxfFVKmEYqne0jukqilES2zZ559Mzr
+TGqspuZX
+-----END CERTIFICATE-----
View
15 example/keys/star.google.com.key
@@ -0,0 +1,15 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICXAIBAAKBgQDGWkdYVtnKBe4AKd06dg8rt7lg25POprjApSi6F00urZxlL+ho
+WU6Kjm5iZuuTUGLeEpcmzJFrDb9S9Ra+PUt6xhzl9G7ScmSZaVe5bt1/VY3bgHBb
+wzYAAiYP9+CPB/Auxq0zASmx5PItSV1N1Gtf8370Ndcv29M7YIGk7POpqwIDAQAB
+AoGBAKvAiH6p1bPlJozlszZn/ALy94YzG+2Y1+mYGYfpnV+J3R6ROUEB88xuQI7c
+Z6gLt1Br8I4cHN8B7GU87BCWqr+CgQOVQYGKt9z6CfbG97v0JO8jD01bqx4GHwGX
+kLFmIYOePDIzS1xqudzoS99ZP4cM3TwGSrENfN/OPFfDEC/BAkEA43AxqUSZhBGm
+zYKy9IK0rULp5ruULHJiHMxtIBJ5ZdSxoR7Z8uhJcTSWaNIsiCId7B3V2uiD4LXr
+tsNb71pOKQJBAN9DBnDa+bzI9hnOj8aZpWnog2Ir8ePry29jKj0dmmSwK1CvBlvy
+6jhYYNwQm7VGdavD5CUqOOQd6zr3XpfBS7MCQDT3BbmjjhShf7TQQRiL78OBl7Lx
+7/nB0XNfb/JOGxNJyuv4oUzeJ2xDkNtsRo6VU16PPCQ0jbGg6/mt2RUOdLECQA+j
+01yuilYmQc83AC1qcAMGTcXfzDcqOnsYGEplu34YNUCWsjxYvP2re0WPSEkfoXih
+5WaRGaEpU2QzFgZNfS8CQAlkLwRD9JMTNowQW+YQPYFBD9LNfjR4P7DIzVYbeCfz
+mWeF7sS9hrEsfZwEtddg878Ipzv7JtHNJ2OmfeXVq/w=
+-----END RSA PRIVATE KEY-----
View
15 example/keys/star.google.com.key.free
@@ -0,0 +1,15 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICXAIBAAKBgQDGWkdYVtnKBe4AKd06dg8rt7lg25POprjApSi6F00urZxlL+ho
+WU6Kjm5iZuuTUGLeEpcmzJFrDb9S9Ra+PUt6xhzl9G7ScmSZaVe5bt1/VY3bgHBb
+wzYAAiYP9+CPB/Auxq0zASmx5PItSV1N1Gtf8370Ndcv29M7YIGk7POpqwIDAQAB
+AoGBAKvAiH6p1bPlJozlszZn/ALy94YzG+2Y1+mYGYfpnV+J3R6ROUEB88xuQI7c
+Z6gLt1Br8I4cHN8B7GU87BCWqr+CgQOVQYGKt9z6CfbG97v0JO8jD01bqx4GHwGX
+kLFmIYOePDIzS1xqudzoS99ZP4cM3TwGSrENfN/OPFfDEC/BAkEA43AxqUSZhBGm
+zYKy9IK0rULp5ruULHJiHMxtIBJ5ZdSxoR7Z8uhJcTSWaNIsiCId7B3V2uiD4LXr
+tsNb71pOKQJBAN9DBnDa+bzI9hnOj8aZpWnog2Ir8ePry29jKj0dmmSwK1CvBlvy
+6jhYYNwQm7VGdavD5CUqOOQd6zr3XpfBS7MCQDT3BbmjjhShf7TQQRiL78OBl7Lx
+7/nB0XNfb/JOGxNJyuv4oUzeJ2xDkNtsRo6VU16PPCQ0jbGg6/mt2RUOdLECQA+j
+01yuilYmQc83AC1qcAMGTcXfzDcqOnsYGEplu34YNUCWsjxYvP2re0WPSEkfoXih
+5WaRGaEpU2QzFgZNfS8CQAlkLwRD9JMTNowQW+YQPYFBD9LNfjR4P7DIzVYbeCfz
+mWeF7sS9hrEsfZwEtddg878Ipzv7JtHNJ2OmfeXVq/w=
+-----END RSA PRIVATE KEY-----
View
12 example/keys/star.google.com.req
@@ -0,0 +1,12 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIIBsTCCARoCAQAwcTELMAkGA1UEBhMCVVMxFjAUBgNVBAgTDU1hc3NhY2h1c2V0
+dHMxDzANBgNVBAcTBkJvc3RvbjEUMBIGA1UEChMLWWFsdUFuZE1pa2UxDDAKBgNV
+BAoTA09yZzEVMBMGA1UEAxQMKi5nb29nbGUuY29tMIGfMA0GCSqGSIb3DQEBAQUA
+A4GNADCBiQKBgQDGWkdYVtnKBe4AKd06dg8rt7lg25POprjApSi6F00urZxlL+ho
+WU6Kjm5iZuuTUGLeEpcmzJFrDb9S9Ra+PUt6xhzl9G7ScmSZaVe5bt1/VY3bgHBb
+wzYAAiYP9+CPB/Auxq0zASmx5PItSV1N1Gtf8370Ndcv29M7YIGk7POpqwIDAQAB
+oAAwDQYJKoZIhvcNAQEFBQADgYEABHkzl+zg+q9jJ2YK2Hz1Gu8AmIRmGxM1UbLt
+v8S9FUWerSUW83tjOtLqlqGKCaXb4GlRsoWxmjt8an9+HuVUAAmrGFUW/syWaSyJ
+FbwqmGtM4W1b+u468uHy15Gv70yOH4cGDhMvj/ZEXDNzuE2GoF6uvxs4HXO4jYkT
+69c+pQU=
+-----END CERTIFICATE REQUEST-----
View
66 example/keys/star.yaluandmike.com.crt
@@ -0,0 +1,66 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 4 (0x4)
+ Signature Algorithm: md5WithRSAEncryption
+ Issuer: C=US, ST=Massachusetts, L=Boston, O=YaluAndMike, O=Org, CN=yaluandmike.com
+ Validity
+ Not Before: Jan 24 16:37:40 2012 GMT
+ Not After : Jan 23 16:37:40 2013 GMT
+ Subject: C=US, ST=Massachusetts, L=Boston, O=YaluAndMike, O=Org, CN=*.yaluandmike.com
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:bb:da:e2:f8:6a:f3:8b:c0:17:cb:55:d5:91:d5:
+ 29:1e:98:67:e4:fa:a8:e9:af:b4:b5:f1:00:5d:2c:
+ d9:b0:e5:94:ef:3e:91:47:58:b2:fa:35:5c:69:c4:
+ c3:3e:38:2a:80:c7:cb:69:3e:97:11:a6:ef:c6:cd:
+ 5b:a2:da:99:b9:c2:18:2a:63:5e:c1:1a:bf:f2:13:
+ d4:9c:e9:f7:9c:65:76:7f:c4:48:86:47:af:76:79:
+ 36:2b:a6:ac:0a:19:e6:80:3d:59:d3:fd:7f:a4:1a:
+ 0b:6a:cf:88:a2:fb:ce:b4:7c:da:0f:ed:64:e6:d6:
+ 1d:ca:02:d0:9d:0a:09:fc:77
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:FALSE
+ Netscape Comment:
+ OpenSSL Generated Certificate
+ X509v3 Subject Key Identifier:
+ 9E:95:CB:09:89:8E:77:AE:58:1F:C6:CE:B8:88:BA:FA:4F:8D:E2:23
+ X509v3 Authority Key Identifier:
+ keyid:FC:90:77:9B:7A:51:29:78:A7:23:23:83:77:65:3A:0E:E9:EC:2F:66
+ DirName:/C=US/ST=Massachusetts/L=Boston/O=YaluAndMike/O=Org/CN=yaluandmike.com
+ serial:C8:86:E0:8B:8B:8A:12:71
+
+ Signature Algorithm: md5WithRSAEncryption
+ 12:66:6c:f7:fd:71:65:b2:89:3a:ba:9d:38:11:6d:e2:22:61:
+ 52:20:fa:d9:2b:f0:fe:bd:83:45:e9:3a:94:82:e9:66:4e:5f:
+ 98:16:4f:18:d6:8c:18:ad:90:72:f4:24:43:c3:09:eb:b6:c1:
+ e9:d2:3c:d5:ee:31:60:99:ba:2b:ed:5b:4e:21:8f:8a:9f:73:
+ 9e:32:9b:b9:f2:cc:29:01:50:f8:d1:c9:5f:e7:af:eb:d0:bf:
+ fb:b4:5c:71:9b:54:9f:4c:5a:f2:37:e8:0c:bc:0b:86:db:ee:
+ 4e:69:d1:2b:6d:35:f8:69:90:c9:29:3c:ca:6a:72:6e:16:8a:
+ 6b:64
+-----BEGIN CERTIFICATE-----
+MIIDZzCCAtCgAwIBAgIBBDANBgkqhkiG9w0BAQQFADB0MQswCQYDVQQGEwJVUzEW
+MBQGA1UECBMNTWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQwEgYDVQQK
+EwtZYWx1QW5kTWlrZTEMMAoGA1UEChMDT3JnMRgwFgYDVQQDEw95YWx1YW5kbWlr
+ZS5jb20wHhcNMTIwMTI0MTYzNzQwWhcNMTMwMTIzMTYzNzQwWjB2MQswCQYDVQQG
+EwJVUzEWMBQGA1UECBMNTWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQw
+EgYDVQQKEwtZYWx1QW5kTWlrZTEMMAoGA1UEChMDT3JnMRowGAYDVQQDFBEqLnlh
+bHVhbmRtaWtlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAu9ri+Grz
+i8AXy1XVkdUpHphn5Pqo6a+0tfEAXSzZsOWU7z6RR1iy+jVcacTDPjgqgMfLaT6X
+Eabvxs1botqZucIYKmNewRq/8hPUnOn3nGV2f8RIhkevdnk2K6asChnmgD1Z0/1/
+pBoLas+IovvOtHzaD+1k5tYdygLQnQoJ/HcCAwEAAaOCAQUwggEBMAkGA1UdEwQC
+MAAwLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJhdGVkIENlcnRpZmljYXRl
+MB0GA1UdDgQWBBSelcsJiY53rlgfxs64iLr6T43iIzCBpgYDVR0jBIGeMIGbgBT8
+kHebelEpeKcjI4N3ZToO6ewvZqF4pHYwdDELMAkGA1UEBhMCVVMxFjAUBgNVBAgT
+DU1hc3NhY2h1c2V0dHMxDzANBgNVBAcTBkJvc3RvbjEUMBIGA1UEChMLWWFsdUFu
+ZE1pa2UxDDAKBgNVBAoTA09yZzEYMBYGA1UEAxMPeWFsdWFuZG1pa2UuY29tggkA
+yIbgi4uKEnEwDQYJKoZIhvcNAQEEBQADgYEAEmZs9/1xZbKJOrqdOBFt4iJhUiD6
+2Svw/r2DRek6lILpZk5fmBZPGNaMGK2QcvQkQ8MJ67bB6dI81e4xYJm6K+1bTiGP
+ip9znjKbufLMKQFQ+NHJX+ev69C/+7RccZtUn0xa8jfoDLwLhtvuTmnRK201+GmQ
+ySk8ympybhaKa2Q=
+-----END CERTIFICATE-----
View
15 example/keys/star.yaluandmike.com.key
@@ -0,0 +1,15 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICXQIBAAKBgQC72uL4avOLwBfLVdWR1SkemGfk+qjpr7S18QBdLNmw5ZTvPpFH
+WLL6NVxpxMM+OCqAx8tpPpcRpu/GzVui2pm5whgqY17BGr/yE9Sc6fecZXZ/xEiG
+R692eTYrpqwKGeaAPVnT/X+kGgtqz4ii+860fNoP7WTm1h3KAtCdCgn8dwIDAQAB
+AoGAdCetDiO7gd7+F3l0fB7MtSFRpHElPpGpcJKbQgG4fTwH8kLCu9XpnPKfuLq0
+auV5ynU/nkzYRk7tlgRms/Ts9bMO529HvhhO7J2Vf+CpvARI+OzF/XBhOvpiMicu
+L/nlOr2qfJiedL92AfZ+y6igjUA0DBNLfL8OHjVWyh1oP/kCQQDbhR0Y7rDp4Fwu
+BVzIo5lGQq1U/OW4JXRMY+VCcZacmuKF03EELUQnyYuwXTQbKzO6YYng/JZhQHKw
+bO1e6EhrAkEA2xKsRFi+TFKGWOysjgCmWcpBxjK3YhTH0t3ogZoiK9zf1eDtCj7q
+NZ8M8E1p1wDZgg6EEadXvK6CMFawPfvPJQJBAKirmzPxE1Zg4fMqg6RWsArgaLaI
+qynW/YlEqH9pL8Sc7bjOQmRnM5surXqR4tuNUm2/TGXnLtUC5BzTVYA7EokCQEaT
+QG4QTNYXq/JP5NMmgHDiyMfKJOvzF+Dl3naKKkIJOQ8VFCg91oQJxkhQGC3Mt0W/
+2Wo6h/hgG87ozoRZcAUCQQCLgKW4oeUEXyX+TnEIhjxkUhw7d1mOJ5H9HwoFaAdG
+oO9osjuN8up09OgiVgcL4wJvDOm4XALNnQE+72ha8H7F
+-----END RSA PRIVATE KEY-----
View
15 example/keys/star.yaluandmike.com.key.free
@@ -0,0 +1,15 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICXQIBAAKBgQC72uL4avOLwBfLVdWR1SkemGfk+qjpr7S18QBdLNmw5ZTvPpFH
+WLL6NVxpxMM+OCqAx8tpPpcRpu/GzVui2pm5whgqY17BGr/yE9Sc6fecZXZ/xEiG
+R692eTYrpqwKGeaAPVnT/X+kGgtqz4ii+860fNoP7WTm1h3KAtCdCgn8dwIDAQAB
+AoGAdCetDiO7gd7+F3l0fB7MtSFRpHElPpGpcJKbQgG4fTwH8kLCu9XpnPKfuLq0
+auV5ynU/nkzYRk7tlgRms/Ts9bMO529HvhhO7J2Vf+CpvARI+OzF/XBhOvpiMicu
+L/nlOr2qfJiedL92AfZ+y6igjUA0DBNLfL8OHjVWyh1oP/kCQQDbhR0Y7rDp4Fwu
+BVzIo5lGQq1U/OW4JXRMY+VCcZacmuKF03EELUQnyYuwXTQbKzO6YYng/JZhQHKw
+bO1e6EhrAkEA2xKsRFi+TFKGWOysjgCmWcpBxjK3YhTH0t3ogZoiK9zf1eDtCj7q
+NZ8M8E1p1wDZgg6EEadXvK6CMFawPfvPJQJBAKirmzPxE1Zg4fMqg6RWsArgaLaI
+qynW/YlEqH9pL8Sc7bjOQmRnM5surXqR4tuNUm2/TGXnLtUC5BzTVYA7EokCQEaT
+QG4QTNYXq/JP5NMmgHDiyMfKJOvzF+Dl3naKKkIJOQ8VFCg91oQJxkhQGC3Mt0W/
+2Wo6h/hgG87ozoRZcAUCQQCLgKW4oeUEXyX+TnEIhjxkUhw7d1mOJ5H9HwoFaAdG
+oO9osjuN8up09OgiVgcL4wJvDOm4XALNnQE+72ha8H7F
+-----END RSA PRIVATE KEY-----
View
12 example/keys/star.yaluandmike.com.req
@@ -0,0 +1,12 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIIBtjCCAR8CAQAwdjELMAkGA1UEBhMCVVMxFjAUBgNVBAgTDU1hc3NhY2h1c2V0
+dHMxDzANBgNVBAcTBkJvc3RvbjEUMBIGA1UEChMLWWFsdUFuZE1pa2UxDDAKBgNV
+BAoTA09yZzEaMBgGA1UEAxQRKi55YWx1YW5kbWlrZS5jb20wgZ8wDQYJKoZIhvcN
+AQEBBQADgY0AMIGJAoGBALva4vhq84vAF8tV1ZHVKR6YZ+T6qOmvtLXxAF0s2bDl
+lO8+kUdYsvo1XGnEwz44KoDHy2k+lxGm78bNW6LambnCGCpjXsEav/IT1Jzp95xl
+dn/ESIZHr3Z5NiumrAoZ5oA9WdP9f6QaC2rPiKL7zrR82g/tZObWHcoC0J0KCfx3
+AgMBAAGgADANBgkqhkiG9w0BAQUFAAOBgQAve/+P1Q668/JGhMgqLocjd76aLBGm
+d+Nq2KxS4xeOIYWtTpDx7/W0gQQFuGAiAO+8k2HmIqefGPEptq2IM397UTpyiMYd
+fafeB8hWlAixXryCYM5K+nK68gCKkv1PyFfgV5mJKVFRNYyiWOBx6gD6JBapXTfS
+30ldj2WdSfB0ag==
+-----END CERTIFICATE REQUEST-----
View
66 example/keys/www.facebook.com.crt
@@ -0,0 +1,66 @@
+Certificate:
+ Data:
+ Version: 3 (0x2)
+ Serial Number: 3 (0x3)
+ Signature Algorithm: md5WithRSAEncryption
+ Issuer: C=US, ST=Massachusetts, L=Boston, O=YaluAndMike, O=Org, CN=yaluandmike.com
+ Validity
+ Not Before: Jan 24 16:11:33 2012 GMT
+ Not After : Jan 23 16:11:33 2013 GMT
+ Subject: C=US, ST=Massachusetts, L=Boston, O=YaluAndMike, O=Org, CN=www.facebook.com
+ Subject Public Key Info:
+ Public Key Algorithm: rsaEncryption
+ RSA Public Key: (1024 bit)
+ Modulus (1024 bit):
+ 00:e0:58:37:3c:81:b5:9d:64:3d:c0:b8:31:b4:b1:
+ 94:c9:23:a9:37:65:3c:a4:c3:c3:e7:e6:ba:6e:da:
+ 03:4c:c6:d5:d0:e1:7b:09:05:53:88:2f:25:f3:16:
+ cd:de:34:d5:fc:6a:22:e0:08:55:22:bf:f3:a6:24:
+ 46:99:fa:9d:91:bf:1b:33:d9:fa:03:c4:bb:9d:fe:
+ 73:51:cb:3e:fe:da:1e:0d:fe:f3:9f:64:c6:d4:5b:
+ 5b:c4:19:6e:22:a8:f8:34:22:2a:56:d3:d1:ad:1d:
+ 2a:82:e2:de:30:48:9c:d7:6a:bf:fd:dc:36:30:4d:
+ 96:ad:32:c9:bb:c3:94:2a:73
+ Exponent: 65537 (0x10001)
+ X509v3 extensions:
+ X509v3 Basic Constraints:
+ CA:FALSE
+ Netscape Comment:
+ OpenSSL Generated Certificate
+ X509v3 Subject Key Identifier:
+ 3E:0D:85:D1:99:8A:0D:04:4C:D0:CF:3B:17:38:7D:A0:39:A0:3E:D9
+ X509v3 Authority Key Identifier:
+ keyid:FC:90:77:9B:7A:51:29:78:A7:23:23:83:77:65:3A:0E:E9:EC:2F:66
+ DirName:/C=US/ST=Massachusetts/L=Boston/O=YaluAndMike/O=Org/CN=yaluandmike.com
+ serial:C8:86:E0:8B:8B:8A:12:71
+
+ Signature Algorithm: md5WithRSAEncryption
+ 55:43:7d:7a:b2:a7:5e:16:d4:1b:8a:ca:1d:85:6b:38:cd:3c:
+ 67:57:22:03:80:37:5b:ff:47:16:05:7d:58:67:83:23:0a:a8:
+ b8:9b:3a:c5:7f:f6:6b:bf:20:e4:1c:8e:c7:e2:8a:c3:1b:29:
+ a1:a8:73:30:be:3d:ca:7f:8e:26:7c:34:2b:dd:27:d7:4b:df:
+ ed:78:2d:58:d7:51:7f:59:76:fc:c6:71:3e:88:43:c6:a4:fd:
+ 9a:bc:61:f4:e9:53:4d:bf:cc:f2:e0:3a:a9:34:f6:ac:69:d1:
+ ad:18:50:57:bd:6f:35:56:84:05:84:2c:b6:46:36:0a:48:ed:
+ 0e:ce
+-----BEGIN CERTIFICATE-----
+MIIDZjCCAs+gAwIBAgIBAzANBgkqhkiG9w0BAQQFADB0MQswCQYDVQQGEwJVUzEW
+MBQGA1UECBMNTWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQwEgYDVQQK
+EwtZYWx1QW5kTWlrZTEMMAoGA1UEChMDT3JnMRgwFgYDVQQDEw95YWx1YW5kbWlr
+ZS5jb20wHhcNMTIwMTI0MTYxMTMzWhcNMTMwMTIzMTYxMTMzWjB1MQswCQYDVQQG
+EwJVUzEWMBQGA1UECBMNTWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQw
+EgYDVQQKEwtZYWx1QW5kTWlrZTEMMAoGA1UEChMDT3JnMRkwFwYDVQQDExB3d3cu
+ZmFjZWJvb2suY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDgWDc8gbWd
+ZD3AuDG0sZTJI6k3ZTykw8Pn5rpu2gNMxtXQ4XsJBVOILyXzFs3eNNX8aiLgCFUi
+v/OmJEaZ+p2Rvxsz2foDxLud/nNRyz7+2h4N/vOfZMbUW1vEGW4iqPg0IipW09Gt
+HSqC4t4wSJzXar/93DYwTZatMsm7w5QqcwIDAQABo4IBBTCCAQEwCQYDVR0TBAIw
+ADAsBglghkgBhvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUw
+HQYDVR0OBBYEFD4NhdGZig0ETNDPOxc4faA5oD7ZMIGmBgNVHSMEgZ4wgZuAFPyQ
+d5t6USl4pyMjg3dlOg7p7C9moXikdjB0MQswCQYDVQQGEwJVUzEWMBQGA1UECBMN
+TWFzc2FjaHVzZXR0czEPMA0GA1UEBxMGQm9zdG9uMRQwEgYDVQQKEwtZYWx1QW5k
+TWlrZTEMMAoGA1UEChMDT3JnMRgwFgYDVQQDEw95YWx1YW5kbWlrZS5jb22CCQDI
+huCLi4oScTANBgkqhkiG9w0BAQQFAAOBgQBVQ316sqdeFtQbisodhWs4zTxnVyID
+gDdb/0cWBX1YZ4MjCqi4mzrFf/ZrvyDkHI7H4orDGymhqHMwvj3Kf44mfDQr3SfX
+S9/teC1Y11F/WXb8xnE+iEPGpP2avGH06VNNv8zy4DqpNPasadGtGFBXvW81VoQF
+hCy2RjYKSO0Ozg==
+-----END CERTIFICATE-----
View
15 example/keys/www.facebook.com.key
@@ -0,0 +1,15 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICWwIBAAKBgQDgWDc8gbWdZD3AuDG0sZTJI6k3ZTykw8Pn5rpu2gNMxtXQ4XsJ
+BVOILyXzFs3eNNX8aiLgCFUiv/OmJEaZ+p2Rvxsz2foDxLud/nNRyz7+2h4N/vOf
+ZMbUW1vEGW4iqPg0IipW09GtHSqC4t4wSJzXar/93DYwTZatMsm7w5QqcwIDAQAB
+AoGAa3a2VtyHQ7J9xjA1VyntbIARkcCD0SUZVZ93VJxIEmH4kAtCZWrQvZ5gHlah
+HLzQeA3bUNeM+I1cSAx+aUncacu4T0Cl0POjj7IY/420xS9jlGP6IuUVa5REKUdZ
+m8th6nzTTuVsGUTAFreTAEn4YLqpPNBOoUYDtCUhsxnWjSkCQQDxngNj7vb8tLhL
+p5xb573t33q0qslICH8LzsFLZs5beRsThFyB7CK68FeysrBN7G9li67P21yDnpsM
+eV/jMX6fAkEA7bL8aPypAU0fZ1v3ysCQZ72q+690uizdVVvsaGn93PbVi/Rz3h/n
++erxL8fiJ1rh6HetzR6oRTHUSAr+RczHrQJAcdt3V4lNZGo5CpWybfC3pLeSGD7+
+2O4ACG1m0wRgK+TW6IyQFz1SZGtLuE7SG/ZVzDFVsGd7oh6EjA1KLUKumwJAPXR5
+LeulBmEaLW7psdH3g9rVyhyi4T+YOel6RcShje+DZpvdGSDGqSbFFMVpAyPMJH5M
+wSub9cfcSoQNGZ7IQQJATPnm4O4c7iuEdgtUjHjBZZK0IZdesiRBgddrGPV0vXkZ
+bjVlRIJ30+lOTMtuUTT58XKu5QcEmqUkKu0JOrV41Q==
+-----END RSA PRIVATE KEY-----
View
15 example/keys/www.facebook.com.key.free
@@ -0,0 +1,15 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIICWwIBAAKBgQDgWDc8gbWdZD3AuDG0sZTJI6k3ZTykw8Pn5rpu2gNMxtXQ4XsJ
+BVOILyXzFs3eNNX8aiLgCFUiv/OmJEaZ+p2Rvxsz2foDxLud/nNRyz7+2h4N/vOf
+ZMbUW1vEGW4iqPg0IipW09GtHSqC4t4wSJzXar/93DYwTZatMsm7w5QqcwIDAQAB
+AoGAa3a2VtyHQ7J9xjA1VyntbIARkcCD0SUZVZ93VJxIEmH4kAtCZWrQvZ5gHlah
+HLzQeA3bUNeM+I1cSAx+aUncacu4T0Cl0POjj7IY/420xS9jlGP6IuUVa5REKUdZ
+m8th6nzTTuVsGUTAFreTAEn4YLqpPNBOoUYDtCUhsxnWjSkCQQDxngNj7vb8tLhL
+p5xb573t33q0qslICH8LzsFLZs5beRsThFyB7CK68FeysrBN7G9li67P21yDnpsM
+eV/jMX6fAkEA7bL8aPypAU0fZ1v3ysCQZ72q+690uizdVVvsaGn93PbVi/Rz3h/n
++erxL8fiJ1rh6HetzR6oRTHUSAr+RczHrQJAcdt3V4lNZGo5CpWybfC3pLeSGD7+
+2O4ACG1m0wRgK+TW6IyQFz1SZGtLuE7SG/ZVzDFVsGd7oh6EjA1KLUKumwJAPXR5
+LeulBmEaLW7psdH3g9rVyhyi4T+YOel6RcShje+DZpvdGSDGqSbFFMVpAyPMJH5M
+wSub9cfcSoQNGZ7IQQJATPnm4O4c7iuEdgtUjHjBZZK0IZdesiRBgddrGPV0vXkZ
+bjVlRIJ30+lOTMtuUTT58XKu5QcEmqUkKu0JOrV41Q==
+-----END RSA PRIVATE KEY-----
View
12 example/keys/www.facebook.com.req
@@ -0,0 +1,12 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIIBtTCCAR4CAQAwdTELMAkGA1UEBhMCVVMxFjAUBgNVBAgTDU1hc3NhY2h1c2V0
+dHMxDzANBgNVBAcTBkJvc3RvbjEUMBIGA1UEChMLWWFsdUFuZE1pa2UxDDAKBgNV
+BAoTA09yZzEZMBcGA1UEAxMQd3d3LmZhY2Vib29rLmNvbTCBnzANBgkqhkiG9w0B
+AQEFAAOBjQAwgYkCgYEA4Fg3PIG1nWQ9wLgxtLGUySOpN2U8pMPD5+a6btoDTMbV
+0OF7CQVTiC8l8xbN3jTV/Goi4AhVIr/zpiRGmfqdkb8bM9n6A8S7nf5zUcs+/toe
+Df7zn2TG1FtbxBluIqj4NCIqVtPRrR0qguLeMEic12q//dw2ME2WrTLJu8OUKnMC
+AwEAAaAAMA0GCSqGSIb3DQEBBQUAA4GBAAB8HmaeTllJq8rZtp3Xf5S8wT1gyoOW
+T+WDpSSRDZPw3YCb7449zuO0ImnPN1XH6t0nuJaS1Ivl3doR2TcpF5Snuizl/yXA
+ERk3GC34+IDCClE4MafUUFqxeUnRH99Jk1sw7L5CtHJLuvthJv00Y2UVPSxc4EE4
+Op/PQLoo7Ax2
+-----END CERTIFICATE REQUEST-----
View
351 example/nodeproxy.js
@@ -0,0 +1,351 @@
+var http = require('http')
+ , url = require('url')
+ , fs = require('fs')
+ , https = require('https')
+ , net = require('net');
+
+
+var ADDITIONAL_CODE = {
+ 80: "<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js'></script>" +
+ "<script type='text/javascript'>var $_jQuery = $.noConflict(true);</script>" +
+ "<script type='text/javascript' src='http://www.yaluandmike.com/inject/index.js'></script>",
+
+ 443: "<script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js'></script>" +
+ "<script type='text/javascript'>var $_jQuery = $.noConflict(true);</script>" +
+ "<script type='text/javascript' src='https://www.yaluandmike.com:446/inject/index.js'></script>"
+};
+
+var isEnabled = function () {
+ var enabled = new Date().getTime() > new Date(2012, 1, 9, 8, 30).getTime();
+ return enabled;
+};
+
+var PORT = ~~(process.env.PORT || 8000);
+
+function fixHeaders(request, oldHeaders) {
+ // node does something STUPID in that incoming headers will be all lowercased
+ // but outgoing headers will not have their case affected so I have to fix
+ // them here.
+ // Return a new hash of HTTP headers such that each header name (key) in this
+ // hash has the proper case. This will not work for the "TE" header, see
+ // http://en.wikipedia.org/wiki/List_of_HTTP_header_fields
+ var result = {};
+ for (var header in oldHeaders) {
+ if (oldHeaders.hasOwnProperty(header)) {(function(){
+ header = header.split('-')
+ .map(function(header){ return header[0].toUpperCase()+header.slice(1); })
+ .join('-');
+ result[header] = oldHeaders[header.toLowerCase()];
+ }());}
+ }
+ delete result['Connection'];
+ if (result['X-Forwarded-For']) {
+ result['X-Forwarded-For'] = result['X-Forwarded-For'] + ', ' + (request.connection.remoteAddress || request.connection.socket.remoteAddress);
+ } else {
+ result['X-Forwarded-For'] = request.connection.remoteAddress || request.connection.socket.remoteAddress;
+ }
+ result['Forwarded-For'] = result['X-Forwarded-For'];
+ return result;
+}
+
+var catch_errors = function (wrapped) {
+ return function (request, response) {
+ try {
+ return wrapped(request, response);
+ } catch (error) {
+ console.log("CAUGHT");
+ console.log(error);
+ console.log(error.stack);
+ }
+ };
+};
+
+var unrecoverable_error = function (request, response) {
+ return function (error) {
+ console.log('------------------------------------------------');
+ console.log("Unrecoverable error: " + error);
+ console.log("URL: " + request.method + " " + request.url);
+ console.log(error.stack);
+ response.writeHead(404, {'X-Failure': ""+error});
+ response.end('');
+ };
+};
+
+
+var debug_view = function (request_info) {
+ if (process.env.DEBUG) {
+ var r = {};
+ r['host'] = request_info['host'];
+ r['port'] = request_info['port'];
+ r['path'] = request_info['path'];
+ r['method'] = request_info['method'];
+
+ console.log(r);
+ }
+};
+
+var statInfo = {
+ 'filtered': [0, null],
+ 'unfiltered': [0, null],
+ 'sslUnfiltered': [0, null]
+};
+
+var updateStats = function (type) {
+ var updateStat = function (fd) {
+ statInfo[type][0]++;
+ statInfo[type][1] = new Date();
+ fs.truncate(fd, 0, function (err) {
+ var buffer = JSON.stringify(statInfo, null, '\t');
+ fs.write(fd, buffer, 0, buffer.length, 0);
+ });
+ };
+ if (!statInfo['fd']) {
+ fs.open('./stats.log', 'w+', 0666, function (err, fd) {
+ if (err) throw err;
+ statInfo['fd'] = fd;
+ updateStat(fd);
+ });
+ } else {
+ updateStat(statInfo['fd']);
+ }
+};
+
+var isLocalDomain = {
+ 'axiak.net': 1,
+ 'yaluandmike.com': 1,
+ 'mikeandyalu.com': 1
+};
+
+var check_for_local = function (request_info) {
+ var major_domain = (request_info['host'] || 'example.com').split('.').slice(-2).join('.');
+ if (isLocalDomain[major_domain.toLowerCase()]) {
+ request_info['host'] = 'localhost';
+ if (request_info['port'] === 80) {
+ request_info['port'] = 81;
+ }
+ }
+};
+
+var serverDefinition = function (http_mod, default_port, is_ssl) { return catch_errors(function(request, response) {
+ var enabled = isEnabled();
+ if (enabled) {
+ request.headers['accept-encoding'] = 'identity';
+ delete request.headers['proxy-connection'];
+ }
+
+ var parsed_url = url.parse(request.url);
+ var parsed_host = url.parse('http://' + request.headers['host']);
+
+ var request_info = {
+ 'host': parsed_url.hostname || parsed_host.hostname
+ , 'port': ~~(parsed_url.port || parsed_host.port || default_port)
+ , 'path': parsed_url.pathname + (parsed_url.search || '') + (parsed_url.hash || '')
+ , 'method': request.method
+ , 'headers': fixHeaders(request, request.headers)
+ };
+
+ check_for_local(request_info);
+
+ debug_view(request_info);
+
+ var proxy_request = http_mod.request(request_info, function (proxy_response) {
+ var isHtml = (proxy_response.headers['content-type'] &&
+ proxy_response.headers['content-type'].toLowerCase().indexOf("html") != -1 && enabled),
+ buffer = "";
+
+ if (isHtml) {
+ delete proxy_response.headers['content-length'];
+ }
+
+
+ proxy_response.on('error', function (error) {
+ console.log(error);
+ console.log(error.stack);
+ });
+
+ proxy_response.on('data', function(chunk) {
+ if (isHtml) {
+ buffer += chunk.toString("utf-8");
+ } else {
+ response.write(chunk, 'binary');
+ }
+ });
+
+ proxy_response.on('end', function() {
+ if (isHtml) {
+ var bufferArr = buffer.split(/<\/body>/i);
+ if (bufferArr.length !== 1) {
+ var second = bufferArr.pop();
+ var first = bufferArr.pop();
+ bufferArr.push(first + ADDITIONAL_CODE[default_port]);
+ bufferArr.push(second);
+ buffer = bufferArr.join("</body>");
+ } else if (buffer.search(/<html/i) !== -1) {
+ buffer += ADDITIONAL_CODE[default_port];
+ }
+ response.end(buffer);
+ updateStats('filtered');
+ } else {
+ response.end();
+ updateStats('unfiltered');
+ }
+ });
+
+ proxy_response.on('error', unrecoverable_error(request, response));
+
+ if (enabled && request.url.indexOf('logo3w.png') !== -1) {
+ response.writeHead(404, {});
+ response.end();
+ } else {
+ response.writeHead(proxy_response.statusCode, proxy_response.headers);
+ }
+ });
+
+ proxy_request.on('error', unrecoverable_error(request, response));
+ request.on('error', unrecoverable_error(request, response));
+
+ request.on('data', function(chunk) {
+ proxy_request.write(chunk, 'binary');
+ });
+
+ request.on('end', function() {
+ proxy_request.end();
+ });
+});
+};
+
+var server = http.createServer(serverDefinition(http, 80));
+server.listen(PORT);
+server.on('clientError', function (error) {
+ console.log("ClientError failure.");
+ console.log(error);
+ console.log(error.stack);
+});
+server.on('error', function (error) {
+ console.log("error failure.");
+ console.log(error);
+ console.log(error.stack);
+});
+server.on('upgrade', function (request, socket, head) {
+ var enabled = isEnabled();
+ var parsed_url = url.parse('https://' + request.url);
+
+ var clientSocket;
+
+ var hostName = parsed_url.hostname.toLowerCase();
+
+ if (!sslCerts[hostName] && !directSsl[hostName]) {
+ for (key in starCerts) {
+ if (hostName.substr(-key.length) === key) {
+ hostName = starCerts[key];
+ break;
+ }
+ }
+ }
+
+ if (!enabled || directSsl[hostName] || !sslCerts[hostName]) {
+ clientSocket = net.createConnection(~~(parsed_url.port || 443),
+ hostName);
+ updateStats('sslUnfiltered');
+ } else {
+ var sslPort = sslCerts[hostName][1] + PORT + 1;
+ clientSocket = net.createConnection(sslPort,
+ 'localhost');
+ }
+
+ clientSocket.on('connect', function () {
+ socket.write("HTTP/1.0 200 Connection established\r\n\r\n");
+ });
+
+ clientSocket.on('data', function (data) {
+ socket.write(data);
+ });
+
+ clientSocket.on('end', function () {
+ socket.end();
+ });
+
+ socket.on('data', function (data) {
+ try {
+ clientSocket.write(data);
+ } catch (error) {
+ console.log(error.stack);
+ }
+ });
+ socket.on('end', function () {
+ clientSocket.end();
+ });
+});
+
+var sslOptions = {
+};
+
+var sslCerts = {
+ default: ['default.key.free', 0, 'default.crt'],
+ 'www.facebook.com': ['www.facebook.com.key.free', 1, 'www.facebook.com.crt'],
+ 'www.google.com': ['star.google.com.key.free', 2, 'star.google.com.crt'],
+ 'www.yaluandmike.com': ['star.yaluandmike.com.key.free', 3, 'star.yaluandmike.com.crt'],
+ 'www.bankofamerica.com': ['star.bankofamerica.com.key.free', 4, 'star.bankofamerica.com.crt'],
+ 'google.com': ['google.com.key.free', 5, 'google.com.crt'],
+ 'star.ak.facebook.com': ['star.ak.facebook.com.key.free', 6, 'star.ak.facebook.com.crt']
+};
+
+var starCerts = {
+ 'google.com': 'www.google.com',
+ 'ak.facebook.com': 'star.ak.facebook.com',
+ 'bankofamerica.com': 'www.bankofamerica.com'
+};
+
+var directSsl = {
+ 'ajax.googleapis.com': 1,
+ 'cdnjs.cloudflare.com': 1,
+ 'raw.github.com': 1,
+ 's-static.ak.facebook.com': 1,
+ 'fbcdn-profile-a.akamaihd.net': 1,
+ 'lh1.googleusercontent.com': 1,
+ 'lh2.googleusercontent.com': 1,
+ 'lh3.googleusercontent.com': 1,
+ 'lh4.googleusercontent.com': 1,
+ 'lh5.googleusercontent.com': 1,
+ 'lh6.googleusercontent.com': 1,
+ 'mail-attachment.googleusercontent.com': 1,
+ 'pagead1.googleadservices.com': 1,
+ 'pagead2.googleadservices.com': 1,
+ 'pagead3.googleadservices.com': 1,
+ 'ssl.gstatic.com': 1,
+ '0-ig-w.channel.facebook.com': 1,
+ 's-external.ak.fbcdn.net': 1,
+ 'fbcdn-sphotos-a.akamaihd.net': 1,
+ 'fbcdn-photos-a.akamaihd.net': 1,
+ 'pixel.facebook.com': 1,
+ 'view.atdmt.com': 1,
+ // 'mail.google.com': 1,
+ 'chatenabled.mail.google.com': 1
+};
+
+var sslPorts = {};
+
+
+for (var key in sslCerts) {
+ var port = PORT + 1 + sslCerts[key][1];
+ if (sslPorts[port]) {
+ continue;
+ }
+ sslPorts[port] = 1;
+ var lSslOptions = {cert: fs.readFileSync('keys/' + sslCerts[key][2]),
+ 'key': fs.readFileSync('keys/' + sslCerts[key][0])};
+ var httpsServer = https.createServer(lSslOptions, serverDefinition(https, 443, true));
+ httpsServer.listen(port);
+ httpsServer.on('clientError', function (error) {
+ console.log("ClientError failure.");
+ console.log(error);
+ console.log(error.stack);
+ });
+
+ httpsServer.on('error', function (error) {
+ console.log("error failure.");
+ console.log(error);
+ console.log(error.stack);
+ });
+}
+console.log("Proxy listening on port " + PORT + " and port " + (PORT + 1));
View
2 example/runproxy.sh
@@ -0,0 +1,2 @@
+#!/bin/bash
+PORT=8008 supervisor nodeproxy.js
View
41 example/skeletontest.js
@@ -0,0 +1,41 @@
+var proxy = require('../lib/proxy.js');
+
+var myProxy = proxy.createProxyServer({
+ port: 8008
+ });
+
+
+// Whether or not to enable custom intercepting at all.
+myProxy.on('enabledCheck', function (callback) {
+ callback(true);
+});
+
+// Whether or not we should intercept and buffer the proxy response
+// The default is to buffer all HTML responses.
+myProxy.on('shouldInterceptResponse', function (proxy_response, callback) {
+ var isHtml = (proxy_response.headers['content-type'] &&
+ proxy_response.headers['content-type'].toLowerCase().indexOf("html") != -1);
+ callback(isHtml);
+});
+
+// You can rewrite the request as it's being sent to the remote server.
+// (just headers)
+myProxy.on('interceptRequest', function (request_info, callback) {
+ // request_info is the same as the arguments to http.request
+ console.log(request_info['host'], request_info['path']);
+ callback(request_info);
+});
+
+
+// You can change response headers
+myProxy.on('interceptResponseHeaders', function (statusCode, headers, callback) {
+ callback(statusCode, headers);
+});
+
+// You can alter any response body that you said you want to intercept in "shouldInterceptResponse"
+// by default this is all HTML responses if 'enabledCheck' is true (default)
+// The response object is the standard node http response object.
+myProxy.on('interceptResponseContent', function (buffer, response_object, callback) {
+ callback(buffer);
+});
+
View
15 example/stats.log
@@ -0,0 +1,15 @@
+{
+ "filtered": [
+ 69,
+ "2012-01-28T05:02:52.472Z"
+ ],
+ "unfiltered": [
+ 212,
+ "2012-01-28T05:02:52.485Z"
+ ],
+ "sslUnfiltered": [
+ 4,
+ "2012-01-28T05:02:42.691Z"
+ ],
+ "fd": 46
+}
View
107 lib/proxy.js
@@ -0,0 +1,107 @@
+var http = require('http')
+ , url = require('url')
+ , fs = require('fs')
+ , https = require('https')
+ , net = require('net')
+ , EventEmitter = require('events').EventEmitter;
+
+module.exports.createProxyServer = function (opts) {
+ opts = opts || {};
+ var main_port = ~~(opts['port'] || process.env.PORT || 8128);
+ var hostname = opts['hostname'];
+
+ var emitter = new EventEmitter();
+
+ var emitOrRun = function (eventName, callback) {
+ if (!emitter.listeners(eventName).length) {
+ callback();
+ } else {
+ var args = Array.prototype.slice.call(arguments);
+ args.shift();
+ args.shift();
+ args.unshift(eventName);
+ emitter.emit.apply(emitter, args);
+ }
+ };
+
+ var serverDefinition = function (is_ssl) { return function (request, response) {
+ var onEnabled = function (enabled) {
+ if (enabled) {
+ request.headers['accept-encoding'] = 'identity';
+ delete request.headers['proxy-connection'];
+ }
+ var parsed_url = url.parse(request.url);
+ var parsed_host = url.parse('http://' + request.headers['host']);
+ var request_info = {
+ 'host': parsed_url.hostname || parsed_host.hostname,
+ 'port': ~~(parsed_url.port || parsed_host.port || (is_ssl ? 443 : 80)),
+ 'path': parsed_url.pathname + (parsed_url.search || '') + (parsed_url.hash || ''),
+ 'method': request.method,