From 025861c1895f8c211e140792e420eec864bee731 Mon Sep 17 00:00:00 2001 From: Aleh Zasypkin Date: Thu, 14 Oct 2021 20:14:01 +0200 Subject: [PATCH] Add API integration tests for Interactive Setup. (#111879) --- .eslintrc.js | 2 + .github/CODEOWNERS | 5 +- .../kbn-crypto/src/__fixtures__/no_ca.p12 | Bin 2431 -> 2431 bytes .../kbn-crypto/src/__fixtures__/no_cert.p12 | Bin 2217 -> 2219 bytes .../kbn-crypto/src/__fixtures__/no_key.p12 | Bin 1939 -> 1939 bytes .../kbn-crypto/src/__fixtures__/two_cas.p12 | Bin 4215 -> 4215 bytes .../kbn-crypto/src/__fixtures__/two_keys.p12 | Bin 4781 -> 4850 bytes packages/kbn-dev-utils/certs/README.md | 8 +- packages/kbn-dev-utils/certs/ca.crt | 42 ++--- .../kbn-dev-utils/certs/elasticsearch.crt | 44 ++--- .../kbn-dev-utils/certs/elasticsearch.key | 50 +++--- .../kbn-dev-utils/certs/elasticsearch.p12 | Bin 3501 -> 3654 bytes .../certs/elasticsearch_emptypassword.p12 | Bin 3333 -> 3333 bytes .../certs/elasticsearch_nopassword.p12 | Bin 3543 -> 3481 bytes packages/kbn-dev-utils/certs/kibana.crt | 42 ++--- packages/kbn-dev-utils/certs/kibana.key | 50 +++--- packages/kbn-dev-utils/certs/kibana.p12 | Bin 3463 -> 3608 bytes packages/kbn-es/src/cluster.js | 10 +- packages/kbn-es/src/utils/native_realm.js | 15 +- .../kbn-test/src/functional_tests/tasks.ts | 2 +- .../src/kbn_client/kbn_client_plugins.ts | 3 +- scripts/functional_tests.js | 5 + src/cli/serve/serve.js | 8 +- .../interactive_setup/server/plugin.ts | 7 +- .../enrollment_flow.config.ts | 54 +++++++ .../fixtures/README.md | 32 ++++ .../fixtures/elasticsearch.p12 | Bin 0 -> 7131 bytes .../fixtures/test_endpoints/kibana.json | 12 ++ .../fixtures/test_endpoints/server/index.ts | 42 +++++ .../fixtures/test_endpoints/tsconfig.json | 16 ++ .../fixtures/test_helpers.ts | 39 +++++ .../fixtures/tls_tools.ts | 30 ++++ .../ftr_provider_context.d.ts | 13 ++ .../manual_configuration_flow.config.ts | 55 +++++++ ...l_configuration_flow_without_tls.config.ts | 57 +++++++ .../services.ts | 13 ++ .../tests/enrollment_flow.ts | 151 ++++++++++++++++++ .../tests/manual_configuration_flow.ts | 136 ++++++++++++++++ .../manual_configuration_flow_without_tls.ts | 103 ++++++++++++ test/tsconfig.json | 1 + .../fixtures/saml/saml_provider/metadata.xml | 35 ++-- .../fixtures/pki/README.md | 4 +- .../fixtures/pki/first_client.p12 | Bin 3467 -> 3620 bytes .../fixtures/pki/second_client.p12 | Bin 3477 -> 3622 bytes .../fixtures/saml/idp_metadata.xml | 35 ++-- .../fixtures/saml/idp_metadata_2.xml | 35 ++-- .../saml/idp_metadata_never_login.xml | 35 ++-- .../fixtures/saml/saml_provider/metadata.xml | 35 ++-- 48 files changed, 998 insertions(+), 228 deletions(-) create mode 100644 test/interactive_setup_api_integration/enrollment_flow.config.ts create mode 100644 test/interactive_setup_api_integration/fixtures/README.md create mode 100644 test/interactive_setup_api_integration/fixtures/elasticsearch.p12 create mode 100644 test/interactive_setup_api_integration/fixtures/test_endpoints/kibana.json create mode 100644 test/interactive_setup_api_integration/fixtures/test_endpoints/server/index.ts create mode 100644 test/interactive_setup_api_integration/fixtures/test_endpoints/tsconfig.json create mode 100644 test/interactive_setup_api_integration/fixtures/test_helpers.ts create mode 100644 test/interactive_setup_api_integration/fixtures/tls_tools.ts create mode 100644 test/interactive_setup_api_integration/ftr_provider_context.d.ts create mode 100644 test/interactive_setup_api_integration/manual_configuration_flow.config.ts create mode 100644 test/interactive_setup_api_integration/manual_configuration_flow_without_tls.config.ts create mode 100644 test/interactive_setup_api_integration/services.ts create mode 100644 test/interactive_setup_api_integration/tests/enrollment_flow.ts create mode 100644 test/interactive_setup_api_integration/tests/manual_configuration_flow.ts create mode 100644 test/interactive_setup_api_integration/tests/manual_configuration_flow_without_tls.ts diff --git a/.eslintrc.js b/.eslintrc.js index f45088f046bd..c12cc7c1eb49 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -498,6 +498,7 @@ module.exports = { 'x-pack/plugins/apm/**/*.js', 'test/*/config.ts', 'test/*/config_open.ts', + 'test/*/*.config.ts', 'test/*/{tests,test_suites,apis,apps}/**/*', 'test/visual_regression/tests/**/*', 'x-pack/test/*/{tests,test_suites,apis,apps}/**/*', @@ -1596,6 +1597,7 @@ module.exports = { { files: [ 'src/plugins/interactive_setup/**/*.{js,mjs,ts,tsx}', + 'test/interactive_setup_api_integration/**/*.{js,mjs,ts,tsx}', 'x-pack/plugins/encrypted_saved_objects/**/*.{js,mjs,ts,tsx}', 'x-pack/plugins/security/**/*.{js,mjs,ts,tsx}', 'x-pack/plugins/spaces/**/*.{js,mjs,ts,tsx}', diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 1e0a8b187c77..ec03acc752d5 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -244,7 +244,6 @@ /packages/kbn-std/ @elastic/kibana-core /packages/kbn-config/ @elastic/kibana-core /packages/kbn-logging/ @elastic/kibana-core -/packages/kbn-crypto/ @elastic/kibana-core /packages/kbn-http-tools/ @elastic/kibana-core /src/plugins/saved_objects_management/ @elastic/kibana-core /src/dev/run_check_published_api_changes.ts @elastic/kibana-core @@ -285,9 +284,11 @@ /packages/kbn-i18n/ @elastic/kibana-localization @elastic/kibana-core #CC# /x-pack/plugins/translations/ @elastic/kibana-localization @elastic/kibana-core -# Security +# Kibana Platform Security +/packages/kbn-crypto/ @elastic/kibana-security /src/core/server/csp/ @elastic/kibana-security @elastic/kibana-core /src/plugins/interactive_setup/ @elastic/kibana-security +/test/interactive_setup_api_integration/ @elastic/kibana-security /x-pack/plugins/spaces/ @elastic/kibana-security /x-pack/plugins/encrypted_saved_objects/ @elastic/kibana-security /x-pack/plugins/security/ @elastic/kibana-security diff --git a/packages/kbn-crypto/src/__fixtures__/no_ca.p12 b/packages/kbn-crypto/src/__fixtures__/no_ca.p12 index 1e6df9a0f71c54158e7dbf3b6cad2a062ae3a9d0..c4beef55cf3b64d3ed7e8affd4a4a2e7b7980c43 100644 GIT binary patch delta 2297 zcmV{tNyQnzE?I%Y^#DI zLy8S|(E$CxVTX?{*IPbQ!;}r7(&5K{{*^PNHVyum9YG}>P;J4B>wh+RuJ+upvz@?a z37EJRVbrN&aNkkp26mUiIwri=6nKE~2sRqW@r&X|&1u3j>3@-!yJ;?d)*T^LWr6#s z$MjKs@3FffrC+H^M}|4dvNV5gYI{zocNrlsYJRnr&%h5BfFL1k>@{a-ghFQqlX%(N zHjqRt*Wa5V`mVnTKO8qiq{&GD?zMkLSPNFE6nTz@M+B?Ov9hR06X*|%<+q9B_Yz&j zoj7G}6xrm<8h?xGyBe;kBaLrI5Vm(3=-lG?Vv6jd|KpX7dCvQMPFQ+L9a3O1r73dqYq!zmwAe;kAJ;@hEmG$Y349~r2p{$P0rRt=L=OOAuzke`3~6U>yb#G zE5!#=QShO0V;Igf74pVtFw%41)C#D-NKOvfptGD@BAt$PjV-oU+Y&(sfU_v|S81yG%RAHafpj>o zkVwz>Z^j~-n0X0==2eYNt6lbQ*??wy-u{^8uB8MsN%)Xg_0-pGGX%e0kLNiUiM~rd zh1E&U9!Z2IhS|=KcMH ztA8LxHR%Z&u~6775d%CQ=tP?y2m=;*Cw(27snE?eqCta%a+eYB2h8(d*#89s?Gbv?VgBS z;)fs_v^AFuKj42e(*|qhJv724>2I~AS2pc?B_V=*;#T2RsOG!fx<7BbS1q1KclD{( zQ@AWOg2Gc-oY){G4am)&Rn@UVdtOreVLz;6lMDn#e_^Rq3;adkr~&~21cC&}{zLo! z$r#T5^O>Xc(|?OKJsT)>Idrf*ROw)>LkNJe3qq5?Zb?ASOT`$@r$x&e^v)Ru#&pY03D5Ku&1JJ&1Mo^9`2>{aBLj5B;fT62;vQW53r!I9pdryc1|Lb*t#ML1+58=p4{8*NS{z?$=pYWWp zgnMGYOjnj2C^gQ()h8zC4_MVhR#rSOe_Gf!eJ$eo2`*w4Zv%k13J6*w_q-mxsN4`dg>tZ}7F*>)SZOU!l;YBN6ZA=x1hO5I}5()5(qqEjD#YNO9<5euh$w&rO)qn4SA zd=$_ifgpeQ$D`KJ^GXkF_UEzSfAkf3%q@(Afbn8q*kQfiZ}zT;&b5y9ysssogmTg8 zT)#1U*UVr7Tl+nt^U<@5ZMR+ePam=Eu+dLB`Rl`ytYE}e?PGQcSpRzLjGRS)H>(G} zKBS1+OTDRCy{Jz{ipLUDoX69|ytYi1_%y?P?R6(+1cTl^D7jePL(Bmsf88D8o?2G+ zyy<};hY}TbI4kbVN9B+CH2UJ&9tdFL3Y_fUezIA9N1dUs7) zTn>;!eE1{FRC%iCQ4LZiXPxNzy5O|6HS!hUbJ|@hx-#6=riSXolu$4A+^?pfu?J7W zJ)wG`*zcr!5SiP6et4Y+e=_V#@^0l(V(PB#unDZb0fg%A>P27z8o}qogZ3zX0b2j) zGV~9YlbO5-z0qgsNotV&s2`=Cg=y;|S1u(cFHPsYDIuLv0E3g1&V0Ptj0APC_~1eq zriOy@PU;v!dC~-!3p&=RDlf{y4wH*>N;jxdj3CnhUbG#YMo}YEe@#{O7uNDrxKhak z>z@jwuI2vBqru9XPii)AioozQoEi-|xH<3sm`CB%rTi}^g&h;=FUOJ3? delta 2297 zcmVJqxY!iYLIC9 z%~>)k>mJi}WRjHh6K%`RA3Qy;Z&3mQcqwynaE-=|RwVqwKToGGj!?2_k*}(JhS=2u zGo6Ml7ndG_X3g>DEHs86{GRYU)tH(4ZV|b%NDaPWau{B1m7m(fNDaj>KsnY8v)fLM z5s~QP2mMe(Eq@9;IG3m;KG&1TWl<|W>($(n?q5qsQx1$$WE=Ts_ zbk&Y5{#`bTXXhM9!bw@1Tu~nJL1PUaprg4>dW6Ihc7L!B7BL`uPk)Atzm#y=ZEJX` zGIVI1)Lq_zFSTDuauJ>X;&p*f(kxVobjVon%VHn;X+{BKP9gI$KLvq?>d*P+U?6`tq z{f#`OIDb!rKN#~vWn>tUkyJb=aQkAXW9G_Z3wv@o=^?f)9)TYfgNs$=>FU(r(F2}Z zOLaT3U9X$4P@9)CrT%DAH<)8qrntC619TInB9WCM8?sm0adQ&dVi=;ox=~?cl94EGPK8MFgqJI@u-!t}cX7ez16(az9zCw6Ym?vm`0eujt6bnu!dfg96fBX$Rdcr$Gi;oCbAV-(K_Q&#I8h*I8=7h;aHSUQ=Q}1r zr{^>wo;)_kZQ5tA3)k%Mtde*lkbm*jD>m!TauBT#(bp$`fGH9x;ZKV8jRS=0Tfz`j zOtQ2>_h$Hr$EX1IdNy}c+GK9VRQ@ZGWxC6BlMDn#e~B}mfDVCo!vX;T1cC&}9Mo^8 zjBlJ~*lzO(a^P@kk5!9xL?^hr1aFD_zj6%t33?_i42)#GXq>tC+{=absUp9J>rMuTc*6~?3gE~P z7c2pd;96Y+)dFzb%}aU_%=KXsHLnL$Tg~$RnUa;G?nJZUWblze`cj3U#c09>cBXQ?KG=zViNjKJr98% z8dff^rFU`I*3yR|GSnWnNC9q7Qc;3ZDZVH_bje10q0C{EE}Iq(Uf%wgP0PW@>C&L0 zaLkA&mm_Xlyi}SylTASSyu^h|tHzc!izl2C2ey!PnT;JFX=>D>8jFsOWzQ3XUx=(^UZVn?pHYBH0R4L zDiD(>y|K+QR(-<9RbAa`ehk_vLSffwe`sSX>n^5D5Shy7%RLS&E;%(Xw|1U(-#G=p z1$^>bPg-y&gUVV4{AK=(oG$7-kO~jRCou4}kQU<%6{4)TUn9iA#4j@Uu)+ihrv84` zJ_%N!>Xa7`+UnTyg<-ekOR2PLWRQv8r%mIRMP#y99`ye-|4AG7Kg(KgO6cPpf9hNn zP{6_S-GL)thw2e!hA_&4`v|V$L!@|yo-+3Mi{>jW3xdxoQJMdQS-ak+!kgpuC6vd zgr(z?;v_vA@o>`G2|f){a@!+5e^Ytk>03eW$b_d1Ga1Z;nZ-MB60-F)B5Tu9Z-XJ~ zz|<6p+nD=-de<>JQ4t|h`}DpJNW1gqbM8Gp=pwL1cFBm0N3gsf-2L5Iig0p>x~;P# z6o+cM8{f*Iw!%vvyiVM`N=U9yKNf%o=WJTcoxiB5BH;EWD*h*QAOoCHe?)m%EbzTq zfI=pPBW*&FM_$9DSS`f(J)r~Cd%ZA{u0@gG6qF)Bc!Xyb=`8Kb6@KXrH=j}G&7EwP zMWzI)0d3iQ84SY?Y&J;E<@jHRb6&X8x)10YDs@>$8G6`Oro03x@z(ZySxW?qzGF5m z4jgM30<5wwRy$gX0*jAmf6Uh9@p^>A=kM7l06_ZI2$qZ z_a)|`|2i4a$-12~@pgvD;79#Ny>5VX^lR|v-#}MBRY9MrL7-E=@&Wo_uA^Wfgd79_ z5ZEj~sO0HuK>(O{WI+Wr zDCU$k5kLUQBEym(WY|3(jzyBew0~IOI}kFM#KTcMg+Yb?PVEr_z*%JQWghf`3jGZQ zC3tUv?Rf!P9>*Zbprct}5C8&+^F5H5eOV^<%IUS|0YqT-!J&Qkdw6&4i zx;&wdYP(8_=^*ua0J#fyK~jc(iYA~yEWNK;YTO{fJ``%YbF7qpBk|n5*~VdV_g9$Z`IUKPXLX=c70)WJwKIA+Pal`T1=1#_aLx^| zWw*{~sI#vuR2d+wz;yesZCVl*Kwy9m$i^b=kaAG4gPbTt0l$W2gY=bnL?*Z` zM$;jfBXw~S^{52#>xAuk@()IQ&YrB;0fk$wemAmOG*oc@WgW0?qe7p7`1aY?-PLy& z+!7*<%zAgrES`*NAcDSc~ z3JO6a^Xzdj4J3S{165CV_d*jznvrD4+&_vA`350FzVL7#PhJ08bY7_;jXYQf0{D<3 z{|x~EKOZlW%X6}M4u}i@e6gD3I7T(B(Uz{Svf7)Cy#3$M34RH5)$aMVO#c>lhUvcl>ju~l-d(p zcp;RuRBVN|zE)}U;X-naw9liB%^}3p0`~H4HCjL}T+P42dgG1H+6PlpxsPYvzT+)L zYGhBbuS?l%o3Gz_j^W!cb7y&ryc0+ZPc9!zAi7K=Vt_D-P*6DLmiIJ_m?7@6gtA1k zv9GzxeWEXgZrvX#kC|9!zTa_OvVvg_P;@+Rj`S*I2CteZs=(_yupYE^J2Py{XlU2e z7Pe|F8}CURc_k3_aPU7pchb=PHb3o_9)tyD3hFXpla8 z`I)GqQ$=1T!P@<fKdLCvYawIB4_`dwKs;>CPW599d7B&=I5dN8 zIhI@E8a97iWB61D2mPwa&BwOXOPHGTy`U=X&`gb(`;>X@JSI?@T{Hat;8jbV_;F|H zM*H^!uE?*^i4Q#qJ+B?mC^a=2QT<;>^T$hG^A9gz-3yln&%_Q1MT6YJ-!Q5}085r9 zMq1}2$RK|;{qrg)#KwQKfwRFm?8@pMWm&WYO+<%v+N>n9x#(IW60+zNWcB6 z_iQZV3n(+%#P=_{+7_aH%NRr=@zu7y3d+c5eHgu!vNkx~B_LPd$iWW~@1KzV>Oz|h z*g4%NU)11R?~X(N&O8G832bbDI zDCNzz&B=xV<39Y31kNbquB=vWPs0OeV z+ro)skIu|7uj`JpU5Lf;n(Hl8D}(3jxJ=`h1p=F}x;U*HBmQr>wsRdc(%4MVv}^=e zWQJ{n>s>9dd8K)__K6T&T_RVW(Ib1ccrvK?#vXkfrP^{$~$#^Xej4IgYQ+$%kSGK(k7K8XI(u{V)lXrC|@ zCj1y5un5R#hqJ=%o32heBa=}L@{wwXDcFc`y~!j$>7m>Rs)ycS18hYj(MQ6dc+KhdM5yP2TSr*Tl#QGGWh>~$&#HO*yD zD@JskdmMd9e#Yk9@`A(*F-1moLIKc?zB#wW+(?GbI~*{=DzegH-INvVjv=mm0(ANM zG6x~^OLfq`cUYFibo4yE_EYo1?q@t#iYkeWU>4mG_yfps>uUYkVv8_D)-zg`* A%m4rY delta 2056 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 FJI?=iiaY=S delta 1867 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 delta 4080 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 diff --git a/packages/kbn-crypto/src/__fixtures__/two_keys.p12 b/packages/kbn-crypto/src/__fixtures__/two_keys.p12 index c934b34901a9368db3283b3f295ccdec1fa185fd..784b3033ebf645db2df932291b613b63e2cdaa70 100644 GIT binary patch delta 4736 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 diff --git a/packages/kbn-dev-utils/certs/README.md b/packages/kbn-dev-utils/certs/README.md index fdf789278940..869f18ad2ed2 100644 --- a/packages/kbn-dev-utils/certs/README.md +++ b/packages/kbn-dev-utils/certs/README.md @@ -30,15 +30,17 @@ The password used for both of these is "storepass". Other copies are also provid [Elasticsearch cert-util](https://www.elastic.co/guide/en/elasticsearch/reference/current/certutil.html) and [OpenSSL](https://www.openssl.org/) were used to generate these certificates. The following commands were used from the root directory of Elasticsearch: +__IMPORTANT:__ CA keystore (ca.p12) is not checked in intentionally, talk to @elastic/kibana-security if you need it to sign new certificates. + ``` # Generate the PKCS #12 keystore for a CA, valid for 50 years -bin/elasticsearch-certutil ca -days 18250 --pass castorepass +bin/elasticsearch-certutil ca --out ca.p12 -days 18250 --pass castorepass # Generate the PKCS #12 keystore for Elasticsearch and sign it with the CA -bin/elasticsearch-certutil cert -days 18250 --ca elastic-stack-ca.p12 --ca-pass castorepass --name elasticsearch --dns localhost --pass storepass +bin/elasticsearch-certutil cert --out elasticsearch.p12 -days 18250 --ca ca.p12 --ca-pass castorepass --name elasticsearch --dns localhost --pass storepass # Generate the PKCS #12 keystore for Kibana and sign it with the CA -bin/elasticsearch-certutil cert -days 18250 --ca elastic-stack-ca.p12 --ca-pass castorepass --name kibana --dns localhost --pass storepass +bin/elasticsearch-certutil cert --out kibana.p12 -days 18250 --ca ca.p12 --ca-pass castorepass --name kibana --dns localhost --pass storepass # Copy the PKCS #12 keystore for Elasticsearch with an empty password openssl pkcs12 -in elasticsearch.p12 -nodes -passin pass:"storepass" -passout pass:"" | openssl pkcs12 -export -out elasticsearch_emptypassword.p12 -passout pass:"" diff --git a/packages/kbn-dev-utils/certs/ca.crt b/packages/kbn-dev-utils/certs/ca.crt index 217935b8d83f..3a99c58d6b51 100644 --- a/packages/kbn-dev-utils/certs/ca.crt +++ b/packages/kbn-dev-utils/certs/ca.crt @@ -1,29 +1,29 @@ Bag Attributes friendlyName: elasticsearch - localKeyID: 54 69 6D 65 20 31 35 37 37 34 36 36 31 39 38 30 33 37 + localKeyID: 54 69 6D 65 20 31 36 33 34 31 32 30 31 35 32 31 39 33 Key Attributes: Bag Attributes friendlyName: ca 2.16.840.1.113894.746875.1.1: -subject=/CN=Elastic Certificate Tool Autogenerated CA -issuer=/CN=Elastic Certificate Tool Autogenerated CA +subject=CN = Elastic Certificate Tool Autogenerated CA +issuer=CN = Elastic Certificate Tool Autogenerated CA -----BEGIN CERTIFICATE----- -MIIDSzCCAjOgAwIBAgIUW0brhEtYK3tUBYlXnUa+AMmAX6kwDQYJKoZIhvcNAQEL -BQAwNDEyMDAGA1UEAxMpRWxhc3RpYyBDZXJ0aWZpY2F0ZSBUb29sIEF1dG9nZW5l -cmF0ZWQgQ0EwIBcNMTkxMjI3MTcwMjMyWhgPMjA2OTEyMTQxNzAyMzJaMDQxMjAw -BgNVBAMTKUVsYXN0aWMgQ2VydGlmaWNhdGUgVG9vbCBBdXRvZ2VuZXJhdGVkIENB -MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAplO5m5Xy8xERyA0/G5SM -Nu2QXkfS+m7ZTFjSmtwqX7BI1I6ISI4Yw8QxzcIgSbEGlSqb7baeT+A/1JQj0gZN -KOnKbazl+ujVRJpsfpt5iUsnQyVPheGekcHkB+9WkZPgZ1oGRENr/4Eb1VImQf+Y -yo/FUj8X939tYW0fficAqYKv8/4NWpBUbeop8wsBtkz738QKlmPkMwC4FbuF2/bN -vNuzQuRbGMVmPeyivZJRfDAMKExoXjCCLmbShdg4dUHsUjVeWQZ6s4vbims+8qF9 -b4bseayScQNNU3hc5mkfhEhSM0KB0lDpSvoCxuXvXzb6bOk7xIdYo+O4vHUhvSkQ -mwIDAQABo1MwUTAdBgNVHQ4EFgQUGu0mDnvDRnBdNBG8DxwPdWArB0kwHwYDVR0j -BBgwFoAUGu0mDnvDRnBdNBG8DxwPdWArB0kwDwYDVR0TAQH/BAUwAwEB/zANBgkq -hkiG9w0BAQsFAAOCAQEASv/FYOwWGnQreH8ulcVupGeZj25dIjZiuKfJmslH8QN/ -pVCIzAxNZjGjCpKxbJoCu5U9USaBylbhigeBJEq4wmYTs/WPu4uYMgDj0MILuHin -RQqgEVG0uADGEgH2nnk8DeY8gQvGpJRQGlXNK8pb+pCsy6F8k/svGOeBND9osHfU -CVEo5nXjfq6JCFt6hPx7kl4h3/j3C4wNy/Dv/QINdpPsl6CnF17Q9R9d60WFv42/ -pkl7W1hszCG9foNJOJabuWfVoPkvKQjoCvPitZt/hCaFZAW49PmAVhK+DAohQ91l -TZhDmYqHoXNiRDQiUT68OS7RlfKgNpr/vMTZXDxpmw== +MIIDTDCCAjSgAwIBAgIVAJUW7Ky1rVeyYxsS1dGcF3HZpknsMA0GCSqGSIb3DQEB +CwUAMDQxMjAwBgNVBAMTKUVsYXN0aWMgQ2VydGlmaWNhdGUgVG9vbCBBdXRvZ2Vu +ZXJhdGVkIENBMCAXDTIxMTAxMzEwMTU0MVoYDzIwNzExMDAxMTAxNTQxWjA0MTIw +MAYDVQQDEylFbGFzdGljIENlcnRpZmljYXRlIFRvb2wgQXV0b2dlbmVyYXRlZCBD +QTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALSQK7Q/wBblLXhD8WZc +HO0mwEOILBVRCY2wcSLaibfzxvX/EhX7mAbozrCgj0hOTFZldzoSHURZmLUntONF +vUxWyR3ulAXuCfpvxoh7+WJWWvk0m8iI5GzwYjCYoRDRgLrzPlNSRd6CuW4z5vXC +sT7MjE69iAEmXR6bdV6GvQ3kBVUJVCz23QbXLCl4gzWAWsfXuNx1+ZjJXeM/eEkH +dQbmBoG6jKJtnSlXjG/s2aSi/Jv/GoHJJT7YQXSvWFpklu3Dk9c+FacQoz95HZD1 +qbaruKq1SjIG6Leht3DNpNT7n5q1EQeZ5uhhWMAI81vRgAZYZxwGJQF19Qgz13D6 +de8CAwEAAaNTMFEwHQYDVR0OBBYEFDBMKsCOW9DGKTccGhyfU8NS6d6eMB8GA1Ud +IwQYMBaAFDBMKsCOW9DGKTccGhyfU8NS6d6eMA8GA1UdEwEB/wQFMAMBAf8wDQYJ +KoZIhvcNAQELBQADggEBABf0ZznDu2m9IVn7ThLPb5UJU/rZiTkRyP6cqPFFtSww +TiZ0+AS5phGFV8f/znC/scU2u57EAl8DWSalJZTXJMekboFpfXJME/BK66I6wdSi +TfL99HjYR6LYyjvkXhoIBhR1eCw1zwm8IGzRV++/zY5ksYb5GQ9smFr3TNgqgdsv +GnPJgytVc/sYXuc1l7MS8j1Q+JLhpIymDKCJ2CB+x2p2oMYqJmFstc8I0z6vZtiM +zeyy07qK71uOfD5F1HHw/rv738yrlq7NwAH9fc3/0fPueyjTHSQtKiSBfc0phEMz +TV7Px45EUVFhn9YgIHGBSKPkA5QCC3bPNb6iYGREDcU= -----END CERTIFICATE----- diff --git a/packages/kbn-dev-utils/certs/elasticsearch.crt b/packages/kbn-dev-utils/certs/elasticsearch.crt index 87ba02019903..a95b7c63ad5e 100644 --- a/packages/kbn-dev-utils/certs/elasticsearch.crt +++ b/packages/kbn-dev-utils/certs/elasticsearch.crt @@ -1,29 +1,29 @@ Bag Attributes friendlyName: elasticsearch - localKeyID: 54 69 6D 65 20 31 35 37 37 34 36 36 31 39 38 30 33 37 + localKeyID: 54 69 6D 65 20 31 36 33 34 31 32 30 31 35 32 31 39 33 Key Attributes: Bag Attributes friendlyName: elasticsearch - localKeyID: 54 69 6D 65 20 31 35 37 37 34 36 36 31 39 38 30 33 37 -subject=/CN=elasticsearch -issuer=/CN=Elastic Certificate Tool Autogenerated CA + localKeyID: 54 69 6D 65 20 31 36 33 34 31 32 30 31 35 32 31 39 33 +subject=CN = elasticsearch +issuer=CN = Elastic Certificate Tool Autogenerated CA -----BEGIN CERTIFICATE----- -MIIDQDCCAiigAwIBAgIVAI93OQE6tZffPyzenSg3ljE3JJBzMA0GCSqGSIb3DQEB -CwUAMDQxMjAwBgNVBAMTKUVsYXN0aWMgQ2VydGlmaWNhdGUgVG9vbCBBdXRvZ2Vu -ZXJhdGVkIENBMCAXDTE5MTIyNzE3MDMxN1oYDzIwNjkxMjE0MTcwMzE3WjAYMRYw -FAYDVQQDEw1lbGFzdGljc2VhcmNoMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB -CgKCAQEA2EkPfvE3ZNMjHCAQZhpImoXBCIN6KavvJSbVHRtLzAXB4wxige+vFQWb -4umqPeEeVH7FvrsRqn24tUgGIkag9p9AOwYxfcT3vwNqcK/EztIlYFs72pmYg7Ez -s6+qLc/YSLOT3aMoHKDHE93z1jYIDGccyjGbv9NsdgCbLHD0TQuqm+7pKy1MZoJm -0qn4KYw4kXakVNWlxm5GIwr8uqU/w4phrikcOOWqRzsxByoQajypLOA4eD/uWnI2 -zGyPQy7Bkxojiy1ss0CVlrl8fJgcjC4PONpm1ibUSX3SoZ8PopPThR6gvvwoQolR -rYu4+D+rsX7q/ldA6vBOiHBD8r4QoQIDAQABo2MwYTAdBgNVHQ4EFgQUSlIMCYYd -e72A0rUqaCkjVPkGPIwwHwYDVR0jBBgwFoAUGu0mDnvDRnBdNBG8DxwPdWArB0kw -FAYDVR0RBA0wC4IJbG9jYWxob3N0MAkGA1UdEwQCMAAwDQYJKoZIhvcNAQELBQAD -ggEBAImbzBVAEjiLRsNDLP7QAl0k7lVmfQRFz5G95ZTAUSUgbqqymDvry47yInFF -3o12TuI1GxK5zHzi+qzpJLyrnGwGK5JBR+VGxIBBKFVcFh1WNGKV6kSO/zBzO7PO -4Jw4G7By/ImWvS0RBhBUQ9XbQZN3WcVkVVV8UQw5Y7JoKtM+fzyEKXKRCTsvgH+h -3+fUBgqwal2Mz4KPH57Jrtk209dtn7tnQxHTNLo0niHyEcfrpuG3YFqTwekr+5FF -FniIcYHPGjag1WzLIdyhe88FFpuav19mlCaxBACc7t97v+euSVUWnsKpy4dLydpv -NxJiI9eWbJZ7f5VM7o64pm7U1cU= +MIIDPzCCAiegAwIBAgIUCTO1pAvYtfaJndsQwa9cS/AtoSowDQYJKoZIhvcNAQEL +BQAwNDEyMDAGA1UEAxMpRWxhc3RpYyBDZXJ0aWZpY2F0ZSBUb29sIEF1dG9nZW5l +cmF0ZWQgQ0EwIBcNMjExMDEzMTAxNTUyWhgPMjA3MTEwMDExMDE1NTJaMBgxFjAU +BgNVBAMTDWVsYXN0aWNzZWFyY2gwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK +AoIBAQCJK4KLS0kSIM+eqdMq4nO1p7nQ7ADUXIYjeRKaCycSJ7sj//1FRdj2NhLb +gdSX2VGIUZyOw4ptw6bGo0A7KyFE4yJZdG9m+VC1PFck3WaIdQHFdxgMia9deIHx +sU1ETnC4PstdkrsZZpf5+twS6O9TaIQolG6nEShst075v2b3y0NDHcxKW+BtSw27 +HEHlchhP/Uj4haVMABQahfP8gv5vlHqStuOOWeoSgwF5FngCekx+ZeoIf5wVWfE1 +SzDlU7L/JdYOrAp+kN+2g+b4qcr+WvFNCEwbhjJjd9/VIJ5z9kIjJhG9z1NilPhR +RVPG4njS6PxTufejbWN/360HfZbZAgMBAAGjYzBhMB0GA1UdDgQWBBR0kfoZtlNi +ZKxVBPhhpipoXdTQMjAfBgNVHSMEGDAWgBQwTCrAjlvQxik3HBocn1PDUunenjAU +BgNVHREEDTALgglsb2NhbGhvc3QwCQYDVR0TBAIwADANBgkqhkiG9w0BAQsFAAOC +AQEAkNcEM6mBzCdECFtuor3lfxrXzmrIo3wUspbv6Rrm4+n6TwJIYp6ydf4OcruR +Uv5feevaYXwDRHBkIEGvhU5po6sGp6k7ppXS5bgrEtAhJSK8SOsLINnbJLnptmZQ +Jharcks5STEqfJFB2QBZvFSLLpvO9g/N8sMro6ZvaUXhfW9DNpd6GIUXQiMhKLex +t80Sb4zuahTRqUSi2j5Hoq8ouc7U9T/RmA3zXNmzq7YvL/gv2it67qdyKvpzoX7t +HJaT1HU0o5Xi/Ol33C/wvfRe05UrHEUil148n/XWz3EJky7El2LYbg36/++mVTHX +xUXS+FdZ1rBlGnGwOHTPHj5FMQ== -----END CERTIFICATE----- diff --git a/packages/kbn-dev-utils/certs/elasticsearch.key b/packages/kbn-dev-utils/certs/elasticsearch.key index 9ae4e314630d..4a114a0458a8 100644 --- a/packages/kbn-dev-utils/certs/elasticsearch.key +++ b/packages/kbn-dev-utils/certs/elasticsearch.key @@ -1,27 +1,27 @@ -----BEGIN RSA PRIVATE KEY----- -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 -----END RSA PRIVATE KEY----- diff --git a/packages/kbn-dev-utils/certs/elasticsearch.p12 b/packages/kbn-dev-utils/certs/elasticsearch.p12 index 02a9183cd8a50e166b7b0500caf215a0a8dcd6b6..9f88e6bd42a99785a0ee446d270e1f1c1bf90496 100644 GIT binary patch literal 3654 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 delta 3469 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 v|D5fV-(~D5-oe2xl44}m^aKS=&h#d} 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 diff --git a/packages/kbn-dev-utils/certs/elasticsearch_nopassword.p12 b/packages/kbn-dev-utils/certs/elasticsearch_nopassword.p12 index 3a22a58d207dfb67ab87d81de0860ab228561854..8ea7d49ab39aa4538e66d5b9192b2fbccd9f8bed 100644 GIT binary patch literal 3481 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 WGdK@R&y0L~bbW5?+}~dt0QeU-foR(R literal 3543 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 L$;zsL0Kk6%be@sh diff --git a/packages/kbn-dev-utils/certs/kibana.crt b/packages/kbn-dev-utils/certs/kibana.crt index 1c83be587bff..b73885dc7a0f 100644 --- a/packages/kbn-dev-utils/certs/kibana.crt +++ b/packages/kbn-dev-utils/certs/kibana.crt @@ -1,29 +1,29 @@ Bag Attributes friendlyName: kibana - localKeyID: 54 69 6D 65 20 31 35 37 37 34 36 36 32 32 33 30 33 39 + localKeyID: 54 69 6D 65 20 31 36 33 34 31 32 30 31 35 38 38 30 33 Key Attributes: Bag Attributes friendlyName: kibana - localKeyID: 54 69 6D 65 20 31 35 37 37 34 36 36 32 32 33 30 33 39 -subject=/CN=kibana -issuer=/CN=Elastic Certificate Tool Autogenerated CA + localKeyID: 54 69 6D 65 20 31 36 33 34 31 32 30 31 35 38 38 30 33 +subject=CN = kibana +issuer=CN = Elastic Certificate Tool Autogenerated CA -----BEGIN CERTIFICATE----- -MIIDOTCCAiGgAwIBAgIVANNWkg9lzNiLqNkMFhFKHcXyaZmqMA0GCSqGSIb3DQEB +MIIDOTCCAiGgAwIBAgIVAN0GVNLw3IaUBuG7t6CeW8w2wyymMA0GCSqGSIb3DQEB CwUAMDQxMjAwBgNVBAMTKUVsYXN0aWMgQ2VydGlmaWNhdGUgVG9vbCBBdXRvZ2Vu -ZXJhdGVkIENBMCAXDTE5MTIyNzE3MDM0MloYDzIwNjkxMjE0MTcwMzQyWjARMQ8w -DQYDVQQDEwZraWJhbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCQ -wYYbQtbRBKJ4uNZc2+IgRU+7NNL21ZebQlEIMgK7jAqOMrsW2b5DATz41Fd+GQFU -FUYYjwo+PQj6sJHshOJo/gNb32HrydvMI7YPvevkszkuEGCfXxQ3Dw2RTACLgD0Q -OCkwHvn3TMf0loloV/ePGWaZDYZaXi3a5DdWi/HFFoJysgF0JV2f6XyKhJkGaEfJ -s9pWX269zH/XQvGNx4BEimJpYB8h4JnDYPFIiQdqj+sl2b+kS1hH9kL5gBAMXjFU -vcNnX+PmyTjyJrGo75k0ku+spBf1bMwuQt3uSmM+TQIXkvFDmS0DOVESrpA5EC1T -BUGRz6o/I88Xx4Mud771AgMBAAGjYzBhMB0GA1UdDgQWBBQLB1Eo23M3Ss8MsFaz -V+Twcb3PmDAfBgNVHSMEGDAWgBQa7SYOe8NGcF00EbwPHA91YCsHSTAUBgNVHREE -DTALgglsb2NhbGhvc3QwCQYDVR0TBAIwADANBgkqhkiG9w0BAQsFAAOCAQEAnEl/ -z5IElIjvkK4AgMPrNcRlvIGDt2orEik7b6Jsq6/RiJQ7cSsYTZf7xbqyxNsUOTxv -+frj47MEN448H2nRvUxH29YR3XygV5aEwADSAhwaQWn0QfWTCZbJTmSoNEDtDOzX -TGDlAoCD9s9Xz9S1JpxY4H+WWRZrBSDM6SC1c6CzuEeZRuScNAjYD5mh2v6fOlSy -b8xJWSg0AFlJPCa3ZsA2SKbNqI0uNfJTnkXRm88Z2NHcgtlADbOLKauWfCrpgsCk -cZgo6yAYkOM148h/8wGla1eX+iE1R72NUABGydu8MSQKvc0emWJkGsC1/KqPlf/O -eOUsdwn1yDKHRxDHyA== +ZXJhdGVkIENBMCAXDTIxMTAxMzEwMTU1OFoYDzIwNzExMDAxMTAxNTU4WjARMQ8w +DQYDVQQDEwZraWJhbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3 +nvfL3/26D8EkLso+t9S0m+tSJipLsBWs0dCpc8KRJ/+ijDRnAQ5lOmOAcxt43SNY +KFr0EntQEZyYaRwMIM8aPR0WYW/VV5o4fq2o/JnmHqzZJRJCwZq+5WiCiDPt012N +mRGYCMUxjlEwejue6diLAeQhZ/sfN4jUp217bMEHrhHrNBWTwwJ+Uk5TBQMhviCW +LKbsKrfluA6DGHWrXN4pH7Xmaf/Zyc9AYL/nxwv3VQHZzIAK/U/WNCgFJJ3qoFYY +6TUwDDNa30mSj165OOds9N+VmUlDC3IFiHV3osBWscSU4HJd6QJ8huHrFLLV4y4i +u62el47Qr+/8Ut3SzeIXAgMBAAGjYzBhMB0GA1UdDgQWBBQli5f2bYL9jKUA5Uxp +yRRHeCoPJzAfBgNVHSMEGDAWgBQwTCrAjlvQxik3HBocn1PDUunenjAUBgNVHREE +DTALgglsb2NhbGhvc3QwCQYDVR0TBAIwADANBgkqhkiG9w0BAQsFAAOCAQEATFNj +WkTBPfgflGYZD4OsYvfT/rVjFKbJP/u1a0rkzNamA2QKNzI9JTOzONPTyRhe9yVS +zeO8X2rtN63l38dtgMjFQ15Xxnp7GFT7GkXfa1JR+tGSGTgVld8nLUzig+mNmBoR +nE4cNc0JJ1PsXPzfPgJ6WMp2WOoNUrQf2cm42i36Jk+7KGcosfyFMPQILZE34Geo +DAgCVpNWPgST4HYBUCHMC7S14LHLVdUXPsfGZPEqU5Zf9Hvy61rQC/RdNjnMI6JD +s57l9oHASNeEg55NQm01aOmwq/z1DXs3UP2nRmp6XCCfE61ghofO5dtV1j3cZ3f5 +dzkzSBV7H6+/MD3Y8Q== -----END CERTIFICATE----- diff --git a/packages/kbn-dev-utils/certs/kibana.key b/packages/kbn-dev-utils/certs/kibana.key index 4a4e6b4cb8c3..aae299d43058 100644 --- a/packages/kbn-dev-utils/certs/kibana.key +++ b/packages/kbn-dev-utils/certs/kibana.key @@ -1,27 +1,27 @@ -----BEGIN RSA PRIVATE KEY----- -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 -----END RSA PRIVATE KEY----- diff --git a/packages/kbn-dev-utils/certs/kibana.p12 b/packages/kbn-dev-utils/certs/kibana.p12 index 06bbd23881290b8952db722041a5da7553546560..f9e689cf33e04aec3cc29e73d24b38dbd7bde5dc 100644 GIT binary patch literal 3608 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 KgWLa|_)@(80`xqnad1maWpYmV}Gm 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 arg.startsWith('xpack.security.http.ssl.keystore'))) { + esArgs.push(`xpack.security.http.ssl.keystore.path=${ES_P12_PATH}`); + esArgs.push(`xpack.security.http.ssl.keystore.type=PKCS12`); + esArgs.push(`xpack.security.http.ssl.keystore.password=${ES_P12_PASSWORD}`); + } } const args = parseSettings(extractConfigFiles(esArgs, installPath, { log: this._log }), { diff --git a/packages/kbn-es/src/utils/native_realm.js b/packages/kbn-es/src/utils/native_realm.js index a5051cdb0d89..c1682e0d1800 100644 --- a/packages/kbn-es/src/utils/native_realm.js +++ b/packages/kbn-es/src/utils/native_realm.js @@ -13,15 +13,12 @@ const { log: defaultLog } = require('./log'); exports.NativeRealm = class NativeRealm { constructor({ elasticPassword, port, log = defaultLog, ssl = false, caCert }) { - this._client = new Client({ - node: `${ssl ? 'https' : 'http'}://elastic:${elasticPassword}@localhost:${port}`, - ssl: ssl - ? { - ca: caCert, - rejectUnauthorized: true, - } - : undefined, - }); + const auth = { username: 'elastic', password: elasticPassword }; + this._client = new Client( + ssl + ? { node: `https://localhost:${port}`, ssl: { ca: caCert, rejectUnauthorized: true }, auth } + : { node: `http://localhost:${port}`, auth } + ); this._elasticPassword = elasticPassword; this._log = log; } diff --git a/packages/kbn-test/src/functional_tests/tasks.ts b/packages/kbn-test/src/functional_tests/tasks.ts index b220c3899a63..6dde114d3a98 100644 --- a/packages/kbn-test/src/functional_tests/tasks.ts +++ b/packages/kbn-test/src/functional_tests/tasks.ts @@ -169,7 +169,7 @@ export async function startServers({ ...options }: StartServerOptions) { ...opts, extraKbnOpts: [ ...options.extraKbnOpts, - ...(options.installDir ? [] : ['--dev', '--no-dev-config']), + ...(options.installDir ? [] : ['--dev', '--no-dev-config', '--no-dev-credentials']), ], }, }); diff --git a/packages/kbn-test/src/kbn_client/kbn_client_plugins.ts b/packages/kbn-test/src/kbn_client/kbn_client_plugins.ts index 25c3d7e156e9..744a80d14684 100644 --- a/packages/kbn-test/src/kbn_client/kbn_client_plugins.ts +++ b/packages/kbn-test/src/kbn_client/kbn_client_plugins.ts @@ -16,6 +16,7 @@ export class KbnClientPlugins { public async getEnabledIds() { const apiResp = await this.status.get(); - return Object.keys(apiResp.status.plugins); + // Status may not be available at the `preboot` stage. + return Object.keys(apiResp.status?.plugins ?? {}); } } diff --git a/scripts/functional_tests.js b/scripts/functional_tests.js index 89f20121867d..601ee3096e0b 100644 --- a/scripts/functional_tests.js +++ b/scripts/functional_tests.js @@ -12,6 +12,11 @@ const alwaysImportedTests = [ require.resolve('../test/plugin_functional/config.ts'), require.resolve('../test/ui_capabilities/newsfeed_err/config.ts'), require.resolve('../test/new_visualize_flow/config.ts'), + require.resolve('../test/interactive_setup_api_integration/enrollment_flow.config.ts'), + require.resolve('../test/interactive_setup_api_integration/manual_configuration_flow.config.ts'), + require.resolve( + '../test/interactive_setup_api_integration/manual_configuration_flow_without_tls.config.ts' + ), ]; // eslint-disable-next-line no-restricted-syntax const onlyNotInCoverageTests = [ diff --git a/src/cli/serve/serve.js b/src/cli/serve/serve.js index 8b346d38cfea..b7228780a100 100644 --- a/src/cli/serve/serve.js +++ b/src/cli/serve/serve.js @@ -67,7 +67,7 @@ function applyConfigOverrides(rawConfig, opts, extraCliOptions) { delete extraCliOptions.env; if (opts.dev) { - if (!has('elasticsearch.serviceAccountToken')) { + if (!has('elasticsearch.serviceAccountToken') && opts.devCredentials !== false) { if (!has('elasticsearch.username')) { set('elasticsearch.username', 'kibana_system'); } @@ -191,7 +191,11 @@ export default function (program) { .option('--no-watch', 'Prevents automatic restarts of the server in --dev mode') .option('--no-optimizer', 'Disable the kbn/optimizer completely') .option('--no-cache', 'Disable the kbn/optimizer cache') - .option('--no-dev-config', 'Prevents loading the kibana.dev.yml file in --dev mode'); + .option('--no-dev-config', 'Prevents loading the kibana.dev.yml file in --dev mode') + .option( + '--no-dev-credentials', + 'Prevents setting default values for `elasticsearch.username` and `elasticsearch.password` in --dev mode' + ); } command.action(async function (opts) { diff --git a/src/plugins/interactive_setup/server/plugin.ts b/src/plugins/interactive_setup/server/plugin.ts index 2c3b517e78c5..8c1d00a25476 100644 --- a/src/plugins/interactive_setup/server/plugin.ts +++ b/src/plugins/interactive_setup/server/plugin.ts @@ -67,8 +67,13 @@ export class InteractiveSetupPlugin implements PrebootPlugin { core.elasticsearch.config.hosts.length === 1 && DEFAULT_ELASTICSEARCH_HOSTS.includes(core.elasticsearch.config.hosts[0]); if (!shouldActiveSetupMode) { + const reason = core.elasticsearch.config.credentialsSpecified + ? 'Kibana system user credentials are specified' + : core.elasticsearch.config.hosts.length > 1 + ? 'more than one Elasticsearch host is specified' + : 'non-default Elasticsearch host is used'; this.#logger.debug( - 'Interactive setup mode will not be activated since Elasticsearch connection is already configured.' + `Interactive setup mode will not be activated since Elasticsearch connection is already configured: ${reason}.` ); return; } diff --git a/test/interactive_setup_api_integration/enrollment_flow.config.ts b/test/interactive_setup_api_integration/enrollment_flow.config.ts new file mode 100644 index 000000000000..5432e8002bdd --- /dev/null +++ b/test/interactive_setup_api_integration/enrollment_flow.config.ts @@ -0,0 +1,54 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import fs from 'fs/promises'; +import { join, resolve } from 'path'; + +import type { FtrConfigProviderContext } from '@kbn/test'; +import { getDataPath } from '@kbn/utils'; + +export default async function ({ readConfigFile }: FtrConfigProviderContext) { + const manualConfigurationFlowTestsConfig = await readConfigFile( + require.resolve('./manual_configuration_flow.config.ts') + ); + + const tempKibanaYamlFile = join(getDataPath(), `interactive_setup_kibana_${Date.now()}.yml`); + await fs.writeFile(tempKibanaYamlFile, ''); + + const caPath = resolve(__dirname, './fixtures/elasticsearch.p12'); + + return { + ...manualConfigurationFlowTestsConfig.getAll(), + + testFiles: [require.resolve('./tests/enrollment_flow')], + + junit: { + reportName: 'Interactive Setup API Integration Tests (Enrollment flow)', + }, + + esTestCluster: { + ...manualConfigurationFlowTestsConfig.get('esTestCluster'), + serverArgs: [ + ...manualConfigurationFlowTestsConfig.get('esTestCluster.serverArgs'), + 'xpack.security.enrollment.enabled=true', + `xpack.security.http.ssl.keystore.path=${caPath}`, + 'xpack.security.http.ssl.keystore.password=storepass', + ], + }, + + kbnTestServer: { + ...manualConfigurationFlowTestsConfig.get('kbnTestServer'), + serverArgs: [ + ...manualConfigurationFlowTestsConfig + .get('kbnTestServer.serverArgs') + .filter((arg: string) => !arg.startsWith('--config')), + `--config=${tempKibanaYamlFile}`, + ], + }, + }; +} diff --git a/test/interactive_setup_api_integration/fixtures/README.md b/test/interactive_setup_api_integration/fixtures/README.md new file mode 100644 index 000000000000..5a7238bbba75 --- /dev/null +++ b/test/interactive_setup_api_integration/fixtures/README.md @@ -0,0 +1,32 @@ +## Certificate generation + +The Elasticsearch HTTP layer keystore is supposed to mimic the PKCS12 keystore that the elasticsearch startup script will auto-generate for a node. The keystore contains: + +- A PrivateKeyEntry for the node's key and certificate for the HTTP layer +- A PrivateKeyEntry for the CA's key and certificate +- A TrustedCertificateEntry for the CA's certificate + +```bash +$ES_HOME/bin/elasticsearch-certutil cert \ + --out $KIBANA_HOME/test/interactive_setup_api_integration/fixtures/elasticsearch.p12 \ + --ca $KIBANA_HOME/packages/kbn-dev-utils/certs/ca.p12 --ca-pass "castorepass" --pass "storepass" \ + --dns=localhost --dns=localhost.localdomain --dns=localhost4 --dns=localhost4.localdomain4 \ + --dns=localhost6 --dns=localhost6.localdomain6 \ + --ip=127.0.0.1 --ip=0:0:0:0:0:0:0:1 +``` + +Change the alias of the TrustedCertificateEntry so that it won't clash with the CA PrivateKeyEntry +```bash +keytool -changealias -alias ca -destalias cacert -keystore \ + $KIBANA_HOME/test/interactive_setup_api_integration/fixtures/elasticsearch.p12 \ + -deststorepass "storepass" +``` + +Import the CA PrivateKeyEntry +```bash +keytool -importkeystore \ + -srckeystore $KIBANA_HOME/packages/kbn-dev-utils/certs/ca.p12 \ + -srcstorepass "castorepass" \ + -destkeystore $KIBANA_HOME/test/interactive_setup_api_integration/fixtures/elasticsearch.p12 \ + -deststorepass "storepass" +``` diff --git a/test/interactive_setup_api_integration/fixtures/elasticsearch.p12 b/test/interactive_setup_api_integration/fixtures/elasticsearch.p12 new file mode 100644 index 0000000000000000000000000000000000000000..964932d8ffe5e8ccc8a5c7ed93f6f73c52437dc4 GIT binary patch literal 7131 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 literal 0 HcmV?d00001 diff --git a/test/interactive_setup_api_integration/fixtures/test_endpoints/kibana.json b/test/interactive_setup_api_integration/fixtures/test_endpoints/kibana.json new file mode 100644 index 000000000000..f9969966456a --- /dev/null +++ b/test/interactive_setup_api_integration/fixtures/test_endpoints/kibana.json @@ -0,0 +1,12 @@ +{ + "id": "interactiveSetupTestEndpoints", + "owner": { + "name": "Platform Security", + "githubTeam": "kibana-security" + }, + "version": "8.0.0", + "kibanaVersion": "kibana", + "type": "preboot", + "server": true, + "ui": false +} diff --git a/test/interactive_setup_api_integration/fixtures/test_endpoints/server/index.ts b/test/interactive_setup_api_integration/fixtures/test_endpoints/server/index.ts new file mode 100644 index 000000000000..3373da1180d0 --- /dev/null +++ b/test/interactive_setup_api_integration/fixtures/test_endpoints/server/index.ts @@ -0,0 +1,42 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import fs from 'fs/promises'; +import path from 'path'; + +import type { PluginInitializer, PrebootPlugin } from 'kibana/server'; + +export const plugin: PluginInitializer = (initializerContext): PrebootPlugin => ({ + setup: (core) => { + core.http.registerRoutes('', (router) => { + router.get( + { + path: '/test_endpoints/verification_code', + validate: false, + options: { authRequired: false }, + }, + async (context, request, response) => { + // [HACK]: On CI tests are run from the different directories than the built and running Kibana instance. That + // means Kibana from a Directory A is running with the test plugins from a Directory B. The problem is that + // the data path that interactive setup plugin uses to store verification code is determined by the + // `__dirname` that depends on the physical location of the file where it's used. This is the reason why we + // end up with different data paths in Kibana built-in and test plugins. To workaround that we use Kibana + // `process.cwd()` to construct data path manually. + const verificationCodePath = path.join(process.cwd(), 'data', 'verification_code'); + initializerContext.logger.get().info(`Will read code from ${verificationCodePath}`); + return response.ok({ + body: { + verificationCode: (await fs.readFile(verificationCodePath)).toString(), + }, + }); + } + ); + }); + }, + stop: () => {}, +}); diff --git a/test/interactive_setup_api_integration/fixtures/test_endpoints/tsconfig.json b/test/interactive_setup_api_integration/fixtures/test_endpoints/tsconfig.json new file mode 100644 index 000000000000..893665751cf3 --- /dev/null +++ b/test/interactive_setup_api_integration/fixtures/test_endpoints/tsconfig.json @@ -0,0 +1,16 @@ +{ + "extends": "../../../../tsconfig.base.json", + "compilerOptions": { + "outDir": "./target/types", + "emitDeclarationOnly": true, + "declaration": true, + "declarationMap": true + }, + "include": [ + "server/**/*.ts", + ], + "exclude": [], + "references": [ + { "path": "../../../../src/core/tsconfig.json" }, + ], +} diff --git a/test/interactive_setup_api_integration/fixtures/test_helpers.ts b/test/interactive_setup_api_integration/fixtures/test_helpers.ts new file mode 100644 index 000000000000..f1e72785af02 --- /dev/null +++ b/test/interactive_setup_api_integration/fixtures/test_helpers.ts @@ -0,0 +1,39 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { delay } from 'bluebird'; + +import expect from '@kbn/expect'; + +import type { FtrProviderContext } from '../ftr_provider_context'; + +export async function hasKibanaBooted(context: FtrProviderContext) { + const supertest = context.getService('supertest'); + const log = context.getService('log'); + + // Run 30 consecutive requests with 1.5s delay to check if Kibana is up and running. + let kibanaHasBooted = false; + for (const counter of [...Array(30).keys()]) { + await delay(1500); + + try { + expect((await supertest.get('/api/status').expect(200)).body).to.have.keys([ + 'version', + 'status', + ]); + + log.debug(`Kibana has booted after ${(counter + 1) * 1.5}s.`); + kibanaHasBooted = true; + break; + } catch (err) { + log.debug(`Kibana is still booting after ${(counter + 1) * 1.5}s due to: ${err.message}`); + } + } + + return kibanaHasBooted; +} diff --git a/test/interactive_setup_api_integration/fixtures/tls_tools.ts b/test/interactive_setup_api_integration/fixtures/tls_tools.ts new file mode 100644 index 000000000000..ea6e40cbffba --- /dev/null +++ b/test/interactive_setup_api_integration/fixtures/tls_tools.ts @@ -0,0 +1,30 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import tls from 'tls'; + +export async function getElasticsearchCaCertificate(host: string, port: string) { + let peerCertificate = await new Promise((resolve, reject) => { + const socket = tls.connect({ host, port: Number(port), rejectUnauthorized: false }); + socket.once('secureConnect', () => { + const cert = socket.getPeerCertificate(true); + socket.destroy(); + resolve(cert); + }); + socket.once('error', reject); + }); + + while ( + peerCertificate.issuerCertificate && + peerCertificate.fingerprint256 !== peerCertificate.issuerCertificate.fingerprint256 + ) { + peerCertificate = peerCertificate.issuerCertificate; + } + + return peerCertificate; +} diff --git a/test/interactive_setup_api_integration/ftr_provider_context.d.ts b/test/interactive_setup_api_integration/ftr_provider_context.d.ts new file mode 100644 index 000000000000..96f5dde2df0a --- /dev/null +++ b/test/interactive_setup_api_integration/ftr_provider_context.d.ts @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { GenericFtrProviderContext } from '@kbn/test'; + +import type { services } from './services'; + +export type FtrProviderContext = GenericFtrProviderContext; diff --git a/test/interactive_setup_api_integration/manual_configuration_flow.config.ts b/test/interactive_setup_api_integration/manual_configuration_flow.config.ts new file mode 100644 index 000000000000..9bb89a802975 --- /dev/null +++ b/test/interactive_setup_api_integration/manual_configuration_flow.config.ts @@ -0,0 +1,55 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import fs from 'fs/promises'; +import { join } from 'path'; + +import type { FtrConfigProviderContext } from '@kbn/test'; +import { getDataPath } from '@kbn/utils'; + +export default async function ({ readConfigFile }: FtrConfigProviderContext) { + const manualConfigurationFlowWithoutTlsTestsConfig = await readConfigFile( + require.resolve('./manual_configuration_flow_without_tls.config.ts') + ); + + const tempKibanaYamlFile = join(getDataPath(), `interactive_setup_kibana_${Date.now()}.yml`); + await fs.writeFile(tempKibanaYamlFile, ''); + + return { + ...manualConfigurationFlowWithoutTlsTestsConfig.getAll(), + + testFiles: [require.resolve('./tests/manual_configuration_flow')], + + servers: { + ...manualConfigurationFlowWithoutTlsTestsConfig.get('servers'), + elasticsearch: { + ...manualConfigurationFlowWithoutTlsTestsConfig.get('servers.elasticsearch'), + protocol: 'https', + }, + }, + + junit: { + reportName: 'Interactive Setup API Integration Tests (Manual configuration flow)', + }, + + esTestCluster: { + ...manualConfigurationFlowWithoutTlsTestsConfig.get('esTestCluster'), + ssl: true, + }, + + kbnTestServer: { + ...manualConfigurationFlowWithoutTlsTestsConfig.get('kbnTestServer'), + serverArgs: [ + ...manualConfigurationFlowWithoutTlsTestsConfig + .get('kbnTestServer.serverArgs') + .filter((arg: string) => !arg.startsWith('--config')), + `--config=${tempKibanaYamlFile}`, + ], + }, + }; +} diff --git a/test/interactive_setup_api_integration/manual_configuration_flow_without_tls.config.ts b/test/interactive_setup_api_integration/manual_configuration_flow_without_tls.config.ts new file mode 100644 index 000000000000..5317026a1d8d --- /dev/null +++ b/test/interactive_setup_api_integration/manual_configuration_flow_without_tls.config.ts @@ -0,0 +1,57 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import fs from 'fs/promises'; +import { join, resolve } from 'path'; + +import type { FtrConfigProviderContext } from '@kbn/test'; +import { getDataPath } from '@kbn/utils'; + +import { services } from './services'; + +export default async function ({ readConfigFile }: FtrConfigProviderContext) { + const xPackAPITestsConfig = await readConfigFile(require.resolve('../api_integration/config')); + + const testEndpointsPlugin = resolve(__dirname, './fixtures/test_endpoints'); + + const tempKibanaYamlFile = join(getDataPath(), `interactive_setup_kibana_${Date.now()}.yml`); + await fs.writeFile(tempKibanaYamlFile, ''); + + return { + testFiles: [require.resolve('./tests/manual_configuration_flow_without_tls')], + servers: xPackAPITestsConfig.get('servers'), + services, + junit: { + reportName: 'Interactive Setup API Integration Tests (Manual configuration flow without TLS)', + }, + + esTestCluster: { + ...xPackAPITestsConfig.get('esTestCluster'), + serverArgs: [ + ...xPackAPITestsConfig.get('esTestCluster.serverArgs'), + 'xpack.security.enabled=true', + ], + }, + + kbnTestServer: { + ...xPackAPITestsConfig.get('kbnTestServer'), + serverArgs: [ + ...xPackAPITestsConfig + .get('kbnTestServer.serverArgs') + .filter((arg: string) => !arg.startsWith('--elasticsearch.')), + `--plugin-path=${testEndpointsPlugin}`, + `--config=${tempKibanaYamlFile}`, + '--interactiveSetup.enabled=true', + ], + runOptions: { + ...xPackAPITestsConfig.get('kbnTestServer.runOptions'), + wait: /Kibana has not been configured/, + }, + }, + }; +} diff --git a/test/interactive_setup_api_integration/services.ts b/test/interactive_setup_api_integration/services.ts new file mode 100644 index 000000000000..b0385a7a0b9c --- /dev/null +++ b/test/interactive_setup_api_integration/services.ts @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { services as apiIntegrationServices } from '../api_integration/services'; + +export const services = { + ...apiIntegrationServices, +}; diff --git a/test/interactive_setup_api_integration/tests/enrollment_flow.ts b/test/interactive_setup_api_integration/tests/enrollment_flow.ts new file mode 100644 index 000000000000..9f61529cc343 --- /dev/null +++ b/test/interactive_setup_api_integration/tests/enrollment_flow.ts @@ -0,0 +1,151 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import expect from '@kbn/expect'; +import { getUrl } from '@kbn/test'; + +import { hasKibanaBooted } from '../fixtures/test_helpers'; +import { getElasticsearchCaCertificate } from '../fixtures/tls_tools'; +import type { FtrProviderContext } from '../ftr_provider_context'; + +export default function (context: FtrProviderContext) { + const supertest = context.getService('supertest'); + const es = context.getService('es'); + const log = context.getService('log'); + const config = context.getService('config'); + + describe('Interactive setup APIs - Enrollment flow', function () { + this.tags(['skipCloud', 'ciGroup2']); + + let kibanaVerificationCode: string; + let elasticsearchCaFingerprint: string; + before(async () => { + const esServerConfig = config.get('servers.elasticsearch'); + elasticsearchCaFingerprint = ( + await getElasticsearchCaCertificate(esServerConfig.host, esServerConfig.port) + ).fingerprint256.replace(/:/g, ''); + + kibanaVerificationCode = ( + await supertest.get('/test_endpoints/verification_code').expect(200) + ).body.verificationCode; + }); + + let enrollmentAPIKey: string; + beforeEach(async () => { + const apiResponse = await es.security.createApiKey({ body: { name: 'enrollment_api_key' } }); + enrollmentAPIKey = Buffer.from(`${apiResponse.body.id}:${apiResponse.body.api_key}`).toString( + 'base64' + ); + }); + + afterEach(async () => { + await es.security.invalidateApiKey({ body: { name: 'enrollment_api_key' } }); + }); + + it('fails to enroll with invalid authentication code', async () => { + const esHost = getUrl.baseUrl(config.get('servers.elasticsearch')); + const enrollPayload = { + apiKey: enrollmentAPIKey, + code: '000000', + caFingerprint: elasticsearchCaFingerprint, + hosts: [esHost], + }; + + log.debug(`Enroll payload ${JSON.stringify(enrollPayload)}`); + + await supertest + .post('/internal/interactive_setup/enroll') + .set('kbn-xsrf', 'xxx') + .send(enrollPayload) + .expect(403, { statusCode: 403, error: 'Forbidden', message: 'Forbidden' }); + }); + + it('fails to enroll with invalid CA fingerprint', async () => { + const esHost = getUrl.baseUrl(config.get('servers.elasticsearch')); + const enrollPayload = { + apiKey: enrollmentAPIKey, + code: kibanaVerificationCode, + caFingerprint: '3FDAEE71A3604070E6AE6B01412D19772DE5AE129F69C413F0453B293D9BE65D', + hosts: [esHost], + }; + + log.debug(`Enroll payload ${JSON.stringify(enrollPayload)}`); + + await supertest + .post('/internal/interactive_setup/enroll') + .set('kbn-xsrf', 'xxx') + .send(enrollPayload) + .expect(500, { + statusCode: 500, + error: 'Internal Server Error', + message: 'Failed to enroll.', + attributes: { type: 'enroll_failure' }, + }); + }); + + it('fails to enroll with invalid api key', async function () { + const esServerConfig = config.get('servers.elasticsearch'); + const enrollPayload = { + apiKey: enrollmentAPIKey, + code: kibanaVerificationCode, + caFingerprint: elasticsearchCaFingerprint, + hosts: [getUrl.baseUrl(esServerConfig)], + }; + + log.debug(`Enroll payload ${JSON.stringify(enrollPayload)}`); + + // Invalidate API key. + await es.security.invalidateApiKey({ body: { name: 'enrollment_api_key' } }); + + await supertest + .post('/internal/interactive_setup/enroll') + .set('kbn-xsrf', 'xxx') + .send(enrollPayload) + .expect(500, { + statusCode: 500, + error: 'Internal Server Error', + message: 'Failed to enroll.', + attributes: { type: 'enroll_failure' }, + }); + }); + + it('should be able to enroll with valid authentication code', async function () { + this.timeout(60000); + + const esServerConfig = config.get('servers.elasticsearch'); + const enrollPayload = { + apiKey: enrollmentAPIKey, + code: kibanaVerificationCode, + caFingerprint: elasticsearchCaFingerprint, + hosts: [getUrl.baseUrl(esServerConfig)], + }; + + log.debug(`Enroll payload ${JSON.stringify(enrollPayload)}`); + + await supertest + .post('/internal/interactive_setup/enroll') + .set('kbn-xsrf', 'xxx') + .send(enrollPayload) + .expect(204, {}); + + // Enroll should no longer accept requests. + await supertest + .post('/internal/interactive_setup/enroll') + .set('kbn-xsrf', 'xxx') + .send(enrollPayload) + .expect(400, { + error: 'Bad Request', + message: 'Cannot process request outside of preboot stage.', + statusCode: 400, + attributes: { type: 'outside_preboot_stage' }, + }); + + expect(await hasKibanaBooted(context)).to.be(true); + }); + }); +} diff --git a/test/interactive_setup_api_integration/tests/manual_configuration_flow.ts b/test/interactive_setup_api_integration/tests/manual_configuration_flow.ts new file mode 100644 index 000000000000..2db59dd446fc --- /dev/null +++ b/test/interactive_setup_api_integration/tests/manual_configuration_flow.ts @@ -0,0 +1,136 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import expect from '@kbn/expect'; +import { getUrl, kibanaServerTestUser } from '@kbn/test'; + +import { hasKibanaBooted } from '../fixtures/test_helpers'; +import { getElasticsearchCaCertificate } from '../fixtures/tls_tools'; +import type { FtrProviderContext } from '../ftr_provider_context'; + +export default function (context: FtrProviderContext) { + const supertest = context.getService('supertest'); + const log = context.getService('log'); + const config = context.getService('config'); + + describe('Interactive setup APIs - Manual configuration flow', function () { + this.tags(['skipCloud', 'ciGroup2']); + + let kibanaVerificationCode: string; + let elasticsearchCaCertificate: string; + before(async () => { + const esServerConfig = config.get('servers.elasticsearch'); + elasticsearchCaCertificate = ( + await getElasticsearchCaCertificate(esServerConfig.host, esServerConfig.port) + ).raw.toString('base64'); + + kibanaVerificationCode = ( + await supertest.get('/test_endpoints/verification_code').expect(200) + ).body.verificationCode; + }); + + it('fails to configure with invalid authentication code', async () => { + const esServerConfig = config.get('servers.elasticsearch'); + const configurePayload = { + host: getUrl.baseUrl(esServerConfig), + code: '000000', + caCert: elasticsearchCaCertificate, + ...kibanaServerTestUser, + }; + + log.debug(`Configure payload ${JSON.stringify(configurePayload)}`); + + await supertest + .post('/internal/interactive_setup/configure') + .set('kbn-xsrf', 'xxx') + .send(configurePayload) + .expect(403, { statusCode: 403, error: 'Forbidden', message: 'Forbidden' }); + }); + + it('fails to configure with invalid CA certificate', async () => { + const esServerConfig = config.get('servers.elasticsearch'); + const configurePayload = { + host: getUrl.baseUrl(esServerConfig), + code: kibanaVerificationCode, + caCert: elasticsearchCaCertificate.split('').reverse().join(''), + ...kibanaServerTestUser, + }; + + log.debug(`Configure payload ${JSON.stringify(configurePayload)}`); + + await supertest + .post('/internal/interactive_setup/configure') + .set('kbn-xsrf', 'xxx') + .send(configurePayload) + .expect(500, { + statusCode: 500, + error: 'Internal Server Error', + message: 'Failed to configure.', + attributes: { type: 'configure_failure' }, + }); + }); + + it('fails to configure with invalid credentials', async function () { + const esServerConfig = config.get('servers.elasticsearch'); + const configurePayload = { + host: getUrl.baseUrl(esServerConfig), + code: kibanaVerificationCode, + caCert: elasticsearchCaCertificate, + ...kibanaServerTestUser, + password: 'no-way', + }; + + log.debug(`Configure payload ${JSON.stringify(configurePayload)}`); + + await supertest + .post('/internal/interactive_setup/configure') + .set('kbn-xsrf', 'xxx') + .send(configurePayload) + .expect(500, { + statusCode: 500, + error: 'Internal Server Error', + message: 'Failed to configure.', + attributes: { type: 'configure_failure' }, + }); + }); + + it('should be able to configure with valid authentication code', async function () { + this.timeout(60000); + + const esServerConfig = config.get('servers.elasticsearch'); + const configurePayload = { + host: getUrl.baseUrl(esServerConfig), + code: kibanaVerificationCode, + caCert: elasticsearchCaCertificate, + ...kibanaServerTestUser, + }; + + log.debug(`Configure payload ${JSON.stringify(configurePayload)}`); + + await supertest + .post('/internal/interactive_setup/configure') + .set('kbn-xsrf', 'xxx') + .send(configurePayload) + .expect(204, {}); + + // Configure should no longer accept requests. + await supertest + .post('/internal/interactive_setup/configure') + .set('kbn-xsrf', 'xxx') + .send(configurePayload) + .expect(400, { + error: 'Bad Request', + message: 'Cannot process request outside of preboot stage.', + statusCode: 400, + attributes: { type: 'outside_preboot_stage' }, + }); + + expect(await hasKibanaBooted(context)).to.be(true); + }); + }); +} diff --git a/test/interactive_setup_api_integration/tests/manual_configuration_flow_without_tls.ts b/test/interactive_setup_api_integration/tests/manual_configuration_flow_without_tls.ts new file mode 100644 index 000000000000..97a3e490e965 --- /dev/null +++ b/test/interactive_setup_api_integration/tests/manual_configuration_flow_without_tls.ts @@ -0,0 +1,103 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import expect from '@kbn/expect'; +import { getUrl, kibanaServerTestUser } from '@kbn/test'; + +import { hasKibanaBooted } from '../fixtures/test_helpers'; +import type { FtrProviderContext } from '../ftr_provider_context'; + +export default function (context: FtrProviderContext) { + const supertest = context.getService('supertest'); + const log = context.getService('log'); + const config = context.getService('config'); + + describe('Interactive setup APIs - Manual configuration flow without TLS', function () { + this.tags(['skipCloud', 'ciGroup2']); + + let kibanaVerificationCode: string; + before(async () => { + kibanaVerificationCode = ( + await supertest.get('/test_endpoints/verification_code').expect(200) + ).body.verificationCode; + }); + + it('fails to configure with invalid authentication code', async () => { + const esServerConfig = config.get('servers.elasticsearch'); + const configurePayload = { + host: getUrl.baseUrl(esServerConfig), + code: '000000', + ...kibanaServerTestUser, + }; + + log.debug(`Configure payload ${JSON.stringify(configurePayload)}`); + + await supertest + .post('/internal/interactive_setup/configure') + .set('kbn-xsrf', 'xxx') + .send(configurePayload) + .expect(403, { statusCode: 403, error: 'Forbidden', message: 'Forbidden' }); + }); + + it('fails to configure with invalid credentials', async function () { + const esServerConfig = config.get('servers.elasticsearch'); + const configurePayload = { + host: getUrl.baseUrl(esServerConfig), + code: kibanaVerificationCode, + ...kibanaServerTestUser, + password: 'no-way', + }; + + log.debug(`Configure payload ${JSON.stringify(configurePayload)}`); + + await supertest + .post('/internal/interactive_setup/configure') + .set('kbn-xsrf', 'xxx') + .send(configurePayload) + .expect(500, { + statusCode: 500, + error: 'Internal Server Error', + message: 'Failed to configure.', + attributes: { type: 'configure_failure' }, + }); + }); + + it('should be able to configure with valid authentication code', async function () { + this.timeout(60000); + + const esServerConfig = config.get('servers.elasticsearch'); + const configurePayload = { + host: getUrl.baseUrl(esServerConfig), + code: kibanaVerificationCode, + ...kibanaServerTestUser, + }; + + log.debug(`Configure payload ${JSON.stringify(configurePayload)}`); + + await supertest + .post('/internal/interactive_setup/configure') + .set('kbn-xsrf', 'xxx') + .send(configurePayload) + .expect(204, {}); + + // Configure should no longer accept requests. + await supertest + .post('/internal/interactive_setup/configure') + .set('kbn-xsrf', 'xxx') + .send(configurePayload) + .expect(400, { + error: 'Bad Request', + message: 'Cannot process request outside of preboot stage.', + statusCode: 400, + attributes: { type: 'outside_preboot_stage' }, + }); + + expect(await hasKibanaBooted(context)).to.be(true); + }); + }); +} diff --git a/test/tsconfig.json b/test/tsconfig.json index 660850ffeb6c..288d152bf4bc 100644 --- a/test/tsconfig.json +++ b/test/tsconfig.json @@ -53,6 +53,7 @@ { "path": "../src/plugins/usage_collection/tsconfig.json" }, { "path": "../src/plugins/index_pattern_management/tsconfig.json" }, { "path": "../src/plugins/visualize/tsconfig.json" }, + { "path": "interactive_setup_api_integration/fixtures/test_endpoints/tsconfig.json" }, { "path": "plugin_functional/plugins/core_app_status/tsconfig.json" }, { "path": "plugin_functional/plugins/core_provider_plugin/tsconfig.json" }, { "path": "server_integration/__fixtures__/plugins/status_plugin_a/tsconfig.json" }, diff --git a/x-pack/test/cloud_integration/fixtures/saml/saml_provider/metadata.xml b/x-pack/test/cloud_integration/fixtures/saml/saml_provider/metadata.xml index 19a6c1326414..8cb33193f56c 100644 --- a/x-pack/test/cloud_integration/fixtures/saml/saml_provider/metadata.xml +++ b/x-pack/test/cloud_integration/fixtures/saml/saml_provider/metadata.xml @@ -7,25 +7,24 @@ - MIIDOTCCAiGgAwIBAgIVANNWkg9lzNiLqNkMFhFKHcXyaZmqMA0GCSqGSIb3DQEB + MIIDOTCCAiGgAwIBAgIVAN0GVNLw3IaUBuG7t6CeW8w2wyymMA0GCSqGSIb3DQEB CwUAMDQxMjAwBgNVBAMTKUVsYXN0aWMgQ2VydGlmaWNhdGUgVG9vbCBBdXRvZ2Vu -ZXJhdGVkIENBMCAXDTE5MTIyNzE3MDM0MloYDzIwNjkxMjE0MTcwMzQyWjARMQ8w -DQYDVQQDEwZraWJhbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCQ -wYYbQtbRBKJ4uNZc2+IgRU+7NNL21ZebQlEIMgK7jAqOMrsW2b5DATz41Fd+GQFU -FUYYjwo+PQj6sJHshOJo/gNb32HrydvMI7YPvevkszkuEGCfXxQ3Dw2RTACLgD0Q -OCkwHvn3TMf0loloV/ePGWaZDYZaXi3a5DdWi/HFFoJysgF0JV2f6XyKhJkGaEfJ -s9pWX269zH/XQvGNx4BEimJpYB8h4JnDYPFIiQdqj+sl2b+kS1hH9kL5gBAMXjFU -vcNnX+PmyTjyJrGo75k0ku+spBf1bMwuQt3uSmM+TQIXkvFDmS0DOVESrpA5EC1T -BUGRz6o/I88Xx4Mud771AgMBAAGjYzBhMB0GA1UdDgQWBBQLB1Eo23M3Ss8MsFaz -V+Twcb3PmDAfBgNVHSMEGDAWgBQa7SYOe8NGcF00EbwPHA91YCsHSTAUBgNVHREE -DTALgglsb2NhbGhvc3QwCQYDVR0TBAIwADANBgkqhkiG9w0BAQsFAAOCAQEAnEl/ -z5IElIjvkK4AgMPrNcRlvIGDt2orEik7b6Jsq6/RiJQ7cSsYTZf7xbqyxNsUOTxv -+frj47MEN448H2nRvUxH29YR3XygV5aEwADSAhwaQWn0QfWTCZbJTmSoNEDtDOzX -TGDlAoCD9s9Xz9S1JpxY4H+WWRZrBSDM6SC1c6CzuEeZRuScNAjYD5mh2v6fOlSy -b8xJWSg0AFlJPCa3ZsA2SKbNqI0uNfJTnkXRm88Z2NHcgtlADbOLKauWfCrpgsCk -cZgo6yAYkOM148h/8wGla1eX+iE1R72NUABGydu8MSQKvc0emWJkGsC1/KqPlf/O -eOUsdwn1yDKHRxDHyA== - +ZXJhdGVkIENBMCAXDTIxMTAxMzEwMTU1OFoYDzIwNzExMDAxMTAxNTU4WjARMQ8w +DQYDVQQDEwZraWJhbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3 +nvfL3/26D8EkLso+t9S0m+tSJipLsBWs0dCpc8KRJ/+ijDRnAQ5lOmOAcxt43SNY +KFr0EntQEZyYaRwMIM8aPR0WYW/VV5o4fq2o/JnmHqzZJRJCwZq+5WiCiDPt012N +mRGYCMUxjlEwejue6diLAeQhZ/sfN4jUp217bMEHrhHrNBWTwwJ+Uk5TBQMhviCW +LKbsKrfluA6DGHWrXN4pH7Xmaf/Zyc9AYL/nxwv3VQHZzIAK/U/WNCgFJJ3qoFYY +6TUwDDNa30mSj165OOds9N+VmUlDC3IFiHV3osBWscSU4HJd6QJ8huHrFLLV4y4i +u62el47Qr+/8Ut3SzeIXAgMBAAGjYzBhMB0GA1UdDgQWBBQli5f2bYL9jKUA5Uxp +yRRHeCoPJzAfBgNVHSMEGDAWgBQwTCrAjlvQxik3HBocn1PDUunenjAUBgNVHREE +DTALgglsb2NhbGhvc3QwCQYDVR0TBAIwADANBgkqhkiG9w0BAQsFAAOCAQEATFNj +WkTBPfgflGYZD4OsYvfT/rVjFKbJP/u1a0rkzNamA2QKNzI9JTOzONPTyRhe9yVS +zeO8X2rtN63l38dtgMjFQ15Xxnp7GFT7GkXfa1JR+tGSGTgVld8nLUzig+mNmBoR +nE4cNc0JJ1PsXPzfPgJ6WMp2WOoNUrQf2cm42i36Jk+7KGcosfyFMPQILZE34Geo +DAgCVpNWPgST4HYBUCHMC7S14LHLVdUXPsfGZPEqU5Zf9Hvy61rQC/RdNjnMI6JD +s57l9oHASNeEg55NQm01aOmwq/z1DXs3UP2nRmp6XCCfE61ghofO5dtV1j3cZ3f5 +dzkzSBV7H6+/MD3Y8Q== diff --git a/x-pack/test/security_api_integration/fixtures/pki/README.md b/x-pack/test/security_api_integration/fixtures/pki/README.md index ac2be482c6e3..ae8623ab6411 100644 --- a/x-pack/test/security_api_integration/fixtures/pki/README.md +++ b/x-pack/test/security_api_integration/fixtures/pki/README.md @@ -9,8 +9,8 @@ The `first_client.p12` and `second_client.p12` files were generated the same tim following commands: ``` -bin/elasticsearch-certutil cert -days 18250 --ca elastic-stack-ca.p12 --ca-pass castorepass --name first_client --pass "" -bin/elasticsearch-certutil cert -days 18250 --ca elastic-stack-ca.p12 --ca-pass castorepass --name second_client --pass "" +bin/elasticsearch-certutil cert -days 18250 --ca $KIBANA_HOME/packages/kbn-dev-utils/certs/ca.p12 --ca-pass castorepass --name first_client --pass "" +bin/elasticsearch-certutil cert -days 18250 --ca $KIBANA_HOME/packages/kbn-dev-utils/certs/ca.p12 --ca-pass castorepass --name second_client --pass "" ``` If that CA is ever changed, these two files must be regenerated. diff --git a/x-pack/test/security_api_integration/fixtures/pki/first_client.p12 b/x-pack/test/security_api_integration/fixtures/pki/first_client.p12 index 9d838199e8392672bfff64155616ac536acb4621..9c2aa4401d1c7d1da273d11f97c83409c1decf67 100644 GIT binary patch literal 3620 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 MIJ+kI_^%WHA4&y_+5i9m delta 3437 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 PTqKYU$QS?u0|ADh?Fe;f diff --git a/x-pack/test/security_api_integration/fixtures/pki/second_client.p12 b/x-pack/test/security_api_integration/fixtures/pki/second_client.p12 index f41c0e030ba793d8e4c4fa28738383797eaa54d6..a06e6947f75df7a4d7661d97fd350fa4ca54fd52 100644 GIT binary patch literal 3622 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 XkO5#k!5y|h7%VFuZApp(0|ADh+R=ku diff --git a/x-pack/test/security_api_integration/fixtures/saml/idp_metadata.xml b/x-pack/test/security_api_integration/fixtures/saml/idp_metadata.xml index 57b9e824c9d5..207148665c29 100644 --- a/x-pack/test/security_api_integration/fixtures/saml/idp_metadata.xml +++ b/x-pack/test/security_api_integration/fixtures/saml/idp_metadata.xml @@ -7,25 +7,24 @@ - MIIDOTCCAiGgAwIBAgIVANNWkg9lzNiLqNkMFhFKHcXyaZmqMA0GCSqGSIb3DQEB + MIIDOTCCAiGgAwIBAgIVAN0GVNLw3IaUBuG7t6CeW8w2wyymMA0GCSqGSIb3DQEB CwUAMDQxMjAwBgNVBAMTKUVsYXN0aWMgQ2VydGlmaWNhdGUgVG9vbCBBdXRvZ2Vu -ZXJhdGVkIENBMCAXDTE5MTIyNzE3MDM0MloYDzIwNjkxMjE0MTcwMzQyWjARMQ8w -DQYDVQQDEwZraWJhbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCQ -wYYbQtbRBKJ4uNZc2+IgRU+7NNL21ZebQlEIMgK7jAqOMrsW2b5DATz41Fd+GQFU -FUYYjwo+PQj6sJHshOJo/gNb32HrydvMI7YPvevkszkuEGCfXxQ3Dw2RTACLgD0Q -OCkwHvn3TMf0loloV/ePGWaZDYZaXi3a5DdWi/HFFoJysgF0JV2f6XyKhJkGaEfJ -s9pWX269zH/XQvGNx4BEimJpYB8h4JnDYPFIiQdqj+sl2b+kS1hH9kL5gBAMXjFU -vcNnX+PmyTjyJrGo75k0ku+spBf1bMwuQt3uSmM+TQIXkvFDmS0DOVESrpA5EC1T -BUGRz6o/I88Xx4Mud771AgMBAAGjYzBhMB0GA1UdDgQWBBQLB1Eo23M3Ss8MsFaz -V+Twcb3PmDAfBgNVHSMEGDAWgBQa7SYOe8NGcF00EbwPHA91YCsHSTAUBgNVHREE -DTALgglsb2NhbGhvc3QwCQYDVR0TBAIwADANBgkqhkiG9w0BAQsFAAOCAQEAnEl/ -z5IElIjvkK4AgMPrNcRlvIGDt2orEik7b6Jsq6/RiJQ7cSsYTZf7xbqyxNsUOTxv -+frj47MEN448H2nRvUxH29YR3XygV5aEwADSAhwaQWn0QfWTCZbJTmSoNEDtDOzX -TGDlAoCD9s9Xz9S1JpxY4H+WWRZrBSDM6SC1c6CzuEeZRuScNAjYD5mh2v6fOlSy -b8xJWSg0AFlJPCa3ZsA2SKbNqI0uNfJTnkXRm88Z2NHcgtlADbOLKauWfCrpgsCk -cZgo6yAYkOM148h/8wGla1eX+iE1R72NUABGydu8MSQKvc0emWJkGsC1/KqPlf/O -eOUsdwn1yDKHRxDHyA== - +ZXJhdGVkIENBMCAXDTIxMTAxMzEwMTU1OFoYDzIwNzExMDAxMTAxNTU4WjARMQ8w +DQYDVQQDEwZraWJhbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3 +nvfL3/26D8EkLso+t9S0m+tSJipLsBWs0dCpc8KRJ/+ijDRnAQ5lOmOAcxt43SNY +KFr0EntQEZyYaRwMIM8aPR0WYW/VV5o4fq2o/JnmHqzZJRJCwZq+5WiCiDPt012N +mRGYCMUxjlEwejue6diLAeQhZ/sfN4jUp217bMEHrhHrNBWTwwJ+Uk5TBQMhviCW +LKbsKrfluA6DGHWrXN4pH7Xmaf/Zyc9AYL/nxwv3VQHZzIAK/U/WNCgFJJ3qoFYY +6TUwDDNa30mSj165OOds9N+VmUlDC3IFiHV3osBWscSU4HJd6QJ8huHrFLLV4y4i +u62el47Qr+/8Ut3SzeIXAgMBAAGjYzBhMB0GA1UdDgQWBBQli5f2bYL9jKUA5Uxp +yRRHeCoPJzAfBgNVHSMEGDAWgBQwTCrAjlvQxik3HBocn1PDUunenjAUBgNVHREE +DTALgglsb2NhbGhvc3QwCQYDVR0TBAIwADANBgkqhkiG9w0BAQsFAAOCAQEATFNj +WkTBPfgflGYZD4OsYvfT/rVjFKbJP/u1a0rkzNamA2QKNzI9JTOzONPTyRhe9yVS +zeO8X2rtN63l38dtgMjFQ15Xxnp7GFT7GkXfa1JR+tGSGTgVld8nLUzig+mNmBoR +nE4cNc0JJ1PsXPzfPgJ6WMp2WOoNUrQf2cm42i36Jk+7KGcosfyFMPQILZE34Geo +DAgCVpNWPgST4HYBUCHMC7S14LHLVdUXPsfGZPEqU5Zf9Hvy61rQC/RdNjnMI6JD +s57l9oHASNeEg55NQm01aOmwq/z1DXs3UP2nRmp6XCCfE61ghofO5dtV1j3cZ3f5 +dzkzSBV7H6+/MD3Y8Q== diff --git a/x-pack/test/security_api_integration/fixtures/saml/idp_metadata_2.xml b/x-pack/test/security_api_integration/fixtures/saml/idp_metadata_2.xml index ff67779d7732..ff1f6eccaf6d 100644 --- a/x-pack/test/security_api_integration/fixtures/saml/idp_metadata_2.xml +++ b/x-pack/test/security_api_integration/fixtures/saml/idp_metadata_2.xml @@ -7,25 +7,24 @@ - MIIDOTCCAiGgAwIBAgIVANNWkg9lzNiLqNkMFhFKHcXyaZmqMA0GCSqGSIb3DQEB + MIIDOTCCAiGgAwIBAgIVAN0GVNLw3IaUBuG7t6CeW8w2wyymMA0GCSqGSIb3DQEB CwUAMDQxMjAwBgNVBAMTKUVsYXN0aWMgQ2VydGlmaWNhdGUgVG9vbCBBdXRvZ2Vu -ZXJhdGVkIENBMCAXDTE5MTIyNzE3MDM0MloYDzIwNjkxMjE0MTcwMzQyWjARMQ8w -DQYDVQQDEwZraWJhbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCQ -wYYbQtbRBKJ4uNZc2+IgRU+7NNL21ZebQlEIMgK7jAqOMrsW2b5DATz41Fd+GQFU -FUYYjwo+PQj6sJHshOJo/gNb32HrydvMI7YPvevkszkuEGCfXxQ3Dw2RTACLgD0Q -OCkwHvn3TMf0loloV/ePGWaZDYZaXi3a5DdWi/HFFoJysgF0JV2f6XyKhJkGaEfJ -s9pWX269zH/XQvGNx4BEimJpYB8h4JnDYPFIiQdqj+sl2b+kS1hH9kL5gBAMXjFU -vcNnX+PmyTjyJrGo75k0ku+spBf1bMwuQt3uSmM+TQIXkvFDmS0DOVESrpA5EC1T -BUGRz6o/I88Xx4Mud771AgMBAAGjYzBhMB0GA1UdDgQWBBQLB1Eo23M3Ss8MsFaz -V+Twcb3PmDAfBgNVHSMEGDAWgBQa7SYOe8NGcF00EbwPHA91YCsHSTAUBgNVHREE -DTALgglsb2NhbGhvc3QwCQYDVR0TBAIwADANBgkqhkiG9w0BAQsFAAOCAQEAnEl/ -z5IElIjvkK4AgMPrNcRlvIGDt2orEik7b6Jsq6/RiJQ7cSsYTZf7xbqyxNsUOTxv -+frj47MEN448H2nRvUxH29YR3XygV5aEwADSAhwaQWn0QfWTCZbJTmSoNEDtDOzX -TGDlAoCD9s9Xz9S1JpxY4H+WWRZrBSDM6SC1c6CzuEeZRuScNAjYD5mh2v6fOlSy -b8xJWSg0AFlJPCa3ZsA2SKbNqI0uNfJTnkXRm88Z2NHcgtlADbOLKauWfCrpgsCk -cZgo6yAYkOM148h/8wGla1eX+iE1R72NUABGydu8MSQKvc0emWJkGsC1/KqPlf/O -eOUsdwn1yDKHRxDHyA== - +ZXJhdGVkIENBMCAXDTIxMTAxMzEwMTU1OFoYDzIwNzExMDAxMTAxNTU4WjARMQ8w +DQYDVQQDEwZraWJhbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3 +nvfL3/26D8EkLso+t9S0m+tSJipLsBWs0dCpc8KRJ/+ijDRnAQ5lOmOAcxt43SNY +KFr0EntQEZyYaRwMIM8aPR0WYW/VV5o4fq2o/JnmHqzZJRJCwZq+5WiCiDPt012N +mRGYCMUxjlEwejue6diLAeQhZ/sfN4jUp217bMEHrhHrNBWTwwJ+Uk5TBQMhviCW +LKbsKrfluA6DGHWrXN4pH7Xmaf/Zyc9AYL/nxwv3VQHZzIAK/U/WNCgFJJ3qoFYY +6TUwDDNa30mSj165OOds9N+VmUlDC3IFiHV3osBWscSU4HJd6QJ8huHrFLLV4y4i +u62el47Qr+/8Ut3SzeIXAgMBAAGjYzBhMB0GA1UdDgQWBBQli5f2bYL9jKUA5Uxp +yRRHeCoPJzAfBgNVHSMEGDAWgBQwTCrAjlvQxik3HBocn1PDUunenjAUBgNVHREE +DTALgglsb2NhbGhvc3QwCQYDVR0TBAIwADANBgkqhkiG9w0BAQsFAAOCAQEATFNj +WkTBPfgflGYZD4OsYvfT/rVjFKbJP/u1a0rkzNamA2QKNzI9JTOzONPTyRhe9yVS +zeO8X2rtN63l38dtgMjFQ15Xxnp7GFT7GkXfa1JR+tGSGTgVld8nLUzig+mNmBoR +nE4cNc0JJ1PsXPzfPgJ6WMp2WOoNUrQf2cm42i36Jk+7KGcosfyFMPQILZE34Geo +DAgCVpNWPgST4HYBUCHMC7S14LHLVdUXPsfGZPEqU5Zf9Hvy61rQC/RdNjnMI6JD +s57l9oHASNeEg55NQm01aOmwq/z1DXs3UP2nRmp6XCCfE61ghofO5dtV1j3cZ3f5 +dzkzSBV7H6+/MD3Y8Q== diff --git a/x-pack/test/security_api_integration/fixtures/saml/idp_metadata_never_login.xml b/x-pack/test/security_api_integration/fixtures/saml/idp_metadata_never_login.xml index 44b2ede5060f..6ab5e1aeb708 100644 --- a/x-pack/test/security_api_integration/fixtures/saml/idp_metadata_never_login.xml +++ b/x-pack/test/security_api_integration/fixtures/saml/idp_metadata_never_login.xml @@ -7,25 +7,24 @@ - MIIDOTCCAiGgAwIBAgIVANNWkg9lzNiLqNkMFhFKHcXyaZmqMA0GCSqGSIb3DQEB + MIIDOTCCAiGgAwIBAgIVAN0GVNLw3IaUBuG7t6CeW8w2wyymMA0GCSqGSIb3DQEB CwUAMDQxMjAwBgNVBAMTKUVsYXN0aWMgQ2VydGlmaWNhdGUgVG9vbCBBdXRvZ2Vu -ZXJhdGVkIENBMCAXDTE5MTIyNzE3MDM0MloYDzIwNjkxMjE0MTcwMzQyWjARMQ8w -DQYDVQQDEwZraWJhbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCQ -wYYbQtbRBKJ4uNZc2+IgRU+7NNL21ZebQlEIMgK7jAqOMrsW2b5DATz41Fd+GQFU -FUYYjwo+PQj6sJHshOJo/gNb32HrydvMI7YPvevkszkuEGCfXxQ3Dw2RTACLgD0Q -OCkwHvn3TMf0loloV/ePGWaZDYZaXi3a5DdWi/HFFoJysgF0JV2f6XyKhJkGaEfJ -s9pWX269zH/XQvGNx4BEimJpYB8h4JnDYPFIiQdqj+sl2b+kS1hH9kL5gBAMXjFU -vcNnX+PmyTjyJrGo75k0ku+spBf1bMwuQt3uSmM+TQIXkvFDmS0DOVESrpA5EC1T -BUGRz6o/I88Xx4Mud771AgMBAAGjYzBhMB0GA1UdDgQWBBQLB1Eo23M3Ss8MsFaz -V+Twcb3PmDAfBgNVHSMEGDAWgBQa7SYOe8NGcF00EbwPHA91YCsHSTAUBgNVHREE -DTALgglsb2NhbGhvc3QwCQYDVR0TBAIwADANBgkqhkiG9w0BAQsFAAOCAQEAnEl/ -z5IElIjvkK4AgMPrNcRlvIGDt2orEik7b6Jsq6/RiJQ7cSsYTZf7xbqyxNsUOTxv -+frj47MEN448H2nRvUxH29YR3XygV5aEwADSAhwaQWn0QfWTCZbJTmSoNEDtDOzX -TGDlAoCD9s9Xz9S1JpxY4H+WWRZrBSDM6SC1c6CzuEeZRuScNAjYD5mh2v6fOlSy -b8xJWSg0AFlJPCa3ZsA2SKbNqI0uNfJTnkXRm88Z2NHcgtlADbOLKauWfCrpgsCk -cZgo6yAYkOM148h/8wGla1eX+iE1R72NUABGydu8MSQKvc0emWJkGsC1/KqPlf/O -eOUsdwn1yDKHRxDHyA== - +ZXJhdGVkIENBMCAXDTIxMTAxMzEwMTU1OFoYDzIwNzExMDAxMTAxNTU4WjARMQ8w +DQYDVQQDEwZraWJhbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3 +nvfL3/26D8EkLso+t9S0m+tSJipLsBWs0dCpc8KRJ/+ijDRnAQ5lOmOAcxt43SNY +KFr0EntQEZyYaRwMIM8aPR0WYW/VV5o4fq2o/JnmHqzZJRJCwZq+5WiCiDPt012N +mRGYCMUxjlEwejue6diLAeQhZ/sfN4jUp217bMEHrhHrNBWTwwJ+Uk5TBQMhviCW +LKbsKrfluA6DGHWrXN4pH7Xmaf/Zyc9AYL/nxwv3VQHZzIAK/U/WNCgFJJ3qoFYY +6TUwDDNa30mSj165OOds9N+VmUlDC3IFiHV3osBWscSU4HJd6QJ8huHrFLLV4y4i +u62el47Qr+/8Ut3SzeIXAgMBAAGjYzBhMB0GA1UdDgQWBBQli5f2bYL9jKUA5Uxp +yRRHeCoPJzAfBgNVHSMEGDAWgBQwTCrAjlvQxik3HBocn1PDUunenjAUBgNVHREE +DTALgglsb2NhbGhvc3QwCQYDVR0TBAIwADANBgkqhkiG9w0BAQsFAAOCAQEATFNj +WkTBPfgflGYZD4OsYvfT/rVjFKbJP/u1a0rkzNamA2QKNzI9JTOzONPTyRhe9yVS +zeO8X2rtN63l38dtgMjFQ15Xxnp7GFT7GkXfa1JR+tGSGTgVld8nLUzig+mNmBoR +nE4cNc0JJ1PsXPzfPgJ6WMp2WOoNUrQf2cm42i36Jk+7KGcosfyFMPQILZE34Geo +DAgCVpNWPgST4HYBUCHMC7S14LHLVdUXPsfGZPEqU5Zf9Hvy61rQC/RdNjnMI6JD +s57l9oHASNeEg55NQm01aOmwq/z1DXs3UP2nRmp6XCCfE61ghofO5dtV1j3cZ3f5 +dzkzSBV7H6+/MD3Y8Q== diff --git a/x-pack/test/security_api_integration/fixtures/saml/saml_provider/metadata.xml b/x-pack/test/security_api_integration/fixtures/saml/saml_provider/metadata.xml index 19a6c1326414..8cb33193f56c 100644 --- a/x-pack/test/security_api_integration/fixtures/saml/saml_provider/metadata.xml +++ b/x-pack/test/security_api_integration/fixtures/saml/saml_provider/metadata.xml @@ -7,25 +7,24 @@ - MIIDOTCCAiGgAwIBAgIVANNWkg9lzNiLqNkMFhFKHcXyaZmqMA0GCSqGSIb3DQEB + MIIDOTCCAiGgAwIBAgIVAN0GVNLw3IaUBuG7t6CeW8w2wyymMA0GCSqGSIb3DQEB CwUAMDQxMjAwBgNVBAMTKUVsYXN0aWMgQ2VydGlmaWNhdGUgVG9vbCBBdXRvZ2Vu -ZXJhdGVkIENBMCAXDTE5MTIyNzE3MDM0MloYDzIwNjkxMjE0MTcwMzQyWjARMQ8w -DQYDVQQDEwZraWJhbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCQ -wYYbQtbRBKJ4uNZc2+IgRU+7NNL21ZebQlEIMgK7jAqOMrsW2b5DATz41Fd+GQFU -FUYYjwo+PQj6sJHshOJo/gNb32HrydvMI7YPvevkszkuEGCfXxQ3Dw2RTACLgD0Q -OCkwHvn3TMf0loloV/ePGWaZDYZaXi3a5DdWi/HFFoJysgF0JV2f6XyKhJkGaEfJ -s9pWX269zH/XQvGNx4BEimJpYB8h4JnDYPFIiQdqj+sl2b+kS1hH9kL5gBAMXjFU -vcNnX+PmyTjyJrGo75k0ku+spBf1bMwuQt3uSmM+TQIXkvFDmS0DOVESrpA5EC1T -BUGRz6o/I88Xx4Mud771AgMBAAGjYzBhMB0GA1UdDgQWBBQLB1Eo23M3Ss8MsFaz -V+Twcb3PmDAfBgNVHSMEGDAWgBQa7SYOe8NGcF00EbwPHA91YCsHSTAUBgNVHREE -DTALgglsb2NhbGhvc3QwCQYDVR0TBAIwADANBgkqhkiG9w0BAQsFAAOCAQEAnEl/ -z5IElIjvkK4AgMPrNcRlvIGDt2orEik7b6Jsq6/RiJQ7cSsYTZf7xbqyxNsUOTxv -+frj47MEN448H2nRvUxH29YR3XygV5aEwADSAhwaQWn0QfWTCZbJTmSoNEDtDOzX -TGDlAoCD9s9Xz9S1JpxY4H+WWRZrBSDM6SC1c6CzuEeZRuScNAjYD5mh2v6fOlSy -b8xJWSg0AFlJPCa3ZsA2SKbNqI0uNfJTnkXRm88Z2NHcgtlADbOLKauWfCrpgsCk -cZgo6yAYkOM148h/8wGla1eX+iE1R72NUABGydu8MSQKvc0emWJkGsC1/KqPlf/O -eOUsdwn1yDKHRxDHyA== - +ZXJhdGVkIENBMCAXDTIxMTAxMzEwMTU1OFoYDzIwNzExMDAxMTAxNTU4WjARMQ8w +DQYDVQQDEwZraWJhbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC3 +nvfL3/26D8EkLso+t9S0m+tSJipLsBWs0dCpc8KRJ/+ijDRnAQ5lOmOAcxt43SNY +KFr0EntQEZyYaRwMIM8aPR0WYW/VV5o4fq2o/JnmHqzZJRJCwZq+5WiCiDPt012N +mRGYCMUxjlEwejue6diLAeQhZ/sfN4jUp217bMEHrhHrNBWTwwJ+Uk5TBQMhviCW +LKbsKrfluA6DGHWrXN4pH7Xmaf/Zyc9AYL/nxwv3VQHZzIAK/U/WNCgFJJ3qoFYY +6TUwDDNa30mSj165OOds9N+VmUlDC3IFiHV3osBWscSU4HJd6QJ8huHrFLLV4y4i +u62el47Qr+/8Ut3SzeIXAgMBAAGjYzBhMB0GA1UdDgQWBBQli5f2bYL9jKUA5Uxp +yRRHeCoPJzAfBgNVHSMEGDAWgBQwTCrAjlvQxik3HBocn1PDUunenjAUBgNVHREE +DTALgglsb2NhbGhvc3QwCQYDVR0TBAIwADANBgkqhkiG9w0BAQsFAAOCAQEATFNj +WkTBPfgflGYZD4OsYvfT/rVjFKbJP/u1a0rkzNamA2QKNzI9JTOzONPTyRhe9yVS +zeO8X2rtN63l38dtgMjFQ15Xxnp7GFT7GkXfa1JR+tGSGTgVld8nLUzig+mNmBoR +nE4cNc0JJ1PsXPzfPgJ6WMp2WOoNUrQf2cm42i36Jk+7KGcosfyFMPQILZE34Geo +DAgCVpNWPgST4HYBUCHMC7S14LHLVdUXPsfGZPEqU5Zf9Hvy61rQC/RdNjnMI6JD +s57l9oHASNeEg55NQm01aOmwq/z1DXs3UP2nRmp6XCCfE61ghofO5dtV1j3cZ3f5 +dzkzSBV7H6+/MD3Y8Q==