1
|
import pytest
|
2
|
|
3
|
from src.services.cryptography import CryptographyService
|
4
|
|
5
|
|
6
|
@pytest.fixture
|
7
|
def service():
|
8
|
# provide a CryptographyService fixture
|
9
|
return CryptographyService()
|
10
|
|
11
|
|
12
|
@pytest.fixture
|
13
|
def private_key_pem():
|
14
|
return """
|
15
|
-----BEGIN RSA PRIVATE KEY-----
|
16
|
MIIEpgIBAAKCAQEA8Ue4iYHc7ECrdHij9JHLRPhw9YXsK09ojPZaMW+GnhJrh//V
|
17
|
uOlUsA3Qb2xrdpwcevpTy8+96FU+w/laDA0KGsRPDfZnRYFGfonzuhJKDNkU7p2H
|
18
|
sqKp+ttxNEFm2ZTPo9KvrvQrg286RUMu+b0e/PlSG9X3L/+OMx3GsblBbXKNQmSq
|
19
|
T5qdWmoFMRSR4Z7wufAGebJXBTn8Z5r1KkhLLViRYdWC4V9+/ZcCg8eMHG2StRGI
|
20
|
MutrhidznFaTvOSiw6ehdFmv7qlEeUPj6kiSHMe6duwrFP2p9fyp4hWjjW72CUhJ
|
21
|
JadXNzVk5/HPb/BxFGmpdkVvDZJbUQ17IotW9QIDAQABAoIBAQDUzohBp+t96LAQ
|
22
|
o1Mgo/Kf22xt8PfTX098fNAiKBaYlvCG3CvZ0tqiCR0dGYhS7e/ku6Nq8Mi0AXPB
|
23
|
j81PMbUG1LxROVHuqM3PT8dLB1SOrmza5NBJy1SW8DORflnDcJAPEwVnDu7OFy1S
|
24
|
56WoGZkaUKCN8pL5n7IA/bNBD39YkmkBonzWRhqaPnkq54chHpkg0a0dnGkftHbM
|
25
|
j6mY3s+LfK5TP+mSgGKD2eWBxEuYjYoqIZhGLQ3/L7dC8vBy7plfgpxaJkI8AQfg
|
26
|
SVg821yU3Ms65W8JEQga5sm0SPxbxUkoMvQR4WWsWLVszKoOZ8kQBLOTtHasC4WH
|
27
|
vXkg53khAoGBAPjz1BCYrhpPFlSiSnQ2sIS2GbqYIYVaSjCuDrmHzCQDJaGfrQs8
|
28
|
OZJDrikZUFxmSTKk38CUEqWQrhMR8YERnc5MgdYjX2HqmrBhFBrNMzH7EUVLhbRp
|
29
|
Dppe4DSB1b6P8lvaERrjmtPZ9FxZML8uJDw0aaVBKYVmKlJREnQP+ADNAoGBAPgc
|
30
|
Snsksn/GM4jVeHzkxw6uCuS//iek6lHMgEvpqdWnvN1X+KQipxZTQZV3OvhmgtJI
|
31
|
zg3Kv5TPn0Sr4oEw87eRGKQj0G/wh27fhe22beWrQMPxMq6R9ny/gvBnfxz/keIW
|
32
|
wAs3wRMHKiVub8FRMEdIOHEMeWrD+dfaGuuV5Y7JAoGBALelXsWTa7N6rfVm9td9
|
33
|
1H9Buf8c5HVz4pDAhZo1Y9EZBTSSDtvf5HRSOvKUeuR+i/axC2ILmSnLba4hqW7V
|
34
|
6PxbEdg+pckcgFomcudGgkKXe+kLSimI6j3UST5SnLODinxZhA664ebvvEQ3gy80
|
35
|
wYQsAdbnF9MRR50Lszos4XztAoGBAMQCnbjhif811zrP4stQdg4b41FKeIBbYh7T
|
36
|
X7wZUmoPhT6cpDsPgU864QIy2qypV8rHZ7ovpeDrkdjPrjcANFqeT4hFHwOAU459
|
37
|
GjJtQC8EdzsVT0Po3oE5TzmbmimPonGqJXf3SRo+O8ask69285ws6yIsh7OYNcaY
|
38
|
cVIS7vM5AoGBAPK2UieUMGTfK/SJ7tizApFkvonaInY8rKmiEeF9zuOxJBJ+mjXC
|
39
|
2dGH5h6itrdbQw7ykrnf4KgmS1ZDamrCYlhMRewbk1gzEvBV1I6W67DaMgIHxzrc
|
40
|
kXs8LBdrpkP93JM50KBFORHJvr9zmPjQ5VJdjipmqmwAI75qIBcdmlYG
|
41
|
-----END RSA PRIVATE KEY-----
|
42
|
"""
|
43
|
|
44
|
|
45
|
@pytest.fixture
|
46
|
def private_key_encrypted_pem():
|
47
|
return """
|
48
|
-----BEGIN RSA PRIVATE KEY-----
|
49
|
Proc-Type: 4,ENCRYPTED
|
50
|
DEK-Info: AES-256-CBC,3D2BFBB1BD0EB9CECF062FB4E3DFBB58
|
51
|
|
52
|
U1YtKQOBkvoqM/9ChVBtDgz7fUazZG3GK58F/p1B+vHsfk3W025Enw0bXs0k3nUL
|
53
|
gbV/6x8Xx2it2FCo31eupHTXi3UhdzrCY4sNu3fz9y4twUouMQpcbSvz8CB6xNvb
|
54
|
y74BbIDdkpHHNPCkYQ6uzuS1nvZsdgulU9ukKLr7iyiJN4bPsuOox+4LKPJkXpuB
|
55
|
zNh5gKI5qvHucq5fiMWQvQUUJSkGKkF89psGwgNlTfJLmKfJmBSZytHpcJJVReI6
|
56
|
IQNT+Lge5zfYW4cDVfX1aiYS7L19a69mPIGoRTepS1IAecD6pxTMNastaRvpvEfc
|
57
|
k1u42eYczBKQ/EMhW5DoWlRkgr0hAfpuy9akl/oCCA82JDyTyAHsooHSiPqKJ5Qh
|
58
|
4NcKEBxxJzrBl1G27BrOlhkdOpz0IQv8WBRav6+KLCgu8g6wj2qNkPmxE0G8awrw
|
59
|
h+d77hdosewXHUon9rp2rNwn+xBYnLomV/wWd1h4BJD9bjdxoKE2aWdSjMg2+Tk7
|
60
|
n4PSgusayKLjA9dgEoompdJw0WKHpEBuX6owxia/Mjp7Jah65wJZ3s2dUW3eKJ+X
|
61
|
h0lskIaNGJmTCDcJnfHP7/722S5H4zVNS5rIhRhAp/ySjhFQ7fZZU9ALYyBEwzRT
|
62
|
giviaDdZOVEpIV1XLLD3Va7eSuQU5YmbLbKzFj5eik/i5PDxbdacAfLSuxkNPfvu
|
63
|
2FvxJbnb9XfocvSobx476q7GzZXZCAQ98elpjGngYPnBGa6kk1Um7EcAwnwdVVuK
|
64
|
UDE5ifpVyWOwivtgl3Ljmv8i93gD86qyCaULamVMaNoUs1SQXnVtGlUNm56KmpKH
|
65
|
MYIoSK18unUVeo5GoROC9RuNbFGdG5QSejc+9pcbFpLXsMlFpeW2Amw06Gz/Mor8
|
66
|
UUk6MOjUHXRyLyM9JaPWYNJgbL2LIhFssURuGV0NzWQCl6TPq7i96+ZlMZxl6DNO
|
67
|
4GUC1eaUbT5OVWpbi6rf6M9FK/RvxGVWQ4Mp7lKtkzxCTJokKPa8O51OFWGsnyQt
|
68
|
E1stBq9obJQKzDE5yd0v50YEJnoeIdk8YNUZujwnM6fmUtNRytqx7qcf9QS7G9bi
|
69
|
OjPup932VHd/QxJwaq2F6bhZyAQ+TLtO7fQ5rkIX4NctJxtHipgl+yAbcYFC5hL1
|
70
|
yRCRxnXebvAQyiGYeUAH1+vnTZiaF9c44EiPLHbZ+a4hmWKtxaamZQuGaB8Ks1yr
|
71
|
oQmOg4Ixq7cAFW4vSuUjh12SYxuEoAqlW29YaeQ0y/RQV48JjmQgjvoXnworvV/m
|
72
|
h8ER2svSTW5NwDjYCqNzTC0MZehvMpv0mLxfM6QW8rwOJD6HFHSi5l4NsKr0Fx4a
|
73
|
j2LinyBMVFKWbST5Z7yHgwAQydfl3Y5z2rul/ovcy3j+euNdvMpQPc5Ww+p793Y/
|
74
|
bo7IXBu5trMI1zTr2cPJ/p+ei8E53frScoQnbxVnR/qF4puwKCa1RYbcRYIjsFyH
|
75
|
b5fAiVPUfZUsI3xw17ZLCmVX9Jq2yzLS8Kyrlvd9rLyMeEVFb4R5ho3F+uLopVrC
|
76
|
qRz7WctkmA9/SOxoF6EPaEhIyXNjjFOQbjsXVc+i0Bnw2DjY3s5SYJg6yycwdaHz
|
77
|
-----END RSA PRIVATE KEY-----
|
78
|
""", "pass"
|
79
|
|
80
|
|
81
|
@pytest.fixture
|
82
|
def certificate_pem():
|
83
|
return """
|
84
|
-----BEGIN CERTIFICATE-----
|
85
|
MIIDazCCAlOgAwIBAgIUTQwIafNfZdJmqZ+TvhtWT3dKLbMwDQYJKoZIhvcNAQEL
|
86
|
BQAwRTELMAkGA1UEBhMCQ1oxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
|
87
|
GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yMTA0MTIyMjIxNTJaFw0yMTA1
|
88
|
MTIyMjIxNTJaMEUxCzAJBgNVBAYTAkNaMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw
|
89
|
HwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggEiMA0GCSqGSIb3DQEB
|
90
|
AQUAA4IBDwAwggEKAoIBAQDh/OuanZE7Vg2CxvJUSAY+W3lDHCOJULqEaxcDRNfr
|
91
|
3xd32yIv6BnwqO1qlchex2KeMN2PWuLQNFI0SQ7CfY0SihibPqrAKUW2XwNT2lqM
|
92
|
B4OnOD0JGDe+WRAJEmVbabnAfYthPZ0g2BbCirC5cXpL5NTDr5czj5d2H/1XK8ue
|
93
|
zNbHRrEd6W+P0X262ghKGebjD3mq5i92eZMjE8XranuTPtVn9G+lGjLW9MxgNC0Q
|
94
|
OX71rMDkTIEVaj6r0kIVigu8dSIL3APX5rqdOiPEPDYf9k1AZ8mh313P3Ef1/4/W
|
95
|
Fp2qqIaKfzjAdEZG3SuzQtE3XKuTevAm4Pf8jKXrScN1AgMBAAGjUzBRMB0GA1Ud
|
96
|
DgQWBBS1TwdmMBbo2YBc1NY3bre+fkJUfzAfBgNVHSMEGDAWgBS1TwdmMBbo2YBc
|
97
|
1NY3bre+fkJUfzAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCv
|
98
|
684u4MRxN/h5yzxlYj4V0LfbifCLscrZIMquH7gavtmGZTSRlkVMcV+Lqt3Gr2x9
|
99
|
1DdZ6+Uvewt1nmuWvKJSCRgc67Kj1JvYeFzctYR2J/xHPGmXTm6orEW3MPSQdTvh
|
100
|
Fe1UXz7MF0HipLprIwxkH8DsGT5djSQ4jCLGnLL2h5DHW/9HY23OgAMSkpJbIo6k
|
101
|
4sx+fjOtUhxkItDN8RY2LzlENRroW2bZA3cqVH5KO1ubj5Jy+Yrd8LvD0KxW37zi
|
102
|
NyJXVOPghVAqaFbgaeBsXkL3QQYVR5wQl7delo0dn36crlckUPi+13INDhnLYgq7
|
103
|
GO9Jbty2Qeomxyf+i+SB
|
104
|
-----END CERTIFICATE-----
|
105
|
"""
|
106
|
|
107
|
|
108
|
@pytest.fixture
|
109
|
def certificate_with_encrypted_pk_pem():
|
110
|
return """
|
111
|
-----BEGIN CERTIFICATE-----
|
112
|
MIIDazCCAlOgAwIBAgIUAWW0ebo18+AtvjzxLvIPEa4lIUkwDQYJKoZIhvcNAQEL
|
113
|
BQAwRTELMAkGA1UEBhMCcGExEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM
|
114
|
GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yMTA0MTIyMjMxMDRaFw0yMTA1
|
115
|
MTIyMjMxMDRaMEUxCzAJBgNVBAYTAnBhMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw
|
116
|
HwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggEiMA0GCSqGSIb3DQEB
|
117
|
AQUAA4IBDwAwggEKAoIBAQDRPcW6WGeMSvsW+p2xeuKXG5gfzf7b7i2r5hcac222
|
118
|
hTxwV5nkwnCID/7rDG0JrnL0XoMwCtXKD8Noa6lAnxXs+1ENjdIbpufAIUYHkuBg
|
119
|
jbqCRBs32ue87Tr6lK9DPgjbrs5f6/r08fJ2ZMX+g92Lq0bgn/Dej6+gtIN31n1M
|
120
|
o72W3NpfrRl+PWMlwrTXzDM6tu3PLtK/8TCmrUrg2WgoTbUsRTFy9oUG5xm+qFfQ
|
121
|
c+6o9gYk+5jO3FI7UP4z7C9n+5O6p25CYblTaENdJb/wjHLeLnY9f1iRkGZT4Lel
|
122
|
6iQEC4iuiBvKL46txYl2r4hbNO5U7hDQ11nWp47GZJ8fAgMBAAGjUzBRMB0GA1Ud
|
123
|
DgQWBBSCbDHOKEnOU27evnxYKxyF/gQzBTAfBgNVHSMEGDAWgBSCbDHOKEnOU27e
|
124
|
vnxYKxyF/gQzBTAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAe
|
125
|
z8xDdKj/hmIozRxiOFEjjBW9HFQicmisD/lHH3XWQtW3coNXqa/6UOXor6JNCmYB
|
126
|
MKV/N4BAHve/rRkMZ7ohInsanMBsR5Nl2lrYMYWcMNJ8vZm1FbeEqxL/VxQLWwlH
|
127
|
Q2seDbNkrGPuCJzVPskqzV0x373IYKC1faTLpdPd7DChkKmUv1SWoYo3yQ+G4tUb
|
128
|
IeHGOq+4gEYzF0YsGu2QaAPR3hRMcRtc7LDtuy+eRz4BqvRm3jF3W26Ha8cSojs7
|
129
|
c2xJmcA3t2cFCHYKXDmlBJJ5Kvkuak9U+TZLl7+Y7+SmyJIv9nRN2THwDKpaRtff
|
130
|
94wl65n2IoG1YP4XyjyX
|
131
|
-----END CERTIFICATE-----
|
132
|
""", "pass"
|