From a26291663fabe4e7d93e21cee5fc1e58cdd04a05 Mon Sep 17 00:00:00 2001 From: Martin Regen Date: Tue, 26 Jul 2016 00:18:50 +0200 Subject: [PATCH] OpenSSL scripts to create certs for client and server samples. --- ...CreateSampleClientCert.cmd => CreateCert.cmd} | 0 .../Samples/NetCoreConsoleClient/createcert.sh | 14 ++++++++++++++ .../NetCoreConsoleClient/sampleclient.ext | 8 ++++++++ .../Samples/NetCoreConsoleServer/CreateCert.cmd | 8 ++++++++ ...75AE1D3E2968FF8FDF2E951C9B082BE7163ED5C6].der | Bin 775 -> 0 bytes ...3627D88581A9636C3660099EB92C0E3735557499].der | Bin 776 -> 0 bytes ...75AE1D3E2968FF8FDF2E951C9B082BE7163ED5C6].pfx | Bin 1890 -> 0 bytes ...3627D88581A9636C3660099EB92C0E3735557499].pfx | Bin 1890 -> 0 bytes ...75AE1D3E2968FF8FDF2E951C9B082BE7163ED5C6].der | Bin 775 -> 0 bytes ...3627D88581A9636C3660099EB92C0E3735557499].der | Bin 776 -> 0 bytes .../Samples/NetCoreConsoleServer/createcert.sh | 14 ++++++++++++++ .../NetCoreConsoleServer/sampleserver.ext | 8 ++++++++ 12 files changed, 52 insertions(+) rename SampleApplications/Samples/NetCoreConsoleClient/{CreateSampleClientCert.cmd => CreateCert.cmd} (100%) create mode 100755 SampleApplications/Samples/NetCoreConsoleClient/createcert.sh create mode 100644 SampleApplications/Samples/NetCoreConsoleClient/sampleclient.ext create mode 100644 SampleApplications/Samples/NetCoreConsoleServer/CreateCert.cmd delete mode 100644 SampleApplications/Samples/NetCoreConsoleServer/OPC Foundation/CertificateStores/MachineDefault/certs/UA Sample Client [75AE1D3E2968FF8FDF2E951C9B082BE7163ED5C6].der delete mode 100644 SampleApplications/Samples/NetCoreConsoleServer/OPC Foundation/CertificateStores/MachineDefault/certs/UA Sample Server [3627D88581A9636C3660099EB92C0E3735557499].der delete mode 100644 SampleApplications/Samples/NetCoreConsoleServer/OPC Foundation/CertificateStores/MachineDefault/private/UA Sample Client [75AE1D3E2968FF8FDF2E951C9B082BE7163ED5C6].pfx delete mode 100644 SampleApplications/Samples/NetCoreConsoleServer/OPC Foundation/CertificateStores/MachineDefault/private/UA Sample Server [3627D88581A9636C3660099EB92C0E3735557499].pfx delete mode 100644 SampleApplications/Samples/NetCoreConsoleServer/OPC Foundation/CertificateStores/UA Applications/certs/UA Sample Client [75AE1D3E2968FF8FDF2E951C9B082BE7163ED5C6].der delete mode 100644 SampleApplications/Samples/NetCoreConsoleServer/OPC Foundation/CertificateStores/UA Applications/certs/UA Sample Server [3627D88581A9636C3660099EB92C0E3735557499].der create mode 100755 SampleApplications/Samples/NetCoreConsoleServer/createcert.sh create mode 100644 SampleApplications/Samples/NetCoreConsoleServer/sampleserver.ext diff --git a/SampleApplications/Samples/NetCoreConsoleClient/CreateSampleClientCert.cmd b/SampleApplications/Samples/NetCoreConsoleClient/CreateCert.cmd similarity index 100% rename from SampleApplications/Samples/NetCoreConsoleClient/CreateSampleClientCert.cmd rename to SampleApplications/Samples/NetCoreConsoleClient/CreateCert.cmd diff --git a/SampleApplications/Samples/NetCoreConsoleClient/createcert.sh b/SampleApplications/Samples/NetCoreConsoleClient/createcert.sh new file mode 100755 index 0000000000..37773a800a --- /dev/null +++ b/SampleApplications/Samples/NetCoreConsoleClient/createcert.sh @@ -0,0 +1,14 @@ +#!/bin/bash +# Create a UA Sample Client cert for OPC UA client +# +openssl req -newkey rsa:1024 -out cert.crt -keyout cert.key -subj "/DC=$HOSTNAME/CN=UA Sample Client" -nodes +openssl x509 -days 365 -req -in cert.crt -signkey cert.key -out cert.pem -sha1 -extfile sampleclient.ext +openssl pkcs12 -export -in cert.pem -inkey cert.key -out $HOSTNAME.pfx -nodes +openssl x509 -in cert.pem -out $HOSTNAME.der -outform DER +openssl x509 -in $HOSTNAME.der -inform DER -text +rm cert.* +mkdir -p "./OPC Foundation/CertificateStores/MachineDefault/certs" +mkdir -p "./OPC Foundation/CertificateStores/MachineDefault/private" +mv $HOSTNAME.der "./OPC Foundation/CertificateStores/MachineDefault/certs" +mv $HOSTNAME.pfx "./OPC Foundation/CertificateStores/MachineDefault/private" + diff --git a/SampleApplications/Samples/NetCoreConsoleClient/sampleclient.ext b/SampleApplications/Samples/NetCoreConsoleClient/sampleclient.ext new file mode 100644 index 0000000000..b5e1daf044 --- /dev/null +++ b/SampleApplications/Samples/NetCoreConsoleClient/sampleclient.ext @@ -0,0 +1,8 @@ +# Extensions to add to a certificate request + +subjectKeyIdentifier=hash +subjectAltName=URI:urn:localhost:OPCFoundation:SampleClient +authorityKeyIdentifier=critical,keyid,issuer:always +basicConstraints = critical, CA:FALSE +keyUsage = critical, nonRepudiation, digitalSignature, keyEncipherment, dataEncipherment, keyCertSign +extendedKeyUsage = critical, serverAuth, clientAuth diff --git a/SampleApplications/Samples/NetCoreConsoleServer/CreateCert.cmd b/SampleApplications/Samples/NetCoreConsoleServer/CreateCert.cmd new file mode 100644 index 0000000000..896c1a3383 --- /dev/null +++ b/SampleApplications/Samples/NetCoreConsoleServer/CreateCert.cmd @@ -0,0 +1,8 @@ +REM create the app certificate for NetCoreConsoleServer +set CERTSTORE=".\OPC Foundation\CertificateStores\MachineDefault" +rd /S/Q %CERTSTORE% +md %CERTSTORE% +Opc.Ua.CertificateGenerator.exe -cmd issue -sp %CERTSTORE% -an "UA Sample Server" -dn %COMPUTERNAME% -sn "CN=UA Sample Server/DC=%COMPUTERNAME%" -au "urn:localhost:OPCFoundation:SampleServer +set CERTSTORE= + + diff --git a/SampleApplications/Samples/NetCoreConsoleServer/OPC Foundation/CertificateStores/MachineDefault/certs/UA Sample Client [75AE1D3E2968FF8FDF2E951C9B082BE7163ED5C6].der b/SampleApplications/Samples/NetCoreConsoleServer/OPC Foundation/CertificateStores/MachineDefault/certs/UA Sample Client [75AE1D3E2968FF8FDF2E951C9B082BE7163ED5C6].der deleted file mode 100644 index a3eda154e79d59351c69c8bf979d0b08ce4278f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 775 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 Q8&t$mr|y8`%$)eY041qnHvj+t diff --git a/SampleApplications/Samples/NetCoreConsoleServer/OPC Foundation/CertificateStores/UA Applications/certs/UA Sample Client [75AE1D3E2968FF8FDF2E951C9B082BE7163ED5C6].der b/SampleApplications/Samples/NetCoreConsoleServer/OPC Foundation/CertificateStores/UA Applications/certs/UA Sample Client [75AE1D3E2968FF8FDF2E951C9B082BE7163ED5C6].der deleted file mode 100644 index a3eda154e79d59351c69c8bf979d0b08ce4278f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 775 zcmXqLVrDjIV#-;-%*4pVBp@$)PTGx4%xP+GaKq(3sS^ggY@Awc9&O)w85vnw84OGf zB@D#axHu=Nbx!`Ilfoz|#*tc-nVgYiU}Pw1AkM}d%EBxx5bCH9oS0jXld9mHlbM=V zVxS<-YiMR*Y-DL@Vq|P!9wotVWMF1$U~Xst6(HB(#`(xDWMpMvZtP_+XzXNaY-Cur z`+j*1hpH|Ay1to8YrnpECUSp~@X}8l)1SRbd@Zs*Pw;JY)a?%c=JO_ZGxdeMLUxDf z>_6ImFf+`sv-R1I&LsEhpcCt7F4Et8wl~H!>k0eMUdsypx|4^w-detreV^CWvS9Mm z4*raQK9~11<1(HfNv>J*QU0^-)6R8!g?^u&a-WHrk%4h>6Qh7Z6C;m-EHG?j`B=nQ zL@HA=nz%!ZgpH(~noJ_f&YNrOePNITl2&F(HArs2s$ikz5_2*GsR=Vyc|f)aGcx{X zVKQJa-~;jaK|B^_CZ;b23Lw5Jh%aU!!p5P^28?=kW=1%R$-ow*LXgGGz@$y1v?$Li zCqFqcCnLYO#L7Rw*)6{`FD0=gGe6G?k_sS+pb4H*kfRKksF;CqC3+&mXaRqDRBS__ zzgJvtrQ*DY{HKGaX4D=p+2O~yJh}7m!UEUh>n|E%*4pVBp|af@uKx!VXsLav~0e7-Z{sBmyJ`a&7D}#Zl zp@e}L8yDv!wa&?(bW#{4#W+%nGLtis42%pV4aC`)Ls^)G1wtJaf)jHKa#9t7Q;W({ ziwqRRc@51BjEyV}ER9V~jH4v@jSS384a^MFA>Gy$g;rG?LZ(p78^a^d;eDs6S z7ZZ*h>l9lB&U{jw>$$RcGv~+B{#zVck@NN|9!W3A(_Y?GIc2kUd&j;bbH3*0)K2@V za`4=WxxX%LX!V#UChy~a^hNw}(J50xE}pbG-v6D6nUR5UaTBAUK@%gdfh;g=WcgUc zSVY1n)|xNz)wx$UOWDqSm54!cN6KV_9FVj!OR7O~16BnKEti;+8Awf-vC0FoO_-7K zKMRuqg8?6i#}DGMFf%cIF;D>URY80)0}(b3Z8l)kvokZoSxg3YAQgfvKo_-X<`*RE zl_VEf>Fej@Cnx4)O+zNBo#EllL~U20aFz-FtUQw>TJEuRCn%m zdm|BZ_Tibvh@!Sza>}1Z`Em