Hex Artifact Content

Artifact 8dcfe9c94d43a6d7de3f0746a7fc38d7e78662f6:


0000: 61 6c 6c 3a 20 63 65 72 74 73 20 55 53 47 2d 66  all: certs USG-f
0010: 65 64 65 72 61 6c 2d 62 75 6e 64 6c 65 2e 70 65  ederal-bundle.pe
0020: 6d 0a 0a 63 65 72 74 73 3a 20 63 65 72 74 2d 31  m..certs: cert-1
0030: 2e 63 72 74 20 43 50 43 41 5f 54 52 43 41 2e 63  .crt CPCA_TRCA.c
0040: 72 74 20 43 6f 6d 6d 6f 6e 50 6f 6c 69 63 79 2e  rt CommonPolicy.
0050: 63 72 74 0a 09 67 72 65 70 20 2d 6c 20 27 49 73  crt..grep -l 'Is
0060: 73 75 65 72 3a 20 43 3d 55 53 2c 20 4f 3d 55 2e  suer: C=US, O=U.
0070: 53 2e 20 47 6f 76 65 72 6e 6d 65 6e 74 2c 20 4f  S. Government, O
0080: 55 3d 46 50 4b 49 2c 20 43 4e 3d 46 65 64 65 72  U=FPKI, CN=Feder
0090: 61 6c 20 42 72 69 64 67 65 20 43 41 27 20 2a 2e  al Bridge CA' *.
00a0: 63 72 74 20 7c 20 78 61 72 67 73 20 72 6d 20 2d  crt | xargs rm -
00b0: 66 0a 09 67 72 65 70 20 2d 6c 20 27 53 75 62 6a  f..grep -l 'Subj
00c0: 65 63 74 3a 20 43 3d 55 53 2c 20 4f 3d 55 2e 53  ect: C=US, O=U.S
00d0: 2e 20 47 6f 76 65 72 6e 6d 65 6e 74 2c 20 4f 55  . Government, OU
00e0: 3d 46 50 4b 49 2c 20 43 4e 3d 46 65 64 65 72 61  =FPKI, CN=Federa
00f0: 6c 20 43 6f 6d 6d 6f 6e 20 50 6f 6c 69 63 79 20  l Common Policy 
0100: 43 41 27 20 2a 2e 63 72 74 20 20 7c 20 78 61 72  CA' *.crt  | xar
0110: 67 73 20 67 72 65 70 20 2d 48 20 27 49 73 73 75  gs grep -H 'Issu
0120: 65 72 3a 27 20 7c 20 67 72 65 70 20 2d 76 20 27  er:' | grep -v '
0130: 49 73 73 75 65 72 3a 20 43 3d 75 73 2c 20 4f 3d  Issuer: C=us, O=
0140: 55 2e 53 2e 20 47 6f 76 65 72 6e 6d 65 6e 74 2c  U.S. Government,
0150: 20 4f 55 3d 46 42 43 41 2c 20 43 4e 3d 43 6f 6d   OU=FBCA, CN=Com
0160: 6d 6f 6e 20 50 6f 6c 69 63 79 27 20 7c 20 63 75  mon Policy' | cu
0170: 74 20 2d 66 20 31 20 2d 64 20 3a 20 7c 20 78 61  t -f 1 -d : | xa
0180: 72 67 73 20 72 6d 20 2d 66 0a 0a 43 50 43 41 5f  rgs rm -f..CPCA_
0190: 54 52 43 41 2e 63 72 74 3a 0a 09 77 67 65 74 20  TRCA.crt:..wget 
01a0: 2d 4f 20 2d 20 2d 2d 6e 6f 2d 63 68 65 63 6b 2d  -O - --no-check-
01b0: 63 65 72 74 69 66 69 63 61 74 65 20 68 74 74 70  certificate http
01c0: 73 3a 2f 2f 70 6b 69 2e 74 72 65 61 73 2e 67 6f  s://pki.treas.go
01d0: 76 2f 43 50 43 41 5f 54 52 43 41 2e 63 65 72 20  v/CPCA_TRCA.cer 
01e0: 7c 20 6f 70 65 6e 73 73 6c 20 78 35 30 39 20 2d  | openssl x509 -
01f0: 74 65 78 74 20 3e 20 22 24 40 2e 6e 65 77 22 0a  text > "$@.new".
0200: 09 6d 76 20 22 24 40 2e 6e 65 77 22 20 22 24 40  .mv "$@.new" "$@
0210: 22 0a 0a 63 61 43 65 72 74 73 49 73 73 75 65 64  "..caCertsIssued
0220: 54 6f 66 63 70 63 61 2e 70 37 63 3a 0a 09 77 67  Tofcpca.p7c:..wg
0230: 65 74 20 2d 4f 20 22 24 40 2e 6e 65 77 22 20 68  et -O "$@.new" h
0240: 74 74 70 3a 2f 2f 68 74 74 70 2e 66 70 6b 69 2e  ttp://http.fpki.
0250: 67 6f 76 2f 66 63 70 63 61 2f 63 61 43 65 72 74  gov/fcpca/caCert
0260: 73 49 73 73 75 65 64 54 6f 66 63 70 63 61 2e 70  sIssuedTofcpca.p
0270: 37 63 0a 09 6d 76 20 22 24 40 2e 6e 65 77 22 20  7c..mv "$@.new" 
0280: 22 24 40 22 0a 0a 72 6f 6f 74 5f 73 69 61 2e 70  "$@"..root_sia.p
0290: 37 62 3a 0a 09 77 67 65 74 20 2d 4f 20 22 24 40  7b:..wget -O "$@
02a0: 2e 6e 65 77 22 20 2d 2d 6e 6f 2d 63 68 65 63 6b  .new" --no-check
02b0: 2d 63 65 72 74 69 66 69 63 61 74 65 20 68 74 74  -certificate htt
02c0: 70 73 3a 2f 2f 70 6b 69 2e 74 72 65 61 73 2e 67  ps://pki.treas.g
02d0: 6f 76 2f 72 6f 6f 74 5f 73 69 61 2e 70 37 62 0a  ov/root_sia.p7b.
02e0: 09 6d 76 20 22 24 40 2e 6e 65 77 22 20 22 24 40  .mv "$@.new" "$@
02f0: 22 0a 0a 43 6f 6d 6d 6f 6e 50 6f 6c 69 63 79 2e  "..CommonPolicy.
0300: 63 72 74 3a 0a 09 77 67 65 74 20 2d 4f 20 2d 20  crt:..wget -O - 
0310: 68 74 74 70 3a 2f 2f 66 70 6b 69 61 2e 67 73 61  http://fpkia.gsa
0320: 2e 67 6f 76 2f 43 6f 6d 6d 6f 6e 50 6f 6c 69 63  .gov/CommonPolic
0330: 79 2f 43 6f 6d 6d 6f 6e 50 6f 6c 69 63 79 2e 63  y/CommonPolicy.c
0340: 72 74 20 7c 20 6f 70 65 6e 73 73 6c 20 78 35 30  rt | openssl x50
0350: 39 20 2d 69 6e 66 6f 72 6d 20 64 65 72 20 2d 74  9 -inform der -t
0360: 65 78 74 20 3e 20 22 24 40 2e 6e 65 77 22 0a 09  ext > "$@.new"..
0370: 6d 76 20 22 24 40 2e 6e 65 77 22 20 22 24 40 22  mv "$@.new" "$@"
0380: 0a 0a 63 65 72 74 2d 25 2e 63 72 74 3a 20 72 6f  ..cert-%.crt: ro
0390: 6f 74 5f 73 69 61 2e 70 37 62 20 63 61 43 65 72  ot_sia.p7b caCer
03a0: 74 73 49 73 73 75 65 64 54 6f 66 63 70 63 61 2e  tsIssuedTofcpca.
03b0: 70 37 63 0a 09 69 64 78 3d 30 3b 20 5c 0a 09 28  p7c..idx=0; \..(
03c0: 20 5c 0a 09 09 6f 70 65 6e 73 73 6c 20 70 6b 63   \...openssl pkc
03d0: 73 37 20 2d 69 6e 20 72 6f 6f 74 5f 73 69 61 2e  s7 -in root_sia.
03e0: 70 37 62 20 2d 69 6e 66 6f 72 6d 20 44 45 52 20  p7b -inform DER 
03f0: 2d 70 72 69 6e 74 5f 63 65 72 74 73 20 2d 74 65  -print_certs -te
0400: 78 74 3b 20 5c 0a 09 09 6f 70 65 6e 73 73 6c 20  xt; \...openssl 
0410: 70 6b 63 73 37 20 2d 69 6e 20 63 61 43 65 72 74  pkcs7 -in caCert
0420: 73 49 73 73 75 65 64 54 6f 66 63 70 63 61 2e 70  sIssuedTofcpca.p
0430: 37 63 20 2d 69 6e 66 6f 72 6d 20 44 45 52 20 2d  7c -inform DER -
0440: 70 72 69 6e 74 5f 63 65 72 74 73 20 2d 74 65 78  print_certs -tex
0450: 74 3b 20 5c 0a 09 29 20 7c 20 77 68 69 6c 65 20  t; \..) | while 
0460: 49 46 53 3d 27 27 20 72 65 61 64 20 2d 72 20 6c  IFS='' read -r l
0470: 69 6e 65 3b 20 64 6f 20 5c 0a 09 09 69 66 20 5b  ine; do \...if [
0480: 20 2d 7a 20 22 24 24 7b 6c 69 6e 65 7d 22 20 5d   -z "$${line}" ]
0490: 3b 20 74 68 65 6e 20 5c 0a 09 09 09 63 6f 6e 74  ; then \....cont
04a0: 69 6e 75 65 3b 20 5c 0a 09 09 66 69 3b 20 5c 0a  inue; \...fi; \.
04b0: 09 09 65 63 68 6f 20 22 24 24 7b 6c 69 6e 65 7d  ..echo "$${line}
04c0: 22 20 3e 3e 20 22 63 65 72 74 2d 24 24 7b 69 64  " >> "cert-$${id
04d0: 78 7d 2e 63 72 74 22 3b 20 5c 0a 09 09 69 66 20  x}.crt"; \...if 
04e0: 5b 20 22 24 24 7b 6c 69 6e 65 7d 22 20 3d 3d 20  [ "$${line}" == 
04f0: 22 2d 2d 2d 2d 2d 45 4e 44 20 43 45 52 54 49 46  "-----END CERTIF
0500: 49 43 41 54 45 2d 2d 2d 2d 2d 22 20 5d 3b 20 74  ICATE-----" ]; t
0510: 68 65 6e 20 5c 0a 09 09 09 69 64 78 3d 24 24 5b  hen \....idx=$$[
0520: 24 24 69 64 78 20 2b 20 31 5d 3b 20 5c 0a 09 09  $$idx + 1]; \...
0530: 66 69 3b 20 5c 0a 09 64 6f 6e 65 0a 0a 55 53 47  fi; \..done..USG
0540: 2d 66 65 64 65 72 61 6c 2d 62 75 6e 64 6c 65 2e  -federal-bundle.
0550: 70 65 6d 3a 20 63 65 72 74 73 0a 09 2e 2e 2f 62  pem: certs..../b
0560: 75 69 6c 64 2d 74 72 65 65 2e 73 68 20 3e 20 22  uild-tree.sh > "
0570: 24 40 22 0a 0a 55 53 47 2d 66 65 64 65 72 61 6c  $@"..USG-federal
0580: 2d 62 75 6e 64 6c 65 2e 70 6b 37 3a 20 55 53 47  -bundle.pk7: USG
0590: 2d 66 65 64 65 72 61 6c 2d 62 75 6e 64 6c 65 2e  -federal-bundle.
05a0: 70 65 6d 0a 09 6f 70 65 6e 73 73 6c 20 63 72 6c  pem..openssl crl
05b0: 32 70 6b 63 73 37 20 2d 6f 75 74 66 6f 72 6d 20  2pkcs7 -outform 
05c0: 64 65 72 20 2d 6e 6f 63 72 6c 20 2d 63 65 72 74  der -nocrl -cert
05d0: 66 69 6c 65 20 55 53 47 2d 66 65 64 65 72 61 6c  file USG-federal
05e0: 2d 62 75 6e 64 6c 65 2e 70 65 6d 20 3e 20 55 53  -bundle.pem > US
05f0: 47 2d 66 65 64 65 72 61 6c 2d 62 75 6e 64 6c 65  G-federal-bundle
0600: 2e 70 6b 37 0a 0a 63 6c 65 61 6e 3a 0a 09 72 6d  .pk7..clean:..rm
0610: 20 2d 66 20 63 65 72 74 2d 2a 2e 63 72 74 20 55   -f cert-*.crt U
0620: 53 47 2d 66 65 64 65 72 61 6c 2d 62 75 6e 64 6c  SG-federal-bundl
0630: 65 2e 70 65 6d 20 55 53 47 2d 66 65 64 65 72 61  e.pem USG-federa
0640: 6c 2d 62 75 6e 64 6c 65 2e 70 6b 37 0a 09 72 6d  l-bundle.pk7..rm
0650: 20 2d 66 20 43 50 43 41 5f 54 52 43 41 2e 63 72   -f CPCA_TRCA.cr
0660: 74 2e 6e 65 77 20 72 6f 6f 74 5f 73 69 61 2e 70  t.new root_sia.p
0670: 37 62 2e 6e 65 77 20 63 61 43 65 72 74 73 49 73  7b.new caCertsIs
0680: 73 75 65 64 54 6f 66 63 70 63 61 2e 70 37 63 2e  suedTofcpca.p7c.
0690: 6e 65 77 20 43 6f 6d 6d 6f 6e 50 6f 6c 69 63 79  new CommonPolicy
06a0: 2e 63 72 74 2e 6e 65 77 0a 0a 64 69 73 74 63 6c  .crt.new..distcl
06b0: 65 61 6e 3a 20 63 6c 65 61 6e 0a 09 72 6d 20 2d  ean: clean..rm -
06c0: 66 20 43 50 43 41 5f 54 52 43 41 2e 63 72 74 20  f CPCA_TRCA.crt 
06d0: 72 6f 6f 74 5f 73 69 61 2e 70 37 62 20 63 61 43  root_sia.p7b caC
06e0: 65 72 74 73 49 73 73 75 65 64 54 6f 66 63 70 63  ertsIssuedTofcpc
06f0: 61 2e 70 37 63 20 43 6f 6d 6d 6f 6e 50 6f 6c 69  a.p7c CommonPoli
0700: 63 79 2e 63 72 74 0a 0a 2e 50 48 4f 4e 59 3a 20  cy.crt...PHONY: 
0710: 61 6c 6c 20 63 65 72 74 73 0a                    all certs.