Skip to content
Snippets Groups Projects
Commit d834930f authored by SebastBake's avatar SebastBake
Browse files

Project initialisation

parents
Branches
Tags
No related merge requests found
Showing
with 686 additions and 0 deletions
.DS_Store 0 → 100644
File added
{
"files.associations": {
"pem.h": "c",
"x509.h": "c",
"x509v3.h": "c",
"err.h": "c"
}
}
\ No newline at end of file
-----BEGIN CERTIFICATE-----
MIIcFzCCG4CgAwIBAgIGR09PUAFxMA0GCSqGSIb3DQEBBQUAMEYxCzAJBgNVBAYT
AlVTMRMwEQYDVQQKEwpHb29nbGUgSW5jMSIwIAYDVQQDExlHb29nbGUgSW50ZXJu
ZXQgQXV0aG9yaXR5MB4XDTEyMTAyNDEzNTczOVoXDTEzMDYwNzE5NDMyN1owZDEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDU1vdW50
YWluIFZpZXcxEzARBgNVBAoTCkdvb2dsZSBJbmMxEzARBgNVBAMTCmdvb2dsZS5j
b20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMNn/Rw5irMPscWpYsExcGQT
wqdxT/U9Pfybt9ttPYlXVbCd6yux0jWGNBHN+f4kCc5pwrbjmA4QSRY2uVa4T8f2
g3NucDDveUi29WVN+FJcyhj+V38lEkYbdhpIZL149dK5fAN1zzwCo10Nk+lhebcY
fCtMHLmuCX2D6mJ2CnPVAgMBAAGjghnwMIIZ7DAMBgNVHRMBAf8EAjAAMB0GA1Ud
JQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAdBgNVHQ4EFgQU0Qp1w0hi4nhbaJEB
h/wuZwO4OyIwHwYDVR0jBBgwFoAUv8Aw6/VDET5nup6R+/xq2uNrEiQwWwYDVR0f
BFQwUjBQoE6gTIZKaHR0cDovL3d3dy5nc3RhdGljLmNvbS9Hb29nbGVJbnRlcm5l
dEF1dGhvcml0eS9Hb29nbGVJbnRlcm5ldEF1dGhvcml0eS5jcmwwZgYIKwYBBQUH
AQEEWjBYMFYGCCsGAQUFBzAChkpodHRwOi8vd3d3LmdzdGF0aWMuY29tL0dvb2ds
ZUludGVybmV0QXV0aG9yaXR5L0dvb2dsZUludGVybmV0QXV0aG9yaXR5LmNydDCC
GLYGA1UdEQSCGK0wghipggpnb29nbGUuY29tggwqLmdvb2dsZS5jb22CDSoueW91
dHViZS5jb22CC3lvdXR1YmUuY29tghYqLnlvdXR1YmUtbm9jb29raWUuY29tggh5
b3V0dS5iZYILKi55dGltZy5jb22CDSouYW5kcm9pZC5jb22CC2FuZHJvaWQuY29t
ghQqLmdvb2dsZWNvbW1lcmNlLmNvbYISZ29vZ2xlY29tbWVyY2UuY29tghAqLnVy
bC5nb29nbGUuY29tggwqLnVyY2hpbi5jb22CCnVyY2hpbi5jb22CFiouZ29vZ2xl
LWFuYWx5dGljcy5jb22CFGdvb2dsZS1hbmFseXRpY3MuY29tghIqLmNsb3VkLmdv
b2dsZS5jb22CBmdvby5nbIIEZy5jb4INKi5nc3RhdGljLmNvbYIPKi5nb29nbGVh
cGlzLmNughYqLmFwcGVuZ2luZS5nb29nbGUuY29tggsqLmdvb2dsZS5hY4ILKi5n
b29nbGUuYWSCCyouZ29vZ2xlLmFlggsqLmdvb2dsZS5hZoILKi5nb29nbGUuYWeC
CyouZ29vZ2xlLmFsggsqLmdvb2dsZS5hbYILKi5nb29nbGUuYXOCCyouZ29vZ2xl
LmF0ggsqLmdvb2dsZS5heoILKi5nb29nbGUuYmGCCyouZ29vZ2xlLmJlggsqLmdv
b2dsZS5iZoILKi5nb29nbGUuYmeCCyouZ29vZ2xlLmJpggsqLmdvb2dsZS5iaoIL
Ki5nb29nbGUuYnOCCyouZ29vZ2xlLmJ5ggsqLmdvb2dsZS5jYYIMKi5nb29nbGUu
Y2F0ggsqLmdvb2dsZS5jY4ILKi5nb29nbGUuY2SCCyouZ29vZ2xlLmNmggsqLmdv
b2dsZS5jZ4ILKi5nb29nbGUuY2iCCyouZ29vZ2xlLmNpggsqLmdvb2dsZS5jbIIL
Ki5nb29nbGUuY22CCyouZ29vZ2xlLmNugg4qLmdvb2dsZS5jby5hb4IOKi5nb29n
bGUuY28uYneCDiouZ29vZ2xlLmNvLmNrgg4qLmdvb2dsZS5jby5jcoIOKi5nb29n
bGUuY28uaHWCDiouZ29vZ2xlLmNvLmlkgg4qLmdvb2dsZS5jby5pbIIOKi5nb29n
bGUuY28uaW2CDiouZ29vZ2xlLmNvLmlugg4qLmdvb2dsZS5jby5qZYIOKi5nb29n
bGUuY28uanCCDiouZ29vZ2xlLmNvLmtlgg4qLmdvb2dsZS5jby5rcoIOKi5nb29n
bGUuY28ubHOCDiouZ29vZ2xlLmNvLm1hgg4qLmdvb2dsZS5jby5teoIOKi5nb29n
bGUuY28ubnqCDiouZ29vZ2xlLmNvLnRogg4qLmdvb2dsZS5jby50eoIOKi5nb29n
bGUuY28udWeCDiouZ29vZ2xlLmNvLnVrgg4qLmdvb2dsZS5jby51eoIOKi5nb29n
bGUuY28udmWCDiouZ29vZ2xlLmNvLnZpgg4qLmdvb2dsZS5jby56YYIOKi5nb29n
bGUuY28uem2CDiouZ29vZ2xlLmNvLnp3gg8qLmdvb2dsZS5jb20uYWaCDyouZ29v
Z2xlLmNvbS5hZ4IPKi5nb29nbGUuY29tLmFpgg8qLmdvb2dsZS5jb20uYXKCDyou
Z29vZ2xlLmNvbS5hdYIPKi5nb29nbGUuY29tLmJkgg8qLmdvb2dsZS5jb20uYmiC
DyouZ29vZ2xlLmNvbS5iboIPKi5nb29nbGUuY29tLmJvgg8qLmdvb2dsZS5jb20u
YnKCDyouZ29vZ2xlLmNvbS5ieYIPKi5nb29nbGUuY29tLmJ6gg8qLmdvb2dsZS5j
b20uY26CDyouZ29vZ2xlLmNvbS5jb4IPKi5nb29nbGUuY29tLmN1gg8qLmdvb2ds
ZS5jb20uY3mCDyouZ29vZ2xlLmNvbS5kb4IPKi5nb29nbGUuY29tLmVjgg8qLmdv
b2dsZS5jb20uZWeCDyouZ29vZ2xlLmNvbS5ldIIPKi5nb29nbGUuY29tLmZqgg8q
Lmdvb2dsZS5jb20uZ2WCDyouZ29vZ2xlLmNvbS5naIIPKi5nb29nbGUuY29tLmdp
gg8qLmdvb2dsZS5jb20uZ3KCDyouZ29vZ2xlLmNvbS5ndIIPKi5nb29nbGUuY29t
Lmhrgg8qLmdvb2dsZS5jb20uaXGCDyouZ29vZ2xlLmNvbS5qbYIPKi5nb29nbGUu
Y29tLmpvgg8qLmdvb2dsZS5jb20ua2iCDyouZ29vZ2xlLmNvbS5rd4IPKi5nb29n
bGUuY29tLmxigg8qLmdvb2dsZS5jb20ubHmCDyouZ29vZ2xlLmNvbS5tdIIPKi5n
b29nbGUuY29tLm14gg8qLmdvb2dsZS5jb20ubXmCDyouZ29vZ2xlLmNvbS5uYYIP
Ki5nb29nbGUuY29tLm5mgg8qLmdvb2dsZS5jb20ubmeCDyouZ29vZ2xlLmNvbS5u
aYIPKi5nb29nbGUuY29tLm5wgg8qLmdvb2dsZS5jb20ubnKCDyouZ29vZ2xlLmNv
bS5vbYIPKi5nb29nbGUuY29tLnBhgg8qLmdvb2dsZS5jb20ucGWCDyouZ29vZ2xl
LmNvbS5waIIPKi5nb29nbGUuY29tLnBrgg8qLmdvb2dsZS5jb20ucGyCDyouZ29v
Z2xlLmNvbS5wcoIPKi5nb29nbGUuY29tLnB5gg8qLmdvb2dsZS5jb20ucWGCDyou
Z29vZ2xlLmNvbS5ydYIPKi5nb29nbGUuY29tLnNhgg8qLmdvb2dsZS5jb20uc2KC
DyouZ29vZ2xlLmNvbS5zZ4IPKi5nb29nbGUuY29tLnNsgg8qLmdvb2dsZS5jb20u
c3aCDyouZ29vZ2xlLmNvbS50aoIPKi5nb29nbGUuY29tLnRugg8qLmdvb2dsZS5j
b20udHKCDyouZ29vZ2xlLmNvbS50d4IPKi5nb29nbGUuY29tLnVhgg8qLmdvb2ds
ZS5jb20udXmCDyouZ29vZ2xlLmNvbS52Y4IPKi5nb29nbGUuY29tLnZlgg8qLmdv
b2dsZS5jb20udm6CCyouZ29vZ2xlLmN2ggsqLmdvb2dsZS5jeoILKi5nb29nbGUu
ZGWCCyouZ29vZ2xlLmRqggsqLmdvb2dsZS5ka4ILKi5nb29nbGUuZG2CCyouZ29v
Z2xlLmR6ggsqLmdvb2dsZS5lZYILKi5nb29nbGUuZXOCCyouZ29vZ2xlLmZpggsq
Lmdvb2dsZS5mbYILKi5nb29nbGUuZnKCCyouZ29vZ2xlLmdhggsqLmdvb2dsZS5n
ZYILKi5nb29nbGUuZ2eCCyouZ29vZ2xlLmdsggsqLmdvb2dsZS5nbYILKi5nb29n
bGUuZ3CCCyouZ29vZ2xlLmdyggsqLmdvb2dsZS5neYILKi5nb29nbGUuaGuCCyou
Z29vZ2xlLmhuggsqLmdvb2dsZS5ocoILKi5nb29nbGUuaHSCCyouZ29vZ2xlLmh1
ggsqLmdvb2dsZS5pZYILKi5nb29nbGUuaW2CDSouZ29vZ2xlLmluZm+CCyouZ29v
Z2xlLmlxggsqLmdvb2dsZS5pc4ILKi5nb29nbGUuaXSCDiouZ29vZ2xlLml0LmFv
ggsqLmdvb2dsZS5qZYILKi5nb29nbGUuam+CDSouZ29vZ2xlLmpvYnOCCyouZ29v
Z2xlLmpwggsqLmdvb2dsZS5rZ4ILKi5nb29nbGUua2mCCyouZ29vZ2xlLmt6ggsq
Lmdvb2dsZS5sYYILKi5nb29nbGUubGmCCyouZ29vZ2xlLmxrggsqLmdvb2dsZS5s
dIILKi5nb29nbGUubHWCCyouZ29vZ2xlLmx2ggsqLmdvb2dsZS5tZIILKi5nb29n
bGUubWWCCyouZ29vZ2xlLm1nggsqLmdvb2dsZS5ta4ILKi5nb29nbGUubWyCCyou
Z29vZ2xlLm1uggsqLmdvb2dsZS5tc4ILKi5nb29nbGUubXWCCyouZ29vZ2xlLm12
ggsqLmdvb2dsZS5td4ILKi5nb29nbGUubmWCDiouZ29vZ2xlLm5lLmpwggwqLmdv
b2dsZS5uZXSCCyouZ29vZ2xlLm5sggsqLmdvb2dsZS5ub4ILKi5nb29nbGUubnKC
CyouZ29vZ2xlLm51gg8qLmdvb2dsZS5vZmYuYWmCCyouZ29vZ2xlLnBrggsqLmdv
b2dsZS5wbIILKi5nb29nbGUucG6CCyouZ29vZ2xlLnBzggsqLmdvb2dsZS5wdIIL
Ki5nb29nbGUucm+CCyouZ29vZ2xlLnJzggsqLmdvb2dsZS5ydYILKi5nb29nbGUu
cneCCyouZ29vZ2xlLnNjggsqLmdvb2dsZS5zZYILKi5nb29nbGUuc2iCCyouZ29v
Z2xlLnNpggsqLmdvb2dsZS5za4ILKi5nb29nbGUuc22CCyouZ29vZ2xlLnNuggsq
Lmdvb2dsZS5zb4ILKi5nb29nbGUuc3SCCyouZ29vZ2xlLnRkggsqLmdvb2dsZS50
Z4ILKi5nb29nbGUudGuCCyouZ29vZ2xlLnRsggsqLmdvb2dsZS50bYILKi5nb29n
bGUudG6CCyouZ29vZ2xlLnRvggsqLmdvb2dsZS50cIILKi5nb29nbGUudHSCCyou
Z29vZ2xlLnVzggsqLmdvb2dsZS51eoILKi5nb29nbGUudmeCCyouZ29vZ2xlLnZ1
ggsqLmdvb2dsZS53c4IJZ29vZ2xlLmFjgglnb29nbGUuYWSCCWdvb2dsZS5hZYIJ
Z29vZ2xlLmFmgglnb29nbGUuYWeCCWdvb2dsZS5hbIIJZ29vZ2xlLmFtgglnb29n
bGUuYXOCCWdvb2dsZS5hdIIJZ29vZ2xlLmF6gglnb29nbGUuYmGCCWdvb2dsZS5i
ZYIJZ29vZ2xlLmJmgglnb29nbGUuYmeCCWdvb2dsZS5iaYIJZ29vZ2xlLmJqggln
b29nbGUuYnOCCWdvb2dsZS5ieYIJZ29vZ2xlLmNhggpnb29nbGUuY2F0gglnb29n
bGUuY2OCCWdvb2dsZS5jZIIJZ29vZ2xlLmNmgglnb29nbGUuY2eCCWdvb2dsZS5j
aIIJZ29vZ2xlLmNpgglnb29nbGUuY2yCCWdvb2dsZS5jbYIJZ29vZ2xlLmNuggxn
b29nbGUuY28uYW+CDGdvb2dsZS5jby5id4IMZ29vZ2xlLmNvLmNrggxnb29nbGUu
Y28uY3KCDGdvb2dsZS5jby5odYIMZ29vZ2xlLmNvLmlkggxnb29nbGUuY28uaWyC
DGdvb2dsZS5jby5pbYIMZ29vZ2xlLmNvLmluggxnb29nbGUuY28uamWCDGdvb2ds
ZS5jby5qcIIMZ29vZ2xlLmNvLmtlggxnb29nbGUuY28ua3KCDGdvb2dsZS5jby5s
c4IMZ29vZ2xlLmNvLm1hggxnb29nbGUuY28ubXqCDGdvb2dsZS5jby5ueoIMZ29v
Z2xlLmNvLnRoggxnb29nbGUuY28udHqCDGdvb2dsZS5jby51Z4IMZ29vZ2xlLmNv
LnVrggxnb29nbGUuY28udXqCDGdvb2dsZS5jby52ZYIMZ29vZ2xlLmNvLnZpggxn
b29nbGUuY28uemGCDGdvb2dsZS5jby56bYIMZ29vZ2xlLmNvLnp3gg1nb29nbGUu
Y29tLmFmgg1nb29nbGUuY29tLmFngg1nb29nbGUuY29tLmFpgg1nb29nbGUuY29t
LmFygg1nb29nbGUuY29tLmF1gg1nb29nbGUuY29tLmJkgg1nb29nbGUuY29tLmJo
gg1nb29nbGUuY29tLmJugg1nb29nbGUuY29tLmJvgg1nb29nbGUuY29tLmJygg1n
b29nbGUuY29tLmJ5gg1nb29nbGUuY29tLmJ6gg1nb29nbGUuY29tLmNugg1nb29n
bGUuY29tLmNvgg1nb29nbGUuY29tLmN1gg1nb29nbGUuY29tLmN5gg1nb29nbGUu
Y29tLmRvgg1nb29nbGUuY29tLmVjgg1nb29nbGUuY29tLmVngg1nb29nbGUuY29t
LmV0gg1nb29nbGUuY29tLmZqgg1nb29nbGUuY29tLmdlgg1nb29nbGUuY29tLmdo
gg1nb29nbGUuY29tLmdpgg1nb29nbGUuY29tLmdygg1nb29nbGUuY29tLmd0gg1n
b29nbGUuY29tLmhrgg1nb29nbGUuY29tLmlxgg1nb29nbGUuY29tLmptgg1nb29n
bGUuY29tLmpvgg1nb29nbGUuY29tLmtogg1nb29nbGUuY29tLmt3gg1nb29nbGUu
Y29tLmxigg1nb29nbGUuY29tLmx5gg1nb29nbGUuY29tLm10gg1nb29nbGUuY29t
Lm14gg1nb29nbGUuY29tLm15gg1nb29nbGUuY29tLm5hgg1nb29nbGUuY29tLm5m
gg1nb29nbGUuY29tLm5ngg1nb29nbGUuY29tLm5pgg1nb29nbGUuY29tLm5wgg1n
b29nbGUuY29tLm5ygg1nb29nbGUuY29tLm9tgg1nb29nbGUuY29tLnBhgg1nb29n
bGUuY29tLnBlgg1nb29nbGUuY29tLnBogg1nb29nbGUuY29tLnBrgg1nb29nbGUu
Y29tLnBsgg1nb29nbGUuY29tLnBygg1nb29nbGUuY29tLnB5gg1nb29nbGUuY29t
LnFhgg1nb29nbGUuY29tLnJ1gg1nb29nbGUuY29tLnNhgg1nb29nbGUuY29tLnNi
gg1nb29nbGUuY29tLnNngg1nb29nbGUuY29tLnNsgg1nb29nbGUuY29tLnN2gg1n
b29nbGUuY29tLnRqgg1nb29nbGUuY29tLnRugg1nb29nbGUuY29tLnRygg1nb29n
bGUuY29tLnR3gg1nb29nbGUuY29tLnVhgg1nb29nbGUuY29tLnV5gg1nb29nbGUu
Y29tLnZjgg1nb29nbGUuY29tLnZlgg1nb29nbGUuY29tLnZugglnb29nbGUuY3aC
CWdvb2dsZS5jeoIJZ29vZ2xlLmRlgglnb29nbGUuZGqCCWdvb2dsZS5ka4IJZ29v
Z2xlLmRtgglnb29nbGUuZHqCCWdvb2dsZS5lZYIJZ29vZ2xlLmVzgglnb29nbGUu
ZmmCCWdvb2dsZS5mbYIJZ29vZ2xlLmZygglnb29nbGUuZ2GCCWdvb2dsZS5nZYIJ
Z29vZ2xlLmdngglnb29nbGUuZ2yCCWdvb2dsZS5nbYIJZ29vZ2xlLmdwgglnb29n
bGUuZ3KCCWdvb2dsZS5neYIJZ29vZ2xlLmhrgglnb29nbGUuaG6CCWdvb2dsZS5o
coIJZ29vZ2xlLmh0gglnb29nbGUuaHWCCWdvb2dsZS5pZYIJZ29vZ2xlLmltggtn
b29nbGUuaW5mb4IJZ29vZ2xlLmlxgglnb29nbGUuaXOCCWdvb2dsZS5pdIIMZ29v
Z2xlLml0LmFvgglnb29nbGUuamWCCWdvb2dsZS5qb4ILZ29vZ2xlLmpvYnOCCWdv
b2dsZS5qcIIJZ29vZ2xlLmtngglnb29nbGUua2mCCWdvb2dsZS5reoIJZ29vZ2xl
Lmxhgglnb29nbGUubGmCCWdvb2dsZS5sa4IJZ29vZ2xlLmx0gglnb29nbGUubHWC
CWdvb2dsZS5sdoIJZ29vZ2xlLm1kgglnb29nbGUubWWCCWdvb2dsZS5tZ4IJZ29v
Z2xlLm1rgglnb29nbGUubWyCCWdvb2dsZS5tboIJZ29vZ2xlLm1zgglnb29nbGUu
bXWCCWdvb2dsZS5tdoIJZ29vZ2xlLm13gglnb29nbGUubmWCDGdvb2dsZS5uZS5q
cIIKZ29vZ2xlLm5ldIIJZ29vZ2xlLm5sgglnb29nbGUubm+CCWdvb2dsZS5ucoIJ
Z29vZ2xlLm51gg1nb29nbGUub2ZmLmFpgglnb29nbGUucGuCCWdvb2dsZS5wbIIJ
Z29vZ2xlLnBugglnb29nbGUucHOCCWdvb2dsZS5wdIIJZ29vZ2xlLnJvgglnb29n
bGUucnOCCWdvb2dsZS5ydYIJZ29vZ2xlLnJ3gglnb29nbGUuc2OCCWdvb2dsZS5z
ZYIJZ29vZ2xlLnNogglnb29nbGUuc2mCCWdvb2dsZS5za4IJZ29vZ2xlLnNtggln
b29nbGUuc26CCWdvb2dsZS5zb4IJZ29vZ2xlLnN0gglnb29nbGUudGSCCWdvb2ds
ZS50Z4IJZ29vZ2xlLnRrgglnb29nbGUudGyCCWdvb2dsZS50bYIJZ29vZ2xlLnRu
gglnb29nbGUudG+CCWdvb2dsZS50cIIJZ29vZ2xlLnR0gglnb29nbGUudXOCCWdv
b2dsZS51eoIJZ29vZ2xlLnZngglnb29nbGUudnWCCWdvb2dsZS53czANBgkqhkiG
9w0BAQUFAAOBgQCROJdKT00d96BpNG4j3Xf5Kz7kJENMTYtgsGQW5E6y2yjRaguD
LPO+y4IH9KiVXD+qO8koye9yOMNawN9r/DFQd+t2nDmvlpcwJBNguiuqxl+rJaU8
KKgswikGaaM4z+i4vHuXcCKZtM/ELAaJlSaBPip4GBAkgv7D9hwh+sWvYA==
-----END CERTIFICATE-----
/**
Example certifcate code
gcc -o certexample certexample.c -lssl -lcrypto
gcc certexample.c -I /usr/local/opt/openssl/include -L /usr/local/opt/openssl/lib -o certexample
*/
#include <openssl/x509.h>
#include <openssl/x509v3.h>
#include <openssl/bio.h>
#include <openssl/pem.h>
#include <openssl/err.h>
#include <stdio.h>
#include <string.h>
int main()
{
const char test_cert_example[] = "./cert-file2.pem";
BIO *certificate_bio = NULL;
X509 *cert = NULL;
X509_NAME *cert_issuer = NULL;
X509_CINF *cert_inf = NULL;
STACK_OF(X509_EXTENSION) * ext_list;
//initialise openSSL
OpenSSL_add_all_algorithms();
ERR_load_BIO_strings();
ERR_load_crypto_strings();
//create BIO object to read certificate
certificate_bio = BIO_new(BIO_s_file());
//Read certificate into BIO
if (!(BIO_read_filename(certificate_bio, test_cert_example)))
{
fprintf(stderr, "Error in reading cert BIO filename");
exit(EXIT_FAILURE);
}
if (!(cert = PEM_read_bio_X509(certificate_bio, NULL, 0, NULL)))
{
fprintf(stderr, "Error in loading certificate");
exit(EXIT_FAILURE);
}
//cert contains the x509 certificate and can be used to analyse the certificate
//*********************
// Example code of accessing certificate values
//*********************
cert_issuer = X509_get_issuer_name(cert);
char issuer_cn[256] = "Issuer CN NOT FOUND";
X509_NAME_get_text_by_NID(cert_issuer, NID_commonName, issuer_cn, 256);
printf("Issuer CommonName:%s\n", issuer_cn);
//List of extensions available at https://www.openssl.org/docs/man1.1.0/crypto/X509_REVOKED_get0_extensions.html
//Need to check extension exists and is not null
X509_EXTENSION *ex = X509_get_ext(cert, X509_get_ext_by_NID(cert, NID_subject_key_identifier, -1));
ASN1_OBJECT *obj = X509_EXTENSION_get_object(ex);
char buff[1024];
OBJ_obj2txt(buff, 1024, obj, 0);
printf("Extension:%s\n", buff);
BUF_MEM *bptr = NULL;
char *buf = NULL;
BIO *bio = BIO_new(BIO_s_mem());
if (!X509V3_EXT_print(bio, ex, 0, 0))
{
fprintf(stderr, "Error in reading extensions");
}
BIO_flush(bio);
BIO_get_mem_ptr(bio, &bptr);
//bptr->data is not NULL terminated - add null character
buf = (char *)malloc((bptr->length + 1) * sizeof(char));
memcpy(buf, bptr->data, bptr->length);
buf[bptr->length] = '\0';
//Can print or parse value
printf("%s\n", buf);
//*********************
// End of Example code
//*********************
X509_free(cert);
BIO_free_all(certificate_bio);
BIO_free_all(bio);
free(buf);
exit(0);
}
\ No newline at end of file
export PATH="/usr/local/opt/openssl/bin:"$PATH
\ No newline at end of file
makefile 0 → 100644
#***************************************************************************
#
# File : makefile
# Student Id : 757931
# Name : Sebastian Baker
#
#***************************************************************************
CC=gcc
FLAGS=-Wall -lssl -lcrypto
MAC_FLAGS= -Wall -I /usr/local/opt/openssl/include -L /usr/local/opt/openssl/lib
OUT=certcheck
SRC=src/main.c
EXAMPLE_SRC=./certexample.c
compile:
$(CC) $(SRC) $(FLAGS) -o $(OUT);
mac:
$(CC) $(SRC) $(MAC_FLAGS) -o $(OUT);
example:
$(CC) $(EXAMPLE_SRC) $(MAC_FLAGS) -o certexample;
clean:
rm -f src/*.o; rm $(OUT);
testone.crt,www.example.com,0,Invalid because key size is too small (1024 bits instead of >=2048)
testtwo.crt,www.mydomain.com,1,Valid correct key size; valid dates; not a CA; server authentication; domain matches Common Name
testthree.crt,www.test.com,0,Invalid valid from date - date is in the future
testfour.crt,www.oldsite.com,0,Invalid - certificate has expired - valid to date in the past
testfive.crt,www.unimelb.com,0,Invalid - extended key usage is only for client authentication
testsix.crt,www.codetest.com,0,Invalid - extended key usage is code signing only
testseven.crt,www.example.com,1,Valid - all correct - domain matches through Common Name wildcard No SAN
testeight.crt,www.comp30023.com,1,Valid - all correct - domain matches Common Name and SAN
testnine.crt,www.certtest.com,1,Valid - all correct - domain matches Common Name or SAN wildcard
testten.crt,www.victoria.com,1,Valid - all correct - tests multiple extended key usage
testeleven.crt,freeca.com,0,Invalid - marked as a CA
testtwo.crt,www.example.com,0,Invalid - domain does not match Common Name
testseven.crt,example.com,0,Invalid - wildcard Common Name requires subdomain
testone.crt,www.example.com
testtwo.crt,www.mydomain.com
testthree.crt,www.test.com
testfour.crt,www.oldsite.com
testfive.crt,www.unimelb.com
testsix.crt,www.codetest.com
testseven.crt,www.example.com
testeight.crt,www.comp30023.com
testnine.crt,www.certtest.com
testten.crt,www.victoria.com
testeleven.crt,freeca.com
testtwo.crt,www.example.com
testseven.crt,example.com
testone.crt,www.example.com,0
testtwo.crt,www.mydomain.com,1
testthree.crt,www.test.com,0
testfour.crt,www.oldsite.com,0
testfive.crt,www.unimelb.com,0
testsix.crt,www.codetest.com,0
testseven.crt,www.example.com,1
testeight.crt,www.comp30023.com,1
testnine.crt,www.certtest.com,1
testten.crt,www.victoria.com,1
testeleven.crt,freeca.com,0
testtwo.crt,www.example.com,0
testseven.crt,example.com,0
-----BEGIN CERTIFICATE-----
MIIFfzCCAuegAwIBAgIJANLPJEg9cV1NMA0GCSqGSIb3DQEBBQUAMFgxCzAJBgNV
BAYTAkFVMREwDwYDVQQIEwhWaWN0b3JpYTEQMA4GA1UEChMHVW5pTWVsYjEMMAoG
A1UECxMDQ0lTMRYwFAYDVQQDEw1Bc3NpZ25tZW50MkNBMCIYDzIwMTcwMTAxMDAw
MTAxWhgPMjAxOTEyMzEyMzU5NTlaMHoxCzAJBgNVBAYTAkFVMREwDwYDVQQIEwhW
aWN0b3JpYTESMBAGA1UEBxMJTWVsYm91cm5lMRAwDgYDVQQKEwdVbmlNZWxiMRYw
FAYDVQQLFA1DT01QMzAwMjNfQ0lTMRowGAYDVQQDExF3d3cuY29tcDMwMDIzLmNv
bTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMQNJkBur0ZXmEOEqMIt
DnMUKIVmVsQQ0hEEcqEhfRk0vEapcaJp7KKUanFhbzd+tJ3K0ebRUl9eZKHHgN1t
7eC11PpLK803AlvUtC6au6zSlRFLSuyxr9gIGfmEoD4zlI/JqeZjgaqxri09fTnw
t+dnLczdwrf0/rj5pd0SWbCBsCOCldXsVg409z8AMYMFBeXQKTTcH459fgUBQjAx
xzYBhMnvxYz+HYsO0UP5ieYHhc+h4BTzNjAoTWXHL/V4ICMjuia7SY76lKkD0jpq
YvOD8EVCaQdcsgPZVLgwwk4mIM6Eai54vzMkcvB5ylVF4HP1PvxhFZdZfFlcYP62
LWkCAwEAAaOBpTCBojAJBgNVHRMEAjAAMB0GA1UdDgQWBBSLoce4wGtmgfJ175Y3
77ryc6QRnzAfBgNVHSMEGDAWgBQMV5bB/KSnVaWio6bMv7IKFIw9hDALBgNVHQ8E
BAMCAygwEwYDVR0lBAwwCgYIKwYBBQUHAwEwMwYDVR0RBCwwKoIRd3d3LmNvbXAz
MDAyMy5jb22CFXdlYm1haWwuY29tcDMwMDIzLmNvbTANBgkqhkiG9w0BAQUFAAOC
AoEAE8hVWlwg0ZMNQu5GYVNT3xSWGXYz1HvMYcBZXwhfAB5ztiYfWvTts1M292Jw
ZJN6e8cSzT61wSUKgBnSq69hZDVhQjwUAHSNivx8oP5qYDJsJP056Y4dNnrIAQWn
F0nABXiOHy2CZTJuYBWcA+qo6vXq9ceL87503fggTYi0NXLf415ylViCizLckcrd
R02ZUrtJFmx5OCMeETL5W2aufZ56daPdzmaoL1PjwFrNfuWW9stUwhb2+dcLp8VJ
DQGu6/3YiliKfS+5mhsKa6mBuAXbYYSMU2owjBD78kp7oMZtPLgnrZdwUduOxKqA
/iGXNMKGGBtvoA99LCQY/MLn2CPVfKlzjAf8u+7BUAuOQJxATu7ebpCoLOZFEBO3
n9aGHxpAhC69AW/E5rJfV1dOSzeveLyfnnK6M+dEz+/U2tuFAJ3e8hQQmIbT5esh
BvSBBoJj0Jd3Q7EKkGBd0Q6boTedQ+bmYINMj103D07+V99/HDrzmtnjg0x2pdt5
VzgWQrrWgS+21AxSWABmKNYcQufXtMChEmcGUUQSC7uO/ZDBOY9sqb/+9jjFdqyM
Mrx8+YZfDdZkM+Z1ccNluGW+5uNpMvFrxYoKmX3C6n1Pj3P7w9/duwtJ9HRtjs+O
l4iutwBBaC2JPNn2mC0+rVp+xcQRuMxzU+H59hLRWz/hLAruml60Mkuaf/MU++Bt
ii3bSb1JA55pCK9wfY4JhjQ/s83EgFg1CfFCGZ3PRmRduxAL1fRMd5vI6b7/Kz/1
b21BE0tO0k09ftFXla1tNhdW5YjpzE744DOZnj4ZNHHTdnAvvXW1lCRVHy36R3My
CQr4PZulN8cY+xo5OKlW3wuwlA==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFWjCCAsKgAwIBAgIJANLPJEg9cV1MMA0GCSqGSIb3DQEBBQUAMFgxCzAJBgNV
BAYTAkFVMREwDwYDVQQIEwhWaWN0b3JpYTEQMA4GA1UEChMHVW5pTWVsYjEMMAoG
A1UECxMDQ0lTMRYwFAYDVQQDEw1Bc3NpZ25tZW50MkNBMCIYDzIwMTcwMTAxMDAw
MTAxWhgPMjAxOTEyMzEyMzU5NTlaMHMxCzAJBgNVBAYTAkFVMREwDwYDVQQIEwhW
aWN0b3JpYTESMBAGA1UEBxMJTWVsYm91cm5lMRAwDgYDVQQKEwdVbmlNZWxiMRYw
FAYDVQQLFA1DT01QMzAwMjNfQ0lTMRMwEQYDVQQDEwpmcmVlY2EuY29tMIIBIjAN
BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3HGq1IAgg58VrtX7BBlcHAeBdLsc
XfY18lKgfCFcnbT3YSILD/FAXEarrPe3lidR0jcF2LKqFs6gWo0e7SuCcPUbTgtH
7NYlCquwJPgNjr+fIdLp6vdQYCWlYX08E28CmPaegdvxziJO3JBeeWLfLbkurJNm
PPxLwObHvxyDO9W3jjvScQ3M6TCz7A6SQoF52KKP7ZQcm/+rjlqBgkAuActqI9UX
uf7Fp/27OpbPVkmQd0k3jDqC20jbPIHwUEpD0vd4oLfjX2Tjo2hFclKxv/Rk/NLF
n2qFPzXkVsGYtD3l8fMl7PpPfFCx0heh4GHWJlbs5Nz0GXWEK++hZp8kiQIDAQAB
o4GHMIGEMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFNIqu+hvtyd/HO88uxsPV6bH
ESgDMB8GA1UdIwQYMBaAFAxXlsH8pKdVpaKjpsy/sgoUjD2EMAsGA1UdDwQEAwID
KDAnBgNVHSUEIDAeBggrBgEFBQcDAQYIKwYBBQUHAwIGCCsGAQUFBwMDMA0GCSqG
SIb3DQEBBQUAA4ICgQBywUcFlDbNMf8tOYcKeysIZGrVtGsDxuxs/wgPp5rYkw2o
9BcUL7bzTj84to4makEt6OCXoAwQWDBhiW+b50LR5mtVIkNKJh0yXwAeqO7uSIS+
Z/UuFT78N88ZJMmJpaxqstG3A3jkUGHdRD0MbeAgBJylU+y7R1Is5RMcADItnZEy
BOo653arLq82gu3N26F6cbh3YJdQgp9T/1iaUyeIfosboce+N/N9WR3p0LyiX4uU
Ohotp3XStdU0Ma9Ep77SsBDbXMSgNYiR9HPdcToH/GH7qWBJezMlvm0qUhLVhKY/
gXFlZp4ovKSFCvkc72QPxKx7CJ08wsBkbfK0vhoMGkyiYpEOSyzIggW9/drOOV0j
t+NaJjZ42hN9C3U0ko5cF5sKrIMaj7ojbQj97nlJQoWTsqefvFW0WU+RxDCJwBEf
kEhjPwGMIOgNHcdwpN2PWpV1hfmkCnAPOmA5xlZgxhyM4nHJKfpcKuyL3x43QKN9
X8JsJfh1WgEDaZVc1aHHzY1HlWEui8ykcpekhLwpFXPVhQDyymB47zM7D2nLhfu0
yz+Orzmcv2Kmap1H3oCVxYLtdZ9CIeRtK++lbfjdG5JIxpSfJPRO0jxfjc3OzF7m
cMT/65RLFOSIcMHRFvItKVfhE+psfM8IyMwn+qSjdfMlBSE+PArlzlre1T9Bl0I/
4FegVYSYxxD1ZsACv1yFYPjw/AWxe37k5jTVsqF1seSRO63AyhH+x0vJ1kgZpZV7
txS8tGDUJ6kjFch+GBU4VMDKZNbJM02s06OGPZHw/cj6lVt0gbeBk9zKeu6ydWie
bM/sod5KTx6TW8hIOgi/P+RKv32YRFR3hh6jmLW0
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFRjCCAq6gAwIBAgIJANLPJEg9cV1GMA0GCSqGSIb3DQEBBQUAMFgxCzAJBgNV
BAYTAkFVMREwDwYDVQQIEwhWaWN0b3JpYTEQMA4GA1UEChMHVW5pTWVsYjEMMAoG
A1UECxMDQ0lTMRYwFAYDVQQDEw1Bc3NpZ25tZW50MkNBMCIYDzIwMTcwMTAxMDAw
MTAxWhgPMjAxOTEyMzEyMzU5NTlaMHgxCzAJBgNVBAYTAkFVMREwDwYDVQQIEwhW
aWN0b3JpYTESMBAGA1UEBxMJTWVsYm91cm5lMRAwDgYDVQQKEwdVbmlNZWxiMRYw
FAYDVQQLFA1DT01QMzAwMjNfQ0lTMRgwFgYDVQQDEw93d3cudW5pbWVsYi5jb20w
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDYjix4eOOpHzVkxv9Fip2h
ekOeoERk+o92/gNaaZ3mW+y7vrWhNWd4tg0VxA1sau3CrCCIsxrFu9rDKpNz1bUJ
YGY/w3Yll8mrk4VSJhjDCCmudxIaT4cV/WqzvRK7zc5lSw6SoQzU5NEj4UB+Hghz
rLyiDK/zG75XuPg2Lb6rTuqY4OoUig/AKIDVyPfPNb5MMWFcNLzjgDAYJEea1lU2
aUQ0xUXFAmCZwy/bPb6WIQuEf26C4ltGiG74y2kdYpsfYbu46ozA0w0QHKLKUC1Q
th/4amh7bzIEtG2w47BISMyTsrb/JrLFM4vVgB1WR47LgNSeedqcbBackRmMHRH7
AgMBAAGjbzBtMAkGA1UdEwQCMAAwHQYDVR0OBBYEFI6PNxbv9flPs0sS33lQMqSf
Qo65MB8GA1UdIwQYMBaAFAxXlsH8pKdVpaKjpsy/sgoUjD2EMAsGA1UdDwQEAwID
KDATBgNVHSUEDDAKBggrBgEFBQcDAjANBgkqhkiG9w0BAQUFAAOCAoEASb6G7m7a
WqAi0dkVpSdTPKm1rN+alvxacX3P3GWaS1KGs/yXdxsRHl6vLHNUymCdBE/JFRlA
k8R5U8ye9T1SNnjfhILhnyGGf3ct4Po8W6NVu6kBsTYK233Wd2VRB7NDdURpSv+A
9RgHwItZKM62u+nk2UgjDkWLP5Dn+VQSc2HkZBbvgXECtRlAAQv2vdIqQishlNWm
XKxd2kgkoB/QXcbq2n8099Btd8v1+dS9d4RSv+S5FYe7i2UyQ49gQ7CMegwnfVH8
qzztHYrM1TahjpsuUu4TeRHJXta/3ooQduZoVwusRparn8fS7kRrEpKoyw7+oWCu
prTIdxRcfRw0mJFxdu73DPVLi4JRqFVyVOTQBneIhtbonBZ2ee2qDOunbSZRtJ+g
H8kgMlV4i7/JnjgLxuBsm2v59G9m9eqzDqyyByLbtxus6w6u76v2mQU9Awww/B53
Dgde0tZjWv6yR+osddeWkXBfA48sRs0s8oNpfvsx1bbyTwA5qy6Q94c6WG61ZVzG
GepfISrxES/Ek1/vDMa7M73p5Zy5/c0cprAykaqa+heZF85+kvSEq6s7AwbuH+gl
3qd52sKQ6/JikiMehrdHoT1A4FvAGCviK0jKzFPtb6m65heKCM8syuujrdtXVWE1
cLaCMRxErk4u5iwLEK+kdjJDFrpN2/adDYre2LBPMY0XOTK1Oyu4hwrEmY+HkDPf
lZrYol/t7NYPjYVb/0+UkaVYnbLdIYYyWWa3aQ1uIaZrqUbm5dDXYs7pt8lHLdyv
hkrInrq+J3EGY+5EN39gRKtZrxJnBRJUAr7GSHZH9uTLLa0XP9UXdKUX8V2T6E9h
EVSwQoW1tUaeAA==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFRjCCAq6gAwIBAgIJANLPJEg9cV1FMA0GCSqGSIb3DQEBBQUAMFgxCzAJBgNV
BAYTAkFVMREwDwYDVQQIEwhWaWN0b3JpYTEQMA4GA1UEChMHVW5pTWVsYjEMMAoG
A1UECxMDQ0lTMRYwFAYDVQQDEw1Bc3NpZ25tZW50MkNBMCIYDzIwMTcwMTAxMDAw
MTAxWhgPMjAxNzEyMzEyMzU5NTlaMHgxCzAJBgNVBAYTAkFVMREwDwYDVQQIEwhW
aWN0b3JpYTESMBAGA1UEBxMJTWVsYm91cm5lMRAwDgYDVQQKEwdVbmlNZWxiMRYw
FAYDVQQLFA1DT01QMzAwMjNfQ0lTMRgwFgYDVQQDEw93d3cub2xkc2l0ZS5jb20w
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCf1YaCWTYhaepM1It+rh8j
rx68pMj1AyQkTJQ68PSiPAiNd6sIbPNRy08wjsHC9UZi/yxLtknA47vYiA2iRE+i
3ipny0TyP16kTEbfb83sqJprgmhShj4HZESsXK8khgXohp47sFRln0yZVsB9OPzG
32+ez4vMf8+5V+LklIgwl5XwP4+nsPtPo8vbhyO5n7XlV845eHwJDvBS4I7k4Y5A
XgmazR3C+Jkme1LWHLGKcbqVwjcvTXuQm396sOYC0Z/QjlK1sNuZ92882AH6Re5k
p+O4YIp8G5Rc7Oggw7xcSDMD/eDdDXUAEr6H/ql5WoKnOc40aq9rPZhlI+2x6iUd
AgMBAAGjbzBtMAkGA1UdEwQCMAAwHQYDVR0OBBYEFEc+yOVofbJrOjRLIWrOm2Vd
ydK5MB8GA1UdIwQYMBaAFAxXlsH8pKdVpaKjpsy/sgoUjD2EMAsGA1UdDwQEAwID
KDATBgNVHSUEDDAKBggrBgEFBQcDATANBgkqhkiG9w0BAQUFAAOCAoEAKUDuUOoy
pVaimpJovD5jcnKWioJQwLm6kh/CiVI0GSc76qzUpPmMAjG1D43QPiHb8pH3y3PV
qSoaYC00St7bcgi55IaNK4o+aJ8bJWgGNnW59565Nam6nWIRkeklJkP1BoGNLKFP
W77zeJyLOlITUSTRDSa161MjxvbUR+HbJfoGi61aSMSNxOgJH1CNZQgXAgNm+5K0
0+wYYpYQU9ttWud91+faz6U8EHTAXGhtptNoQxbJAkP2Ze8HwUEbTslKbPMk73oo
haom8aArdRP8GFjo2bfdS4m+fJekULx8NEmYCCWeOlXjnDjEeTZv6sBtRW6mpmG1
2z4cLQVlH9PUIptDL088S/pHfBOKhQ47oVnTaF3rcKSXTS+IXylFTZBCQerIgGVD
5AJaiBj6qEFTAqdZ6R1mCd41avTT7y05V43do0n3BKuVczNEM0AyoiLr/vmLbTLF
jxu8G4U9u6xYWAM3isycICc3xnFNsaUQDXBeSw6toY59y49MKkZYLW4/TwEQlfiX
vEW2yuyc4n7I00YyasY2MxKNYSs/560/PqiQOKLZDe4+dt0OOUmOskSqOONDe9nP
xmm4xTPAYkkuLYYnq8vLb5MEaXpd16Vde7ke3ZbJBct9PYPu5GsziLXCfkLccQ4T
G/t004Zi2N2gJfDq1IUegxZm8Fjso3jZlmQB6WYZIVdbBn+dtRB8jhoUcYokxSFi
lbLEJibFsajjBDu/br+f70o/m8z7cYDVLS3PKRmevNi/eJRqRyoR+IKHp1egEu7n
sYekxJnHnMBpZcjxrqCsO5FEOT4wK1YSHRTC/SxZhBgMBft8WTQSn5B3xyZKhOIz
GdjC3Np7X9vXSg==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFjjCCAvagAwIBAgIJANLPJEg9cV1BMA0GCSqGSIb3DQEBBQUAMFgxCzAJBgNV
BAYTAkFVMREwDwYDVQQIEwhWaWN0b3JpYTEQMA4GA1UEChMHVW5pTWVsYjEMMAoG
A1UECxMDQ0lTMRYwFAYDVQQDEw1Bc3NpZ25tZW50MkNBMCIYDzIwMTcwMTAxMDAw
MTAxWhgPMjAxOTEyMzEyMzU5NTlaMHkxCzAJBgNVBAYTAkFVMREwDwYDVQQIEwhW
aWN0b3JpYTESMBAGA1UEBxMJTWVsYm91cm5lMRAwDgYDVQQKEwdVbmlNZWxiMRYw
FAYDVQQLFA1DT01QMzAwMjNfQ0lTMRkwFwYDVQQDExB3d3cuY2VydHRlc3QuY29t
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmIaPRWUkBQc/Lhm/1bt6
zIF1mIRXPPWDp9MJl9kQTbXRs9bXMkiq4QCns+5Ms3KWgld4nMUuUOu+KBR2ohcP
FWb/gFhiaUtWkCVO9yJLxolKxPtVgkhCjIoa5VN3qQt9th0P2mBl3WMjFNWTP9VZ
MKKH5QZbMtGIxxWmyLjwYl4/DUluOvXVqDCxY+2HjjbtikXsRKIoham4d9kC7mQx
yI6FAgYXeEYEM7/jIoTfwEq0MMnxt3FrV9k6heuOONl9cFukaIxYyvafWl86DwtI
xz9B+SHsV52eRo4PhpbGyXzV6gyrJDD9bQju+twweiNJrxy2zVGq/ERbkAkHju5+
tQIDAQABo4G1MIGyMAkGA1UdEwQCMAAwHQYDVR0OBBYEFL4zq8xDPbZthqo0FGXS
I+3pVsEZMB8GA1UdIwQYMBaAFAxXlsH8pKdVpaKjpsy/sgoUjD2EMAsGA1UdDwQE
AwIDKDATBgNVHSUEDDAKBggrBgEFBQcDATBDBgNVHREEPDA6gg4qLmNlcnR0ZXN0
LmNvbYIRd3d3LmNvbXAzMDAyMy5jb22CFXdlYm1haWwuY29tcDMwMDIzLmNvbTAN
BgkqhkiG9w0BAQUFAAOCAoEAJuc6Ux+UyR4zOyxBM6kl4Xcct2JW9bmVVBxc2i+Y
9TXhrak582PkyDdhYfP40gjAHTrwZLmFJtWh3NvqXval12VPufRXmrcgZsWrjA7w
qwGtGPycKVHEipu348uG6nYA7D7SlOTo+5HZXpnws4W1YT43B3NeAgSO27s92KQW
G9TOHoqShv5v+HjjZlSa8zlDKChYdGyaSvCOZPYaBRNoLCcMD77/P+HRNFwAYw/E
KowTnv8rr5vMyMPE8W+6Qpa+7rivejQJ84fJKdeLFzrEBxm+e33cO1cOqx91h1Bw
OuqNzZxJpsBZATP+cFiSiAP9TLPkxkQEDnJCKOMAADQ0oeVZb4OYoXRXZi1LoUho
sdX1Q13Op2DjZbVgnqVHwiZy/iVCy1tYtxPtThy8SEWaYtj9m6xzn4yTc4ePunJf
T98jPYupneTfTfPajtsfUCVIxsNXgmPaYiY44v1Of9y8IhWl/bhvmjs6k/67wq9W
M9+OaDAlIPX4dslqeqhB50aJIfiRhFVGxVkiKGOuYgBKCWirNZ00CCWDskwTdlRU
CNftq91/kSLFZHr5Gr6Me4YBa72c6KBf4JmQthybzvfi2TcDEACZiFshaaTiJzjE
inxAyn2VaOEEYsu2tHjudtNgFkmXERHwKt6ie2QGmoZWCPmEkTgWHptN50rGWmKd
lAEqoxzC/c5dldBSwFHawh7MAZa65NXmVGuplDhmFVrPPSllpBgi9mZ05ujs9BWq
uqd7aIfRIsQHLSW/cnFwhfxQzmL3RhM/a55F7L3g7hH5Jdh8nnfsziP7g72Mrm5E
CB3IfvEHhCE+OlOKd8DgdTtmDpIAPEPEOE6irqFCYS+5lw==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIEwjCCAiqgAwIBAgIJANLPJEg9cV0+MA0GCSqGSIb3DQEBBQUAMFgxCzAJBgNV
BAYTAkFVMREwDwYDVQQIEwhWaWN0b3JpYTEQMA4GA1UEChMHVW5pTWVsYjEMMAoG
A1UECxMDQ0lTMRYwFAYDVQQDEw1Bc3NpZ25tZW50MkNBMCIYDzIwMTcwMTAxMDAw
MTAxWhgPMjAxOTEyMzEyMzU5NTlaMHgxCzAJBgNVBAYTAkFVMREwDwYDVQQIEwhW
aWN0b3JpYTESMBAGA1UEBxMJTWVsYm91cm5lMRAwDgYDVQQKEwdVbmlNZWxiMRYw
FAYDVQQLFA1DT01QMzAwMjNfQ0lTMRgwFgYDVQQDEw93d3cuZXhhbXBsZS5jb20w
gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBALFy8795o9plD5FC4e5Cw6txHCbA
ipSVT1lQWgdRzcdOOMo9va0xB1K48o2TdbAIX2w8GJztuTq8P+JVkZn+T7GsTzSE
x9bVh6Qsa/jlSQlqiwFZ6Y9rH4MU9zinvtbIArGm68A0dI2dlR2+Bc5yJ+zxWqt8
+H+OMJ6MPIGcmFT3AgMBAAGjbzBtMAkGA1UdEwQCMAAwHQYDVR0OBBYEFI6ED+hI
u9eor9qhYdIiU5gC18z9MB8GA1UdIwQYMBaAFAxXlsH8pKdVpaKjpsy/sgoUjD2E
MAsGA1UdDwQEAwIDKDATBgNVHSUEDDAKBggrBgEFBQcDATANBgkqhkiG9w0BAQUF
AAOCAoEAhkZGzNiYBNELcOU/eBZJNOEgL1Nymh2NDU1ykec34pA+pQg0WWS1oG3z
MwzQ4SiHnNzpQHChXeBtUq0wKupDwOqS3aKlqHcgIxomj9OXZDdyErh6JPYvcDk0
gn1E73M6FNGz61sb1cLvVxOJsntrXYM14+xeVcc7Kb6KER9b+FZZZuGV3YzvDPz9
ljFNBeHyudDMd5Fg/FogJV231rNZBNHJBQ0+mbuSbt/90q8iMz/AN8s5mToY+o5I
EJHBtbQTR/OKr3FCyNASxYRP2vtHqSLDpjwt5e8SEhN0mRKedrGnTbc2634yCF8d
7egdHA3kJCeZZ2wmkA8RTcjxNZyjQoGfSbRzgVrAh9824l6MpZ2++Ao7YOxyisEm
MrB9VCDyBNsqxTkB+wUcqjhJw+fRupzlp5XaR4xVYdjy4N27O9SdFHIq/88WfyLb
tSzdWpSibgbqFrWudjyCPv1x1x386XG0JbdbYBuuhuKEFy80xiMHse5ocVT7UbQf
jT0PDMR1FhF7exw6CXN08RCyhF7VYheOwY45Dq2wsnUG0Eyev/4GYutJvOIHj7XI
PHqkyqV8JQivqHAvCozFRVMdno5JdJ4tHrstk7u7kxeeCWSPARN5yh2ABg/0wq3u
5EmgdEQ0F6eWzbPbLlffUrozqb1OME5lBRDcGJXnQ+Vvi43tUQevmRbSeBCZHkBC
vB2ib39CKWWmDtm1PSqyMFFLhSRqstXHXHw/6t5M8qvBjudiCYhi7W1TIvrpoThU
HTxNytNxYwkfJ1lH9SQCd5YpVKp8ytRF6mpJc4TlgsrtG5rruEc5sxQ1c2ttPy0/
QsVZf7HT3bFSKg9+0qs1aQUBjzz1cg==
-----END CERTIFICATE-----
#!/bin/bash
INFILE="output.csv"
INPUTFILE="sample_input.csv"
if [ ! -f certcheck ]; then
echo -e "certcheck executable NOT FOUND - Test Stopped - Check program naming\n"
exit 1
fi
echo -e "Running certcheck with input file:$INPUTFILE"
./certcheck $INPUTFILE
echo -e "\n\ncertcheck finished, starting output checks"
if [ ! -f output.csv ]; then
echo -e "output.csv NOT FOUND - Test Stopped - Check output file name\n"
exit 1
fi
declare -A results
results[testone.crt,www.example.com]=0
results[testtwo.crt,www.mydomain.com]=1
results[testthree.crt,www.test.com]=0
results[testfour.crt,www.oldsite.com]=0
results[testfive.crt,www.unimelb.com]=0
results[testsix.crt,www.codetest.com]=0
results[testseven.crt,www.example.com]=1
results[testeight.crt,www.comp30023.com]=1
results[testnine.crt,www.certtest.com]=1
results[testten.crt,www.victoria.com]=1
results[testeleven.crt,freeca.com]=0
results[testtwo.crt,www.example.com]=0
results[testseven.crt,example.com]=0
while IFS=',' read -ra line || [[ -n "$line" ]]; do
if [ ${results["${line[0]},${line[1]}"]} == ${line[2]} ]
then
if [ ${line[2]} == "0" ]
then
echo -e "${line[0]},${line[1]}:CertCheck=INVALID:TEST=PASS"
else
echo -e "${line[0]},${line[1]}:CertCheck=VALID:TEST=PASS"
fi
else
if [ ${line[2]} == "0" ]
then
echo -e "${line[0]},${line[1]}:CertCheck=INVALID:Actual=VALID:TEST=FAIL"
else
echo -e "${line[0]},${line[1]}:CertCheck=VALID:Actual=INVALID:TEST=FAIL"
fi
#echo -e "${line[0]},${line[1]}=FAIL"
fi
#echo -e
#for i in "${line[@]}"; do
# echo -e "value: $i\n"
#done
done < "$INFILE"
\ No newline at end of file
-----BEGIN CERTIFICATE-----
MIIFRDCCAqygAwIBAgIJANLPJEg9cV0/MA0GCSqGSIb3DQEBBQUAMFgxCzAJBgNV
BAYTAkFVMREwDwYDVQQIEwhWaWN0b3JpYTEQMA4GA1UEChMHVW5pTWVsYjEMMAoG
A1UECxMDQ0lTMRYwFAYDVQQDEw1Bc3NpZ25tZW50MkNBMCIYDzIwMTcwMTAxMDAw
MTAxWhgPMjAxOTEyMzEyMzU5NTlaMHYxCzAJBgNVBAYTAkFVMREwDwYDVQQIEwhW
aWN0b3JpYTESMBAGA1UEBxMJTWVsYm91cm5lMRAwDgYDVQQKEwdVbmlNZWxiMRYw
FAYDVQQLFA1DT01QMzAwMjNfQ0lTMRYwFAYDVQQDFA0qLmV4YW1wbGUuY29tMIIB
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyyeHU6Bwg74DpCVBrHxIEsIB
YoumFehqWR20t1xV5h1TkZTJu+JloKBTgI5GFpii63f0lo34x0HpuxR4/iOh1CFN
dd1nODkze5fn2Ga6FlZFAjcPOIiWdb4Jr9BxqVWOhuB6HxE/xWRa5fmPmbgQKQCQ
P3ykPJamOw4k3NvVCwrMD4CnOH8JXJxtoQXqrUnXRMqWexEOH5meOA4w3rdNAX7a
8RpA8SyCpWtnqWOjz5a8OjSagxxfHrSvKreynaQX+I4mbqW/ZSIkDTXFpkypBSOF
oI3x0vMaXdwjn+77+YA6y8Qab56BJmUli1w0KIyUbVptJg54y+i2uCNvEcVDjwID
AQABo28wbTAJBgNVHRMEAjAAMB0GA1UdDgQWBBRi15HxCd4t4v4HVgGwUiG5z/ou
cjAfBgNVHSMEGDAWgBQMV5bB/KSnVaWio6bMv7IKFIw9hDALBgNVHQ8EBAMCAygw
EwYDVR0lBAwwCgYIKwYBBQUHAwEwDQYJKoZIhvcNAQEFBQADggKBAGETAP9CkJZD
9z9rU/Vdi+QQg3yryb520IuSCEun/CRtAz5p68jCvhZAIv5uZ9100GX4MH1b0s+y
7SXckCgReA4PbIjtXC+khi4whhIe2L2Y8UNj1LIsxWgNZ/+4jfgor3i+/7pM5Xxl
pAVrXe28NnRr04peHUhEMxSHeCOiKKtcLnug0YMFlF0oxqTbdAJULATBiVlL8ZU/
3uDX7athIC2NmtA5OLV1hiHxmm2Ji6+QHGYT9ye7AL260ZpBav791g98MFGW5Urm
w1rapcHIvZ8HqUia10FNh60yyYwGFLuvZtqwG2Bju4KAETl2dSalypiRjrhugB+X
jaFzSPO7vphBqjWAg2GEC2TyurBMvbvnWRNX2xX9voELtFV+Sbv48YeXqPXrqM40
UpfBC3z+cW85w9873/nTs7pEMwE8dEpe+qdk7YWDXNY3QFrwbqsndWi9FUet4uc4
E/25FRPmOxWMw5xTPU1fRwZds3ReGgPq8NASkZILbDvcmcfI09ZtoC+HsgC2/Viu
tAIdVNKq1LPfrlesLBar5boZrA5av+NYbg2mBr1mu5NI+4p53304D9ezQnefZsnT
Q+j9v9UeiHFzeo1VICroRle5vRvIS4mmdcu+zrYCi+bgIV7EY0u0Kvh9JCXO0Ui+
hkIeWyH9czd44LnWWBfRVvJwAykcCpbSYHwSLAY6xy1jBcW/kx3IAFVffF8XGAtc
3w5CBa99rV2AW6PYILupZ/WpxopOREheYdmuO16L6D2ay8GrEc6GzZBGgl4sROhu
W3vn1jb3vx50l9isPBxhWjpjXuHsQ2Rm0GcgFA4CcB6iyuR9ElLo5kOjODiyEkrb
gjWx6j23/o8=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFRzCCAq+gAwIBAgIJANLPJEg9cV1CMA0GCSqGSIb3DQEBBQUAMFgxCzAJBgNV
BAYTAkFVMREwDwYDVQQIEwhWaWN0b3JpYTEQMA4GA1UEChMHVW5pTWVsYjEMMAoG
A1UECxMDQ0lTMRYwFAYDVQQDEw1Bc3NpZ25tZW50MkNBMCIYDzIwMTcwMTAxMDAw
MTAxWhgPMjAxOTEyMzEyMzU5NTlaMHkxCzAJBgNVBAYTAkFVMREwDwYDVQQIEwhW
aWN0b3JpYTESMBAGA1UEBxMJTWVsYm91cm5lMRAwDgYDVQQKEwdVbmlNZWxiMRYw
FAYDVQQLFA1DT01QMzAwMjNfQ0lTMRkwFwYDVQQDExB3d3cuY29kZXRlc3QuY29t
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA43PvUMjt/2hRz9XemCxX
ab5aIt+7eZCz1SlwoaFwYEBdL6Z/nAtgu4OoRGULwQKNmYG4wRkpYvoF9PsF3ZiR
01nBkBkzer4Zf54d7heLZFiCauroXvtckdjNHWsxmN1hvcb4+R4SFIlyHgXu6h9p
gumI89yQoIITyY6hEWPE8BhvSt3Kt4dpHQSpa9yoilf25h48yTM0oq5PjcQ/UgBC
dHrDMB6nRVKzeysZvrDaSviDJ9D2YP7rQUFd7xQSRJf++tFf9nx7jaKZ147y/94p
4aNfT12adws/Pa38C/oulJlYnzduTRnuwGQULjv8j6EabdNjiKUkjcRM1UzqPY89
mQIDAQABo28wbTAJBgNVHRMEAjAAMB0GA1UdDgQWBBQIOphWyK1fnDU2k2pzWGC7
Ty+YNzAfBgNVHSMEGDAWgBQMV5bB/KSnVaWio6bMv7IKFIw9hDALBgNVHQ8EBAMC
AygwEwYDVR0lBAwwCgYIKwYBBQUHAwMwDQYJKoZIhvcNAQEFBQADggKBALYPA6cc
8bQmBsUloPDH6qIQlh9V17ZYVca5Vz9ZByVEH8QjtRBWW6yN2Vopk+n7fbb4UMon
hEwk4bREDvxcZy6AI0kkKhhlFk7Xamt4Rq+DeAUB4vcGGgqkWVhYPDmGeanV7uIm
5QNEGMCeeg2xwQboW6QpoDIsPfVkLphkwD5hESIrSPuOwz397FXXghYaRJS+xurO
6pFLxRYSe6/XYG4E6M1wuadPbuFP5rrHcyFJuosGf340ahYv/uOo0lpMhkwLZ1OM
9VmlREFNgACSJjG9YVahG/Cm6a5gh373tmkVUBTj7dJUgBk1N1dufiEvHxxd8iuF
Jk4h1QlerKulaY/ZR8ptFkR/exVmB+POC/qexebaI7KOme+dx4Id0X3gpYXk56TM
N58GGNGRHAbpnzUHq2X1tv2J3dEvWkv9F/ad6y0qkkC5cqgna87cBk3h/sU9wYzg
lsGvKPHfegxCoTF03Sbus5+zmf9ieA8lNczbKFL61dCBNSKnjm+IKQHuPQ7I6Zqv
O+at1XSX3FvuseJwfhzMF07yNXbGOQEiLQBBaoNt22F7Mi9jcvGaAtUt6dLkw3Je
XQ+aC293zSdn6jnF+qDp296qPmjqQT+pUEvfAWWQXXuXeB9XyI/IrelKH3/i2+a9
I5F1+SWt2Ii0PYaESCYciTylZNwDextjytRKTA0NQtd0i/fNl44svh7pwQiv2rf9
DU6M81LLh8dTeh7BMFc8++5Y+P74bh7oplbQ3KF3GCRS/UjhGNBFDweNW8j0qrDJ
zdmqV6hzOYuXJDG+FKwiB1YZe8RHbRzUfK4gQnLc341v5mZ3sULG/oGEW1flu6ff
KwBvkF9tRoNwknU=
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFXTCCAsWgAwIBAgIJANLPJEg9cV1JMA0GCSqGSIb3DQEBBQUAMFgxCzAJBgNV
BAYTAkFVMREwDwYDVQQIEwhWaWN0b3JpYTEQMA4GA1UEChMHVW5pTWVsYjEMMAoG
A1UECxMDQ0lTMRYwFAYDVQQDEw1Bc3NpZ25tZW50MkNBMCIYDzIwMTcwMTAxMDAw
MTAxWhgPMjAxOTEyMzEyMzU5NTlaMHkxCzAJBgNVBAYTAkFVMREwDwYDVQQIEwhW
aWN0b3JpYTESMBAGA1UEBxMJTWVsYm91cm5lMRAwDgYDVQQKEwdVbmlNZWxiMRYw
FAYDVQQLFA1DT01QMzAwMjNfQ0lTMRkwFwYDVQQDExB3d3cudmljdG9yaWEuY29t
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAmBXAPjqojPUGQQpKhuJm
P8y9hsulRsNmsPyXkuCeXTkQV/Dw0X/8G7WXnVAX47uF7KYhY5hnS2GY5gsAhN1h
vTfHpMO2Pc/e7UjHBr8lyffZ6AH/gEqKRMh3Ru6fEBs4cYCZJZ7X/DfsQ+NTSbgb
auiTcVW3yezatmJ3WjDKw8jJDFR+GrHf2AHzbaxLFdUTpFzPJ3wdVqLvkiUdfW9N
xtZazlymCR3onPJ8CYOtSerpXRRqrSk8i9IefEnbVcI9V6RtQkIpJdt50V3MOowV
tre3yEnBsDrNLr9zEByFMztAzJ404NqDEEchAlf4EdX2iJeX9yC1xH1VMJf9Mf05
ywIDAQABo4GEMIGBMAkGA1UdEwQCMAAwHQYDVR0OBBYEFH7yy52fPxVu7dViut5t
VDorOwW5MB8GA1UdIwQYMBaAFAxXlsH8pKdVpaKjpsy/sgoUjD2EMAsGA1UdDwQE
AwIDKDAnBgNVHSUEIDAeBggrBgEFBQcDAQYIKwYBBQUHAwIGCCsGAQUFBwMDMA0G
CSqGSIb3DQEBBQUAA4ICgQC19RH1P1Y2V/aHXwqrebQy7rPQs2bdFMo0GKeDdeBE
Ck8+XzFgVOSh+AWFiqcFBy13N+hK/lLRB9dMYwxzJ7SXoyDX1zedC1a7SnPwv8Z9
xlJPHDxLuzJVPATGRNSsntvFKr9WdghthnESl8he5LqIWScPtem55+BgTWQ+ANRJ
7kKlLtCvzygX+c8xonN6ckRJMfaKhDos2RQxzdwd1xfry2ErpeNhIweHWEM6QTIt
7g7VTHGVZlESjjzEb6EkyALEentZ9HTN2CRSKwrZ0/TUofhQ3ir562vdsRjJZ66W
2JxczSkoC1clA+tKkvDBgx/PQrB7OkK7UxCKeYrTikdD8QShJg+gfTYyAcqBQHcl
waqZDoUr8TPjbpVJjd1o0bIMCh0iptGAUgMre7DZ+u9XmqUMU7NBorx4YzyB7tRB
n/pHVZv1rSxSASnTgK2VE2xa7YRqB/sqbcpyzK/kal+TBJHC7aJ1JNSBRlippvep
SMUJZpnxbh4TSKdAT9/FwvAim6N3B/NckhwNIr7wjbKNIww48DezKSkUZKkhceFX
UJ858hTJKD4MU1MiG05IOpCpbP7mCyq2cZevE5qGLnZIPI0RMfDDccH2mNdD6kC2
dMagppT3vJV/gyVEezekQ1Xae/jQCekyA/zUZJWdaedBKFZ/7BmvqgvZ5XSDDJBG
myKs9WrJYxewPwDNkKbkiqxZ4FQyWsyPLSex4OUdqD4tcucuhpLZ4ubFbhTbZOMV
r3K9aRzxR+nAhTgzhQf6BbxELDGqe3cI102DvxlW6oPkInLOSWENs1ngEZ29zedu
AOZFn51xzkot5IRiMozPkPzU3wEc1C3Nmyi/eVsLpr9y
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIFQzCCAqugAwIBAgIJANLPJEg9cV1EMA0GCSqGSIb3DQEBBQUAMFgxCzAJBgNV
BAYTAkFVMREwDwYDVQQIEwhWaWN0b3JpYTEQMA4GA1UEChMHVW5pTWVsYjEMMAoG
A1UECxMDQ0lTMRYwFAYDVQQDEw1Bc3NpZ25tZW50MkNBMCIYDzIwMTkwMTAxMDAw
MTAxWhgPMjAxOTEyMzEyMzU5NTlaMHUxCzAJBgNVBAYTAkFVMREwDwYDVQQIEwhW
aWN0b3JpYTESMBAGA1UEBxMJTWVsYm91cm5lMRAwDgYDVQQKEwdVbmlNZWxiMRYw
FAYDVQQLFA1DT01QMzAwMjNfQ0lTMRUwEwYDVQQDEwx3d3cudGVzdC5jb20wggEi
MA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDZRWvgzcME/J2drVExUBw8D/e0
I1VZrJuhcqrsMtYfN6rHU4+Ornu4nJN/wVlgYOUCfL8dD9XksUdwNRqQECXh4PNH
xOJwKVPtkH2U8YB1nHDs6EaAKkyPSafe51CDzNq2YrQF6LAR2hLL2GFMrkzSe7m8
ZTVXRxAdeRLAs58S+SGjOw9Rt9B2D0VSuYp/MWruCNYKf1x95VG+oQw2YlJ29Oyu
mdz2cFQLoK2pOU+Tl10/03kNxKZY5KUuwWZ2sANgfY68qr1H2bqVwRRF/HP5V1zF
6yl+az4tFSrIr/xoSJdZQ5tRMa5fTGQHKeBnrTi6BdCegaswBjiiEkAjnPcTAgMB
AAGjbzBtMAkGA1UdEwQCMAAwHQYDVR0OBBYEFNmH8PR113PRvTUHd/oOT13+XWzo
MB8GA1UdIwQYMBaAFAxXlsH8pKdVpaKjpsy/sgoUjD2EMAsGA1UdDwQEAwIDKDAT
BgNVHSUEDDAKBggrBgEFBQcDATANBgkqhkiG9w0BAQUFAAOCAoEAo2irIFAbNnnd
KKVyhbBv39NelaXG7pAPS+Gbzzmt948/XsAj80aXUF9jPCucs8XzFS4+5iLPQ3VB
vt8RO34M8ZjzI4JrKDMB8okOgSB48w4rdtdXQLkALmAsYmYfjlpcfYlHEgNptHrB
k2OiDIl+7Aa3mxHLNZhOtsiymwojRGExd5bBFedrOXhDcp18KIqT4Wa9QlBuxGM3
YdQ/Ri7U+XHptdbtTog1jwgWjbHjGFlU/5mANgrC+tUvOxXlch+xRlTCHGbxCXhm
nriZoYjyC73cqDc7dq+utNB20mEpAvg4xQfVhxy66JXhI8+f8pMvJDpGH/LB8IzS
nYlTaSDKRm4onPobWzaSLo0QALYZD3IJl/fERc3CfvGz4e8brYMsvChG+Zab1xkN
GZUDoKe2bXQxt5g/9BWWwxqVukDAuX550d1NVFflrmDpzGrZEQOKTS+rVuWhYUzt
EKPC0s5bcglOwP8GGPrtHNc4IHqWnGWHlCLhyEC0gKIWTxVi7T5SCQCmHMUsfzXG
Kf3LVeT4SVlcM5KUvqynXYjZMre2GuD1wxhsTC5GuEra7Z49DPq+chlmAEdwWalZ
ocemAXuYa31qd4dqKtKigZ3ZVyaCuvzHbl4r0eyYo2NVsCXzn0siMdaavCtfhN7T
xWPn1M8yAtkpaQpbitiJuuwYX1dUZYHgLUAZy/RFhVCuALGWduTSZADE60TiLzx7
ZrSpjMcd4m2/Yg7p9eFSS+2StJG9Q6iGBDze/Dxficd+JnGd30Pd2IvGXUevIrub
BevpJy61plrutJiSuVSmWO3BCKgTW/qsmwLStOHDXLXU77w+IF4bb/P5pAxs2Bu3
L9RAYufbLw==
-----END CERTIFICATE-----
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment