Commit 3a076240 authored by guillecxb's avatar guillecxb
Browse files

gets working

parent 16bfa3fc
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -4,6 +4,9 @@ RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

COPY requirements.txt /usr/src/app/requirements.txt
COPY backoffice_service/certs2/ca_root.crt /etc/ssl/certs/
COPY backoffice_service/certs2/superadmin.crt /etc/ssl/certs/
COPY backoffice_service/certs2/superadmin.key /etc/ssl/private/

RUN apk add -U --no-cache gcc build-base linux-headers ca-certificates libffi-dev libressl-dev libxslt-dev
RUN pip3 install --upgrade --no-cache-dir -r requirements.txt
+40 −37
Original line number Diff line number Diff line
@@ -16,7 +16,10 @@ from flask_cors import CORS
# Create Flask app
app = Flask(__name__)

CORS(app) # habilita CORS para todas las rutas en la aplicación
# Configurar CORS para todas las rutas
CORS(app, resources={r"/api/*": {"origins": "http://localhost:3001"}})

#CORS(app) # habilita CORS para todas las rutas en la aplicación

# Register blueprints (routes)
# other option modify URL ->  app.register_blueprint(backoffice_routes, url_prefix="/resources")
@@ -66,42 +69,42 @@ csr_request = dump_certificate_request(FILETYPE_PEM, req)
private_key = dump_privatekey(FILETYPE_PEM, key)

# Get ca.cert from vault
config = Config().get_config() # get configuration from config.py
url = 'http://{}:{}/v1/secret/data/ca'.format(os.getenv('VAULT_HOSTNAME'), os.getenv('VAULT_PORT'))   # http://vault:8200/v1/secret/data/ca
headers = {'X-Vault-Token': os.getenv('VAULT_TOKEN')}
response = requests.request("GET", url, headers=headers, verify = False)
ca_cert = json.loads(response.text)["data"]["data"]["ca"]
# print ("CA CERT URL: ", url)
# print ("VAULT_HOSTNAME", os.get_environ('VAULT_HOSTNAME'))
# print ("VAULT_PORT", os.get_environ('VAULT_PORT'))

# Request Vault a CA certificate to backoffice application
url = 'http://{}:{}/v1/pki_int/sign/my-ca'.format(os.getenv('VAULT_HOSTNAME'), os.getenv('VAULT_PORT'))  # http://vault:8200/v1/pki_int/sign/my-ca

headers = {'X-Vault-Token': os.getenv('VAULT_TOKEN')}  # token = dev-only-token
data = {
    'format':'pem_bundle',
    'ttl': '43000h',
    'csr': csr_request,
    'common_name': "superadmin"
}
response = requests.request("POST", url, headers=headers, data=data, verify = False)
backoffice_cert = json.loads(response.text)['data']['certificate']

# Save ca_cert
ca_file = open('./backoffice_service/certs/ca.crt', 'wb+')
ca_file.write(bytes(ca_cert, 'utf-8'))
ca_file.close()

# Save private_key 
private_key_file = open("./backoffice_service/certs/backoffice_vault_private_key.key", 'wb+')
private_key_file.write(private_key)
private_key_file.close()

# Save backoffice_cert
certification_file = open('./backoffice_service/certs/backoffice_vault_cert.crt', 'wb+')
certification_file.write(bytes(backoffice_cert, 'utf-8'))
certification_file.close()
# config = Config().get_config() # get configuration from config.py
# url = 'http://{}:{}/v1/secret/data/ca'.format(os.getenv('VAULT_HOSTNAME'), os.getenv('VAULT_PORT'))   # http://vault:8200/v1/secret/data/ca
# headers = {'X-Vault-Token': os.getenv('VAULT_TOKEN')}
# response = requests.request("GET", url, headers=headers, verify = False)
# ca_cert = json.loads(response.text)["data"]["data"]["ca"]
# # print ("CA CERT URL: ", url)
# # print ("VAULT_HOSTNAME", os.get_environ('VAULT_HOSTNAME'))
# # print ("VAULT_PORT", os.get_environ('VAULT_PORT'))

# # Request Vault a CA certificate to backoffice application
# url = 'http://{}:{}/v1/pki_int/sign/my-ca'.format(os.getenv('VAULT_HOSTNAME'), os.getenv('VAULT_PORT'))  # http://vault:8200/v1/pki_int/sign/my-ca

# headers = {'X-Vault-Token': os.getenv('VAULT_TOKEN')}  # token = dev-only-token
# data = {
#     'format':'pem_bundle',
#     'ttl': '43000h',
#     'csr': csr_request,
#     'common_name': "superadmin"
# }
# response = requests.request("POST", url, headers=headers, data=data, verify = False)
# backoffice_cert = json.loads(response.text)['data']['certificate']

# # Save ca_cert
# ca_file = open('./backoffice_service/certs/ca.crt', 'wb+')
# ca_file.write(bytes(ca_cert, 'utf-8'))
# ca_file.close()

# # Save private_key 
# private_key_file = open("./backoffice_service/certs/backoffice_vault_private_key.key", 'wb+')
# private_key_file.write(private_key)
# private_key_file.close()

# # Save backoffice_cert
# certification_file = open('./backoffice_service/certs/backoffice_vault_cert.crt', 'wb+')
# certification_file.write(bytes(backoffice_cert, 'utf-8'))
# certification_file.close()

#----------------------------------------
# launch
+38 −0
Original line number Diff line number Diff line
-----BEGIN CERTIFICATE-----
MIIDIzCCAgugAwIBAgIUX2cjyWmnwj/KqEuH+Vj0ux4SuJQwDQYJKoZIhvcNAQEL
BQAwEDEOMAwGA1UEAxMFY2FwaWYwHhcNMjQwNzE1MTAyODA3WhcNMzQwNzEzMTAy
ODM2WjAQMQ4wDAYDVQQDEwVjYXBpZjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBAOCj0VPfjdsZZlalkKlupmVgkhGOr7wDD/JYlLXU4EpUwDmPJpq8Mcot
lYocp4+aJuC5Ga12QeEE0Q8Wn6rHfSQKqGQB7HU3Ai/EePMlus1+DC1/llUgBAoe
cRpEhyAAcqHmoSYuRK/QQd1ibJEg02+pzojlboJMuXCTAdLbS4iyMCCP8mUDaBtD
R1M+wthXd1ATQ4a2US6ZQ6syWjgj7mjGu6fGxDS/avX9Fruq3+CX9jKXbWKVX+P4
r/NUIvjdObrCuJvpscv/8FRPs83HHzgGnoAaW4Fvfg3871JDCB/mFkt7ifbIkJSj
AK6iLxlTvtX74+qWVo1FPDFek0rgT0ECAwEAAaN1MHMwDgYDVR0PAQH/BAQDAgEG
MA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFHsxOm3VnHUZO+VOExyuF9Uf60/Z
MB8GA1UdIwQYMBaAFHsxOm3VnHUZO+VOExyuF9Uf60/ZMBAGA1UdEQQJMAeCBWNh
cGlmMA0GCSqGSIb3DQEBCwUAA4IBAQATDUhwcnOCQpKq76oFwnm1UFINaWoL/Mzk
Utmbb8jaSphJ92LUXo360UDSJxCJXcD7BUjtM8pBV9Qis/hwdGhNyTcWHEmH+tLz
8t88DJZ7UdHFvLrNl0eeGSgAvnjnDtbCtc/Xd7l8vzFyUxMJN4XjaAhCjxfivTFJ
hRq3zqa8TtV3MPg0BM5hFfSq7xzP97Qh832ECxuhQcNhLoSBqWnElul7VUKWNG29
Qw9TeQcan20I1u90udYVNnu7sZJULGJs2G95/QXBeuDZ05BwJn8wKfoGFpil5bqC
qHpF/XFAnmi9SqOwcRch1jPcHWFn5ES+bsLjdQ6iFL/KnU/AuIf3
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDKDCCAhCgAwIBAgIUKR3BsqrmgDuYswJ5/6DAkK4/jaIwDQYJKoZIhvcNAQEL
BQAwEDEOMAwGA1UEAxMFY2FwaWYwHhcNMjQwNzE1MTAyODA3WhcNMjkwNzE0MTAy
ODM3WjAnMSUwIwYDVQQDExxjYXBpZiBJbnRlcm1lZGlhdGUgQXV0aG9yaXR5MIIB
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAweE+WHeVTssYMTJTzfwLek6v
bhsMEHixDJZ6ppwfRBmWTye/IlBaIFZ0fxLVje/YJY00S3LD6daVNBZQfE9VWnR7
MY+jia6Cpm6v0izORWlD/OIkCdVUVwOeSeoi4UZ6m8B+GCKpFGJ6CDpfu7TpnLrt
H1YwENpmXaSkQnZ2yS4UCi18CVRQkseFGDLsdgJHtNkaGCSSqn5Q44NQw4KsO0la
F1Ucex2B+D92hQPHcbq0aU5ttSOhLPC8VvjT1p9/mM6seFDRzg0T2fwYdkk4Nqg4
AMonv/ecG+Pz5agfOUxTV4q4uzIHI3crei9eX2v2SGq1JWIcoy1hei0qmLsxFQID
AQABo2MwYTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E
FgQUKXBWgmxyHGjUKoSxTDwsqGP7EqQwHwYDVR0jBBgwFoAUezE6bdWcdRk75U4T
HK4X1R/rT9kwDQYJKoZIhvcNAQELBQADggEBAKyxiOEiWGgIhLHjvethLwapExpd
QoIM4+O29sfihaK+JbyMTw4H2urfrrRJ690g0GLWstcwIuQUhIc11FYb2KLGbxcr
9BGPexpTP2xxwHa1jSB0QBb4R6FFWo/L0jz1V8oMtxL8VSbL0Szhg65W4jygrBCH
AqCy3dGp5fh6YTHTRg13c46FbRlnAfXlIA7q7lI+hglqBNyFY1Xr55dCYHsWuh7C
Au9S8m8PCVFwk9QiblwVH2z8toP88rRmrVlWkS7R/q6SN1KvvnMjxPTDn3SJEUNV
UwOHEJVN+zmssoktGpuoHT9HDuIMdTiGKSrsjQKFHNOm5S/H8QzUoL14MQo=
-----END CERTIFICATE-----
+58 −0
Original line number Diff line number Diff line
-----BEGIN CERTIFICATE-----
MIIDVDCCAjygAwIBAgIUbIkPswMGW8cZQdxh6stX262UqsAwDQYJKoZIhvcNAQEL
BQAwJzElMCMGA1UEAxMcY2FwaWYgSW50ZXJtZWRpYXRlIEF1dGhvcml0eTAeFw0y
NDA3MTUxMDMwMzJaFw0yNTAxMTAxNDMxMDJaMBUxEzARBgNVBAMTCnN1cGVyYWRt
aW4wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC+hcd4qp0j53uLMhw1
rYTWCP24YZh9vxOFVeDM8w+UgknrPsyYu789GjzHmu3q7s98cHMqjb/rh2jHcaoS
WD1BX4+dyr2VtCNVSOjjFRDfbH3qzecN6erHbrf9AAqH+gEgIl7jRTJW21y5zB3r
xRJ19TiNifQCqVkCFREjUuHPaws4KbciFQsmXqAq8SHze/6lIvv2uf845coyKJr2
fNlxS4wpU2iRLOp2lckBae6wteww5pkJDD5SQiqafaCghy1ehgVw6C5upLixkS/h
ooyUGi9F5tJUbghepUJP+Uk0KUwYV2av0BDYin1vHCbPrH7lRSRqenkdlqCX5pgu
KKV9AgMBAAGjgYkwgYYwDgYDVR0PAQH/BAQDAgOoMB0GA1UdJQQWMBQGCCsGAQUF
BwMBBggrBgEFBQcDAjAdBgNVHQ4EFgQUwS/SAEPJlRtfouwTiiaoG2rBcUowHwYD
VR0jBBgwFoAUKXBWgmxyHGjUKoSxTDwsqGP7EqQwFQYDVR0RBA4wDIIKc3VwZXJh
ZG1pbjANBgkqhkiG9w0BAQsFAAOCAQEAhG6knz/1UsEr2s4aLm6lhONUoMtZ5JSw
JUrTKZqqlygH/UoRoWIan7jFcwIJDpCB3p2KYuavyK37hT8v7GLri2NYXUgw9rqN
fioEY3jDzrxRf+tjeYSxisFhF4TSQMQaUSZh7oTI/TUI3ivNTqpB6UpH989BRp7N
IgF7Ox480Hbddl3ip/kkfFbtz9ba97v6xH1IY8Ic0U8DeFFFXK5SPfmnh6bAUQHg
c/ZpW7OluBI7cgpY/wPGe8/qn8EXS/voRWSgAB+lh6tUljlZ2RLXQAx5MhRzW46O
rRaAQMD2/L6JW8RemKLEVj7gzeEV15HxSKrRpqrePobbbUYUwtvq7w==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDKDCCAhCgAwIBAgIUKR3BsqrmgDuYswJ5/6DAkK4/jaIwDQYJKoZIhvcNAQEL
BQAwEDEOMAwGA1UEAxMFY2FwaWYwHhcNMjQwNzE1MTAyODA3WhcNMjkwNzE0MTAy
ODM3WjAnMSUwIwYDVQQDExxjYXBpZiBJbnRlcm1lZGlhdGUgQXV0aG9yaXR5MIIB
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAweE+WHeVTssYMTJTzfwLek6v
bhsMEHixDJZ6ppwfRBmWTye/IlBaIFZ0fxLVje/YJY00S3LD6daVNBZQfE9VWnR7
MY+jia6Cpm6v0izORWlD/OIkCdVUVwOeSeoi4UZ6m8B+GCKpFGJ6CDpfu7TpnLrt
H1YwENpmXaSkQnZ2yS4UCi18CVRQkseFGDLsdgJHtNkaGCSSqn5Q44NQw4KsO0la
F1Ucex2B+D92hQPHcbq0aU5ttSOhLPC8VvjT1p9/mM6seFDRzg0T2fwYdkk4Nqg4
AMonv/ecG+Pz5agfOUxTV4q4uzIHI3crei9eX2v2SGq1JWIcoy1hei0qmLsxFQID
AQABo2MwYTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E
FgQUKXBWgmxyHGjUKoSxTDwsqGP7EqQwHwYDVR0jBBgwFoAUezE6bdWcdRk75U4T
HK4X1R/rT9kwDQYJKoZIhvcNAQELBQADggEBAKyxiOEiWGgIhLHjvethLwapExpd
QoIM4+O29sfihaK+JbyMTw4H2urfrrRJ690g0GLWstcwIuQUhIc11FYb2KLGbxcr
9BGPexpTP2xxwHa1jSB0QBb4R6FFWo/L0jz1V8oMtxL8VSbL0Szhg65W4jygrBCH
AqCy3dGp5fh6YTHTRg13c46FbRlnAfXlIA7q7lI+hglqBNyFY1Xr55dCYHsWuh7C
Au9S8m8PCVFwk9QiblwVH2z8toP88rRmrVlWkS7R/q6SN1KvvnMjxPTDn3SJEUNV
UwOHEJVN+zmssoktGpuoHT9HDuIMdTiGKSrsjQKFHNOm5S/H8QzUoL14MQo=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIDIzCCAgugAwIBAgIUX2cjyWmnwj/KqEuH+Vj0ux4SuJQwDQYJKoZIhvcNAQEL
BQAwEDEOMAwGA1UEAxMFY2FwaWYwHhcNMjQwNzE1MTAyODA3WhcNMzQwNzEzMTAy
ODM2WjAQMQ4wDAYDVQQDEwVjYXBpZjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC
AQoCggEBAOCj0VPfjdsZZlalkKlupmVgkhGOr7wDD/JYlLXU4EpUwDmPJpq8Mcot
lYocp4+aJuC5Ga12QeEE0Q8Wn6rHfSQKqGQB7HU3Ai/EePMlus1+DC1/llUgBAoe
cRpEhyAAcqHmoSYuRK/QQd1ibJEg02+pzojlboJMuXCTAdLbS4iyMCCP8mUDaBtD
R1M+wthXd1ATQ4a2US6ZQ6syWjgj7mjGu6fGxDS/avX9Fruq3+CX9jKXbWKVX+P4
r/NUIvjdObrCuJvpscv/8FRPs83HHzgGnoAaW4Fvfg3871JDCB/mFkt7ifbIkJSj
AK6iLxlTvtX74+qWVo1FPDFek0rgT0ECAwEAAaN1MHMwDgYDVR0PAQH/BAQDAgEG
MA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFHsxOm3VnHUZO+VOExyuF9Uf60/Z
MB8GA1UdIwQYMBaAFHsxOm3VnHUZO+VOExyuF9Uf60/ZMBAGA1UdEQQJMAeCBWNh
cGlmMA0GCSqGSIb3DQEBCwUAA4IBAQATDUhwcnOCQpKq76oFwnm1UFINaWoL/Mzk
Utmbb8jaSphJ92LUXo360UDSJxCJXcD7BUjtM8pBV9Qis/hwdGhNyTcWHEmH+tLz
8t88DJZ7UdHFvLrNl0eeGSgAvnjnDtbCtc/Xd7l8vzFyUxMJN4XjaAhCjxfivTFJ
hRq3zqa8TtV3MPg0BM5hFfSq7xzP97Qh832ECxuhQcNhLoSBqWnElul7VUKWNG29
Qw9TeQcan20I1u90udYVNnu7sZJULGJs2G95/QXBeuDZ05BwJn8wKfoGFpil5bqC
qHpF/XFAnmi9SqOwcRch1jPcHWFn5ES+bsLjdQ6iFL/KnU/AuIf3
-----END CERTIFICATE-----
 No newline at end of file
+28 −0
Original line number Diff line number Diff line
-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC+hcd4qp0j53uL
Mhw1rYTWCP24YZh9vxOFVeDM8w+UgknrPsyYu789GjzHmu3q7s98cHMqjb/rh2jH
caoSWD1BX4+dyr2VtCNVSOjjFRDfbH3qzecN6erHbrf9AAqH+gEgIl7jRTJW21y5
zB3rxRJ19TiNifQCqVkCFREjUuHPaws4KbciFQsmXqAq8SHze/6lIvv2uf845coy
KJr2fNlxS4wpU2iRLOp2lckBae6wteww5pkJDD5SQiqafaCghy1ehgVw6C5upLix
kS/hooyUGi9F5tJUbghepUJP+Uk0KUwYV2av0BDYin1vHCbPrH7lRSRqenkdlqCX
5pguKKV9AgMBAAECggEAG/LoFi2BK9kzaHILbVxtFjDvd3Lpudij9nVoquglKvYJ
/faScP1pyn7k16tEp6gsy+Z7Hoz40IZmuotUFajYI5TvLoilUya/4Cz37QgUF5KE
zkMyV/outN7rIrQ010m3jI0+OjzWa6N2cNMeuI2Kbb9xcmIAZ7uMESAiCXqJIbIj
OsAmdRnPTMKNQRc1wF/ukEsQ4ScdhLWeqjlSU0NO04/A0BVg4OZ4a8YoigKtM6Po
WIOEJZ4LXBU1bd2Xk+Ix+7JX2surI2Wt3ysGaz1xniahgMCED5WJ2Qwid1cpQ5qN
ofY7JM3lYGSJmJWg1nywwuUdB7suxlNA9f2M+cwOiQKBgQDyM82AoA5DqTKyiDW9
W5cNvsZkZGk2A0p9GUVnh0ruj5la3LvWQZwuP66svFJRVXvIFFpxvUCRVtaj64jS
ptQFvCxJ8zHOKvSCiCNAzDQbUaM4j8eXsM7iHwxEE012gc16WRuW35ZowcC/Q1JZ
CBnv+8IOSHv+XVkuhOhAOkfc+wKBgQDJYEvHK5Xd11ZfZjiguuRG5tnRdGLSX8E8
YQyehBS7JDJsGQkWRVuNBf+nJ/t2oYxeQWdxWDL3N5VziTlcBbA6s9zpvWs76mj5
lmt+wqz+t6x+sIeWqYsxk4dug5B8nXzAbNnKuf1rbFGm0LBBqS0SrX8KgCT4SaOO
RD3McK6N5wKBgQC/HCELXT/kI53dQZ0lzR9juSTSEmjyNaaRD1+0UQzPMH/RMlsE
tMCHvbgWlIJfqxQAzA6RsMNB60NyFGfhz8F8xP4tW7fw9fP5C3LFrltvMvuXpdvX
1atowRbsoE5/M+zunWEnq0UDY96zDGvt1Hai5gQ5QPiVvRKhoj2gcFxEAQKBgQCt
BKOW+IfHFuELDlTRJEJF+Mpk/854WfU431lsSKdXMv5vigMYs3a5b9H72IphnuNv
iFpMNC914LfzkI9L1UdY6HiCC1E7JWgUKX0qaDEimMUIBLw6YmlJqyvNdBSMPPOW
kO9/EtX9mg99eAg4Ihar2Y0xhHA/M2XnMhK2uIoBOQKBgQCA/40SzmWw6TRuSUYC
fFXbJfPJ0IRzMx68AoI7XTN1zMhlQuahwHNqSXJSlJyTt3pCmffeyxBUY12yfPcq
Kun3dFidsg7ohtL07le/dsaQS1iy9/poPLtkUkShFn3vv8d5XIQwEH9CtYJIfsgm
iwoKfMiud9TAOeajFgFFZPDHag==
-----END PRIVATE KEY-----
Loading