Showing
2 changed files
with
28 additions
and
0 deletions
... | @@ -122,3 +122,9 @@ USE_TZ = True | ... | @@ -122,3 +122,9 @@ USE_TZ = True |
122 | # https://docs.djangoproject.com/en/1.11/howto/static-files/ | 122 | # https://docs.djangoproject.com/en/1.11/howto/static-files/ |
123 | 123 | ||
124 | STATIC_URL = '/static/' | 124 | STATIC_URL = '/static/' |
125 | + | ||
126 | + | ||
127 | +# Custom Settings | ||
128 | +CDN_PATH = 'https://khubox-files.khunet.net' | ||
129 | +CLOUDFRONT_KEY_ID = 'APKAJ3FOBWI34OZJTXJQ' | ||
130 | +CLOUDFRONT_KEY_PRIVATE = '-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEA18VtzURs+fQev5L00LRwRbJaObQI4kfJCIsOE7eWSOqq4Akh\nA7fI6vs3z8orXBvgc+k6GgAHrIdNwckxoQuTsCxrTDm1104qy1T4JkVxkIBYHJgH\nGzKUloK5IqdmcYbOK7IQeHJ2gR9Mv/3oKUytJSsrbM9k4oLrsxGpyEuJeHIg28aP\nwhoVWmBGcPu48l4aYAZEVY7LZRJSOQ9y7Lf8FS1u7Xtw1P91gEaqrqVXqRWY02C8\nsixpJJuiAPnM3rpcpVNlAaPdDkWmaWYJoJDOlce7Dmx1a9Ckr24krM//vpEljurC\nGml0AsHpL8LE9msM5VA+miCxCz/K+wDgm2xvvQIDAQABAoIBAFmP3pLceyuJVBYK\n5smWjB+x91eKTkG2sFB2f8JZau0bUxApWeXULHa1DiaW8UaLX7BdN7vBFW5cvz7X\nx1zklEoFNghuz/btwD+kJlikbI4hZ/F+fTyh0yFiY3xp5dDrtrpWcBW+1UeleVMc\nDnjOFfSepajFsUeANlue0k2MZSRz34s2T2scV5ZkooqdXddYUF/wDhefYm6uvCgI\nPyvY/mbJTyhte/xagY/m6yzk5gxgad0qP2ZZrHhLLMlJ/GEZToWDxD2xUei61NQT\nFFc5ZutkAE6fVb3I4SJUBSX5fl0tTMz4Aak1GP2phMhjZyjYnQMq8kvL4BNFb7gp\nary8W/UCgYEA+eKkfjjlPsEx6yHMhD7pAwy/MpUqJmF5LMxIG+qfd+GZMQ2oucn5\npUAwBHP7BD6E9H7/7jdjnCiO+iPrzM9vNLfqsdCtPWzoFYJp/6Fv002uX8seNYvJ\nQyQqrM85LYIghhnkcmJMA8GR/Iu5ZEeE2BkAl9T2EKclzmB62d/ki6MCgYEA3Q0V\nz08IEwSJW+jEsOM+XGg2YkNqCVKGQD9n4CPx0TFVJxfqFl2nVwlN2hfrlJLUQ9+l\nfXnS5AW3tE88t9we+ea0saJZEqqlm/rGsfTV/twS9cWSgvG5fTzhUbu9/ElMU29L\nmydQfWTvCup7zCuQtgwM5ZRtPwuKsI8urUg6zR8CgYAt0coZvvMCI8i0dbkbkrGF\nNqQkcUeOTBc9CKQ8QjRFdh9x6DBFCOz2ySNE3cNsTs5wSo1BL/Ta4HD/GvEU2ABr\nKUImor3xYnPX5dbr4b0wgLD1rbf3V49q+Um98C1q086E6GCEPNP1aFwNc81lvtt0\nCHmcXZdVDGEZS4WbR7uPgwKBgBO/moY12lPQoPDsH75p3uVkjg9DVJLWo5XT1FTr\nASyeSqw+b7Rl05BsDV+BqZNRdtNFhMRsANJMTHg4aAVJDh9nZBdGmMyZIEiKI/w8\nEm49fRgl+YvnSpoMuViS/EswxTfjBo8q+P7q6IxCHKNF9Ry+gNx14TizsEVL1XC3\ntkEjAoGBAMyp7wdPobJMXcclRVq6rqHs9OMcnZAveVKyxNgDbZu4OB5X4xTxGEYT\nNZQ0MFf/HcwlnH7797gVQeqF9dlqUJYe+Fc8lc/Rcwta/4R5uMgri9t8RKN91YKF\nUUFBsDEkWlkoAmfPkcrrq9cLJlmSNt3ehQj4p5iAJwoVBXXa++PO\n-----END RSA PRIVATE KEY-----' | ... | ... |
khubox-api/khubox/aws.py
0 → 100644
1 | +import datetime | ||
2 | +from botocore.signers import CloudFrontSigner | ||
3 | +from cryptography.hazmat.backends import default_backend | ||
4 | +from cryptography.hazmat.primitives import hashes, serialization | ||
5 | +from cryptography.hazmat.primitives.asymmetric import padding | ||
6 | +from django.conf import settings | ||
7 | + | ||
8 | + | ||
9 | +def rsa_signer(message): | ||
10 | + private_key = serialization.load_pem_private_key( | ||
11 | + settings.CLOUDFRONT_KEY_PRIVATE.encode('ascii'), | ||
12 | + password=None, | ||
13 | + backend=default_backend() | ||
14 | + ) | ||
15 | + return private_key.sign(message, padding.PKCS1v15(), hashes.SHA1()) | ||
16 | + | ||
17 | + | ||
18 | +def sign(url): | ||
19 | + expire_date = datetime.datetime(2020, 6, 10) | ||
20 | + cloudfront_signer = CloudFrontSigner(settings.CLOUDFRONT_KEY_ID, rsa_signer) | ||
21 | + signed_url = cloudfront_signer.generate_presigned_url(url, date_less_than=expire_date) | ||
22 | + return signed_url |
-
Please register or login to post a comment