)]}'
{
  "commit": "37933acbeafef6db9a5c5681c1b5174cd91494bc",
  "tree": "68baa103ddb6b721bca122931479a107e4266273",
  "parents": [
    "5936e8884bc6f3b9ff9abf8ebbeb772809882f92"
  ],
  "author": {
    "name": "Todd Short",
    "email": "tshort@akamai.com",
    "time": "Mon Dec 28 09:13:20 2015 -0500"
  },
  "committer": {
    "name": "Ben Kaduk",
    "email": "kaduk@mit.edu",
    "time": "Fri Mar 09 10:28:04 2018 -0600"
  },
  "message": "Add SSL/SSL_CTX_use_cert_and_key()\n\nAdd functions that will do the work of assigning certificate, privatekey\nand chain certs to an SSL or SSL_CTX. If no privatekey is given, use the\npublickey. This will permit the keys to pass validation for both ECDSA\nand RSA. If a private key has already been set for the certificate, it\nis discarded. A real private key can be set later.\n\nThis is an all-or-nothing setting of these parameters. Unlike the\nSSL/SSL_CTX_use_certificate() and SSL/SSL_CTX_use_PrivateKey() functions,\nthe existing cert or privatekey is not modified (i.e. parameters copied).\nThis permits the existing cert/privatekey to be replaced.\n\nIt replaces the sequence of:\n* SSL_use_certificate()\n* SSL_use_privatekey()\n* SSL_set1_chain()\nAnd may actually be faster, as multiple checks are consolidated.\n\nThe private key can be NULL, if so an ENGINE module needs to contain the\nactual private key that is to be used.\n\nNote that ECDH (using the certificate\u0027s ECDSA key) ciphers do not work\nwithout the private key being present, based on how the private key is\nused in ECDH. ECDH does not offer PFS; ECDHE ciphers should be used instead.\n\nReviewed-by: Tim Hudson \u003ctjh@openssl.org\u003e\nReviewed-by: Ben Kaduk \u003ckaduk@mit.edu\u003e\n(Merged from https://github.com/openssl/openssl/pull/1130)\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "842a4209dcfc4c2f48270b4abf8352fcba0f8089",
      "old_mode": 33188,
      "old_path": "crypto/err/openssl.txt",
      "new_id": "d867007b2e26118671c59792025fa6754b94a6a9",
      "new_mode": 33188,
      "new_path": "crypto/err/openssl.txt"
    },
    {
      "type": "modify",
      "old_id": "22420f97d8bdf61536899cefdc00a8c80e979cca",
      "old_mode": 33188,
      "old_path": "doc/man3/SSL_CTX_use_certificate.pod",
      "new_id": "a0c92e6e7b6362ff71e93ffaacf7e3a03c93e50f",
      "new_mode": 33188,
      "new_path": "doc/man3/SSL_CTX_use_certificate.pod"
    },
    {
      "type": "modify",
      "old_id": "63b47baa16988f3991da4bf15e3a3901e6906236",
      "old_mode": 33188,
      "old_path": "doc/man7/ssl.pod",
      "new_id": "03efc52007d75896e3491940102500987b5e0811",
      "new_mode": 33188,
      "new_path": "doc/man7/ssl.pod"
    },
    {
      "type": "modify",
      "old_id": "825490b5c24e0c1339b271843c32e63518651e26",
      "old_mode": 33188,
      "old_path": "include/openssl/ssl.h",
      "new_id": "3561dee33bc7a89193f4157b5b755c14dd167596",
      "new_mode": 33188,
      "new_path": "include/openssl/ssl.h"
    },
    {
      "type": "modify",
      "old_id": "32fe3662f2b4388d0413415af389429a9b45ef72",
      "old_mode": 33188,
      "old_path": "include/openssl/sslerr.h",
      "new_id": "454877df85a88982d020b36f41b9ffd1a7f2ff5b",
      "new_mode": 33188,
      "new_path": "include/openssl/sslerr.h"
    },
    {
      "type": "modify",
      "old_id": "34e8ec407615cf1fe5627bec303e70b4f9a097bb",
      "old_mode": 33188,
      "old_path": "ssl/ssl_err.c",
      "new_id": "e367a364bb93b95b5be4d89cf8d13cf3c9f4b2e4",
      "new_mode": 33188,
      "new_path": "ssl/ssl_err.c"
    },
    {
      "type": "modify",
      "old_id": "fe2dd867ad35b2c590425ab9a6cc6e32b2a41d21",
      "old_mode": 33188,
      "old_path": "ssl/ssl_rsa.c",
      "new_id": "7eff731e4155651e9ad9e03115cf7b435963fe54",
      "new_mode": 33188,
      "new_path": "ssl/ssl_rsa.c"
    },
    {
      "type": "modify",
      "old_id": "48c5eca19db0ee20f425009d254ce3a4f23de3c3",
      "old_mode": 33188,
      "old_path": "util/libssl.num",
      "new_id": "b299035042b744ecb145b92c0a78faba20a67ff6",
      "new_mode": 33188,
      "new_path": "util/libssl.num"
    }
  ]
}
