1111 < title >
1212 Name Constraints In x509 Certificate
1313 </ title >
14-
14+
1515 < meta name =description content ='Learn how to configure name constraints in an X.509 certificate using OpenSSL. This hands-on guide features editable, runnable code directly in the browser, allowing you to generate and download custom certificates with ease. '>
16-
16+
1717 < base href ='https://ext-code.com/blog/25-09-29/name-constraints-in-x509-certificate/ '>
1818 < link rel =canonical href ='https://ext-code.com/blog/25-09-29/name-constraints-in-x509-certificate/name-constraints-in-x509-certificate.html '>
1919
2020 < link rel =icon type ='image/png ' href ='/blog/image/blog-30.png '>
2121 < meta name =viewport content ='width=device-width, initial-scale=1 '>
22-
22+
2323 < script type ='application/ld+json '>
2424 {
2525 "@context" : "https://schema.org" ,
3535 </ script >
3636
3737
38-
39-
38+
39+
4040 <!--
4141 <script src='https://www.cryptool.org/wasm/openssl.js'></script>
4242 -->
4343 < script src ='https://javascript-2020.github.io/libs/js/external/openssl/openssl.js '> </ script >
4444 < script src ='https://ajaxorg.github.io/ace-builds/src-noconflict/ace.js '> </ script >
45-
46-
47- < script src ='https://libs.ext-code.com/js/dom/component/component.js '> </ script >
4845
49-
46+
47+ < script src ='https://libs.ext-code.com/js/dom/component/v3.0/component.js '> </ script >
48+
49+
5050 < script init >
5151 console . clear ( ) ;
5252 console . log ( 'name-constraints-in-x509-certificate' ) ;
6666 var debug ;
6767
6868 var menu ;
69-
69+
7070 var hdr ;
7171 var config ;
7272 var cmd ;
7373 var log ;
74-
75-
74+
75+
7676 //:
7777
7878
7979 async function init ( ) {
80-
81-
80+
81+
8282 menu = menumod ( ) ;
8383
8484 mod . base . add ( { ext, $, datatype, keydown, menu, menumod, ace} ) ;
8585
86-
86+
8787 hdr = mod [ 'blog-hdr' ] ;
8888 config = mod . config ;
8989 cmd = mod . cmd ;
103103
104104
105105 initdom ( document . body ) ;
106-
106+
107107
108108 } //init
109-
110-
109+
110+
111111( async ( ) => {
112112
113113 mod . stack . add ;
126126 [ $ , datatype , menumod , keydown , debug , opensslmod ] = await promise ;
127127
128128 mod . stack . complete ;
129-
129+
130130} ) ( ) ;
131131
132132 </ script init>
135135 < link rel =stylesheet href ='/blog/css/blog.css '>
136136
137137 < style >
138-
139-
138+
139+
140140 html
141141 {height : 100% ;font-family : arial}
142142 body
149149 [component ]
150150 {display : none}
151151
152- .description
152+ .description
153153 {max-width : 1000px ;text-align : justify;border-left : 4px solid # 4a90e2 ;padding : 1rem 2rem ;
154154 background-color : # f9f9f9 ;font-family : system-ui, sans-serif;font-size : 1rem ;line-height : 1.6 ;color : # 333 }
155155 .description > p
156156 {margin : 0 }
157157 .description > p + p
158158 {margin : 10px 0 }
159-
159+
160160 code
161161 {font-family : monospace;background : whitesmoke}
162162 code .inline
163163 {display : inline;padding : 5px 10px }
164-
164+
165165 a
166166 {color : # 4a90e2 ;text-decoration : none;font-weight : 500 }
167- a : hover
167+ a : hover
168168 {text-decoration : underline}
169169 .link-domain
170170 {font-size : 0.85rem ;color : # 777 ;margin-left : 0.25rem }
171- .link-domain ::before
171+ .link-domain ::before
172172 {content : '[' }
173173 .link-domain ::after
174174 {content : ']' }
175175 .link-txt
176176 {}
177-
177+
178178 input
179179 {font-size : 16px ;padding : 5px 7px ;box-sizing : border-box;}
180180 input [type = button ]
181181 {cursor : pointer}
182-
183-
184-
182+
183+
184+
185185 editor-root
186186 {border : 2px solid # 4a90e2 ;padding : 10px }
187-
187+
188188 # desc
189189 {margin-bottom : 30px }
190190 .sub-desc
198198
199199 # cmd
200200 {display : block;margin-bottom : 30px }
201-
201+
202202
203203 # fs
204204 {font-family : monospace;white-space : pre-wrap;margin : 10px ;padding : 10px ;border : 1px solid lightblue;
205205 display : flex;flex-direction : column;line-height : 1.4 }
206-
207-
208-
206+
207+
208+
209209 # output
210210 {font-family : monospace;white-space : pre-wrap;margin : 10px ;padding : 10px ;border : 1px solid lightgray;line-height : 1.4 }
211-
212-
211+
212+
213213
214214 # ftr-hldr
215215 {position : relative}
219219 .hr
220220 {border-top : 1px solid lightgray;margin : 20px }
221221
222-
222+
223223
224224 </ style >
225225 </ head >
226226
227227
228228 < body >
229-
230-
231- < blog-hdr component =grp1 >
229+
230+
231+ < blog-hdr component =grp1 >
232232 < h1 class =title >
233233 Add Name Constraints To A x509 Certificate
234234 </ h1 >
235235 < time slot =date datetime =2025-10-29 >
236236 29 Oct 2025
237237 </ time >
238238 </ blog-hdr >
239-
239+
240240
241241 < div class =description >
242242
@@ -359,14 +359,14 @@ <h4>
359359 Learn how to prevent abuse, tighten your PKI, and experiment with constraint generation using our interactive certificate builder tool.
360360 </ div >
361361 </ div >
362-
362+
363363
364364 < div >
365365 < div class =label >
366366 ca-ext.ini
367367 </ div >
368368 </ div >
369-
369+
370370
371371 < web-editor id =config fullsize src ='ex/config.txt ' component > </ web-editor >
372372
@@ -387,22 +387,22 @@ <h4>
387387
388388 < div id =output > </ div >
389389
390-
391-
390+
391+
392392 < div id =ftr-hldr >
393393 < div id =ftr > </ div >
394394 </ div >
395395
396396
397397 < log-mod component > </ log-mod >
398398
399-
399+
400400 </ body >
401-
401+
402402
403403 < script >
404-
405-
404+
405+
406406 var openssl ;
407407
408408 var root ;
@@ -411,14 +411,14 @@ <h4>
411411
412412 var btn = { } ;
413413
414-
414+
415415 //:
416416
417-
417+
418418 function initdom ( rootnode ) {
419419
420420 root = rootnode ;
421-
421+
422422
423423 hdr . initdom ( ) ;
424424 config . initdom ( { mode :'text' } ) ;
@@ -434,11 +434,11 @@ <h4>
434434 config . focus ( ) ;
435435
436436 } //initdom
437-
438-
437+
438+
439439 //:
440-
441-
440+
441+
442442 btn . run = async function ( ) {
443443
444444 output . clear ( ) ;
465465 return args ;
466466
467467 } ) ;
468-
469-
468+
469+
470470 var n = cmds . length ;
471471 for ( var i = 0 ; i < n ; i ++ ) {
472472
476476 output . disp ( str ) ;
477477
478478 await openssl . run ( ...args ) ;
479-
479+
480480 } //for
481481
482482 $ ( '#fs' ) . replaceChildren ( ) ;
494494 $ ( '#fs' ) . append ( a ) ;
495495
496496 } //for
497-
497+
498498 } //run
499-
499+
500500
501501
502502 output . clear = function ( ) {
@@ -535,12 +535,12 @@ <h4>
535535 console . log ( str ) ;
536536
537537 } //stderr
538-
539-
540-
541-
542- </ script >
543-
538+
539+
540+
541+
542+ </ script >
543+
544544</ html >
545545
546546
0 commit comments