)]}'
{
  "commit": "665d899fa6d3571da016925067ebcf1789d7d19c",
  "tree": "1674f352dc0feee9e68e6221d21c5d79bd1935ab",
  "parents": [
    "b0004708730f300a2e5c6a11c887caab50b6c42a"
  ],
  "author": {
    "name": "Paul Yang",
    "email": "yang.yang@baishancloud.com",
    "time": "Wed Aug 02 02:19:43 2017 +0800"
  },
  "committer": {
    "name": "Paul Yang",
    "email": "yang.yang@baishancloud.com",
    "time": "Tue Nov 21 14:38:42 2017 +0800"
  },
  "message": "Support multi-prime RSA (RFC 8017)\n\n* Introduce RSA_generate_multi_prime_key to generate multi-prime\n  RSA private key. As well as the following functions:\n    RSA_get_multi_prime_extra_count\n    RSA_get0_multi_prime_factors\n    RSA_get0_multi_prime_crt_params\n    RSA_set0_multi_prime_params\n    RSA_get_version\n* Support EVP operations for multi-prime RSA\n* Support ASN.1 operations for multi-prime RSA\n* Support multi-prime check in RSA_check_key_ex\n* Support multi-prime RSA in apps/genrsa and apps/speed\n* Support multi-prime RSA manipulation functions\n* Test cases and documentation are added\n* CHANGES is updated\n\nReviewed-by: Tim Hudson \u003ctjh@openssl.org\u003e\nReviewed-by: Bernd Edlinger \u003cbernd.edlinger@hotmail.de\u003e\n(Merged from https://github.com/openssl/openssl/pull/4241)\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "0b0c3cab2dbd8263801598047ab173267d2548fc",
      "old_mode": 33188,
      "old_path": "CHANGES",
      "new_id": "3ae8b4d0bd517e1b38fc8f100525e141982a72dc",
      "new_mode": 33188,
      "new_path": "CHANGES"
    },
    {
      "type": "modify",
      "old_id": "b4a986cb583e1366da1c9f38afdad3f9b44a7dff",
      "old_mode": 33188,
      "old_path": "apps/genrsa.c",
      "new_id": "f14785290284f9b527fc605eb50c2c5ee09e95da",
      "new_mode": 33188,
      "new_path": "apps/genrsa.c"
    },
    {
      "type": "modify",
      "old_id": "063bc1c2dcde0770710922dec4d1ad90feff0518",
      "old_mode": 33188,
      "old_path": "apps/speed.c",
      "new_id": "c52dac608a4282762d25cd287e2913cba4b7720d",
      "new_mode": 33188,
      "new_path": "apps/speed.c"
    },
    {
      "type": "modify",
      "old_id": "8547d07882883bfa8db34233054534f705cf10fc",
      "old_mode": 33188,
      "old_path": "crypto/err/openssl.txt",
      "new_id": "e7353aa3e892137d36cea7cdfc23c088332bacfa",
      "new_mode": 33188,
      "new_path": "crypto/err/openssl.txt"
    },
    {
      "type": "modify",
      "old_id": "4575b28879c047a52f5000d375ae17d49a798985",
      "old_mode": 33188,
      "old_path": "crypto/rsa/build.info",
      "new_id": "87f924922f636c88ff9ae71ee9e7b2fef9f07af6",
      "new_mode": 33188,
      "new_path": "crypto/rsa/build.info"
    },
    {
      "type": "modify",
      "old_id": "97a37ba47d3e853805143d93787c5c836e957701",
      "old_mode": 33188,
      "old_path": "crypto/rsa/rsa_ameth.c",
      "new_id": "98121b5e6429b9c3630d4717e3613c0722c1e5a6",
      "new_mode": 33188,
      "new_path": "crypto/rsa/rsa_ameth.c"
    },
    {
      "type": "modify",
      "old_id": "43c8fc27ae568fbacfe3b7abe4ce4727d37c810f",
      "old_mode": 33188,
      "old_path": "crypto/rsa/rsa_asn1.c",
      "new_id": "9fe62c82eb2fe42d1b2ff80b8e3c2f6f371117a2",
      "new_mode": 33188,
      "new_path": "crypto/rsa/rsa_asn1.c"
    },
    {
      "type": "modify",
      "old_id": "00260fb18e98cf64978fee1ec12060033959e861",
      "old_mode": 33188,
      "old_path": "crypto/rsa/rsa_chk.c",
      "new_id": "4cf682258b314622f03714ef3fc2a7ba8f3e1f2d",
      "new_mode": 33188,
      "new_path": "crypto/rsa/rsa_chk.c"
    },
    {
      "type": "modify",
      "old_id": "74b0feeae4055c3d93829d44506ec76ee75cf845",
      "old_mode": 33188,
      "old_path": "crypto/rsa/rsa_err.c",
      "new_id": "f7d29e19991a2a5430afef19041eb0201892dc98",
      "new_mode": 33188,
      "new_path": "crypto/rsa/rsa_err.c"
    },
    {
      "type": "modify",
      "old_id": "4ced965519caeafe0a4acd62d37ae6cf9c390ba0",
      "old_mode": 33188,
      "old_path": "crypto/rsa/rsa_gen.c",
      "new_id": "f7f60754ade6d9a91a2c4f88bcd3fe133409c02e",
      "new_mode": 33188,
      "new_path": "crypto/rsa/rsa_gen.c"
    },
    {
      "type": "modify",
      "old_id": "e43d8238b5fc79d386d7d9148078463ad27ab0e6",
      "old_mode": 33188,
      "old_path": "crypto/rsa/rsa_lib.c",
      "new_id": "198dbd3fc7ce6c8d76dba0b452083f36955b2e6f",
      "new_mode": 33188,
      "new_path": "crypto/rsa/rsa_lib.c"
    },
    {
      "type": "modify",
      "old_id": "be3ef0cf645f7d99a2d3adac3f54b4e5daaa97b0",
      "old_mode": 33188,
      "old_path": "crypto/rsa/rsa_locl.h",
      "new_id": "6a53d89edef1dabb1d16d924b0475c17d4fcdec3",
      "new_mode": 33188,
      "new_path": "crypto/rsa/rsa_locl.h"
    },
    {
      "type": "modify",
      "old_id": "9480abd70090299081187215c87f9ebf96c5a1f6",
      "old_mode": 33188,
      "old_path": "crypto/rsa/rsa_meth.c",
      "new_id": "5dccc330dc1b07dd957a4d52e9ce9f2a17e8de1a",
      "new_mode": 33188,
      "new_path": "crypto/rsa/rsa_meth.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d9705648400c92b356d97ecd83c1ffe407d3ddac",
      "new_mode": 33188,
      "new_path": "crypto/rsa/rsa_mp.c"
    },
    {
      "type": "modify",
      "old_id": "40c84dd3c20d0bcc5e95279ed1e6e7904a9eae58",
      "old_mode": 33188,
      "old_path": "crypto/rsa/rsa_ossl.c",
      "new_id": "ced11ad883c98e17b53e073e4da63c5010d5f0ea",
      "new_mode": 33188,
      "new_path": "crypto/rsa/rsa_ossl.c"
    },
    {
      "type": "modify",
      "old_id": "5e2df3e8ff23d74451beeb2f1ae94f01863cf5ce",
      "old_mode": 33188,
      "old_path": "crypto/rsa/rsa_pmeth.c",
      "new_id": "8a114cff890b79a39a39d74872fb51a85938e7e5",
      "new_mode": 33188,
      "new_path": "crypto/rsa/rsa_pmeth.c"
    },
    {
      "type": "modify",
      "old_id": "ddfd04002c78ae0b0f8942debac388225aad01f2",
      "old_mode": 33188,
      "old_path": "doc/man1/genpkey.pod",
      "new_id": "d8f1c24f748830ef584d39de6e053a4e2779fc39",
      "new_mode": 33188,
      "new_path": "doc/man1/genpkey.pod"
    },
    {
      "type": "modify",
      "old_id": "f6a2d8a7f369376ca81492c62ed2839679ab8888",
      "old_mode": 33188,
      "old_path": "doc/man1/genrsa.pod",
      "new_id": "3e42c98f5d3c4376ea46d325c677fe08ab3f911e",
      "new_mode": 33188,
      "new_path": "doc/man1/genrsa.pod"
    },
    {
      "type": "modify",
      "old_id": "d8d5f6f22b690a4b1dc03849ab9d09ccd0fd2865",
      "old_mode": 33188,
      "old_path": "doc/man1/speed.pod",
      "new_id": "80602a46256539848434d72df94ff9cfd25e46b2",
      "new_mode": 33188,
      "new_path": "doc/man1/speed.pod"
    },
    {
      "type": "modify",
      "old_id": "be18ae24ff06014034cb95b206d9e6c7753df979",
      "old_mode": 33188,
      "old_path": "doc/man3/RSA_generate_key.pod",
      "new_id": "6e8e50c0ca705e5b9c96bc8f1f0521834efb4c89",
      "new_mode": 33188,
      "new_path": "doc/man3/RSA_generate_key.pod"
    },
    {
      "type": "modify",
      "old_id": "55a39a3105c0afe841b309acf02c52a425b09f4f",
      "old_mode": 33188,
      "old_path": "doc/man3/RSA_get0_key.pod",
      "new_id": "6e6576e7f3883509a8339de3ecc3314c8f6dc0c5",
      "new_mode": 33188,
      "new_path": "doc/man3/RSA_get0_key.pod"
    },
    {
      "type": "modify",
      "old_id": "a578389ba82c9a6e8bc9d2b2dd4785ba92f23e2d",
      "old_mode": 33188,
      "old_path": "doc/man3/RSA_meth_new.pod",
      "new_id": "fde1a41e64250b4200c4d8a75d4da6cf89a15566",
      "new_mode": 33188,
      "new_path": "doc/man3/RSA_meth_new.pod"
    },
    {
      "type": "modify",
      "old_id": "f45ea2e90c77187d21a85d081866ea7fd11d5d5c",
      "old_mode": 33188,
      "old_path": "include/openssl/rsa.h",
      "new_id": "8985219aee753e6ee64d5fcda4384b65e1ef9a06",
      "new_mode": 33188,
      "new_path": "include/openssl/rsa.h"
    },
    {
      "type": "modify",
      "old_id": "6e6aac28b069c0565ffa2de0ccf7030a7f0e4fff",
      "old_mode": 33188,
      "old_path": "include/openssl/rsaerr.h",
      "new_id": "94bfd93fc781f7a2c99ba4c9d617f444645bc219",
      "new_mode": 33188,
      "new_path": "include/openssl/rsaerr.h"
    },
    {
      "type": "modify",
      "old_id": "d7cfd7e6c47f2ec781b9165645e7269119c2fda9",
      "old_mode": 33188,
      "old_path": "test/build.info",
      "new_id": "3d7af31ab6befdd6850c87c7c3ddbbaa43ea47a5",
      "new_mode": 33188,
      "new_path": "test/build.info"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f601c4c11ddc8670bbce30e11dcbffb4476f3374",
      "new_mode": 33188,
      "new_path": "test/recipes/15-test_mp_rsa.t"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "60d11c0f69145177c3e7be5d859701eb8aae0832",
      "new_mode": 33188,
      "new_path": "test/recipes/15-test_mp_rsa_data/plain_text"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ea4701e762ca39c559abf998e390a8ddb33014fe",
      "new_mode": 33188,
      "new_path": "test/rsa_mp_test.c"
    },
    {
      "type": "modify",
      "old_id": "8d9db312a6e56b5a23911fb61da0bb2b37d7b952",
      "old_mode": 33188,
      "old_path": "util/libcrypto.num",
      "new_id": "10ffa2c3d5ede61ecdc61dc5e39e79108ece04ec",
      "new_mode": 33188,
      "new_path": "util/libcrypto.num"
    }
  ]
}
