@kong-ui-public/entities-certificates 3.10.6 → 3.10.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -9978,9 +9978,10 @@ const ft = {
|
|
|
9978
9978
|
"metadata-label": A(() => [
|
|
9979
9979
|
C(ue, { class: "metadata-label" }, {
|
|
9980
9980
|
default: A(() => T[2] || (T[2] = [
|
|
9981
|
-
de(" Metadata ")
|
|
9981
|
+
de(" Metadata ", -1)
|
|
9982
9982
|
])),
|
|
9983
|
-
_: 1
|
|
9983
|
+
_: 1,
|
|
9984
|
+
__: [2]
|
|
9984
9985
|
})
|
|
9985
9986
|
]),
|
|
9986
9987
|
metadata: A((w) => [
|
|
@@ -10735,9 +10736,10 @@ const ft = {
|
|
|
10735
10736
|
"metadata-label": A(() => [
|
|
10736
10737
|
C(ae, { class: "metadata-label" }, {
|
|
10737
10738
|
default: A(() => k[2] || (k[2] = [
|
|
10738
|
-
de(" Metadata ")
|
|
10739
|
+
de(" Metadata ", -1)
|
|
10739
10740
|
])),
|
|
10740
|
-
_: 1
|
|
10741
|
+
_: 1,
|
|
10742
|
+
__: [2]
|
|
10741
10743
|
})
|
|
10742
10744
|
]),
|
|
10743
10745
|
metadata: A((fe) => [
|
|
@@ -10805,14 +10807,14 @@ const ft = {
|
|
|
10805
10807
|
z.value ? void 0 : {
|
|
10806
10808
|
name: "snis",
|
|
10807
10809
|
fn: A(() => [
|
|
10808
|
-
k[3] || (k[3] = de(" – "))
|
|
10810
|
+
k[3] || (k[3] = de(" – ", -1))
|
|
10809
10811
|
]),
|
|
10810
10812
|
key: "0"
|
|
10811
10813
|
},
|
|
10812
10814
|
ue.value ? {
|
|
10813
10815
|
name: "cert_alt",
|
|
10814
10816
|
fn: A((fe) => [
|
|
10815
|
-
k[4] || (k[4] = de(" > ")),
|
|
10817
|
+
k[4] || (k[4] = de(" > ", -1)),
|
|
10816
10818
|
y(u)("rowValue", fe) ? (H(), ke(xe, {
|
|
10817
10819
|
key: 0,
|
|
10818
10820
|
id: `certificate-${r.config.entityId}-cert-alt-codeblock`,
|
|
@@ -114,4 +114,4 @@ ${e.join(`
|
|
|
114
114
|
`)}static pad(e=0){return"".padStart(2*e," ")}static serializeObj(e,t=0){const i=[];let n=this.pad(t++),s="";const a=e[Q.VALUE];a&&(s=` ${a}`),i.push(`${n}${e[Q.NAME]}:${s}`),n=this.pad(t);for(const u in e){if(typeof u=="symbol")continue;const f=e[u],d=u?`${u}: `:"";if(typeof f=="string"||typeof f=="number"||typeof f=="boolean")i.push(`${n}${d}${f}`);else if(f instanceof Date)i.push(`${n}${d}${f.toUTCString()}`);else if(Array.isArray(f))for(const g of f)g[Q.NAME]=u,i.push(...this.serializeObj(g,t));else if(f instanceof Q)f[Q.NAME]=u,i.push(...this.serializeObj(f,t));else if(x.isBufferSource(f))u?(i.push(`${n}${d}`),i.push(...this.serializeBufferSource(f,t+1))):i.push(...this.serializeBufferSource(f,t));else if("toTextObject"in f){const g=f.toTextObject();g[Q.NAME]=u,i.push(...this.serializeObj(g,t))}else throw new TypeError("Cannot serialize data in text format. Unsupported type.")}return i}static serializeBufferSource(e,t=0){const i=this.pad(t),n=x.toUint8Array(e),s=[];for(let a=0;a<n.length;){const u=[];for(let f=0;f<16&&a<n.length;f++){f===8&&u.push("");const d=n[a++].toString(16).padStart(2,"0");u.push(d)}s.push(`${i}${u.join(" ")}`)}return s}static serializeAlgorithm(e){return this.algorithmSerializer.toTextObject(e)}}Zt.oidSerializer=Nt,Zt.algorithmSerializer=Nd;class Ot{constructor(...e){if(e.length===1){const t=e[0];this.rawData=B.serialize(t),this.onInit(t)}else{const t=B.parse(e[0],e[1]);this.rawData=x.toArrayBuffer(e[0]),this.onInit(t)}}equal(e){return e instanceof Ot?Na(e.rawData,this.rawData):!1}toString(e="text"){switch(e){case"asn":return B.toString(this.rawData);case"text":return Zt.serialize(this.toTextObject());case"hex":return j.ToHex(this.rawData);case"base64":return j.ToBase64(this.rawData);case"base64url":return j.ToBase64Url(this.rawData);default:throw TypeError("Argument 'format' is unsupported value")}}getTextName(){return this.constructor.NAME}toTextObject(){const e=this.toTextObjectEmpty();return e[""]=this.rawData,e}toTextObjectEmpty(e){return new Q(this.getTextName(),{},e)}}Ot.NAME="ASN";class Le extends Ot{constructor(...e){let t;x.isBufferSource(e[0])?t=x.toArrayBuffer(e[0]):t=B.serialize(new Qe({extnID:e[0],critical:e[1],extnValue:new Y(x.toArrayBuffer(e[2]))})),super(t,Qe)}onInit(e){this.type=e.extnID,this.critical=e.critical,this.value=e.extnValue.buffer}toTextObject(){const e=this.toTextObjectWithoutValue();return e[""]=this.value,e}toTextObjectWithoutValue(){const e=this.toTextObjectEmpty(this.critical?"critical":void 0);return e[Q.NAME]===Le.NAME&&(e[Q.NAME]=Nt.toString(this.type)),e}}var Su;class Tt{static isCryptoKeyPair(e){return e&&e.privateKey&&e.publicKey}static isCryptoKey(e){return e&&e.usages&&e.type&&e.algorithm&&e.extractable!==void 0}constructor(){this.items=new Map,this[Su]="CryptoProvider",typeof self<"u"&&typeof crypto<"u"?this.set(Tt.DEFAULT,crypto):typeof global<"u"&&global.crypto&&global.crypto.subtle&&this.set(Tt.DEFAULT,global.crypto)}clear(){this.items.clear()}delete(e){return this.items.delete(e)}forEach(e,t){return this.items.forEach(e,t)}has(e){return this.items.has(e)}get size(){return this.items.size}entries(){return this.items.entries()}keys(){return this.items.keys()}values(){return this.items.values()}[Symbol.iterator](){return this.items[Symbol.iterator]()}get(e=Tt.DEFAULT){const t=this.items.get(e.toLowerCase());if(!t)throw new Error(`Cannot get Crypto by name '${e}'`);return t}set(e,t){if(typeof e=="string"){if(!t)throw new TypeError("Argument 'value' is required");this.items.set(e.toLowerCase(),t)}else this.items.set(Tt.DEFAULT,e);return this}}Su=Symbol.toStringTag,Tt.DEFAULT="default";const Ve=new Tt,Od=/^[0-2](?:\.[1-9][0-9]*)+$/;function Td(r){return new RegExp(Od).test(r)}class ku{constructor(e={}){this.items={};for(const t in e)this.register(t,e[t])}get(e){return this.items[e]||null}findId(e){return Td(e)?e:this.get(e)}register(e,t){this.items[e]=t,this.items[t]=e}}const Me=new ku;Me.register("CN","2.5.4.3"),Me.register("L","2.5.4.7"),Me.register("ST","2.5.4.8"),Me.register("O","2.5.4.10"),Me.register("OU","2.5.4.11"),Me.register("C","2.5.4.6"),Me.register("DC","0.9.2342.19200300.100.1.25"),Me.register("E","1.2.840.113549.1.9.1"),Me.register("G","2.5.4.42"),Me.register("I","2.5.4.43"),Me.register("SN","2.5.4.4"),Me.register("T","2.5.4.12");function _d(r,e){return`\\${j.ToHex(j.FromUtf8String(e)).toUpperCase()}`}function Vd(r){return r.replace(/([,+"\\<>;])/g,"\\$1").replace(/^([ #])/,"\\$1").replace(/([ ]$)/,"\\$1").replace(/([\r\n\t])/,_d)}class _t{static isASCII(e){for(let t=0;t<e.length;t++)if(e.charCodeAt(t)>255)return!1;return!0}static isPrintableString(e){return/^[A-Za-z0-9 '()+,-./:=?]*$/g.test(e)}constructor(e,t={}){this.extraNames=new ku,this.asn=new ge;for(const i in t)if(Object.prototype.hasOwnProperty.call(t,i)){const n=t[i];this.extraNames.register(i,n)}typeof e=="string"?this.asn=this.fromString(e):e instanceof ge?this.asn=e:x.isBufferSource(e)?this.asn=B.parse(e,ge):this.asn=this.fromJSON(e)}getField(e){const t=this.extraNames.findId(e)||Me.findId(e),i=[];for(const n of this.asn)for(const s of n)s.type===t&&i.push(s.value.toString());return i}getName(e){return this.extraNames.get(e)||Me.get(e)}toString(){return this.asn.map(e=>e.map(t=>{const i=this.getName(t.type)||t.type,n=t.value.anyValue?`#${j.ToHex(t.value.anyValue)}`:Vd(t.value.toString());return`${i}=${n}`}).join("+")).join(", ")}toJSON(){var e;const t=[];for(const i of this.asn){const n={};for(const s of i){const a=this.getName(s.type)||s.type;(e=n[a])!==null&&e!==void 0||(n[a]=[]),n[a].push(s.value.anyValue?`#${j.ToHex(s.value.anyValue)}`:s.value.toString())}t.push(n)}return t}fromString(e){const t=new ge,i=/(\d\.[\d.]*\d|[A-Za-z]+)=((?:"")|(?:".*?[^\\]")|(?:[^,+"\\](?=[,+]|$))|(?:[^,+].*?(?:[^\\][,+]))|(?:))([,+])?/g;let n=null,s=",";for(;n=i.exec(`${e},`);){let[,a,u]=n;const f=u[u.length-1];(f===","||f==="+")&&(u=u.slice(0,u.length-1),n[3]=f);const d=n[3];a=this.getTypeOid(a);const g=this.createAttribute(a,u);s==="+"?t[t.length-1].push(g):t.push(new ar([g])),s=d}return t}fromJSON(e){const t=new ge;for(const i of e){const n=new ar;for(const s in i){const a=this.getTypeOid(s),u=i[s];for(const f of u){const d=this.createAttribute(a,f);n.push(d)}}t.push(n)}return t}getTypeOid(e){if(/[\d.]+/.test(e)||(e=this.getName(e)||""),!e)throw new Error(`Cannot get OID for name type '${e}'`);return e}createAttribute(e,t){const i=new Mi({type:e});if(typeof t=="object")for(const n in t)switch(n){case"ia5String":i.value.ia5String=t[n];break;case"utf8String":i.value.utf8String=t[n];break;case"universalString":i.value.universalString=t[n];break;case"bmpString":i.value.bmpString=t[n];break;case"printableString":i.value.printableString=t[n];break}else if(t[0]==="#")i.value.anyValue=j.FromHex(t.slice(1));else{const n=this.processStringValue(t);e===this.getName("E")||e===this.getName("DC")?i.value.ia5String=n:_t.isPrintableString(n)?i.value.printableString=n:i.value.utf8String=n}return i}processStringValue(e){const t=/"(.*?[^\\])?"/.exec(e);return t&&(e=t[1]),e.replace(/\\0a/ig,`
|
|
115
115
|
`).replace(/\\0d/ig,"\r").replace(/\\0g/ig," ").replace(/\\(.)/g,"$1")}toArrayBuffer(){return B.serialize(this.asn)}async getThumbprint(...e){var t;let i,n="SHA-1";return e.length>=1&&!(!((t=e[0])===null||t===void 0)&&t.subtle)?(n=e[0]||n,i=e[1]||Ve.get()):i=e[0]||Ve.get(),await i.subtle.digest(n,this.toArrayBuffer())}}const Cu="Cannot initialize GeneralName from ASN.1 data.",xu=`${Cu} Unsupported string format in use.`,jd=`${Cu} Value doesn't match to GUID regular expression.`,Bu=/^([0-9a-f]{8})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{12})$/i,Eu="1.3.6.1.4.1.311.25.1",Iu="1.3.6.1.4.1.311.20.2.3",oa="dns",sa="dn",aa="email",ca="ip",la="url",ua="guid",fa="upn",Wn="id";class Vt extends Ot{constructor(...e){let t;if(e.length===2)switch(e[0]){case sa:{const i=new _t(e[1]).toArrayBuffer(),n=B.parse(i,ge);t=new L({directoryName:n});break}case oa:t=new L({dNSName:e[1]});break;case aa:t=new L({rfc822Name:e[1]});break;case ua:{const i=new RegExp(Bu,"i").exec(e[1]);if(!i)throw new Error("Cannot parse GUID value. Value doesn't match to regular expression");const n=i.slice(1).map((s,a)=>a<3?j.ToHex(new Uint8Array(j.FromHex(s)).reverse()):s).join("");t=new L({otherName:new Hr({typeId:Eu,value:B.serialize(new Y(j.FromHex(n)))})});break}case ca:t=new L({iPAddress:e[1]});break;case Wn:t=new L({registeredID:e[1]});break;case fa:{t=new L({otherName:new Hr({typeId:Iu,value:B.serialize(Nc.toASN(e[1]))})});break}case la:t=new L({uniformResourceIdentifier:e[1]});break;default:throw new Error("Cannot create GeneralName. Unsupported type of the name")}else x.isBufferSource(e[0])?t=B.parse(e[0],L):t=e[0];super(t)}onInit(e){if(e.dNSName!=null)this.type=oa,this.value=e.dNSName;else if(e.rfc822Name!=null)this.type=aa,this.value=e.rfc822Name;else if(e.iPAddress!=null)this.type=ca,this.value=e.iPAddress;else if(e.uniformResourceIdentifier!=null)this.type=la,this.value=e.uniformResourceIdentifier;else if(e.registeredID!=null)this.type=Wn,this.value=e.registeredID;else if(e.directoryName!=null)this.type=sa,this.value=new _t(e.directoryName).toString();else if(e.otherName!=null)if(e.otherName.typeId===Eu){this.type=ua;const t=B.parse(e.otherName.value,Y),i=new RegExp(Bu,"i").exec(j.ToHex(t));if(!i)throw new Error(jd);this.value=i.slice(1).map((n,s)=>s<3?j.ToHex(new Uint8Array(j.FromHex(n)).reverse()):n).join("-")}else if(e.otherName.typeId===Iu)this.type=fa,this.value=B.parse(e.otherName.value,ke).toString();else throw new Error(xu);else throw new Error(xu)}toJSON(){return{type:this.type,value:this.value}}toTextObject(){let e;switch(this.type){case sa:case oa:case ua:case ca:case Wn:case fa:case la:e=this.type.toUpperCase();break;case aa:e="Email";break;default:throw new Error("Unsupported GeneralName type")}let t=this.value;return this.type===Wn&&(t=Nt.toString(t)),new Q(e,void 0,t)}}class Qt extends Ot{constructor(e){let t;if(e instanceof Be)t=e;else if(Array.isArray(e)){const i=[];for(const n of e)if(n instanceof L)i.push(n);else{const s=B.parse(new Vt(n.type,n.value).rawData,L);i.push(s)}t=new Be(i)}else if(x.isBufferSource(e))t=B.parse(e,Be);else throw new Error("Cannot initialize GeneralNames. Incorrect incoming arguments");super(t)}onInit(e){const t=[];for(const i of e){let n=null;try{n=new Vt(i)}catch{continue}t.push(n)}this.items=t}toJSON(){return this.items.map(e=>e.toJSON())}toTextObject(){const e=super.toTextObjectEmpty();for(const t of this.items){const i=t.toTextObject();let n=e[i[Q.NAME]];Array.isArray(n)||(n=[],e[i[Q.NAME]]=n),n.push(i)}return e}}Qt.NAME="GeneralNames";const ui="-{5}",fi="\\n",Pd=`[^${fi}]+`,Rd=`${ui}BEGIN (${Pd}(?=${ui}))${ui}`,Dd=`${ui}END \\1${ui}`,Nr="\\n",Md=`[^:${fi}]+`,Ud=`(?:[^${fi}]+${Nr}(?: +[^${fi}]+${Nr})*)`,$d=`(?:[a-zA-Z0-9=+/]+${Nr})+`,Nu=`${Rd}${Nr}(?:((?:${Md}: ${Ud})+))?${Nr}?(${$d})${Dd}`;class Fe{static isPem(e){return typeof e=="string"&&new RegExp(Nu,"g").test(e.replace(/\r/g,""))}static decodeWithHeaders(e){e=e.replace(/\r/g,"");const t=new RegExp(Nu,"g"),i=[];let n=null;for(;n=t.exec(e);){const s=n[3].replace(new RegExp(`[${fi}]+`,"g"),""),a={type:n[1],headers:[],rawData:j.FromBase64(s)},u=n[2];if(u){const f=u.split(new RegExp(Nr,"g"));let d=null;for(const g of f){const[h,H]=g.split(/:(.*)/);if(H===void 0){if(!d)throw new Error("Cannot parse PEM string. Incorrect header value");d.value+=h.trim()}else d&&a.headers.push(d),d={key:h,value:H.trim()}}d&&a.headers.push(d)}i.push(a)}return i}static decode(e){return this.decodeWithHeaders(e).map(i=>i.rawData)}static decodeFirst(e){const t=this.decode(e);if(!t.length)throw new RangeError("PEM string doesn't contain any objects");return t[0]}static encode(e,t){if(Array.isArray(e)){const i=new Array;return t?e.forEach(n=>{if(!x.isBufferSource(n))throw new TypeError("Cannot encode array of BufferSource in PEM format. Not all items of the array are BufferSource");i.push(this.encodeStruct({type:t,rawData:x.toArrayBuffer(n)}))}):e.forEach(n=>{if(!("type"in n))throw new TypeError("Cannot encode array of PemStruct in PEM format. Not all items of the array are PemStrut");i.push(this.encodeStruct(n))}),i.join(`
|
|
116
116
|
`)}else{if(!t)throw new Error("Required argument 'tag' is missed");return this.encodeStruct({type:t,rawData:x.toArrayBuffer(e)})}}static encodeStruct(e){var t;const i=e.type.toLocaleUpperCase(),n=[];if(n.push(`-----BEGIN ${i}-----`),!((t=e.headers)===null||t===void 0)&&t.length){for(const d of e.headers)n.push(`${d.key}: ${d.value}`);n.push("")}const s=j.ToBase64(e.rawData);let a,u=0;const f=Array();for(;u<s.length&&(s.length-u<64?a=s.substring(u):(a=s.substring(u,u+64),u+=64),a.length!==0);)if(f.push(a),a.length<64)break;return n.push(...f),n.push(`-----END ${i}-----`),n.join(`
|
|
117
|
-
`)}}Fe.CertificateTag="CERTIFICATE",Fe.CrlTag="CRL",Fe.CertificateRequestTag="CERTIFICATE REQUEST",Fe.PublicKeyTag="PUBLIC KEY",Fe.PrivateKeyTag="PRIVATE KEY";class St extends Ot{static isAsnEncoded(e){return x.isBufferSource(e)||typeof e=="string"}static toArrayBuffer(e){if(typeof e=="string"){if(Fe.isPem(e))return Fe.decode(e)[0];if(j.isHex(e))return j.FromHex(e);if(j.isBase64(e))return j.FromBase64(e);if(j.isBase64Url(e))return j.FromBase64Url(e);throw new TypeError("Unsupported format of 'raw' argument. Must be one of DER, PEM, HEX, Base64, or Base4Url")}else{const t=j.ToBinary(e);return Fe.isPem(t)?Fe.decode(t)[0]:j.isHex(t)?j.FromHex(t):j.isBase64(t)?j.FromBase64(t):j.isBase64Url(t)?j.FromBase64Url(t):x.toArrayBuffer(e)}}constructor(...e){St.isAsnEncoded(e[0])?super(St.toArrayBuffer(e[0]),e[1]):super(e[0])}toString(e="pem"){switch(e){case"pem":return Fe.encode(this.rawData,this.tag);default:return super.toString(e)}}}class ut extends St{static async create(e,t=Ve.get()){if(e instanceof ut)return e;if(Tt.isCryptoKey(e)){if(e.type!=="public")throw new TypeError("Public key is required");const i=await t.subtle.exportKey("spki",e);return new ut(i)}else{if(e.publicKey)return e.publicKey;if(x.isBufferSource(e))return new ut(e);throw new TypeError("Unsupported PublicKeyType")}}constructor(e){St.isAsnEncoded(e)?super(e,st):super(e),this.tag=Fe.PublicKeyTag}async export(...e){let t,i=["verify"],n={hash:"SHA-256",...this.algorithm};e.length>1?(n=e[0]||n,i=e[1]||i,t=e[2]||Ve.get()):t=e[0]||Ve.get();let s=this.rawData;const a=B.parse(this.rawData,st);return a.algorithm.algorithm===ni&&(s=Hd(a,s)),t.subtle.importKey("spki",s,n,!0,i)}onInit(e){const t=_e.resolve(Ir),i=this.algorithm=t.toWebAlgorithm(e.algorithm);switch(e.algorithm.algorithm){case Gt:{const n=B.parse(e.subjectPublicKey,Ps),s=x.toUint8Array(n.modulus);i.publicExponent=x.toUint8Array(n.publicExponent),i.modulusLength=(s[0]?s:s.slice(1)).byteLength<<3;break}}}async getThumbprint(...e){var t;let i,n="SHA-1";return e.length>=1&&!(!((t=e[0])===null||t===void 0)&&t.subtle)?(n=e[0]||n,i=e[1]||Ve.get()):i=e[0]||Ve.get(),await i.subtle.digest(n,this.rawData)}async getKeyIdentifier(...e){let t,i="SHA-1";e.length===1?typeof e[0]=="string"?(i=e[0],t=Ve.get()):t=e[0]:e.length===2?(i=e[0],t=e[1]):t=Ve.get();const n=B.parse(this.rawData,st);return await t.subtle.digest(i,n.subjectPublicKey)}toTextObject(){const e=this.toTextObjectEmpty(),t=B.parse(this.rawData,st);switch(e.Algorithm=Zt.serializeAlgorithm(t.algorithm),t.algorithm.algorithm){case ti:e["EC Point"]=t.subjectPublicKey;break;case Gt:default:e["Raw Data"]=t.subjectPublicKey}return e}}function Hd(r,e){return r.algorithm=new I({algorithm:Gt,parameters:null}),e=B.serialize(r),e}class di extends Le{static async create(e,t=!1,i=Ve.get()){if("name"in e&&"serialNumber"in e)return new di(e,t);const s=await(await ut.create(e,i)).getKeyIdentifier(i);return new di(j.ToHex(s),t)}constructor(...e){if(x.isBufferSource(e[0]))super(e[0]);else if(typeof e[0]=="string"){const t=new Ht({keyIdentifier:new To(j.FromHex(e[0]))});super(Oo,e[1],B.serialize(t))}else{const t=e[0],i=t.name instanceof Qt?B.parse(t.name.rawData,Be):t.name,n=new Ht({authorityCertIssuer:i,authorityCertSerialNumber:j.FromHex(t.serialNumber)});super(Oo,e[1],B.serialize(n))}}onInit(e){super.onInit(e);const t=B.parse(e.extnValue,Ht);t.keyIdentifier&&(this.keyId=j.ToHex(t.keyIdentifier)),(t.authorityCertIssuer||t.authorityCertSerialNumber)&&(this.certId={name:t.authorityCertIssuer||[],serialNumber:t.authorityCertSerialNumber?j.ToHex(t.authorityCertSerialNumber):""})}toTextObject(){const e=this.toTextObjectWithoutValue(),t=B.parse(this.value,Ht);return t.authorityCertIssuer&&(e["Authority Issuer"]=new Qt(t.authorityCertIssuer).toTextObject()),t.authorityCertSerialNumber&&(e["Authority Serial Number"]=t.authorityCertSerialNumber),t.keyIdentifier&&(e[""]=t.keyIdentifier),e}}di.NAME="Authority Key Identifier";class Ou extends Le{constructor(...e){if(x.isBufferSource(e[0])){super(e[0]);const t=B.parse(this.value,$i);this.ca=t.cA,this.pathLength=t.pathLenConstraint}else{const t=new $i({cA:e[0],pathLenConstraint:e[1]});super(Rc,e[2],B.serialize(t)),this.ca=e[0],this.pathLength=e[1]}}toTextObject(){const e=this.toTextObjectWithoutValue();return this.ca&&(e.CA=this.ca),this.pathLength!==void 0&&(e["Path Length"]=this.pathLength),e}}Ou.NAME="Basic Constraints";var Tu;(function(r){r.serverAuth="1.3.6.1.5.5.7.3.1",r.clientAuth="1.3.6.1.5.5.7.3.2",r.codeSigning="1.3.6.1.5.5.7.3.3",r.emailProtection="1.3.6.1.5.5.7.3.4",r.timeStamping="1.3.6.1.5.5.7.3.8",r.ocspSigning="1.3.6.1.5.5.7.3.9"})(Tu||(Tu={}));class _u extends Le{constructor(...e){if(x.isBufferSource(e[0])){super(e[0]);const t=B.parse(this.value,Ki);this.usages=t.map(i=>i)}else{const t=new Ki(e[0]);super(Lc,e[1],B.serialize(t)),this.usages=e[0]}}toTextObject(){const e=this.toTextObjectWithoutValue();return e[""]=this.usages.map(t=>Nt.toString(t)).join(", "),e}}_u.NAME="Extended Key Usages";var da;(function(r){r[r.digitalSignature=1]="digitalSignature",r[r.nonRepudiation=2]="nonRepudiation",r[r.keyEncipherment=4]="keyEncipherment",r[r.dataEncipherment=8]="dataEncipherment",r[r.keyAgreement=16]="keyAgreement",r[r.keyCertSign=32]="keyCertSign",r[r.cRLSign=64]="cRLSign",r[r.encipherOnly=128]="encipherOnly",r[r.decipherOnly=256]="decipherOnly"})(da||(da={}));class pa extends Le{constructor(...e){if(x.isBufferSource(e[0])){super(e[0]);const t=B.parse(this.value,Wo);this.usages=t.toNumber()}else{const t=new Wo(e[0]);super(Kc,e[1],B.serialize(t)),this.usages=e[0]}}toTextObject(){const e=this.toTextObjectWithoutValue(),t=B.parse(this.value,Wo);return e[""]=t.toJSON().join(", "),e}}pa.NAME="Key Usages";class Gn extends Le{static async create(e,t=!1,i=Ve.get()){const s=await(await ut.create(e,i)).getKeyIdentifier(i);return new Gn(j.ToHex(s),t)}constructor(...e){if(x.isBufferSource(e[0])){super(e[0]);const t=B.parse(this.value,Bt);this.keyId=j.ToHex(t)}else{const t=typeof e[0]=="string"?j.FromHex(e[0]):e[0],i=new Bt(t);super(Zc,e[1],B.serialize(i)),this.keyId=j.ToHex(t)}}toTextObject(){const e=this.toTextObjectWithoutValue(),t=B.parse(this.value,Bt);return e[""]=t,e}}Gn.NAME="Subject Key Identifier";class ha extends Le{constructor(...e){x.isBufferSource(e[0])?super(e[0]):super(Jc,e[1],new Qt(e[0]||[]).rawData)}onInit(e){super.onInit(e);const t=B.parse(e.extnValue,Zo);this.names=new Qt(t)}toTextObject(){const e=this.toTextObjectWithoutValue(),t=this.names.toTextObject();for(const i in t)e[i]=t[i];return e}}ha.NAME="Subject Alternative Name";class qe{static register(e,t){this.items.set(e,t)}static create(e){const t=new Le(e),i=this.items.get(t.type);return i?new i(e):t}}qe.items=new Map;class Vu extends Le{constructor(...e){var t;if(x.isBufferSource(e[0])){super(e[0]);const i=B.parse(this.value,Fi);this.policies=i.map(n=>n.policyIdentifier)}else{const i=e[0],n=(t=e[1])!==null&&t!==void 0?t:!1,s=new Fi(i.map(a=>new Li({policyIdentifier:a})));super(Mc,n,B.serialize(s)),this.policies=i}}toTextObject(){const e=this.toTextObjectWithoutValue();return e.Policy=this.policies.map(t=>new Q("",{},Nt.toString(t))),e}}Vu.NAME="Certificate Policies",qe.register(Mc,Vu);class ju extends Le{constructor(...e){var t;if(x.isBufferSource(e[0]))super(e[0]);else if(Array.isArray(e[0])&&typeof e[0][0]=="string"){const n=e[0].map(a=>new ur({distributionPoint:new Lt({fullName:[new L({uniformResourceIdentifier:a})]})})),s=new fr(n);super(Uo,e[1],B.serialize(s))}else{const i=new fr(e[0]);super(Uo,e[1],B.serialize(i))}(t=this.distributionPoints)!==null&&t!==void 0||(this.distributionPoints=[])}onInit(e){super.onInit(e);const t=B.parse(e.extnValue,fr);this.distributionPoints=t}toTextObject(){const e=this.toTextObjectWithoutValue();return e["Distribution Point"]=this.distributionPoints.map(t=>{var i;const n={};return t.distributionPoint&&(n[""]=(i=t.distributionPoint.fullName)===null||i===void 0?void 0:i.map(s=>new Vt(s).toString()).join(", ")),t.reasons&&(n.Reasons=t.reasons.toString()),t.cRLIssuer&&(n["CRL Issuer"]=t.cRLIssuer.map(s=>s.toString()).join(", ")),n}),e}}ju.NAME="CRL Distribution Points";class Pu extends Le{constructor(...e){var t,i,n,s;if(x.isBufferSource(e[0]))super(e[0]);else if(e[0]instanceof lr){const a=new lr(e[0]);super(No,e[1],B.serialize(a))}else{const a=e[0],u=new lr;Jn(u,a,_c,"ocsp"),Jn(u,a,Vc,"caIssuers"),Jn(u,a,jc,"timeStamping"),Jn(u,a,Pc,"caRepository"),super(No,e[1],B.serialize(u))}(t=this.ocsp)!==null&&t!==void 0||(this.ocsp=[]),(i=this.caIssuers)!==null&&i!==void 0||(this.caIssuers=[]),(n=this.timeStamping)!==null&&n!==void 0||(this.timeStamping=[]),(s=this.caRepository)!==null&&s!==void 0||(this.caRepository=[])}onInit(e){super.onInit(e),this.ocsp=[],this.caIssuers=[],this.timeStamping=[],this.caRepository=[],B.parse(e.extnValue,lr).forEach(i=>{switch(i.accessMethod){case _c:this.ocsp.push(new Vt(i.accessLocation));break;case Vc:this.caIssuers.push(new Vt(i.accessLocation));break;case jc:this.timeStamping.push(new Vt(i.accessLocation));break;case Pc:this.caRepository.push(new Vt(i.accessLocation));break}})}toTextObject(){const e=this.toTextObjectWithoutValue();return this.ocsp.length&&zn(e,"OCSP",this.ocsp),this.caIssuers.length&&zn(e,"CA Issuers",this.caIssuers),this.timeStamping.length&&zn(e,"Time Stamping",this.timeStamping),this.caRepository.length&&zn(e,"CA Repository",this.caRepository),e}}Pu.NAME="Authority Info Access";function zn(r,e,t){if(t.length===1)r[e]=t[0].toTextObject();else{const i=new Q("");t.forEach((n,s)=>{const a=n.toTextObject(),u=`${a[Q.NAME]} ${s+1}`;let f=i[u];Array.isArray(f)||(f=[],i[u]=f),f.push(a)}),r[e]=i}}function Jn(r,e,t,i){const n=e[i];n&&(Array.isArray(n)?n:[n]).forEach(a=>{typeof a=="string"&&(a=new Vt("url",a)),r.push(new Lr({accessMethod:t,accessLocation:B.parse(a.rawData,L)}))})}class Ru extends Le{constructor(...e){x.isBufferSource(e[0])?super(e[0]):super(Fc,e[1],new Qt(e[0]||[]).rawData)}onInit(e){super.onInit(e);const t=B.parse(e.extnValue,Be);this.names=new Qt(t)}toTextObject(){const e=this.toTextObjectWithoutValue(),t=this.names.toTextObject();for(const i in t)e[i]=t[i];return e}}Ru.NAME="Issuer Alternative Name";class Or extends Ot{constructor(...e){let t;if(x.isBufferSource(e[0]))t=x.toArrayBuffer(e[0]);else{const i=e[0],n=Array.isArray(e[1])?e[1].map(s=>x.toArrayBuffer(s)):[];t=B.serialize(new bt({type:i,values:n}))}super(t,bt)}onInit(e){this.type=e.type,this.values=e.values}toTextObject(){const e=this.toTextObjectWithoutValue();return e.Value=this.values.map(t=>new Q("",{"":t})),e}toTextObjectWithoutValue(){const e=this.toTextObjectEmpty();return e[Q.NAME]===Or.NAME&&(e[Q.NAME]=Nt.toString(this.type)),e}}Or.NAME="Attribute";class Du extends Or{constructor(...e){var t;if(x.isBufferSource(e[0]))super(e[0]);else{const i=new Fn({printableString:e[0]});super(_l,[B.serialize(i)])}(t=this.password)!==null&&t!==void 0||(this.password="")}onInit(e){if(super.onInit(e),this.values[0]){const t=B.parse(this.values[0],Fn);this.password=t.toString()}}toTextObject(){const e=this.toTextObjectWithoutValue();return e[Q.VALUE]=this.password,e}}Du.NAME="Challenge Password";class ya extends Or{constructor(...e){var t;if(x.isBufferSource(e[0]))super(e[0]);else{const i=e[0],n=new Ft;for(const s of i)n.push(B.parse(s.rawData,Qe));super(Ys,[B.serialize(n)])}(t=this.items)!==null&&t!==void 0||(this.items=[])}onInit(e){if(super.onInit(e),this.values[0]){const t=B.parse(this.values[0],Ft);this.items=t.map(i=>qe.create(B.serialize(i)))}}toTextObject(){const e=this.toTextObjectWithoutValue(),t=this.items.map(i=>i.toTextObject());for(const i of t)e[i[Q.NAME]]=i;return e}}ya.NAME="Extensions";class Yn{static register(e,t){this.items.set(e,t)}static create(e){const t=new Or(e),i=this.items.get(t.type);return i?new i(e):t}}Yn.items=new Map;const Zn="crypto.signatureFormatter";class Ld{toAsnSignature(e,t){return x.toArrayBuffer(t)}toWebSignature(e,t){return x.toArrayBuffer(t)}}var Qn;let ga=Qn=class{static createPssParams(e,t){const i=Qn.getHashAlgorithm(e);return i?new Jt({hashAlgorithm:i,maskGenAlgorithm:new I({algorithm:En,parameters:B.serialize(i)}),saltLength:t}):null}static getHashAlgorithm(e){const t=_e.resolve(Ir);return typeof e=="string"?t.toAsnAlgorithm({name:e}):typeof e=="object"&&e&&"name"in e?t.toAsnAlgorithm(e):null}toAsnAlgorithm(e){switch(e.name.toLowerCase()){case"rsassa-pkcs1-v1_5":if("hash"in e){let t;if(typeof e.hash=="string")t=e.hash;else if(e.hash&&typeof e.hash=="object"&&"name"in e.hash&&typeof e.hash.name=="string")t=e.hash.name.toUpperCase();else throw new Error("Cannot get hash algorithm name");switch(t.toLowerCase()){case"sha-1":return new I({algorithm:wn,parameters:null});case"sha-256":return new I({algorithm:_s,parameters:null});case"sha-384":return new I({algorithm:An,parameters:null});case"sha-512":return new I({algorithm:Sn,parameters:null})}}else return new I({algorithm:Gt,parameters:null});break;case"rsa-pss":if("hash"in e){if(!("saltLength"in e&&typeof e.saltLength=="number"))throw new Error("Cannot get 'saltLength' from 'alg' argument");const t=Qn.createPssParams(e.hash,e.saltLength);if(!t)throw new Error("Cannot create PSS parameters");return new I({algorithm:ni,parameters:B.serialize(t)})}else return new I({algorithm:ni,parameters:null})}return null}toWebAlgorithm(e){switch(e.algorithm){case Gt:return{name:"RSASSA-PKCS1-v1_5"};case wn:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-1"}};case _s:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case An:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-384"}};case Sn:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-512"}};case ni:if(e.parameters){const t=B.parse(e.parameters,Jt);return{name:"RSA-PSS",hash:_e.resolve(Ir).toWebAlgorithm(t.hashAlgorithm),saltLength:t.saltLength}}else return{name:"RSA-PSS"}}return null}};ga=Qn=c([Rn()],ga),_e.registerSingleton(ci,ga);let ma=class{toAsnAlgorithm(e){switch(e.name.toLowerCase()){case"sha-1":return new I({algorithm:kn});case"sha-256":return new I({algorithm:Cn});case"sha-384":return new I({algorithm:xn});case"sha-512":return new I({algorithm:Bn})}return null}toWebAlgorithm(e){switch(e.algorithm){case kn:return{name:"SHA-1"};case Cn:return{name:"SHA-256"};case xn:return{name:"SHA-384"};case Bn:return{name:"SHA-512"}}return null}};ma=c([Rn()],ma),_e.registerSingleton(ci,ma);class Ge{addPadding(e,t){const i=x.toUint8Array(t),n=new Uint8Array(e);return n.set(i,e-i.length),n}removePadding(e,t=!1){let i=x.toUint8Array(e);for(let n=0;n<i.length;n++)if(i[n]){i=i.slice(n);break}if(t&&i[0]>127){const n=new Uint8Array(i.length+1);return n.set(i,1),n.buffer}return i.buffer}toAsnSignature(e,t){if(e.name==="ECDSA"){const i=e.namedCurve,n=Ge.namedCurveSize.get(i)||Ge.defaultNamedCurveSize,s=new vn,a=x.toUint8Array(t);return s.r=this.removePadding(a.slice(0,n),!0),s.s=this.removePadding(a.slice(n,n+n),!0),B.serialize(s)}return null}toWebSignature(e,t){if(e.name==="ECDSA"){const i=B.parse(t,vn),n=e.namedCurve,s=Ge.namedCurveSize.get(n)||Ge.defaultNamedCurveSize,a=this.addPadding(s,this.removePadding(i.r)),u=this.addPadding(s,this.removePadding(i.s));return tf(a,u)}return null}}Ge.namedCurveSize=new Map,Ge.defaultNamedCurveSize=32;const ba="1.3.101.110",Mu="1.3.101.111",va="1.3.101.112",Uu="1.3.101.113";let wa=class{toAsnAlgorithm(e){let t=null;switch(e.name.toLowerCase()){case"ed25519":t=va;break;case"x25519":t=ba;break;case"eddsa":switch(e.namedCurve.toLowerCase()){case"ed25519":t=va;break;case"ed448":t=Uu;break}break;case"ecdh-es":switch(e.namedCurve.toLowerCase()){case"x25519":t=ba;break;case"x448":t=Mu;break}}return t?new I({algorithm:t}):null}toWebAlgorithm(e){switch(e.algorithm){case va:return{name:"Ed25519"};case Uu:return{name:"EdDSA",namedCurve:"Ed448"};case ba:return{name:"X25519"};case Mu:return{name:"ECDH-ES",namedCurve:"X448"}}return null}};wa=c([Rn()],wa),_e.registerSingleton(ci,wa);class Fd extends St{constructor(e){St.isAsnEncoded(e)?super(e,ai):super(e),this.tag=Fe.CertificateRequestTag}onInit(e){this.tbs=B.serialize(e.certificationRequestInfo),this.publicKey=new ut(e.certificationRequestInfo.subjectPKInfo);const t=_e.resolve(Ir);this.signatureAlgorithm=t.toWebAlgorithm(e.signatureAlgorithm),this.signature=e.signature,this.attributes=e.certificationRequestInfo.attributes.map(n=>Yn.create(B.serialize(n)));const i=this.getAttribute(Ys);this.extensions=[],i instanceof ya&&(this.extensions=i.items),this.subjectName=new _t(e.certificationRequestInfo.subject),this.subject=this.subjectName.toString()}getAttribute(e){for(const t of this.attributes)if(t.type===e)return t;return null}getAttributes(e){return this.attributes.filter(t=>t.type===e)}getExtension(e){for(const t of this.extensions)if(t.type===e)return t;return null}getExtensions(e){return this.extensions.filter(t=>t.type===e)}async verify(e=Ve.get()){const t={...this.publicKey.algorithm,...this.signatureAlgorithm},i=await this.publicKey.export(t,["verify"],e),n=_e.resolveAll(Zn).reverse();let s=null;for(const u of n)if(s=u.toWebSignature(t,this.signature),s)break;if(!s)throw Error("Cannot convert WebCrypto signature value to ASN.1 format");return await e.subtle.verify(this.signatureAlgorithm,i,s,this.tbs)}toTextObject(){const e=this.toTextObjectEmpty(),t=B.parse(this.rawData,ai),i=t.certificationRequestInfo,n=new Q("",{Version:`${dr[i.version]} (${i.version})`,Subject:this.subject,"Subject Public Key Info":this.publicKey});if(this.attributes.length){const s=new Q("");for(const a of this.attributes){const u=a.toTextObject();s[u[Q.NAME]]=u}n.Attributes=s}return e.Data=n,e.Signature=new Q("",{Algorithm:Zt.serializeAlgorithm(t.signatureAlgorithm),"":t.signature}),e}}Fd.NAME="PKCS#10 Certificate Request";class $u extends St{constructor(e){St.isAsnEncoded(e)?super(e,pr):super(e),this.tag=Fe.CertificateTag}onInit(e){const t=e.tbsCertificate;this.tbs=B.serialize(t);let i=new Uint8Array(t.serialNumber);i.length>1&&i[0]===0&&i[1]>127&&(i=i.slice(1)),this.serialNumber=j.ToHex(i),this.subjectName=new _t(t.subject),this.subject=new _t(t.subject).toString(),this.issuerName=new _t(t.issuer),this.issuer=this.issuerName.toString();const n=_e.resolve(Ir);this.signatureAlgorithm=n.toWebAlgorithm(e.signatureAlgorithm),this.signature=e.signatureValue;const s=t.validity.notBefore.utcTime||t.validity.notBefore.generalTime;if(!s)throw new Error("Cannot get 'notBefore' value");this.notBefore=s;const a=t.validity.notAfter.utcTime||t.validity.notAfter.generalTime;if(!a)throw new Error("Cannot get 'notAfter' value");this.notAfter=a,this.extensions=[],t.extensions&&(this.extensions=t.extensions.map(u=>qe.create(B.serialize(u)))),this.publicKey=new ut(t.subjectPublicKeyInfo)}getExtension(e){for(const t of this.extensions)if(typeof e=="string"){if(t.type===e)return t}else if(t instanceof e)return t;return null}getExtensions(e){return this.extensions.filter(t=>typeof e=="string"?t.type===e:t instanceof e)}async verify(e={},t=Ve.get()){let i,n;const s=e.publicKey;try{if(!s)i={...this.publicKey.algorithm,...this.signatureAlgorithm},n=await this.publicKey.export(i,["verify"],t);else if("publicKey"in s)i={...s.publicKey.algorithm,...this.signatureAlgorithm},n=await s.publicKey.export(i,["verify"],t);else if(s instanceof ut)i={...s.algorithm,...this.signatureAlgorithm},n=await s.export(i,["verify"],t);else if(x.isBufferSource(s)){const d=new ut(s);i={...d.algorithm,...this.signatureAlgorithm},n=await d.export(i,["verify"],t)}else i={...s.algorithm,...this.signatureAlgorithm},n=s}catch{return!1}const a=_e.resolveAll(Zn).reverse();let u=null;for(const d of a)if(u=d.toWebSignature(i,this.signature),u)break;if(!u)throw Error("Cannot convert ASN.1 signature value to WebCrypto format");const f=await t.subtle.verify(this.signatureAlgorithm,n,u,this.tbs);if(e.signatureOnly)return f;{const g=(e.date||new Date).getTime();return f&&this.notBefore.getTime()<g&&g<this.notAfter.getTime()}}async getThumbprint(...e){let t,i="SHA-1";return e[0]&&(e[0].subtle?t=e[0]:(i=e[0]||i,t=e[1])),t??(t=Ve.get()),await t.subtle.digest(i,this.rawData)}async isSelfSigned(e=Ve.get()){return this.subject===this.issuer&&await this.verify({signatureOnly:!0},e)}toTextObject(){const e=this.toTextObjectEmpty(),t=B.parse(this.rawData,pr),i=t.tbsCertificate,n=new Q("",{Version:`${dr[i.version]} (${i.version})`,"Serial Number":i.serialNumber,"Signature Algorithm":Zt.serializeAlgorithm(i.signature),Issuer:this.issuer,Validity:new Q("",{"Not Before":i.validity.notBefore.getTime(),"Not After":i.validity.notAfter.getTime()}),Subject:this.subject,"Subject Public Key Info":this.publicKey});if(i.issuerUniqueID&&(n["Issuer Unique ID"]=i.issuerUniqueID),i.subjectUniqueID&&(n["Subject Unique ID"]=i.subjectUniqueID),this.extensions.length){const s=new Q("");for(const a of this.extensions){const u=a.toTextObject();s[u[Q.NAME]]=u}n.Extensions=s}return e.Data=n,e.Signature=new Q("",{Algorithm:Zt.serializeAlgorithm(t.signatureAlgorithm),"":t.signatureValue}),e}}$u.NAME="Certificate";var Hu;(function(r){r[r.unspecified=0]="unspecified",r[r.keyCompromise=1]="keyCompromise",r[r.cACompromise=2]="cACompromise",r[r.affiliationChanged=3]="affiliationChanged",r[r.superseded=4]="superseded",r[r.cessationOfOperation=5]="cessationOfOperation",r[r.certificateHold=6]="certificateHold",r[r.removeFromCRL=8]="removeFromCRL",r[r.privilegeWithdrawn=9]="privilegeWithdrawn",r[r.aACompromise=10]="aACompromise"})(Hu||(Hu={})),qe.register(Rc,Ou),qe.register(Lc,_u),qe.register(Kc,pa),qe.register(Zc,Gn),qe.register(Oo,di),qe.register(Jc,ha),qe.register(Uo,ju),qe.register(No,Pu),qe.register(Fc,Ru),Yn.register(_l,Du),Yn.register(Ys,ya),_e.registerSingleton(Zn,Ld),_e.registerSingleton(Zn,Ge),Ge.namedCurveSize.set("P-256",32),Ge.namedCurveSize.set("K-256",32),Ge.namedCurveSize.set("P-384",48),Ge.namedCurveSize.set("P-521",66);function Lu(){return{parseMetaCertificateData:e=>{if(/{vault:\/\/.*}/g.test(e))throw new Error("not a X.509 certificate");const t=new $u(e),i={subject:t.subjectName.toString(),issuer:t.issuer,notAfter:t.notAfter};for(const n of t.extensions)if(n instanceof ha){const s=n.names.toJSON(),u=Object.entries(s).map(f=>({type:f[1].type,value:f[1].value})).reduce((f,d)=>{const g=d.type,h=f[g]??[];return{...f,[g]:[...h,d.value]}},{});for(const f in u)i.subjectAltName=`${f}=${u[f].join(", ")}`}else if(n instanceof pa){const s=Object.values(da),a=Array(s.length/2).fill(null).reduce((u,f,d)=>{const g=s[s.length/2+d];if(n.usages&g){const h=s[d];u.push(h)}return u},[]);i.keyUsage=a}return i}}}function qd(){const r=Lu(),e=o.ref({}),t=n=>{if(!(n.id in e.value))try{e.value[n.id]=r.parseMetaCertificateData(n.cert)}catch{e.value[n.id]=void 0}return e.value[n.id]};return{certificateDataCache:e,getCertificateData:n=>{const s=t(n);return{schemaIssuer:(s==null?void 0:s.issuer)||"",schemaSubject:(s==null?void 0:s.subject)||"",schemaExpiry:(s==null?void 0:s.notAfter)instanceof Date?s.notAfter.getTime()/1e3:0,schemaSanNames:(s==null?void 0:s.subjectAltName)||"",schemaKeyUsages:(s==null?void 0:s.keyUsage)||[]}}}}const Kd={certificates:{title:"Certificates",list:{toolbar_actions:{new_certificate:"New certificate"},table_headers:{subject:"Subject",expiry:"Expiry",san:"SAN",cert:"Cert",tags:"Tags",issuer:"Issuer",snis:"SNIs"},empty_state:{title:"Configure a New Certificate",description:"Certificates handle SSL/TLS termination for encrypted requests."},empty_state_v2:{create:"New certificate",title:"Configure your first certificate",group:"Certificates created in gateways within this group will automatically appear here.",description:"Certificates manage SSL/TLS encryption, ensuring secure communication between clients and your API services."}},form:{sections:{ssl:{title:"SSL Key Pair",description:"The PEM-encoded public certificate chain and private key of the SSL key pair and the alternate."},general:{title:"General Information",description:"General information will help identify and manage this key."}},fields:{cert:{label:"Cert",tooltip:"PEM-encoded public certificate chain of the SSL key pair. This field is {emphasis}, which means it can be securely stored as a secret in a vault. References must follow a specific format.",emphasis:"referenceable"},key:{label:"Key",tooltip:"PEM-encoded private key of the SSL key pair. This field is {emphasis}, which means it can be securely stored as a secret in a vault. References must follow a specific format.",emphasis:"referenceable"},cert_alt:{label:"Cert Alt",tooltip:"PEM-encoded public certificate chain of the alternate SSL key pair. This should only be set if you have both RSA and ECDSA types of certificate available and would like Kong to prefer serving using ECDSA certs when client advertises support for it. This field is {emphasis}, which means it can be securely stored as a secret in a vault. References must follow a specific format.",emphasis:"referenceable"},key_alt:{label:"Key Alt",tooltip:"PEM-encoded private key of the alternate SSL key pair. This should only be set if you have both RSA and ECDSA types of certificate available and would like Kong to prefer serving using ECDSA certs when client advertises support for it. This field is {emphasis}, which means it can be securely stored as a secret in a vault. References must follow a specific format.",emphasis:"referenceable"},snis:{label:"SNIs",placeholder:"Enter an SNI",add:"Add an SNI",tooltip:"Zero or more hostnames to associate with this certificate as SNIs",editingTip:"To manage SNIs for this certificate, click {link}.",editingTipLink:"here"},tags:{label:"Tags",placeholder:"Enter a list of tags separated by comma",help:"e.g. tag1, tag2, tag3",tooltip:"An optional set of strings for grouping and filtering, separated by commas."}}},actions:{create:"New certificate",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",addSni:"Add to New SNI",delete:"Delete",clear:"Clear",view:"View Details"},search:{placeholder:"Filter by exact ID"},delete:{title:"Delete a Certificate",description:"Your organization's original certificate {bolded-text}.",boldedText:"will not be affected",description2:"This action cannot be reversed so make sure to check the certificate usage before deleting."},errors:{general:"Certificates could not be retrieved",delete:"The certificate could not be deleted at this time",copy:"Failed to copy to clipboard"},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"}},"ca-certificates":{title:"CA Certificates",list:{toolbar_actions:{new_ca_certificate:"New CA certificate"},table_headers:{issuer:"Issuer",expiry:"Expiry",tags:"Tags"},empty_state:{title:"Configure a New CA Certificate",description:"CA certificates validate client or server certificates."},empty_state_v2:{create:"New CA certificate",title:"Configure your first CA certificate",group:"CA Certificates created in gateways within this group will automatically appear here.",description:"CA Certificates validate the authenticity of client and server certificates, reinforcing the trust and security of your API communications."}},form:{sections:{cert:{title:"Public Certificate",description:"The PEM-encoded public certificate of the CA and it’s SHA256 hex digest."},general:{title:"General Information",description:"General information will help identify and manage this key."}},fields:{cert:{label:"Cert",tooltip:"PEM-encoded public certificate of the CA."},cert_digest:{label:"Cert Digest",tooltip:"SHA256 hex digest of the public certificate"},tags:{label:"Tags",placeholder:"Enter a list of tags separated by comma",help:"e.g. tag1, tag2, tag3",tooltip:"An optional set of strings for grouping and filtering, separated by commas."}}},actions:{create:"New CA certificate",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",delete:"Delete",clear:"Clear",view:"View Details"},search:{placeholder:"Filter by exact ID"},delete:{title:"Delete a CA Certificate",description:"Your organization's original certificate {bolded-text}.",boldedText:"will not be affected",description2:"This action cannot be reversed so make sure to check the certificate usage before deleting."},errors:{general:"CA Certificates could not be retrieved",delete:"The CA Certificate could not be deleted at this time",copy:"Failed to copy to clipboard"},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"}},general:{"key-usages":{KEY_USAGE_TYPE_KEY_CERT_SIGN:"keyCertSign",KEY_USAGE_TYPE_CRL_SIGN:"cRLSign",KEY_USAGE_TYPE_ENCIPHER_ONLY:"encipherOnly",KEY_USAGE_TYPE_DIGITAL_SIGNATURE:"digitalSignature",KEY_USAGE_TYPE_KEY_ENCIPHERMENT:"keyEncipherment",KEY_USAGE_TYPE_DATA_ENCIPHERMENT:"dataEncipherment",KEY_USAGE_TYPE_KEY_AGREEMENT:"keyAgreement",KEY_USAGE_TYPE_CONTENT_COMMITMENT:"nonRepudiation"}}};function Wd(){const r=ka.createI18n("en-us",Kd);return{i18n:r,i18nT:ka.i18nTComponent(r)}}const et={useCertificate:qd,useI18n:Wd,useX509:Lu},Xn="/v2/control-planes/{controlPlaneId}/core-entities",eo="/{workspace}",pi={list:{konnect:`${Xn}/certificates`,kongManager:`${eo}/certificates`},form:{konnect:{create:`${Xn}/certificates`,edit:`${Xn}/certificates/{id}`,validate:`${Xn}/v1/schemas/json/certificate/validate`},kongManager:{create:`${eo}/certificates`,edit:`${eo}/certificates/{id}`,validate:`${eo}/schemas/certificates/validate`}}},Gd={class:"kong-ui-entities-certificates-list"},zd={class:"button-row"},Jd={class:"empty-state-icon-gateway"},Yd={key:0},Zd={key:1},Qd={key:0},Xd={key:1},ep={key:0},tp={key:1},rp={key:1},ip=o.defineComponent({__name:"CertificateList",props:{config:{type:Object,required:!0,validator:r=>!(!r||!["konnect","kongManager"].includes(r==null?void 0:r.app)||!r.createRoute||!r.getViewRoute||!r.getEditRoute||r.app==="kongManager"&&!r.isExactMatch&&!r.filterSchema)},cacheIdentifier:{type:String,default:""},canCreate:{type:Function,required:!1,default:async()=>!0},canCreateSni:{type:Function,required:!1,default:async()=>!0},canDelete:{type:Function,required:!1,default:async()=>!0},canEdit:{type:Function,required:!1,default:async()=>!0},canRetrieve:{type:Function,required:!1,default:async()=>!0},useActionOutside:{type:Boolean,default:!1},useToolbarCreationButton:{type:Boolean,default:!1}},emits:["error","click:learn-more","copy:success","copy:error","delete:success"],setup(r,{emit:e}){var F;const t=e,i=r,{i18n:{t:n,formatUnixTimeStamp:s},i18nT:a}=et.useI18n(),u=mi.useRouter(),{axiosInstance:f}=S.useAxios((F=i.config)==null?void 0:F.axiosRequestConfig),{handleStateChange:d,hasRecords:g}=S.useTableState(()=>re.value),h=o.computed(()=>g.value&&i.config.app==="konnect"),H=o.computed(()=>i.config.app!=="kongManager"||!!i.config.disableSorting),te={subject:{label:n("certificates.list.table_headers.subject"),hidable:!1},expiry:{label:n("certificates.list.table_headers.expiry")},san:{label:n("certificates.list.table_headers.san")},cert:{label:n("certificates.list.table_headers.cert")},tags:{label:n("certificates.list.table_headers.tags"),sortable:!0}},X=o.computed(()=>{var $,J;let V=`${i.config.apiBaseUrl}${pi.list[i.config.app]}`;return i.config.app==="konnect"?V=V.replace(/{controlPlaneId}/gi,(($=i.config)==null?void 0:$.controlPlaneId)||""):i.config.app==="kongManager"&&(V=V.replace(/\/{workspace}/gi,(J=i.config)!=null&&J.workspace?`/${i.config.workspace}`:"")),V}),re=o.ref(""),Ae=o.computed(()=>{const V=i.config.app==="konnect"||i.config.isExactMatch;return V?{isExactMatch:V,placeholder:n("certificates.search.placeholder")}:{isExactMatch:V,schema:i.config.filterSchema}}),{fetcher:Ue,fetcherState:Z,fetcherCacheKey:T}=S.useFetcher(o.computed(()=>({...i.config,cacheIdentifier:i.cacheIdentifier})),X),K=()=>{re.value=""},oe=()=>{T.value++},O=o.ref(null),w=async(V,$)=>{const J=V.id;if(!await $(J)){t("copy:error",{entity:V,field:"id",message:n("certificates.errors.copy")});return}t("copy:success",{entity:V,field:"id",message:n("certificates.copy.success",{val:J})})},k=async(V,$)=>{const J=JSON.stringify(V);if(!await $(J)){t("copy:error",{entity:V,message:n("certificates.errors.copy")});return}t("copy:success",{entity:V,message:n("certificates.copy.success_brief")})},be=async V=>{var J;await((J=i.canRetrieve)==null?void 0:J.call(i,V))&&u.push(i.config.getViewRoute(V.id))},ie=V=>({label:n("certificates.actions.view"),to:i.config.getViewRoute(V)}),ft=V=>({label:n("certificates.actions.edit"),to:i.config.getEditRoute(V)}),se=V=>{if(i.config.getCreateSniRoute)return{label:n("certificates.actions.addSni"),to:i.config.getCreateSniRoute(V)}},ae=o.ref(void 0),Ie=o.ref(!1),W=o.ref(!1),er=o.ref(""),Tr=S.useDeleteUrlBuilder(i.config,X.value),{certificateDataCache:jt,getCertificateData:kt}=et.useCertificate(),_r=V=>{ae.value=V,Ie.value=!0},D=()=>{Ie.value=!1},dt=async()=>{var V,$,J;if((V=ae.value)!=null&&V.id){W.value=!0;try{await f.delete(Tr(ae.value.id)),W.value=!1,Ie.value=!1,T.value++,t("delete:success",ae.value)}catch(de){er.value=((J=($=de.response)==null?void 0:$.data)==null?void 0:J.message)||de.message||n("certificates.errors.delete"),t("error",de)}finally{W.value=!1}}},tr=()=>{u.push(i.config.createRoute)};o.watch(Z,V=>{var $,J,de;if(V.status===S.FetcherStatus.Error){O.value={title:n("certificates.errors.general")},(de=(J=($=V.error)==null?void 0:$.response)==null?void 0:J.data)!=null&&de.message&&(O.value.message=V.error.response.data.message),t("error",V.error);return}jt.value={},O.value=null});const ce=o.ref({ctaPath:i.config.createRoute,ctaText:void 0,message:`${n("certificates.list.empty_state.description")}${i.config.additionMessageForEmptyState?` ${i.config.additionMessageForEmptyState}`:""}`,title:n("certificates.title")});return o.onBeforeMount(async()=>{await i.canCreate()&&(ce.value.title=n("certificates.list.empty_state.title"),ce.value.ctaText=n("certificates.actions.create"))}),(V,$)=>{const J=o.resolveComponent("KButton"),de=o.resolveComponent("KCopy"),q=o.resolveComponent("KDropdownItem"),ve=o.resolveComponent("KClipboardProvider");return o.openBlock(),o.createElementBlock("div",Gd,[o.createVNode(o.unref(S.EntityBaseTable),{"cache-identifier":r.cacheIdentifier,"disable-sorting":H.value,"empty-state-options":ce.value,"enable-entity-actions":"","error-message":O.value,fetcher:o.unref(Ue),"fetcher-cache-key":o.unref(T),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-certificates-list",query:re.value,"table-headers":o.unref(te),onClearSearchInput:K,"onClick:row":$[3]||($[3]=M=>be(M)),onSort:oe,onState:o.unref(d)},o.createSlots({"toolbar-filter":o.withCtx(()=>[o.createVNode(o.unref(S.EntityFilter),{modelValue:re.value,"onUpdate:modelValue":$[0]||($[0]=M=>re.value=M),config:Ae.value},null,8,["modelValue","config"]),o.createVNode(o.unref(S.PermissionsWrapper),{"auth-function":r.canCreate},{default:o.withCtx(()=>[r.useToolbarCreationButton?(o.openBlock(),o.createBlock(J,{key:0,appearance:"primary","data-testid":"toolbar-add-certificate",size:"large",to:r.config.createRoute},{default:o.withCtx(()=>[o.createVNode(o.unref(rt.AddIcon)),o.createTextVNode(" "+o.toDisplayString(o.unref(n)("certificates.list.toolbar_actions.new_certificate")),1)]),_:1},8,["to"])):o.createCommentVNode("",!0)]),_:1},8,["auth-function"])]),"toolbar-button":o.withCtx(()=>[(o.openBlock(),o.createBlock(o.Teleport,{disabled:!r.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[o.createElementVNode("div",zd,[h.value?(o.openBlock(),o.createBlock(J,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"certificates-learn-more-button",icon:"",onClick:$[1]||($[1]=M=>V.$emit("click:learn-more"))},{default:o.withCtx(()=>[o.createVNode(o.unref(rt.BookIcon),{decorative:""})]),_:1})):o.createCommentVNode("",!0),r.useToolbarCreationButton?o.createCommentVNode("",!0):(o.openBlock(),o.createBlock(o.unref(S.PermissionsWrapper),{key:1,"auth-function":r.canCreate},{default:o.withCtx(()=>[o.createVNode(J,{appearance:"primary","data-testid":"toolbar-add-certificate",size:r.useActionOutside?"medium":"large",to:r.config.createRoute},{default:o.withCtx(()=>[o.createVNode(o.unref(rt.AddIcon)),o.createTextVNode(" "+o.toDisplayString(o.unref(n)("certificates.list.toolbar_actions.new_certificate")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"]))])],8,["disabled"]))]),subject:o.withCtx(({row:M})=>{var Ne;return[r.config.app==="konnect"?(o.openBlock(),o.createElementBlock("b",Yd,o.toDisplayString((Ne=M==null?void 0:M.metadata)!=null&&Ne.subject?M.metadata.subject:"-"),1)):(o.openBlock(),o.createElementBlock("b",Zd,o.toDisplayString(o.unref(kt)(M).schemaSubject||"-"),1))]}),expiry:o.withCtx(({row:M})=>{var Ne;return[r.config.app==="konnect"?(o.openBlock(),o.createElementBlock("span",Qd,o.toDisplayString((Ne=M==null?void 0:M.metadata)!=null&&Ne.expiry?o.unref(s)(M.metadata.expiry):"-"),1)):(o.openBlock(),o.createElementBlock("span",Xd,o.toDisplayString(o.unref(kt)(M).schemaExpiry?o.unref(s)(o.unref(kt)(M).schemaExpiry):"-"),1))]}),san:o.withCtx(({row:M})=>{var Ne;return[r.config.app==="konnect"?(o.openBlock(),o.createElementBlock("span",ep,o.toDisplayString((Ne=M==null?void 0:M.metadata)!=null&&Ne.dns_names?`dns=${M.metadata.dns_names.join(", ")}`:"-"),1)):(o.openBlock(),o.createElementBlock("span",tp,o.toDisplayString(o.unref(kt)(M).schemaSanNames||"-"),1))]}),cert:o.withCtx(({row:M})=>[M!=null&&M.cert?(o.openBlock(),o.createBlock(de,{key:0,"data-testid":"copy-certificate-cert",text:M.cert,truncate:""},null,8,["text"])):(o.openBlock(),o.createElementBlock("span",rp,"-"))]),tags:o.withCtx(({row:M})=>[o.createVNode(o.unref(S.TableTags),{tags:M==null?void 0:M.tags},null,8,["tags"])]),actions:o.withCtx(({row:M})=>[o.createVNode(ve,null,{default:o.withCtx(({copyToClipboard:Ne})=>[o.createVNode(q,{"data-testid":"action-entity-copy-id",onClick:yi=>w(M,Ne)},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(n)("certificates.actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),o.createVNode(ve,null,{default:o.withCtx(({copyToClipboard:Ne})=>[o.createVNode(q,{"data-testid":"action-entity-copy-json",onClick:yi=>k(M,Ne)},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(n)("certificates.actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),o.createVNode(o.unref(S.PermissionsWrapper),{"auth-function":()=>r.canRetrieve(M)},{default:o.withCtx(()=>[o.createVNode(q,{"data-testid":"action-entity-view","has-divider":"",item:ie(M.id)},null,8,["item"])]),_:2},1032,["auth-function"]),o.createVNode(o.unref(S.PermissionsWrapper),{"auth-function":()=>r.canEdit(M)},{default:o.withCtx(()=>[o.createVNode(q,{"data-testid":"action-entity-edit",item:ft(M.id)},null,8,["item"])]),_:2},1032,["auth-function"]),r.config.getCreateSniRoute?(o.openBlock(),o.createBlock(o.unref(S.PermissionsWrapper),{key:0,"auth-function":()=>r.canCreateSni()},{default:o.withCtx(()=>[o.createVNode(q,{"data-testid":"action-entity-add-sni",item:se(M.id)},null,8,["item"])]),_:2},1032,["auth-function"])):o.createCommentVNode("",!0),o.createVNode(o.unref(S.PermissionsWrapper),{"auth-function":()=>r.canDelete(M)},{default:o.withCtx(()=>[o.createVNode(q,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:Ne=>_r(M)},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(n)("certificates.actions.delete")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!re.value&&r.config.app==="konnect"?{name:"empty-state",fn:o.withCtx(()=>{var M;return[o.createVNode(o.unref(S.EntityEmptyState),{"action-button-text":o.unref(n)("certificates.list.empty_state_v2.create"),appearance:"secondary","can-create":()=>r.canCreate(),"data-testid":"certificates-entity-empty-state",description:o.unref(n)("certificates.list.empty_state_v2.description"),"learn-more":r.config.app==="konnect",title:o.unref(n)("certificates.list.empty_state_v2.title"),"onClick:create":tr,"onClick:learnMore":$[2]||($[2]=Ne=>V.$emit("click:learn-more"))},o.createSlots({image:o.withCtx(()=>[o.createElementVNode("div",Jd,[o.createVNode(o.unref(rt.ServiceDocumentIcon),{color:o.unref(Ca),size:o.unref(xa)},null,8,["color","size"])])]),_:2},[(M=r.config)!=null&&M.isControlPlaneGroup?{name:"message",fn:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(n)("certificates.list.empty_state_v2.group")),1)]),key:"0"}:void 0]),1032,["action-button-text","can-create","description","learn-more","title"])]}),key:"0"}:void 0]),1032,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","query","table-headers","onState"]),o.createVNode(o.unref(S.EntityDeleteModal),{"action-pending":W.value,"entity-type":o.unref(S.EntityTypes).Certificate,error:er.value,title:o.unref(n)("certificates.delete.title"),visible:Ie.value,onCancel:D,onProceed:dt},{description:o.withCtx(()=>[o.createVNode(o.unref(a),{keypath:"certificates.delete.description",scope:"global"},{"bolded-text":o.withCtx(()=>[o.createElementVNode("b",null,o.toDisplayString(o.unref(n)("certificates.delete.boldedText")),1)]),_:1}),o.createElementVNode("p",null,o.toDisplayString(o.unref(n)("certificates.delete.description2")),1)]),_:1},8,["action-pending","entity-type","error","title","visible"])])}}}),Xt=(r,e)=>{const t=r.__vccOpts||r;for(const[i,n]of e)t[i]=n;return t},np=Xt(ip,[["__scopeId","data-v-91e0fc28"]]),op={class:"sni-field-container"},sp={key:1,class:"sni-field-controls-container"},ap={key:0},cp=Xt(o.defineComponent({__name:"CertificateFormSniField",props:{isEditing:{type:Boolean,default:!1},modelValue:{type:Array,required:!0},sniListRoute:{type:Object,required:!0}},emits:["add","remove","update:modelValue"],setup(r,{emit:e}){const t=r,i=e,{i18nT:n,i18n:{t:s}}=et.useI18n(),a=o.ref([]);return o.watch(t.modelValue,u=>{a.value=[...u]},{immediate:!0,deep:!0}),o.watch(a,u=>{i("update:modelValue",u)},{deep:!0}),(u,f)=>{const d=o.resolveComponent("KLabel"),g=o.resolveComponent("KInput"),h=o.resolveComponent("KButton"),H=o.resolveComponent("router-link");return o.openBlock(),o.createElementBlock("div",op,[o.createVNode(d,{info:o.unref(s)("certificates.form.fields.snis.tooltip")},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(s)("certificates.form.fields.snis.label")),1)]),_:1},8,["info"]),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(a.value,(ne,te)=>(o.openBlock(),o.createElementBlock("div",{key:te,class:"sni-field-input"},[!r.isEditing||a.value[te]?(o.openBlock(),o.createBlock(g,{key:0,modelValue:a.value[te],"onUpdate:modelValue":X=>a.value[te]=X,modelModifiers:{trim:!0},"data-testid":`sni-field-input-${te+1}`,disabled:r.isEditing,placeholder:o.unref(s)("certificates.form.fields.snis.placeholder")},null,8,["modelValue","onUpdate:modelValue","data-testid","disabled","placeholder"])):o.createCommentVNode("",!0),r.isEditing?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock("div",sp,[o.createVNode(h,{appearance:"tertiary",class:"remove-button","data-testid":"remove-sni",icon:"",onClick:X=>u.$emit("remove",te)},{default:o.withCtx(()=>[o.createVNode(o.unref(rt.TrashIcon),{color:o.unref(Yu)},null,8,["color"])]),_:2},1032,["onClick"]),o.createVNode(h,{appearance:"tertiary","data-testid":"add-sni",disabled:te!==a.value.length-1,icon:"",onClick:f[0]||(f[0]=X=>u.$emit("add"))},{default:o.withCtx(()=>[o.createVNode(o.unref(rt.AddIcon))]),_:2},1032,["disabled"])]))]))),128)),a.value.length===0?(o.openBlock(),o.createElementBlock("div",ap,[o.createVNode(h,{onClick:f[1]||(f[1]=ne=>u.$emit("add"))},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(s)("certificates.form.fields.snis.add")),1)]),_:1})])):o.createCommentVNode("",!0),r.isEditing?(o.openBlock(),o.createBlock(o.unref(n),{key:1,keypath:"certificates.form.fields.snis.editingTip"},{link:o.withCtx(()=>[o.createVNode(H,{to:r.sniListRoute},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(s)("certificates.form.fields.snis.editingTipLink")),1)]),_:1},8,["to"])]),_:1})):o.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-a5577ce8"]]),lp={class:"kong-ui-entities-certificates-form"},up=Xt(o.defineComponent({__name:"CertificateForm",props:{config:{type:Object,required:!0,validator:r=>!(!r||!["konnect","kongManager"].includes(r==null?void 0:r.app)||r.app==="konnect"&&!r.controlPlaneId||r.app==="kongManager"&&typeof r.workspace!="string"||!r.cancelRoute)},certificateId:{type:String,required:!1,default:""},showSnisField:{type:Boolean,required:!1,default:!1}},emits:["update","error","loading"],setup(r,{emit:e}){var oe;const t=e,i=r,n=mi.useRouter(),{i18nT:s,i18n:{t:a}}=et.useI18n(),{getMessageFromError:u}=S.useErrors(),{axiosInstance:f}=S.useAxios((oe=i.config)==null?void 0:oe.axiosRequestConfig),d=o.computed(()=>pi.form[i.config.app].edit),g=o.computed(()=>i.certificateId?S.EntityBaseFormType.Edit:S.EntityBaseFormType.Create),h=o.reactive({fields:{cert:"",key:"",certAlt:"",keyAlt:"",snis:[""],tags:""},isReadonly:!1,errorMessage:""}),H=o.reactive({cert:"",key:"",certAlt:"",keyAlt:"",snis:[""],tags:""}),ne=o.computed(()=>(g.value===S.EntityBaseFormType.Create||JSON.stringify(h.fields)!==JSON.stringify(H))&&!!h.fields.cert&&!!h.fields.key),te=O=>{var w,k;h.fields.cert=(O==null?void 0:O.cert)||"",h.fields.key=(O==null?void 0:O.key)||"",h.fields.certAlt=(O==null?void 0:O.cert_alt)||"",h.fields.keyAlt=(O==null?void 0:O.key_alt)||"",h.fields.snis=(w=O==null?void 0:O.snis)!=null&&w.length?O.snis:[""],h.fields.tags=((k=O==null?void 0:O.tags)==null?void 0:k.join(", "))||"",Object.assign(H,h.fields)},X=()=>{n.push(i.config.cancelRoute)},re=()=>{h.fields.snis.push("")},Ae=O=>{h.fields.snis.splice(O,1)},Ue=o.computed(()=>{var w,k;let O=`${i.config.apiBaseUrl}${pi.form[i.config.app].validate}`;return i.config.app==="konnect"?O=O.replace(/{controlPlaneId}/gi,((w=i.config)==null?void 0:w.controlPlaneId)||""):i.config.app==="kongManager"&&(O=O.replace(/\/{workspace}/gi,(k=i.config)!=null&&k.workspace?`/${i.config.workspace}`:"")),O=O.replace(/{id}/gi,i.certificateId),O}),Z=o.computed(()=>{var w,k;let O=`${i.config.apiBaseUrl}${pi.form[i.config.app][g.value]}`;return i.config.app==="konnect"?O=O.replace(/{controlPlaneId}/gi,((w=i.config)==null?void 0:w.controlPlaneId)||""):i.config.app==="kongManager"&&(O=O.replace(/\/{workspace}/gi,(k=i.config)!=null&&k.workspace?`/${i.config.workspace}`:"")),O=O.replace(/{id}/gi,i.certificateId),O}),T=o.computed(()=>{var O,w;return{cert:h.fields.cert,key:h.fields.key,cert_alt:h.fields.certAlt||null,key_alt:h.fields.keyAlt||null,...i.showSnisField?{snis:h.fields.snis.filter(Boolean)}:{},tags:(w=(O=h.fields.tags.split(","))==null?void 0:O.map(k=>String(k||"").trim()))==null?void 0:w.filter(k=>k!=="")}}),K=async()=>{var O,w,k,be,ie,ft,se,ae,Ie;try{h.isReadonly=!0;let W;await f.post(Ue.value,T.value),g.value==="create"?W=await f.post(Z.value,T.value):g.value==="edit"&&(W=((O=i.config)==null?void 0:O.app)==="konnect"?await f.put(Z.value,T.value):await f.patch(Z.value,T.value)),h.fields.cert=((w=W==null?void 0:W.data)==null?void 0:w.cert)||"",h.fields.key=((k=W==null?void 0:W.data)==null?void 0:k.key)||"",h.fields.certAlt=((be=W==null?void 0:W.data)==null?void 0:be.cert_alt)||"",h.fields.keyAlt=((ie=W==null?void 0:W.data)==null?void 0:ie.key_alt)||"",h.fields.snis=(se=(ft=W==null?void 0:W.data)==null?void 0:ft.snis)!=null&&se.length?W.data.snis:[""],h.fields.tags=((Ie=(ae=W==null?void 0:W.data)==null?void 0:ae.tags)==null?void 0:Ie.join(", "))||"",Object.assign(H,h.fields),t("update",W==null?void 0:W.data)}catch(W){h.errorMessage=u(W),t("error",W)}finally{h.isReadonly=!1}};return(O,w)=>{const k=o.resolveComponent("KTextArea"),be=o.resolveComponent("KInput");return o.openBlock(),o.createElementBlock("div",lp,[o.createVNode(o.unref(S.EntityBaseForm),{"can-submit":ne.value,config:r.config,"edit-id":r.certificateId,"entity-type":o.unref(S.SupportedEntityType).Certificate,"error-message":h.errorMessage,"fetch-url":d.value,"form-fields":T.value,"is-readonly":h.isReadonly,onCancel:X,"onFetch:error":w[7]||(w[7]=ie=>O.$emit("error",ie)),"onFetch:success":te,onLoading:w[8]||(w[8]=ie=>O.$emit("loading",ie)),onSubmit:K},{default:o.withCtx(()=>[o.createVNode(o.unref(S.EntityFormSection),{description:o.unref(a)("certificates.form.sections.ssl.description"),title:o.unref(a)("certificates.form.sections.ssl.title")},{default:o.withCtx(()=>[o.createVNode(k,{modelValue:h.fields.cert,"onUpdate:modelValue":w[0]||(w[0]=ie=>h.fields.cert=ie),modelModifiers:{trim:!0},"character-limit":!1,class:"certificate-form-textarea","data-testid":"certificate-form-cert",label:o.unref(a)("certificates.form.fields.cert.label"),"label-attributes":{tooltipAttributes:{maxWidth:"400"}},readonly:h.isReadonly,required:""},{"label-tooltip":o.withCtx(()=>[o.createVNode(o.unref(s),{keypath:"certificates.form.fields.cert.tooltip",scope:"global"},{emphasis:o.withCtx(()=>[o.createElementVNode("em",null,o.toDisplayString(o.unref(a)("certificates.form.fields.cert.emphasis")),1)]),_:1})]),_:1},8,["modelValue","label","readonly"]),o.createVNode(k,{modelValue:h.fields.key,"onUpdate:modelValue":w[1]||(w[1]=ie=>h.fields.key=ie),modelModifiers:{trim:!0},"character-limit":!1,class:"certificate-form-textarea","data-testid":"certificate-form-key",label:o.unref(a)("certificates.form.fields.key.label"),"label-attributes":{tooltipAttributes:{maxWidth:"400"}},readonly:h.isReadonly,required:""},{"label-tooltip":o.withCtx(()=>[o.createVNode(o.unref(s),{keypath:"certificates.form.fields.key.tooltip",scope:"global"},{emphasis:o.withCtx(()=>[o.createElementVNode("em",null,o.toDisplayString(o.unref(a)("certificates.form.fields.key.emphasis")),1)]),_:1})]),_:1},8,["modelValue","label","readonly"]),o.createVNode(k,{modelValue:h.fields.certAlt,"onUpdate:modelValue":w[2]||(w[2]=ie=>h.fields.certAlt=ie),modelModifiers:{trim:!0},"character-limit":!1,class:"certificate-form-textarea","data-testid":"certificate-form-cert-alt",label:o.unref(a)("certificates.form.fields.cert_alt.label"),"label-attributes":{tooltipAttributes:{maxWidth:"400"}},readonly:h.isReadonly},{"label-tooltip":o.withCtx(()=>[o.createVNode(o.unref(s),{keypath:"certificates.form.fields.cert_alt.tooltip",scope:"global"},{emphasis:o.withCtx(()=>[o.createElementVNode("em",null,o.toDisplayString(o.unref(a)("certificates.form.fields.cert_alt.emphasis")),1)]),_:1})]),_:1},8,["modelValue","label","readonly"]),o.createVNode(k,{modelValue:h.fields.keyAlt,"onUpdate:modelValue":w[3]||(w[3]=ie=>h.fields.keyAlt=ie),modelModifiers:{trim:!0},"character-limit":!1,class:"certificate-form-textarea","data-testid":"certificate-form-key-alt",label:o.unref(a)("certificates.form.fields.key_alt.label"),"label-attributes":{tooltipAttributes:{maxWidth:"400"}},readonly:h.isReadonly},{"label-tooltip":o.withCtx(()=>[o.createVNode(o.unref(s),{keypath:"certificates.form.fields.key_alt.tooltip",scope:"global"},{emphasis:o.withCtx(()=>[o.createElementVNode("em",null,o.toDisplayString(o.unref(a)("certificates.form.fields.key_alt.emphasis")),1)]),_:1})]),_:1},8,["modelValue","label","readonly"]),r.showSnisField&&r.config.sniListRoute?(o.openBlock(),o.createBlock(cp,{key:0,modelValue:h.fields.snis,"onUpdate:modelValue":w[4]||(w[4]=ie=>h.fields.snis=ie),"is-editing":g.value===o.unref(S.EntityBaseFormType).Edit,"sni-list-route":r.config.sniListRoute,onAdd:re,onRemove:w[5]||(w[5]=ie=>Ae(ie))},null,8,["modelValue","is-editing","sni-list-route"])):o.createCommentVNode("",!0)]),_:1},8,["description","title"]),o.createVNode(o.unref(S.EntityFormSection),{description:o.unref(a)("certificates.form.sections.general.description"),title:o.unref(a)("certificates.form.sections.general.title")},{default:o.withCtx(()=>[o.createVNode(be,{modelValue:h.fields.tags,"onUpdate:modelValue":w[6]||(w[6]=ie=>h.fields.tags=ie),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"certificate-form-tags",help:o.unref(a)("certificates.form.fields.tags.help"),label:o.unref(a)("certificates.form.fields.tags.label"),"label-attributes":{info:o.unref(a)("certificates.form.fields.tags.tooltip"),tooltipAttributes:{maxWidth:"400"}},placeholder:o.unref(a)("certificates.form.fields.tags.placeholder"),readonly:h.isReadonly,type:"text"},null,8,["modelValue","help","label","label-attributes","placeholder","readonly"])]),_:1},8,["description","title"])]),_:1},8,["can-submit","config","edit-id","entity-type","error-message","fetch-url","form-fields","is-readonly"])])}}}),[["__scopeId","data-v-7988c8e6"]]),to="/v2/control-planes/{controlPlaneId}/core-entities",ro="/{workspace}",hi={list:{konnect:`${to}/ca_certificates`,kongManager:`${ro}/ca_certificates`},form:{konnect:{create:`${to}/ca_certificates`,edit:`${to}/ca_certificates/{id}`,validate:`${to}/v1/schemas/json/ca-certificate/validate`},kongManager:{create:`${ro}/ca_certificates`,edit:`${ro}/ca_certificates/{id}`,validate:`${ro}/schemas/ca_certificates/validate`}}},fp={class:"kong-ui-ca-certificate-entity-config-card"},dp={key:0},pp=Xt(o.defineComponent({__name:"CACertificateConfigCard",props:{config:{type:Object,required:!0,validator:r=>!(!r||!["konnect","kongManager"].includes(r==null?void 0:r.app)||r.app==="konnect"&&!r.controlPlaneId||r.app==="kongManager"&&typeof r.workspace!="string"||!r.entityId)},configCardDoc:{type:String,default:"",required:!1},hideTitle:{type:Boolean,default:!1}},emits:["loading","fetch:error","fetch:success"],setup(r,{emit:e}){const t=["dns_names","san_names","subject"],i=e,n=r,{i18n:{t:s,formatUnixTimeStamp:a}}=et.useI18n(),{convertKeyToTitle:u}=S.useStringHelpers(),{getPropValue:f}=S.useHelpers(),{getCertificateData:d}=et.useCertificate(),g=o.computed(()=>hi.form[n.config.app].edit),h=o.ref(),H=o.computed(()=>{if(h.value)return d(h.value)}),ne=o.computed(()=>{var Z;return((Z=H.value)==null?void 0:Z.schemaIssuer)||""}),te=o.computed(()=>{var Z,T;return(Z=H.value)!=null&&Z.schemaExpiry?a((T=H.value)==null?void 0:T.schemaExpiry):""}),X=o.computed(()=>{var Z;return((Z=H.value)==null?void 0:Z.schemaKeyUsages)||[]}),re=(Z,T)=>{const K=f("rowValue",T);if(Z==="expiry")return te.value;if(Z==="key_usages")return X.value;if(K)return K[Z]},Ae=Z=>{h.value=Z,i("fetch:success",Z)},Ue=o.ref({id:{},updated_at:{},created_at:{},cert:{section:S.ConfigurationSchemaSection.Basic,label:s("ca-certificates.form.fields.cert.label"),tooltip:s("ca-certificates.form.fields.cert.tooltip"),order:5},cert_digest:{section:S.ConfigurationSchemaSection.Basic,label:s("ca-certificates.form.fields.cert_digest.label"),tooltip:s("ca-certificates.form.fields.cert_digest.tooltip"),order:6},metadata:{section:S.ConfigurationSchemaSection.Basic,type:S.ConfigurationSchemaType.Json,order:7},...n.config.app==="kongManager"&&{expiry:{label:s("certificates.list.table_headers.expiry"),section:S.ConfigurationSchemaSection.Basic,order:1.7,forceShow:!0},issuer:{section:S.ConfigurationSchemaSection.Basic,order:1.5,forceShow:!0},key_usages:{section:S.ConfigurationSchemaSection.Basic,forceShow:!0}},tags:{tooltip:s("ca-certificates.form.fields.tags.tooltip")}});return(Z,T)=>{const K=o.resolveComponent("KCodeBlock"),oe=o.resolveComponent("KLabel"),O=o.resolveComponent("KBadge");return o.openBlock(),o.createElementBlock("div",fp,[o.createVNode(o.unref(S.EntityBaseConfigCard),{config:r.config,"config-card-doc":r.configCardDoc,"config-schema":Ue.value,"entity-type":o.unref(S.SupportedEntityType).CaCertificate,"fetch-url":g.value,"hide-title":r.hideTitle,"onFetch:error":T[0]||(T[0]=w=>Z.$emit("fetch:error",w)),"onFetch:success":Ae,onLoading:T[1]||(T[1]=w=>Z.$emit("loading",w))},{cert:o.withCtx(w=>[o.unref(f)("rowValue",w)?(o.openBlock(),o.createBlock(K,{key:0,id:`ca-cert-${r.config.entityId}-cert-codeblock`,code:o.unref(f)("rowValue",w),language:"plaintext","single-line":""},null,8,["id","code"])):o.createCommentVNode("",!0)]),"metadata-label":o.withCtx(()=>[o.createVNode(oe,{class:"metadata-label"},{default:o.withCtx(()=>T[2]||(T[2]=[o.createTextVNode(" Metadata ")])),_:1})]),metadata:o.withCtx(w=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(Object.keys(o.unref(f)("rowValue",w)).filter(k=>!t.includes(k)),k=>(o.openBlock(),o.createBlock(o.unref(S.ConfigCardItem),{key:k,"data-testid":`ca-cert-metadata-${k}`,item:{key:k,label:o.unref(u)(k),value:re(k,w),type:k==="key_usages"?o.unref(S.ConfigurationSchemaType).BadgeTag:o.unref(S.ConfigurationSchemaType).Text}},null,8,["data-testid","item"]))),128))]),expiry:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(te.value||"–"),1)]),issuer:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(ne.value||"–"),1)]),key_usages:o.withCtx(()=>[X.value.length?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock("div",dp,o.toDisplayString("–"))),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(X.value,(w,k)=>(o.openBlock(),o.createBlock(O,{key:`key_usages-badge-tag-${k}`,class:"config-badge","data-testid":`key_usages-badge-tag-${k}`,tooltip:w,"truncation-tooltip":""},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(w),1)]),_:2},1032,["data-testid","tooltip"]))),128))]),_:1},8,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title"])])}}}),[["__scopeId","data-v-83648433"]]),hp={class:"kong-ui-entities-ca-certificates-list"},yp={class:"button-row"},gp={class:"empty-state-icon-gateway"},mp={key:0},bp={key:1},vp={key:0},wp={key:1},Ap=Xt(o.defineComponent({__name:"CACertificateList",props:{config:{type:Object,required:!0,validator:r=>!(!r||!["konnect","kongManager"].includes(r==null?void 0:r.app)||!r.createRoute||!r.getViewRoute||!r.getEditRoute||r.app==="kongManager"&&!r.isExactMatch&&!r.filterSchema)},cacheIdentifier:{type:String,default:""},canCreate:{type:Function,required:!1,default:async()=>!0},canDelete:{type:Function,required:!1,default:async()=>!0},canEdit:{type:Function,required:!1,default:async()=>!0},canRetrieve:{type:Function,required:!1,default:async()=>!0},useActionOutside:{type:Boolean,default:!1},useToolbarCreationButton:{type:Boolean,default:!1}},emits:["error","click:learn-more","copy:success","copy:error","delete:success"],setup(r,{emit:e}){var ce;const t=e,i=r,{i18n:{t:n,formatUnixTimeStamp:s},i18nT:a}=et.useI18n(),u=mi.useRouter(),{axiosInstance:f}=S.useAxios((ce=i.config)==null?void 0:ce.axiosRequestConfig),{hasRecords:d,handleStateChange:g}=S.useTableState(()=>re.value),h=o.computed(()=>d.value&&i.config.app==="konnect"),H=o.computed(()=>i.config.app!=="kongManager"||!!i.config.disableSorting),te={issuer:{label:n("ca-certificates.list.table_headers.issuer"),hidable:!1},expiry:{label:n("ca-certificates.list.table_headers.expiry")},tags:{label:n("ca-certificates.list.table_headers.tags"),sortable:!0}},X=o.computed(()=>{var V,$;let F=`${i.config.apiBaseUrl}${hi.list[i.config.app]}`;return i.config.app==="konnect"?F=F.replace(/{controlPlaneId}/gi,((V=i.config)==null?void 0:V.controlPlaneId)||""):i.config.app==="kongManager"&&(F=F.replace(/\/{workspace}/gi,($=i.config)!=null&&$.workspace?`/${i.config.workspace}`:"")),F}),re=o.ref(""),Ae=o.computed(()=>{const F=i.config.app==="konnect"||i.config.isExactMatch;return F?{isExactMatch:F,placeholder:n("ca-certificates.search.placeholder")}:{isExactMatch:F,schema:i.config.filterSchema}}),{fetcher:Ue,fetcherState:Z,fetcherCacheKey:T}=S.useFetcher(o.computed(()=>({...i.config,cacheIdentifier:i.cacheIdentifier})),X),K=()=>{re.value=""},oe=()=>{T.value++},O=o.ref(null),w=async(F,V)=>{const $=F.id;if(!await V($)){t("copy:error",{entity:F,field:"id",message:n("ca-certificates.errors.copy")});return}t("copy:success",{entity:F,field:"id",message:n("ca-certificates.copy.success",{val:$})})},k=async(F,V)=>{const $=JSON.stringify(F);if(!await V($)){t("copy:error",{entity:F,message:n("ca-certificates.errors.copy")});return}t("copy:success",{entity:F,message:n("ca-certificates.copy.success_brief")})},be=async F=>{var $;await(($=i.canRetrieve)==null?void 0:$.call(i,F))&&u.push(i.config.getViewRoute(F.id))},ie=F=>({label:n("ca-certificates.actions.view"),to:i.config.getViewRoute(F)}),ft=F=>({label:n("ca-certificates.actions.edit"),to:i.config.getEditRoute(F)}),se=o.ref(void 0),ae=o.ref(!1),Ie=o.ref(!1),W=o.ref(""),er=S.useDeleteUrlBuilder(i.config,X.value),{certificateDataCache:Tr,getCertificateData:jt}=et.useCertificate(),kt=F=>{se.value=F,ae.value=!0},_r=()=>{ae.value=!1},D=async()=>{var F,V,$;if((F=se.value)!=null&&F.id){Ie.value=!0;try{await f.delete(er(se.value.id)),Ie.value=!1,ae.value=!1,T.value++,t("delete:success",se.value)}catch(J){W.value=(($=(V=J.response)==null?void 0:V.data)==null?void 0:$.message)||J.message||n("ca-certificates.errors.delete"),t("error",J)}finally{Ie.value=!1}}},dt=()=>{u.push(i.config.createRoute)};o.watch(Z,F=>{var V,$,J;if(F.status===S.FetcherStatus.Error){O.value={title:n("ca-certificates.errors.general")},(J=($=(V=F.error)==null?void 0:V.response)==null?void 0:$.data)!=null&&J.message&&(O.value.message=F.error.response.data.message),t("error",F.error);return}Tr.value={},O.value=null});const tr=o.ref({ctaPath:i.config.createRoute,ctaText:void 0,message:`${n("ca-certificates.list.empty_state.description")}${i.config.additionMessageForEmptyState?` ${i.config.additionMessageForEmptyState}`:""}`,title:n("ca-certificates.title")});return o.onBeforeMount(async()=>{await i.canCreate()&&(tr.value.title=n("ca-certificates.list.empty_state.title"),tr.value.ctaText=n("ca-certificates.actions.create"))}),(F,V)=>{const $=o.resolveComponent("KButton"),J=o.resolveComponent("KDropdownItem"),de=o.resolveComponent("KClipboardProvider");return o.openBlock(),o.createElementBlock("div",hp,[o.createVNode(o.unref(S.EntityBaseTable),{"cache-identifier":r.cacheIdentifier,"disable-sorting":H.value,"empty-state-options":tr.value,"enable-entity-actions":"","error-message":O.value,fetcher:o.unref(Ue),"fetcher-cache-key":o.unref(T),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-ca-certificates-list",query:re.value,"table-headers":o.unref(te),onClearSearchInput:K,"onClick:row":V[3]||(V[3]=q=>be(q)),onSort:oe,onState:o.unref(g)},o.createSlots({"toolbar-filter":o.withCtx(()=>[o.createVNode(o.unref(S.EntityFilter),{modelValue:re.value,"onUpdate:modelValue":V[0]||(V[0]=q=>re.value=q),config:Ae.value},null,8,["modelValue","config"]),r.useToolbarCreationButton?(o.openBlock(),o.createBlock(o.unref(S.PermissionsWrapper),{key:0,"auth-function":r.canCreate},{default:o.withCtx(()=>[o.createVNode($,{appearance:"primary","data-testid":"toolbar-add-ca-certificate",size:"large",to:r.config.createRoute},{default:o.withCtx(()=>[o.createVNode(o.unref(rt.AddIcon)),o.createTextVNode(" "+o.toDisplayString(o.unref(n)("ca-certificates.list.toolbar_actions.new_ca_certificate")),1)]),_:1},8,["to"])]),_:1},8,["auth-function"])):o.createCommentVNode("",!0)]),"toolbar-button":o.withCtx(()=>[(o.openBlock(),o.createBlock(o.Teleport,{disabled:!r.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[o.createElementVNode("div",yp,[h.value?(o.openBlock(),o.createBlock($,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"ca-certificates-learn-more-button",icon:"",onClick:V[1]||(V[1]=q=>F.$emit("click:learn-more"))},{default:o.withCtx(()=>[o.createVNode(o.unref(rt.BookIcon),{decorative:""})]),_:1})):o.createCommentVNode("",!0),r.useToolbarCreationButton?o.createCommentVNode("",!0):(o.openBlock(),o.createBlock(o.unref(S.PermissionsWrapper),{key:1,"auth-function":r.canCreate},{default:o.withCtx(()=>[o.createVNode($,{appearance:"primary","data-testid":"toolbar-add-ca-certificate",size:r.useActionOutside?"medium":"large",to:r.config.createRoute},{default:o.withCtx(()=>[o.createVNode(o.unref(rt.AddIcon)),o.createTextVNode(" "+o.toDisplayString(o.unref(n)("ca-certificates.list.toolbar_actions.new_ca_certificate")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"]))])],8,["disabled"]))]),issuer:o.withCtx(({row:q})=>{var ve;return[r.config.app==="konnect"?(o.openBlock(),o.createElementBlock("b",mp,o.toDisplayString((ve=q==null?void 0:q.metadata)!=null&&ve.issuer?q.metadata.issuer:"-"),1)):(o.openBlock(),o.createElementBlock("b",bp,o.toDisplayString(o.unref(jt)(q).schemaIssuer||"-"),1))]}),expiry:o.withCtx(({row:q})=>{var ve;return[r.config.app==="konnect"?(o.openBlock(),o.createElementBlock("span",vp,o.toDisplayString((ve=q==null?void 0:q.metadata)!=null&&ve.expiry?o.unref(s)(q.metadata.expiry):"-"),1)):(o.openBlock(),o.createElementBlock("span",wp,o.toDisplayString(o.unref(jt)(q).schemaExpiry?o.unref(s)(o.unref(jt)(q).schemaExpiry):"-"),1))]}),tags:o.withCtx(({row:q})=>[o.createVNode(o.unref(S.TableTags),{tags:q==null?void 0:q.tags},null,8,["tags"])]),actions:o.withCtx(({row:q})=>[o.createVNode(de,null,{default:o.withCtx(({copyToClipboard:ve})=>[o.createVNode(J,{"data-testid":"action-entity-copy-id",onClick:M=>w(q,ve)},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(n)("ca-certificates.actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),o.createVNode(de,null,{default:o.withCtx(({copyToClipboard:ve})=>[o.createVNode(J,{"data-testid":"action-entity-copy-json",onClick:M=>k(q,ve)},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(n)("ca-certificates.actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),o.createVNode(o.unref(S.PermissionsWrapper),{"auth-function":()=>r.canRetrieve(q)},{default:o.withCtx(()=>[o.createVNode(J,{"data-testid":"action-entity-view","has-divider":"",item:ie(q.id)},null,8,["item"])]),_:2},1032,["auth-function"]),o.createVNode(o.unref(S.PermissionsWrapper),{"auth-function":()=>r.canEdit(q)},{default:o.withCtx(()=>[o.createVNode(J,{"data-testid":"action-entity-edit",item:ft(q.id)},null,8,["item"])]),_:2},1032,["auth-function"]),o.createVNode(o.unref(S.PermissionsWrapper),{"auth-function":()=>r.canDelete(q)},{default:o.withCtx(()=>[o.createVNode(J,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:ve=>kt(q)},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(n)("ca-certificates.actions.delete")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!re.value&&r.config.app==="konnect"?{name:"empty-state",fn:o.withCtx(()=>{var q;return[o.createVNode(o.unref(S.EntityEmptyState),{"action-button-text":o.unref(n)("ca-certificates.list.empty_state_v2.create"),appearance:"secondary","can-create":()=>r.canCreate(),"data-testid":"ca-certificates-entity-empty-state",description:o.unref(n)("ca-certificates.list.empty_state_v2.description"),"learn-more":r.config.app==="konnect",title:o.unref(n)("ca-certificates.list.empty_state_v2.title"),"onClick:create":dt,"onClick:learnMore":V[2]||(V[2]=ve=>F.$emit("click:learn-more"))},o.createSlots({image:o.withCtx(()=>[o.createElementVNode("div",gp,[o.createVNode(o.unref(rt.ServiceDocumentIcon),{color:o.unref(Ca),size:o.unref(xa)},null,8,["color","size"])])]),_:2},[(q=r.config)!=null&&q.isControlPlaneGroup?{name:"message",fn:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(n)("ca-certificates.list.empty_state_v2.group")),1)]),key:"0"}:void 0]),1032,["action-button-text","can-create","description","learn-more","title"])]}),key:"0"}:void 0]),1032,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","query","table-headers","onState"]),o.createVNode(o.unref(S.EntityDeleteModal),{"action-pending":Ie.value,"entity-type":o.unref(S.EntityTypes).CACertificate,error:W.value,title:o.unref(n)("ca-certificates.delete.title"),visible:ae.value,onCancel:_r,onProceed:D},{description:o.withCtx(()=>[o.createVNode(o.unref(a),{keypath:"ca-certificates.delete.description",scope:"global"},{"bolded-text":o.withCtx(()=>[o.createElementVNode("b",null,o.toDisplayString(o.unref(n)("ca-certificates.delete.boldedText")),1)]),_:1}),o.createElementVNode("p",null,o.toDisplayString(o.unref(n)("ca-certificates.delete.description2")),1)]),_:1},8,["action-pending","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-ee9855bc"]]),Sp={class:"kong-ui-entities-ca-certificates-form"},kp=Xt(o.defineComponent({__name:"CACertificateForm",props:{config:{type:Object,required:!0,validator:r=>!(!r||!["konnect","kongManager"].includes(r==null?void 0:r.app)||r.app==="konnect"&&!r.controlPlaneId||r.app==="kongManager"&&typeof r.workspace!="string"||!r.cancelRoute)},certificateId:{type:String,required:!1,default:""}},emits:["update","error","loading"],setup(r,{emit:e}){var Z;const t=e,i=r,n=mi.useRouter(),{i18n:{t:s}}=et.useI18n(),{getMessageFromError:a}=S.useErrors(),{axiosInstance:u}=S.useAxios((Z=i.config)==null?void 0:Z.axiosRequestConfig),f=o.computed(()=>hi.form[i.config.app].edit),d=o.computed(()=>i.certificateId?S.EntityBaseFormType.Edit:S.EntityBaseFormType.Create),g=o.reactive({fields:{cert:"",certDigest:"",tags:""},isReadonly:!1,errorMessage:""}),h=o.reactive({cert:"",certDigest:"",tags:""}),H=o.computed(()=>(d.value===S.EntityBaseFormType.Create||JSON.stringify(g.fields)!==JSON.stringify(h))&&!!g.fields.cert),ne=T=>{var K;g.fields.cert=(T==null?void 0:T.cert)||"",g.fields.certDigest=(T==null?void 0:T.cert_digest)||"",g.fields.tags=((K=T==null?void 0:T.tags)==null?void 0:K.join(", "))||"",Object.assign(h,g.fields)},te=()=>{n.push(i.config.cancelRoute)},X=o.computed(()=>{var K,oe;let T=`${i.config.apiBaseUrl}${hi.form[i.config.app].validate}`;return i.config.app==="konnect"?T=T.replace(/{controlPlaneId}/gi,((K=i.config)==null?void 0:K.controlPlaneId)||""):i.config.app==="kongManager"&&(T=T.replace(/\/{workspace}/gi,(oe=i.config)!=null&&oe.workspace?`/${i.config.workspace}`:"")),T=T.replace(/{id}/gi,i.certificateId),T}),re=o.computed(()=>{var K,oe;let T=`${i.config.apiBaseUrl}${hi.form[i.config.app][d.value]}`;return i.config.app==="konnect"?T=T.replace(/{controlPlaneId}/gi,((K=i.config)==null?void 0:K.controlPlaneId)||""):i.config.app==="kongManager"&&(T=T.replace(/\/{workspace}/gi,(oe=i.config)!=null&&oe.workspace?`/${i.config.workspace}`:"")),T=T.replace(/{id}/gi,i.certificateId),T}),Ae=o.computed(()=>{var T,K;return{cert:g.fields.cert,cert_digest:g.fields.certDigest||null,tags:(K=(T=g.fields.tags.split(","))==null?void 0:T.map(oe=>String(oe||"").trim()))==null?void 0:K.filter(oe=>oe!=="")}}),Ue=async()=>{var T,K,oe,O,w;try{g.isReadonly=!0;let k;await u.post(X.value,Ae.value),d.value==="create"?k=await u.post(re.value,Ae.value):d.value==="edit"&&(k=((T=i.config)==null?void 0:T.app)==="konnect"?await u.put(re.value,Ae.value):await u.patch(re.value,Ae.value)),g.fields.cert=((K=k==null?void 0:k.data)==null?void 0:K.cert)||"",g.fields.certDigest=((oe=k==null?void 0:k.data)==null?void 0:oe.cert_digest)||"",g.fields.tags=((w=(O=k==null?void 0:k.data)==null?void 0:O.tags)==null?void 0:w.join(", "))||"",Object.assign(h,g.fields),t("update",k==null?void 0:k.data)}catch(k){g.errorMessage=a(k),t("error",k)}finally{g.isReadonly=!1}};return(T,K)=>{const oe=o.resolveComponent("KTextArea"),O=o.resolveComponent("KInput");return o.openBlock(),o.createElementBlock("div",Sp,[o.createVNode(o.unref(S.EntityBaseForm),{"can-submit":H.value,config:r.config,"edit-id":r.certificateId,"entity-type":o.unref(S.SupportedEntityType).CaCertificate,"error-message":g.errorMessage,"fetch-url":f.value,"form-fields":Ae.value,"is-readonly":g.isReadonly,onCancel:te,"onFetch:error":K[3]||(K[3]=w=>T.$emit("error",w)),"onFetch:success":ne,onLoading:K[4]||(K[4]=w=>T.$emit("loading",w)),onSubmit:Ue},{default:o.withCtx(()=>[o.createVNode(o.unref(S.EntityFormSection),{description:o.unref(s)("ca-certificates.form.sections.cert.description"),title:o.unref(s)("ca-certificates.form.sections.cert.title")},{default:o.withCtx(()=>[o.createVNode(oe,{modelValue:g.fields.cert,"onUpdate:modelValue":K[0]||(K[0]=w=>g.fields.cert=w),modelModifiers:{trim:!0},"character-limit":!1,class:"certificate-form-textarea","data-testid":"ca-certificate-form-cert",label:o.unref(s)("ca-certificates.form.fields.cert.label"),"label-attributes":{info:o.unref(s)("ca-certificates.form.fields.cert.tooltip"),tooltipAttributes:{maxWidth:"400"}},readonly:g.isReadonly,required:""},null,8,["modelValue","label","label-attributes","readonly"]),o.createVNode(O,{modelValue:g.fields.certDigest,"onUpdate:modelValue":K[1]||(K[1]=w=>g.fields.certDigest=w),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"ca-certificate-form-cert-digest",label:o.unref(s)("ca-certificates.form.fields.cert_digest.label"),readonly:g.isReadonly,type:"text"},null,8,["modelValue","label","readonly"])]),_:1},8,["description","title"]),o.createVNode(o.unref(S.EntityFormSection),{description:o.unref(s)("ca-certificates.form.sections.general.description"),title:o.unref(s)("ca-certificates.form.sections.general.title")},{default:o.withCtx(()=>[o.createVNode(O,{modelValue:g.fields.tags,"onUpdate:modelValue":K[2]||(K[2]=w=>g.fields.tags=w),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"ca-certificate-form-tags",help:o.unref(s)("ca-certificates.form.fields.tags.help"),label:o.unref(s)("ca-certificates.form.fields.tags.label"),"label-attributes":{info:o.unref(s)("ca-certificates.form.fields.tags.tooltip"),tooltipAttributes:{maxWidth:"400"}},placeholder:o.unref(s)("ca-certificates.form.fields.tags.placeholder"),readonly:g.isReadonly,type:"text"},null,8,["modelValue","help","label","label-attributes","placeholder","readonly"])]),_:1},8,["description","title"])]),_:1},8,["can-submit","config","edit-id","entity-type","error-message","fetch-url","form-fields","is-readonly"])])}}}),[["__scopeId","data-v-a850d9bb"]]),Cp={class:"kong-ui-certificate-entity-config-card"},xp={key:0},Bp=Xt(o.defineComponent({__name:"CertificateConfigCard",props:{config:{type:Object,required:!0,validator:r=>!(!r||!["konnect","kongManager"].includes(r==null?void 0:r.app)||r.app==="konnect"&&!r.controlPlaneId||r.app==="kongManager"&&typeof r.workspace!="string"||!r.entityId)},configCardDoc:{type:String,default:"",required:!1},hideTitle:{type:Boolean,default:!1}},emits:["loading","fetch:error","fetch:success"],setup(r,{emit:e}){const t=e,i=r,{i18n:{t:n,formatUnixTimeStamp:s},i18nT:a}=et.useI18n(),{convertKeyToTitle:u}=S.useStringHelpers(),{getPropValue:f}=S.useHelpers(),{getCertificateData:d}=et.useCertificate(),g=o.computed(()=>pi.form[i.config.app].edit),h=o.ref(),H=o.ref({id:{},cert:{section:S.ConfigurationSchemaSection.Basic},key:{section:S.ConfigurationSchemaSection.Basic,type:S.ConfigurationSchemaType.Redacted},metadata:{section:S.ConfigurationSchemaSection.Basic,type:S.ConfigurationSchemaType.Json},snis:{section:S.ConfigurationSchemaSection.Basic,type:S.ConfigurationSchemaType.BadgeTag,label:n("certificates.list.table_headers.snis")},updated_at:{},created_at:{},tags:{tooltip:n("certificates.form.fields.tags.tooltip")},...i.config.app==="kongManager"&&{expiry:{section:S.ConfigurationSchemaSection.Basic,label:n("certificates.list.table_headers.expiry"),forceShow:!0},issuer:{section:S.ConfigurationSchemaSection.Basic,label:n("certificates.list.table_headers.issuer"),forceShow:!0},san_names:{section:S.ConfigurationSchemaSection.Basic,label:n("certificates.list.table_headers.san"),forceShow:!0},subject:{section:S.ConfigurationSchemaSection.Basic,label:n("certificates.list.table_headers.subject"),forceShow:!0},key_usages:{forceShow:!0}},cert_alt:{section:S.ConfigurationSchemaSection.Advanced},key_alt:{section:S.ConfigurationSchemaSection.Advanced,type:S.ConfigurationSchemaType.Redacted}}),ne=w=>{h.value=w,t("fetch:success",w)},te=(w,k)=>{const be=f("rowValue",k);if(w==="expiry")return re.value;if(w==="key_usages")return T.value;if(w==="san_names")return Ue.value;if(be)return be[w]},X=o.computed(()=>{if(h.value)return d(h.value)}),re=o.computed(()=>{var w,k;return(w=X.value)!=null&&w.schemaExpiry?s((k=X.value)==null?void 0:k.schemaExpiry):""}),Ae=o.computed(()=>{var w;return((w=X.value)==null?void 0:w.schemaIssuer)||""}),Ue=o.computed(()=>{var w;return((w=X.value)==null?void 0:w.schemaSanNames)||""}),Z=o.computed(()=>{var w;return((w=X.value)==null?void 0:w.schemaSubject)||""}),T=o.computed(()=>{var w;return((w=X.value)==null?void 0:w.schemaKeyUsages)||[]}),K=o.computed(()=>{var w,k;return((k=(w=h==null?void 0:h.value)==null?void 0:w.snis)==null?void 0:k.length)>0}),oe=o.computed(()=>{var w;return!!((w=h==null?void 0:h.value)!=null&&w.cert_alt)}),O=w=>{var k,be;return w==="san_names"?n("certificates.list.table_headers.san"):((be=(k=H.value)==null?void 0:k[w])==null?void 0:be.label)||u(w)};return(w,k)=>{const be=o.resolveComponent("KCodeBlock"),ie=o.resolveComponent("KLabel"),ft=o.resolveComponent("KBadge");return o.openBlock(),o.createElementBlock("div",Cp,[o.createVNode(o.unref(S.EntityBaseConfigCard),{config:r.config,"config-card-doc":r.configCardDoc,"config-schema":H.value,"entity-type":o.unref(S.SupportedEntityType).Certificate,"fetch-url":g.value,"hide-title":r.hideTitle,"onFetch:error":k[0]||(k[0]=se=>w.$emit("fetch:error",se)),"onFetch:success":ne,onLoading:k[1]||(k[1]=se=>w.$emit("loading",se))},o.createSlots({"cert-label-tooltip":o.withCtx(()=>[o.createVNode(o.unref(a),{keypath:"certificates.form.fields.cert.tooltip",scope:"global"},{emphasis:o.withCtx(()=>[o.createElementVNode("i",null,o.toDisplayString(o.unref(n)("certificates.form.fields.cert.emphasis")),1)]),_:1})]),cert:o.withCtx(se=>[o.unref(f)("rowValue",se)?(o.openBlock(),o.createBlock(be,{key:0,id:`certificate-${r.config.entityId}-cert-codeblock`,code:o.unref(f)("rowValue",se),language:"plaintext","single-line":""},null,8,["id","code"])):o.createCommentVNode("",!0)]),"key-label-tooltip":o.withCtx(()=>[o.createVNode(o.unref(a),{keypath:"certificates.form.fields.key.tooltip",scope:"global"},{emphasis:o.withCtx(()=>[o.createElementVNode("i",null,o.toDisplayString(o.unref(n)("certificates.form.fields.key.emphasis")),1)]),_:1})]),"metadata-label":o.withCtx(()=>[o.createVNode(ie,{class:"metadata-label"},{default:o.withCtx(()=>k[2]||(k[2]=[o.createTextVNode(" Metadata ")])),_:1})]),metadata:o.withCtx(se=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(Object.keys(o.unref(f)("rowValue",se)),ae=>(o.openBlock(),o.createBlock(o.unref(S.ConfigCardItem),{key:ae,item:{key:ae,value:te(ae,se),label:O(ae),type:ae==="key_usages"||ae==="snis"||ae==="dns_names"?o.unref(S.ConfigurationSchemaType).BadgeTag:o.unref(S.ConfigurationSchemaType).Text}},null,8,["item"]))),128))]),expiry:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(re.value||"–"),1)]),issuer:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(Ae.value||"–"),1)]),san_names:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(Ue.value||"–"),1)]),subject:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(Z.value||"–"),1)]),"cert_alt-label-tooltip":o.withCtx(()=>[o.createVNode(o.unref(a),{keypath:"certificates.form.fields.cert_alt.tooltip",scope:"global"},{emphasis:o.withCtx(()=>[o.createElementVNode("i",null,o.toDisplayString(o.unref(n)("certificates.form.fields.cert_alt.emphasis")),1)]),_:1})]),"key_alt-label-tooltip":o.withCtx(()=>[o.createVNode(o.unref(a),{keypath:"certificates.form.fields.key_alt.tooltip",scope:"global"},{emphasis:o.withCtx(()=>[o.createElementVNode("i",null,o.toDisplayString(o.unref(n)("certificates.form.fields.key_alt.emphasis")),1)]),_:1})]),key_usages:o.withCtx(()=>[T.value.length?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock("div",xp,o.toDisplayString("–"))),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(T.value,(se,ae)=>(o.openBlock(),o.createBlock(ft,{key:`key_usages-badge-tag-${ae}`,class:"config-badge","data-testid":`key_usages-badge-tag-${ae}`,tooltip:se,"truncation-tooltip":""},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(se),1)]),_:2},1032,["data-testid","tooltip"]))),128))]),_:2},[K.value?void 0:{name:"snis",fn:o.withCtx(()=>[k[3]||(k[3]=o.createTextVNode(" – "))]),key:"0"},oe.value?{name:"cert_alt",fn:o.withCtx(se=>[k[4]||(k[4]=o.createTextVNode(" > ")),o.unref(f)("rowValue",se)?(o.openBlock(),o.createBlock(be,{key:0,id:`certificate-${r.config.entityId}-cert-alt-codeblock`,code:o.unref(f)("rowValue",se),language:"plaintext","single-line":""},null,8,["id","code"])):o.createCommentVNode("",!0)]),key:"1"}:void 0]),1032,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title"])])}}}),[["__scopeId","data-v-de8f90ef"]]);xe.CACertificateConfigCard=pp,xe.CACertificateForm=kp,xe.CACertificateList=Ap,xe.CertificateConfigCard=Bp,xe.CertificateForm=up,xe.CertificateList=np,Object.defineProperty(xe,Symbol.toStringTag,{value:"Module"})});
|
|
117
|
+
`)}}Fe.CertificateTag="CERTIFICATE",Fe.CrlTag="CRL",Fe.CertificateRequestTag="CERTIFICATE REQUEST",Fe.PublicKeyTag="PUBLIC KEY",Fe.PrivateKeyTag="PRIVATE KEY";class St extends Ot{static isAsnEncoded(e){return x.isBufferSource(e)||typeof e=="string"}static toArrayBuffer(e){if(typeof e=="string"){if(Fe.isPem(e))return Fe.decode(e)[0];if(j.isHex(e))return j.FromHex(e);if(j.isBase64(e))return j.FromBase64(e);if(j.isBase64Url(e))return j.FromBase64Url(e);throw new TypeError("Unsupported format of 'raw' argument. Must be one of DER, PEM, HEX, Base64, or Base4Url")}else{const t=j.ToBinary(e);return Fe.isPem(t)?Fe.decode(t)[0]:j.isHex(t)?j.FromHex(t):j.isBase64(t)?j.FromBase64(t):j.isBase64Url(t)?j.FromBase64Url(t):x.toArrayBuffer(e)}}constructor(...e){St.isAsnEncoded(e[0])?super(St.toArrayBuffer(e[0]),e[1]):super(e[0])}toString(e="pem"){switch(e){case"pem":return Fe.encode(this.rawData,this.tag);default:return super.toString(e)}}}class ut extends St{static async create(e,t=Ve.get()){if(e instanceof ut)return e;if(Tt.isCryptoKey(e)){if(e.type!=="public")throw new TypeError("Public key is required");const i=await t.subtle.exportKey("spki",e);return new ut(i)}else{if(e.publicKey)return e.publicKey;if(x.isBufferSource(e))return new ut(e);throw new TypeError("Unsupported PublicKeyType")}}constructor(e){St.isAsnEncoded(e)?super(e,st):super(e),this.tag=Fe.PublicKeyTag}async export(...e){let t,i=["verify"],n={hash:"SHA-256",...this.algorithm};e.length>1?(n=e[0]||n,i=e[1]||i,t=e[2]||Ve.get()):t=e[0]||Ve.get();let s=this.rawData;const a=B.parse(this.rawData,st);return a.algorithm.algorithm===ni&&(s=Hd(a,s)),t.subtle.importKey("spki",s,n,!0,i)}onInit(e){const t=_e.resolve(Ir),i=this.algorithm=t.toWebAlgorithm(e.algorithm);switch(e.algorithm.algorithm){case Gt:{const n=B.parse(e.subjectPublicKey,Ps),s=x.toUint8Array(n.modulus);i.publicExponent=x.toUint8Array(n.publicExponent),i.modulusLength=(s[0]?s:s.slice(1)).byteLength<<3;break}}}async getThumbprint(...e){var t;let i,n="SHA-1";return e.length>=1&&!(!((t=e[0])===null||t===void 0)&&t.subtle)?(n=e[0]||n,i=e[1]||Ve.get()):i=e[0]||Ve.get(),await i.subtle.digest(n,this.rawData)}async getKeyIdentifier(...e){let t,i="SHA-1";e.length===1?typeof e[0]=="string"?(i=e[0],t=Ve.get()):t=e[0]:e.length===2?(i=e[0],t=e[1]):t=Ve.get();const n=B.parse(this.rawData,st);return await t.subtle.digest(i,n.subjectPublicKey)}toTextObject(){const e=this.toTextObjectEmpty(),t=B.parse(this.rawData,st);switch(e.Algorithm=Zt.serializeAlgorithm(t.algorithm),t.algorithm.algorithm){case ti:e["EC Point"]=t.subjectPublicKey;break;case Gt:default:e["Raw Data"]=t.subjectPublicKey}return e}}function Hd(r,e){return r.algorithm=new I({algorithm:Gt,parameters:null}),e=B.serialize(r),e}class di extends Le{static async create(e,t=!1,i=Ve.get()){if("name"in e&&"serialNumber"in e)return new di(e,t);const s=await(await ut.create(e,i)).getKeyIdentifier(i);return new di(j.ToHex(s),t)}constructor(...e){if(x.isBufferSource(e[0]))super(e[0]);else if(typeof e[0]=="string"){const t=new Ht({keyIdentifier:new To(j.FromHex(e[0]))});super(Oo,e[1],B.serialize(t))}else{const t=e[0],i=t.name instanceof Qt?B.parse(t.name.rawData,Be):t.name,n=new Ht({authorityCertIssuer:i,authorityCertSerialNumber:j.FromHex(t.serialNumber)});super(Oo,e[1],B.serialize(n))}}onInit(e){super.onInit(e);const t=B.parse(e.extnValue,Ht);t.keyIdentifier&&(this.keyId=j.ToHex(t.keyIdentifier)),(t.authorityCertIssuer||t.authorityCertSerialNumber)&&(this.certId={name:t.authorityCertIssuer||[],serialNumber:t.authorityCertSerialNumber?j.ToHex(t.authorityCertSerialNumber):""})}toTextObject(){const e=this.toTextObjectWithoutValue(),t=B.parse(this.value,Ht);return t.authorityCertIssuer&&(e["Authority Issuer"]=new Qt(t.authorityCertIssuer).toTextObject()),t.authorityCertSerialNumber&&(e["Authority Serial Number"]=t.authorityCertSerialNumber),t.keyIdentifier&&(e[""]=t.keyIdentifier),e}}di.NAME="Authority Key Identifier";class Ou extends Le{constructor(...e){if(x.isBufferSource(e[0])){super(e[0]);const t=B.parse(this.value,$i);this.ca=t.cA,this.pathLength=t.pathLenConstraint}else{const t=new $i({cA:e[0],pathLenConstraint:e[1]});super(Rc,e[2],B.serialize(t)),this.ca=e[0],this.pathLength=e[1]}}toTextObject(){const e=this.toTextObjectWithoutValue();return this.ca&&(e.CA=this.ca),this.pathLength!==void 0&&(e["Path Length"]=this.pathLength),e}}Ou.NAME="Basic Constraints";var Tu;(function(r){r.serverAuth="1.3.6.1.5.5.7.3.1",r.clientAuth="1.3.6.1.5.5.7.3.2",r.codeSigning="1.3.6.1.5.5.7.3.3",r.emailProtection="1.3.6.1.5.5.7.3.4",r.timeStamping="1.3.6.1.5.5.7.3.8",r.ocspSigning="1.3.6.1.5.5.7.3.9"})(Tu||(Tu={}));class _u extends Le{constructor(...e){if(x.isBufferSource(e[0])){super(e[0]);const t=B.parse(this.value,Ki);this.usages=t.map(i=>i)}else{const t=new Ki(e[0]);super(Lc,e[1],B.serialize(t)),this.usages=e[0]}}toTextObject(){const e=this.toTextObjectWithoutValue();return e[""]=this.usages.map(t=>Nt.toString(t)).join(", "),e}}_u.NAME="Extended Key Usages";var da;(function(r){r[r.digitalSignature=1]="digitalSignature",r[r.nonRepudiation=2]="nonRepudiation",r[r.keyEncipherment=4]="keyEncipherment",r[r.dataEncipherment=8]="dataEncipherment",r[r.keyAgreement=16]="keyAgreement",r[r.keyCertSign=32]="keyCertSign",r[r.cRLSign=64]="cRLSign",r[r.encipherOnly=128]="encipherOnly",r[r.decipherOnly=256]="decipherOnly"})(da||(da={}));class pa extends Le{constructor(...e){if(x.isBufferSource(e[0])){super(e[0]);const t=B.parse(this.value,Wo);this.usages=t.toNumber()}else{const t=new Wo(e[0]);super(Kc,e[1],B.serialize(t)),this.usages=e[0]}}toTextObject(){const e=this.toTextObjectWithoutValue(),t=B.parse(this.value,Wo);return e[""]=t.toJSON().join(", "),e}}pa.NAME="Key Usages";class Gn extends Le{static async create(e,t=!1,i=Ve.get()){const s=await(await ut.create(e,i)).getKeyIdentifier(i);return new Gn(j.ToHex(s),t)}constructor(...e){if(x.isBufferSource(e[0])){super(e[0]);const t=B.parse(this.value,Bt);this.keyId=j.ToHex(t)}else{const t=typeof e[0]=="string"?j.FromHex(e[0]):e[0],i=new Bt(t);super(Zc,e[1],B.serialize(i)),this.keyId=j.ToHex(t)}}toTextObject(){const e=this.toTextObjectWithoutValue(),t=B.parse(this.value,Bt);return e[""]=t,e}}Gn.NAME="Subject Key Identifier";class ha extends Le{constructor(...e){x.isBufferSource(e[0])?super(e[0]):super(Jc,e[1],new Qt(e[0]||[]).rawData)}onInit(e){super.onInit(e);const t=B.parse(e.extnValue,Zo);this.names=new Qt(t)}toTextObject(){const e=this.toTextObjectWithoutValue(),t=this.names.toTextObject();for(const i in t)e[i]=t[i];return e}}ha.NAME="Subject Alternative Name";class qe{static register(e,t){this.items.set(e,t)}static create(e){const t=new Le(e),i=this.items.get(t.type);return i?new i(e):t}}qe.items=new Map;class Vu extends Le{constructor(...e){var t;if(x.isBufferSource(e[0])){super(e[0]);const i=B.parse(this.value,Fi);this.policies=i.map(n=>n.policyIdentifier)}else{const i=e[0],n=(t=e[1])!==null&&t!==void 0?t:!1,s=new Fi(i.map(a=>new Li({policyIdentifier:a})));super(Mc,n,B.serialize(s)),this.policies=i}}toTextObject(){const e=this.toTextObjectWithoutValue();return e.Policy=this.policies.map(t=>new Q("",{},Nt.toString(t))),e}}Vu.NAME="Certificate Policies",qe.register(Mc,Vu);class ju extends Le{constructor(...e){var t;if(x.isBufferSource(e[0]))super(e[0]);else if(Array.isArray(e[0])&&typeof e[0][0]=="string"){const n=e[0].map(a=>new ur({distributionPoint:new Lt({fullName:[new L({uniformResourceIdentifier:a})]})})),s=new fr(n);super(Uo,e[1],B.serialize(s))}else{const i=new fr(e[0]);super(Uo,e[1],B.serialize(i))}(t=this.distributionPoints)!==null&&t!==void 0||(this.distributionPoints=[])}onInit(e){super.onInit(e);const t=B.parse(e.extnValue,fr);this.distributionPoints=t}toTextObject(){const e=this.toTextObjectWithoutValue();return e["Distribution Point"]=this.distributionPoints.map(t=>{var i;const n={};return t.distributionPoint&&(n[""]=(i=t.distributionPoint.fullName)===null||i===void 0?void 0:i.map(s=>new Vt(s).toString()).join(", ")),t.reasons&&(n.Reasons=t.reasons.toString()),t.cRLIssuer&&(n["CRL Issuer"]=t.cRLIssuer.map(s=>s.toString()).join(", ")),n}),e}}ju.NAME="CRL Distribution Points";class Pu extends Le{constructor(...e){var t,i,n,s;if(x.isBufferSource(e[0]))super(e[0]);else if(e[0]instanceof lr){const a=new lr(e[0]);super(No,e[1],B.serialize(a))}else{const a=e[0],u=new lr;Jn(u,a,_c,"ocsp"),Jn(u,a,Vc,"caIssuers"),Jn(u,a,jc,"timeStamping"),Jn(u,a,Pc,"caRepository"),super(No,e[1],B.serialize(u))}(t=this.ocsp)!==null&&t!==void 0||(this.ocsp=[]),(i=this.caIssuers)!==null&&i!==void 0||(this.caIssuers=[]),(n=this.timeStamping)!==null&&n!==void 0||(this.timeStamping=[]),(s=this.caRepository)!==null&&s!==void 0||(this.caRepository=[])}onInit(e){super.onInit(e),this.ocsp=[],this.caIssuers=[],this.timeStamping=[],this.caRepository=[],B.parse(e.extnValue,lr).forEach(i=>{switch(i.accessMethod){case _c:this.ocsp.push(new Vt(i.accessLocation));break;case Vc:this.caIssuers.push(new Vt(i.accessLocation));break;case jc:this.timeStamping.push(new Vt(i.accessLocation));break;case Pc:this.caRepository.push(new Vt(i.accessLocation));break}})}toTextObject(){const e=this.toTextObjectWithoutValue();return this.ocsp.length&&zn(e,"OCSP",this.ocsp),this.caIssuers.length&&zn(e,"CA Issuers",this.caIssuers),this.timeStamping.length&&zn(e,"Time Stamping",this.timeStamping),this.caRepository.length&&zn(e,"CA Repository",this.caRepository),e}}Pu.NAME="Authority Info Access";function zn(r,e,t){if(t.length===1)r[e]=t[0].toTextObject();else{const i=new Q("");t.forEach((n,s)=>{const a=n.toTextObject(),u=`${a[Q.NAME]} ${s+1}`;let f=i[u];Array.isArray(f)||(f=[],i[u]=f),f.push(a)}),r[e]=i}}function Jn(r,e,t,i){const n=e[i];n&&(Array.isArray(n)?n:[n]).forEach(a=>{typeof a=="string"&&(a=new Vt("url",a)),r.push(new Lr({accessMethod:t,accessLocation:B.parse(a.rawData,L)}))})}class Ru extends Le{constructor(...e){x.isBufferSource(e[0])?super(e[0]):super(Fc,e[1],new Qt(e[0]||[]).rawData)}onInit(e){super.onInit(e);const t=B.parse(e.extnValue,Be);this.names=new Qt(t)}toTextObject(){const e=this.toTextObjectWithoutValue(),t=this.names.toTextObject();for(const i in t)e[i]=t[i];return e}}Ru.NAME="Issuer Alternative Name";class Or extends Ot{constructor(...e){let t;if(x.isBufferSource(e[0]))t=x.toArrayBuffer(e[0]);else{const i=e[0],n=Array.isArray(e[1])?e[1].map(s=>x.toArrayBuffer(s)):[];t=B.serialize(new bt({type:i,values:n}))}super(t,bt)}onInit(e){this.type=e.type,this.values=e.values}toTextObject(){const e=this.toTextObjectWithoutValue();return e.Value=this.values.map(t=>new Q("",{"":t})),e}toTextObjectWithoutValue(){const e=this.toTextObjectEmpty();return e[Q.NAME]===Or.NAME&&(e[Q.NAME]=Nt.toString(this.type)),e}}Or.NAME="Attribute";class Du extends Or{constructor(...e){var t;if(x.isBufferSource(e[0]))super(e[0]);else{const i=new Fn({printableString:e[0]});super(_l,[B.serialize(i)])}(t=this.password)!==null&&t!==void 0||(this.password="")}onInit(e){if(super.onInit(e),this.values[0]){const t=B.parse(this.values[0],Fn);this.password=t.toString()}}toTextObject(){const e=this.toTextObjectWithoutValue();return e[Q.VALUE]=this.password,e}}Du.NAME="Challenge Password";class ya extends Or{constructor(...e){var t;if(x.isBufferSource(e[0]))super(e[0]);else{const i=e[0],n=new Ft;for(const s of i)n.push(B.parse(s.rawData,Qe));super(Ys,[B.serialize(n)])}(t=this.items)!==null&&t!==void 0||(this.items=[])}onInit(e){if(super.onInit(e),this.values[0]){const t=B.parse(this.values[0],Ft);this.items=t.map(i=>qe.create(B.serialize(i)))}}toTextObject(){const e=this.toTextObjectWithoutValue(),t=this.items.map(i=>i.toTextObject());for(const i of t)e[i[Q.NAME]]=i;return e}}ya.NAME="Extensions";class Yn{static register(e,t){this.items.set(e,t)}static create(e){const t=new Or(e),i=this.items.get(t.type);return i?new i(e):t}}Yn.items=new Map;const Zn="crypto.signatureFormatter";class Ld{toAsnSignature(e,t){return x.toArrayBuffer(t)}toWebSignature(e,t){return x.toArrayBuffer(t)}}var Qn;let ga=Qn=class{static createPssParams(e,t){const i=Qn.getHashAlgorithm(e);return i?new Jt({hashAlgorithm:i,maskGenAlgorithm:new I({algorithm:En,parameters:B.serialize(i)}),saltLength:t}):null}static getHashAlgorithm(e){const t=_e.resolve(Ir);return typeof e=="string"?t.toAsnAlgorithm({name:e}):typeof e=="object"&&e&&"name"in e?t.toAsnAlgorithm(e):null}toAsnAlgorithm(e){switch(e.name.toLowerCase()){case"rsassa-pkcs1-v1_5":if("hash"in e){let t;if(typeof e.hash=="string")t=e.hash;else if(e.hash&&typeof e.hash=="object"&&"name"in e.hash&&typeof e.hash.name=="string")t=e.hash.name.toUpperCase();else throw new Error("Cannot get hash algorithm name");switch(t.toLowerCase()){case"sha-1":return new I({algorithm:wn,parameters:null});case"sha-256":return new I({algorithm:_s,parameters:null});case"sha-384":return new I({algorithm:An,parameters:null});case"sha-512":return new I({algorithm:Sn,parameters:null})}}else return new I({algorithm:Gt,parameters:null});break;case"rsa-pss":if("hash"in e){if(!("saltLength"in e&&typeof e.saltLength=="number"))throw new Error("Cannot get 'saltLength' from 'alg' argument");const t=Qn.createPssParams(e.hash,e.saltLength);if(!t)throw new Error("Cannot create PSS parameters");return new I({algorithm:ni,parameters:B.serialize(t)})}else return new I({algorithm:ni,parameters:null})}return null}toWebAlgorithm(e){switch(e.algorithm){case Gt:return{name:"RSASSA-PKCS1-v1_5"};case wn:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-1"}};case _s:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case An:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-384"}};case Sn:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-512"}};case ni:if(e.parameters){const t=B.parse(e.parameters,Jt);return{name:"RSA-PSS",hash:_e.resolve(Ir).toWebAlgorithm(t.hashAlgorithm),saltLength:t.saltLength}}else return{name:"RSA-PSS"}}return null}};ga=Qn=c([Rn()],ga),_e.registerSingleton(ci,ga);let ma=class{toAsnAlgorithm(e){switch(e.name.toLowerCase()){case"sha-1":return new I({algorithm:kn});case"sha-256":return new I({algorithm:Cn});case"sha-384":return new I({algorithm:xn});case"sha-512":return new I({algorithm:Bn})}return null}toWebAlgorithm(e){switch(e.algorithm){case kn:return{name:"SHA-1"};case Cn:return{name:"SHA-256"};case xn:return{name:"SHA-384"};case Bn:return{name:"SHA-512"}}return null}};ma=c([Rn()],ma),_e.registerSingleton(ci,ma);class Ge{addPadding(e,t){const i=x.toUint8Array(t),n=new Uint8Array(e);return n.set(i,e-i.length),n}removePadding(e,t=!1){let i=x.toUint8Array(e);for(let n=0;n<i.length;n++)if(i[n]){i=i.slice(n);break}if(t&&i[0]>127){const n=new Uint8Array(i.length+1);return n.set(i,1),n.buffer}return i.buffer}toAsnSignature(e,t){if(e.name==="ECDSA"){const i=e.namedCurve,n=Ge.namedCurveSize.get(i)||Ge.defaultNamedCurveSize,s=new vn,a=x.toUint8Array(t);return s.r=this.removePadding(a.slice(0,n),!0),s.s=this.removePadding(a.slice(n,n+n),!0),B.serialize(s)}return null}toWebSignature(e,t){if(e.name==="ECDSA"){const i=B.parse(t,vn),n=e.namedCurve,s=Ge.namedCurveSize.get(n)||Ge.defaultNamedCurveSize,a=this.addPadding(s,this.removePadding(i.r)),u=this.addPadding(s,this.removePadding(i.s));return tf(a,u)}return null}}Ge.namedCurveSize=new Map,Ge.defaultNamedCurveSize=32;const ba="1.3.101.110",Mu="1.3.101.111",va="1.3.101.112",Uu="1.3.101.113";let wa=class{toAsnAlgorithm(e){let t=null;switch(e.name.toLowerCase()){case"ed25519":t=va;break;case"x25519":t=ba;break;case"eddsa":switch(e.namedCurve.toLowerCase()){case"ed25519":t=va;break;case"ed448":t=Uu;break}break;case"ecdh-es":switch(e.namedCurve.toLowerCase()){case"x25519":t=ba;break;case"x448":t=Mu;break}}return t?new I({algorithm:t}):null}toWebAlgorithm(e){switch(e.algorithm){case va:return{name:"Ed25519"};case Uu:return{name:"EdDSA",namedCurve:"Ed448"};case ba:return{name:"X25519"};case Mu:return{name:"ECDH-ES",namedCurve:"X448"}}return null}};wa=c([Rn()],wa),_e.registerSingleton(ci,wa);class Fd extends St{constructor(e){St.isAsnEncoded(e)?super(e,ai):super(e),this.tag=Fe.CertificateRequestTag}onInit(e){this.tbs=B.serialize(e.certificationRequestInfo),this.publicKey=new ut(e.certificationRequestInfo.subjectPKInfo);const t=_e.resolve(Ir);this.signatureAlgorithm=t.toWebAlgorithm(e.signatureAlgorithm),this.signature=e.signature,this.attributes=e.certificationRequestInfo.attributes.map(n=>Yn.create(B.serialize(n)));const i=this.getAttribute(Ys);this.extensions=[],i instanceof ya&&(this.extensions=i.items),this.subjectName=new _t(e.certificationRequestInfo.subject),this.subject=this.subjectName.toString()}getAttribute(e){for(const t of this.attributes)if(t.type===e)return t;return null}getAttributes(e){return this.attributes.filter(t=>t.type===e)}getExtension(e){for(const t of this.extensions)if(t.type===e)return t;return null}getExtensions(e){return this.extensions.filter(t=>t.type===e)}async verify(e=Ve.get()){const t={...this.publicKey.algorithm,...this.signatureAlgorithm},i=await this.publicKey.export(t,["verify"],e),n=_e.resolveAll(Zn).reverse();let s=null;for(const u of n)if(s=u.toWebSignature(t,this.signature),s)break;if(!s)throw Error("Cannot convert WebCrypto signature value to ASN.1 format");return await e.subtle.verify(this.signatureAlgorithm,i,s,this.tbs)}toTextObject(){const e=this.toTextObjectEmpty(),t=B.parse(this.rawData,ai),i=t.certificationRequestInfo,n=new Q("",{Version:`${dr[i.version]} (${i.version})`,Subject:this.subject,"Subject Public Key Info":this.publicKey});if(this.attributes.length){const s=new Q("");for(const a of this.attributes){const u=a.toTextObject();s[u[Q.NAME]]=u}n.Attributes=s}return e.Data=n,e.Signature=new Q("",{Algorithm:Zt.serializeAlgorithm(t.signatureAlgorithm),"":t.signature}),e}}Fd.NAME="PKCS#10 Certificate Request";class $u extends St{constructor(e){St.isAsnEncoded(e)?super(e,pr):super(e),this.tag=Fe.CertificateTag}onInit(e){const t=e.tbsCertificate;this.tbs=B.serialize(t);let i=new Uint8Array(t.serialNumber);i.length>1&&i[0]===0&&i[1]>127&&(i=i.slice(1)),this.serialNumber=j.ToHex(i),this.subjectName=new _t(t.subject),this.subject=new _t(t.subject).toString(),this.issuerName=new _t(t.issuer),this.issuer=this.issuerName.toString();const n=_e.resolve(Ir);this.signatureAlgorithm=n.toWebAlgorithm(e.signatureAlgorithm),this.signature=e.signatureValue;const s=t.validity.notBefore.utcTime||t.validity.notBefore.generalTime;if(!s)throw new Error("Cannot get 'notBefore' value");this.notBefore=s;const a=t.validity.notAfter.utcTime||t.validity.notAfter.generalTime;if(!a)throw new Error("Cannot get 'notAfter' value");this.notAfter=a,this.extensions=[],t.extensions&&(this.extensions=t.extensions.map(u=>qe.create(B.serialize(u)))),this.publicKey=new ut(t.subjectPublicKeyInfo)}getExtension(e){for(const t of this.extensions)if(typeof e=="string"){if(t.type===e)return t}else if(t instanceof e)return t;return null}getExtensions(e){return this.extensions.filter(t=>typeof e=="string"?t.type===e:t instanceof e)}async verify(e={},t=Ve.get()){let i,n;const s=e.publicKey;try{if(!s)i={...this.publicKey.algorithm,...this.signatureAlgorithm},n=await this.publicKey.export(i,["verify"],t);else if("publicKey"in s)i={...s.publicKey.algorithm,...this.signatureAlgorithm},n=await s.publicKey.export(i,["verify"],t);else if(s instanceof ut)i={...s.algorithm,...this.signatureAlgorithm},n=await s.export(i,["verify"],t);else if(x.isBufferSource(s)){const d=new ut(s);i={...d.algorithm,...this.signatureAlgorithm},n=await d.export(i,["verify"],t)}else i={...s.algorithm,...this.signatureAlgorithm},n=s}catch{return!1}const a=_e.resolveAll(Zn).reverse();let u=null;for(const d of a)if(u=d.toWebSignature(i,this.signature),u)break;if(!u)throw Error("Cannot convert ASN.1 signature value to WebCrypto format");const f=await t.subtle.verify(this.signatureAlgorithm,n,u,this.tbs);if(e.signatureOnly)return f;{const g=(e.date||new Date).getTime();return f&&this.notBefore.getTime()<g&&g<this.notAfter.getTime()}}async getThumbprint(...e){let t,i="SHA-1";return e[0]&&(e[0].subtle?t=e[0]:(i=e[0]||i,t=e[1])),t??(t=Ve.get()),await t.subtle.digest(i,this.rawData)}async isSelfSigned(e=Ve.get()){return this.subject===this.issuer&&await this.verify({signatureOnly:!0},e)}toTextObject(){const e=this.toTextObjectEmpty(),t=B.parse(this.rawData,pr),i=t.tbsCertificate,n=new Q("",{Version:`${dr[i.version]} (${i.version})`,"Serial Number":i.serialNumber,"Signature Algorithm":Zt.serializeAlgorithm(i.signature),Issuer:this.issuer,Validity:new Q("",{"Not Before":i.validity.notBefore.getTime(),"Not After":i.validity.notAfter.getTime()}),Subject:this.subject,"Subject Public Key Info":this.publicKey});if(i.issuerUniqueID&&(n["Issuer Unique ID"]=i.issuerUniqueID),i.subjectUniqueID&&(n["Subject Unique ID"]=i.subjectUniqueID),this.extensions.length){const s=new Q("");for(const a of this.extensions){const u=a.toTextObject();s[u[Q.NAME]]=u}n.Extensions=s}return e.Data=n,e.Signature=new Q("",{Algorithm:Zt.serializeAlgorithm(t.signatureAlgorithm),"":t.signatureValue}),e}}$u.NAME="Certificate";var Hu;(function(r){r[r.unspecified=0]="unspecified",r[r.keyCompromise=1]="keyCompromise",r[r.cACompromise=2]="cACompromise",r[r.affiliationChanged=3]="affiliationChanged",r[r.superseded=4]="superseded",r[r.cessationOfOperation=5]="cessationOfOperation",r[r.certificateHold=6]="certificateHold",r[r.removeFromCRL=8]="removeFromCRL",r[r.privilegeWithdrawn=9]="privilegeWithdrawn",r[r.aACompromise=10]="aACompromise"})(Hu||(Hu={})),qe.register(Rc,Ou),qe.register(Lc,_u),qe.register(Kc,pa),qe.register(Zc,Gn),qe.register(Oo,di),qe.register(Jc,ha),qe.register(Uo,ju),qe.register(No,Pu),qe.register(Fc,Ru),Yn.register(_l,Du),Yn.register(Ys,ya),_e.registerSingleton(Zn,Ld),_e.registerSingleton(Zn,Ge),Ge.namedCurveSize.set("P-256",32),Ge.namedCurveSize.set("K-256",32),Ge.namedCurveSize.set("P-384",48),Ge.namedCurveSize.set("P-521",66);function Lu(){return{parseMetaCertificateData:e=>{if(/{vault:\/\/.*}/g.test(e))throw new Error("not a X.509 certificate");const t=new $u(e),i={subject:t.subjectName.toString(),issuer:t.issuer,notAfter:t.notAfter};for(const n of t.extensions)if(n instanceof ha){const s=n.names.toJSON(),u=Object.entries(s).map(f=>({type:f[1].type,value:f[1].value})).reduce((f,d)=>{const g=d.type,h=f[g]??[];return{...f,[g]:[...h,d.value]}},{});for(const f in u)i.subjectAltName=`${f}=${u[f].join(", ")}`}else if(n instanceof pa){const s=Object.values(da),a=Array(s.length/2).fill(null).reduce((u,f,d)=>{const g=s[s.length/2+d];if(n.usages&g){const h=s[d];u.push(h)}return u},[]);i.keyUsage=a}return i}}}function qd(){const r=Lu(),e=o.ref({}),t=n=>{if(!(n.id in e.value))try{e.value[n.id]=r.parseMetaCertificateData(n.cert)}catch{e.value[n.id]=void 0}return e.value[n.id]};return{certificateDataCache:e,getCertificateData:n=>{const s=t(n);return{schemaIssuer:(s==null?void 0:s.issuer)||"",schemaSubject:(s==null?void 0:s.subject)||"",schemaExpiry:(s==null?void 0:s.notAfter)instanceof Date?s.notAfter.getTime()/1e3:0,schemaSanNames:(s==null?void 0:s.subjectAltName)||"",schemaKeyUsages:(s==null?void 0:s.keyUsage)||[]}}}}const Kd={certificates:{title:"Certificates",list:{toolbar_actions:{new_certificate:"New certificate"},table_headers:{subject:"Subject",expiry:"Expiry",san:"SAN",cert:"Cert",tags:"Tags",issuer:"Issuer",snis:"SNIs"},empty_state:{title:"Configure a New Certificate",description:"Certificates handle SSL/TLS termination for encrypted requests."},empty_state_v2:{create:"New certificate",title:"Configure your first certificate",group:"Certificates created in gateways within this group will automatically appear here.",description:"Certificates manage SSL/TLS encryption, ensuring secure communication between clients and your API services."}},form:{sections:{ssl:{title:"SSL Key Pair",description:"The PEM-encoded public certificate chain and private key of the SSL key pair and the alternate."},general:{title:"General Information",description:"General information will help identify and manage this key."}},fields:{cert:{label:"Cert",tooltip:"PEM-encoded public certificate chain of the SSL key pair. This field is {emphasis}, which means it can be securely stored as a secret in a vault. References must follow a specific format.",emphasis:"referenceable"},key:{label:"Key",tooltip:"PEM-encoded private key of the SSL key pair. This field is {emphasis}, which means it can be securely stored as a secret in a vault. References must follow a specific format.",emphasis:"referenceable"},cert_alt:{label:"Cert Alt",tooltip:"PEM-encoded public certificate chain of the alternate SSL key pair. This should only be set if you have both RSA and ECDSA types of certificate available and would like Kong to prefer serving using ECDSA certs when client advertises support for it. This field is {emphasis}, which means it can be securely stored as a secret in a vault. References must follow a specific format.",emphasis:"referenceable"},key_alt:{label:"Key Alt",tooltip:"PEM-encoded private key of the alternate SSL key pair. This should only be set if you have both RSA and ECDSA types of certificate available and would like Kong to prefer serving using ECDSA certs when client advertises support for it. This field is {emphasis}, which means it can be securely stored as a secret in a vault. References must follow a specific format.",emphasis:"referenceable"},snis:{label:"SNIs",placeholder:"Enter an SNI",add:"Add an SNI",tooltip:"Zero or more hostnames to associate with this certificate as SNIs",editingTip:"To manage SNIs for this certificate, click {link}.",editingTipLink:"here"},tags:{label:"Tags",placeholder:"Enter a list of tags separated by comma",help:"e.g. tag1, tag2, tag3",tooltip:"An optional set of strings for grouping and filtering, separated by commas."}}},actions:{create:"New certificate",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",addSni:"Add to New SNI",delete:"Delete",clear:"Clear",view:"View Details"},search:{placeholder:"Filter by exact ID"},delete:{title:"Delete a Certificate",description:"Your organization's original certificate {bolded-text}.",boldedText:"will not be affected",description2:"This action cannot be reversed so make sure to check the certificate usage before deleting."},errors:{general:"Certificates could not be retrieved",delete:"The certificate could not be deleted at this time",copy:"Failed to copy to clipboard"},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"}},"ca-certificates":{title:"CA Certificates",list:{toolbar_actions:{new_ca_certificate:"New CA certificate"},table_headers:{issuer:"Issuer",expiry:"Expiry",tags:"Tags"},empty_state:{title:"Configure a New CA Certificate",description:"CA certificates validate client or server certificates."},empty_state_v2:{create:"New CA certificate",title:"Configure your first CA certificate",group:"CA Certificates created in gateways within this group will automatically appear here.",description:"CA Certificates validate the authenticity of client and server certificates, reinforcing the trust and security of your API communications."}},form:{sections:{cert:{title:"Public Certificate",description:"The PEM-encoded public certificate of the CA and it’s SHA256 hex digest."},general:{title:"General Information",description:"General information will help identify and manage this key."}},fields:{cert:{label:"Cert",tooltip:"PEM-encoded public certificate of the CA."},cert_digest:{label:"Cert Digest",tooltip:"SHA256 hex digest of the public certificate"},tags:{label:"Tags",placeholder:"Enter a list of tags separated by comma",help:"e.g. tag1, tag2, tag3",tooltip:"An optional set of strings for grouping and filtering, separated by commas."}}},actions:{create:"New CA certificate",copy_id:"Copy ID",copy_json:"Copy JSON",edit:"Edit",delete:"Delete",clear:"Clear",view:"View Details"},search:{placeholder:"Filter by exact ID"},delete:{title:"Delete a CA Certificate",description:"Your organization's original certificate {bolded-text}.",boldedText:"will not be affected",description2:"This action cannot be reversed so make sure to check the certificate usage before deleting."},errors:{general:"CA Certificates could not be retrieved",delete:"The CA Certificate could not be deleted at this time",copy:"Failed to copy to clipboard"},copy:{success:"Copied {val} to clipboard",success_brief:"Successfully copied to clipboard"}},general:{"key-usages":{KEY_USAGE_TYPE_KEY_CERT_SIGN:"keyCertSign",KEY_USAGE_TYPE_CRL_SIGN:"cRLSign",KEY_USAGE_TYPE_ENCIPHER_ONLY:"encipherOnly",KEY_USAGE_TYPE_DIGITAL_SIGNATURE:"digitalSignature",KEY_USAGE_TYPE_KEY_ENCIPHERMENT:"keyEncipherment",KEY_USAGE_TYPE_DATA_ENCIPHERMENT:"dataEncipherment",KEY_USAGE_TYPE_KEY_AGREEMENT:"keyAgreement",KEY_USAGE_TYPE_CONTENT_COMMITMENT:"nonRepudiation"}}};function Wd(){const r=ka.createI18n("en-us",Kd);return{i18n:r,i18nT:ka.i18nTComponent(r)}}const et={useCertificate:qd,useI18n:Wd,useX509:Lu},Xn="/v2/control-planes/{controlPlaneId}/core-entities",eo="/{workspace}",pi={list:{konnect:`${Xn}/certificates`,kongManager:`${eo}/certificates`},form:{konnect:{create:`${Xn}/certificates`,edit:`${Xn}/certificates/{id}`,validate:`${Xn}/v1/schemas/json/certificate/validate`},kongManager:{create:`${eo}/certificates`,edit:`${eo}/certificates/{id}`,validate:`${eo}/schemas/certificates/validate`}}},Gd={class:"kong-ui-entities-certificates-list"},zd={class:"button-row"},Jd={class:"empty-state-icon-gateway"},Yd={key:0},Zd={key:1},Qd={key:0},Xd={key:1},ep={key:0},tp={key:1},rp={key:1},ip=o.defineComponent({__name:"CertificateList",props:{config:{type:Object,required:!0,validator:r=>!(!r||!["konnect","kongManager"].includes(r==null?void 0:r.app)||!r.createRoute||!r.getViewRoute||!r.getEditRoute||r.app==="kongManager"&&!r.isExactMatch&&!r.filterSchema)},cacheIdentifier:{type:String,default:""},canCreate:{type:Function,required:!1,default:async()=>!0},canCreateSni:{type:Function,required:!1,default:async()=>!0},canDelete:{type:Function,required:!1,default:async()=>!0},canEdit:{type:Function,required:!1,default:async()=>!0},canRetrieve:{type:Function,required:!1,default:async()=>!0},useActionOutside:{type:Boolean,default:!1},useToolbarCreationButton:{type:Boolean,default:!1}},emits:["error","click:learn-more","copy:success","copy:error","delete:success"],setup(r,{emit:e}){var F;const t=e,i=r,{i18n:{t:n,formatUnixTimeStamp:s},i18nT:a}=et.useI18n(),u=mi.useRouter(),{axiosInstance:f}=S.useAxios((F=i.config)==null?void 0:F.axiosRequestConfig),{handleStateChange:d,hasRecords:g}=S.useTableState(()=>re.value),h=o.computed(()=>g.value&&i.config.app==="konnect"),H=o.computed(()=>i.config.app!=="kongManager"||!!i.config.disableSorting),te={subject:{label:n("certificates.list.table_headers.subject"),hidable:!1},expiry:{label:n("certificates.list.table_headers.expiry")},san:{label:n("certificates.list.table_headers.san")},cert:{label:n("certificates.list.table_headers.cert")},tags:{label:n("certificates.list.table_headers.tags"),sortable:!0}},X=o.computed(()=>{var $,J;let V=`${i.config.apiBaseUrl}${pi.list[i.config.app]}`;return i.config.app==="konnect"?V=V.replace(/{controlPlaneId}/gi,(($=i.config)==null?void 0:$.controlPlaneId)||""):i.config.app==="kongManager"&&(V=V.replace(/\/{workspace}/gi,(J=i.config)!=null&&J.workspace?`/${i.config.workspace}`:"")),V}),re=o.ref(""),Ae=o.computed(()=>{const V=i.config.app==="konnect"||i.config.isExactMatch;return V?{isExactMatch:V,placeholder:n("certificates.search.placeholder")}:{isExactMatch:V,schema:i.config.filterSchema}}),{fetcher:Ue,fetcherState:Z,fetcherCacheKey:T}=S.useFetcher(o.computed(()=>({...i.config,cacheIdentifier:i.cacheIdentifier})),X),K=()=>{re.value=""},oe=()=>{T.value++},O=o.ref(null),w=async(V,$)=>{const J=V.id;if(!await $(J)){t("copy:error",{entity:V,field:"id",message:n("certificates.errors.copy")});return}t("copy:success",{entity:V,field:"id",message:n("certificates.copy.success",{val:J})})},k=async(V,$)=>{const J=JSON.stringify(V);if(!await $(J)){t("copy:error",{entity:V,message:n("certificates.errors.copy")});return}t("copy:success",{entity:V,message:n("certificates.copy.success_brief")})},be=async V=>{var J;await((J=i.canRetrieve)==null?void 0:J.call(i,V))&&u.push(i.config.getViewRoute(V.id))},ie=V=>({label:n("certificates.actions.view"),to:i.config.getViewRoute(V)}),ft=V=>({label:n("certificates.actions.edit"),to:i.config.getEditRoute(V)}),se=V=>{if(i.config.getCreateSniRoute)return{label:n("certificates.actions.addSni"),to:i.config.getCreateSniRoute(V)}},ae=o.ref(void 0),Ie=o.ref(!1),W=o.ref(!1),er=o.ref(""),Tr=S.useDeleteUrlBuilder(i.config,X.value),{certificateDataCache:jt,getCertificateData:kt}=et.useCertificate(),_r=V=>{ae.value=V,Ie.value=!0},D=()=>{Ie.value=!1},dt=async()=>{var V,$,J;if((V=ae.value)!=null&&V.id){W.value=!0;try{await f.delete(Tr(ae.value.id)),W.value=!1,Ie.value=!1,T.value++,t("delete:success",ae.value)}catch(de){er.value=((J=($=de.response)==null?void 0:$.data)==null?void 0:J.message)||de.message||n("certificates.errors.delete"),t("error",de)}finally{W.value=!1}}},tr=()=>{u.push(i.config.createRoute)};o.watch(Z,V=>{var $,J,de;if(V.status===S.FetcherStatus.Error){O.value={title:n("certificates.errors.general")},(de=(J=($=V.error)==null?void 0:$.response)==null?void 0:J.data)!=null&&de.message&&(O.value.message=V.error.response.data.message),t("error",V.error);return}jt.value={},O.value=null});const ce=o.ref({ctaPath:i.config.createRoute,ctaText:void 0,message:`${n("certificates.list.empty_state.description")}${i.config.additionMessageForEmptyState?` ${i.config.additionMessageForEmptyState}`:""}`,title:n("certificates.title")});return o.onBeforeMount(async()=>{await i.canCreate()&&(ce.value.title=n("certificates.list.empty_state.title"),ce.value.ctaText=n("certificates.actions.create"))}),(V,$)=>{const J=o.resolveComponent("KButton"),de=o.resolveComponent("KCopy"),q=o.resolveComponent("KDropdownItem"),ve=o.resolveComponent("KClipboardProvider");return o.openBlock(),o.createElementBlock("div",Gd,[o.createVNode(o.unref(S.EntityBaseTable),{"cache-identifier":r.cacheIdentifier,"disable-sorting":H.value,"empty-state-options":ce.value,"enable-entity-actions":"","error-message":O.value,fetcher:o.unref(Ue),"fetcher-cache-key":o.unref(T),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-certificates-list",query:re.value,"table-headers":o.unref(te),onClearSearchInput:K,"onClick:row":$[3]||($[3]=M=>be(M)),onSort:oe,onState:o.unref(d)},o.createSlots({"toolbar-filter":o.withCtx(()=>[o.createVNode(o.unref(S.EntityFilter),{modelValue:re.value,"onUpdate:modelValue":$[0]||($[0]=M=>re.value=M),config:Ae.value},null,8,["modelValue","config"]),o.createVNode(o.unref(S.PermissionsWrapper),{"auth-function":r.canCreate},{default:o.withCtx(()=>[r.useToolbarCreationButton?(o.openBlock(),o.createBlock(J,{key:0,appearance:"primary","data-testid":"toolbar-add-certificate",size:"large",to:r.config.createRoute},{default:o.withCtx(()=>[o.createVNode(o.unref(rt.AddIcon)),o.createTextVNode(" "+o.toDisplayString(o.unref(n)("certificates.list.toolbar_actions.new_certificate")),1)]),_:1},8,["to"])):o.createCommentVNode("",!0)]),_:1},8,["auth-function"])]),"toolbar-button":o.withCtx(()=>[(o.openBlock(),o.createBlock(o.Teleport,{disabled:!r.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[o.createElementVNode("div",zd,[h.value?(o.openBlock(),o.createBlock(J,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"certificates-learn-more-button",icon:"",onClick:$[1]||($[1]=M=>V.$emit("click:learn-more"))},{default:o.withCtx(()=>[o.createVNode(o.unref(rt.BookIcon),{decorative:""})]),_:1})):o.createCommentVNode("",!0),r.useToolbarCreationButton?o.createCommentVNode("",!0):(o.openBlock(),o.createBlock(o.unref(S.PermissionsWrapper),{key:1,"auth-function":r.canCreate},{default:o.withCtx(()=>[o.createVNode(J,{appearance:"primary","data-testid":"toolbar-add-certificate",size:r.useActionOutside?"medium":"large",to:r.config.createRoute},{default:o.withCtx(()=>[o.createVNode(o.unref(rt.AddIcon)),o.createTextVNode(" "+o.toDisplayString(o.unref(n)("certificates.list.toolbar_actions.new_certificate")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"]))])],8,["disabled"]))]),subject:o.withCtx(({row:M})=>{var Ne;return[r.config.app==="konnect"?(o.openBlock(),o.createElementBlock("b",Yd,o.toDisplayString((Ne=M==null?void 0:M.metadata)!=null&&Ne.subject?M.metadata.subject:"-"),1)):(o.openBlock(),o.createElementBlock("b",Zd,o.toDisplayString(o.unref(kt)(M).schemaSubject||"-"),1))]}),expiry:o.withCtx(({row:M})=>{var Ne;return[r.config.app==="konnect"?(o.openBlock(),o.createElementBlock("span",Qd,o.toDisplayString((Ne=M==null?void 0:M.metadata)!=null&&Ne.expiry?o.unref(s)(M.metadata.expiry):"-"),1)):(o.openBlock(),o.createElementBlock("span",Xd,o.toDisplayString(o.unref(kt)(M).schemaExpiry?o.unref(s)(o.unref(kt)(M).schemaExpiry):"-"),1))]}),san:o.withCtx(({row:M})=>{var Ne;return[r.config.app==="konnect"?(o.openBlock(),o.createElementBlock("span",ep,o.toDisplayString((Ne=M==null?void 0:M.metadata)!=null&&Ne.dns_names?`dns=${M.metadata.dns_names.join(", ")}`:"-"),1)):(o.openBlock(),o.createElementBlock("span",tp,o.toDisplayString(o.unref(kt)(M).schemaSanNames||"-"),1))]}),cert:o.withCtx(({row:M})=>[M!=null&&M.cert?(o.openBlock(),o.createBlock(de,{key:0,"data-testid":"copy-certificate-cert",text:M.cert,truncate:""},null,8,["text"])):(o.openBlock(),o.createElementBlock("span",rp,"-"))]),tags:o.withCtx(({row:M})=>[o.createVNode(o.unref(S.TableTags),{tags:M==null?void 0:M.tags},null,8,["tags"])]),actions:o.withCtx(({row:M})=>[o.createVNode(ve,null,{default:o.withCtx(({copyToClipboard:Ne})=>[o.createVNode(q,{"data-testid":"action-entity-copy-id",onClick:yi=>w(M,Ne)},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(n)("certificates.actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),o.createVNode(ve,null,{default:o.withCtx(({copyToClipboard:Ne})=>[o.createVNode(q,{"data-testid":"action-entity-copy-json",onClick:yi=>k(M,Ne)},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(n)("certificates.actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),o.createVNode(o.unref(S.PermissionsWrapper),{"auth-function":()=>r.canRetrieve(M)},{default:o.withCtx(()=>[o.createVNode(q,{"data-testid":"action-entity-view","has-divider":"",item:ie(M.id)},null,8,["item"])]),_:2},1032,["auth-function"]),o.createVNode(o.unref(S.PermissionsWrapper),{"auth-function":()=>r.canEdit(M)},{default:o.withCtx(()=>[o.createVNode(q,{"data-testid":"action-entity-edit",item:ft(M.id)},null,8,["item"])]),_:2},1032,["auth-function"]),r.config.getCreateSniRoute?(o.openBlock(),o.createBlock(o.unref(S.PermissionsWrapper),{key:0,"auth-function":()=>r.canCreateSni()},{default:o.withCtx(()=>[o.createVNode(q,{"data-testid":"action-entity-add-sni",item:se(M.id)},null,8,["item"])]),_:2},1032,["auth-function"])):o.createCommentVNode("",!0),o.createVNode(o.unref(S.PermissionsWrapper),{"auth-function":()=>r.canDelete(M)},{default:o.withCtx(()=>[o.createVNode(q,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:Ne=>_r(M)},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(n)("certificates.actions.delete")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!re.value&&r.config.app==="konnect"?{name:"empty-state",fn:o.withCtx(()=>{var M;return[o.createVNode(o.unref(S.EntityEmptyState),{"action-button-text":o.unref(n)("certificates.list.empty_state_v2.create"),appearance:"secondary","can-create":()=>r.canCreate(),"data-testid":"certificates-entity-empty-state",description:o.unref(n)("certificates.list.empty_state_v2.description"),"learn-more":r.config.app==="konnect",title:o.unref(n)("certificates.list.empty_state_v2.title"),"onClick:create":tr,"onClick:learnMore":$[2]||($[2]=Ne=>V.$emit("click:learn-more"))},o.createSlots({image:o.withCtx(()=>[o.createElementVNode("div",Jd,[o.createVNode(o.unref(rt.ServiceDocumentIcon),{color:o.unref(Ca),size:o.unref(xa)},null,8,["color","size"])])]),_:2},[(M=r.config)!=null&&M.isControlPlaneGroup?{name:"message",fn:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(n)("certificates.list.empty_state_v2.group")),1)]),key:"0"}:void 0]),1032,["action-button-text","can-create","description","learn-more","title"])]}),key:"0"}:void 0]),1032,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","query","table-headers","onState"]),o.createVNode(o.unref(S.EntityDeleteModal),{"action-pending":W.value,"entity-type":o.unref(S.EntityTypes).Certificate,error:er.value,title:o.unref(n)("certificates.delete.title"),visible:Ie.value,onCancel:D,onProceed:dt},{description:o.withCtx(()=>[o.createVNode(o.unref(a),{keypath:"certificates.delete.description",scope:"global"},{"bolded-text":o.withCtx(()=>[o.createElementVNode("b",null,o.toDisplayString(o.unref(n)("certificates.delete.boldedText")),1)]),_:1}),o.createElementVNode("p",null,o.toDisplayString(o.unref(n)("certificates.delete.description2")),1)]),_:1},8,["action-pending","entity-type","error","title","visible"])])}}}),Xt=(r,e)=>{const t=r.__vccOpts||r;for(const[i,n]of e)t[i]=n;return t},np=Xt(ip,[["__scopeId","data-v-91e0fc28"]]),op={class:"sni-field-container"},sp={key:1,class:"sni-field-controls-container"},ap={key:0},cp=Xt(o.defineComponent({__name:"CertificateFormSniField",props:{isEditing:{type:Boolean,default:!1},modelValue:{type:Array,required:!0},sniListRoute:{type:Object,required:!0}},emits:["add","remove","update:modelValue"],setup(r,{emit:e}){const t=r,i=e,{i18nT:n,i18n:{t:s}}=et.useI18n(),a=o.ref([]);return o.watch(t.modelValue,u=>{a.value=[...u]},{immediate:!0,deep:!0}),o.watch(a,u=>{i("update:modelValue",u)},{deep:!0}),(u,f)=>{const d=o.resolveComponent("KLabel"),g=o.resolveComponent("KInput"),h=o.resolveComponent("KButton"),H=o.resolveComponent("router-link");return o.openBlock(),o.createElementBlock("div",op,[o.createVNode(d,{info:o.unref(s)("certificates.form.fields.snis.tooltip")},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(s)("certificates.form.fields.snis.label")),1)]),_:1},8,["info"]),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(a.value,(ne,te)=>(o.openBlock(),o.createElementBlock("div",{key:te,class:"sni-field-input"},[!r.isEditing||a.value[te]?(o.openBlock(),o.createBlock(g,{key:0,modelValue:a.value[te],"onUpdate:modelValue":X=>a.value[te]=X,modelModifiers:{trim:!0},"data-testid":`sni-field-input-${te+1}`,disabled:r.isEditing,placeholder:o.unref(s)("certificates.form.fields.snis.placeholder")},null,8,["modelValue","onUpdate:modelValue","data-testid","disabled","placeholder"])):o.createCommentVNode("",!0),r.isEditing?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock("div",sp,[o.createVNode(h,{appearance:"tertiary",class:"remove-button","data-testid":"remove-sni",icon:"",onClick:X=>u.$emit("remove",te)},{default:o.withCtx(()=>[o.createVNode(o.unref(rt.TrashIcon),{color:o.unref(Yu)},null,8,["color"])]),_:2},1032,["onClick"]),o.createVNode(h,{appearance:"tertiary","data-testid":"add-sni",disabled:te!==a.value.length-1,icon:"",onClick:f[0]||(f[0]=X=>u.$emit("add"))},{default:o.withCtx(()=>[o.createVNode(o.unref(rt.AddIcon))]),_:2},1032,["disabled"])]))]))),128)),a.value.length===0?(o.openBlock(),o.createElementBlock("div",ap,[o.createVNode(h,{onClick:f[1]||(f[1]=ne=>u.$emit("add"))},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(s)("certificates.form.fields.snis.add")),1)]),_:1})])):o.createCommentVNode("",!0),r.isEditing?(o.openBlock(),o.createBlock(o.unref(n),{key:1,keypath:"certificates.form.fields.snis.editingTip"},{link:o.withCtx(()=>[o.createVNode(H,{to:r.sniListRoute},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(s)("certificates.form.fields.snis.editingTipLink")),1)]),_:1},8,["to"])]),_:1})):o.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-a5577ce8"]]),lp={class:"kong-ui-entities-certificates-form"},up=Xt(o.defineComponent({__name:"CertificateForm",props:{config:{type:Object,required:!0,validator:r=>!(!r||!["konnect","kongManager"].includes(r==null?void 0:r.app)||r.app==="konnect"&&!r.controlPlaneId||r.app==="kongManager"&&typeof r.workspace!="string"||!r.cancelRoute)},certificateId:{type:String,required:!1,default:""},showSnisField:{type:Boolean,required:!1,default:!1}},emits:["update","error","loading"],setup(r,{emit:e}){var oe;const t=e,i=r,n=mi.useRouter(),{i18nT:s,i18n:{t:a}}=et.useI18n(),{getMessageFromError:u}=S.useErrors(),{axiosInstance:f}=S.useAxios((oe=i.config)==null?void 0:oe.axiosRequestConfig),d=o.computed(()=>pi.form[i.config.app].edit),g=o.computed(()=>i.certificateId?S.EntityBaseFormType.Edit:S.EntityBaseFormType.Create),h=o.reactive({fields:{cert:"",key:"",certAlt:"",keyAlt:"",snis:[""],tags:""},isReadonly:!1,errorMessage:""}),H=o.reactive({cert:"",key:"",certAlt:"",keyAlt:"",snis:[""],tags:""}),ne=o.computed(()=>(g.value===S.EntityBaseFormType.Create||JSON.stringify(h.fields)!==JSON.stringify(H))&&!!h.fields.cert&&!!h.fields.key),te=O=>{var w,k;h.fields.cert=(O==null?void 0:O.cert)||"",h.fields.key=(O==null?void 0:O.key)||"",h.fields.certAlt=(O==null?void 0:O.cert_alt)||"",h.fields.keyAlt=(O==null?void 0:O.key_alt)||"",h.fields.snis=(w=O==null?void 0:O.snis)!=null&&w.length?O.snis:[""],h.fields.tags=((k=O==null?void 0:O.tags)==null?void 0:k.join(", "))||"",Object.assign(H,h.fields)},X=()=>{n.push(i.config.cancelRoute)},re=()=>{h.fields.snis.push("")},Ae=O=>{h.fields.snis.splice(O,1)},Ue=o.computed(()=>{var w,k;let O=`${i.config.apiBaseUrl}${pi.form[i.config.app].validate}`;return i.config.app==="konnect"?O=O.replace(/{controlPlaneId}/gi,((w=i.config)==null?void 0:w.controlPlaneId)||""):i.config.app==="kongManager"&&(O=O.replace(/\/{workspace}/gi,(k=i.config)!=null&&k.workspace?`/${i.config.workspace}`:"")),O=O.replace(/{id}/gi,i.certificateId),O}),Z=o.computed(()=>{var w,k;let O=`${i.config.apiBaseUrl}${pi.form[i.config.app][g.value]}`;return i.config.app==="konnect"?O=O.replace(/{controlPlaneId}/gi,((w=i.config)==null?void 0:w.controlPlaneId)||""):i.config.app==="kongManager"&&(O=O.replace(/\/{workspace}/gi,(k=i.config)!=null&&k.workspace?`/${i.config.workspace}`:"")),O=O.replace(/{id}/gi,i.certificateId),O}),T=o.computed(()=>{var O,w;return{cert:h.fields.cert,key:h.fields.key,cert_alt:h.fields.certAlt||null,key_alt:h.fields.keyAlt||null,...i.showSnisField?{snis:h.fields.snis.filter(Boolean)}:{},tags:(w=(O=h.fields.tags.split(","))==null?void 0:O.map(k=>String(k||"").trim()))==null?void 0:w.filter(k=>k!=="")}}),K=async()=>{var O,w,k,be,ie,ft,se,ae,Ie;try{h.isReadonly=!0;let W;await f.post(Ue.value,T.value),g.value==="create"?W=await f.post(Z.value,T.value):g.value==="edit"&&(W=((O=i.config)==null?void 0:O.app)==="konnect"?await f.put(Z.value,T.value):await f.patch(Z.value,T.value)),h.fields.cert=((w=W==null?void 0:W.data)==null?void 0:w.cert)||"",h.fields.key=((k=W==null?void 0:W.data)==null?void 0:k.key)||"",h.fields.certAlt=((be=W==null?void 0:W.data)==null?void 0:be.cert_alt)||"",h.fields.keyAlt=((ie=W==null?void 0:W.data)==null?void 0:ie.key_alt)||"",h.fields.snis=(se=(ft=W==null?void 0:W.data)==null?void 0:ft.snis)!=null&&se.length?W.data.snis:[""],h.fields.tags=((Ie=(ae=W==null?void 0:W.data)==null?void 0:ae.tags)==null?void 0:Ie.join(", "))||"",Object.assign(H,h.fields),t("update",W==null?void 0:W.data)}catch(W){h.errorMessage=u(W),t("error",W)}finally{h.isReadonly=!1}};return(O,w)=>{const k=o.resolveComponent("KTextArea"),be=o.resolveComponent("KInput");return o.openBlock(),o.createElementBlock("div",lp,[o.createVNode(o.unref(S.EntityBaseForm),{"can-submit":ne.value,config:r.config,"edit-id":r.certificateId,"entity-type":o.unref(S.SupportedEntityType).Certificate,"error-message":h.errorMessage,"fetch-url":d.value,"form-fields":T.value,"is-readonly":h.isReadonly,onCancel:X,"onFetch:error":w[7]||(w[7]=ie=>O.$emit("error",ie)),"onFetch:success":te,onLoading:w[8]||(w[8]=ie=>O.$emit("loading",ie)),onSubmit:K},{default:o.withCtx(()=>[o.createVNode(o.unref(S.EntityFormSection),{description:o.unref(a)("certificates.form.sections.ssl.description"),title:o.unref(a)("certificates.form.sections.ssl.title")},{default:o.withCtx(()=>[o.createVNode(k,{modelValue:h.fields.cert,"onUpdate:modelValue":w[0]||(w[0]=ie=>h.fields.cert=ie),modelModifiers:{trim:!0},"character-limit":!1,class:"certificate-form-textarea","data-testid":"certificate-form-cert",label:o.unref(a)("certificates.form.fields.cert.label"),"label-attributes":{tooltipAttributes:{maxWidth:"400"}},readonly:h.isReadonly,required:""},{"label-tooltip":o.withCtx(()=>[o.createVNode(o.unref(s),{keypath:"certificates.form.fields.cert.tooltip",scope:"global"},{emphasis:o.withCtx(()=>[o.createElementVNode("em",null,o.toDisplayString(o.unref(a)("certificates.form.fields.cert.emphasis")),1)]),_:1})]),_:1},8,["modelValue","label","readonly"]),o.createVNode(k,{modelValue:h.fields.key,"onUpdate:modelValue":w[1]||(w[1]=ie=>h.fields.key=ie),modelModifiers:{trim:!0},"character-limit":!1,class:"certificate-form-textarea","data-testid":"certificate-form-key",label:o.unref(a)("certificates.form.fields.key.label"),"label-attributes":{tooltipAttributes:{maxWidth:"400"}},readonly:h.isReadonly,required:""},{"label-tooltip":o.withCtx(()=>[o.createVNode(o.unref(s),{keypath:"certificates.form.fields.key.tooltip",scope:"global"},{emphasis:o.withCtx(()=>[o.createElementVNode("em",null,o.toDisplayString(o.unref(a)("certificates.form.fields.key.emphasis")),1)]),_:1})]),_:1},8,["modelValue","label","readonly"]),o.createVNode(k,{modelValue:h.fields.certAlt,"onUpdate:modelValue":w[2]||(w[2]=ie=>h.fields.certAlt=ie),modelModifiers:{trim:!0},"character-limit":!1,class:"certificate-form-textarea","data-testid":"certificate-form-cert-alt",label:o.unref(a)("certificates.form.fields.cert_alt.label"),"label-attributes":{tooltipAttributes:{maxWidth:"400"}},readonly:h.isReadonly},{"label-tooltip":o.withCtx(()=>[o.createVNode(o.unref(s),{keypath:"certificates.form.fields.cert_alt.tooltip",scope:"global"},{emphasis:o.withCtx(()=>[o.createElementVNode("em",null,o.toDisplayString(o.unref(a)("certificates.form.fields.cert_alt.emphasis")),1)]),_:1})]),_:1},8,["modelValue","label","readonly"]),o.createVNode(k,{modelValue:h.fields.keyAlt,"onUpdate:modelValue":w[3]||(w[3]=ie=>h.fields.keyAlt=ie),modelModifiers:{trim:!0},"character-limit":!1,class:"certificate-form-textarea","data-testid":"certificate-form-key-alt",label:o.unref(a)("certificates.form.fields.key_alt.label"),"label-attributes":{tooltipAttributes:{maxWidth:"400"}},readonly:h.isReadonly},{"label-tooltip":o.withCtx(()=>[o.createVNode(o.unref(s),{keypath:"certificates.form.fields.key_alt.tooltip",scope:"global"},{emphasis:o.withCtx(()=>[o.createElementVNode("em",null,o.toDisplayString(o.unref(a)("certificates.form.fields.key_alt.emphasis")),1)]),_:1})]),_:1},8,["modelValue","label","readonly"]),r.showSnisField&&r.config.sniListRoute?(o.openBlock(),o.createBlock(cp,{key:0,modelValue:h.fields.snis,"onUpdate:modelValue":w[4]||(w[4]=ie=>h.fields.snis=ie),"is-editing":g.value===o.unref(S.EntityBaseFormType).Edit,"sni-list-route":r.config.sniListRoute,onAdd:re,onRemove:w[5]||(w[5]=ie=>Ae(ie))},null,8,["modelValue","is-editing","sni-list-route"])):o.createCommentVNode("",!0)]),_:1},8,["description","title"]),o.createVNode(o.unref(S.EntityFormSection),{description:o.unref(a)("certificates.form.sections.general.description"),title:o.unref(a)("certificates.form.sections.general.title")},{default:o.withCtx(()=>[o.createVNode(be,{modelValue:h.fields.tags,"onUpdate:modelValue":w[6]||(w[6]=ie=>h.fields.tags=ie),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"certificate-form-tags",help:o.unref(a)("certificates.form.fields.tags.help"),label:o.unref(a)("certificates.form.fields.tags.label"),"label-attributes":{info:o.unref(a)("certificates.form.fields.tags.tooltip"),tooltipAttributes:{maxWidth:"400"}},placeholder:o.unref(a)("certificates.form.fields.tags.placeholder"),readonly:h.isReadonly,type:"text"},null,8,["modelValue","help","label","label-attributes","placeholder","readonly"])]),_:1},8,["description","title"])]),_:1},8,["can-submit","config","edit-id","entity-type","error-message","fetch-url","form-fields","is-readonly"])])}}}),[["__scopeId","data-v-7988c8e6"]]),to="/v2/control-planes/{controlPlaneId}/core-entities",ro="/{workspace}",hi={list:{konnect:`${to}/ca_certificates`,kongManager:`${ro}/ca_certificates`},form:{konnect:{create:`${to}/ca_certificates`,edit:`${to}/ca_certificates/{id}`,validate:`${to}/v1/schemas/json/ca-certificate/validate`},kongManager:{create:`${ro}/ca_certificates`,edit:`${ro}/ca_certificates/{id}`,validate:`${ro}/schemas/ca_certificates/validate`}}},fp={class:"kong-ui-ca-certificate-entity-config-card"},dp={key:0},pp=Xt(o.defineComponent({__name:"CACertificateConfigCard",props:{config:{type:Object,required:!0,validator:r=>!(!r||!["konnect","kongManager"].includes(r==null?void 0:r.app)||r.app==="konnect"&&!r.controlPlaneId||r.app==="kongManager"&&typeof r.workspace!="string"||!r.entityId)},configCardDoc:{type:String,default:"",required:!1},hideTitle:{type:Boolean,default:!1}},emits:["loading","fetch:error","fetch:success"],setup(r,{emit:e}){const t=["dns_names","san_names","subject"],i=e,n=r,{i18n:{t:s,formatUnixTimeStamp:a}}=et.useI18n(),{convertKeyToTitle:u}=S.useStringHelpers(),{getPropValue:f}=S.useHelpers(),{getCertificateData:d}=et.useCertificate(),g=o.computed(()=>hi.form[n.config.app].edit),h=o.ref(),H=o.computed(()=>{if(h.value)return d(h.value)}),ne=o.computed(()=>{var Z;return((Z=H.value)==null?void 0:Z.schemaIssuer)||""}),te=o.computed(()=>{var Z,T;return(Z=H.value)!=null&&Z.schemaExpiry?a((T=H.value)==null?void 0:T.schemaExpiry):""}),X=o.computed(()=>{var Z;return((Z=H.value)==null?void 0:Z.schemaKeyUsages)||[]}),re=(Z,T)=>{const K=f("rowValue",T);if(Z==="expiry")return te.value;if(Z==="key_usages")return X.value;if(K)return K[Z]},Ae=Z=>{h.value=Z,i("fetch:success",Z)},Ue=o.ref({id:{},updated_at:{},created_at:{},cert:{section:S.ConfigurationSchemaSection.Basic,label:s("ca-certificates.form.fields.cert.label"),tooltip:s("ca-certificates.form.fields.cert.tooltip"),order:5},cert_digest:{section:S.ConfigurationSchemaSection.Basic,label:s("ca-certificates.form.fields.cert_digest.label"),tooltip:s("ca-certificates.form.fields.cert_digest.tooltip"),order:6},metadata:{section:S.ConfigurationSchemaSection.Basic,type:S.ConfigurationSchemaType.Json,order:7},...n.config.app==="kongManager"&&{expiry:{label:s("certificates.list.table_headers.expiry"),section:S.ConfigurationSchemaSection.Basic,order:1.7,forceShow:!0},issuer:{section:S.ConfigurationSchemaSection.Basic,order:1.5,forceShow:!0},key_usages:{section:S.ConfigurationSchemaSection.Basic,forceShow:!0}},tags:{tooltip:s("ca-certificates.form.fields.tags.tooltip")}});return(Z,T)=>{const K=o.resolveComponent("KCodeBlock"),oe=o.resolveComponent("KLabel"),O=o.resolveComponent("KBadge");return o.openBlock(),o.createElementBlock("div",fp,[o.createVNode(o.unref(S.EntityBaseConfigCard),{config:r.config,"config-card-doc":r.configCardDoc,"config-schema":Ue.value,"entity-type":o.unref(S.SupportedEntityType).CaCertificate,"fetch-url":g.value,"hide-title":r.hideTitle,"onFetch:error":T[0]||(T[0]=w=>Z.$emit("fetch:error",w)),"onFetch:success":Ae,onLoading:T[1]||(T[1]=w=>Z.$emit("loading",w))},{cert:o.withCtx(w=>[o.unref(f)("rowValue",w)?(o.openBlock(),o.createBlock(K,{key:0,id:`ca-cert-${r.config.entityId}-cert-codeblock`,code:o.unref(f)("rowValue",w),language:"plaintext","single-line":""},null,8,["id","code"])):o.createCommentVNode("",!0)]),"metadata-label":o.withCtx(()=>[o.createVNode(oe,{class:"metadata-label"},{default:o.withCtx(()=>T[2]||(T[2]=[o.createTextVNode(" Metadata ",-1)])),_:1,__:[2]})]),metadata:o.withCtx(w=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(Object.keys(o.unref(f)("rowValue",w)).filter(k=>!t.includes(k)),k=>(o.openBlock(),o.createBlock(o.unref(S.ConfigCardItem),{key:k,"data-testid":`ca-cert-metadata-${k}`,item:{key:k,label:o.unref(u)(k),value:re(k,w),type:k==="key_usages"?o.unref(S.ConfigurationSchemaType).BadgeTag:o.unref(S.ConfigurationSchemaType).Text}},null,8,["data-testid","item"]))),128))]),expiry:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(te.value||"–"),1)]),issuer:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(ne.value||"–"),1)]),key_usages:o.withCtx(()=>[X.value.length?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock("div",dp,o.toDisplayString("–"))),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(X.value,(w,k)=>(o.openBlock(),o.createBlock(O,{key:`key_usages-badge-tag-${k}`,class:"config-badge","data-testid":`key_usages-badge-tag-${k}`,tooltip:w,"truncation-tooltip":""},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(w),1)]),_:2},1032,["data-testid","tooltip"]))),128))]),_:1},8,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title"])])}}}),[["__scopeId","data-v-83648433"]]),hp={class:"kong-ui-entities-ca-certificates-list"},yp={class:"button-row"},gp={class:"empty-state-icon-gateway"},mp={key:0},bp={key:1},vp={key:0},wp={key:1},Ap=Xt(o.defineComponent({__name:"CACertificateList",props:{config:{type:Object,required:!0,validator:r=>!(!r||!["konnect","kongManager"].includes(r==null?void 0:r.app)||!r.createRoute||!r.getViewRoute||!r.getEditRoute||r.app==="kongManager"&&!r.isExactMatch&&!r.filterSchema)},cacheIdentifier:{type:String,default:""},canCreate:{type:Function,required:!1,default:async()=>!0},canDelete:{type:Function,required:!1,default:async()=>!0},canEdit:{type:Function,required:!1,default:async()=>!0},canRetrieve:{type:Function,required:!1,default:async()=>!0},useActionOutside:{type:Boolean,default:!1},useToolbarCreationButton:{type:Boolean,default:!1}},emits:["error","click:learn-more","copy:success","copy:error","delete:success"],setup(r,{emit:e}){var ce;const t=e,i=r,{i18n:{t:n,formatUnixTimeStamp:s},i18nT:a}=et.useI18n(),u=mi.useRouter(),{axiosInstance:f}=S.useAxios((ce=i.config)==null?void 0:ce.axiosRequestConfig),{hasRecords:d,handleStateChange:g}=S.useTableState(()=>re.value),h=o.computed(()=>d.value&&i.config.app==="konnect"),H=o.computed(()=>i.config.app!=="kongManager"||!!i.config.disableSorting),te={issuer:{label:n("ca-certificates.list.table_headers.issuer"),hidable:!1},expiry:{label:n("ca-certificates.list.table_headers.expiry")},tags:{label:n("ca-certificates.list.table_headers.tags"),sortable:!0}},X=o.computed(()=>{var V,$;let F=`${i.config.apiBaseUrl}${hi.list[i.config.app]}`;return i.config.app==="konnect"?F=F.replace(/{controlPlaneId}/gi,((V=i.config)==null?void 0:V.controlPlaneId)||""):i.config.app==="kongManager"&&(F=F.replace(/\/{workspace}/gi,($=i.config)!=null&&$.workspace?`/${i.config.workspace}`:"")),F}),re=o.ref(""),Ae=o.computed(()=>{const F=i.config.app==="konnect"||i.config.isExactMatch;return F?{isExactMatch:F,placeholder:n("ca-certificates.search.placeholder")}:{isExactMatch:F,schema:i.config.filterSchema}}),{fetcher:Ue,fetcherState:Z,fetcherCacheKey:T}=S.useFetcher(o.computed(()=>({...i.config,cacheIdentifier:i.cacheIdentifier})),X),K=()=>{re.value=""},oe=()=>{T.value++},O=o.ref(null),w=async(F,V)=>{const $=F.id;if(!await V($)){t("copy:error",{entity:F,field:"id",message:n("ca-certificates.errors.copy")});return}t("copy:success",{entity:F,field:"id",message:n("ca-certificates.copy.success",{val:$})})},k=async(F,V)=>{const $=JSON.stringify(F);if(!await V($)){t("copy:error",{entity:F,message:n("ca-certificates.errors.copy")});return}t("copy:success",{entity:F,message:n("ca-certificates.copy.success_brief")})},be=async F=>{var $;await(($=i.canRetrieve)==null?void 0:$.call(i,F))&&u.push(i.config.getViewRoute(F.id))},ie=F=>({label:n("ca-certificates.actions.view"),to:i.config.getViewRoute(F)}),ft=F=>({label:n("ca-certificates.actions.edit"),to:i.config.getEditRoute(F)}),se=o.ref(void 0),ae=o.ref(!1),Ie=o.ref(!1),W=o.ref(""),er=S.useDeleteUrlBuilder(i.config,X.value),{certificateDataCache:Tr,getCertificateData:jt}=et.useCertificate(),kt=F=>{se.value=F,ae.value=!0},_r=()=>{ae.value=!1},D=async()=>{var F,V,$;if((F=se.value)!=null&&F.id){Ie.value=!0;try{await f.delete(er(se.value.id)),Ie.value=!1,ae.value=!1,T.value++,t("delete:success",se.value)}catch(J){W.value=(($=(V=J.response)==null?void 0:V.data)==null?void 0:$.message)||J.message||n("ca-certificates.errors.delete"),t("error",J)}finally{Ie.value=!1}}},dt=()=>{u.push(i.config.createRoute)};o.watch(Z,F=>{var V,$,J;if(F.status===S.FetcherStatus.Error){O.value={title:n("ca-certificates.errors.general")},(J=($=(V=F.error)==null?void 0:V.response)==null?void 0:$.data)!=null&&J.message&&(O.value.message=F.error.response.data.message),t("error",F.error);return}Tr.value={},O.value=null});const tr=o.ref({ctaPath:i.config.createRoute,ctaText:void 0,message:`${n("ca-certificates.list.empty_state.description")}${i.config.additionMessageForEmptyState?` ${i.config.additionMessageForEmptyState}`:""}`,title:n("ca-certificates.title")});return o.onBeforeMount(async()=>{await i.canCreate()&&(tr.value.title=n("ca-certificates.list.empty_state.title"),tr.value.ctaText=n("ca-certificates.actions.create"))}),(F,V)=>{const $=o.resolveComponent("KButton"),J=o.resolveComponent("KDropdownItem"),de=o.resolveComponent("KClipboardProvider");return o.openBlock(),o.createElementBlock("div",hp,[o.createVNode(o.unref(S.EntityBaseTable),{"cache-identifier":r.cacheIdentifier,"disable-sorting":H.value,"empty-state-options":tr.value,"enable-entity-actions":"","error-message":O.value,fetcher:o.unref(Ue),"fetcher-cache-key":o.unref(T),"pagination-type":"offset","preferences-storage-key":"kong-ui-entities-ca-certificates-list",query:re.value,"table-headers":o.unref(te),onClearSearchInput:K,"onClick:row":V[3]||(V[3]=q=>be(q)),onSort:oe,onState:o.unref(g)},o.createSlots({"toolbar-filter":o.withCtx(()=>[o.createVNode(o.unref(S.EntityFilter),{modelValue:re.value,"onUpdate:modelValue":V[0]||(V[0]=q=>re.value=q),config:Ae.value},null,8,["modelValue","config"]),r.useToolbarCreationButton?(o.openBlock(),o.createBlock(o.unref(S.PermissionsWrapper),{key:0,"auth-function":r.canCreate},{default:o.withCtx(()=>[o.createVNode($,{appearance:"primary","data-testid":"toolbar-add-ca-certificate",size:"large",to:r.config.createRoute},{default:o.withCtx(()=>[o.createVNode(o.unref(rt.AddIcon)),o.createTextVNode(" "+o.toDisplayString(o.unref(n)("ca-certificates.list.toolbar_actions.new_ca_certificate")),1)]),_:1},8,["to"])]),_:1},8,["auth-function"])):o.createCommentVNode("",!0)]),"toolbar-button":o.withCtx(()=>[(o.openBlock(),o.createBlock(o.Teleport,{disabled:!r.useActionOutside,to:"#kong-ui-app-page-header-action-button"},[o.createElementVNode("div",yp,[h.value?(o.openBlock(),o.createBlock($,{key:0,appearance:"secondary",class:"open-learning-hub","data-testid":"ca-certificates-learn-more-button",icon:"",onClick:V[1]||(V[1]=q=>F.$emit("click:learn-more"))},{default:o.withCtx(()=>[o.createVNode(o.unref(rt.BookIcon),{decorative:""})]),_:1})):o.createCommentVNode("",!0),r.useToolbarCreationButton?o.createCommentVNode("",!0):(o.openBlock(),o.createBlock(o.unref(S.PermissionsWrapper),{key:1,"auth-function":r.canCreate},{default:o.withCtx(()=>[o.createVNode($,{appearance:"primary","data-testid":"toolbar-add-ca-certificate",size:r.useActionOutside?"medium":"large",to:r.config.createRoute},{default:o.withCtx(()=>[o.createVNode(o.unref(rt.AddIcon)),o.createTextVNode(" "+o.toDisplayString(o.unref(n)("ca-certificates.list.toolbar_actions.new_ca_certificate")),1)]),_:1},8,["size","to"])]),_:1},8,["auth-function"]))])],8,["disabled"]))]),issuer:o.withCtx(({row:q})=>{var ve;return[r.config.app==="konnect"?(o.openBlock(),o.createElementBlock("b",mp,o.toDisplayString((ve=q==null?void 0:q.metadata)!=null&&ve.issuer?q.metadata.issuer:"-"),1)):(o.openBlock(),o.createElementBlock("b",bp,o.toDisplayString(o.unref(jt)(q).schemaIssuer||"-"),1))]}),expiry:o.withCtx(({row:q})=>{var ve;return[r.config.app==="konnect"?(o.openBlock(),o.createElementBlock("span",vp,o.toDisplayString((ve=q==null?void 0:q.metadata)!=null&&ve.expiry?o.unref(s)(q.metadata.expiry):"-"),1)):(o.openBlock(),o.createElementBlock("span",wp,o.toDisplayString(o.unref(jt)(q).schemaExpiry?o.unref(s)(o.unref(jt)(q).schemaExpiry):"-"),1))]}),tags:o.withCtx(({row:q})=>[o.createVNode(o.unref(S.TableTags),{tags:q==null?void 0:q.tags},null,8,["tags"])]),actions:o.withCtx(({row:q})=>[o.createVNode(de,null,{default:o.withCtx(({copyToClipboard:ve})=>[o.createVNode(J,{"data-testid":"action-entity-copy-id",onClick:M=>w(q,ve)},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(n)("ca-certificates.actions.copy_id")),1)]),_:2},1032,["onClick"])]),_:2},1024),o.createVNode(de,null,{default:o.withCtx(({copyToClipboard:ve})=>[o.createVNode(J,{"data-testid":"action-entity-copy-json",onClick:M=>k(q,ve)},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(n)("ca-certificates.actions.copy_json")),1)]),_:2},1032,["onClick"])]),_:2},1024),o.createVNode(o.unref(S.PermissionsWrapper),{"auth-function":()=>r.canRetrieve(q)},{default:o.withCtx(()=>[o.createVNode(J,{"data-testid":"action-entity-view","has-divider":"",item:ie(q.id)},null,8,["item"])]),_:2},1032,["auth-function"]),o.createVNode(o.unref(S.PermissionsWrapper),{"auth-function":()=>r.canEdit(q)},{default:o.withCtx(()=>[o.createVNode(J,{"data-testid":"action-entity-edit",item:ft(q.id)},null,8,["item"])]),_:2},1032,["auth-function"]),o.createVNode(o.unref(S.PermissionsWrapper),{"auth-function":()=>r.canDelete(q)},{default:o.withCtx(()=>[o.createVNode(J,{danger:"","data-testid":"action-entity-delete","has-divider":"",onClick:ve=>kt(q)},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(n)("ca-certificates.actions.delete")),1)]),_:2},1032,["onClick"])]),_:2},1032,["auth-function"])]),_:2},[!re.value&&r.config.app==="konnect"?{name:"empty-state",fn:o.withCtx(()=>{var q;return[o.createVNode(o.unref(S.EntityEmptyState),{"action-button-text":o.unref(n)("ca-certificates.list.empty_state_v2.create"),appearance:"secondary","can-create":()=>r.canCreate(),"data-testid":"ca-certificates-entity-empty-state",description:o.unref(n)("ca-certificates.list.empty_state_v2.description"),"learn-more":r.config.app==="konnect",title:o.unref(n)("ca-certificates.list.empty_state_v2.title"),"onClick:create":dt,"onClick:learnMore":V[2]||(V[2]=ve=>F.$emit("click:learn-more"))},o.createSlots({image:o.withCtx(()=>[o.createElementVNode("div",gp,[o.createVNode(o.unref(rt.ServiceDocumentIcon),{color:o.unref(Ca),size:o.unref(xa)},null,8,["color","size"])])]),_:2},[(q=r.config)!=null&&q.isControlPlaneGroup?{name:"message",fn:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(o.unref(n)("ca-certificates.list.empty_state_v2.group")),1)]),key:"0"}:void 0]),1032,["action-button-text","can-create","description","learn-more","title"])]}),key:"0"}:void 0]),1032,["cache-identifier","disable-sorting","empty-state-options","error-message","fetcher","fetcher-cache-key","query","table-headers","onState"]),o.createVNode(o.unref(S.EntityDeleteModal),{"action-pending":Ie.value,"entity-type":o.unref(S.EntityTypes).CACertificate,error:W.value,title:o.unref(n)("ca-certificates.delete.title"),visible:ae.value,onCancel:_r,onProceed:D},{description:o.withCtx(()=>[o.createVNode(o.unref(a),{keypath:"ca-certificates.delete.description",scope:"global"},{"bolded-text":o.withCtx(()=>[o.createElementVNode("b",null,o.toDisplayString(o.unref(n)("ca-certificates.delete.boldedText")),1)]),_:1}),o.createElementVNode("p",null,o.toDisplayString(o.unref(n)("ca-certificates.delete.description2")),1)]),_:1},8,["action-pending","entity-type","error","title","visible"])])}}}),[["__scopeId","data-v-ee9855bc"]]),Sp={class:"kong-ui-entities-ca-certificates-form"},kp=Xt(o.defineComponent({__name:"CACertificateForm",props:{config:{type:Object,required:!0,validator:r=>!(!r||!["konnect","kongManager"].includes(r==null?void 0:r.app)||r.app==="konnect"&&!r.controlPlaneId||r.app==="kongManager"&&typeof r.workspace!="string"||!r.cancelRoute)},certificateId:{type:String,required:!1,default:""}},emits:["update","error","loading"],setup(r,{emit:e}){var Z;const t=e,i=r,n=mi.useRouter(),{i18n:{t:s}}=et.useI18n(),{getMessageFromError:a}=S.useErrors(),{axiosInstance:u}=S.useAxios((Z=i.config)==null?void 0:Z.axiosRequestConfig),f=o.computed(()=>hi.form[i.config.app].edit),d=o.computed(()=>i.certificateId?S.EntityBaseFormType.Edit:S.EntityBaseFormType.Create),g=o.reactive({fields:{cert:"",certDigest:"",tags:""},isReadonly:!1,errorMessage:""}),h=o.reactive({cert:"",certDigest:"",tags:""}),H=o.computed(()=>(d.value===S.EntityBaseFormType.Create||JSON.stringify(g.fields)!==JSON.stringify(h))&&!!g.fields.cert),ne=T=>{var K;g.fields.cert=(T==null?void 0:T.cert)||"",g.fields.certDigest=(T==null?void 0:T.cert_digest)||"",g.fields.tags=((K=T==null?void 0:T.tags)==null?void 0:K.join(", "))||"",Object.assign(h,g.fields)},te=()=>{n.push(i.config.cancelRoute)},X=o.computed(()=>{var K,oe;let T=`${i.config.apiBaseUrl}${hi.form[i.config.app].validate}`;return i.config.app==="konnect"?T=T.replace(/{controlPlaneId}/gi,((K=i.config)==null?void 0:K.controlPlaneId)||""):i.config.app==="kongManager"&&(T=T.replace(/\/{workspace}/gi,(oe=i.config)!=null&&oe.workspace?`/${i.config.workspace}`:"")),T=T.replace(/{id}/gi,i.certificateId),T}),re=o.computed(()=>{var K,oe;let T=`${i.config.apiBaseUrl}${hi.form[i.config.app][d.value]}`;return i.config.app==="konnect"?T=T.replace(/{controlPlaneId}/gi,((K=i.config)==null?void 0:K.controlPlaneId)||""):i.config.app==="kongManager"&&(T=T.replace(/\/{workspace}/gi,(oe=i.config)!=null&&oe.workspace?`/${i.config.workspace}`:"")),T=T.replace(/{id}/gi,i.certificateId),T}),Ae=o.computed(()=>{var T,K;return{cert:g.fields.cert,cert_digest:g.fields.certDigest||null,tags:(K=(T=g.fields.tags.split(","))==null?void 0:T.map(oe=>String(oe||"").trim()))==null?void 0:K.filter(oe=>oe!=="")}}),Ue=async()=>{var T,K,oe,O,w;try{g.isReadonly=!0;let k;await u.post(X.value,Ae.value),d.value==="create"?k=await u.post(re.value,Ae.value):d.value==="edit"&&(k=((T=i.config)==null?void 0:T.app)==="konnect"?await u.put(re.value,Ae.value):await u.patch(re.value,Ae.value)),g.fields.cert=((K=k==null?void 0:k.data)==null?void 0:K.cert)||"",g.fields.certDigest=((oe=k==null?void 0:k.data)==null?void 0:oe.cert_digest)||"",g.fields.tags=((w=(O=k==null?void 0:k.data)==null?void 0:O.tags)==null?void 0:w.join(", "))||"",Object.assign(h,g.fields),t("update",k==null?void 0:k.data)}catch(k){g.errorMessage=a(k),t("error",k)}finally{g.isReadonly=!1}};return(T,K)=>{const oe=o.resolveComponent("KTextArea"),O=o.resolveComponent("KInput");return o.openBlock(),o.createElementBlock("div",Sp,[o.createVNode(o.unref(S.EntityBaseForm),{"can-submit":H.value,config:r.config,"edit-id":r.certificateId,"entity-type":o.unref(S.SupportedEntityType).CaCertificate,"error-message":g.errorMessage,"fetch-url":f.value,"form-fields":Ae.value,"is-readonly":g.isReadonly,onCancel:te,"onFetch:error":K[3]||(K[3]=w=>T.$emit("error",w)),"onFetch:success":ne,onLoading:K[4]||(K[4]=w=>T.$emit("loading",w)),onSubmit:Ue},{default:o.withCtx(()=>[o.createVNode(o.unref(S.EntityFormSection),{description:o.unref(s)("ca-certificates.form.sections.cert.description"),title:o.unref(s)("ca-certificates.form.sections.cert.title")},{default:o.withCtx(()=>[o.createVNode(oe,{modelValue:g.fields.cert,"onUpdate:modelValue":K[0]||(K[0]=w=>g.fields.cert=w),modelModifiers:{trim:!0},"character-limit":!1,class:"certificate-form-textarea","data-testid":"ca-certificate-form-cert",label:o.unref(s)("ca-certificates.form.fields.cert.label"),"label-attributes":{info:o.unref(s)("ca-certificates.form.fields.cert.tooltip"),tooltipAttributes:{maxWidth:"400"}},readonly:g.isReadonly,required:""},null,8,["modelValue","label","label-attributes","readonly"]),o.createVNode(O,{modelValue:g.fields.certDigest,"onUpdate:modelValue":K[1]||(K[1]=w=>g.fields.certDigest=w),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"ca-certificate-form-cert-digest",label:o.unref(s)("ca-certificates.form.fields.cert_digest.label"),readonly:g.isReadonly,type:"text"},null,8,["modelValue","label","readonly"])]),_:1},8,["description","title"]),o.createVNode(o.unref(S.EntityFormSection),{description:o.unref(s)("ca-certificates.form.sections.general.description"),title:o.unref(s)("ca-certificates.form.sections.general.title")},{default:o.withCtx(()=>[o.createVNode(O,{modelValue:g.fields.tags,"onUpdate:modelValue":K[2]||(K[2]=w=>g.fields.tags=w),modelModifiers:{trim:!0},autocomplete:"off","data-testid":"ca-certificate-form-tags",help:o.unref(s)("ca-certificates.form.fields.tags.help"),label:o.unref(s)("ca-certificates.form.fields.tags.label"),"label-attributes":{info:o.unref(s)("ca-certificates.form.fields.tags.tooltip"),tooltipAttributes:{maxWidth:"400"}},placeholder:o.unref(s)("ca-certificates.form.fields.tags.placeholder"),readonly:g.isReadonly,type:"text"},null,8,["modelValue","help","label","label-attributes","placeholder","readonly"])]),_:1},8,["description","title"])]),_:1},8,["can-submit","config","edit-id","entity-type","error-message","fetch-url","form-fields","is-readonly"])])}}}),[["__scopeId","data-v-a850d9bb"]]),Cp={class:"kong-ui-certificate-entity-config-card"},xp={key:0},Bp=Xt(o.defineComponent({__name:"CertificateConfigCard",props:{config:{type:Object,required:!0,validator:r=>!(!r||!["konnect","kongManager"].includes(r==null?void 0:r.app)||r.app==="konnect"&&!r.controlPlaneId||r.app==="kongManager"&&typeof r.workspace!="string"||!r.entityId)},configCardDoc:{type:String,default:"",required:!1},hideTitle:{type:Boolean,default:!1}},emits:["loading","fetch:error","fetch:success"],setup(r,{emit:e}){const t=e,i=r,{i18n:{t:n,formatUnixTimeStamp:s},i18nT:a}=et.useI18n(),{convertKeyToTitle:u}=S.useStringHelpers(),{getPropValue:f}=S.useHelpers(),{getCertificateData:d}=et.useCertificate(),g=o.computed(()=>pi.form[i.config.app].edit),h=o.ref(),H=o.ref({id:{},cert:{section:S.ConfigurationSchemaSection.Basic},key:{section:S.ConfigurationSchemaSection.Basic,type:S.ConfigurationSchemaType.Redacted},metadata:{section:S.ConfigurationSchemaSection.Basic,type:S.ConfigurationSchemaType.Json},snis:{section:S.ConfigurationSchemaSection.Basic,type:S.ConfigurationSchemaType.BadgeTag,label:n("certificates.list.table_headers.snis")},updated_at:{},created_at:{},tags:{tooltip:n("certificates.form.fields.tags.tooltip")},...i.config.app==="kongManager"&&{expiry:{section:S.ConfigurationSchemaSection.Basic,label:n("certificates.list.table_headers.expiry"),forceShow:!0},issuer:{section:S.ConfigurationSchemaSection.Basic,label:n("certificates.list.table_headers.issuer"),forceShow:!0},san_names:{section:S.ConfigurationSchemaSection.Basic,label:n("certificates.list.table_headers.san"),forceShow:!0},subject:{section:S.ConfigurationSchemaSection.Basic,label:n("certificates.list.table_headers.subject"),forceShow:!0},key_usages:{forceShow:!0}},cert_alt:{section:S.ConfigurationSchemaSection.Advanced},key_alt:{section:S.ConfigurationSchemaSection.Advanced,type:S.ConfigurationSchemaType.Redacted}}),ne=w=>{h.value=w,t("fetch:success",w)},te=(w,k)=>{const be=f("rowValue",k);if(w==="expiry")return re.value;if(w==="key_usages")return T.value;if(w==="san_names")return Ue.value;if(be)return be[w]},X=o.computed(()=>{if(h.value)return d(h.value)}),re=o.computed(()=>{var w,k;return(w=X.value)!=null&&w.schemaExpiry?s((k=X.value)==null?void 0:k.schemaExpiry):""}),Ae=o.computed(()=>{var w;return((w=X.value)==null?void 0:w.schemaIssuer)||""}),Ue=o.computed(()=>{var w;return((w=X.value)==null?void 0:w.schemaSanNames)||""}),Z=o.computed(()=>{var w;return((w=X.value)==null?void 0:w.schemaSubject)||""}),T=o.computed(()=>{var w;return((w=X.value)==null?void 0:w.schemaKeyUsages)||[]}),K=o.computed(()=>{var w,k;return((k=(w=h==null?void 0:h.value)==null?void 0:w.snis)==null?void 0:k.length)>0}),oe=o.computed(()=>{var w;return!!((w=h==null?void 0:h.value)!=null&&w.cert_alt)}),O=w=>{var k,be;return w==="san_names"?n("certificates.list.table_headers.san"):((be=(k=H.value)==null?void 0:k[w])==null?void 0:be.label)||u(w)};return(w,k)=>{const be=o.resolveComponent("KCodeBlock"),ie=o.resolveComponent("KLabel"),ft=o.resolveComponent("KBadge");return o.openBlock(),o.createElementBlock("div",Cp,[o.createVNode(o.unref(S.EntityBaseConfigCard),{config:r.config,"config-card-doc":r.configCardDoc,"config-schema":H.value,"entity-type":o.unref(S.SupportedEntityType).Certificate,"fetch-url":g.value,"hide-title":r.hideTitle,"onFetch:error":k[0]||(k[0]=se=>w.$emit("fetch:error",se)),"onFetch:success":ne,onLoading:k[1]||(k[1]=se=>w.$emit("loading",se))},o.createSlots({"cert-label-tooltip":o.withCtx(()=>[o.createVNode(o.unref(a),{keypath:"certificates.form.fields.cert.tooltip",scope:"global"},{emphasis:o.withCtx(()=>[o.createElementVNode("i",null,o.toDisplayString(o.unref(n)("certificates.form.fields.cert.emphasis")),1)]),_:1})]),cert:o.withCtx(se=>[o.unref(f)("rowValue",se)?(o.openBlock(),o.createBlock(be,{key:0,id:`certificate-${r.config.entityId}-cert-codeblock`,code:o.unref(f)("rowValue",se),language:"plaintext","single-line":""},null,8,["id","code"])):o.createCommentVNode("",!0)]),"key-label-tooltip":o.withCtx(()=>[o.createVNode(o.unref(a),{keypath:"certificates.form.fields.key.tooltip",scope:"global"},{emphasis:o.withCtx(()=>[o.createElementVNode("i",null,o.toDisplayString(o.unref(n)("certificates.form.fields.key.emphasis")),1)]),_:1})]),"metadata-label":o.withCtx(()=>[o.createVNode(ie,{class:"metadata-label"},{default:o.withCtx(()=>k[2]||(k[2]=[o.createTextVNode(" Metadata ",-1)])),_:1,__:[2]})]),metadata:o.withCtx(se=>[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(Object.keys(o.unref(f)("rowValue",se)),ae=>(o.openBlock(),o.createBlock(o.unref(S.ConfigCardItem),{key:ae,item:{key:ae,value:te(ae,se),label:O(ae),type:ae==="key_usages"||ae==="snis"||ae==="dns_names"?o.unref(S.ConfigurationSchemaType).BadgeTag:o.unref(S.ConfigurationSchemaType).Text}},null,8,["item"]))),128))]),expiry:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(re.value||"–"),1)]),issuer:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(Ae.value||"–"),1)]),san_names:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(Ue.value||"–"),1)]),subject:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(Z.value||"–"),1)]),"cert_alt-label-tooltip":o.withCtx(()=>[o.createVNode(o.unref(a),{keypath:"certificates.form.fields.cert_alt.tooltip",scope:"global"},{emphasis:o.withCtx(()=>[o.createElementVNode("i",null,o.toDisplayString(o.unref(n)("certificates.form.fields.cert_alt.emphasis")),1)]),_:1})]),"key_alt-label-tooltip":o.withCtx(()=>[o.createVNode(o.unref(a),{keypath:"certificates.form.fields.key_alt.tooltip",scope:"global"},{emphasis:o.withCtx(()=>[o.createElementVNode("i",null,o.toDisplayString(o.unref(n)("certificates.form.fields.key_alt.emphasis")),1)]),_:1})]),key_usages:o.withCtx(()=>[T.value.length?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock("div",xp,o.toDisplayString("–"))),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(T.value,(se,ae)=>(o.openBlock(),o.createBlock(ft,{key:`key_usages-badge-tag-${ae}`,class:"config-badge","data-testid":`key_usages-badge-tag-${ae}`,tooltip:se,"truncation-tooltip":""},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(se),1)]),_:2},1032,["data-testid","tooltip"]))),128))]),_:2},[K.value?void 0:{name:"snis",fn:o.withCtx(()=>[k[3]||(k[3]=o.createTextVNode(" – ",-1))]),key:"0"},oe.value?{name:"cert_alt",fn:o.withCtx(se=>[k[4]||(k[4]=o.createTextVNode(" > ",-1)),o.unref(f)("rowValue",se)?(o.openBlock(),o.createBlock(be,{key:0,id:`certificate-${r.config.entityId}-cert-alt-codeblock`,code:o.unref(f)("rowValue",se),language:"plaintext","single-line":""},null,8,["id","code"])):o.createCommentVNode("",!0)]),key:"1"}:void 0]),1032,["config","config-card-doc","config-schema","entity-type","fetch-url","hide-title"])])}}}),[["__scopeId","data-v-de8f90ef"]]);xe.CACertificateConfigCard=pp,xe.CACertificateForm=kp,xe.CACertificateList=Ap,xe.CertificateConfigCard=Bp,xe.CertificateForm=up,xe.CertificateList=np,Object.defineProperty(xe,Symbol.toStringTag,{value:"Module"})});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kong-ui-public/entities-certificates",
|
|
3
|
-
"version": "3.10.
|
|
3
|
+
"version": "3.10.7",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/entities-certificates.umd.js",
|
|
6
6
|
"module": "./dist/entities-certificates.es.js",
|
|
@@ -21,23 +21,23 @@
|
|
|
21
21
|
"access": "public"
|
|
22
22
|
},
|
|
23
23
|
"peerDependencies": {
|
|
24
|
-
"@kong/icons": "^1.
|
|
25
|
-
"@kong/kongponents": "^9.
|
|
24
|
+
"@kong/icons": "^1.31.0",
|
|
25
|
+
"@kong/kongponents": "^9.34.2",
|
|
26
26
|
"axios": "^1.11.0",
|
|
27
|
-
"vue": "
|
|
27
|
+
"vue": ">= 3.3.13 < 4",
|
|
28
28
|
"vue-router": "^4.4.5",
|
|
29
|
-
"@kong-ui-public/i18n": "^2.4.
|
|
30
|
-
"@kong-ui-public/entities-shared": "^3.27.
|
|
29
|
+
"@kong-ui-public/i18n": "^2.4.3",
|
|
30
|
+
"@kong-ui-public/entities-shared": "^3.27.5"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
|
-
"@kong/design-tokens": "
|
|
33
|
+
"@kong/design-tokens": "1.18.0",
|
|
34
34
|
"@kong/icons": "^1.33.2",
|
|
35
|
-
"@kong/kongponents": "
|
|
36
|
-
"axios": "^1.
|
|
35
|
+
"@kong/kongponents": "9.38.3",
|
|
36
|
+
"axios": "^1.7.7",
|
|
37
37
|
"vue": "^3.5.13",
|
|
38
38
|
"vue-router": "^4.4.5",
|
|
39
|
-
"@kong-ui-public/entities-shared": "^3.27.
|
|
40
|
-
"@kong-ui-public/i18n": "^2.4.
|
|
39
|
+
"@kong-ui-public/entities-shared": "^3.27.5",
|
|
40
|
+
"@kong-ui-public/i18n": "^2.4.3"
|
|
41
41
|
},
|
|
42
42
|
"repository": {
|
|
43
43
|
"type": "git",
|