Security/Certificate: Difference between revisions

From Chorke Wiki
Jump to navigation Jump to search
No edit summary
Line 183: Line 183:
openssl req -new  -key  aa.shahed.shahed.biz.key -out aa.shahed.shahed.biz.csr -config ${SERVER_CNF}
openssl req -new  -key  aa.shahed.shahed.biz.key -out aa.shahed.shahed.biz.csr -config ${SERVER_CNF}
openssl x509 -req -in  aa.shahed.shahed.biz.csr -CA  Shahed_ECC_P384_Sub_CA_2025.pem  -CAkey  Shahed_ECC_P384_Sub_CA_2025.key    -CAcreateserial -out aa.shahed.shahed.biz.crt -days 1461 -sha384 -passin file:<(echo  "${SUBCA_PASS_PHRASE}")
openssl x509 -req -in  aa.shahed.shahed.biz.csr -CA  Shahed_ECC_P384_Sub_CA_2025.pem  -CAkey  Shahed_ECC_P384_Sub_CA_2025.key    -CAcreateserial -out aa.shahed.shahed.biz.crt -days 1461 -sha384 -passin file:<(echo  "${SUBCA_PASS_PHRASE}")
</syntaxhighlight>
== Certificate » Chain==
===🟡 Certificate » Chain » RSA===
----
<syntaxhighlight lang="bash">
cat Shahed_RSA_Sub_CA_2025.pem          Shahed_RSA_Root_CA_2025.pem    > Shahed_RSA_CA_2025.ca-chain.pem
cat aa.shahed.shahed.biz.crt            Shahed_RSA_CA_2025.ca-chain.pem > aa.shahed.shahed.biz.fullchain.pem
cat aa.shahed.shahed.biz.fullchain.pem  aa.shahed.shahed.biz.key        > aa.shahed.shahed.biz.pem
</syntaxhighlight>
===🟢 Certificate » Chain » EC » 256===
----
<syntaxhighlight lang="bash">
cat Shahed_ECC_Sub_CA_2025.pem          Shahed_ECC_Root_CA_2025.pem    > Shahed_ECC_CA_2025.ca-chain.pem
cat aa.shahed.shahed.biz.crt            Shahed_ECC_CA_2025.ca-chain.pem > aa.shahed.shahed.biz.fullchain.pem
cat aa.shahed.shahed.biz.fullchain.pem  aa.shahed.shahed.biz.key        > aa.shahed.shahed.biz.pem
</syntaxhighlight>
===🟠 Certificate » Chain » EC » 384===
----
<syntaxhighlight lang="bash">
cat Shahed_ECC_P384_Sub_CA_2025.pem    Shahed_ECC_P384_Root_CA_2025.pem      > Shahed_ECC_P384_CA_2025.ca-chain.pem
cat aa.shahed.shahed.biz.crt            Shahed_ECC_P384_CA_2025.ca-chain.pem  > aa.shahed.shahed.biz.fullchain.pem
cat aa.shahed.shahed.biz.fullchain.pem  aa.shahed.shahed.biz.key              > aa.shahed.shahed.biz.pem
</syntaxhighlight>
</syntaxhighlight>



Revision as of 03:39, 23 August 2025

Certificate » Password

makepasswd --chars 16 --count 10 --crypt-md5
:'
wTwezXF4sNLoWBsI   $1$OCSDx0zn$U9WW0udI8pYfIrCCuz2Md1
pfHyhrtvHC4p3oW5   $1$6b/SQRXF$UwLDhHZMyWfsw/S0g6GgZ1
WLNv9CD8XcR3poHp   $1$oVsmVh6Q$Vq4amLARt2iMezos.pT1N.
cCJvJU8rFeHbu4Ix   $1$qlaCpIFj$jWqjkdALO535Ww58k3KE2/
7WeBH8nwMXR78Gdd   $1$afyCWr0p$6bMRrvCnrBeo/BdVJi70E1
IxGjQAogqv3e18rj   $1$60UWcAxR$bFfRlXHzVvZkjTripK9v..
JXveCv0LjsAix5cp   $1$FANZ3WNf$hq2BPd1SXdL.2yvKf0/.7/
eoFqedaFpKKDqVCw   $1$4TCNgJCv$v1z4Y8IR5a4Nan5VkAAe8/
9npSy42dxUH2w15y   $1$APixN7OV$XIe.K3qPi/aezzWyhf7F./
SuwCWQ39RNKUcKAM   $1$qnnfDUE1$ucuWcIpNBuCvCBjCiHaoG/
'

Certificate » RootCA

ROOTCA_CNF="$(mktemp -u)"
cat <<'CNF'|tee ${ROOTCA_CNF} >/dev/null
[ req ]
prompt             = no
distinguished_name = dn

[ dn ]
C                  = BD
ST                 = Dhaka
L                  = Munshiganj
O                  = Shahed, Inc.
OU                 = Shahed
CN                 = shahed.biz
emailAddress       = info@shahed.biz
CNF

echo -n 'Password: ';read -s ROOTCA_PASS_PHRASE;export ROOTCA_PASS_PHRASE;echo
# Password: wTwezXF4sNLoWBsI

🟡 Certificate » RootCA » RSA


openssl genpkey   -algorithm RSA  -out Shahed_RSA_Root_CA_2025.key -aes256 -pass file:<(echo "${ROOTCA_PASS_PHRASE}")
openssl req -x509 -new -nodes     -key Shahed_RSA_Root_CA_2025.key -sha256 -days 7305 -out Shahed_RSA_Root_CA_2025.pem -config ${ROOTCA_CNF} -passin file:<(echo "${ROOTCA_PASS_PHRASE}")

🟢 Certificate » RootCA » EC » 256


openssl genpkey   -algorithm EC   -out Shahed_ECC_Root_CA_2025.key -pkeyopt ec_paramgen_curve:P-256 -pass file:<(echo "${ROOTCA_PASS_PHRASE}")
openssl req -x509 -new -nodes     -key Shahed_ECC_Root_CA_2025.key -sha256 -days 7305 -out Shahed_ECC_Root_CA_2025.pem -config ${ROOTCA_CNF} -passin file:<(echo "${ROOTCA_PASS_PHRASE}")

🟠 Certificate » RootCA » EC » 384


openssl genpkey   -algorithm EC   -out Shahed_ECC_P384_Root_CA_2025.key -pkeyopt ec_paramgen_curve:P-384 -pass file:<(echo "${ROOTCA_PASS_PHRASE}")
openssl req -x509 -new -nodes     -key Shahed_ECC_P384_Root_CA_2025.key -sha384 -days 7305 -out Shahed_ECC_P384_Root_CA_2025.pem -config ${ROOTCA_CNF} -passin file:<(echo "${ROOTCA_PASS_PHRASE}")

Certificate » RootCA » SubCA

SUBCA_CNF="$(mktemp -u)"
cat <<'CNF'|tee ${SUBCA_CNF} >/dev/null
[ req ]
prompt             = no
distinguished_name = dn
attributes         = req_attrs

[ dn ]
C                  = BD
ST                 = Dhaka
L                  = Munshiganj
O                  = Shahed, Inc.
OU                 = Academia
CN                 = shahed.biz
emailAddress       = info@shahed.biz

[ req_attrs ]
challengePassword  = changeit
unstructuredName   = Shahed Academia, Inc.
CNF

SUBCA_EXT="$(mktemp -u)"
cat <<'EXT'|tee ${SUBCA_EXT} >/dev/null
[ v3_ca ]
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid,issuer
keyUsage=critical,keyCertSign,cRLSign
basicConstraints=critical,CA:TRUE,pathlen:0
EXT

echo -n 'Password: ';read -s SUBCA_PASS_PHRASE;export SUBCA_PASS_PHRASE;echo
# Password: pfHyhrtvHC4p3oW5

🟡 Certificate » RootCA » SubCA » RSA


openssl genpkey   -algorithm RSA  -out  Shahed_RSA_Sub_CA_2025.key -aes256 -pass file:<(echo  "${SUBCA_PASS_PHRASE}")
openssl req -new  -key Shahed_RSA_Sub_CA_2025.key  -out  Shahed_RSA_Sub_CA_2025.csr -config ${SUBCA_CNF}  -passin file:<(echo "$SUBCA_PASS_PHRASE")
openssl x509 -req -in  Shahed_RSA_Sub_CA_2025.csr  -CA  Shahed_RSA_Root_CA_2025.pem -CAkey  Shahed_RSA_Root_CA_2025.key    -CAcreateserial -out  Shahed_RSA_Sub_CA_2025.pem -days 2922 -sha256 -passin file:<(echo "${ROOTCA_PASS_PHRASE}")

🟢 Certificate » RootCA » SubCA » EC » 256


openssl genpkey   -algorithm EC   -out  Shahed_ECC_Sub_CA_2025.key -pkeyopt ec_paramgen_curve:P-256 -pass file:<(echo  "${SUBCA_PASS_PHRASE}")
openssl req -new  -key Shahed_ECC_Sub_CA_2025.key  -out  Shahed_ECC_Sub_CA_2025.csr -config ${SUBCA_CNF}  -passin file:<(echo "$SUBCA_PASS_PHRASE")
openssl x509 -req -in  Shahed_ECC_Sub_CA_2025.csr  -CA  Shahed_ECC_Root_CA_2025.pem -CAkey  Shahed_ECC_Root_CA_2025.key    -CAcreateserial -out  Shahed_ECC_Sub_CA_2025.pem -days 2922 -sha256 -extfile ${SUBCA_EXT} -passin file:<(echo "${ROOTCA_PASS_PHRASE}")

🟠 Certificate » RootCA » SubCA » EC » 384


openssl genpkey   -algorithm EC   -out  Shahed_ECC_P384_Sub_CA_2025.key -pkeyopt ec_paramgen_curve:P-384 -pass file:<(echo  "${SUBCA_PASS_PHRASE}")
openssl req -new  -key Shahed_ECC_P384_Sub_CA_2025.key  -out  Shahed_ECC_P384_Sub_CA_2025.csr -config ${SUBCA_CNF}  -passin file:<(echo "$SUBCA_PASS_PHRASE")
openssl x509 -req -in  Shahed_ECC_P384_Sub_CA_2025.csr  -CA  Shahed_ECC_P384_Root_CA_2025.pem -CAkey  Shahed_ECC_P384_Root_CA_2025.key    -CAcreateserial -out  Shahed_ECC_P384_Sub_CA_2025.pem -days 2922 -sha384 -extfile ${SUBCA_EXT} -passin file:<(echo "${ROOTCA_PASS_PHRASE}")

Certificate » RootCA » SubCA » Server

SERVER_CNF="$(mktemp -u)"
cat <<'CNF'|tee ${SERVER_CNF} >/dev/null
[ req ]
prompt             = no
distinguished_name = dn
req_extensions     = req_ext
attributes         = req_attrs

[ dn ]
C                  = BD
ST                 = Dhaka
L                  = Munshiganj
O                  = Shahed, Inc.
OU                 = Academia
CN                 = shahed.biz
emailAddress       = info@shahed.biz

[ req_ext ]
subjectAltName     = @alt_names

[ req_attrs ]
challengePassword  = changeit
unstructuredName   = Shahed Academia, Inc.

[ alt_names ]
DNS.1              = aa.shahed.shahed.biz
IP.1               = 10.20.30.1
IP.2               = 10.20.40.1
CNF

echo -n 'Password: ';read -s SUBCA_PASS_PHRASE;export SUBCA_PASS_PHRASE;echo
# Password: pfHyhrtvHC4p3oW5

🟡 Certificate » RootCA » SubCA » Server » RSA


openssl genpkey   -algorithm   RSA -out aa.shahed.shahed.biz.key
openssl req -new  -key  aa.shahed.shahed.biz.key -out aa.shahed.shahed.biz.csr -config ${SERVER_CNF}
openssl x509 -req -in   aa.shahed.shahed.biz.csr -CA  Shahed_RSA_Sub_CA_2025.pem  -CAkey  Shahed_RSA_Sub_CA_2025.key     -CAcreateserial -out aa.shahed.shahed.biz.crt -days 1461 -sha256 -passin file:<(echo  "${SUBCA_PASS_PHRASE}")

🟢 Certificate » RootCA » SubCA » Server » EC » 256


openssl ecparam   -name prime256v1 -genkey  -noout -out aa.shahed.shahed.biz.key
openssl req -new  -key  aa.shahed.shahed.biz.key -out aa.shahed.shahed.biz.csr -config ${SERVER_CNF}
openssl x509 -req -in   aa.shahed.shahed.biz.csr -CA  Shahed_ECC_Sub_CA_2025.pem  -CAkey  Shahed_ECC_Sub_CA_2025.key     -CAcreateserial -out aa.shahed.shahed.biz.crt -days 1461 -sha256 -passin file:<(echo  "${SUBCA_PASS_PHRASE}")
cat Shahed_ECC_Sub_CA_2025.pem          Shahed_ECC_Root_CA_2025.pem     > Shahed_ECC_CA_2025.ca-chain.pem
cat aa.shahed.shahed.biz.crt            Shahed_ECC_CA_2025.ca-chain.pem > aa.shahed.shahed.biz.fullchain.pem
cat aa.shahed.shahed.biz.fullchain.pem  aa.shahed.shahed.biz.key        > aa.shahed.shahed.biz.pem

🟠 Certificate » RootCA » SubCA » Server » EC » 384


openssl ecparam   -name  secp384r1 -genkey  -noout -out aa.shahed.shahed.biz.key
openssl req -new  -key  aa.shahed.shahed.biz.key -out aa.shahed.shahed.biz.csr -config ${SERVER_CNF}
openssl x509 -req -in   aa.shahed.shahed.biz.csr -CA  Shahed_ECC_P384_Sub_CA_2025.pem  -CAkey  Shahed_ECC_P384_Sub_CA_2025.key     -CAcreateserial -out aa.shahed.shahed.biz.crt -days 1461 -sha384 -passin file:<(echo  "${SUBCA_PASS_PHRASE}")


Certificate » Chain

🟡 Certificate » Chain » RSA


cat Shahed_RSA_Sub_CA_2025.pem          Shahed_RSA_Root_CA_2025.pem     > Shahed_RSA_CA_2025.ca-chain.pem
cat aa.shahed.shahed.biz.crt            Shahed_RSA_CA_2025.ca-chain.pem > aa.shahed.shahed.biz.fullchain.pem
cat aa.shahed.shahed.biz.fullchain.pem  aa.shahed.shahed.biz.key        > aa.shahed.shahed.biz.pem

🟢 Certificate » Chain » EC » 256


cat Shahed_ECC_Sub_CA_2025.pem          Shahed_ECC_Root_CA_2025.pem     > Shahed_ECC_CA_2025.ca-chain.pem
cat aa.shahed.shahed.biz.crt            Shahed_ECC_CA_2025.ca-chain.pem > aa.shahed.shahed.biz.fullchain.pem
cat aa.shahed.shahed.biz.fullchain.pem  aa.shahed.shahed.biz.key        > aa.shahed.shahed.biz.pem

🟠 Certificate » Chain » EC » 384


cat Shahed_ECC_P384_Sub_CA_2025.pem     Shahed_ECC_P384_Root_CA_2025.pem      > Shahed_ECC_P384_CA_2025.ca-chain.pem
cat aa.shahed.shahed.biz.crt            Shahed_ECC_P384_CA_2025.ca-chain.pem  > aa.shahed.shahed.biz.fullchain.pem
cat aa.shahed.shahed.biz.fullchain.pem  aa.shahed.shahed.biz.key              > aa.shahed.shahed.biz.pem

Playground

ls -alh *.{crt,csr,key,pem,srl}
rm -rf  *.{crt,csr,key,pem,srl}
rm -rf  ${SUBCA_CNF}
rm -rf ${SERVER_CNF}

nmap vpn.shahed.biz --reason -Pn --top 20
nmap vpn.shahed.biz --reason -Pn -p25,465,587,993
sudo tail -n100 -f /var/log/auth.log
sudo tail -n100 -f /var/log/kern.log
sudo cat /etc/shadow|grep nobody
last

sudo apt-get install makepasswd
echo 'sadaqah!'|makepasswd --crypt-md5 --clearfrom=-
makepasswd --chars 12 --count 5 --crypt-md5
makepasswd --chars 12 --count 5 --crypt
makepasswd --chars 12 --count 5
makepasswd --chars 12

openssl s_client -tls1   -connect cid.chorke.org:443 </dev/null
openssl s_client -tls1_1 -connect cid.chorke.org:443 </dev/null
openssl s_client -tls1_2 -connect cid.chorke.org:443 </dev/null
openssl s_client -tls1_3 -connect cid.chorke.org:443 </dev/null
xdg-open https://www.cdn77.com/tls-test/result?domain=k8s.aa.shahed.shahed.biz &>/dev/null &
xdg-open https://www.cdn77.com/tls-test/result?domain=k8s.ab.shahed.shahed.biz &>/dev/null &
xdg-open https://www.cdn77.com/tls-test/result?domain=k8s.ac.shahed.shahed.biz &>/dev/null &
xdg-open https://www.cdn77.com/tls-test/result?domain=k8s.ad.shahed.shahed.biz &>/dev/null &

References