From bd9266d121f0b40660dc33e0b04256ddaee0d222 Mon Sep 17 00:00:00 2001 From: Patrick J Volkerding Date: Fri, 18 Oct 2019 21:00:50 +0000 Subject: Fri Oct 18 21:00:50 UTC 2019 a/getty-ps-2.1.0b-x86_64-4.txz: Removed. a/lha-114i-x86_64-2.txz: Removed. Removed due to vague licensing terms. a/lhasa-0.3.1-x86_64-1.txz: Added. This is an extraction-only LHA utility with an OSI approved license. a/shadow-4.7-x86_64-2.txz: Rebuilt. Added /etc/environment.new to fix "sudo -i" noise. ap/lm_sensors-3.6.0-x86_64-1.txz: Upgraded. ap/vim-8.1.2174-x86_64-1.txz: Upgraded. l/netpbm-10.88.00-x86_64-1.txz: Upgraded. n/ca-certificates-20191018-noarch-1.txz: Upgraded. n/samba-4.11.1-x86_64-1.txz: Upgraded. xap/vim-gvim-8.1.2174-x86_64-1.txz: Upgraded. xap/xfractint-20.04p13-x86_64-2.txz: Removed. xap/xv-3.10a-x86_64-9.txz: Removed. extra/getty-ps/getty-ps-2.1.0b-x86_64-4.txz: Rebuilt. Moved here from the A series due to commercial use restrictions. extra/xfractint/xfractint-20.04p14-x86_64-1.txz: Upgraded. Moved here from the XAP series due to commercial use restrictions. extra/xv/xv-3.10a-x86_64-9.txz: Rebuilt. Moved here from the XAP series due to non-commercial use shareware license. --- source/a/getty-ps/getty-ps.SlackBuild | 92 - source/a/getty-ps/getty.bugfixes.diff | 356 - source/a/getty-ps/getty_ps-2.1.0.lsm | 26 - source/a/getty-ps/slack-desc | 19 - source/a/lha/lha.SlackBuild | 93 - source/a/lha/lha_1.14i-10.1.diff | 5901 --- source/a/lha/slack-desc | 19 - source/a/lhasa/lhasa.SlackBuild | 131 + source/a/lhasa/slack-desc | 19 + source/a/shadow/doinst.sh | 1 + source/a/shadow/environment | 6 + source/a/shadow/shadow.SlackBuild | 6 +- source/l/netpbm/netpbm.SlackBuild | 2 +- source/n/ca-certificates/certdata-20190826.txt | 23047 ---------- source/n/ca-certificates/certdata-20191018.txt | 23347 ++++++++++ source/n/samba/samba.url | 4 +- source/xap/xfractint/slack-desc | 19 - source/xap/xfractint/xfractint.SlackBuild | 147 - source/xap/xv/slack-desc | 19 - .../xv-3.10a-enhancements.20070520-20081216.diff | 293 - source/xap/xv/xv-3.10a-jumbo-README.txt | 559 - source/xap/xv/xv-3.10a-jumbo-additions.diff | 18743 -------- .../xv/xv-3.10a-jumbo-fix-enh-patch-20070520.txt | 42401 ------------------- source/xap/xv/xv-3.10a.patch | 2745 -- source/xap/xv/xv-libpng-1.5.patch | 543 - source/xap/xv/xv.SlackBuild | 96 - source/xap/xv/xv.jasper.diff | 20 - source/xap/xv/xv.prefix.diff | 11 - source/xap/xv/xv.prefix_x86_64.diff | 20 - 29 files changed, 23512 insertions(+), 95173 deletions(-) delete mode 100755 source/a/getty-ps/getty-ps.SlackBuild delete mode 100644 source/a/getty-ps/getty.bugfixes.diff delete mode 100644 source/a/getty-ps/getty_ps-2.1.0.lsm delete mode 100644 source/a/getty-ps/slack-desc delete mode 100755 source/a/lha/lha.SlackBuild delete mode 100644 source/a/lha/lha_1.14i-10.1.diff delete mode 100644 source/a/lha/slack-desc create mode 100755 source/a/lhasa/lhasa.SlackBuild create mode 100644 source/a/lhasa/slack-desc create mode 100644 source/a/shadow/environment delete mode 100644 source/n/ca-certificates/certdata-20190826.txt create mode 100644 source/n/ca-certificates/certdata-20191018.txt delete mode 100644 source/xap/xfractint/slack-desc delete mode 100755 source/xap/xfractint/xfractint.SlackBuild delete mode 100644 source/xap/xv/slack-desc delete mode 100644 source/xap/xv/xv-3.10a-enhancements.20070520-20081216.diff delete mode 100644 source/xap/xv/xv-3.10a-jumbo-README.txt delete mode 100644 source/xap/xv/xv-3.10a-jumbo-additions.diff delete mode 100644 source/xap/xv/xv-3.10a-jumbo-fix-enh-patch-20070520.txt delete mode 100644 source/xap/xv/xv-3.10a.patch delete mode 100644 source/xap/xv/xv-libpng-1.5.patch delete mode 100755 source/xap/xv/xv.SlackBuild delete mode 100644 source/xap/xv/xv.jasper.diff delete mode 100644 source/xap/xv/xv.prefix.diff delete mode 100644 source/xap/xv/xv.prefix_x86_64.diff (limited to 'source') diff --git a/source/a/getty-ps/getty-ps.SlackBuild b/source/a/getty-ps/getty-ps.SlackBuild deleted file mode 100755 index b9bccbfc9..000000000 --- a/source/a/getty-ps/getty-ps.SlackBuild +++ /dev/null @@ -1,92 +0,0 @@ -#!/bin/bash - -# Copyright 2008, 2009, 2010, 2018 Patrick J. Volkerding, Sebeka, Minnesota, USA -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -cd $(dirname $0) ; CWD=$(pwd) - -PKGNAM=getty-ps -VERSION=2.1.0b -BUILD=${BUILD:-4} - -# Automatically determine the architecture we're building on: -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) export ARCH=i586 ;; - arm*) export ARCH=arm ;; - # Unless $ARCH is already set, use uname -m for all other archs: - *) export ARCH=$( uname -m ) ;; - esac -fi - -# If the variable PRINT_PACKAGE_NAME is set, then this script will report what -# the name of the created package would be, and then exit. This information -# could be useful to other scripts. -if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then - echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz" - exit 0 -fi - -TMP=${TMP:-/tmp} -PKG=$TMP/package-getty-ps - -rm -rf $PKG -mkdir -p $TMP $PKG - -cd $TMP -tar xvf $CWD/getty_ps-$VERSION.tar.gz || exit 1 -cd getty_ps-$VERSION || exit 1 -zcat $CWD/getty.bugfixes.diff.gz | patch -p1 --verbose || exit -# Prevent "error: conflicting types for 'send'" -# because send is already defined in -sed -i -e "s/send/gettysend/g" funcs.c -chown -R root:root . -make clean || exit 1 -rm getty uugetty -make || exit 1 -strip getty uugetty -mkdir $PKG/sbin -cat getty > $PKG/sbin/getty -cat uugetty > $PKG/sbin/uugetty -chmod 755 $PKG/sbin/* -mkdir $PKG/etc -cat Examples/gettydefs > $PKG/etc/gettydefs -#cat Examples/ttytype > $PKG/etc/ttytype -mkdir $PKG/etc/default -cp -a Examples/default/* $PKG/etc/default -chown root:root $PKG/etc/default/* -mkdir -p $PKG/usr/man/man1 -cat man/getty.1 | gzip -9c > $PKG/usr/man/man1/getty.1.gz -( cd $PKG/usr/man/man1 ; ln -sf getty.1.gz uugetty.1.gz ) -mkdir -p $PKG/usr/man/man5 -cat man/gettydefs.5 | gzip -9c > $PKG/usr/man/man5/gettydefs.5.gz -mkdir -p $PKG/usr/doc/getty-ps-$VERSION -cp -a \ - ANNOUNCE ChangeLog README.* Examples *.lsm INSTALL \ - $PKG/usr/doc/getty-ps-$VERSION -find $PKG/usr/doc/getty-ps-$VERSION -type d -exec chmod 755 {} \+ -find $PKG/usr/doc/getty-ps-$VERSION -type f -exec chmod 644 {} \+ -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -# Build the package: -cd $PKG -makepkg -l y -c n $TMP/getty-ps-$VERSION-$ARCH-$BUILD.txz - diff --git a/source/a/getty-ps/getty.bugfixes.diff b/source/a/getty-ps/getty.bugfixes.diff deleted file mode 100644 index dd2e48585..000000000 --- a/source/a/getty-ps/getty.bugfixes.diff +++ /dev/null @@ -1,356 +0,0 @@ -This patch contains the following bugfixes: - -* the TIMEOUT (and -t flag) has now different effect for getty and uugetty: - with uugetty, TIMEOUT set will now cause uugetty exit no matter whether - there has been any input from the user (the counting will start immediately - after login() has been spawned - pre- getty-2.1.0 behavior), while for - getty, it will make the counter start after single input has been detected - from the user - * getty.1 manpage updated accordingly - -* @F issue substitution now works as expected - -* @V / VERSION functionality documentation fix in getty.1 manpage - -* fixed a bunch of memleaks (if not all): - * Fputs() made strdup()-free (we now use static structs where possible) - * avoided unnecessary dual strdup() for Version in defs() - * freeing of "DEF **def" including its internals is now handled, as well as - feeing of other variables in defs() pointing to strdup()ed memory areas - -Jan Rafaj - ---- ./man/getty.1.orig 2002-09-13 09:05:03.000000000 +0200 -+++ ./man/getty.1 2005-07-21 10:24:53.000000000 +0200 -@@ -307,7 +307,18 @@ - to exit (which - .I init - should then respawn), if the login is not completed within timeout seconds --(after the login name is entered) -+(after the login name is entered). This option behaves differently for -+.I getty -+and -+.I uugetty. -+If -+.I getty -+is used, the counting will start after single input from the user has been -+detected, whileas with -+.I uugetty, -+the counting will start immediately after -+.IR login (1m) -+has been spawned, no matter the input from the user. - - Giving - .B \-w -@@ -388,9 +399,12 @@ - If - .I string - begins with a '/' character, it is assumed to be the full pathname of a --file, and -+text file, and - .B @V --is set to be the contents of that file. The default is /proc/version. -+is set to be the contents of the first line in that file (line has to be -+terminated by newline character or by end of file). -+.br -+The default is /proc/version. - .TP - LOGIN=\fIname\fR - Sets the name of the login program to -@@ -503,6 +517,14 @@ - to exit if no user name is accepted before the - .I number - of seconds elapse after the login prompt is displayed. -+With -+.I getty, -+the counting will start as soon as a single character -+has been entered by the user, whileas with -+.I uugetty, -+the counting will start immediately after the login prompt -+is displayed, no matter the input from the user. -+.br - The default is to wait indefinitely for the user name. - .TP - CONNECT=\fIstring\fR -@@ -865,6 +887,11 @@ - .IR cu (1) - and others). This prevents two or more processes from having conficting - use of a tty port. -+.br -+.I Uugetty -+also differs from -+.I getty -+by handling the -t parameter and TIMEOUT option. - .PP - When - .I uugetty ---- ./main.c.orig 2004-04-11 03:34:34.000000000 +0200 -+++ ./main.c 2005-07-21 11:37:19.000000000 +0200 -@@ -78,6 +78,8 @@ - void debugstart(); - #endif /* DEBUG */ - -+DEF **def; -+ - /* trivial globals */ - - char buf[MAXLINE]; -@@ -86,7 +88,7 @@ - char tbuf[64]; - - #define Perror(s) { debug(D_INIT, "Line %d: %s: Error %d: %s\n", \ -- __LINE__, s, errno, sys_errlist[errno]); \ -+ __LINE__, s, errno, strerror(errno)); \ - exit(errno); \ - } - -@@ -149,6 +151,50 @@ - } - } - -+/* -+ * Why a lot of programmers ignore the fact that memory area returned -+ * by strdup() and *alloc() has to be freed upon exit? :(( -JR -+ */ -+void free_def(void) -+{ -+ register DEF **deflist = def; -+ -+ for (; *deflist != (DEF *)NULL; deflist++) { -+ free((*deflist)->name); -+ free((*deflist)->value); -+ free(*deflist); -+ } -+} -+ -+void free_sysname(void) -+{ -+ if (SysName) -+ free(SysName); -+ SysName = NULL; -+} -+ -+void free_version(void) -+{ -+ if (Version && defvalue(def, "VERSION")) -+ free(Version); -+ Version = NULL; -+} -+ -+#ifdef UUGETTY -+void free_lock(void) -+{ -+ if (lock) -+ free(lock); -+ lock = NULL; -+} -+ -+void free_altlock(void) -+{ -+ if (altlock) -+ free(altlock); -+ altlock = NULL; -+} -+#endif - - /* - ** main -@@ -320,7 +366,6 @@ - char **args; - { - register int c; -- DEF **def; - char *p; - char termcap[1024]; - -@@ -416,22 +461,27 @@ - /* now, get all that info in the defaults file */ - - def = defbuild(defname); -+ atexit(free_def); - #ifdef DEBUG - if ((p = defvalue(def, "DEBUG"))) (void) sscanf(p, "%o", &Debug); - if (Debug) debugstart(); - #endif /* DEBUG */ - SysName = strdup(getuname()); -+ atexit(free_sysname); - if (p = defvalue(def, "SYSTEM")) SysName = p; -- if (p = defvalue(def, "VERSION")) -- Version = strdup(p); -- if (*Version == '/') -- { if ((fp = fopen(Version, "r"))) -- { fgets(buf, MAXLINE, fp); -- fclose(fp); -- buf[strlen(buf)-1] = '\0'; -- Version = strdup(buf); -+ if (p = defvalue(def, "VERSION")) { -+ if (*p == '/') { -+ if ((fp = fopen(p, "r"))) { -+ fgets(buf, MAXLINE, fp); -+ fclose(fp); -+ buf[strlen(buf)-1] = '\0'; -+ Version = strdup(buf); - } -- } -+ } else { -+ Version = strdup(p); -+ } -+ atexit(free_version); -+ } - if((p = defvalue(def, "LOGIN"))) login_pgm = p; - if((p = defvalue(def, "ISSUE"))) issue = p; - if((p = defvalue(def, "CLEAR")) && (strequal(p, "NO"))) -@@ -489,12 +539,15 @@ - #ifdef UUGETTY - (void) sprintf(buf, LOCK, Device); - lock = strdup(buf); -+ atexit(free_lock); - if((p = defvalue(def, "ALTLOCK"))) { - (void) sprintf(buf, LOCK, p); - altlock = strdup(buf); -+ atexit(free_altlock); - } else if(! strequal(Device, InitDevice)) { - (void) sprintf(buf, LOCK, InitDevice); - altlock = strdup(buf); -+ atexit(free_altlock); - } - - debug(D_LOCK, "lock = (%s), altlock = (%s)", lock, altlock); -@@ -625,8 +678,8 @@ - with the uts struct filled above. - */ - -- debug(D_UTMP, "adding utmp entry: type: %d, pid: %d, line: %s, -- id: %c%c, time: %d, user: %s, host: %s, addr: %d", -+ debug(D_UTMP, "adding utmp entry: type: %d, pid: %d, line: %s, " -+ "id: %c%c, time: %d, user: %s, host: %s, addr: %d", - uts.ut_type, uts.ut_pid, uts.ut_line, - (uts.ut_id[0] ? uts.ut_id[0] : ' '), - (uts.ut_id[1] ? uts.ut_id[1] : ' '), -@@ -1077,16 +1130,20 @@ - login_prompt: - (void) ioctl(STDIN, TCFLSH, 0); - #ifdef FIDO -- if (emsi && (strcmp(emsi,"yes") == 0)) -- (void) Fputs("**EMSI_REQA77E\r", stdout); -+ if (emsi && (strcmp(emsi,"yes") == 0)) -+ (void) Fputs("**EMSI_REQA77E\r", stdout); - #endif - (void) Fputs(gtab->login, stdout); -- -+#ifndef UUGETTY - login_result=getlogname(&termio, buf, MAXLINE); -+#endif - if(TimeOut > 0) { - (void) signal(SIGALRM, timeout); - (void) alarm((unsigned) TimeOut); - } -+#ifdef UUGETTY -+ login_result=getlogname(&termio, buf, MAXLINE); -+#endif - - switch(login_result) { - #ifdef FIDO -@@ -1114,6 +1171,13 @@ - #ifdef SETTERM - setenv("TERM", term, TRUE); - #endif /* SETTERM */ -+ free_def(); -+ free_sysname(); -+ free_version(); -+#ifdef UUGETTY -+ free_lock(); -+ free_altlock(); -+#endif - debug(D_RUN, "execing login"); - (void) execl(login_pgm, - "login", buf, NULLPTR); ---- ./funcs.c.orig 2002-09-25 08:43:28.000000000 +0200 -+++ ./funcs.c 2005-07-20 19:01:55.000000000 +0200 -@@ -87,12 +87,11 @@ - register char *s; - register FILE *stream; - { -- char c, n, tbuf[20], ubuf[MAXBUF]; -- char *cbuf; -+ char c, n, tbuf[20]; - time_t clock; - struct tm *lt; -- struct utsname utsbuf; -- struct hostent *fqdname; -+ static struct utsname utsbuf; -+ static struct hostent *fqdname; - FILE *fp1; - - char *day_name[] = { "Sun", "Mon", "Tue", "Wed", "Thur", "Fri", "Sat" }; -@@ -119,21 +118,8 @@ - return(EOF); - break; - case 'F': /* FQDName */ -- cbuf = strdup(SysName); --#if 0 /* The does a seg violation - no idea why.... */ - fqdname = gethostbyname(SysName); --#endif --#if 0 /* So, we cheat.....! */ -- /* Which also gets a seg violation! */ -- if (fp1 = fopen("/etc/HOSTNAME", "r")) -- { fgets(cbuf, MAXBUF, fp1); -- fclose(fp1); -- cbuf[strlen(cbuf)] = '\0'; -- } -- if (fqdname != NULL) -- cbuf = strdup(fqdname->h_name); --#endif -- if (Fputs(cbuf, stream) == EOF) -+ if (fqdname && Fputs(fqdname->h_name, stream) == EOF) - return(EOF); - break; - case 'L': /* line */ -@@ -141,18 +127,15 @@ - return(EOF); - break; - case 'M': /* arch of machine */ -- cbuf = strdup(utsbuf.machine); -- if (Fputs(cbuf, stream) == EOF) -+ if (Fputs(utsbuf.machine, stream) == EOF) - return(EOF); - break; - case 'O': /* O/S name */ -- cbuf = strdup(utsbuf.sysname); -- if (Fputs(cbuf, stream) == EOF) -+ if (Fputs(utsbuf.sysname, stream) == EOF) - return(EOF); - break; - case 'R': /* O/S rev_id */ -- cbuf = strdup(utsbuf.release); -- if (Fputs(cbuf, stream) == EOF) -+ if (Fputs(utsbuf.release, stream) == EOF) - return(EOF); - break; - case 'S': /* system node name */ -@@ -166,8 +149,8 @@ - return(EOF); - break; - case 'U': /* number of active users */ -- (void) sprintf(ubuf, "%d", Nusers); -- if (Fputs(ubuf, stream) == EOF) -+ (void) sprintf(tbuf, "%d", Nusers); -+ if (Fputs(tbuf, stream) == EOF) - return(EOF); - break; - case 'V': /* version */ -@@ -175,12 +158,10 @@ - return(EOF); - break; - case 'u': /* user count str */ -- cbuf = malloc(20); - (void) sprintf(tbuf, "%d User", Nusers); - if (Nusers > 1) -- cbuf = strcat(tbuf,"s"); -- else cbuf=strdup(tbuf); -- if (Fputs(cbuf, stream) == EOF) -+ strcat(tbuf, "s"); -+ if (Fputs(tbuf, stream) == EOF) - return(EOF); - break; - case '@': /* in case '@@' was used */ diff --git a/source/a/getty-ps/getty_ps-2.1.0.lsm b/source/a/getty-ps/getty_ps-2.1.0.lsm deleted file mode 100644 index b89d9f50f..000000000 --- a/source/a/getty-ps/getty_ps-2.1.0.lsm +++ /dev/null @@ -1,26 +0,0 @@ -Begin4 -Title: getty-ps -Version: 2.1.0 -Entered-date: 27SEP02 -Description: A versatile getty/uugetty program designed to allow easy - use of a modem for incoming/outgoing data/fax/voice calls. - It also allows easy set-up of regular login ports. Unlike - agetty, it stores most of it's configuration and port - initialization information in up to 2 files. This usually - results in slightly more involved initial installation, but - easier maintenance than agetty. It also leaves the - inittab entries looking uncluttered. Supports 57600 and - faster speeds, and is compatible with uucp and efax-0.9[a]. - Ringback is provided as an optional feature. -Keywords: getty uugetty serial modem ringback efax uucp -Author: Paul Sutcliffe, Jr. -Maintained-by: Christine Jamison -Primary-site: ftp.ibiblio.org:/pub/Linux/system/serial/getty_ps-2.1.0.tar.gz -Alternate-site: ftp.nwmagic.net:/pub/sources/getty_ps-2.1.0.tar.gz -Original-site: Unknown -Platforms: Linux (tested on 1.0.x-2.4.5, Slackware 4.0 thru 8.1); should - compile and work on almost any Unix, after library - compatibility is resolved and paths are checked in tune.h; - compiles clean with gcc 2.7.2.3 & 2.95.3. -Copying-policy: FRS -End diff --git a/source/a/getty-ps/slack-desc b/source/a/getty-ps/slack-desc deleted file mode 100644 index 3d07adb0b..000000000 --- a/source/a/getty-ps/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. Line -# up the first '|' above the ':' following the base package name, and the '|' -# on the right side marks the last column you can put a character in. You must -# make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':'. - - |-----handy-ruler------------------------------------------------------| -getty-ps: getty-ps (console or terminal login) -getty-ps: -getty-ps: /sbin/getty and /sbin/uugetty. -getty-ps: These control the process of logging into your system, and may be used -getty-ps: instead of 'agetty', which is the default getty included with the -getty-ps: util-linux package. getty-ps supports a number of enhancements such as -getty-ps: ringback support. -getty-ps: -getty-ps: getty-ps was originally written by Paul Sutcliffe, Jr, and is -getty-ps: currently maintained by Christine Jamison. -getty-ps: diff --git a/source/a/lha/lha.SlackBuild b/source/a/lha/lha.SlackBuild deleted file mode 100755 index 7efdd90bb..000000000 --- a/source/a/lha/lha.SlackBuild +++ /dev/null @@ -1,93 +0,0 @@ -#!/bin/bash - -# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, Minnesota, USA -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -cd $(dirname $0) ; CWD=$(pwd) - -PKGNAM=lha -VERSION=114i -BUILD=${BUILD:-2} - -# Automatically determine the architecture we're building on: -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) export ARCH=i586 ;; - arm*) export ARCH=arm ;; - # Unless $ARCH is already set, use uname -m for all other archs: - *) export ARCH=$( uname -m ) ;; - esac -fi - -# If the variable PRINT_PACKAGE_NAME is set, then this script will report what -# the name of the created package would be, and then exit. This information -# could be useful to other scripts. -if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then - echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz" - exit 0 -fi - -TMP=${TMP:-/tmp} -PKG=$TMP/package-lha - -rm -rf $PKG -mkdir -p $TMP $PKG - -cd $TMP -rm -rf lha-114i -tar xzvf $CWD/lha-114i.tar.gz -cd lha-114i -zcat $CWD/lha_1.14i-10.1.diff.gz | patch -p1 --verbose || exit 1 -patch -p0 < debian/patch.paul -patch -p0 < debian/patch.multibyte -patch -p0 < debian/patch.CAN-2004-0234_0235 -patch -p0 < debian/patch.header-overflow -patch -p1 < debian/patch.redhat-sec2 -patch -p1 < debian/patch.CVE-2006-4335-CVE-2006-4337-CVE-2006-4338 -chown -R root:root . -make || exit 1 -mkdir -p $PKG/usr/bin -cat src/lha > $PKG/usr/bin/lha -chmod 755 $PKG/usr/bin/lha -mkdir -p $PKG/usr/man/man1 -cat debian/lha.1 | gzip -9 > $PKG/usr/man/man1/lha.1.gz -mkdir -p $PKG/usr/man/jp/man1 -cat man/lha.man | gzip -9 > $PKG/usr/man/jp/man1/lha.1.gz -mkdir -p $PKG/usr/doc/lha-114i -cp -a \ - change-${VERSION}.txt \ - $PKG/usr/doc/lha-${VERSION} -mkdir -p $PKG/usr/doc/lha-${VERSION}/jp -cp -a *.euc \ - $PKG/usr/doc/lha-${VERSION}/jp -chmod 644 $PKG/usr/man/jp/man1/* - -( cd $PKG - find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null - find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null -) - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -# Build the package: -cd $PKG -makepkg -l y -c n $TMP/lha-$VERSION-$ARCH-$BUILD.txz - diff --git a/source/a/lha/lha_1.14i-10.1.diff b/source/a/lha/lha_1.14i-10.1.diff deleted file mode 100644 index cc32c4a67..000000000 --- a/source/a/lha/lha_1.14i-10.1.diff +++ /dev/null @@ -1,5901 +0,0 @@ ---- lha-1.14i.orig/src/lha_macro.h -+++ lha-1.14i/src/lha_macro.h -@@ -7,7 +7,7 @@ - /* Ver. 1.14g modified 2000.05.06 T.OKAMOTO */ - /* ------------------------------------------------------------------------ */ - --#define LHA_VERSION "lha for unix version 1.14g" -+#define LHA_VERSION "lha for unix version 1.14i" - - /* Most of System V, define SYSTIME_HAS_NO_TM */ - #ifdef SYSTIME_HAS_NO_TM ---- lha-1.14i.orig/man/lha.n -+++ lha-1.14i/man/lha.n -@@ -9,7 +9,7 @@ - ] - .I archive_file - [ --.I flie -+.I file - \&.\|.\|. ] - .br - .B lha ---- lha-1.14i.orig/man/lha.man -+++ lha-1.14i/man/lha.man -@@ -1,324 +1,224 @@ -+LHA(N) LHa for UNIX Users Manual LHA(N) - - --LHA(N) Unix Programmer's Manual LHA(N) - -+NNAAMMEE ̾̾¾Î¾Î -+ LHa - ¹â°µ½Ì¥¢¡¼¥«¥¤¥Ð - --NNNAAAMMMEEE ̾̾̾¾Î¾Î¾Î -- LHa - ¹â°µ½Ì¥¢¡¼¥«¥¤¥Ð -+SSYYNNOOPPSSIISS ·Á·Á¼°¼° -+ llhhaa kkeeyy [ mmooddiiffiieerrss ] _a_r_c_h_i_v_e___f_i_l_e [ _f_i_l_e ... ] -+ llhhaa _a_r_c_h_i_v_e___f_i_l_e - --SSSYYYNNNOOOPPPSSSIIISSS ·Á·Á·Á¼°¼°¼° -- lllhhhaaa kkkeeeyyy [ mmmooodddiiifffiiieeerrrsss ] _a_r_c_h_i_v_e__f_i_l_e [ _f_l_i_e ... ] -- lllhhhaaa _a_r_c_h_i_v_e__f_i_l_e -+DDEESSCCRRIIPPTTIIOONN ²ò²òÀâÀâ -+ LLHHaa ¤Ï¸úΨ¤Î¹â¤¤°µ½Ìµ¡Ç½¤ò»ý¤Ä¥Õ¥¡¥¤¥ë¥¢¡¼¥«¥¤¥Ð¤Ç¤¹¡£ -+ kkeeyy ¤Ëµ¡Ç½Ê¸»ú¤ò»ØÄꤷ¡¢file ¤ÎÄɲᢹ¹¿·¡¢Ãê½Ð¡¢ºï½ü¡¢°ìÍ÷ɽ¼¨¤Ê¤É¤ò¹Ô -+ ¤Ê¤¤¤Þ¤¹¡£°ú¿ô¤Ë archive_file ¤Î¤ß¤ò»ØÄꤷ¤¿¾ì¹ç¤Ë¤Ï¡¢µ¡Ç½Ê¸»ú¤Ë l ¤ò»Ø -+ Äꤷ¤¿¤Î¤ÈƱÅù¤ÎÆ°ºî¤ò¹Ô¤Ê¤¤¤Þ¤¹¡£ -+ µ¡Ç½Ê¸»ú¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£ - --DDDEEESSSCCCRRRIIIPPPTTTIIIOOONNN ²ò²ò²òÀâÀâÀâ -- LLLHHHaaa ¤Ï¸úΨ¤Î¹â¤¤°µ½Ìµ¡Ç½¤ò»ý¤Ä¥Õ¥¡¥¤¥ë¥¢¡¼¥«¥¤¥Ð¤Ç¤¹¡£ -- kkkeeeyyy ¤Ëµ¡Ç½Ê¸»ú¤ò»ØÄꤷ¡¢file ¤ÎÄɲᢹ¹¿·¡¢Ãê½Ð¡¢ºï½ü¡¢°ì -- Í÷ɽ¼¨¤Ê¤É¤ò¹Ô¤Ê¤¤¤Þ¤¹¡£°ú¿ô¤Ë archive_file ¤Î¤ß¤ò»ØÄꤷ¤¿ -- ¾ì¹ç¤Ë¤Ï¡¢µ¡Ç½Ê¸»ú¤Ë l ¤ò»ØÄꤷ¤¿¤Î¤ÈƱÅù¤ÎÆ°ºî¤ò¹Ô¤Ê¤¤¤Þ -- ¤¹¡£ -- µ¡Ç½Ê¸»ú¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¹¡£ -+ aa Äɲá£file ¤ò archive_file ¤ËÄɲä·¤Þ¤¹¡£ file ¤¬¥Ç¥£¥ì¥¯¥È¥ê¤Ç -+ ¤¢¤ì¤Ð¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë´Þ¤Þ¤ì¤ë¥Õ¥¡¥¤¥ë¤ò¤¹¤Ù¤ÆÄɲä·¤Þ¤¹¡£ - -- aaa Äɲá£file ¤ò archive_file ¤ËÄɲä·¤Þ¤¹¡£file ¤¬¥Ç -- ¥£¥ì¥¯¥È¥ê¤Ç¤¢¤ì¤Ð¡¢¤½¤Î¥Ç¥£¥ì¥¯¥È¥ê¤Ë´Þ¤Þ¤ì¤ë¥Õ¥¡ -- ¥¤¥ë¤ò¤¹¤Ù¤ÆÄɲä·¤Þ¤¹¡£ -+ uu ¹¹¿·¡£file ¤¬ archive_file ¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¡¢¤â¤·¤¯¤Ï³ÊǼ¤µ -+ ¤ì¤Æ¤¤¤ë¤â¤Î¤¬¸Å¤±¤ì¤Ð¡¢file ¤ò archive_file ¤ËÄɲä·¤Þ¤¹¡£ - -- uuu ¹¹¿·¡£file ¤¬ archive_file ¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¡¢ -- ¤â¤·¤¯¤Ï³ÊǼ¤µ¤ì¤Æ¤¤¤ë¤â¤Î¤¬¸Å¤±¤ì¤Ð¡¢file ¤ò -- archive_file ¤ËÄɲä·¤Þ¤¹¡£ -+ ll ¤Þ¤Þ¤¿¤¿¤Ï¤Ï vv -+ °ìÍ÷ɽ¼¨¡£archive_file ¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë file ¤Î¾ðÊó¤ò°ìÍ÷ɽ¼¨¤· -+ ¤Þ¤¹¡£file ¤Î»ØÄ꤬¤Ê¤±¤ì¤Ð archive_file Æâ¤ÎÁ´¤Æ¤Î¥Õ¥¡¥¤¥ë¤Î¾ð -+ Êó ¤ò ɽ ¼¨¤·¤Þ¤¹¡£ v ¤ò»ØÄꤹ¤ë¤È l ¤è¤ê¤â¾Ü¤·¤¤¾ðÊó¤òɽ¼¨¤·¤Þ -+ ¤¹¡£ - -- lll ¤Þ¤Þ¤Þ¤¿¤¿¤¿¤Ï¤Ï¤Ï vvv -- °ìÍ÷ɽ¼¨¡£archive_file ¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ë file ¤Î¾ð -- Êó¤ò°ìÍ÷ɽ¼¨¤·¤Þ¤¹¡£file ¤Î»ØÄ꤬¤Ê¤±¤ì¤Ð -- archive_file Æâ¤ÎÁ´¤Æ¤Î¥Õ¥¡¥¤¥ë¤Î¾ðÊó¤òɽ¼¨¤·¤Þ¤¹ -- ¡£v ¤ò»ØÄꤹ¤ë¤È l ¤è¤ê¤â¾Ü¤·¤¤¾ðÊó¤òɽ¼¨¤·¤Þ¤¹¡£ -+ xx ¤Þ¤Þ¤¿¤¿¤Ï¤Ï ee -+ Ãê½Ð¡£archive_file ¤«¤é file ¤òÃê½Ð¤·¤Þ¤¹¡£file ¤Î»ØÄ꤬¤Ê¤± ¤ì -+ ¤Ð archive_file Æâ¤ÎÁ´¤Æ¤Î¥Õ¥¡¥¤¥ë¤òÃê½Ð¤·¤Þ¤¹¡£Ãê½Ð¤¹¤Ù¤­¥Õ¥¡ -+ ¥¤¥ë¤¬¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤ë¾ì¹ç¤Ë¤Ï¡¢½Å¤Í½ñ¤­¤·¤Æ¤¤¤¤¤«¤ÎÌ䤤¹ç ¤ï -+ ¤»¤ò¹Ô¤Ê¤¤¤Þ¤¹¡£ - -- xxx ¤Þ¤Þ¤Þ¤¿¤¿¤¿¤Ï¤Ï¤Ï eee -- Ãê½Ð¡£archive_file ¤«¤é file ¤òÃê½Ð¤·¤Þ¤¹¡£file ¤Î -- »ØÄ꤬¤Ê¤±¤ì¤Ð archive_file Æâ¤ÎÁ´¤Æ¤Î¥Õ¥¡¥¤¥ë¤òÃê -- ½Ð¤·¤Þ¤¹¡£Ãê½Ð¤¹¤Ù¤­¥Õ¥¡¥¤¥ë¤¬¤¹¤Ç¤Ë¸ºß¤·¤Æ¤¤¤ë¾ì -- ¹ç¤Ë¤Ï¡¢½Å¤Í½ñ¤­¤·¤Æ¤¤¤¤¤«¤ÎÌ䤤¹ç¤ï¤»¤ò¹Ô¤Ê¤¤¤Þ¤¹ -- ¡£ -+ pp ÆâÍÆɽ¼¨¡£archive_file ¤«¤é file ¤ÎÆâÍƤò¼è¤ê½Ð¤·¡¢É¸½à½ÐÎÏ¤Ø¤È -+ ½ÐÎϤ·¤Þ¤¹¡£file ¤Î»ØÄ꤬¤Ê¤±¤ì¤Ð¡¢Á´¤Æ¤ÎÆâÍƤò½ÐÎϤ·¤Þ¤¹¡£ - -- ppp ÆâÍÆɽ¼¨¡£archive_file ¤«¤é file ¤ÎÆâÍƤò¼è¤ê½Ð¤· -- ¡¢É¸½à½ÐÎϤؤȽÐÎϤ·¤Þ¤¹¡£file ¤Î»ØÄ꤬¤Ê¤±¤ì¤Ð¡¢ -- Á´¤Æ¤ÎÆâÍƤò½ÐÎϤ·¤Þ¤¹¡£ -+ dd ºï½ü¡£archive_file ¤«¤é file ¤òºï½ü¤·¤Þ¤¹¡£ - -- ddd ºï½ü¡£archive_file ¤«¤é file ¤òºï½ü¤·¤Þ¤¹¡£ -+ mm °ÜÆ°¡£file ¤ò archive_file ¤ËÄɲä·¤¿¸å¡¢file ¤òºï½ü¤·¤Þ¤¹¡£ ¤³ -+ ¤ì ¤Ï¡¢key ¤Ë a ¤ò¡¢modifiers ¤Ë d ¤ò»ØÄꤷ¤¿»þ¤ÈƱ¤¸Æ°ºî¤ò¹Ô¤Ê -+ ¤¤¤Þ¤¹¡£ - -- mmm °ÜÆ°¡£file ¤ò archive_file ¤ËÄɲä·¤¿¸å¡¢file ¤òºï -- ½ü¤·¤Þ¤¹¡£¤³¤ì¤Ï¡¢key ¤Ë a ¤ò¡¢modifiers ¤Ë d ¤ò»Ø -- Äꤷ¤¿»þ¤ÈƱ¤¸Æ°ºî¤ò¹Ô¤Ê¤¤¤Þ¤¹¡£ -+ cc ¿·µ¬ºîÀ®¡£archive_file ¤ò¿·¤¿¤ËºîÀ®¤·¡¢file ¤òÄɲä·¤Þ¤¹¡£ - -+ µ¡Ç½Êѹ¹Ê¸»ú modifiers ¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤Ã¤Æ key ¤ÎÆ°ºî¤Î¾ÜºÙ¤òÊѹ¹ ¤¹ -+ ¤ë ¤³ ¤È ¤¬¤Ç¤­¤Þ¤¹¡£modifiers ¤Ï¡¢°Ê²¼¤ÎÃ椫¤éÊ£¿ô»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ -+ ¤¹¡£ - -- January 14,1997 1 - - -+ qq<> ɽ¼¨¤ÎÍÞÀ©¡£ÂÐÏÃŪ¤Ê¥á¥Ã¥»¡¼¥¸¤Îɽ¼¨¤òÍÞÀ©¤·¤Þ¤¹¡£ ¤ÎÃÍ¤Ë -+ ¤è¤Ã¤Æ¡¢INDICATOR ¤Îɽ¼¨ÊýË¡¤òÊѹ¹¤Ç¤­¤Þ¤¹¡£ - --LHA(N) Unix Programmer's Manual LHA(N) -+ qq00 oooo........ ¤Î¤Îɽɽ¼¨¼¨¤ò¤ò¹Ô¹Ô¤Ê¤Ê¤¦¤¦¡£¡£ - -+ qq11 ¥Õ¥Õ¥¡¥¡¥¤¥¤¥ë¥ë̾̾ɽɽ¼¨¼¨¤Î¤Î¤ß¤ß¹Ô¹Ô¤Ê¤Ê¤¦¤¦¡£¡£ - -- ccc ¿·µ¬ºîÀ®¡£archive_file ¤ò¿·¤¿¤ËºîÀ®¤·¡¢file ¤òÄɲà -- ¤·¤Þ¤¹¡£ -+ qq22 ²¿²¿¤â¤âɽɽ¼¨¼¨¤·¤·¤Ê¤Ê¤¤¤¤¡£¡£ - -- µ¡Ç½Êѹ¹Ê¸»ú modifiers ¤ò»ØÄꤹ¤ë¤³¤È¤Ë¤è¤Ã¤Æ key ¤ÎÆ°ºî¤Î -- ¾ÜºÙ¤òÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£modifiers ¤Ï¡¢°Ê²¼¤ÎÃ椫¤éÊ£ -- ¿ô»ØÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£ -+ ¤Ê¤ª¡¢ÃͤòÆþÎϤ·¤Ê¤«¤Ã¤¿ºÝ¤Ë¤Ï¡¢q2 ¤ÈƱÅù¤Ë¤Ê¤ê¤Þ¤¹¡£ - -+ vv ɽ¼¨¤Î¾éĹ²½¡£É½¼¨¤¹¤ë¥á¥Ã¥»¡¼¥¸¤ò¾éŤˤ·¤Þ¤¹¡£ - -+ nn ¼Â¹Ô¤·¤Ê¤¤¡£¼ÂºÝ¤Î¹¹¿·¤äÃê½Ð¤ÎÆ°ºî¤ò¹Ô¤Ê¤¤¤Þ¤»¤ó¡£¼Â¹ÔÆâÍƤγΠ-+ ǧ¤Î¤¿¤á¤ËÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ - -- qqq<<>> ɽ¼¨¤ÎÍÞÀ©¡£ÂÐÏÃŪ¤Ê¥á¥Ã¥»¡¼¥¸¤Îɽ¼¨¤òÍÞÀ©¤·¤Þ¤¹¡£ -- ¤ÎÃͤˤè¤Ã¤Æ¡¢INDICATOR ¤Îɽ¼¨ÊýË¡¤òÊѹ¹¤Ç¤­ -- ¤Þ¤¹¡£ -+ ff ¶¯À©Åª¤Ê¼Â¹Ô¡£¥Õ¥¡¥¤¥ë¤ÎÃê½Ð»þ¤Ë¡¢Â¸ºß¤¹¤ë¥Õ¥¡¥¤¥ë¤Îºï½ü³Îǧ ¤ò -+ ¹Ô¤Ê¤ï¤º¶¯À©Åª¤Ëºï½ü¤ò¹Ô¤Ê¤¤¤Þ¤¹¡£ - -- qqq000 oooooo............ ¤Î¤Î¤Îɽɽɽ¼¨¼¨¼¨¤ò¤ò¤ò¹Ô¹Ô¹Ô¤Ê¤Ê¤Ê¤¦¤¦¤¦¡£¡£¡£ -+ tt ¥Æ¥­¥¹¥È¥â¡¼¥É¤Ë¤è¤ë³ÊǼ,Ãê½Ð¡£¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤Ø¤Î¥Õ¥¡¥¤¥ë¤Î -+ ³ÊǼ»þ¤Ë¤Ï¡¢ UNIX ¤«¤é MS-DOS ¤Ø¤Î²þ¹Ô¥³¡¼¥ÉÊÑ´¹¤ò¹Ô¤Ê¤¤¤Þ ¤¹¡£ -+ ¥Õ¥¡¥¤¥ë¤ÎÃê½Ð»þ¤Ë¤ÏµÕ¤Ë¡¢MS-DOS ¤«¤é UNIX ¤Ø¤Î²þ¹Ô¥³¡¼¥ÉÊÑ´¹¤ò -+ ¹Ô¤Ê¤¤¤Þ¤¹¡£ - -- qqq111 ¥Õ¥Õ¥Õ¥¡¥¡¥¡¥¤¥¤¥¤¥ë¥ë¥ë̾̾̾ɽɽɽ¼¨¼¨¼¨¤Î¤Î¤Î¤ß¤ß¤ß¹Ô¹Ô¹Ô¤Ê¤Ê¤Ê¤¦¤¦¤¦¡£¡£¡£ -+ oo{{nnuumm}} LHarc ¸ß´¹¥¢¡¼¥«¥¤¥Ö¤ÎÀ¸À®¡¢¤Þ¤¿¤Ï°µ½Ì¥¢¥ë¥´¥ê¥º¥à¤ò»ØÄꤹ ¤ë¡£ -+ µ¡Ç½Ê¸»ú a, u, m ¤È¶¦¤Ë»ØÄꤷ¡¢Ãê½Ð»þ¤Ë¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£ - -- qqq222 ²¿²¿²¿¤â¤â¤âɽɽɽ¼¨¼¨¼¨¤·¤·¤·¤Ê¤Ê¤Ê¤¤¤¤¤¤¡£¡£¡£ -+ oo LLHHaarrcc ¸ß¸ß´¹´¹¥¢¥¢¡¼¡¼¥«¥«¥¤¥¤¥Ö¥Ö¤Î¤ÎÀ¸À¸À®À®¤ò¤ò¹Ô¹Ô¤¦¤¦¡£¡£ - -- ¤Ê¤ª¡¢ÃͤòÆþÎϤ·¤Ê¤«¤Ã¤¿ºÝ¤Ë¤Ï¡¢q2 ¤ÈƱÅù¤Ë¤Ê¤ê¤Þ -- ¤¹¡£ -+ ¸Å ¤¤ ·Á ¼° ¤Î ¥¢¡¼ ¥«¥¤¥Ö¤òÀ¸À®¤·¤Þ¤¹¡£°µ½Ì¥¢¥ë¥´¥ê¥º¥à -+ ¤Ï-lh1-¤ò»ÈÍѤ·¤Þ¤¹¡£ - -- vvv ɽ¼¨¤Î¾éĹ²½¡£É½¼¨¤¹¤ë¥á¥Ã¥»¡¼¥¸¤ò¾éŤˤ·¤Þ¤¹¡£ -+ oo55 °µ°µ½Ì½Ì¥¢¥¢¥ë¥ë¥´¥´¥ê¥ê¥º¥º¥à¥à¤Ë¤Ë --llhh55-- ¤ò¤ò»È»ÈÍÑÍѤ¹¤¹¤ë¤ë¡£¡£ - -- nnn ¼Â¹Ô¤·¤Ê¤¤¡£¼ÂºÝ¤Î¹¹¿·¤äÃê½Ð¤ÎÆ°ºî¤ò¹Ô¤Ê¤¤¤Þ¤»¤ó¡£ -- ¼Â¹ÔÆâÍƤγÎǧ¤Î¤¿¤á¤ËÍÑ°Õ¤µ¤ì¤Æ¤¤¤Þ¤¹¡£ -+ oo66 °µ°µ½Ì½Ì¥¢¥¢¥ë¥ë¥´¥´¥ê¥ê¥º¥º¥à¥à¤Ë¤Ë --llhh66-- ¤ò¤ò»È»ÈÍÑÍѤ¹¤¹¤ë¤ë¡£¡£ - -- fff ¶¯À©Åª¤Ê¼Â¹Ô¡£¥Õ¥¡¥¤¥ë¤ÎÃê½Ð»þ¤Ë¡¢Â¸ºß¤¹¤ë¥Õ¥¡¥¤¥ë -- ¤Îºï½ü³Îǧ¤ò¹Ô¤Ê¤ï¤º¶¯À©Åª¤Ëºï½ü¤ò¹Ô¤Ê¤¤¤Þ¤¹¡£ -+ LHA¤Î¼ïÎà¤Ë¤è¤Ã¤Æ¤Ï¡¢-lh6-¤ÇÀ¸À®¤µ¤ì¤¿¥¢¡¼¥«¥¤¥Ö¤ÏÃê½Ð¤Ç¤­¤Ê ¤¤ -+ ¶² ¤ì ¤¬ ¤¢¤ë¤Î¤Ç¡¢¥¢¡¼¥«¥¤¥Ö¤òÇÛÉÛ¤¹¤ëºÝ¤Ë¤ÏÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£ -+ MSDOSÈǤÎÀµµ¬ÇÛÉÛÈÇ¤Ç¤Ï -lh6- ¤ÎÀ¸À®¤Ï¹Ô¤¤¤Þ¤»¤ó¡£¤Þ¤¿¡¢MSDOSÈÇ -+ LHA version 2.5x °Ê¹ß¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï -lh6- ¤ÎÃê½Ð¤Î¤ß¤Ç¤­¤Þ -+ ¤¹¡£ - -- ttt ¥Æ¥­¥¹¥È¥â¡¼¥É¤Ë¤è¤ë³ÊǼ,Ãê½Ð¡£¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë -- ¤Ø¤Î¥Õ¥¡¥¤¥ë¤Î³ÊǼ»þ¤Ë¤Ï¡¢UNIX ¤«¤é MS-DOS ¤Ø¤Î²þ -- ¹Ô¥³¡¼¥ÉÊÑ´¹¤ò¹Ô¤Ê¤¤¤Þ¤¹¡£¥Õ¥¡¥¤¥ë¤ÎÃê½Ð»þ¤Ë¤ÏµÕ¤Ë -- ¡¢MS-DOS ¤«¤é UNIX ¤Ø¤Î²þ¹Ô¥³¡¼¥ÉÊÑ´¹¤ò¹Ô¤Ê¤¤¤Þ¤¹ -- ¡£ -+ ww==<> -+ ³ÊǼ¤ª¤è¤ÓÃê½Ð»þ¤Î¥ï¡¼¥¯Íѥǥ£¥ì¥¯¥È¥ê »Ø Äê¡£ ¥Ç ¥Õ¥© ¥ë ¥È ¤Ç -+ ¤Ï¡¢/tmp ¤Ç¤¹¤¬¡¢/tmp ¤ÎÂ礭¤µ°Ê¾å¤Î¥Õ¥¡¥¤¥ë¤ò³ÊǼ¤¹¤ëºÝ¤Ë¤Ïɬ -+ ÍפǤ¹¡£ - -- ooo{{{nnnuuummm}}} LHarc ¸ß´¹¥¢¡¼¥«¥¤¥Ö¤ÎÀ¸À®¡¢¤Þ¤¿¤Ï°µ½Ì¥¢¥ë¥´¥ê¥º¥à -- ¤ò»ØÄꤹ¤ë¡£µ¡Ç½Ê¸»ú a, u, m ¤È¶¦¤Ë»ØÄꤷ¡¢Ãê½Ð»þ -- ¤Ë¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£ -+ dd ¥Õ¥¡¥¤¥ë³ÊǼ¸å¤Î¥Õ¥¡¥¤¥ë¤Îºï½ü¡£µ¡Ç½Ê¸»ú a, ¤â¤·¤¯¤Ï u ¤È¶¦¤ËÍÑ -+ ¤¤¡¢ ¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤Ø¤Î¥Õ¥¡¥¤¥ë¤Î³ÊǼ¤Î¸å¤Ë¥Õ¥¡¥¤¥ë¤òºï½ü¤· -+ ¤Þ¤¹¡£ u ¤ËÉղä·¤¿¾ì¹ç¡¢¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤ÎÆâÍƤÎÊý¤¬¿·¤·¤¤»þ -+ ¤Ë ¥Õ¥¡ ¥¤ ¥ë¤¬³ÊǼ¤µ¤ì¤º¤Ëºï½ü¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ë¤Î¤ÇÃí°Õ¤·¤Æ²¼¤µ -+ ¤¤¡£ - -- ooo LLLHHHaaarrrccc ¸ß¸ß¸ß´¹´¹´¹¥¢¥¢¥¢¡¼¡¼¡¼¥«¥«¥«¥¤¥¤¥¤¥Ö¥Ö¥Ö¤Î¤Î¤ÎÀ¸À¸À¸À®À®À®¤ò¤ò¤ò¹Ô¹Ô¹Ô¤¦¤¦¤¦¡£¡£¡£ -+ ii Ãê½Ð»þ¤Î¥Ç¥£¥ì¥¯¥È¥ê̾¤Î̵¸ú²½¡£Ãê½Ð»þ¤Ë¥Ç¥£¥ì¥¯¥È¥ê̾¤ò̵¸ú ¤Ë -+ ¤·¤Þ¤¹¡£ - -- ¸Å¤¤·Á¼°¤Î¥¢¡¼¥«¥¤¥Ö¤òÀ¸À®¤·¤Þ¤¹¡£°µ½Ì¥¢¥ë¥´ -- ¥ê¥º¥à¤Ï-lh1-¤ò»ÈÍѤ·¤Þ¤¹¡£ -+ zz Èó °µ ½Ì³ÊǼ¡£¥¢¡¼¥«¥¤¥Ö¤Ø¤Î¥Õ¥¡¥¤¥ë¤Î³ÊǼ»þ¤Ë°µ½Ì¤ò¹Ô¤Ê¤¤¤Þ¤» -+ ¤ó¡£¤¹¤Ç¤Ë°µ½Ì¤ò¹Ô¤Ê¤Ã¤Æ¤¤¤Æ°µ½Ì¸úΨ¤ò˾¤á¤Ê¤¤¾ì¹ç¤Ê¤É¤Ë»ÈÍÑ ¤· -+ ¤Þ¤¹¡£Ãê½Ð»þ¤Ë¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£ - -+ gg [generic]¥¢¡¼¥«¥¤¥Ö¤ÎºîÀ®¡£ UNIX ÍѤÎÉղþðÊó¤ò»ý¤¿¤Ê¤¤¥¢¡¼¥«¥¤ -+ ¥Ö¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£Ãê½Ð»þ¤Ë¤Ï̵»ë¤µ¤ì¤Þ¤¹¡£ - -+ 00//11//22 ¥Ø¥Ã¥À¥ì¥Ù¥ë»ØÄê¡£¥¢¡¼¥«¥¤¥Ö¤ÎÆâÉôɽ¸½¤Î·Á¼°¤ò»ØÄꤷ ¤Þ ¤¹¡£ ¥Ç -+ ¥Õ¥© ¥ë¥È¤Ç¤Ï 1 ¤Ç¤¹¡£0 ¤Ï LHarc ¤ÇÍÑ°Õ¤µ¤ì¤Æ¤¤¤¿¸Å¤¤·Á¼°¤Ç¤¹¡£ -+ ¾­Íè¤Ï 2 ¤Î·Á¼°¤ËÅý°ì¤µ¤ì¤ë¤è¤¦¤Ç¤¹¡£¤³¤ì¤Ï¥Õ¥¡¥¤¥ë¤Î³ÊǼ»þ¤Î¤ß -+ Í­¸ú¤Ç¤¹¡£¥Õ¥¡¥¤¥ë¤ÎÃê½Ð»þ¤Ë¤Ï¼«Æ°Åª¤Ë·Á¼°¤òȽÃǤ·½èÍý¤·¤Þ¤¹¡£ - -- January 14,1997 2 -+ _a_r_c_h_i_v_e___f_i_l_e ¤Ë¤Ï¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£ - -+ _a_r_c_h_i_v_e___f_i_l_e ¤Ë _- ¤È½ñ¤¯¤³¤È¤Ë¤è¤Ã¤Æ¡¢¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤òɸ½àÆþ½ÐÎÏ¤Ë -+ ¤¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£ ttaarr(1) ¤Î¤è¤¦¤Ë¡¢¥¢¡¼¥«¥¤¥Ö¤ÎºîÀ®¡¢¹¹¿·»þ¤Ë¤Ïɸ ½à -+ ½ÐÎϤˡ¢¥¢¡¼¥«¥¤¥Ö¤«¤é¤Î¥Õ¥¡¥¤¥ë¤ÎÃê½Ð»þ¤Ë¤Ïɸ½àÆþÎϤˤʤê¤Þ¤¹¡£ - -+ Ãê ½Ð»þ¤Ë _a_r_c_h_i_v_e___f_i_l_e ¤¬Â¸ºß¤·¤Ê¤¤»þ¤Ë¤Ï¥µ¥Õ¥£¥Ã¥¯¥¹ ..llzzhh ¤ò¥Õ¥¡¥¤¥ë̾ -+ ¤Î¸å¤í¤ËÉղä·¤ÆÃê½Ð¤ò»î¤ß¤Þ¤¹¡£ -+ Æä˵¬Äê¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢±¿ÍѾ奵¥Õ¥£¥Ã¥¯¥¹¤È¤·¤Æ ..llzzhh ¤òÍѤ¤¤ë¤Î¤¬Ë¾ ¤Þ -+ ¤· ¤¤¤È»×¤¤¤Þ¤¹¡£ÆüËܰʳ°¤Ç¤Ï ..llhhaa ¤ò»ÈÍѤ·¤Æ¤¤¤ë¥±¡¼¥¹¤¬¤¢¤ë¤½¤¦¤Ç¤¹¤Î -+ ¤Ç¡¢Å¬µ¹Ä´À°¤·¤Æ²¼¤µ¤¤¡£:-) -+ ¥µ¥Õ¥£¥Ã¥¯¥¹¤¬ ccoomm ¤â¤·¤¯¤Ï ..eexxee ¤Î¾ì¹ç¤Ë¤Ï¡¢MS-DOS ÈǤǺîÀ®¤µ¤ì¤¿ _S_F_X( -+ ¼«¸ÊŸ³«µ¡Ç½ÉÕ¤­¤Î°µ½Ì¥Õ¥¡¥¤¥ë) ·Á¼°¤«¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¤·¡¢Âбþ¤·¤Þ¤¹¡£ -+ ¥µ ¥Õ¥£¥Ã¥¯¥¹¤¬ ..xx ¤Î¾ì¹ç¤Ë¤Ï¡¢ÆüËÜÀ½ SHARP X68000 ¤Î OS, Human68k ÈÇ¤Ç -+ ºîÀ®¤µ¤ì¤¿ SFX ·Á¼°¤«¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¤·Âбþ¤·¤Þ¤¹¡£ -+ SFX ·Á¼°¤Î¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤ËÂФ·¤ÆÄɲääºï½ü¤ò¹Ô¤Ã¤¿ ¾ì ¹ç ¤Ë ¤Ï¡¢ ¥µ -+ ¥Õ¥£¥Ã¥¯¥¹¤ò ..llzzhh ¤ËÊѹ¹¤·¡¢SFX ¤Î¾ðÊó¤òºï½ü¤·¤Þ¤¹¡£ - --LHA(N) Unix Programmer's Manual LHA(N) - -+FFIILLEESS ¥Õ¥Õ¥¡¥¡¥¤¥¤¥ë¥ë -+ *.lzh - LHa/LHarc ¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë -+ *.bak - ¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë -+ /tmp/lh* - ¥Æ¥ó¥Ý¥é¥ê¥Õ¥¡¥¤¥ë -+ *.com *.exe - MS-DOS SFX ¥Õ¥¡¥¤¥ë -+ *.x - Human68k SFX ¥Õ¥¡¥¤¥ë - -- ooo555 °µ°µ°µ½Ì½Ì½Ì¥¢¥¢¥¢¥ë¥ë¥ë¥´¥´¥´¥ê¥ê¥ê¥º¥º¥º¥à¥à¥à¤Ë¤Ë¤Ë ---lllhhh555- ¤ò¤ò¤ò»È»È»ÈÍÑÍÑÍѤ¹¤¹¤¹¤ë¤ë¤ë¡£¡£¡£ - -- ooo666 °µ°µ°µ½Ì½Ì½Ì¥¢¥¢¥¢¥ë¥ë¥ë¥´¥´¥´¥ê¥ê¥ê¥º¥º¥º¥à¥à¥à¤Ë¤Ë¤Ë ---lllhhh666- ¤ò¤ò¤ò»È»È»ÈÍÑÍÑÍѤ¹¤¹¤¹¤ë¤ë¤ë¡£¡£¡£ -+SSEEEE AALLSSOO ´Ø´ØϢϢ¹à¹àÌÜÌÜ -+ ttaarr(1), aarr(1), ccoommpprreessss(1) - -- LHA¤Î¼ïÎà¤Ë¤è¤Ã¤Æ¤Ï¡¢-lh6-¤ÇÀ¸À®¤µ¤ì¤¿¥¢¡¼¥«¥¤¥Ö¤Ï -- Ãê½Ð¤Ç¤­¤Ê¤¤¶²¤ì¤¬¤¢¤ë¤Î¤Ç¡¢¥¢¡¼¥«¥¤¥Ö¤òÇÛÉÛ¤¹¤ëºÝ -- ¤Ë¤ÏÃí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£MSDOSÈǤÎÀµµ¬ÇÛÉÛÈÇ¤Ç¤Ï -lh6- -- ¤ÎÀ¸À®¤Ï¹Ô¤¤¤Þ¤»¤ó¡£¤Þ¤¿¡¢MSDOSÈÇ LHA version 2.5x -- °Ê¹ß¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï -lh6- ¤ÎÃê½Ð¤Î¤ß¤Ç¤­¤Þ¤¹¡£ -+DDIISSTTRRIIBBUUTTIIOONN ºÆºÆÇÛÇÛÉÛÉۤˤˤĤĤ¤¤¤¤Æ¤Æ -+ °Ê²¼¤Î¾ò·ï¤Ç¡¢ºÆÇÛÉÛ¡¢Å¾ºÜ¡¢²þÊѤòµö²Ä¤·¤Þ¤¹¡£ - -- www===<<>> -- ³ÊǼ¤ª¤è¤ÓÃê½Ð»þ¤Î¥ï¡¼¥¯Íѥǥ£¥ì¥¯¥È¥ê»ØÄê¡£¥Ç¥Õ¥© -- ¥ë¥È¤Ç¤Ï¡¢/tmp ¤Ç¤¹¤¬¡¢/tmp ¤ÎÂ礭¤µ°Ê¾å¤Î¥Õ¥¡¥¤¥ë -- ¤ò³ÊǼ¤¹¤ëºÝ¤Ë¤ÏɬÍפǤ¹¡£ -+ 1. Ãøºî¸¢É½¼¨¤òºï½ü¤·¤Ê¤¤¤³¤È¡£ - -- ddd ¥Õ¥¡¥¤¥ë³ÊǼ¸å¤Î¥Õ¥¡¥¤¥ë¤Îºï½ü¡£µ¡Ç½Ê¸»ú a, ¤â¤·¤¯ -- ¤Ï u ¤È¶¦¤ËÍѤ¤¡¢¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤Ø¤Î¥Õ¥¡¥¤¥ë¤Î -- ³ÊǼ¤Î¸å¤Ë¥Õ¥¡¥¤¥ë¤òºï½ü¤·¤Þ¤¹¡£u ¤ËÉղä·¤¿¾ì¹ç¡¢ -- ¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤ÎÆâÍƤÎÊý¤¬¿·¤·¤¤»þ¤Ë¥Õ¥¡¥¤¥ë¤¬ -- ³ÊǼ¤µ¤ì¤º¤Ëºï½ü¤µ¤ì¤ë¤³¤È¤Ë¤Ê¤ë¤Î¤ÇÃí°Õ¤·¤Æ²¼¤µ¤¤ -- ¡£ -+ 2. ÇÛÉÛÆâÍƤˤĤ¤¤Æ¤Ï¡¢ - -- iii Ãê½Ð»þ¤Î¥Ç¥£¥ì¥¯¥È¥ê̾¤Î̵¸ú²½¡£Ãê½Ð»þ¤Ë¥Ç¥£¥ì¥¯¥È -- ¥ê̾¤ò̵¸ú¤Ë¤·¤Þ¤¹¡£ -+ a. ÇÛ Éۤκݤ˸ºß¤¹¤ëÆâÍÆ(¤¹¤Ê¤ï¤Á¥½¡¼¥¹¥³¡¼¥É¡¢¥É¥­¥å¥á¥ó -+ ¥È¡¢¥×¥í¥°¥é¥Þ¡¼¤Ø¤Î¼ê°ú¤­¤Ê¤É)¤¬ºÆÇÛÉÛ¤µ¤ì¤¿¤â¤Î¤ÎÃæ¤Ëɬ -+ ¤º ¸ ºß ¤¹¤ë¤³¤È¡£²þÊѤµ¤ì¤Æ¤¤¤ë¤Ê¤é¤Ð¡¢¤½¤ì¤òÌÀ¼¨¤·¤¿¥É -+ ¥­¥å¥á¥ó¥È¤òÍÑ°Õ¤¹¤ë¤³¤È¡£ - -- zzz È󰵽̳ÊǼ¡£¥¢¡¼¥«¥¤¥Ö¤Ø¤Î¥Õ¥¡¥¤¥ë¤Î³ÊǼ»þ¤Ë°µ½Ì¤ò -- ¹Ô¤Ê¤¤¤Þ¤»¤ó¡£¤¹¤Ç¤Ë°µ½Ì¤ò¹Ô¤Ê¤Ã¤Æ¤¤¤Æ°µ½Ì¸úΨ¤ò˾ -- ¤á¤Ê¤¤¾ì¹ç¤Ê¤É¤Ë»ÈÍѤ·¤Þ¤¹¡£Ãê½Ð»þ¤Ë¤Ï̵»ë¤µ¤ì¤Þ¤¹ -- ¡£ -+ b. LHa ¤ËÂФ¹¤ëÉղòÁÃͤ¬ÉÕ¤±¤é¤ì¤ÆºÆÇÛÉÛ¤µ¤ì¤ë¾ì¹ç¤Ë¤Ï¤½ ¤ì -+ ¤é ¤â¤Ç¤­¤ë¤À¤±´Þ¤á¤ë¤è¤¦ÅØÎϤ¹¤ë¤³¤È¡£¤Þ¤¿¡¢¤½¤ÎºÝ¤Ë¤ÏÉÕ -+ ²Ã²ÁÃͤ¬ÉÕ¤±¤é¤ì¤Æ¤¤¤ë¤³¤È¤òÌÀ¼¨¤·¤¿¥É¥­¥å¥á¥ó¥È¤òÍÑ°Õ ¤¹ -+ ¤ë¤³¤È¡£ - -- ggg [generic]¥¢¡¼¥«¥¤¥Ö¤ÎºîÀ®¡£UNIX ÍѤÎÉղþðÊó¤ò»ý¤¿ -- ¤Ê¤¤¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤òÀ¸À®¤·¤Þ¤¹¡£Ãê½Ð»þ¤Ë¤Ï̵»ë -- ¤µ¤ì¤Þ¤¹¡£ -+ c. ¥Ð¥¤¥Ê¥ê¤Î¤ß¤ÎÇÛÉۤϵö¤µ¤ì¤Ê¤¤¡£(ÉղòÁÃͤΤâ¤Î¤â´Þ¤à) - -- 000///111///222 ¥Ø¥Ã¥À¥ì¥Ù¥ë»ØÄê¡£¥¢¡¼¥«¥¤¥Ö¤ÎÆâÉôɽ¸½¤Î·Á¼°¤ò»ØÄê -- ¤·¤Þ¤¹¡£¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï 1 ¤Ç¤¹¡£0 ¤Ï LHarc ¤ÇÍÑ°Õ¤µ -- ¤ì¤Æ¤¤¤¿¸Å¤¤·Á¼°¤Ç¤¹¡£¾­Íè¤Ï 2 ¤Î·Á¼°¤ËÅý°ì¤µ¤ì¤ë -- ¤è¤¦¤Ç¤¹¡£¤³¤ì¤Ï¥Õ¥¡¥¤¥ë¤Î³ÊǼ»þ¤Î¤ßÍ­¸ú¤Ç¤¹¡£¥Õ¥¡ -- ¥¤¥ë¤ÎÃê½Ð»þ¤Ë¤Ï¼«Æ°Åª¤Ë·Á¼°¤òȽÃǤ·½èÍý¤·¤Þ¤¹¡£ -+ 3. ºÇ¿·ÈǤÎÇÛÉÛ¤Ë̳¤á¤ë¤³¤È¡£(µÁ̳¤Ï¤Ê¤¤) - -- _a_r_c_h_i_v_e__f_i_l_e ¤Ë¤Ï¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤ò»ØÄꤷ¤Þ¤¹¡£ -+ Ãí. ¤Ê¤ª¡¢¥Í¥Ã¥È¤Ç¤ÎÇÛÉդϼ«Í³¤Ç¤¢¤ë¤¬¡¢¥Í¥Ã¥È¤Ë¥¢¥¯¥»¥¹¤Ç¤­ -+ ¤Ê¤¤Êý¡Ê»¨»ï¤ª¤è¤Ó¡¢ CD-ROM ¤Ê¤É¤Ë¤è¤ë¡ËÇÛÉդϡ¢ÇÛÉÕÁ° ¤Ë -+ ¤³ ¤Á¤é¤Ë E-Mail ¤ò¤ª´ê¤¤¤·¤Þ¤¹¡£ÇÛÉÕÁ°¤Ë½ÐÍè¤Ê¤¤ºÝ¤Ë¤Ï¡¢ -+ ¸åÆüɬ¤º E-Mail ¤ò¤ª´ê¤¤¤·¤Þ¤¹¡£ - -- _a_r_c_h_i_v_e__f_i_l_e ¤Ë- ¤È½ñ¤¯¤³¤È¤Ë¤è¤Ã¤Æ¡¢¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤ò -- ɸ½àÆþ½ÐÎϤˤ¹¤ë¤³¤È¤¬²Äǽ¤Ç¤¹¡£tttaaarrr(1) ¤Î¤è¤¦¤Ë¡¢¥¢¡¼¥«¥¤ -- ¥Ö¤ÎºîÀ®¡¢¹¹¿·»þ¤Ë¤Ïɸ½à½ÐÎϤˡ¢¥¢¡¼¥«¥¤¥Ö¤«¤é¤Î¥Õ¥¡¥¤¥ë¤Î -+ 4. ¤³¤Î¥×¥í¥°¥é¥à¤Î¸ºß¤ä»ÈÍѤ·¤¿¤³¤È¤Ë¤è¤Ã¤ÆÀ¸¤¸¤¿Â»³²¤ÏÁ´¤¯Êݾڤ· -+ ¤Ê¤¤¡£ - -+ 5. ºî¼Ô¤Ï¡¢¤³¤Î¥×¥í¥°¥é¥à¤ËÉÔÈ÷¤¬¤¢¤Ã¤Æ¤â¡¢¤½¤ì¤òÄûÀµ¤¹¤ëµÁ̳¤òÉé¤ï -+ ¤Ê¤¤¡£ - -- January 14,1997 3 -+ 6. ¤³¤Î¥×¥í¥°¥é¥à¤Î°ìÉô¡¢¤Þ¤¿¤ÏÁ´Éô¤ò¾¤Î¥×¥í¥°¥é¥à¤ËÁȤ߹þ¤ó¤ÇÍøÍÑ -+ ¤· ¤Æ¤â¤«¤Þ¤ï¤Ê¤¤¡£¤³¤Î¾ì¹ç¡¢¤½¤Î¥×¥í¥°¥é¥à¤Ï LHa ¤Ç¤Ï¤Ê¤¯¡¢ LHa -+ ¤È̾¾è¤Ã¤Æ¤Ï¤¤¤±¤Ê¤¤¡£ - -+ 7. ¾¦ÍøÍѤ˴ؤ·¤Æ¤Ï¡¢¾åµ­¤Î¾ò·ï¤Ë²Ã¤¨¡¢²¼µ­¤Î¾ò·ï¤Î¤â¤È¤Ë¤³¤ì¤òǧ¤á -+ ¤ë¡£ - -+ a. ¤³¤Î¥×¥í¥°¥é¥à¤ò¥á¥¤¥ó¤È¤¹¤ë¾¦ÍøÍѤ϶ػߤ¹¤ë¡£ - --LHA(N) Unix Programmer's Manual LHA(N) -+ b. ¾¦ÍøÍѤÎÁê¼ê¤¬¤³¤Î¥×¥í¥°¥é¥à¤Î»ÈÍѼԤȤ·¤ÆÉÔŬÀÚ¤ÈȽÃǤ· -+ ¤¿¾ì¹ç¤Ë¤ÏÇÛÉÛ¤·¤Ê¤¤¡£ - -+ c. ¥¤¥ó¥¹¥È¡¼¥ë¤Î¼êÃʤȤ·¤Æ»ÈÍѤ¹¤ë¾ì¹ç¡¢¤³¤Î¥×¥í¥°¥é¥à¤ò »È -+ ¤¦ ¤³ ¤È ¤òÁê¼ê¤Ë¶¯À©¤·¤Ê¤¤¡£¤³¤Î¾ì¹ç¡¢¾¦ÍøÍѼԤ¬ºî¶È¤ò¹Ô -+ ¤¦¡£¤Þ¤¿¡¢¤½¤Î¤È¤­¤Î»³²¤Ï¡¢¾¦ÍøÍѼԤ¬Á´ÀÕǤ¤òÉ餦¡£ - -- Ãê½Ð»þ¤Ë¤Ïɸ½àÆþÎϤˤʤê¤Þ¤¹¡£ -+ d. ¾¦ÍøÍѤòÉղòÁÃͤȤ·¤Æ¹Ô¤¤¤³¤Î¥×¥í¥°¥é¥à¤ò»ÈÍѤ¹¤ë¾ì ¹ç¡¢ -+ ¾¦ÍøÍѼԤϡ¢¤½¤Î¥µ¥Ý¡¼¥È¤ò¹Ô¤¦¡£ - -- Ãê½Ð»þ¤Ë_a_r_c_h_i_v_e__f_i_l_e ¤¬Â¸ºß¤·¤Ê¤¤»þ¤Ë¤Ï¥µ¥Õ¥£¥Ã¥¯¥¹...lllzzzhhh ¤ò -- ¥Õ¥¡¥¤¥ë̾¤Î¸å¤í¤ËÉղä·¤ÆÃê½Ð¤ò»î¤ß¤Þ¤¹¡£ -- Æä˵¬Äê¤Ï¤¢¤ê¤Þ¤»¤ó¤¬¡¢±¿ÍѾ奵¥Õ¥£¥Ã¥¯¥¹¤È¤·¤Æ...lllzzzhhh ¤òÍÑ -- ¤¤¤ë¤Î¤¬Ë¾¤Þ¤·¤¤¤È»×¤¤¤Þ¤¹¡£ÆüËܰʳ°¤Ç¤Ï ...lllhhhaaa ¤ò»ÈÍѤ·¤Æ¤¤ -- ¤ë¥±¡¼¥¹¤¬¤¢¤ë¤½¤¦¤Ç¤¹¤Î¤Ç¡¢Å¬µ¹Ä´À°¤·¤Æ²¼¤µ¤¤¡£:-) -- ¥µ¥Õ¥£¥Ã¥¯¥¹¤¬cccooommm ¤â¤·¤¯¤Ï...eeexxxeee ¤Î¾ì¹ç¤Ë¤Ï¡¢MS-DOS ÈǤǺîÀ® -- ¤µ¤ì¤¿_S_F_X(¼«¸ÊŸ³«µ¡Ç½ÉÕ¤­¤Î°µ½Ì¥Õ¥¡¥¤¥ë) ·Á¼°¤«¤É¤¦¤«¤ò¥Á -- ¥§¥Ã¥¯¤·¡¢Âбþ¤·¤Þ¤¹¡£ -- ¥µ¥Õ¥£¥Ã¥¯¥¹¤¬...xxx ¤Î¾ì¹ç¤Ë¤Ï¡¢ÆüËÜÀ½ SHARP X68000 ¤Î OS, -- Human68k ÈǤǺîÀ®¤µ¤ì¤¿ SFX ·Á¼°¤«¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¤·Âбþ¤· -- ¤Þ¤¹¡£ -- SFX ·Á¼°¤Î¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë¤ËÂФ·¤ÆÄɲääºï½ü¤ò¹Ô¤Ã¤¿¾ì¹ç -- ¤Ë¤Ï¡¢¥µ¥Õ¥£¥Ã¥¯¥¹¤ò...lllzzzhhh ¤ËÊѹ¹¤·¡¢SFX ¤Î¾ðÊó¤òºï½ü¤·¤Þ¤¹ -- ¡£ - --FFFIIILLLEEESSS ¥Õ¥Õ¥Õ¥¡¥¡¥¡¥¤¥¤¥¤¥ë¥ë¥ë -- *.lzh - LHa/LHarc ¥¢¡¼¥«¥¤¥Ö¥Õ¥¡¥¤¥ë -- *.bak - ¥Ð¥Ã¥¯¥¢¥Ã¥×¥Õ¥¡¥¤¥ë -- /tmp/lh* - ¥Æ¥ó¥Ý¥é¥ê¥Õ¥¡¥¤¥ë -- *.com *.exe - MS-DOS SFX ¥Õ¥¡¥¤¥ë -- *.x - Human68k SFX ¥Õ¥¡¥¤¥ë -+ºÇºÇ¸å¸å¤Ë¤Ë((FFrroomm YY..TTaaggaawwaa)) -+ LZHUF Ë¡¤Î´ðÁäȤʤä¿ LZARI Ë¡¤òȯɽ¤·¤Æ¤¯¤À¤µ¤Ã¤¿±ü¼À²É§»á¡¢¤½¤ì¤ò -+ NIFTY-Serve ¤Ë¾Ò²ð¤·¡¢¤Þ¤¿¡¢LArc ¤Îºî¼Ô¤Ç¤â¤¢¤ë»°ÌÚÏÂɧ»á¡¢¤Þ¤¿¡¢¤³¤ì¤é -+ ¤Î Í× °ø ¤«¤é LZHUF Ë¡µÚ¤Ó¡¢MS-DOS ÈÇ LHarc ¤òºîÀ®¤·¤¿µÈºê±ÉÂٻᡢLHarc -+ UNIX ¤Î³«È¯¤Ë¶¨ÎϤ·¤¿¿Íã¡¢¤³¤³¤í¤è¤¯¥á¥Ã¥»¡¼¥¸¤Î¶¶ÅϤ·¤ò¤·¤Æ¤¯¤ì¤¿Àкê -+ °ìÌÀ»á(MIX ID:k.ishi)¡¢¤Þ¤¿¡¢¤¤¤í¤¤¤í¤Ê¥ì¥Ý¡¼¥È¤ò¤¯¤ì¤¿¤ß¤Ê¤µ¤ó¡¢¤½¤ì¤ò -+ Ãæ·Ñ¤·¤Æ¤¯¤À¤µ¤Ã¤¿¿¹¸ø°ìϺ»á (MIX ID:kmori)¤Ë´¶¼Õ¤·¤Þ¤¹¡£ - --SSSEEEEEE AAALLLSSSOOO ´Ø´Ø´ØϢϢϢ¹à¹à¹àÌÜÌÜÌÜ -- tttaaarrr(1), aaarrr(1), cccooommmppprrreeessssss(1) - --DDDIIISSSTTTRRRIIIBBBUUUTTTIIIOOONNN ºÆºÆºÆÇÛÇÛÇÛÉÛÉÛÉۤˤˤˤĤĤĤ¤¤¤¤¤¤Æ¤Æ¤Æ -+ºÇºÇ¸å¸å¤Ë¤Ë((FFrroomm MMaassaarruu OOkkii)) -+ ¾åµ­¤ÎÊý¡¹¤Ï¤â¤Á¤í¤ó¡¢²Ã¤¨¤Æ LHarc UNIX ¤òºîÀ®¤·¤¿ Y.Tagawa »á¡¢¤½¤ì ¤ò -+ OSK ¤Ë°Ü¿¢¤·µÈºê»á¤Î LHx ¤Î¥¢¥ë¥´¥ê¥º¥à¤òÁȤ߹þ¤ó¤À H.S »á¡¢ JUNET ¤Î -+ LHa for UNIX MailingList ¤Ë¤Æ¶¨ÎϤ·¤Æ¤¯¤À¤µ¤Ã¤¿¤ß¤Ê¤µ¤ó¤Ë´¶¼ÕÃפ·¤Þ¤¹¡£ - -- °Ê²¼¤Î¾ò·ï¤Ç¡¢ºÆÇÛÉÛ¡¢Å¾ºÜ¡¢²þÊѤòµö²Ä¤·¤Þ¤¹¡£ -+ºÇºÇ¸å¸å¤Ë¤Ë((FFrroomm NNoobbuuttaakkaa WWaattaazzaakkii)) -+ ¤³¤Î¥×¥í¥°¥é¥à¤ÎºîÀ®¤Ë¤«¤«¤ï¤Ã¤¿Êý¡¹¡¢¤µ¤é¤Ë¤³¤³¤Þ¤Ç LHa ¤ò»Å¾å¤²¤Æ¤¯¤À -+ ¤µ¤Ã¤¿ ²­¾¡»á¤Ë´¶¼ÕÃפ·¤Þ¤¹¡£ - -- 1. Ãøºî¸¢É½¼¨¤òºï½ü¤·¤Ê¤¤¤³¤È¡£ - -- 2. ÇÛÉÛÆâÍƤˤĤ¤¤Æ¤Ï¡¢ -- -- a. ÇÛÉۤκݤ˸ºß¤¹¤ëÆâÍÆ(¤¹¤Ê¤ï¤Á¥½¡¼¥¹¥³¡¼¥É¡¢¥É¥­ -- ¥å¥á¥ó¥È¡¢¥×¥í¥°¥é¥Þ¡¼¤Ø¤Î¼ê°ú¤­¤Ê¤É)¤¬ºÆÇÛÉÛ¤µ¤ì -- ¤¿¤â¤Î¤ÎÃæ¤Ëɬ¤ºÂ¸ºß¤¹¤ë¤³¤È¡£²þÊѤµ¤ì¤Æ¤¤¤ë¤Ê¤é¤Ð -- ¡¢¤½¤ì¤òÌÀ¼¨¤·¤¿¥É¥­¥å¥á¥ó¥È¤òÍÑ°Õ¤¹¤ë¤³¤È¡£ -- -- b. LHa ¤ËÂФ¹¤ëÉղòÁÃͤ¬ÉÕ¤±¤é¤ì¤ÆºÆÇÛÉÛ¤µ¤ì¤ë¾ì¹ç¤Ë -- ¤Ï¤½¤ì¤é¤â¤Ç¤­¤ë¤À¤±´Þ¤á¤ë¤è¤¦ÅØÎϤ¹¤ë¤³¤È¡£¤Þ¤¿¡¢ -- ¤½¤ÎºÝ¤Ë¤ÏÉղòÁÃͤ¬ÉÕ¤±¤é¤ì¤Æ¤¤¤ë¤³¤È¤òÌÀ¼¨¤·¤¿¥É -- ¥­¥å¥á¥ó¥È¤òÍÑ°Õ¤¹¤ë¤³¤È¡£ -- -- -- -- January 14,1997 4 -- -- -- --LHA(N) Unix Programmer's Manual LHA(N) -- -- -- c. ¥Ð¥¤¥Ê¥ê¤Î¤ß¤ÎÇÛÉۤϵö¤µ¤ì¤Ê¤¤¡£(ÉղòÁÃͤΤâ¤Î¤â -- ´Þ¤à) -- -- 3. ºÇ¿·ÈǤÎÇÛÉÛ¤Ë̳¤á¤ë¤³¤È¡£(µÁ̳¤Ï¤Ê¤¤) -- -- Ãí. ¤Ê¤ª¡¢¥Í¥Ã¥È¤Ç¤ÎÇÛÉդϼ«Í³¤Ç¤¢¤ë¤¬¡¢¥Í¥Ã¥È¤Ë¥¢¥¯¥» -- ¥¹¤Ç¤­¤Ê¤¤Êý¡Ê»¨»ï¤ª¤è¤Ó¡¢CD-ROM ¤Ê¤É¤Ë¤è¤ë¡ËÇÛÉÕ -- ¤Ï¡¢ÇÛÉÕÁ°¤Ë¤³¤Á¤é¤Ë E-Mail ¤ò¤ª´ê¤¤¤·¤Þ¤¹¡£ÇÛÉÕÁ° -- ¤Ë½ÐÍè¤Ê¤¤ºÝ¤Ë¤Ï¡¢¸åÆüɬ¤º E-Mail ¤ò¤ª´ê¤¤¤·¤Þ¤¹¡£ -- -- 4. ¤³¤Î¥×¥í¥°¥é¥à¤Î¸ºß¤ä»ÈÍѤ·¤¿¤³¤È¤Ë¤è¤Ã¤ÆÀ¸¤¸¤¿Â» -- ³²¤ÏÁ´¤¯Êݾڤ·¤Ê¤¤¡£ -- -- 5. ºî¼Ô¤Ï¡¢¤³¤Î¥×¥í¥°¥é¥à¤ËÉÔÈ÷¤¬¤¢¤Ã¤Æ¤â¡¢¤½¤ì¤òÄûÀµ -- ¤¹¤ëµÁ̳¤òÉé¤ï¤Ê¤¤¡£ -- -- 6. ¤³¤Î¥×¥í¥°¥é¥à¤Î°ìÉô¡¢¤Þ¤¿¤ÏÁ´Éô¤ò¾¤Î¥×¥í¥°¥é¥à¤Ë -- ÁȤ߹þ¤ó¤ÇÍøÍѤ·¤Æ¤â¤«¤Þ¤ï¤Ê¤¤¡£¤³¤Î¾ì¹ç¡¢¤½¤Î¥×¥í -- ¥°¥é¥à¤Ï LHa ¤Ç¤Ï¤Ê¤¯¡¢LHa ¤È̾¾è¤Ã¤Æ¤Ï¤¤¤±¤Ê¤¤¡£ -- -- 7. ¾¦ÍøÍѤ˴ؤ·¤Æ¤Ï¡¢¾åµ­¤Î¾ò·ï¤Ë²Ã¤¨¡¢²¼µ­¤Î¾ò·ï¤Î¤â -- ¤È¤Ë¤³¤ì¤òǧ¤á¤ë¡£ -- -- a. ¤³¤Î¥×¥í¥°¥é¥à¤ò¥á¥¤¥ó¤È¤¹¤ë¾¦ÍøÍѤ϶ػߤ¹¤ë¡£ -- -- b. ¾¦ÍøÍѤÎÁê¼ê¤¬¤³¤Î¥×¥í¥°¥é¥à¤Î»ÈÍѼԤȤ·¤ÆÉÔŬÀÚ¤È -- ȽÃǤ·¤¿¾ì¹ç¤Ë¤ÏÇÛÉÛ¤·¤Ê¤¤¡£ -- -- c. ¥¤¥ó¥¹¥È¡¼¥ë¤Î¼êÃʤȤ·¤Æ»ÈÍѤ¹¤ë¾ì¹ç¡¢¤³¤Î¥×¥í¥°¥é -- ¥à¤ò»È¤¦¤³¤È¤òÁê¼ê¤Ë¶¯À©¤·¤Ê¤¤¡£¤³¤Î¾ì¹ç¡¢¾¦ÍøÍÑ¼Ô -- ¤¬ºî¶È¤ò¹Ô¤¦¡£¤Þ¤¿¡¢¤½¤Î¤È¤­¤Î»³²¤Ï¡¢¾¦ÍøÍѼԤ¬Á´ -- ÀÕǤ¤òÉ餦¡£ -- -- d. ¾¦ÍøÍѤòÉղòÁÃͤȤ·¤Æ¹Ô¤¤¤³¤Î¥×¥í¥°¥é¥à¤ò»ÈÍѤ¹¤ë -- ¾ì¹ç¡¢¾¦ÍøÍѼԤϡ¢¤½¤Î¥µ¥Ý¡¼¥È¤ò¹Ô¤¦¡£ -- --ºÇºÇºÇ¸å¸å¸å¤Ë¤Ë¤Ë(((FFFrrrooommm YYY...TTTaaagggaaawwwaaa))) -- LZHUF Ë¡¤Î´ðÁäȤʤä¿ LZARI Ë¡¤òȯɽ¤·¤Æ¤¯¤À¤µ¤Ã¤¿±ü¼À² -- ɧ»á¡¢¤½¤ì¤ò NIFTY-Serve ¤Ë¾Ò²ð¤·¡¢¤Þ¤¿¡¢LArc ¤Îºî¼Ô¤Ç¤â¤¢ -- ¤ë»°ÌÚÏÂɧ»á¡¢¤Þ¤¿¡¢¤³¤ì¤é¤ÎÍ×°ø¤«¤é LZHUF Ë¡µÚ¤Ó¡¢MS-DOS -- ÈÇ LHarc ¤òºîÀ®¤·¤¿µÈºê±ÉÂٻᡢLHarc UNIX ¤Î³«È¯¤Ë¶¨ÎϤ·¤¿ -- ¿Íã¡¢¤³¤³¤í¤è¤¯¥á¥Ã¥»¡¼¥¸¤Î¶¶ÅϤ·¤ò¤·¤Æ¤¯¤ì¤¿Àкê°ìÌÀ»á(MIX -- ID:k.ishi)¡¢¤Þ¤¿¡¢¤¤¤í¤¤¤í¤Ê¥ì¥Ý¡¼¥È¤ò¤¯¤ì¤¿¤ß¤Ê¤µ¤ó¡¢¤½¤ì -- ¤òÃæ·Ñ¤·¤Æ¤¯¤À¤µ¤Ã¤¿¿¹¸ø°ìϺ»á (MIX ID:kmori)¤Ë´¶¼Õ¤·¤Þ¤¹ -- ¡£ -- -- -- January 14,1997 5 -- -- -- --LHA(N) Unix Programmer's Manual LHA(N) -- -- --ºÇºÇºÇ¸å¸å¸å¤Ë¤Ë¤Ë(((FFFrrrooommm MMMaaasssaaarrruuu OOOkkkiii))) -- ¾åµ­¤ÎÊý¡¹¤Ï¤â¤Á¤í¤ó¡¢²Ã¤¨¤Æ LHarc UNIX ¤òºîÀ®¤·¤¿ Y.Tagawa -- »á¡¢¤½¤ì¤ò OSK ¤Ë°Ü¿¢¤·µÈºê»á¤Î LHx ¤Î¥¢¥ë¥´¥ê¥º¥à¤òÁȤ߹þ -- ¤ó¤À H.S »á¡¢JUNET ¤Î LHa for UNIX MailingList ¤Ë¤Æ¶¨ÎϤ· -- ¤Æ¤¯¤À¤µ¤Ã¤¿¤ß¤Ê¤µ¤ó¤Ë´¶¼ÕÃפ·¤Þ¤¹¡£ -- --ºÇºÇºÇ¸å¸å¸å¤Ë¤Ë¤Ë(((FFFrrrooommm NNNooobbbuuutttaaakkkaaa WWWaaatttaaazzzaaakkkiii))) -- ¤³¤Î¥×¥í¥°¥é¥à¤ÎºîÀ®¤Ë¤«¤«¤ï¤Ã¤¿Êý¡¹¡¢¤µ¤é¤Ë¤³¤³¤Þ¤Ç LHa -- ¤ò»Å¾å¤²¤Æ¤¯¤À¤µ¤Ã¤¿ ²­¾¡»á¤Ë´¶¼ÕÃפ·¤Þ¤¹¡£ -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- January 14,1997 6 - -+ January 14,1997 LHA(N) ---- lha-1.14i.orig/Makefile -+++ lha-1.14i/Makefile -@@ -20,7 +20,7 @@ - - #MACHINE = -DSYSTIME_HAS_NO_TM -DFTIME -DEUC - #MACHINE = -DSYSTIME_HAS_NO_TM -DEUC -DHAVE_TM_ZONE -DSYSV_SYSTEM_DIR --MACHINE = -DSYSTIME_HAS_NO_TM -DEUC -DSYSV_SYSTEM_DIR -DMKTIME -+MACHINE = -DSYSTIME_HAS_NO_TM -DEUC -DSYSV_SYSTEM_DIR -DMKTIME -DMULTIBYTE_CHAR - - #OPTIMIZE = -O2 -fstrength-reduce -fomit-frame-pointer - OPTIMIZE = -O2 -DSUPPORT_LH7 -DMKSTEMP ---- lha-1.14i.orig/debian/patch.multibyte -+++ lha-1.14i/debian/patch.multibyte -@@ -0,0 +1,145 @@ -+diff -Nuar src.old/header.c src/header.c -+--- src.old/header.c Fri Oct 6 02:36:03 2000 -++++ src/header.c Fri Jul 19 16:46:41 2002 -+@@ -82,6 +82,7 @@ -+ register int i; -+ -+ #ifdef MULTIBYTE_CHAR -++ if (multibyte_mode == TRUE) { -+ for (i = 0; i < len; i++) { -+ if (MULTIBYTE_FIRST_P(name[i]) && -+ MULTIBYTE_SECOND_P(name[i + 1])) -+@@ -91,6 +92,14 @@ -+ else if (!noconvertcase && isupper(name[i])) -+ name[i] = tolower(name[i]); -+ } -++ } else { -++ for (i = 0; i < len; i++) { -++ if (name[i] == '\\') -++ name[i] = '/'; -++ else if (!noconvertcase && isupper(name[i])) -++ name[i] = tolower(name[i]); -++ } -++ } -+ #else -+ for (i = 0; i < len; i++) { -+ if (name[i] == '\\') -+@@ -111,6 +120,7 @@ -+ boolean lower_case_used = FALSE; -+ -+ #ifdef MULTIBYTE_CHAR -++ if (multibyte_mode == TRUE) { -+ for (i = 0; i < len; i++) { -+ if (MULTIBYTE_FIRST_P(name[i]) && -+ MULTIBYTE_SECOND_P(name[i + 1])) -+@@ -128,6 +138,19 @@ -+ name[i] = '/'; -+ else if (!noconvertcase && !lower_case_used && isupper(name[i])) -+ name[i] = tolower(name[i]); -++ } -++ } else { -++ for (i = 0; i < len; i++) -++ if (islower(name[i])) { -++ lower_case_used = TRUE; -++ break; -++ } -++ for (i = 0; i < len; i++) { -++ if (name[i] == '\\') -++ name[i] = '/'; -++ else if (!noconvertcase && !lower_case_used && isupper(name[i])) -++ name[i] = tolower(name[i]); -++ } -+ } -+ #else -+ for (i = 0; i < len; i++) -+diff -Nuar src.old/lha.h src/lha.h -+--- src.old/lha.h Fri Jul 19 17:22:13 2002 -++++ src/lha.h Fri Jul 19 17:18:05 2002 -+@@ -101,6 +101,9 @@ -+ #ifdef EUC -+ EXTERN boolean euc_mode; -+ #endif -++#ifdef MULTIBYTE_CHAR -++EXTERN boolean multibyte_mode; -++#endif -+ -+ /* list command flags */ -+ EXTERN boolean verbose_listing; -+diff -Nuar src.old/lharc.c src/lharc.c -+--- src.old/lharc.c Fri Oct 6 02:33:34 2000 -++++ src/lharc.c Fri Jul 19 16:56:03 2002 -+@@ -101,6 +101,10 @@ -+ euc_mode = FALSE; -+ #endif -+ -++#ifdef MULTIBYTE_CHAR -++ multibyte_mode = FALSE; -++#endif -++ -+ /* view command flags */ -+ verbose_listing = FALSE; -+ -+@@ -177,6 +181,11 @@ -+ e TEXT code convert from/to EUC\n\ -+ "); -+ #endif -++#ifdef MULTIBYTE_CHAR -++ fprintf(stderr, "\ -++ y filename multibyte convert\n\ -++"); -++#endif -+ exit(1); -+ } -+ -+@@ -308,6 +317,11 @@ -+ case 'e': -+ text_mode = TRUE; -+ euc_mode = TRUE; -++ break; -++#endif -++#ifdef MULTIBYTE_CHAR -++ case 'y': -++ multibyte_mode = TRUE; -+ break; -+ #endif -+ case 'n': -+diff -Nuar src.old/util.c src/util.c -+--- src.old/util.c Wed Oct 4 23:57:38 2000 -++++ src/util.c Fri Jul 19 16:49:23 2002 -+@@ -113,18 +113,29 @@ -+ #endif -+ for (p = path; (c = *p) != 0; p++) { -+ #ifdef MULTIBYTE_CHAR -+- if (kflg) { -+- kflg = 0; -++ if (multibyte_mode == TRUE) { -++ if (kflg) { -++ kflg = 0; -++ } else if (MULTIBYTE_FIRST_P(c)) { -++ kflg = 1; -++ } else { -++ if (c == '\\' || c == DELIM || c == DELIM2) { -++ *p = delim; -++ path = p + 1; -++ } -++ } -++ } else { -++ if (c == '\\' || c == DELIM || c == DELIM2) { -++ *p = delim; -++ path = p + 1; -++ } -+ } -+- else if (MULTIBYTE_FIRST_P(c)) { -+- kflg = 1; -+- } -+- else -+-#endif -++#else -+ if (c == '\\' || c == DELIM || c == DELIM2) { -+ *p = delim; -+ path = p + 1; -+ } -++#endif -+ } -+ return path; -+ } ---- lha-1.14i.orig/debian/README.Debian -+++ lha-1.14i/debian/README.Debian -@@ -0,0 +1,6 @@ -+lha for DEBIAN -+---------------------- -+ -+LHa for UNIX -+ -+Atsushi KAMOSHIDA , Sun, 13 Apr 1997 17:52:59 +0900 ---- lha-1.14i.orig/debian/org/lha.h -+++ lha-1.14i/debian/org/lha.h -@@ -0,0 +1,322 @@ -+/* ------------------------------------------------------------------------ */ -+/* LHa for UNIX Archiver Driver */ -+/* */ -+/* Modified Nobutaka Watazaki */ -+/* */ -+/* Ver. 1.14 Soruce All chagned 1995.01.14 N.Watazaki */ -+/* Ver. 1.14i Modified and bug fixed 2000.10.06 t.okamoto */ -+/* ------------------------------------------------------------------------ */ -+/* -+ Included... -+ lharc.h interface.h slidehuf.h -+*/ -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include -+ -+#include "lha_macro.h" -+ -+struct encode_option { -+#if defined(__STDC__) || defined(AIX) -+ void (*output) (); -+ void (*encode_start) (); -+ void (*encode_end) (); -+#else -+ int (*output) (); -+ int (*encode_start) (); -+ int (*encode_end) (); -+#endif -+}; -+ -+struct decode_option { -+ unsigned short (*decode_c) (); -+ unsigned short (*decode_p) (); -+#if defined(__STDC__) || defined(AIX) -+ void (*decode_start) (); -+#else -+ int (*decode_start) (); -+#endif -+}; -+ -+/* ------------------------------------------------------------------------ */ -+/* LHa File Type Definition */ -+/* ------------------------------------------------------------------------ */ -+struct string_pool { -+ int used; -+ int size; -+ int n; -+ char *buffer; -+}; -+ -+typedef struct LzHeader { -+ unsigned char header_size; -+ char method[METHOD_TYPE_STRAGE]; -+ long packed_size; -+ long original_size; -+ long last_modified_stamp; -+ unsigned char attribute; -+ unsigned char header_level; -+ char name[256]; -+ unsigned short crc; -+ boolean has_crc; -+ unsigned char extend_type; -+ unsigned char minor_version; -+ -+ /* extend_type == EXTEND_UNIX and convert from other type. */ -+ time_t unix_last_modified_stamp; -+ unsigned short unix_mode; -+ unsigned short unix_uid; -+ unsigned short unix_gid; -+} LzHeader; -+ -+struct interfacing { -+ FILE *infile; -+ FILE *outfile; -+ unsigned long original; -+ unsigned long packed; -+ int dicbit; -+ int method; -+}; -+ -+ -+/* ------------------------------------------------------------------------ */ -+/* Option switch variable */ -+/* ------------------------------------------------------------------------ */ -+/* command line options (common options) */ -+EXTERN boolean quiet; -+EXTERN boolean text_mode; -+EXTERN boolean verbose; -+EXTERN boolean noexec; /* debugging option */ -+EXTERN boolean force; -+EXTERN boolean prof; -+EXTERN boolean delete_after_append; -+EXTERN int compress_method; -+EXTERN int header_level; -+/* EXTERN int quiet_mode; */ /* 1996.8.13 t.okamoto */ -+#ifdef EUC -+EXTERN boolean euc_mode; -+#endif -+ -+/* list command flags */ -+EXTERN boolean verbose_listing; -+ -+/* extract/print command flags */ -+EXTERN boolean output_to_stdout; -+ -+/* add/update/delete command flags */ -+EXTERN boolean new_archive; -+EXTERN boolean update_if_newer; -+EXTERN boolean generic_format; -+ -+EXTERN boolean remove_temporary_at_error; -+EXTERN boolean recover_archive_when_interrupt; -+EXTERN boolean remove_extracting_file_when_interrupt; -+EXTERN boolean get_filename_from_stdin; -+EXTERN boolean ignore_directory; -+EXTERN boolean verify_mode; -+ -+/* Indicator flag */ -+EXTERN int quiet_mode; -+ -+/* ------------------------------------------------------------------------ */ -+/* Globale Variable */ -+/* ------------------------------------------------------------------------ */ -+EXTERN char **cmd_filev; -+EXTERN int cmd_filec; -+ -+EXTERN char *archive_name; -+EXTERN char expanded_archive_name[FILENAME_LENGTH]; -+EXTERN char temporary_name[FILENAME_LENGTH]; -+EXTERN char backup_archive_name[FILENAME_LENGTH]; -+ -+EXTERN char *reading_filename, *writting_filename; -+ -+/* 1996.8.13 t.okamoto */ -+#if 0 -+EXTERN boolean remove_temporary_at_error; -+EXTERN boolean recover_archive_when_interrupt; -+EXTERN boolean remove_extracting_file_when_interrupt; -+#endif -+ -+EXTERN int archive_file_mode; -+EXTERN int archive_file_gid; -+ -+EXTERN struct interfacing interface; -+EXTERN node *next; -+/* EXTERN unsigned short crc; */ /* 1996.8.13 t.okamoto */ -+ -+EXTERN int noconvertcase; /* 2000.10.6 */ -+ -+/* slide.c */ -+EXTERN int unpackable; -+EXTERN unsigned long origsize, compsize; -+EXTERN unsigned short dicbit; -+EXTERN unsigned short maxmatch; -+EXTERN unsigned long count; -+EXTERN unsigned long loc; /* short -> long .. Changed N.Watazaki */ -+EXTERN unsigned char *text; -+EXTERN int prev_char; -+ -+/* huf.c */ -+#ifndef LHA_MAIN_SRC /* t.okamoto 96/2/20 */ -+EXTERN unsigned short left[], right[]; -+EXTERN unsigned char c_len[], pt_len[]; -+EXTERN unsigned short c_freq[], c_table[], c_code[]; -+EXTERN unsigned short p_freq[], pt_table[], pt_code[], t_freq[]; -+#endif -+ -+/* append.c */ -+#ifdef NEED_INCREMENTAL_INDICATOR -+EXTERN long indicator_count; -+EXTERN long indicator_threshold; -+#endif -+ -+/* crcio.c */ -+EXTERN FILE *infile, *outfile; -+EXTERN unsigned short crc, bitbuf; -+EXTERN int dispflg; -+EXTERN long reading_size; -+ -+/* from dhuf.c */ -+EXTERN unsigned int n_max; -+ -+/* lhadd.c */ -+EXTERN FILE *temporary_fp; -+ -+/* ------------------------------------------------------------------------ */ -+/* Functions */ -+/* ------------------------------------------------------------------------ */ -+/* from lharc.c */ -+extern int patmatch(); -+ -+extern void interrupt(); -+ -+extern void message(); -+extern void warning(); -+extern void error(); -+extern void fatal_error(); -+ -+extern boolean need_file(); -+extern int inquire(); -+extern FILE *xfopen(); -+ -+extern boolean find_files(); -+extern void free_files(); -+ -+extern void init_sp(); -+extern void add_sp(); -+extern void finish_sp(); -+extern void free_sp(); -+extern void cleaning_files(); -+ -+extern void build_temporary_name(); -+extern void build_backup_file_name(); -+extern void build_standard_archive_name(); -+ -+extern FILE *open_old_archive(); -+extern void init_header(); -+extern boolean get_header(); -+extern boolean archive_is_msdos_sfx1(); -+extern boolean skip_msdos_sfx1_code(); -+extern void write_header(); -+extern void write_archive_tail(); -+extern void copy_old_one(); -+extern unsigned char *convdelim(); -+extern long copyfile(); -+ -+extern void cmd_list(), cmd_extract(), cmd_add(), cmd_delete(); -+ -+extern boolean ignore_directory; -+extern boolean compress_method; -+extern boolean verify_mode; -+ -+extern char *extract_directory; -+ -+/* from slide.c */ -+ -+extern int encode_alloc(); -+extern void encode(); -+extern void decode(); -+ -+/* from append.c */ -+extern void start_indicator(); -+extern void finish_indicator(); -+extern void finish_indicator2(); -+ -+/* slide.c */ -+extern void output_st1(); -+extern unsigned char *alloc_buf(); -+extern void encode_start_st1(); -+extern void encode_end_st1(); -+extern unsigned short decode_c_st1(); -+extern unsigned short decode_p_st1(); -+extern void decode_start_st1(); -+ -+/* from shuf.c */ -+extern void decode_start_st0(); -+extern void encode_p_st0( /* unsigned short j */ ); -+extern void encode_start_fix(); -+extern void decode_start_fix(); -+extern unsigned short decode_c_st0(); -+extern unsigned short decode_p_st0(); -+ -+/* from dhuf.c */ -+extern void start_c_dyn(); -+extern void decode_start_dyn(); -+extern unsigned short decode_c_dyn(); -+extern unsigned short decode_p_dyn(); -+extern void output_dyn( /* int code, unsigned int pos */ ); -+extern void encode_end_dyn(); -+ -+extern int decode_lzhuf(); -+ -+/* from larc.c */ -+ -+extern unsigned short decode_c_lzs(); -+extern unsigned short decode_p_lzs(); -+extern unsigned short decode_c_lz5(); -+extern unsigned short decode_p_lz5(); -+extern void decode_start_lzs(); -+extern void decode_start_lz5(); -+ -+extern void make_table( /* int nchar, uchar bitlen[], int tablebits, -+ ushort table[] */ ); -+ -+/* from maketree.c */ -+/* -+ * void make_code(short n, uchar len[], ushort code[]); short make_tree(short -+ * nparm, ushort freqparm[], uchar lenparm[], ushort codeparam[]); -+ */ -+extern void make_code( /* int n, uchar len[], ushort code[] */ ); -+extern short make_tree( /* int nparm, ushort freqparm[], uchar lenparm[], -+ ushort codeparam[] */ ); -+ -+/* from crcio.c */ -+extern void make_crctable(); -+extern unsigned short calccrc( /* uchar *p, uint n */ ); -+extern void fillbuf( /* uchar n */ ); -+extern unsigned short getbits( /* uchar n */ ); -+extern void putcode( /* uchar n, ushort x */ ); -+extern void putbits( /* uchar n, ushort x */ ); -+extern int fread_crc( /* uchar *p, int n, FILE *f */ ); -+extern void fwrite_crc( /* uchar *p, int n, FILE *f */ ); -+extern void init_getbits(); -+extern void init_putbits(); -+extern void make_crctable(); -+extern unsigned short calccrc(); -+ -+/* from lhadd.c */ -+extern int encode_lzhuf(); -+extern int encode_stored_crc(); -+ -+/* Local Variables: */ -+/* mode:c */ -+/* tab-width:4 */ -+/* End: */ -+ -+ ---- lha-1.14i.orig/debian/org/header.c -+++ lha-1.14i/debian/org/header.c -@@ -0,0 +1,875 @@ -+/* ------------------------------------------------------------------------ */ -+/* LHa for UNIX */ -+/* header.c -- header manipulate functions */ -+/* */ -+/* Modified Nobutaka Watazaki */ -+/* */ -+/* Original Y.Tagawa */ -+/* modified 1991.12.16 M.Oki */ -+/* Ver. 1.10 Symbolic Link added 1993.10.01 N.Watazaki */ -+/* Ver. 1.13b Symbolic Link Bug Fix 1994.08.22 N.Watazaki */ -+/* Ver. 1.14 Source All chagned 1995.01.14 N.Watazaki */ -+/* Ver. 1.14i bug fixed 2000.10.06 t.okamoto */ -+/* ------------------------------------------------------------------------ */ -+#include "lha.h" -+ -+/* ------------------------------------------------------------------------ */ -+static char *get_ptr; -+/* ------------------------------------------------------------------------ */ -+int -+calc_sum(p, len) -+ register char *p; -+ register int len; -+{ -+ register int sum; -+ -+ for (sum = 0; len; len--) -+ sum += *p++; -+ -+ return sum & 0xff; -+} -+ -+/* ------------------------------------------------------------------------ */ -+static unsigned short -+get_word() -+{ -+ int b0, b1; -+ -+ b0 = get_byte(); -+ b1 = get_byte(); -+ return (b1 << 8) + b0; -+} -+ -+/* ------------------------------------------------------------------------ */ -+static void -+put_word(v) -+ unsigned int v; -+{ -+ put_byte(v); -+ put_byte(v >> 8); -+} -+ -+/* ------------------------------------------------------------------------ */ -+static long -+get_longword() -+{ -+ long b0, b1, b2, b3; -+ -+ b0 = get_byte(); -+ b1 = get_byte(); -+ b2 = get_byte(); -+ b3 = get_byte(); -+ return (b3 << 24) + (b2 << 16) + (b1 << 8) + b0; -+} -+ -+/* ------------------------------------------------------------------------ */ -+static void -+put_longword(v) -+ long v; -+{ -+ put_byte(v); -+ put_byte(v >> 8); -+ put_byte(v >> 16); -+ put_byte(v >> 24); -+} -+ -+/* ------------------------------------------------------------------------ */ -+static void -+msdos_to_unix_filename(name, len) -+ register char *name; -+ register int len; -+{ -+ register int i; -+ -+#ifdef MULTIBYTE_CHAR -+ for (i = 0; i < len; i++) { -+ if (MULTIBYTE_FIRST_P(name[i]) && -+ MULTIBYTE_SECOND_P(name[i + 1])) -+ i++; -+ else if (name[i] == '\\') -+ name[i] = '/'; -+ else if (!noconvertcase && isupper(name[i])) -+ name[i] = tolower(name[i]); -+ } -+#else -+ for (i = 0; i < len; i++) { -+ if (name[i] == '\\') -+ name[i] = '/'; -+ else if (!noconvertcase && isupper(name[i])) -+ name[i] = tolower(name[i]); -+ } -+#endif -+} -+ -+/* ------------------------------------------------------------------------ */ -+static void -+generic_to_unix_filename(name, len) -+ register char *name; -+ register int len; -+{ -+ register int i; -+ boolean lower_case_used = FALSE; -+ -+#ifdef MULTIBYTE_CHAR -+ for (i = 0; i < len; i++) { -+ if (MULTIBYTE_FIRST_P(name[i]) && -+ MULTIBYTE_SECOND_P(name[i + 1])) -+ i++; -+ else if (islower(name[i])) { -+ lower_case_used = TRUE; -+ break; -+ } -+ } -+ for (i = 0; i < len; i++) { -+ if (MULTIBYTE_FIRST_P(name[i]) && -+ MULTIBYTE_SECOND_P(name[i + 1])) -+ i++; -+ else if (name[i] == '\\') -+ name[i] = '/'; -+ else if (!noconvertcase && !lower_case_used && isupper(name[i])) -+ name[i] = tolower(name[i]); -+ } -+#else -+ for (i = 0; i < len; i++) -+ if (islower(name[i])) { -+ lower_case_used = TRUE; -+ break; -+ } -+ for (i = 0; i < len; i++) { -+ if (name[i] == '\\') -+ name[i] = '/'; -+ else if (!noconvertcase && !lower_case_used && isupper(name[i])) -+ name[i] = tolower(name[i]); -+ } -+#endif -+} -+ -+/* ------------------------------------------------------------------------ */ -+static void -+macos_to_unix_filename(name, len) -+ register char *name; -+ register int len; -+{ -+ register int i; -+ -+ for (i = 0; i < len; i++) { -+ if (name[i] == ':') -+ name[i] = '/'; -+ else if (name[i] == '/') -+ name[i] = ':'; -+ } -+} -+ -+/* ------------------------------------------------------------------------ */ -+static void -+unix_to_generic_filename(name, len) -+ register char *name; -+ register int len; -+{ -+ register int i; -+ -+ for (i = 0; i < len; i++) { -+ if (name[i] == '/') -+ name[i] = '\\'; -+ else if (islower(name[i])) -+ name[i] = toupper(name[i]); -+ } -+} -+ -+/* ------------------------------------------------------------------------ */ -+/* */ -+/* Generic stamp format: */ -+/* */ -+/* 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 */ -+/* |<-------- year ------->|<- month ->|<-- day -->| */ -+/* */ -+/* 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 */ -+/* |<--- hour --->|<---- minute --->|<- second*2 ->| */ -+/* */ -+/* ------------------------------------------------------------------------ */ -+ -+/* -+ * NOTE : If you don't have `gettimeofday(2)', or your gettimeofday(2) -+ * returns bogus timezone information, try FTIME, MKTIME, TIMELOCAL or TZSET. -+ */ -+ -+/* choose one */ -+#if defined(MKTIME) -+#ifdef TIMELOCAL -+#undef TIMELOCAL -+#endif -+#endif /* defined(MKTIME) */ -+ -+#if defined(MKTIME) || defined(TIMELOCAL) -+#ifdef TZSET -+#undef TZSET -+#endif -+#endif /* defined(MKTIME) || defined(TIMELOCAL) */ -+ -+#if defined(MKTIME) || defined(TIMELOCAL) || defined(TZSET) -+#ifdef FTIME -+#undef FTIME -+#endif -+#endif -+ -+#if defined(MKTIME) || defined(TIMELOCAL) || defined(TZSET) || defined(FTIME) -+#ifdef GETTIMEOFDAY -+#undef GETTIMEOFDAY -+#endif -+#else -+#ifndef GETTIMEOFDAY -+#define GETTIMEOFDAY /* use gettimeofday() */ -+#endif -+#endif -+ -+#ifdef FTIME -+#include -+#endif -+ -+/* -+ * You may define as : #define TIMEZONE_HOOK \ extern long -+ * timezone ; \ extern void tzset(); -+ */ -+#ifdef TIMEZONE_HOOK -+TIMEZONE_HOOK -+/* Which do you like better, `TIMEZONE_HOOK' or `TIMEZONE_HOOK;' ? */ -+#endif -+ -+#if defined(TZSET) && defined(_MINIX) -+extern long timezone; /* not defined in time.h */ -+#endif -+ -+/* ------------------------------------------------------------------------ */ -+#if defined(FTIME) || defined(GETTIMEOFDAY) || defined(TZSET) -+static long -+gettz() -+#ifdef TZSET -+{ -+ tzset(); -+ return timezone; -+} -+#endif -+ -+/* ------------------------------------------------------------------------ */ -+#if !defined(TZSET) && defined(FTIME) -+{ -+ struct timeb buf; -+ -+ ftime(&buf); -+ return buf.timezone * 60L; -+} -+#endif -+ -+/* ------------------------------------------------------------------------ */ -+#if !defined(TZSET) && !defined(FTIME) /* maybe defined(GETTIMEOFDAY) */ -+{ -+#ifdef HAVE_TM_ZONE -+ time_t tt; -+ -+ time(&tt); -+ return -localtime(&tt)->tm_gmtoff; -+#else /* HAVE_TM_ZONE */ -+ struct timeval tp; -+ struct timezone tzp; -+ gettimeofday(&tp, &tzp);/* specific to 4.3BSD */ -+ /* -+ * return (tzp.tz_minuteswest * 60L + (tzp.tz_dsttime != 0 ? 60L * -+ * 60L : 0)); -+ */ -+ return (tzp.tz_minuteswest * 60L); -+#endif /* HAVE_TM_ZONE */ -+} -+#endif -+#endif /* defined(FTIME) || defined(GETTIMEOFDAY) || -+ * defined(TZSET) */ -+ -+/* ------------------------------------------------------------------------ */ -+#ifdef NOT_USED -+static struct tm * -+msdos_to_unix_stamp_tm(a) -+ long a; -+{ -+ static struct tm t; -+ -+ t.tm_sec = (a & 0x1f) * 2; -+ t.tm_min = (a >> 5) & 0x3f; -+ t.tm_hour = (a >> 11) & 0x1f; -+ t.tm_mday = (a >> 16) & 0x1f; -+ t.tm_mon = ((a >> 16 + 5) & 0x0f) - 1; -+ t.tm_year = ((a >> 16 + 9) & 0x7f) + 80; -+ return &t; -+} -+#endif -+ -+/* ------------------------------------------------------------------------ */ -+static time_t -+generic_to_unix_stamp(t) -+ long t; -+#if defined(MKTIME) || defined(TIMELOCAL) -+{ -+ struct tm dostm; -+ -+ /* -+ * special case: if MSDOS format date and time were zero, then we -+ * set time to be zero here too. -+ */ -+ if (t == 0) -+ return (time_t) 0; -+ -+ dostm.tm_sec = (t & 0x1f) * 2; -+ dostm.tm_min = t >> 5 & 0x3f; -+ dostm.tm_hour = t >> 11 & 0x1f; -+ dostm.tm_mday = t >> 16 & 0x1f; -+ dostm.tm_mon = (t >> 16 + 5 & 0x0f) - 1; /* 0..11 */ -+ dostm.tm_year = (t >> 16 + 9 & 0x7f) + 80; -+#if 0 -+ dostm.tm_isdst = 0; /* correct? */ -+#endif -+ dostm.tm_isdst = -1; /* correct? */ -+#ifdef MKTIME -+ return (time_t) mktime(&dostm); -+#else /* maybe defined(TIMELOCAL) */ -+ return (time_t) timelocal(&dostm); -+#endif -+} -+ -+#else /* defined(MKTIME) || defined(TIMELOCAL) */ -+{ -+ int year, month, day, hour, min, sec; -+ long longtime; -+ static unsigned int dsboy[12] = {0, 31, 59, 90, 120, 151, -+ 181, 212, 243, 273, 304, 334}; -+ unsigned int days; -+ -+ /* -+ * special case: if MSDOS format date and time were zero, then we -+ * set time to be zero here too. -+ */ -+ if (t == 0) -+ return (time_t) 0; -+ -+ year = ((int) (t >> 16 + 9) & 0x7f) + 1980; -+ month = (int) (t >> 16 + 5) & 0x0f; /* 1..12 means Jan..Dec */ -+ day = (int) (t >> 16) & 0x1f; /* 1..31 means 1st,...31st */ -+ -+ hour = ((int) t >> 11) & 0x1f; -+ min = ((int) t >> 5) & 0x3f; -+ sec = ((int) t & 0x1f) * 2; -+ -+ /* Calculate days since 1970.01.01 */ -+ days = (365 * (year - 1970) + /* days due to whole years */ -+ (year - 1970 + 1) / 4 + /* days due to leap years */ -+ dsboy[month - 1] + /* days since beginning of this year */ -+ day - 1); /* days since beginning of month */ -+ -+ if ((year % 4 == 0) && -+ (year % 100 != 0 || year % 400 == 0) && /* 1999.5.24 t.oka */ -+ (month >= 3)) /* if this is a leap year and month */ -+ days++; /* is March or later, add a day */ -+ -+ /* Knowing the days, we can find seconds */ -+ longtime = (((days * 24) + hour) * 60 + min) * 60 + sec; -+ longtime += gettz(); /* adjust for timezone */ -+ -+ /* LONGTIME is now the time in seconds, since 1970/01/01 00:00:00. */ -+ return (time_t) longtime; -+} -+#endif /* defined(MKTIME) || defined(TIMELOCAL) */ -+ -+/* ------------------------------------------------------------------------ */ -+static long -+unix_to_generic_stamp(t) -+ time_t t; -+{ -+ struct tm *tm = localtime(&t); -+ -+ return ((((long) (tm->tm_year - 80)) << 25) + -+ (((long) (tm->tm_mon + 1)) << 21) + -+ (((long) tm->tm_mday) << 16) + -+ (long) ((tm->tm_hour << 11) + -+ (tm->tm_min << 5) + -+ (tm->tm_sec / 2))); -+} -+ -+/* ------------------------------------------------------------------------ */ -+/* build header functions */ -+/* ------------------------------------------------------------------------ */ -+boolean -+get_header(fp, hdr) -+ FILE *fp; -+ register LzHeader *hdr; -+{ -+ int header_size; -+ int name_length; -+ char data[LZHEADER_STRAGE]; -+ char dirname[FILENAME_LENGTH]; -+ int dir_length = 0; -+ int checksum; -+ int i; -+ char *ptr; -+ int extend_size; -+ int dmy; -+ -+ bzero(hdr, sizeof(LzHeader)); -+ -+ if (((header_size = getc(fp)) == EOF) || (header_size == 0)) { -+ return FALSE; /* finish */ -+ } -+ -+ if (fread(data + I_HEADER_CHECKSUM, -+ sizeof(char), header_size - 1, fp) < header_size - 1) { -+ fatal_error("Invalid header (LHarc file ?)"); -+ return FALSE; /* finish */ -+ } -+ setup_get(data + I_HEADER_LEVEL); -+ hdr->header_level = get_byte(); -+ if (hdr->header_level != 2 && -+ fread(data + header_size, sizeof(char), 2, fp) < 2) { -+ fatal_error("Invalid header (LHarc file ?)"); -+ return FALSE; /* finish */ -+ } -+ -+ if (hdr->header_level >= 3) { -+ fatal_error("Unknown level header"); -+ return FALSE; -+ } -+ -+ setup_get(data + I_HEADER_CHECKSUM); -+ checksum = get_byte(); -+ -+ if (hdr->header_level == 2) { -+ hdr->header_size = header_size + checksum*256; -+ } else { -+ hdr->header_size = header_size; -+ } -+ bcopy(data + I_METHOD, hdr->method, METHOD_TYPE_STRAGE); -+ setup_get(data + I_PACKED_SIZE); -+ hdr->packed_size = get_longword(); -+ hdr->original_size = get_longword(); -+ hdr->last_modified_stamp = get_longword(); -+ hdr->attribute = get_byte(); -+ -+ if ((hdr->header_level = get_byte()) != 2) { -+ if (calc_sum(data + I_METHOD, header_size) != checksum) -+ warning("Checksum error (LHarc file?)", ""); -+ name_length = get_byte(); -+ for (i = 0; i < name_length; i++) -+ hdr->name[i] = (char) get_byte(); -+ hdr->name[name_length] = '\0'; -+ } -+ else { -+ hdr->unix_last_modified_stamp = hdr->last_modified_stamp; -+ name_length = 0; -+ } -+ -+ /* defaults for other type */ -+ hdr->unix_mode = UNIX_FILE_REGULAR | UNIX_RW_RW_RW; -+ hdr->unix_gid = 0; -+ hdr->unix_uid = 0; -+ -+ if (hdr->header_level == 0) { -+ extend_size = header_size - name_length -22; -+ if (extend_size < 0) { -+ if (extend_size == -2) { -+ hdr->extend_type = EXTEND_GENERIC; -+ hdr->has_crc = FALSE; -+ } else { -+ fatal_error("Unkonwn header (lha file?)"); -+ return FALSE; -+ } -+ } else { -+ hdr->has_crc = TRUE; -+ hdr->crc = get_word(); -+ } -+ -+ if (extend_size >= 1) { -+ hdr->extend_type = get_byte(); -+ extend_size--; -+ } -+ if (hdr->extend_type == EXTEND_UNIX) { -+ if (extend_size >= 11) { -+ hdr->minor_version = get_byte(); -+ hdr->unix_last_modified_stamp = (time_t) get_longword(); -+ hdr->unix_mode = get_word(); -+ hdr->unix_uid = get_word(); -+ hdr->unix_gid = get_word(); -+ extend_size -= 11; -+ } else { -+ hdr->extend_type = EXTEND_GENERIC; -+ } -+ } -+ while (extend_size-- > 0) -+ dmy = get_byte(); -+ if (hdr->extend_type == EXTEND_UNIX) -+ return TRUE; -+ } else if (hdr->header_level == 1) { -+ hdr->has_crc = TRUE; -+ extend_size = header_size - name_length-25; -+ hdr->crc = get_word(); -+ hdr->extend_type = get_byte(); -+ while (extend_size-- > 0) -+ dmy = get_byte(); -+ } else { /* level 2 */ -+ hdr->has_crc = TRUE; -+ hdr->crc = get_word(); -+ hdr->extend_type = get_byte(); -+ } -+ -+ if (hdr->header_level > 0) { -+ /* Extend Header */ -+ if (hdr->header_level != 2) -+ setup_get(data + hdr->header_size); -+ ptr = get_ptr; -+ while ((header_size = get_word()) != 0) { -+ if (hdr->header_level != 2 && -+ ((data + LZHEADER_STRAGE - get_ptr < header_size) || -+ fread(get_ptr, sizeof(char), header_size, fp) < header_size)) { -+ fatal_error("Invalid header (LHa file ?)"); -+ return FALSE; -+ } -+ switch (get_byte()) { -+ case 0: -+ /* -+ * header crc -+ */ -+ setup_get(get_ptr + header_size - 3); -+ break; -+ case 1: -+ /* -+ * filename -+ */ -+ for (i = 0; i < header_size - 3; i++) -+ hdr->name[i] = (char) get_byte(); -+ hdr->name[header_size - 3] = '\0'; -+ name_length = header_size - 3; -+ break; -+ case 2: -+ /* -+ * directory -+ */ -+ for (i = 0; i < header_size - 3; i++) -+ dirname[i] = (char) get_byte(); -+ dirname[header_size - 3] = '\0'; -+ convdelim(dirname, DELIM); -+ dir_length = header_size - 3; -+ break; -+ case 0x40: -+ /* -+ * MS-DOS attribute -+ */ -+ if (hdr->extend_type == EXTEND_MSDOS || -+ hdr->extend_type == EXTEND_HUMAN || -+ hdr->extend_type == EXTEND_GENERIC) -+ hdr->attribute = get_word(); -+ break; -+ case 0x50: -+ /* -+ * UNIX permission -+ */ -+ if (hdr->extend_type == EXTEND_UNIX) -+ hdr->unix_mode = get_word(); -+ break; -+ case 0x51: -+ /* -+ * UNIX gid and uid -+ */ -+ if (hdr->extend_type == EXTEND_UNIX) { -+ hdr->unix_gid = get_word(); -+ hdr->unix_uid = get_word(); -+ } -+ break; -+ case 0x52: -+ /* -+ * UNIX group name -+ */ -+ setup_get(get_ptr + header_size - 3); -+ break; -+ case 0x53: -+ /* -+ * UNIX user name -+ */ -+ setup_get(get_ptr + header_size - 3); -+ break; -+ case 0x54: -+ /* -+ * UNIX last modified time -+ */ -+ if (hdr->extend_type == EXTEND_UNIX) -+ hdr->unix_last_modified_stamp = (time_t) get_longword(); -+ break; -+ default: -+ /* -+ * other headers -+ */ -+ setup_get(get_ptr + header_size - 3); -+ break; -+ } -+ } -+ if (hdr->header_level != 2 && get_ptr - ptr != 2) { -+ hdr->packed_size -= get_ptr - ptr - 2; -+ hdr->header_size += get_ptr - ptr - 2; -+ } -+ } -+ -+ switch (hdr->extend_type) { -+ case EXTEND_MSDOS: -+ msdos_to_unix_filename(hdr->name, name_length); -+ msdos_to_unix_filename(dirname, dir_length); -+ case EXTEND_HUMAN: -+ if (hdr->header_level == 2) -+ hdr->unix_last_modified_stamp = hdr->last_modified_stamp; -+ else -+ hdr->unix_last_modified_stamp = -+ generic_to_unix_stamp(hdr->last_modified_stamp); -+ break; -+ -+#ifdef OSK -+ case EXTEND_OS68K: -+ case EXTEND_XOSK: -+#endif -+ case EXTEND_UNIX: -+ break; -+ -+ case EXTEND_MACOS: -+ macos_to_unix_filename(hdr->name, name_length); -+ /* macos_to_unix_filename(dirname, dir_length); */ -+ hdr->unix_last_modified_stamp = -+ generic_to_unix_stamp(hdr->last_modified_stamp); -+ break; -+ -+ default: -+ generic_to_unix_filename(hdr->name, name_length); -+ generic_to_unix_filename(dirname, dir_length); -+ if (hdr->header_level == 2) -+ hdr->unix_last_modified_stamp = hdr->last_modified_stamp; -+ else -+ hdr->unix_last_modified_stamp = -+ generic_to_unix_stamp(hdr->last_modified_stamp); -+ } -+ -+ if (dir_length) { -+ strcat(dirname, hdr->name); -+ strcpy(hdr->name, dirname); -+ name_length += dir_length; -+ } -+ -+ return TRUE; -+} -+ -+/* ------------------------------------------------------------------------ */ -+void -+init_header(name, v_stat, hdr) -+ char *name; -+ struct stat *v_stat; -+ LzHeader *hdr; -+{ -+ int len; -+ -+ if (compress_method == LZHUFF5_METHOD_NUM) /* Changed N.Watazaki */ -+ bcopy(LZHUFF5_METHOD, hdr->method, METHOD_TYPE_STRAGE); -+ else if (compress_method) -+ bcopy(LZHUFF1_METHOD, hdr->method, METHOD_TYPE_STRAGE); -+ else -+ bcopy(LZHUFF0_METHOD, hdr->method, METHOD_TYPE_STRAGE); -+ -+ hdr->packed_size = 0; -+ hdr->original_size = v_stat->st_size; -+ hdr->last_modified_stamp = unix_to_generic_stamp(v_stat->st_mtime); -+ hdr->attribute = GENERIC_ATTRIBUTE; -+ hdr->header_level = header_level; -+ strcpy(hdr->name, name); -+ len = strlen(name); -+ hdr->crc = 0x0000; -+ hdr->extend_type = EXTEND_UNIX; -+ hdr->unix_last_modified_stamp = v_stat->st_mtime; -+ /* since 00:00:00 JAN.1.1970 */ -+#ifdef NOT_COMPATIBLE_MODE -+ /* Please need your modification in this space. */ -+#else -+ hdr->unix_mode = v_stat->st_mode; -+#endif -+ -+ hdr->unix_uid = v_stat->st_uid; -+ hdr->unix_gid = v_stat->st_gid; -+ -+ if (is_directory(v_stat)) { -+ bcopy(LZHDIRS_METHOD, hdr->method, METHOD_TYPE_STRAGE); -+ hdr->attribute = GENERIC_DIRECTORY_ATTRIBUTE; -+ hdr->original_size = 0; -+ if (len > 0 && hdr->name[len - 1] != '/') -+ strcpy(&hdr->name[len++], "/"); -+ } -+ -+#ifdef S_IFLNK -+ if (is_symlink(v_stat)) { -+ char lkname[257]; -+ int len; -+ bcopy(LZHDIRS_METHOD, hdr->method, METHOD_TYPE_STRAGE); -+ hdr->attribute = GENERIC_DIRECTORY_ATTRIBUTE; -+ hdr->original_size = 0; -+ len = readlink(name, lkname, 256); -+ lkname[len] = (char)'\0'; -+ sprintf(hdr->name, "%s|%s", hdr->name, lkname); -+ } -+#endif -+ if (generic_format) -+ unix_to_generic_filename(hdr->name, len); -+} -+ -+/* ------------------------------------------------------------------------ */ -+/* Write unix extended header or generic header. */ -+void -+write_header(nafp, hdr) -+ FILE *nafp; -+ LzHeader *hdr; -+{ -+ int header_size; -+ int name_length; -+ char data[LZHEADER_STRAGE]; -+ char *p; -+ char *headercrc_ptr; -+ -+ bzero(data, LZHEADER_STRAGE); -+ bcopy(hdr->method, data + I_METHOD, METHOD_TYPE_STRAGE); -+ setup_put(data + I_PACKED_SIZE); -+ put_longword(hdr->packed_size); -+ put_longword(hdr->original_size); -+ -+ if (hdr->header_level == HEADER_LEVEL2) -+ put_longword((long) hdr->unix_last_modified_stamp); -+ else -+ put_longword(hdr->last_modified_stamp); -+ -+ switch (hdr->header_level) { -+ case HEADER_LEVEL0: -+ put_byte(hdr->attribute); -+ break; -+ case HEADER_LEVEL1: -+ case HEADER_LEVEL2: -+ put_byte(0x20); -+ break; -+ } -+ -+ put_byte(hdr->header_level); -+ -+ convdelim(hdr->name, DELIM2); -+ if (hdr->header_level != HEADER_LEVEL2) { -+ if (p = (char *) rindex(hdr->name, DELIM2)) -+ name_length = strlen(++p); -+ else -+ name_length = strlen(hdr->name); -+ put_byte(name_length); -+ bcopy(p ? p : hdr->name, data + I_NAME, name_length); -+ setup_put(data + I_NAME + name_length); -+ } -+ -+ put_word(hdr->crc); -+ if (header_level == HEADER_LEVEL0) { -+ if (generic_format) { -+ header_size = I_GENERIC_HEADER_BOTTOM - 2 + name_length; -+ data[I_HEADER_SIZE] = header_size; -+ data[I_HEADER_CHECKSUM] = calc_sum(data + I_METHOD, header_size); -+ } else { -+ /* write old-style extend header */ -+ put_byte(EXTEND_UNIX); -+ put_byte(CURRENT_UNIX_MINOR_VERSION); -+ put_longword((long) hdr->unix_last_modified_stamp); -+ put_word(hdr->unix_mode); -+ put_word(hdr->unix_uid); -+ put_word(hdr->unix_gid); -+ header_size = I_UNIX_EXTEND_BOTTOM - 2 + name_length; -+ data[I_HEADER_SIZE] = header_size; -+ data[I_HEADER_CHECKSUM] = calc_sum(data + I_METHOD, header_size); -+ } -+ } else { -+ /* write extend header. */ -+ char *ptr; -+ -+ if (generic_format) -+ put_byte(0x00); -+ else -+ put_byte(EXTEND_UNIX); -+ -+ ptr = put_ptr; -+ if (hdr->header_level == HEADER_LEVEL2) { -+ /* write common header */ -+ put_word(5); -+ put_byte(0x00); -+ headercrc_ptr = put_ptr; -+ put_word(0x0000); -+ } -+ -+ if (generic_format) { -+ header_size = put_ptr - data; /* +2 for last 0x0000 */ -+ } else { -+ put_word(5); -+ if (hdr->header_level == HEADER_LEVEL1) -+ header_size = put_ptr - data - 2; -+ put_byte(0x50); /* permission */ -+ put_word(hdr->unix_mode); -+ put_word(7); -+ put_byte(0x51); /* gid and uid */ -+ put_word(hdr->unix_gid); -+ put_word(hdr->unix_uid); -+ -+ if (p = (char *) rindex(hdr->name, DELIM2)) { -+ int i; -+ -+ name_length = p - hdr->name + 1; -+ put_word(name_length + 3); -+ put_byte(2); /* dirname */ -+ for (i = 0; i < name_length; i++) -+ put_byte(hdr->name[i]); -+ } -+ } /* if generic .. */ -+ -+ if (header_level != HEADER_LEVEL2) { -+ if (!generic_format) { -+ put_word(7); -+ put_byte(0x54); /* time stamp */ -+ put_longword(hdr->unix_last_modified_stamp); -+ } -+ hdr->packed_size += put_ptr - ptr; -+ ptr = put_ptr; -+ setup_put(data + I_PACKED_SIZE); -+ put_longword(hdr->packed_size); -+ put_ptr = ptr; -+ data[I_HEADER_SIZE] = header_size; -+ data[I_HEADER_CHECKSUM] = calc_sum(data + I_METHOD, header_size); -+ } else { /* header level 2 */ -+ int i; -+ if (p = (char *) rindex(hdr->name, DELIM2)) -+ name_length = strlen(++p); -+ else { -+ p = hdr->name; -+ name_length = strlen(hdr->name); -+ } -+ put_word(name_length + 3); -+ put_byte(1); /* filename */ -+ for (i = 0; i < name_length; i++) -+ put_byte(*p++); -+ } /* if he.. != HEAD_LV2 */ -+ header_size = put_ptr - data; -+ } -+ -+ if (header_level == HEADER_LEVEL2) { -+ unsigned short hcrc; -+ setup_put(data + I_HEADER_SIZE); -+ put_word(header_size + 2); -+ /* common header */ -+ hcrc = calc_header_crc(data, (unsigned int) header_size + 2); -+ setup_put(headercrc_ptr); -+ put_word(hcrc); -+ } -+ -+ if (fwrite(data, sizeof(char), header_size + 2, nafp) == 0) -+ fatal_error("Cannot write to temporary file"); -+ -+ convdelim(hdr->name, DELIM); -+} -+ -+/* Local Variables: */ -+/* mode:c */ -+/* tab-width:4 */ -+/* compile-command:"gcc -c header.c" */ -+/* End: */ ---- lha-1.14i.orig/debian/org/lharc.c -+++ lha-1.14i/debian/org/lharc.c -@@ -0,0 +1,1135 @@ -+/* ------------------------------------------------------------------------ */ -+/* LHa for UNIX */ -+/* lharc.c -- append to archive */ -+/* */ -+/* Copyright (C) MCMLXXXIX Yooichi.Tagawa */ -+/* Modified Nobutaka Watazaki */ -+/* Thanks to H.Yoshizaki. (MS-DOS LHarc) */ -+/* */ -+/* Ver. 0.00 Original 1988.05.23 Y.Tagawa */ -+/* Ver. 0.01 Alpha Version (for 4.2BSD) 1989.05.28 Y.Tagawa */ -+/* Ver. 0.02 Alpha Version Rel.2 1989.05.29 Y.Tagawa */ -+/* Ver. 0.03 Release #3 Beta Version 1989.07.02 Y.Tagawa */ -+/* Ver. 0.03a Debug 1989.07.03 Y.Tagawa */ -+/* Ver. 0.03b Modified 1989.07.13 Y.Tagawa */ -+/* Ver. 0.03c Debug (Thanks to void@rena.dit.junet) */ -+/* 1989.08.09 Y.Tagawa */ -+/* Ver. 0.03d Modified (quiet and verbose) 1989.09.14 Y.Tagawa */ -+/* V1.00 Fixed 1989.09.22 Y.Tagawa */ -+/* V1.01 Bug Fixed 1989.12.25 Y.Tagawa */ -+/* */ -+/* DOS-Version Original LHx V C2.01 (C) H.Yohizaki */ -+/* */ -+/* V2.00 UNIX Lharc + DOS LHx -> OSK LHx 1990.11.01 Momozou */ -+/* V2.01 Minor Modified 1990.11.24 Momozou */ -+/* */ -+/* Ver. 0.02 LHx for UNIX 1991.11.18 M.Oki */ -+/* Ver. 0.03 LHa for UNIX 1991.12.17 M.Oki */ -+/* Ver. 0.04 LHa for UNIX beta version 1992.01.20 M.Oki */ -+/* Ver. 1.00 LHa for UNIX Fixed 1992.03.19 M.Oki */ -+/* */ -+/* Ver. 1.10 for Symblic Link 1993.06.25 N.Watazaki */ -+/* Ver. 1.11 for Symblic Link Bug Fixed 1993.08.18 N.Watazaki */ -+/* Ver. 1.12 for File Date Check 1993.10.28 N.Watazaki */ -+/* Ver. 1.13 Bug Fixed (Idicator calcurate) 1994.02.21 N.Watazaki */ -+/* Ver. 1.13a Bug Fixed (Sym. Link delete) 1994.03.11 N.Watazaki */ -+/* Ver. 1.13b Bug Fixed (Sym. Link delete) 1994.07.29 N.Watazaki */ -+/* Ver. 1.14 Source All chagned 1995.01.14 N.Watazaki */ -+/* Ver. 1.14b,c Bug Fixed 1996.03.07 t.okamoto */ -+/* Ver. 1.14d Version up 1997.01.12 t.okamoto */ -+/* Ver. 1.14g Bug Fixed 2000.05.06 t.okamoto */ -+/* Ver. 1.14i Modified 2000.10.06 t.okamoto */ -+/* ------------------------------------------------------------------------ */ -+#define LHA_MAIN_SRC -+ -+#include "lha.h" -+ -+/* ------------------------------------------------------------------------ */ -+/* PROGRAM */ -+/* ------------------------------------------------------------------------ */ -+static int cmd = CMD_UNKNOWN; -+ -+/* 1996.8.13 t.okamoto */ -+#if 0 -+char **cmd_filev; -+int cmd_filec; -+ -+char *archive_name; -+char expanded_archive_name[FILENAME_LENGTH]; -+char temporary_name[FILENAME_LENGTH]; -+char backup_archive_name[FILENAME_LENGTH]; -+#endif -+ -+/* static functions */ -+static void sort_files(); -+static void print_version(); -+ -+char *extract_directory = NULL; -+char **xfilev; -+int xfilec = 257; -+ -+/* 1996.8.13 t.okamoto */ -+#if 0 -+char *writting_filename; -+char *reading_filename; -+ -+int archive_file_mode; -+int archive_file_gid; -+#endif -+/* ------------------------------------------------------------------------ */ -+static void -+init_variable() /* Added N.Watazaki */ -+{ -+/* options */ -+ quiet = FALSE; -+ text_mode = FALSE; -+ verbose = FALSE; -+ noexec = FALSE; /* debugging option */ -+ force = FALSE; -+ prof = FALSE; -+#ifndef SUPPORT_LH7 -+ compress_method = LZHUFF5_METHOD_NUM; -+#endif -+#ifdef SUPPORT_LH7 -+ compress_method = LZHUFF7_METHOD_NUM; -+#endif -+ -+ header_level = HEADER_LEVEL1; -+ quiet_mode = 0; -+ -+#ifdef EUC -+ euc_mode = FALSE; -+#endif -+ -+/* view command flags */ -+ verbose_listing = FALSE; -+ -+/* extract command flags */ -+ output_to_stdout = FALSE; -+ -+/* append command flags */ -+ new_archive = FALSE; -+ update_if_newer = FALSE; -+ delete_after_append = FALSE; -+ generic_format = FALSE; -+ -+ remove_temporary_at_error = FALSE; -+ recover_archive_when_interrupt = FALSE; -+ remove_extracting_file_when_interrupt = FALSE; -+ get_filename_from_stdin = FALSE; -+ ignore_directory = FALSE; -+ verify_mode = FALSE; -+ -+ noconvertcase = FALSE; -+ -+ extract_directory = NULL; -+ xfilec = 257; -+} -+ -+/* ------------------------------------------------------------------------ */ -+/* NOTES : Text File Format */ -+/* GENERATOR NewLine */ -+/* [generic] 0D 0A */ -+/* [MS-DOS] 0D 0A */ -+/* [OS9][MacOS] 0D */ -+/* [UNIX] 0A */ -+/* ------------------------------------------------------------------------ */ -+static void -+print_tiny_usage_and_exit() -+{ -+ fprintf(stderr, "\ -+LHarc for UNIX V 1.02 Copyright(C) 1989 Y.Tagawa\n\ -+LHx for MSDOS V C2.01 Copyright(C) 1990 H.Yoshizaki\n\ -+LHx(arc) for OSK V 2.01 Modified 1990 Momozou\n\ -+LHa for UNIX V 1.00 Copyright(C) 1992 Masaru Oki\n\ -+LHa for UNIX V 1.14 Modified 1995 Nobutaka Watazaki\n\ -+LHa for UNIX V 1.14i Modified 2000 Tsugio Okamoto\n\ -+"); -+ fprintf(stderr, "\ -+usage: lha [-]{axelvudmcp[q[num]][vnfodizg012]}[w=] archive_file [file...]\n\ -+commands: options:\n\ -+ a Add(or replace) to archive q{num} quiet (num:quiet mode)\n\ -+ x,e EXtract from archive v verbose\n\ -+ l,v List / Verbose List n not execute\n\ -+ u Update newer files to archive f force (over write at extract)\n\ -+ d Delete from archive t FILES are TEXT file\n"); -+#ifdef SUPPORT_LH7 -+ fprintf(stderr, "\ -+ m Move to archive (means 'ad') o[567] compression method (a/u)\n\ -+"); -+#endif -+#ifndef SUPPORT_LH7 -+ fprintf(stderr, "\ -+ m Move to archive (means 'ad') o use LHarc compatible method (a/u)\n\ -+"); -+#endif -+ fprintf(stderr, "\ -+ c re-Construct new archive w= specify extract directory (a/u/m/x/e)\n\ -+ p Print to STDOUT from archive d delete FILES after (a/u/c)\n\ -+ t Test file CRC in archive i ignore directory path (x/e)\n\ -+ z files not compress (a/u)\n\ -+ g Generic format (for compatibility)\n\ -+ or not convert case when extracting\n\ -+ 0/1/2 header level (a/u)\n\ -+"); -+#ifdef EUC -+ fprintf(stderr, "\ -+ e TEXT code convert from/to EUC\n\ -+"); -+#endif -+ exit(1); -+} -+ -+/* ------------------------------------------------------------------------ */ -+int -+main(argc, argv) -+ int argc; -+ char *argv[]; -+{ -+ char *p, inpbuf[256]; -+ -+ int i; -+ int ac; -+ char **av, *m; -+ -+ init_variable(); /* Added N.Watazaki */ -+ -+ ac = argc; -+ av = (char **)malloc( sizeof(char*)*argc ); -+ if (av == NULL) fatal_error("not enough memory\n"); -+ for (i=0; i= xfilec) { -+ xfilec += 256; -+ cmd_filev = (char **) realloc(xfilev, -+ sizeof(char *) * xfilec); -+ if (cmd_filev == NULL) -+ fatal_error("Virtual memory exhausted\n"); -+ xfilev = cmd_filev; -+ } -+ if (strlen(inpbuf) < 1) -+ continue; -+ if ((xfilev[cmd_filec++] = (char *) strdup(inpbuf)) == NULL) -+ fatal_error("Virtual memory exhausted\n"); -+ } -+ xfilev[cmd_filec] = NULL; -+ cmd_filev = xfilev; -+ } else { -+ cmd_filec = ac - 3; -+ cmd_filev = av + 3; -+ } -+ sort_files(); -+ -+ /* make crc table */ -+ make_crctable(); -+ -+ switch (cmd) { -+ case CMD_EXTRACT: -+ cmd_extract(); -+ break; -+ case CMD_ADD: -+ cmd_add(); -+ break; -+ case CMD_LIST: -+ cmd_list(); -+ break; -+ case CMD_DELETE: -+ cmd_delete(); -+ break; -+ } -+ -+#ifdef USE_PROF -+ if (!prof) -+ exit(0); -+#endif -+ -+ return 0; -+} -+ -+ -+/* ------------------------------------------------------------------------ */ -+/* */ -+/* ------------------------------------------------------------------------ */ -+ -+/* ------------------------------------------------------------------------ */ -+static void -+print_version() -+{ -+ fprintf(stderr, "%s\n", LHA_VERSION); -+} -+ -+/* ------------------------------------------------------------------------ */ -+static void -+message_1(title, subject, name) -+ char *title, *subject, *name; -+{ -+ fprintf(stderr, "LHa: %s%s ", title, subject); -+ fflush(stderr); -+ -+ if (errno == 0) -+ fprintf(stderr, "%s\n", name); -+ else -+ perror(name); -+} -+ -+/* ------------------------------------------------------------------------ */ -+void -+message(subject, name) -+ char *subject, *name; -+{ -+ message_1("", subject, name); -+} -+ -+/* ------------------------------------------------------------------------ */ -+void -+warning(subject, name) -+ char *subject, *name; -+{ -+ message_1("Warning: ", subject, name); -+} -+ -+/* ------------------------------------------------------------------------ */ -+void -+error(subject, msg) -+ char *subject, *msg; -+{ -+ message_1("Error: ", subject, msg); -+} -+ -+/* ------------------------------------------------------------------------ */ -+void -+fatal_error(msg) -+ char *msg; -+{ -+ message_1("Fatal error:", "", msg); -+ -+ if (remove_temporary_at_error) -+ unlink(temporary_name); -+ -+ exit(1); -+} -+ -+/* ------------------------------------------------------------------------ */ -+void -+write_error() -+{ -+ fatal_error(writting_filename); -+} -+ -+/* ------------------------------------------------------------------------ */ -+void -+read_error() -+{ -+ fatal_error(reading_filename); -+} -+ -+/* ------------------------------------------------------------------------ */ -+void -+interrupt(signo) -+ int signo; -+{ -+ errno = 0; -+ message("Interrupted\n", ""); -+ -+ if (temporary_fp) -+ fclose(temporary_fp); -+ unlink(temporary_name); -+ if (recover_archive_when_interrupt) -+ rename(backup_archive_name, archive_name); -+ if (remove_extracting_file_when_interrupt) { -+ errno = 0; -+ message("Removing", writting_filename); -+ unlink(writting_filename); -+ } -+ signal(SIGINT, SIG_DFL); -+ signal(SIGHUP, SIG_DFL); -+ kill(getpid(), signo); -+} -+ -+/* ------------------------------------------------------------------------ */ -+/* */ -+/* ------------------------------------------------------------------------ */ -+static int -+sort_by_ascii(a, b) -+ char **a, **b; -+{ -+ register char *p, *q; -+ register int c1, c2; -+ -+ p = *a, q = *b; -+ if (generic_format) { -+ do { -+ c1 = *(unsigned char *) p++; -+ c2 = *(unsigned char *) q++; -+ if (!c1 || !c2) -+ break; -+ if (islower(c1)) -+ c1 = toupper(c1); -+ if (islower(c2)) -+ c2 = toupper(c2); -+ } -+ while (c1 == c2); -+ return c1 - c2; -+ } -+ else { -+ while (*p == *q && *p != '\0') -+ p++, q++; -+ return *(unsigned char *) p - *(unsigned char *) q; -+ } -+} -+ -+/* ------------------------------------------------------------------------ */ -+static void -+sort_files() -+{ -+ if (cmd_filec > 1) -+ qsort(cmd_filev, cmd_filec, sizeof(char *), sort_by_ascii); -+} -+ -+/* ------------------------------------------------------------------------ */ -+char * -+xmalloc(size) -+ int size; -+{ -+ char *p = (char *) malloc(size); -+ if (!p) -+ fatal_error("Not enough memory"); -+ return p; -+} -+ -+/* ------------------------------------------------------------------------ */ -+char * -+xrealloc(old, size) -+ char *old; -+ int size; -+{ -+ char *p = (char *) realloc(old, size); -+ if (!p) -+ fatal_error("Not enough memory"); -+ return p; -+} -+ -+/* ------------------------------------------------------------------------ */ -+/* STRING POOL */ -+/* ------------------------------------------------------------------------ */ -+/* -+ string pool : -+ +-------------+-------------+------+-------------+----------+ -+ | N A M E 1 \0| N A M E 2 \0| .... | N A M E n \0| | -+ +-------------+-------------+------+-------------+----------+ -+ ^ ^ ^ buffer+0 buffer+used buffer+size -+ -+ vector : -+ +---------------+---------------+------------- -----------------+ -+ | pointer to | pointer to | pointer to ... pointer to | -+ | stringpool | N A M E 1 | N A M E 2 ... N A M E n | -+ +---------------+---------------+------------- -------------+ -+ ^ malloc base returned -+*/ -+ -+/* ------------------------------------------------------------------------ */ -+void -+init_sp(sp) -+ struct string_pool *sp; -+{ -+ sp->size = 1024 - 8; /* any ( >=0 ) */ -+ sp->used = 0; -+ sp->n = 0; -+ sp->buffer = (char *) xmalloc(sp->size * sizeof(char)); -+} -+ -+/* ------------------------------------------------------------------------ */ -+void -+add_sp(sp, name, len) -+ struct string_pool *sp; -+ char *name; /* stored '\0' at tail */ -+ int len; /* include '\0' */ -+{ -+ while (sp->used + len > sp->size) { -+ sp->size *= 2; -+ sp->buffer = (char *) xrealloc(sp->buffer, sp->size * sizeof(char)); -+ } -+ bcopy(name, sp->buffer + sp->used, len); -+ sp->used += len; -+ sp->n++; -+} -+ -+/* ------------------------------------------------------------------------ */ -+void -+finish_sp(sp, v_count, v_vector) -+ register struct string_pool *sp; -+ int *v_count; -+ char ***v_vector; -+{ -+ int i; -+ register char *p; -+ char **v; -+ -+ v = (char **) xmalloc((sp->n + 1) * sizeof(char *)); -+ *v++ = sp->buffer; -+ *v_vector = v; -+ *v_count = sp->n; -+ p = sp->buffer; -+ for (i = sp->n; i; i--) { -+ *v++ = p; -+ if (i - 1) -+ p += strlen(p) + 1; -+ } -+} -+ -+/* ------------------------------------------------------------------------ */ -+void -+free_sp(vector) -+ char **vector; -+{ -+ vector--; -+ free(*vector); /* free string pool */ -+ free(vector); -+} -+ -+ -+/* ------------------------------------------------------------------------ */ -+/* READ DIRECTORY FILES */ -+/* ------------------------------------------------------------------------ */ -+static boolean -+include_path_p(path, name) -+ char *path, *name; -+{ -+ char *n = name; -+ while (*path) -+ if (*path++ != *n++) -+ return (path[-1] == '/' && *n == '\0'); -+ return (*n == '/' || (n != name && path[-1] == '/' && n[-1] == '/')); -+} -+ -+/* ------------------------------------------------------------------------ */ -+void -+cleaning_files(v_filec, v_filev) -+ int *v_filec; -+ char ***v_filev; -+{ -+ char *flags; -+ struct stat stbuf; -+ -+ register char **filev = *v_filev; -+ register int filec = *v_filec; -+ register char *p; -+ register int i, j; -+ -+ if (filec == 0) -+ return; -+ -+ flags = xmalloc(filec * sizeof(char)); -+ -+ /* flags & 0x01 : 1: ignore */ -+ /* flags & 0x02 : 1: directory, 0 : regular file */ -+ /* flags & 0x04 : 1: need delete */ -+ -+ -+ for (i = 0; i < filec; i++) -+ if (GETSTAT(filev[i], &stbuf) < 0) { -+ flags[i] = 0x04; -+ fprintf(stderr, -+ "LHa: Cannot access \"%s\", ignored.\n", filev[i]); -+ } -+ else { -+ if (is_regularfile(&stbuf)) -+ flags[i] = 0x00; -+ else if (is_directory(&stbuf)) -+ flags[i] = 0x02; -+#ifdef S_IFLNK -+ else if (is_symlink(&stbuf)) /* t.okamoto */ -+ flags[i] = 0x00; -+#endif -+ else { -+ flags[i] = 0x04; -+ fprintf(stderr, -+ "LHa: Cannot archive \"%s\", ignored.\n", filev[i]); -+ } -+ } -+ errno = 0; -+ -+ for (i = 0; i < filec; i++) { -+ p = filev[i]; -+ if ((flags[i] & 0x07) == 0x00) { /* regular file, not -+ * deleted/ignored */ -+ for (j = i + 1; j < filec; j++) { -+ if ((flags[j] & 0x07) == 0x00) { /* regular file, not -+ * deleted/ignored */ -+ if (STREQU(p, filev[j])) -+ flags[j] = 0x04; /* delete */ -+ } -+ } -+ } -+ else if ((flags[i] & 0x07) == 0x02) { /* directory, not -+ * deleted/ignored */ -+ for (j = i + 1; j < filec; j++) { -+ if ((flags[j] & 0x07) == 0x00) { /* regular file, not -+ * deleted/ignored */ -+ if (include_path_p(p, filev[j])) -+ flags[j] = 0x04; /* delete */ -+ } -+ else if ((flags[j] & 0x07) == 0x02) { /* directory, not -+ * deleted/ignored */ -+ if (include_path_p(p, filev[j])) -+ flags[j] = 0x04; /* delete */ -+ } -+ } -+ } -+ } -+ -+ for (i = j = 0; i < filec; i++) { -+ if ((flags[i] & 0x04) == 0) { -+ if (i != j) -+ filev[j] = filev[i]; -+ j++; -+ } -+ } -+ *v_filec = j; -+ -+ free(flags); -+} -+ -+/* ------------------------------------------------------------------------ */ -+#ifdef NODIRECTORY -+/* please need your imprementation */ -+boolean -+find_files(name, v_filec, v_filev) -+ char *name; -+ int *v_filec; -+ char ***v_filev; -+{ -+ return FALSE; /* DUMMY */ -+} -+ -+/* ------------------------------------------------------------------------ */ -+void -+free_files(filec, filev) -+ int filec; -+ char **filev; -+{ -+ /* do nothing */ -+} -+/* ------------------------------------------------------------------------ */ -+#else -+boolean -+find_files(name, v_filec, v_filev) -+ char *name; -+ int *v_filec; -+ char ***v_filev; -+{ -+ struct string_pool sp; -+ char newname[FILENAME_LENGTH]; -+ int len, n; -+ DIR *dirp; -+ DIRENTRY *dp; -+ struct stat tmp_stbuf, arc_stbuf, fil_stbuf; -+ -+ strcpy(newname, name); -+ len = strlen(name); -+ if (len > 0 && newname[len - 1] != '/') -+ newname[len++] = '/'; -+ -+ dirp = opendir(name); -+ if (!dirp) -+ return FALSE; -+ -+ init_sp(&sp); -+ -+ GETSTAT(temporary_name, &tmp_stbuf); -+ GETSTAT(archive_name, &arc_stbuf); -+ -+ for (dp = readdir(dirp); dp != NULL; dp = readdir(dirp)) { -+ n = NAMLEN(dp); -+ strncpy(newname + len, dp->d_name, n); -+ newname[len + n] = '\0'; -+ if (GETSTAT(newname, &fil_stbuf) < 0) -+ continue; -+#ifdef NO_INODE -+ if ( dp->d_name[0] != '.' || -+ (n != 1 && -+ (dp->d_name[1] != '.' || -+ n != 2)) ) { -+ add_sp(&sp, newname, len+n+1); -+ } -+#else -+ if ((dp->d_ino != 0) && -+ /* exclude '.' and '..' */ -+ ((dp->d_name[0] != '.') || -+ ((n != 1) && -+ ((dp->d_name[1] != '.') || -+ (n != 2)))) && -+ ((tmp_stbuf.st_dev != fil_stbuf.st_dev || -+ tmp_stbuf.st_ino != fil_stbuf.st_ino) && -+ (arc_stbuf.st_dev != fil_stbuf.st_dev || -+ arc_stbuf.st_ino != fil_stbuf.st_ino))) { -+ add_sp(&sp, newname, len + n + 1); -+ } -+#endif -+ } -+ closedir(dirp); -+ finish_sp(&sp, v_filec, v_filev); -+ if (*v_filec > 1) -+ qsort(*v_filev, *v_filec, sizeof(char *), sort_by_ascii); -+ cleaning_files(v_filec, v_filev); -+ -+ return TRUE; -+} -+ -+/* ------------------------------------------------------------------------ */ -+void -+free_files(filec, filev) -+ int filec; -+ char **filev; -+{ -+ free_sp(filev); -+} -+#endif -+/* ------------------------------------------------------------------------ */ -+/* */ -+/* ------------------------------------------------------------------------ */ -+/* Build temporary file name and store to TEMPORARY_NAME */ -+void -+build_temporary_name() -+{ -+#ifdef TMP_FILENAME_TEMPLATE -+ /* "/tmp/lhXXXXXX" etc. */ -+ if (extract_directory == NULL) { -+ strcpy(temporary_name, TMP_FILENAME_TEMPLATE); -+ } -+ else { -+ sprintf(temporary_name, "%s/lhXXXXXX", extract_directory); -+ } -+#ifdef MKSTEMP -+ mkstemp(temporary_name); -+#else -+ mktemp(temporary_name); -+#endif -+#else -+ char *p, *s; -+ -+ strcpy(temporary_name, archive_name); -+ for (p = temporary_name, s = (char *) 0; *p; p++) -+ if (*p == '/') -+ s = p; -+ strcpy((s ? s + 1 : temporary_name), "lhXXXXXX"); -+#ifdef MKSTEMP -+ mkstemp(temporary_name); -+#else -+ mktemp(temporary_name); -+#endif -+#endif -+} -+ -+/* ------------------------------------------------------------------------ */ -+static void -+modify_filename_extention(buffer, ext) -+ char *buffer; -+ char *ext; -+{ -+ register char *p, *dot; -+ -+ for (p = buffer, dot = (char *) 0; *p; p++) { -+ if (*p == '.') -+ dot = p; -+ else if (*p == '/') -+ dot = (char *) 0; -+ } -+ -+ if (dot) -+ p = dot; -+ -+ strcpy(p, ext); -+} -+ -+/* ------------------------------------------------------------------------ */ -+/* build backup file name */ -+void -+build_backup_name(buffer, original) -+ char *buffer; -+ char *original; -+{ -+ strcpy(buffer, original); -+ modify_filename_extention(buffer, BACKUPNAME_EXTENTION); /* ".bak" */ -+} -+ -+/* ------------------------------------------------------------------------ */ -+void -+build_standard_archive_name(buffer, orginal) -+ char *buffer; -+ char *orginal; -+{ -+ strcpy(buffer, orginal); -+ modify_filename_extention(buffer, ARCHIVENAME_EXTENTION); /* ".lzh" */ -+} -+ -+/* ------------------------------------------------------------------------ */ -+/* */ -+/* ------------------------------------------------------------------------ */ -+boolean -+need_file(name) -+ char *name; -+{ -+ int i; -+ -+ if (cmd_filec == 0) -+ return TRUE; -+ -+ for (i = 0; i < cmd_filec; i++) { -+ if (patmatch(cmd_filev[i], name, 0)) -+ return TRUE; -+ } -+ -+ return FALSE; -+} -+ -+FILE * -+xfopen(name, mode) -+ char *name, *mode; -+{ -+ FILE *fp; -+ -+ if ((fp = fopen(name, mode)) == NULL) -+ fatal_error(name); -+ -+ return fp; -+} -+ -+/* ------------------------------------------------------------------------ */ -+/* */ -+/* ------------------------------------------------------------------------ */ -+static boolean -+open_old_archive_1(name, v_fp) -+ char *name; -+ FILE **v_fp; -+{ -+ FILE *fp; -+ struct stat stbuf; -+ -+ if (stat(name, &stbuf) >= 0 && -+ is_regularfile(&stbuf) && -+ (fp = fopen(name, READ_BINARY)) != NULL) { -+ *v_fp = fp; -+ archive_file_gid = stbuf.st_gid; -+ archive_file_mode = stbuf.st_mode; -+ return TRUE; -+ } -+ -+ *v_fp = NULL; -+ archive_file_gid = -1; -+ return FALSE; -+} -+ -+/* ------------------------------------------------------------------------ */ -+FILE * -+open_old_archive() -+{ -+ FILE *fp; -+ char *p; -+ -+ if (!strcmp(archive_name, "-")) { -+ if (cmd == CMD_EXTRACT || cmd == CMD_LIST) -+ return stdin; -+ else -+ return NULL; -+ } -+ if (p = (char *) rindex(archive_name, '.')) { -+ if (strucmp(".LZH", p) == 0 -+ || strucmp(".LZS", p) == 0 -+ || strucmp(".COM", p) == 0 /* DOS SFX */ -+ || strucmp(".EXE", p) == 0 -+ || strucmp(".X", p) == 0 /* HUMAN SFX */ -+ || strucmp(".BAK", p) == 0) { /* for BackUp */ -+ open_old_archive_1(archive_name, &fp); -+ return fp; -+ } -+ } -+ -+ if (open_old_archive_1(archive_name, &fp)) -+ return fp; -+ sprintf(expanded_archive_name, "%s.lzh", archive_name); -+ if (open_old_archive_1(expanded_archive_name, &fp)) { -+ archive_name = expanded_archive_name; -+ return fp; -+ } -+ /* -+ * if ( (errno&0xffff)!=E_PNNF ) { archive_name = -+ * expanded_archive_name; return NULL; } -+ */ -+ sprintf(expanded_archive_name, "%s.lzs", archive_name); -+ if (open_old_archive_1(expanded_archive_name, &fp)) { -+ archive_name = expanded_archive_name; -+ return fp; -+ } -+ /* -+ * if ( (errno&0xffff)!=E_PNNF ) { archive_name = -+ * expanded_archive_name; return NULL; } -+ */ -+ /* -+ * sprintf( expanded_archive_name , "%s.lzh",archive_name); -+ * archive_name = expanded_archive_name; -+ */ -+ return NULL; -+} -+ -+/* ------------------------------------------------------------------------ */ -+int -+inquire(msg, name, selective) -+ char *msg, *name, *selective; -+{ -+ char buffer[1024]; -+ char *p; -+ -+ for (;;) { -+ fprintf(stderr, "%s %s ", name, msg); -+ fflush(stderr); -+ -+ fgets(buffer, 1024, stdin); -+ -+ for (p = selective; *p; p++) -+ if (buffer[0] == *p) -+ return p - selective; -+ } -+ /* NOTREACHED */ -+} -+ -+/* ------------------------------------------------------------------------ */ -+void -+write_archive_tail(nafp) -+ FILE *nafp; -+{ -+ putc(0x00, nafp); -+} -+ -+/* ------------------------------------------------------------------------ */ -+void -+copy_old_one(oafp, nafp, hdr) -+ FILE *oafp, *nafp; -+ LzHeader *hdr; -+{ -+ if (noexec) { -+ fseek(oafp, (long) (hdr->header_size + 2) + hdr->packed_size, SEEK_CUR); -+ } -+ else { -+ reading_filename = archive_name; -+ writting_filename = temporary_name; -+ if (hdr->header_level != 2) { -+ copyfile(oafp, nafp, -+ (long) (hdr->header_size + 2) + hdr->packed_size, 0); -+ } else { -+ copyfile(oafp, nafp, -+ (long) (hdr->header_size) + hdr->packed_size, 0); -+ } -+ } -+} -+ -+/* Local Variables: */ -+/* mode:c */ -+/* tab-width:4 */ -+/* compile-command:"gcc -c lharc.c" */ -+/* End: */ ---- lha-1.14i.orig/debian/org/util.c -+++ lha-1.14i/debian/org/util.c -@@ -0,0 +1,375 @@ -+/* ------------------------------------------------------------------------ */ -+/* LHa for UNIX */ -+/* util.c -- LHarc Util */ -+/* */ -+/* Modified Nobutaka Watazaki */ -+/* */ -+/* Ver. 1.14 Source All chagned 1995.01.14 N.Watazaki */ -+/* Ver. 1.14e Support for sfx archives 1999.05.28 T.Okamoto */ -+/* ------------------------------------------------------------------------ */ -+#include "lha.h" -+/* -+ * util.c - part of LHa for UNIX Feb 26 1992 modified by Masaru Oki Mar 4 -+ * 1992 modified by Masaru Oki #ifndef USESTRCASECMP added. Mar 31 1992 -+ * modified by Masaru Oki #ifdef NOMEMSET added. -+ */ -+#include -+ -+/* ------------------------------------------------------------------------ */ -+extern unsigned short crc; -+extern int quiet; -+/* ------------------------------------------------------------------------ */ -+long -+copyfile(f1, f2, size, crc_flg) /* return: size of source file */ -+ FILE *f1; -+ FILE *f2; -+ long size; -+ int crc_flg;/* 0: no crc, 1: crc check, 2: extract, 3: -+ * append */ -+{ -+ unsigned short xsize; -+ char *buf; -+ long rsize = 0; -+ -+ if ((buf = (char *) malloc(BUFFERSIZE)) == NULL) -+ fatal_error("virtual memory exhausted.\n"); -+ crc = 0; -+ if ((crc_flg == 2 || crc_flg) && text_mode) -+ init_code_cache(); -+ while (size > 0) { -+ /* read */ -+ if (crc_flg == 3 && text_mode) { -+ xsize = fread_txt(buf, BUFFERSIZE, f1); -+ if (xsize == 0) -+ break; -+ if (ferror(f1)) { -+ fatal_error("file read error\n"); -+ } -+ } -+ else { -+ xsize = (size > BUFFERSIZE) ? BUFFERSIZE : size; -+ if (fread(buf, 1, xsize, f1) != xsize) { -+ fatal_error("file read error\n"); -+ } -+ } -+ /* write */ -+ if (f2) { -+ if (crc_flg == 2 && text_mode) { -+ if (fwrite_txt(buf, xsize, f2)) { -+ fatal_error("file write error\n"); -+ } -+ } -+ else { -+ if (fwrite(buf, 1, xsize, f2) != xsize) { -+ fatal_error("file write error\n"); -+ } -+ } -+ } -+ /* calculate crc */ -+ if (crc_flg) { -+ calccrc(buf, xsize); -+ } -+ rsize += xsize; -+ if (crc_flg != 3 || !text_mode) -+ size -= xsize; -+ } -+ free(buf); -+ return rsize; -+} -+ -+/* ------------------------------------------------------------------------ */ -+int -+encode_stored_crc(ifp, ofp, size, original_size_var, write_size_var) -+ FILE *ifp, *ofp; -+ long size; -+ long *original_size_var; -+ long *write_size_var; -+{ -+ int save_quiet; -+ -+ save_quiet = quiet; -+ quiet = 1; -+ size = copyfile(ifp, ofp, size, 3); -+ *original_size_var = *write_size_var = size; -+ quiet = save_quiet; -+ return crc; -+} -+ -+/* ------------------------------------------------------------------------ */ -+/* convert path delimit -+ erreturns *filename */ -+/* ------------------------------------------------------------------------ */ -+unsigned char * -+convdelim(path, delim) -+ unsigned char *path; -+ unsigned char delim; -+{ -+ unsigned char c; -+ unsigned char *p; -+#ifdef MULTIBYTE_CHAR -+ int kflg; -+ -+ kflg = 0; -+#endif -+ for (p = path; (c = *p) != 0; p++) { -+#ifdef MULTIBYTE_CHAR -+ if (kflg) { -+ kflg = 0; -+ } -+ else if (MULTIBYTE_FIRST_P(c)) { -+ kflg = 1; -+ } -+ else -+#endif -+ if (c == '\\' || c == DELIM || c == DELIM2) { -+ *p = delim; -+ path = p + 1; -+ } -+ } -+ return path; -+} -+ -+/* ------------------------------------------------------------------------ */ -+/* If TRUE, archive file name is msdos SFX file name. */ -+boolean -+archive_is_msdos_sfx1(name) -+ char *name; -+{ -+ int len = strlen(name); -+ -+ return ((len >= 4) && -+ (strucmp(".COM", name + len - 4) == 0 || -+ strucmp(".EXE", name + len - 4) == 0)) || -+ ((len >= 2) && -+ (strucmp(".x", name + len - 2) == 0)); -+} -+ -+/* ------------------------------------------------------------------------ */ -+/* skip SFX header */ -+boolean -+skip_msdos_sfx1_code(fp) -+ FILE *fp; -+{ -+ unsigned char buffer[MAXSFXCODE]; -+ unsigned char *p, *q; -+ int n; -+ -+ n = fread(buffer, sizeof(char), MAXSFXCODE, fp); -+ -+ for (p = buffer + 2, q = buffer + n - /* 5 */ (I_HEADER_LEVEL+1)-2; p < q; p++) { -+ /* found "-l??-" keyword (as METHOD type string) */ -+ if (p[0] == '-' && p[1] == 'l' && p[4] == '-') { -+ /* size and checksum validate check */ -+ if ( (p[I_HEADER_LEVEL-2] == 0 || p[I_HEADER_LEVEL-2] == 0) -+ && p[I_HEADER_SIZE-2] > 20 -+ && p[I_HEADER_CHECKSUM-2] == calc_sum(p, p[-2])) { -+ fseek(fp, ((p - 2) - buffer) - n, SEEK_CUR); -+ return TRUE; -+ } else if (p[I_HEADER_LEVEL-2] == 2 && p[I_HEADER_SIZE-2] >= 24 -+ && p[I_ATTRIBUTE-2] == 0x20) { -+ fseek(fp, ((p - 2) - buffer) - n, SEEK_CUR); -+ return TRUE; -+ } -+ } -+ } -+ -+ fseek(fp, -n, SEEK_CUR); -+ return FALSE; -+} -+ -+/* -+ * strdup(3) -+ */ -+ -+/* ------------------------------------------------------------------------ */ -+#ifdef NOSTRDUP -+char * -+strdup(buf) -+ char *buf; -+{ -+ char *p; -+ -+ if ((p = (char *) malloc(strlen(buf) + 1)) == NULL) -+ return NULL; -+ strcpy(p, buf); -+ return p; -+} -+#endif -+ -+/* -+ * memmove( char *dst , char *src , size_t cnt ) -+ */ -+ -+/* ------------------------------------------------------------------------ */ -+#if defined(NOBSTRING) && !defined(__STDC__) -+void * -+memmove(dst, src, cnt) -+ register char *dst, *src; -+ register int cnt; -+{ -+ if (dst == src) -+ return dst; -+ if (src > dst) { -+ while (--cnt >= 0) -+ *dst++ = *src++; -+ } -+ else { -+ dst += cnt; -+ src += cnt; -+ while (--cnt >= 0) -+ *--dst = *--src; -+ } -+ return dst; -+} -+#endif -+ -+/* -+ * rename - change the name of file 91.11.02 by Tomohiro Ishikawa -+ * (ishikawa@gaia.cow.melco.CO.JP) 92.01.20 little modified (added #ifdef) by -+ * Masaru Oki 92.01.28 added mkdir() and rmdir() by Tomohiro Ishikawa -+ */ -+ -+#if defined(NOFTRUNCATE) && !defined(_MINIX) -+ -+/* ------------------------------------------------------------------------ */ -+int -+rename(from, to) -+ char *from, *to; -+{ -+ struct stat s1, s2; -+ extern int errno; -+ -+ if (stat(from, &s1) < 0) -+ return (-1); -+ /* is 'FROM' file a directory? */ -+ if ((s1.st_mode & S_IFMT) == S_IFDIR) { -+ errno = ENOTDIR; -+ return (-1); -+ } -+ if (stat(to, &s2) >= 0) { /* 'TO' exists! */ -+ /* is 'TO' file a directory? */ -+ if ((s2.st_mode & S_IFMT) == S_IFDIR) { -+ errno = EISDIR; -+ return (-1); -+ } -+ if (unlink(to) < 0) -+ return (-1); -+ } -+ if (link(from, to) < 0) -+ return (-1); -+ if (unlink(from) < 0) -+ return (-1); -+ return (0); -+} -+#endif /* NOFTRUNCATE */ -+/* ------------------------------------------------------------------------ */ -+ -+#ifdef NOMKDIR -+#ifndef MKDIRPATH -+#define MKDIRPATH "/bin/mkdir" -+#endif -+#ifndef RMDIRPATH -+#define RMDIRPATH "/bin/rmdir" -+#endif -+int -+rmdir(path) -+ char *path; -+{ -+ int stat, rtn = 0; -+ char *cmdname; -+ if ((cmdname = (char *) malloc(strlen(RMDIRPATH) + 1 + strlen(path) + 1)) -+ == 0) -+ return (-1); -+ strcpy(cmdname, RMDIRPATH); -+ *(cmdname + strlen(RMDIRPATH)) = ' '; -+ strcpy(cmdname + strlen(RMDIRPATH) + 1, path); -+ if ((stat = system(cmdname)) < 0) -+ rtn = -1; /* fork or exec error */ -+ else if (stat) { /* RMDIR command error */ -+ errno = EIO; -+ rtn = -1; -+ } -+ free(cmdname); -+ return (rtn); -+} -+ -+/* ------------------------------------------------------------------------ */ -+int -+mkdir(path, mode) -+ char *path; -+ int mode; -+{ -+ int child, stat; -+ char *cmdname, *cmdpath = MKDIRPATH; -+ if ((cmdname = (char *) strrchr(cmdpath, '/')) == (char *) 0) -+ cmdname = cmdpath; -+ if ((child = fork()) < 0) -+ return (-1); /* fork error */ -+ else if (child) { /* parent process */ -+ while (child != wait(&stat)) /* ignore signals */ -+ continue; -+ } -+ else { /* child process */ -+ int maskvalue; -+ maskvalue = umask(0); /* get current umask() value */ -+ umask(maskvalue | (0777 & ~mode)); /* set it! */ -+ execl(cmdpath, cmdname, path, (char *) 0); -+ /* never come here except execl is error */ -+ return (-1); -+ } -+ if (stat != 0) { -+ errno = EIO; /* cannot get error num. */ -+ return (-1); -+ } -+ return (0); -+} -+#endif -+ -+/* -+ * strucmp modified: Oct 29 1991 by Masaru Oki -+ */ -+ -+#ifndef USESTRCASECMP -+static int -+my_toupper(n) -+ register int n; -+{ -+ if (n >= 'a' && n <= 'z') -+ return n & (~('a' - 'A')); -+ return n; -+} -+ -+/* ------------------------------------------------------------------------ */ -+int -+strucmp(s, t) -+ register char *s, *t; -+{ -+ while (my_toupper(*s++) == my_toupper(*t++)) -+ if (!*s || !*t) -+ break; -+ if (!*s && !*t) -+ return 0; -+ return 1; -+} -+#endif -+ -+/* ------------------------------------------------------------------------ */ -+#ifdef NOMEMSET -+/* Public Domain memset(3) */ -+char * -+memset(s, c, n) -+ char *s; -+ int c, n; -+{ -+ char *p = s; -+ while (n--) -+ *p++ = (char) c; -+ return s; -+} -+#endif -+ -+/* Local Variables: */ -+/* mode:c */ -+/* tab-width:4 */ -+/* compile-command:"gcc -c util.c" */ -+/* End: */ ---- lha-1.14i.orig/debian/org/lhext.c -+++ lha-1.14i/debian/org/lhext.c -@@ -0,0 +1,425 @@ -+/* ------------------------------------------------------------------------ */ -+/* LHa for UNIX */ -+/* lhext.c -- LHarc extract */ -+/* */ -+/* Copyright (C) MCMLXXXIX Yooichi.Tagawa */ -+/* Modified Nobutaka Watazaki */ -+/* */ -+/* Ver. 0.00 Original 1988.05.23 Y.Tagawa */ -+/* Ver. 1.00 Fixed 1989.09.22 Y.Tagawa */ -+/* Ver. 0.03 LHa for UNIX 1991.12.17 M.Oki */ -+/* Ver. 1.12 LHa for UNIX 1993.10.01 N.Watazaki */ -+/* Ver. 1.13b Symbolic Link Update Bug Fix 1994.06.21 N.Watazaki */ -+/* Ver. 1.14 Source All chagned 1995.01.14 N.Watazaki */ -+/* Ver. 1.14e bugfix 1999.04.30 T.Okamoto */ -+/* ------------------------------------------------------------------------ */ -+#include "lha.h" -+/* ------------------------------------------------------------------------ */ -+static int skip_flg = FALSE; /* FALSE..No Skip , TRUE..Skip */ -+static char *methods[] = -+{ -+ LZHUFF0_METHOD, LZHUFF1_METHOD, LZHUFF2_METHOD, LZHUFF3_METHOD, -+ LZHUFF4_METHOD, LZHUFF5_METHOD, LZHUFF6_METHOD, LZHUFF7_METHOD, -+ LARC_METHOD, LARC5_METHOD, LARC4_METHOD, -+ LZHDIRS_METHOD, -+ NULL -+}; -+ -+/* ------------------------------------------------------------------------ */ -+static boolean -+inquire_extract(name) -+ char *name; -+{ -+ struct stat stbuf; -+ -+ skip_flg = FALSE; -+ if (stat(name, &stbuf) >= 0) { -+ if (!is_regularfile(&stbuf)) { -+ error("Already exist (not a file)", name); -+ return FALSE; -+ } -+ -+ if (noexec) { -+ printf("EXTRACT %s but file is exist.\n", name); -+ return FALSE; -+ } -+ else if (!force) { -+ if (!isatty(0)) -+ return FALSE; -+ -+ switch (inquire("OverWrite ?(Yes/[No]/All/Skip)", name, "YyNnAaSs\n")) { -+ case 0: -+ case 1:/* Y/y */ -+ break; -+ case 2: -+ case 3:/* N/n */ -+ case 8:/* Return */ -+ return FALSE; -+ case 4: -+ case 5:/* A/a */ -+ force = TRUE; -+ break; -+ case 6: -+ case 7:/* S/s */ -+ skip_flg = TRUE; -+ break; -+ } -+ } -+ } -+ if (noexec) -+ printf("EXTRACT %s\n", name); -+ -+ return TRUE; -+} -+ -+/* ------------------------------------------------------------------------ */ -+static boolean -+make_parent_path(name) -+ char *name; -+{ -+ char path[FILENAME_LENGTH]; -+ struct stat stbuf; -+ register char *p; -+ -+ /* make parent directory name into PATH for recursive call */ -+ strcpy(path, name); -+ for (p = path + strlen(path); p > path; p--) -+ if (p[-1] == '/') { -+ *--p = '\0'; -+ break; -+ } -+ -+ if (p == path) { -+ message("Why?", "ROOT"); -+ return FALSE; /* no more parent. */ -+ } -+ -+ if (GETSTAT(path, &stbuf) >= 0) { -+ if (is_directory(&stbuf)) -+ return TRUE; -+ error("Not a directory", path); -+ return FALSE; -+ } -+ errno = 0; -+ -+ if (verbose) -+ printf("Making directory \"%s\".\n", path); -+ -+ if (mkdir(path, 0777) >= 0) /* try */ -+ return TRUE; /* successful done. */ -+ errno = 0; -+ -+ if (!make_parent_path(path)) -+ return FALSE; -+ -+ if (mkdir(path, 0777) < 0) { /* try again */ -+ message("Cannot make directory", path); -+ return FALSE; -+ } -+ -+ return TRUE; -+} -+ -+/* ------------------------------------------------------------------------ */ -+static FILE * -+open_with_make_path(name) -+ char *name; -+{ -+ FILE *fp; -+ -+ if ((fp = fopen(name, WRITE_BINARY)) == NULL) { -+ errno = 0; -+ if (!make_parent_path(name) || -+ (fp = fopen(name, WRITE_BINARY)) == NULL) -+ error("Cannot extract", name); -+ errno = 0; -+ } -+ return fp; -+} -+ -+/* ------------------------------------------------------------------------ */ -+static void -+adjust_info(name, hdr) -+ char *name; -+ LzHeader *hdr; -+{ -+ time_t utimebuf[2]; -+ -+ /* adjust file stamp */ -+ utimebuf[0] = utimebuf[1] = hdr->unix_last_modified_stamp; -+ -+ if ((hdr->unix_mode & UNIX_FILE_TYPEMASK) != UNIX_FILE_SYMLINK) -+ utime(name, utimebuf); -+ -+ if (hdr->extend_type == EXTEND_UNIX -+ || hdr->extend_type == EXTEND_OS68K -+ || hdr->extend_type == EXTEND_XOSK) { -+#ifdef NOT_COMPATIBLE_MODE -+ Please need your modification in this space. -+#else -+ if ((hdr->unix_mode & UNIX_FILE_TYPEMASK) != UNIX_FILE_SYMLINK) -+ chmod(name, hdr->unix_mode); -+#endif -+ if (!getuid()) { -+#ifndef HAVE_NO_LCHOWN -+ if ((hdr->unix_mode & UNIX_FILE_TYPEMASK) == UNIX_FILE_SYMLINK) -+ lchown(name, hdr->unix_uid, hdr->unix_gid); -+ else -+#endif /* HAVE_NO_LCHWON */ -+ chown(name, hdr->unix_uid, hdr->unix_gid); -+ } -+ errno = 0; -+ } -+} -+ -+/* ------------------------------------------------------------------------ */ -+static void -+extract_one(afp, hdr) -+ FILE *afp; /* archive file */ -+ LzHeader *hdr; -+{ -+ FILE *fp; /* output file */ -+ struct stat stbuf; -+ char name[257]; -+ int crc; -+ int method; -+ boolean save_quiet, save_verbose, up_flag; -+ char *q = hdr->name, c; -+ -+ if (ignore_directory && rindex(hdr->name, '/')) { -+ q = (char *) rindex(hdr->name, '/') + 1; -+ } -+ else { -+ if (*q == '/') { -+ q++; -+ /* -+ * if OSK then strip device name -+ */ -+ if (hdr->extend_type == EXTEND_OS68K -+ || hdr->extend_type == EXTEND_XOSK) { -+ do -+ c = (*q++); -+ while (c && c != '/'); -+ if (!c || !*q) -+ q = "."; /* if device name only */ -+ } -+ } -+ } -+ -+ if (extract_directory) -+ sprintf(name, "%s/%s", extract_directory, q); -+ else -+ strcpy(name, q); -+ -+ -+ /* LZHDIRS_METHOD¤ò»ý¤Ä¥Ø¥Ã¥À¤ò¥Á¥§¥Ã¥¯¤¹¤ë */ -+ /* 1999.4.30 t.okamoto */ -+ for (method = 0;; method++) { -+ if (methods[method] == NULL) { -+ error("Unknown method skiped ...", name); -+ return; -+ } -+ if (bcmp(hdr->method, methods[method], 5) == 0) -+ break; -+ } -+ -+ if ((hdr->unix_mode & UNIX_FILE_TYPEMASK) == UNIX_FILE_REGULAR -+ && method != LZHDIRS_METHOD_NUM) { -+#if 0 -+ for (method = 0;; method++) { -+ if (methods[method] == NULL) { -+ error("Unknown method skiped ...", name); -+ return; -+ } -+ if (bcmp(hdr->method, methods[method], 5) == 0) -+ break; -+ } -+#endif -+ -+ reading_filename = archive_name; -+ writting_filename = name; -+ if (output_to_stdout || verify_mode) { -+ if (noexec) { -+ printf("%s %s\n", verify_mode ? "VERIFY" : "EXTRACT", name); -+ if (afp == stdin) { -+ int i = hdr->packed_size; -+ while (i--) -+ fgetc(afp); -+ } -+ return; -+ } -+ -+ save_quiet = quiet; -+ save_verbose = verbose; -+ if (!quiet && output_to_stdout) { -+ printf("::::::::\n%s\n::::::::\n", name); -+ quiet = TRUE; -+ verbose = FALSE; -+ } -+ else if (verify_mode) { -+ quiet = FALSE; -+ verbose = TRUE; -+ } -+ -+ crc = decode_lzhuf -+ (afp, stdout, hdr->original_size, hdr->packed_size, name, method); -+ quiet = save_quiet; -+ verbose = save_verbose; -+ } -+ else { -+ if (skip_flg == FALSE) { -+ up_flag = inquire_extract(name); -+ if (up_flag == FALSE && force == FALSE) { -+ return; -+ } -+ } -+ -+ if (skip_flg == TRUE) { /* if skip_flg */ -+ if (stat(name, &stbuf) == 0 && force != TRUE) { -+ if (stbuf.st_mtime >= hdr->unix_last_modified_stamp) { -+ if (quiet != TRUE) -+ printf("%s : Skipped...\n", name); -+ return; -+ } -+ } -+ } -+ if (noexec) { -+ if (afp == stdin) { -+ int i = hdr->packed_size; -+ while (i--) -+ fgetc(afp); -+ } -+ return; -+ } -+ -+ signal(SIGINT, interrupt); -+ signal(SIGHUP, interrupt); -+ -+ unlink(name); -+ errno = 0; -+ remove_extracting_file_when_interrupt = TRUE; -+ -+ if ((fp = open_with_make_path(name)) != NULL) { -+ crc = decode_lzhuf -+ (afp, fp, hdr->original_size, hdr->packed_size, name, method); -+ fclose(fp); -+ } -+ remove_extracting_file_when_interrupt = FALSE; -+ signal(SIGINT, SIG_DFL); -+ signal(SIGHUP, SIG_DFL); -+ -+ if (!fp) -+ return; -+ } -+ -+ errno = 0; -+ if (hdr->has_crc && crc != hdr->crc) -+ error("CRC error", name); -+ } -+ else if ((hdr->unix_mode & UNIX_FILE_TYPEMASK) == UNIX_FILE_DIRECTORY -+ || (hdr->unix_mode & UNIX_FILE_TYPEMASK) == UNIX_FILE_SYMLINK -+ || method == LZHDIRS_METHOD_NUM) { -+ /* ¢¬¤³¤ì¤Ç¡¢Symblic Link ¤Ï¡¢Âç¾æÉפ«¡© */ -+ if (!ignore_directory && !verify_mode) { -+ if (noexec) { -+ if (quiet != TRUE) -+ printf("EXTRACT %s (directory)\n", name); -+ return; -+ } -+ /* NAME has trailing SLASH '/', (^_^) */ -+ if ((hdr->unix_mode & UNIX_FILE_TYPEMASK) == UNIX_FILE_SYMLINK) { -+ char buf[256], *bb1, *bb2; -+ int l_code; -+ strcpy(buf, name); -+ bb1 = strtok(buf, "|"); -+ bb2 = strtok(NULL, "|"); -+ -+#ifdef S_IFLNK -+ if (skip_flg == FALSE) { -+ up_flag = inquire_extract(name); -+ if (up_flag == FALSE && force == FALSE) { -+ return; -+ } -+ } else { -+ if (GETSTAT(bb1, &stbuf) == 0 && force != TRUE) { -+ if (stbuf.st_mtime >= hdr->unix_last_modified_stamp) { -+ if (quiet != TRUE) -+ printf("%s : Skipped...\n", bb1); -+ return; -+ } -+ } -+ } -+ -+ unlink(bb1); -+ l_code = symlink(bb2, bb1); -+ if (l_code < 0) { -+ if (quiet != TRUE) -+ warning("Can't make Symbolic Link : "); -+ } -+ if (quiet != TRUE) { -+ printf("Symbolic Link %s -> %s\n", bb1, bb2); -+ } -+ strcpy(name, bb1); /* Symbolic's name set */ -+#else -+ sprintf(buf, "%s -> %s", bb1, bb2); -+ warning("Can't make Symbolic Link", buf); -+ return; -+#endif -+ } else { /* make directory */ -+ if (!output_to_stdout && !make_parent_path(name)) -+ return; -+ } -+ } -+ } -+ else { -+ error("Unknown information", name); -+ } -+ -+ if (!output_to_stdout) -+ adjust_info(name, hdr); -+} -+ -+/* ------------------------------------------------------------------------ */ -+/* EXTRACT COMMAND MAIN */ -+/* ------------------------------------------------------------------------ */ -+void -+cmd_extract() -+{ -+ LzHeader hdr; -+ long pos; -+ FILE *afp; -+ -+ /* open archive file */ -+ if ((afp = open_old_archive()) == NULL) -+ fatal_error(archive_name); -+ -+ if (archive_is_msdos_sfx1(archive_name)) -+ skip_msdos_sfx1_code(afp); -+ -+ /* extract each files */ -+ while (get_header(afp, &hdr)) { -+ if (need_file(hdr.name)) { -+ pos = ftell(afp); -+ extract_one(afp, &hdr); -+ fseek(afp, pos + hdr.packed_size, SEEK_SET); -+ } else { -+ if (afp != stdin) -+ fseek(afp, hdr.packed_size, SEEK_CUR); -+ else { -+ int i = hdr.packed_size; -+ while (i--) -+ fgetc(afp); -+ } -+ } -+ } -+ -+ /* close archive file */ -+ fclose(afp); -+ -+ return; -+} -+ -+/* Local Variables: */ -+/* mode:c */ -+/* tab-width:4 */ -+/* End: */ ---- lha-1.14i.orig/debian/org/lha_macro.h -+++ lha-1.14i/debian/org/lha_macro.h -@@ -0,0 +1,420 @@ -+/* ------------------------------------------------------------------------ */ -+/* LHa for UNIX Archiver Driver macro define */ -+/* */ -+/* Modified Nobutaka Watazaki */ -+/* */ -+/* Ver. 1.14 Soruce All chagned 1995.01.14 N.Watazaki */ -+/* Ver. 1.14g modified 2000.05.06 T.OKAMOTO */ -+/* ------------------------------------------------------------------------ */ -+ -+#define LHA_VERSION "lha for unix version 1.14i" -+ -+/* Most of System V, define SYSTIME_HAS_NO_TM */ -+#ifdef SYSTIME_HAS_NO_TM -+#include -+#else -+#include -+#endif /* SYSTIME_HAS_NO_TM */ -+ -+/* ------------------------------------------------------------------------ */ -+/* Directory Access Stuff */ -+/* ------------------------------------------------------------------------ */ -+#ifndef NODIRECTORY -+#ifdef SYSV_SYSTEM_DIR -+ -+#include -+ -+#define DIRENTRY struct dirent -+#define NAMLEN(p) strlen (p->d_name) -+ -+#else /* not SYSV_SYSTEM_DIR */ -+ -+#ifdef NONSYSTEM_DIR_LIBRARY -+#include "lhdir.h" -+#else -+#include -+#endif /* not NONSYSTEM_DIR_LIBRARY */ -+ -+#define DIRENTRY struct direct -+#define NAMLEN(p) p->d_namlen -+ -+#endif /* not SYSV_SYSTEM_DIR */ -+#endif /* NODIRECTORY */ -+ -+/* ------------------------------------------------------------------------ */ -+/* Other Define */ -+/* ------------------------------------------------------------------------ */ -+/* Not support 'void' */ -+#ifdef NOVOID -+#define void -+#endif -+ -+#ifndef SEEK_SET -+#define SEEK_SET 0 -+#define SEEK_CUR 1 -+#define SEEK_END 2 -+#endif /* SEEK_SET -+ -+ -+/* non-integral functions */ -+extern struct tm *localtime(); -+extern char *getenv(); -+ -+#ifndef _MINIX -+#ifndef __STDC__ -+extern char *malloc(); -+extern char *realloc(); -+#endif -+#endif -+ -+/* external variables */ -+extern int errno; -+ -+#define FALSE 0 -+#define TRUE 1 -+typedef int boolean; -+ -+/* used by qsort() for alphabetic-sort */ -+#define STRING_COMPARE(a,b) strcmp((a),(b)) -+ -+#define FILENAME_LENGTH 1024 -+ -+/* ------------------------------------------------------------------------ */ -+/* YOUR CUSTOMIZIES */ -+/* ------------------------------------------------------------------------ */ -+ -+#ifndef ARCHIVENAME_EXTENTION -+#define ARCHIVENAME_EXTENTION ".lzh" -+#endif -+#ifndef BACKUPNAME_EXTENTION -+#define BACKUPNAME_EXTENTION ".bak" -+#endif -+#ifndef TMP_FILENAME_TEMPLATE -+#define TMP_FILENAME_TEMPLATE "/tmp/lhXXXXXX" -+#endif -+ -+#define SJC_FIRST_P(c) \ -+ (((unsigned char)(c) >= 0x80) && \ -+ (((unsigned char)(c) < 0xa0) || \ -+ ((unsigned char)(c) >= 0xe0) && \ -+ ((unsigned char)(c) < 0xfd))) -+#define SJC_SECOND_P(c) \ -+ (((unsigned char)(c) >= 0x40) && \ -+ ((unsigned char)(c) < 0xfd) && \ -+ ((unsigned char)(c) != 0x7f)) -+ -+#ifdef MULTIBYTE_CHAR -+#define MULTIBYTE_FIRST_P SJC_FIRST_P -+#define MULTIBYTE_SECOND_P SJC_SECOND_P -+#endif /* MULTIBYTE_CHAR */ -+ -+/* ------------------------------------------------------------------------ */ -+/* LHa File Definitions */ -+/* ------------------------------------------------------------------------ */ -+#ifdef S_IFLNK -+#define GETSTAT lstat -+#else -+#define GETSTAT stat -+#endif -+ -+#ifdef LHA_MAIN_SRC -+#define EXTERN -+#else -+#define EXTERN extern -+#endif /* LHA_MAIN_SRC */ -+ -+#define LZHUFF0_METHOD "-lh0-" -+#define LZHUFF1_METHOD "-lh1-" -+#define LZHUFF2_METHOD "-lh2-" -+#define LZHUFF3_METHOD "-lh3-" -+#define LZHUFF4_METHOD "-lh4-" -+#define LZHUFF5_METHOD "-lh5-" -+#define LZHUFF6_METHOD "-lh6-" -+#define LZHUFF7_METHOD "-lh7-" -+#define LARC_METHOD "-lzs-" -+#define LARC5_METHOD "-lz5-" -+#define LARC4_METHOD "-lz4-" -+#define LZHDIRS_METHOD "-lhd-" -+ -+#define METHOD_TYPE_STRAGE 5 -+ -+/* Added N.Watazaki ..V */ -+#define LZHUFF0_METHOD_NUM 0 -+#define LZHUFF1_METHOD_NUM 1 -+#define LZHUFF2_METHOD_NUM 2 -+#define LZHUFF3_METHOD_NUM 3 -+#define LZHUFF4_METHOD_NUM 4 -+#define LZHUFF5_METHOD_NUM 5 -+#define LZHUFF6_METHOD_NUM 6 -+#define LZHUFF7_METHOD_NUM 7 -+#define LARC_METHOD_NUM 8 -+#define LARC5_METHOD_NUM 9 -+#define LARC4_METHOD_NUM 10 -+#define LZHDIRS_METHOD_NUM 11 -+/* Added N.Watazaki ..^ */ -+ -+#define I_HEADER_SIZE 0 -+#define I_HEADER_CHECKSUM 1 -+#define I_METHOD 2 -+#define I_PACKED_SIZE 7 -+#define I_ORIGINAL_SIZE 11 -+#define I_LAST_MODIFIED_STAMP 15 -+#define I_ATTRIBUTE 19 -+#define I_HEADER_LEVEL 20 -+#define I_NAME_LENGTH 21 -+#define I_NAME 22 -+ -+#define I_CRC 22 /* + name_length */ -+#define I_EXTEND_TYPE 24 /* + name_length */ -+#define I_MINOR_VERSION 25 /* + name_length */ -+#define I_UNIX_LAST_MODIFIED_STAMP 26 /* + name_length */ -+#define I_UNIX_MODE 30 /* + name_length */ -+#define I_UNIX_UID 32 /* + name_length */ -+#define I_UNIX_GID 34 /* + name_length */ -+#define I_UNIX_EXTEND_BOTTOM 36 /* + name_length */ -+ -+#define I_GENERIC_HEADER_BOTTOM I_EXTEND_TYPE -+ -+#define EXTEND_GENERIC 0 -+#define EXTEND_UNIX 'U' -+#define EXTEND_MSDOS 'M' -+#define EXTEND_MACOS 'm' -+#define EXTEND_OS9 '9' -+#define EXTEND_OS2 '2' -+#define EXTEND_OS68K 'K' -+#define EXTEND_OS386 '3' /* OS-9000??? */ -+#define EXTEND_HUMAN 'H' -+#define EXTEND_CPM 'C' -+#define EXTEND_FLEX 'F' -+#define EXTEND_RUNSER 'R' -+ -+/* this OS type is not official */ -+ -+#define EXTEND_TOWNSOS 'T' -+#define EXTEND_XOSK 'X' -+ -+/*---------------------------------------------------------------------------*/ -+ -+#define GENERIC_ATTRIBUTE 0x20 -+#define GENERIC_DIRECTORY_ATTRIBUTE 0x10 -+#define HEADER_LEVEL0 0x00 -+#define HEADER_LEVEL1 0x01 -+#define HEADER_LEVEL2 0x02 -+ -+#define CURRENT_UNIX_MINOR_VERSION 0x00 -+ -+#define DELIM ('/') -+#define DELIM2 (0xff) -+#define DELIMSTR "/" -+ -+#define OSK_RW_RW_RW 0000033 -+#define OSK_FILE_REGULAR 0000000 -+#define OSK_DIRECTORY_PERM 0000200 -+#define OSK_SHARED_PERM 0000100 -+#define OSK_OTHER_EXEC_PERM 0000040 -+#define OSK_OTHER_WRITE_PERM 0000020 -+#define OSK_OTHER_READ_PERM 0000010 -+#define OSK_OWNER_EXEC_PERM 0000004 -+#define OSK_OWNER_WRITE_PERM 0000002 -+#define OSK_OWNER_READ_PERM 0000001 -+ -+#define UNIX_FILE_TYPEMASK 0170000 -+#define UNIX_FILE_REGULAR 0100000 -+#define UNIX_FILE_DIRECTORY 0040000 -+#define UNIX_FILE_SYMLINK 0120000 -+#define UNIX_SETUID 0004000 -+#define UNIX_SETGID 0002000 -+#define UNIX_STYCKYBIT 0001000 -+#define UNIX_OWNER_READ_PERM 0000400 -+#define UNIX_OWNER_WRITE_PERM 0000200 -+#define UNIX_OWNER_EXEC_PERM 0000100 -+#define UNIX_GROUP_READ_PERM 0000040 -+#define UNIX_GROUP_WRITE_PERM 0000020 -+#define UNIX_GROUP_EXEC_PERM 0000010 -+#define UNIX_OTHER_READ_PERM 0000004 -+#define UNIX_OTHER_WRITE_PERM 0000002 -+#define UNIX_OTHER_EXEC_PERM 0000001 -+#define UNIX_RW_RW_RW 0000666 -+ -+#define LZHEADER_STRAGE 4096 -+ -+#define MAX_INDICATOR_COUNT 64 -+ -+typedef short node; -+ -+/* ------------------------------------------------------------------------ */ -+/* Slide relation */ -+/* ------------------------------------------------------------------------ */ -+#if defined(__STDC__) || defined(AIX) -+ -+#include -+ -+#else -+ -+#ifndef CHAR_BIT -+#define CHAR_BIT 8 -+#endif -+ -+#ifndef UCHAR_MAX -+#define UCHAR_MAX ((1<<(sizeof(unsigned char)*8))-1) -+#endif -+ -+#ifndef USHRT_MAX -+#define USHRT_MAX ((1<<(sizeof(unsigned short)*8))-1) -+#endif -+ -+#ifndef SHRT_MAX -+#define SHRT_MAX ((1<<(sizeof(short)*8-1))-1) -+#endif -+ -+#ifndef SHRT_MIN -+#define SHRT_MIN (SHRT_MAX-USHRT_MAX) -+#endif -+ -+#ifndef ULONG_MAX -+#define ULONG_MAX ((1<<(sizeof(unsigned long)*8))-1) -+#endif -+ -+#ifndef LONG_MAX -+#define LONG_MAX ((1<<(sizeof(long)*8-1))-1) -+#endif -+ -+#ifndef LONG_MIN -+#define LONG_MIN (LONG_MAX-ULONG_MAX) -+#endif -+ -+#endif /* not __STDC__ */ -+ -+/* ------------------------------------------------------------------------ */ -+/* FILE Attribute */ -+/* ------------------------------------------------------------------------ */ -+#define is_directory(statp) (((statp)->st_mode & S_IFMT) == S_IFDIR) -+#define is_symlink(statp) (((statp)->st_mode & S_IFMT) == S_IFLNK) -+#define is_regularfile(statp) (((statp)->st_mode & S_IFMT) == S_IFREG) -+ -+#ifdef MSDOS -+#define WRITE_BINARY "wb" -+#define READ_BINARY "rb" -+#else -+#define WRITE_BINARY "w" -+#define READ_BINARY "r" -+#endif -+ -+/* ------------------------------------------------------------------------ */ -+/* Memory and String function */ -+/* ------------------------------------------------------------------------ */ -+#include -+ -+#ifdef NOINDEX -+#define index strchr -+#define rindex strrchr -+#endif /* NOINDEX */ -+ -+#ifdef NOBSTRING -+#define bcmp(a,b,n) memcmp ((a),(b),(n)) -+#define bzero(d,n) memset((d),0,(n)) -+#define bcopy(s,d,n) memmove((d),(s),(n)) -+#endif /* NOBSTRING */ -+ -+#ifdef USESTRCASECMP -+#define strucmp(p,q) strcasecmp((p),(q)) -+#endif -+ -+/* ------------------------------------------------------------------------ */ -+/* Individual macro define */ -+/* ------------------------------------------------------------------------ */ -+ -+/* from crcio.c */ -+#define CRCPOLY 0xA001 /* CRC-16 */ -+#define UPDATE_CRC(c) crc = crctable[(crc ^ (c)) & 0xFF] ^ (crc >> CHAR_BIT) -+ -+/* dhuf.c */ -+#define N_CHAR (256 + 60 - THRESHOLD + 1) -+#define TREESIZE_C (N_CHAR * 2) -+#define TREESIZE_P (128 * 2) -+#define TREESIZE (TREESIZE_C + TREESIZE_P) -+#define ROOT_C 0 -+#define ROOT_P TREESIZE_C -+ -+/* header.c */ -+#define setup_get(PTR) (get_ptr = (PTR)) -+#define get_byte() (*get_ptr++ & 0xff) -+#define put_ptr get_ptr -+#define setup_put(PTR) (put_ptr = (PTR)) -+#define put_byte(c) (*put_ptr++ = (char)(c)) -+ -+/* huf.c */ -+#define NP (MAX_DICBIT + 1) -+#define NT (USHRT_BIT + 3) -+#if 0 -+#define PBIT 4 /* smallest integer such that (1 << PBIT) > * NP */ -+#define TBIT 5 /* smallest integer such that (1 << TBIT) > * NT */ -+#endif -+ -+#define PBIT 5 /* smallest integer such that (1 << PBIT) > * NP */ -+#define TBIT 5 /* smallest integer such that (1 << TBIT) > * NT */ -+ -+#define NC (UCHAR_MAX + MAXMATCH + 2 - THRESHOLD) -+ -+/* #if NT > NP #define NPT NT #else #define NPT NP #endif */ -+#define NPT 0x80 -+ -+/* larc.c */ -+#define MAGIC0 18 -+#define MAGIC5 19 -+ -+/* lharc.c */ -+#define CMD_UNKNOWN 0 -+#define CMD_EXTRACT 1 -+#define CMD_ADD 2 -+#define CMD_LIST 3 -+#define CMD_DELETE 4 -+ -+#define STREQU(a,b) (((a)[0] == (b)[0]) ? (strcmp ((a),(b)) == 0) : FALSE) -+ -+/* shuf.c */ -+#define N1 286 /* alphabet size */ -+#define N2 (2 * N1 - 1) /* # of nodes in Huffman tree */ -+#define EXTRABITS 8 /* >= log2(F-THRESHOLD+258-N1) */ -+#define BUFBITS 16 /* >= log2(MAXBUF) */ -+#define LENFIELD 4 /* bit size of length field for tree output */ -+ -+/* util.c */ -+#define BUFFERSIZE 2048 -+#define MAXSFXCODE 1024*64 -+ -+#ifndef NULL -+#define NULL (char *)0 -+#endif -+ -+/* slide.c */ -+/* -+#define PERCOLATE 1 -+#define NIL 0 -+#define HASH(p, c) ((p) + ((c) << hash1) + hash2) -+*/ -+ -+/* slide.c */ -+#ifdef SUPPORT_LH7 -+#define MAX_DICBIT 16 /* lh7 use 16bits */ -+#endif -+ -+#ifndef SUPPORT_LH7 -+#define MAX_DICBIT 15 /* lh6 use 15bits */ -+#endif -+ -+#define MAX_DICSIZ (1 << MAX_DICBIT) -+#define MATCHBIT 8 /* bits for MAXMATCH - THRESHOLD */ -+#define MAXMATCH 256 /* formerly F (not more than UCHAR_MAX + 1) */ -+#define THRESHOLD 3 /* choose optimal value */ -+ -+/* from huf.c */ -+ -+/* alphabet = {0, 1, 2, ..., NC - 1} */ -+#define CBIT 9 /* $\lfloor \log_2 NC \rfloor + 1$ */ -+#define USHRT_BIT 16 /* (CHAR_BIT * sizeof(ushort)) */ -+ -+/* Local Variables: */ -+/* mode:c */ -+/* tab-width:4 */ -+/* End: */ ---- lha-1.14i.orig/debian/org/lhlist.c -+++ lha-1.14i/debian/org/lhlist.c -@@ -0,0 +1,348 @@ -+/* ------------------------------------------------------------------------ */ -+/* LHa for UNIX */ -+/* lhlist.c -- LHarc list */ -+/* */ -+/* Copyright (C) MCMLXXXIX Yooichi.Tagawa */ -+/* Modified Nobutaka Watazaki */ -+/* */ -+/* Ver. 0.00 Original 1988.05.23 Y.Tagawa */ -+/* Ver. 1.00 Fixed 1989.09.22 Y.Tagawa */ -+/* Ver. 1.01 Bug Fix for month name 1989.12.25 Y.Tagawa */ -+/* Ver. 1.10 Changed list format 1993.10.01 N.Watazaki */ -+/* Ver. 1.14 Source All chagned 1995.01.14 N.Watazaki */ -+/* Ver. 1.14e Bug Fix for many problems 1999.05.25 T.Okamoto */ -+/* ------------------------------------------------------------------------ */ -+#include "lha.h" -+ -+/* ------------------------------------------------------------------------ */ -+static long packed_size_total; -+static long original_size_total; -+static int list_files; -+ -+/* ------------------------------------------------------------------------ */ -+/* Print Stuff */ -+/* ------------------------------------------------------------------------ */ -+/* need 14 or 22 (when verbose_listing is TRUE) column spaces */ -+static void -+print_size(packed_size, original_size) -+ long packed_size, original_size; -+{ -+ if (verbose_listing) -+ printf("%7d ", packed_size); -+ -+ printf("%7d ", original_size); -+ -+ if (original_size == 0L) -+ printf("******"); -+ else /* Changed N.Watazaki */ -+ printf("%5.1f%%", packed_size * 100.0 / original_size); -+} -+ -+/* ------------------------------------------------------------------------ */ -+/* need 12 or 17 (when verbose_listing is TRUE) column spaces */ -+static void -+print_stamp(t) -+ time_t t; -+{ -+ static boolean got_now = FALSE; -+ static time_t now; -+ static unsigned int threshold; -+ static char t_month[12 * 3 + 1] = "JanFebMarAprMayJunJulAugSepOctNovDec"; -+ struct tm *p; -+ -+ if (t == 0) { -+ printf(" "); /* 12 spaces */ -+ return; -+ } -+ -+ if (!got_now) { -+ now = time((time_t *) 0); -+ p = localtime(&now); -+ threshold = p->tm_year * 12 + p->tm_mon - 6; -+ got_now = TRUE; -+ } -+ -+ p = localtime(&t); -+ -+ if (p->tm_year * 12 + p->tm_mon > threshold) -+ printf("%.3s %2d %02d:%02d", -+ &t_month[p->tm_mon * 3], p->tm_mday, p->tm_hour, p->tm_min); -+ else -+ printf("%.3s %2d %04d", -+ &t_month[p->tm_mon * 3], p->tm_mday, p->tm_year + 1900); -+} -+ -+/* ------------------------------------------------------------------------ */ -+static void -+print_bar() -+{ -+ char *p, *q; -+ /* 17+1+(0 or 7+1)+7+1+6+1+(0 or 1+4)+(12 or 17)+1+20 */ -+ /* 12345678901234567_ 1234567_123456 _123456789012 1234 */ -+ -+ if (verbose_listing) { -+ p = "- ------ ---------- "; -+ q = " -------------"; -+ } -+ else { -+ p = " "; -+ q = " --------------------"; -+ } -+ -+ if (verbose) -+ q = ""; -+ -+ printf("---------- ----------- ------- ------%s------------%s\n", p, q); -+} -+ -+/* ------------------------------------------------------------------------ */ -+/* */ -+/* ------------------------------------------------------------------------ */ -+static void -+list_header() -+{ -+ char *p, *q; -+ -+ if (verbose_listing) { -+ p = "PACKED SIZE RATIO METHOD CRC"; -+ q = " NAME"; -+ } -+ else { -+ p = " SIZE RATIO"; -+ q = " NAME"; -+ } -+ -+ if (verbose) -+ q = ""; -+ -+ printf(" PERMSSN UID GID %s STAMP%s\n", p, q); -+#if 0 -+ printf(" PERMSSN UID GID %s SIZE RATIO%s %s STAMP%s%s\n", -+ verbose_listing ? " PACKED " : "", /* 8,0 */ -+ verbose_listing ? " CRC" : "", /* 5,0 */ -+ verbose_listing ? " " : "", /* 2,0 */ -+ verbose_listing ? " " : " ", /* 6,3 */ -+ verbose ? "" : " NAME"); -+#endif -+ print_bar(); -+} -+ -+/* ------------------------------------------------------------------------ */ -+static void -+list_one(hdr) -+ register LzHeader *hdr; -+{ -+ register int mode; -+ register char *p; -+ char method[6]; -+ char modebits[11]; -+ -+ if (verbose) -+ printf("%s\n", hdr->name); -+ -+ strncpy(method, hdr->method, 5); -+ method[5] = '\0'; -+ -+ switch (mode = hdr->extend_type) { -+ case EXTEND_UNIX: -+ mode = hdr->unix_mode; -+ -+ if (mode & UNIX_FILE_DIRECTORY) -+ modebits[0] = 'd'; -+ else if ((mode & UNIX_FILE_SYMLINK) == UNIX_FILE_SYMLINK) -+ modebits[0] = 'l'; -+ else -+ modebits[0] = '-'; -+ modebits[1] = ((mode & UNIX_OWNER_READ_PERM) ? 'r' : '-'); -+ modebits[2] = ((mode & UNIX_OWNER_WRITE_PERM) ? 'w' : '-'); -+ modebits[3] = (mode & UNIX_SETUID) ? 's' : -+ ((mode & UNIX_OWNER_EXEC_PERM) ? 'x' : '-'); -+ modebits[4] = ((mode & UNIX_GROUP_READ_PERM) ? 'r' : '-'); -+ modebits[5] = ((mode & UNIX_GROUP_WRITE_PERM) ? 'w' : '-'); -+ modebits[6] = (mode & UNIX_SETGID) ? 's' : -+ ((mode & UNIX_GROUP_EXEC_PERM) ? 'x' : '-'); -+ modebits[7] = ((mode & UNIX_OTHER_READ_PERM) ? 'r' : '-'); -+ modebits[8] = ((mode & UNIX_OTHER_WRITE_PERM) ? 'w' : '-'); -+ modebits[9] = (mode & UNIX_STYCKYBIT) ? 't' : -+ ((mode & UNIX_OTHER_EXEC_PERM) ? 'x' : '-'); -+ modebits[10] = 0; -+ -+ printf("%s %5d/%-5d ", modebits, -+ hdr->unix_uid, hdr->unix_gid); -+ break; -+ case EXTEND_OS68K: -+ /**/ case EXTEND_XOSK:/**/ -+ mode = hdr->unix_mode; -+ printf("%c%c%c%c%c%c%c%c %5d/%-5d", -+ ((mode & OSK_DIRECTORY_PERM) ? 'd' : '-'), -+ ((mode & OSK_SHARED_PERM) ? 's' : '-'), -+ ((mode & OSK_OTHER_EXEC_PERM) ? 'e' : '-'), -+ ((mode & OSK_OTHER_WRITE_PERM) ? 'w' : '-'), -+ ((mode & OSK_OTHER_READ_PERM) ? 'r' : '-'), -+ ((mode & OSK_OWNER_EXEC_PERM) ? 'e' : '-'), -+ ((mode & OSK_OWNER_WRITE_PERM) ? 'w' : '-'), -+ ((mode & OSK_OWNER_READ_PERM) ? 'r' : '-'), -+ hdr->unix_uid, hdr->unix_gid); -+ break; -+ default: -+ switch (hdr->extend_type) { /* max 18 characters */ -+ case EXTEND_GENERIC: -+ p = "[generic]"; -+ break; -+ case EXTEND_CPM: -+ p = "[CP/M]"; -+ break; -+ case EXTEND_FLEX: -+ p = "[FLEX]"; -+ break; -+ case EXTEND_OS9: -+ p = "[OS-9]"; -+ break; -+ case EXTEND_OS68K: -+ p = "[OS-9/68K]"; -+ break; -+ case EXTEND_MSDOS: -+ p = "[MS-DOS]"; -+ break; -+ case EXTEND_MACOS: -+ p = "[Mac OS]"; -+ break; -+ case EXTEND_OS2: -+ p = "[OS/2]"; -+ break; -+ case EXTEND_HUMAN: -+ p = "[Human68K]"; -+ break; -+ case EXTEND_OS386: -+ p = "[OS-386]"; -+ break; -+ case EXTEND_RUNSER: -+ p = "[Runser]"; -+ break; -+#ifdef EXTEND_TOWNSOS -+ /* This ID isn't fixed */ -+ case EXTEND_TOWNSOS: -+ p = "[TownsOS]"; -+ break; -+#endif -+ /* Ouch! Please customize it's ID. */ -+ default: -+ p = "[unknown]"; -+ break; -+ } -+ printf("%-23.23s", p); -+ break; -+ } -+ -+ print_size(hdr->packed_size, hdr->original_size); -+ -+ if (verbose_listing) -+ if (hdr->has_crc) -+ printf(" %s %04x", method, hdr->crc); -+ else -+ printf(" %s ****", method); -+ -+ printf(" "); -+ print_stamp(hdr->unix_last_modified_stamp); -+ -+ if (!verbose) -+ if ((mode & UNIX_FILE_SYMLINK) != UNIX_FILE_SYMLINK) -+ printf(" %s", hdr->name); -+ else { -+ char buf[256], *b1, *b2; -+ strcpy(buf, hdr->name); -+ b1 = strtok(buf, "|"); -+ b2 = strtok(NULL, "|"); -+ printf(" %s -> %s", b1, b2); -+ } -+ -+ if (verbose) -+ printf(" [%d]", hdr->header_level); -+ printf("\n"); -+ -+} -+ -+/* ------------------------------------------------------------------------ */ -+static void -+list_tailer() -+{ -+ struct stat stbuf; -+ -+ print_bar(); -+ -+ printf(" Total %9d file%c ", -+ list_files, (list_files == 1) ? ' ' : 's'); -+ print_size(packed_size_total, original_size_total); -+ printf(" "); -+ -+ if (verbose_listing) -+ printf(" "); -+ -+ if (stat(archive_name, &stbuf) < 0) -+ print_stamp((time_t) 0); -+ else -+ print_stamp(stbuf.st_mtime); -+ -+ printf("\n"); -+} -+ -+/* ------------------------------------------------------------------------ */ -+/* LIST COMMAND MAIN */ -+/* ------------------------------------------------------------------------ */ -+void -+cmd_list() -+{ -+ FILE *afp; -+ LzHeader hdr; -+ int i; -+ -+ /* initialize total count */ -+ packed_size_total = 0L; -+ original_size_total = 0L; -+ list_files = 0; -+ -+ /* open archive file */ -+ if ((afp = open_old_archive()) == NULL) { -+ error(archive_name, ""); -+ exit(1); -+ } -+ if (archive_is_msdos_sfx1(archive_name)) -+ skip_msdos_sfx1_code(afp); -+ -+ /* print header message */ -+ if (!quiet) -+ list_header(); -+ -+ /* print each file information */ -+ while (get_header(afp, &hdr)) { -+ if (need_file(hdr.name)) { -+ list_one(&hdr); -+ list_files++; -+ packed_size_total += hdr.packed_size; -+ original_size_total += hdr.original_size; -+ } -+ -+ if (afp != stdin) -+ fseek(afp, hdr.packed_size, SEEK_CUR); -+ else { -+ i = hdr.packed_size; -+ while (i--) -+ fgetc(afp); -+ } -+ } -+ -+ /* close archive file */ -+ fclose(afp); -+ -+ /* print tailer message */ -+ if (!quiet) -+ list_tailer(); -+ -+ return; -+} -+ -+/* Local Variables: */ -+/* mode:c */ -+/* tab-width:4 */ -+/* compile-command:"gcc -c lhlist.c" */ -+/* End: */ ---- lha-1.14i.orig/debian/changelog -+++ lha-1.14i/debian/changelog -@@ -0,0 +1,178 @@ -+lha (1.14i-10.1) unstable; urgency=high -+ -+ * Security NMU for vulnerabilities inherited from GNU Gzip: -+ [CVE-2006-4335 CVE-2006-4337 CVE-2006-4338] -+ -+ -- Moritz Muehlenhoff Wed, 13 Dec 2006 20:21:32 +0100 -+ -+lha (1.14i-10) unstable; urgency=high -+ -+ * debian/patch.redhat-sec2: Add one more security patch to fix: -+ - CAN-2004-0771 (-w working directory option buffer overflow) -+ http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0771 -+ - CAN-2004-0769 (buffer overflow can be executed arbitrary code -+ via long pathnames in headers, another issue of bug fixed in -9) -+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0769 -+ - CAN-2004-0745 (execute arbitrary commands via a directory with -+ shell metacharacters in its name.) -+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0745 -+ - CAN-2004-0694 (reserved number) -+ http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2004-0694 -+ taken from RedHat patch. (Closes: #279870) -+ * man/lha.n: Fix typo "flie" instead of "file". (Closes: #277545) -+ -+ -- GOTO Masanori Sat, 13 Nov 2004 15:31:22 +0900 -+ -+lha (1.14i-9) unstable; urgency=high -+ -+ * debian/patch.header-overflow: Add fix another lha buffer overflow -+ problem. It warns when hitting an archive which includes -+ long directory name with option l, v, x. See: -+ http://lw.ftw.zamosc.pl/lha-exploit.txt -+ http://www.securityfocus.com/archive/1/363418 -+ http://bugs.gentoo.org/show_bug.cgi?id=51285 -+ Thanks to Lukasz Wojtow for pointing this problem. -+ -+ -- GOTO Masanori Wed, 16 Jun 2004 09:51:06 +0900 -+ -+lha (1.14i-8) unstable; urgency=high -+ -+ * debian/patch.CAN-2004-0234_0235: Add fix CAN-2004-0235 symlink part -+ patches. (Closes: #247355, #247357) -+ -+ -- GOTO Masanori Sat, 8 May 2004 02:24:57 +0900 -+ -+lha (1.14i-7) unstable; urgency=high -+ -+ * debian/patch.CAN-2004-ulf: Add to fix CAN-2004-0234 (buffer overflows), -+ CAN-2004-0235 (directory traversal). See: -+ http://marc.theaimsgroup.com/?l=full-disclosure&m=108345064008698&w=2 -+ * debian/control: Change my mail address. -+ -+ -- GOTO Masanori Thu, 6 May 2004 15:13:14 +0900 -+ -+lha (1.14i-6) unstable; urgency=low -+ -+ * debian/copyright: Added more copyright license statement, translated -+ by Osamu Aoki . -+ * debian/copyright: Added good summary of upstream author, investigated by -+ Osamu Aoki and -+ Tatsuya Kinoshita . -+ * debian/header-e.doc: Added English version of header.doc (LHa header -+ structure format document) translated by Osamu Aoki -+ . -+ -+ -- GOTO Masanori Tue, 27 Aug 2002 13:08:22 +0900 -+ -+lha (1.14i-5) unstable; urgency=low -+ -+ * debian/patch.multibyte: Add multibyte character mode option 'y'. -+ You can use multibyte filename especially SHIFTJIS code -+ with this option. -+ -+ -- GOTO Masanori Fri, 19 Jul 2002 16:57:11 +0900 -+ -+lha (1.14i-4) unstable; urgency=low -+ -+ * debian/copyright: add original/translated license statement -+ (closes: Bug#144582). -+ -+ -- GOTO Masanori Wed, 1 May 2002 09:53:24 +0900 -+ -+lha (1.14i-3) unstable; urgency=low -+ -+ * fix lha reports a wrong version number (closes: Bug#135199). -+ -+ -- GOTO Masanori Sun, 3 Mar 2002 21:38:46 +0900 -+ -+lha (1.14i-2) unstable; urgency=low -+ -+ * Applied the patch not to get compiling warning message. -+ Patched by Paul Slootman . (Closes: #109634). -+ -+ -- GOTO Masanori Thu, 23 Aug 2001 00:26:53 +0900 -+ -+lha (1.14i-1) unstable; urgency=low -+ -+ * New upstream release (Closes: #62256). -+ * New maintainer. -+ * Updated Standards-version 3.5.2. -+ * Use build this package with dh_*. -+ * New upstream version is ready for -lh7- format (Closes: #67592). -+ * Japanese manual is now included (Closes: #49245). -+ * Unclosed Bugs (No copyright file is included) -+ has just re-closed (Closes: #48748). -+ -+ -- GOTO Masanori Sun, 22 Jul 2001 13:11:50 +0900 -+ -+lha (1.14e-2) unstable; urgency=low -+ -+ * Moved /usr/man/* and /usr/doc/* under /usr/share. Closes: #80759. -+ * Updated Standards-version, fixed lintian warnings. -+ -+ -- Steve McIntyre Sun, 21 Jan 2001 17:35:52 +0000 -+ -+lha (1.14e-0) unstable; urgency=low -+ -+ * New upstream release. Thanks to Jiro Iwamoto for pointing this out. -+ -+ -- Steve McIntyre Sun, 25 Jul 1999 23:05:24 +0100 -+ -+lha (1.14d-1) unstable; urgency=low -+ -+ * Fixed manpage - no need to specify "-b" for command line help. Closes bug #33328. -+ -+ -- Steve McIntyre Sun, 14 Feb 1999 16:24:44 +0000 -+ -+lha (1.14d-0) unstable; urgency=low -+ -+ * New upstream release. Thanks to Tomohiro KUBOTA for pointing this out. -+ -+ -- Steve McIntyre Sat, 16 Jan 1999 21:54:37 +0000 -+ -+lha (1.14c-1) frozen unstable; urgency=low -+ -+ * New man page, supplied by Martin Schulze . Fixes Bug#27195. -+ -+ -- Steve McIntyre Sun, 18 Oct 1998 13:53:12 +0100 -+ -+lha (1.14c-0) unstable; urgency=low -+ -+ * New upstream release. Thanks to Atsushi KAMOSHIDA for pointing this out. -+ -+ -- Steve McIntyre Sat, 15 Aug 1998 14:16:19 +0100 -+ -+lha (1.00-6) unstable; urgency=low -+ -+ * New maintainer. -+ -+ -- Steve McIntyre Mon, 12 Jan 1998 00:09:12 +0000 -+ -+lha (1.00-5) unstable; urgency=low, closes=16756 -+ -+ * Corrected Standards-Version to 2.3.0.1 (Bug#16756) -+ -+ -- Martin Schulze Fri, 9 Jan 1998 02:08:03 +0100 -+ -+lha (1.00-4) unstable; urgency=low -+ -+ * Compiled against libc6 (Bug#11696) -+ -+ -- Martin Schulze Wed, 31 Dec 1997 20:51:38 +0100 -+ -+lha (1.00-3) unstable; urgency=low -+ -+ * Corrected manpage (Bug#7980) -+ -+ * New maintainer address -+ -+ -- Martin Schulze Mon, 28 Apr 1997 13:10:10 +0200 -+ -+lha (1.00-2) unstable; urgency=low -+ -+ * Installed ChangeLog files -+ -+ * Converted into new packaging scheme -+ -+ -- Martin Schulze Sun, 23 Feb 1997 12:22:13 +0100 -+ ---- lha-1.14i.orig/debian/lha.1 -+++ lha-1.14i/debian/lha.1 -@@ -0,0 +1,139 @@ -+ .\" lha - LZH un-archiver -+.\" Copyright (c) 1996 Martin Schulze -+.\" -+.\" This manual page is free software; you can redistribute it and/or modify -+.\" it under the terms of the GNU General Public License as published by -+.\" the Free Software Foundation; either version 2 of the License, or -+.\" (at your option) any later version. -+.\" -+.\" This program is distributed in the hope that it will be useful, -+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of -+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+.\" GNU General Public License for more details. -+.\" -+.\" You should have received a copy of the GNU General Public License -+.\" along with this program; if not, write to the Free Software -+.\" Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+.\" -+.\" This manpage is written especially for Debian GNU/Linux. -+.\" -+.\" LHarc for UNIX V 1.02 Copyright(C) 1989 Y.Tagawa -+.\" LHx for MSDOS V C2.01 Copyright(C) 1990 H.Yoshizaki -+.\" LHx(arc) for OSK V 2.01 Modified 1990 Momozou -+.\" LHa for UNIX V 1.00 Copyright(C) 1992 Masaru Oki -+.\" -+.\" Additions by Joerg Boehnke -+.\" -+.TH LHA 1 "22 Sept, 1998" "Debian GNU/Linux" "Archiver" -+.SH NAME -+LHa \- LZH un-archiver -+.SH SYNOPSIS -+.B lha -+.B key -+[ -+.B - -+] -+.B {axelvudmcp} -+[ -+.B qvnfodizg012 -+] -+[ -+.B w= -+] -+.I archive_file -+[ -+.I flie -+\&.\|.\|. ] -+.br -+.B lha -+.I archive_file -+.SH DESCRIPTION -+The -+.B lha -+program displays or extracts the contents of a LZH archive. -+ -+For a list of commands, please refer to the executable. It will -+display a list of valid commands and modifiers if you omit any -+parameter. -+ -+.TP -+commands: -+ -+.B a -+Add(or replace) to archive -+ -+.B x,e -+EXtract from archive -+ -+.B l,v -+List / Verbose List -+ -+.B u -+Update newer files to archive -+ -+.B d -+Delete from archive -+ -+.B m -+Move to archive (means 'ad') -+ -+.B c -+re-Construct new archive -+ -+.B p -+Print to STDOUT from archive -+ -+.B t -+Test file CRC in archive -+ -+.TP -+options: -+ -+.B q -+quiet -+ -+.B v -+verbose -+ -+.B n -+not execute -+ -+.B f -+force (over write at extract) -+ -+.B t -+FILES are TEXT file -+ -+.B o -+use LHarc compatible method (a/u) -+ -+.B w= -+specify extract directory (x/e) -+ -+.B d -+delete FILES after (a/u/c) -+ -+.B i -+ignore directory path (x/e) -+ -+.B z -+files not compress (a/u) -+ -+.B g -+[Generic] format (for compatibility) -+ -+.B 0/1/2 -+header level (a/u) -+ -+.B e -+TEXT code convert from/to EUC -+ -+.B y -+filename multibyte convert -+ -+.SH BUGS -+ -+This manpage is poor, it really should be improved, but the original -+is in Japanese. -+ -+Try lha without any command line arguments to get help ---- lha-1.14i.orig/debian/rules -+++ lha-1.14i/debian/rules -@@ -0,0 +1,115 @@ -+#!/usr/bin/make -f -+# Sample debian/rules that uses debhelper. -+# GNU copyright 1997 to 1999 by Joey Hess. -+ -+# Uncomment this to turn on verbose mode. -+#export DH_VERBOSE=1 -+ -+# This is the debhelper compatability version to use. -+export DH_COMPAT=3 -+ -+configure: configure-stamp -+configure-stamp: -+ dh_testdir -+ # Add here commands to configure the package. -+ -+ patch -p0 < debian/patch.paul -+ patch -p0 < debian/patch.multibyte -+ patch -p0 < debian/patch.CAN-2004-0234_0235 -+ patch -p0 < debian/patch.header-overflow -+ patch -p1 < debian/patch.redhat-sec2 -+ patch -p1 < debian/patch.CVE-2006-4335-CVE-2006-4337-CVE-2006-4338 -+ -+ touch configure-stamp -+ -+build: configure-stamp build-stamp -+build-stamp: -+ dh_testdir -+ -+ # Add here commands to compile the package. -+ $(MAKE) -+ #/usr/bin/docbook-to-man debian/lha.sgml > lha.1 -+ -+ touch build-stamp -+ -+clean: -+ dh_testdir -+ dh_testroot -+ rm -f build-stamp configure-stamp -+ -+ # Add here commands to clean up after the build process. -+ -$(MAKE) clean -+ -+ # delete copied docs. -+ rm -f MACHINES MACHINES2 PROBLEMS README -+ rm -f header.doc debian/lha.euc.1.gz debian/lha.1.gz -+ cp debian/org/lha.h src/lha.h -+ cp debian/org/header.c src/header.c -+ cp debian/org/lharc.c src/lharc.c -+ cp debian/org/util.c src/util.c -+ cp debian/org/lhext.c src/lhext.c -+ cp debian/org/lhlist.c src/lhlist.c -+ cp debian/org/lha_macro.h src/lha_macro.h -+ -+ dh_clean -+ -+install: build -+ dh_testdir -+ dh_testroot -+ dh_clean -k -+ dh_installdirs -+ -+ # Add here commands to install the package into debian/lha. -+ # $(MAKE) install BINDIR=$(CURDIR)/debian/lha/usr/bin \ -+ # MANDIR=$(CURDIR)/debian/lha/usr/share/man \ -+ # MANSECT=1 -+ install -m 755 src/lha $(CURDIR)/debian/lha/usr/bin -+ -+ # Copy the filenames without the .euc extension -+ cp MACHINES.euc MACHINES -+ cp MACHINES2.euc MACHINES2 -+ cp PROBLEMS.euc PROBLEMS -+ cp README.euc README -+ cp header.doc.euc header.doc -+ -+ gzip -9 -c man/lha.n > debian/lha.euc.1.gz -+ gzip -9 -c debian/lha.1 > debian/lha.1.gz -+ install -m 644 debian/lha.euc.1.gz $(CURDIR)/debian/lha/usr/share/man/ja/man1/lha.1.gz -+ install -m 644 debian/lha.1.gz $(CURDIR)/debian/lha/usr/share/man/man1/lha.1.gz -+ -+# Build architecture-independent files here. -+binary-indep: build install -+# We have nothing to do by default. -+ -+# Build architecture-dependent files here. -+binary-arch: build install -+ dh_testdir -+ dh_testroot -+# dh_installdebconf -+ dh_installdocs -+ dh_installexamples -+ dh_installmenu -+# dh_installlogrotate -+# dh_installemacsen -+# dh_installpam -+# dh_installmime -+# dh_installinit -+# dh_installcron -+# dh_installman -+# dh_installinfo -+# dh_undocumented -+ dh_installchangelogs CHANGES.euc -+ dh_link -+ dh_strip -+ dh_compress -+ dh_fixperms -+# dh_makeshlibs -+ dh_installdeb -+# dh_perl -+ dh_shlibdeps -+ dh_gencontrol -+ dh_md5sums -+ dh_builddeb -+ -+binary: binary-indep binary-arch -+.PHONY: build clean binary-indep binary-arch binary install configure ---- lha-1.14i.orig/debian/dirs -+++ lha-1.14i/debian/dirs -@@ -0,0 +1,3 @@ -+usr/bin -+usr/share/man/man1 -+usr/share/man/ja/man1/ ---- lha-1.14i.orig/debian/copyright -+++ lha-1.14i/debian/copyright -@@ -0,0 +1,172 @@ -+This package was debianized by Atsushi KAMOSHIDA kamop@post1.com on -+Sun, 13 Apr 1997 17:52:59 +0900. -+ -+It was downloaded from http://www2m.biglobe.ne.jp/~dolphin/lha/lha.htm -+ -+Upstream Authors: -+ -+ LHarc 0.01-1.00: Yooichi Tagawa (LHa code taken from here, 1988-1989) -+ Nikkei-mix ID: y.tagawa (Now this is defunct BBS, Licensing term -+ in manual page come from his licence for lharc) -+ His new web page seems to be www2s.biglibe.ne.jp/~yex/ -+ yooedit2001@yahoo.co.jp is the contact e-mail address for another -+ software. Page updated at least July/2001 -+ -+ LHa 0.01-1.00: Masaru Oki (LHa original author, 1991-1992) -+ E-Mail address: oki@netbsd.org -+ -+ LHa 1.10-1.14: Nobutaka Watazaki (Last official release? 1993-1995) -+ ALICE-NET ALS00595 Nasty -+ E-Mail JBD02514@niftyserve.or.jp -+ E-Mail femcs@mbox.kyoto-inet.or.jp -+ NIFTY-Serve JBD02514 -+ E-Mail address: watazaki@shimadzu.co.jp -+ E-Mail address: watazaki@shimadzusd.co.jp -+ -+ Lha 1.14a-1.14e: Tsugio Okamoto (1996-2000) -+ -+ -+Copyright: -+ -+Original Source Code License Statement: -+ -+ /* Copyright (C) MCMLXXXIX Yooichi.Tagawa */ -+ /* Modified Nobutaka Watazaki */ -+ /* Thanks to H.Yoshizaki. (MS-DOS LHarc) */ -+ -+ -+Original Authors License Statement (from man/lha.man, in Japanese -+EUC-JP): -+ -+ ºÆÇÛÉۤˤĤ¤¤Æ -+ °Ê²¼¤Î¾ò·ï¤Ç¡¢ºÆÇÛÉÛ¡¢Å¾ºÜ¡¢²þÊѤòµö²Ä¤·¤Þ¤¹¡£ -+ -+ 1. Ãøºî¸¢É½¼¨¤òºï½ü¤·¤Ê¤¤¤³¤È¡£ -+ -+ 2. ÇÛÉÛÆâÍƤˤĤ¤¤Æ¤Ï¡¢ -+ -+ a. ÇÛÉۤκݤ˸ºß¤¹¤ëÆâÍÆ(¤¹¤Ê¤ï¤Á ¥½¡¼ ¥¹ ¥³¡¼ -+ ¥É¡¢ ¥É ¥­¥å¥á¥ó¥È¡¢¥×¥í¥°¥é¥Þ¡¼¤Ø¤Î¼ê°ú¤­¤Ê -+ ¤É)¤¬ºÆÇÛÉÛ¤µ¤ì¤¿¤â¤Î¤ÎÃæ¤Ëɬ¤ºÂ¸ºß ¤¹ ¤ë ¤³ -+ ¤È¡£ ²þ ÊѤµ¤ì¤Æ¤¤¤ë¤Ê¤é¤Ð¡¢¤½¤ì¤òÌÀ¼¨¤·¤¿¥É -+ ¥­¥å¥á¥ó¥È¤òÍÑ°Õ¤¹¤ë¤³¤È¡£ -+ -+ b. LHa ¤ËÂФ¹¤ëÉղòÁÃͤ¬ÉÕ¤±¤é¤ì¤ÆºÆÇÛÉÛ¤µ¤ì¤ë -+ ¾ì¹ç¤Ë¤Ï¤½¤ì¤é¤â¤Ç¤­¤ë¤À¤±´Þ¤á¤ë¤è¤¦ÅØÎϤ¹¤ë -+ ¤³¤È¡£¤Þ¤¿¡¢¤½¤ÎºÝ¤Ë¤ÏÉղòÁÃͤ¬ÉÕ¤±¤é¤ì¤Æ¤¤ -+ ¤ë¤³¤È¤òÌÀ¼¨¤·¤¿¥É¥­¥å¥á¥ó¥È¤òÍÑ°Õ¤¹¤ë¤³¤È¡£ -+ -+ c. ¥Ð¥¤¥Ê¥ê¤Î¤ß¤ÎÇÛÉۤϵö¤µ¤ì¤Ê¤¤¡£(ÉղòÁÃÍ ¤Î -+ ¤â¤Î¤â´Þ¤à) -+ -+ 3. ºÇ¿·ÈǤÎÇÛÉÛ¤Ë̳¤á¤ë¤³¤È¡£(µÁ̳¤Ï¤Ê¤¤) -+ -+ Ãí. ¤Ê¤ª¡¢¥Í¥Ã¥È¤Ç¤ÎÇÛÉդϼ«Í³¤Ç¤¢¤ë¤¬¡¢¥Í¥Ã¥È¤Ë -+ ¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤Êý¡Ê»¨»ï¤ª¤è¤Ó¡¢ CDROM ¤Ê ¤É -+ ¤Ë ¤è¤ë¡ËÇÛÉդϡ¢ÇÛÉÕÁ°¤Ë¤³¤Á¤é¤Ë EMail ¤ò¤ª -+ ´ê¤¤¤·¤Þ¤¹¡£ÇÛÉÕÁ°¤Ë½ÐÍè¤Ê¤¤ºÝ¤Ë¤Ï¡¢¸åÆüɬ¤º -+ EMail ¤ò¤ª´ê¤¤¤·¤Þ¤¹¡£ -+ -+ 4. ¤³¤Î¥×¥í¥°¥é¥à¤Î¸ºß¤ä»ÈÍѤ·¤¿¤³¤È¤Ë¤è¤Ã¤ÆÀ¸¤¸¤¿Â» -+ ³²¤ÏÁ´¤¯Êݾڤ·¤Ê¤¤¡£ -+ -+ 5. ºî¼Ô¤Ï¡¢¤³¤Î¥×¥í¥°¥é¥à¤ËÉÔÈ÷¤¬¤¢¤Ã¤Æ¤â¡¢¤½¤ì¤òÄû Àµ -+ ¤¹¤ëµÁ̳¤òÉé¤ï¤Ê¤¤¡£ -+ -+ 6. ¤³¤Î¥×¥í¥°¥é¥à¤Î°ìÉô¡¢¤Þ¤¿¤ÏÁ´Éô¤ò¾¤Î¥×¥í¥°¥é¥à¤Ë -+ ÁȤ߹þ¤ó¤ÇÍøÍѤ·¤Æ¤â¤«¤Þ¤ï¤Ê¤¤¡£¤³¤Î¾ì¹ç¡¢¤½¤Î¥× ¥í -+ ¥°¥é¥à¤Ï LHa ¤Ç¤Ï¤Ê¤¯¡¢ LHa ¤È̾¾è¤Ã¤Æ¤Ï¤¤¤±¤Ê¤¤¡£ -+ -+ 7. ¾¦ÍøÍѤ˴ؤ·¤Æ¤Ï¡¢¾åµ­¤Î¾ò·ï¤Ë²Ã¤¨¡¢²¼µ­¤Î¾ò·ï¤Î¤â -+ ¤È¤Ë¤³¤ì¤òǧ¤á¤ë¡£ -+ -+ a. ¤³¤Î¥×¥í¥°¥é¥à¤ò¥á¥¤¥ó¤È¤¹¤ë¾¦ÍøÍÑ¤Ï¶Ø »ß ¤¹ -+ ¤ë¡£ -+ -+ b. ¾¦ÍøÍѤÎÁê¼ê¤¬¤³¤Î¥×¥í¥°¥é¥à¤Î»ÈÍѼԤȤ·¤ÆÉÔ -+ ŬÀÚ¤ÈȽÃǤ·¤¿¾ì¹ç¤Ë¤ÏÇÛÉÛ¤·¤Ê¤¤¡£ -+ -+ c. ¥¤¥ó¥¹¥È¡¼¥ë¤Î¼êÃʤȤ·¤Æ»ÈÍѤ¹¤ë¾ì¹ç¡¢¤³¤Î¥× -+ ¥í¥°¥é¥à¤ò»È¤¦¤³¤È¤òÁê¼ê¤Ë¶¯À©¤·¤Ê¤¤¡£¤³¤Î¾ì -+ ¹ç¡¢¾¦ÍøÍѼԤ¬ºî¶È¤ò¹Ô¤¦¡£¤Þ¤¿¡¢¤½¤Î¤È¤­¤Î» -+ ³²¤Ï¡¢¾¦ÍøÍѼԤ¬Á´ÀÕǤ¤òÉ餦¡£ -+ -+ d. ¾¦ÍøÍѤòÉղòÁÃͤȤ·¤Æ¹Ô¤¤¤³¤Î¥×¥í¥°¥é¥à¤ò»È -+ ÍѤ¹¤ë¾ì¹ç¡¢¾¦ÍøÍѼԤϡ¢¤½¤Î¥µ¥Ý¡¼¥È¤ò¹Ô¤¦¡£ -+ -+ -+Original Authors License Statement (from man/lha.man, translated by -+Osamu Aoki ): -+ -+ Permission is given for redistribution, copy, and modification provided -+ following conditions are met. -+ -+ 1. Do not remove copyright clause. -+ 2. Distribution shall conform: -+ a. The content of redistribution (i.e., source code, documentation, -+ and reference guide for programmers) shall include original contents. -+ If contents are modified, the document clearly indicating -+ the fact of modification must be included. -+ b. If LHa is redistributed with added values, you must put your best -+ effort to include them (Translator comment: If read literally, -+ original Japanese was unclear what "them" means here. But -+ undoubtedly this "them" means source code for the added value -+ portion and this is a typical Japanese sloppy writing style to -+ abbreviate as such) Also the document clearly indicating that -+ added value was added must be included. -+ c. Binary only distribution is not allowed (including added value -+ ones.) -+ 3. You need to put effort to distribute the latest version (This is not -+ your duty). -+ -+ NB: Distribution on Internet is free. Please notify me by e-mail or -+ other means prior to the distribution if distribution is done through -+ non-Internet media (Magazine, CDROM etc.) If not, make sure to Email -+ me later. -+ -+ 4. Any damage caused by the existence and use of this program will not -+ be compensated. -+ -+ 5. Author will not be responsible to correct errors even if program is -+ defective. -+ -+ 6. This program, either as a part of this or as a whole of this, may be -+ included into other programs. In this case, that program is not LHa -+ and can not call itself LHa. -+ -+ 7. For commercial use, in addition to above conditions, following -+ condition needs to be met. -+ -+ a. The program whose content is mainly this program can not be used -+ commercially. -+ b. If the recipient of commercial use deems inappropriate as a -+ program user, you must not distribute. -+ c. If used as a method for the installation, you must not force -+ others to use this program. In this case, commercial user will -+ perform its work while taking full responsibility of its outcome. -+ d. If added value is done under the commercial use by using this -+ program, commercial user shall provide its support. -+ -+ -+(Osamu Aoki also comments: -+ Here "commercial" may be interpreted as "for-fee". "Added value" seems -+ to mean "feature enhancement". ) -+ -+ -+License Statement by Tsugio Okamoto (in Japanese EUC-JP): -+ -+ ¤Ê¤ª¡¢¥Í¥Ã¥È¤Ç¤ÎÇÛÉդϼ«Í³¤Ç¤¹¤¬¡¢¥Í¥Ã¥È¤Ë¥¢¥¯¥»¥¹¤Ç¤­¤Ê¤¤Êý¡Ê»¨»ï¤ª¤è¤Ó¡¢ -+ CD-ROM ¤Ê¤É¤Ë¤è¤ë¡Ë¤Ø¤ÎÇÛÉդϡ¢ÇÛÉÕÁ°¤Ë¤³¤Á¤é¤Ë Inter-Net ¤ÎÊý¤ËE-Mail -+ ¤ò ¤ª´ê¤¤¤·¤Þ¤¹¡£ ¤É¤³¤½¤³¤Ë¡¢·ÇºÜ¤¹¤ë¤È¤¤¤¦»Ý¤¬¤¢¤ì¤Ð·ë¹½¤Ç¤¹¤Î¤Ç¡£ -+ ¤Þ¤¿¡¢¤½¤ì¤â½ÐÍè¤Ê¤¤ºÝ¤Ë¤Ï¡¢¸åÆü E-Mail ¤òɬ¤º¤ª´ê¤¤¤·¤Þ¤¹¡£ -+ -+ -+Translated License Statement by Tsugio Okamoto (translated by -+GOTO Masanori ): -+ -+ It's free to distribute on the network, but if you distribute for -+ the people who cannot access the network (by magazine or CD-ROM), -+ please send E-Mail (Inter-Net address) to the author before the -+ distribution. That's well where this software is appeard. -+ If you cannot do, you must send me the E-Mail later. -+ ---- lha-1.14i.orig/debian/control -+++ lha-1.14i/debian/control -@@ -0,0 +1,13 @@ -+Source: lha -+Section: non-free/utils -+Priority: optional -+Maintainer: GOTO Masanori -+Build-Depends: debhelper (>> 4.0.0) -+Standards-Version: 3.6.0 -+ -+Package: lha -+Architecture: any -+Depends: ${shlibs:Depends} -+Description: lzh archiver -+ The famous lzh archiver, known from DOS. When mixing DOS and Unix -+ you might need it. (Especially for fido <--> rfc conversions.) ---- lha-1.14i.orig/debian/docs -+++ lha-1.14i/debian/docs -@@ -0,0 +1,10 @@ -+README.euc -+change-114e.txt -+change-114g.txt -+change-114h.txt -+change-114i.txt -+MACHINES -+MACHINES2 -+PROBLEMS -+header.doc -+debian/header-e.doc ---- lha-1.14i.orig/debian/patch.paul -+++ lha-1.14i/debian/patch.paul -@@ -0,0 +1,10 @@ -+--- src/lha.h Thu Oct 5 19:35:38 2000 -++++ src/lha.h Wed Aug 22 15:49:55 2001 -+@@ -16,6 +16,7 @@ -+ #include -+ #include -+ #include -++#include -+ -+ #include -+ ---- lha-1.14i.orig/debian/header-e.doc -+++ lha-1.14i/debian/header-e.doc -@@ -0,0 +1,189 @@ -+/* header.doc (In English) */ -+Header structure used in LHa for UNIX Mar. 2, 1992, Masaru Oki. -+(Translated by Osamu Aoki) -+ -+---------------------------------------------------------------- -+This version, as a transitional mreasure, uses level-1 as default value while -+offering 3 types of header types. In the future, I plan to use level-2 which -+has no limit on number of characters for the path mname. -+ -+ A. Spec for header -+ -+Basic part -+----------------------------------------------------------------------------- -+ level-0 level-1 level-2 -+----------------------------------------------------------------------------- -+ 1 header size 1 header size 2 total header size -+ 1 header sum 1 header sum -+ 5 method ID 5 method ID 5 method ID -+ 4 packed size 4 skip size 4 packed size -+ 4 original size 4 original size 4 original size -+ 2 time 2 time 4 time(UNIX type) -+ 2 date 2 date -+ 1 attribute 1 0x20 1 RESERVED -+ 1 level 0x00 1 level 0x01 1 level 0x02 -+ 1 name length 1 name length -+ ? pathname ? filename -+ 2 file crc 2 file crc 2 file crc -+ . ........ 1 OS ID 'U' 1 OS ID 'U' -+ . ........ -+ 2 next-header size 2 next-header size -+ ************************************************************************* -+ 24 + ? 27 + ? 26 -+ -+Extension part -+----------------------------------------------------------------------------- -+ 1 ext-type 1 ext-type -+ . ........ . ........ -+ 2 next-header size 2 next-header size -+ -+----------------------------------------------------------------------------- -+ -+ a. Types of header -+ -+ level-0 header -+ Same format as conventional LHarc, LArc. Separator for directory -+ name is '\' as default. -+ -+ level-1 header -+ This header is used as default. Archive type -lh0 made with -x0 can -+ be unfrozen by LHarc but there will be no checking on CRC. -+ -+ level-2 header -+ Header for supporting long file names. I would like to standarize -+ on this format in the future. Please follow this if you wish to -+ make utilities related ti LH. -+ -+ b. method ID for freeze/unfreeze -+ -+ * these methods are freeze/unfreeze, others are unfreeze only -+ -+ -lh0- * no compression -+ -+ -lh1- * 4k sliding dictionary(max 60 bytes) + dynamic Huffman -+ + fixed encoding of position -+ -+ -lh2- 8k sliding dictionary(max 256 bytes) + dynamic Huffman -+ -+ -lh3- 8k sliding dictionary(max 256 bytes) + static Huffman -+ -+ -lh4- * 4k sliding dictionary(max 256 bytes) + static Huffman -+ + improved encoding of position and trees -+ -+ -lh5- * 8k sliding dictionary(max 256 bytes) + static Huffman -+ + improved encoding of position and trees -+ -+ -lh6- 32k sliding dictionary(max 256 bytes) + static Huffman -+ + improved encoding of position and trees -+ -+ -lh7- 64k sliding dictionary(max 256 bytes) + static Huffman -+ + improved encoding of position and trees -+ -+ -lzs- 2k sliding dictionary(max 17 bytes) -+ -+ -lz4- no compression -+ -+ -lz5- 4k sliding dictionary(max 17 bytes) -+ -+ c. About OS ID -+ -+ Following OS ID are reserved. -+ -+ MS-DOS 'M' -+ OS/2 '2' -+ OS9 '9' -+ OS/68K 'K' -+ OS/386 '3' -+ HUMAN 'H' -+ UNIX 'U' -+ CP/M 'C' -+ FLEX 'F' -+ Mac 'm' -+ Runser 'R' -+ -+ B. Extension -+ -+ a. OS independent (0x00 - 0x3f) -+ -+ common header -+ 1 0x00 -+ 2 header crc -+ ( 1 information ) -+ 2 next-header size -+ -+ filename header -+ 1 0x01 -+ ? filename -+ 2 next-header size -+ -+ dirname header -+ 1 0x02 -+ ? dirname -+ 2 next-header size -+ -+ comment header -+ 1 0x3f -+ ? comments -+ 2 next-header size -+ -+(Above portion, from lhx.doc by Mr. Yoshizaki) -+---------------------------------------------------------------- -+LHa for UNIX : specification for extension header -+ -+* Category of machine specific information (Information to be recorded) -+ Followings are UNIX specific information which requires to be recorded -+ (1) Permission -+ (2) GID,UID -+ (3) Group name, User name -+ (4) Last change time (UNIX time) -+ -+* Type of machine specific information (ext-type) -+ First 1 byte of extension header contain value to distinguish types of -+ the infoemation. Foe UNIX specific information, 0x50 - 0x54 will be -+ used. -+ -+* Method to store -+ Above categories (1) - (4) will be different type. -+ -+ -+ (1) Pemission -+ size value -+ 1 0x50 -+ 2 Valur of permission -+ 2 next-header size -+ -+ (2)GID,UID -+ size value -+ 1 0x51 -+ 2 GID -+ 2 UID -+ 2 next-header size -+ -+ (3)-1 Group name -+ 1 0x52 -+ ? Group name string -+ 2 next-header size -+ -+ (3)-2 user name -+ 1 0x53 -+ ? User name string -+ 2 next-header size -+ -+ (4) Last change time (for header_level1) -+ 1 0x54 -+ 4 UNIX time -+ 2 next-header size -+ -+* Implimentation of LHa for UNIX ver 1.14 (Watazaki) -+ Above (3) is not supported -+ Group name and user name specified by (3) is not used to make an -+ archive thus ignored during expansion. -+ Also (4) is contained only in level-1 archive. -+---------------------------------------------------------------- -+That's all folks :) -+ -+Partially modified by -+Nobutaka Watazaki -+watazaki@shimadzu.co.jp -+ -+ ---- lha-1.14i.orig/debian/patch.CAN-2004-0234_0235 -+++ lha-1.14i/debian/patch.CAN-2004-0234_0235 -@@ -0,0 +1,85 @@ -+--- src/header.c.old 2000-10-05 19:36:03.000000000 +0200 -++++ src/header.c 2004-04-17 23:55:54.000000000 +0200 -+@@ -538,6 +538,10 @@ -+ /* -+ * filename -+ */ -++ if (header_size >= 256) { -++ fprintf(stderr, "Possible buffer overflow hack attack, type #1\n"); -++ exit(109); -++ } -+ for (i = 0; i < header_size - 3; i++) -+ hdr->name[i] = (char) get_byte(); -+ hdr->name[header_size - 3] = '\0'; -+@@ -547,6 +551,10 @@ -+ /* -+ * directory -+ */ -++ if (header_size >= FILENAME_LENGTH) { -++ fprintf(stderr, "Possible buffer overflow hack attack, type #2\n"); -++ exit(110); -++ } -+ for (i = 0; i < header_size - 3; i++) -+ dirname[i] = (char) get_byte(); -+ dirname[header_size - 3] = '\0'; -+--- src/lhext.c.old 2000-10-04 16:57:38.000000000 +0200 -++++ src/lhext.c 2004-04-18 01:27:44.000000000 +0200 -+@@ -190,8 +190,13 @@ -+ q = (char *) rindex(hdr->name, '/') + 1; -+ } -+ else { -++ if (is_directory_traversal(q)) { -++ fprintf(stderr, "Possible directory traversal hack attempt in %s\n", q); -++ exit(111); -++ } -++ -+ if (*q == '/') { -+- q++; -++ while (*q == '/') { q++; } -+ /* -+ * if OSK then strip device name -+ */ -+@@ -419,6 +424,33 @@ -+ return; -+ } -+ -++int -++is_directory_traversal(char *string) -++{ -++ unsigned int type = 0; /* 0 = new, 1 = only dots, 2 = other chars than dots */ -++ char *temp; -++ -++ temp = string; -++ -++ while (*temp != 0) { -++ if (temp[0] == '/') { -++ if (type == 1) { return 1; } -++ type = 0; -++ temp++; -++ continue; -++ } -++ -++ if ((temp[0] == '.') && (type < 2)) -++ type = 1; -++ if (temp[0] != '.') -++ type = 2; -++ -++ temp++; -++ } /* while */ -++ -++ return (type == 1); -++} -++ -+ /* Local Variables: */ -+ /* mode:c */ -+ /* tab-width:4 */ -+--- src/lhext.c.symlink 2000-10-04 10:57:38.000000000 -0400 -++++ src/lhext.c 2003-05-19 22:55:57.000000000 -0400 -+@@ -351,6 +351,7 @@ extract_one(afp, hdr) -+ } -+ -+ unlink(bb1); -++ make_parent_path(bb1); -+ l_code = symlink(bb2, bb1); -+ if (l_code < 0) { -+ if (quiet != TRUE) ---- lha-1.14i.orig/debian/patch.header-overflow -+++ lha-1.14i/debian/patch.header-overflow -@@ -0,0 +1,21 @@ -+--- src/header.c 2002-07-19 17:23:58.000000000 +0900 -++++ src/header.c 2004-06-16 09:49:23.000000000 +0900 -+@@ -648,8 +648,17 @@ -+ } -+ -+ if (dir_length) { -++ if ((dir_length + name_length) > sizeof(dirname)) { -++ fprintf(stderr, "Insufficient buffer size\n"); -++ exit(112); -++ } -+ strcat(dirname, hdr->name); -+- strcpy(hdr->name, dirname); -++ -++ if ((dir_length + name_length) > sizeof(hdr->name)) { -++ fprintf(stderr, "Insufficient buffer size\n"); -++ exit(112); -++ } -++ strncpy(hdr->name, dirname, sizeof(hdr->name)); -+ name_length += dir_length; -+ } -+ ---- lha-1.14i.orig/debian/patch.redhat-sec2 -+++ lha-1.14i/debian/patch.redhat-sec2 -@@ -0,0 +1,196 @@ -+diff -urNp lha-114i.orig/src/lha_macro.h lha-114i/src/lha_macro.h -+--- lha-114i.orig/src/lha_macro.h 2004-08-03 15:53:56.000000000 -0500 -++++ lha-114i/src/lha_macro.h 2004-08-03 15:54:05.000000000 -0500 -+@@ -53,7 +53,7 @@ -+ #define SEEK_SET 0 -+ #define SEEK_CUR 1 -+ #define SEEK_END 2 -+-#endif /* SEEK_SET -++#endif /* SEEK_SET */ -+ -+ -+ /* non-integral functions */ -+diff -urNp lha-114i.orig/src/lharc.c lha-114i/src/lharc.c -+--- lha-114i.orig/src/lharc.c 2004-08-03 15:53:56.000000000 -0500 -++++ lha-114i/src/lharc.c 2004-08-03 15:54:05.000000000 -0500 -+@@ -830,9 +830,10 @@ find_files(name, v_filec, v_filev) -+ DIRENTRY *dp; -+ struct stat tmp_stbuf, arc_stbuf, fil_stbuf; -+ -+- strcpy(newname, name); -++ strncpy(newname, name, sizeof(newname)); -++ newname[sizeof(newname)-1] = 0; -+ len = strlen(name); -+- if (len > 0 && newname[len - 1] != '/') -++ if (len > 0 && newname[len - 1] != '/' && len < (sizeof(newname)-1)) -+ newname[len++] = '/'; -+ -+ dirp = opendir(name); -+@@ -846,6 +847,11 @@ find_files(name, v_filec, v_filev) -+ -+ for (dp = readdir(dirp); dp != NULL; dp = readdir(dirp)) { -+ n = NAMLEN(dp); -++ if (len >= (sizeof(newname)-1) || -++ (len+n) >= (sizeof(newname)-1) || -++ n <= 0 || -++ (len+n) <= 0) -++ break; -+ strncpy(newname + len, dp->d_name, n); -+ newname[len + n] = '\0'; -+ if (GETSTAT(newname, &fil_stbuf) < 0) -+@@ -903,7 +909,8 @@ build_temporary_name() -+ strcpy(temporary_name, TMP_FILENAME_TEMPLATE); -+ } -+ else { -+- sprintf(temporary_name, "%s/lhXXXXXX", extract_directory); -++ snprintf(temporary_name, sizeof(temporary_name), -++ "%s/lhXXXXXX", extract_directory); -+ } -+ #ifdef MKSTEMP -+ mkstemp(temporary_name); -+@@ -913,10 +920,16 @@ build_temporary_name() -+ #else -+ char *p, *s; -+ -+- strcpy(temporary_name, archive_name); -++ strncpy(temporary_name, archive_name, sizeof(temporary_name)); -++ temporary_name[sizeof(temporary_name)-1] = 0; -+ for (p = temporary_name, s = (char *) 0; *p; p++) -+ if (*p == '/') -+ s = p; -++ -++ if( sizeof(temporary_name) - ((size_t) (s-temporary_name)) - 1 -++ <= strlen("lhXXXXXX")) -++ exit(-1); -++ -+ strcpy((s ? s + 1 : temporary_name), "lhXXXXXX"); -+ #ifdef MKSTEMP -+ mkstemp(temporary_name); -+@@ -1052,7 +1065,8 @@ open_old_archive() -+ -+ if (open_old_archive_1(archive_name, &fp)) -+ return fp; -+- sprintf(expanded_archive_name, "%s.lzh", archive_name); -++ snprintf(expanded_archive_name, sizeof(expanded_archive_name), -++ "%s.lzh", archive_name); -+ if (open_old_archive_1(expanded_archive_name, &fp)) { -+ archive_name = expanded_archive_name; -+ return fp; -+@@ -1061,7 +1075,8 @@ open_old_archive() -+ * if ( (errno&0xffff)!=E_PNNF ) { archive_name = -+ * expanded_archive_name; return NULL; } -+ */ -+- sprintf(expanded_archive_name, "%s.lzs", archive_name); -++ snprintf(expanded_archive_name, sizeof(expanded_archive_name), -++ "%s.lzs", archive_name); -+ if (open_old_archive_1(expanded_archive_name, &fp)) { -+ archive_name = expanded_archive_name; -+ return fp; -+diff -urNp lha-114i.orig/src/lhext.c lha-114i/src/lhext.c -+--- lha-114i.orig/src/lhext.c 2004-08-03 15:53:56.000000000 -0500 -++++ lha-114i/src/lhext.c 2004-08-03 15:55:40.000000000 -0500 -+@@ -82,7 +82,8 @@ make_parent_path(name) -+ register char *p; -+ -+ /* make parent directory name into PATH for recursive call */ -+- strcpy(path, name); -++ memset(path, 0, sizeof(path)); -++ strncpy(path, name, sizeof(path)-1); -+ for (p = path + strlen(path); p > path; p--) -+ if (p[-1] == '/') { -+ *--p = '\0'; -+@@ -212,9 +213,11 @@ extract_one(afp, hdr) -+ } -+ -+ if (extract_directory) -+- sprintf(name, "%s/%s", extract_directory, q); -+- else -+- strcpy(name, q); -++ snprintf(name, sizeof(name), "%s/%s", extract_directory, q); -++ else { -++ strncpy(name, q, sizeof(name)); -++ name[sizeof(name) - 1] = '\0'; -++ } -+ -+ -+ /* LZHDIRS_METHOD�����ĥإå��������å����� */ -+@@ -335,7 +338,8 @@ extract_one(afp, hdr) -+ if ((hdr->unix_mode & UNIX_FILE_TYPEMASK) == UNIX_FILE_SYMLINK) { -+ char buf[256], *bb1, *bb2; -+ int l_code; -+- strcpy(buf, name); -++ strncpy(buf, name, sizeof(buf)); -++ buf[sizeof(buf)-1] = 0; -+ bb1 = strtok(buf, "|"); -+ bb2 = strtok(NULL, "|"); -+ -+@@ -365,9 +369,10 @@ extract_one(afp, hdr) -+ if (quiet != TRUE) { -+ printf("Symbolic Link %s -> %s\n", bb1, bb2); -+ } -+- strcpy(name, bb1); /* Symbolic's name set */ -++ strncpy(name, bb1, 255); /* Symbolic's name set */ -++ name[255] = 0; -+ #else -+- sprintf(buf, "%s -> %s", bb1, bb2); -++ sprintf(buf, sizeof(buf), "%s -> %s", bb1, bb2); -+ warning("Can't make Symbolic Link", buf); -+ return; -+ #endif -+diff -urNp lha-114i.orig/src/lhlist.c lha-114i/src/lhlist.c -+--- lha-114i.orig/src/lhlist.c 2004-08-03 15:53:56.000000000 -0500 -++++ lha-114i/src/lhlist.c 2004-08-03 15:54:05.000000000 -0500 -+@@ -250,7 +250,8 @@ list_one(hdr) -+ printf(" %s", hdr->name); -+ else { -+ char buf[256], *b1, *b2; -+- strcpy(buf, hdr->name); -++ strncpy(buf, hdr->name, sizeof(buf)); -++ buf[sizeof(buf)-1] = 0; -+ b1 = strtok(buf, "|"); -+ b2 = strtok(NULL, "|"); -+ printf(" %s -> %s", b1, b2); -+diff -urNp lha-114i.orig/src/util.c lha-114i/src/util.c -+--- lha-114i.orig/src/util.c 2004-08-03 15:53:56.000000000 -0500 -++++ lha-114i/src/util.c 2004-08-03 15:54:05.000000000 -0500 -+@@ -276,21 +276,27 @@ rmdir(path) -+ char *path; -+ { -+ int stat, rtn = 0; -+- char *cmdname; -+- if ((cmdname = (char *) malloc(strlen(RMDIRPATH) + 1 + strlen(path) + 1)) -+- == 0) -++ pid_t child; -++ -++ -++ /* XXX thomas: shell meta chars in path could exec commands */ -++ /* therefore we should avoid using system() */ -++ if ((child = fork()) < 0) -++ return (-1); /* fork error */ -++ else if (child) { /* parent process */ -++ while (child != wait(&stat)) /* ignore signals */ -++ continue; -++ } -++ else { /* child process */ -++ execl(RMDIRPATH, "rmdir", path, (char *) 0); -++ /* never come here except execl is error */ -+ return (-1); -+- strcpy(cmdname, RMDIRPATH); -+- *(cmdname + strlen(RMDIRPATH)) = ' '; -+- strcpy(cmdname + strlen(RMDIRPATH) + 1, path); -+- if ((stat = system(cmdname)) < 0) -+- rtn = -1; /* fork or exec error */ -+- else if (stat) { /* RMDIR command error */ -+- errno = EIO; -+- rtn = -1; -+ } -+- free(cmdname); -+- return (rtn); -++ if (stat != 0) { -++ errno = EIO; /* cannot get error num. */ -++ return (-1); -++ } -++ return (0); -+ } -+ -+ /* ------------------------------------------------------------------------ */ ---- lha-1.14i.orig/debian/patch.CVE-2006-4335-CVE-2006-4337-CVE-2006-4338 -+++ lha-1.14i/debian/patch.CVE-2006-4335-CVE-2006-4337-CVE-2006-4338 -@@ -0,0 +1,137 @@ -+diff -aur lha-1.14i.orig/src/huf.c lha-1.14i/src/huf.c -+--- lha-1.14i.orig/src/huf.c 2000-10-05 19:35:49.000000000 +0200 -++++ lha-1.14i/src/huf.c 2006-12-11 10:07:31.000000000 +0100 -+@@ -332,7 +332,7 @@ -+ } -+ else { -+ i = 0; -+- while (i < n) { -++ while (i < MIN(n, NPT)) { -+ c = bitbuf >> (16 - 3); -+ if (c == 7) { -+ unsigned short mask = 1 << (16 - 4); -+@@ -345,7 +345,7 @@ -+ pt_len[i++] = c; -+ if (i == i_special) { -+ c = getbits(2); -+- while (--c >= 0) -++ while (--c >= 0 && i < NPT) -+ pt_len[i++] = 0; -+ } -+ } -+@@ -370,7 +370,7 @@ -+ c_table[i] = c; -+ } else { -+ i = 0; -+- while (i < n) { -++ while (i < MIN(n,NC)) { -+ c = pt_table[bitbuf >> (16 - 8)]; -+ if (c >= NT) { -+ unsigned short mask = 1 << (16 - 9); -+@@ -380,7 +380,7 @@ -+ else -+ c = left[c]; -+ mask >>= 1; -+- } while (c >= NT); -++ } while (c >= NT && (mask || c != left[c])); /* CVE-2006-4338 */ -+ } -+ fillbuf(pt_len[c]); -+ if (c <= 2) { -+@@ -427,7 +427,7 @@ -+ else -+ j = left[j]; -+ mask >>= 1; -+- } while (j >= NC); -++ } while (j >= NC && (mask || j != left[j])); /* CVE-2006-4338 */ -+ fillbuf(c_len[j] - 12); -+ } -+ return j; -+@@ -451,7 +451,7 @@ -+ else -+ j = left[j]; -+ mask >>= 1; -+- } while (j >= np); -++ } while (j >= np && (mask || j != left[j])); /* CVE-2006-4338 */ -+ fillbuf(pt_len[j] - 8); -+ } -+ if (j != 0) -+Only in lha-1.14i/src: huf.c~ -+diff -aur lha-1.14i.orig/src/lha_macro.h lha-1.14i/src/lha_macro.h -+--- lha-1.14i.orig/src/lha_macro.h 2006-12-11 09:43:54.000000000 +0100 -++++ lha-1.14i/src/lha_macro.h 2006-12-11 09:55:42.000000000 +0100 -+@@ -408,6 +408,8 @@ -+ #define MAXMATCH 256 /* formerly F (not more than UCHAR_MAX + 1) */ -+ #define THRESHOLD 3 /* choose optimal value */ -+ -++#define MIN(a,b) ((a) <= (b) ? (a) : (b)) -++ -+ /* from huf.c */ -+ -+ /* alphabet = {0, 1, 2, ..., NC - 1} */ -+Only in lha-1.14i/src: lha_macro.h~ -+diff -aur lha-1.14i.orig/src/maketbl.c lha-1.14i/src/maketbl.c -+--- lha-1.14i.orig/src/maketbl.c 2000-10-04 16:57:38.000000000 +0200 -++++ lha-1.14i/src/maketbl.c 2006-12-11 09:59:51.000000000 +0100 -+@@ -32,8 +32,15 @@ -+ } -+ -+ /* count */ -+- for (i = 0; i < nchar; i++) -+- count[bitlen[i]]++; -++ for (i = 0; i < nchar; i++) { -++ if (bitlen[i] > 16) { -++ /* CVE-2006-4335 */ -++ error("Bad table (case a)"); -++ exit(1); -++ } -++ else -++ count[bitlen[i]]++; -++ } -+ -+ /* calculate first code */ -+ total = 0; -+@@ -41,8 +48,11 @@ -+ start[i] = total; -+ total += weight[i] * count[i]; -+ } -+- if ((total & 0xffff) != 0) -+- error("make_table()", "Bad table (5)\n"); -++ -++ if ((total & 0xffff) != 0 || tablebits > 16) { /* 16 for weight below */ -++ error("make_table(): Bad table (case b)"); -++ exit(1); -++ } -+ -+ /* shift data for make table. */ -+ m = 16 - tablebits; -+@@ -53,7 +63,7 @@ -+ -+ /* initialize */ -+ j = start[tablebits + 1] >> m; -+- k = 1 << tablebits; -++ k = MIN(1 << tablebits, 4096); -+ if (j != 0) -+ for (i = j; i < k; i++) -+ table[i] = 0; -+@@ -66,12 +76,19 @@ -+ l = start[k] + weight[k]; -+ if (k <= tablebits) { -+ /* code in table */ -++ l = MIN(l, 4096); -+ for (i = start[k]; i < l; i++) -+ table[i] = j; -+ } -+ else { -+ /* code not in table */ -+- p = &table[(i = start[k]) >> m]; -++ i = start[k]; -++ if ((i >> m) > 4096) { -++ /* CVE-2006-4337 */ -++ error("Bad table (case c)"); -++ exit(1); -++ } -++ p = &table[i >> m]; -+ i <<= tablebits; -+ n = k - tablebits; -+ /* make tree (n length) */ -+Only in lha-1.14i/src: maketbl.c~ diff --git a/source/a/lha/slack-desc b/source/a/lha/slack-desc deleted file mode 100644 index a5a9b88c4..000000000 --- a/source/a/lha/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. Line -# up the first '|' above the ':' following the base package name, and the '|' -# on the right side marks the last column you can put a character in. You must -# make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':'. - - |-----handy-ruler------------------------------------------------------| -lha: lha (LHa archive utility) -lha: -lha: LHa is an archiving and compressing utility written by Tsugio Okamoto. -lha: -lha: -lha: -lha: -lha: -lha: -lha: -lha: diff --git a/source/a/lhasa/lhasa.SlackBuild b/source/a/lhasa/lhasa.SlackBuild new file mode 100755 index 000000000..0c77ac5ed --- /dev/null +++ b/source/a/lhasa/lhasa.SlackBuild @@ -0,0 +1,131 @@ +#!/bin/bash + +# Copyright 2019 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +cd $(dirname $0) ; CWD=$(pwd) + +PKGNAM=lhasa +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$(uname -m)" in + i?86) ARCH=i586 ;; + arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) ARCH=$(uname -m) ;; + esac + export ARCH +fi + +# If the variable PRINT_PACKAGE_NAME is set, then this script will report what +# the name of the created package would be, and then exit. This information +# could be useful to other scripts. +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz" + exit 0 +fi + +NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +elif [ "$ARCH" = "armv7hl" ]; then + SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16" + LIBDIRSUFFIX="" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1 +cd $PKGNAM-$VERSION || exit 1 + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \+ -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \+ + +if [ ! -r configure ]; then + NOCONFIGURE=1 ./autogen.sh +fi + +# Configure, build, and install: +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --docdir=/usr/doc/$PKGNAM-$VERSION \ + --mandir=/usr/man \ + --infodir=/usr/info \ + --disable-static \ + --build=$ARCH-slackware-linux || exit 1 +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +# Don't ship .la files: +rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la + +# Strip binaries: +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# Compress manual pages: +find $PKG/usr/man -type f -exec gzip -9 {} \+ +for i in $( find $PKG/usr/man -type l ) ; do + ln -s $( readlink $i ).gz $i.gz + rm $i +done + +# Add a documentation directory: +mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION +cp -a \ + AUTHORS COPYING* ChangeLog NEWS README* TODO \ + $PKG/usr/doc/${PKGNAM}-$VERSION + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz diff --git a/source/a/lhasa/slack-desc b/source/a/lhasa/slack-desc new file mode 100644 index 000000000..854108cc2 --- /dev/null +++ b/source/a/lhasa/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' +# on the right side marks the last column you can put a character in. You must +# make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +lhasa: lhasa (Free LZH archive tool) +lhasa: +lhasa: Lhasa is a library for parsing LHA (.lzh) archives and a free +lhasa: replacement for the Unix LHA tool. +lhasa: +lhasa: Currently it is only possible to read from (ie. decompress) archives; +lhasa: generating (compressing) LHA archives may be an enhancement for future +lhasa: versions. +lhasa: +lhasa: Homepage: http://fragglet.github.com/lhasa/ +lhasa: diff --git a/source/a/shadow/doinst.sh b/source/a/shadow/doinst.sh index 2bc40e545..b5fcee426 100644 --- a/source/a/shadow/doinst.sh +++ b/source/a/shadow/doinst.sh @@ -11,6 +11,7 @@ config() { } config etc/default/useradd.new +config etc/environment.new config etc/login.access.new config etc/login.defs.new config var/log/faillog.new diff --git a/source/a/shadow/environment b/source/a/shadow/environment new file mode 100644 index 000000000..9e96a54ce --- /dev/null +++ b/source/a/shadow/environment @@ -0,0 +1,6 @@ +# /etc/environment +# This file may contain environment variable settings that should be used +# system-wide. Please note that it is not a script file and should only +# contain assignment expressions, one per line. +# The environment variables in this file will be loaded before those in other +# files such as: /etc/profile, /etc/profile.d/*, ~/.profile, etc. diff --git a/source/a/shadow/shadow.SlackBuild b/source/a/shadow/shadow.SlackBuild index 51ffb2313..b99ad869e 100755 --- a/source/a/shadow/shadow.SlackBuild +++ b/source/a/shadow/shadow.SlackBuild @@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=shadow VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then @@ -122,6 +122,10 @@ find $PKG -name groups.1 -exec rm {} \+ rm -f $PKG/etc/login.defs zcat $CWD/login.defs.gz > $PKG/etc/login.defs.new +# Install /etc/environment (referenced in login.defs and used by sudo and +# other utilities): +zcat $CWD/environment.gz > $PKG/etc/environment.new + mv $PKG/etc/login.access $PKG/etc/login.access.new # I don't think this works well enough to recommend it. diff --git a/source/l/netpbm/netpbm.SlackBuild b/source/l/netpbm/netpbm.SlackBuild index df4f514e5..2d5241b47 100755 --- a/source/l/netpbm/netpbm.SlackBuild +++ b/source/l/netpbm/netpbm.SlackBuild @@ -71,7 +71,7 @@ tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z || exit 1 cd ${PKGNAM}-$VERSION zcat $CWD/netpbm-security-scripts.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/netpbm-security-code.patch.gz | patch -p1 --verbose || exit 1 +#zcat $CWD/netpbm-security-code.patch.gz | patch -p1 --verbose || exit 1 zcat $CWD/netpbm-ppmfadeusage.patch.gz | patch -p1 --verbose || exit 1 zcat $CWD/netpbm-noppmtompeg.patch.gz | patch -p1 --verbose || exit 1 zcat $CWD/netpbm-CVE-2017-2587.patch.gz | patch -p1 --verbose || exit 1 diff --git a/source/n/ca-certificates/certdata-20190826.txt b/source/n/ca-certificates/certdata-20190826.txt deleted file mode 100644 index c49052c71..000000000 --- a/source/n/ca-certificates/certdata-20190826.txt +++ /dev/null @@ -1,23047 +0,0 @@ -# -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. - -# -# certdata.txt -# -# This file contains the object definitions for the certs and other -# information "built into" NSS. -# -# Object definitions: -# -# Certificates -# -# -- Attribute -- -- type -- -- value -- -# CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -# CKA_TOKEN CK_BBOOL CK_TRUE -# CKA_PRIVATE CK_BBOOL CK_FALSE -# CKA_MODIFIABLE CK_BBOOL CK_FALSE -# CKA_LABEL UTF8 (varies) -# CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -# CKA_SUBJECT DER+base64 (varies) -# CKA_ID byte array (varies) -# CKA_ISSUER DER+base64 (varies) -# CKA_SERIAL_NUMBER DER+base64 (varies) -# CKA_VALUE DER+base64 (varies) -# CKA_NSS_EMAIL ASCII7 (unused here) -# -# Trust -# -# -- Attribute -- -- type -- -- value -- -# CKA_CLASS CK_OBJECT_CLASS CKO_TRUST -# CKA_TOKEN CK_BBOOL CK_TRUE -# CKA_PRIVATE CK_BBOOL CK_FALSE -# CKA_MODIFIABLE CK_BBOOL CK_FALSE -# CKA_LABEL UTF8 (varies) -# CKA_ISSUER DER+base64 (varies) -# CKA_SERIAL_NUMBER DER+base64 (varies) -# CKA_CERT_HASH binary+base64 (varies) -# CKA_EXPIRES CK_DATE (not used here) -# CKA_TRUST_DIGITAL_SIGNATURE CK_TRUST (varies) -# CKA_TRUST_NON_REPUDIATION CK_TRUST (varies) -# CKA_TRUST_KEY_ENCIPHERMENT CK_TRUST (varies) -# CKA_TRUST_DATA_ENCIPHERMENT CK_TRUST (varies) -# CKA_TRUST_KEY_AGREEMENT CK_TRUST (varies) -# CKA_TRUST_KEY_CERT_SIGN CK_TRUST (varies) -# CKA_TRUST_CRL_SIGN CK_TRUST (varies) -# CKA_TRUST_SERVER_AUTH CK_TRUST (varies) -# CKA_TRUST_CLIENT_AUTH CK_TRUST (varies) -# CKA_TRUST_CODE_SIGNING CK_TRUST (varies) -# CKA_TRUST_EMAIL_PROTECTION CK_TRUST (varies) -# CKA_TRUST_IPSEC_END_SYSTEM CK_TRUST (varies) -# CKA_TRUST_IPSEC_TUNNEL CK_TRUST (varies) -# CKA_TRUST_IPSEC_USER CK_TRUST (varies) -# CKA_TRUST_TIME_STAMPING CK_TRUST (varies) -# CKA_TRUST_STEP_UP_APPROVED CK_BBOOL (varies) -# (other trust attributes can be defined) -# - -# -# The object to tell NSS that this is a root list and we don't -# have to go looking for others. -# -BEGINDATA -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_BUILTIN_ROOT_LIST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Mozilla Builtin Roots" - -# -# Certificate "GlobalSign Root CA" -# -# Issuer: CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE -# Serial Number:04:00:00:00:00:01:15:4b:5a:c3:94 -# Subject: CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE -# Not Valid Before: Tue Sep 01 12:00:00 1998 -# Not Valid After : Fri Jan 28 12:00:00 2028 -# Fingerprint (MD5): 3E:45:52:15:09:51:92:E1:B7:5D:37:9F:B1:87:29:8A -# Fingerprint (SHA1): B1:BC:96:8B:D4:F4:9D:62:2A:A8:9A:81:F2:15:01:52:A4:1D:82:9C -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GlobalSign Root CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\127\061\013\060\011\006\003\125\004\006\023\002\102\105\061 -\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154 -\123\151\147\156\040\156\166\055\163\141\061\020\060\016\006\003 -\125\004\013\023\007\122\157\157\164\040\103\101\061\033\060\031 -\006\003\125\004\003\023\022\107\154\157\142\141\154\123\151\147 -\156\040\122\157\157\164\040\103\101 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\127\061\013\060\011\006\003\125\004\006\023\002\102\105\061 -\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154 -\123\151\147\156\040\156\166\055\163\141\061\020\060\016\006\003 -\125\004\013\023\007\122\157\157\164\040\103\101\061\033\060\031 -\006\003\125\004\003\023\022\107\154\157\142\141\154\123\151\147 -\156\040\122\157\157\164\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\013\004\000\000\000\000\001\025\113\132\303\224 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\165\060\202\002\135\240\003\002\001\002\002\013\004 -\000\000\000\000\001\025\113\132\303\224\060\015\006\011\052\206 -\110\206\367\015\001\001\005\005\000\060\127\061\013\060\011\006 -\003\125\004\006\023\002\102\105\061\031\060\027\006\003\125\004 -\012\023\020\107\154\157\142\141\154\123\151\147\156\040\156\166 -\055\163\141\061\020\060\016\006\003\125\004\013\023\007\122\157 -\157\164\040\103\101\061\033\060\031\006\003\125\004\003\023\022 -\107\154\157\142\141\154\123\151\147\156\040\122\157\157\164\040 -\103\101\060\036\027\015\071\070\060\071\060\061\061\062\060\060 -\060\060\132\027\015\062\070\060\061\062\070\061\062\060\060\060 -\060\132\060\127\061\013\060\011\006\003\125\004\006\023\002\102 -\105\061\031\060\027\006\003\125\004\012\023\020\107\154\157\142 -\141\154\123\151\147\156\040\156\166\055\163\141\061\020\060\016 -\006\003\125\004\013\023\007\122\157\157\164\040\103\101\061\033 -\060\031\006\003\125\004\003\023\022\107\154\157\142\141\154\123 -\151\147\156\040\122\157\157\164\040\103\101\060\202\001\042\060 -\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202 -\001\017\000\060\202\001\012\002\202\001\001\000\332\016\346\231 -\215\316\243\343\117\212\176\373\361\213\203\045\153\352\110\037 -\361\052\260\271\225\021\004\275\360\143\321\342\147\146\317\034 -\335\317\033\110\053\356\215\211\216\232\257\051\200\145\253\351 -\307\055\022\313\253\034\114\160\007\241\075\012\060\315\025\215 -\117\370\335\324\214\120\025\034\357\120\356\304\056\367\374\351 -\122\362\221\175\340\155\325\065\060\216\136\103\163\362\101\351 -\325\152\343\262\211\072\126\071\070\157\006\074\210\151\133\052 -\115\305\247\124\270\154\211\314\233\371\074\312\345\375\211\365 -\022\074\222\170\226\326\334\164\156\223\104\141\321\215\307\106 -\262\165\016\206\350\031\212\325\155\154\325\170\026\225\242\351 -\310\012\070\353\362\044\023\117\163\124\223\023\205\072\033\274 -\036\064\265\213\005\214\271\167\213\261\333\037\040\221\253\011 -\123\156\220\316\173\067\164\271\160\107\221\042\121\143\026\171 -\256\261\256\101\046\010\310\031\053\321\106\252\110\326\144\052 -\327\203\064\377\054\052\301\154\031\103\112\007\205\347\323\174 -\366\041\150\357\352\362\122\237\177\223\220\317\002\003\001\000 -\001\243\102\060\100\060\016\006\003\125\035\017\001\001\377\004 -\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377\004 -\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026\004 -\024\140\173\146\032\105\015\227\312\211\120\057\175\004\315\064 -\250\377\374\375\113\060\015\006\011\052\206\110\206\367\015\001 -\001\005\005\000\003\202\001\001\000\326\163\347\174\117\166\320 -\215\277\354\272\242\276\064\305\050\062\265\174\374\154\234\054 -\053\275\011\236\123\277\153\136\252\021\110\266\345\010\243\263 -\312\075\141\115\323\106\011\263\076\303\240\343\143\125\033\362 -\272\357\255\071\341\103\271\070\243\346\057\212\046\073\357\240 -\120\126\371\306\012\375\070\315\304\013\160\121\224\227\230\004 -\337\303\137\224\325\025\311\024\101\234\304\135\165\144\025\015 -\377\125\060\354\206\217\377\015\357\054\271\143\106\366\252\374 -\337\274\151\375\056\022\110\144\232\340\225\360\246\357\051\217 -\001\261\025\265\014\035\245\376\151\054\151\044\170\036\263\247 -\034\161\142\356\312\310\227\254\027\135\212\302\370\107\206\156 -\052\304\126\061\225\320\147\211\205\053\371\154\246\135\106\235 -\014\252\202\344\231\121\335\160\267\333\126\075\141\344\152\341 -\134\326\366\376\075\336\101\314\007\256\143\122\277\123\123\364 -\053\351\307\375\266\367\202\137\205\322\101\030\333\201\263\004 -\034\305\037\244\200\157\025\040\311\336\014\210\012\035\326\146 -\125\342\374\110\311\051\046\151\340 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "GlobalSign Root CA" -# Issuer: CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE -# Serial Number:04:00:00:00:00:01:15:4b:5a:c3:94 -# Subject: CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE -# Not Valid Before: Tue Sep 01 12:00:00 1998 -# Not Valid After : Fri Jan 28 12:00:00 2028 -# Fingerprint (MD5): 3E:45:52:15:09:51:92:E1:B7:5D:37:9F:B1:87:29:8A -# Fingerprint (SHA1): B1:BC:96:8B:D4:F4:9D:62:2A:A8:9A:81:F2:15:01:52:A4:1D:82:9C -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GlobalSign Root CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\261\274\226\213\324\364\235\142\052\250\232\201\362\025\001\122 -\244\035\202\234 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\076\105\122\025\011\121\222\341\267\135\067\237\261\207\051\212 -END -CKA_ISSUER MULTILINE_OCTAL -\060\127\061\013\060\011\006\003\125\004\006\023\002\102\105\061 -\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154 -\123\151\147\156\040\156\166\055\163\141\061\020\060\016\006\003 -\125\004\013\023\007\122\157\157\164\040\103\101\061\033\060\031 -\006\003\125\004\003\023\022\107\154\157\142\141\154\123\151\147 -\156\040\122\157\157\164\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\013\004\000\000\000\000\001\025\113\132\303\224 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "GlobalSign Root CA - R2" -# -# Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R2 -# Serial Number:04:00:00:00:00:01:0f:86:26:e6:0d -# Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R2 -# Not Valid Before: Fri Dec 15 08:00:00 2006 -# Not Valid After : Wed Dec 15 08:00:00 2021 -# Fingerprint (MD5): 94:14:77:7E:3E:5E:FD:8F:30:BD:41:B0:CF:E7:D0:30 -# Fingerprint (SHA1): 75:E0:AB:B6:13:85:12:27:1C:04:F8:5F:DD:DE:38:E4:B7:24:2E:FE -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GlobalSign Root CA - R2" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157 -\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040 -\055\040\122\062\061\023\060\021\006\003\125\004\012\023\012\107 -\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125 -\004\003\023\012\107\154\157\142\141\154\123\151\147\156 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157 -\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040 -\055\040\122\062\061\023\060\021\006\003\125\004\012\023\012\107 -\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125 -\004\003\023\012\107\154\157\142\141\154\123\151\147\156 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\013\004\000\000\000\000\001\017\206\046\346\015 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\272\060\202\002\242\240\003\002\001\002\002\013\004 -\000\000\000\000\001\017\206\046\346\015\060\015\006\011\052\206 -\110\206\367\015\001\001\005\005\000\060\114\061\040\060\036\006 -\003\125\004\013\023\027\107\154\157\142\141\154\123\151\147\156 -\040\122\157\157\164\040\103\101\040\055\040\122\062\061\023\060 -\021\006\003\125\004\012\023\012\107\154\157\142\141\154\123\151 -\147\156\061\023\060\021\006\003\125\004\003\023\012\107\154\157 -\142\141\154\123\151\147\156\060\036\027\015\060\066\061\062\061 -\065\060\070\060\060\060\060\132\027\015\062\061\061\062\061\065 -\060\070\060\060\060\060\132\060\114\061\040\060\036\006\003\125 -\004\013\023\027\107\154\157\142\141\154\123\151\147\156\040\122 -\157\157\164\040\103\101\040\055\040\122\062\061\023\060\021\006 -\003\125\004\012\023\012\107\154\157\142\141\154\123\151\147\156 -\061\023\060\021\006\003\125\004\003\023\012\107\154\157\142\141 -\154\123\151\147\156\060\202\001\042\060\015\006\011\052\206\110 -\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001 -\012\002\202\001\001\000\246\317\044\016\276\056\157\050\231\105 -\102\304\253\076\041\124\233\013\323\177\204\160\372\022\263\313 -\277\207\137\306\177\206\323\262\060\134\326\375\255\361\173\334 -\345\370\140\226\011\222\020\365\320\123\336\373\173\176\163\210 -\254\122\210\173\112\246\312\111\246\136\250\247\214\132\021\274 -\172\202\353\276\214\351\263\254\226\045\007\227\112\231\052\007 -\057\264\036\167\277\212\017\265\002\174\033\226\270\305\271\072 -\054\274\326\022\271\353\131\175\342\320\006\206\137\136\111\152 -\265\071\136\210\064\354\274\170\014\010\230\204\154\250\315\113 -\264\240\175\014\171\115\360\270\055\313\041\312\325\154\133\175 -\341\240\051\204\241\371\323\224\111\313\044\142\221\040\274\335 -\013\325\331\314\371\352\047\012\053\163\221\306\235\033\254\310 -\313\350\340\240\364\057\220\213\115\373\260\066\033\366\031\172 -\205\340\155\362\141\023\210\134\237\340\223\012\121\227\212\132 -\316\257\253\325\367\252\011\252\140\275\334\331\137\337\162\251 -\140\023\136\000\001\311\112\372\077\244\352\007\003\041\002\216 -\202\312\003\302\233\217\002\003\001\000\001\243\201\234\060\201 -\231\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001 -\006\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001 -\001\377\060\035\006\003\125\035\016\004\026\004\024\233\342\007 -\127\147\034\036\300\152\006\336\131\264\232\055\337\334\031\206 -\056\060\066\006\003\125\035\037\004\057\060\055\060\053\240\051 -\240\047\206\045\150\164\164\160\072\057\057\143\162\154\056\147 -\154\157\142\141\154\163\151\147\156\056\156\145\164\057\162\157 -\157\164\055\162\062\056\143\162\154\060\037\006\003\125\035\043 -\004\030\060\026\200\024\233\342\007\127\147\034\036\300\152\006 -\336\131\264\232\055\337\334\031\206\056\060\015\006\011\052\206 -\110\206\367\015\001\001\005\005\000\003\202\001\001\000\231\201 -\123\207\034\150\227\206\221\354\340\112\270\104\013\253\201\254 -\047\117\326\301\270\034\103\170\263\014\232\374\352\054\074\156 -\141\033\115\113\051\365\237\005\035\046\301\270\351\203\000\142 -\105\266\251\010\223\271\251\063\113\030\232\302\370\207\210\116 -\333\335\161\064\032\301\124\332\106\077\340\323\052\253\155\124 -\042\365\072\142\315\040\157\272\051\211\327\335\221\356\323\134 -\242\076\241\133\101\365\337\345\144\103\055\351\325\071\253\322 -\242\337\267\213\320\300\200\031\034\105\300\055\214\350\370\055 -\244\164\126\111\305\005\265\117\025\336\156\104\170\071\207\250 -\176\273\363\171\030\221\273\364\157\235\301\360\214\065\214\135 -\001\373\303\155\271\357\104\155\171\106\061\176\012\376\251\202 -\301\377\357\253\156\040\304\120\311\137\235\115\233\027\214\014 -\345\001\311\240\101\152\163\123\372\245\120\264\156\045\017\373 -\114\030\364\375\122\331\216\151\261\350\021\017\336\210\330\373 -\035\111\367\252\336\225\317\040\170\302\140\022\333\045\100\214 -\152\374\176\102\070\100\144\022\367\236\201\341\223\056 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "GlobalSign Root CA - R2" -# Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R2 -# Serial Number:04:00:00:00:00:01:0f:86:26:e6:0d -# Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R2 -# Not Valid Before: Fri Dec 15 08:00:00 2006 -# Not Valid After : Wed Dec 15 08:00:00 2021 -# Fingerprint (MD5): 94:14:77:7E:3E:5E:FD:8F:30:BD:41:B0:CF:E7:D0:30 -# Fingerprint (SHA1): 75:E0:AB:B6:13:85:12:27:1C:04:F8:5F:DD:DE:38:E4:B7:24:2E:FE -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GlobalSign Root CA - R2" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\165\340\253\266\023\205\022\047\034\004\370\137\335\336\070\344 -\267\044\056\376 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\224\024\167\176\076\136\375\217\060\275\101\260\317\347\320\060 -END -CKA_ISSUER MULTILINE_OCTAL -\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157 -\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040 -\055\040\122\062\061\023\060\021\006\003\125\004\012\023\012\107 -\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125 -\004\003\023\012\107\154\157\142\141\154\123\151\147\156 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\013\004\000\000\000\000\001\017\206\046\346\015 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Verisign Class 1 Public Primary Certification Authority - G3" -# -# Issuer: CN=VeriSign Class 1 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US -# Serial Number:00:8b:5b:75:56:84:54:85:0b:00:cf:af:38:48:ce:b1:a4 -# Subject: CN=VeriSign Class 1 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US -# Not Valid Before: Fri Oct 01 00:00:00 1999 -# Not Valid After : Wed Jul 16 23:59:59 2036 -# Fingerprint (MD5): B1:47:BC:18:57:D1:18:A0:78:2D:EC:71:E8:2A:95:73 -# Fingerprint (SHA1): 20:42:85:DC:F7:EB:76:41:95:57:8E:13:6B:D4:B7:D1:E9:8E:46:A5 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign Class 1 Public Primary Certification Authority - G3" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 -\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 -\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 -\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145 -\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 -\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 -\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 -\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 -\061\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 -\165\164\150\157\162\151\164\171\040\055\040\107\063 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 -\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 -\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 -\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145 -\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 -\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 -\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 -\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 -\061\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 -\165\164\150\157\162\151\164\171\040\055\040\107\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\021\000\213\133\165\126\204\124\205\013\000\317\257\070\110 -\316\261\244 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\032\060\202\003\002\002\021\000\213\133\165\126\204 -\124\205\013\000\317\257\070\110\316\261\244\060\015\006\011\052 -\206\110\206\367\015\001\001\005\005\000\060\201\312\061\013\060 -\011\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003 -\125\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111 -\156\143\056\061\037\060\035\006\003\125\004\013\023\026\126\145 -\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164 -\167\157\162\153\061\072\060\070\006\003\125\004\013\023\061\050 -\143\051\040\061\071\071\071\040\126\145\162\151\123\151\147\156 -\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165\164 -\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154\171 -\061\105\060\103\006\003\125\004\003\023\074\126\145\162\151\123 -\151\147\156\040\103\154\141\163\163\040\061\040\120\165\142\154 -\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 -\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 -\164\171\040\055\040\107\063\060\036\027\015\071\071\061\060\060 -\061\060\060\060\060\060\060\132\027\015\063\066\060\067\061\066 -\062\063\065\071\065\071\132\060\201\312\061\013\060\011\006\003 -\125\004\006\023\002\125\123\061\027\060\025\006\003\125\004\012 -\023\016\126\145\162\151\123\151\147\156\054\040\111\156\143\056 -\061\037\060\035\006\003\125\004\013\023\026\126\145\162\151\123 -\151\147\156\040\124\162\165\163\164\040\116\145\164\167\157\162 -\153\061\072\060\070\006\003\125\004\013\023\061\050\143\051\040 -\061\071\071\071\040\126\145\162\151\123\151\147\156\054\040\111 -\156\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162 -\151\172\145\144\040\165\163\145\040\157\156\154\171\061\105\060 -\103\006\003\125\004\003\023\074\126\145\162\151\123\151\147\156 -\040\103\154\141\163\163\040\061\040\120\165\142\154\151\143\040 -\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143 -\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040 -\055\040\107\063\060\202\001\042\060\015\006\011\052\206\110\206 -\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012 -\002\202\001\001\000\335\204\324\271\264\371\247\330\363\004\170 -\234\336\075\334\154\023\026\331\172\335\044\121\146\300\307\046 -\131\015\254\006\010\302\224\321\063\037\360\203\065\037\156\033 -\310\336\252\156\025\116\124\047\357\304\155\032\354\013\343\016 -\360\104\245\127\307\100\130\036\243\107\037\161\354\140\366\155 -\224\310\030\071\355\376\102\030\126\337\344\114\111\020\170\116 -\001\166\065\143\022\066\335\146\274\001\004\066\243\125\150\325 -\242\066\011\254\253\041\046\124\006\255\077\312\024\340\254\312 -\255\006\035\225\342\370\235\361\340\140\377\302\177\165\053\114 -\314\332\376\207\231\041\352\272\376\076\124\327\322\131\170\333 -\074\156\317\240\023\000\032\270\047\241\344\276\147\226\312\240 -\305\263\234\335\311\165\236\353\060\232\137\243\315\331\256\170 -\031\077\043\351\134\333\051\275\255\125\310\033\124\214\143\366 -\350\246\352\307\067\022\134\243\051\036\002\331\333\037\073\264 -\327\017\126\107\201\025\004\112\257\203\047\321\305\130\210\301 -\335\366\252\247\243\030\332\150\252\155\021\121\341\277\145\153 -\237\226\166\321\075\002\003\001\000\001\060\015\006\011\052\206 -\110\206\367\015\001\001\005\005\000\003\202\001\001\000\253\146 -\215\327\263\272\307\232\266\346\125\320\005\361\237\061\215\132 -\252\331\252\106\046\017\161\355\245\255\123\126\142\001\107\052 -\104\351\376\077\164\013\023\233\271\364\115\033\262\321\137\262 -\266\322\210\134\263\237\315\313\324\247\331\140\225\204\072\370 -\301\067\035\141\312\347\260\305\345\221\332\124\246\254\061\201 -\256\227\336\315\010\254\270\300\227\200\177\156\162\244\347\151 -\023\225\145\037\304\223\074\375\171\217\004\324\076\117\352\367 -\236\316\315\147\174\117\145\002\377\221\205\124\163\307\377\066 -\367\206\055\354\320\136\117\377\021\237\162\006\326\270\032\361 -\114\015\046\145\342\104\200\036\307\237\343\335\350\012\332\354 -\245\040\200\151\150\241\117\176\341\153\317\007\101\372\203\216 -\274\070\335\260\056\021\261\153\262\102\314\232\274\371\110\042 -\171\112\031\017\262\034\076\040\164\331\152\303\276\362\050\170 -\023\126\171\117\155\120\352\033\260\265\127\261\067\146\130\043 -\363\334\017\337\012\207\304\357\206\005\325\070\024\140\231\243 -\113\336\006\226\161\054\362\333\266\037\244\357\077\356 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "Verisign Class 1 Public Primary Certification Authority - G3" -# Issuer: CN=VeriSign Class 1 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US -# Serial Number:00:8b:5b:75:56:84:54:85:0b:00:cf:af:38:48:ce:b1:a4 -# Subject: CN=VeriSign Class 1 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US -# Not Valid Before: Fri Oct 01 00:00:00 1999 -# Not Valid After : Wed Jul 16 23:59:59 2036 -# Fingerprint (MD5): B1:47:BC:18:57:D1:18:A0:78:2D:EC:71:E8:2A:95:73 -# Fingerprint (SHA1): 20:42:85:DC:F7:EB:76:41:95:57:8E:13:6B:D4:B7:D1:E9:8E:46:A5 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign Class 1 Public Primary Certification Authority - G3" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\040\102\205\334\367\353\166\101\225\127\216\023\153\324\267\321 -\351\216\106\245 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\261\107\274\030\127\321\030\240\170\055\354\161\350\052\225\163 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 -\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 -\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 -\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145 -\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 -\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 -\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 -\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 -\061\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 -\165\164\150\157\162\151\164\171\040\055\040\107\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\021\000\213\133\165\126\204\124\205\013\000\317\257\070\110 -\316\261\244 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Verisign Class 2 Public Primary Certification Authority - G3" -# -# Issuer: CN=VeriSign Class 2 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US -# Serial Number:61:70:cb:49:8c:5f:98:45:29:e7:b0:a6:d9:50:5b:7a -# Subject: CN=VeriSign Class 2 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US -# Not Valid Before: Fri Oct 01 00:00:00 1999 -# Not Valid After : Wed Jul 16 23:59:59 2036 -# Fingerprint (MD5): F8:BE:C4:63:22:C9:A8:46:74:8B:B8:1D:1E:4A:2B:F6 -# Fingerprint (SHA1): 61:EF:43:D7:7F:CA:D4:61:51:BC:98:E0:C3:59:12:AF:9F:EB:63:11 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign Class 2 Public Primary Certification Authority - G3" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 -\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 -\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 -\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145 -\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 -\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 -\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 -\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 -\062\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 -\165\164\150\157\162\151\164\171\040\055\040\107\063 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 -\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 -\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 -\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145 -\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 -\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 -\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 -\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 -\062\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 -\165\164\150\157\162\151\164\171\040\055\040\107\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\141\160\313\111\214\137\230\105\051\347\260\246\331\120 -\133\172 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\031\060\202\003\001\002\020\141\160\313\111\214\137 -\230\105\051\347\260\246\331\120\133\172\060\015\006\011\052\206 -\110\206\367\015\001\001\005\005\000\060\201\312\061\013\060\011 -\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003\125 -\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111\156 -\143\056\061\037\060\035\006\003\125\004\013\023\026\126\145\162 -\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164\167 -\157\162\153\061\072\060\070\006\003\125\004\013\023\061\050\143 -\051\040\061\071\071\071\040\126\145\162\151\123\151\147\156\054 -\040\111\156\143\056\040\055\040\106\157\162\040\141\165\164\150 -\157\162\151\172\145\144\040\165\163\145\040\157\156\154\171\061 -\105\060\103\006\003\125\004\003\023\074\126\145\162\151\123\151 -\147\156\040\103\154\141\163\163\040\062\040\120\165\142\154\151 -\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171\040\055\040\107\063\060\036\027\015\071\071\061\060\060\061 -\060\060\060\060\060\060\132\027\015\063\066\060\067\061\066\062 -\063\065\071\065\071\132\060\201\312\061\013\060\011\006\003\125 -\004\006\023\002\125\123\061\027\060\025\006\003\125\004\012\023 -\016\126\145\162\151\123\151\147\156\054\040\111\156\143\056\061 -\037\060\035\006\003\125\004\013\023\026\126\145\162\151\123\151 -\147\156\040\124\162\165\163\164\040\116\145\164\167\157\162\153 -\061\072\060\070\006\003\125\004\013\023\061\050\143\051\040\061 -\071\071\071\040\126\145\162\151\123\151\147\156\054\040\111\156 -\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151 -\172\145\144\040\165\163\145\040\157\156\154\171\061\105\060\103 -\006\003\125\004\003\023\074\126\145\162\151\123\151\147\156\040 -\103\154\141\163\163\040\062\040\120\165\142\154\151\143\040\120 -\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143\141 -\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040\055 -\040\107\063\060\202\001\042\060\015\006\011\052\206\110\206\367 -\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002 -\202\001\001\000\257\012\015\302\325\054\333\147\271\055\345\224 -\047\335\245\276\340\260\115\217\263\141\126\074\326\174\303\364 -\315\076\206\313\242\210\342\341\330\244\151\305\265\342\277\301 -\246\107\120\136\106\071\213\325\226\272\265\157\024\277\020\316 -\047\023\236\005\107\233\061\172\023\330\037\331\323\002\067\213 -\255\054\107\360\216\201\006\247\015\060\014\353\367\074\017\040 -\035\334\162\106\356\245\002\310\133\303\311\126\151\114\305\030 -\301\221\173\013\325\023\000\233\274\357\303\110\076\106\140\040 -\205\052\325\220\266\315\213\240\314\062\335\267\375\100\125\262 -\120\034\126\256\314\215\167\115\307\040\115\247\061\166\357\150 -\222\212\220\036\010\201\126\262\255\151\243\122\320\313\034\304 -\043\075\037\231\376\114\350\026\143\216\306\010\216\366\061\366 -\322\372\345\166\335\265\034\222\243\111\315\315\001\315\150\315 -\251\151\272\243\353\035\015\234\244\040\246\301\240\305\321\106 -\114\027\155\322\254\146\077\226\214\340\204\324\066\377\042\131 -\305\371\021\140\250\137\004\175\362\032\366\045\102\141\017\304 -\112\270\076\211\002\003\001\000\001\060\015\006\011\052\206\110 -\206\367\015\001\001\005\005\000\003\202\001\001\000\064\046\025 -\074\300\215\115\103\111\035\275\351\041\222\327\146\234\267\336 -\305\270\320\344\135\137\166\042\300\046\371\204\072\072\371\214 -\265\373\354\140\361\350\316\004\260\310\335\247\003\217\060\363 -\230\337\244\346\244\061\337\323\034\013\106\334\162\040\077\256 -\356\005\074\244\063\077\013\071\254\160\170\163\113\231\053\337 -\060\302\124\260\250\073\125\241\376\026\050\315\102\275\164\156 -\200\333\047\104\247\316\104\135\324\033\220\230\015\036\102\224 -\261\000\054\004\320\164\243\002\005\042\143\143\315\203\265\373 -\301\155\142\153\151\165\375\135\160\101\271\365\277\174\337\276 -\301\062\163\042\041\213\130\201\173\025\221\172\272\343\144\110 -\260\177\373\066\045\332\225\320\361\044\024\027\335\030\200\153 -\106\043\071\124\365\216\142\011\004\035\224\220\246\233\346\045 -\342\102\105\252\270\220\255\276\010\217\251\013\102\030\224\317 -\162\071\341\261\103\340\050\317\267\347\132\154\023\153\111\263 -\377\343\030\174\211\213\063\135\254\063\327\247\371\332\072\125 -\311\130\020\371\252\357\132\266\317\113\113\337\052 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "Verisign Class 2 Public Primary Certification Authority - G3" -# Issuer: CN=VeriSign Class 2 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US -# Serial Number:61:70:cb:49:8c:5f:98:45:29:e7:b0:a6:d9:50:5b:7a -# Subject: CN=VeriSign Class 2 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US -# Not Valid Before: Fri Oct 01 00:00:00 1999 -# Not Valid After : Wed Jul 16 23:59:59 2036 -# Fingerprint (MD5): F8:BE:C4:63:22:C9:A8:46:74:8B:B8:1D:1E:4A:2B:F6 -# Fingerprint (SHA1): 61:EF:43:D7:7F:CA:D4:61:51:BC:98:E0:C3:59:12:AF:9F:EB:63:11 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign Class 2 Public Primary Certification Authority - G3" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\141\357\103\327\177\312\324\141\121\274\230\340\303\131\022\257 -\237\353\143\021 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\370\276\304\143\042\311\250\106\164\213\270\035\036\112\053\366 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 -\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 -\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 -\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145 -\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 -\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 -\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 -\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 -\062\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 -\165\164\150\157\162\151\164\171\040\055\040\107\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\141\160\313\111\214\137\230\105\051\347\260\246\331\120 -\133\172 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Verisign Class 3 Public Primary Certification Authority - G3" -# -# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US -# Serial Number:00:9b:7e:06:49:a3:3e:62:b9:d5:ee:90:48:71:29:ef:57 -# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US -# Not Valid Before: Fri Oct 01 00:00:00 1999 -# Not Valid After : Wed Jul 16 23:59:59 2036 -# Fingerprint (MD5): CD:68:B6:A7:C7:C4:CE:75:E0:1D:4F:57:44:61:92:09 -# Fingerprint (SHA1): 13:2D:0D:45:53:4B:69:97:CD:B2:D5:C3:39:E2:55:76:60:9B:5C:C6 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign Class 3 Public Primary Certification Authority - G3" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 -\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 -\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 -\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145 -\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 -\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 -\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 -\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 -\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 -\165\164\150\157\162\151\164\171\040\055\040\107\063 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 -\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 -\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 -\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145 -\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 -\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 -\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 -\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 -\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 -\165\164\150\157\162\151\164\171\040\055\040\107\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\021\000\233\176\006\111\243\076\142\271\325\356\220\110\161 -\051\357\127 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\032\060\202\003\002\002\021\000\233\176\006\111\243 -\076\142\271\325\356\220\110\161\051\357\127\060\015\006\011\052 -\206\110\206\367\015\001\001\005\005\000\060\201\312\061\013\060 -\011\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003 -\125\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111 -\156\143\056\061\037\060\035\006\003\125\004\013\023\026\126\145 -\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164 -\167\157\162\153\061\072\060\070\006\003\125\004\013\023\061\050 -\143\051\040\061\071\071\071\040\126\145\162\151\123\151\147\156 -\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165\164 -\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154\171 -\061\105\060\103\006\003\125\004\003\023\074\126\145\162\151\123 -\151\147\156\040\103\154\141\163\163\040\063\040\120\165\142\154 -\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 -\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 -\164\171\040\055\040\107\063\060\036\027\015\071\071\061\060\060 -\061\060\060\060\060\060\060\132\027\015\063\066\060\067\061\066 -\062\063\065\071\065\071\132\060\201\312\061\013\060\011\006\003 -\125\004\006\023\002\125\123\061\027\060\025\006\003\125\004\012 -\023\016\126\145\162\151\123\151\147\156\054\040\111\156\143\056 -\061\037\060\035\006\003\125\004\013\023\026\126\145\162\151\123 -\151\147\156\040\124\162\165\163\164\040\116\145\164\167\157\162 -\153\061\072\060\070\006\003\125\004\013\023\061\050\143\051\040 -\061\071\071\071\040\126\145\162\151\123\151\147\156\054\040\111 -\156\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162 -\151\172\145\144\040\165\163\145\040\157\156\154\171\061\105\060 -\103\006\003\125\004\003\023\074\126\145\162\151\123\151\147\156 -\040\103\154\141\163\163\040\063\040\120\165\142\154\151\143\040 -\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143 -\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040 -\055\040\107\063\060\202\001\042\060\015\006\011\052\206\110\206 -\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012 -\002\202\001\001\000\313\272\234\122\374\170\037\032\036\157\033 -\067\163\275\370\311\153\224\022\060\117\360\066\107\365\320\221 -\012\365\027\310\245\141\301\026\100\115\373\212\141\220\345\166 -\040\301\021\006\175\253\054\156\246\365\021\101\216\372\055\255 -\052\141\131\244\147\046\114\320\350\274\122\133\160\040\004\130 -\321\172\311\244\151\274\203\027\144\255\005\213\274\320\130\316 -\215\214\365\353\360\102\111\013\235\227\047\147\062\156\341\256 -\223\025\034\160\274\040\115\057\030\336\222\210\350\154\205\127 -\021\032\351\176\343\046\021\124\242\105\226\125\203\312\060\211 -\350\334\330\243\355\052\200\077\177\171\145\127\076\025\040\146 -\010\057\225\223\277\252\107\057\250\106\227\360\022\342\376\302 -\012\053\121\346\166\346\267\106\267\342\015\246\314\250\303\114 -\131\125\211\346\350\123\134\034\352\235\360\142\026\013\247\311 -\137\014\360\336\302\166\316\257\367\152\362\372\101\246\242\063 -\024\311\345\172\143\323\236\142\067\325\205\145\236\016\346\123 -\044\164\033\136\035\022\123\133\307\054\347\203\111\073\025\256 -\212\150\271\127\227\002\003\001\000\001\060\015\006\011\052\206 -\110\206\367\015\001\001\005\005\000\003\202\001\001\000\021\024 -\226\301\253\222\010\367\077\057\311\262\376\344\132\237\144\336 -\333\041\117\206\231\064\166\066\127\335\320\025\057\305\255\177 -\025\037\067\142\163\076\324\347\137\316\027\003\333\065\372\053 -\333\256\140\011\137\036\137\217\156\273\013\075\352\132\023\036 -\014\140\157\265\300\265\043\042\056\007\013\313\251\164\313\107 -\273\035\301\327\245\153\314\057\322\102\375\111\335\247\211\317 -\123\272\332\000\132\050\277\202\337\370\272\023\035\120\206\202 -\375\216\060\217\051\106\260\036\075\065\332\070\142\026\030\112 -\255\346\266\121\154\336\257\142\353\001\320\036\044\376\172\217 -\022\032\022\150\270\373\146\231\024\024\105\134\256\347\256\151 -\027\201\053\132\067\311\136\052\364\306\342\241\134\124\233\246 -\124\000\317\360\361\301\307\230\060\032\073\066\026\333\243\156 -\352\375\255\262\302\332\357\002\107\023\212\300\361\263\061\255 -\117\034\341\117\234\257\017\014\235\367\170\015\330\364\065\126 -\200\332\267\155\027\217\235\036\201\144\341\376\305\105\272\255 -\153\271\012\172\116\117\113\204\356\113\361\175\335\021 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "Verisign Class 3 Public Primary Certification Authority - G3" -# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US -# Serial Number:00:9b:7e:06:49:a3:3e:62:b9:d5:ee:90:48:71:29:ef:57 -# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US -# Not Valid Before: Fri Oct 01 00:00:00 1999 -# Not Valid After : Wed Jul 16 23:59:59 2036 -# Fingerprint (MD5): CD:68:B6:A7:C7:C4:CE:75:E0:1D:4F:57:44:61:92:09 -# Fingerprint (SHA1): 13:2D:0D:45:53:4B:69:97:CD:B2:D5:C3:39:E2:55:76:60:9B:5C:C6 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Verisign Class 3 Public Primary Certification Authority - G3" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\023\055\015\105\123\113\151\227\315\262\325\303\071\342\125\166 -\140\233\134\306 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\315\150\266\247\307\304\316\165\340\035\117\127\104\141\222\011 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 -\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 -\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 -\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145 -\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 -\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 -\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 -\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 -\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 -\165\164\150\157\162\151\164\171\040\055\040\107\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\021\000\233\176\006\111\243\076\142\271\325\356\220\110\161 -\051\357\127 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# Distrust "Distrust: O=Egypt Trust, OU=VeriSign Trust Network (cert 1/3)" -# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US -# Serial Number:4c:00:36:1b:e5:08:2b:a9:aa:ce:74:0a:05:3e:fb:34 -# Subject: CN=Egypt Trust Class 3 Managed PKI Enterprise Administrator CA,OU=Terms of use at https://www.egypttrust.com/repository/rpa (c)08,OU=VeriSign Trust Network,O=Egypt Trust,C=EG -# Not Valid Before: Sun May 18 00:00:00 2008 -# Not Valid After : Thu May 17 23:59:59 2018 -# Fingerprint (MD5): A7:91:05:96:B1:56:01:26:4E:BF:80:80:08:86:1B:4D -# Fingerprint (SHA1): 6A:2C:5C:B0:94:D5:E0:B7:57:FB:0F:58:42:AA:C8:13:A5:80:2F:E1 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Distrust: O=Egypt Trust, OU=VeriSign Trust Network (cert 1/3)" -CKA_ISSUER MULTILINE_OCTAL -\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 -\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 -\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 -\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145 -\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 -\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 -\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 -\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 -\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 -\165\164\150\157\162\151\164\171\040\055\040\107\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\114\000\066\033\345\010\053\251\252\316\164\012\005\076 -\373\064 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - - -# Distrust "Distrust: O=Egypt Trust, OU=VeriSign Trust Network (cert 2/3)" -# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US -# Serial Number:3e:0c:9e:87:69:aa:95:5c:ea:23:d8:45:9e:d4:5b:51 -# Subject: CN=Egypt Trust Class 3 Managed PKI Operational Administrator CA,OU=Terms of use at https://www.egypttrust.com/repository/rpa (c)08,OU=VeriSign Trust Network,O=Egypt Trust,C=EG -# Not Valid Before: Sun May 18 00:00:00 2008 -# Not Valid After : Thu May 17 23:59:59 2018 -# Fingerprint (MD5): D0:C3:71:17:3E:39:80:C6:50:4F:04:22:DF:40:E1:34 -# Fingerprint (SHA1): 9C:65:5E:D5:FA:E3:B8:96:4D:89:72:F6:3A:63:53:59:3F:5E:B4:4E -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Distrust: O=Egypt Trust, OU=VeriSign Trust Network (cert 2/3)" -CKA_ISSUER MULTILINE_OCTAL -\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 -\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 -\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 -\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145 -\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 -\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 -\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 -\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 -\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 -\165\164\150\157\162\151\164\171\040\055\040\107\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\076\014\236\207\151\252\225\134\352\043\330\105\236\324 -\133\121 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# Distrust "Distrust: O=Egypt Trust, OU=VeriSign Trust Network (cert 3/3)" -# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US -# Serial Number:12:bd:26:a2:ae:33:c0:7f:24:7b:6a:58:69:f2:0a:76 -# Subject: CN=Egypt Trust Class 3 Managed PKI SCO Administrator CA,OU=Terms of use at https://www.egypttrust.com/repository/rpa (c)08,OU=VeriSign Trust Network,O=Egypt Trust,C=EG -# Not Valid Before: Sun May 18 00:00:00 2008 -# Not Valid After : Thu May 17 23:59:59 2018 -# Fingerprint (MD5): C2:13:5E:B2:67:8A:5C:F7:91:EF:8F:29:0F:9B:77:6E -# Fingerprint (SHA1): 83:23:F1:4F:BC:9F:9B:80:B7:9D:ED:14:CD:01:57:CD:FB:08:95:D2 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Distrust: O=Egypt Trust, OU=VeriSign Trust Network (cert 3/3)" -CKA_ISSUER MULTILINE_OCTAL -\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 -\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 -\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 -\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145 -\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 -\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 -\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 -\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 -\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 -\165\164\150\157\162\151\164\171\040\055\040\107\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\022\275\046\242\256\063\300\177\044\173\152\130\151\362 -\012\166 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Entrust.net Premium 2048 Secure Server CA" -# -# Issuer: CN=Entrust.net Certification Authority (2048),OU=(c) 1999 Entrust.net Limited,OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.),O=Entrust.net -# Serial Number: 946069240 (0x3863def8) -# Subject: CN=Entrust.net Certification Authority (2048),OU=(c) 1999 Entrust.net Limited,OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.),O=Entrust.net -# Not Valid Before: Fri Dec 24 17:50:51 1999 -# Not Valid After : Tue Jul 24 14:15:12 2029 -# Fingerprint (MD5): EE:29:31:BC:32:7E:9A:E6:E8:B5:F7:51:B4:34:71:90 -# Fingerprint (SHA1): 50:30:06:09:1D:97:D4:F5:AE:39:F7:CB:E7:92:7D:7D:65:2D:34:31 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Entrust.net Premium 2048 Secure Server CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\264\061\024\060\022\006\003\125\004\012\023\013\105\156 -\164\162\165\163\164\056\156\145\164\061\100\060\076\006\003\125 -\004\013\024\067\167\167\167\056\145\156\164\162\165\163\164\056 -\156\145\164\057\103\120\123\137\062\060\064\070\040\151\156\143 -\157\162\160\056\040\142\171\040\162\145\146\056\040\050\154\151 -\155\151\164\163\040\154\151\141\142\056\051\061\045\060\043\006 -\003\125\004\013\023\034\050\143\051\040\061\071\071\071\040\105 -\156\164\162\165\163\164\056\156\145\164\040\114\151\155\151\164 -\145\144\061\063\060\061\006\003\125\004\003\023\052\105\156\164 -\162\165\163\164\056\156\145\164\040\103\145\162\164\151\146\151 -\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 -\040\050\062\060\064\070\051 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\264\061\024\060\022\006\003\125\004\012\023\013\105\156 -\164\162\165\163\164\056\156\145\164\061\100\060\076\006\003\125 -\004\013\024\067\167\167\167\056\145\156\164\162\165\163\164\056 -\156\145\164\057\103\120\123\137\062\060\064\070\040\151\156\143 -\157\162\160\056\040\142\171\040\162\145\146\056\040\050\154\151 -\155\151\164\163\040\154\151\141\142\056\051\061\045\060\043\006 -\003\125\004\013\023\034\050\143\051\040\061\071\071\071\040\105 -\156\164\162\165\163\164\056\156\145\164\040\114\151\155\151\164 -\145\144\061\063\060\061\006\003\125\004\003\023\052\105\156\164 -\162\165\163\164\056\156\145\164\040\103\145\162\164\151\146\151 -\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 -\040\050\062\060\064\070\051 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\004\070\143\336\370 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\052\060\202\003\022\240\003\002\001\002\002\004\070 -\143\336\370\060\015\006\011\052\206\110\206\367\015\001\001\005 -\005\000\060\201\264\061\024\060\022\006\003\125\004\012\023\013 -\105\156\164\162\165\163\164\056\156\145\164\061\100\060\076\006 -\003\125\004\013\024\067\167\167\167\056\145\156\164\162\165\163 -\164\056\156\145\164\057\103\120\123\137\062\060\064\070\040\151 -\156\143\157\162\160\056\040\142\171\040\162\145\146\056\040\050 -\154\151\155\151\164\163\040\154\151\141\142\056\051\061\045\060 -\043\006\003\125\004\013\023\034\050\143\051\040\061\071\071\071 -\040\105\156\164\162\165\163\164\056\156\145\164\040\114\151\155 -\151\164\145\144\061\063\060\061\006\003\125\004\003\023\052\105 -\156\164\162\165\163\164\056\156\145\164\040\103\145\162\164\151 -\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 -\164\171\040\050\062\060\064\070\051\060\036\027\015\071\071\061 -\062\062\064\061\067\065\060\065\061\132\027\015\062\071\060\067 -\062\064\061\064\061\065\061\062\132\060\201\264\061\024\060\022 -\006\003\125\004\012\023\013\105\156\164\162\165\163\164\056\156 -\145\164\061\100\060\076\006\003\125\004\013\024\067\167\167\167 -\056\145\156\164\162\165\163\164\056\156\145\164\057\103\120\123 -\137\062\060\064\070\040\151\156\143\157\162\160\056\040\142\171 -\040\162\145\146\056\040\050\154\151\155\151\164\163\040\154\151 -\141\142\056\051\061\045\060\043\006\003\125\004\013\023\034\050 -\143\051\040\061\071\071\071\040\105\156\164\162\165\163\164\056 -\156\145\164\040\114\151\155\151\164\145\144\061\063\060\061\006 -\003\125\004\003\023\052\105\156\164\162\165\163\164\056\156\145 -\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040 -\101\165\164\150\157\162\151\164\171\040\050\062\060\064\070\051 -\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001\001 -\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001\001 -\000\255\115\113\251\022\206\262\352\243\040\007\025\026\144\052 -\053\113\321\277\013\112\115\216\355\200\166\245\147\267\170\100 -\300\163\102\310\150\300\333\123\053\335\136\270\166\230\065\223 -\213\032\235\174\023\072\016\037\133\267\036\317\345\044\024\036 -\261\201\251\215\175\270\314\153\113\003\361\002\014\334\253\245 -\100\044\000\177\164\224\241\235\010\051\263\210\013\365\207\167 -\235\125\315\344\303\176\327\152\144\253\205\024\206\225\133\227 -\062\120\157\075\310\272\146\014\343\374\275\270\111\301\166\211 -\111\031\375\300\250\275\211\243\147\057\306\237\274\161\031\140 -\270\055\351\054\311\220\166\146\173\224\342\257\170\326\145\123 -\135\074\326\234\262\317\051\003\371\057\244\120\262\324\110\316 -\005\062\125\212\375\262\144\114\016\344\230\007\165\333\177\337 -\271\010\125\140\205\060\051\371\173\110\244\151\206\343\065\077 -\036\206\135\172\172\025\275\357\000\216\025\042\124\027\000\220 -\046\223\274\016\111\150\221\277\370\107\323\235\225\102\301\016 -\115\337\157\046\317\303\030\041\142\146\103\160\326\325\300\007 -\341\002\003\001\000\001\243\102\060\100\060\016\006\003\125\035 -\017\001\001\377\004\004\003\002\001\006\060\017\006\003\125\035 -\023\001\001\377\004\005\060\003\001\001\377\060\035\006\003\125 -\035\016\004\026\004\024\125\344\201\321\021\200\276\330\211\271 -\010\243\061\371\241\044\011\026\271\160\060\015\006\011\052\206 -\110\206\367\015\001\001\005\005\000\003\202\001\001\000\073\233 -\217\126\233\060\347\123\231\174\172\171\247\115\227\327\031\225 -\220\373\006\037\312\063\174\106\143\217\226\146\044\372\100\033 -\041\047\312\346\162\163\362\117\376\061\231\375\310\014\114\150 -\123\306\200\202\023\230\372\266\255\332\135\075\361\316\156\366 -\025\021\224\202\014\356\077\225\257\021\253\017\327\057\336\037 -\003\217\127\054\036\311\273\232\032\104\225\353\030\117\246\037 -\315\175\127\020\057\233\004\011\132\204\265\156\330\035\072\341 -\326\236\321\154\171\136\171\034\024\305\343\320\114\223\073\145 -\074\355\337\075\276\246\345\225\032\303\265\031\303\275\136\133 -\273\377\043\357\150\031\313\022\223\047\134\003\055\157\060\320 -\036\266\032\254\336\132\367\321\252\250\047\246\376\171\201\304 -\171\231\063\127\272\022\260\251\340\102\154\223\312\126\336\376 -\155\204\013\010\213\176\215\352\327\230\041\306\363\347\074\171 -\057\136\234\321\114\025\215\341\354\042\067\314\232\103\013\227 -\334\200\220\215\263\147\233\157\110\010\025\126\317\277\361\053 -\174\136\232\166\351\131\220\305\174\203\065\021\145\121 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "Entrust.net Premium 2048 Secure Server CA" -# Issuer: CN=Entrust.net Certification Authority (2048),OU=(c) 1999 Entrust.net Limited,OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.),O=Entrust.net -# Serial Number: 946069240 (0x3863def8) -# Subject: CN=Entrust.net Certification Authority (2048),OU=(c) 1999 Entrust.net Limited,OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.),O=Entrust.net -# Not Valid Before: Fri Dec 24 17:50:51 1999 -# Not Valid After : Tue Jul 24 14:15:12 2029 -# Fingerprint (MD5): EE:29:31:BC:32:7E:9A:E6:E8:B5:F7:51:B4:34:71:90 -# Fingerprint (SHA1): 50:30:06:09:1D:97:D4:F5:AE:39:F7:CB:E7:92:7D:7D:65:2D:34:31 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Entrust.net Premium 2048 Secure Server CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\120\060\006\011\035\227\324\365\256\071\367\313\347\222\175\175 -\145\055\064\061 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\356\051\061\274\062\176\232\346\350\265\367\121\264\064\161\220 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\264\061\024\060\022\006\003\125\004\012\023\013\105\156 -\164\162\165\163\164\056\156\145\164\061\100\060\076\006\003\125 -\004\013\024\067\167\167\167\056\145\156\164\162\165\163\164\056 -\156\145\164\057\103\120\123\137\062\060\064\070\040\151\156\143 -\157\162\160\056\040\142\171\040\162\145\146\056\040\050\154\151 -\155\151\164\163\040\154\151\141\142\056\051\061\045\060\043\006 -\003\125\004\013\023\034\050\143\051\040\061\071\071\071\040\105 -\156\164\162\165\163\164\056\156\145\164\040\114\151\155\151\164 -\145\144\061\063\060\061\006\003\125\004\003\023\052\105\156\164 -\162\165\163\164\056\156\145\164\040\103\145\162\164\151\146\151 -\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 -\040\050\062\060\064\070\051 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\004\070\143\336\370 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Baltimore CyberTrust Root" -# -# Issuer: CN=Baltimore CyberTrust Root,OU=CyberTrust,O=Baltimore,C=IE -# Serial Number: 33554617 (0x20000b9) -# Subject: CN=Baltimore CyberTrust Root,OU=CyberTrust,O=Baltimore,C=IE -# Not Valid Before: Fri May 12 18:46:00 2000 -# Not Valid After : Mon May 12 23:59:00 2025 -# Fingerprint (MD5): AC:B6:94:A5:9C:17:E0:D7:91:52:9B:B1:97:06:A6:E4 -# Fingerprint (SHA1): D4:DE:20:D0:5E:66:FC:53:FE:1A:50:88:2C:78:DB:28:52:CA:E4:74 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Baltimore CyberTrust Root" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\132\061\013\060\011\006\003\125\004\006\023\002\111\105\061 -\022\060\020\006\003\125\004\012\023\011\102\141\154\164\151\155 -\157\162\145\061\023\060\021\006\003\125\004\013\023\012\103\171 -\142\145\162\124\162\165\163\164\061\042\060\040\006\003\125\004 -\003\023\031\102\141\154\164\151\155\157\162\145\040\103\171\142 -\145\162\124\162\165\163\164\040\122\157\157\164 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\132\061\013\060\011\006\003\125\004\006\023\002\111\105\061 -\022\060\020\006\003\125\004\012\023\011\102\141\154\164\151\155 -\157\162\145\061\023\060\021\006\003\125\004\013\023\012\103\171 -\142\145\162\124\162\165\163\164\061\042\060\040\006\003\125\004 -\003\023\031\102\141\154\164\151\155\157\162\145\040\103\171\142 -\145\162\124\162\165\163\164\040\122\157\157\164 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\004\002\000\000\271 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\167\060\202\002\137\240\003\002\001\002\002\004\002 -\000\000\271\060\015\006\011\052\206\110\206\367\015\001\001\005 -\005\000\060\132\061\013\060\011\006\003\125\004\006\023\002\111 -\105\061\022\060\020\006\003\125\004\012\023\011\102\141\154\164 -\151\155\157\162\145\061\023\060\021\006\003\125\004\013\023\012 -\103\171\142\145\162\124\162\165\163\164\061\042\060\040\006\003 -\125\004\003\023\031\102\141\154\164\151\155\157\162\145\040\103 -\171\142\145\162\124\162\165\163\164\040\122\157\157\164\060\036 -\027\015\060\060\060\065\061\062\061\070\064\066\060\060\132\027 -\015\062\065\060\065\061\062\062\063\065\071\060\060\132\060\132 -\061\013\060\011\006\003\125\004\006\023\002\111\105\061\022\060 -\020\006\003\125\004\012\023\011\102\141\154\164\151\155\157\162 -\145\061\023\060\021\006\003\125\004\013\023\012\103\171\142\145 -\162\124\162\165\163\164\061\042\060\040\006\003\125\004\003\023 -\031\102\141\154\164\151\155\157\162\145\040\103\171\142\145\162 -\124\162\165\163\164\040\122\157\157\164\060\202\001\042\060\015 -\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001 -\017\000\060\202\001\012\002\202\001\001\000\243\004\273\042\253 -\230\075\127\350\046\162\232\265\171\324\051\342\341\350\225\200 -\261\260\343\133\216\053\051\232\144\337\241\135\355\260\011\005 -\155\333\050\056\316\142\242\142\376\264\210\332\022\353\070\353 -\041\235\300\101\053\001\122\173\210\167\323\034\217\307\272\271 -\210\265\152\011\347\163\350\021\100\247\321\314\312\142\215\055 -\345\217\013\246\120\322\250\120\303\050\352\365\253\045\207\212 -\232\226\034\251\147\270\077\014\325\367\371\122\023\057\302\033 -\325\160\160\360\217\300\022\312\006\313\232\341\331\312\063\172 -\167\326\370\354\271\361\150\104\102\110\023\322\300\302\244\256 -\136\140\376\266\246\005\374\264\335\007\131\002\324\131\030\230 -\143\365\245\143\340\220\014\175\135\262\006\172\363\205\352\353 -\324\003\256\136\204\076\137\377\025\355\151\274\371\071\066\162 -\165\317\167\122\115\363\311\220\054\271\075\345\311\043\123\077 -\037\044\230\041\134\007\231\051\275\306\072\354\347\156\206\072 -\153\227\164\143\063\275\150\030\061\360\170\215\166\277\374\236 -\216\135\052\206\247\115\220\334\047\032\071\002\003\001\000\001 -\243\105\060\103\060\035\006\003\125\035\016\004\026\004\024\345 -\235\131\060\202\107\130\314\254\372\010\124\066\206\173\072\265 -\004\115\360\060\022\006\003\125\035\023\001\001\377\004\010\060 -\006\001\001\377\002\001\003\060\016\006\003\125\035\017\001\001 -\377\004\004\003\002\001\006\060\015\006\011\052\206\110\206\367 -\015\001\001\005\005\000\003\202\001\001\000\205\014\135\216\344 -\157\121\150\102\005\240\335\273\117\047\045\204\003\275\367\144 -\375\055\327\060\343\244\020\027\353\332\051\051\266\171\077\166 -\366\031\023\043\270\020\012\371\130\244\324\141\160\275\004\141 -\152\022\212\027\325\012\275\305\274\060\174\326\351\014\045\215 -\206\100\117\354\314\243\176\070\306\067\021\117\355\335\150\061 -\216\114\322\263\001\164\356\276\165\136\007\110\032\177\160\377 -\026\134\204\300\171\205\270\005\375\177\276\145\021\243\017\300 -\002\264\370\122\067\071\004\325\251\061\172\030\277\240\052\364 -\022\231\367\243\105\202\343\074\136\365\235\236\265\310\236\174 -\056\310\244\236\116\010\024\113\155\375\160\155\153\032\143\275 -\144\346\037\267\316\360\362\237\056\273\033\267\362\120\210\163 -\222\302\342\343\026\215\232\062\002\253\216\030\335\351\020\021 -\356\176\065\253\220\257\076\060\224\172\320\063\075\247\145\017 -\365\374\216\236\142\317\107\104\054\001\135\273\035\265\062\322 -\107\322\070\056\320\376\201\334\062\152\036\265\356\074\325\374 -\347\201\035\031\303\044\102\352\143\071\251 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "Baltimore CyberTrust Root" -# Issuer: CN=Baltimore CyberTrust Root,OU=CyberTrust,O=Baltimore,C=IE -# Serial Number: 33554617 (0x20000b9) -# Subject: CN=Baltimore CyberTrust Root,OU=CyberTrust,O=Baltimore,C=IE -# Not Valid Before: Fri May 12 18:46:00 2000 -# Not Valid After : Mon May 12 23:59:00 2025 -# Fingerprint (MD5): AC:B6:94:A5:9C:17:E0:D7:91:52:9B:B1:97:06:A6:E4 -# Fingerprint (SHA1): D4:DE:20:D0:5E:66:FC:53:FE:1A:50:88:2C:78:DB:28:52:CA:E4:74 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Baltimore CyberTrust Root" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\324\336\040\320\136\146\374\123\376\032\120\210\054\170\333\050 -\122\312\344\164 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\254\266\224\245\234\027\340\327\221\122\233\261\227\006\246\344 -END -CKA_ISSUER MULTILINE_OCTAL -\060\132\061\013\060\011\006\003\125\004\006\023\002\111\105\061 -\022\060\020\006\003\125\004\012\023\011\102\141\154\164\151\155 -\157\162\145\061\023\060\021\006\003\125\004\013\023\012\103\171 -\142\145\162\124\162\165\163\164\061\042\060\040\006\003\125\004 -\003\023\031\102\141\154\164\151\155\157\162\145\040\103\171\142 -\145\162\124\162\165\163\164\040\122\157\157\164 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\004\002\000\000\271 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "AddTrust Low-Value Services Root" -# -# Issuer: CN=AddTrust Class 1 CA Root,OU=AddTrust TTP Network,O=AddTrust AB,C=SE -# Serial Number: 1 (0x1) -# Subject: CN=AddTrust Class 1 CA Root,OU=AddTrust TTP Network,O=AddTrust AB,C=SE -# Not Valid Before: Tue May 30 10:38:31 2000 -# Not Valid After : Sat May 30 10:38:31 2020 -# Fingerprint (MD5): 1E:42:95:02:33:92:6B:B9:5F:C0:7F:DA:D6:B2:4B:FC -# Fingerprint (SHA1): CC:AB:0E:A0:4C:23:01:D6:69:7B:DD:37:9F:CD:12:EB:24:E3:94:9D -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "AddTrust Low-Value Services Root" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\145\061\013\060\011\006\003\125\004\006\023\002\123\105\061 -\024\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165 -\163\164\040\101\102\061\035\060\033\006\003\125\004\013\023\024 -\101\144\144\124\162\165\163\164\040\124\124\120\040\116\145\164 -\167\157\162\153\061\041\060\037\006\003\125\004\003\023\030\101 -\144\144\124\162\165\163\164\040\103\154\141\163\163\040\061\040 -\103\101\040\122\157\157\164 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\145\061\013\060\011\006\003\125\004\006\023\002\123\105\061 -\024\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165 -\163\164\040\101\102\061\035\060\033\006\003\125\004\013\023\024 -\101\144\144\124\162\165\163\164\040\124\124\120\040\116\145\164 -\167\157\162\153\061\041\060\037\006\003\125\004\003\023\030\101 -\144\144\124\162\165\163\164\040\103\154\141\163\163\040\061\040 -\103\101\040\122\157\157\164 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\001 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\030\060\202\003\000\240\003\002\001\002\002\001\001 -\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 -\145\061\013\060\011\006\003\125\004\006\023\002\123\105\061\024 -\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165\163 -\164\040\101\102\061\035\060\033\006\003\125\004\013\023\024\101 -\144\144\124\162\165\163\164\040\124\124\120\040\116\145\164\167 -\157\162\153\061\041\060\037\006\003\125\004\003\023\030\101\144 -\144\124\162\165\163\164\040\103\154\141\163\163\040\061\040\103 -\101\040\122\157\157\164\060\036\027\015\060\060\060\065\063\060 -\061\060\063\070\063\061\132\027\015\062\060\060\065\063\060\061 -\060\063\070\063\061\132\060\145\061\013\060\011\006\003\125\004 -\006\023\002\123\105\061\024\060\022\006\003\125\004\012\023\013 -\101\144\144\124\162\165\163\164\040\101\102\061\035\060\033\006 -\003\125\004\013\023\024\101\144\144\124\162\165\163\164\040\124 -\124\120\040\116\145\164\167\157\162\153\061\041\060\037\006\003 -\125\004\003\023\030\101\144\144\124\162\165\163\164\040\103\154 -\141\163\163\040\061\040\103\101\040\122\157\157\164\060\202\001 -\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000 -\003\202\001\017\000\060\202\001\012\002\202\001\001\000\226\226 -\324\041\111\140\342\153\350\101\007\014\336\304\340\334\023\043 -\315\301\065\307\373\326\116\021\012\147\136\365\006\133\153\245 -\010\073\133\051\026\072\347\207\262\064\006\305\274\005\245\003 -\174\202\313\051\020\256\341\210\201\275\326\236\323\376\055\126 -\301\025\316\343\046\235\025\056\020\373\006\217\060\004\336\247 -\264\143\264\377\261\234\256\074\257\167\266\126\305\265\253\242 -\351\151\072\075\016\063\171\062\077\160\202\222\231\141\155\215 -\060\010\217\161\077\246\110\127\031\370\045\334\113\146\134\245 -\164\217\230\256\310\371\300\006\042\347\254\163\337\245\056\373 -\122\334\261\025\145\040\372\065\146\151\336\337\054\361\156\274 -\060\333\054\044\022\333\353\065\065\150\220\313\000\260\227\041 -\075\164\041\043\145\064\053\273\170\131\243\326\341\166\071\232 -\244\111\216\214\164\257\156\244\232\243\331\233\322\070\134\233 -\242\030\314\165\043\204\276\353\342\115\063\161\216\032\360\302 -\370\307\035\242\255\003\227\054\370\317\045\306\366\270\044\061 -\261\143\135\222\177\143\360\045\311\123\056\037\277\115\002\003 -\001\000\001\243\201\322\060\201\317\060\035\006\003\125\035\016 -\004\026\004\024\225\261\264\360\224\266\275\307\332\321\021\011 -\041\276\301\257\111\375\020\173\060\013\006\003\125\035\017\004 -\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377\004 -\005\060\003\001\001\377\060\201\217\006\003\125\035\043\004\201 -\207\060\201\204\200\024\225\261\264\360\224\266\275\307\332\321 -\021\011\041\276\301\257\111\375\020\173\241\151\244\147\060\145 -\061\013\060\011\006\003\125\004\006\023\002\123\105\061\024\060 -\022\006\003\125\004\012\023\013\101\144\144\124\162\165\163\164 -\040\101\102\061\035\060\033\006\003\125\004\013\023\024\101\144 -\144\124\162\165\163\164\040\124\124\120\040\116\145\164\167\157 -\162\153\061\041\060\037\006\003\125\004\003\023\030\101\144\144 -\124\162\165\163\164\040\103\154\141\163\163\040\061\040\103\101 -\040\122\157\157\164\202\001\001\060\015\006\011\052\206\110\206 -\367\015\001\001\005\005\000\003\202\001\001\000\054\155\144\033 -\037\315\015\335\271\001\372\226\143\064\062\110\107\231\256\227 -\355\375\162\026\246\163\107\132\364\353\335\351\365\326\373\105 -\314\051\211\104\135\277\106\071\075\350\356\274\115\124\206\036 -\035\154\343\027\047\103\341\211\126\053\251\157\162\116\111\063 -\343\162\174\052\043\232\274\076\377\050\052\355\243\377\034\043 -\272\103\127\011\147\115\113\142\006\055\370\377\154\235\140\036 -\330\034\113\175\265\061\057\331\320\174\135\370\336\153\203\030 -\170\067\127\057\350\063\007\147\337\036\307\153\052\225\166\256 -\217\127\243\360\364\122\264\251\123\010\317\340\117\323\172\123 -\213\375\273\034\126\066\362\376\262\266\345\166\273\325\042\145 -\247\077\376\321\146\255\013\274\153\231\206\357\077\175\363\030 -\062\312\173\306\343\253\144\106\225\370\046\151\331\125\203\173 -\054\226\007\377\131\054\104\243\306\345\351\251\334\241\143\200 -\132\041\136\041\317\123\124\360\272\157\211\333\250\252\225\317 -\213\343\161\314\036\033\040\104\010\300\172\266\100\375\304\344 -\065\341\035\026\034\320\274\053\216\326\161\331 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "AddTrust Low-Value Services Root" -# Issuer: CN=AddTrust Class 1 CA Root,OU=AddTrust TTP Network,O=AddTrust AB,C=SE -# Serial Number: 1 (0x1) -# Subject: CN=AddTrust Class 1 CA Root,OU=AddTrust TTP Network,O=AddTrust AB,C=SE -# Not Valid Before: Tue May 30 10:38:31 2000 -# Not Valid After : Sat May 30 10:38:31 2020 -# Fingerprint (MD5): 1E:42:95:02:33:92:6B:B9:5F:C0:7F:DA:D6:B2:4B:FC -# Fingerprint (SHA1): CC:AB:0E:A0:4C:23:01:D6:69:7B:DD:37:9F:CD:12:EB:24:E3:94:9D -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "AddTrust Low-Value Services Root" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\314\253\016\240\114\043\001\326\151\173\335\067\237\315\022\353 -\044\343\224\235 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\036\102\225\002\063\222\153\271\137\300\177\332\326\262\113\374 -END -CKA_ISSUER MULTILINE_OCTAL -\060\145\061\013\060\011\006\003\125\004\006\023\002\123\105\061 -\024\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165 -\163\164\040\101\102\061\035\060\033\006\003\125\004\013\023\024 -\101\144\144\124\162\165\163\164\040\124\124\120\040\116\145\164 -\167\157\162\153\061\041\060\037\006\003\125\004\003\023\030\101 -\144\144\124\162\165\163\164\040\103\154\141\163\163\040\061\040 -\103\101\040\122\157\157\164 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\001 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "AddTrust External Root" -# -# Issuer: CN=AddTrust External CA Root,OU=AddTrust External TTP Network,O=AddTrust AB,C=SE -# Serial Number: 1 (0x1) -# Subject: CN=AddTrust External CA Root,OU=AddTrust External TTP Network,O=AddTrust AB,C=SE -# Not Valid Before: Tue May 30 10:48:38 2000 -# Not Valid After : Sat May 30 10:48:38 2020 -# Fingerprint (MD5): 1D:35:54:04:85:78:B0:3F:42:42:4D:BF:20:73:0A:3F -# Fingerprint (SHA1): 02:FA:F3:E2:91:43:54:68:60:78:57:69:4D:F5:E4:5B:68:85:18:68 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "AddTrust External Root" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\157\061\013\060\011\006\003\125\004\006\023\002\123\105\061 -\024\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165 -\163\164\040\101\102\061\046\060\044\006\003\125\004\013\023\035 -\101\144\144\124\162\165\163\164\040\105\170\164\145\162\156\141 -\154\040\124\124\120\040\116\145\164\167\157\162\153\061\042\060 -\040\006\003\125\004\003\023\031\101\144\144\124\162\165\163\164 -\040\105\170\164\145\162\156\141\154\040\103\101\040\122\157\157 -\164 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\157\061\013\060\011\006\003\125\004\006\023\002\123\105\061 -\024\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165 -\163\164\040\101\102\061\046\060\044\006\003\125\004\013\023\035 -\101\144\144\124\162\165\163\164\040\105\170\164\145\162\156\141 -\154\040\124\124\120\040\116\145\164\167\157\162\153\061\042\060 -\040\006\003\125\004\003\023\031\101\144\144\124\162\165\163\164 -\040\105\170\164\145\162\156\141\154\040\103\101\040\122\157\157 -\164 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\001 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\066\060\202\003\036\240\003\002\001\002\002\001\001 -\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 -\157\061\013\060\011\006\003\125\004\006\023\002\123\105\061\024 -\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165\163 -\164\040\101\102\061\046\060\044\006\003\125\004\013\023\035\101 -\144\144\124\162\165\163\164\040\105\170\164\145\162\156\141\154 -\040\124\124\120\040\116\145\164\167\157\162\153\061\042\060\040 -\006\003\125\004\003\023\031\101\144\144\124\162\165\163\164\040 -\105\170\164\145\162\156\141\154\040\103\101\040\122\157\157\164 -\060\036\027\015\060\060\060\065\063\060\061\060\064\070\063\070 -\132\027\015\062\060\060\065\063\060\061\060\064\070\063\070\132 -\060\157\061\013\060\011\006\003\125\004\006\023\002\123\105\061 -\024\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165 -\163\164\040\101\102\061\046\060\044\006\003\125\004\013\023\035 -\101\144\144\124\162\165\163\164\040\105\170\164\145\162\156\141 -\154\040\124\124\120\040\116\145\164\167\157\162\153\061\042\060 -\040\006\003\125\004\003\023\031\101\144\144\124\162\165\163\164 -\040\105\170\164\145\162\156\141\154\040\103\101\040\122\157\157 -\164\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001 -\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001 -\001\000\267\367\032\063\346\362\000\004\055\071\340\116\133\355 -\037\274\154\017\315\265\372\043\266\316\336\233\021\063\227\244 -\051\114\175\223\237\275\112\274\223\355\003\032\343\217\317\345 -\155\120\132\326\227\051\224\132\200\260\111\172\333\056\225\375 -\270\312\277\067\070\055\036\076\221\101\255\160\126\307\360\117 -\077\350\062\236\164\312\310\220\124\351\306\137\017\170\235\232 -\100\074\016\254\141\252\136\024\217\236\207\241\152\120\334\327 -\232\116\257\005\263\246\161\224\234\161\263\120\140\012\307\023 -\235\070\007\206\002\250\351\250\151\046\030\220\253\114\260\117 -\043\253\072\117\204\330\337\316\237\341\151\157\273\327\102\327 -\153\104\344\307\255\356\155\101\137\162\132\161\010\067\263\171 -\145\244\131\240\224\067\367\000\057\015\302\222\162\332\320\070 -\162\333\024\250\105\304\135\052\175\267\264\326\304\356\254\315 -\023\104\267\311\053\335\103\000\045\372\141\271\151\152\130\043 -\021\267\247\063\217\126\165\131\365\315\051\327\106\267\012\053 -\145\266\323\102\157\025\262\270\173\373\357\351\135\123\325\064 -\132\047\002\003\001\000\001\243\201\334\060\201\331\060\035\006 -\003\125\035\016\004\026\004\024\255\275\230\172\064\264\046\367 -\372\304\046\124\357\003\275\340\044\313\124\032\060\013\006\003 -\125\035\017\004\004\003\002\001\006\060\017\006\003\125\035\023 -\001\001\377\004\005\060\003\001\001\377\060\201\231\006\003\125 -\035\043\004\201\221\060\201\216\200\024\255\275\230\172\064\264 -\046\367\372\304\046\124\357\003\275\340\044\313\124\032\241\163 -\244\161\060\157\061\013\060\011\006\003\125\004\006\023\002\123 -\105\061\024\060\022\006\003\125\004\012\023\013\101\144\144\124 -\162\165\163\164\040\101\102\061\046\060\044\006\003\125\004\013 -\023\035\101\144\144\124\162\165\163\164\040\105\170\164\145\162 -\156\141\154\040\124\124\120\040\116\145\164\167\157\162\153\061 -\042\060\040\006\003\125\004\003\023\031\101\144\144\124\162\165 -\163\164\040\105\170\164\145\162\156\141\154\040\103\101\040\122 -\157\157\164\202\001\001\060\015\006\011\052\206\110\206\367\015 -\001\001\005\005\000\003\202\001\001\000\260\233\340\205\045\302 -\326\043\342\017\226\006\222\235\101\230\234\331\204\171\201\331 -\036\133\024\007\043\066\145\217\260\330\167\273\254\101\154\107 -\140\203\121\260\371\062\075\347\374\366\046\023\307\200\026\245 -\277\132\374\207\317\170\171\211\041\232\342\114\007\012\206\065 -\274\362\336\121\304\322\226\267\334\176\116\356\160\375\034\071 -\353\014\002\121\024\055\216\275\026\340\301\337\106\165\347\044 -\255\354\364\102\264\205\223\160\020\147\272\235\006\065\112\030 -\323\053\172\314\121\102\241\172\143\321\346\273\241\305\053\302 -\066\276\023\015\346\275\143\176\171\173\247\011\015\100\253\152 -\335\217\212\303\366\366\214\032\102\005\121\324\105\365\237\247 -\142\041\150\025\040\103\074\231\347\174\275\044\330\251\221\027 -\163\210\077\126\033\061\070\030\264\161\017\232\315\310\016\236 -\216\056\033\341\214\230\203\313\037\061\361\104\114\306\004\163 -\111\166\140\017\307\370\275\027\200\153\056\351\314\114\016\132 -\232\171\017\040\012\056\325\236\143\046\036\125\222\224\330\202 -\027\132\173\320\274\307\217\116\206\004 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "AddTrust External Root" -# Issuer: CN=AddTrust External CA Root,OU=AddTrust External TTP Network,O=AddTrust AB,C=SE -# Serial Number: 1 (0x1) -# Subject: CN=AddTrust External CA Root,OU=AddTrust External TTP Network,O=AddTrust AB,C=SE -# Not Valid Before: Tue May 30 10:48:38 2000 -# Not Valid After : Sat May 30 10:48:38 2020 -# Fingerprint (MD5): 1D:35:54:04:85:78:B0:3F:42:42:4D:BF:20:73:0A:3F -# Fingerprint (SHA1): 02:FA:F3:E2:91:43:54:68:60:78:57:69:4D:F5:E4:5B:68:85:18:68 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "AddTrust External Root" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\002\372\363\342\221\103\124\150\140\170\127\151\115\365\344\133 -\150\205\030\150 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\035\065\124\004\205\170\260\077\102\102\115\277\040\163\012\077 -END -CKA_ISSUER MULTILINE_OCTAL -\060\157\061\013\060\011\006\003\125\004\006\023\002\123\105\061 -\024\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165 -\163\164\040\101\102\061\046\060\044\006\003\125\004\013\023\035 -\101\144\144\124\162\165\163\164\040\105\170\164\145\162\156\141 -\154\040\124\124\120\040\116\145\164\167\157\162\153\061\042\060 -\040\006\003\125\004\003\023\031\101\144\144\124\162\165\163\164 -\040\105\170\164\145\162\156\141\154\040\103\101\040\122\157\157 -\164 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\001 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Entrust Root Certification Authority" -# -# Issuer: CN=Entrust Root Certification Authority,OU="(c) 2006 Entrust, Inc.",OU=www.entrust.net/CPS is incorporated by reference,O="Entrust, Inc.",C=US -# Serial Number: 1164660820 (0x456b5054) -# Subject: CN=Entrust Root Certification Authority,OU="(c) 2006 Entrust, Inc.",OU=www.entrust.net/CPS is incorporated by reference,O="Entrust, Inc.",C=US -# Not Valid Before: Mon Nov 27 20:23:42 2006 -# Not Valid After : Fri Nov 27 20:53:42 2026 -# Fingerprint (MD5): D6:A5:C3:ED:5D:DD:3E:00:C1:3D:87:92:1F:1D:3F:E4 -# Fingerprint (SHA1): B3:1E:B1:B7:40:E3:6C:84:02:DA:DC:37:D4:4D:F5:D4:67:49:52:F9 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Entrust Root Certification Authority" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\260\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165 -\163\164\054\040\111\156\143\056\061\071\060\067\006\003\125\004 -\013\023\060\167\167\167\056\145\156\164\162\165\163\164\056\156 -\145\164\057\103\120\123\040\151\163\040\151\156\143\157\162\160 -\157\162\141\164\145\144\040\142\171\040\162\145\146\145\162\145 -\156\143\145\061\037\060\035\006\003\125\004\013\023\026\050\143 -\051\040\062\060\060\066\040\105\156\164\162\165\163\164\054\040 -\111\156\143\056\061\055\060\053\006\003\125\004\003\023\044\105 -\156\164\162\165\163\164\040\122\157\157\164\040\103\145\162\164 -\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162 -\151\164\171 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\260\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165 -\163\164\054\040\111\156\143\056\061\071\060\067\006\003\125\004 -\013\023\060\167\167\167\056\145\156\164\162\165\163\164\056\156 -\145\164\057\103\120\123\040\151\163\040\151\156\143\157\162\160 -\157\162\141\164\145\144\040\142\171\040\162\145\146\145\162\145 -\156\143\145\061\037\060\035\006\003\125\004\013\023\026\050\143 -\051\040\062\060\060\066\040\105\156\164\162\165\163\164\054\040 -\111\156\143\056\061\055\060\053\006\003\125\004\003\023\044\105 -\156\164\162\165\163\164\040\122\157\157\164\040\103\145\162\164 -\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162 -\151\164\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\004\105\153\120\124 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\221\060\202\003\171\240\003\002\001\002\002\004\105 -\153\120\124\060\015\006\011\052\206\110\206\367\015\001\001\005 -\005\000\060\201\260\061\013\060\011\006\003\125\004\006\023\002 -\125\123\061\026\060\024\006\003\125\004\012\023\015\105\156\164 -\162\165\163\164\054\040\111\156\143\056\061\071\060\067\006\003 -\125\004\013\023\060\167\167\167\056\145\156\164\162\165\163\164 -\056\156\145\164\057\103\120\123\040\151\163\040\151\156\143\157 -\162\160\157\162\141\164\145\144\040\142\171\040\162\145\146\145 -\162\145\156\143\145\061\037\060\035\006\003\125\004\013\023\026 -\050\143\051\040\062\060\060\066\040\105\156\164\162\165\163\164 -\054\040\111\156\143\056\061\055\060\053\006\003\125\004\003\023 -\044\105\156\164\162\165\163\164\040\122\157\157\164\040\103\145 -\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150 -\157\162\151\164\171\060\036\027\015\060\066\061\061\062\067\062 -\060\062\063\064\062\132\027\015\062\066\061\061\062\067\062\060 -\065\063\064\062\132\060\201\260\061\013\060\011\006\003\125\004 -\006\023\002\125\123\061\026\060\024\006\003\125\004\012\023\015 -\105\156\164\162\165\163\164\054\040\111\156\143\056\061\071\060 -\067\006\003\125\004\013\023\060\167\167\167\056\145\156\164\162 -\165\163\164\056\156\145\164\057\103\120\123\040\151\163\040\151 -\156\143\157\162\160\157\162\141\164\145\144\040\142\171\040\162 -\145\146\145\162\145\156\143\145\061\037\060\035\006\003\125\004 -\013\023\026\050\143\051\040\062\060\060\066\040\105\156\164\162 -\165\163\164\054\040\111\156\143\056\061\055\060\053\006\003\125 -\004\003\023\044\105\156\164\162\165\163\164\040\122\157\157\164 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 -\165\164\150\157\162\151\164\171\060\202\001\042\060\015\006\011 -\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017\000 -\060\202\001\012\002\202\001\001\000\266\225\266\103\102\372\306 -\155\052\157\110\337\224\114\071\127\005\356\303\171\021\101\150 -\066\355\354\376\232\001\217\241\070\050\374\367\020\106\146\056 -\115\036\032\261\032\116\306\321\300\225\210\260\311\377\061\213 -\063\003\333\267\203\173\076\040\204\136\355\262\126\050\247\370 -\340\271\100\161\067\305\313\107\016\227\052\150\300\042\225\142 -\025\333\107\331\365\320\053\377\202\113\311\255\076\336\114\333 -\220\200\120\077\011\212\204\000\354\060\012\075\030\315\373\375 -\052\131\232\043\225\027\054\105\236\037\156\103\171\155\014\134 -\230\376\110\247\305\043\107\134\136\375\156\347\036\264\366\150 -\105\321\206\203\133\242\212\215\261\343\051\200\376\045\161\210 -\255\276\274\217\254\122\226\113\252\121\215\344\023\061\031\350 -\116\115\237\333\254\263\152\325\274\071\124\161\312\172\172\177 -\220\335\175\035\200\331\201\273\131\046\302\021\376\346\223\342 -\367\200\344\145\373\064\067\016\051\200\160\115\257\070\206\056 -\236\177\127\257\236\027\256\353\034\313\050\041\137\266\034\330 -\347\242\004\042\371\323\332\330\313\002\003\001\000\001\243\201 -\260\060\201\255\060\016\006\003\125\035\017\001\001\377\004\004 -\003\002\001\006\060\017\006\003\125\035\023\001\001\377\004\005 -\060\003\001\001\377\060\053\006\003\125\035\020\004\044\060\042 -\200\017\062\060\060\066\061\061\062\067\062\060\062\063\064\062 -\132\201\017\062\060\062\066\061\061\062\067\062\060\065\063\064 -\062\132\060\037\006\003\125\035\043\004\030\060\026\200\024\150 -\220\344\147\244\246\123\200\307\206\146\244\361\367\113\103\373 -\204\275\155\060\035\006\003\125\035\016\004\026\004\024\150\220 -\344\147\244\246\123\200\307\206\146\244\361\367\113\103\373\204 -\275\155\060\035\006\011\052\206\110\206\366\175\007\101\000\004 -\020\060\016\033\010\126\067\056\061\072\064\056\060\003\002\004 -\220\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000 -\003\202\001\001\000\223\324\060\260\327\003\040\052\320\371\143 -\350\221\014\005\040\251\137\031\312\173\162\116\324\261\333\320 -\226\373\124\132\031\054\014\010\367\262\274\205\250\235\177\155 -\073\122\263\052\333\347\324\204\214\143\366\017\313\046\001\221 -\120\154\364\137\024\342\223\164\300\023\236\060\072\120\343\264 -\140\305\034\360\042\104\215\161\107\254\310\032\311\351\233\232 -\000\140\023\377\160\176\137\021\115\111\033\263\025\122\173\311 -\124\332\277\235\225\257\153\232\330\236\351\361\344\103\215\342 -\021\104\072\277\257\275\203\102\163\122\213\252\273\247\051\317 -\365\144\034\012\115\321\274\252\254\237\052\320\377\177\177\332 -\175\352\261\355\060\045\301\204\332\064\322\133\170\203\126\354 -\234\066\303\046\342\021\366\147\111\035\222\253\214\373\353\377 -\172\356\205\112\247\120\200\360\247\134\112\224\056\137\005\231 -\074\122\101\340\315\264\143\317\001\103\272\234\203\334\217\140 -\073\363\132\264\264\173\256\332\013\220\070\165\357\201\035\146 -\322\367\127\160\066\263\277\374\050\257\161\045\205\133\023\376 -\036\177\132\264\074 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "Entrust Root Certification Authority" -# Issuer: CN=Entrust Root Certification Authority,OU="(c) 2006 Entrust, Inc.",OU=www.entrust.net/CPS is incorporated by reference,O="Entrust, Inc.",C=US -# Serial Number: 1164660820 (0x456b5054) -# Subject: CN=Entrust Root Certification Authority,OU="(c) 2006 Entrust, Inc.",OU=www.entrust.net/CPS is incorporated by reference,O="Entrust, Inc.",C=US -# Not Valid Before: Mon Nov 27 20:23:42 2006 -# Not Valid After : Fri Nov 27 20:53:42 2026 -# Fingerprint (MD5): D6:A5:C3:ED:5D:DD:3E:00:C1:3D:87:92:1F:1D:3F:E4 -# Fingerprint (SHA1): B3:1E:B1:B7:40:E3:6C:84:02:DA:DC:37:D4:4D:F5:D4:67:49:52:F9 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Entrust Root Certification Authority" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\263\036\261\267\100\343\154\204\002\332\334\067\324\115\365\324 -\147\111\122\371 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\326\245\303\355\135\335\076\000\301\075\207\222\037\035\077\344 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\260\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165 -\163\164\054\040\111\156\143\056\061\071\060\067\006\003\125\004 -\013\023\060\167\167\167\056\145\156\164\162\165\163\164\056\156 -\145\164\057\103\120\123\040\151\163\040\151\156\143\157\162\160 -\157\162\141\164\145\144\040\142\171\040\162\145\146\145\162\145 -\156\143\145\061\037\060\035\006\003\125\004\013\023\026\050\143 -\051\040\062\060\060\066\040\105\156\164\162\165\163\164\054\040 -\111\156\143\056\061\055\060\053\006\003\125\004\003\023\044\105 -\156\164\162\165\163\164\040\122\157\157\164\040\103\145\162\164 -\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162 -\151\164\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\004\105\153\120\124 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "GeoTrust Global CA" -# -# Issuer: CN=GeoTrust Global CA,O=GeoTrust Inc.,C=US -# Serial Number: 144470 (0x23456) -# Subject: CN=GeoTrust Global CA,O=GeoTrust Inc.,C=US -# Not Valid Before: Tue May 21 04:00:00 2002 -# Not Valid After : Sat May 21 04:00:00 2022 -# Fingerprint (MD5): F7:75:AB:29:FB:51:4E:B7:77:5E:FF:05:3C:99:8E:F5 -# Fingerprint (SHA1): DE:28:F4:A4:FF:E5:B9:2F:A3:C5:03:D1:A3:49:A7:F9:96:2A:82:12 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GeoTrust Global CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\102\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165 -\163\164\040\111\156\143\056\061\033\060\031\006\003\125\004\003 -\023\022\107\145\157\124\162\165\163\164\040\107\154\157\142\141 -\154\040\103\101 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\102\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165 -\163\164\040\111\156\143\056\061\033\060\031\006\003\125\004\003 -\023\022\107\145\157\124\162\165\163\164\040\107\154\157\142\141 -\154\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\003\002\064\126 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\124\060\202\002\074\240\003\002\001\002\002\003\002 -\064\126\060\015\006\011\052\206\110\206\367\015\001\001\005\005 -\000\060\102\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162 -\165\163\164\040\111\156\143\056\061\033\060\031\006\003\125\004 -\003\023\022\107\145\157\124\162\165\163\164\040\107\154\157\142 -\141\154\040\103\101\060\036\027\015\060\062\060\065\062\061\060 -\064\060\060\060\060\132\027\015\062\062\060\065\062\061\060\064 -\060\060\060\060\132\060\102\061\013\060\011\006\003\125\004\006 -\023\002\125\123\061\026\060\024\006\003\125\004\012\023\015\107 -\145\157\124\162\165\163\164\040\111\156\143\056\061\033\060\031 -\006\003\125\004\003\023\022\107\145\157\124\162\165\163\164\040 -\107\154\157\142\141\154\040\103\101\060\202\001\042\060\015\006 -\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017 -\000\060\202\001\012\002\202\001\001\000\332\314\030\143\060\375 -\364\027\043\032\126\176\133\337\074\154\070\344\161\267\170\221 -\324\274\241\330\114\370\250\103\266\003\351\115\041\007\010\210 -\332\130\057\146\071\051\275\005\170\213\235\070\350\005\267\152 -\176\161\244\346\304\140\246\260\357\200\344\211\050\017\236\045 -\326\355\203\363\255\246\221\307\230\311\102\030\065\024\235\255 -\230\106\222\056\117\312\361\207\103\301\026\225\127\055\120\357 -\211\055\200\172\127\255\362\356\137\153\322\000\215\271\024\370 -\024\025\065\331\300\106\243\173\162\310\221\277\311\125\053\315 -\320\227\076\234\046\144\314\337\316\203\031\161\312\116\346\324 -\325\173\251\031\315\125\336\310\354\322\136\070\123\345\134\117 -\214\055\376\120\043\066\374\146\346\313\216\244\071\031\000\267 -\225\002\071\221\013\016\376\070\056\321\035\005\232\366\115\076 -\157\017\007\035\257\054\036\217\140\071\342\372\066\123\023\071 -\324\136\046\053\333\075\250\024\275\062\353\030\003\050\122\004 -\161\345\253\063\075\341\070\273\007\066\204\142\234\171\352\026 -\060\364\137\300\053\350\161\153\344\371\002\003\001\000\001\243 -\123\060\121\060\017\006\003\125\035\023\001\001\377\004\005\060 -\003\001\001\377\060\035\006\003\125\035\016\004\026\004\024\300 -\172\230\150\215\211\373\253\005\144\014\021\175\252\175\145\270 -\312\314\116\060\037\006\003\125\035\043\004\030\060\026\200\024 -\300\172\230\150\215\211\373\253\005\144\014\021\175\252\175\145 -\270\312\314\116\060\015\006\011\052\206\110\206\367\015\001\001 -\005\005\000\003\202\001\001\000\065\343\051\152\345\057\135\124 -\216\051\120\224\237\231\032\024\344\217\170\052\142\224\242\047 -\147\236\320\317\032\136\107\351\301\262\244\317\335\101\032\005 -\116\233\113\356\112\157\125\122\263\044\241\067\012\353\144\166 -\052\056\054\363\375\073\165\220\277\372\161\330\307\075\067\322 -\265\005\225\142\271\246\336\211\075\066\173\070\167\110\227\254 -\246\040\217\056\246\311\014\302\262\231\105\000\307\316\021\121 -\042\042\340\245\352\266\025\110\011\144\352\136\117\164\367\005 -\076\307\212\122\014\333\025\264\275\155\233\345\306\261\124\150 -\251\343\151\220\266\232\245\017\270\271\077\040\175\256\112\265 -\270\234\344\035\266\253\346\224\245\301\307\203\255\333\365\047 -\207\016\004\154\325\377\335\240\135\355\207\122\267\053\025\002 -\256\071\246\152\164\351\332\304\347\274\115\064\036\251\134\115 -\063\137\222\011\057\210\146\135\167\227\307\035\166\023\251\325 -\345\361\026\011\021\065\325\254\333\044\161\160\054\230\126\013 -\331\027\264\321\343\121\053\136\165\350\325\320\334\117\064\355 -\302\005\146\200\241\313\346\063 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "GeoTrust Global CA" -# Issuer: CN=GeoTrust Global CA,O=GeoTrust Inc.,C=US -# Serial Number: 144470 (0x23456) -# Subject: CN=GeoTrust Global CA,O=GeoTrust Inc.,C=US -# Not Valid Before: Tue May 21 04:00:00 2002 -# Not Valid After : Sat May 21 04:00:00 2022 -# Fingerprint (MD5): F7:75:AB:29:FB:51:4E:B7:77:5E:FF:05:3C:99:8E:F5 -# Fingerprint (SHA1): DE:28:F4:A4:FF:E5:B9:2F:A3:C5:03:D1:A3:49:A7:F9:96:2A:82:12 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GeoTrust Global CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\336\050\364\244\377\345\271\057\243\305\003\321\243\111\247\371 -\226\052\202\022 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\367\165\253\051\373\121\116\267\167\136\377\005\074\231\216\365 -END -CKA_ISSUER MULTILINE_OCTAL -\060\102\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165 -\163\164\040\111\156\143\056\061\033\060\031\006\003\125\004\003 -\023\022\107\145\157\124\162\165\163\164\040\107\154\157\142\141 -\154\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\003\002\064\126 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "GeoTrust Universal CA" -# -# Issuer: CN=GeoTrust Universal CA,O=GeoTrust Inc.,C=US -# Serial Number: 1 (0x1) -# Subject: CN=GeoTrust Universal CA,O=GeoTrust Inc.,C=US -# Not Valid Before: Thu Mar 04 05:00:00 2004 -# Not Valid After : Sun Mar 04 05:00:00 2029 -# Fingerprint (MD5): 92:65:58:8B:A2:1A:31:72:73:68:5C:B4:A5:7A:07:48 -# Fingerprint (SHA1): E6:21:F3:35:43:79:05:9A:4B:68:30:9D:8A:2F:74:22:15:87:EC:79 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GeoTrust Universal CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\105\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165 -\163\164\040\111\156\143\056\061\036\060\034\006\003\125\004\003 -\023\025\107\145\157\124\162\165\163\164\040\125\156\151\166\145 -\162\163\141\154\040\103\101 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\105\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165 -\163\164\040\111\156\143\056\061\036\060\034\006\003\125\004\003 -\023\025\107\145\157\124\162\165\163\164\040\125\156\151\166\145 -\162\163\141\154\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\001 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\150\060\202\003\120\240\003\002\001\002\002\001\001 -\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 -\105\061\013\060\011\006\003\125\004\006\023\002\125\123\061\026 -\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165\163 -\164\040\111\156\143\056\061\036\060\034\006\003\125\004\003\023 -\025\107\145\157\124\162\165\163\164\040\125\156\151\166\145\162 -\163\141\154\040\103\101\060\036\027\015\060\064\060\063\060\064 -\060\065\060\060\060\060\132\027\015\062\071\060\063\060\064\060 -\065\060\060\060\060\132\060\105\061\013\060\011\006\003\125\004 -\006\023\002\125\123\061\026\060\024\006\003\125\004\012\023\015 -\107\145\157\124\162\165\163\164\040\111\156\143\056\061\036\060 -\034\006\003\125\004\003\023\025\107\145\157\124\162\165\163\164 -\040\125\156\151\166\145\162\163\141\154\040\103\101\060\202\002 -\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000 -\003\202\002\017\000\060\202\002\012\002\202\002\001\000\246\025 -\125\240\243\306\340\037\214\235\041\120\327\301\276\053\133\265 -\244\236\241\331\162\130\275\000\033\114\277\141\311\024\035\105 -\202\253\306\035\200\326\075\353\020\234\072\257\155\044\370\274 -\161\001\236\006\365\174\137\036\301\016\125\312\203\232\131\060 -\256\031\313\060\110\225\355\042\067\215\364\112\232\162\146\076 -\255\225\300\340\026\000\340\020\037\053\061\016\327\224\124\323 -\102\063\240\064\035\036\105\166\335\117\312\030\067\354\205\025 -\172\031\010\374\325\307\234\360\362\251\056\020\251\222\346\075 -\130\075\251\026\150\074\057\165\041\030\177\050\167\245\341\141 -\027\267\246\351\370\036\231\333\163\156\364\012\242\041\154\356 -\332\252\205\222\146\257\366\172\153\202\332\272\042\010\065\017 -\317\102\361\065\372\152\356\176\053\045\314\072\021\344\155\257 -\163\262\166\035\255\320\262\170\147\032\244\071\034\121\013\147 -\126\203\375\070\135\015\316\335\360\273\053\226\037\336\173\062 -\122\375\035\273\265\006\241\262\041\136\245\326\225\150\177\360 -\231\236\334\105\010\076\347\322\011\015\065\224\335\200\116\123 -\227\327\265\011\104\040\144\026\027\003\002\114\123\015\150\336 -\325\252\162\115\223\155\202\016\333\234\275\317\264\363\134\135 -\124\172\151\011\226\326\333\021\301\215\165\250\264\317\071\310 -\316\074\274\044\174\346\142\312\341\275\175\247\275\127\145\013 -\344\376\045\355\266\151\020\334\050\032\106\275\001\035\320\227 -\265\341\230\073\300\067\144\326\075\224\356\013\341\365\050\256 -\013\126\277\161\213\043\051\101\216\206\305\113\122\173\330\161 -\253\037\212\025\246\073\203\132\327\130\001\121\306\114\101\331 -\177\330\101\147\162\242\050\337\140\203\251\236\310\173\374\123 -\163\162\131\365\223\172\027\166\016\316\367\345\134\331\013\125 -\064\242\252\133\265\152\124\347\023\312\127\354\227\155\364\136 -\006\057\105\213\130\324\043\026\222\344\026\156\050\143\131\060 -\337\120\001\234\143\211\032\237\333\027\224\202\160\067\303\044 -\236\232\107\326\132\312\116\250\151\211\162\037\221\154\333\176 -\236\033\255\307\037\163\335\054\117\031\145\375\177\223\100\020 -\056\322\360\355\074\236\056\050\076\151\046\063\305\173\002\003 -\001\000\001\243\143\060\141\060\017\006\003\125\035\023\001\001 -\377\004\005\060\003\001\001\377\060\035\006\003\125\035\016\004 -\026\004\024\332\273\056\252\260\014\270\210\046\121\164\134\155 -\003\323\300\330\217\172\326\060\037\006\003\125\035\043\004\030 -\060\026\200\024\332\273\056\252\260\014\270\210\046\121\164\134 -\155\003\323\300\330\217\172\326\060\016\006\003\125\035\017\001 -\001\377\004\004\003\002\001\206\060\015\006\011\052\206\110\206 -\367\015\001\001\005\005\000\003\202\002\001\000\061\170\346\307 -\265\337\270\224\100\311\161\304\250\065\354\106\035\302\205\363 -\050\130\206\260\013\374\216\262\071\217\104\125\253\144\204\134 -\151\251\320\232\070\074\372\345\037\065\345\104\343\200\171\224 -\150\244\273\304\237\075\341\064\315\060\106\213\124\053\225\245 -\357\367\077\231\204\375\065\346\317\061\306\334\152\277\247\327 -\043\010\341\230\136\303\132\010\166\251\246\257\167\057\267\140 -\275\104\106\152\357\227\377\163\225\301\216\350\223\373\375\061 -\267\354\127\021\021\105\233\060\361\032\210\071\301\117\074\247 -\000\325\307\374\253\155\200\042\160\245\014\340\135\004\051\002 -\373\313\240\221\321\174\326\303\176\120\325\235\130\276\101\070 -\353\271\165\074\025\331\233\311\112\203\131\300\332\123\375\063 -\273\066\030\233\205\017\025\335\356\055\254\166\223\271\331\001 -\215\110\020\250\373\365\070\206\361\333\012\306\275\204\243\043 -\101\336\326\167\157\205\324\205\034\120\340\256\121\212\272\215 -\076\166\342\271\312\047\362\137\237\357\156\131\015\006\330\053 -\027\244\322\174\153\273\137\024\032\110\217\032\114\347\263\107 -\034\216\114\105\053\040\356\110\337\347\335\011\216\030\250\332 -\100\215\222\046\021\123\141\163\135\353\275\347\304\115\051\067 -\141\353\254\071\055\147\056\026\326\365\000\203\205\241\314\177 -\166\304\175\344\267\113\146\357\003\105\140\151\266\014\122\226 -\222\204\136\246\243\265\244\076\053\331\314\330\033\107\252\362 -\104\332\117\371\003\350\360\024\313\077\363\203\336\320\301\124 -\343\267\350\012\067\115\213\040\131\003\060\031\241\054\310\275 -\021\037\337\256\311\112\305\363\047\146\146\206\254\150\221\377 -\331\346\123\034\017\213\134\151\145\012\046\310\036\064\303\135 -\121\173\327\251\234\006\241\066\335\325\211\224\274\331\344\055 -\014\136\011\154\010\227\174\243\075\174\223\377\077\241\024\247 -\317\265\135\353\333\333\034\304\166\337\210\271\275\105\005\225 -\033\256\374\106\152\114\257\110\343\316\256\017\322\176\353\346 -\154\234\117\201\152\172\144\254\273\076\325\347\313\166\056\305 -\247\110\301\134\220\017\313\310\077\372\346\062\341\215\033\157 -\244\346\216\330\371\051\110\212\316\163\376\054 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "GeoTrust Universal CA" -# Issuer: CN=GeoTrust Universal CA,O=GeoTrust Inc.,C=US -# Serial Number: 1 (0x1) -# Subject: CN=GeoTrust Universal CA,O=GeoTrust Inc.,C=US -# Not Valid Before: Thu Mar 04 05:00:00 2004 -# Not Valid After : Sun Mar 04 05:00:00 2029 -# Fingerprint (MD5): 92:65:58:8B:A2:1A:31:72:73:68:5C:B4:A5:7A:07:48 -# Fingerprint (SHA1): E6:21:F3:35:43:79:05:9A:4B:68:30:9D:8A:2F:74:22:15:87:EC:79 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GeoTrust Universal CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\346\041\363\065\103\171\005\232\113\150\060\235\212\057\164\042 -\025\207\354\171 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\222\145\130\213\242\032\061\162\163\150\134\264\245\172\007\110 -END -CKA_ISSUER MULTILINE_OCTAL -\060\105\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165 -\163\164\040\111\156\143\056\061\036\060\034\006\003\125\004\003 -\023\025\107\145\157\124\162\165\163\164\040\125\156\151\166\145 -\162\163\141\154\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\001 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "GeoTrust Universal CA 2" -# -# Issuer: CN=GeoTrust Universal CA 2,O=GeoTrust Inc.,C=US -# Serial Number: 1 (0x1) -# Subject: CN=GeoTrust Universal CA 2,O=GeoTrust Inc.,C=US -# Not Valid Before: Thu Mar 04 05:00:00 2004 -# Not Valid After : Sun Mar 04 05:00:00 2029 -# Fingerprint (MD5): 34:FC:B8:D0:36:DB:9E:14:B3:C2:F2:DB:8F:E4:94:C7 -# Fingerprint (SHA1): 37:9A:19:7B:41:85:45:35:0C:A6:03:69:F3:3C:2E:AF:47:4F:20:79 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GeoTrust Universal CA 2" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165 -\163\164\040\111\156\143\056\061\040\060\036\006\003\125\004\003 -\023\027\107\145\157\124\162\165\163\164\040\125\156\151\166\145 -\162\163\141\154\040\103\101\040\062 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165 -\163\164\040\111\156\143\056\061\040\060\036\006\003\125\004\003 -\023\027\107\145\157\124\162\165\163\164\040\125\156\151\166\145 -\162\163\141\154\040\103\101\040\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\001 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\154\060\202\003\124\240\003\002\001\002\002\001\001 -\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 -\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061\026 -\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165\163 -\164\040\111\156\143\056\061\040\060\036\006\003\125\004\003\023 -\027\107\145\157\124\162\165\163\164\040\125\156\151\166\145\162 -\163\141\154\040\103\101\040\062\060\036\027\015\060\064\060\063 -\060\064\060\065\060\060\060\060\132\027\015\062\071\060\063\060 -\064\060\065\060\060\060\060\132\060\107\061\013\060\011\006\003 -\125\004\006\023\002\125\123\061\026\060\024\006\003\125\004\012 -\023\015\107\145\157\124\162\165\163\164\040\111\156\143\056\061 -\040\060\036\006\003\125\004\003\023\027\107\145\157\124\162\165 -\163\164\040\125\156\151\166\145\162\163\141\154\040\103\101\040 -\062\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001 -\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002 -\001\000\263\124\122\301\311\076\362\331\334\261\123\032\131\051 -\347\261\303\105\050\345\327\321\355\305\305\113\241\252\164\173 -\127\257\112\046\374\330\365\136\247\156\031\333\164\014\117\065 -\133\062\013\001\343\333\353\172\167\065\352\252\132\340\326\350 -\241\127\224\360\220\243\164\126\224\104\060\003\036\134\116\053 -\205\046\164\202\172\014\166\240\157\115\316\101\055\240\025\006 -\024\137\267\102\315\173\217\130\141\064\334\052\010\371\056\303 -\001\246\042\104\034\114\007\202\346\133\316\320\112\174\004\323 -\031\163\047\360\252\230\177\056\257\116\353\207\036\044\167\152 -\135\266\350\133\105\272\334\303\241\005\157\126\216\217\020\046 -\245\111\303\056\327\101\207\042\340\117\206\312\140\265\352\241 -\143\300\001\227\020\171\275\000\074\022\155\053\025\261\254\113 -\261\356\030\271\116\226\334\334\166\377\073\276\317\137\003\300 -\374\073\350\276\106\033\377\332\100\302\122\367\376\343\072\367 -\152\167\065\320\332\215\353\136\030\152\061\307\036\272\074\033 -\050\326\153\124\306\252\133\327\242\054\033\031\314\242\002\366 -\233\131\275\067\153\206\265\155\202\272\330\352\311\126\274\251 -\066\130\375\076\031\363\355\014\046\251\223\070\370\117\301\135 -\042\006\320\227\352\341\255\306\125\340\201\053\050\203\072\372 -\364\173\041\121\000\276\122\070\316\315\146\171\250\364\201\126 -\342\320\203\011\107\121\133\120\152\317\333\110\032\135\076\367 -\313\366\145\367\154\361\225\370\002\073\062\126\202\071\172\133 -\275\057\211\033\277\241\264\350\377\177\215\214\337\003\361\140 -\116\130\021\114\353\243\077\020\053\203\232\001\163\331\224\155 -\204\000\047\146\254\360\160\100\011\102\222\255\117\223\015\141 -\011\121\044\330\222\325\013\224\141\262\207\262\355\377\232\065 -\377\205\124\312\355\104\103\254\033\074\026\153\110\112\012\034 -\100\210\037\222\302\013\000\005\377\362\310\002\112\244\252\251 -\314\231\226\234\057\130\340\175\341\276\273\007\334\137\004\162 -\134\061\064\303\354\137\055\340\075\144\220\042\346\321\354\270 -\056\335\131\256\331\241\067\277\124\065\334\163\062\117\214\004 -\036\063\262\311\106\361\330\134\310\125\120\311\150\275\250\272 -\066\011\002\003\001\000\001\243\143\060\141\060\017\006\003\125 -\035\023\001\001\377\004\005\060\003\001\001\377\060\035\006\003 -\125\035\016\004\026\004\024\166\363\125\341\372\244\066\373\360 -\237\134\142\161\355\074\364\107\070\020\053\060\037\006\003\125 -\035\043\004\030\060\026\200\024\166\363\125\341\372\244\066\373 -\360\237\134\142\161\355\074\364\107\070\020\053\060\016\006\003 -\125\035\017\001\001\377\004\004\003\002\001\206\060\015\006\011 -\052\206\110\206\367\015\001\001\005\005\000\003\202\002\001\000 -\146\301\306\043\363\331\340\056\156\137\350\317\256\260\260\045 -\115\053\370\073\130\233\100\044\067\132\313\253\026\111\377\263 -\165\171\063\241\057\155\160\027\064\221\376\147\176\217\354\233 -\345\136\202\251\125\037\057\334\324\121\007\022\376\254\026\076 -\054\065\306\143\374\334\020\353\015\243\252\320\174\314\321\320 -\057\121\056\304\024\132\336\350\031\341\076\306\314\244\051\347 -\056\204\252\006\060\170\166\124\163\050\230\131\070\340\000\015 -\142\323\102\175\041\237\256\075\072\214\325\372\167\015\030\053 -\026\016\137\066\341\374\052\265\060\044\317\340\143\014\173\130 -\032\376\231\272\102\022\261\221\364\174\150\342\310\350\257\054 -\352\311\176\256\273\052\075\015\025\334\064\225\266\030\164\250 -\152\017\307\264\364\023\304\344\133\355\012\322\244\227\114\052 -\355\057\154\022\211\075\361\047\160\252\152\003\122\041\237\100 -\250\147\120\362\363\132\037\337\337\043\366\334\170\116\346\230 -\117\125\072\123\343\357\362\364\237\307\174\330\130\257\051\042 -\227\270\340\275\221\056\260\166\354\127\021\317\357\051\104\363 -\351\205\172\140\143\344\135\063\211\027\331\061\252\332\326\363 -\030\065\162\317\207\053\057\143\043\204\135\204\214\077\127\240 -\210\374\231\221\050\046\151\231\324\217\227\104\276\216\325\110 -\261\244\050\051\361\025\264\341\345\236\335\370\217\246\157\046 -\327\011\074\072\034\021\016\246\154\067\367\255\104\207\054\050 -\307\330\164\202\263\320\157\112\127\273\065\051\047\240\213\350 -\041\247\207\144\066\135\314\330\026\254\307\262\047\100\222\125 -\070\050\215\121\156\335\024\147\123\154\161\134\046\204\115\165 -\132\266\176\140\126\251\115\255\373\233\036\227\363\015\331\322 -\227\124\167\332\075\022\267\340\036\357\010\006\254\371\205\207 -\351\242\334\257\176\030\022\203\375\126\027\101\056\325\051\202 -\175\231\364\061\366\161\251\317\054\001\047\245\005\271\252\262 -\110\116\052\357\237\223\122\121\225\074\122\163\216\126\114\027 -\100\300\011\050\344\213\152\110\123\333\354\315\125\125\361\306 -\370\351\242\054\114\246\321\046\137\176\257\132\114\332\037\246 -\362\034\054\176\256\002\026\322\126\320\057\127\123\107\350\222 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "GeoTrust Universal CA 2" -# Issuer: CN=GeoTrust Universal CA 2,O=GeoTrust Inc.,C=US -# Serial Number: 1 (0x1) -# Subject: CN=GeoTrust Universal CA 2,O=GeoTrust Inc.,C=US -# Not Valid Before: Thu Mar 04 05:00:00 2004 -# Not Valid After : Sun Mar 04 05:00:00 2029 -# Fingerprint (MD5): 34:FC:B8:D0:36:DB:9E:14:B3:C2:F2:DB:8F:E4:94:C7 -# Fingerprint (SHA1): 37:9A:19:7B:41:85:45:35:0C:A6:03:69:F3:3C:2E:AF:47:4F:20:79 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GeoTrust Universal CA 2" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\067\232\031\173\101\205\105\065\014\246\003\151\363\074\056\257 -\107\117\040\171 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\064\374\270\320\066\333\236\024\263\302\362\333\217\344\224\307 -END -CKA_ISSUER MULTILINE_OCTAL -\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165 -\163\164\040\111\156\143\056\061\040\060\036\006\003\125\004\003 -\023\027\107\145\157\124\162\165\163\164\040\125\156\151\166\145 -\162\163\141\154\040\103\101\040\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\001 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Certum Root CA" -# -# Issuer: CN=Certum CA,O=Unizeto Sp. z o.o.,C=PL -# Serial Number: 65568 (0x10020) -# Subject: CN=Certum CA,O=Unizeto Sp. z o.o.,C=PL -# Not Valid Before: Tue Jun 11 10:46:39 2002 -# Not Valid After : Fri Jun 11 10:46:39 2027 -# Fingerprint (MD5): 2C:8F:9F:66:1D:18:90:B1:47:26:9D:8E:86:82:8C:A9 -# Fingerprint (SHA1): 62:52:DC:40:F7:11:43:A2:2F:DE:9E:F7:34:8E:06:42:51:B1:81:18 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Certum Root CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\076\061\013\060\011\006\003\125\004\006\023\002\120\114\061 -\033\060\031\006\003\125\004\012\023\022\125\156\151\172\145\164 -\157\040\123\160\056\040\172\040\157\056\157\056\061\022\060\020 -\006\003\125\004\003\023\011\103\145\162\164\165\155\040\103\101 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\076\061\013\060\011\006\003\125\004\006\023\002\120\114\061 -\033\060\031\006\003\125\004\012\023\022\125\156\151\172\145\164 -\157\040\123\160\056\040\172\040\157\056\157\056\061\022\060\020 -\006\003\125\004\003\023\011\103\145\162\164\165\155\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\003\001\000\040 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\014\060\202\001\364\240\003\002\001\002\002\003\001 -\000\040\060\015\006\011\052\206\110\206\367\015\001\001\005\005 -\000\060\076\061\013\060\011\006\003\125\004\006\023\002\120\114 -\061\033\060\031\006\003\125\004\012\023\022\125\156\151\172\145 -\164\157\040\123\160\056\040\172\040\157\056\157\056\061\022\060 -\020\006\003\125\004\003\023\011\103\145\162\164\165\155\040\103 -\101\060\036\027\015\060\062\060\066\061\061\061\060\064\066\063 -\071\132\027\015\062\067\060\066\061\061\061\060\064\066\063\071 -\132\060\076\061\013\060\011\006\003\125\004\006\023\002\120\114 -\061\033\060\031\006\003\125\004\012\023\022\125\156\151\172\145 -\164\157\040\123\160\056\040\172\040\157\056\157\056\061\022\060 -\020\006\003\125\004\003\023\011\103\145\162\164\165\155\040\103 -\101\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001 -\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001 -\001\000\316\261\301\056\323\117\174\315\045\316\030\076\117\304 -\214\157\200\152\163\310\133\121\370\233\322\334\273\000\134\261 -\240\374\165\003\356\201\360\210\356\043\122\351\346\025\063\215 -\254\055\011\305\166\371\053\071\200\211\344\227\113\220\245\250 -\170\370\163\103\173\244\141\260\330\130\314\341\154\146\176\234 -\363\011\136\125\143\204\325\250\357\363\261\056\060\150\263\304 -\074\330\254\156\215\231\132\220\116\064\334\066\232\217\201\210 -\120\267\155\226\102\011\363\327\225\203\015\101\113\260\152\153 -\370\374\017\176\142\237\147\304\355\046\137\020\046\017\010\117 -\360\244\127\050\316\217\270\355\105\366\156\356\045\135\252\156 -\071\276\344\223\057\331\107\240\162\353\372\246\133\257\312\123 -\077\342\016\306\226\126\021\156\367\351\146\251\046\330\177\225 -\123\355\012\205\210\272\117\051\245\102\214\136\266\374\205\040 -\000\252\150\013\241\032\205\001\234\304\106\143\202\210\266\042 -\261\356\376\252\106\131\176\317\065\054\325\266\332\135\367\110 -\063\024\124\266\353\331\157\316\315\210\326\253\033\332\226\073 -\035\131\002\003\001\000\001\243\023\060\021\060\017\006\003\125 -\035\023\001\001\377\004\005\060\003\001\001\377\060\015\006\011 -\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000 -\270\215\316\357\347\024\272\317\356\260\104\222\154\264\071\076 -\242\204\156\255\270\041\167\322\324\167\202\207\346\040\101\201 -\356\342\370\021\267\143\321\027\067\276\031\166\044\034\004\032 -\114\353\075\252\147\157\055\324\315\376\145\061\160\305\033\246 -\002\012\272\140\173\155\130\302\232\111\376\143\062\013\153\343 -\072\300\254\253\073\260\350\323\011\121\214\020\203\306\064\340 -\305\053\340\032\266\140\024\047\154\062\167\214\274\262\162\230 -\317\315\314\077\271\310\044\102\024\326\127\374\346\046\103\251 -\035\345\200\220\316\003\124\050\076\367\077\323\370\115\355\152 -\012\072\223\023\233\073\024\043\023\143\234\077\321\207\047\171 -\345\114\121\343\001\255\205\135\032\073\261\325\163\020\244\323 -\362\274\156\144\365\132\126\220\250\307\016\114\164\017\056\161 -\073\367\310\107\364\151\157\025\362\021\136\203\036\234\174\122 -\256\375\002\332\022\250\131\147\030\333\274\160\335\233\261\151 -\355\200\316\211\100\110\152\016\065\312\051\146\025\041\224\054 -\350\140\052\233\205\112\100\363\153\212\044\354\006\026\054\163 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "Certum Root CA" -# Issuer: CN=Certum CA,O=Unizeto Sp. z o.o.,C=PL -# Serial Number: 65568 (0x10020) -# Subject: CN=Certum CA,O=Unizeto Sp. z o.o.,C=PL -# Not Valid Before: Tue Jun 11 10:46:39 2002 -# Not Valid After : Fri Jun 11 10:46:39 2027 -# Fingerprint (MD5): 2C:8F:9F:66:1D:18:90:B1:47:26:9D:8E:86:82:8C:A9 -# Fingerprint (SHA1): 62:52:DC:40:F7:11:43:A2:2F:DE:9E:F7:34:8E:06:42:51:B1:81:18 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Certum Root CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\142\122\334\100\367\021\103\242\057\336\236\367\064\216\006\102 -\121\261\201\030 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\054\217\237\146\035\030\220\261\107\046\235\216\206\202\214\251 -END -CKA_ISSUER MULTILINE_OCTAL -\060\076\061\013\060\011\006\003\125\004\006\023\002\120\114\061 -\033\060\031\006\003\125\004\012\023\022\125\156\151\172\145\164 -\157\040\123\160\056\040\172\040\157\056\157\056\061\022\060\020 -\006\003\125\004\003\023\011\103\145\162\164\165\155\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\003\001\000\040 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Comodo AAA Services root" -# -# Issuer: CN=AAA Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB -# Serial Number: 1 (0x1) -# Subject: CN=AAA Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB -# Not Valid Before: Thu Jan 01 00:00:00 2004 -# Not Valid After : Sun Dec 31 23:59:59 2028 -# Fingerprint (MD5): 49:79:04:B0:EB:87:19:AC:47:B0:BC:11:51:9B:74:D0 -# Fingerprint (SHA1): D1:EB:23:A4:6D:17:D6:8F:D9:25:64:C2:F1:F1:60:17:64:D8:E3:49 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Comodo AAA Services root" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\173\061\013\060\011\006\003\125\004\006\023\002\107\102\061 -\033\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145 -\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016 -\006\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032 -\060\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040 -\103\101\040\114\151\155\151\164\145\144\061\041\060\037\006\003 -\125\004\003\014\030\101\101\101\040\103\145\162\164\151\146\151 -\143\141\164\145\040\123\145\162\166\151\143\145\163 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\173\061\013\060\011\006\003\125\004\006\023\002\107\102\061 -\033\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145 -\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016 -\006\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032 -\060\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040 -\103\101\040\114\151\155\151\164\145\144\061\041\060\037\006\003 -\125\004\003\014\030\101\101\101\040\103\145\162\164\151\146\151 -\143\141\164\145\040\123\145\162\166\151\143\145\163 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\001 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\062\060\202\003\032\240\003\002\001\002\002\001\001 -\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 -\173\061\013\060\011\006\003\125\004\006\023\002\107\102\061\033 -\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145\162 -\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016\006 -\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032\060 -\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040\103 -\101\040\114\151\155\151\164\145\144\061\041\060\037\006\003\125 -\004\003\014\030\101\101\101\040\103\145\162\164\151\146\151\143 -\141\164\145\040\123\145\162\166\151\143\145\163\060\036\027\015 -\060\064\060\061\060\061\060\060\060\060\060\060\132\027\015\062 -\070\061\062\063\061\062\063\065\071\065\071\132\060\173\061\013 -\060\011\006\003\125\004\006\023\002\107\102\061\033\060\031\006 -\003\125\004\010\014\022\107\162\145\141\164\145\162\040\115\141 -\156\143\150\145\163\164\145\162\061\020\060\016\006\003\125\004 -\007\014\007\123\141\154\146\157\162\144\061\032\060\030\006\003 -\125\004\012\014\021\103\157\155\157\144\157\040\103\101\040\114 -\151\155\151\164\145\144\061\041\060\037\006\003\125\004\003\014 -\030\101\101\101\040\103\145\162\164\151\146\151\143\141\164\145 -\040\123\145\162\166\151\143\145\163\060\202\001\042\060\015\006 -\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017 -\000\060\202\001\012\002\202\001\001\000\276\100\235\364\156\341 -\352\166\207\034\115\105\104\216\276\106\310\203\006\235\301\052 -\376\030\037\216\344\002\372\363\253\135\120\212\026\061\013\232 -\006\320\305\160\042\315\111\055\124\143\314\266\156\150\106\013 -\123\352\313\114\044\300\274\162\116\352\361\025\256\364\124\232 -\022\012\303\172\262\063\140\342\332\211\125\363\042\130\363\336 -\334\317\357\203\206\242\214\224\117\237\150\362\230\220\106\204 -\047\307\166\277\343\314\065\054\213\136\007\144\145\202\300\110 -\260\250\221\371\141\237\166\040\120\250\221\307\146\265\353\170 -\142\003\126\360\212\032\023\352\061\243\036\240\231\375\070\366 -\366\047\062\130\157\007\365\153\270\373\024\053\257\267\252\314 -\326\143\137\163\214\332\005\231\250\070\250\313\027\170\066\121 -\254\351\236\364\170\072\215\317\017\331\102\342\230\014\253\057 -\237\016\001\336\357\237\231\111\361\055\337\254\164\115\033\230 -\265\107\305\345\051\321\371\220\030\307\142\234\276\203\307\046 -\173\076\212\045\307\300\335\235\346\065\150\020\040\235\217\330 -\336\322\303\204\234\015\136\350\057\311\002\003\001\000\001\243 -\201\300\060\201\275\060\035\006\003\125\035\016\004\026\004\024 -\240\021\012\043\076\226\361\007\354\342\257\051\357\202\245\177 -\320\060\244\264\060\016\006\003\125\035\017\001\001\377\004\004 -\003\002\001\006\060\017\006\003\125\035\023\001\001\377\004\005 -\060\003\001\001\377\060\173\006\003\125\035\037\004\164\060\162 -\060\070\240\066\240\064\206\062\150\164\164\160\072\057\057\143 -\162\154\056\143\157\155\157\144\157\143\141\056\143\157\155\057 -\101\101\101\103\145\162\164\151\146\151\143\141\164\145\123\145 -\162\166\151\143\145\163\056\143\162\154\060\066\240\064\240\062 -\206\060\150\164\164\160\072\057\057\143\162\154\056\143\157\155 -\157\144\157\056\156\145\164\057\101\101\101\103\145\162\164\151 -\146\151\143\141\164\145\123\145\162\166\151\143\145\163\056\143 -\162\154\060\015\006\011\052\206\110\206\367\015\001\001\005\005 -\000\003\202\001\001\000\010\126\374\002\360\233\350\377\244\372 -\326\173\306\104\200\316\117\304\305\366\000\130\314\246\266\274 -\024\111\150\004\166\350\346\356\135\354\002\017\140\326\215\120 -\030\117\046\116\001\343\346\260\245\356\277\274\164\124\101\277 -\375\374\022\270\307\117\132\364\211\140\005\177\140\267\005\112 -\363\366\361\302\277\304\271\164\206\266\055\175\153\314\322\363 -\106\335\057\306\340\152\303\303\064\003\054\175\226\335\132\302 -\016\247\012\231\301\005\213\253\014\057\363\134\072\317\154\067 -\125\011\207\336\123\100\154\130\357\374\266\253\145\156\004\366 -\033\334\074\340\132\025\306\236\331\361\131\110\060\041\145\003 -\154\354\351\041\163\354\233\003\241\340\067\255\240\025\030\217 -\372\272\002\316\247\054\251\020\023\054\324\345\010\046\253\042 -\227\140\370\220\136\164\324\242\232\123\275\362\251\150\340\242 -\156\302\327\154\261\243\017\236\277\353\150\347\126\362\256\362 -\343\053\070\072\011\201\265\153\205\327\276\055\355\077\032\267 -\262\143\342\365\142\054\202\324\152\000\101\120\361\071\203\237 -\225\351\066\226\230\156 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "Comodo AAA Services root" -# Issuer: CN=AAA Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB -# Serial Number: 1 (0x1) -# Subject: CN=AAA Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB -# Not Valid Before: Thu Jan 01 00:00:00 2004 -# Not Valid After : Sun Dec 31 23:59:59 2028 -# Fingerprint (MD5): 49:79:04:B0:EB:87:19:AC:47:B0:BC:11:51:9B:74:D0 -# Fingerprint (SHA1): D1:EB:23:A4:6D:17:D6:8F:D9:25:64:C2:F1:F1:60:17:64:D8:E3:49 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Comodo AAA Services root" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\321\353\043\244\155\027\326\217\331\045\144\302\361\361\140\027 -\144\330\343\111 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\111\171\004\260\353\207\031\254\107\260\274\021\121\233\164\320 -END -CKA_ISSUER MULTILINE_OCTAL -\060\173\061\013\060\011\006\003\125\004\006\023\002\107\102\061 -\033\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145 -\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016 -\006\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032 -\060\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040 -\103\101\040\114\151\155\151\164\145\144\061\041\060\037\006\003 -\125\004\003\014\030\101\101\101\040\103\145\162\164\151\146\151 -\143\141\164\145\040\123\145\162\166\151\143\145\163 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\001 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "QuoVadis Root CA" -# -# Issuer: CN=QuoVadis Root Certification Authority,OU=Root Certification Authority,O=QuoVadis Limited,C=BM -# Serial Number: 985026699 (0x3ab6508b) -# Subject: CN=QuoVadis Root Certification Authority,OU=Root Certification Authority,O=QuoVadis Limited,C=BM -# Not Valid Before: Mon Mar 19 18:33:33 2001 -# Not Valid After : Wed Mar 17 18:33:33 2021 -# Fingerprint (MD5): 27:DE:36:FE:72:B7:00:03:00:9D:F4:F0:1E:6C:04:24 -# Fingerprint (SHA1): DE:3F:40:BD:50:93:D3:9B:6C:60:F6:DA:BC:07:62:01:00:89:76:C9 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "QuoVadis Root CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\177\061\013\060\011\006\003\125\004\006\023\002\102\115\061 -\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 -\151\163\040\114\151\155\151\164\145\144\061\045\060\043\006\003 -\125\004\013\023\034\122\157\157\164\040\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171\061\056\060\054\006\003\125\004\003\023\045\121\165\157\126 -\141\144\151\163\040\122\157\157\164\040\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\177\061\013\060\011\006\003\125\004\006\023\002\102\115\061 -\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 -\151\163\040\114\151\155\151\164\145\144\061\045\060\043\006\003 -\125\004\013\023\034\122\157\157\164\040\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171\061\056\060\054\006\003\125\004\003\023\045\121\165\157\126 -\141\144\151\163\040\122\157\157\164\040\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\004\072\266\120\213 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\320\060\202\004\270\240\003\002\001\002\002\004\072 -\266\120\213\060\015\006\011\052\206\110\206\367\015\001\001\005 -\005\000\060\177\061\013\060\011\006\003\125\004\006\023\002\102 -\115\061\031\060\027\006\003\125\004\012\023\020\121\165\157\126 -\141\144\151\163\040\114\151\155\151\164\145\144\061\045\060\043 -\006\003\125\004\013\023\034\122\157\157\164\040\103\145\162\164 -\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162 -\151\164\171\061\056\060\054\006\003\125\004\003\023\045\121\165 -\157\126\141\144\151\163\040\122\157\157\164\040\103\145\162\164 -\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162 -\151\164\171\060\036\027\015\060\061\060\063\061\071\061\070\063 -\063\063\063\132\027\015\062\061\060\063\061\067\061\070\063\063 -\063\063\132\060\177\061\013\060\011\006\003\125\004\006\023\002 -\102\115\061\031\060\027\006\003\125\004\012\023\020\121\165\157 -\126\141\144\151\163\040\114\151\155\151\164\145\144\061\045\060 -\043\006\003\125\004\013\023\034\122\157\157\164\040\103\145\162 -\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157 -\162\151\164\171\061\056\060\054\006\003\125\004\003\023\045\121 -\165\157\126\141\144\151\163\040\122\157\157\164\040\103\145\162 -\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157 -\162\151\164\171\060\202\001\042\060\015\006\011\052\206\110\206 -\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012 -\002\202\001\001\000\277\141\265\225\123\272\127\374\372\362\147 -\013\072\032\337\021\200\144\225\264\321\274\315\172\317\366\051 -\226\056\044\124\100\044\070\367\032\205\334\130\114\313\244\047 -\102\227\320\237\203\212\303\344\006\003\133\000\245\121\036\160 -\004\164\342\301\324\072\253\327\255\073\007\030\005\216\375\203 -\254\352\146\331\030\033\150\212\365\127\032\230\272\365\355\166 -\075\174\331\336\224\152\073\113\027\301\325\217\275\145\070\072 -\225\320\075\125\066\116\337\171\127\061\052\036\330\131\145\111 -\130\040\230\176\253\137\176\237\351\326\115\354\203\164\251\307 -\154\330\356\051\112\205\052\006\024\371\124\346\323\332\145\007 -\213\143\067\022\327\320\354\303\173\040\101\104\243\355\313\240 -\027\341\161\145\316\035\146\061\367\166\001\031\310\175\003\130 -\266\225\111\035\246\022\046\350\306\014\166\340\343\146\313\352 -\135\246\046\356\345\314\137\275\147\247\001\047\016\242\312\124 -\305\261\172\225\035\161\036\112\051\212\003\334\152\105\301\244 -\031\136\157\066\315\303\242\260\267\376\134\070\342\122\274\370 -\104\103\346\220\273\002\003\001\000\001\243\202\002\122\060\202 -\002\116\060\075\006\010\053\006\001\005\005\007\001\001\004\061 -\060\057\060\055\006\010\053\006\001\005\005\007\060\001\206\041 -\150\164\164\160\163\072\057\057\157\143\163\160\056\161\165\157 -\166\141\144\151\163\157\146\146\163\150\157\162\145\056\143\157 -\155\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001 -\001\377\060\202\001\032\006\003\125\035\040\004\202\001\021\060 -\202\001\015\060\202\001\011\006\011\053\006\001\004\001\276\130 -\000\001\060\201\373\060\201\324\006\010\053\006\001\005\005\007 -\002\002\060\201\307\032\201\304\122\145\154\151\141\156\143\145 -\040\157\156\040\164\150\145\040\121\165\157\126\141\144\151\163 -\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164 -\145\040\142\171\040\141\156\171\040\160\141\162\164\171\040\141 -\163\163\165\155\145\163\040\141\143\143\145\160\164\141\156\143 -\145\040\157\146\040\164\150\145\040\164\150\145\156\040\141\160 -\160\154\151\143\141\142\154\145\040\163\164\141\156\144\141\162 -\144\040\164\145\162\155\163\040\141\156\144\040\143\157\156\144 -\151\164\151\157\156\163\040\157\146\040\165\163\145\054\040\143 -\145\162\164\151\146\151\143\141\164\151\157\156\040\160\162\141 -\143\164\151\143\145\163\054\040\141\156\144\040\164\150\145\040 -\121\165\157\126\141\144\151\163\040\103\145\162\164\151\146\151 -\143\141\164\145\040\120\157\154\151\143\171\056\060\042\006\010 -\053\006\001\005\005\007\002\001\026\026\150\164\164\160\072\057 -\057\167\167\167\056\161\165\157\166\141\144\151\163\056\142\155 -\060\035\006\003\125\035\016\004\026\004\024\213\113\155\355\323 -\051\271\006\031\354\071\071\251\360\227\204\152\313\357\337\060 -\201\256\006\003\125\035\043\004\201\246\060\201\243\200\024\213 -\113\155\355\323\051\271\006\031\354\071\071\251\360\227\204\152 -\313\357\337\241\201\204\244\201\201\060\177\061\013\060\011\006 -\003\125\004\006\023\002\102\115\061\031\060\027\006\003\125\004 -\012\023\020\121\165\157\126\141\144\151\163\040\114\151\155\151 -\164\145\144\061\045\060\043\006\003\125\004\013\023\034\122\157 -\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156 -\040\101\165\164\150\157\162\151\164\171\061\056\060\054\006\003 -\125\004\003\023\045\121\165\157\126\141\144\151\163\040\122\157 -\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156 -\040\101\165\164\150\157\162\151\164\171\202\004\072\266\120\213 -\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006 -\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003 -\202\001\001\000\212\324\024\265\376\364\232\222\247\031\324\244 -\176\162\030\217\331\150\174\122\044\335\147\157\071\172\304\252 -\136\075\342\130\260\115\160\230\204\141\350\033\343\151\030\016 -\316\373\107\120\240\116\377\360\044\037\275\262\316\365\047\374 -\354\057\123\252\163\173\003\075\164\156\346\026\236\353\245\056 -\304\277\126\047\120\053\142\272\276\113\034\074\125\134\101\035 -\044\276\202\040\107\135\325\104\176\172\026\150\337\175\115\121 -\160\170\127\035\063\036\375\002\231\234\014\315\012\005\117\307 -\273\216\244\165\372\112\155\261\200\216\011\126\271\234\032\140 -\376\135\301\327\172\334\021\170\320\326\135\301\267\325\255\062 -\231\003\072\212\314\124\045\071\061\201\173\023\042\121\272\106 -\154\241\273\236\372\004\154\111\046\164\217\322\163\353\314\060 -\242\346\352\131\042\207\370\227\365\016\375\352\314\222\244\026 -\304\122\030\352\041\316\261\361\346\204\201\345\272\251\206\050 -\362\103\132\135\022\235\254\036\331\250\345\012\152\247\177\240 -\207\051\317\362\211\115\324\354\305\342\346\172\320\066\043\212 -\112\164\066\371 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "QuoVadis Root CA" -# Issuer: CN=QuoVadis Root Certification Authority,OU=Root Certification Authority,O=QuoVadis Limited,C=BM -# Serial Number: 985026699 (0x3ab6508b) -# Subject: CN=QuoVadis Root Certification Authority,OU=Root Certification Authority,O=QuoVadis Limited,C=BM -# Not Valid Before: Mon Mar 19 18:33:33 2001 -# Not Valid After : Wed Mar 17 18:33:33 2021 -# Fingerprint (MD5): 27:DE:36:FE:72:B7:00:03:00:9D:F4:F0:1E:6C:04:24 -# Fingerprint (SHA1): DE:3F:40:BD:50:93:D3:9B:6C:60:F6:DA:BC:07:62:01:00:89:76:C9 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "QuoVadis Root CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\336\077\100\275\120\223\323\233\154\140\366\332\274\007\142\001 -\000\211\166\311 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\047\336\066\376\162\267\000\003\000\235\364\360\036\154\004\044 -END -CKA_ISSUER MULTILINE_OCTAL -\060\177\061\013\060\011\006\003\125\004\006\023\002\102\115\061 -\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 -\151\163\040\114\151\155\151\164\145\144\061\045\060\043\006\003 -\125\004\013\023\034\122\157\157\164\040\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171\061\056\060\054\006\003\125\004\003\023\045\121\165\157\126 -\141\144\151\163\040\122\157\157\164\040\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\004\072\266\120\213 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "QuoVadis Root CA 2" -# -# Issuer: CN=QuoVadis Root CA 2,O=QuoVadis Limited,C=BM -# Serial Number: 1289 (0x509) -# Subject: CN=QuoVadis Root CA 2,O=QuoVadis Limited,C=BM -# Not Valid Before: Fri Nov 24 18:27:00 2006 -# Not Valid After : Mon Nov 24 18:23:33 2031 -# Fingerprint (MD5): 5E:39:7B:DD:F8:BA:EC:82:E9:AC:62:BA:0C:54:00:2B -# Fingerprint (SHA1): CA:3A:FB:CF:12:40:36:4B:44:B2:16:20:88:80:48:39:19:93:7C:F7 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "QuoVadis Root CA 2" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\105\061\013\060\011\006\003\125\004\006\023\002\102\115\061 -\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 -\151\163\040\114\151\155\151\164\145\144\061\033\060\031\006\003 -\125\004\003\023\022\121\165\157\126\141\144\151\163\040\122\157 -\157\164\040\103\101\040\062 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\105\061\013\060\011\006\003\125\004\006\023\002\102\115\061 -\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 -\151\163\040\114\151\155\151\164\145\144\061\033\060\031\006\003 -\125\004\003\023\022\121\165\157\126\141\144\151\163\040\122\157 -\157\164\040\103\101\040\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\002\005\011 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\267\060\202\003\237\240\003\002\001\002\002\002\005 -\011\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000 -\060\105\061\013\060\011\006\003\125\004\006\023\002\102\115\061 -\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 -\151\163\040\114\151\155\151\164\145\144\061\033\060\031\006\003 -\125\004\003\023\022\121\165\157\126\141\144\151\163\040\122\157 -\157\164\040\103\101\040\062\060\036\027\015\060\066\061\061\062 -\064\061\070\062\067\060\060\132\027\015\063\061\061\061\062\064 -\061\070\062\063\063\063\132\060\105\061\013\060\011\006\003\125 -\004\006\023\002\102\115\061\031\060\027\006\003\125\004\012\023 -\020\121\165\157\126\141\144\151\163\040\114\151\155\151\164\145 -\144\061\033\060\031\006\003\125\004\003\023\022\121\165\157\126 -\141\144\151\163\040\122\157\157\164\040\103\101\040\062\060\202 -\002\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005 -\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000\232 -\030\312\113\224\015\000\055\257\003\051\212\360\017\201\310\256 -\114\031\205\035\010\237\253\051\104\205\363\057\201\255\062\036 -\220\106\277\243\206\046\032\036\376\176\034\030\072\134\234\140 -\027\052\072\164\203\063\060\175\141\124\021\313\355\253\340\346 -\322\242\176\365\153\157\030\267\012\013\055\375\351\076\357\012 -\306\263\020\351\334\302\106\027\370\135\375\244\332\377\236\111 -\132\234\346\063\346\044\226\367\077\272\133\053\034\172\065\302 -\326\147\376\253\146\120\213\155\050\140\053\357\327\140\303\307 -\223\274\215\066\221\363\177\370\333\021\023\304\234\167\166\301 -\256\267\002\152\201\172\251\105\203\342\005\346\271\126\301\224 -\067\217\110\161\143\042\354\027\145\007\225\212\113\337\217\306 -\132\012\345\260\343\137\136\153\021\253\014\371\205\353\104\351 -\370\004\163\362\351\376\134\230\214\365\163\257\153\264\176\315 -\324\134\002\053\114\071\341\262\225\225\055\102\207\327\325\263 -\220\103\267\154\023\361\336\335\366\304\370\211\077\321\165\365 -\222\303\221\325\212\210\320\220\354\334\155\336\211\302\145\161 -\226\213\015\003\375\234\277\133\026\254\222\333\352\376\171\174 -\255\353\257\367\026\313\333\315\045\053\345\037\373\232\237\342 -\121\314\072\123\014\110\346\016\275\311\264\166\006\122\346\021 -\023\205\162\143\003\004\340\004\066\053\040\031\002\350\164\247 -\037\266\311\126\146\360\165\045\334\147\301\016\141\140\210\263 -\076\321\250\374\243\332\035\260\321\261\043\124\337\104\166\155 -\355\101\330\301\262\042\266\123\034\337\065\035\334\241\167\052 -\061\344\055\365\345\345\333\310\340\377\345\200\327\013\143\240 -\377\063\241\017\272\054\025\025\352\227\263\322\242\265\276\362 -\214\226\036\032\217\035\154\244\141\067\271\206\163\063\327\227 -\226\236\043\175\202\244\114\201\342\241\321\272\147\137\225\007 -\243\047\021\356\026\020\173\274\105\112\114\262\004\322\253\357 -\325\375\014\121\316\120\152\010\061\371\221\332\014\217\144\134 -\003\303\072\213\040\077\156\215\147\075\072\326\376\175\133\210 -\311\136\373\314\141\334\213\063\167\323\104\062\065\011\142\004 -\222\026\020\330\236\047\107\373\073\041\343\370\353\035\133\002 -\003\001\000\001\243\201\260\060\201\255\060\017\006\003\125\035 -\023\001\001\377\004\005\060\003\001\001\377\060\013\006\003\125 -\035\017\004\004\003\002\001\006\060\035\006\003\125\035\016\004 -\026\004\024\032\204\142\274\110\114\063\045\004\324\356\320\366 -\003\304\031\106\321\224\153\060\156\006\003\125\035\043\004\147 -\060\145\200\024\032\204\142\274\110\114\063\045\004\324\356\320 -\366\003\304\031\106\321\224\153\241\111\244\107\060\105\061\013 -\060\011\006\003\125\004\006\023\002\102\115\061\031\060\027\006 -\003\125\004\012\023\020\121\165\157\126\141\144\151\163\040\114 -\151\155\151\164\145\144\061\033\060\031\006\003\125\004\003\023 -\022\121\165\157\126\141\144\151\163\040\122\157\157\164\040\103 -\101\040\062\202\002\005\011\060\015\006\011\052\206\110\206\367 -\015\001\001\005\005\000\003\202\002\001\000\076\012\026\115\237 -\006\133\250\256\161\135\057\005\057\147\346\023\105\203\304\066 -\366\363\300\046\014\015\265\107\144\135\370\264\162\311\106\245 -\003\030\047\125\211\170\175\166\352\226\064\200\027\040\334\347 -\203\370\215\374\007\270\332\137\115\056\147\262\204\375\331\104 -\374\167\120\201\346\174\264\311\015\013\162\123\370\166\007\007 -\101\107\226\014\373\340\202\046\223\125\214\376\042\037\140\145 -\174\137\347\046\263\367\062\220\230\120\324\067\161\125\366\222 -\041\170\367\225\171\372\370\055\046\207\146\126\060\167\246\067 -\170\063\122\020\130\256\077\141\216\362\152\261\357\030\176\112 -\131\143\312\215\242\126\325\247\057\274\126\037\317\071\301\342 -\373\012\250\025\054\175\115\172\143\306\154\227\104\074\322\157 -\303\112\027\012\370\220\322\127\242\031\121\245\055\227\101\332 -\007\117\251\120\332\220\215\224\106\341\076\360\224\375\020\000 -\070\365\073\350\100\341\264\156\126\032\040\314\157\130\215\355 -\056\105\217\326\351\223\077\347\261\054\337\072\326\042\214\334 -\204\273\042\157\320\370\344\306\071\351\004\210\074\303\272\353 -\125\172\155\200\231\044\365\154\001\373\370\227\260\224\133\353 -\375\322\157\361\167\150\015\065\144\043\254\270\125\241\003\321 -\115\102\031\334\370\165\131\126\243\371\250\111\171\370\257\016 -\271\021\240\174\267\152\355\064\320\266\046\142\070\032\207\014 -\370\350\375\056\323\220\177\007\221\052\035\326\176\134\205\203 -\231\260\070\010\077\351\136\371\065\007\344\311\142\156\127\177 -\247\120\225\367\272\310\233\346\216\242\001\305\326\146\277\171 -\141\363\074\034\341\271\202\134\135\240\303\351\330\110\275\031 -\242\021\024\031\156\262\206\033\150\076\110\067\032\210\267\135 -\226\136\234\307\357\047\142\010\342\221\031\134\322\361\041\335 -\272\027\102\202\227\161\201\123\061\251\237\366\175\142\277\162 -\341\243\223\035\314\212\046\132\011\070\320\316\327\015\200\026 -\264\170\245\072\207\114\215\212\245\325\106\227\362\054\020\271 -\274\124\042\300\001\120\151\103\236\364\262\357\155\370\354\332 -\361\343\261\357\337\221\217\124\052\013\045\301\046\031\304\122 -\020\005\145\325\202\020\352\302\061\315\056 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "QuoVadis Root CA 2" -# Issuer: CN=QuoVadis Root CA 2,O=QuoVadis Limited,C=BM -# Serial Number: 1289 (0x509) -# Subject: CN=QuoVadis Root CA 2,O=QuoVadis Limited,C=BM -# Not Valid Before: Fri Nov 24 18:27:00 2006 -# Not Valid After : Mon Nov 24 18:23:33 2031 -# Fingerprint (MD5): 5E:39:7B:DD:F8:BA:EC:82:E9:AC:62:BA:0C:54:00:2B -# Fingerprint (SHA1): CA:3A:FB:CF:12:40:36:4B:44:B2:16:20:88:80:48:39:19:93:7C:F7 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "QuoVadis Root CA 2" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\312\072\373\317\022\100\066\113\104\262\026\040\210\200\110\071 -\031\223\174\367 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\136\071\173\335\370\272\354\202\351\254\142\272\014\124\000\053 -END -CKA_ISSUER MULTILINE_OCTAL -\060\105\061\013\060\011\006\003\125\004\006\023\002\102\115\061 -\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 -\151\163\040\114\151\155\151\164\145\144\061\033\060\031\006\003 -\125\004\003\023\022\121\165\157\126\141\144\151\163\040\122\157 -\157\164\040\103\101\040\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\002\005\011 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "QuoVadis Root CA 3" -# -# Issuer: CN=QuoVadis Root CA 3,O=QuoVadis Limited,C=BM -# Serial Number: 1478 (0x5c6) -# Subject: CN=QuoVadis Root CA 3,O=QuoVadis Limited,C=BM -# Not Valid Before: Fri Nov 24 19:11:23 2006 -# Not Valid After : Mon Nov 24 19:06:44 2031 -# Fingerprint (MD5): 31:85:3C:62:94:97:63:B9:AA:FD:89:4E:AF:6F:E0:CF -# Fingerprint (SHA1): 1F:49:14:F7:D8:74:95:1D:DD:AE:02:C0:BE:FD:3A:2D:82:75:51:85 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "QuoVadis Root CA 3" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\105\061\013\060\011\006\003\125\004\006\023\002\102\115\061 -\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 -\151\163\040\114\151\155\151\164\145\144\061\033\060\031\006\003 -\125\004\003\023\022\121\165\157\126\141\144\151\163\040\122\157 -\157\164\040\103\101\040\063 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\105\061\013\060\011\006\003\125\004\006\023\002\102\115\061 -\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 -\151\163\040\114\151\155\151\164\145\144\061\033\060\031\006\003 -\125\004\003\023\022\121\165\157\126\141\144\151\163\040\122\157 -\157\164\040\103\101\040\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\002\005\306 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\006\235\060\202\004\205\240\003\002\001\002\002\002\005 -\306\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000 -\060\105\061\013\060\011\006\003\125\004\006\023\002\102\115\061 -\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 -\151\163\040\114\151\155\151\164\145\144\061\033\060\031\006\003 -\125\004\003\023\022\121\165\157\126\141\144\151\163\040\122\157 -\157\164\040\103\101\040\063\060\036\027\015\060\066\061\061\062 -\064\061\071\061\061\062\063\132\027\015\063\061\061\061\062\064 -\061\071\060\066\064\064\132\060\105\061\013\060\011\006\003\125 -\004\006\023\002\102\115\061\031\060\027\006\003\125\004\012\023 -\020\121\165\157\126\141\144\151\163\040\114\151\155\151\164\145 -\144\061\033\060\031\006\003\125\004\003\023\022\121\165\157\126 -\141\144\151\163\040\122\157\157\164\040\103\101\040\063\060\202 -\002\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005 -\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000\314 -\127\102\026\124\234\346\230\323\323\115\356\376\355\307\237\103 -\071\112\145\263\350\026\210\064\333\015\131\221\164\317\222\270 -\004\100\255\002\113\061\253\274\215\221\150\330\040\016\032\001 -\342\032\173\116\027\135\342\212\267\077\231\032\315\353\141\253 -\302\145\246\037\267\267\275\267\217\374\375\160\217\013\240\147 -\276\001\242\131\317\161\346\017\051\166\377\261\126\171\105\053 -\037\236\172\124\350\243\051\065\150\244\001\117\017\244\056\067 -\357\033\277\343\217\020\250\162\253\130\127\347\124\206\310\311 -\363\133\332\054\332\135\216\156\074\243\076\332\373\202\345\335 -\362\134\262\005\063\157\212\066\316\320\023\116\377\277\112\014 -\064\114\246\303\041\275\120\004\125\353\261\273\235\373\105\036 -\144\025\336\125\001\214\002\166\265\313\241\077\102\151\274\057 -\275\150\103\026\126\211\052\067\141\221\375\246\256\116\300\313 -\024\145\224\067\113\222\006\357\004\320\310\234\210\333\013\173 -\201\257\261\075\052\304\145\072\170\266\356\334\200\261\322\323 -\231\234\072\356\153\132\153\263\215\267\325\316\234\302\276\245 -\113\057\026\261\236\150\073\006\157\256\175\237\370\336\354\314 -\051\247\230\243\045\103\057\357\361\137\046\341\210\115\370\136 -\156\327\331\024\156\031\063\151\247\073\204\211\223\304\123\125 -\023\241\121\170\100\370\270\311\242\356\173\272\122\102\203\236 -\024\355\005\122\132\131\126\247\227\374\235\077\012\051\330\334 -\117\221\016\023\274\336\225\244\337\213\231\276\254\233\063\210 -\357\265\201\257\033\306\042\123\310\366\307\356\227\024\260\305 -\174\170\122\310\360\316\156\167\140\204\246\351\052\166\040\355 -\130\001\027\060\223\351\032\213\340\163\143\331\152\222\224\111 -\116\264\255\112\205\304\243\042\060\374\011\355\150\042\163\246 -\210\014\125\041\130\305\341\072\237\052\335\312\341\220\340\331 -\163\253\154\200\270\350\013\144\223\240\234\214\031\377\263\322 -\014\354\221\046\207\212\263\242\341\160\217\054\012\345\315\155 -\150\121\353\332\077\005\177\213\062\346\023\134\153\376\137\100 -\342\042\310\264\264\144\117\326\272\175\110\076\250\151\014\327 -\273\206\161\311\163\270\077\073\235\045\113\332\377\100\353\002 -\003\001\000\001\243\202\001\225\060\202\001\221\060\017\006\003 -\125\035\023\001\001\377\004\005\060\003\001\001\377\060\201\341 -\006\003\125\035\040\004\201\331\060\201\326\060\201\323\006\011 -\053\006\001\004\001\276\130\000\003\060\201\305\060\201\223\006 -\010\053\006\001\005\005\007\002\002\060\201\206\032\201\203\101 -\156\171\040\165\163\145\040\157\146\040\164\150\151\163\040\103 -\145\162\164\151\146\151\143\141\164\145\040\143\157\156\163\164 -\151\164\165\164\145\163\040\141\143\143\145\160\164\141\156\143 -\145\040\157\146\040\164\150\145\040\121\165\157\126\141\144\151 -\163\040\122\157\157\164\040\103\101\040\063\040\103\145\162\164 -\151\146\151\143\141\164\145\040\120\157\154\151\143\171\040\057 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\120 -\162\141\143\164\151\143\145\040\123\164\141\164\145\155\145\156 -\164\056\060\055\006\010\053\006\001\005\005\007\002\001\026\041 -\150\164\164\160\072\057\057\167\167\167\056\161\165\157\166\141 -\144\151\163\147\154\157\142\141\154\056\143\157\155\057\143\160 -\163\060\013\006\003\125\035\017\004\004\003\002\001\006\060\035 -\006\003\125\035\016\004\026\004\024\362\300\023\340\202\103\076 -\373\356\057\147\062\226\065\134\333\270\313\002\320\060\156\006 -\003\125\035\043\004\147\060\145\200\024\362\300\023\340\202\103 -\076\373\356\057\147\062\226\065\134\333\270\313\002\320\241\111 -\244\107\060\105\061\013\060\011\006\003\125\004\006\023\002\102 -\115\061\031\060\027\006\003\125\004\012\023\020\121\165\157\126 -\141\144\151\163\040\114\151\155\151\164\145\144\061\033\060\031 -\006\003\125\004\003\023\022\121\165\157\126\141\144\151\163\040 -\122\157\157\164\040\103\101\040\063\202\002\005\306\060\015\006 -\011\052\206\110\206\367\015\001\001\005\005\000\003\202\002\001 -\000\117\255\240\054\114\372\300\362\157\367\146\125\253\043\064 -\356\347\051\332\303\133\266\260\203\331\320\320\342\041\373\363 -\140\247\073\135\140\123\047\242\233\366\010\042\052\347\277\240 -\162\345\234\044\152\061\261\220\172\047\333\204\021\211\047\246 -\167\132\070\327\277\254\206\374\356\135\203\274\006\306\321\167 -\153\017\155\044\057\113\172\154\247\007\226\312\343\204\237\255 -\210\213\035\253\026\215\133\146\027\331\026\364\213\200\322\335 -\370\262\166\303\374\070\023\252\014\336\102\151\053\156\363\074 -\353\200\047\333\365\246\104\015\237\132\125\131\013\325\015\122 -\110\305\256\237\362\057\200\305\352\062\120\065\022\227\056\301 -\341\377\361\043\210\121\070\237\362\146\126\166\347\017\121\227 -\245\122\014\115\111\121\225\066\075\277\242\113\014\020\035\206 -\231\114\252\363\162\021\223\344\352\366\233\332\250\135\247\115 -\267\236\002\256\163\000\310\332\043\003\350\371\352\031\164\142 -\000\224\313\042\040\276\224\247\131\265\202\152\276\231\171\172 -\251\362\112\044\122\367\164\375\272\116\346\250\035\002\156\261 -\015\200\104\301\256\323\043\067\137\273\205\174\053\222\056\350 -\176\245\213\335\231\341\277\047\157\055\135\252\173\207\376\012 -\335\113\374\216\365\046\344\156\160\102\156\063\354\061\236\173 -\223\301\344\311\151\032\075\300\153\116\042\155\356\253\130\115 -\306\320\101\301\053\352\117\022\207\136\353\105\330\154\365\230 -\002\323\240\330\125\212\006\231\031\242\240\167\321\060\236\254 -\314\165\356\203\365\260\142\071\317\154\127\342\114\322\221\013 -\016\165\050\033\232\277\375\032\103\361\312\167\373\073\217\141 -\270\151\050\026\102\004\136\160\052\034\041\330\217\341\275\043 -\133\055\164\100\222\331\143\031\015\163\335\151\274\142\107\274 -\340\164\053\262\353\175\276\101\033\265\300\106\305\241\042\313 -\137\116\301\050\222\336\030\272\325\052\050\273\021\213\027\223 -\230\231\140\224\134\043\317\132\047\227\136\013\005\006\223\067 -\036\073\151\066\353\251\236\141\035\217\062\332\216\014\326\164 -\076\173\011\044\332\001\167\107\304\073\315\064\214\231\365\312 -\341\045\141\063\262\131\033\342\156\327\067\127\266\015\251\022 -\332 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "QuoVadis Root CA 3" -# Issuer: CN=QuoVadis Root CA 3,O=QuoVadis Limited,C=BM -# Serial Number: 1478 (0x5c6) -# Subject: CN=QuoVadis Root CA 3,O=QuoVadis Limited,C=BM -# Not Valid Before: Fri Nov 24 19:11:23 2006 -# Not Valid After : Mon Nov 24 19:06:44 2031 -# Fingerprint (MD5): 31:85:3C:62:94:97:63:B9:AA:FD:89:4E:AF:6F:E0:CF -# Fingerprint (SHA1): 1F:49:14:F7:D8:74:95:1D:DD:AE:02:C0:BE:FD:3A:2D:82:75:51:85 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "QuoVadis Root CA 3" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\037\111\024\367\330\164\225\035\335\256\002\300\276\375\072\055 -\202\165\121\205 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\061\205\074\142\224\227\143\271\252\375\211\116\257\157\340\317 -END -CKA_ISSUER MULTILINE_OCTAL -\060\105\061\013\060\011\006\003\125\004\006\023\002\102\115\061 -\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 -\151\163\040\114\151\155\151\164\145\144\061\033\060\031\006\003 -\125\004\003\023\022\121\165\157\126\141\144\151\163\040\122\157 -\157\164\040\103\101\040\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\002\005\306 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Security Communication Root CA" -# -# Issuer: OU=Security Communication RootCA1,O=SECOM Trust.net,C=JP -# Serial Number: 0 (0x0) -# Subject: OU=Security Communication RootCA1,O=SECOM Trust.net,C=JP -# Not Valid Before: Tue Sep 30 04:20:49 2003 -# Not Valid After : Sat Sep 30 04:20:49 2023 -# Fingerprint (MD5): F1:BC:63:6A:54:E0:B5:27:F5:CD:E7:1A:E3:4D:6E:4A -# Fingerprint (SHA1): 36:B1:2B:49:F9:81:9E:D7:4C:9E:BC:38:0F:C6:56:8F:5D:AC:B2:F7 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Security Communication Root CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\120\061\013\060\011\006\003\125\004\006\023\002\112\120\061 -\030\060\026\006\003\125\004\012\023\017\123\105\103\117\115\040 -\124\162\165\163\164\056\156\145\164\061\047\060\045\006\003\125 -\004\013\023\036\123\145\143\165\162\151\164\171\040\103\157\155 -\155\165\156\151\143\141\164\151\157\156\040\122\157\157\164\103 -\101\061 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\120\061\013\060\011\006\003\125\004\006\023\002\112\120\061 -\030\060\026\006\003\125\004\012\023\017\123\105\103\117\115\040 -\124\162\165\163\164\056\156\145\164\061\047\060\045\006\003\125 -\004\013\023\036\123\145\143\165\162\151\164\171\040\103\157\155 -\155\165\156\151\143\141\164\151\157\156\040\122\157\157\164\103 -\101\061 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\000 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\132\060\202\002\102\240\003\002\001\002\002\001\000 -\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 -\120\061\013\060\011\006\003\125\004\006\023\002\112\120\061\030 -\060\026\006\003\125\004\012\023\017\123\105\103\117\115\040\124 -\162\165\163\164\056\156\145\164\061\047\060\045\006\003\125\004 -\013\023\036\123\145\143\165\162\151\164\171\040\103\157\155\155 -\165\156\151\143\141\164\151\157\156\040\122\157\157\164\103\101 -\061\060\036\027\015\060\063\060\071\063\060\060\064\062\060\064 -\071\132\027\015\062\063\060\071\063\060\060\064\062\060\064\071 -\132\060\120\061\013\060\011\006\003\125\004\006\023\002\112\120 -\061\030\060\026\006\003\125\004\012\023\017\123\105\103\117\115 -\040\124\162\165\163\164\056\156\145\164\061\047\060\045\006\003 -\125\004\013\023\036\123\145\143\165\162\151\164\171\040\103\157 -\155\155\165\156\151\143\141\164\151\157\156\040\122\157\157\164 -\103\101\061\060\202\001\042\060\015\006\011\052\206\110\206\367 -\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002 -\202\001\001\000\263\263\376\177\323\155\261\357\026\174\127\245 -\014\155\166\212\057\113\277\144\373\114\356\212\360\363\051\174 -\365\377\356\052\340\351\351\272\133\144\042\232\232\157\054\072 -\046\151\121\005\231\046\334\325\034\152\161\306\232\175\036\235 -\335\174\154\306\214\147\147\112\076\370\161\260\031\047\251\011 -\014\246\225\277\113\214\014\372\125\230\073\330\350\042\241\113 -\161\070\171\254\227\222\151\263\211\176\352\041\150\006\230\024 -\226\207\322\141\066\274\155\047\126\236\127\356\300\300\126\375 -\062\317\244\331\216\302\043\327\215\250\363\330\045\254\227\344 -\160\070\364\266\072\264\235\073\227\046\103\243\241\274\111\131 -\162\114\043\060\207\001\130\366\116\276\034\150\126\146\257\315 -\101\135\310\263\115\052\125\106\253\037\332\036\342\100\075\333 -\315\175\271\222\200\234\067\335\014\226\144\235\334\042\367\144 -\213\337\141\336\025\224\122\025\240\175\122\311\113\250\041\311 -\306\261\355\313\303\225\140\321\017\360\253\160\370\337\313\115 -\176\354\326\372\253\331\275\177\124\362\245\351\171\372\331\326 -\166\044\050\163\002\003\001\000\001\243\077\060\075\060\035\006 -\003\125\035\016\004\026\004\024\240\163\111\231\150\334\205\133 -\145\343\233\050\057\127\237\275\063\274\007\110\060\013\006\003 -\125\035\017\004\004\003\002\001\006\060\017\006\003\125\035\023 -\001\001\377\004\005\060\003\001\001\377\060\015\006\011\052\206 -\110\206\367\015\001\001\005\005\000\003\202\001\001\000\150\100 -\251\250\273\344\117\135\171\263\005\265\027\263\140\023\353\306 -\222\135\340\321\323\152\376\373\276\233\155\277\307\005\155\131 -\040\304\034\360\267\332\204\130\002\143\372\110\026\357\117\245 -\013\367\112\230\362\077\236\033\255\107\153\143\316\010\107\353 -\122\077\170\234\257\115\256\370\325\117\317\232\230\052\020\101 -\071\122\304\335\331\233\016\357\223\001\256\262\056\312\150\102 -\044\102\154\260\263\072\076\315\351\332\110\304\025\313\351\371 -\007\017\222\120\111\212\335\061\227\137\311\351\067\252\073\131 -\145\227\224\062\311\263\237\076\072\142\130\305\111\255\142\016 -\161\245\062\252\057\306\211\166\103\100\023\023\147\075\242\124 -\045\020\313\361\072\362\331\372\333\111\126\273\246\376\247\101 -\065\303\340\210\141\311\210\307\337\066\020\042\230\131\352\260 -\112\373\126\026\163\156\254\115\367\042\241\117\255\035\172\055 -\105\047\345\060\301\136\362\332\023\313\045\102\121\225\107\003 -\214\154\041\314\164\102\355\123\377\063\213\217\017\127\001\026 -\057\317\246\356\311\160\042\024\275\375\276\154\013\003 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "Security Communication Root CA" -# Issuer: OU=Security Communication RootCA1,O=SECOM Trust.net,C=JP -# Serial Number: 0 (0x0) -# Subject: OU=Security Communication RootCA1,O=SECOM Trust.net,C=JP -# Not Valid Before: Tue Sep 30 04:20:49 2003 -# Not Valid After : Sat Sep 30 04:20:49 2023 -# Fingerprint (MD5): F1:BC:63:6A:54:E0:B5:27:F5:CD:E7:1A:E3:4D:6E:4A -# Fingerprint (SHA1): 36:B1:2B:49:F9:81:9E:D7:4C:9E:BC:38:0F:C6:56:8F:5D:AC:B2:F7 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Security Communication Root CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\066\261\053\111\371\201\236\327\114\236\274\070\017\306\126\217 -\135\254\262\367 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\361\274\143\152\124\340\265\047\365\315\347\032\343\115\156\112 -END -CKA_ISSUER MULTILINE_OCTAL -\060\120\061\013\060\011\006\003\125\004\006\023\002\112\120\061 -\030\060\026\006\003\125\004\012\023\017\123\105\103\117\115\040 -\124\162\165\163\164\056\156\145\164\061\047\060\045\006\003\125 -\004\013\023\036\123\145\143\165\162\151\164\171\040\103\157\155 -\155\165\156\151\143\141\164\151\157\156\040\122\157\157\164\103 -\101\061 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\000 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Sonera Class 2 Root CA" -# -# Issuer: CN=Sonera Class2 CA,O=Sonera,C=FI -# Serial Number: 29 (0x1d) -# Subject: CN=Sonera Class2 CA,O=Sonera,C=FI -# Not Valid Before: Fri Apr 06 07:29:40 2001 -# Not Valid After : Tue Apr 06 07:29:40 2021 -# Fingerprint (MD5): A3:EC:75:0F:2E:88:DF:FA:48:01:4E:0B:5C:48:6F:FB -# Fingerprint (SHA1): 37:F7:6D:E6:07:7C:90:C5:B1:3E:93:1A:B7:41:10:B4:F2:E4:9A:27 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Sonera Class 2 Root CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\071\061\013\060\011\006\003\125\004\006\023\002\106\111\061 -\017\060\015\006\003\125\004\012\023\006\123\157\156\145\162\141 -\061\031\060\027\006\003\125\004\003\023\020\123\157\156\145\162 -\141\040\103\154\141\163\163\062\040\103\101 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\071\061\013\060\011\006\003\125\004\006\023\002\106\111\061 -\017\060\015\006\003\125\004\012\023\006\123\157\156\145\162\141 -\061\031\060\027\006\003\125\004\003\023\020\123\157\156\145\162 -\141\040\103\154\141\163\163\062\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\035 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\040\060\202\002\010\240\003\002\001\002\002\001\035 -\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 -\071\061\013\060\011\006\003\125\004\006\023\002\106\111\061\017 -\060\015\006\003\125\004\012\023\006\123\157\156\145\162\141\061 -\031\060\027\006\003\125\004\003\023\020\123\157\156\145\162\141 -\040\103\154\141\163\163\062\040\103\101\060\036\027\015\060\061 -\060\064\060\066\060\067\062\071\064\060\132\027\015\062\061\060 -\064\060\066\060\067\062\071\064\060\132\060\071\061\013\060\011 -\006\003\125\004\006\023\002\106\111\061\017\060\015\006\003\125 -\004\012\023\006\123\157\156\145\162\141\061\031\060\027\006\003 -\125\004\003\023\020\123\157\156\145\162\141\040\103\154\141\163 -\163\062\040\103\101\060\202\001\042\060\015\006\011\052\206\110 -\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001 -\012\002\202\001\001\000\220\027\112\065\235\312\360\015\226\307 -\104\372\026\067\374\110\275\275\177\200\055\065\073\341\157\250 -\147\251\277\003\034\115\214\157\062\107\325\101\150\244\023\004 -\301\065\014\232\204\103\374\134\035\377\211\263\350\027\030\315 -\221\137\373\211\343\352\277\116\135\174\033\046\323\165\171\355 -\346\204\343\127\345\255\051\304\364\072\050\347\245\173\204\066 -\151\263\375\136\166\275\243\055\231\323\220\116\043\050\175\030 -\143\361\124\073\046\235\166\133\227\102\262\377\256\360\116\354 -\335\071\225\116\203\006\177\347\111\100\310\305\001\262\124\132 -\146\035\075\374\371\351\074\012\236\201\270\160\360\001\213\344 -\043\124\174\310\256\370\220\036\000\226\162\324\124\317\141\043 -\274\352\373\235\002\225\321\266\271\161\072\151\010\077\017\264 -\341\102\307\210\365\077\230\250\247\272\034\340\161\161\357\130 -\127\201\120\172\134\153\164\106\016\203\003\230\303\216\250\156 -\362\166\062\156\047\203\302\163\363\334\030\350\264\223\352\165 -\104\153\004\140\040\161\127\207\235\363\276\240\220\043\075\212 -\044\341\332\041\333\303\002\003\001\000\001\243\063\060\061\060 -\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377 -\060\021\006\003\125\035\016\004\012\004\010\112\240\252\130\204 -\323\136\074\060\013\006\003\125\035\017\004\004\003\002\001\006 -\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003 -\202\001\001\000\132\316\207\371\026\162\025\127\113\035\331\233 -\347\242\046\060\354\223\147\337\326\055\322\064\257\367\070\245 -\316\253\026\271\253\057\174\065\313\254\320\017\264\114\053\374 -\200\357\153\214\221\137\066\166\367\333\263\033\031\352\364\262 -\021\375\141\161\104\277\050\263\072\035\277\263\103\350\237\277 -\334\061\010\161\260\235\215\326\064\107\062\220\306\145\044\367 -\240\112\174\004\163\217\071\157\027\214\162\265\275\113\310\172 -\370\173\203\303\050\116\234\011\352\147\077\262\147\004\033\303 -\024\332\370\347\111\044\221\320\035\152\372\141\071\357\153\347 -\041\165\006\007\330\022\264\041\040\160\102\161\201\332\074\232 -\066\276\246\133\015\152\154\232\037\221\173\371\371\357\102\272 -\116\116\236\314\014\215\224\334\331\105\234\136\354\102\120\143 -\256\364\135\304\261\022\334\312\073\250\056\235\024\132\005\165 -\267\354\327\143\342\272\065\266\004\010\221\350\332\235\234\366 -\146\265\030\254\012\246\124\046\064\063\322\033\301\324\177\032 -\072\216\013\252\062\156\333\374\117\045\237\331\062\307\226\132 -\160\254\337\114 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "Sonera Class 2 Root CA" -# Issuer: CN=Sonera Class2 CA,O=Sonera,C=FI -# Serial Number: 29 (0x1d) -# Subject: CN=Sonera Class2 CA,O=Sonera,C=FI -# Not Valid Before: Fri Apr 06 07:29:40 2001 -# Not Valid After : Tue Apr 06 07:29:40 2021 -# Fingerprint (MD5): A3:EC:75:0F:2E:88:DF:FA:48:01:4E:0B:5C:48:6F:FB -# Fingerprint (SHA1): 37:F7:6D:E6:07:7C:90:C5:B1:3E:93:1A:B7:41:10:B4:F2:E4:9A:27 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Sonera Class 2 Root CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\067\367\155\346\007\174\220\305\261\076\223\032\267\101\020\264 -\362\344\232\047 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\243\354\165\017\056\210\337\372\110\001\116\013\134\110\157\373 -END -CKA_ISSUER MULTILINE_OCTAL -\060\071\061\013\060\011\006\003\125\004\006\023\002\106\111\061 -\017\060\015\006\003\125\004\012\023\006\123\157\156\145\162\141 -\061\031\060\027\006\003\125\004\003\023\020\123\157\156\145\162 -\141\040\103\154\141\163\163\062\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\035 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Camerfirma Chambers of Commerce Root" -# -# Issuer: CN=Chambers of Commerce Root,OU=http://www.chambersign.org,O=AC Camerfirma SA CIF A82743287,C=EU -# Serial Number: 0 (0x0) -# Subject: CN=Chambers of Commerce Root,OU=http://www.chambersign.org,O=AC Camerfirma SA CIF A82743287,C=EU -# Not Valid Before: Tue Sep 30 16:13:43 2003 -# Not Valid After : Wed Sep 30 16:13:44 2037 -# Fingerprint (MD5): B0:01:EE:14:D9:AF:29:18:94:76:8E:F1:69:33:2A:84 -# Fingerprint (SHA1): 6E:3A:55:A4:19:0C:19:5C:93:84:3C:C0:DB:72:2E:31:30:61:F0:B1 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Camerfirma Chambers of Commerce Root" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\177\061\013\060\011\006\003\125\004\006\023\002\105\125\061 -\047\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155 -\145\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101 -\070\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004 -\013\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150 -\141\155\142\145\162\163\151\147\156\056\157\162\147\061\042\060 -\040\006\003\125\004\003\023\031\103\150\141\155\142\145\162\163 -\040\157\146\040\103\157\155\155\145\162\143\145\040\122\157\157 -\164 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\177\061\013\060\011\006\003\125\004\006\023\002\105\125\061 -\047\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155 -\145\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101 -\070\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004 -\013\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150 -\141\155\142\145\162\163\151\147\156\056\157\162\147\061\042\060 -\040\006\003\125\004\003\023\031\103\150\141\155\142\145\162\163 -\040\157\146\040\103\157\155\155\145\162\143\145\040\122\157\157 -\164 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\000 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\275\060\202\003\245\240\003\002\001\002\002\001\000 -\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 -\177\061\013\060\011\006\003\125\004\006\023\002\105\125\061\047 -\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155\145 -\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101\070 -\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004\013 -\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150\141 -\155\142\145\162\163\151\147\156\056\157\162\147\061\042\060\040 -\006\003\125\004\003\023\031\103\150\141\155\142\145\162\163\040 -\157\146\040\103\157\155\155\145\162\143\145\040\122\157\157\164 -\060\036\027\015\060\063\060\071\063\060\061\066\061\063\064\063 -\132\027\015\063\067\060\071\063\060\061\066\061\063\064\064\132 -\060\177\061\013\060\011\006\003\125\004\006\023\002\105\125\061 -\047\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155 -\145\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101 -\070\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004 -\013\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150 -\141\155\142\145\162\163\151\147\156\056\157\162\147\061\042\060 -\040\006\003\125\004\003\023\031\103\150\141\155\142\145\162\163 -\040\157\146\040\103\157\155\155\145\162\143\145\040\122\157\157 -\164\060\202\001\040\060\015\006\011\052\206\110\206\367\015\001 -\001\001\005\000\003\202\001\015\000\060\202\001\010\002\202\001 -\001\000\267\066\125\345\245\135\030\060\340\332\211\124\221\374 -\310\307\122\370\057\120\331\357\261\165\163\145\107\175\033\133 -\272\165\305\374\241\210\044\372\057\355\312\010\112\071\124\304 -\121\172\265\332\140\352\070\074\201\262\313\361\273\331\221\043 -\077\110\001\160\165\251\005\052\255\037\161\363\311\124\075\035 -\006\152\100\076\263\014\205\356\134\033\171\302\142\304\270\066 -\216\065\135\001\014\043\004\107\065\252\233\140\116\240\146\075 -\313\046\012\234\100\241\364\135\230\277\161\253\245\000\150\052 -\355\203\172\017\242\024\265\324\042\263\200\260\074\014\132\121 -\151\055\130\030\217\355\231\236\361\256\342\225\346\366\107\250 -\326\014\017\260\130\130\333\303\146\067\236\233\221\124\063\067 -\322\224\034\152\110\311\311\362\245\332\245\014\043\367\043\016 -\234\062\125\136\161\234\204\005\121\232\055\375\346\116\052\064 -\132\336\312\100\067\147\014\124\041\125\167\332\012\014\314\227 -\256\200\334\224\066\112\364\076\316\066\023\036\123\344\254\116 -\072\005\354\333\256\162\234\070\213\320\071\073\211\012\076\167 -\376\165\002\001\003\243\202\001\104\060\202\001\100\060\022\006 -\003\125\035\023\001\001\377\004\010\060\006\001\001\377\002\001 -\014\060\074\006\003\125\035\037\004\065\060\063\060\061\240\057 -\240\055\206\053\150\164\164\160\072\057\057\143\162\154\056\143 -\150\141\155\142\145\162\163\151\147\156\056\157\162\147\057\143 -\150\141\155\142\145\162\163\162\157\157\164\056\143\162\154\060 -\035\006\003\125\035\016\004\026\004\024\343\224\365\261\115\351 -\333\241\051\133\127\213\115\166\006\166\341\321\242\212\060\016 -\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060\021 -\006\011\140\206\110\001\206\370\102\001\001\004\004\003\002\000 -\007\060\047\006\003\125\035\021\004\040\060\036\201\034\143\150 -\141\155\142\145\162\163\162\157\157\164\100\143\150\141\155\142 -\145\162\163\151\147\156\056\157\162\147\060\047\006\003\125\035 -\022\004\040\060\036\201\034\143\150\141\155\142\145\162\163\162 -\157\157\164\100\143\150\141\155\142\145\162\163\151\147\156\056 -\157\162\147\060\130\006\003\125\035\040\004\121\060\117\060\115 -\006\013\053\006\001\004\001\201\207\056\012\003\001\060\076\060 -\074\006\010\053\006\001\005\005\007\002\001\026\060\150\164\164 -\160\072\057\057\143\160\163\056\143\150\141\155\142\145\162\163 -\151\147\156\056\157\162\147\057\143\160\163\057\143\150\141\155 -\142\145\162\163\162\157\157\164\056\150\164\155\154\060\015\006 -\011\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001 -\000\014\101\227\302\032\206\300\042\174\237\373\220\363\032\321 -\003\261\357\023\371\041\137\004\234\332\311\245\215\047\154\226 -\207\221\276\101\220\001\162\223\347\036\175\137\366\211\306\135 -\247\100\011\075\254\111\105\105\334\056\215\060\150\262\011\272 -\373\303\057\314\272\013\337\077\167\173\106\175\072\022\044\216 -\226\217\074\005\012\157\322\224\050\035\155\014\300\056\210\042 -\325\330\317\035\023\307\360\110\327\327\005\247\317\307\107\236 -\073\074\064\310\200\117\324\024\273\374\015\120\367\372\263\354 -\102\137\251\335\155\310\364\165\317\173\301\162\046\261\001\034 -\134\054\375\172\116\264\001\305\005\127\271\347\074\252\005\331 -\210\351\007\106\101\316\357\101\201\256\130\337\203\242\256\312 -\327\167\037\347\000\074\235\157\216\344\062\011\035\115\170\064 -\170\064\074\224\233\046\355\117\161\306\031\172\275\040\042\110 -\132\376\113\175\003\267\347\130\276\306\062\116\164\036\150\335 -\250\150\133\263\076\356\142\175\331\200\350\012\165\172\267\356 -\264\145\232\041\220\340\252\320\230\274\070\265\163\074\213\370 -\334 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "Camerfirma Chambers of Commerce Root" -# Issuer: CN=Chambers of Commerce Root,OU=http://www.chambersign.org,O=AC Camerfirma SA CIF A82743287,C=EU -# Serial Number: 0 (0x0) -# Subject: CN=Chambers of Commerce Root,OU=http://www.chambersign.org,O=AC Camerfirma SA CIF A82743287,C=EU -# Not Valid Before: Tue Sep 30 16:13:43 2003 -# Not Valid After : Wed Sep 30 16:13:44 2037 -# Fingerprint (MD5): B0:01:EE:14:D9:AF:29:18:94:76:8E:F1:69:33:2A:84 -# Fingerprint (SHA1): 6E:3A:55:A4:19:0C:19:5C:93:84:3C:C0:DB:72:2E:31:30:61:F0:B1 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Camerfirma Chambers of Commerce Root" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\156\072\125\244\031\014\031\134\223\204\074\300\333\162\056\061 -\060\141\360\261 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\260\001\356\024\331\257\051\030\224\166\216\361\151\063\052\204 -END -CKA_ISSUER MULTILINE_OCTAL -\060\177\061\013\060\011\006\003\125\004\006\023\002\105\125\061 -\047\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155 -\145\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101 -\070\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004 -\013\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150 -\141\155\142\145\162\163\151\147\156\056\157\162\147\061\042\060 -\040\006\003\125\004\003\023\031\103\150\141\155\142\145\162\163 -\040\157\146\040\103\157\155\155\145\162\143\145\040\122\157\157 -\164 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\000 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Camerfirma Global Chambersign Root" -# -# Issuer: CN=Global Chambersign Root,OU=http://www.chambersign.org,O=AC Camerfirma SA CIF A82743287,C=EU -# Serial Number: 0 (0x0) -# Subject: CN=Global Chambersign Root,OU=http://www.chambersign.org,O=AC Camerfirma SA CIF A82743287,C=EU -# Not Valid Before: Tue Sep 30 16:14:18 2003 -# Not Valid After : Wed Sep 30 16:14:18 2037 -# Fingerprint (MD5): C5:E6:7B:BF:06:D0:4F:43:ED:C4:7A:65:8A:FB:6B:19 -# Fingerprint (SHA1): 33:9B:6B:14:50:24:9B:55:7A:01:87:72:84:D9:E0:2F:C3:D2:D8:E9 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Camerfirma Global Chambersign Root" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\175\061\013\060\011\006\003\125\004\006\023\002\105\125\061 -\047\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155 -\145\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101 -\070\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004 -\013\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150 -\141\155\142\145\162\163\151\147\156\056\157\162\147\061\040\060 -\036\006\003\125\004\003\023\027\107\154\157\142\141\154\040\103 -\150\141\155\142\145\162\163\151\147\156\040\122\157\157\164 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\175\061\013\060\011\006\003\125\004\006\023\002\105\125\061 -\047\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155 -\145\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101 -\070\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004 -\013\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150 -\141\155\142\145\162\163\151\147\156\056\157\162\147\061\040\060 -\036\006\003\125\004\003\023\027\107\154\157\142\141\154\040\103 -\150\141\155\142\145\162\163\151\147\156\040\122\157\157\164 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\000 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\305\060\202\003\255\240\003\002\001\002\002\001\000 -\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 -\175\061\013\060\011\006\003\125\004\006\023\002\105\125\061\047 -\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155\145 -\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101\070 -\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004\013 -\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150\141 -\155\142\145\162\163\151\147\156\056\157\162\147\061\040\060\036 -\006\003\125\004\003\023\027\107\154\157\142\141\154\040\103\150 -\141\155\142\145\162\163\151\147\156\040\122\157\157\164\060\036 -\027\015\060\063\060\071\063\060\061\066\061\064\061\070\132\027 -\015\063\067\060\071\063\060\061\066\061\064\061\070\132\060\175 -\061\013\060\011\006\003\125\004\006\023\002\105\125\061\047\060 -\045\006\003\125\004\012\023\036\101\103\040\103\141\155\145\162 -\146\151\162\155\141\040\123\101\040\103\111\106\040\101\070\062 -\067\064\063\062\070\067\061\043\060\041\006\003\125\004\013\023 -\032\150\164\164\160\072\057\057\167\167\167\056\143\150\141\155 -\142\145\162\163\151\147\156\056\157\162\147\061\040\060\036\006 -\003\125\004\003\023\027\107\154\157\142\141\154\040\103\150\141 -\155\142\145\162\163\151\147\156\040\122\157\157\164\060\202\001 -\040\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000 -\003\202\001\015\000\060\202\001\010\002\202\001\001\000\242\160 -\242\320\237\102\256\133\027\307\330\175\317\024\203\374\117\311 -\241\267\023\257\212\327\236\076\004\012\222\213\140\126\372\264 -\062\057\210\115\241\140\010\364\267\011\116\240\111\057\111\326 -\323\337\235\227\132\237\224\004\160\354\077\131\331\267\314\146 -\213\230\122\050\011\002\337\305\057\204\215\172\227\167\277\354 -\100\235\045\162\253\265\077\062\230\373\267\267\374\162\204\345 -\065\207\371\125\372\243\037\016\157\056\050\335\151\240\331\102 -\020\306\370\265\104\302\320\103\177\333\274\344\242\074\152\125 -\170\012\167\251\330\352\031\062\267\057\376\134\077\033\356\261 -\230\354\312\255\172\151\105\343\226\017\125\366\346\355\165\352 -\145\350\062\126\223\106\211\250\045\212\145\006\356\153\277\171 -\007\320\361\267\257\355\054\115\222\273\300\250\137\247\147\175 -\004\362\025\010\160\254\222\326\175\004\322\063\373\114\266\013 -\013\373\032\311\304\215\003\251\176\134\362\120\253\022\245\241 -\317\110\120\245\357\322\310\032\023\372\260\177\261\202\034\167 -\152\017\137\334\013\225\217\357\103\176\346\105\011\045\002\001 -\003\243\202\001\120\060\202\001\114\060\022\006\003\125\035\023 -\001\001\377\004\010\060\006\001\001\377\002\001\014\060\077\006 -\003\125\035\037\004\070\060\066\060\064\240\062\240\060\206\056 -\150\164\164\160\072\057\057\143\162\154\056\143\150\141\155\142 -\145\162\163\151\147\156\056\157\162\147\057\143\150\141\155\142 -\145\162\163\151\147\156\162\157\157\164\056\143\162\154\060\035 -\006\003\125\035\016\004\026\004\024\103\234\066\237\260\236\060 -\115\306\316\137\255\020\253\345\003\245\372\251\024\060\016\006 -\003\125\035\017\001\001\377\004\004\003\002\001\006\060\021\006 -\011\140\206\110\001\206\370\102\001\001\004\004\003\002\000\007 -\060\052\006\003\125\035\021\004\043\060\041\201\037\143\150\141 -\155\142\145\162\163\151\147\156\162\157\157\164\100\143\150\141 -\155\142\145\162\163\151\147\156\056\157\162\147\060\052\006\003 -\125\035\022\004\043\060\041\201\037\143\150\141\155\142\145\162 -\163\151\147\156\162\157\157\164\100\143\150\141\155\142\145\162 -\163\151\147\156\056\157\162\147\060\133\006\003\125\035\040\004 -\124\060\122\060\120\006\013\053\006\001\004\001\201\207\056\012 -\001\001\060\101\060\077\006\010\053\006\001\005\005\007\002\001 -\026\063\150\164\164\160\072\057\057\143\160\163\056\143\150\141 -\155\142\145\162\163\151\147\156\056\157\162\147\057\143\160\163 -\057\143\150\141\155\142\145\162\163\151\147\156\162\157\157\164 -\056\150\164\155\154\060\015\006\011\052\206\110\206\367\015\001 -\001\005\005\000\003\202\001\001\000\074\073\160\221\371\004\124 -\047\221\341\355\355\376\150\177\141\135\345\101\145\117\062\361 -\030\005\224\152\034\336\037\160\333\076\173\062\002\064\265\014 -\154\241\212\174\245\364\217\377\324\330\255\027\325\055\004\321 -\077\130\200\342\201\131\210\276\300\343\106\223\044\376\220\275 -\046\242\060\055\350\227\046\127\065\211\164\226\030\366\025\342 -\257\044\031\126\002\002\262\272\017\024\352\306\212\146\301\206 -\105\125\213\276\222\276\234\244\004\307\111\074\236\350\051\172 -\211\327\376\257\377\150\365\245\027\220\275\254\231\314\245\206 -\127\011\147\106\333\326\026\302\106\361\344\251\120\365\217\321 -\222\025\323\137\076\306\000\111\072\156\130\262\321\321\047\015 -\045\310\062\370\040\021\315\175\062\063\110\224\124\114\335\334 -\171\304\060\237\353\216\270\125\265\327\210\134\305\152\044\075 -\262\323\005\003\121\306\007\357\314\024\162\164\075\156\162\316 -\030\050\214\112\240\167\345\011\053\105\104\107\254\267\147\177 -\001\212\005\132\223\276\241\301\377\370\347\016\147\244\107\111 -\166\135\165\220\032\365\046\217\360 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "Camerfirma Global Chambersign Root" -# Issuer: CN=Global Chambersign Root,OU=http://www.chambersign.org,O=AC Camerfirma SA CIF A82743287,C=EU -# Serial Number: 0 (0x0) -# Subject: CN=Global Chambersign Root,OU=http://www.chambersign.org,O=AC Camerfirma SA CIF A82743287,C=EU -# Not Valid Before: Tue Sep 30 16:14:18 2003 -# Not Valid After : Wed Sep 30 16:14:18 2037 -# Fingerprint (MD5): C5:E6:7B:BF:06:D0:4F:43:ED:C4:7A:65:8A:FB:6B:19 -# Fingerprint (SHA1): 33:9B:6B:14:50:24:9B:55:7A:01:87:72:84:D9:E0:2F:C3:D2:D8:E9 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Camerfirma Global Chambersign Root" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\063\233\153\024\120\044\233\125\172\001\207\162\204\331\340\057 -\303\322\330\351 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\305\346\173\277\006\320\117\103\355\304\172\145\212\373\153\031 -END -CKA_ISSUER MULTILINE_OCTAL -\060\175\061\013\060\011\006\003\125\004\006\023\002\105\125\061 -\047\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155 -\145\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101 -\070\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004 -\013\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150 -\141\155\142\145\162\163\151\147\156\056\157\162\147\061\040\060 -\036\006\003\125\004\003\023\027\107\154\157\142\141\154\040\103 -\150\141\155\142\145\162\163\151\147\156\040\122\157\157\164 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\000 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "XRamp Global CA Root" -# -# Issuer: CN=XRamp Global Certification Authority,O=XRamp Security Services Inc,OU=www.xrampsecurity.com,C=US -# Serial Number:50:94:6c:ec:18:ea:d5:9c:4d:d5:97:ef:75:8f:a0:ad -# Subject: CN=XRamp Global Certification Authority,O=XRamp Security Services Inc,OU=www.xrampsecurity.com,C=US -# Not Valid Before: Mon Nov 01 17:14:04 2004 -# Not Valid After : Mon Jan 01 05:37:19 2035 -# Fingerprint (MD5): A1:0B:44:B3:CA:10:D8:00:6E:9D:0F:D8:0F:92:0A:D1 -# Fingerprint (SHA1): B8:01:86:D1:EB:9C:86:A5:41:04:CF:30:54:F3:4C:52:B7:E5:58:C6 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "XRamp Global CA Root" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\202\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\036\060\034\006\003\125\004\013\023\025\167\167\167\056\170 -\162\141\155\160\163\145\143\165\162\151\164\171\056\143\157\155 -\061\044\060\042\006\003\125\004\012\023\033\130\122\141\155\160 -\040\123\145\143\165\162\151\164\171\040\123\145\162\166\151\143 -\145\163\040\111\156\143\061\055\060\053\006\003\125\004\003\023 -\044\130\122\141\155\160\040\107\154\157\142\141\154\040\103\145 -\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150 -\157\162\151\164\171 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\202\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\036\060\034\006\003\125\004\013\023\025\167\167\167\056\170 -\162\141\155\160\163\145\143\165\162\151\164\171\056\143\157\155 -\061\044\060\042\006\003\125\004\012\023\033\130\122\141\155\160 -\040\123\145\143\165\162\151\164\171\040\123\145\162\166\151\143 -\145\163\040\111\156\143\061\055\060\053\006\003\125\004\003\023 -\044\130\122\141\155\160\040\107\154\157\142\141\154\040\103\145 -\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150 -\157\162\151\164\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\120\224\154\354\030\352\325\234\115\325\227\357\165\217 -\240\255 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\060\060\202\003\030\240\003\002\001\002\002\020\120 -\224\154\354\030\352\325\234\115\325\227\357\165\217\240\255\060 -\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201 -\202\061\013\060\011\006\003\125\004\006\023\002\125\123\061\036 -\060\034\006\003\125\004\013\023\025\167\167\167\056\170\162\141 -\155\160\163\145\143\165\162\151\164\171\056\143\157\155\061\044 -\060\042\006\003\125\004\012\023\033\130\122\141\155\160\040\123 -\145\143\165\162\151\164\171\040\123\145\162\166\151\143\145\163 -\040\111\156\143\061\055\060\053\006\003\125\004\003\023\044\130 -\122\141\155\160\040\107\154\157\142\141\154\040\103\145\162\164 -\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162 -\151\164\171\060\036\027\015\060\064\061\061\060\061\061\067\061 -\064\060\064\132\027\015\063\065\060\061\060\061\060\065\063\067 -\061\071\132\060\201\202\061\013\060\011\006\003\125\004\006\023 -\002\125\123\061\036\060\034\006\003\125\004\013\023\025\167\167 -\167\056\170\162\141\155\160\163\145\143\165\162\151\164\171\056 -\143\157\155\061\044\060\042\006\003\125\004\012\023\033\130\122 -\141\155\160\040\123\145\143\165\162\151\164\171\040\123\145\162 -\166\151\143\145\163\040\111\156\143\061\055\060\053\006\003\125 -\004\003\023\044\130\122\141\155\160\040\107\154\157\142\141\154 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 -\165\164\150\157\162\151\164\171\060\202\001\042\060\015\006\011 -\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017\000 -\060\202\001\012\002\202\001\001\000\230\044\036\275\025\264\272 -\337\307\214\245\047\266\070\013\151\363\266\116\250\054\056\041 -\035\134\104\337\041\135\176\043\164\376\136\176\264\112\267\246 -\255\037\256\340\006\026\342\233\133\331\147\164\153\135\200\217 -\051\235\206\033\331\234\015\230\155\166\020\050\130\344\145\260 -\177\112\230\171\237\340\303\061\176\200\053\265\214\300\100\073 -\021\206\320\313\242\206\066\140\244\325\060\202\155\331\156\320 -\017\022\004\063\227\137\117\141\132\360\344\371\221\253\347\035 -\073\274\350\317\364\153\055\064\174\342\110\141\034\216\363\141 -\104\314\157\240\112\251\224\260\115\332\347\251\064\172\162\070 -\250\101\314\074\224\021\175\353\310\246\214\267\206\313\312\063 -\073\331\075\067\213\373\172\076\206\054\347\163\327\012\127\254 -\144\233\031\353\364\017\004\010\212\254\003\027\031\144\364\132 -\045\042\215\064\054\262\366\150\035\022\155\323\212\036\024\332 -\304\217\246\342\043\205\325\172\015\275\152\340\351\354\354\027 -\273\102\033\147\252\045\355\105\203\041\374\301\311\174\325\142 -\076\372\362\305\055\323\375\324\145\002\003\001\000\001\243\201 -\237\060\201\234\060\023\006\011\053\006\001\004\001\202\067\024 -\002\004\006\036\004\000\103\000\101\060\013\006\003\125\035\017 -\004\004\003\002\001\206\060\017\006\003\125\035\023\001\001\377 -\004\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026 -\004\024\306\117\242\075\006\143\204\011\234\316\142\344\004\254 -\215\134\265\351\266\033\060\066\006\003\125\035\037\004\057\060 -\055\060\053\240\051\240\047\206\045\150\164\164\160\072\057\057 -\143\162\154\056\170\162\141\155\160\163\145\143\165\162\151\164 -\171\056\143\157\155\057\130\107\103\101\056\143\162\154\060\020 -\006\011\053\006\001\004\001\202\067\025\001\004\003\002\001\001 -\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003 -\202\001\001\000\221\025\071\003\001\033\147\373\112\034\371\012 -\140\133\241\332\115\227\142\371\044\123\047\327\202\144\116\220 -\056\303\111\033\053\232\334\374\250\170\147\065\361\035\360\021 -\275\267\110\343\020\366\015\337\077\322\311\266\252\125\244\110 -\272\002\333\336\131\056\025\133\073\235\026\175\107\327\067\352 -\137\115\166\022\066\273\037\327\241\201\004\106\040\243\054\155 -\251\236\001\176\077\051\316\000\223\337\375\311\222\163\211\211 -\144\236\347\053\344\034\221\054\322\271\316\175\316\157\061\231 -\323\346\276\322\036\220\360\011\024\171\134\043\253\115\322\332 -\041\037\115\231\171\235\341\317\047\237\020\233\034\210\015\260 -\212\144\101\061\270\016\154\220\044\244\233\134\161\217\272\273 -\176\034\033\333\152\200\017\041\274\351\333\246\267\100\364\262 -\213\251\261\344\357\232\032\320\075\151\231\356\250\050\243\341 -\074\263\360\262\021\234\317\174\100\346\335\347\103\175\242\330 -\072\265\251\215\362\064\231\304\324\020\341\006\375\011\204\020 -\073\356\304\114\364\354\047\174\102\302\164\174\202\212\011\311 -\264\003\045\274 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "XRamp Global CA Root" -# Issuer: CN=XRamp Global Certification Authority,O=XRamp Security Services Inc,OU=www.xrampsecurity.com,C=US -# Serial Number:50:94:6c:ec:18:ea:d5:9c:4d:d5:97:ef:75:8f:a0:ad -# Subject: CN=XRamp Global Certification Authority,O=XRamp Security Services Inc,OU=www.xrampsecurity.com,C=US -# Not Valid Before: Mon Nov 01 17:14:04 2004 -# Not Valid After : Mon Jan 01 05:37:19 2035 -# Fingerprint (MD5): A1:0B:44:B3:CA:10:D8:00:6E:9D:0F:D8:0F:92:0A:D1 -# Fingerprint (SHA1): B8:01:86:D1:EB:9C:86:A5:41:04:CF:30:54:F3:4C:52:B7:E5:58:C6 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "XRamp Global CA Root" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\270\001\206\321\353\234\206\245\101\004\317\060\124\363\114\122 -\267\345\130\306 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\241\013\104\263\312\020\330\000\156\235\017\330\017\222\012\321 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\202\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\036\060\034\006\003\125\004\013\023\025\167\167\167\056\170 -\162\141\155\160\163\145\143\165\162\151\164\171\056\143\157\155 -\061\044\060\042\006\003\125\004\012\023\033\130\122\141\155\160 -\040\123\145\143\165\162\151\164\171\040\123\145\162\166\151\143 -\145\163\040\111\156\143\061\055\060\053\006\003\125\004\003\023 -\044\130\122\141\155\160\040\107\154\157\142\141\154\040\103\145 -\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150 -\157\162\151\164\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\120\224\154\354\030\352\325\234\115\325\227\357\165\217 -\240\255 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Go Daddy Class 2 CA" -# -# Issuer: OU=Go Daddy Class 2 Certification Authority,O="The Go Daddy Group, Inc.",C=US -# Serial Number: 0 (0x0) -# Subject: OU=Go Daddy Class 2 Certification Authority,O="The Go Daddy Group, Inc.",C=US -# Not Valid Before: Tue Jun 29 17:06:20 2004 -# Not Valid After : Thu Jun 29 17:06:20 2034 -# Fingerprint (MD5): 91:DE:06:25:AB:DA:FD:32:17:0C:BB:25:17:2A:84:67 -# Fingerprint (SHA1): 27:96:BA:E6:3F:18:01:E2:77:26:1B:A0:D7:77:70:02:8F:20:EE:E4 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Go Daddy Class 2 CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\143\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\041\060\037\006\003\125\004\012\023\030\124\150\145\040\107\157 -\040\104\141\144\144\171\040\107\162\157\165\160\054\040\111\156 -\143\056\061\061\060\057\006\003\125\004\013\023\050\107\157\040 -\104\141\144\144\171\040\103\154\141\163\163\040\062\040\103\145 -\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150 -\157\162\151\164\171 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\143\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\041\060\037\006\003\125\004\012\023\030\124\150\145\040\107\157 -\040\104\141\144\144\171\040\107\162\157\165\160\054\040\111\156 -\143\056\061\061\060\057\006\003\125\004\013\023\050\107\157\040 -\104\141\144\144\171\040\103\154\141\163\163\040\062\040\103\145 -\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150 -\157\162\151\164\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\000 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\000\060\202\002\350\240\003\002\001\002\002\001\000 -\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 -\143\061\013\060\011\006\003\125\004\006\023\002\125\123\061\041 -\060\037\006\003\125\004\012\023\030\124\150\145\040\107\157\040 -\104\141\144\144\171\040\107\162\157\165\160\054\040\111\156\143 -\056\061\061\060\057\006\003\125\004\013\023\050\107\157\040\104 -\141\144\144\171\040\103\154\141\163\163\040\062\040\103\145\162 -\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157 -\162\151\164\171\060\036\027\015\060\064\060\066\062\071\061\067 -\060\066\062\060\132\027\015\063\064\060\066\062\071\061\067\060 -\066\062\060\132\060\143\061\013\060\011\006\003\125\004\006\023 -\002\125\123\061\041\060\037\006\003\125\004\012\023\030\124\150 -\145\040\107\157\040\104\141\144\144\171\040\107\162\157\165\160 -\054\040\111\156\143\056\061\061\060\057\006\003\125\004\013\023 -\050\107\157\040\104\141\144\144\171\040\103\154\141\163\163\040 -\062\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040 -\101\165\164\150\157\162\151\164\171\060\202\001\040\060\015\006 -\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001\015 -\000\060\202\001\010\002\202\001\001\000\336\235\327\352\127\030 -\111\241\133\353\327\137\110\206\352\276\335\377\344\357\147\034 -\364\145\150\263\127\161\240\136\167\273\355\233\111\351\160\200 -\075\126\030\143\010\157\332\362\314\320\077\177\002\124\042\124 -\020\330\262\201\324\300\165\075\113\177\307\167\303\076\170\253 -\032\003\265\040\153\057\152\053\261\305\210\176\304\273\036\260 -\301\330\105\047\157\252\067\130\367\207\046\327\330\055\366\251 -\027\267\037\162\066\116\246\027\077\145\230\222\333\052\156\135 -\242\376\210\340\013\336\177\345\215\025\341\353\313\072\325\342 -\022\242\023\055\330\216\257\137\022\075\240\010\005\010\266\134 -\245\145\070\004\105\231\036\243\140\140\164\305\101\245\162\142 -\033\142\305\037\157\137\032\102\276\002\121\145\250\256\043\030 -\152\374\170\003\251\115\177\200\303\372\253\132\374\241\100\244 -\312\031\026\376\262\310\357\136\163\015\356\167\275\232\366\171 -\230\274\261\007\147\242\025\015\335\240\130\306\104\173\012\076 -\142\050\137\272\101\007\123\130\317\021\176\070\164\305\370\377 -\265\151\220\217\204\164\352\227\033\257\002\001\003\243\201\300 -\060\201\275\060\035\006\003\125\035\016\004\026\004\024\322\304 -\260\322\221\324\114\021\161\263\141\313\075\241\376\335\250\152 -\324\343\060\201\215\006\003\125\035\043\004\201\205\060\201\202 -\200\024\322\304\260\322\221\324\114\021\161\263\141\313\075\241 -\376\335\250\152\324\343\241\147\244\145\060\143\061\013\060\011 -\006\003\125\004\006\023\002\125\123\061\041\060\037\006\003\125 -\004\012\023\030\124\150\145\040\107\157\040\104\141\144\144\171 -\040\107\162\157\165\160\054\040\111\156\143\056\061\061\060\057 -\006\003\125\004\013\023\050\107\157\040\104\141\144\144\171\040 -\103\154\141\163\163\040\062\040\103\145\162\164\151\146\151\143 -\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\202 -\001\000\060\014\006\003\125\035\023\004\005\060\003\001\001\377 -\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003 -\202\001\001\000\062\113\363\262\312\076\221\374\022\306\241\007 -\214\216\167\240\063\006\024\134\220\036\030\367\010\246\075\012 -\031\371\207\200\021\156\151\344\226\027\060\377\064\221\143\162 -\070\356\314\034\001\243\035\224\050\244\061\366\172\304\124\327 -\366\345\061\130\003\242\314\316\142\333\224\105\163\265\277\105 -\311\044\265\325\202\002\255\043\171\151\215\270\266\115\316\317 -\114\312\063\043\350\034\210\252\235\213\101\156\026\311\040\345 -\211\236\315\073\332\160\367\176\231\046\040\024\124\045\253\156 -\163\205\346\233\041\235\012\154\202\016\250\370\302\014\372\020 -\036\154\226\357\207\015\304\017\141\213\255\356\203\053\225\370 -\216\222\204\162\071\353\040\352\203\355\203\315\227\156\010\274 -\353\116\046\266\163\053\344\323\366\114\376\046\161\342\141\021 -\164\112\377\127\032\207\017\165\110\056\317\121\151\027\240\002 -\022\141\225\325\321\100\262\020\114\356\304\254\020\103\246\245 -\236\012\325\225\142\232\015\317\210\202\305\062\014\344\053\237 -\105\346\015\237\050\234\261\271\052\132\127\255\067\017\257\035 -\177\333\275\237 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "Go Daddy Class 2 CA" -# Issuer: OU=Go Daddy Class 2 Certification Authority,O="The Go Daddy Group, Inc.",C=US -# Serial Number: 0 (0x0) -# Subject: OU=Go Daddy Class 2 Certification Authority,O="The Go Daddy Group, Inc.",C=US -# Not Valid Before: Tue Jun 29 17:06:20 2004 -# Not Valid After : Thu Jun 29 17:06:20 2034 -# Fingerprint (MD5): 91:DE:06:25:AB:DA:FD:32:17:0C:BB:25:17:2A:84:67 -# Fingerprint (SHA1): 27:96:BA:E6:3F:18:01:E2:77:26:1B:A0:D7:77:70:02:8F:20:EE:E4 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Go Daddy Class 2 CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\047\226\272\346\077\030\001\342\167\046\033\240\327\167\160\002 -\217\040\356\344 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\221\336\006\045\253\332\375\062\027\014\273\045\027\052\204\147 -END -CKA_ISSUER MULTILINE_OCTAL -\060\143\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\041\060\037\006\003\125\004\012\023\030\124\150\145\040\107\157 -\040\104\141\144\144\171\040\107\162\157\165\160\054\040\111\156 -\143\056\061\061\060\057\006\003\125\004\013\023\050\107\157\040 -\104\141\144\144\171\040\103\154\141\163\163\040\062\040\103\145 -\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150 -\157\162\151\164\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\000 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Starfield Class 2 CA" -# -# Issuer: OU=Starfield Class 2 Certification Authority,O="Starfield Technologies, Inc.",C=US -# Serial Number: 0 (0x0) -# Subject: OU=Starfield Class 2 Certification Authority,O="Starfield Technologies, Inc.",C=US -# Not Valid Before: Tue Jun 29 17:39:16 2004 -# Not Valid After : Thu Jun 29 17:39:16 2034 -# Fingerprint (MD5): 32:4A:4B:BB:C8:63:69:9B:BE:74:9A:C6:DD:1D:46:24 -# Fingerprint (SHA1): AD:7E:1C:28:B0:64:EF:8F:60:03:40:20:14:C3:D0:E3:37:0E:B5:8A -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Starfield Class 2 CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\150\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\045\060\043\006\003\125\004\012\023\034\123\164\141\162\146\151 -\145\154\144\040\124\145\143\150\156\157\154\157\147\151\145\163 -\054\040\111\156\143\056\061\062\060\060\006\003\125\004\013\023 -\051\123\164\141\162\146\151\145\154\144\040\103\154\141\163\163 -\040\062\040\103\145\162\164\151\146\151\143\141\164\151\157\156 -\040\101\165\164\150\157\162\151\164\171 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\150\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\045\060\043\006\003\125\004\012\023\034\123\164\141\162\146\151 -\145\154\144\040\124\145\143\150\156\157\154\157\147\151\145\163 -\054\040\111\156\143\056\061\062\060\060\006\003\125\004\013\023 -\051\123\164\141\162\146\151\145\154\144\040\103\154\141\163\163 -\040\062\040\103\145\162\164\151\146\151\143\141\164\151\157\156 -\040\101\165\164\150\157\162\151\164\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\000 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\017\060\202\002\367\240\003\002\001\002\002\001\000 -\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 -\150\061\013\060\011\006\003\125\004\006\023\002\125\123\061\045 -\060\043\006\003\125\004\012\023\034\123\164\141\162\146\151\145 -\154\144\040\124\145\143\150\156\157\154\157\147\151\145\163\054 -\040\111\156\143\056\061\062\060\060\006\003\125\004\013\023\051 -\123\164\141\162\146\151\145\154\144\040\103\154\141\163\163\040 -\062\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040 -\101\165\164\150\157\162\151\164\171\060\036\027\015\060\064\060 -\066\062\071\061\067\063\071\061\066\132\027\015\063\064\060\066 -\062\071\061\067\063\071\061\066\132\060\150\061\013\060\011\006 -\003\125\004\006\023\002\125\123\061\045\060\043\006\003\125\004 -\012\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143 -\150\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061 -\062\060\060\006\003\125\004\013\023\051\123\164\141\162\146\151 -\145\154\144\040\103\154\141\163\163\040\062\040\103\145\162\164 -\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162 -\151\164\171\060\202\001\040\060\015\006\011\052\206\110\206\367 -\015\001\001\001\005\000\003\202\001\015\000\060\202\001\010\002 -\202\001\001\000\267\062\310\376\351\161\246\004\205\255\014\021 -\144\337\316\115\357\310\003\030\207\077\241\253\373\074\246\237 -\360\303\241\332\324\330\156\053\123\220\373\044\244\076\204\360 -\236\350\137\354\345\047\104\365\050\246\077\173\336\340\052\360 -\310\257\123\057\236\312\005\001\223\036\217\146\034\071\247\115 -\372\132\266\163\004\045\146\353\167\177\347\131\306\112\231\045 -\024\124\353\046\307\363\177\031\325\060\160\217\257\260\106\052 -\377\255\353\051\355\327\237\252\004\207\243\324\371\211\245\064 -\137\333\103\221\202\066\331\146\074\261\270\271\202\375\234\072 -\076\020\310\073\357\006\145\146\172\233\031\030\075\377\161\121 -\074\060\056\137\276\075\167\163\262\135\006\154\303\043\126\232 -\053\205\046\222\034\247\002\263\344\077\015\257\010\171\202\270 -\066\075\352\234\323\065\263\274\151\312\365\314\235\350\375\144 -\215\027\200\063\156\136\112\135\231\311\036\207\264\235\032\300 -\325\156\023\065\043\136\337\233\137\075\357\326\367\166\302\352 -\076\273\170\015\034\102\147\153\004\330\370\326\332\157\213\362 -\104\240\001\253\002\001\003\243\201\305\060\201\302\060\035\006 -\003\125\035\016\004\026\004\024\277\137\267\321\316\335\037\206 -\364\133\125\254\334\327\020\302\016\251\210\347\060\201\222\006 -\003\125\035\043\004\201\212\060\201\207\200\024\277\137\267\321 -\316\335\037\206\364\133\125\254\334\327\020\302\016\251\210\347 -\241\154\244\152\060\150\061\013\060\011\006\003\125\004\006\023 -\002\125\123\061\045\060\043\006\003\125\004\012\023\034\123\164 -\141\162\146\151\145\154\144\040\124\145\143\150\156\157\154\157 -\147\151\145\163\054\040\111\156\143\056\061\062\060\060\006\003 -\125\004\013\023\051\123\164\141\162\146\151\145\154\144\040\103 -\154\141\163\163\040\062\040\103\145\162\164\151\146\151\143\141 -\164\151\157\156\040\101\165\164\150\157\162\151\164\171\202\001 -\000\060\014\006\003\125\035\023\004\005\060\003\001\001\377\060 -\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003\202 -\001\001\000\005\235\077\210\235\321\311\032\125\241\254\151\363 -\363\131\332\233\001\207\032\117\127\251\241\171\011\052\333\367 -\057\262\036\314\307\136\152\330\203\207\241\227\357\111\065\076 -\167\006\101\130\142\277\216\130\270\012\147\077\354\263\335\041 -\146\037\311\124\372\162\314\075\114\100\330\201\257\167\236\203 -\172\273\242\307\365\064\027\216\331\021\100\364\374\054\052\115 -\025\177\247\142\135\056\045\323\000\013\040\032\035\150\371\027 -\270\364\275\213\355\050\131\335\115\026\213\027\203\310\262\145 -\307\055\172\245\252\274\123\206\155\335\127\244\312\370\040\101 -\013\150\360\364\373\164\276\126\135\172\171\365\371\035\205\343 -\055\225\276\365\161\220\103\314\215\037\232\000\012\207\051\351 -\125\042\130\000\043\352\343\022\103\051\133\107\010\335\214\101 -\152\145\006\250\345\041\252\101\264\225\041\225\271\175\321\064 -\253\023\326\255\274\334\342\075\071\315\275\076\165\160\241\030 -\131\003\311\042\264\217\234\325\136\052\327\245\266\324\012\155 -\370\267\100\021\106\232\037\171\016\142\277\017\227\354\340\057 -\037\027\224 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "Starfield Class 2 CA" -# Issuer: OU=Starfield Class 2 Certification Authority,O="Starfield Technologies, Inc.",C=US -# Serial Number: 0 (0x0) -# Subject: OU=Starfield Class 2 Certification Authority,O="Starfield Technologies, Inc.",C=US -# Not Valid Before: Tue Jun 29 17:39:16 2004 -# Not Valid After : Thu Jun 29 17:39:16 2034 -# Fingerprint (MD5): 32:4A:4B:BB:C8:63:69:9B:BE:74:9A:C6:DD:1D:46:24 -# Fingerprint (SHA1): AD:7E:1C:28:B0:64:EF:8F:60:03:40:20:14:C3:D0:E3:37:0E:B5:8A -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Starfield Class 2 CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\255\176\034\050\260\144\357\217\140\003\100\040\024\303\320\343 -\067\016\265\212 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\062\112\113\273\310\143\151\233\276\164\232\306\335\035\106\044 -END -CKA_ISSUER MULTILINE_OCTAL -\060\150\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\045\060\043\006\003\125\004\012\023\034\123\164\141\162\146\151 -\145\154\144\040\124\145\143\150\156\157\154\157\147\151\145\163 -\054\040\111\156\143\056\061\062\060\060\006\003\125\004\013\023 -\051\123\164\141\162\146\151\145\154\144\040\103\154\141\163\163 -\040\062\040\103\145\162\164\151\146\151\143\141\164\151\157\156 -\040\101\165\164\150\157\162\151\164\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\000 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Taiwan GRCA" -# -# Issuer: O=Government Root Certification Authority,C=TW -# Serial Number:1f:9d:59:5a:d7:2f:c2:06:44:a5:80:08:69:e3:5e:f6 -# Subject: O=Government Root Certification Authority,C=TW -# Not Valid Before: Thu Dec 05 13:23:33 2002 -# Not Valid After : Sun Dec 05 13:23:33 2032 -# Fingerprint (MD5): 37:85:44:53:32:45:1F:20:F0:F3:95:E1:25:C4:43:4E -# Fingerprint (SHA1): F4:8B:11:BF:DE:AB:BE:94:54:20:71:E6:41:DE:6B:BE:88:2B:40:B9 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Taiwan GRCA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\077\061\013\060\011\006\003\125\004\006\023\002\124\127\061 -\060\060\056\006\003\125\004\012\014\047\107\157\166\145\162\156 -\155\145\156\164\040\122\157\157\164\040\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\077\061\013\060\011\006\003\125\004\006\023\002\124\127\061 -\060\060\056\006\003\125\004\012\014\047\107\157\166\145\162\156 -\155\145\156\164\040\122\157\157\164\040\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\037\235\131\132\327\057\302\006\104\245\200\010\151\343 -\136\366 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\162\060\202\003\132\240\003\002\001\002\002\020\037 -\235\131\132\327\057\302\006\104\245\200\010\151\343\136\366\060 -\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\077 -\061\013\060\011\006\003\125\004\006\023\002\124\127\061\060\060 -\056\006\003\125\004\012\014\047\107\157\166\145\162\156\155\145 -\156\164\040\122\157\157\164\040\103\145\162\164\151\146\151\143 -\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\060 -\036\027\015\060\062\061\062\060\065\061\063\062\063\063\063\132 -\027\015\063\062\061\062\060\065\061\063\062\063\063\063\132\060 -\077\061\013\060\011\006\003\125\004\006\023\002\124\127\061\060 -\060\056\006\003\125\004\012\014\047\107\157\166\145\162\156\155 -\145\156\164\040\122\157\157\164\040\103\145\162\164\151\146\151 -\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 -\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001 -\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001 -\000\232\045\270\354\314\242\165\250\173\367\316\133\131\212\311 -\321\206\022\010\124\354\234\362\347\106\366\210\363\174\351\245 -\337\114\107\066\244\033\001\034\177\036\127\212\215\303\305\321 -\041\343\332\044\077\110\053\373\237\056\241\224\347\054\034\223 -\321\277\033\001\207\123\231\316\247\365\012\041\166\167\377\251 -\267\306\163\224\117\106\367\020\111\067\372\250\131\111\135\152 -\201\007\126\362\212\371\006\320\367\160\042\115\264\267\101\271 -\062\270\261\360\261\303\234\077\160\375\123\335\201\252\330\143 -\170\366\330\123\156\241\254\152\204\044\162\124\206\306\322\262 -\312\034\016\171\201\326\265\160\142\010\001\056\116\117\016\325 -\021\257\251\257\345\232\277\334\314\207\155\046\344\311\127\242 -\373\226\371\314\341\077\123\214\154\114\176\233\123\010\013\154 -\027\373\147\310\302\255\261\315\200\264\227\334\166\001\026\025 -\351\152\327\244\341\170\107\316\206\325\373\061\363\372\061\276 -\064\252\050\373\160\114\035\111\307\257\054\235\155\146\246\266 -\215\144\176\265\040\152\235\073\201\266\217\100\000\147\113\211 -\206\270\314\145\376\025\123\351\004\301\326\137\035\104\327\012 -\057\047\232\106\175\241\015\165\255\124\206\025\334\111\073\361 -\226\316\017\233\240\354\243\172\135\276\325\052\165\102\345\173 -\336\245\266\252\257\050\254\254\220\254\070\267\325\150\065\046 -\172\334\367\073\363\375\105\233\321\273\103\170\156\157\361\102 -\124\152\230\360\015\255\227\351\122\136\351\325\152\162\336\152 -\367\033\140\024\364\245\344\266\161\147\252\037\352\342\115\301 -\102\100\376\147\106\027\070\057\107\077\161\234\256\345\041\312 -\141\055\155\007\250\204\174\055\356\121\045\361\143\220\236\375 -\341\127\210\153\357\212\043\155\261\346\275\077\255\321\075\226 -\013\205\215\315\153\047\273\267\005\233\354\273\221\251\012\007 -\022\002\227\116\040\220\360\377\015\036\342\101\073\323\100\072 -\347\215\135\332\146\344\002\260\007\122\230\134\016\216\063\234 -\302\246\225\373\125\031\156\114\216\256\113\017\275\301\070\115 -\136\217\204\035\146\315\305\140\226\264\122\132\005\211\216\225 -\172\230\301\221\074\225\043\262\016\364\171\264\311\174\301\112 -\041\002\003\001\000\001\243\152\060\150\060\035\006\003\125\035 -\016\004\026\004\024\314\314\357\314\051\140\244\073\261\222\266 -\074\372\062\142\217\254\045\025\073\060\014\006\003\125\035\023 -\004\005\060\003\001\001\377\060\071\006\004\147\052\007\000\004 -\061\060\057\060\055\002\001\000\060\011\006\005\053\016\003\002 -\032\005\000\060\007\006\005\147\052\003\000\000\004\024\003\233 -\360\042\023\377\225\050\066\323\334\236\300\062\373\061\072\212 -\121\145\060\015\006\011\052\206\110\206\367\015\001\001\005\005 -\000\003\202\002\001\000\100\200\112\372\046\311\316\136\060\335 -\117\206\164\166\130\365\256\263\203\063\170\244\172\164\027\031 -\116\351\122\265\271\340\012\164\142\252\150\312\170\240\114\232 -\216\054\043\056\325\152\022\044\277\324\150\323\212\320\330\234 -\237\264\037\014\336\070\176\127\070\374\215\342\117\136\014\237 -\253\073\322\377\165\227\313\244\343\147\010\377\345\300\026\265 -\110\001\175\351\371\012\377\033\345\152\151\277\170\041\250\302 -\247\043\251\206\253\166\126\350\016\014\366\023\335\052\146\212 -\144\111\075\032\030\207\220\004\237\102\122\267\117\313\376\107 -\101\166\065\357\377\000\166\066\105\062\233\306\106\205\135\342 -\044\260\036\343\110\226\230\127\107\224\125\172\017\101\261\104 -\044\363\301\376\032\153\277\210\375\301\246\332\223\140\136\201 -\112\231\040\234\110\146\031\265\000\171\124\017\270\054\057\113 -\274\251\135\133\140\177\214\207\245\340\122\143\052\276\330\073 -\205\100\025\376\036\266\145\077\305\113\332\176\265\172\065\051 -\243\056\172\230\140\042\243\364\175\047\116\055\352\264\164\074 -\351\017\244\063\017\020\021\274\023\001\326\345\016\323\277\265 -\022\242\341\105\043\300\314\010\156\141\267\211\253\203\343\044 -\036\346\135\007\347\037\040\076\317\147\310\347\254\060\155\047 -\113\150\156\113\052\134\002\010\064\333\370\166\344\147\243\046 -\234\077\242\062\302\112\305\201\030\061\020\126\252\204\357\055 -\012\377\270\037\167\322\277\245\130\240\142\344\327\113\221\165 -\215\211\200\230\176\155\313\123\116\136\257\366\262\227\205\227 -\271\332\125\006\271\044\356\327\306\070\036\143\033\022\073\225 -\341\130\254\362\337\204\325\137\231\057\015\125\133\346\070\333 -\056\077\162\351\110\205\313\273\051\023\217\036\070\125\271\363 -\262\304\060\231\043\116\135\362\110\241\022\014\334\022\220\011 -\220\124\221\003\074\107\345\325\311\145\340\267\113\175\354\107 -\323\263\013\076\255\236\320\164\000\016\353\275\121\255\300\336 -\054\300\303\152\376\357\334\013\247\372\106\337\140\333\234\246 -\131\120\165\043\151\163\223\262\371\374\002\323\107\346\161\316 -\020\002\356\047\214\204\377\254\105\015\023\134\203\062\340\045 -\245\206\054\174\364\022 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "Taiwan GRCA" -# Issuer: O=Government Root Certification Authority,C=TW -# Serial Number:1f:9d:59:5a:d7:2f:c2:06:44:a5:80:08:69:e3:5e:f6 -# Subject: O=Government Root Certification Authority,C=TW -# Not Valid Before: Thu Dec 05 13:23:33 2002 -# Not Valid After : Sun Dec 05 13:23:33 2032 -# Fingerprint (MD5): 37:85:44:53:32:45:1F:20:F0:F3:95:E1:25:C4:43:4E -# Fingerprint (SHA1): F4:8B:11:BF:DE:AB:BE:94:54:20:71:E6:41:DE:6B:BE:88:2B:40:B9 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Taiwan GRCA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\364\213\021\277\336\253\276\224\124\040\161\346\101\336\153\276 -\210\053\100\271 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\067\205\104\123\062\105\037\040\360\363\225\341\045\304\103\116 -END -CKA_ISSUER MULTILINE_OCTAL -\060\077\061\013\060\011\006\003\125\004\006\023\002\124\127\061 -\060\060\056\006\003\125\004\012\014\047\107\157\166\145\162\156 -\155\145\156\164\040\122\157\157\164\040\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\037\235\131\132\327\057\302\006\104\245\200\010\151\343 -\136\366 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "DigiCert Assured ID Root CA" -# -# Issuer: CN=DigiCert Assured ID Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US -# Serial Number:0c:e7:e0:e5:17:d8:46:fe:8f:e5:60:fc:1b:f0:30:39 -# Subject: CN=DigiCert Assured ID Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US -# Not Valid Before: Fri Nov 10 00:00:00 2006 -# Not Valid After : Mon Nov 10 00:00:00 2031 -# Fingerprint (MD5): 87:CE:0B:7B:2A:0E:49:00:E1:58:71:9B:37:A8:93:72 -# Fingerprint (SHA1): 05:63:B8:63:0D:62:D7:5A:BB:C8:AB:1E:4B:DF:B5:A8:99:B2:4D:43 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "DigiCert Assured ID Root CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 -\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 -\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 -\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151 -\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040 -\122\157\157\164\040\103\101 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 -\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 -\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 -\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151 -\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040 -\122\157\157\164\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\014\347\340\345\027\330\106\376\217\345\140\374\033\360 -\060\071 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\267\060\202\002\237\240\003\002\001\002\002\020\014 -\347\340\345\027\330\106\376\217\345\140\374\033\360\060\071\060 -\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\145 -\061\013\060\011\006\003\125\004\006\023\002\125\123\061\025\060 -\023\006\003\125\004\012\023\014\104\151\147\151\103\145\162\164 -\040\111\156\143\061\031\060\027\006\003\125\004\013\023\020\167 -\167\167\056\144\151\147\151\143\145\162\164\056\143\157\155\061 -\044\060\042\006\003\125\004\003\023\033\104\151\147\151\103\145 -\162\164\040\101\163\163\165\162\145\144\040\111\104\040\122\157 -\157\164\040\103\101\060\036\027\015\060\066\061\061\061\060\060 -\060\060\060\060\060\132\027\015\063\061\061\061\061\060\060\060 -\060\060\060\060\132\060\145\061\013\060\011\006\003\125\004\006 -\023\002\125\123\061\025\060\023\006\003\125\004\012\023\014\104 -\151\147\151\103\145\162\164\040\111\156\143\061\031\060\027\006 -\003\125\004\013\023\020\167\167\167\056\144\151\147\151\143\145 -\162\164\056\143\157\155\061\044\060\042\006\003\125\004\003\023 -\033\104\151\147\151\103\145\162\164\040\101\163\163\165\162\145 -\144\040\111\104\040\122\157\157\164\040\103\101\060\202\001\042 -\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003 -\202\001\017\000\060\202\001\012\002\202\001\001\000\255\016\025 -\316\344\103\200\134\261\207\363\267\140\371\161\022\245\256\334 -\046\224\210\252\364\316\365\040\071\050\130\140\014\370\200\332 -\251\025\225\062\141\074\265\261\050\204\212\212\334\237\012\014 -\203\027\172\217\220\254\212\347\171\123\134\061\204\052\366\017 -\230\062\066\166\314\336\335\074\250\242\357\152\373\041\362\122 -\141\337\237\040\327\037\342\261\331\376\030\144\322\022\133\137 -\371\130\030\065\274\107\315\241\066\371\153\177\324\260\070\076 -\301\033\303\214\063\331\330\057\030\376\050\017\263\247\203\326 -\303\156\104\300\141\065\226\026\376\131\234\213\166\155\327\361 -\242\113\015\053\377\013\162\332\236\140\320\216\220\065\306\170 -\125\207\040\241\317\345\155\012\310\111\174\061\230\063\154\042 -\351\207\320\062\132\242\272\023\202\021\355\071\027\235\231\072 -\162\241\346\372\244\331\325\027\061\165\256\205\175\042\256\077 -\001\106\206\366\050\171\310\261\332\344\127\027\304\176\034\016 -\260\264\222\246\126\263\275\262\227\355\252\247\360\267\305\250 -\077\225\026\320\377\241\226\353\010\137\030\167\117\002\003\001 -\000\001\243\143\060\141\060\016\006\003\125\035\017\001\001\377 -\004\004\003\002\001\206\060\017\006\003\125\035\023\001\001\377 -\004\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026 -\004\024\105\353\242\257\364\222\313\202\061\055\121\213\247\247 -\041\235\363\155\310\017\060\037\006\003\125\035\043\004\030\060 -\026\200\024\105\353\242\257\364\222\313\202\061\055\121\213\247 -\247\041\235\363\155\310\017\060\015\006\011\052\206\110\206\367 -\015\001\001\005\005\000\003\202\001\001\000\242\016\274\337\342 -\355\360\343\162\163\172\144\224\277\367\162\146\330\062\344\102 -\165\142\256\207\353\362\325\331\336\126\263\237\314\316\024\050 -\271\015\227\140\134\022\114\130\344\323\075\203\111\105\130\227 -\065\151\032\250\107\352\126\306\171\253\022\330\147\201\204\337 -\177\011\074\224\346\270\046\054\040\275\075\263\050\211\367\137 -\377\042\342\227\204\037\351\145\357\207\340\337\301\147\111\263 -\135\353\262\011\052\353\046\355\170\276\175\077\053\363\267\046 -\065\155\137\211\001\266\111\133\237\001\005\233\253\075\045\301 -\314\266\177\302\361\157\206\306\372\144\150\353\201\055\224\353 -\102\267\372\214\036\335\142\361\276\120\147\267\154\275\363\361 -\037\153\014\066\007\026\177\067\174\251\133\155\172\361\022\106 -\140\203\327\047\004\276\113\316\227\276\303\147\052\150\021\337 -\200\347\014\063\146\277\023\015\024\156\363\177\037\143\020\036 -\372\215\033\045\155\154\217\245\267\141\001\261\322\243\046\241 -\020\161\235\255\342\303\371\303\231\121\267\053\007\010\316\056 -\346\120\262\247\372\012\105\057\242\360\362 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "DigiCert Assured ID Root CA" -# Issuer: CN=DigiCert Assured ID Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US -# Serial Number:0c:e7:e0:e5:17:d8:46:fe:8f:e5:60:fc:1b:f0:30:39 -# Subject: CN=DigiCert Assured ID Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US -# Not Valid Before: Fri Nov 10 00:00:00 2006 -# Not Valid After : Mon Nov 10 00:00:00 2031 -# Fingerprint (MD5): 87:CE:0B:7B:2A:0E:49:00:E1:58:71:9B:37:A8:93:72 -# Fingerprint (SHA1): 05:63:B8:63:0D:62:D7:5A:BB:C8:AB:1E:4B:DF:B5:A8:99:B2:4D:43 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "DigiCert Assured ID Root CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\005\143\270\143\015\142\327\132\273\310\253\036\113\337\265\250 -\231\262\115\103 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\207\316\013\173\052\016\111\000\341\130\161\233\067\250\223\162 -END -CKA_ISSUER MULTILINE_OCTAL -\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 -\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 -\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 -\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151 -\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040 -\122\157\157\164\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\014\347\340\345\027\330\106\376\217\345\140\374\033\360 -\060\071 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "DigiCert Global Root CA" -# -# Issuer: CN=DigiCert Global Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US -# Serial Number:08:3b:e0:56:90:42:46:b1:a1:75:6a:c9:59:91:c7:4a -# Subject: CN=DigiCert Global Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US -# Not Valid Before: Fri Nov 10 00:00:00 2006 -# Not Valid After : Mon Nov 10 00:00:00 2031 -# Fingerprint (MD5): 79:E4:A9:84:0D:7D:3A:96:D7:C0:4F:E2:43:4C:89:2E -# Fingerprint (SHA1): A8:98:5D:3A:65:E5:E5:C4:B2:D7:D6:6D:40:C6:DD:2F:B1:9C:54:36 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "DigiCert Global Root CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 -\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 -\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 -\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147\151 -\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157\164 -\040\103\101 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 -\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 -\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 -\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147\151 -\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157\164 -\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\010\073\340\126\220\102\106\261\241\165\152\311\131\221 -\307\112 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\257\060\202\002\227\240\003\002\001\002\002\020\010 -\073\340\126\220\102\106\261\241\165\152\311\131\221\307\112\060 -\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\141 -\061\013\060\011\006\003\125\004\006\023\002\125\123\061\025\060 -\023\006\003\125\004\012\023\014\104\151\147\151\103\145\162\164 -\040\111\156\143\061\031\060\027\006\003\125\004\013\023\020\167 -\167\167\056\144\151\147\151\143\145\162\164\056\143\157\155\061 -\040\060\036\006\003\125\004\003\023\027\104\151\147\151\103\145 -\162\164\040\107\154\157\142\141\154\040\122\157\157\164\040\103 -\101\060\036\027\015\060\066\061\061\061\060\060\060\060\060\060 -\060\132\027\015\063\061\061\061\061\060\060\060\060\060\060\060 -\132\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103 -\145\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013 -\023\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143 -\157\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147 -\151\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157 -\164\040\103\101\060\202\001\042\060\015\006\011\052\206\110\206 -\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012 -\002\202\001\001\000\342\073\341\021\162\336\250\244\323\243\127 -\252\120\242\217\013\167\220\311\242\245\356\022\316\226\133\001 -\011\040\314\001\223\247\116\060\267\123\367\103\304\151\000\127 -\235\342\215\042\335\207\006\100\000\201\011\316\316\033\203\277 -\337\315\073\161\106\342\326\146\307\005\263\166\047\026\217\173 -\236\036\225\175\356\267\110\243\010\332\326\257\172\014\071\006 -\145\177\112\135\037\274\027\370\253\276\356\050\327\164\177\172 -\170\231\131\205\150\156\134\043\062\113\277\116\300\350\132\155 -\343\160\277\167\020\277\374\001\366\205\331\250\104\020\130\062 -\251\165\030\325\321\242\276\107\342\047\152\364\232\063\370\111 -\010\140\213\324\137\264\072\204\277\241\252\112\114\175\076\317 -\117\137\154\166\136\240\113\067\221\236\334\042\346\155\316\024 -\032\216\152\313\376\315\263\024\144\027\307\133\051\236\062\277 -\362\356\372\323\013\102\324\253\267\101\062\332\014\324\357\370 -\201\325\273\215\130\077\265\033\350\111\050\242\160\332\061\004 -\335\367\262\026\362\114\012\116\007\250\355\112\075\136\265\177 -\243\220\303\257\047\002\003\001\000\001\243\143\060\141\060\016 -\006\003\125\035\017\001\001\377\004\004\003\002\001\206\060\017 -\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060 -\035\006\003\125\035\016\004\026\004\024\003\336\120\065\126\321 -\114\273\146\360\243\342\033\033\303\227\262\075\321\125\060\037 -\006\003\125\035\043\004\030\060\026\200\024\003\336\120\065\126 -\321\114\273\146\360\243\342\033\033\303\227\262\075\321\125\060 -\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003\202 -\001\001\000\313\234\067\252\110\023\022\012\372\335\104\234\117 -\122\260\364\337\256\004\365\171\171\010\243\044\030\374\113\053 -\204\300\055\271\325\307\376\364\301\037\130\313\270\155\234\172 -\164\347\230\051\253\021\265\343\160\240\241\315\114\210\231\223 -\214\221\160\342\253\017\034\276\223\251\377\143\325\344\007\140 -\323\243\277\235\133\011\361\325\216\343\123\364\216\143\372\077 -\247\333\264\146\337\142\146\326\321\156\101\215\362\055\265\352 -\167\112\237\235\130\342\053\131\300\100\043\355\055\050\202\105 -\076\171\124\222\046\230\340\200\110\250\067\357\360\326\171\140 -\026\336\254\350\016\315\156\254\104\027\070\057\111\332\341\105 -\076\052\271\066\123\317\072\120\006\367\056\350\304\127\111\154 -\141\041\030\325\004\255\170\074\054\072\200\153\247\353\257\025 -\024\351\330\211\301\271\070\154\342\221\154\212\377\144\271\167 -\045\127\060\300\033\044\243\341\334\351\337\107\174\265\264\044 -\010\005\060\354\055\275\013\277\105\277\120\271\251\363\353\230 -\001\022\255\310\210\306\230\064\137\215\012\074\306\351\325\225 -\225\155\336 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "DigiCert Global Root CA" -# Issuer: CN=DigiCert Global Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US -# Serial Number:08:3b:e0:56:90:42:46:b1:a1:75:6a:c9:59:91:c7:4a -# Subject: CN=DigiCert Global Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US -# Not Valid Before: Fri Nov 10 00:00:00 2006 -# Not Valid After : Mon Nov 10 00:00:00 2031 -# Fingerprint (MD5): 79:E4:A9:84:0D:7D:3A:96:D7:C0:4F:E2:43:4C:89:2E -# Fingerprint (SHA1): A8:98:5D:3A:65:E5:E5:C4:B2:D7:D6:6D:40:C6:DD:2F:B1:9C:54:36 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "DigiCert Global Root CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\250\230\135\072\145\345\345\304\262\327\326\155\100\306\335\057 -\261\234\124\066 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\171\344\251\204\015\175\072\226\327\300\117\342\103\114\211\056 -END -CKA_ISSUER MULTILINE_OCTAL -\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 -\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 -\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 -\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147\151 -\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157\164 -\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\010\073\340\126\220\102\106\261\241\165\152\311\131\221 -\307\112 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "DigiCert High Assurance EV Root CA" -# -# Issuer: CN=DigiCert High Assurance EV Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US -# Serial Number:02:ac:5c:26:6a:0b:40:9b:8f:0b:79:f2:ae:46:25:77 -# Subject: CN=DigiCert High Assurance EV Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US -# Not Valid Before: Fri Nov 10 00:00:00 2006 -# Not Valid After : Mon Nov 10 00:00:00 2031 -# Fingerprint (MD5): D4:74:DE:57:5C:39:B2:D3:9C:85:83:C5:C0:65:49:8A -# Fingerprint (SHA1): 5F:B7:EE:06:33:E2:59:DB:AD:0C:4C:9A:E6:D3:8F:1A:61:C7:DC:25 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "DigiCert High Assurance EV Root CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\154\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 -\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 -\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 -\155\061\053\060\051\006\003\125\004\003\023\042\104\151\147\151 -\103\145\162\164\040\110\151\147\150\040\101\163\163\165\162\141 -\156\143\145\040\105\126\040\122\157\157\164\040\103\101 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\154\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 -\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 -\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 -\155\061\053\060\051\006\003\125\004\003\023\042\104\151\147\151 -\103\145\162\164\040\110\151\147\150\040\101\163\163\165\162\141 -\156\143\145\040\105\126\040\122\157\157\164\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\002\254\134\046\152\013\100\233\217\013\171\362\256\106 -\045\167 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\305\060\202\002\255\240\003\002\001\002\002\020\002 -\254\134\046\152\013\100\233\217\013\171\362\256\106\045\167\060 -\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\154 -\061\013\060\011\006\003\125\004\006\023\002\125\123\061\025\060 -\023\006\003\125\004\012\023\014\104\151\147\151\103\145\162\164 -\040\111\156\143\061\031\060\027\006\003\125\004\013\023\020\167 -\167\167\056\144\151\147\151\143\145\162\164\056\143\157\155\061 -\053\060\051\006\003\125\004\003\023\042\104\151\147\151\103\145 -\162\164\040\110\151\147\150\040\101\163\163\165\162\141\156\143 -\145\040\105\126\040\122\157\157\164\040\103\101\060\036\027\015 -\060\066\061\061\061\060\060\060\060\060\060\060\132\027\015\063 -\061\061\061\061\060\060\060\060\060\060\060\132\060\154\061\013 -\060\011\006\003\125\004\006\023\002\125\123\061\025\060\023\006 -\003\125\004\012\023\014\104\151\147\151\103\145\162\164\040\111 -\156\143\061\031\060\027\006\003\125\004\013\023\020\167\167\167 -\056\144\151\147\151\143\145\162\164\056\143\157\155\061\053\060 -\051\006\003\125\004\003\023\042\104\151\147\151\103\145\162\164 -\040\110\151\147\150\040\101\163\163\165\162\141\156\143\145\040 -\105\126\040\122\157\157\164\040\103\101\060\202\001\042\060\015 -\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001 -\017\000\060\202\001\012\002\202\001\001\000\306\314\345\163\346 -\373\324\273\345\055\055\062\246\337\345\201\077\311\315\045\111 -\266\161\052\303\325\224\064\147\242\012\034\260\137\151\246\100 -\261\304\267\262\217\320\230\244\251\101\131\072\323\334\224\326 -\074\333\164\070\244\112\314\115\045\202\367\112\245\123\022\070 -\356\363\111\155\161\221\176\143\266\253\246\137\303\244\204\370 -\117\142\121\276\370\305\354\333\070\222\343\006\345\010\221\014 -\304\050\101\125\373\313\132\211\025\176\161\350\065\277\115\162 -\011\075\276\072\070\120\133\167\061\033\215\263\307\044\105\232 -\247\254\155\000\024\132\004\267\272\023\353\121\012\230\101\101 -\042\116\145\141\207\201\101\120\246\171\134\211\336\031\112\127 -\325\056\346\135\034\123\054\176\230\315\032\006\026\244\150\163 -\320\064\004\023\134\241\161\323\132\174\125\333\136\144\341\067 -\207\060\126\004\345\021\264\051\200\022\361\171\071\210\242\002 -\021\174\047\146\267\210\267\170\362\312\012\250\070\253\012\144 -\302\277\146\135\225\204\301\241\045\036\207\135\032\120\013\040 -\022\314\101\273\156\013\121\070\270\113\313\002\003\001\000\001 -\243\143\060\141\060\016\006\003\125\035\017\001\001\377\004\004 -\003\002\001\206\060\017\006\003\125\035\023\001\001\377\004\005 -\060\003\001\001\377\060\035\006\003\125\035\016\004\026\004\024 -\261\076\303\151\003\370\277\107\001\324\230\046\032\010\002\357 -\143\144\053\303\060\037\006\003\125\035\043\004\030\060\026\200 -\024\261\076\303\151\003\370\277\107\001\324\230\046\032\010\002 -\357\143\144\053\303\060\015\006\011\052\206\110\206\367\015\001 -\001\005\005\000\003\202\001\001\000\034\032\006\227\334\327\234 -\237\074\210\146\006\010\127\041\333\041\107\370\052\147\252\277 -\030\062\166\100\020\127\301\212\363\172\331\021\145\216\065\372 -\236\374\105\265\236\331\114\061\113\270\221\350\103\054\216\263 -\170\316\333\343\123\171\161\326\345\041\224\001\332\125\207\232 -\044\144\366\212\146\314\336\234\067\315\250\064\261\151\233\043 -\310\236\170\042\053\160\103\343\125\107\061\141\031\357\130\305 -\205\057\116\060\366\240\061\026\043\310\347\342\145\026\063\313 -\277\032\033\240\075\370\312\136\213\061\213\140\010\211\055\014 -\006\134\122\267\304\371\012\230\321\025\137\237\022\276\174\066 -\143\070\275\104\244\177\344\046\053\012\304\227\151\015\351\214 -\342\300\020\127\270\310\166\022\221\125\362\110\151\330\274\052 -\002\133\017\104\324\040\061\333\364\272\160\046\135\220\140\236 -\274\113\027\011\057\264\313\036\103\150\311\007\047\301\322\134 -\367\352\041\271\150\022\234\074\234\277\236\374\200\134\233\143 -\315\354\107\252\045\047\147\240\067\363\000\202\175\124\327\251 -\370\351\056\023\243\167\350\037\112 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "DigiCert High Assurance EV Root CA" -# Issuer: CN=DigiCert High Assurance EV Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US -# Serial Number:02:ac:5c:26:6a:0b:40:9b:8f:0b:79:f2:ae:46:25:77 -# Subject: CN=DigiCert High Assurance EV Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US -# Not Valid Before: Fri Nov 10 00:00:00 2006 -# Not Valid After : Mon Nov 10 00:00:00 2031 -# Fingerprint (MD5): D4:74:DE:57:5C:39:B2:D3:9C:85:83:C5:C0:65:49:8A -# Fingerprint (SHA1): 5F:B7:EE:06:33:E2:59:DB:AD:0C:4C:9A:E6:D3:8F:1A:61:C7:DC:25 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "DigiCert High Assurance EV Root CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\137\267\356\006\063\342\131\333\255\014\114\232\346\323\217\032 -\141\307\334\045 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\324\164\336\127\134\071\262\323\234\205\203\305\300\145\111\212 -END -CKA_ISSUER MULTILINE_OCTAL -\060\154\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 -\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 -\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 -\155\061\053\060\051\006\003\125\004\003\023\042\104\151\147\151 -\103\145\162\164\040\110\151\147\150\040\101\163\163\165\162\141 -\156\143\145\040\105\126\040\122\157\157\164\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\002\254\134\046\152\013\100\233\217\013\171\362\256\106 -\045\167 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "DST Root CA X3" -# -# Issuer: CN=DST Root CA X3,O=Digital Signature Trust Co. -# Serial Number:44:af:b0:80:d6:a3:27:ba:89:30:39:86:2e:f8:40:6b -# Subject: CN=DST Root CA X3,O=Digital Signature Trust Co. -# Not Valid Before: Sat Sep 30 21:12:19 2000 -# Not Valid After : Thu Sep 30 14:01:15 2021 -# Fingerprint (MD5): 41:03:52:DC:0F:F7:50:1B:16:F0:02:8E:BA:6F:45:C5 -# Fingerprint (SHA1): DA:C9:02:4F:54:D8:F6:DF:94:93:5F:B1:73:26:38:CA:6A:D7:7C:13 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "DST Root CA X3" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\077\061\044\060\042\006\003\125\004\012\023\033\104\151\147 -\151\164\141\154\040\123\151\147\156\141\164\165\162\145\040\124 -\162\165\163\164\040\103\157\056\061\027\060\025\006\003\125\004 -\003\023\016\104\123\124\040\122\157\157\164\040\103\101\040\130 -\063 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\077\061\044\060\042\006\003\125\004\012\023\033\104\151\147 -\151\164\141\154\040\123\151\147\156\141\164\165\162\145\040\124 -\162\165\163\164\040\103\157\056\061\027\060\025\006\003\125\004 -\003\023\016\104\123\124\040\122\157\157\164\040\103\101\040\130 -\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\104\257\260\200\326\243\047\272\211\060\071\206\056\370 -\100\153 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\112\060\202\002\062\240\003\002\001\002\002\020\104 -\257\260\200\326\243\047\272\211\060\071\206\056\370\100\153\060 -\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\077 -\061\044\060\042\006\003\125\004\012\023\033\104\151\147\151\164 -\141\154\040\123\151\147\156\141\164\165\162\145\040\124\162\165 -\163\164\040\103\157\056\061\027\060\025\006\003\125\004\003\023 -\016\104\123\124\040\122\157\157\164\040\103\101\040\130\063\060 -\036\027\015\060\060\060\071\063\060\062\061\061\062\061\071\132 -\027\015\062\061\060\071\063\060\061\064\060\061\061\065\132\060 -\077\061\044\060\042\006\003\125\004\012\023\033\104\151\147\151 -\164\141\154\040\123\151\147\156\141\164\165\162\145\040\124\162 -\165\163\164\040\103\157\056\061\027\060\025\006\003\125\004\003 -\023\016\104\123\124\040\122\157\157\164\040\103\101\040\130\063 -\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001\001 -\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001\001 -\000\337\257\351\227\120\010\203\127\264\314\142\145\366\220\202 -\354\307\323\054\153\060\312\133\354\331\303\175\307\100\301\030 -\024\213\340\350\063\166\111\052\343\077\041\111\223\254\116\016 -\257\076\110\313\145\356\374\323\041\017\145\322\052\331\062\217 -\214\345\367\167\260\022\173\265\225\300\211\243\251\272\355\163 -\056\172\014\006\062\203\242\176\212\024\060\315\021\240\341\052 -\070\271\171\012\061\375\120\275\200\145\337\267\121\143\203\310 -\342\210\141\352\113\141\201\354\122\153\271\242\342\113\032\050 -\237\110\243\236\014\332\011\216\076\027\056\036\335\040\337\133 -\306\052\212\253\056\275\160\255\305\013\032\045\220\164\162\305 -\173\152\253\064\326\060\211\377\345\150\023\173\124\013\310\326 -\256\354\132\234\222\036\075\144\263\214\306\337\277\311\101\160 -\354\026\162\325\046\354\070\125\071\103\320\374\375\030\134\100 -\361\227\353\325\232\233\215\035\272\332\045\271\306\330\337\301 -\025\002\072\253\332\156\361\076\056\365\134\010\234\074\326\203 -\151\344\020\233\031\052\266\051\127\343\345\075\233\237\360\002 -\135\002\003\001\000\001\243\102\060\100\060\017\006\003\125\035 -\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003\125 -\035\017\001\001\377\004\004\003\002\001\006\060\035\006\003\125 -\035\016\004\026\004\024\304\247\261\244\173\054\161\372\333\341 -\113\220\165\377\304\025\140\205\211\020\060\015\006\011\052\206 -\110\206\367\015\001\001\005\005\000\003\202\001\001\000\243\032 -\054\233\027\000\134\251\036\356\050\146\067\072\277\203\307\077 -\113\303\011\240\225\040\135\343\331\131\104\322\076\015\076\275 -\212\113\240\164\037\316\020\202\234\164\032\035\176\230\032\335 -\313\023\113\263\040\104\344\221\351\314\374\175\245\333\152\345 -\376\346\375\340\116\335\267\000\072\265\160\111\257\362\345\353 -\002\361\321\002\213\031\313\224\072\136\110\304\030\036\130\031 -\137\036\002\132\360\014\361\261\255\251\334\131\206\213\156\351 -\221\365\206\312\372\271\146\063\252\131\133\316\342\247\026\163 -\107\313\053\314\231\260\067\110\317\343\126\113\365\317\017\014 -\162\062\207\306\360\104\273\123\162\155\103\365\046\110\232\122 -\147\267\130\253\376\147\166\161\170\333\015\242\126\024\023\071 -\044\061\205\242\250\002\132\060\107\341\335\120\007\274\002\011 -\220\000\353\144\143\140\233\026\274\210\311\022\346\322\175\221 -\213\371\075\062\215\145\264\351\174\261\127\166\352\305\266\050 -\071\277\025\145\034\310\366\167\226\152\012\215\167\013\330\221 -\013\004\216\007\333\051\266\012\356\235\202\065\065\020 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "DST Root CA X3" -# Issuer: CN=DST Root CA X3,O=Digital Signature Trust Co. -# Serial Number:44:af:b0:80:d6:a3:27:ba:89:30:39:86:2e:f8:40:6b -# Subject: CN=DST Root CA X3,O=Digital Signature Trust Co. -# Not Valid Before: Sat Sep 30 21:12:19 2000 -# Not Valid After : Thu Sep 30 14:01:15 2021 -# Fingerprint (MD5): 41:03:52:DC:0F:F7:50:1B:16:F0:02:8E:BA:6F:45:C5 -# Fingerprint (SHA1): DA:C9:02:4F:54:D8:F6:DF:94:93:5F:B1:73:26:38:CA:6A:D7:7C:13 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "DST Root CA X3" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\332\311\002\117\124\330\366\337\224\223\137\261\163\046\070\312 -\152\327\174\023 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\101\003\122\334\017\367\120\033\026\360\002\216\272\157\105\305 -END -CKA_ISSUER MULTILINE_OCTAL -\060\077\061\044\060\042\006\003\125\004\012\023\033\104\151\147 -\151\164\141\154\040\123\151\147\156\141\164\165\162\145\040\124 -\162\165\163\164\040\103\157\056\061\027\060\025\006\003\125\004 -\003\023\016\104\123\124\040\122\157\157\164\040\103\101\040\130 -\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\104\257\260\200\326\243\047\272\211\060\071\206\056\370 -\100\153 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "SwissSign Platinum CA - G2" -# -# Issuer: CN=SwissSign Platinum CA - G2,O=SwissSign AG,C=CH -# Serial Number:4e:b2:00:67:0c:03:5d:4f -# Subject: CN=SwissSign Platinum CA - G2,O=SwissSign AG,C=CH -# Not Valid Before: Wed Oct 25 08:36:00 2006 -# Not Valid After : Sat Oct 25 08:36:00 2036 -# Fingerprint (MD5): C9:98:27:77:28:1E:3D:0E:15:3C:84:00:B8:85:03:E6 -# Fingerprint (SHA1): 56:E0:FA:C0:3B:8F:18:23:55:18:E5:D3:11:CA:E8:C2:43:31:AB:66 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "SwissSign Platinum CA - G2" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\111\061\013\060\011\006\003\125\004\006\023\002\103\110\061 -\025\060\023\006\003\125\004\012\023\014\123\167\151\163\163\123 -\151\147\156\040\101\107\061\043\060\041\006\003\125\004\003\023 -\032\123\167\151\163\163\123\151\147\156\040\120\154\141\164\151 -\156\165\155\040\103\101\040\055\040\107\062 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\111\061\013\060\011\006\003\125\004\006\023\002\103\110\061 -\025\060\023\006\003\125\004\012\023\014\123\167\151\163\163\123 -\151\147\156\040\101\107\061\043\060\041\006\003\125\004\003\023 -\032\123\167\151\163\163\123\151\147\156\040\120\154\141\164\151 -\156\165\155\040\103\101\040\055\040\107\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\010\116\262\000\147\014\003\135\117 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\301\060\202\003\251\240\003\002\001\002\002\010\116 -\262\000\147\014\003\135\117\060\015\006\011\052\206\110\206\367 -\015\001\001\005\005\000\060\111\061\013\060\011\006\003\125\004 -\006\023\002\103\110\061\025\060\023\006\003\125\004\012\023\014 -\123\167\151\163\163\123\151\147\156\040\101\107\061\043\060\041 -\006\003\125\004\003\023\032\123\167\151\163\163\123\151\147\156 -\040\120\154\141\164\151\156\165\155\040\103\101\040\055\040\107 -\062\060\036\027\015\060\066\061\060\062\065\060\070\063\066\060 -\060\132\027\015\063\066\061\060\062\065\060\070\063\066\060\060 -\132\060\111\061\013\060\011\006\003\125\004\006\023\002\103\110 -\061\025\060\023\006\003\125\004\012\023\014\123\167\151\163\163 -\123\151\147\156\040\101\107\061\043\060\041\006\003\125\004\003 -\023\032\123\167\151\163\163\123\151\147\156\040\120\154\141\164 -\151\156\165\155\040\103\101\040\055\040\107\062\060\202\002\042 -\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003 -\202\002\017\000\060\202\002\012\002\202\002\001\000\312\337\242 -\002\342\332\370\374\007\026\261\336\140\252\336\226\134\144\037 -\307\057\176\317\147\372\104\102\326\166\143\225\256\353\257\162 -\040\212\105\107\206\142\170\206\326\040\071\046\364\256\243\375 -\043\347\245\234\265\042\041\031\267\067\223\042\300\120\234\202 -\173\324\325\004\104\134\313\264\302\237\222\276\044\330\173\147 -\042\342\151\137\345\005\170\324\207\331\161\160\063\045\123\264 -\207\073\051\220\050\066\232\125\104\060\150\244\203\227\177\015 -\036\234\166\377\025\235\140\227\000\215\212\205\003\354\200\276 -\352\054\156\020\121\222\314\176\325\243\063\330\326\111\336\130 -\052\257\366\026\353\113\173\220\062\227\271\272\235\130\361\370 -\127\111\004\036\242\135\006\160\335\161\333\371\335\213\232\033 -\214\317\075\243\115\316\313\174\366\273\234\240\372\011\316\043 -\142\262\351\015\037\342\162\050\217\237\254\150\040\175\157\073 -\250\205\061\011\177\013\307\350\145\351\343\170\016\011\147\060 -\213\064\202\373\135\340\314\235\201\155\142\356\010\036\004\054 -\116\233\354\376\251\117\137\375\151\170\357\011\037\241\264\277 -\372\363\357\220\036\114\005\213\036\352\172\221\172\303\327\345 -\373\060\274\154\033\020\130\230\367\032\137\320\051\062\003\023 -\106\115\141\152\205\114\122\164\057\006\037\173\021\342\204\227 -\306\231\363\155\177\327\147\203\176\023\150\330\161\050\132\330 -\316\335\350\020\024\232\376\155\043\207\156\216\132\160\074\325 -\215\011\000\247\252\274\260\061\067\155\310\204\024\036\133\275 -\105\143\040\153\113\164\214\275\333\072\016\301\317\132\026\217 -\245\230\362\166\211\262\023\022\073\013\167\167\254\273\345\074 -\051\112\222\162\312\141\032\053\136\114\342\203\164\167\372\065 -\110\172\205\115\215\232\123\304\337\170\312\227\221\110\053\105 -\053\001\367\034\032\242\355\030\272\012\275\203\372\157\274\215 -\127\223\073\324\324\246\316\036\361\240\261\316\253\375\053\050 -\232\117\033\327\303\162\333\244\304\277\135\114\365\335\173\226 -\151\356\150\200\346\347\230\272\066\267\376\156\355\053\275\040 -\370\145\031\332\125\011\176\045\334\376\141\142\162\371\176\030 -\002\357\143\264\320\373\257\345\073\143\214\147\217\002\003\001 -\000\001\243\201\254\060\201\251\060\016\006\003\125\035\017\001 -\001\377\004\004\003\002\001\006\060\017\006\003\125\035\023\001 -\001\377\004\005\060\003\001\001\377\060\035\006\003\125\035\016 -\004\026\004\024\120\257\314\007\207\025\107\157\070\305\264\145 -\321\336\225\252\351\337\234\314\060\037\006\003\125\035\043\004 -\030\060\026\200\024\120\257\314\007\207\025\107\157\070\305\264 -\145\321\336\225\252\351\337\234\314\060\106\006\003\125\035\040 -\004\077\060\075\060\073\006\011\140\205\164\001\131\001\001\001 -\001\060\056\060\054\006\010\053\006\001\005\005\007\002\001\026 -\040\150\164\164\160\072\057\057\162\145\160\157\163\151\164\157 -\162\171\056\163\167\151\163\163\163\151\147\156\056\143\157\155 -\057\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000 -\003\202\002\001\000\010\205\246\365\026\014\374\104\032\301\143 -\340\371\125\106\010\374\160\034\102\050\226\216\267\305\301\101 -\165\116\011\161\171\345\155\226\312\113\245\210\140\320\060\164 -\270\312\010\334\264\060\236\100\007\026\153\145\225\167\001\256 -\244\267\065\013\201\332\161\025\251\164\027\070\173\130\312\371 -\057\373\300\145\166\215\133\001\271\175\336\202\075\144\270\276 -\024\164\243\012\124\323\054\225\030\027\065\365\121\153\077\217 -\242\226\141\071\170\153\113\345\246\240\370\123\337\121\020\223 -\142\347\200\057\342\321\340\274\216\066\106\167\063\354\270\373 -\216\232\054\211\115\061\021\017\046\236\004\273\267\004\215\013 -\362\271\374\132\235\073\026\267\057\310\230\253\376\212\120\131 -\056\243\073\374\051\135\213\301\113\311\342\212\023\035\261\277 -\273\102\035\122\335\116\330\024\136\020\306\061\007\357\161\047 -\367\033\071\011\334\202\352\213\263\225\206\136\375\365\332\135 -\061\246\340\061\266\224\346\104\111\164\305\026\345\367\037\003 -\141\050\305\310\313\022\240\102\113\371\153\210\010\215\264\062 -\030\363\165\237\304\177\000\117\005\225\234\243\027\002\303\263 -\123\233\252\040\071\051\053\146\372\235\257\136\263\222\322\265 -\246\341\032\371\055\101\151\201\024\264\264\265\355\211\075\316 -\373\251\235\065\102\104\261\034\024\163\201\317\052\001\065\232 -\061\325\055\217\155\204\337\200\115\127\343\077\305\204\165\332 -\211\306\060\273\353\217\313\042\010\240\256\252\361\003\154\072 -\113\115\011\245\016\162\306\126\153\041\102\116\043\045\024\150 -\256\166\012\174\014\007\160\144\371\232\057\366\005\071\046\306 -\014\217\031\177\103\136\156\364\133\025\057\333\141\135\346\147 -\057\077\010\224\371\140\264\230\061\332\164\361\204\223\161\115 -\137\373\140\130\321\373\304\301\155\211\242\273\040\037\235\161 -\221\313\062\233\023\075\076\175\222\122\065\254\222\224\242\323 -\030\302\174\307\352\257\166\005\026\335\147\047\302\176\034\007 -\042\041\363\100\012\033\064\007\104\023\302\204\152\216\337\031 -\132\277\177\353\035\342\032\070\321\134\257\107\222\153\200\265 -\060\245\311\215\330\253\061\201\037\337\302\146\067\323\223\251 -\205\206\171\145\322 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "SwissSign Platinum CA - G2" -# Issuer: CN=SwissSign Platinum CA - G2,O=SwissSign AG,C=CH -# Serial Number:4e:b2:00:67:0c:03:5d:4f -# Subject: CN=SwissSign Platinum CA - G2,O=SwissSign AG,C=CH -# Not Valid Before: Wed Oct 25 08:36:00 2006 -# Not Valid After : Sat Oct 25 08:36:00 2036 -# Fingerprint (MD5): C9:98:27:77:28:1E:3D:0E:15:3C:84:00:B8:85:03:E6 -# Fingerprint (SHA1): 56:E0:FA:C0:3B:8F:18:23:55:18:E5:D3:11:CA:E8:C2:43:31:AB:66 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "SwissSign Platinum CA - G2" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\126\340\372\300\073\217\030\043\125\030\345\323\021\312\350\302 -\103\061\253\146 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\311\230\047\167\050\036\075\016\025\074\204\000\270\205\003\346 -END -CKA_ISSUER MULTILINE_OCTAL -\060\111\061\013\060\011\006\003\125\004\006\023\002\103\110\061 -\025\060\023\006\003\125\004\012\023\014\123\167\151\163\163\123 -\151\147\156\040\101\107\061\043\060\041\006\003\125\004\003\023 -\032\123\167\151\163\163\123\151\147\156\040\120\154\141\164\151 -\156\165\155\040\103\101\040\055\040\107\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\010\116\262\000\147\014\003\135\117 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "SwissSign Gold CA - G2" -# -# Issuer: CN=SwissSign Gold CA - G2,O=SwissSign AG,C=CH -# Serial Number:00:bb:40:1c:43:f5:5e:4f:b0 -# Subject: CN=SwissSign Gold CA - G2,O=SwissSign AG,C=CH -# Not Valid Before: Wed Oct 25 08:30:35 2006 -# Not Valid After : Sat Oct 25 08:30:35 2036 -# Fingerprint (MD5): 24:77:D9:A8:91:D1:3B:FA:88:2D:C2:FF:F8:CD:33:93 -# Fingerprint (SHA1): D8:C5:38:8A:B7:30:1B:1B:6E:D4:7A:E6:45:25:3A:6F:9F:1A:27:61 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "SwissSign Gold CA - G2" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\105\061\013\060\011\006\003\125\004\006\023\002\103\110\061 -\025\060\023\006\003\125\004\012\023\014\123\167\151\163\163\123 -\151\147\156\040\101\107\061\037\060\035\006\003\125\004\003\023 -\026\123\167\151\163\163\123\151\147\156\040\107\157\154\144\040 -\103\101\040\055\040\107\062 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\105\061\013\060\011\006\003\125\004\006\023\002\103\110\061 -\025\060\023\006\003\125\004\012\023\014\123\167\151\163\163\123 -\151\147\156\040\101\107\061\037\060\035\006\003\125\004\003\023 -\026\123\167\151\163\163\123\151\147\156\040\107\157\154\144\040 -\103\101\040\055\040\107\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\011\000\273\100\034\103\365\136\117\260 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\272\060\202\003\242\240\003\002\001\002\002\011\000 -\273\100\034\103\365\136\117\260\060\015\006\011\052\206\110\206 -\367\015\001\001\005\005\000\060\105\061\013\060\011\006\003\125 -\004\006\023\002\103\110\061\025\060\023\006\003\125\004\012\023 -\014\123\167\151\163\163\123\151\147\156\040\101\107\061\037\060 -\035\006\003\125\004\003\023\026\123\167\151\163\163\123\151\147 -\156\040\107\157\154\144\040\103\101\040\055\040\107\062\060\036 -\027\015\060\066\061\060\062\065\060\070\063\060\063\065\132\027 -\015\063\066\061\060\062\065\060\070\063\060\063\065\132\060\105 -\061\013\060\011\006\003\125\004\006\023\002\103\110\061\025\060 -\023\006\003\125\004\012\023\014\123\167\151\163\163\123\151\147 -\156\040\101\107\061\037\060\035\006\003\125\004\003\023\026\123 -\167\151\163\163\123\151\147\156\040\107\157\154\144\040\103\101 -\040\055\040\107\062\060\202\002\042\060\015\006\011\052\206\110 -\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202\002 -\012\002\202\002\001\000\257\344\356\176\213\044\016\022\156\251 -\120\055\026\104\073\222\222\134\312\270\135\204\222\102\023\052 -\274\145\127\202\100\076\127\044\315\120\213\045\052\267\157\374 -\357\242\320\300\037\002\044\112\023\226\217\043\023\346\050\130 -\000\243\107\307\006\247\204\043\053\273\275\226\053\177\125\314 -\213\301\127\037\016\142\145\017\335\075\126\212\163\332\256\176 -\155\272\201\034\176\102\214\040\065\331\103\115\204\372\204\333 -\122\054\363\016\047\167\013\153\277\021\057\162\170\237\056\330 -\076\346\030\067\132\052\162\371\332\142\220\222\225\312\037\234 -\351\263\074\053\313\363\001\023\277\132\317\301\265\012\140\275 -\335\265\231\144\123\270\240\226\263\157\342\046\167\221\214\340 -\142\020\002\237\064\017\244\325\222\063\121\336\276\215\272\204 -\172\140\074\152\333\237\053\354\336\336\001\077\156\115\345\120 -\206\313\264\257\355\104\100\305\312\132\214\332\322\053\174\250 -\356\276\246\345\012\252\016\245\337\005\122\267\125\307\042\135 -\062\152\227\227\143\023\333\311\333\171\066\173\205\072\112\305 -\122\211\371\044\347\235\167\251\202\377\125\034\245\161\151\053 -\321\002\044\362\263\046\324\153\332\004\125\345\301\012\307\155 -\060\067\220\052\344\236\024\063\136\026\027\125\305\133\265\313 -\064\211\222\361\235\046\217\241\007\324\306\262\170\120\333\014 -\014\013\174\013\214\101\327\271\351\335\214\210\367\243\115\262 -\062\314\330\027\332\315\267\316\146\235\324\375\136\377\275\227 -\076\051\165\347\176\247\142\130\257\045\064\245\101\307\075\274 -\015\120\312\003\003\017\010\132\037\225\163\170\142\277\257\162 -\024\151\016\245\345\003\016\170\216\046\050\102\360\007\013\142 -\040\020\147\071\106\372\251\003\314\004\070\172\146\357\040\203 -\265\214\112\126\216\221\000\374\216\134\202\336\210\240\303\342 -\150\156\175\215\357\074\335\145\364\135\254\121\357\044\200\256 -\252\126\227\157\371\255\175\332\141\077\230\167\074\245\221\266 -\034\214\046\332\145\242\011\155\301\342\124\343\271\312\114\114 -\200\217\167\173\140\232\036\337\266\362\110\036\016\272\116\124 -\155\230\340\341\242\032\242\167\120\317\304\143\222\354\107\031 -\235\353\346\153\316\301\002\003\001\000\001\243\201\254\060\201 -\251\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001 -\006\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001 -\001\377\060\035\006\003\125\035\016\004\026\004\024\133\045\173 -\226\244\145\121\176\270\071\363\300\170\146\136\350\072\347\360 -\356\060\037\006\003\125\035\043\004\030\060\026\200\024\133\045 -\173\226\244\145\121\176\270\071\363\300\170\146\136\350\072\347 -\360\356\060\106\006\003\125\035\040\004\077\060\075\060\073\006 -\011\140\205\164\001\131\001\002\001\001\060\056\060\054\006\010 -\053\006\001\005\005\007\002\001\026\040\150\164\164\160\072\057 -\057\162\145\160\157\163\151\164\157\162\171\056\163\167\151\163 -\163\163\151\147\156\056\143\157\155\057\060\015\006\011\052\206 -\110\206\367\015\001\001\005\005\000\003\202\002\001\000\047\272 -\343\224\174\361\256\300\336\027\346\345\330\325\365\124\260\203 -\364\273\315\136\005\173\117\237\165\146\257\074\350\126\176\374 -\162\170\070\003\331\053\142\033\000\271\370\351\140\315\314\316 -\121\212\307\120\061\156\341\112\176\030\057\151\131\266\075\144 -\201\053\343\203\204\346\042\207\216\175\340\356\002\231\141\270 -\036\364\270\053\210\022\026\204\302\061\223\070\226\061\246\271 -\073\123\077\303\044\223\126\133\151\222\354\305\301\273\070\000 -\343\354\027\251\270\334\307\174\001\203\237\062\107\272\122\042 -\064\035\062\172\011\126\247\174\045\066\251\075\113\332\300\202 -\157\012\273\022\310\207\113\047\021\371\036\055\307\223\077\236 -\333\137\046\153\122\331\056\212\361\024\306\104\215\025\251\267 -\277\275\336\246\032\356\256\055\373\110\167\027\376\273\354\257 -\030\365\052\121\360\071\204\227\225\154\156\033\303\053\304\164 -\140\171\045\260\012\047\337\337\136\322\071\317\105\175\102\113 -\337\263\054\036\305\306\135\312\125\072\240\234\151\232\217\332 -\357\262\260\074\237\207\154\022\053\145\160\025\122\061\032\044 -\317\157\061\043\120\037\214\117\217\043\303\164\101\143\034\125 -\250\024\335\076\340\121\120\317\361\033\060\126\016\222\260\202 -\205\330\203\313\042\144\274\055\270\045\325\124\242\270\006\352 -\255\222\244\044\240\301\206\265\112\023\152\107\317\056\013\126 -\225\124\313\316\232\333\152\264\246\262\333\101\010\206\047\167 -\367\152\240\102\154\013\070\316\327\165\120\062\222\302\337\053 -\060\042\110\320\325\101\070\045\135\244\351\135\237\306\224\165 -\320\105\375\060\227\103\217\220\253\012\307\206\163\140\112\151 -\055\336\245\170\327\006\332\152\236\113\076\167\072\040\023\042 -\001\320\277\150\236\143\140\153\065\115\013\155\272\241\075\300 -\223\340\177\043\263\125\255\162\045\116\106\371\322\026\357\260 -\144\301\001\236\351\312\240\152\230\016\317\330\140\362\057\111 -\270\344\102\341\070\065\026\364\310\156\117\367\201\126\350\272 -\243\276\043\257\256\375\157\003\340\002\073\060\166\372\033\155 -\101\317\001\261\351\270\311\146\364\333\046\363\072\244\164\362 -\111\044\133\311\260\320\127\301\372\076\172\341\227\311 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "SwissSign Gold CA - G2" -# Issuer: CN=SwissSign Gold CA - G2,O=SwissSign AG,C=CH -# Serial Number:00:bb:40:1c:43:f5:5e:4f:b0 -# Subject: CN=SwissSign Gold CA - G2,O=SwissSign AG,C=CH -# Not Valid Before: Wed Oct 25 08:30:35 2006 -# Not Valid After : Sat Oct 25 08:30:35 2036 -# Fingerprint (MD5): 24:77:D9:A8:91:D1:3B:FA:88:2D:C2:FF:F8:CD:33:93 -# Fingerprint (SHA1): D8:C5:38:8A:B7:30:1B:1B:6E:D4:7A:E6:45:25:3A:6F:9F:1A:27:61 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "SwissSign Gold CA - G2" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\330\305\070\212\267\060\033\033\156\324\172\346\105\045\072\157 -\237\032\047\141 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\044\167\331\250\221\321\073\372\210\055\302\377\370\315\063\223 -END -CKA_ISSUER MULTILINE_OCTAL -\060\105\061\013\060\011\006\003\125\004\006\023\002\103\110\061 -\025\060\023\006\003\125\004\012\023\014\123\167\151\163\163\123 -\151\147\156\040\101\107\061\037\060\035\006\003\125\004\003\023 -\026\123\167\151\163\163\123\151\147\156\040\107\157\154\144\040 -\103\101\040\055\040\107\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\011\000\273\100\034\103\365\136\117\260 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "SwissSign Silver CA - G2" -# -# Issuer: CN=SwissSign Silver CA - G2,O=SwissSign AG,C=CH -# Serial Number:4f:1b:d4:2f:54:bb:2f:4b -# Subject: CN=SwissSign Silver CA - G2,O=SwissSign AG,C=CH -# Not Valid Before: Wed Oct 25 08:32:46 2006 -# Not Valid After : Sat Oct 25 08:32:46 2036 -# Fingerprint (MD5): E0:06:A1:C9:7D:CF:C9:FC:0D:C0:56:75:96:D8:62:13 -# Fingerprint (SHA1): 9B:AA:E5:9F:56:EE:21:CB:43:5A:BE:25:93:DF:A7:F0:40:D1:1D:CB -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "SwissSign Silver CA - G2" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\107\061\013\060\011\006\003\125\004\006\023\002\103\110\061 -\025\060\023\006\003\125\004\012\023\014\123\167\151\163\163\123 -\151\147\156\040\101\107\061\041\060\037\006\003\125\004\003\023 -\030\123\167\151\163\163\123\151\147\156\040\123\151\154\166\145 -\162\040\103\101\040\055\040\107\062 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\107\061\013\060\011\006\003\125\004\006\023\002\103\110\061 -\025\060\023\006\003\125\004\012\023\014\123\167\151\163\163\123 -\151\147\156\040\101\107\061\041\060\037\006\003\125\004\003\023 -\030\123\167\151\163\163\123\151\147\156\040\123\151\154\166\145 -\162\040\103\101\040\055\040\107\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\010\117\033\324\057\124\273\057\113 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\275\060\202\003\245\240\003\002\001\002\002\010\117 -\033\324\057\124\273\057\113\060\015\006\011\052\206\110\206\367 -\015\001\001\005\005\000\060\107\061\013\060\011\006\003\125\004 -\006\023\002\103\110\061\025\060\023\006\003\125\004\012\023\014 -\123\167\151\163\163\123\151\147\156\040\101\107\061\041\060\037 -\006\003\125\004\003\023\030\123\167\151\163\163\123\151\147\156 -\040\123\151\154\166\145\162\040\103\101\040\055\040\107\062\060 -\036\027\015\060\066\061\060\062\065\060\070\063\062\064\066\132 -\027\015\063\066\061\060\062\065\060\070\063\062\064\066\132\060 -\107\061\013\060\011\006\003\125\004\006\023\002\103\110\061\025 -\060\023\006\003\125\004\012\023\014\123\167\151\163\163\123\151 -\147\156\040\101\107\061\041\060\037\006\003\125\004\003\023\030 -\123\167\151\163\163\123\151\147\156\040\123\151\154\166\145\162 -\040\103\101\040\055\040\107\062\060\202\002\042\060\015\006\011 -\052\206\110\206\367\015\001\001\001\005\000\003\202\002\017\000 -\060\202\002\012\002\202\002\001\000\304\361\207\177\323\170\061 -\367\070\311\370\303\231\103\274\307\367\274\067\347\116\161\272 -\113\217\245\163\035\134\156\230\256\003\127\256\070\067\103\057 -\027\075\037\310\316\150\020\301\170\256\031\003\053\020\372\054 -\171\203\366\350\271\150\271\125\362\004\104\247\071\371\374\004 -\213\036\361\242\115\047\371\141\173\272\267\345\242\023\266\353 -\141\076\320\154\321\346\373\372\136\355\035\264\236\240\065\133 -\241\222\313\360\111\222\376\205\012\005\076\346\331\013\342\117 -\273\334\225\067\374\221\351\062\065\042\321\037\072\116\047\205 -\235\260\025\224\062\332\141\015\107\115\140\102\256\222\107\350 -\203\132\120\130\351\212\213\271\135\241\334\335\231\112\037\066 -\147\273\110\344\203\266\067\353\110\072\257\017\147\217\027\007 -\350\004\312\357\152\061\207\324\300\266\371\224\161\173\147\144 -\270\266\221\112\102\173\145\056\060\152\014\365\220\356\225\346 -\362\315\202\354\331\241\112\354\366\262\113\345\105\205\346\155 -\170\223\004\056\234\202\155\066\251\304\061\144\037\206\203\013 -\052\364\065\012\170\311\125\317\101\260\107\351\060\237\231\276 -\141\250\006\204\271\050\172\137\070\331\033\251\070\260\203\177 -\163\301\303\073\110\052\202\017\041\233\270\314\250\065\303\204 -\033\203\263\076\276\244\225\151\001\072\211\000\170\004\331\311 -\364\231\031\253\126\176\133\213\206\071\025\221\244\020\054\011 -\062\200\140\263\223\300\052\266\030\013\235\176\215\111\362\020 -\112\177\371\325\106\057\031\222\243\231\247\046\254\273\214\074 -\346\016\274\107\007\334\163\121\361\160\144\057\010\371\264\107 -\035\060\154\104\352\051\067\205\222\150\146\274\203\070\376\173 -\071\056\323\120\360\037\373\136\140\266\251\246\372\047\101\361 -\233\030\162\362\365\204\164\112\311\147\304\124\256\110\144\337 -\214\321\156\260\035\341\007\217\010\036\231\234\161\351\114\330 -\245\367\107\022\037\164\321\121\236\206\363\302\242\043\100\013 -\163\333\113\246\347\163\006\214\301\240\351\301\131\254\106\372 -\346\057\370\317\161\234\106\155\271\304\025\215\070\171\003\105 -\110\357\304\135\327\010\356\207\071\042\206\262\015\017\130\103 -\367\161\251\110\056\375\352\326\037\002\003\001\000\001\243\201 -\254\060\201\251\060\016\006\003\125\035\017\001\001\377\004\004 -\003\002\001\006\060\017\006\003\125\035\023\001\001\377\004\005 -\060\003\001\001\377\060\035\006\003\125\035\016\004\026\004\024 -\027\240\315\301\344\101\266\072\133\073\313\105\235\275\034\302 -\230\372\206\130\060\037\006\003\125\035\043\004\030\060\026\200 -\024\027\240\315\301\344\101\266\072\133\073\313\105\235\275\034 -\302\230\372\206\130\060\106\006\003\125\035\040\004\077\060\075 -\060\073\006\011\140\205\164\001\131\001\003\001\001\060\056\060 -\054\006\010\053\006\001\005\005\007\002\001\026\040\150\164\164 -\160\072\057\057\162\145\160\157\163\151\164\157\162\171\056\163 -\167\151\163\163\163\151\147\156\056\143\157\155\057\060\015\006 -\011\052\206\110\206\367\015\001\001\005\005\000\003\202\002\001 -\000\163\306\201\340\047\322\055\017\340\225\060\342\232\101\177 -\120\054\137\137\142\141\251\206\152\151\030\014\164\111\326\135 -\204\352\101\122\030\157\130\255\120\126\040\152\306\275\050\151 -\130\221\334\221\021\065\251\072\035\274\032\245\140\236\330\037 -\177\105\221\151\331\176\273\170\162\301\006\017\052\316\217\205 -\160\141\254\240\315\013\270\071\051\126\204\062\116\206\273\075 -\304\052\331\327\037\162\356\376\121\241\042\101\261\161\002\143 -\032\202\260\142\253\136\127\022\037\337\313\335\165\240\300\135 -\171\220\214\033\340\120\346\336\061\376\230\173\160\137\245\220 -\330\255\370\002\266\157\323\140\335\100\113\042\305\075\255\072 -\172\237\032\032\107\221\171\063\272\202\334\062\151\003\226\156 -\037\113\360\161\376\343\147\162\240\261\277\134\213\344\372\231 -\042\307\204\271\033\215\043\227\077\355\045\340\317\145\273\365 -\141\004\357\335\036\262\132\101\042\132\241\237\135\054\350\133 -\311\155\251\014\014\170\252\140\306\126\217\001\132\014\150\274 -\151\031\171\304\037\176\227\005\277\305\351\044\121\136\324\325 -\113\123\355\331\043\132\066\003\145\243\301\003\255\101\060\363 -\106\033\205\220\257\145\265\325\261\344\026\133\170\165\035\227 -\172\155\131\251\052\217\173\336\303\207\211\020\231\111\163\170 -\310\075\275\121\065\164\052\325\361\176\151\033\052\273\073\275 -\045\270\232\132\075\162\141\220\146\207\356\014\326\115\324\021 -\164\013\152\376\013\003\374\243\125\127\211\376\112\313\256\133 -\027\005\310\362\215\043\061\123\070\322\055\152\077\202\271\215 -\010\152\367\136\101\164\156\303\021\176\007\254\051\140\221\077 -\070\312\127\020\015\275\060\057\307\245\346\101\240\332\256\005 -\207\232\240\244\145\154\114\011\014\211\272\270\323\271\300\223 -\212\060\372\215\345\232\153\025\001\116\147\252\332\142\126\076 -\204\010\146\322\304\066\175\247\076\020\374\210\340\324\200\345 -\000\275\252\363\116\006\243\172\152\371\142\162\343\011\117\353 -\233\016\001\043\361\237\273\174\334\334\154\021\227\045\262\362 -\264\143\024\322\006\052\147\214\203\365\316\352\007\330\232\152 -\036\354\344\012\273\052\114\353\011\140\071\316\312\142\330\056 -\156 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "SwissSign Silver CA - G2" -# Issuer: CN=SwissSign Silver CA - G2,O=SwissSign AG,C=CH -# Serial Number:4f:1b:d4:2f:54:bb:2f:4b -# Subject: CN=SwissSign Silver CA - G2,O=SwissSign AG,C=CH -# Not Valid Before: Wed Oct 25 08:32:46 2006 -# Not Valid After : Sat Oct 25 08:32:46 2036 -# Fingerprint (MD5): E0:06:A1:C9:7D:CF:C9:FC:0D:C0:56:75:96:D8:62:13 -# Fingerprint (SHA1): 9B:AA:E5:9F:56:EE:21:CB:43:5A:BE:25:93:DF:A7:F0:40:D1:1D:CB -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "SwissSign Silver CA - G2" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\233\252\345\237\126\356\041\313\103\132\276\045\223\337\247\360 -\100\321\035\313 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\340\006\241\311\175\317\311\374\015\300\126\165\226\330\142\023 -END -CKA_ISSUER MULTILINE_OCTAL -\060\107\061\013\060\011\006\003\125\004\006\023\002\103\110\061 -\025\060\023\006\003\125\004\012\023\014\123\167\151\163\163\123 -\151\147\156\040\101\107\061\041\060\037\006\003\125\004\003\023 -\030\123\167\151\163\163\123\151\147\156\040\123\151\154\166\145 -\162\040\103\101\040\055\040\107\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\010\117\033\324\057\124\273\057\113 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "GeoTrust Primary Certification Authority" -# -# Issuer: CN=GeoTrust Primary Certification Authority,O=GeoTrust Inc.,C=US -# Serial Number:18:ac:b5:6a:fd:69:b6:15:3a:63:6c:af:da:fa:c4:a1 -# Subject: CN=GeoTrust Primary Certification Authority,O=GeoTrust Inc.,C=US -# Not Valid Before: Mon Nov 27 00:00:00 2006 -# Not Valid After : Wed Jul 16 23:59:59 2036 -# Fingerprint (MD5): 02:26:C3:01:5E:08:30:37:43:A9:D0:7D:CF:37:E6:BF -# Fingerprint (SHA1): 32:3C:11:8E:1B:F7:B8:B6:52:54:E2:E2:10:0D:D6:02:90:37:F0:96 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GeoTrust Primary Certification Authority" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\130\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165 -\163\164\040\111\156\143\056\061\061\060\057\006\003\125\004\003 -\023\050\107\145\157\124\162\165\163\164\040\120\162\151\155\141 -\162\171\040\103\145\162\164\151\146\151\143\141\164\151\157\156 -\040\101\165\164\150\157\162\151\164\171 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\130\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165 -\163\164\040\111\156\143\056\061\061\060\057\006\003\125\004\003 -\023\050\107\145\157\124\162\165\163\164\040\120\162\151\155\141 -\162\171\040\103\145\162\164\151\146\151\143\141\164\151\157\156 -\040\101\165\164\150\157\162\151\164\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\030\254\265\152\375\151\266\025\072\143\154\257\332\372 -\304\241 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\174\060\202\002\144\240\003\002\001\002\002\020\030 -\254\265\152\375\151\266\025\072\143\154\257\332\372\304\241\060 -\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\130 -\061\013\060\011\006\003\125\004\006\023\002\125\123\061\026\060 -\024\006\003\125\004\012\023\015\107\145\157\124\162\165\163\164 -\040\111\156\143\056\061\061\060\057\006\003\125\004\003\023\050 -\107\145\157\124\162\165\163\164\040\120\162\151\155\141\162\171 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 -\165\164\150\157\162\151\164\171\060\036\027\015\060\066\061\061 -\062\067\060\060\060\060\060\060\132\027\015\063\066\060\067\061 -\066\062\063\065\071\065\071\132\060\130\061\013\060\011\006\003 -\125\004\006\023\002\125\123\061\026\060\024\006\003\125\004\012 -\023\015\107\145\157\124\162\165\163\164\040\111\156\143\056\061 -\061\060\057\006\003\125\004\003\023\050\107\145\157\124\162\165 -\163\164\040\120\162\151\155\141\162\171\040\103\145\162\164\151 -\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 -\164\171\060\202\001\042\060\015\006\011\052\206\110\206\367\015 -\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202 -\001\001\000\276\270\025\173\377\324\174\175\147\255\203\144\173 -\310\102\123\055\337\366\204\010\040\141\326\001\131\152\234\104 -\021\257\357\166\375\225\176\316\141\060\273\172\203\137\002\275 -\001\146\312\356\025\215\157\241\060\234\275\241\205\236\224\072 -\363\126\210\000\061\317\330\356\152\226\002\331\355\003\214\373 -\165\155\347\352\270\125\026\005\026\232\364\340\136\261\210\300 -\144\205\134\025\115\210\307\267\272\340\165\351\255\005\075\235 -\307\211\110\340\273\050\310\003\341\060\223\144\136\122\300\131 -\160\042\065\127\210\212\361\225\012\203\327\274\061\163\001\064 -\355\357\106\161\340\153\002\250\065\162\153\227\233\146\340\313 -\034\171\137\330\032\004\150\036\107\002\346\235\140\342\066\227 -\001\337\316\065\222\337\276\147\307\155\167\131\073\217\235\326 -\220\025\224\274\102\064\020\301\071\371\261\047\076\176\326\212 -\165\305\262\257\226\323\242\336\233\344\230\276\175\341\351\201 -\255\266\157\374\327\016\332\340\064\260\015\032\167\347\343\010 -\230\357\130\372\234\204\267\066\257\302\337\254\322\364\020\006 -\160\161\065\002\003\001\000\001\243\102\060\100\060\017\006\003 -\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006 -\003\125\035\017\001\001\377\004\004\003\002\001\006\060\035\006 -\003\125\035\016\004\026\004\024\054\325\120\101\227\025\213\360 -\217\066\141\133\112\373\153\331\231\311\063\222\060\015\006\011 -\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000 -\132\160\177\054\335\267\064\117\365\206\121\251\046\276\113\270 -\252\361\161\015\334\141\307\240\352\064\036\172\167\017\004\065 -\350\047\217\154\220\277\221\026\044\106\076\112\116\316\053\026 -\325\013\122\035\374\037\147\242\002\105\061\117\316\363\372\003 -\247\171\235\123\152\331\332\143\072\370\200\327\323\231\341\245 -\341\276\324\125\161\230\065\072\276\223\352\256\255\102\262\220 -\157\340\374\041\115\065\143\063\211\111\326\233\116\312\307\347 -\116\011\000\367\332\307\357\231\142\231\167\266\225\042\136\212 -\240\253\364\270\170\230\312\070\031\231\311\162\236\170\315\113 -\254\257\031\240\163\022\055\374\302\101\272\201\221\332\026\132 -\061\267\371\264\161\200\022\110\231\162\163\132\131\123\301\143 -\122\063\355\247\311\322\071\002\160\372\340\261\102\146\051\252 -\233\121\355\060\124\042\024\137\331\253\035\301\344\224\360\370 -\365\053\367\352\312\170\106\326\270\221\375\246\015\053\032\024 -\001\076\200\360\102\240\225\007\136\155\315\314\113\244\105\215 -\253\022\350\263\336\132\345\240\174\350\017\042\035\132\351\131 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "GeoTrust Primary Certification Authority" -# Issuer: CN=GeoTrust Primary Certification Authority,O=GeoTrust Inc.,C=US -# Serial Number:18:ac:b5:6a:fd:69:b6:15:3a:63:6c:af:da:fa:c4:a1 -# Subject: CN=GeoTrust Primary Certification Authority,O=GeoTrust Inc.,C=US -# Not Valid Before: Mon Nov 27 00:00:00 2006 -# Not Valid After : Wed Jul 16 23:59:59 2036 -# Fingerprint (MD5): 02:26:C3:01:5E:08:30:37:43:A9:D0:7D:CF:37:E6:BF -# Fingerprint (SHA1): 32:3C:11:8E:1B:F7:B8:B6:52:54:E2:E2:10:0D:D6:02:90:37:F0:96 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GeoTrust Primary Certification Authority" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\062\074\021\216\033\367\270\266\122\124\342\342\020\015\326\002 -\220\067\360\226 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\002\046\303\001\136\010\060\067\103\251\320\175\317\067\346\277 -END -CKA_ISSUER MULTILINE_OCTAL -\060\130\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165 -\163\164\040\111\156\143\056\061\061\060\057\006\003\125\004\003 -\023\050\107\145\157\124\162\165\163\164\040\120\162\151\155\141 -\162\171\040\103\145\162\164\151\146\151\143\141\164\151\157\156 -\040\101\165\164\150\157\162\151\164\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\030\254\265\152\375\151\266\025\072\143\154\257\332\372 -\304\241 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "thawte Primary Root CA" -# -# Issuer: CN=thawte Primary Root CA,OU="(c) 2006 thawte, Inc. - For authorized use only",OU=Certification Services Division,O="thawte, Inc.",C=US -# Serial Number:34:4e:d5:57:20:d5:ed:ec:49:f4:2f:ce:37:db:2b:6d -# Subject: CN=thawte Primary Root CA,OU="(c) 2006 thawte, Inc. - For authorized use only",OU=Certification Services Division,O="thawte, Inc.",C=US -# Not Valid Before: Fri Nov 17 00:00:00 2006 -# Not Valid After : Wed Jul 16 23:59:59 2036 -# Fingerprint (MD5): 8C:CA:DC:0B:22:CE:F5:BE:72:AC:41:1A:11:A8:D8:12 -# Fingerprint (SHA1): 91:C6:D6:EE:3E:8A:C8:63:84:E5:48:C2:99:29:5C:75:6C:81:7B:81 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "thawte Primary Root CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\251\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164 -\145\054\040\111\156\143\056\061\050\060\046\006\003\125\004\013 -\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040 -\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157 -\156\061\070\060\066\006\003\125\004\013\023\057\050\143\051\040 -\062\060\060\066\040\164\150\141\167\164\145\054\040\111\156\143 -\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151\172 -\145\144\040\165\163\145\040\157\156\154\171\061\037\060\035\006 -\003\125\004\003\023\026\164\150\141\167\164\145\040\120\162\151 -\155\141\162\171\040\122\157\157\164\040\103\101 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\251\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164 -\145\054\040\111\156\143\056\061\050\060\046\006\003\125\004\013 -\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040 -\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157 -\156\061\070\060\066\006\003\125\004\013\023\057\050\143\051\040 -\062\060\060\066\040\164\150\141\167\164\145\054\040\111\156\143 -\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151\172 -\145\144\040\165\163\145\040\157\156\154\171\061\037\060\035\006 -\003\125\004\003\023\026\164\150\141\167\164\145\040\120\162\151 -\155\141\162\171\040\122\157\157\164\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\064\116\325\127\040\325\355\354\111\364\057\316\067\333 -\053\155 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\040\060\202\003\010\240\003\002\001\002\002\020\064 -\116\325\127\040\325\355\354\111\364\057\316\067\333\053\155\060 -\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201 -\251\061\013\060\011\006\003\125\004\006\023\002\125\123\061\025 -\060\023\006\003\125\004\012\023\014\164\150\141\167\164\145\054 -\040\111\156\143\056\061\050\060\046\006\003\125\004\013\023\037 -\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145 -\162\166\151\143\145\163\040\104\151\166\151\163\151\157\156\061 -\070\060\066\006\003\125\004\013\023\057\050\143\051\040\062\060 -\060\066\040\164\150\141\167\164\145\054\040\111\156\143\056\040 -\055\040\106\157\162\040\141\165\164\150\157\162\151\172\145\144 -\040\165\163\145\040\157\156\154\171\061\037\060\035\006\003\125 -\004\003\023\026\164\150\141\167\164\145\040\120\162\151\155\141 -\162\171\040\122\157\157\164\040\103\101\060\036\027\015\060\066 -\061\061\061\067\060\060\060\060\060\060\132\027\015\063\066\060 -\067\061\066\062\063\065\071\065\071\132\060\201\251\061\013\060 -\011\006\003\125\004\006\023\002\125\123\061\025\060\023\006\003 -\125\004\012\023\014\164\150\141\167\164\145\054\040\111\156\143 -\056\061\050\060\046\006\003\125\004\013\023\037\103\145\162\164 -\151\146\151\143\141\164\151\157\156\040\123\145\162\166\151\143 -\145\163\040\104\151\166\151\163\151\157\156\061\070\060\066\006 -\003\125\004\013\023\057\050\143\051\040\062\060\060\066\040\164 -\150\141\167\164\145\054\040\111\156\143\056\040\055\040\106\157 -\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163\145 -\040\157\156\154\171\061\037\060\035\006\003\125\004\003\023\026 -\164\150\141\167\164\145\040\120\162\151\155\141\162\171\040\122 -\157\157\164\040\103\101\060\202\001\042\060\015\006\011\052\206 -\110\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202 -\001\012\002\202\001\001\000\254\240\360\373\200\131\324\234\307 -\244\317\235\241\131\163\011\020\105\014\015\054\156\150\361\154 -\133\110\150\111\131\067\374\013\063\031\302\167\177\314\020\055 -\225\064\034\346\353\115\011\247\034\322\270\311\227\066\002\267 -\211\324\044\137\006\300\314\104\224\224\215\002\142\157\353\132 -\335\021\215\050\232\134\204\220\020\172\015\275\164\146\057\152 -\070\240\342\325\124\104\353\035\007\237\007\272\157\356\351\375 -\116\013\051\365\076\204\240\001\361\234\253\370\034\176\211\244 -\350\241\330\161\145\015\243\121\173\356\274\322\042\140\015\271 -\133\235\337\272\374\121\133\013\257\230\262\351\056\351\004\350 -\142\207\336\053\310\327\116\301\114\144\036\335\317\207\130\272 -\112\117\312\150\007\035\034\235\112\306\325\057\221\314\174\161 -\162\034\305\300\147\353\062\375\311\222\134\224\332\205\300\233 -\277\123\175\053\011\364\214\235\221\037\227\152\122\313\336\011 -\066\244\167\330\173\207\120\104\325\076\156\051\151\373\071\111 -\046\036\011\245\200\173\100\055\353\350\047\205\311\376\141\375 -\176\346\174\227\035\325\235\002\003\001\000\001\243\102\060\100 -\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001 -\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001 -\006\060\035\006\003\125\035\016\004\026\004\024\173\133\105\317 -\257\316\313\172\375\061\222\032\152\266\363\106\353\127\110\120 -\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003 -\202\001\001\000\171\021\300\113\263\221\266\374\360\351\147\324 -\015\156\105\276\125\350\223\322\316\003\077\355\332\045\260\035 -\127\313\036\072\166\240\114\354\120\166\350\144\162\014\244\251 -\361\270\213\326\326\207\204\273\062\345\101\021\300\167\331\263 -\140\235\353\033\325\321\156\104\104\251\246\001\354\125\142\035 -\167\270\134\216\110\111\174\234\073\127\021\254\255\163\067\216 -\057\170\134\220\150\107\331\140\140\346\374\007\075\042\040\027 -\304\367\026\351\304\330\162\371\310\163\174\337\026\057\025\251 -\076\375\152\047\266\241\353\132\272\230\037\325\343\115\144\012 -\235\023\310\141\272\365\071\034\207\272\270\275\173\042\177\366 -\376\254\100\171\345\254\020\157\075\217\033\171\166\213\304\067 -\263\041\030\204\345\066\000\353\143\040\231\271\351\376\063\004 -\273\101\310\301\002\371\104\143\040\236\201\316\102\323\326\077 -\054\166\323\143\234\131\335\217\246\341\016\240\056\101\367\056 -\225\107\317\274\375\063\363\366\013\141\176\176\221\053\201\107 -\302\047\060\356\247\020\135\067\217\134\071\053\344\004\360\173 -\215\126\214\150 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "thawte Primary Root CA" -# Issuer: CN=thawte Primary Root CA,OU="(c) 2006 thawte, Inc. - For authorized use only",OU=Certification Services Division,O="thawte, Inc.",C=US -# Serial Number:34:4e:d5:57:20:d5:ed:ec:49:f4:2f:ce:37:db:2b:6d -# Subject: CN=thawte Primary Root CA,OU="(c) 2006 thawte, Inc. - For authorized use only",OU=Certification Services Division,O="thawte, Inc.",C=US -# Not Valid Before: Fri Nov 17 00:00:00 2006 -# Not Valid After : Wed Jul 16 23:59:59 2036 -# Fingerprint (MD5): 8C:CA:DC:0B:22:CE:F5:BE:72:AC:41:1A:11:A8:D8:12 -# Fingerprint (SHA1): 91:C6:D6:EE:3E:8A:C8:63:84:E5:48:C2:99:29:5C:75:6C:81:7B:81 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "thawte Primary Root CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\221\306\326\356\076\212\310\143\204\345\110\302\231\051\134\165 -\154\201\173\201 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\214\312\334\013\042\316\365\276\162\254\101\032\021\250\330\022 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\251\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164 -\145\054\040\111\156\143\056\061\050\060\046\006\003\125\004\013 -\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040 -\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157 -\156\061\070\060\066\006\003\125\004\013\023\057\050\143\051\040 -\062\060\060\066\040\164\150\141\167\164\145\054\040\111\156\143 -\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151\172 -\145\144\040\165\163\145\040\157\156\154\171\061\037\060\035\006 -\003\125\004\003\023\026\164\150\141\167\164\145\040\120\162\151 -\155\141\162\171\040\122\157\157\164\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\064\116\325\127\040\325\355\354\111\364\057\316\067\333 -\053\155 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "VeriSign Class 3 Public Primary Certification Authority - G5" -# -# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G5,OU="(c) 2006 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US -# Serial Number:18:da:d1:9e:26:7d:e8:bb:4a:21:58:cd:cc:6b:3b:4a -# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G5,OU="(c) 2006 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US -# Not Valid Before: Wed Nov 08 00:00:00 2006 -# Not Valid After : Wed Jul 16 23:59:59 2036 -# Fingerprint (MD5): CB:17:E4:31:67:3E:E2:09:FE:45:57:93:F3:0A:FA:1C -# Fingerprint (SHA1): 4E:B6:D5:78:49:9B:1C:CF:5F:58:1E:AD:56:BE:3D:9B:67:44:A5:E5 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "VeriSign Class 3 Public Primary Certification Authority - G5" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 -\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 -\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 -\125\004\013\023\061\050\143\051\040\062\060\060\066\040\126\145 -\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 -\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 -\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 -\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 -\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 -\165\164\150\157\162\151\164\171\040\055\040\107\065 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 -\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 -\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 -\125\004\013\023\061\050\143\051\040\062\060\060\066\040\126\145 -\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 -\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 -\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 -\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 -\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 -\165\164\150\157\162\151\164\171\040\055\040\107\065 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\030\332\321\236\046\175\350\273\112\041\130\315\314\153 -\073\112 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\323\060\202\003\273\240\003\002\001\002\002\020\030 -\332\321\236\046\175\350\273\112\041\130\315\314\153\073\112\060 -\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201 -\312\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027 -\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151\147 -\156\054\040\111\156\143\056\061\037\060\035\006\003\125\004\013 -\023\026\126\145\162\151\123\151\147\156\040\124\162\165\163\164 -\040\116\145\164\167\157\162\153\061\072\060\070\006\003\125\004 -\013\023\061\050\143\051\040\062\060\060\066\040\126\145\162\151 -\123\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162 -\040\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040 -\157\156\154\171\061\105\060\103\006\003\125\004\003\023\074\126 -\145\162\151\123\151\147\156\040\103\154\141\163\163\040\063\040 -\120\165\142\154\151\143\040\120\162\151\155\141\162\171\040\103 -\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164 -\150\157\162\151\164\171\040\055\040\107\065\060\036\027\015\060 -\066\061\061\060\070\060\060\060\060\060\060\132\027\015\063\066 -\060\067\061\066\062\063\065\071\065\071\132\060\201\312\061\013 -\060\011\006\003\125\004\006\023\002\125\123\061\027\060\025\006 -\003\125\004\012\023\016\126\145\162\151\123\151\147\156\054\040 -\111\156\143\056\061\037\060\035\006\003\125\004\013\023\026\126 -\145\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145 -\164\167\157\162\153\061\072\060\070\006\003\125\004\013\023\061 -\050\143\051\040\062\060\060\066\040\126\145\162\151\123\151\147 -\156\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165 -\164\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154 -\171\061\105\060\103\006\003\125\004\003\023\074\126\145\162\151 -\123\151\147\156\040\103\154\141\163\163\040\063\040\120\165\142 -\154\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164 -\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162 -\151\164\171\040\055\040\107\065\060\202\001\042\060\015\006\011 -\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017\000 -\060\202\001\012\002\202\001\001\000\257\044\010\010\051\172\065 -\236\140\014\252\347\113\073\116\334\174\274\074\105\034\273\053 -\340\376\051\002\371\127\010\243\144\205\025\047\365\361\255\310 -\061\211\135\042\350\052\252\246\102\263\217\370\271\125\267\261 -\267\113\263\376\217\176\007\127\354\357\103\333\146\142\025\141 -\317\140\015\244\330\336\370\340\303\142\010\075\124\023\353\111 -\312\131\124\205\046\345\053\217\033\237\353\365\241\221\302\063 -\111\330\103\143\152\122\113\322\217\350\160\121\115\321\211\151 -\173\307\160\366\263\334\022\164\333\173\135\113\126\323\226\277 -\025\167\241\260\364\242\045\362\257\034\222\147\030\345\364\006 -\004\357\220\271\344\000\344\335\072\265\031\377\002\272\364\074 -\356\340\213\353\067\213\354\364\327\254\362\366\360\075\257\335 -\165\221\063\031\035\034\100\313\164\044\031\041\223\331\024\376 -\254\052\122\307\217\325\004\111\344\215\143\107\210\074\151\203 -\313\376\107\275\053\176\117\305\225\256\016\235\324\321\103\300 -\147\163\343\024\010\176\345\077\237\163\270\063\012\317\135\077 -\064\207\226\212\356\123\350\045\025\002\003\001\000\001\243\201 -\262\060\201\257\060\017\006\003\125\035\023\001\001\377\004\005 -\060\003\001\001\377\060\016\006\003\125\035\017\001\001\377\004 -\004\003\002\001\006\060\155\006\010\053\006\001\005\005\007\001 -\014\004\141\060\137\241\135\240\133\060\131\060\127\060\125\026 -\011\151\155\141\147\145\057\147\151\146\060\041\060\037\060\007 -\006\005\053\016\003\002\032\004\024\217\345\323\032\206\254\215 -\216\153\303\317\200\152\324\110\030\054\173\031\056\060\045\026 -\043\150\164\164\160\072\057\057\154\157\147\157\056\166\145\162 -\151\163\151\147\156\056\143\157\155\057\166\163\154\157\147\157 -\056\147\151\146\060\035\006\003\125\035\016\004\026\004\024\177 -\323\145\247\302\335\354\273\360\060\011\363\103\071\372\002\257 -\063\061\063\060\015\006\011\052\206\110\206\367\015\001\001\005 -\005\000\003\202\001\001\000\223\044\112\060\137\142\317\330\032 -\230\057\075\352\334\231\055\275\167\366\245\171\042\070\354\304 -\247\240\170\022\255\142\016\105\160\144\305\347\227\146\055\230 -\011\176\137\257\326\314\050\145\362\001\252\010\032\107\336\371 -\371\174\222\132\010\151\040\015\331\076\155\156\074\015\156\330 -\346\006\221\100\030\271\370\301\355\337\333\101\252\340\226\040 -\311\315\144\025\070\201\311\224\356\242\204\051\013\023\157\216 -\333\014\335\045\002\333\244\213\031\104\322\101\172\005\151\112 -\130\117\140\312\176\202\152\013\002\252\045\027\071\265\333\177 -\347\204\145\052\225\212\275\206\336\136\201\026\203\055\020\314 -\336\375\250\202\052\155\050\037\015\013\304\345\347\032\046\031 -\341\364\021\157\020\265\225\374\347\102\005\062\333\316\235\121 -\136\050\266\236\205\323\133\357\245\175\105\100\162\216\267\016 -\153\016\006\373\063\065\110\161\270\235\047\213\304\145\137\015 -\206\166\234\104\172\366\225\134\366\135\062\010\063\244\124\266 -\030\077\150\134\362\102\112\205\070\124\203\137\321\350\054\362 -\254\021\326\250\355\143\152 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "VeriSign Class 3 Public Primary Certification Authority - G5" -# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G5,OU="(c) 2006 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US -# Serial Number:18:da:d1:9e:26:7d:e8:bb:4a:21:58:cd:cc:6b:3b:4a -# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G5,OU="(c) 2006 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US -# Not Valid Before: Wed Nov 08 00:00:00 2006 -# Not Valid After : Wed Jul 16 23:59:59 2036 -# Fingerprint (MD5): CB:17:E4:31:67:3E:E2:09:FE:45:57:93:F3:0A:FA:1C -# Fingerprint (SHA1): 4E:B6:D5:78:49:9B:1C:CF:5F:58:1E:AD:56:BE:3D:9B:67:44:A5:E5 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "VeriSign Class 3 Public Primary Certification Authority - G5" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\116\266\325\170\111\233\034\317\137\130\036\255\126\276\075\233 -\147\104\245\345 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\313\027\344\061\147\076\342\011\376\105\127\223\363\012\372\034 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 -\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 -\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 -\125\004\013\023\061\050\143\051\040\062\060\060\066\040\126\145 -\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 -\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 -\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 -\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 -\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 -\165\164\150\157\162\151\164\171\040\055\040\107\065 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\030\332\321\236\046\175\350\273\112\041\130\315\314\153 -\073\112 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "SecureTrust CA" -# -# Issuer: CN=SecureTrust CA,O=SecureTrust Corporation,C=US -# Serial Number:0c:f0:8e:5c:08:16:a5:ad:42:7f:f0:eb:27:18:59:d0 -# Subject: CN=SecureTrust CA,O=SecureTrust Corporation,C=US -# Not Valid Before: Tue Nov 07 19:31:18 2006 -# Not Valid After : Mon Dec 31 19:40:55 2029 -# Fingerprint (MD5): DC:32:C3:A7:6D:25:57:C7:68:09:9D:EA:2D:A9:A2:D1 -# Fingerprint (SHA1): 87:82:C6:C3:04:35:3B:CF:D2:96:92:D2:59:3E:7D:44:D9:34:FF:11 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "SecureTrust CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\110\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\040\060\036\006\003\125\004\012\023\027\123\145\143\165\162\145 -\124\162\165\163\164\040\103\157\162\160\157\162\141\164\151\157 -\156\061\027\060\025\006\003\125\004\003\023\016\123\145\143\165 -\162\145\124\162\165\163\164\040\103\101 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\110\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\040\060\036\006\003\125\004\012\023\027\123\145\143\165\162\145 -\124\162\165\163\164\040\103\157\162\160\157\162\141\164\151\157 -\156\061\027\060\025\006\003\125\004\003\023\016\123\145\143\165 -\162\145\124\162\165\163\164\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\014\360\216\134\010\026\245\255\102\177\360\353\047\030 -\131\320 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\270\060\202\002\240\240\003\002\001\002\002\020\014 -\360\216\134\010\026\245\255\102\177\360\353\047\030\131\320\060 -\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\110 -\061\013\060\011\006\003\125\004\006\023\002\125\123\061\040\060 -\036\006\003\125\004\012\023\027\123\145\143\165\162\145\124\162 -\165\163\164\040\103\157\162\160\157\162\141\164\151\157\156\061 -\027\060\025\006\003\125\004\003\023\016\123\145\143\165\162\145 -\124\162\165\163\164\040\103\101\060\036\027\015\060\066\061\061 -\060\067\061\071\063\061\061\070\132\027\015\062\071\061\062\063 -\061\061\071\064\060\065\065\132\060\110\061\013\060\011\006\003 -\125\004\006\023\002\125\123\061\040\060\036\006\003\125\004\012 -\023\027\123\145\143\165\162\145\124\162\165\163\164\040\103\157 -\162\160\157\162\141\164\151\157\156\061\027\060\025\006\003\125 -\004\003\023\016\123\145\143\165\162\145\124\162\165\163\164\040 -\103\101\060\202\001\042\060\015\006\011\052\206\110\206\367\015 -\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202 -\001\001\000\253\244\201\345\225\315\365\366\024\216\302\117\312 -\324\342\170\225\130\234\101\341\015\231\100\044\027\071\221\063 -\146\351\276\341\203\257\142\134\211\321\374\044\133\141\263\340 -\021\021\101\034\035\156\360\270\273\370\336\247\201\272\246\110 -\306\237\035\275\276\216\251\101\076\270\224\355\051\032\324\216 -\322\003\035\003\357\155\015\147\034\127\327\006\255\312\310\365 -\376\016\257\146\045\110\004\226\013\135\243\272\026\303\010\117 -\321\106\370\024\134\362\310\136\001\231\155\375\210\314\206\250 -\301\157\061\102\154\122\076\150\313\363\031\064\337\273\207\030 -\126\200\046\304\320\334\300\157\337\336\240\302\221\026\240\144 -\021\113\104\274\036\366\347\372\143\336\146\254\166\244\161\243 -\354\066\224\150\172\167\244\261\347\016\057\201\172\342\265\162 -\206\357\242\153\213\360\017\333\323\131\077\272\162\274\104\044 -\234\343\163\263\367\257\127\057\102\046\235\251\164\272\000\122 -\362\113\315\123\174\107\013\066\205\016\146\251\010\227\026\064 -\127\301\146\367\200\343\355\160\124\307\223\340\056\050\025\131 -\207\272\273\002\003\001\000\001\243\201\235\060\201\232\060\023 -\006\011\053\006\001\004\001\202\067\024\002\004\006\036\004\000 -\103\000\101\060\013\006\003\125\035\017\004\004\003\002\001\206 -\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001 -\377\060\035\006\003\125\035\016\004\026\004\024\102\062\266\026 -\372\004\375\376\135\113\172\303\375\367\114\100\035\132\103\257 -\060\064\006\003\125\035\037\004\055\060\053\060\051\240\047\240 -\045\206\043\150\164\164\160\072\057\057\143\162\154\056\163\145 -\143\165\162\145\164\162\165\163\164\056\143\157\155\057\123\124 -\103\101\056\143\162\154\060\020\006\011\053\006\001\004\001\202 -\067\025\001\004\003\002\001\000\060\015\006\011\052\206\110\206 -\367\015\001\001\005\005\000\003\202\001\001\000\060\355\117\112 -\341\130\072\122\162\133\265\246\243\145\030\246\273\121\073\167 -\351\235\352\323\237\134\340\105\145\173\015\312\133\342\160\120 -\262\224\005\024\256\111\307\215\101\007\022\163\224\176\014\043 -\041\375\274\020\177\140\020\132\162\365\230\016\254\354\271\177 -\335\172\157\135\323\034\364\377\210\005\151\102\251\005\161\310 -\267\254\046\350\056\264\214\152\377\161\334\270\261\337\231\274 -\174\041\124\053\344\130\242\273\127\051\256\236\251\243\031\046 -\017\231\056\010\260\357\375\151\317\231\032\011\215\343\247\237 -\053\311\066\064\173\044\263\170\114\225\027\244\006\046\036\266 -\144\122\066\137\140\147\331\234\305\005\164\013\347\147\043\322 -\010\374\210\351\256\213\177\341\060\364\067\176\375\306\062\332 -\055\236\104\060\060\154\356\007\336\322\064\374\322\377\100\366 -\113\364\146\106\006\124\246\362\062\012\143\046\060\153\233\321 -\334\213\107\272\341\271\325\142\320\242\240\364\147\005\170\051 -\143\032\157\004\326\370\306\114\243\232\261\067\264\215\345\050 -\113\035\236\054\302\270\150\274\355\002\356\061 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "SecureTrust CA" -# Issuer: CN=SecureTrust CA,O=SecureTrust Corporation,C=US -# Serial Number:0c:f0:8e:5c:08:16:a5:ad:42:7f:f0:eb:27:18:59:d0 -# Subject: CN=SecureTrust CA,O=SecureTrust Corporation,C=US -# Not Valid Before: Tue Nov 07 19:31:18 2006 -# Not Valid After : Mon Dec 31 19:40:55 2029 -# Fingerprint (MD5): DC:32:C3:A7:6D:25:57:C7:68:09:9D:EA:2D:A9:A2:D1 -# Fingerprint (SHA1): 87:82:C6:C3:04:35:3B:CF:D2:96:92:D2:59:3E:7D:44:D9:34:FF:11 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "SecureTrust CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\207\202\306\303\004\065\073\317\322\226\222\322\131\076\175\104 -\331\064\377\021 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\334\062\303\247\155\045\127\307\150\011\235\352\055\251\242\321 -END -CKA_ISSUER MULTILINE_OCTAL -\060\110\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\040\060\036\006\003\125\004\012\023\027\123\145\143\165\162\145 -\124\162\165\163\164\040\103\157\162\160\157\162\141\164\151\157 -\156\061\027\060\025\006\003\125\004\003\023\016\123\145\143\165 -\162\145\124\162\165\163\164\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\014\360\216\134\010\026\245\255\102\177\360\353\047\030 -\131\320 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Secure Global CA" -# -# Issuer: CN=Secure Global CA,O=SecureTrust Corporation,C=US -# Serial Number:07:56:22:a4:e8:d4:8a:89:4d:f4:13:c8:f0:f8:ea:a5 -# Subject: CN=Secure Global CA,O=SecureTrust Corporation,C=US -# Not Valid Before: Tue Nov 07 19:42:28 2006 -# Not Valid After : Mon Dec 31 19:52:06 2029 -# Fingerprint (MD5): CF:F4:27:0D:D4:ED:DC:65:16:49:6D:3D:DA:BF:6E:DE -# Fingerprint (SHA1): 3A:44:73:5A:E5:81:90:1F:24:86:61:46:1E:3B:9C:C4:5F:F5:3A:1B -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Secure Global CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\112\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\040\060\036\006\003\125\004\012\023\027\123\145\143\165\162\145 -\124\162\165\163\164\040\103\157\162\160\157\162\141\164\151\157 -\156\061\031\060\027\006\003\125\004\003\023\020\123\145\143\165 -\162\145\040\107\154\157\142\141\154\040\103\101 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\112\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\040\060\036\006\003\125\004\012\023\027\123\145\143\165\162\145 -\124\162\165\163\164\040\103\157\162\160\157\162\141\164\151\157 -\156\061\031\060\027\006\003\125\004\003\023\020\123\145\143\165 -\162\145\040\107\154\157\142\141\154\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\007\126\042\244\350\324\212\211\115\364\023\310\360\370 -\352\245 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\274\060\202\002\244\240\003\002\001\002\002\020\007 -\126\042\244\350\324\212\211\115\364\023\310\360\370\352\245\060 -\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\112 -\061\013\060\011\006\003\125\004\006\023\002\125\123\061\040\060 -\036\006\003\125\004\012\023\027\123\145\143\165\162\145\124\162 -\165\163\164\040\103\157\162\160\157\162\141\164\151\157\156\061 -\031\060\027\006\003\125\004\003\023\020\123\145\143\165\162\145 -\040\107\154\157\142\141\154\040\103\101\060\036\027\015\060\066 -\061\061\060\067\061\071\064\062\062\070\132\027\015\062\071\061 -\062\063\061\061\071\065\062\060\066\132\060\112\061\013\060\011 -\006\003\125\004\006\023\002\125\123\061\040\060\036\006\003\125 -\004\012\023\027\123\145\143\165\162\145\124\162\165\163\164\040 -\103\157\162\160\157\162\141\164\151\157\156\061\031\060\027\006 -\003\125\004\003\023\020\123\145\143\165\162\145\040\107\154\157 -\142\141\154\040\103\101\060\202\001\042\060\015\006\011\052\206 -\110\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202 -\001\012\002\202\001\001\000\257\065\056\330\254\154\125\151\006 -\161\345\023\150\044\263\117\330\314\041\107\370\361\140\070\211 -\211\003\351\275\352\136\106\123\011\334\134\365\132\350\367\105 -\052\002\353\061\141\327\051\063\114\316\307\174\012\067\176\017 -\272\062\230\341\035\227\257\217\307\334\311\070\226\363\333\032 -\374\121\355\150\306\320\156\244\174\044\321\256\102\310\226\120 -\143\056\340\376\165\376\230\247\137\111\056\225\343\071\063\144 -\216\036\244\137\220\322\147\074\262\331\376\101\271\125\247\011 -\216\162\005\036\213\335\104\205\202\102\320\111\300\035\140\360 -\321\027\054\225\353\366\245\301\222\243\305\302\247\010\140\015 -\140\004\020\226\171\236\026\064\346\251\266\372\045\105\071\310 -\036\145\371\223\365\252\361\122\334\231\230\075\245\206\032\014 -\065\063\372\113\245\004\006\025\034\061\200\357\252\030\153\302 -\173\327\332\316\371\063\040\325\365\275\152\063\055\201\004\373 -\260\134\324\234\243\342\134\035\343\251\102\165\136\173\324\167 -\357\071\124\272\311\012\030\033\022\231\111\057\210\113\375\120 -\142\321\163\347\217\172\103\002\003\001\000\001\243\201\235\060 -\201\232\060\023\006\011\053\006\001\004\001\202\067\024\002\004 -\006\036\004\000\103\000\101\060\013\006\003\125\035\017\004\004 -\003\002\001\206\060\017\006\003\125\035\023\001\001\377\004\005 -\060\003\001\001\377\060\035\006\003\125\035\016\004\026\004\024 -\257\104\004\302\101\176\110\203\333\116\071\002\354\354\204\172 -\346\316\311\244\060\064\006\003\125\035\037\004\055\060\053\060 -\051\240\047\240\045\206\043\150\164\164\160\072\057\057\143\162 -\154\056\163\145\143\165\162\145\164\162\165\163\164\056\143\157 -\155\057\123\107\103\101\056\143\162\154\060\020\006\011\053\006 -\001\004\001\202\067\025\001\004\003\002\001\000\060\015\006\011 -\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000 -\143\032\010\100\175\244\136\123\015\167\330\172\256\037\015\013 -\121\026\003\357\030\174\310\343\257\152\130\223\024\140\221\262 -\204\334\210\116\276\071\212\072\363\346\202\211\135\001\067\263 -\253\044\244\025\016\222\065\132\112\104\136\116\127\372\165\316 -\037\110\316\146\364\074\100\046\222\230\154\033\356\044\106\014 -\027\263\122\245\333\245\221\221\317\067\323\157\347\047\010\072 -\116\031\037\072\247\130\134\027\317\171\077\213\344\247\323\046 -\043\235\046\017\130\151\374\107\176\262\320\215\213\223\277\051 -\117\103\151\164\166\147\113\317\007\214\346\002\367\265\341\264 -\103\265\113\055\024\237\371\334\046\015\277\246\107\164\006\330 -\210\321\072\051\060\204\316\322\071\200\142\033\250\307\127\111 -\274\152\125\121\147\025\112\276\065\007\344\325\165\230\067\171 -\060\024\333\051\235\154\305\151\314\107\125\242\060\367\314\134 -\177\302\303\230\034\153\116\026\200\353\172\170\145\105\242\000 -\032\257\014\015\125\144\064\110\270\222\271\361\264\120\051\362 -\117\043\037\332\154\254\037\104\341\335\043\170\121\133\307\026 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "Secure Global CA" -# Issuer: CN=Secure Global CA,O=SecureTrust Corporation,C=US -# Serial Number:07:56:22:a4:e8:d4:8a:89:4d:f4:13:c8:f0:f8:ea:a5 -# Subject: CN=Secure Global CA,O=SecureTrust Corporation,C=US -# Not Valid Before: Tue Nov 07 19:42:28 2006 -# Not Valid After : Mon Dec 31 19:52:06 2029 -# Fingerprint (MD5): CF:F4:27:0D:D4:ED:DC:65:16:49:6D:3D:DA:BF:6E:DE -# Fingerprint (SHA1): 3A:44:73:5A:E5:81:90:1F:24:86:61:46:1E:3B:9C:C4:5F:F5:3A:1B -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Secure Global CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\072\104\163\132\345\201\220\037\044\206\141\106\036\073\234\304 -\137\365\072\033 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\317\364\047\015\324\355\334\145\026\111\155\075\332\277\156\336 -END -CKA_ISSUER MULTILINE_OCTAL -\060\112\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\040\060\036\006\003\125\004\012\023\027\123\145\143\165\162\145 -\124\162\165\163\164\040\103\157\162\160\157\162\141\164\151\157 -\156\061\031\060\027\006\003\125\004\003\023\020\123\145\143\165 -\162\145\040\107\154\157\142\141\154\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\007\126\042\244\350\324\212\211\115\364\023\310\360\370 -\352\245 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "COMODO Certification Authority" -# -# Issuer: CN=COMODO Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB -# Serial Number:4e:81:2d:8a:82:65:e0:0b:02:ee:3e:35:02:46:e5:3d -# Subject: CN=COMODO Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB -# Not Valid Before: Fri Dec 01 00:00:00 2006 -# Not Valid After : Mon Dec 31 23:59:59 2029 -# Fingerprint (MD5): 5C:48:DC:F7:42:72:EC:56:94:6D:1C:CC:71:35:80:75 -# Fingerprint (SHA1): 66:31:BF:9E:F7:4F:9E:B6:C9:D5:A6:0C:BA:6A:BE:D1:F7:BD:EF:7B -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "COMODO Certification Authority" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\201\061\013\060\011\006\003\125\004\006\023\002\107\102 -\061\033\060\031\006\003\125\004\010\023\022\107\162\145\141\164 -\145\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060 -\016\006\003\125\004\007\023\007\123\141\154\146\157\162\144\061 -\032\060\030\006\003\125\004\012\023\021\103\117\115\117\104\117 -\040\103\101\040\114\151\155\151\164\145\144\061\047\060\045\006 -\003\125\004\003\023\036\103\117\115\117\104\117\040\103\145\162 -\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157 -\162\151\164\171 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\201\061\013\060\011\006\003\125\004\006\023\002\107\102 -\061\033\060\031\006\003\125\004\010\023\022\107\162\145\141\164 -\145\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060 -\016\006\003\125\004\007\023\007\123\141\154\146\157\162\144\061 -\032\060\030\006\003\125\004\012\023\021\103\117\115\117\104\117 -\040\103\101\040\114\151\155\151\164\145\144\061\047\060\045\006 -\003\125\004\003\023\036\103\117\115\117\104\117\040\103\145\162 -\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157 -\162\151\164\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\116\201\055\212\202\145\340\013\002\356\076\065\002\106 -\345\075 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\035\060\202\003\005\240\003\002\001\002\002\020\116 -\201\055\212\202\145\340\013\002\356\076\065\002\106\345\075\060 -\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201 -\201\061\013\060\011\006\003\125\004\006\023\002\107\102\061\033 -\060\031\006\003\125\004\010\023\022\107\162\145\141\164\145\162 -\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016\006 -\003\125\004\007\023\007\123\141\154\146\157\162\144\061\032\060 -\030\006\003\125\004\012\023\021\103\117\115\117\104\117\040\103 -\101\040\114\151\155\151\164\145\144\061\047\060\045\006\003\125 -\004\003\023\036\103\117\115\117\104\117\040\103\145\162\164\151 -\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 -\164\171\060\036\027\015\060\066\061\062\060\061\060\060\060\060 -\060\060\132\027\015\062\071\061\062\063\061\062\063\065\071\065 -\071\132\060\201\201\061\013\060\011\006\003\125\004\006\023\002 -\107\102\061\033\060\031\006\003\125\004\010\023\022\107\162\145 -\141\164\145\162\040\115\141\156\143\150\145\163\164\145\162\061 -\020\060\016\006\003\125\004\007\023\007\123\141\154\146\157\162 -\144\061\032\060\030\006\003\125\004\012\023\021\103\117\115\117 -\104\117\040\103\101\040\114\151\155\151\164\145\144\061\047\060 -\045\006\003\125\004\003\023\036\103\117\115\117\104\117\040\103 -\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164 -\150\157\162\151\164\171\060\202\001\042\060\015\006\011\052\206 -\110\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202 -\001\012\002\202\001\001\000\320\100\213\213\162\343\221\033\367 -\121\301\033\124\004\230\323\251\277\301\346\212\135\073\207\373 -\273\210\316\015\343\057\077\006\226\360\242\051\120\231\256\333 -\073\241\127\260\164\121\161\315\355\102\221\115\101\376\251\310 -\330\152\206\167\104\273\131\146\227\120\136\264\324\054\160\104 -\317\332\067\225\102\151\074\060\304\161\263\122\360\041\115\241 -\330\272\071\174\034\236\243\044\235\362\203\026\230\252\026\174 -\103\233\025\133\267\256\064\221\376\324\142\046\030\106\232\077 -\353\301\371\361\220\127\353\254\172\015\213\333\162\060\152\146 -\325\340\106\243\160\334\150\331\377\004\110\211\167\336\265\351 -\373\147\155\101\351\274\071\275\062\331\142\002\361\261\250\075 -\156\067\234\342\057\342\323\242\046\213\306\270\125\103\210\341 -\043\076\245\322\044\071\152\107\253\000\324\241\263\251\045\376 -\015\077\247\035\272\323\121\301\013\244\332\254\070\357\125\120 -\044\005\145\106\223\064\117\055\215\255\306\324\041\031\322\216 -\312\005\141\161\007\163\107\345\212\031\022\275\004\115\316\116 -\234\245\110\254\273\046\367\002\003\001\000\001\243\201\216\060 -\201\213\060\035\006\003\125\035\016\004\026\004\024\013\130\345 -\213\306\114\025\067\244\100\251\060\251\041\276\107\066\132\126 -\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001 -\006\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001 -\001\377\060\111\006\003\125\035\037\004\102\060\100\060\076\240 -\074\240\072\206\070\150\164\164\160\072\057\057\143\162\154\056 -\143\157\155\157\144\157\143\141\056\143\157\155\057\103\117\115 -\117\104\117\103\145\162\164\151\146\151\143\141\164\151\157\156 -\101\165\164\150\157\162\151\164\171\056\143\162\154\060\015\006 -\011\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001 -\000\076\230\236\233\366\033\351\327\071\267\170\256\035\162\030 -\111\323\207\344\103\202\353\077\311\252\365\250\265\357\125\174 -\041\122\145\371\325\015\341\154\364\076\214\223\163\221\056\002 -\304\116\007\161\157\300\217\070\141\010\250\036\201\012\300\057 -\040\057\101\213\221\334\110\105\274\361\306\336\272\166\153\063 -\310\000\055\061\106\114\355\347\235\317\210\224\377\063\300\126 -\350\044\206\046\270\330\070\070\337\052\153\335\022\314\307\077 -\107\027\114\242\302\006\226\011\326\333\376\077\074\106\101\337 -\130\342\126\017\074\073\301\034\223\065\331\070\122\254\356\310 -\354\056\060\116\224\065\264\044\037\113\170\151\332\362\002\070 -\314\225\122\223\360\160\045\131\234\040\147\304\356\371\213\127 -\141\364\222\166\175\077\204\215\125\267\350\345\254\325\361\365 -\031\126\246\132\373\220\034\257\223\353\345\034\324\147\227\135 -\004\016\276\013\203\246\027\203\271\060\022\240\305\063\025\005 -\271\015\373\307\005\166\343\330\112\215\374\064\027\243\306\041 -\050\276\060\105\061\036\307\170\276\130\141\070\254\073\342\001 -\145 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "COMODO Certification Authority" -# Issuer: CN=COMODO Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB -# Serial Number:4e:81:2d:8a:82:65:e0:0b:02:ee:3e:35:02:46:e5:3d -# Subject: CN=COMODO Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB -# Not Valid Before: Fri Dec 01 00:00:00 2006 -# Not Valid After : Mon Dec 31 23:59:59 2029 -# Fingerprint (MD5): 5C:48:DC:F7:42:72:EC:56:94:6D:1C:CC:71:35:80:75 -# Fingerprint (SHA1): 66:31:BF:9E:F7:4F:9E:B6:C9:D5:A6:0C:BA:6A:BE:D1:F7:BD:EF:7B -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "COMODO Certification Authority" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\146\061\277\236\367\117\236\266\311\325\246\014\272\152\276\321 -\367\275\357\173 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\134\110\334\367\102\162\354\126\224\155\034\314\161\065\200\165 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\201\061\013\060\011\006\003\125\004\006\023\002\107\102 -\061\033\060\031\006\003\125\004\010\023\022\107\162\145\141\164 -\145\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060 -\016\006\003\125\004\007\023\007\123\141\154\146\157\162\144\061 -\032\060\030\006\003\125\004\012\023\021\103\117\115\117\104\117 -\040\103\101\040\114\151\155\151\164\145\144\061\047\060\045\006 -\003\125\004\003\023\036\103\117\115\117\104\117\040\103\145\162 -\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157 -\162\151\164\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\116\201\055\212\202\145\340\013\002\356\076\065\002\106 -\345\075 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Network Solutions Certificate Authority" -# -# Issuer: CN=Network Solutions Certificate Authority,O=Network Solutions L.L.C.,C=US -# Serial Number:57:cb:33:6f:c2:5c:16:e6:47:16:17:e3:90:31:68:e0 -# Subject: CN=Network Solutions Certificate Authority,O=Network Solutions L.L.C.,C=US -# Not Valid Before: Fri Dec 01 00:00:00 2006 -# Not Valid After : Mon Dec 31 23:59:59 2029 -# Fingerprint (MD5): D3:F3:A6:16:C0:FA:6B:1D:59:B1:2D:96:4D:0E:11:2E -# Fingerprint (SHA1): 74:F8:A3:C3:EF:E7:B3:90:06:4B:83:90:3C:21:64:60:20:E5:DF:CE -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Network Solutions Certificate Authority" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\142\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\041\060\037\006\003\125\004\012\023\030\116\145\164\167\157\162 -\153\040\123\157\154\165\164\151\157\156\163\040\114\056\114\056 -\103\056\061\060\060\056\006\003\125\004\003\023\047\116\145\164 -\167\157\162\153\040\123\157\154\165\164\151\157\156\163\040\103 -\145\162\164\151\146\151\143\141\164\145\040\101\165\164\150\157 -\162\151\164\171 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\142\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\041\060\037\006\003\125\004\012\023\030\116\145\164\167\157\162 -\153\040\123\157\154\165\164\151\157\156\163\040\114\056\114\056 -\103\056\061\060\060\056\006\003\125\004\003\023\047\116\145\164 -\167\157\162\153\040\123\157\154\165\164\151\157\156\163\040\103 -\145\162\164\151\146\151\143\141\164\145\040\101\165\164\150\157 -\162\151\164\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\127\313\063\157\302\134\026\346\107\026\027\343\220\061 -\150\340 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\346\060\202\002\316\240\003\002\001\002\002\020\127 -\313\063\157\302\134\026\346\107\026\027\343\220\061\150\340\060 -\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\142 -\061\013\060\011\006\003\125\004\006\023\002\125\123\061\041\060 -\037\006\003\125\004\012\023\030\116\145\164\167\157\162\153\040 -\123\157\154\165\164\151\157\156\163\040\114\056\114\056\103\056 -\061\060\060\056\006\003\125\004\003\023\047\116\145\164\167\157 -\162\153\040\123\157\154\165\164\151\157\156\163\040\103\145\162 -\164\151\146\151\143\141\164\145\040\101\165\164\150\157\162\151 -\164\171\060\036\027\015\060\066\061\062\060\061\060\060\060\060 -\060\060\132\027\015\062\071\061\062\063\061\062\063\065\071\065 -\071\132\060\142\061\013\060\011\006\003\125\004\006\023\002\125 -\123\061\041\060\037\006\003\125\004\012\023\030\116\145\164\167 -\157\162\153\040\123\157\154\165\164\151\157\156\163\040\114\056 -\114\056\103\056\061\060\060\056\006\003\125\004\003\023\047\116 -\145\164\167\157\162\153\040\123\157\154\165\164\151\157\156\163 -\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164 -\150\157\162\151\164\171\060\202\001\042\060\015\006\011\052\206 -\110\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202 -\001\012\002\202\001\001\000\344\274\176\222\060\155\306\330\216 -\053\013\274\106\316\340\047\226\336\336\371\372\022\323\074\063 -\163\263\004\057\274\161\214\345\237\266\042\140\076\137\135\316 -\011\377\202\014\033\232\121\120\032\046\211\335\325\141\135\031 -\334\022\017\055\012\242\103\135\027\320\064\222\040\352\163\317 -\070\054\006\046\011\172\162\367\372\120\062\370\302\223\323\151 -\242\043\316\101\261\314\344\325\037\066\321\212\072\370\214\143 -\342\024\131\151\355\015\323\177\153\350\270\003\345\117\152\345 -\230\143\151\110\005\276\056\377\063\266\351\227\131\151\370\147 -\031\256\223\141\226\104\025\323\162\260\077\274\152\175\354\110 -\177\215\303\253\252\161\053\123\151\101\123\064\265\260\271\305 -\006\012\304\260\105\365\101\135\156\211\105\173\075\073\046\214 -\164\302\345\322\321\175\262\021\324\373\130\062\042\232\200\311 -\334\375\014\351\177\136\003\227\316\073\000\024\207\047\160\070 -\251\216\156\263\047\166\230\121\340\005\343\041\253\032\325\205 -\042\074\051\265\232\026\305\200\250\364\273\153\060\217\057\106 -\002\242\261\014\042\340\323\002\003\001\000\001\243\201\227\060 -\201\224\060\035\006\003\125\035\016\004\026\004\024\041\060\311 -\373\000\327\116\230\332\207\252\052\320\247\056\261\100\061\247 -\114\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001 -\006\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001 -\001\377\060\122\006\003\125\035\037\004\113\060\111\060\107\240 -\105\240\103\206\101\150\164\164\160\072\057\057\143\162\154\056 -\156\145\164\163\157\154\163\163\154\056\143\157\155\057\116\145 -\164\167\157\162\153\123\157\154\165\164\151\157\156\163\103\145 -\162\164\151\146\151\143\141\164\145\101\165\164\150\157\162\151 -\164\171\056\143\162\154\060\015\006\011\052\206\110\206\367\015 -\001\001\005\005\000\003\202\001\001\000\273\256\113\347\267\127 -\353\177\252\055\267\163\107\205\152\301\344\245\035\344\347\074 -\351\364\131\145\167\265\172\133\132\215\045\066\340\172\227\056 -\070\300\127\140\203\230\006\203\237\271\166\172\156\120\340\272 -\210\054\374\105\314\030\260\231\225\121\016\354\035\270\210\377 -\207\120\034\202\302\343\340\062\200\277\240\013\107\310\303\061 -\357\231\147\062\200\117\027\041\171\014\151\134\336\136\064\256 -\002\265\046\352\120\337\177\030\145\054\311\362\143\341\251\007 -\376\174\161\037\153\063\044\152\036\005\367\005\150\300\152\022 -\313\056\136\141\313\256\050\323\176\302\264\146\221\046\137\074 -\056\044\137\313\130\017\353\050\354\257\021\226\363\334\173\157 -\300\247\210\362\123\167\263\140\136\256\256\050\332\065\054\157 -\064\105\323\046\341\336\354\133\117\047\153\026\174\275\104\004 -\030\202\263\211\171\027\020\161\075\172\242\026\116\365\001\315 -\244\154\145\150\241\111\166\134\103\311\330\274\066\147\154\245 -\224\265\324\314\271\275\152\065\126\041\336\330\303\353\373\313 -\244\140\114\260\125\240\240\173\127\262 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "Network Solutions Certificate Authority" -# Issuer: CN=Network Solutions Certificate Authority,O=Network Solutions L.L.C.,C=US -# Serial Number:57:cb:33:6f:c2:5c:16:e6:47:16:17:e3:90:31:68:e0 -# Subject: CN=Network Solutions Certificate Authority,O=Network Solutions L.L.C.,C=US -# Not Valid Before: Fri Dec 01 00:00:00 2006 -# Not Valid After : Mon Dec 31 23:59:59 2029 -# Fingerprint (MD5): D3:F3:A6:16:C0:FA:6B:1D:59:B1:2D:96:4D:0E:11:2E -# Fingerprint (SHA1): 74:F8:A3:C3:EF:E7:B3:90:06:4B:83:90:3C:21:64:60:20:E5:DF:CE -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Network Solutions Certificate Authority" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\164\370\243\303\357\347\263\220\006\113\203\220\074\041\144\140 -\040\345\337\316 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\323\363\246\026\300\372\153\035\131\261\055\226\115\016\021\056 -END -CKA_ISSUER MULTILINE_OCTAL -\060\142\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\041\060\037\006\003\125\004\012\023\030\116\145\164\167\157\162 -\153\040\123\157\154\165\164\151\157\156\163\040\114\056\114\056 -\103\056\061\060\060\056\006\003\125\004\003\023\047\116\145\164 -\167\157\162\153\040\123\157\154\165\164\151\157\156\163\040\103 -\145\162\164\151\146\151\143\141\164\145\040\101\165\164\150\157 -\162\151\164\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\127\313\063\157\302\134\026\346\107\026\027\343\220\061 -\150\340 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "COMODO ECC Certification Authority" -# -# Issuer: CN=COMODO ECC Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB -# Serial Number:1f:47:af:aa:62:00:70:50:54:4c:01:9e:9b:63:99:2a -# Subject: CN=COMODO ECC Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB -# Not Valid Before: Thu Mar 06 00:00:00 2008 -# Not Valid After : Mon Jan 18 23:59:59 2038 -# Fingerprint (MD5): 7C:62:FF:74:9D:31:53:5E:68:4A:D5:78:AA:1E:BF:23 -# Fingerprint (SHA1): 9F:74:4E:9F:2B:4D:BA:EC:0F:31:2C:50:B6:56:3B:8E:2D:93:C3:11 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "COMODO ECC Certification Authority" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\205\061\013\060\011\006\003\125\004\006\023\002\107\102 -\061\033\060\031\006\003\125\004\010\023\022\107\162\145\141\164 -\145\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060 -\016\006\003\125\004\007\023\007\123\141\154\146\157\162\144\061 -\032\060\030\006\003\125\004\012\023\021\103\117\115\117\104\117 -\040\103\101\040\114\151\155\151\164\145\144\061\053\060\051\006 -\003\125\004\003\023\042\103\117\115\117\104\117\040\105\103\103 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 -\165\164\150\157\162\151\164\171 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\205\061\013\060\011\006\003\125\004\006\023\002\107\102 -\061\033\060\031\006\003\125\004\010\023\022\107\162\145\141\164 -\145\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060 -\016\006\003\125\004\007\023\007\123\141\154\146\157\162\144\061 -\032\060\030\006\003\125\004\012\023\021\103\117\115\117\104\117 -\040\103\101\040\114\151\155\151\164\145\144\061\053\060\051\006 -\003\125\004\003\023\042\103\117\115\117\104\117\040\105\103\103 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 -\165\164\150\157\162\151\164\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\037\107\257\252\142\000\160\120\124\114\001\236\233\143 -\231\052 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\002\211\060\202\002\017\240\003\002\001\002\002\020\037 -\107\257\252\142\000\160\120\124\114\001\236\233\143\231\052\060 -\012\006\010\052\206\110\316\075\004\003\003\060\201\205\061\013 -\060\011\006\003\125\004\006\023\002\107\102\061\033\060\031\006 -\003\125\004\010\023\022\107\162\145\141\164\145\162\040\115\141 -\156\143\150\145\163\164\145\162\061\020\060\016\006\003\125\004 -\007\023\007\123\141\154\146\157\162\144\061\032\060\030\006\003 -\125\004\012\023\021\103\117\115\117\104\117\040\103\101\040\114 -\151\155\151\164\145\144\061\053\060\051\006\003\125\004\003\023 -\042\103\117\115\117\104\117\040\105\103\103\040\103\145\162\164 -\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162 -\151\164\171\060\036\027\015\060\070\060\063\060\066\060\060\060 -\060\060\060\132\027\015\063\070\060\061\061\070\062\063\065\071 -\065\071\132\060\201\205\061\013\060\011\006\003\125\004\006\023 -\002\107\102\061\033\060\031\006\003\125\004\010\023\022\107\162 -\145\141\164\145\162\040\115\141\156\143\150\145\163\164\145\162 -\061\020\060\016\006\003\125\004\007\023\007\123\141\154\146\157 -\162\144\061\032\060\030\006\003\125\004\012\023\021\103\117\115 -\117\104\117\040\103\101\040\114\151\155\151\164\145\144\061\053 -\060\051\006\003\125\004\003\023\042\103\117\115\117\104\117\040 -\105\103\103\040\103\145\162\164\151\146\151\143\141\164\151\157 -\156\040\101\165\164\150\157\162\151\164\171\060\166\060\020\006 -\007\052\206\110\316\075\002\001\006\005\053\201\004\000\042\003 -\142\000\004\003\107\173\057\165\311\202\025\205\373\165\344\221 -\026\324\253\142\231\365\076\122\013\006\316\101\000\177\227\341 -\012\044\074\035\001\004\356\075\322\215\011\227\014\340\165\344 -\372\373\167\212\052\365\003\140\113\066\213\026\043\026\255\011 -\161\364\112\364\050\120\264\376\210\034\156\077\154\057\057\011 -\131\133\245\133\013\063\231\342\303\075\211\371\152\054\357\262 -\323\006\351\243\102\060\100\060\035\006\003\125\035\016\004\026 -\004\024\165\161\247\031\110\031\274\235\235\352\101\107\337\224 -\304\110\167\231\323\171\060\016\006\003\125\035\017\001\001\377 -\004\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377 -\004\005\060\003\001\001\377\060\012\006\010\052\206\110\316\075 -\004\003\003\003\150\000\060\145\002\061\000\357\003\133\172\254 -\267\170\012\162\267\210\337\377\265\106\024\011\012\372\240\346 -\175\010\306\032\207\275\030\250\163\275\046\312\140\014\235\316 -\231\237\317\134\017\060\341\276\024\061\352\002\060\024\364\223 -\074\111\247\063\172\220\106\107\263\143\175\023\233\116\267\157 -\030\067\200\123\376\335\040\340\065\232\066\321\307\001\271\346 -\334\335\363\377\035\054\072\026\127\331\222\071\326 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "COMODO ECC Certification Authority" -# Issuer: CN=COMODO ECC Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB -# Serial Number:1f:47:af:aa:62:00:70:50:54:4c:01:9e:9b:63:99:2a -# Subject: CN=COMODO ECC Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB -# Not Valid Before: Thu Mar 06 00:00:00 2008 -# Not Valid After : Mon Jan 18 23:59:59 2038 -# Fingerprint (MD5): 7C:62:FF:74:9D:31:53:5E:68:4A:D5:78:AA:1E:BF:23 -# Fingerprint (SHA1): 9F:74:4E:9F:2B:4D:BA:EC:0F:31:2C:50:B6:56:3B:8E:2D:93:C3:11 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "COMODO ECC Certification Authority" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\237\164\116\237\053\115\272\354\017\061\054\120\266\126\073\216 -\055\223\303\021 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\174\142\377\164\235\061\123\136\150\112\325\170\252\036\277\043 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\205\061\013\060\011\006\003\125\004\006\023\002\107\102 -\061\033\060\031\006\003\125\004\010\023\022\107\162\145\141\164 -\145\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060 -\016\006\003\125\004\007\023\007\123\141\154\146\157\162\144\061 -\032\060\030\006\003\125\004\012\023\021\103\117\115\117\104\117 -\040\103\101\040\114\151\155\151\164\145\144\061\053\060\051\006 -\003\125\004\003\023\042\103\117\115\117\104\117\040\105\103\103 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 -\165\164\150\157\162\151\164\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\037\107\257\252\142\000\160\120\124\114\001\236\233\143 -\231\052 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "OISTE WISeKey Global Root GA CA" -# -# Issuer: CN=OISTE WISeKey Global Root GA CA,OU=OISTE Foundation Endorsed,OU=Copyright (c) 2005,O=WISeKey,C=CH -# Serial Number:41:3d:72:c7:f4:6b:1f:81:43:7d:f1:d2:28:54:df:9a -# Subject: CN=OISTE WISeKey Global Root GA CA,OU=OISTE Foundation Endorsed,OU=Copyright (c) 2005,O=WISeKey,C=CH -# Not Valid Before: Sun Dec 11 16:03:44 2005 -# Not Valid After : Fri Dec 11 16:09:51 2037 -# Fingerprint (MD5): BC:6C:51:33:A7:E9:D3:66:63:54:15:72:1B:21:92:93 -# Fingerprint (SHA1): 59:22:A1:E1:5A:EA:16:35:21:F8:98:39:6A:46:46:B0:44:1B:0F:A9 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "OISTE WISeKey Global Root GA CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\212\061\013\060\011\006\003\125\004\006\023\002\103\110 -\061\020\060\016\006\003\125\004\012\023\007\127\111\123\145\113 -\145\171\061\033\060\031\006\003\125\004\013\023\022\103\157\160 -\171\162\151\147\150\164\040\050\143\051\040\062\060\060\065\061 -\042\060\040\006\003\125\004\013\023\031\117\111\123\124\105\040 -\106\157\165\156\144\141\164\151\157\156\040\105\156\144\157\162 -\163\145\144\061\050\060\046\006\003\125\004\003\023\037\117\111 -\123\124\105\040\127\111\123\145\113\145\171\040\107\154\157\142 -\141\154\040\122\157\157\164\040\107\101\040\103\101 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\212\061\013\060\011\006\003\125\004\006\023\002\103\110 -\061\020\060\016\006\003\125\004\012\023\007\127\111\123\145\113 -\145\171\061\033\060\031\006\003\125\004\013\023\022\103\157\160 -\171\162\151\147\150\164\040\050\143\051\040\062\060\060\065\061 -\042\060\040\006\003\125\004\013\023\031\117\111\123\124\105\040 -\106\157\165\156\144\141\164\151\157\156\040\105\156\144\157\162 -\163\145\144\061\050\060\046\006\003\125\004\003\023\037\117\111 -\123\124\105\040\127\111\123\145\113\145\171\040\107\154\157\142 -\141\154\040\122\157\157\164\040\107\101\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\101\075\162\307\364\153\037\201\103\175\361\322\050\124 -\337\232 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\361\060\202\002\331\240\003\002\001\002\002\020\101 -\075\162\307\364\153\037\201\103\175\361\322\050\124\337\232\060 -\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201 -\212\061\013\060\011\006\003\125\004\006\023\002\103\110\061\020 -\060\016\006\003\125\004\012\023\007\127\111\123\145\113\145\171 -\061\033\060\031\006\003\125\004\013\023\022\103\157\160\171\162 -\151\147\150\164\040\050\143\051\040\062\060\060\065\061\042\060 -\040\006\003\125\004\013\023\031\117\111\123\124\105\040\106\157 -\165\156\144\141\164\151\157\156\040\105\156\144\157\162\163\145 -\144\061\050\060\046\006\003\125\004\003\023\037\117\111\123\124 -\105\040\127\111\123\145\113\145\171\040\107\154\157\142\141\154 -\040\122\157\157\164\040\107\101\040\103\101\060\036\027\015\060 -\065\061\062\061\061\061\066\060\063\064\064\132\027\015\063\067 -\061\062\061\061\061\066\060\071\065\061\132\060\201\212\061\013 -\060\011\006\003\125\004\006\023\002\103\110\061\020\060\016\006 -\003\125\004\012\023\007\127\111\123\145\113\145\171\061\033\060 -\031\006\003\125\004\013\023\022\103\157\160\171\162\151\147\150 -\164\040\050\143\051\040\062\060\060\065\061\042\060\040\006\003 -\125\004\013\023\031\117\111\123\124\105\040\106\157\165\156\144 -\141\164\151\157\156\040\105\156\144\157\162\163\145\144\061\050 -\060\046\006\003\125\004\003\023\037\117\111\123\124\105\040\127 -\111\123\145\113\145\171\040\107\154\157\142\141\154\040\122\157 -\157\164\040\107\101\040\103\101\060\202\001\042\060\015\006\011 -\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017\000 -\060\202\001\012\002\202\001\001\000\313\117\263\000\233\075\066 -\335\371\321\111\152\153\020\111\037\354\330\053\262\306\370\062 -\201\051\103\225\114\232\031\043\041\025\105\336\343\310\034\121 -\125\133\256\223\350\067\377\053\153\351\324\352\276\052\335\250 -\121\053\327\146\303\141\134\140\002\310\365\316\162\173\073\270 -\362\116\145\010\232\315\244\152\031\301\001\273\163\246\327\366 -\303\335\315\274\244\213\265\231\141\270\001\242\243\324\115\324 -\005\075\221\255\370\264\010\161\144\257\160\361\034\153\176\366 -\303\167\235\044\163\173\344\014\214\341\331\066\341\231\213\005 -\231\013\355\105\061\011\312\302\000\333\367\162\240\226\252\225 -\207\320\216\307\266\141\163\015\166\146\214\334\033\264\143\242 -\237\177\223\023\060\361\241\047\333\331\377\054\125\210\221\240 -\340\117\007\260\050\126\214\030\033\227\104\216\211\335\340\027 -\156\347\052\357\217\071\012\061\204\202\330\100\024\111\056\172 -\101\344\247\376\343\144\314\301\131\161\113\054\041\247\133\175 -\340\035\321\056\201\233\303\330\150\367\275\226\033\254\160\261 -\026\024\013\333\140\271\046\001\005\002\003\001\000\001\243\121 -\060\117\060\013\006\003\125\035\017\004\004\003\002\001\206\060 -\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377 -\060\035\006\003\125\035\016\004\026\004\024\263\003\176\256\066 -\274\260\171\321\334\224\046\266\021\276\041\262\151\206\224\060 -\020\006\011\053\006\001\004\001\202\067\025\001\004\003\002\001 -\000\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000 -\003\202\001\001\000\113\241\377\013\207\156\263\371\301\103\261 -\110\363\050\300\035\056\311\011\101\372\224\000\034\244\244\253 -\111\117\217\075\036\357\115\157\275\274\244\366\362\046\060\311 -\020\312\035\210\373\164\031\037\205\105\275\260\154\121\371\066 -\176\333\365\114\062\072\101\117\133\107\317\350\013\055\266\304 -\031\235\164\305\107\306\073\152\017\254\024\333\074\364\163\234 -\251\005\337\000\334\164\170\372\370\065\140\131\002\023\030\174 -\274\373\115\260\040\155\103\273\140\060\172\147\063\134\305\231 -\321\370\055\071\122\163\373\214\252\227\045\134\162\331\010\036 -\253\116\074\343\201\061\237\003\246\373\300\376\051\210\125\332 -\204\325\120\003\266\342\204\243\246\066\252\021\072\001\341\030 -\113\326\104\150\263\075\371\123\164\204\263\106\221\106\226\000 -\267\200\054\266\341\343\020\342\333\242\347\050\217\001\226\142 -\026\076\000\343\034\245\066\201\030\242\114\122\166\300\021\243 -\156\346\035\272\343\132\276\066\123\305\076\165\217\206\151\051 -\130\123\265\234\273\157\237\134\305\030\354\335\057\341\230\311 -\374\276\337\012\015 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "OISTE WISeKey Global Root GA CA" -# Issuer: CN=OISTE WISeKey Global Root GA CA,OU=OISTE Foundation Endorsed,OU=Copyright (c) 2005,O=WISeKey,C=CH -# Serial Number:41:3d:72:c7:f4:6b:1f:81:43:7d:f1:d2:28:54:df:9a -# Subject: CN=OISTE WISeKey Global Root GA CA,OU=OISTE Foundation Endorsed,OU=Copyright (c) 2005,O=WISeKey,C=CH -# Not Valid Before: Sun Dec 11 16:03:44 2005 -# Not Valid After : Fri Dec 11 16:09:51 2037 -# Fingerprint (MD5): BC:6C:51:33:A7:E9:D3:66:63:54:15:72:1B:21:92:93 -# Fingerprint (SHA1): 59:22:A1:E1:5A:EA:16:35:21:F8:98:39:6A:46:46:B0:44:1B:0F:A9 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "OISTE WISeKey Global Root GA CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\131\042\241\341\132\352\026\065\041\370\230\071\152\106\106\260 -\104\033\017\251 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\274\154\121\063\247\351\323\146\143\124\025\162\033\041\222\223 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\212\061\013\060\011\006\003\125\004\006\023\002\103\110 -\061\020\060\016\006\003\125\004\012\023\007\127\111\123\145\113 -\145\171\061\033\060\031\006\003\125\004\013\023\022\103\157\160 -\171\162\151\147\150\164\040\050\143\051\040\062\060\060\065\061 -\042\060\040\006\003\125\004\013\023\031\117\111\123\124\105\040 -\106\157\165\156\144\141\164\151\157\156\040\105\156\144\157\162 -\163\145\144\061\050\060\046\006\003\125\004\003\023\037\117\111 -\123\124\105\040\127\111\123\145\113\145\171\040\107\154\157\142 -\141\154\040\122\157\157\164\040\107\101\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\101\075\162\307\364\153\037\201\103\175\361\322\050\124 -\337\232 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Certigna" -# -# Issuer: CN=Certigna,O=Dhimyotis,C=FR -# Serial Number:00:fe:dc:e3:01:0f:c9:48:ff -# Subject: CN=Certigna,O=Dhimyotis,C=FR -# Not Valid Before: Fri Jun 29 15:13:05 2007 -# Not Valid After : Tue Jun 29 15:13:05 2027 -# Fingerprint (MD5): AB:57:A6:5B:7D:42:82:19:B5:D8:58:26:28:5E:FD:FF -# Fingerprint (SHA1): B1:2E:13:63:45:86:A4:6F:1A:B2:60:68:37:58:2D:C4:AC:FD:94:97 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Certigna" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\064\061\013\060\011\006\003\125\004\006\023\002\106\122\061 -\022\060\020\006\003\125\004\012\014\011\104\150\151\155\171\157 -\164\151\163\061\021\060\017\006\003\125\004\003\014\010\103\145 -\162\164\151\147\156\141 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\064\061\013\060\011\006\003\125\004\006\023\002\106\122\061 -\022\060\020\006\003\125\004\012\014\011\104\150\151\155\171\157 -\164\151\163\061\021\060\017\006\003\125\004\003\014\010\103\145 -\162\164\151\147\156\141 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\011\000\376\334\343\001\017\311\110\377 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\250\060\202\002\220\240\003\002\001\002\002\011\000 -\376\334\343\001\017\311\110\377\060\015\006\011\052\206\110\206 -\367\015\001\001\005\005\000\060\064\061\013\060\011\006\003\125 -\004\006\023\002\106\122\061\022\060\020\006\003\125\004\012\014 -\011\104\150\151\155\171\157\164\151\163\061\021\060\017\006\003 -\125\004\003\014\010\103\145\162\164\151\147\156\141\060\036\027 -\015\060\067\060\066\062\071\061\065\061\063\060\065\132\027\015 -\062\067\060\066\062\071\061\065\061\063\060\065\132\060\064\061 -\013\060\011\006\003\125\004\006\023\002\106\122\061\022\060\020 -\006\003\125\004\012\014\011\104\150\151\155\171\157\164\151\163 -\061\021\060\017\006\003\125\004\003\014\010\103\145\162\164\151 -\147\156\141\060\202\001\042\060\015\006\011\052\206\110\206\367 -\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002 -\202\001\001\000\310\150\361\311\326\326\263\064\165\046\202\036 -\354\264\276\352\134\341\046\355\021\107\141\341\242\174\026\170 -\100\041\344\140\236\132\310\143\341\304\261\226\222\377\030\155 -\151\043\341\053\142\367\335\342\066\057\221\007\271\110\317\016 -\354\171\266\054\347\064\113\160\010\045\243\074\207\033\031\362 -\201\007\017\070\220\031\323\021\376\206\264\362\321\136\036\036 -\226\315\200\154\316\073\061\223\266\362\240\320\251\225\022\175 -\245\232\314\153\310\204\126\212\063\251\347\042\025\123\026\360 -\314\027\354\127\137\351\242\012\230\011\336\343\137\234\157\334 -\110\343\205\013\025\132\246\272\237\254\110\343\011\262\367\364 -\062\336\136\064\276\034\170\135\102\133\316\016\042\217\115\220 -\327\175\062\030\263\013\054\152\277\216\077\024\021\211\040\016 -\167\024\265\075\224\010\207\367\045\036\325\262\140\000\354\157 -\052\050\045\156\052\076\030\143\027\045\077\076\104\040\026\366 -\046\310\045\256\005\112\264\347\143\054\363\214\026\123\176\134 -\373\021\032\010\301\106\142\237\042\270\361\302\215\151\334\372 -\072\130\006\337\002\003\001\000\001\243\201\274\060\201\271\060 -\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377 -\060\035\006\003\125\035\016\004\026\004\024\032\355\376\101\071 -\220\264\044\131\276\001\362\122\325\105\366\132\071\334\021\060 -\144\006\003\125\035\043\004\135\060\133\200\024\032\355\376\101 -\071\220\264\044\131\276\001\362\122\325\105\366\132\071\334\021 -\241\070\244\066\060\064\061\013\060\011\006\003\125\004\006\023 -\002\106\122\061\022\060\020\006\003\125\004\012\014\011\104\150 -\151\155\171\157\164\151\163\061\021\060\017\006\003\125\004\003 -\014\010\103\145\162\164\151\147\156\141\202\011\000\376\334\343 -\001\017\311\110\377\060\016\006\003\125\035\017\001\001\377\004 -\004\003\002\001\006\060\021\006\011\140\206\110\001\206\370\102 -\001\001\004\004\003\002\000\007\060\015\006\011\052\206\110\206 -\367\015\001\001\005\005\000\003\202\001\001\000\205\003\036\222 -\161\366\102\257\341\243\141\236\353\363\300\017\362\245\324\332 -\225\346\326\276\150\066\075\176\156\037\114\212\357\321\017\041 -\155\136\245\122\143\316\022\370\357\052\332\157\353\067\376\023 -\002\307\313\073\076\042\153\332\141\056\177\324\162\075\335\060 -\341\036\114\100\031\214\017\327\234\321\203\060\173\230\131\334 -\175\306\271\014\051\114\241\063\242\353\147\072\145\204\323\226 -\342\355\166\105\160\217\265\053\336\371\043\326\111\156\074\024 -\265\306\237\065\036\120\320\301\217\152\160\104\002\142\313\256 -\035\150\101\247\252\127\350\123\252\007\322\006\366\325\024\006 -\013\221\003\165\054\154\162\265\141\225\232\015\213\271\015\347 -\365\337\124\315\336\346\330\326\011\010\227\143\345\301\056\260 -\267\104\046\300\046\300\257\125\060\236\073\325\066\052\031\004 -\364\134\036\377\317\054\267\377\320\375\207\100\021\325\021\043 -\273\110\300\041\251\244\050\055\375\025\370\260\116\053\364\060 -\133\041\374\021\221\064\276\101\357\173\235\227\165\377\227\225 -\300\226\130\057\352\273\106\327\273\344\331\056 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "Certigna" -# Issuer: CN=Certigna,O=Dhimyotis,C=FR -# Serial Number:00:fe:dc:e3:01:0f:c9:48:ff -# Subject: CN=Certigna,O=Dhimyotis,C=FR -# Not Valid Before: Fri Jun 29 15:13:05 2007 -# Not Valid After : Tue Jun 29 15:13:05 2027 -# Fingerprint (MD5): AB:57:A6:5B:7D:42:82:19:B5:D8:58:26:28:5E:FD:FF -# Fingerprint (SHA1): B1:2E:13:63:45:86:A4:6F:1A:B2:60:68:37:58:2D:C4:AC:FD:94:97 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Certigna" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\261\056\023\143\105\206\244\157\032\262\140\150\067\130\055\304 -\254\375\224\227 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\253\127\246\133\175\102\202\031\265\330\130\046\050\136\375\377 -END -CKA_ISSUER MULTILINE_OCTAL -\060\064\061\013\060\011\006\003\125\004\006\023\002\106\122\061 -\022\060\020\006\003\125\004\012\014\011\104\150\151\155\171\157 -\164\151\163\061\021\060\017\006\003\125\004\003\014\010\103\145 -\162\164\151\147\156\141 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\011\000\376\334\343\001\017\311\110\377 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Cybertrust Global Root" -# -# Issuer: CN=Cybertrust Global Root,O="Cybertrust, Inc" -# Serial Number:04:00:00:00:00:01:0f:85:aa:2d:48 -# Subject: CN=Cybertrust Global Root,O="Cybertrust, Inc" -# Not Valid Before: Fri Dec 15 08:00:00 2006 -# Not Valid After : Wed Dec 15 08:00:00 2021 -# Fingerprint (MD5): 72:E4:4A:87:E3:69:40:80:77:EA:BC:E3:F4:FF:F0:E1 -# Fingerprint (SHA1): 5F:43:E5:B1:BF:F8:78:8C:AC:1C:C7:CA:4A:9A:C6:22:2B:CC:34:C6 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Cybertrust Global Root" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\073\061\030\060\026\006\003\125\004\012\023\017\103\171\142 -\145\162\164\162\165\163\164\054\040\111\156\143\061\037\060\035 -\006\003\125\004\003\023\026\103\171\142\145\162\164\162\165\163 -\164\040\107\154\157\142\141\154\040\122\157\157\164 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\073\061\030\060\026\006\003\125\004\012\023\017\103\171\142 -\145\162\164\162\165\163\164\054\040\111\156\143\061\037\060\035 -\006\003\125\004\003\023\026\103\171\142\145\162\164\162\165\163 -\164\040\107\154\157\142\141\154\040\122\157\157\164 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\013\004\000\000\000\000\001\017\205\252\055\110 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\241\060\202\002\211\240\003\002\001\002\002\013\004 -\000\000\000\000\001\017\205\252\055\110\060\015\006\011\052\206 -\110\206\367\015\001\001\005\005\000\060\073\061\030\060\026\006 -\003\125\004\012\023\017\103\171\142\145\162\164\162\165\163\164 -\054\040\111\156\143\061\037\060\035\006\003\125\004\003\023\026 -\103\171\142\145\162\164\162\165\163\164\040\107\154\157\142\141 -\154\040\122\157\157\164\060\036\027\015\060\066\061\062\061\065 -\060\070\060\060\060\060\132\027\015\062\061\061\062\061\065\060 -\070\060\060\060\060\132\060\073\061\030\060\026\006\003\125\004 -\012\023\017\103\171\142\145\162\164\162\165\163\164\054\040\111 -\156\143\061\037\060\035\006\003\125\004\003\023\026\103\171\142 -\145\162\164\162\165\163\164\040\107\154\157\142\141\154\040\122 -\157\157\164\060\202\001\042\060\015\006\011\052\206\110\206\367 -\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002 -\202\001\001\000\370\310\274\275\024\120\146\023\377\360\323\171 -\354\043\362\267\032\307\216\205\361\022\163\246\031\252\020\333 -\234\242\145\164\132\167\076\121\175\126\366\334\043\266\324\355 -\137\130\261\067\115\325\111\016\156\365\152\207\326\322\214\322 -\047\306\342\377\066\237\230\145\240\023\116\306\052\144\233\325 -\220\022\317\024\006\364\073\343\324\050\276\350\016\370\253\116 -\110\224\155\216\225\061\020\134\355\242\055\275\325\072\155\262 -\034\273\140\300\106\113\001\365\111\256\176\106\212\320\164\215 -\241\014\002\316\356\374\347\217\270\153\146\363\177\104\000\277 -\146\045\024\053\335\020\060\035\007\226\077\115\366\153\270\217 -\267\173\014\245\070\353\336\107\333\325\135\071\374\210\247\363 -\327\052\164\361\350\132\242\073\237\120\272\246\214\105\065\302 -\120\145\225\334\143\202\357\335\277\167\115\234\142\311\143\163 -\026\320\051\017\111\251\110\360\263\252\267\154\305\247\060\071 -\100\135\256\304\342\135\046\123\360\316\034\043\010\141\250\224 -\031\272\004\142\100\354\037\070\160\167\022\006\161\247\060\030 -\135\045\047\245\002\003\001\000\001\243\201\245\060\201\242\060 -\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060 -\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377 -\060\035\006\003\125\035\016\004\026\004\024\266\010\173\015\172 -\314\254\040\114\206\126\062\136\317\253\156\205\055\160\127\060 -\077\006\003\125\035\037\004\070\060\066\060\064\240\062\240\060 -\206\056\150\164\164\160\072\057\057\167\167\167\062\056\160\165 -\142\154\151\143\055\164\162\165\163\164\056\143\157\155\057\143 -\162\154\057\143\164\057\143\164\162\157\157\164\056\143\162\154 -\060\037\006\003\125\035\043\004\030\060\026\200\024\266\010\173 -\015\172\314\254\040\114\206\126\062\136\317\253\156\205\055\160 -\127\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000 -\003\202\001\001\000\126\357\012\043\240\124\116\225\227\311\370 -\211\332\105\301\324\243\000\045\364\037\023\253\267\243\205\130 -\151\302\060\255\330\025\212\055\343\311\315\201\132\370\163\043 -\132\247\174\005\363\375\042\073\016\321\006\304\333\066\114\163 -\004\216\345\260\042\344\305\363\056\245\331\043\343\270\116\112 -\040\247\156\002\044\237\042\140\147\173\213\035\162\011\305\061 -\134\351\171\237\200\107\075\255\241\013\007\024\075\107\377\003 -\151\032\014\013\104\347\143\045\247\177\262\311\270\166\204\355 -\043\366\175\007\253\105\176\323\337\263\277\351\212\266\315\250 -\242\147\053\122\325\267\145\360\071\114\143\240\221\171\223\122 -\017\124\335\203\273\237\321\217\247\123\163\303\313\377\060\354 -\174\004\270\330\104\037\223\137\161\011\042\267\156\076\352\034 -\003\116\235\032\040\141\373\201\067\354\136\374\012\105\253\327 -\347\027\125\320\240\352\140\233\246\366\343\214\133\051\302\006 -\140\024\235\055\227\114\251\223\025\235\141\304\001\137\110\326 -\130\275\126\061\022\116\021\310\041\340\263\021\221\145\333\264 -\246\210\070\316\125 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "Cybertrust Global Root" -# Issuer: CN=Cybertrust Global Root,O="Cybertrust, Inc" -# Serial Number:04:00:00:00:00:01:0f:85:aa:2d:48 -# Subject: CN=Cybertrust Global Root,O="Cybertrust, Inc" -# Not Valid Before: Fri Dec 15 08:00:00 2006 -# Not Valid After : Wed Dec 15 08:00:00 2021 -# Fingerprint (MD5): 72:E4:4A:87:E3:69:40:80:77:EA:BC:E3:F4:FF:F0:E1 -# Fingerprint (SHA1): 5F:43:E5:B1:BF:F8:78:8C:AC:1C:C7:CA:4A:9A:C6:22:2B:CC:34:C6 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Cybertrust Global Root" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\137\103\345\261\277\370\170\214\254\034\307\312\112\232\306\042 -\053\314\064\306 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\162\344\112\207\343\151\100\200\167\352\274\343\364\377\360\341 -END -CKA_ISSUER MULTILINE_OCTAL -\060\073\061\030\060\026\006\003\125\004\012\023\017\103\171\142 -\145\162\164\162\165\163\164\054\040\111\156\143\061\037\060\035 -\006\003\125\004\003\023\026\103\171\142\145\162\164\162\165\163 -\164\040\107\154\157\142\141\154\040\122\157\157\164 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\013\004\000\000\000\000\001\017\205\252\055\110 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "ePKI Root Certification Authority" -# -# Issuer: OU=ePKI Root Certification Authority,O="Chunghwa Telecom Co., Ltd.",C=TW -# Serial Number:15:c8:bd:65:47:5c:af:b8:97:00:5e:e4:06:d2:bc:9d -# Subject: OU=ePKI Root Certification Authority,O="Chunghwa Telecom Co., Ltd.",C=TW -# Not Valid Before: Mon Dec 20 02:31:27 2004 -# Not Valid After : Wed Dec 20 02:31:27 2034 -# Fingerprint (MD5): 1B:2E:00:CA:26:06:90:3D:AD:FE:6F:15:68:D3:6B:B3 -# Fingerprint (SHA1): 67:65:0D:F1:7E:8E:7E:5B:82:40:A4:F4:56:4B:CF:E2:3D:69:C6:F0 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "ePKI Root Certification Authority" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\136\061\013\060\011\006\003\125\004\006\023\002\124\127\061 -\043\060\041\006\003\125\004\012\014\032\103\150\165\156\147\150 -\167\141\040\124\145\154\145\143\157\155\040\103\157\056\054\040 -\114\164\144\056\061\052\060\050\006\003\125\004\013\014\041\145 -\120\113\111\040\122\157\157\164\040\103\145\162\164\151\146\151 -\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\136\061\013\060\011\006\003\125\004\006\023\002\124\127\061 -\043\060\041\006\003\125\004\012\014\032\103\150\165\156\147\150 -\167\141\040\124\145\154\145\143\157\155\040\103\157\056\054\040 -\114\164\144\056\061\052\060\050\006\003\125\004\013\014\041\145 -\120\113\111\040\122\157\157\164\040\103\145\162\164\151\146\151 -\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\025\310\275\145\107\134\257\270\227\000\136\344\006\322 -\274\235 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\260\060\202\003\230\240\003\002\001\002\002\020\025 -\310\275\145\107\134\257\270\227\000\136\344\006\322\274\235\060 -\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\136 -\061\013\060\011\006\003\125\004\006\023\002\124\127\061\043\060 -\041\006\003\125\004\012\014\032\103\150\165\156\147\150\167\141 -\040\124\145\154\145\143\157\155\040\103\157\056\054\040\114\164 -\144\056\061\052\060\050\006\003\125\004\013\014\041\145\120\113 -\111\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141 -\164\151\157\156\040\101\165\164\150\157\162\151\164\171\060\036 -\027\015\060\064\061\062\062\060\060\062\063\061\062\067\132\027 -\015\063\064\061\062\062\060\060\062\063\061\062\067\132\060\136 -\061\013\060\011\006\003\125\004\006\023\002\124\127\061\043\060 -\041\006\003\125\004\012\014\032\103\150\165\156\147\150\167\141 -\040\124\145\154\145\143\157\155\040\103\157\056\054\040\114\164 -\144\056\061\052\060\050\006\003\125\004\013\014\041\145\120\113 -\111\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141 -\164\151\157\156\040\101\165\164\150\157\162\151\164\171\060\202 -\002\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005 -\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000\341 -\045\017\356\215\333\210\063\165\147\315\255\037\175\072\116\155 -\235\323\057\024\363\143\164\313\001\041\152\067\352\204\120\007 -\113\046\133\011\103\154\041\236\152\310\325\003\365\140\151\217 -\314\360\042\344\037\347\367\152\042\061\267\054\025\362\340\376 -\000\152\103\377\207\145\306\265\032\301\247\114\155\042\160\041 -\212\061\362\227\164\211\011\022\046\034\236\312\331\022\242\225 -\074\332\351\147\277\010\240\144\343\326\102\267\105\357\227\364 -\366\365\327\265\112\025\002\130\175\230\130\113\140\274\315\327 -\015\232\023\063\123\321\141\371\172\325\327\170\263\232\063\367 -\000\206\316\035\115\224\070\257\250\354\170\121\160\212\134\020 -\203\121\041\367\021\075\064\206\136\345\110\315\227\201\202\065 -\114\031\354\145\366\153\305\005\241\356\107\023\326\263\041\047 -\224\020\012\331\044\073\272\276\104\023\106\060\077\227\074\330 -\327\327\152\356\073\070\343\053\324\227\016\271\033\347\007\111 -\177\067\052\371\167\170\317\124\355\133\106\235\243\200\016\221 -\103\301\326\133\137\024\272\237\246\215\044\107\100\131\277\162 -\070\262\066\154\067\377\231\321\135\016\131\012\253\151\367\300 -\262\004\105\172\124\000\256\276\123\366\265\347\341\370\074\243 -\061\322\251\376\041\122\144\305\246\147\360\165\007\006\224\024 -\201\125\306\047\344\001\217\027\301\152\161\327\276\113\373\224 -\130\175\176\021\063\261\102\367\142\154\030\326\317\011\150\076 -\177\154\366\036\217\142\255\245\143\333\011\247\037\042\102\101 -\036\157\231\212\076\327\371\077\100\172\171\260\245\001\222\322 -\235\075\010\025\245\020\001\055\263\062\166\250\225\015\263\172 -\232\373\007\020\170\021\157\341\217\307\272\017\045\032\164\052 -\345\034\230\101\231\337\041\207\350\225\006\152\012\263\152\107 -\166\145\366\072\317\217\142\027\031\173\012\050\315\032\322\203 -\036\041\307\054\277\276\377\141\150\267\147\033\273\170\115\215 -\316\147\345\344\301\216\267\043\146\342\235\220\165\064\230\251 -\066\053\212\232\224\271\235\354\314\212\261\370\045\211\134\132 -\266\057\214\037\155\171\044\247\122\150\303\204\065\342\146\215 -\143\016\045\115\325\031\262\346\171\067\247\042\235\124\061\002 -\003\001\000\001\243\152\060\150\060\035\006\003\125\035\016\004 -\026\004\024\036\014\367\266\147\362\341\222\046\011\105\300\125 -\071\056\167\077\102\112\242\060\014\006\003\125\035\023\004\005 -\060\003\001\001\377\060\071\006\004\147\052\007\000\004\061\060 -\057\060\055\002\001\000\060\011\006\005\053\016\003\002\032\005 -\000\060\007\006\005\147\052\003\000\000\004\024\105\260\302\307 -\012\126\174\356\133\170\014\225\371\030\123\301\246\034\330\020 -\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003 -\202\002\001\000\011\263\203\123\131\001\076\225\111\271\361\201 -\272\371\166\040\043\265\047\140\164\324\152\231\064\136\154\000 -\123\331\237\362\246\261\044\007\104\152\052\306\245\216\170\022 -\350\107\331\130\033\023\052\136\171\233\237\012\052\147\246\045 -\077\006\151\126\163\303\212\146\110\373\051\201\127\164\006\312 -\234\352\050\350\070\147\046\053\361\325\265\077\145\223\370\066 -\135\216\215\215\100\040\207\031\352\357\047\300\075\264\071\017 -\045\173\150\120\164\125\234\014\131\175\132\075\101\224\045\122 -\010\340\107\054\025\061\031\325\277\007\125\306\273\022\265\227 -\364\137\203\205\272\161\301\331\154\201\021\166\012\012\260\277 -\202\227\367\352\075\372\372\354\055\251\050\224\073\126\335\322 -\121\056\256\300\275\010\025\214\167\122\064\226\326\233\254\323 -\035\216\141\017\065\173\233\256\071\151\013\142\140\100\040\066 -\217\257\373\066\356\055\010\112\035\270\277\233\134\370\352\245 -\033\240\163\246\330\370\156\340\063\004\137\150\252\047\207\355 -\331\301\220\234\355\275\343\152\065\257\143\337\253\030\331\272 -\346\351\112\352\120\212\017\141\223\036\342\055\031\342\060\224 -\065\222\135\016\266\007\257\031\200\217\107\220\121\113\056\115 -\335\205\342\322\012\122\012\027\232\374\032\260\120\002\345\001 -\243\143\067\041\114\104\304\233\121\231\021\016\163\234\006\217 -\124\056\247\050\136\104\071\207\126\055\067\275\205\104\224\341 -\014\113\054\234\303\222\205\064\141\313\017\270\233\112\103\122 -\376\064\072\175\270\351\051\334\166\251\310\060\370\024\161\200 -\306\036\066\110\164\042\101\134\207\202\350\030\161\213\101\211 -\104\347\176\130\133\250\270\215\023\351\247\154\303\107\355\263 -\032\235\142\256\215\202\352\224\236\335\131\020\303\255\335\342 -\115\343\061\325\307\354\350\362\260\376\222\036\026\012\032\374 -\331\363\370\047\266\311\276\035\264\154\144\220\177\364\344\304 -\133\327\067\256\102\016\335\244\032\157\174\210\124\305\026\156 -\341\172\150\056\370\072\277\015\244\074\211\073\170\247\116\143 -\203\004\041\010\147\215\362\202\111\320\133\375\261\315\017\203 -\204\324\076\040\205\367\112\075\053\234\375\052\012\011\115\352 -\201\370\021\234 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "ePKI Root Certification Authority" -# Issuer: OU=ePKI Root Certification Authority,O="Chunghwa Telecom Co., Ltd.",C=TW -# Serial Number:15:c8:bd:65:47:5c:af:b8:97:00:5e:e4:06:d2:bc:9d -# Subject: OU=ePKI Root Certification Authority,O="Chunghwa Telecom Co., Ltd.",C=TW -# Not Valid Before: Mon Dec 20 02:31:27 2004 -# Not Valid After : Wed Dec 20 02:31:27 2034 -# Fingerprint (MD5): 1B:2E:00:CA:26:06:90:3D:AD:FE:6F:15:68:D3:6B:B3 -# Fingerprint (SHA1): 67:65:0D:F1:7E:8E:7E:5B:82:40:A4:F4:56:4B:CF:E2:3D:69:C6:F0 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "ePKI Root Certification Authority" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\147\145\015\361\176\216\176\133\202\100\244\364\126\113\317\342 -\075\151\306\360 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\033\056\000\312\046\006\220\075\255\376\157\025\150\323\153\263 -END -CKA_ISSUER MULTILINE_OCTAL -\060\136\061\013\060\011\006\003\125\004\006\023\002\124\127\061 -\043\060\041\006\003\125\004\012\014\032\103\150\165\156\147\150 -\167\141\040\124\145\154\145\143\157\155\040\103\157\056\054\040 -\114\164\144\056\061\052\060\050\006\003\125\004\013\014\041\145 -\120\113\111\040\122\157\157\164\040\103\145\162\164\151\146\151 -\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\025\310\275\145\107\134\257\270\227\000\136\344\006\322 -\274\235 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "certSIGN ROOT CA" -# -# Issuer: OU=certSIGN ROOT CA,O=certSIGN,C=RO -# Serial Number:20:06:05:16:70:02 -# Subject: OU=certSIGN ROOT CA,O=certSIGN,C=RO -# Not Valid Before: Tue Jul 04 17:20:04 2006 -# Not Valid After : Fri Jul 04 17:20:04 2031 -# Fingerprint (MD5): 18:98:C0:D6:E9:3A:FC:F9:B0:F5:0C:F7:4B:01:44:17 -# Fingerprint (SHA1): FA:B7:EE:36:97:26:62:FB:2D:B0:2A:F6:BF:03:FD:E8:7C:4B:2F:9B -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "certSIGN ROOT CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\073\061\013\060\011\006\003\125\004\006\023\002\122\117\061 -\021\060\017\006\003\125\004\012\023\010\143\145\162\164\123\111 -\107\116\061\031\060\027\006\003\125\004\013\023\020\143\145\162 -\164\123\111\107\116\040\122\117\117\124\040\103\101 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\073\061\013\060\011\006\003\125\004\006\023\002\122\117\061 -\021\060\017\006\003\125\004\012\023\010\143\145\162\164\123\111 -\107\116\061\031\060\027\006\003\125\004\013\023\020\143\145\162 -\164\123\111\107\116\040\122\117\117\124\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\006\040\006\005\026\160\002 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\070\060\202\002\040\240\003\002\001\002\002\006\040 -\006\005\026\160\002\060\015\006\011\052\206\110\206\367\015\001 -\001\005\005\000\060\073\061\013\060\011\006\003\125\004\006\023 -\002\122\117\061\021\060\017\006\003\125\004\012\023\010\143\145 -\162\164\123\111\107\116\061\031\060\027\006\003\125\004\013\023 -\020\143\145\162\164\123\111\107\116\040\122\117\117\124\040\103 -\101\060\036\027\015\060\066\060\067\060\064\061\067\062\060\060 -\064\132\027\015\063\061\060\067\060\064\061\067\062\060\060\064 -\132\060\073\061\013\060\011\006\003\125\004\006\023\002\122\117 -\061\021\060\017\006\003\125\004\012\023\010\143\145\162\164\123 -\111\107\116\061\031\060\027\006\003\125\004\013\023\020\143\145 -\162\164\123\111\107\116\040\122\117\117\124\040\103\101\060\202 -\001\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005 -\000\003\202\001\017\000\060\202\001\012\002\202\001\001\000\267 -\063\271\176\310\045\112\216\265\333\264\050\033\252\127\220\350 -\321\042\323\144\272\323\223\350\324\254\206\141\100\152\140\127 -\150\124\204\115\274\152\124\002\005\377\337\233\232\052\256\135 -\007\217\112\303\050\177\357\373\053\372\171\361\307\255\360\020 -\123\044\220\213\146\311\250\210\253\257\132\243\000\351\276\272 -\106\356\133\163\173\054\027\202\201\136\142\054\241\002\145\263 -\275\305\053\000\176\304\374\003\063\127\015\355\342\372\316\135 -\105\326\070\315\065\266\262\301\320\234\201\112\252\344\262\001 -\134\035\217\137\231\304\261\255\333\210\041\353\220\010\202\200 -\363\060\243\103\346\220\202\256\125\050\111\355\133\327\251\020 -\070\016\376\217\114\133\233\106\352\101\365\260\010\164\303\320 -\210\063\266\174\327\164\337\334\204\321\103\016\165\071\241\045 -\100\050\352\170\313\016\054\056\071\235\214\213\156\026\034\057 -\046\202\020\342\343\145\224\012\004\300\136\367\135\133\370\020 -\342\320\272\172\113\373\336\067\000\000\032\133\050\343\322\234 -\163\076\062\207\230\241\311\121\057\327\336\254\063\263\117\002 -\003\001\000\001\243\102\060\100\060\017\006\003\125\035\023\001 -\001\377\004\005\060\003\001\001\377\060\016\006\003\125\035\017 -\001\001\377\004\004\003\002\001\306\060\035\006\003\125\035\016 -\004\026\004\024\340\214\233\333\045\111\263\361\174\206\326\262 -\102\207\013\320\153\240\331\344\060\015\006\011\052\206\110\206 -\367\015\001\001\005\005\000\003\202\001\001\000\076\322\034\211 -\056\065\374\370\165\335\346\177\145\210\364\162\114\311\054\327 -\062\116\363\335\031\171\107\275\216\073\133\223\017\120\111\044 -\023\153\024\006\162\357\011\323\241\241\343\100\204\311\347\030 -\062\164\074\110\156\017\237\113\324\367\036\323\223\206\144\124 -\227\143\162\120\325\125\317\372\040\223\002\242\233\303\043\223 -\116\026\125\166\240\160\171\155\315\041\037\317\057\055\274\031 -\343\210\061\370\131\032\201\011\310\227\246\164\307\140\304\133 -\314\127\216\262\165\375\033\002\011\333\131\157\162\223\151\367 -\061\101\326\210\070\277\207\262\275\026\171\371\252\344\276\210 -\045\335\141\047\043\034\265\061\007\004\066\264\032\220\275\240 -\164\161\120\211\155\274\024\343\017\206\256\361\253\076\307\240 -\011\314\243\110\321\340\333\144\347\222\265\317\257\162\103\160 -\213\371\303\204\074\023\252\176\222\233\127\123\223\372\160\302 -\221\016\061\371\233\147\135\351\226\070\136\137\263\163\116\210 -\025\147\336\236\166\020\142\040\276\125\151\225\103\000\071\115 -\366\356\260\132\116\111\104\124\130\137\102\203 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "certSIGN ROOT CA" -# Issuer: OU=certSIGN ROOT CA,O=certSIGN,C=RO -# Serial Number:20:06:05:16:70:02 -# Subject: OU=certSIGN ROOT CA,O=certSIGN,C=RO -# Not Valid Before: Tue Jul 04 17:20:04 2006 -# Not Valid After : Fri Jul 04 17:20:04 2031 -# Fingerprint (MD5): 18:98:C0:D6:E9:3A:FC:F9:B0:F5:0C:F7:4B:01:44:17 -# Fingerprint (SHA1): FA:B7:EE:36:97:26:62:FB:2D:B0:2A:F6:BF:03:FD:E8:7C:4B:2F:9B -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "certSIGN ROOT CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\372\267\356\066\227\046\142\373\055\260\052\366\277\003\375\350 -\174\113\057\233 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\030\230\300\326\351\072\374\371\260\365\014\367\113\001\104\027 -END -CKA_ISSUER MULTILINE_OCTAL -\060\073\061\013\060\011\006\003\125\004\006\023\002\122\117\061 -\021\060\017\006\003\125\004\012\023\010\143\145\162\164\123\111 -\107\116\061\031\060\027\006\003\125\004\013\023\020\143\145\162 -\164\123\111\107\116\040\122\117\117\124\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\006\040\006\005\026\160\002 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "GeoTrust Primary Certification Authority - G3" -# -# Issuer: CN=GeoTrust Primary Certification Authority - G3,OU=(c) 2008 GeoTrust Inc. - For authorized use only,O=GeoTrust Inc.,C=US -# Serial Number:15:ac:6e:94:19:b2:79:4b:41:f6:27:a9:c3:18:0f:1f -# Subject: CN=GeoTrust Primary Certification Authority - G3,OU=(c) 2008 GeoTrust Inc. - For authorized use only,O=GeoTrust Inc.,C=US -# Not Valid Before: Wed Apr 02 00:00:00 2008 -# Not Valid After : Tue Dec 01 23:59:59 2037 -# Fingerprint (MD5): B5:E8:34:36:C9:10:44:58:48:70:6D:2E:83:D4:B8:05 -# Fingerprint (SHA1): 03:9E:ED:B8:0B:E7:A0:3C:69:53:89:3B:20:D2:D9:32:3A:4C:2A:FD -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GeoTrust Primary Certification Authority - G3" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162 -\165\163\164\040\111\156\143\056\061\071\060\067\006\003\125\004 -\013\023\060\050\143\051\040\062\060\060\070\040\107\145\157\124 -\162\165\163\164\040\111\156\143\056\040\055\040\106\157\162\040 -\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157 -\156\154\171\061\066\060\064\006\003\125\004\003\023\055\107\145 -\157\124\162\165\163\164\040\120\162\151\155\141\162\171\040\103 -\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164 -\150\157\162\151\164\171\040\055\040\107\063 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162 -\165\163\164\040\111\156\143\056\061\071\060\067\006\003\125\004 -\013\023\060\050\143\051\040\062\060\060\070\040\107\145\157\124 -\162\165\163\164\040\111\156\143\056\040\055\040\106\157\162\040 -\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157 -\156\154\171\061\066\060\064\006\003\125\004\003\023\055\107\145 -\157\124\162\165\163\164\040\120\162\151\155\141\162\171\040\103 -\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164 -\150\157\162\151\164\171\040\055\040\107\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\025\254\156\224\031\262\171\113\101\366\047\251\303\030 -\017\037 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\376\060\202\002\346\240\003\002\001\002\002\020\025 -\254\156\224\031\262\171\113\101\366\047\251\303\030\017\037\060 -\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\201 -\230\061\013\060\011\006\003\125\004\006\023\002\125\123\061\026 -\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165\163 -\164\040\111\156\143\056\061\071\060\067\006\003\125\004\013\023 -\060\050\143\051\040\062\060\060\070\040\107\145\157\124\162\165 -\163\164\040\111\156\143\056\040\055\040\106\157\162\040\141\165 -\164\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154 -\171\061\066\060\064\006\003\125\004\003\023\055\107\145\157\124 -\162\165\163\164\040\120\162\151\155\141\162\171\040\103\145\162 -\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157 -\162\151\164\171\040\055\040\107\063\060\036\027\015\060\070\060 -\064\060\062\060\060\060\060\060\060\132\027\015\063\067\061\062 -\060\061\062\063\065\071\065\071\132\060\201\230\061\013\060\011 -\006\003\125\004\006\023\002\125\123\061\026\060\024\006\003\125 -\004\012\023\015\107\145\157\124\162\165\163\164\040\111\156\143 -\056\061\071\060\067\006\003\125\004\013\023\060\050\143\051\040 -\062\060\060\070\040\107\145\157\124\162\165\163\164\040\111\156 -\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151 -\172\145\144\040\165\163\145\040\157\156\154\171\061\066\060\064 -\006\003\125\004\003\023\055\107\145\157\124\162\165\163\164\040 -\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143 -\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040 -\055\040\107\063\060\202\001\042\060\015\006\011\052\206\110\206 -\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012 -\002\202\001\001\000\334\342\136\142\130\035\063\127\071\062\063 -\372\353\313\207\214\247\324\112\335\006\210\352\144\216\061\230 -\245\070\220\036\230\317\056\143\053\360\106\274\104\262\211\241 -\300\050\014\111\160\041\225\237\144\300\246\223\022\002\145\046 -\206\306\245\211\360\372\327\204\240\160\257\117\032\227\077\006 -\104\325\311\353\162\020\175\344\061\050\373\034\141\346\050\007 -\104\163\222\042\151\247\003\210\154\235\143\310\122\332\230\047 -\347\010\114\160\076\264\311\022\301\305\147\203\135\063\363\003 -\021\354\152\320\123\342\321\272\066\140\224\200\273\141\143\154 -\133\027\176\337\100\224\036\253\015\302\041\050\160\210\377\326 -\046\154\154\140\004\045\116\125\176\175\357\277\224\110\336\267 -\035\335\160\215\005\137\210\245\233\362\302\356\352\321\100\101 -\155\142\070\035\126\006\305\003\107\121\040\031\374\173\020\013 -\016\142\256\166\125\277\137\167\276\076\111\001\123\075\230\045 -\003\166\044\132\035\264\333\211\352\171\345\266\263\073\077\272 -\114\050\101\177\006\254\152\216\301\320\366\005\035\175\346\102 -\206\343\245\325\107\002\003\001\000\001\243\102\060\100\060\017 -\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060 -\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060 -\035\006\003\125\035\016\004\026\004\024\304\171\312\216\241\116 -\003\035\034\334\153\333\061\133\224\076\077\060\177\055\060\015 -\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202\001 -\001\000\055\305\023\317\126\200\173\172\170\275\237\256\054\231 -\347\357\332\337\224\136\011\151\247\347\156\150\214\275\162\276 -\107\251\016\227\022\270\112\361\144\323\071\337\045\064\324\301 -\315\116\201\360\017\004\304\044\263\064\226\306\246\252\060\337 -\150\141\163\327\371\216\205\211\357\016\136\225\050\112\052\047 -\217\020\216\056\174\206\304\002\236\332\014\167\145\016\104\015 -\222\375\375\263\026\066\372\021\015\035\214\016\007\211\152\051 -\126\367\162\364\335\025\234\167\065\146\127\253\023\123\330\216 -\301\100\305\327\023\026\132\162\307\267\151\001\304\172\261\203 -\001\150\175\215\101\241\224\030\301\045\134\374\360\376\203\002 -\207\174\015\015\317\056\010\134\112\100\015\076\354\201\141\346 -\044\333\312\340\016\055\007\262\076\126\334\215\365\101\205\007 -\110\233\014\013\313\111\077\175\354\267\375\313\215\147\211\032 -\253\355\273\036\243\000\010\010\027\052\202\134\061\135\106\212 -\055\017\206\233\164\331\105\373\324\100\261\172\252\150\055\206 -\262\231\042\341\301\053\307\234\370\363\137\250\202\022\353\031 -\021\055 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "GeoTrust Primary Certification Authority - G3" -# Issuer: CN=GeoTrust Primary Certification Authority - G3,OU=(c) 2008 GeoTrust Inc. - For authorized use only,O=GeoTrust Inc.,C=US -# Serial Number:15:ac:6e:94:19:b2:79:4b:41:f6:27:a9:c3:18:0f:1f -# Subject: CN=GeoTrust Primary Certification Authority - G3,OU=(c) 2008 GeoTrust Inc. - For authorized use only,O=GeoTrust Inc.,C=US -# Not Valid Before: Wed Apr 02 00:00:00 2008 -# Not Valid After : Tue Dec 01 23:59:59 2037 -# Fingerprint (MD5): B5:E8:34:36:C9:10:44:58:48:70:6D:2E:83:D4:B8:05 -# Fingerprint (SHA1): 03:9E:ED:B8:0B:E7:A0:3C:69:53:89:3B:20:D2:D9:32:3A:4C:2A:FD -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GeoTrust Primary Certification Authority - G3" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\003\236\355\270\013\347\240\074\151\123\211\073\040\322\331\062 -\072\114\052\375 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\265\350\064\066\311\020\104\130\110\160\155\056\203\324\270\005 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162 -\165\163\164\040\111\156\143\056\061\071\060\067\006\003\125\004 -\013\023\060\050\143\051\040\062\060\060\070\040\107\145\157\124 -\162\165\163\164\040\111\156\143\056\040\055\040\106\157\162\040 -\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157 -\156\154\171\061\066\060\064\006\003\125\004\003\023\055\107\145 -\157\124\162\165\163\164\040\120\162\151\155\141\162\171\040\103 -\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164 -\150\157\162\151\164\171\040\055\040\107\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\025\254\156\224\031\262\171\113\101\366\047\251\303\030 -\017\037 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "thawte Primary Root CA - G2" -# -# Issuer: CN=thawte Primary Root CA - G2,OU="(c) 2007 thawte, Inc. - For authorized use only",O="thawte, Inc.",C=US -# Serial Number:35:fc:26:5c:d9:84:4f:c9:3d:26:3d:57:9b:ae:d7:56 -# Subject: CN=thawte Primary Root CA - G2,OU="(c) 2007 thawte, Inc. - For authorized use only",O="thawte, Inc.",C=US -# Not Valid Before: Mon Nov 05 00:00:00 2007 -# Not Valid After : Mon Jan 18 23:59:59 2038 -# Fingerprint (MD5): 74:9D:EA:60:24:C4:FD:22:53:3E:CC:3A:72:D9:29:4F -# Fingerprint (SHA1): AA:DB:BC:22:23:8F:C4:01:A1:27:BB:38:DD:F4:1D:DB:08:9E:F0:12 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "thawte Primary Root CA - G2" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\204\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164 -\145\054\040\111\156\143\056\061\070\060\066\006\003\125\004\013 -\023\057\050\143\051\040\062\060\060\067\040\164\150\141\167\164 -\145\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165 -\164\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154 -\171\061\044\060\042\006\003\125\004\003\023\033\164\150\141\167 -\164\145\040\120\162\151\155\141\162\171\040\122\157\157\164\040 -\103\101\040\055\040\107\062 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\204\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164 -\145\054\040\111\156\143\056\061\070\060\066\006\003\125\004\013 -\023\057\050\143\051\040\062\060\060\067\040\164\150\141\167\164 -\145\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165 -\164\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154 -\171\061\044\060\042\006\003\125\004\003\023\033\164\150\141\167 -\164\145\040\120\162\151\155\141\162\171\040\122\157\157\164\040 -\103\101\040\055\040\107\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\065\374\046\134\331\204\117\311\075\046\075\127\233\256 -\327\126 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\002\210\060\202\002\015\240\003\002\001\002\002\020\065 -\374\046\134\331\204\117\311\075\046\075\127\233\256\327\126\060 -\012\006\010\052\206\110\316\075\004\003\003\060\201\204\061\013 -\060\011\006\003\125\004\006\023\002\125\123\061\025\060\023\006 -\003\125\004\012\023\014\164\150\141\167\164\145\054\040\111\156 -\143\056\061\070\060\066\006\003\125\004\013\023\057\050\143\051 -\040\062\060\060\067\040\164\150\141\167\164\145\054\040\111\156 -\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151 -\172\145\144\040\165\163\145\040\157\156\154\171\061\044\060\042 -\006\003\125\004\003\023\033\164\150\141\167\164\145\040\120\162 -\151\155\141\162\171\040\122\157\157\164\040\103\101\040\055\040 -\107\062\060\036\027\015\060\067\061\061\060\065\060\060\060\060 -\060\060\132\027\015\063\070\060\061\061\070\062\063\065\071\065 -\071\132\060\201\204\061\013\060\011\006\003\125\004\006\023\002 -\125\123\061\025\060\023\006\003\125\004\012\023\014\164\150\141 -\167\164\145\054\040\111\156\143\056\061\070\060\066\006\003\125 -\004\013\023\057\050\143\051\040\062\060\060\067\040\164\150\141 -\167\164\145\054\040\111\156\143\056\040\055\040\106\157\162\040 -\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157 -\156\154\171\061\044\060\042\006\003\125\004\003\023\033\164\150 -\141\167\164\145\040\120\162\151\155\141\162\171\040\122\157\157 -\164\040\103\101\040\055\040\107\062\060\166\060\020\006\007\052 -\206\110\316\075\002\001\006\005\053\201\004\000\042\003\142\000 -\004\242\325\234\202\173\225\235\361\122\170\207\376\212\026\277 -\005\346\337\243\002\117\015\007\306\000\121\272\014\002\122\055 -\042\244\102\071\304\376\217\352\311\301\276\324\115\377\237\172 -\236\342\261\174\232\255\247\206\011\163\207\321\347\232\343\172 -\245\252\156\373\272\263\160\300\147\210\242\065\324\243\232\261 -\375\255\302\357\061\372\250\271\363\373\010\306\221\321\373\051 -\225\243\102\060\100\060\017\006\003\125\035\023\001\001\377\004 -\005\060\003\001\001\377\060\016\006\003\125\035\017\001\001\377 -\004\004\003\002\001\006\060\035\006\003\125\035\016\004\026\004 -\024\232\330\000\060\000\347\153\177\205\030\356\213\266\316\212 -\014\370\021\341\273\060\012\006\010\052\206\110\316\075\004\003 -\003\003\151\000\060\146\002\061\000\335\370\340\127\107\133\247 -\346\012\303\275\365\200\212\227\065\015\033\211\074\124\206\167 -\050\312\241\364\171\336\265\346\070\260\360\145\160\214\177\002 -\124\302\277\377\330\241\076\331\317\002\061\000\304\215\224\374 -\334\123\322\334\235\170\026\037\025\063\043\123\122\343\132\061 -\135\235\312\256\275\023\051\104\015\047\133\250\347\150\234\022 -\367\130\077\056\162\002\127\243\217\241\024\056 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "thawte Primary Root CA - G2" -# Issuer: CN=thawte Primary Root CA - G2,OU="(c) 2007 thawte, Inc. - For authorized use only",O="thawte, Inc.",C=US -# Serial Number:35:fc:26:5c:d9:84:4f:c9:3d:26:3d:57:9b:ae:d7:56 -# Subject: CN=thawte Primary Root CA - G2,OU="(c) 2007 thawte, Inc. - For authorized use only",O="thawte, Inc.",C=US -# Not Valid Before: Mon Nov 05 00:00:00 2007 -# Not Valid After : Mon Jan 18 23:59:59 2038 -# Fingerprint (MD5): 74:9D:EA:60:24:C4:FD:22:53:3E:CC:3A:72:D9:29:4F -# Fingerprint (SHA1): AA:DB:BC:22:23:8F:C4:01:A1:27:BB:38:DD:F4:1D:DB:08:9E:F0:12 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "thawte Primary Root CA - G2" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\252\333\274\042\043\217\304\001\241\047\273\070\335\364\035\333 -\010\236\360\022 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\164\235\352\140\044\304\375\042\123\076\314\072\162\331\051\117 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\204\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164 -\145\054\040\111\156\143\056\061\070\060\066\006\003\125\004\013 -\023\057\050\143\051\040\062\060\060\067\040\164\150\141\167\164 -\145\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165 -\164\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154 -\171\061\044\060\042\006\003\125\004\003\023\033\164\150\141\167 -\164\145\040\120\162\151\155\141\162\171\040\122\157\157\164\040 -\103\101\040\055\040\107\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\065\374\046\134\331\204\117\311\075\046\075\127\233\256 -\327\126 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "thawte Primary Root CA - G3" -# -# Issuer: CN=thawte Primary Root CA - G3,OU="(c) 2008 thawte, Inc. - For authorized use only",OU=Certification Services Division,O="thawte, Inc.",C=US -# Serial Number:60:01:97:b7:46:a7:ea:b4:b4:9a:d6:4b:2f:f7:90:fb -# Subject: CN=thawte Primary Root CA - G3,OU="(c) 2008 thawte, Inc. - For authorized use only",OU=Certification Services Division,O="thawte, Inc.",C=US -# Not Valid Before: Wed Apr 02 00:00:00 2008 -# Not Valid After : Tue Dec 01 23:59:59 2037 -# Fingerprint (MD5): FB:1B:5D:43:8A:94:CD:44:C6:76:F2:43:4B:47:E7:31 -# Fingerprint (SHA1): F1:8B:53:8D:1B:E9:03:B6:A6:F0:56:43:5B:17:15:89:CA:F3:6B:F2 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "thawte Primary Root CA - G3" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\256\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164 -\145\054\040\111\156\143\056\061\050\060\046\006\003\125\004\013 -\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040 -\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157 -\156\061\070\060\066\006\003\125\004\013\023\057\050\143\051\040 -\062\060\060\070\040\164\150\141\167\164\145\054\040\111\156\143 -\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151\172 -\145\144\040\165\163\145\040\157\156\154\171\061\044\060\042\006 -\003\125\004\003\023\033\164\150\141\167\164\145\040\120\162\151 -\155\141\162\171\040\122\157\157\164\040\103\101\040\055\040\107 -\063 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\256\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164 -\145\054\040\111\156\143\056\061\050\060\046\006\003\125\004\013 -\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040 -\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157 -\156\061\070\060\066\006\003\125\004\013\023\057\050\143\051\040 -\062\060\060\070\040\164\150\141\167\164\145\054\040\111\156\143 -\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151\172 -\145\144\040\165\163\145\040\157\156\154\171\061\044\060\042\006 -\003\125\004\003\023\033\164\150\141\167\164\145\040\120\162\151 -\155\141\162\171\040\122\157\157\164\040\103\101\040\055\040\107 -\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\140\001\227\267\106\247\352\264\264\232\326\113\057\367 -\220\373 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\052\060\202\003\022\240\003\002\001\002\002\020\140 -\001\227\267\106\247\352\264\264\232\326\113\057\367\220\373\060 -\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\201 -\256\061\013\060\011\006\003\125\004\006\023\002\125\123\061\025 -\060\023\006\003\125\004\012\023\014\164\150\141\167\164\145\054 -\040\111\156\143\056\061\050\060\046\006\003\125\004\013\023\037 -\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145 -\162\166\151\143\145\163\040\104\151\166\151\163\151\157\156\061 -\070\060\066\006\003\125\004\013\023\057\050\143\051\040\062\060 -\060\070\040\164\150\141\167\164\145\054\040\111\156\143\056\040 -\055\040\106\157\162\040\141\165\164\150\157\162\151\172\145\144 -\040\165\163\145\040\157\156\154\171\061\044\060\042\006\003\125 -\004\003\023\033\164\150\141\167\164\145\040\120\162\151\155\141 -\162\171\040\122\157\157\164\040\103\101\040\055\040\107\063\060 -\036\027\015\060\070\060\064\060\062\060\060\060\060\060\060\132 -\027\015\063\067\061\062\060\061\062\063\065\071\065\071\132\060 -\201\256\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164\145 -\054\040\111\156\143\056\061\050\060\046\006\003\125\004\013\023 -\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123 -\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157\156 -\061\070\060\066\006\003\125\004\013\023\057\050\143\051\040\062 -\060\060\070\040\164\150\141\167\164\145\054\040\111\156\143\056 -\040\055\040\106\157\162\040\141\165\164\150\157\162\151\172\145 -\144\040\165\163\145\040\157\156\154\171\061\044\060\042\006\003 -\125\004\003\023\033\164\150\141\167\164\145\040\120\162\151\155 -\141\162\171\040\122\157\157\164\040\103\101\040\055\040\107\063 -\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001\001 -\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001\001 -\000\262\277\047\054\373\333\330\133\335\170\173\033\236\167\146 -\201\313\076\274\174\256\363\246\047\232\064\243\150\061\161\070 -\063\142\344\363\161\146\171\261\251\145\243\245\213\325\217\140 -\055\077\102\314\252\153\062\300\043\313\054\101\335\344\337\374 -\141\234\342\163\262\042\225\021\103\030\137\304\266\037\127\154 -\012\005\130\042\310\066\114\072\174\245\321\317\206\257\210\247 -\104\002\023\164\161\163\012\102\131\002\370\033\024\153\102\337 -\157\137\272\153\202\242\235\133\347\112\275\036\001\162\333\113 -\164\350\073\177\177\175\037\004\264\046\233\340\264\132\254\107 -\075\125\270\327\260\046\122\050\001\061\100\146\330\331\044\275 -\366\052\330\354\041\111\134\233\366\172\351\177\125\065\176\226 -\153\215\223\223\047\313\222\273\352\254\100\300\237\302\370\200 -\317\135\364\132\334\316\164\206\246\076\154\013\123\312\275\222 -\316\031\006\162\346\014\134\070\151\307\004\326\274\154\316\133 -\366\367\150\234\334\045\025\110\210\241\351\251\370\230\234\340 -\363\325\061\050\141\021\154\147\226\215\071\231\313\302\105\044 -\071\002\003\001\000\001\243\102\060\100\060\017\006\003\125\035 -\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003\125 -\035\017\001\001\377\004\004\003\002\001\006\060\035\006\003\125 -\035\016\004\026\004\024\255\154\252\224\140\234\355\344\377\372 -\076\012\164\053\143\003\367\266\131\277\060\015\006\011\052\206 -\110\206\367\015\001\001\013\005\000\003\202\001\001\000\032\100 -\330\225\145\254\011\222\211\306\071\364\020\345\251\016\146\123 -\135\170\336\372\044\221\273\347\104\121\337\306\026\064\012\357 -\152\104\121\352\053\007\212\003\172\303\353\077\012\054\122\026 -\240\053\103\271\045\220\077\160\251\063\045\155\105\032\050\073 -\047\317\252\303\051\102\033\337\073\114\300\063\064\133\101\210 -\277\153\053\145\257\050\357\262\365\303\252\146\316\173\126\356 -\267\310\313\147\301\311\234\032\030\270\304\303\111\003\361\140 -\016\120\315\106\305\363\167\171\367\266\025\340\070\333\307\057 -\050\240\014\077\167\046\164\331\045\022\332\061\332\032\036\334 -\051\101\221\042\074\151\247\273\002\362\266\134\047\003\211\364 -\006\352\233\344\162\202\343\241\011\301\351\000\031\323\076\324 -\160\153\272\161\246\252\130\256\364\273\351\154\266\357\207\314 -\233\273\377\071\346\126\141\323\012\247\304\134\114\140\173\005 -\167\046\172\277\330\007\122\054\142\367\160\143\331\071\274\157 -\034\302\171\334\166\051\257\316\305\054\144\004\136\210\066\156 -\061\324\100\032\142\064\066\077\065\001\256\254\143\240 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "thawte Primary Root CA - G3" -# Issuer: CN=thawte Primary Root CA - G3,OU="(c) 2008 thawte, Inc. - For authorized use only",OU=Certification Services Division,O="thawte, Inc.",C=US -# Serial Number:60:01:97:b7:46:a7:ea:b4:b4:9a:d6:4b:2f:f7:90:fb -# Subject: CN=thawte Primary Root CA - G3,OU="(c) 2008 thawte, Inc. - For authorized use only",OU=Certification Services Division,O="thawte, Inc.",C=US -# Not Valid Before: Wed Apr 02 00:00:00 2008 -# Not Valid After : Tue Dec 01 23:59:59 2037 -# Fingerprint (MD5): FB:1B:5D:43:8A:94:CD:44:C6:76:F2:43:4B:47:E7:31 -# Fingerprint (SHA1): F1:8B:53:8D:1B:E9:03:B6:A6:F0:56:43:5B:17:15:89:CA:F3:6B:F2 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "thawte Primary Root CA - G3" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\361\213\123\215\033\351\003\266\246\360\126\103\133\027\025\211 -\312\363\153\362 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\373\033\135\103\212\224\315\104\306\166\362\103\113\107\347\061 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\256\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164 -\145\054\040\111\156\143\056\061\050\060\046\006\003\125\004\013 -\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040 -\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157 -\156\061\070\060\066\006\003\125\004\013\023\057\050\143\051\040 -\062\060\060\070\040\164\150\141\167\164\145\054\040\111\156\143 -\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151\172 -\145\144\040\165\163\145\040\157\156\154\171\061\044\060\042\006 -\003\125\004\003\023\033\164\150\141\167\164\145\040\120\162\151 -\155\141\162\171\040\122\157\157\164\040\103\101\040\055\040\107 -\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\140\001\227\267\106\247\352\264\264\232\326\113\057\367 -\220\373 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "GeoTrust Primary Certification Authority - G2" -# -# Issuer: CN=GeoTrust Primary Certification Authority - G2,OU=(c) 2007 GeoTrust Inc. - For authorized use only,O=GeoTrust Inc.,C=US -# Serial Number:3c:b2:f4:48:0a:00:e2:fe:eb:24:3b:5e:60:3e:c3:6b -# Subject: CN=GeoTrust Primary Certification Authority - G2,OU=(c) 2007 GeoTrust Inc. - For authorized use only,O=GeoTrust Inc.,C=US -# Not Valid Before: Mon Nov 05 00:00:00 2007 -# Not Valid After : Mon Jan 18 23:59:59 2038 -# Fingerprint (MD5): 01:5E:D8:6B:BD:6F:3D:8E:A1:31:F8:12:E0:98:73:6A -# Fingerprint (SHA1): 8D:17:84:D5:37:F3:03:7D:EC:70:FE:57:8B:51:9A:99:E6:10:D7:B0 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GeoTrust Primary Certification Authority - G2" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162 -\165\163\164\040\111\156\143\056\061\071\060\067\006\003\125\004 -\013\023\060\050\143\051\040\062\060\060\067\040\107\145\157\124 -\162\165\163\164\040\111\156\143\056\040\055\040\106\157\162\040 -\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157 -\156\154\171\061\066\060\064\006\003\125\004\003\023\055\107\145 -\157\124\162\165\163\164\040\120\162\151\155\141\162\171\040\103 -\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164 -\150\157\162\151\164\171\040\055\040\107\062 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162 -\165\163\164\040\111\156\143\056\061\071\060\067\006\003\125\004 -\013\023\060\050\143\051\040\062\060\060\067\040\107\145\157\124 -\162\165\163\164\040\111\156\143\056\040\055\040\106\157\162\040 -\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157 -\156\154\171\061\066\060\064\006\003\125\004\003\023\055\107\145 -\157\124\162\165\163\164\040\120\162\151\155\141\162\171\040\103 -\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164 -\150\157\162\151\164\171\040\055\040\107\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\074\262\364\110\012\000\342\376\353\044\073\136\140\076 -\303\153 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\002\256\060\202\002\065\240\003\002\001\002\002\020\074 -\262\364\110\012\000\342\376\353\044\073\136\140\076\303\153\060 -\012\006\010\052\206\110\316\075\004\003\003\060\201\230\061\013 -\060\011\006\003\125\004\006\023\002\125\123\061\026\060\024\006 -\003\125\004\012\023\015\107\145\157\124\162\165\163\164\040\111 -\156\143\056\061\071\060\067\006\003\125\004\013\023\060\050\143 -\051\040\062\060\060\067\040\107\145\157\124\162\165\163\164\040 -\111\156\143\056\040\055\040\106\157\162\040\141\165\164\150\157 -\162\151\172\145\144\040\165\163\145\040\157\156\154\171\061\066 -\060\064\006\003\125\004\003\023\055\107\145\157\124\162\165\163 -\164\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171\040\055\040\107\062\060\036\027\015\060\067\061\061\060\065 -\060\060\060\060\060\060\132\027\015\063\070\060\061\061\070\062 -\063\065\071\065\071\132\060\201\230\061\013\060\011\006\003\125 -\004\006\023\002\125\123\061\026\060\024\006\003\125\004\012\023 -\015\107\145\157\124\162\165\163\164\040\111\156\143\056\061\071 -\060\067\006\003\125\004\013\023\060\050\143\051\040\062\060\060 -\067\040\107\145\157\124\162\165\163\164\040\111\156\143\056\040 -\055\040\106\157\162\040\141\165\164\150\157\162\151\172\145\144 -\040\165\163\145\040\157\156\154\171\061\066\060\064\006\003\125 -\004\003\023\055\107\145\157\124\162\165\163\164\040\120\162\151 -\155\141\162\171\040\103\145\162\164\151\146\151\143\141\164\151 -\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040\107 -\062\060\166\060\020\006\007\052\206\110\316\075\002\001\006\005 -\053\201\004\000\042\003\142\000\004\025\261\350\375\003\025\103 -\345\254\353\207\067\021\142\357\322\203\066\122\175\105\127\013 -\112\215\173\124\073\072\156\137\025\002\300\120\246\317\045\057 -\175\312\110\270\307\120\143\034\052\041\010\174\232\066\330\013 -\376\321\046\305\130\061\060\050\045\363\135\135\243\270\266\245 -\264\222\355\154\054\237\353\335\103\211\242\074\113\110\221\035 -\120\354\046\337\326\140\056\275\041\243\102\060\100\060\017\006 -\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016 -\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060\035 -\006\003\125\035\016\004\026\004\024\025\137\065\127\121\125\373 -\045\262\255\003\151\374\001\243\372\276\021\125\325\060\012\006 -\010\052\206\110\316\075\004\003\003\003\147\000\060\144\002\060 -\144\226\131\246\350\011\336\213\272\372\132\210\210\360\037\221 -\323\106\250\362\112\114\002\143\373\154\137\070\333\056\101\223 -\251\016\346\235\334\061\034\262\240\247\030\034\171\341\307\066 -\002\060\072\126\257\232\164\154\366\373\203\340\063\323\010\137 -\241\234\302\133\237\106\326\266\313\221\006\143\242\006\347\063 -\254\076\250\201\022\320\313\272\320\222\013\266\236\226\252\004 -\017\212 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "GeoTrust Primary Certification Authority - G2" -# Issuer: CN=GeoTrust Primary Certification Authority - G2,OU=(c) 2007 GeoTrust Inc. - For authorized use only,O=GeoTrust Inc.,C=US -# Serial Number:3c:b2:f4:48:0a:00:e2:fe:eb:24:3b:5e:60:3e:c3:6b -# Subject: CN=GeoTrust Primary Certification Authority - G2,OU=(c) 2007 GeoTrust Inc. - For authorized use only,O=GeoTrust Inc.,C=US -# Not Valid Before: Mon Nov 05 00:00:00 2007 -# Not Valid After : Mon Jan 18 23:59:59 2038 -# Fingerprint (MD5): 01:5E:D8:6B:BD:6F:3D:8E:A1:31:F8:12:E0:98:73:6A -# Fingerprint (SHA1): 8D:17:84:D5:37:F3:03:7D:EC:70:FE:57:8B:51:9A:99:E6:10:D7:B0 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GeoTrust Primary Certification Authority - G2" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\215\027\204\325\067\363\003\175\354\160\376\127\213\121\232\231 -\346\020\327\260 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\001\136\330\153\275\157\075\216\241\061\370\022\340\230\163\152 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162 -\165\163\164\040\111\156\143\056\061\071\060\067\006\003\125\004 -\013\023\060\050\143\051\040\062\060\060\067\040\107\145\157\124 -\162\165\163\164\040\111\156\143\056\040\055\040\106\157\162\040 -\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157 -\156\154\171\061\066\060\064\006\003\125\004\003\023\055\107\145 -\157\124\162\165\163\164\040\120\162\151\155\141\162\171\040\103 -\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164 -\150\157\162\151\164\171\040\055\040\107\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\074\262\364\110\012\000\342\376\353\044\073\136\140\076 -\303\153 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "VeriSign Universal Root Certification Authority" -# -# Issuer: CN=VeriSign Universal Root Certification Authority,OU="(c) 2008 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US -# Serial Number:40:1a:c4:64:21:b3:13:21:03:0e:bb:e4:12:1a:c5:1d -# Subject: CN=VeriSign Universal Root Certification Authority,OU="(c) 2008 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US -# Not Valid Before: Wed Apr 02 00:00:00 2008 -# Not Valid After : Tue Dec 01 23:59:59 2037 -# Fingerprint (MD5): 8E:AD:B5:01:AA:4D:81:E4:8C:1D:D1:E1:14:00:95:19 -# Fingerprint (SHA1): 36:79:CA:35:66:87:72:30:4D:30:A5:FB:87:3B:0F:A7:7B:B7:0D:54 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "VeriSign Universal Root Certification Authority" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\275\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 -\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 -\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 -\125\004\013\023\061\050\143\051\040\062\060\060\070\040\126\145 -\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 -\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 -\145\040\157\156\154\171\061\070\060\066\006\003\125\004\003\023 -\057\126\145\162\151\123\151\147\156\040\125\156\151\166\145\162 -\163\141\154\040\122\157\157\164\040\103\145\162\164\151\146\151 -\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\275\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 -\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 -\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 -\125\004\013\023\061\050\143\051\040\062\060\060\070\040\126\145 -\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 -\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 -\145\040\157\156\154\171\061\070\060\066\006\003\125\004\003\023 -\057\126\145\162\151\123\151\147\156\040\125\156\151\166\145\162 -\163\141\154\040\122\157\157\164\040\103\145\162\164\151\146\151 -\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\100\032\304\144\041\263\023\041\003\016\273\344\022\032 -\305\035 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\271\060\202\003\241\240\003\002\001\002\002\020\100 -\032\304\144\041\263\023\041\003\016\273\344\022\032\305\035\060 -\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\201 -\275\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027 -\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151\147 -\156\054\040\111\156\143\056\061\037\060\035\006\003\125\004\013 -\023\026\126\145\162\151\123\151\147\156\040\124\162\165\163\164 -\040\116\145\164\167\157\162\153\061\072\060\070\006\003\125\004 -\013\023\061\050\143\051\040\062\060\060\070\040\126\145\162\151 -\123\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162 -\040\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040 -\157\156\154\171\061\070\060\066\006\003\125\004\003\023\057\126 -\145\162\151\123\151\147\156\040\125\156\151\166\145\162\163\141 -\154\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141 -\164\151\157\156\040\101\165\164\150\157\162\151\164\171\060\036 -\027\015\060\070\060\064\060\062\060\060\060\060\060\060\132\027 -\015\063\067\061\062\060\061\062\063\065\071\065\071\132\060\201 -\275\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027 -\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151\147 -\156\054\040\111\156\143\056\061\037\060\035\006\003\125\004\013 -\023\026\126\145\162\151\123\151\147\156\040\124\162\165\163\164 -\040\116\145\164\167\157\162\153\061\072\060\070\006\003\125\004 -\013\023\061\050\143\051\040\062\060\060\070\040\126\145\162\151 -\123\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162 -\040\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040 -\157\156\154\171\061\070\060\066\006\003\125\004\003\023\057\126 -\145\162\151\123\151\147\156\040\125\156\151\166\145\162\163\141 -\154\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141 -\164\151\157\156\040\101\165\164\150\157\162\151\164\171\060\202 -\001\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005 -\000\003\202\001\017\000\060\202\001\012\002\202\001\001\000\307 -\141\067\136\261\001\064\333\142\327\025\233\377\130\132\214\043 -\043\326\140\216\221\327\220\230\203\172\346\130\031\070\214\305 -\366\345\144\205\264\242\161\373\355\275\271\332\315\115\000\264 -\310\055\163\245\307\151\161\225\037\071\074\262\104\007\234\350 -\016\372\115\112\304\041\337\051\141\217\062\042\141\202\305\207 -\037\156\214\174\137\026\040\121\104\321\160\117\127\352\343\034 -\343\314\171\356\130\330\016\302\263\105\223\300\054\347\232\027 -\053\173\000\067\172\101\063\170\341\063\342\363\020\032\177\207 -\054\276\366\365\367\102\342\345\277\207\142\211\137\000\113\337 -\305\335\344\165\104\062\101\072\036\161\156\151\313\013\165\106 -\010\321\312\322\053\225\320\317\373\271\100\153\144\214\127\115 -\374\023\021\171\204\355\136\124\366\064\237\010\001\363\020\045 -\006\027\112\332\361\035\172\146\153\230\140\146\244\331\357\322 -\056\202\361\360\357\011\352\104\311\025\152\342\003\156\063\323 -\254\237\125\000\307\366\010\152\224\271\137\334\340\063\361\204 -\140\371\133\047\021\264\374\026\362\273\126\152\200\045\215\002 -\003\001\000\001\243\201\262\060\201\257\060\017\006\003\125\035 -\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003\125 -\035\017\001\001\377\004\004\003\002\001\006\060\155\006\010\053 -\006\001\005\005\007\001\014\004\141\060\137\241\135\240\133\060 -\131\060\127\060\125\026\011\151\155\141\147\145\057\147\151\146 -\060\041\060\037\060\007\006\005\053\016\003\002\032\004\024\217 -\345\323\032\206\254\215\216\153\303\317\200\152\324\110\030\054 -\173\031\056\060\045\026\043\150\164\164\160\072\057\057\154\157 -\147\157\056\166\145\162\151\163\151\147\156\056\143\157\155\057 -\166\163\154\157\147\157\056\147\151\146\060\035\006\003\125\035 -\016\004\026\004\024\266\167\372\151\110\107\237\123\022\325\302 -\352\007\062\166\007\321\227\007\031\060\015\006\011\052\206\110 -\206\367\015\001\001\013\005\000\003\202\001\001\000\112\370\370 -\260\003\346\054\147\173\344\224\167\143\314\156\114\371\175\016 -\015\334\310\271\065\271\160\117\143\372\044\372\154\203\214\107 -\235\073\143\363\232\371\166\062\225\221\261\167\274\254\232\276 -\261\344\061\041\306\201\225\126\132\016\261\302\324\261\246\131 -\254\361\143\313\270\114\035\131\220\112\357\220\026\050\037\132 -\256\020\373\201\120\070\014\154\314\361\075\303\365\143\343\263 -\343\041\311\044\071\351\375\025\146\106\364\033\021\320\115\163 -\243\175\106\371\075\355\250\137\142\324\361\077\370\340\164\127 -\053\030\235\201\264\304\050\332\224\227\245\160\353\254\035\276 -\007\021\360\325\333\335\345\214\360\325\062\260\203\346\127\342 -\217\277\276\241\252\277\075\035\265\324\070\352\327\260\134\072 -\117\152\077\217\300\146\154\143\252\351\331\244\026\364\201\321 -\225\024\016\175\315\225\064\331\322\217\160\163\201\173\234\176 -\275\230\141\330\105\207\230\220\305\353\206\060\306\065\277\360 -\377\303\125\210\203\113\357\005\222\006\161\362\270\230\223\267 -\354\315\202\141\361\070\346\117\227\230\052\132\215 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "VeriSign Universal Root Certification Authority" -# Issuer: CN=VeriSign Universal Root Certification Authority,OU="(c) 2008 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US -# Serial Number:40:1a:c4:64:21:b3:13:21:03:0e:bb:e4:12:1a:c5:1d -# Subject: CN=VeriSign Universal Root Certification Authority,OU="(c) 2008 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US -# Not Valid Before: Wed Apr 02 00:00:00 2008 -# Not Valid After : Tue Dec 01 23:59:59 2037 -# Fingerprint (MD5): 8E:AD:B5:01:AA:4D:81:E4:8C:1D:D1:E1:14:00:95:19 -# Fingerprint (SHA1): 36:79:CA:35:66:87:72:30:4D:30:A5:FB:87:3B:0F:A7:7B:B7:0D:54 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "VeriSign Universal Root Certification Authority" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\066\171\312\065\146\207\162\060\115\060\245\373\207\073\017\247 -\173\267\015\124 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\216\255\265\001\252\115\201\344\214\035\321\341\024\000\225\031 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\275\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 -\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 -\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 -\125\004\013\023\061\050\143\051\040\062\060\060\070\040\126\145 -\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 -\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 -\145\040\157\156\154\171\061\070\060\066\006\003\125\004\003\023 -\057\126\145\162\151\123\151\147\156\040\125\156\151\166\145\162 -\163\141\154\040\122\157\157\164\040\103\145\162\164\151\146\151 -\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\100\032\304\144\041\263\023\041\003\016\273\344\022\032 -\305\035 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "VeriSign Class 3 Public Primary Certification Authority - G4" -# -# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G4,OU="(c) 2007 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US -# Serial Number:2f:80:fe:23:8c:0e:22:0f:48:67:12:28:91:87:ac:b3 -# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G4,OU="(c) 2007 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US -# Not Valid Before: Mon Nov 05 00:00:00 2007 -# Not Valid After : Mon Jan 18 23:59:59 2038 -# Fingerprint (MD5): 3A:52:E1:E7:FD:6F:3A:E3:6F:F3:6F:99:1B:F9:22:41 -# Fingerprint (SHA1): 22:D5:D8:DF:8F:02:31:D1:8D:F7:9D:B7:CF:8A:2D:64:C9:3F:6C:3A -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "VeriSign Class 3 Public Primary Certification Authority - G4" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 -\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 -\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 -\125\004\013\023\061\050\143\051\040\062\060\060\067\040\126\145 -\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 -\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 -\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 -\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 -\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 -\165\164\150\157\162\151\164\171\040\055\040\107\064 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 -\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 -\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 -\125\004\013\023\061\050\143\051\040\062\060\060\067\040\126\145 -\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 -\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 -\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 -\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 -\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 -\165\164\150\157\162\151\164\171\040\055\040\107\064 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\057\200\376\043\214\016\042\017\110\147\022\050\221\207 -\254\263 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\204\060\202\003\012\240\003\002\001\002\002\020\057 -\200\376\043\214\016\042\017\110\147\022\050\221\207\254\263\060 -\012\006\010\052\206\110\316\075\004\003\003\060\201\312\061\013 -\060\011\006\003\125\004\006\023\002\125\123\061\027\060\025\006 -\003\125\004\012\023\016\126\145\162\151\123\151\147\156\054\040 -\111\156\143\056\061\037\060\035\006\003\125\004\013\023\026\126 -\145\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145 -\164\167\157\162\153\061\072\060\070\006\003\125\004\013\023\061 -\050\143\051\040\062\060\060\067\040\126\145\162\151\123\151\147 -\156\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165 -\164\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154 -\171\061\105\060\103\006\003\125\004\003\023\074\126\145\162\151 -\123\151\147\156\040\103\154\141\163\163\040\063\040\120\165\142 -\154\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164 -\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162 -\151\164\171\040\055\040\107\064\060\036\027\015\060\067\061\061 -\060\065\060\060\060\060\060\060\132\027\015\063\070\060\061\061 -\070\062\063\065\071\065\071\132\060\201\312\061\013\060\011\006 -\003\125\004\006\023\002\125\123\061\027\060\025\006\003\125\004 -\012\023\016\126\145\162\151\123\151\147\156\054\040\111\156\143 -\056\061\037\060\035\006\003\125\004\013\023\026\126\145\162\151 -\123\151\147\156\040\124\162\165\163\164\040\116\145\164\167\157 -\162\153\061\072\060\070\006\003\125\004\013\023\061\050\143\051 -\040\062\060\060\067\040\126\145\162\151\123\151\147\156\054\040 -\111\156\143\056\040\055\040\106\157\162\040\141\165\164\150\157 -\162\151\172\145\144\040\165\163\145\040\157\156\154\171\061\105 -\060\103\006\003\125\004\003\023\074\126\145\162\151\123\151\147 -\156\040\103\154\141\163\163\040\063\040\120\165\142\154\151\143 -\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151 -\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 -\040\055\040\107\064\060\166\060\020\006\007\052\206\110\316\075 -\002\001\006\005\053\201\004\000\042\003\142\000\004\247\126\172 -\174\122\332\144\233\016\055\134\330\136\254\222\075\376\001\346 -\031\112\075\024\003\113\372\140\047\040\331\203\211\151\372\124 -\306\232\030\136\125\052\144\336\006\366\215\112\073\255\020\074 -\145\075\220\210\004\211\340\060\141\263\256\135\001\247\173\336 -\174\262\276\312\145\141\000\206\256\332\217\173\320\211\255\115 -\035\131\232\101\261\274\107\200\334\236\142\303\371\243\201\262 -\060\201\257\060\017\006\003\125\035\023\001\001\377\004\005\060 -\003\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004 -\003\002\001\006\060\155\006\010\053\006\001\005\005\007\001\014 -\004\141\060\137\241\135\240\133\060\131\060\127\060\125\026\011 -\151\155\141\147\145\057\147\151\146\060\041\060\037\060\007\006 -\005\053\016\003\002\032\004\024\217\345\323\032\206\254\215\216 -\153\303\317\200\152\324\110\030\054\173\031\056\060\045\026\043 -\150\164\164\160\072\057\057\154\157\147\157\056\166\145\162\151 -\163\151\147\156\056\143\157\155\057\166\163\154\157\147\157\056 -\147\151\146\060\035\006\003\125\035\016\004\026\004\024\263\026 -\221\375\356\246\156\344\265\056\111\217\207\170\201\200\354\345 -\261\265\060\012\006\010\052\206\110\316\075\004\003\003\003\150 -\000\060\145\002\060\146\041\014\030\046\140\132\070\173\126\102 -\340\247\374\066\204\121\221\040\054\166\115\103\075\304\035\204 -\043\320\254\326\174\065\006\316\315\151\275\220\015\333\154\110 -\102\035\016\252\102\002\061\000\234\075\110\071\043\071\130\032 -\025\022\131\152\236\357\325\131\262\035\122\054\231\161\315\307 -\051\337\033\052\141\173\161\321\336\363\300\345\015\072\112\252 -\055\247\330\206\052\335\056\020 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "VeriSign Class 3 Public Primary Certification Authority - G4" -# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G4,OU="(c) 2007 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US -# Serial Number:2f:80:fe:23:8c:0e:22:0f:48:67:12:28:91:87:ac:b3 -# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G4,OU="(c) 2007 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US -# Not Valid Before: Mon Nov 05 00:00:00 2007 -# Not Valid After : Mon Jan 18 23:59:59 2038 -# Fingerprint (MD5): 3A:52:E1:E7:FD:6F:3A:E3:6F:F3:6F:99:1B:F9:22:41 -# Fingerprint (SHA1): 22:D5:D8:DF:8F:02:31:D1:8D:F7:9D:B7:CF:8A:2D:64:C9:3F:6C:3A -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "VeriSign Class 3 Public Primary Certification Authority - G4" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\042\325\330\337\217\002\061\321\215\367\235\267\317\212\055\144 -\311\077\154\072 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\072\122\341\347\375\157\072\343\157\363\157\231\033\371\042\101 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 -\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 -\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 -\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 -\125\004\013\023\061\050\143\051\040\062\060\060\067\040\126\145 -\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 -\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 -\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 -\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 -\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 -\165\164\150\157\162\151\164\171\040\055\040\107\064 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\057\200\376\043\214\016\042\017\110\147\022\050\221\207 -\254\263 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "NetLock Arany (Class Gold) FÅ‘tanúsítvány" -# -# Issuer: CN=NetLock Arany (Class Gold) F..tan..s..tv..ny,OU=Tan..s..tv..nykiad..k (Certification Services),O=NetLock Kft.,L=Budapest,C=HU -# Serial Number:49:41:2c:e4:00:10 -# Subject: CN=NetLock Arany (Class Gold) F..tan..s..tv..ny,OU=Tan..s..tv..nykiad..k (Certification Services),O=NetLock Kft.,L=Budapest,C=HU -# Not Valid Before: Thu Dec 11 15:08:21 2008 -# Not Valid After : Wed Dec 06 15:08:21 2028 -# Fingerprint (MD5): C5:A1:B7:FF:73:DD:D6:D7:34:32:18:DF:FC:3C:AD:88 -# Fingerprint (SHA1): 06:08:3F:59:3F:15:A1:04:A0:69:A4:6B:A9:03:D0:06:B7:97:09:91 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "NetLock Arany (Class Gold) FÅ‘tanúsítvány" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\247\061\013\060\011\006\003\125\004\006\023\002\110\125 -\061\021\060\017\006\003\125\004\007\014\010\102\165\144\141\160 -\145\163\164\061\025\060\023\006\003\125\004\012\014\014\116\145 -\164\114\157\143\153\040\113\146\164\056\061\067\060\065\006\003 -\125\004\013\014\056\124\141\156\303\272\163\303\255\164\166\303 -\241\156\171\153\151\141\144\303\263\153\040\050\103\145\162\164 -\151\146\151\143\141\164\151\157\156\040\123\145\162\166\151\143 -\145\163\051\061\065\060\063\006\003\125\004\003\014\054\116\145 -\164\114\157\143\153\040\101\162\141\156\171\040\050\103\154\141 -\163\163\040\107\157\154\144\051\040\106\305\221\164\141\156\303 -\272\163\303\255\164\166\303\241\156\171 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\247\061\013\060\011\006\003\125\004\006\023\002\110\125 -\061\021\060\017\006\003\125\004\007\014\010\102\165\144\141\160 -\145\163\164\061\025\060\023\006\003\125\004\012\014\014\116\145 -\164\114\157\143\153\040\113\146\164\056\061\067\060\065\006\003 -\125\004\013\014\056\124\141\156\303\272\163\303\255\164\166\303 -\241\156\171\153\151\141\144\303\263\153\040\050\103\145\162\164 -\151\146\151\143\141\164\151\157\156\040\123\145\162\166\151\143 -\145\163\051\061\065\060\063\006\003\125\004\003\014\054\116\145 -\164\114\157\143\153\040\101\162\141\156\171\040\050\103\154\141 -\163\163\040\107\157\154\144\051\040\106\305\221\164\141\156\303 -\272\163\303\255\164\166\303\241\156\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\006\111\101\054\344\000\020 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\025\060\202\002\375\240\003\002\001\002\002\006\111 -\101\054\344\000\020\060\015\006\011\052\206\110\206\367\015\001 -\001\013\005\000\060\201\247\061\013\060\011\006\003\125\004\006 -\023\002\110\125\061\021\060\017\006\003\125\004\007\014\010\102 -\165\144\141\160\145\163\164\061\025\060\023\006\003\125\004\012 -\014\014\116\145\164\114\157\143\153\040\113\146\164\056\061\067 -\060\065\006\003\125\004\013\014\056\124\141\156\303\272\163\303 -\255\164\166\303\241\156\171\153\151\141\144\303\263\153\040\050 -\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145 -\162\166\151\143\145\163\051\061\065\060\063\006\003\125\004\003 -\014\054\116\145\164\114\157\143\153\040\101\162\141\156\171\040 -\050\103\154\141\163\163\040\107\157\154\144\051\040\106\305\221 -\164\141\156\303\272\163\303\255\164\166\303\241\156\171\060\036 -\027\015\060\070\061\062\061\061\061\065\060\070\062\061\132\027 -\015\062\070\061\062\060\066\061\065\060\070\062\061\132\060\201 -\247\061\013\060\011\006\003\125\004\006\023\002\110\125\061\021 -\060\017\006\003\125\004\007\014\010\102\165\144\141\160\145\163 -\164\061\025\060\023\006\003\125\004\012\014\014\116\145\164\114 -\157\143\153\040\113\146\164\056\061\067\060\065\006\003\125\004 -\013\014\056\124\141\156\303\272\163\303\255\164\166\303\241\156 -\171\153\151\141\144\303\263\153\040\050\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\123\145\162\166\151\143\145\163 -\051\061\065\060\063\006\003\125\004\003\014\054\116\145\164\114 -\157\143\153\040\101\162\141\156\171\040\050\103\154\141\163\163 -\040\107\157\154\144\051\040\106\305\221\164\141\156\303\272\163 -\303\255\164\166\303\241\156\171\060\202\001\042\060\015\006\011 -\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017\000 -\060\202\001\012\002\202\001\001\000\304\044\136\163\276\113\155 -\024\303\241\364\343\227\220\156\322\060\105\036\074\356\147\331 -\144\340\032\212\177\312\060\312\203\343\040\301\343\364\072\323 -\224\137\032\174\133\155\277\060\117\204\047\366\237\037\111\274 -\306\231\012\220\362\017\365\177\103\204\067\143\121\213\172\245 -\160\374\172\130\315\216\233\355\303\106\154\204\160\135\332\363 -\001\220\043\374\116\060\251\176\341\047\143\347\355\144\074\240 -\270\311\063\143\376\026\220\377\260\270\375\327\250\300\300\224 -\103\013\266\325\131\246\236\126\320\044\037\160\171\257\333\071 -\124\015\145\165\331\025\101\224\001\257\136\354\366\215\361\377 -\255\144\376\040\232\327\134\353\376\246\037\010\144\243\213\166 -\125\255\036\073\050\140\056\207\045\350\252\257\037\306\144\106 -\040\267\160\177\074\336\110\333\226\123\267\071\167\344\032\342 -\307\026\204\166\227\133\057\273\031\025\205\370\151\205\365\231 -\247\251\362\064\247\251\266\246\003\374\157\206\075\124\174\166 -\004\233\153\371\100\135\000\064\307\056\231\165\235\345\210\003 -\252\115\370\003\322\102\166\300\033\002\003\000\250\213\243\105 -\060\103\060\022\006\003\125\035\023\001\001\377\004\010\060\006 -\001\001\377\002\001\004\060\016\006\003\125\035\017\001\001\377 -\004\004\003\002\001\006\060\035\006\003\125\035\016\004\026\004 -\024\314\372\147\223\360\266\270\320\245\300\036\363\123\375\214 -\123\337\203\327\226\060\015\006\011\052\206\110\206\367\015\001 -\001\013\005\000\003\202\001\001\000\253\177\356\034\026\251\234 -\074\121\000\240\300\021\010\005\247\231\346\157\001\210\124\141 -\156\361\271\030\255\112\255\376\201\100\043\224\057\373\165\174 -\057\050\113\142\044\201\202\013\365\141\361\034\156\270\141\070 -\353\201\372\142\241\073\132\142\323\224\145\304\341\346\155\202 -\370\057\045\160\262\041\046\301\162\121\037\214\054\303\204\220 -\303\132\217\272\317\364\247\145\245\353\230\321\373\005\262\106 -\165\025\043\152\157\205\143\060\200\360\325\236\037\051\034\302 -\154\260\120\131\135\220\133\073\250\015\060\317\277\175\177\316 -\361\235\203\275\311\106\156\040\246\371\141\121\272\041\057\173 -\276\245\025\143\241\324\225\207\361\236\271\363\211\363\075\205 -\270\270\333\276\265\271\051\371\332\067\005\000\111\224\003\204 -\104\347\277\103\061\317\165\213\045\321\364\246\144\365\222\366 -\253\005\353\075\351\245\013\066\142\332\314\006\137\066\213\266 -\136\061\270\052\373\136\366\161\337\104\046\236\304\346\015\221 -\264\056\165\225\200\121\152\113\060\246\260\142\241\223\361\233 -\330\316\304\143\165\077\131\107\261 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "NetLock Arany (Class Gold) FÅ‘tanúsítvány" -# Issuer: CN=NetLock Arany (Class Gold) F..tan..s..tv..ny,OU=Tan..s..tv..nykiad..k (Certification Services),O=NetLock Kft.,L=Budapest,C=HU -# Serial Number:49:41:2c:e4:00:10 -# Subject: CN=NetLock Arany (Class Gold) F..tan..s..tv..ny,OU=Tan..s..tv..nykiad..k (Certification Services),O=NetLock Kft.,L=Budapest,C=HU -# Not Valid Before: Thu Dec 11 15:08:21 2008 -# Not Valid After : Wed Dec 06 15:08:21 2028 -# Fingerprint (MD5): C5:A1:B7:FF:73:DD:D6:D7:34:32:18:DF:FC:3C:AD:88 -# Fingerprint (SHA1): 06:08:3F:59:3F:15:A1:04:A0:69:A4:6B:A9:03:D0:06:B7:97:09:91 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "NetLock Arany (Class Gold) FÅ‘tanúsítvány" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\006\010\077\131\077\025\241\004\240\151\244\153\251\003\320\006 -\267\227\011\221 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\305\241\267\377\163\335\326\327\064\062\030\337\374\074\255\210 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\247\061\013\060\011\006\003\125\004\006\023\002\110\125 -\061\021\060\017\006\003\125\004\007\014\010\102\165\144\141\160 -\145\163\164\061\025\060\023\006\003\125\004\012\014\014\116\145 -\164\114\157\143\153\040\113\146\164\056\061\067\060\065\006\003 -\125\004\013\014\056\124\141\156\303\272\163\303\255\164\166\303 -\241\156\171\153\151\141\144\303\263\153\040\050\103\145\162\164 -\151\146\151\143\141\164\151\157\156\040\123\145\162\166\151\143 -\145\163\051\061\065\060\063\006\003\125\004\003\014\054\116\145 -\164\114\157\143\153\040\101\162\141\156\171\040\050\103\154\141 -\163\163\040\107\157\154\144\051\040\106\305\221\164\141\156\303 -\272\163\303\255\164\166\303\241\156\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\006\111\101\054\344\000\020 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Staat der Nederlanden Root CA - G2" -# -# Issuer: CN=Staat der Nederlanden Root CA - G2,O=Staat der Nederlanden,C=NL -# Serial Number: 10000012 (0x98968c) -# Subject: CN=Staat der Nederlanden Root CA - G2,O=Staat der Nederlanden,C=NL -# Not Valid Before: Wed Mar 26 11:18:17 2008 -# Not Valid After : Wed Mar 25 11:03:10 2020 -# Fingerprint (MD5): 7C:A5:0F:F8:5B:9A:7D:6D:30:AE:54:5A:E3:42:A2:8A -# Fingerprint (SHA1): 59:AF:82:79:91:86:C7:B4:75:07:CB:CF:03:57:46:EB:04:DD:B7:16 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Staat der Nederlanden Root CA - G2" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\132\061\013\060\011\006\003\125\004\006\023\002\116\114\061 -\036\060\034\006\003\125\004\012\014\025\123\164\141\141\164\040 -\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061 -\053\060\051\006\003\125\004\003\014\042\123\164\141\141\164\040 -\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\040 -\122\157\157\164\040\103\101\040\055\040\107\062 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\132\061\013\060\011\006\003\125\004\006\023\002\116\114\061 -\036\060\034\006\003\125\004\012\014\025\123\164\141\141\164\040 -\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061 -\053\060\051\006\003\125\004\003\014\042\123\164\141\141\164\040 -\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\040 -\122\157\157\164\040\103\101\040\055\040\107\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\004\000\230\226\214 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\312\060\202\003\262\240\003\002\001\002\002\004\000 -\230\226\214\060\015\006\011\052\206\110\206\367\015\001\001\013 -\005\000\060\132\061\013\060\011\006\003\125\004\006\023\002\116 -\114\061\036\060\034\006\003\125\004\012\014\025\123\164\141\141 -\164\040\144\145\162\040\116\145\144\145\162\154\141\156\144\145 -\156\061\053\060\051\006\003\125\004\003\014\042\123\164\141\141 -\164\040\144\145\162\040\116\145\144\145\162\154\141\156\144\145 -\156\040\122\157\157\164\040\103\101\040\055\040\107\062\060\036 -\027\015\060\070\060\063\062\066\061\061\061\070\061\067\132\027 -\015\062\060\060\063\062\065\061\061\060\063\061\060\132\060\132 -\061\013\060\011\006\003\125\004\006\023\002\116\114\061\036\060 -\034\006\003\125\004\012\014\025\123\164\141\141\164\040\144\145 -\162\040\116\145\144\145\162\154\141\156\144\145\156\061\053\060 -\051\006\003\125\004\003\014\042\123\164\141\141\164\040\144\145 -\162\040\116\145\144\145\162\154\141\156\144\145\156\040\122\157 -\157\164\040\103\101\040\055\040\107\062\060\202\002\042\060\015 -\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\002 -\017\000\060\202\002\012\002\202\002\001\000\305\131\347\157\165 -\252\076\113\234\265\270\254\236\013\344\371\331\312\253\135\217 -\265\071\020\202\327\257\121\340\073\341\000\110\152\317\332\341 -\006\103\021\231\252\024\045\022\255\042\350\000\155\103\304\251 -\270\345\037\211\113\147\275\141\110\357\375\322\340\140\210\345 -\271\030\140\050\303\167\053\255\260\067\252\067\336\144\131\052 -\106\127\344\113\271\370\067\174\325\066\347\200\301\266\363\324 -\147\233\226\350\316\327\306\012\123\320\153\111\226\363\243\013 -\005\167\110\367\045\345\160\254\060\024\040\045\343\177\165\132 -\345\110\370\116\173\003\007\004\372\202\141\207\156\360\073\304 -\244\307\320\365\164\076\245\135\032\010\362\233\045\322\366\254 -\004\046\076\125\072\142\050\245\173\262\060\257\370\067\302\321 -\272\326\070\375\364\357\111\060\067\231\046\041\110\205\001\251 -\345\026\347\334\220\125\337\017\350\070\315\231\067\041\117\135 -\365\042\157\152\305\022\026\140\027\125\362\145\146\246\247\060 -\221\070\301\070\035\206\004\204\272\032\045\170\136\235\257\314 -\120\140\326\023\207\122\355\143\037\155\145\175\302\025\030\164 -\312\341\176\144\051\214\162\330\026\023\175\013\111\112\361\050 -\033\040\164\153\305\075\335\260\252\110\011\075\056\202\224\315 -\032\145\331\053\210\232\231\274\030\176\237\356\175\146\174\076 -\275\224\270\201\316\315\230\060\170\301\157\147\320\276\137\340 -\150\355\336\342\261\311\054\131\170\222\252\337\053\140\143\362 -\345\136\271\343\312\372\177\120\206\076\242\064\030\014\011\150 -\050\021\034\344\341\271\134\076\107\272\062\077\030\314\133\204 -\365\363\153\164\304\162\164\341\343\213\240\112\275\215\146\057 -\352\255\065\332\040\323\210\202\141\360\022\042\266\274\320\325 -\244\354\257\124\210\045\044\074\247\155\261\162\051\077\076\127 -\246\177\125\257\156\046\306\376\347\314\100\134\121\104\201\012 -\170\336\112\316\125\277\035\325\331\267\126\357\360\166\377\013 -\171\265\257\275\373\251\151\221\106\227\150\200\024\066\035\263 -\177\273\051\230\066\245\040\372\202\140\142\063\244\354\326\272 -\007\247\156\305\317\024\246\347\326\222\064\330\201\365\374\035 -\135\252\134\036\366\243\115\073\270\367\071\002\003\001\000\001 -\243\201\227\060\201\224\060\017\006\003\125\035\023\001\001\377 -\004\005\060\003\001\001\377\060\122\006\003\125\035\040\004\113 -\060\111\060\107\006\004\125\035\040\000\060\077\060\075\006\010 -\053\006\001\005\005\007\002\001\026\061\150\164\164\160\072\057 -\057\167\167\167\056\160\153\151\157\166\145\162\150\145\151\144 -\056\156\154\057\160\157\154\151\143\151\145\163\057\162\157\157 -\164\055\160\157\154\151\143\171\055\107\062\060\016\006\003\125 -\035\017\001\001\377\004\004\003\002\001\006\060\035\006\003\125 -\035\016\004\026\004\024\221\150\062\207\025\035\211\342\265\361 -\254\066\050\064\215\013\174\142\210\353\060\015\006\011\052\206 -\110\206\367\015\001\001\013\005\000\003\202\002\001\000\250\101 -\112\147\052\222\201\202\120\156\341\327\330\263\071\073\363\002 -\025\011\120\121\357\055\275\044\173\210\206\073\371\264\274\222 -\011\226\271\366\300\253\043\140\006\171\214\021\116\121\322\171 -\200\063\373\235\110\276\354\101\103\201\037\176\107\100\034\345 -\172\010\312\252\213\165\255\024\304\302\350\146\074\202\007\247 -\346\047\202\133\030\346\017\156\331\120\076\212\102\030\051\306 -\264\126\374\126\020\240\005\027\275\014\043\177\364\223\355\234 -\032\121\276\335\105\101\277\221\044\264\037\214\351\137\317\173 -\041\231\237\225\237\071\072\106\034\154\371\315\173\234\220\315 -\050\251\307\251\125\273\254\142\064\142\065\023\113\024\072\125 -\203\271\206\215\222\246\306\364\007\045\124\314\026\127\022\112 -\202\170\310\024\331\027\202\046\055\135\040\037\171\256\376\324 -\160\026\026\225\203\330\065\071\377\122\135\165\034\026\305\023 -\125\317\107\314\165\145\122\112\336\360\260\247\344\012\226\013 -\373\255\302\342\045\204\262\335\344\275\176\131\154\233\360\360 -\330\347\312\362\351\227\070\176\211\276\314\373\071\027\141\077 -\162\333\072\221\330\145\001\031\035\255\120\244\127\012\174\113 -\274\234\161\163\052\105\121\031\205\314\216\375\107\247\164\225 -\035\250\321\257\116\027\261\151\046\302\252\170\127\133\305\115 -\247\345\236\005\027\224\312\262\137\240\111\030\215\064\351\046 -\154\110\036\252\150\222\005\341\202\163\132\233\334\007\133\010 -\155\175\235\327\215\041\331\374\024\040\252\302\105\337\077\347 -\000\262\121\344\302\370\005\271\171\032\214\064\363\236\133\344 -\067\133\153\112\337\054\127\212\100\132\066\272\335\165\104\010 -\067\102\160\014\376\334\136\041\240\243\212\300\220\234\150\332 -\120\346\105\020\107\170\266\116\322\145\311\303\067\337\341\102 -\143\260\127\067\105\055\173\212\234\277\005\352\145\125\063\367 -\071\020\305\050\052\041\172\033\212\304\044\371\077\025\310\232 -\025\040\365\125\142\226\355\155\223\120\274\344\252\170\255\331 -\313\012\145\207\246\146\301\304\201\243\167\072\130\036\013\356 -\203\213\235\036\322\122\244\314\035\157\260\230\155\224\061\265 -\370\161\012\334\271\374\175\062\140\346\353\257\212\001 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "Staat der Nederlanden Root CA - G2" -# Issuer: CN=Staat der Nederlanden Root CA - G2,O=Staat der Nederlanden,C=NL -# Serial Number: 10000012 (0x98968c) -# Subject: CN=Staat der Nederlanden Root CA - G2,O=Staat der Nederlanden,C=NL -# Not Valid Before: Wed Mar 26 11:18:17 2008 -# Not Valid After : Wed Mar 25 11:03:10 2020 -# Fingerprint (MD5): 7C:A5:0F:F8:5B:9A:7D:6D:30:AE:54:5A:E3:42:A2:8A -# Fingerprint (SHA1): 59:AF:82:79:91:86:C7:B4:75:07:CB:CF:03:57:46:EB:04:DD:B7:16 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Staat der Nederlanden Root CA - G2" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\131\257\202\171\221\206\307\264\165\007\313\317\003\127\106\353 -\004\335\267\026 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\174\245\017\370\133\232\175\155\060\256\124\132\343\102\242\212 -END -CKA_ISSUER MULTILINE_OCTAL -\060\132\061\013\060\011\006\003\125\004\006\023\002\116\114\061 -\036\060\034\006\003\125\004\012\014\025\123\164\141\141\164\040 -\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061 -\053\060\051\006\003\125\004\003\014\042\123\164\141\141\164\040 -\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\040 -\122\157\157\164\040\103\101\040\055\040\107\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\004\000\230\226\214 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Hongkong Post Root CA 1" -# -# Issuer: CN=Hongkong Post Root CA 1,O=Hongkong Post,C=HK -# Serial Number: 1000 (0x3e8) -# Subject: CN=Hongkong Post Root CA 1,O=Hongkong Post,C=HK -# Not Valid Before: Thu May 15 05:13:14 2003 -# Not Valid After : Mon May 15 04:52:29 2023 -# Fingerprint (MD5): A8:0D:6F:39:78:B9:43:6D:77:42:6D:98:5A:CC:23:CA -# Fingerprint (SHA1): D6:DA:A8:20:8D:09:D2:15:4D:24:B5:2F:CB:34:6E:B2:58:B2:8A:58 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Hongkong Post Root CA 1" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\107\061\013\060\011\006\003\125\004\006\023\002\110\113\061 -\026\060\024\006\003\125\004\012\023\015\110\157\156\147\153\157 -\156\147\040\120\157\163\164\061\040\060\036\006\003\125\004\003 -\023\027\110\157\156\147\153\157\156\147\040\120\157\163\164\040 -\122\157\157\164\040\103\101\040\061 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\107\061\013\060\011\006\003\125\004\006\023\002\110\113\061 -\026\060\024\006\003\125\004\012\023\015\110\157\156\147\153\157 -\156\147\040\120\157\163\164\061\040\060\036\006\003\125\004\003 -\023\027\110\157\156\147\153\157\156\147\040\120\157\163\164\040 -\122\157\157\164\040\103\101\040\061 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\002\003\350 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\060\060\202\002\030\240\003\002\001\002\002\002\003 -\350\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000 -\060\107\061\013\060\011\006\003\125\004\006\023\002\110\113\061 -\026\060\024\006\003\125\004\012\023\015\110\157\156\147\153\157 -\156\147\040\120\157\163\164\061\040\060\036\006\003\125\004\003 -\023\027\110\157\156\147\153\157\156\147\040\120\157\163\164\040 -\122\157\157\164\040\103\101\040\061\060\036\027\015\060\063\060 -\065\061\065\060\065\061\063\061\064\132\027\015\062\063\060\065 -\061\065\060\064\065\062\062\071\132\060\107\061\013\060\011\006 -\003\125\004\006\023\002\110\113\061\026\060\024\006\003\125\004 -\012\023\015\110\157\156\147\153\157\156\147\040\120\157\163\164 -\061\040\060\036\006\003\125\004\003\023\027\110\157\156\147\153 -\157\156\147\040\120\157\163\164\040\122\157\157\164\040\103\101 -\040\061\060\202\001\042\060\015\006\011\052\206\110\206\367\015 -\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202 -\001\001\000\254\377\070\266\351\146\002\111\343\242\264\341\220 -\371\100\217\171\371\342\275\171\376\002\275\356\044\222\035\042 -\366\332\205\162\151\376\327\077\011\324\335\221\265\002\234\320 -\215\132\341\125\303\120\206\271\051\046\302\343\331\240\361\151 -\003\050\040\200\105\042\055\126\247\073\124\225\126\042\131\037 -\050\337\037\040\075\155\242\066\276\043\240\261\156\265\261\047 -\077\071\123\011\352\253\152\350\164\262\302\145\134\216\277\174 -\303\170\204\315\236\026\374\365\056\117\040\052\010\237\167\363 -\305\036\304\232\122\146\036\110\136\343\020\006\217\042\230\341 -\145\216\033\135\043\146\073\270\245\062\121\310\206\252\241\251 -\236\177\166\224\302\246\154\267\101\360\325\310\006\070\346\324 -\014\342\363\073\114\155\120\214\304\203\047\301\023\204\131\075 -\236\165\164\266\330\002\136\072\220\172\300\102\066\162\354\152 -\115\334\357\304\000\337\023\030\127\137\046\170\310\326\012\171 -\167\277\367\257\267\166\271\245\013\204\027\135\020\352\157\341 -\253\225\021\137\155\074\243\134\115\203\133\362\263\031\212\200 -\213\013\207\002\003\001\000\001\243\046\060\044\060\022\006\003 -\125\035\023\001\001\377\004\010\060\006\001\001\377\002\001\003 -\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\306 -\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003 -\202\001\001\000\016\106\325\074\256\342\207\331\136\201\213\002 -\230\101\010\214\114\274\332\333\356\047\033\202\347\152\105\354 -\026\213\117\205\240\363\262\160\275\132\226\272\312\156\155\356 -\106\213\156\347\052\056\226\263\031\063\353\264\237\250\262\067 -\356\230\250\227\266\056\266\147\047\324\246\111\375\034\223\145 -\166\236\102\057\334\042\154\232\117\362\132\025\071\261\161\327 -\053\121\350\155\034\230\300\331\052\364\241\202\173\325\311\101 -\242\043\001\164\070\125\213\017\271\056\147\242\040\004\067\332 -\234\013\323\027\041\340\217\227\171\064\157\204\110\002\040\063 -\033\346\064\104\237\221\160\364\200\136\204\103\302\051\322\154 -\022\024\344\141\215\254\020\220\236\204\120\273\360\226\157\105 -\237\212\363\312\154\117\372\021\072\025\025\106\303\315\037\203 -\133\055\101\022\355\120\147\101\023\075\041\253\224\212\252\116 -\174\301\261\373\247\326\265\047\057\227\253\156\340\035\342\321 -\034\054\037\104\342\374\276\221\241\234\373\326\051\123\163\206 -\237\123\330\103\016\135\326\143\202\161\035\200\164\312\366\342 -\002\153\331\132 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "Hongkong Post Root CA 1" -# Issuer: CN=Hongkong Post Root CA 1,O=Hongkong Post,C=HK -# Serial Number: 1000 (0x3e8) -# Subject: CN=Hongkong Post Root CA 1,O=Hongkong Post,C=HK -# Not Valid Before: Thu May 15 05:13:14 2003 -# Not Valid After : Mon May 15 04:52:29 2023 -# Fingerprint (MD5): A8:0D:6F:39:78:B9:43:6D:77:42:6D:98:5A:CC:23:CA -# Fingerprint (SHA1): D6:DA:A8:20:8D:09:D2:15:4D:24:B5:2F:CB:34:6E:B2:58:B2:8A:58 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Hongkong Post Root CA 1" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\326\332\250\040\215\011\322\025\115\044\265\057\313\064\156\262 -\130\262\212\130 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\250\015\157\071\170\271\103\155\167\102\155\230\132\314\043\312 -END -CKA_ISSUER MULTILINE_OCTAL -\060\107\061\013\060\011\006\003\125\004\006\023\002\110\113\061 -\026\060\024\006\003\125\004\012\023\015\110\157\156\147\153\157 -\156\147\040\120\157\163\164\061\040\060\036\006\003\125\004\003 -\023\027\110\157\156\147\153\157\156\147\040\120\157\163\164\040 -\122\157\157\164\040\103\101\040\061 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\002\003\350 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "SecureSign RootCA11" -# -# Issuer: CN=SecureSign RootCA11,O="Japan Certification Services, Inc.",C=JP -# Serial Number: 1 (0x1) -# Subject: CN=SecureSign RootCA11,O="Japan Certification Services, Inc.",C=JP -# Not Valid Before: Wed Apr 08 04:56:47 2009 -# Not Valid After : Sun Apr 08 04:56:47 2029 -# Fingerprint (MD5): B7:52:74:E2:92:B4:80:93:F2:75:E4:CC:D7:F2:EA:26 -# Fingerprint (SHA1): 3B:C4:9F:48:F8:F3:73:A0:9C:1E:BD:F8:5B:B1:C3:65:C7:D8:11:B3 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "SecureSign RootCA11" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\130\061\013\060\011\006\003\125\004\006\023\002\112\120\061 -\053\060\051\006\003\125\004\012\023\042\112\141\160\141\156\040 -\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145 -\162\166\151\143\145\163\054\040\111\156\143\056\061\034\060\032 -\006\003\125\004\003\023\023\123\145\143\165\162\145\123\151\147 -\156\040\122\157\157\164\103\101\061\061 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\130\061\013\060\011\006\003\125\004\006\023\002\112\120\061 -\053\060\051\006\003\125\004\012\023\042\112\141\160\141\156\040 -\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145 -\162\166\151\143\145\163\054\040\111\156\143\056\061\034\060\032 -\006\003\125\004\003\023\023\123\145\143\165\162\145\123\151\147 -\156\040\122\157\157\164\103\101\061\061 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\001 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\155\060\202\002\125\240\003\002\001\002\002\001\001 -\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 -\130\061\013\060\011\006\003\125\004\006\023\002\112\120\061\053 -\060\051\006\003\125\004\012\023\042\112\141\160\141\156\040\103 -\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145\162 -\166\151\143\145\163\054\040\111\156\143\056\061\034\060\032\006 -\003\125\004\003\023\023\123\145\143\165\162\145\123\151\147\156 -\040\122\157\157\164\103\101\061\061\060\036\027\015\060\071\060 -\064\060\070\060\064\065\066\064\067\132\027\015\062\071\060\064 -\060\070\060\064\065\066\064\067\132\060\130\061\013\060\011\006 -\003\125\004\006\023\002\112\120\061\053\060\051\006\003\125\004 -\012\023\042\112\141\160\141\156\040\103\145\162\164\151\146\151 -\143\141\164\151\157\156\040\123\145\162\166\151\143\145\163\054 -\040\111\156\143\056\061\034\060\032\006\003\125\004\003\023\023 -\123\145\143\165\162\145\123\151\147\156\040\122\157\157\164\103 -\101\061\061\060\202\001\042\060\015\006\011\052\206\110\206\367 -\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002 -\202\001\001\000\375\167\252\245\034\220\005\073\313\114\233\063 -\213\132\024\105\244\347\220\026\321\337\127\322\041\020\244\027 -\375\337\254\326\037\247\344\333\174\367\354\337\270\003\332\224 -\130\375\135\162\174\214\077\137\001\147\164\025\226\343\002\074 -\207\333\256\313\001\216\302\363\146\306\205\105\364\002\306\072 -\265\142\262\257\372\234\277\244\346\324\200\060\230\363\015\266 -\223\217\251\324\330\066\362\260\374\212\312\054\241\025\063\225 -\061\332\300\033\362\356\142\231\206\143\077\277\335\223\052\203 -\250\166\271\023\037\267\316\116\102\205\217\042\347\056\032\362 -\225\011\262\005\265\104\116\167\241\040\275\251\362\116\012\175 -\120\255\365\005\015\105\117\106\161\375\050\076\123\373\004\330 -\055\327\145\035\112\033\372\317\073\260\061\232\065\156\310\213 -\006\323\000\221\362\224\010\145\114\261\064\006\000\172\211\342 -\360\307\003\131\317\325\326\350\247\062\263\346\230\100\206\305 -\315\047\022\213\314\173\316\267\021\074\142\140\007\043\076\053 -\100\156\224\200\011\155\266\263\157\167\157\065\010\120\373\002 -\207\305\076\211\002\003\001\000\001\243\102\060\100\060\035\006 -\003\125\035\016\004\026\004\024\133\370\115\117\262\245\206\324 -\072\322\361\143\232\240\276\011\366\127\267\336\060\016\006\003 -\125\035\017\001\001\377\004\004\003\002\001\006\060\017\006\003 -\125\035\023\001\001\377\004\005\060\003\001\001\377\060\015\006 -\011\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001 -\000\240\241\070\026\146\056\247\126\037\041\234\006\372\035\355 -\271\042\305\070\046\330\116\117\354\243\177\171\336\106\041\241 -\207\167\217\007\010\232\262\244\305\257\017\062\230\013\174\146 -\051\266\233\175\045\122\111\103\253\114\056\053\156\172\160\257 -\026\016\343\002\154\373\102\346\030\235\105\330\125\310\350\073 -\335\347\341\364\056\013\034\064\134\154\130\112\373\214\210\120 -\137\225\034\277\355\253\042\265\145\263\205\272\236\017\270\255 -\345\172\033\212\120\072\035\275\015\274\173\124\120\013\271\102 -\257\125\240\030\201\255\145\231\357\276\344\234\277\304\205\253 -\101\262\124\157\334\045\315\355\170\342\216\014\215\011\111\335 -\143\173\132\151\226\002\041\250\275\122\131\351\175\065\313\310 -\122\312\177\201\376\331\153\323\367\021\355\045\337\370\347\371 -\244\372\162\227\204\123\015\245\320\062\030\121\166\131\024\154 -\017\353\354\137\200\214\165\103\203\303\205\230\377\114\236\055 -\015\344\167\203\223\116\265\226\007\213\050\023\233\214\031\215 -\101\047\111\100\356\336\346\043\104\071\334\241\042\326\272\003 -\362 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "SecureSign RootCA11" -# Issuer: CN=SecureSign RootCA11,O="Japan Certification Services, Inc.",C=JP -# Serial Number: 1 (0x1) -# Subject: CN=SecureSign RootCA11,O="Japan Certification Services, Inc.",C=JP -# Not Valid Before: Wed Apr 08 04:56:47 2009 -# Not Valid After : Sun Apr 08 04:56:47 2029 -# Fingerprint (MD5): B7:52:74:E2:92:B4:80:93:F2:75:E4:CC:D7:F2:EA:26 -# Fingerprint (SHA1): 3B:C4:9F:48:F8:F3:73:A0:9C:1E:BD:F8:5B:B1:C3:65:C7:D8:11:B3 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "SecureSign RootCA11" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\073\304\237\110\370\363\163\240\234\036\275\370\133\261\303\145 -\307\330\021\263 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\267\122\164\342\222\264\200\223\362\165\344\314\327\362\352\046 -END -CKA_ISSUER MULTILINE_OCTAL -\060\130\061\013\060\011\006\003\125\004\006\023\002\112\120\061 -\053\060\051\006\003\125\004\012\023\042\112\141\160\141\156\040 -\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145 -\162\166\151\143\145\163\054\040\111\156\143\056\061\034\060\032 -\006\003\125\004\003\023\023\123\145\143\165\162\145\123\151\147 -\156\040\122\157\157\164\103\101\061\061 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\001 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Microsec e-Szigno Root CA 2009" -# -# Issuer: E=info@e-szigno.hu,CN=Microsec e-Szigno Root CA 2009,O=Microsec Ltd.,L=Budapest,C=HU -# Serial Number:00:c2:7e:43:04:4e:47:3f:19 -# Subject: E=info@e-szigno.hu,CN=Microsec e-Szigno Root CA 2009,O=Microsec Ltd.,L=Budapest,C=HU -# Not Valid Before: Tue Jun 16 11:30:18 2009 -# Not Valid After : Sun Dec 30 11:30:18 2029 -# Fingerprint (MD5): F8:49:F4:03:BC:44:2D:83:BE:48:69:7D:29:64:FC:B1 -# Fingerprint (SHA1): 89:DF:74:FE:5C:F4:0F:4A:80:F9:E3:37:7D:54:DA:91:E1:01:31:8E -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Microsec e-Szigno Root CA 2009" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\202\061\013\060\011\006\003\125\004\006\023\002\110\125 -\061\021\060\017\006\003\125\004\007\014\010\102\165\144\141\160 -\145\163\164\061\026\060\024\006\003\125\004\012\014\015\115\151 -\143\162\157\163\145\143\040\114\164\144\056\061\047\060\045\006 -\003\125\004\003\014\036\115\151\143\162\157\163\145\143\040\145 -\055\123\172\151\147\156\157\040\122\157\157\164\040\103\101\040 -\062\060\060\071\061\037\060\035\006\011\052\206\110\206\367\015 -\001\011\001\026\020\151\156\146\157\100\145\055\163\172\151\147 -\156\157\056\150\165 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\202\061\013\060\011\006\003\125\004\006\023\002\110\125 -\061\021\060\017\006\003\125\004\007\014\010\102\165\144\141\160 -\145\163\164\061\026\060\024\006\003\125\004\012\014\015\115\151 -\143\162\157\163\145\143\040\114\164\144\056\061\047\060\045\006 -\003\125\004\003\014\036\115\151\143\162\157\163\145\143\040\145 -\055\123\172\151\147\156\157\040\122\157\157\164\040\103\101\040 -\062\060\060\071\061\037\060\035\006\011\052\206\110\206\367\015 -\001\011\001\026\020\151\156\146\157\100\145\055\163\172\151\147 -\156\157\056\150\165 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\011\000\302\176\103\004\116\107\077\031 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\012\060\202\002\362\240\003\002\001\002\002\011\000 -\302\176\103\004\116\107\077\031\060\015\006\011\052\206\110\206 -\367\015\001\001\013\005\000\060\201\202\061\013\060\011\006\003 -\125\004\006\023\002\110\125\061\021\060\017\006\003\125\004\007 -\014\010\102\165\144\141\160\145\163\164\061\026\060\024\006\003 -\125\004\012\014\015\115\151\143\162\157\163\145\143\040\114\164 -\144\056\061\047\060\045\006\003\125\004\003\014\036\115\151\143 -\162\157\163\145\143\040\145\055\123\172\151\147\156\157\040\122 -\157\157\164\040\103\101\040\062\060\060\071\061\037\060\035\006 -\011\052\206\110\206\367\015\001\011\001\026\020\151\156\146\157 -\100\145\055\163\172\151\147\156\157\056\150\165\060\036\027\015 -\060\071\060\066\061\066\061\061\063\060\061\070\132\027\015\062 -\071\061\062\063\060\061\061\063\060\061\070\132\060\201\202\061 -\013\060\011\006\003\125\004\006\023\002\110\125\061\021\060\017 -\006\003\125\004\007\014\010\102\165\144\141\160\145\163\164\061 -\026\060\024\006\003\125\004\012\014\015\115\151\143\162\157\163 -\145\143\040\114\164\144\056\061\047\060\045\006\003\125\004\003 -\014\036\115\151\143\162\157\163\145\143\040\145\055\123\172\151 -\147\156\157\040\122\157\157\164\040\103\101\040\062\060\060\071 -\061\037\060\035\006\011\052\206\110\206\367\015\001\011\001\026 -\020\151\156\146\157\100\145\055\163\172\151\147\156\157\056\150 -\165\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001 -\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001 -\001\000\351\370\217\363\143\255\332\206\330\247\340\102\373\317 -\221\336\246\046\370\231\245\143\160\255\233\256\312\063\100\175 -\155\226\156\241\016\104\356\341\023\235\224\102\122\232\275\165 -\205\164\054\250\016\035\223\266\030\267\214\054\250\317\373\134 -\161\271\332\354\376\350\176\217\344\057\035\262\250\165\207\330 -\267\241\345\073\317\231\112\106\320\203\031\175\300\241\022\034 -\225\155\112\364\330\307\245\115\063\056\205\071\100\165\176\024 -\174\200\022\230\120\307\101\147\270\240\200\141\124\246\154\116 -\037\340\235\016\007\351\311\272\063\347\376\300\125\050\054\002 -\200\247\031\365\236\334\125\123\003\227\173\007\110\377\231\373 -\067\212\044\304\131\314\120\020\143\216\252\251\032\260\204\032 -\206\371\137\273\261\120\156\244\321\012\314\325\161\176\037\247 -\033\174\365\123\156\042\137\313\053\346\324\174\135\256\326\302 -\306\114\345\005\001\331\355\127\374\301\043\171\374\372\310\044 -\203\225\363\265\152\121\001\320\167\326\351\022\241\371\032\203 -\373\202\033\271\260\227\364\166\006\063\103\111\240\377\013\265 -\372\265\002\003\001\000\001\243\201\200\060\176\060\017\006\003 -\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006 -\003\125\035\017\001\001\377\004\004\003\002\001\006\060\035\006 -\003\125\035\016\004\026\004\024\313\017\306\337\102\103\314\075 -\313\265\110\043\241\032\172\246\052\273\064\150\060\037\006\003 -\125\035\043\004\030\060\026\200\024\313\017\306\337\102\103\314 -\075\313\265\110\043\241\032\172\246\052\273\064\150\060\033\006 -\003\125\035\021\004\024\060\022\201\020\151\156\146\157\100\145 -\055\163\172\151\147\156\157\056\150\165\060\015\006\011\052\206 -\110\206\367\015\001\001\013\005\000\003\202\001\001\000\311\321 -\016\136\056\325\314\263\174\076\313\374\075\377\015\050\225\223 -\004\310\277\332\315\171\270\103\220\360\244\276\357\362\357\041 -\230\274\324\324\135\006\366\356\102\354\060\154\240\252\251\312 -\361\257\212\372\077\013\163\152\076\352\056\100\176\037\256\124 -\141\171\353\056\010\067\327\043\363\214\237\276\035\261\341\244 -\165\333\240\342\124\024\261\272\034\051\244\030\366\022\272\242 -\024\024\343\061\065\310\100\377\267\340\005\166\127\301\034\131 -\362\370\277\344\355\045\142\134\204\360\176\176\037\263\276\371 -\267\041\021\314\003\001\126\160\247\020\222\036\033\064\201\036 -\255\234\032\303\004\074\355\002\141\326\036\006\363\137\072\207 -\362\053\361\105\207\345\075\254\321\307\127\204\275\153\256\334 -\330\371\266\033\142\160\013\075\066\311\102\362\062\327\172\141 -\346\322\333\075\317\310\251\311\233\334\333\130\104\327\157\070 -\257\177\170\323\243\255\032\165\272\034\301\066\174\217\036\155 -\034\303\165\106\256\065\005\246\366\134\075\041\356\126\360\311 -\202\042\055\172\124\253\160\303\175\042\145\202\160\226 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "Microsec e-Szigno Root CA 2009" -# Issuer: E=info@e-szigno.hu,CN=Microsec e-Szigno Root CA 2009,O=Microsec Ltd.,L=Budapest,C=HU -# Serial Number:00:c2:7e:43:04:4e:47:3f:19 -# Subject: E=info@e-szigno.hu,CN=Microsec e-Szigno Root CA 2009,O=Microsec Ltd.,L=Budapest,C=HU -# Not Valid Before: Tue Jun 16 11:30:18 2009 -# Not Valid After : Sun Dec 30 11:30:18 2029 -# Fingerprint (MD5): F8:49:F4:03:BC:44:2D:83:BE:48:69:7D:29:64:FC:B1 -# Fingerprint (SHA1): 89:DF:74:FE:5C:F4:0F:4A:80:F9:E3:37:7D:54:DA:91:E1:01:31:8E -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Microsec e-Szigno Root CA 2009" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\211\337\164\376\134\364\017\112\200\371\343\067\175\124\332\221 -\341\001\061\216 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\370\111\364\003\274\104\055\203\276\110\151\175\051\144\374\261 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\202\061\013\060\011\006\003\125\004\006\023\002\110\125 -\061\021\060\017\006\003\125\004\007\014\010\102\165\144\141\160 -\145\163\164\061\026\060\024\006\003\125\004\012\014\015\115\151 -\143\162\157\163\145\143\040\114\164\144\056\061\047\060\045\006 -\003\125\004\003\014\036\115\151\143\162\157\163\145\143\040\145 -\055\123\172\151\147\156\157\040\122\157\157\164\040\103\101\040 -\062\060\060\071\061\037\060\035\006\011\052\206\110\206\367\015 -\001\011\001\026\020\151\156\146\157\100\145\055\163\172\151\147 -\156\157\056\150\165 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\011\000\302\176\103\004\116\107\077\031 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "GlobalSign Root CA - R3" -# -# Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R3 -# Serial Number:04:00:00:00:00:01:21:58:53:08:a2 -# Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R3 -# Not Valid Before: Wed Mar 18 10:00:00 2009 -# Not Valid After : Sun Mar 18 10:00:00 2029 -# Fingerprint (MD5): C5:DF:B8:49:CA:05:13:55:EE:2D:BA:1A:C3:3E:B0:28 -# Fingerprint (SHA1): D6:9B:56:11:48:F0:1C:77:C5:45:78:C1:09:26:DF:5B:85:69:76:AD -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GlobalSign Root CA - R3" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157 -\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040 -\055\040\122\063\061\023\060\021\006\003\125\004\012\023\012\107 -\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125 -\004\003\023\012\107\154\157\142\141\154\123\151\147\156 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157 -\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040 -\055\040\122\063\061\023\060\021\006\003\125\004\012\023\012\107 -\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125 -\004\003\023\012\107\154\157\142\141\154\123\151\147\156 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\013\004\000\000\000\000\001\041\130\123\010\242 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\137\060\202\002\107\240\003\002\001\002\002\013\004 -\000\000\000\000\001\041\130\123\010\242\060\015\006\011\052\206 -\110\206\367\015\001\001\013\005\000\060\114\061\040\060\036\006 -\003\125\004\013\023\027\107\154\157\142\141\154\123\151\147\156 -\040\122\157\157\164\040\103\101\040\055\040\122\063\061\023\060 -\021\006\003\125\004\012\023\012\107\154\157\142\141\154\123\151 -\147\156\061\023\060\021\006\003\125\004\003\023\012\107\154\157 -\142\141\154\123\151\147\156\060\036\027\015\060\071\060\063\061 -\070\061\060\060\060\060\060\132\027\015\062\071\060\063\061\070 -\061\060\060\060\060\060\132\060\114\061\040\060\036\006\003\125 -\004\013\023\027\107\154\157\142\141\154\123\151\147\156\040\122 -\157\157\164\040\103\101\040\055\040\122\063\061\023\060\021\006 -\003\125\004\012\023\012\107\154\157\142\141\154\123\151\147\156 -\061\023\060\021\006\003\125\004\003\023\012\107\154\157\142\141 -\154\123\151\147\156\060\202\001\042\060\015\006\011\052\206\110 -\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001 -\012\002\202\001\001\000\314\045\166\220\171\006\170\042\026\365 -\300\203\266\204\312\050\236\375\005\166\021\305\255\210\162\374 -\106\002\103\307\262\212\235\004\137\044\313\056\113\341\140\202 -\106\341\122\253\014\201\107\160\154\335\144\321\353\365\054\243 -\017\202\075\014\053\256\227\327\266\024\206\020\171\273\073\023 -\200\167\214\010\341\111\322\152\142\057\037\136\372\226\150\337 -\211\047\225\070\237\006\327\076\311\313\046\131\015\163\336\260 -\310\351\046\016\203\025\306\357\133\213\322\004\140\312\111\246 -\050\366\151\073\366\313\310\050\221\345\235\212\141\127\067\254 -\164\024\334\164\340\072\356\162\057\056\234\373\320\273\277\365 -\075\000\341\006\063\350\202\053\256\123\246\072\026\163\214\335 -\101\016\040\072\300\264\247\241\351\262\117\220\056\062\140\351 -\127\313\271\004\222\150\150\345\070\046\140\165\262\237\167\377 -\221\024\357\256\040\111\374\255\100\025\110\321\002\061\141\031 -\136\270\227\357\255\167\267\144\232\172\277\137\301\023\357\233 -\142\373\015\154\340\124\151\026\251\003\332\156\351\203\223\161 -\166\306\151\205\202\027\002\003\001\000\001\243\102\060\100\060 -\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060 -\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377 -\060\035\006\003\125\035\016\004\026\004\024\217\360\113\177\250 -\056\105\044\256\115\120\372\143\232\213\336\342\335\033\274\060 -\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202 -\001\001\000\113\100\333\300\120\252\376\310\014\357\367\226\124 -\105\111\273\226\000\011\101\254\263\023\206\206\050\007\063\312 -\153\346\164\271\272\000\055\256\244\012\323\365\361\361\017\212 -\277\163\147\112\203\307\104\173\170\340\257\156\154\157\003\051 -\216\063\071\105\303\216\344\271\127\154\252\374\022\226\354\123 -\306\055\344\044\154\271\224\143\373\334\123\150\147\126\076\203 -\270\317\065\041\303\311\150\376\316\332\302\123\252\314\220\212 -\351\360\135\106\214\225\335\172\130\050\032\057\035\336\315\000 -\067\101\217\355\104\155\327\123\050\227\176\363\147\004\036\025 -\327\212\226\264\323\336\114\047\244\114\033\163\163\166\364\027 -\231\302\037\172\016\343\055\010\255\012\034\054\377\074\253\125 -\016\017\221\176\066\353\303\127\111\276\341\056\055\174\140\213 -\303\101\121\023\043\235\316\367\062\153\224\001\250\231\347\054 -\063\037\072\073\045\322\206\100\316\073\054\206\170\311\141\057 -\024\272\356\333\125\157\337\204\356\005\011\115\275\050\330\162 -\316\323\142\120\145\036\353\222\227\203\061\331\263\265\312\107 -\130\077\137 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "GlobalSign Root CA - R3" -# Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R3 -# Serial Number:04:00:00:00:00:01:21:58:53:08:a2 -# Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R3 -# Not Valid Before: Wed Mar 18 10:00:00 2009 -# Not Valid After : Sun Mar 18 10:00:00 2029 -# Fingerprint (MD5): C5:DF:B8:49:CA:05:13:55:EE:2D:BA:1A:C3:3E:B0:28 -# Fingerprint (SHA1): D6:9B:56:11:48:F0:1C:77:C5:45:78:C1:09:26:DF:5B:85:69:76:AD -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GlobalSign Root CA - R3" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\326\233\126\021\110\360\034\167\305\105\170\301\011\046\337\133 -\205\151\166\255 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\305\337\270\111\312\005\023\125\356\055\272\032\303\076\260\050 -END -CKA_ISSUER MULTILINE_OCTAL -\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157 -\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040 -\055\040\122\063\061\023\060\021\006\003\125\004\012\023\012\107 -\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125 -\004\003\023\012\107\154\157\142\141\154\123\151\147\156 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\013\004\000\000\000\000\001\041\130\123\010\242 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Autoridad de Certificacion Firmaprofesional CIF A62634068" -# -# Issuer: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068,C=ES -# Serial Number:53:ec:3b:ee:fb:b2:48:5f -# Subject: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068,C=ES -# Not Valid Before: Wed May 20 08:38:15 2009 -# Not Valid After : Tue Dec 31 08:38:15 2030 -# Fingerprint (MD5): 73:3A:74:7A:EC:BB:A3:96:A6:C2:E4:E2:C8:9B:C0:C3 -# Fingerprint (SHA1): AE:C5:FB:3F:C8:E1:BF:C4:E5:4F:03:07:5A:9A:E8:00:B7:F7:B6:FA -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Autoridad de Certificacion Firmaprofesional CIF A62634068" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\121\061\013\060\011\006\003\125\004\006\023\002\105\123\061 -\102\060\100\006\003\125\004\003\014\071\101\165\164\157\162\151 -\144\141\144\040\144\145\040\103\145\162\164\151\146\151\143\141 -\143\151\157\156\040\106\151\162\155\141\160\162\157\146\145\163 -\151\157\156\141\154\040\103\111\106\040\101\066\062\066\063\064 -\060\066\070 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\121\061\013\060\011\006\003\125\004\006\023\002\105\123\061 -\102\060\100\006\003\125\004\003\014\071\101\165\164\157\162\151 -\144\141\144\040\144\145\040\103\145\162\164\151\146\151\143\141 -\143\151\157\156\040\106\151\162\155\141\160\162\157\146\145\163 -\151\157\156\141\154\040\103\111\106\040\101\066\062\066\063\064 -\060\066\070 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\010\123\354\073\356\373\262\110\137 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\006\024\060\202\003\374\240\003\002\001\002\002\010\123 -\354\073\356\373\262\110\137\060\015\006\011\052\206\110\206\367 -\015\001\001\005\005\000\060\121\061\013\060\011\006\003\125\004 -\006\023\002\105\123\061\102\060\100\006\003\125\004\003\014\071 -\101\165\164\157\162\151\144\141\144\040\144\145\040\103\145\162 -\164\151\146\151\143\141\143\151\157\156\040\106\151\162\155\141 -\160\162\157\146\145\163\151\157\156\141\154\040\103\111\106\040 -\101\066\062\066\063\064\060\066\070\060\036\027\015\060\071\060 -\065\062\060\060\070\063\070\061\065\132\027\015\063\060\061\062 -\063\061\060\070\063\070\061\065\132\060\121\061\013\060\011\006 -\003\125\004\006\023\002\105\123\061\102\060\100\006\003\125\004 -\003\014\071\101\165\164\157\162\151\144\141\144\040\144\145\040 -\103\145\162\164\151\146\151\143\141\143\151\157\156\040\106\151 -\162\155\141\160\162\157\146\145\163\151\157\156\141\154\040\103 -\111\106\040\101\066\062\066\063\064\060\066\070\060\202\002\042 -\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003 -\202\002\017\000\060\202\002\012\002\202\002\001\000\312\226\153 -\216\352\370\373\361\242\065\340\177\114\332\340\303\122\327\175 -\266\020\310\002\136\263\103\052\304\117\152\262\312\034\135\050 -\232\170\021\032\151\131\127\257\265\040\102\344\213\017\346\337 -\133\246\003\222\057\365\021\344\142\327\062\161\070\331\004\014 -\161\253\075\121\176\017\007\337\143\005\134\351\277\224\157\301 -\051\202\300\264\332\121\260\301\074\273\255\067\112\134\312\361 -\113\066\016\044\253\277\303\204\167\375\250\120\364\261\347\306 -\057\322\055\131\215\172\012\116\226\151\122\002\252\066\230\354 -\374\372\024\203\014\067\037\311\222\067\177\327\201\055\345\304 -\271\340\076\064\376\147\364\076\146\321\323\364\100\317\136\142 -\064\017\160\006\076\040\030\132\316\367\162\033\045\154\223\164 -\024\223\243\163\261\016\252\207\020\043\131\137\040\005\031\107 -\355\150\216\222\022\312\135\374\326\053\262\222\074\040\317\341 -\137\257\040\276\240\166\177\166\345\354\032\206\141\063\076\347 -\173\264\077\240\017\216\242\271\152\157\271\207\046\157\101\154 -\210\246\120\375\152\143\013\365\223\026\033\031\217\262\355\233 -\233\311\220\365\001\014\337\031\075\017\076\070\043\311\057\217 -\014\321\002\376\033\125\326\116\320\215\074\257\117\244\363\376 -\257\052\323\005\235\171\010\241\313\127\061\264\234\310\220\262 -\147\364\030\026\223\072\374\107\330\321\170\226\061\037\272\053 -\014\137\135\231\255\143\211\132\044\040\166\330\337\375\253\116 -\246\042\252\235\136\346\047\212\175\150\051\243\347\212\270\332 -\021\273\027\055\231\235\023\044\106\367\305\342\330\237\216\177 -\307\217\164\155\132\262\350\162\365\254\356\044\020\255\057\024 -\332\377\055\232\106\161\107\276\102\337\273\001\333\364\177\323 -\050\217\061\131\133\323\311\002\246\264\122\312\156\227\373\103 -\305\010\046\157\212\364\273\375\237\050\252\015\325\105\363\023 -\072\035\330\300\170\217\101\147\074\036\224\144\256\173\013\305 -\350\331\001\210\071\032\227\206\144\101\325\073\207\014\156\372 -\017\306\275\110\024\277\071\115\324\236\101\266\217\226\035\143 -\226\223\331\225\006\170\061\150\236\067\006\073\200\211\105\141 -\071\043\307\033\104\243\025\345\034\370\222\060\273\002\003\001 -\000\001\243\201\357\060\201\354\060\022\006\003\125\035\023\001 -\001\377\004\010\060\006\001\001\377\002\001\001\060\016\006\003 -\125\035\017\001\001\377\004\004\003\002\001\006\060\035\006\003 -\125\035\016\004\026\004\024\145\315\353\253\065\036\000\076\176 -\325\164\300\034\264\163\107\016\032\144\057\060\201\246\006\003 -\125\035\040\004\201\236\060\201\233\060\201\230\006\004\125\035 -\040\000\060\201\217\060\057\006\010\053\006\001\005\005\007\002 -\001\026\043\150\164\164\160\072\057\057\167\167\167\056\146\151 -\162\155\141\160\162\157\146\145\163\151\157\156\141\154\056\143 -\157\155\057\143\160\163\060\134\006\010\053\006\001\005\005\007 -\002\002\060\120\036\116\000\120\000\141\000\163\000\145\000\157 -\000\040\000\144\000\145\000\040\000\154\000\141\000\040\000\102 -\000\157\000\156\000\141\000\156\000\157\000\166\000\141\000\040 -\000\064\000\067\000\040\000\102\000\141\000\162\000\143\000\145 -\000\154\000\157\000\156\000\141\000\040\000\060\000\070\000\060 -\000\061\000\067\060\015\006\011\052\206\110\206\367\015\001\001 -\005\005\000\003\202\002\001\000\027\175\240\371\264\335\305\305 -\353\255\113\044\265\241\002\253\335\245\210\112\262\017\125\113 -\053\127\214\073\345\061\335\376\304\062\361\347\133\144\226\066 -\062\030\354\245\062\167\327\343\104\266\300\021\052\200\271\075 -\152\156\174\233\323\255\374\303\326\243\346\144\051\174\321\341 -\070\036\202\053\377\047\145\257\373\026\025\304\056\161\204\345 -\265\377\372\244\107\275\144\062\273\366\045\204\242\047\102\365 -\040\260\302\023\020\021\315\020\025\272\102\220\052\322\104\341 -\226\046\353\061\110\022\375\052\332\311\006\317\164\036\251\113 -\325\207\050\371\171\064\222\076\056\104\350\366\217\117\217\065 -\077\045\263\071\334\143\052\220\153\040\137\304\122\022\116\227 -\054\052\254\235\227\336\110\362\243\146\333\302\322\203\225\246 -\146\247\236\045\017\351\013\063\221\145\012\132\303\331\124\022 -\335\257\303\116\016\037\046\136\015\334\263\215\354\325\201\160 -\336\322\117\044\005\363\154\116\365\114\111\146\215\321\377\322 -\013\045\101\110\376\121\204\306\102\257\200\004\317\320\176\144 -\111\344\362\337\242\354\261\114\300\052\035\347\264\261\145\242 -\304\274\361\230\364\252\160\007\143\264\270\332\073\114\372\100 -\042\060\133\021\246\360\005\016\306\002\003\110\253\206\233\205 -\335\333\335\352\242\166\200\163\175\365\234\004\304\105\215\347 -\271\034\213\236\352\327\165\321\162\261\336\165\104\347\102\175 -\342\127\153\175\334\231\274\075\203\050\352\200\223\215\305\114 -\145\301\160\201\270\070\374\103\061\262\366\003\064\107\262\254 -\373\042\006\313\036\335\027\107\034\137\146\271\323\032\242\332 -\021\261\244\274\043\311\344\276\207\377\271\224\266\370\135\040 -\112\324\137\347\275\150\173\145\362\025\036\322\072\251\055\351 -\330\153\044\254\227\130\104\107\255\131\030\361\041\145\160\336 -\316\064\140\250\100\361\363\074\244\303\050\043\214\376\047\063 -\103\100\240\027\074\353\352\073\260\162\246\243\271\112\113\136 -\026\110\364\262\274\310\214\222\305\235\237\254\162\066\274\064 -\200\064\153\251\213\222\300\270\027\355\354\166\123\365\044\001 -\214\263\042\350\113\174\125\306\235\372\243\024\273\145\205\156 -\156\117\022\176\012\074\235\225 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "Autoridad de Certificacion Firmaprofesional CIF A62634068" -# Issuer: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068,C=ES -# Serial Number:53:ec:3b:ee:fb:b2:48:5f -# Subject: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068,C=ES -# Not Valid Before: Wed May 20 08:38:15 2009 -# Not Valid After : Tue Dec 31 08:38:15 2030 -# Fingerprint (MD5): 73:3A:74:7A:EC:BB:A3:96:A6:C2:E4:E2:C8:9B:C0:C3 -# Fingerprint (SHA1): AE:C5:FB:3F:C8:E1:BF:C4:E5:4F:03:07:5A:9A:E8:00:B7:F7:B6:FA -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Autoridad de Certificacion Firmaprofesional CIF A62634068" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\256\305\373\077\310\341\277\304\345\117\003\007\132\232\350\000 -\267\367\266\372 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\163\072\164\172\354\273\243\226\246\302\344\342\310\233\300\303 -END -CKA_ISSUER MULTILINE_OCTAL -\060\121\061\013\060\011\006\003\125\004\006\023\002\105\123\061 -\102\060\100\006\003\125\004\003\014\071\101\165\164\157\162\151 -\144\141\144\040\144\145\040\103\145\162\164\151\146\151\143\141 -\143\151\157\156\040\106\151\162\155\141\160\162\157\146\145\163 -\151\157\156\141\154\040\103\111\106\040\101\066\062\066\063\064 -\060\066\070 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\010\123\354\073\356\373\262\110\137 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Izenpe.com" -# -# Issuer: CN=Izenpe.com,O=IZENPE S.A.,C=ES -# Serial Number:00:b0:b7:5a:16:48:5f:bf:e1:cb:f5:8b:d7:19:e6:7d -# Subject: CN=Izenpe.com,O=IZENPE S.A.,C=ES -# Not Valid Before: Thu Dec 13 13:08:28 2007 -# Not Valid After : Sun Dec 13 08:27:25 2037 -# Fingerprint (MD5): A6:B0:CD:85:80:DA:5C:50:34:A3:39:90:2F:55:67:73 -# Fingerprint (SHA1): 2F:78:3D:25:52:18:A7:4A:65:39:71:B5:2C:A2:9C:45:15:6F:E9:19 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Izenpe.com" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\070\061\013\060\011\006\003\125\004\006\023\002\105\123\061 -\024\060\022\006\003\125\004\012\014\013\111\132\105\116\120\105 -\040\123\056\101\056\061\023\060\021\006\003\125\004\003\014\012 -\111\172\145\156\160\145\056\143\157\155 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\070\061\013\060\011\006\003\125\004\006\023\002\105\123\061 -\024\060\022\006\003\125\004\012\014\013\111\132\105\116\120\105 -\040\123\056\101\056\061\023\060\021\006\003\125\004\003\014\012 -\111\172\145\156\160\145\056\143\157\155 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\000\260\267\132\026\110\137\277\341\313\365\213\327\031 -\346\175 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\361\060\202\003\331\240\003\002\001\002\002\020\000 -\260\267\132\026\110\137\277\341\313\365\213\327\031\346\175\060 -\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\070 -\061\013\060\011\006\003\125\004\006\023\002\105\123\061\024\060 -\022\006\003\125\004\012\014\013\111\132\105\116\120\105\040\123 -\056\101\056\061\023\060\021\006\003\125\004\003\014\012\111\172 -\145\156\160\145\056\143\157\155\060\036\027\015\060\067\061\062 -\061\063\061\063\060\070\062\070\132\027\015\063\067\061\062\061 -\063\060\070\062\067\062\065\132\060\070\061\013\060\011\006\003 -\125\004\006\023\002\105\123\061\024\060\022\006\003\125\004\012 -\014\013\111\132\105\116\120\105\040\123\056\101\056\061\023\060 -\021\006\003\125\004\003\014\012\111\172\145\156\160\145\056\143 -\157\155\060\202\002\042\060\015\006\011\052\206\110\206\367\015 -\001\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202 -\002\001\000\311\323\172\312\017\036\254\247\206\350\026\145\152 -\261\302\033\105\062\161\225\331\376\020\133\314\257\347\245\171 -\001\217\211\303\312\362\125\161\367\167\276\167\224\363\162\244 -\054\104\330\236\222\233\024\072\241\347\044\220\012\012\126\216 -\305\330\046\224\341\331\110\341\055\076\332\012\162\335\243\231 -\025\332\201\242\207\364\173\156\046\167\211\130\255\326\353\014 -\262\101\172\163\156\155\333\172\170\101\351\010\210\022\176\207 -\056\146\021\143\154\124\373\074\235\162\300\274\056\377\302\267 -\335\015\166\343\072\327\367\264\150\276\242\365\343\201\156\301 -\106\157\135\215\340\115\306\124\125\211\032\063\061\012\261\127 -\271\243\212\230\303\354\073\064\305\225\101\151\176\165\302\074 -\040\305\141\272\121\107\240\040\220\223\241\220\113\363\116\174 -\205\105\124\232\321\005\046\101\260\265\115\035\063\276\304\003 -\310\045\174\301\160\333\073\364\011\055\124\047\110\254\057\341 -\304\254\076\310\313\222\114\123\071\067\043\354\323\001\371\340 -\011\104\115\115\144\300\341\015\132\207\042\274\255\033\243\376 -\046\265\025\363\247\374\204\031\351\354\241\210\264\104\151\204 -\203\363\211\321\164\006\251\314\013\326\302\336\047\205\120\046 -\312\027\270\311\172\207\126\054\032\001\036\154\276\023\255\020 -\254\265\044\365\070\221\241\326\113\332\361\273\322\336\107\265 -\361\274\201\366\131\153\317\031\123\351\215\025\313\112\313\251 -\157\104\345\033\101\317\341\206\247\312\320\152\237\274\114\215 -\006\063\132\242\205\345\220\065\240\142\134\026\116\360\343\242 -\372\003\032\264\054\161\263\130\054\336\173\013\333\032\017\353 -\336\041\037\006\167\006\003\260\311\357\231\374\300\271\117\013 -\206\050\376\322\271\352\343\332\245\303\107\151\022\340\333\360 -\366\031\213\355\173\160\327\002\326\355\207\030\050\054\004\044 -\114\167\344\110\212\032\306\073\232\324\017\312\372\165\322\001 -\100\132\215\171\277\213\317\113\317\252\026\301\225\344\255\114 -\212\076\027\221\324\261\142\345\202\345\200\004\244\003\176\215 -\277\332\177\242\017\227\117\014\323\015\373\327\321\345\162\176 -\034\310\167\377\133\232\017\267\256\005\106\345\361\250\026\354 -\107\244\027\002\003\001\000\001\243\201\366\060\201\363\060\201 -\260\006\003\125\035\021\004\201\250\060\201\245\201\017\151\156 -\146\157\100\151\172\145\156\160\145\056\143\157\155\244\201\221 -\060\201\216\061\107\060\105\006\003\125\004\012\014\076\111\132 -\105\116\120\105\040\123\056\101\056\040\055\040\103\111\106\040 -\101\060\061\063\063\067\062\066\060\055\122\115\145\162\143\056 -\126\151\164\157\162\151\141\055\107\141\163\164\145\151\172\040 -\124\061\060\065\065\040\106\066\062\040\123\070\061\103\060\101 -\006\003\125\004\011\014\072\101\166\144\141\040\144\145\154\040 -\115\145\144\151\164\145\162\162\141\156\145\157\040\105\164\157 -\162\142\151\144\145\141\040\061\064\040\055\040\060\061\060\061 -\060\040\126\151\164\157\162\151\141\055\107\141\163\164\145\151 -\172\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001 -\001\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002 -\001\006\060\035\006\003\125\035\016\004\026\004\024\035\034\145 -\016\250\362\045\173\264\221\317\344\261\261\346\275\125\164\154 -\005\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000 -\003\202\002\001\000\170\246\014\026\112\237\114\210\072\300\313 -\016\245\026\175\237\271\110\137\030\217\015\142\066\366\315\031 -\153\254\253\325\366\221\175\256\161\363\077\263\016\170\205\233 -\225\244\047\041\107\102\112\174\110\072\365\105\174\263\014\216 -\121\170\254\225\023\336\306\375\175\270\032\220\114\253\222\003 -\307\355\102\001\316\017\330\261\372\242\222\341\140\155\256\172 -\153\011\252\306\051\356\150\111\147\060\200\044\172\061\026\071 -\133\176\361\034\056\335\154\011\255\362\061\301\202\116\271\273 -\371\276\277\052\205\077\300\100\243\072\131\374\131\113\074\050 -\044\333\264\025\165\256\015\210\272\056\163\300\275\130\207\345 -\102\362\353\136\356\036\060\042\231\313\067\321\304\041\154\201 -\354\276\155\046\346\034\344\102\040\236\107\260\254\203\131\160 -\054\065\326\257\066\064\264\315\073\370\062\250\357\343\170\211 -\373\215\105\054\332\234\270\176\100\034\141\347\076\242\222\054 -\113\362\315\372\230\266\051\377\363\362\173\251\037\056\240\223 -\127\053\336\205\003\371\151\067\313\236\170\152\005\264\305\061 -\170\211\354\172\247\205\341\271\173\074\336\276\036\171\204\316 -\237\160\016\131\302\065\056\220\052\061\331\344\105\172\101\244 -\056\023\233\064\016\146\173\111\253\144\227\320\106\303\171\235 -\162\120\143\246\230\133\006\275\110\155\330\071\203\160\350\065 -\360\005\321\252\274\343\333\310\002\352\174\375\202\332\302\133 -\122\065\256\230\072\255\272\065\223\043\247\037\110\335\065\106 -\230\262\020\150\344\245\061\302\012\130\056\031\201\020\311\120 -\165\374\352\132\026\316\021\327\356\357\120\210\055\141\377\077 -\102\163\005\224\103\325\216\074\116\001\072\031\245\037\106\116 -\167\320\135\345\201\042\041\207\376\224\175\204\330\223\255\326 -\150\103\110\262\333\353\163\044\347\221\177\124\244\266\200\076 -\235\243\074\114\162\302\127\304\240\324\314\070\047\316\325\006 -\236\242\110\331\351\237\316\202\160\066\223\232\073\337\226\041 -\343\131\267\014\332\221\067\360\375\131\132\263\231\310\151\154 -\103\046\001\065\143\140\125\211\003\072\165\330\272\112\331\124 -\377\356\336\200\330\055\321\070\325\136\055\013\230\175\076\154 -\333\374\046\210\307 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "Izenpe.com" -# Issuer: CN=Izenpe.com,O=IZENPE S.A.,C=ES -# Serial Number:00:b0:b7:5a:16:48:5f:bf:e1:cb:f5:8b:d7:19:e6:7d -# Subject: CN=Izenpe.com,O=IZENPE S.A.,C=ES -# Not Valid Before: Thu Dec 13 13:08:28 2007 -# Not Valid After : Sun Dec 13 08:27:25 2037 -# Fingerprint (MD5): A6:B0:CD:85:80:DA:5C:50:34:A3:39:90:2F:55:67:73 -# Fingerprint (SHA1): 2F:78:3D:25:52:18:A7:4A:65:39:71:B5:2C:A2:9C:45:15:6F:E9:19 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Izenpe.com" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\057\170\075\045\122\030\247\112\145\071\161\265\054\242\234\105 -\025\157\351\031 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\246\260\315\205\200\332\134\120\064\243\071\220\057\125\147\163 -END -CKA_ISSUER MULTILINE_OCTAL -\060\070\061\013\060\011\006\003\125\004\006\023\002\105\123\061 -\024\060\022\006\003\125\004\012\014\013\111\132\105\116\120\105 -\040\123\056\101\056\061\023\060\021\006\003\125\004\003\014\012 -\111\172\145\156\160\145\056\143\157\155 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\000\260\267\132\026\110\137\277\341\313\365\213\327\031 -\346\175 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Chambers of Commerce Root - 2008" -# -# Issuer: CN=Chambers of Commerce Root - 2008,O=AC Camerfirma S.A.,serialNumber=A82743287,L=Madrid (see current address at www.camerfirma.com/address),C=EU -# Serial Number:00:a3:da:42:7e:a4:b1:ae:da -# Subject: CN=Chambers of Commerce Root - 2008,O=AC Camerfirma S.A.,serialNumber=A82743287,L=Madrid (see current address at www.camerfirma.com/address),C=EU -# Not Valid Before: Fri Aug 01 12:29:50 2008 -# Not Valid After : Sat Jul 31 12:29:50 2038 -# Fingerprint (MD5): 5E:80:9E:84:5A:0E:65:0B:17:02:F3:55:18:2A:3E:D7 -# Fingerprint (SHA1): 78:6A:74:AC:76:AB:14:7F:9C:6A:30:50:BA:9E:A8:7E:FE:9A:CE:3C -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Chambers of Commerce Root - 2008" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\256\061\013\060\011\006\003\125\004\006\023\002\105\125 -\061\103\060\101\006\003\125\004\007\023\072\115\141\144\162\151 -\144\040\050\163\145\145\040\143\165\162\162\145\156\164\040\141 -\144\144\162\145\163\163\040\141\164\040\167\167\167\056\143\141 -\155\145\162\146\151\162\155\141\056\143\157\155\057\141\144\144 -\162\145\163\163\051\061\022\060\020\006\003\125\004\005\023\011 -\101\070\062\067\064\063\062\070\067\061\033\060\031\006\003\125 -\004\012\023\022\101\103\040\103\141\155\145\162\146\151\162\155 -\141\040\123\056\101\056\061\051\060\047\006\003\125\004\003\023 -\040\103\150\141\155\142\145\162\163\040\157\146\040\103\157\155 -\155\145\162\143\145\040\122\157\157\164\040\055\040\062\060\060 -\070 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\256\061\013\060\011\006\003\125\004\006\023\002\105\125 -\061\103\060\101\006\003\125\004\007\023\072\115\141\144\162\151 -\144\040\050\163\145\145\040\143\165\162\162\145\156\164\040\141 -\144\144\162\145\163\163\040\141\164\040\167\167\167\056\143\141 -\155\145\162\146\151\162\155\141\056\143\157\155\057\141\144\144 -\162\145\163\163\051\061\022\060\020\006\003\125\004\005\023\011 -\101\070\062\067\064\063\062\070\067\061\033\060\031\006\003\125 -\004\012\023\022\101\103\040\103\141\155\145\162\146\151\162\155 -\141\040\123\056\101\056\061\051\060\047\006\003\125\004\003\023 -\040\103\150\141\155\142\145\162\163\040\157\146\040\103\157\155 -\155\145\162\143\145\040\122\157\157\164\040\055\040\062\060\060 -\070 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\011\000\243\332\102\176\244\261\256\332 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\007\117\060\202\005\067\240\003\002\001\002\002\011\000 -\243\332\102\176\244\261\256\332\060\015\006\011\052\206\110\206 -\367\015\001\001\005\005\000\060\201\256\061\013\060\011\006\003 -\125\004\006\023\002\105\125\061\103\060\101\006\003\125\004\007 -\023\072\115\141\144\162\151\144\040\050\163\145\145\040\143\165 -\162\162\145\156\164\040\141\144\144\162\145\163\163\040\141\164 -\040\167\167\167\056\143\141\155\145\162\146\151\162\155\141\056 -\143\157\155\057\141\144\144\162\145\163\163\051\061\022\060\020 -\006\003\125\004\005\023\011\101\070\062\067\064\063\062\070\067 -\061\033\060\031\006\003\125\004\012\023\022\101\103\040\103\141 -\155\145\162\146\151\162\155\141\040\123\056\101\056\061\051\060 -\047\006\003\125\004\003\023\040\103\150\141\155\142\145\162\163 -\040\157\146\040\103\157\155\155\145\162\143\145\040\122\157\157 -\164\040\055\040\062\060\060\070\060\036\027\015\060\070\060\070 -\060\061\061\062\062\071\065\060\132\027\015\063\070\060\067\063 -\061\061\062\062\071\065\060\132\060\201\256\061\013\060\011\006 -\003\125\004\006\023\002\105\125\061\103\060\101\006\003\125\004 -\007\023\072\115\141\144\162\151\144\040\050\163\145\145\040\143 -\165\162\162\145\156\164\040\141\144\144\162\145\163\163\040\141 -\164\040\167\167\167\056\143\141\155\145\162\146\151\162\155\141 -\056\143\157\155\057\141\144\144\162\145\163\163\051\061\022\060 -\020\006\003\125\004\005\023\011\101\070\062\067\064\063\062\070 -\067\061\033\060\031\006\003\125\004\012\023\022\101\103\040\103 -\141\155\145\162\146\151\162\155\141\040\123\056\101\056\061\051 -\060\047\006\003\125\004\003\023\040\103\150\141\155\142\145\162 -\163\040\157\146\040\103\157\155\155\145\162\143\145\040\122\157 -\157\164\040\055\040\062\060\060\070\060\202\002\042\060\015\006 -\011\052\206\110\206\367\015\001\001\001\005\000\003\202\002\017 -\000\060\202\002\012\002\202\002\001\000\257\000\313\160\067\053 -\200\132\112\072\154\170\224\175\243\177\032\037\366\065\325\275 -\333\313\015\104\162\076\046\262\220\122\272\143\073\050\130\157 -\245\263\155\224\246\363\335\144\014\125\366\366\347\362\042\042 -\200\136\341\142\306\266\051\341\201\154\362\277\345\175\062\152 -\124\240\062\031\131\376\037\213\327\075\140\206\205\044\157\343 -\021\263\167\076\040\226\065\041\153\263\010\331\160\056\144\367 -\204\222\123\326\016\260\220\212\212\343\207\215\006\323\275\220 -\016\342\231\241\033\206\016\332\232\012\273\013\141\120\006\122 -\361\236\177\166\354\313\017\320\036\015\317\231\060\075\034\304 -\105\020\130\254\326\323\350\327\345\352\305\001\007\167\326\121 -\346\003\177\212\110\245\115\150\165\271\351\274\236\116\031\161 -\365\062\113\234\155\140\031\013\373\314\235\165\334\277\046\315 -\217\223\170\071\171\163\136\045\016\312\134\353\167\022\007\313 -\144\101\107\162\223\253\120\303\353\011\166\144\064\322\071\267 -\166\021\011\015\166\105\304\251\256\075\152\257\265\175\145\057 -\224\130\020\354\134\174\257\176\342\266\030\331\320\233\116\132 -\111\337\251\146\013\314\074\306\170\174\247\234\035\343\316\216 -\123\276\005\336\140\017\153\345\032\333\077\343\341\041\311\051 -\301\361\353\007\234\122\033\001\104\121\074\173\045\327\304\345 -\122\124\135\045\007\312\026\040\270\255\344\101\356\172\010\376 -\231\157\203\246\221\002\260\154\066\125\152\347\175\365\226\346 -\312\201\326\227\361\224\203\351\355\260\261\153\022\151\036\254 -\373\135\251\305\230\351\264\133\130\172\276\075\242\104\072\143 -\131\324\013\045\336\033\117\275\345\001\236\315\322\051\325\237 -\027\031\012\157\277\014\220\323\011\137\331\343\212\065\314\171 -\132\115\031\067\222\267\304\301\255\257\364\171\044\232\262\001 -\013\261\257\134\226\363\200\062\373\134\075\230\361\240\077\112 -\336\276\257\224\056\331\125\232\027\156\140\235\143\154\270\143 -\311\256\201\134\030\065\340\220\273\276\074\117\067\042\271\176 -\353\317\236\167\041\246\075\070\201\373\110\332\061\075\053\343 -\211\365\320\265\275\176\340\120\304\022\211\263\043\232\020\061 -\205\333\256\157\357\070\063\030\166\021\002\003\001\000\001\243 -\202\001\154\060\202\001\150\060\022\006\003\125\035\023\001\001 -\377\004\010\060\006\001\001\377\002\001\014\060\035\006\003\125 -\035\016\004\026\004\024\371\044\254\017\262\265\370\171\300\372 -\140\210\033\304\331\115\002\236\027\031\060\201\343\006\003\125 -\035\043\004\201\333\060\201\330\200\024\371\044\254\017\262\265 -\370\171\300\372\140\210\033\304\331\115\002\236\027\031\241\201 -\264\244\201\261\060\201\256\061\013\060\011\006\003\125\004\006 -\023\002\105\125\061\103\060\101\006\003\125\004\007\023\072\115 -\141\144\162\151\144\040\050\163\145\145\040\143\165\162\162\145 -\156\164\040\141\144\144\162\145\163\163\040\141\164\040\167\167 -\167\056\143\141\155\145\162\146\151\162\155\141\056\143\157\155 -\057\141\144\144\162\145\163\163\051\061\022\060\020\006\003\125 -\004\005\023\011\101\070\062\067\064\063\062\070\067\061\033\060 -\031\006\003\125\004\012\023\022\101\103\040\103\141\155\145\162 -\146\151\162\155\141\040\123\056\101\056\061\051\060\047\006\003 -\125\004\003\023\040\103\150\141\155\142\145\162\163\040\157\146 -\040\103\157\155\155\145\162\143\145\040\122\157\157\164\040\055 -\040\062\060\060\070\202\011\000\243\332\102\176\244\261\256\332 -\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006 -\060\075\006\003\125\035\040\004\066\060\064\060\062\006\004\125 -\035\040\000\060\052\060\050\006\010\053\006\001\005\005\007\002 -\001\026\034\150\164\164\160\072\057\057\160\157\154\151\143\171 -\056\143\141\155\145\162\146\151\162\155\141\056\143\157\155\060 -\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003\202 -\002\001\000\220\022\257\042\065\302\243\071\360\056\336\351\265 -\351\170\174\110\276\077\175\105\222\136\351\332\261\031\374\026 -\074\237\264\133\146\236\152\347\303\271\135\210\350\017\255\317 -\043\017\336\045\072\136\314\117\245\301\265\055\254\044\322\130 -\007\336\242\317\151\204\140\063\350\020\015\023\251\043\320\205 -\345\216\173\246\236\075\162\023\162\063\365\252\175\306\143\037 -\010\364\376\001\177\044\317\053\054\124\011\336\342\053\155\222 -\306\071\117\026\352\074\176\172\106\324\105\152\106\250\353\165 -\202\126\247\253\240\174\150\023\063\366\235\060\360\157\047\071 -\044\043\052\220\375\220\051\065\362\223\337\064\245\306\367\370 -\357\214\017\142\112\174\256\323\365\124\370\215\266\232\126\207 -\026\202\072\063\253\132\042\010\367\202\272\352\056\340\107\232 -\264\265\105\243\005\073\331\334\056\105\100\073\352\334\177\350 -\073\353\321\354\046\330\065\244\060\305\072\254\127\236\263\166 -\245\040\173\371\036\112\005\142\001\246\050\165\140\227\222\015 -\156\076\115\067\103\015\222\025\234\030\042\315\121\231\240\051 -\032\074\137\212\062\063\133\060\307\211\057\107\230\017\243\003 -\306\366\361\254\337\062\360\331\201\032\344\234\275\366\200\024 -\360\321\054\271\205\365\330\243\261\310\245\041\345\034\023\227 -\356\016\275\337\051\251\357\064\123\133\323\344\152\023\204\006 -\266\062\002\304\122\256\042\322\334\262\041\102\032\332\100\360 -\051\311\354\012\014\134\342\320\272\314\110\323\067\012\314\022 -\012\212\171\260\075\003\177\151\113\364\064\040\175\263\064\352 -\216\113\144\365\076\375\263\043\147\025\015\004\270\360\055\301 -\011\121\074\262\154\025\360\245\043\327\203\164\344\345\056\311 -\376\230\047\102\306\253\306\236\260\320\133\070\245\233\120\336 -\176\030\230\265\105\073\366\171\264\350\367\032\173\006\203\373 -\320\213\332\273\307\275\030\253\010\157\074\200\153\100\077\031 -\031\272\145\212\346\276\325\134\323\066\327\357\100\122\044\140 -\070\147\004\061\354\217\363\202\306\336\271\125\363\073\061\221 -\132\334\265\010\025\255\166\045\012\015\173\056\207\342\014\246 -\006\274\046\020\155\067\235\354\335\170\214\174\200\305\360\331 -\167\110\320 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "Chambers of Commerce Root - 2008" -# Issuer: CN=Chambers of Commerce Root - 2008,O=AC Camerfirma S.A.,serialNumber=A82743287,L=Madrid (see current address at www.camerfirma.com/address),C=EU -# Serial Number:00:a3:da:42:7e:a4:b1:ae:da -# Subject: CN=Chambers of Commerce Root - 2008,O=AC Camerfirma S.A.,serialNumber=A82743287,L=Madrid (see current address at www.camerfirma.com/address),C=EU -# Not Valid Before: Fri Aug 01 12:29:50 2008 -# Not Valid After : Sat Jul 31 12:29:50 2038 -# Fingerprint (MD5): 5E:80:9E:84:5A:0E:65:0B:17:02:F3:55:18:2A:3E:D7 -# Fingerprint (SHA1): 78:6A:74:AC:76:AB:14:7F:9C:6A:30:50:BA:9E:A8:7E:FE:9A:CE:3C -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Chambers of Commerce Root - 2008" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\170\152\164\254\166\253\024\177\234\152\060\120\272\236\250\176 -\376\232\316\074 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\136\200\236\204\132\016\145\013\027\002\363\125\030\052\076\327 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\256\061\013\060\011\006\003\125\004\006\023\002\105\125 -\061\103\060\101\006\003\125\004\007\023\072\115\141\144\162\151 -\144\040\050\163\145\145\040\143\165\162\162\145\156\164\040\141 -\144\144\162\145\163\163\040\141\164\040\167\167\167\056\143\141 -\155\145\162\146\151\162\155\141\056\143\157\155\057\141\144\144 -\162\145\163\163\051\061\022\060\020\006\003\125\004\005\023\011 -\101\070\062\067\064\063\062\070\067\061\033\060\031\006\003\125 -\004\012\023\022\101\103\040\103\141\155\145\162\146\151\162\155 -\141\040\123\056\101\056\061\051\060\047\006\003\125\004\003\023 -\040\103\150\141\155\142\145\162\163\040\157\146\040\103\157\155 -\155\145\162\143\145\040\122\157\157\164\040\055\040\062\060\060 -\070 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\011\000\243\332\102\176\244\261\256\332 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Global Chambersign Root - 2008" -# -# Issuer: CN=Global Chambersign Root - 2008,O=AC Camerfirma S.A.,serialNumber=A82743287,L=Madrid (see current address at www.camerfirma.com/address),C=EU -# Serial Number:00:c9:cd:d3:e9:d5:7d:23:ce -# Subject: CN=Global Chambersign Root - 2008,O=AC Camerfirma S.A.,serialNumber=A82743287,L=Madrid (see current address at www.camerfirma.com/address),C=EU -# Not Valid Before: Fri Aug 01 12:31:40 2008 -# Not Valid After : Sat Jul 31 12:31:40 2038 -# Fingerprint (MD5): 9E:80:FF:78:01:0C:2E:C1:36:BD:FE:96:90:6E:08:F3 -# Fingerprint (SHA1): 4A:BD:EE:EC:95:0D:35:9C:89:AE:C7:52:A1:2C:5B:29:F6:D6:AA:0C -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Global Chambersign Root - 2008" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\254\061\013\060\011\006\003\125\004\006\023\002\105\125 -\061\103\060\101\006\003\125\004\007\023\072\115\141\144\162\151 -\144\040\050\163\145\145\040\143\165\162\162\145\156\164\040\141 -\144\144\162\145\163\163\040\141\164\040\167\167\167\056\143\141 -\155\145\162\146\151\162\155\141\056\143\157\155\057\141\144\144 -\162\145\163\163\051\061\022\060\020\006\003\125\004\005\023\011 -\101\070\062\067\064\063\062\070\067\061\033\060\031\006\003\125 -\004\012\023\022\101\103\040\103\141\155\145\162\146\151\162\155 -\141\040\123\056\101\056\061\047\060\045\006\003\125\004\003\023 -\036\107\154\157\142\141\154\040\103\150\141\155\142\145\162\163 -\151\147\156\040\122\157\157\164\040\055\040\062\060\060\070 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\254\061\013\060\011\006\003\125\004\006\023\002\105\125 -\061\103\060\101\006\003\125\004\007\023\072\115\141\144\162\151 -\144\040\050\163\145\145\040\143\165\162\162\145\156\164\040\141 -\144\144\162\145\163\163\040\141\164\040\167\167\167\056\143\141 -\155\145\162\146\151\162\155\141\056\143\157\155\057\141\144\144 -\162\145\163\163\051\061\022\060\020\006\003\125\004\005\023\011 -\101\070\062\067\064\063\062\070\067\061\033\060\031\006\003\125 -\004\012\023\022\101\103\040\103\141\155\145\162\146\151\162\155 -\141\040\123\056\101\056\061\047\060\045\006\003\125\004\003\023 -\036\107\154\157\142\141\154\040\103\150\141\155\142\145\162\163 -\151\147\156\040\122\157\157\164\040\055\040\062\060\060\070 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\011\000\311\315\323\351\325\175\043\316 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\007\111\060\202\005\061\240\003\002\001\002\002\011\000 -\311\315\323\351\325\175\043\316\060\015\006\011\052\206\110\206 -\367\015\001\001\005\005\000\060\201\254\061\013\060\011\006\003 -\125\004\006\023\002\105\125\061\103\060\101\006\003\125\004\007 -\023\072\115\141\144\162\151\144\040\050\163\145\145\040\143\165 -\162\162\145\156\164\040\141\144\144\162\145\163\163\040\141\164 -\040\167\167\167\056\143\141\155\145\162\146\151\162\155\141\056 -\143\157\155\057\141\144\144\162\145\163\163\051\061\022\060\020 -\006\003\125\004\005\023\011\101\070\062\067\064\063\062\070\067 -\061\033\060\031\006\003\125\004\012\023\022\101\103\040\103\141 -\155\145\162\146\151\162\155\141\040\123\056\101\056\061\047\060 -\045\006\003\125\004\003\023\036\107\154\157\142\141\154\040\103 -\150\141\155\142\145\162\163\151\147\156\040\122\157\157\164\040 -\055\040\062\060\060\070\060\036\027\015\060\070\060\070\060\061 -\061\062\063\061\064\060\132\027\015\063\070\060\067\063\061\061 -\062\063\061\064\060\132\060\201\254\061\013\060\011\006\003\125 -\004\006\023\002\105\125\061\103\060\101\006\003\125\004\007\023 -\072\115\141\144\162\151\144\040\050\163\145\145\040\143\165\162 -\162\145\156\164\040\141\144\144\162\145\163\163\040\141\164\040 -\167\167\167\056\143\141\155\145\162\146\151\162\155\141\056\143 -\157\155\057\141\144\144\162\145\163\163\051\061\022\060\020\006 -\003\125\004\005\023\011\101\070\062\067\064\063\062\070\067\061 -\033\060\031\006\003\125\004\012\023\022\101\103\040\103\141\155 -\145\162\146\151\162\155\141\040\123\056\101\056\061\047\060\045 -\006\003\125\004\003\023\036\107\154\157\142\141\154\040\103\150 -\141\155\142\145\162\163\151\147\156\040\122\157\157\164\040\055 -\040\062\060\060\070\060\202\002\042\060\015\006\011\052\206\110 -\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202\002 -\012\002\202\002\001\000\300\337\126\323\344\072\233\166\105\264 -\023\333\377\301\266\031\213\067\101\030\225\122\107\353\027\235 -\051\210\216\065\154\006\062\056\107\142\363\111\004\277\175\104 -\066\261\161\314\275\132\011\163\325\331\205\104\377\221\127\045 -\337\136\066\216\160\321\134\161\103\035\331\332\357\134\322\373 -\033\275\072\265\313\255\243\314\104\247\015\256\041\025\077\271 -\172\133\222\165\330\244\022\070\211\031\212\267\200\322\342\062 -\157\126\234\221\326\210\020\013\263\164\144\222\164\140\363\366 -\317\030\117\140\262\043\320\307\073\316\141\113\231\217\302\014 -\320\100\262\230\334\015\250\116\243\271\012\256\140\240\255\105 -\122\143\272\146\275\150\340\371\276\032\250\201\273\036\101\170 -\165\323\301\376\000\125\260\207\124\350\047\220\065\035\114\063 -\255\227\374\227\056\230\204\277\054\311\243\277\321\230\021\024 -\355\143\370\312\230\210\130\027\231\355\105\003\227\176\074\206 -\036\210\214\276\362\221\204\217\145\064\330\000\114\175\267\061 -\027\132\051\172\012\030\044\060\243\067\265\172\251\001\175\046 -\326\371\016\216\131\361\375\033\063\265\051\073\027\073\101\266 -\041\335\324\300\075\245\237\237\037\103\120\311\273\274\154\172 -\227\230\356\315\214\037\373\234\121\256\213\160\275\047\237\161 -\300\153\254\175\220\146\350\327\135\072\015\260\325\302\215\325 -\310\235\235\301\155\320\320\277\121\344\343\370\303\070\066\256 -\326\247\165\346\257\204\103\135\223\222\014\152\007\336\073\035 -\230\042\326\254\301\065\333\243\240\045\377\162\265\166\035\336 -\155\351\054\146\054\122\204\320\105\222\316\034\345\345\063\035 -\334\007\123\124\243\252\202\073\232\067\057\334\335\240\144\351 -\346\335\275\256\374\144\205\035\074\247\311\006\336\204\377\153 -\350\153\032\074\305\242\263\102\373\213\011\076\137\010\122\307 -\142\304\324\005\161\277\304\144\344\370\241\203\350\076\022\233 -\250\036\324\066\115\057\161\366\215\050\366\203\251\023\322\141 -\301\221\273\110\300\064\217\101\214\113\114\333\151\022\377\120 -\224\234\040\203\131\163\355\174\241\362\361\375\335\367\111\323 -\103\130\240\126\143\312\075\075\345\065\126\131\351\016\312\040 -\314\053\113\223\051\017\002\003\001\000\001\243\202\001\152\060 -\202\001\146\060\022\006\003\125\035\023\001\001\377\004\010\060 -\006\001\001\377\002\001\014\060\035\006\003\125\035\016\004\026 -\004\024\271\011\312\234\036\333\323\154\072\153\256\355\124\361 -\133\223\006\065\056\136\060\201\341\006\003\125\035\043\004\201 -\331\060\201\326\200\024\271\011\312\234\036\333\323\154\072\153 -\256\355\124\361\133\223\006\065\056\136\241\201\262\244\201\257 -\060\201\254\061\013\060\011\006\003\125\004\006\023\002\105\125 -\061\103\060\101\006\003\125\004\007\023\072\115\141\144\162\151 -\144\040\050\163\145\145\040\143\165\162\162\145\156\164\040\141 -\144\144\162\145\163\163\040\141\164\040\167\167\167\056\143\141 -\155\145\162\146\151\162\155\141\056\143\157\155\057\141\144\144 -\162\145\163\163\051\061\022\060\020\006\003\125\004\005\023\011 -\101\070\062\067\064\063\062\070\067\061\033\060\031\006\003\125 -\004\012\023\022\101\103\040\103\141\155\145\162\146\151\162\155 -\141\040\123\056\101\056\061\047\060\045\006\003\125\004\003\023 -\036\107\154\157\142\141\154\040\103\150\141\155\142\145\162\163 -\151\147\156\040\122\157\157\164\040\055\040\062\060\060\070\202 -\011\000\311\315\323\351\325\175\043\316\060\016\006\003\125\035 -\017\001\001\377\004\004\003\002\001\006\060\075\006\003\125\035 -\040\004\066\060\064\060\062\006\004\125\035\040\000\060\052\060 -\050\006\010\053\006\001\005\005\007\002\001\026\034\150\164\164 -\160\072\057\057\160\157\154\151\143\171\056\143\141\155\145\162 -\146\151\162\155\141\056\143\157\155\060\015\006\011\052\206\110 -\206\367\015\001\001\005\005\000\003\202\002\001\000\200\210\177 -\160\336\222\050\331\005\224\106\377\220\127\251\361\057\337\032 -\015\153\372\174\016\034\111\044\171\047\330\106\252\157\051\131 -\122\210\160\022\352\335\075\365\233\123\124\157\341\140\242\250 -\011\271\354\353\131\174\306\065\361\334\030\351\361\147\345\257 -\272\105\340\011\336\312\104\017\302\027\016\167\221\105\172\063 -\137\137\226\054\150\213\301\107\217\230\233\075\300\354\313\365 -\325\202\222\204\065\321\276\066\070\126\162\061\133\107\055\252 -\027\244\143\121\353\012\001\255\177\354\165\236\313\241\037\361 -\177\022\261\271\344\144\177\147\326\043\052\364\270\071\135\230 -\350\041\247\341\275\075\102\032\164\232\160\257\150\154\120\135 -\111\317\377\373\016\135\346\054\107\327\201\072\131\000\265\163 -\153\143\040\366\061\105\010\071\016\364\160\176\100\160\132\077 -\320\153\102\251\164\075\050\057\002\155\165\162\225\011\215\110 -\143\306\306\043\127\222\223\136\065\301\215\371\012\367\054\235 -\142\034\366\255\174\335\246\061\036\266\261\307\176\205\046\372 -\244\152\265\332\143\060\321\357\223\067\262\146\057\175\005\367 -\347\267\113\230\224\065\300\331\072\051\301\235\262\120\063\035 -\112\251\132\246\311\003\357\355\364\347\250\156\212\264\127\204 -\353\244\077\320\356\252\252\207\133\143\350\223\342\153\250\324 -\270\162\170\153\033\355\071\344\135\313\233\252\207\325\117\116 -\000\376\331\152\237\074\061\017\050\002\001\175\230\350\247\260 -\242\144\236\171\370\110\362\025\251\314\346\310\104\353\077\170 -\231\362\173\161\076\074\361\230\247\305\030\022\077\346\273\050 -\063\102\351\105\012\174\155\362\206\171\057\305\202\031\175\011 -\211\174\262\124\166\210\256\336\301\363\314\341\156\333\061\326 -\223\256\231\240\357\045\152\163\230\211\133\072\056\023\210\036 -\277\300\222\224\064\033\343\047\267\213\036\157\102\377\347\351 -\067\233\120\035\055\242\371\002\356\313\130\130\072\161\274\150 -\343\252\301\257\034\050\037\242\334\043\145\077\201\352\256\231 -\323\330\060\317\023\015\117\025\311\204\274\247\110\055\370\060 -\043\167\330\106\113\171\155\366\214\355\072\177\140\021\170\364 -\351\233\256\325\124\300\164\200\321\013\102\237\301 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "Global Chambersign Root - 2008" -# Issuer: CN=Global Chambersign Root - 2008,O=AC Camerfirma S.A.,serialNumber=A82743287,L=Madrid (see current address at www.camerfirma.com/address),C=EU -# Serial Number:00:c9:cd:d3:e9:d5:7d:23:ce -# Subject: CN=Global Chambersign Root - 2008,O=AC Camerfirma S.A.,serialNumber=A82743287,L=Madrid (see current address at www.camerfirma.com/address),C=EU -# Not Valid Before: Fri Aug 01 12:31:40 2008 -# Not Valid After : Sat Jul 31 12:31:40 2038 -# Fingerprint (MD5): 9E:80:FF:78:01:0C:2E:C1:36:BD:FE:96:90:6E:08:F3 -# Fingerprint (SHA1): 4A:BD:EE:EC:95:0D:35:9C:89:AE:C7:52:A1:2C:5B:29:F6:D6:AA:0C -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Global Chambersign Root - 2008" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\112\275\356\354\225\015\065\234\211\256\307\122\241\054\133\051 -\366\326\252\014 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\236\200\377\170\001\014\056\301\066\275\376\226\220\156\010\363 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\254\061\013\060\011\006\003\125\004\006\023\002\105\125 -\061\103\060\101\006\003\125\004\007\023\072\115\141\144\162\151 -\144\040\050\163\145\145\040\143\165\162\162\145\156\164\040\141 -\144\144\162\145\163\163\040\141\164\040\167\167\167\056\143\141 -\155\145\162\146\151\162\155\141\056\143\157\155\057\141\144\144 -\162\145\163\163\051\061\022\060\020\006\003\125\004\005\023\011 -\101\070\062\067\064\063\062\070\067\061\033\060\031\006\003\125 -\004\012\023\022\101\103\040\103\141\155\145\162\146\151\162\155 -\141\040\123\056\101\056\061\047\060\045\006\003\125\004\003\023 -\036\107\154\157\142\141\154\040\103\150\141\155\142\145\162\163 -\151\147\156\040\122\157\157\164\040\055\040\062\060\060\070 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\011\000\311\315\323\351\325\175\043\316 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Go Daddy Root Certificate Authority - G2" -# -# Issuer: CN=Go Daddy Root Certificate Authority - G2,O="GoDaddy.com, Inc.",L=Scottsdale,ST=Arizona,C=US -# Serial Number: 0 (0x0) -# Subject: CN=Go Daddy Root Certificate Authority - G2,O="GoDaddy.com, Inc.",L=Scottsdale,ST=Arizona,C=US -# Not Valid Before: Tue Sep 01 00:00:00 2009 -# Not Valid After : Thu Dec 31 23:59:59 2037 -# Fingerprint (MD5): 80:3A:BC:22:C1:E6:FB:8D:9B:3B:27:4A:32:1B:9A:01 -# Fingerprint (SHA1): 47:BE:AB:C9:22:EA:E8:0E:78:78:34:62:A7:9F:45:C2:54:FD:E6:8B -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Go Daddy Root Certificate Authority - G2" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\203\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157 -\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157 -\164\164\163\144\141\154\145\061\032\060\030\006\003\125\004\012 -\023\021\107\157\104\141\144\144\171\056\143\157\155\054\040\111 -\156\143\056\061\061\060\057\006\003\125\004\003\023\050\107\157 -\040\104\141\144\144\171\040\122\157\157\164\040\103\145\162\164 -\151\146\151\143\141\164\145\040\101\165\164\150\157\162\151\164 -\171\040\055\040\107\062 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\203\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157 -\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157 -\164\164\163\144\141\154\145\061\032\060\030\006\003\125\004\012 -\023\021\107\157\104\141\144\144\171\056\143\157\155\054\040\111 -\156\143\056\061\061\060\057\006\003\125\004\003\023\050\107\157 -\040\104\141\144\144\171\040\122\157\157\164\040\103\145\162\164 -\151\146\151\143\141\164\145\040\101\165\164\150\157\162\151\164 -\171\040\055\040\107\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\000 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\305\060\202\002\255\240\003\002\001\002\002\001\000 -\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060 -\201\203\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157\156 -\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157\164 -\164\163\144\141\154\145\061\032\060\030\006\003\125\004\012\023 -\021\107\157\104\141\144\144\171\056\143\157\155\054\040\111\156 -\143\056\061\061\060\057\006\003\125\004\003\023\050\107\157\040 -\104\141\144\144\171\040\122\157\157\164\040\103\145\162\164\151 -\146\151\143\141\164\145\040\101\165\164\150\157\162\151\164\171 -\040\055\040\107\062\060\036\027\015\060\071\060\071\060\061\060 -\060\060\060\060\060\132\027\015\063\067\061\062\063\061\062\063 -\065\071\065\071\132\060\201\203\061\013\060\011\006\003\125\004 -\006\023\002\125\123\061\020\060\016\006\003\125\004\010\023\007 -\101\162\151\172\157\156\141\061\023\060\021\006\003\125\004\007 -\023\012\123\143\157\164\164\163\144\141\154\145\061\032\060\030 -\006\003\125\004\012\023\021\107\157\104\141\144\144\171\056\143 -\157\155\054\040\111\156\143\056\061\061\060\057\006\003\125\004 -\003\023\050\107\157\040\104\141\144\144\171\040\122\157\157\164 -\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164 -\150\157\162\151\164\171\040\055\040\107\062\060\202\001\042\060 -\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202 -\001\017\000\060\202\001\012\002\202\001\001\000\277\161\142\010 -\361\372\131\064\367\033\311\030\243\367\200\111\130\351\042\203 -\023\246\305\040\103\001\073\204\361\346\205\111\237\047\352\366 -\204\033\116\240\264\333\160\230\307\062\001\261\005\076\007\116 -\356\364\372\117\057\131\060\042\347\253\031\126\153\342\200\007 -\374\363\026\165\200\071\121\173\345\371\065\266\164\116\251\215 -\202\023\344\266\077\251\003\203\372\242\276\212\025\152\177\336 -\013\303\266\031\024\005\312\352\303\250\004\224\073\106\174\062 -\015\363\000\146\042\310\215\151\155\066\214\021\030\267\323\262 -\034\140\264\070\372\002\214\316\323\335\106\007\336\012\076\353 -\135\174\310\174\373\260\053\123\244\222\142\151\121\045\005\141 -\032\104\201\214\054\251\103\226\043\337\254\072\201\232\016\051 -\305\034\251\351\135\036\266\236\236\060\012\071\316\361\210\200 -\373\113\135\314\062\354\205\142\103\045\064\002\126\047\001\221 -\264\073\160\052\077\156\261\350\234\210\001\175\237\324\371\333 -\123\155\140\235\277\054\347\130\253\270\137\106\374\316\304\033 -\003\074\011\353\111\061\134\151\106\263\340\107\002\003\001\000 -\001\243\102\060\100\060\017\006\003\125\035\023\001\001\377\004 -\005\060\003\001\001\377\060\016\006\003\125\035\017\001\001\377 -\004\004\003\002\001\006\060\035\006\003\125\035\016\004\026\004 -\024\072\232\205\007\020\147\050\266\357\366\275\005\101\156\040 -\301\224\332\017\336\060\015\006\011\052\206\110\206\367\015\001 -\001\013\005\000\003\202\001\001\000\231\333\135\171\325\371\227 -\131\147\003\141\361\176\073\006\061\165\055\241\040\216\117\145 -\207\264\367\246\234\274\330\351\057\320\333\132\356\317\164\214 -\163\264\070\102\332\005\173\370\002\165\270\375\245\261\327\256 -\366\327\336\023\313\123\020\176\212\106\321\227\372\267\056\053 -\021\253\220\260\047\200\371\350\237\132\351\067\237\253\344\337 -\154\263\205\027\235\075\331\044\117\171\221\065\326\137\004\353 -\200\203\253\232\002\055\265\020\364\330\220\307\004\163\100\355 -\162\045\240\251\237\354\236\253\150\022\231\127\306\217\022\072 -\011\244\275\104\375\006\025\067\301\233\344\062\243\355\070\350 -\330\144\363\054\176\024\374\002\352\237\315\377\007\150\027\333 -\042\220\070\055\172\215\321\124\361\151\343\137\063\312\172\075 -\173\012\343\312\177\137\071\345\342\165\272\305\166\030\063\316 -\054\360\057\114\255\367\261\347\316\117\250\304\233\112\124\006 -\305\177\175\325\010\017\342\034\376\176\027\270\254\136\366\324 -\026\262\103\011\014\115\366\247\153\264\231\204\145\312\172\210 -\342\342\104\276\134\367\352\034\365 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "Go Daddy Root Certificate Authority - G2" -# Issuer: CN=Go Daddy Root Certificate Authority - G2,O="GoDaddy.com, Inc.",L=Scottsdale,ST=Arizona,C=US -# Serial Number: 0 (0x0) -# Subject: CN=Go Daddy Root Certificate Authority - G2,O="GoDaddy.com, Inc.",L=Scottsdale,ST=Arizona,C=US -# Not Valid Before: Tue Sep 01 00:00:00 2009 -# Not Valid After : Thu Dec 31 23:59:59 2037 -# Fingerprint (MD5): 80:3A:BC:22:C1:E6:FB:8D:9B:3B:27:4A:32:1B:9A:01 -# Fingerprint (SHA1): 47:BE:AB:C9:22:EA:E8:0E:78:78:34:62:A7:9F:45:C2:54:FD:E6:8B -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Go Daddy Root Certificate Authority - G2" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\107\276\253\311\042\352\350\016\170\170\064\142\247\237\105\302 -\124\375\346\213 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\200\072\274\042\301\346\373\215\233\073\047\112\062\033\232\001 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\203\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157 -\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157 -\164\164\163\144\141\154\145\061\032\060\030\006\003\125\004\012 -\023\021\107\157\104\141\144\144\171\056\143\157\155\054\040\111 -\156\143\056\061\061\060\057\006\003\125\004\003\023\050\107\157 -\040\104\141\144\144\171\040\122\157\157\164\040\103\145\162\164 -\151\146\151\143\141\164\145\040\101\165\164\150\157\162\151\164 -\171\040\055\040\107\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\000 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Starfield Root Certificate Authority - G2" -# -# Issuer: CN=Starfield Root Certificate Authority - G2,O="Starfield Technologies, Inc.",L=Scottsdale,ST=Arizona,C=US -# Serial Number: 0 (0x0) -# Subject: CN=Starfield Root Certificate Authority - G2,O="Starfield Technologies, Inc.",L=Scottsdale,ST=Arizona,C=US -# Not Valid Before: Tue Sep 01 00:00:00 2009 -# Not Valid After : Thu Dec 31 23:59:59 2037 -# Fingerprint (MD5): D6:39:81:C6:52:7E:96:69:FC:FC:CA:66:ED:05:F2:96 -# Fingerprint (SHA1): B5:1C:06:7C:EE:2B:0C:3D:F8:55:AB:2D:92:F4:FE:39:D4:E7:0F:0E -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Starfield Root Certificate Authority - G2" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\217\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157 -\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157 -\164\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012 -\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150 -\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061\062 -\060\060\006\003\125\004\003\023\051\123\164\141\162\146\151\145 -\154\144\040\122\157\157\164\040\103\145\162\164\151\146\151\143 -\141\164\145\040\101\165\164\150\157\162\151\164\171\040\055\040 -\107\062 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\217\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157 -\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157 -\164\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012 -\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150 -\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061\062 -\060\060\006\003\125\004\003\023\051\123\164\141\162\146\151\145 -\154\144\040\122\157\157\164\040\103\145\162\164\151\146\151\143 -\141\164\145\040\101\165\164\150\157\162\151\164\171\040\055\040 -\107\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\000 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\335\060\202\002\305\240\003\002\001\002\002\001\000 -\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060 -\201\217\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157\156 -\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157\164 -\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012\023 -\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150\156 -\157\154\157\147\151\145\163\054\040\111\156\143\056\061\062\060 -\060\006\003\125\004\003\023\051\123\164\141\162\146\151\145\154 -\144\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141 -\164\145\040\101\165\164\150\157\162\151\164\171\040\055\040\107 -\062\060\036\027\015\060\071\060\071\060\061\060\060\060\060\060 -\060\132\027\015\063\067\061\062\063\061\062\063\065\071\065\071 -\132\060\201\217\061\013\060\011\006\003\125\004\006\023\002\125 -\123\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172 -\157\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143 -\157\164\164\163\144\141\154\145\061\045\060\043\006\003\125\004 -\012\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143 -\150\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061 -\062\060\060\006\003\125\004\003\023\051\123\164\141\162\146\151 -\145\154\144\040\122\157\157\164\040\103\145\162\164\151\146\151 -\143\141\164\145\040\101\165\164\150\157\162\151\164\171\040\055 -\040\107\062\060\202\001\042\060\015\006\011\052\206\110\206\367 -\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002 -\202\001\001\000\275\355\301\003\374\366\217\374\002\261\157\133 -\237\110\331\235\171\342\242\267\003\141\126\030\303\107\266\327 -\312\075\065\056\211\103\367\241\151\233\336\212\032\375\023\040 -\234\264\111\167\062\051\126\375\271\354\214\335\042\372\162\334 -\047\141\227\356\366\132\204\354\156\031\271\211\054\334\204\133 -\325\164\373\153\137\305\211\245\020\122\211\106\125\364\270\165 -\034\346\177\344\124\256\113\370\125\162\127\002\031\370\027\161 -\131\353\036\050\007\164\305\235\110\276\154\264\364\244\260\363 -\144\067\171\222\300\354\106\136\177\341\155\123\114\142\257\315 -\037\013\143\273\072\235\373\374\171\000\230\141\164\317\046\202 -\100\143\363\262\162\152\031\015\231\312\324\016\165\314\067\373 -\213\211\301\131\361\142\177\137\263\137\145\060\370\247\267\115 -\166\132\036\166\136\064\300\350\226\126\231\212\263\360\177\244 -\315\275\334\062\061\174\221\317\340\137\021\370\153\252\111\134 -\321\231\224\321\242\343\143\133\011\166\265\126\142\341\113\164 -\035\226\324\046\324\010\004\131\320\230\016\016\346\336\374\303 -\354\037\220\361\002\003\001\000\001\243\102\060\100\060\017\006 -\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016 -\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060\035 -\006\003\125\035\016\004\026\004\024\174\014\062\037\247\331\060 -\177\304\175\150\243\142\250\241\316\253\007\133\047\060\015\006 -\011\052\206\110\206\367\015\001\001\013\005\000\003\202\001\001 -\000\021\131\372\045\117\003\157\224\231\073\232\037\202\205\071 -\324\166\005\224\136\341\050\223\155\142\135\011\302\240\250\324 -\260\165\070\361\064\152\235\344\237\212\206\046\121\346\054\321 -\306\055\156\225\040\112\222\001\354\270\212\147\173\061\342\147 -\056\214\225\003\046\056\103\235\112\061\366\016\265\014\273\267 -\342\067\177\042\272\000\243\016\173\122\373\153\273\073\304\323 -\171\121\116\315\220\364\147\007\031\310\074\106\172\015\001\175 -\305\130\347\155\346\205\060\027\232\044\304\020\340\004\367\340 -\362\177\324\252\012\377\102\035\067\355\224\345\144\131\022\040 -\167\070\323\062\076\070\201\165\226\163\372\150\217\261\313\316 -\037\305\354\372\234\176\317\176\261\361\007\055\266\374\277\312 -\244\277\320\227\005\112\274\352\030\050\002\220\275\124\170\011 -\041\161\323\321\175\035\331\026\260\251\141\075\320\012\000\042 -\374\307\173\313\011\144\105\013\073\100\201\367\175\174\062\365 -\230\312\130\216\175\052\356\220\131\163\144\371\066\164\136\045 -\241\365\146\005\056\177\071\025\251\052\373\120\213\216\205\151 -\364 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "Starfield Root Certificate Authority - G2" -# Issuer: CN=Starfield Root Certificate Authority - G2,O="Starfield Technologies, Inc.",L=Scottsdale,ST=Arizona,C=US -# Serial Number: 0 (0x0) -# Subject: CN=Starfield Root Certificate Authority - G2,O="Starfield Technologies, Inc.",L=Scottsdale,ST=Arizona,C=US -# Not Valid Before: Tue Sep 01 00:00:00 2009 -# Not Valid After : Thu Dec 31 23:59:59 2037 -# Fingerprint (MD5): D6:39:81:C6:52:7E:96:69:FC:FC:CA:66:ED:05:F2:96 -# Fingerprint (SHA1): B5:1C:06:7C:EE:2B:0C:3D:F8:55:AB:2D:92:F4:FE:39:D4:E7:0F:0E -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Starfield Root Certificate Authority - G2" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\265\034\006\174\356\053\014\075\370\125\253\055\222\364\376\071 -\324\347\017\016 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\326\071\201\306\122\176\226\151\374\374\312\146\355\005\362\226 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\217\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157 -\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157 -\164\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012 -\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150 -\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061\062 -\060\060\006\003\125\004\003\023\051\123\164\141\162\146\151\145 -\154\144\040\122\157\157\164\040\103\145\162\164\151\146\151\143 -\141\164\145\040\101\165\164\150\157\162\151\164\171\040\055\040 -\107\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\000 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Starfield Services Root Certificate Authority - G2" -# -# Issuer: CN=Starfield Services Root Certificate Authority - G2,O="Starfield Technologies, Inc.",L=Scottsdale,ST=Arizona,C=US -# Serial Number: 0 (0x0) -# Subject: CN=Starfield Services Root Certificate Authority - G2,O="Starfield Technologies, Inc.",L=Scottsdale,ST=Arizona,C=US -# Not Valid Before: Tue Sep 01 00:00:00 2009 -# Not Valid After : Thu Dec 31 23:59:59 2037 -# Fingerprint (MD5): 17:35:74:AF:7B:61:1C:EB:F4:F9:3C:E2:EE:40:F9:A2 -# Fingerprint (SHA1): 92:5A:8F:8D:2C:6D:04:E0:66:5F:59:6A:FF:22:D8:63:E8:25:6F:3F -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Starfield Services Root Certificate Authority - G2" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157 -\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157 -\164\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012 -\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150 -\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061\073 -\060\071\006\003\125\004\003\023\062\123\164\141\162\146\151\145 -\154\144\040\123\145\162\166\151\143\145\163\040\122\157\157\164 -\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164 -\150\157\162\151\164\171\040\055\040\107\062 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157 -\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157 -\164\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012 -\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150 -\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061\073 -\060\071\006\003\125\004\003\023\062\123\164\141\162\146\151\145 -\154\144\040\123\145\162\166\151\143\145\163\040\122\157\157\164 -\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164 -\150\157\162\151\164\171\040\055\040\107\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\000 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\357\060\202\002\327\240\003\002\001\002\002\001\000 -\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060 -\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157\156 -\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157\164 -\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012\023 -\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150\156 -\157\154\157\147\151\145\163\054\040\111\156\143\056\061\073\060 -\071\006\003\125\004\003\023\062\123\164\141\162\146\151\145\154 -\144\040\123\145\162\166\151\143\145\163\040\122\157\157\164\040 -\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164\150 -\157\162\151\164\171\040\055\040\107\062\060\036\027\015\060\071 -\060\071\060\061\060\060\060\060\060\060\132\027\015\063\067\061 -\062\063\061\062\063\065\071\065\071\132\060\201\230\061\013\060 -\011\006\003\125\004\006\023\002\125\123\061\020\060\016\006\003 -\125\004\010\023\007\101\162\151\172\157\156\141\061\023\060\021 -\006\003\125\004\007\023\012\123\143\157\164\164\163\144\141\154 -\145\061\045\060\043\006\003\125\004\012\023\034\123\164\141\162 -\146\151\145\154\144\040\124\145\143\150\156\157\154\157\147\151 -\145\163\054\040\111\156\143\056\061\073\060\071\006\003\125\004 -\003\023\062\123\164\141\162\146\151\145\154\144\040\123\145\162 -\166\151\143\145\163\040\122\157\157\164\040\103\145\162\164\151 -\146\151\143\141\164\145\040\101\165\164\150\157\162\151\164\171 -\040\055\040\107\062\060\202\001\042\060\015\006\011\052\206\110 -\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001 -\012\002\202\001\001\000\325\014\072\304\052\371\116\342\365\276 -\031\227\137\216\210\123\261\037\077\313\317\237\040\023\155\051 -\072\310\017\175\074\367\153\166\070\143\331\066\140\250\233\136 -\134\000\200\262\057\131\177\366\207\371\045\103\206\347\151\033 -\122\232\220\341\161\343\330\055\015\116\157\366\310\111\331\266 -\363\032\126\256\053\266\164\024\353\317\373\046\343\032\272\035 -\226\056\152\073\130\224\211\107\126\377\045\240\223\160\123\203 -\332\204\164\024\303\147\236\004\150\072\337\216\100\132\035\112 -\116\317\103\221\073\347\126\326\000\160\313\122\356\173\175\256 -\072\347\274\061\371\105\366\302\140\317\023\131\002\053\200\314 -\064\107\337\271\336\220\145\155\002\317\054\221\246\246\347\336 -\205\030\111\174\146\116\243\072\155\251\265\356\064\056\272\015 -\003\270\063\337\107\353\261\153\215\045\331\233\316\201\321\105 -\106\062\226\160\207\336\002\016\111\103\205\266\154\163\273\144 -\352\141\101\254\311\324\124\337\207\057\307\042\262\046\314\237 -\131\124\150\237\374\276\052\057\304\125\034\165\100\140\027\205 -\002\125\071\213\177\005\002\003\001\000\001\243\102\060\100\060 -\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377 -\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006 -\060\035\006\003\125\035\016\004\026\004\024\234\137\000\337\252 -\001\327\060\053\070\210\242\270\155\112\234\362\021\221\203\060 -\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202 -\001\001\000\113\066\246\204\167\151\335\073\031\237\147\043\010 -\157\016\141\311\375\204\334\137\330\066\201\315\330\033\101\055 -\237\140\335\307\032\150\331\321\156\206\341\210\043\317\023\336 -\103\317\342\064\263\004\235\037\051\325\277\370\136\310\325\301 -\275\356\222\157\062\164\362\221\202\057\275\202\102\172\255\052 -\267\040\175\115\274\172\125\022\302\025\352\275\367\152\225\056 -\154\164\237\317\034\264\362\305\001\243\205\320\162\076\255\163 -\253\013\233\165\014\155\105\267\216\224\254\226\067\265\240\320 -\217\025\107\016\343\350\203\335\217\375\357\101\001\167\314\047 -\251\142\205\063\362\067\010\357\161\317\167\006\336\310\031\035 -\210\100\317\175\106\035\377\036\307\341\316\377\043\333\306\372 -\215\125\116\251\002\347\107\021\106\076\364\375\275\173\051\046 -\273\251\141\142\067\050\266\055\052\366\020\206\144\311\160\247 -\322\255\267\051\160\171\352\074\332\143\045\237\375\150\267\060 -\354\160\373\165\212\267\155\140\147\262\036\310\271\351\330\250 -\157\002\213\147\015\115\046\127\161\332\040\374\301\112\120\215 -\261\050\272 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "Starfield Services Root Certificate Authority - G2" -# Issuer: CN=Starfield Services Root Certificate Authority - G2,O="Starfield Technologies, Inc.",L=Scottsdale,ST=Arizona,C=US -# Serial Number: 0 (0x0) -# Subject: CN=Starfield Services Root Certificate Authority - G2,O="Starfield Technologies, Inc.",L=Scottsdale,ST=Arizona,C=US -# Not Valid Before: Tue Sep 01 00:00:00 2009 -# Not Valid After : Thu Dec 31 23:59:59 2037 -# Fingerprint (MD5): 17:35:74:AF:7B:61:1C:EB:F4:F9:3C:E2:EE:40:F9:A2 -# Fingerprint (SHA1): 92:5A:8F:8D:2C:6D:04:E0:66:5F:59:6A:FF:22:D8:63:E8:25:6F:3F -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Starfield Services Root Certificate Authority - G2" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\222\132\217\215\054\155\004\340\146\137\131\152\377\042\330\143 -\350\045\157\077 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\027\065\164\257\173\141\034\353\364\371\074\342\356\100\371\242 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157 -\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157 -\164\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012 -\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150 -\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061\073 -\060\071\006\003\125\004\003\023\062\123\164\141\162\146\151\145 -\154\144\040\123\145\162\166\151\143\145\163\040\122\157\157\164 -\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164 -\150\157\162\151\164\171\040\055\040\107\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\000 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "AffirmTrust Commercial" -# -# Issuer: CN=AffirmTrust Commercial,O=AffirmTrust,C=US -# Serial Number:77:77:06:27:26:a9:b1:7c -# Subject: CN=AffirmTrust Commercial,O=AffirmTrust,C=US -# Not Valid Before: Fri Jan 29 14:06:06 2010 -# Not Valid After : Tue Dec 31 14:06:06 2030 -# Fingerprint (MD5): 82:92:BA:5B:EF:CD:8A:6F:A6:3D:55:F9:84:F6:D6:B7 -# Fingerprint (SHA1): F9:B5:B6:32:45:5F:9C:BE:EC:57:5F:80:DC:E9:6E:2C:C7:B2:78:B7 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "AffirmTrust Commercial" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\104\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155 -\124\162\165\163\164\061\037\060\035\006\003\125\004\003\014\026 -\101\146\146\151\162\155\124\162\165\163\164\040\103\157\155\155 -\145\162\143\151\141\154 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\104\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155 -\124\162\165\163\164\061\037\060\035\006\003\125\004\003\014\026 -\101\146\146\151\162\155\124\162\165\163\164\040\103\157\155\155 -\145\162\143\151\141\154 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\010\167\167\006\047\046\251\261\174 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\114\060\202\002\064\240\003\002\001\002\002\010\167 -\167\006\047\046\251\261\174\060\015\006\011\052\206\110\206\367 -\015\001\001\013\005\000\060\104\061\013\060\011\006\003\125\004 -\006\023\002\125\123\061\024\060\022\006\003\125\004\012\014\013 -\101\146\146\151\162\155\124\162\165\163\164\061\037\060\035\006 -\003\125\004\003\014\026\101\146\146\151\162\155\124\162\165\163 -\164\040\103\157\155\155\145\162\143\151\141\154\060\036\027\015 -\061\060\060\061\062\071\061\064\060\066\060\066\132\027\015\063 -\060\061\062\063\061\061\064\060\066\060\066\132\060\104\061\013 -\060\011\006\003\125\004\006\023\002\125\123\061\024\060\022\006 -\003\125\004\012\014\013\101\146\146\151\162\155\124\162\165\163 -\164\061\037\060\035\006\003\125\004\003\014\026\101\146\146\151 -\162\155\124\162\165\163\164\040\103\157\155\155\145\162\143\151 -\141\154\060\202\001\042\060\015\006\011\052\206\110\206\367\015 -\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202 -\001\001\000\366\033\117\147\007\053\241\025\365\006\042\313\037 -\001\262\343\163\105\006\104\111\054\273\111\045\024\326\316\303 -\267\253\054\117\306\101\062\224\127\372\022\247\133\016\342\217 -\037\036\206\031\247\252\265\055\271\137\015\212\302\257\205\065 -\171\062\055\273\034\142\067\362\261\133\112\075\312\315\161\137 -\351\102\276\224\350\310\336\371\042\110\144\306\345\253\306\053 -\155\255\005\360\372\325\013\317\232\345\360\120\244\213\073\107 -\245\043\133\172\172\370\063\077\270\357\231\227\343\040\301\326 -\050\211\317\224\373\271\105\355\343\100\027\021\324\164\360\013 -\061\342\053\046\152\233\114\127\256\254\040\076\272\105\172\005 -\363\275\233\151\025\256\175\116\040\143\304\065\166\072\007\002 -\311\067\375\307\107\356\350\361\166\035\163\025\362\227\244\265 -\310\172\171\331\102\252\053\177\134\376\316\046\117\243\146\201 -\065\257\104\272\124\036\034\060\062\145\235\346\074\223\136\120 -\116\172\343\072\324\156\314\032\373\371\322\067\256\044\052\253 -\127\003\042\050\015\111\165\177\267\050\332\165\277\216\343\334 -\016\171\061\002\003\001\000\001\243\102\060\100\060\035\006\003 -\125\035\016\004\026\004\024\235\223\306\123\213\136\312\257\077 -\237\036\017\345\231\225\274\044\366\224\217\060\017\006\003\125 -\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003 -\125\035\017\001\001\377\004\004\003\002\001\006\060\015\006\011 -\052\206\110\206\367\015\001\001\013\005\000\003\202\001\001\000 -\130\254\364\004\016\315\300\015\377\012\375\324\272\026\137\051 -\275\173\150\231\130\111\322\264\035\067\115\177\047\175\106\006 -\135\103\306\206\056\076\163\262\046\175\117\223\251\266\304\052 -\232\253\041\227\024\261\336\214\323\253\211\025\330\153\044\324 -\361\026\256\330\244\134\324\177\121\216\355\030\001\261\223\143 -\275\274\370\141\200\232\236\261\316\102\160\342\251\175\006\045 -\175\047\241\376\157\354\263\036\044\332\343\113\125\032\000\073 -\065\264\073\331\327\135\060\375\201\023\211\362\302\006\053\355 -\147\304\216\311\103\262\134\153\025\211\002\274\142\374\116\362 -\265\063\252\262\157\323\012\242\120\343\366\073\350\056\104\302 -\333\146\070\251\063\126\110\361\155\033\063\215\015\214\077\140 -\067\235\323\312\155\176\064\176\015\237\162\166\213\033\237\162 -\375\122\065\101\105\002\226\057\034\262\232\163\111\041\261\111 -\107\105\107\264\357\152\064\021\311\115\232\314\131\267\326\002 -\236\132\116\145\265\224\256\033\337\051\260\026\361\277\000\236 -\007\072\027\144\265\004\265\043\041\231\012\225\073\227\174\357 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "AffirmTrust Commercial" -# Issuer: CN=AffirmTrust Commercial,O=AffirmTrust,C=US -# Serial Number:77:77:06:27:26:a9:b1:7c -# Subject: CN=AffirmTrust Commercial,O=AffirmTrust,C=US -# Not Valid Before: Fri Jan 29 14:06:06 2010 -# Not Valid After : Tue Dec 31 14:06:06 2030 -# Fingerprint (MD5): 82:92:BA:5B:EF:CD:8A:6F:A6:3D:55:F9:84:F6:D6:B7 -# Fingerprint (SHA1): F9:B5:B6:32:45:5F:9C:BE:EC:57:5F:80:DC:E9:6E:2C:C7:B2:78:B7 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "AffirmTrust Commercial" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\371\265\266\062\105\137\234\276\354\127\137\200\334\351\156\054 -\307\262\170\267 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\202\222\272\133\357\315\212\157\246\075\125\371\204\366\326\267 -END -CKA_ISSUER MULTILINE_OCTAL -\060\104\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155 -\124\162\165\163\164\061\037\060\035\006\003\125\004\003\014\026 -\101\146\146\151\162\155\124\162\165\163\164\040\103\157\155\155 -\145\162\143\151\141\154 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\010\167\167\006\047\046\251\261\174 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "AffirmTrust Networking" -# -# Issuer: CN=AffirmTrust Networking,O=AffirmTrust,C=US -# Serial Number:7c:4f:04:39:1c:d4:99:2d -# Subject: CN=AffirmTrust Networking,O=AffirmTrust,C=US -# Not Valid Before: Fri Jan 29 14:08:24 2010 -# Not Valid After : Tue Dec 31 14:08:24 2030 -# Fingerprint (MD5): 42:65:CA:BE:01:9A:9A:4C:A9:8C:41:49:CD:C0:D5:7F -# Fingerprint (SHA1): 29:36:21:02:8B:20:ED:02:F5:66:C5:32:D1:D6:ED:90:9F:45:00:2F -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "AffirmTrust Networking" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\104\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155 -\124\162\165\163\164\061\037\060\035\006\003\125\004\003\014\026 -\101\146\146\151\162\155\124\162\165\163\164\040\116\145\164\167 -\157\162\153\151\156\147 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\104\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155 -\124\162\165\163\164\061\037\060\035\006\003\125\004\003\014\026 -\101\146\146\151\162\155\124\162\165\163\164\040\116\145\164\167 -\157\162\153\151\156\147 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\010\174\117\004\071\034\324\231\055 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\114\060\202\002\064\240\003\002\001\002\002\010\174 -\117\004\071\034\324\231\055\060\015\006\011\052\206\110\206\367 -\015\001\001\005\005\000\060\104\061\013\060\011\006\003\125\004 -\006\023\002\125\123\061\024\060\022\006\003\125\004\012\014\013 -\101\146\146\151\162\155\124\162\165\163\164\061\037\060\035\006 -\003\125\004\003\014\026\101\146\146\151\162\155\124\162\165\163 -\164\040\116\145\164\167\157\162\153\151\156\147\060\036\027\015 -\061\060\060\061\062\071\061\064\060\070\062\064\132\027\015\063 -\060\061\062\063\061\061\064\060\070\062\064\132\060\104\061\013 -\060\011\006\003\125\004\006\023\002\125\123\061\024\060\022\006 -\003\125\004\012\014\013\101\146\146\151\162\155\124\162\165\163 -\164\061\037\060\035\006\003\125\004\003\014\026\101\146\146\151 -\162\155\124\162\165\163\164\040\116\145\164\167\157\162\153\151 -\156\147\060\202\001\042\060\015\006\011\052\206\110\206\367\015 -\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202 -\001\001\000\264\204\314\063\027\056\153\224\154\153\141\122\240 -\353\243\317\171\224\114\345\224\200\231\313\125\144\104\145\217 -\147\144\342\006\343\134\067\111\366\057\233\204\204\036\055\362 -\140\235\060\116\314\204\205\342\054\317\036\236\376\066\253\063 -\167\065\104\330\065\226\032\075\066\350\172\016\330\325\107\241 -\152\151\213\331\374\273\072\256\171\132\325\364\326\161\273\232 -\220\043\153\232\267\210\164\207\014\036\137\271\236\055\372\253 -\123\053\334\273\166\076\223\114\010\010\214\036\242\043\034\324 -\152\255\042\272\231\001\056\155\145\313\276\044\146\125\044\113 -\100\104\261\033\327\341\302\205\300\336\020\077\075\355\270\374 -\361\361\043\123\334\277\145\227\157\331\371\100\161\215\175\275 -\225\324\316\276\240\136\047\043\336\375\246\320\046\016\000\051 -\353\074\106\360\075\140\277\077\120\322\334\046\101\121\236\024 -\067\102\004\243\160\127\250\033\207\355\055\372\173\356\214\012 -\343\251\146\211\031\313\101\371\335\104\066\141\317\342\167\106 -\310\175\366\364\222\201\066\375\333\064\361\162\176\363\014\026 -\275\264\025\002\003\001\000\001\243\102\060\100\060\035\006\003 -\125\035\016\004\026\004\024\007\037\322\347\234\332\302\156\242 -\100\264\260\172\120\020\120\164\304\310\275\060\017\006\003\125 -\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003 -\125\035\017\001\001\377\004\004\003\002\001\006\060\015\006\011 -\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000 -\211\127\262\026\172\250\302\375\326\331\233\233\064\302\234\264 -\062\024\115\247\244\337\354\276\247\276\370\103\333\221\067\316 -\264\062\056\120\125\032\065\116\166\103\161\040\357\223\167\116 -\025\160\056\207\303\301\035\155\334\313\265\047\324\054\126\321 -\122\123\072\104\322\163\310\304\033\005\145\132\142\222\234\356 -\101\215\061\333\347\064\352\131\041\325\001\172\327\144\270\144 -\071\315\311\355\257\355\113\003\110\247\240\231\001\200\334\145 -\243\066\256\145\131\110\117\202\113\310\145\361\127\035\345\131 -\056\012\077\154\330\321\365\345\011\264\154\124\000\012\340\025 -\115\207\165\155\267\130\226\132\335\155\322\000\240\364\233\110 -\276\303\067\244\272\066\340\174\207\205\227\032\025\242\336\056 -\242\133\275\257\030\371\220\120\315\160\131\370\047\147\107\313 -\307\240\007\072\175\321\054\135\154\031\072\146\265\175\375\221 -\157\202\261\276\010\223\333\024\107\361\242\067\307\105\236\074 -\307\167\257\144\250\223\337\366\151\203\202\140\362\111\102\064 -\355\132\000\124\205\034\026\066\222\014\134\372\246\255\277\333 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "AffirmTrust Networking" -# Issuer: CN=AffirmTrust Networking,O=AffirmTrust,C=US -# Serial Number:7c:4f:04:39:1c:d4:99:2d -# Subject: CN=AffirmTrust Networking,O=AffirmTrust,C=US -# Not Valid Before: Fri Jan 29 14:08:24 2010 -# Not Valid After : Tue Dec 31 14:08:24 2030 -# Fingerprint (MD5): 42:65:CA:BE:01:9A:9A:4C:A9:8C:41:49:CD:C0:D5:7F -# Fingerprint (SHA1): 29:36:21:02:8B:20:ED:02:F5:66:C5:32:D1:D6:ED:90:9F:45:00:2F -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "AffirmTrust Networking" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\051\066\041\002\213\040\355\002\365\146\305\062\321\326\355\220 -\237\105\000\057 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\102\145\312\276\001\232\232\114\251\214\101\111\315\300\325\177 -END -CKA_ISSUER MULTILINE_OCTAL -\060\104\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155 -\124\162\165\163\164\061\037\060\035\006\003\125\004\003\014\026 -\101\146\146\151\162\155\124\162\165\163\164\040\116\145\164\167 -\157\162\153\151\156\147 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\010\174\117\004\071\034\324\231\055 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "AffirmTrust Premium" -# -# Issuer: CN=AffirmTrust Premium,O=AffirmTrust,C=US -# Serial Number:6d:8c:14:46:b1:a6:0a:ee -# Subject: CN=AffirmTrust Premium,O=AffirmTrust,C=US -# Not Valid Before: Fri Jan 29 14:10:36 2010 -# Not Valid After : Mon Dec 31 14:10:36 2040 -# Fingerprint (MD5): C4:5D:0E:48:B6:AC:28:30:4E:0A:BC:F9:38:16:87:57 -# Fingerprint (SHA1): D8:A6:33:2C:E0:03:6F:B1:85:F6:63:4F:7D:6A:06:65:26:32:28:27 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "AffirmTrust Premium" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\101\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155 -\124\162\165\163\164\061\034\060\032\006\003\125\004\003\014\023 -\101\146\146\151\162\155\124\162\165\163\164\040\120\162\145\155 -\151\165\155 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\101\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155 -\124\162\165\163\164\061\034\060\032\006\003\125\004\003\014\023 -\101\146\146\151\162\155\124\162\165\163\164\040\120\162\145\155 -\151\165\155 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\010\155\214\024\106\261\246\012\356 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\106\060\202\003\056\240\003\002\001\002\002\010\155 -\214\024\106\261\246\012\356\060\015\006\011\052\206\110\206\367 -\015\001\001\014\005\000\060\101\061\013\060\011\006\003\125\004 -\006\023\002\125\123\061\024\060\022\006\003\125\004\012\014\013 -\101\146\146\151\162\155\124\162\165\163\164\061\034\060\032\006 -\003\125\004\003\014\023\101\146\146\151\162\155\124\162\165\163 -\164\040\120\162\145\155\151\165\155\060\036\027\015\061\060\060 -\061\062\071\061\064\061\060\063\066\132\027\015\064\060\061\062 -\063\061\061\064\061\060\063\066\132\060\101\061\013\060\011\006 -\003\125\004\006\023\002\125\123\061\024\060\022\006\003\125\004 -\012\014\013\101\146\146\151\162\155\124\162\165\163\164\061\034 -\060\032\006\003\125\004\003\014\023\101\146\146\151\162\155\124 -\162\165\163\164\040\120\162\145\155\151\165\155\060\202\002\042 -\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003 -\202\002\017\000\060\202\002\012\002\202\002\001\000\304\022\337 -\251\137\376\101\335\335\365\237\212\343\366\254\341\074\170\232 -\274\330\360\177\172\240\063\052\334\215\040\133\256\055\157\347 -\223\331\066\160\152\150\317\216\121\243\205\133\147\004\240\020 -\044\157\135\050\202\301\227\127\330\110\051\023\266\341\276\221 -\115\337\205\014\123\030\232\036\044\242\117\217\360\242\205\013 -\313\364\051\177\322\244\130\356\046\115\311\252\250\173\232\331 -\372\070\336\104\127\025\345\370\214\310\331\110\342\015\026\047 -\035\036\310\203\205\045\267\272\252\125\101\314\003\042\113\055 -\221\215\213\346\211\257\146\307\351\377\053\351\074\254\332\322 -\263\303\341\150\234\211\370\172\000\126\336\364\125\225\154\373 -\272\144\335\142\213\337\013\167\062\353\142\314\046\232\233\273 -\252\142\203\114\264\006\172\060\310\051\277\355\006\115\227\271 -\034\304\061\053\325\137\274\123\022\027\234\231\127\051\146\167 -\141\041\061\007\056\045\111\235\030\362\356\363\053\161\214\265 -\272\071\007\111\167\374\357\056\222\220\005\215\055\057\167\173 -\357\103\277\065\273\232\330\371\163\247\054\362\320\127\356\050 -\116\046\137\217\220\150\011\057\270\370\334\006\351\056\232\076 -\121\247\321\042\304\012\247\070\110\154\263\371\377\175\253\206 -\127\343\272\326\205\170\167\272\103\352\110\177\366\330\276\043 -\155\036\277\321\066\154\130\134\361\356\244\031\124\032\365\003 -\322\166\346\341\214\275\074\263\323\110\113\342\310\370\177\222 -\250\166\106\234\102\145\076\244\036\301\007\003\132\106\055\270 -\227\363\267\325\262\125\041\357\272\334\114\000\227\373\024\225 -\047\063\277\350\103\107\106\322\010\231\026\140\073\232\176\322 -\346\355\070\352\354\001\036\074\110\126\111\011\307\114\067\000 -\236\210\016\300\163\341\157\146\351\162\107\060\076\020\345\013 -\003\311\232\102\000\154\305\224\176\141\304\212\337\177\202\032 -\013\131\304\131\062\167\263\274\140\151\126\071\375\264\006\173 -\054\326\144\066\331\275\110\355\204\037\176\245\042\217\052\270 -\102\364\202\267\324\123\220\170\116\055\032\375\201\157\104\327 -\073\001\164\226\102\340\000\342\056\153\352\305\356\162\254\273 -\277\376\352\252\250\370\334\366\262\171\212\266\147\002\003\001 -\000\001\243\102\060\100\060\035\006\003\125\035\016\004\026\004 -\024\235\300\147\246\014\042\331\046\365\105\253\246\145\122\021 -\047\330\105\254\143\060\017\006\003\125\035\023\001\001\377\004 -\005\060\003\001\001\377\060\016\006\003\125\035\017\001\001\377 -\004\004\003\002\001\006\060\015\006\011\052\206\110\206\367\015 -\001\001\014\005\000\003\202\002\001\000\263\127\115\020\142\116 -\072\344\254\352\270\034\257\062\043\310\263\111\132\121\234\166 -\050\215\171\252\127\106\027\325\365\122\366\267\104\350\010\104 -\277\030\204\322\013\200\315\305\022\375\000\125\005\141\207\101 -\334\265\044\236\074\304\330\310\373\160\236\057\170\226\203\040 -\066\336\174\017\151\023\210\245\165\066\230\010\246\306\337\254 -\316\343\130\326\267\076\336\272\363\353\064\100\330\242\201\365 -\170\077\057\325\245\374\331\242\324\136\004\016\027\255\376\101 -\360\345\262\162\372\104\202\063\102\350\055\130\367\126\214\142 -\077\272\102\260\234\014\134\176\056\145\046\134\123\117\000\262 -\170\176\241\015\231\055\215\270\035\216\242\304\260\375\140\320 -\060\244\216\310\004\142\251\304\355\065\336\172\227\355\016\070 -\136\222\057\223\160\245\251\234\157\247\175\023\035\176\306\010 -\110\261\136\147\353\121\010\045\351\346\045\153\122\051\221\234 -\322\071\163\010\127\336\231\006\264\133\235\020\006\341\302\000 -\250\270\034\112\002\012\024\320\301\101\312\373\214\065\041\175 -\202\070\362\251\124\221\031\065\223\224\155\152\072\305\262\320 -\273\211\206\223\350\233\311\017\072\247\172\270\241\360\170\106 -\372\374\067\057\345\212\204\363\337\376\004\331\241\150\240\057 -\044\342\011\225\006\325\225\312\341\044\226\353\174\366\223\005 -\273\355\163\351\055\321\165\071\327\347\044\333\330\116\137\103 -\217\236\320\024\071\277\125\160\110\231\127\061\264\234\356\112 -\230\003\226\060\037\140\006\356\033\043\376\201\140\043\032\107 -\142\205\245\314\031\064\200\157\263\254\032\343\237\360\173\110 -\255\325\001\331\147\266\251\162\223\352\055\146\265\262\270\344 -\075\074\262\357\114\214\352\353\007\277\253\065\232\125\206\274 -\030\246\265\250\136\264\203\154\153\151\100\323\237\334\361\303 -\151\153\271\341\155\011\364\361\252\120\166\012\172\175\172\027 -\241\125\226\102\231\061\011\335\140\021\215\005\060\176\346\216 -\106\321\235\024\332\307\027\344\005\226\214\304\044\265\033\317 -\024\007\262\100\370\243\236\101\206\274\004\320\153\226\310\052 -\200\064\375\277\357\006\243\335\130\305\205\075\076\217\376\236 -\051\340\266\270\011\150\031\034\030\103 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "AffirmTrust Premium" -# Issuer: CN=AffirmTrust Premium,O=AffirmTrust,C=US -# Serial Number:6d:8c:14:46:b1:a6:0a:ee -# Subject: CN=AffirmTrust Premium,O=AffirmTrust,C=US -# Not Valid Before: Fri Jan 29 14:10:36 2010 -# Not Valid After : Mon Dec 31 14:10:36 2040 -# Fingerprint (MD5): C4:5D:0E:48:B6:AC:28:30:4E:0A:BC:F9:38:16:87:57 -# Fingerprint (SHA1): D8:A6:33:2C:E0:03:6F:B1:85:F6:63:4F:7D:6A:06:65:26:32:28:27 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "AffirmTrust Premium" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\330\246\063\054\340\003\157\261\205\366\143\117\175\152\006\145 -\046\062\050\047 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\304\135\016\110\266\254\050\060\116\012\274\371\070\026\207\127 -END -CKA_ISSUER MULTILINE_OCTAL -\060\101\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155 -\124\162\165\163\164\061\034\060\032\006\003\125\004\003\014\023 -\101\146\146\151\162\155\124\162\165\163\164\040\120\162\145\155 -\151\165\155 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\010\155\214\024\106\261\246\012\356 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "AffirmTrust Premium ECC" -# -# Issuer: CN=AffirmTrust Premium ECC,O=AffirmTrust,C=US -# Serial Number:74:97:25:8a:c7:3f:7a:54 -# Subject: CN=AffirmTrust Premium ECC,O=AffirmTrust,C=US -# Not Valid Before: Fri Jan 29 14:20:24 2010 -# Not Valid After : Mon Dec 31 14:20:24 2040 -# Fingerprint (MD5): 64:B0:09:55:CF:B1:D5:99:E2:BE:13:AB:A6:5D:EA:4D -# Fingerprint (SHA1): B8:23:6B:00:2F:1D:16:86:53:01:55:6C:11:A4:37:CA:EB:FF:C3:BB -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "AffirmTrust Premium ECC" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\105\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155 -\124\162\165\163\164\061\040\060\036\006\003\125\004\003\014\027 -\101\146\146\151\162\155\124\162\165\163\164\040\120\162\145\155 -\151\165\155\040\105\103\103 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\105\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155 -\124\162\165\163\164\061\040\060\036\006\003\125\004\003\014\027 -\101\146\146\151\162\155\124\162\165\163\164\040\120\162\145\155 -\151\165\155\040\105\103\103 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\010\164\227\045\212\307\077\172\124 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\001\376\060\202\001\205\240\003\002\001\002\002\010\164 -\227\045\212\307\077\172\124\060\012\006\010\052\206\110\316\075 -\004\003\003\060\105\061\013\060\011\006\003\125\004\006\023\002 -\125\123\061\024\060\022\006\003\125\004\012\014\013\101\146\146 -\151\162\155\124\162\165\163\164\061\040\060\036\006\003\125\004 -\003\014\027\101\146\146\151\162\155\124\162\165\163\164\040\120 -\162\145\155\151\165\155\040\105\103\103\060\036\027\015\061\060 -\060\061\062\071\061\064\062\060\062\064\132\027\015\064\060\061 -\062\063\061\061\064\062\060\062\064\132\060\105\061\013\060\011 -\006\003\125\004\006\023\002\125\123\061\024\060\022\006\003\125 -\004\012\014\013\101\146\146\151\162\155\124\162\165\163\164\061 -\040\060\036\006\003\125\004\003\014\027\101\146\146\151\162\155 -\124\162\165\163\164\040\120\162\145\155\151\165\155\040\105\103 -\103\060\166\060\020\006\007\052\206\110\316\075\002\001\006\005 -\053\201\004\000\042\003\142\000\004\015\060\136\033\025\235\003 -\320\241\171\065\267\072\074\222\172\312\025\034\315\142\363\234 -\046\134\007\075\345\124\372\243\326\314\022\352\364\024\137\350 -\216\031\253\057\056\110\346\254\030\103\170\254\320\067\303\275 -\262\315\054\346\107\342\032\346\143\270\075\056\057\170\304\117 -\333\364\017\244\150\114\125\162\153\225\035\116\030\102\225\170 -\314\067\074\221\342\233\145\053\051\243\102\060\100\060\035\006 -\003\125\035\016\004\026\004\024\232\257\051\172\300\021\065\065 -\046\121\060\000\303\152\376\100\325\256\326\074\060\017\006\003 -\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006 -\003\125\035\017\001\001\377\004\004\003\002\001\006\060\012\006 -\010\052\206\110\316\075\004\003\003\003\147\000\060\144\002\060 -\027\011\363\207\210\120\132\257\310\300\102\277\107\137\365\154 -\152\206\340\304\047\164\344\070\123\327\005\177\033\064\343\306 -\057\263\312\011\074\067\235\327\347\270\106\361\375\241\342\161 -\002\060\102\131\207\103\324\121\337\272\323\011\062\132\316\210 -\176\127\075\234\137\102\153\365\007\055\265\360\202\223\371\131 -\157\256\144\372\130\345\213\036\343\143\276\265\201\315\157\002 -\214\171 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "AffirmTrust Premium ECC" -# Issuer: CN=AffirmTrust Premium ECC,O=AffirmTrust,C=US -# Serial Number:74:97:25:8a:c7:3f:7a:54 -# Subject: CN=AffirmTrust Premium ECC,O=AffirmTrust,C=US -# Not Valid Before: Fri Jan 29 14:20:24 2010 -# Not Valid After : Mon Dec 31 14:20:24 2040 -# Fingerprint (MD5): 64:B0:09:55:CF:B1:D5:99:E2:BE:13:AB:A6:5D:EA:4D -# Fingerprint (SHA1): B8:23:6B:00:2F:1D:16:86:53:01:55:6C:11:A4:37:CA:EB:FF:C3:BB -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "AffirmTrust Premium ECC" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\270\043\153\000\057\035\026\206\123\001\125\154\021\244\067\312 -\353\377\303\273 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\144\260\011\125\317\261\325\231\342\276\023\253\246\135\352\115 -END -CKA_ISSUER MULTILINE_OCTAL -\060\105\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155 -\124\162\165\163\164\061\040\060\036\006\003\125\004\003\014\027 -\101\146\146\151\162\155\124\162\165\163\164\040\120\162\145\155 -\151\165\155\040\105\103\103 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\010\164\227\045\212\307\077\172\124 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Certum Trusted Network CA" -# -# Issuer: CN=Certum Trusted Network CA,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL -# Serial Number: 279744 (0x444c0) -# Subject: CN=Certum Trusted Network CA,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL -# Not Valid Before: Wed Oct 22 12:07:37 2008 -# Not Valid After : Mon Dec 31 12:07:37 2029 -# Fingerprint (MD5): D5:E9:81:40:C5:18:69:FC:46:2C:89:75:62:0F:AA:78 -# Fingerprint (SHA1): 07:E0:32:E0:20:B7:2C:3F:19:2F:06:28:A2:59:3A:19:A7:0F:06:9E -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Certum Trusted Network CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\176\061\013\060\011\006\003\125\004\006\023\002\120\114\061 -\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145\164 -\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040\123 -\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103\145 -\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164\151 -\157\156\040\101\165\164\150\157\162\151\164\171\061\042\060\040 -\006\003\125\004\003\023\031\103\145\162\164\165\155\040\124\162 -\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103\101 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\176\061\013\060\011\006\003\125\004\006\023\002\120\114\061 -\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145\164 -\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040\123 -\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103\145 -\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164\151 -\157\156\040\101\165\164\150\157\162\151\164\171\061\042\060\040 -\006\003\125\004\003\023\031\103\145\162\164\165\155\040\124\162 -\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\003\004\104\300 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\273\060\202\002\243\240\003\002\001\002\002\003\004 -\104\300\060\015\006\011\052\206\110\206\367\015\001\001\005\005 -\000\060\176\061\013\060\011\006\003\125\004\006\023\002\120\114 -\061\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145 -\164\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040 -\123\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103 -\145\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164 -\151\157\156\040\101\165\164\150\157\162\151\164\171\061\042\060 -\040\006\003\125\004\003\023\031\103\145\162\164\165\155\040\124 -\162\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103 -\101\060\036\027\015\060\070\061\060\062\062\061\062\060\067\063 -\067\132\027\015\062\071\061\062\063\061\061\062\060\067\063\067 -\132\060\176\061\013\060\011\006\003\125\004\006\023\002\120\114 -\061\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145 -\164\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040 -\123\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103 -\145\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164 -\151\157\156\040\101\165\164\150\157\162\151\164\171\061\042\060 -\040\006\003\125\004\003\023\031\103\145\162\164\165\155\040\124 -\162\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103 -\101\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001 -\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001 -\001\000\343\373\175\243\162\272\302\360\311\024\207\365\153\001 -\116\341\156\100\007\272\155\047\135\177\367\133\055\263\132\307 -\121\137\253\244\062\246\141\207\266\156\017\206\322\060\002\227 -\370\327\151\127\241\030\071\135\152\144\171\306\001\131\254\074 -\061\112\070\174\322\004\322\113\050\350\040\137\073\007\242\314 -\115\163\333\363\256\117\307\126\325\132\247\226\211\372\363\253 -\150\324\043\206\131\047\317\011\047\274\254\156\162\203\034\060 -\162\337\340\242\351\322\341\164\165\031\275\052\236\173\025\124 -\004\033\327\103\071\255\125\050\305\342\032\273\364\300\344\256 -\070\111\063\314\166\205\237\071\105\322\244\236\362\022\214\121 -\370\174\344\055\177\365\254\137\353\026\237\261\055\321\272\314 -\221\102\167\114\045\311\220\070\157\333\360\314\373\216\036\227 -\131\076\325\140\116\346\005\050\355\111\171\023\113\272\110\333 -\057\371\162\323\071\312\376\037\330\064\162\365\264\100\317\061 -\001\303\354\336\021\055\027\135\037\270\120\321\136\031\247\151 -\336\007\063\050\312\120\225\371\247\124\313\124\206\120\105\251 -\371\111\002\003\001\000\001\243\102\060\100\060\017\006\003\125 -\035\023\001\001\377\004\005\060\003\001\001\377\060\035\006\003 -\125\035\016\004\026\004\024\010\166\315\313\007\377\044\366\305 -\315\355\273\220\274\342\204\067\106\165\367\060\016\006\003\125 -\035\017\001\001\377\004\004\003\002\001\006\060\015\006\011\052 -\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000\246 -\250\255\042\316\001\075\246\243\377\142\320\110\235\213\136\162 -\260\170\104\343\334\034\257\011\375\043\110\372\275\052\304\271 -\125\004\265\020\243\215\047\336\013\202\143\320\356\336\014\067 -\171\101\133\042\262\260\232\101\134\246\160\340\324\320\167\313 -\043\323\000\340\154\126\057\341\151\015\015\331\252\277\041\201 -\120\331\006\245\250\377\225\067\320\252\376\342\263\365\231\055 -\105\204\212\345\102\011\327\164\002\057\367\211\330\231\351\274 -\047\324\107\215\272\015\106\034\167\317\024\244\034\271\244\061 -\304\234\050\164\003\064\377\063\031\046\245\351\015\164\267\076 -\227\306\166\350\047\226\243\146\335\341\256\362\101\133\312\230 -\126\203\163\160\344\206\032\322\061\101\272\057\276\055\023\132 -\166\157\116\350\116\201\016\077\133\003\042\240\022\276\146\130 -\021\112\313\003\304\264\052\052\055\226\027\340\071\124\274\110 -\323\166\047\235\232\055\006\246\311\354\071\322\253\333\237\232 -\013\047\002\065\051\261\100\225\347\371\350\234\125\210\031\106 -\326\267\064\365\176\316\071\232\331\070\361\121\367\117\054 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "Certum Trusted Network CA" -# Issuer: CN=Certum Trusted Network CA,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL -# Serial Number: 279744 (0x444c0) -# Subject: CN=Certum Trusted Network CA,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL -# Not Valid Before: Wed Oct 22 12:07:37 2008 -# Not Valid After : Mon Dec 31 12:07:37 2029 -# Fingerprint (MD5): D5:E9:81:40:C5:18:69:FC:46:2C:89:75:62:0F:AA:78 -# Fingerprint (SHA1): 07:E0:32:E0:20:B7:2C:3F:19:2F:06:28:A2:59:3A:19:A7:0F:06:9E -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Certum Trusted Network CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\007\340\062\340\040\267\054\077\031\057\006\050\242\131\072\031 -\247\017\006\236 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\325\351\201\100\305\030\151\374\106\054\211\165\142\017\252\170 -END -CKA_ISSUER MULTILINE_OCTAL -\060\176\061\013\060\011\006\003\125\004\006\023\002\120\114\061 -\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145\164 -\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040\123 -\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103\145 -\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164\151 -\157\156\040\101\165\164\150\157\162\151\164\171\061\042\060\040 -\006\003\125\004\003\023\031\103\145\162\164\165\155\040\124\162 -\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\003\004\104\300 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "TWCA Root Certification Authority" -# -# Issuer: CN=TWCA Root Certification Authority,OU=Root CA,O=TAIWAN-CA,C=TW -# Serial Number: 1 (0x1) -# Subject: CN=TWCA Root Certification Authority,OU=Root CA,O=TAIWAN-CA,C=TW -# Not Valid Before: Thu Aug 28 07:24:33 2008 -# Not Valid After : Tue Dec 31 15:59:59 2030 -# Fingerprint (MD5): AA:08:8F:F6:F9:7B:B7:F2:B1:A7:1E:9B:EA:EA:BD:79 -# Fingerprint (SHA1): CF:9E:87:6D:D3:EB:FC:42:26:97:A3:B5:A3:7A:A0:76:A9:06:23:48 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "TWCA Root Certification Authority" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\137\061\013\060\011\006\003\125\004\006\023\002\124\127\061 -\022\060\020\006\003\125\004\012\014\011\124\101\111\127\101\116 -\055\103\101\061\020\060\016\006\003\125\004\013\014\007\122\157 -\157\164\040\103\101\061\052\060\050\006\003\125\004\003\014\041 -\124\127\103\101\040\122\157\157\164\040\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\137\061\013\060\011\006\003\125\004\006\023\002\124\127\061 -\022\060\020\006\003\125\004\012\014\011\124\101\111\127\101\116 -\055\103\101\061\020\060\016\006\003\125\004\013\014\007\122\157 -\157\164\040\103\101\061\052\060\050\006\003\125\004\003\014\041 -\124\127\103\101\040\122\157\157\164\040\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\001 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\173\060\202\002\143\240\003\002\001\002\002\001\001 -\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 -\137\061\013\060\011\006\003\125\004\006\023\002\124\127\061\022 -\060\020\006\003\125\004\012\014\011\124\101\111\127\101\116\055 -\103\101\061\020\060\016\006\003\125\004\013\014\007\122\157\157 -\164\040\103\101\061\052\060\050\006\003\125\004\003\014\041\124 -\127\103\101\040\122\157\157\164\040\103\145\162\164\151\146\151 -\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 -\060\036\027\015\060\070\060\070\062\070\060\067\062\064\063\063 -\132\027\015\063\060\061\062\063\061\061\065\065\071\065\071\132 -\060\137\061\013\060\011\006\003\125\004\006\023\002\124\127\061 -\022\060\020\006\003\125\004\012\014\011\124\101\111\127\101\116 -\055\103\101\061\020\060\016\006\003\125\004\013\014\007\122\157 -\157\164\040\103\101\061\052\060\050\006\003\125\004\003\014\041 -\124\127\103\101\040\122\157\157\164\040\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001 -\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001 -\001\000\260\176\162\270\244\003\224\346\247\336\011\070\221\112 -\021\100\207\247\174\131\144\024\173\265\021\020\335\376\277\325 -\300\273\126\342\205\045\364\065\162\017\370\123\320\101\341\104 -\001\302\264\034\303\061\102\026\107\205\063\042\166\262\012\157 -\017\345\045\120\117\205\206\276\277\230\056\020\147\036\276\021 -\005\206\005\220\304\131\320\174\170\020\260\200\134\267\341\307 -\053\165\313\174\237\256\265\321\235\043\067\143\247\334\102\242 -\055\222\004\033\120\301\173\270\076\033\311\126\004\213\057\122 -\233\255\251\126\351\301\377\255\251\130\207\060\266\201\367\227 -\105\374\031\127\073\053\157\344\107\364\231\105\376\035\361\370 -\227\243\210\035\067\034\134\217\340\166\045\232\120\370\240\124 -\377\104\220\166\043\322\062\306\303\253\006\277\374\373\277\363 -\255\175\222\142\002\133\051\323\065\243\223\232\103\144\140\135 -\262\372\062\377\073\004\257\115\100\152\371\307\343\357\043\375 -\153\313\345\017\213\070\015\356\012\374\376\017\230\237\060\061 -\335\154\122\145\371\213\201\276\042\341\034\130\003\272\221\033 -\211\007\002\003\001\000\001\243\102\060\100\060\016\006\003\125 -\035\017\001\001\377\004\004\003\002\001\006\060\017\006\003\125 -\035\023\001\001\377\004\005\060\003\001\001\377\060\035\006\003 -\125\035\016\004\026\004\024\152\070\133\046\215\336\213\132\362 -\117\172\124\203\031\030\343\010\065\246\272\060\015\006\011\052 -\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000\074 -\325\167\075\332\337\211\272\207\014\010\124\152\040\120\222\276 -\260\101\075\271\046\144\203\012\057\350\100\300\227\050\047\202 -\060\112\311\223\377\152\347\246\000\177\211\102\232\326\021\345 -\123\316\057\314\362\332\005\304\376\342\120\304\072\206\175\314 -\332\176\020\011\073\222\065\052\123\262\376\353\053\005\331\154 -\135\346\320\357\323\152\146\236\025\050\205\172\350\202\000\254 -\036\247\011\151\126\102\323\150\121\030\276\124\232\277\104\101 -\272\111\276\040\272\151\134\356\270\167\315\316\154\037\255\203 -\226\030\175\016\265\024\071\204\361\050\351\055\243\236\173\036 -\172\162\132\203\263\171\157\357\264\374\320\012\245\130\117\106 -\337\373\155\171\131\362\204\042\122\256\017\314\373\174\073\347 -\152\312\107\141\303\172\370\323\222\004\037\270\040\204\341\066 -\124\026\307\100\336\073\212\163\334\337\306\011\114\337\354\332 -\377\324\123\102\241\311\362\142\035\042\203\074\227\305\371\031 -\142\047\254\145\042\327\323\074\306\345\216\262\123\314\111\316 -\274\060\376\173\016\063\220\373\355\322\024\221\037\007\257 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "TWCA Root Certification Authority" -# Issuer: CN=TWCA Root Certification Authority,OU=Root CA,O=TAIWAN-CA,C=TW -# Serial Number: 1 (0x1) -# Subject: CN=TWCA Root Certification Authority,OU=Root CA,O=TAIWAN-CA,C=TW -# Not Valid Before: Thu Aug 28 07:24:33 2008 -# Not Valid After : Tue Dec 31 15:59:59 2030 -# Fingerprint (MD5): AA:08:8F:F6:F9:7B:B7:F2:B1:A7:1E:9B:EA:EA:BD:79 -# Fingerprint (SHA1): CF:9E:87:6D:D3:EB:FC:42:26:97:A3:B5:A3:7A:A0:76:A9:06:23:48 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "TWCA Root Certification Authority" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\317\236\207\155\323\353\374\102\046\227\243\265\243\172\240\166 -\251\006\043\110 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\252\010\217\366\371\173\267\362\261\247\036\233\352\352\275\171 -END -CKA_ISSUER MULTILINE_OCTAL -\060\137\061\013\060\011\006\003\125\004\006\023\002\124\127\061 -\022\060\020\006\003\125\004\012\014\011\124\101\111\127\101\116 -\055\103\101\061\020\060\016\006\003\125\004\013\014\007\122\157 -\157\164\040\103\101\061\052\060\050\006\003\125\004\003\014\041 -\124\127\103\101\040\122\157\157\164\040\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\001 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Explicitly Distrust DigiNotar Root CA" -# -# Issuer: E=info@diginotar.nl,CN=DigiNotar Root CA,O=DigiNotar,C=NL -# Serial Number:0f:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff -# Subject: E=info@diginotar.nl,CN=DigiNotar Root CA,O=DigiNotar,C=NL -# Not Valid Before: Fri Jul 27 17:19:37 2007 -# Not Valid After : Mon Mar 31 18:19:22 2025 -# Fingerprint (MD5): 0A:A4:D5:CC:BA:B4:FB:A3:59:E3:E6:01:DD:53:D9:4E -# Fingerprint (SHA1): C1:77:CB:4B:E0:B4:26:8E:F5:C7:CF:45:99:22:B9:B0:CE:BA:21:2F -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Explicitly Distrust DigiNotar Root CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\137\061\013\060\011\006\003\125\004\006\023\002\116\114\061 -\022\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157 -\164\141\162\061\032\060\030\006\003\125\004\003\023\021\104\151 -\147\151\116\157\164\141\162\040\122\157\157\164\040\103\101\061 -\040\060\036\006\011\052\206\110\206\367\015\001\011\001\026\021 -\151\156\146\157\100\144\151\147\151\156\157\164\141\162\056\156 -\154 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\137\061\013\060\011\006\003\125\004\006\023\002\116\114\061 -\022\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157 -\164\141\162\061\032\060\030\006\003\125\004\003\023\021\104\151 -\147\151\116\157\164\141\162\040\122\157\157\164\040\103\101\061 -\040\060\036\006\011\052\206\110\206\367\015\001\011\001\026\021 -\151\156\146\157\100\144\151\147\151\156\157\164\141\162\056\156 -\154 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\017\377\377\377\377\377\377\377\377\377\377\377\377\377 -\377\377 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\212\060\202\003\162\240\003\002\001\002\002\020\017 -\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\060 -\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\137 -\061\013\060\011\006\003\125\004\006\023\002\116\114\061\022\060 -\020\006\003\125\004\012\023\011\104\151\147\151\116\157\164\141 -\162\061\032\060\030\006\003\125\004\003\023\021\104\151\147\151 -\116\157\164\141\162\040\122\157\157\164\040\103\101\061\040\060 -\036\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156 -\146\157\100\144\151\147\151\156\157\164\141\162\056\156\154\060 -\036\027\015\060\067\060\067\062\067\061\067\061\071\063\067\132 -\027\015\062\065\060\063\063\061\061\070\061\071\062\062\132\060 -\137\061\013\060\011\006\003\125\004\006\023\002\116\114\061\022 -\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157\164 -\141\162\061\032\060\030\006\003\125\004\003\023\021\104\151\147 -\151\116\157\164\141\162\040\122\157\157\164\040\103\101\061\040 -\060\036\006\011\052\206\110\206\367\015\001\011\001\026\021\151 -\156\146\157\100\144\151\147\151\156\157\164\141\162\056\156\154 -\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001 -\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001 -\000\254\260\130\301\000\275\330\041\010\013\053\232\376\156\126 -\060\005\237\033\167\220\020\101\134\303\015\207\021\167\216\201 -\361\312\174\351\214\152\355\070\164\065\273\332\337\371\273\300 -\011\067\264\226\163\201\175\063\032\230\071\367\223\157\225\177 -\075\271\261\165\207\272\121\110\350\213\160\076\225\004\305\330 -\266\303\026\331\210\260\261\207\035\160\332\206\264\017\024\213 -\172\317\020\321\164\066\242\022\173\167\206\112\171\346\173\337 -\002\021\150\245\116\206\256\064\130\233\044\023\170\126\042\045 -\036\001\213\113\121\161\373\202\314\131\226\151\210\132\150\123 -\305\271\015\002\067\313\113\274\146\112\220\176\052\013\005\007 -\355\026\137\125\220\165\330\106\311\033\203\342\010\276\361\043 -\314\231\035\326\052\017\203\040\025\130\047\202\056\372\342\042 -\302\111\261\271\001\201\152\235\155\235\100\167\150\166\116\041 -\052\155\204\100\205\116\166\231\174\202\363\363\267\002\131\324 -\046\001\033\216\337\255\123\006\321\256\030\335\342\262\072\313 -\327\210\070\216\254\133\051\271\031\323\230\371\030\003\317\110 -\202\206\146\013\033\151\017\311\353\070\210\172\046\032\005\114 -\222\327\044\324\226\362\254\122\055\243\107\325\122\366\077\376 -\316\204\006\160\246\252\076\242\362\266\126\064\030\127\242\344 -\201\155\347\312\360\152\323\307\221\153\002\203\101\174\025\357 -\153\232\144\136\343\320\074\345\261\353\173\135\206\373\313\346 -\167\111\315\243\145\334\367\271\234\270\344\013\137\223\317\314 -\060\032\062\034\316\034\143\225\245\371\352\341\164\213\236\351 -\053\251\060\173\240\030\037\016\030\013\345\133\251\323\321\154 -\036\007\147\217\221\113\251\212\274\322\146\252\223\001\210\262 -\221\372\061\134\325\246\301\122\010\011\315\012\143\242\323\042 -\246\350\241\331\071\006\227\365\156\215\002\220\214\024\173\077 -\200\315\033\234\272\304\130\162\043\257\266\126\237\306\172\102 -\063\051\007\077\202\311\346\037\005\015\315\114\050\066\213\323 -\310\076\034\306\210\357\136\356\211\144\351\035\353\332\211\176 -\062\246\151\321\335\314\210\237\321\320\311\146\041\334\006\147 -\305\224\172\232\155\142\114\175\314\340\144\200\262\236\107\216 -\243\002\003\001\000\001\243\102\060\100\060\017\006\003\125\035 -\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003\125 -\035\017\001\001\377\004\004\003\002\001\006\060\035\006\003\125 -\035\016\004\026\004\024\210\150\277\340\216\065\304\073\070\153 -\142\367\050\073\204\201\310\014\327\115\060\015\006\011\052\206 -\110\206\367\015\001\001\005\005\000\003\202\002\001\000\073\002 -\215\313\074\060\350\156\240\255\362\163\263\137\236\045\023\004 -\005\323\366\343\213\273\013\171\316\123\336\344\226\305\321\257 -\163\274\325\303\320\100\125\174\100\177\315\033\137\011\325\362 -\174\237\150\035\273\135\316\172\071\302\214\326\230\173\305\203 -\125\250\325\175\100\312\340\036\367\211\136\143\135\241\023\302 -\135\212\266\212\174\000\363\043\303\355\205\137\161\166\360\150 -\143\252\105\041\071\110\141\170\066\334\361\103\223\324\045\307 -\362\200\145\341\123\002\165\121\374\172\072\357\067\253\204\050 -\127\014\330\324\324\231\126\154\343\242\376\131\204\264\061\350 -\063\370\144\224\224\121\227\253\071\305\113\355\332\335\200\013 -\157\174\051\015\304\216\212\162\015\347\123\024\262\140\101\075 -\204\221\061\150\075\047\104\333\345\336\364\372\143\105\310\114 -\076\230\365\077\101\272\116\313\067\015\272\146\230\361\335\313 -\237\134\367\124\066\202\153\054\274\023\141\227\102\370\170\273 -\314\310\242\237\312\360\150\275\153\035\262\337\215\157\007\235 -\332\216\147\307\107\036\312\271\277\052\102\221\267\143\123\146 -\361\102\243\341\364\132\115\130\153\265\344\244\063\255\134\160 -\035\334\340\362\353\163\024\221\232\003\301\352\000\145\274\007 -\374\317\022\021\042\054\256\240\275\072\340\242\052\330\131\351 -\051\323\030\065\244\254\021\137\031\265\265\033\377\042\112\134 -\306\172\344\027\357\040\251\247\364\077\255\212\247\232\004\045 -\235\016\312\067\346\120\375\214\102\051\004\232\354\271\317\113 -\162\275\342\010\066\257\043\057\142\345\312\001\323\160\333\174 -\202\043\054\026\061\014\306\066\007\220\172\261\037\147\130\304 -\073\130\131\211\260\214\214\120\263\330\206\313\150\243\304\012 -\347\151\113\040\316\301\036\126\113\225\251\043\150\330\060\330 -\303\353\260\125\121\315\345\375\053\270\365\273\021\237\123\124 -\366\064\031\214\171\011\066\312\141\027\045\027\013\202\230\163 -\014\167\164\303\325\015\307\250\022\114\307\247\124\161\107\056 -\054\032\175\311\343\053\073\110\336\047\204\247\143\066\263\175 -\217\240\144\071\044\015\075\173\207\257\146\134\164\033\113\163 -\262\345\214\360\206\231\270\345\305\337\204\301\267\353 -END - -# Trust for Certificate "Explicitly Distrust DigiNotar Root CA" -# Issuer: E=info@diginotar.nl,CN=DigiNotar Root CA,O=DigiNotar,C=NL -# Serial Number:0f:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff -# Subject: E=info@diginotar.nl,CN=DigiNotar Root CA,O=DigiNotar,C=NL -# Not Valid Before: Fri Jul 27 17:19:37 2007 -# Not Valid After : Mon Mar 31 18:19:22 2025 -# Fingerprint (MD5): 0A:A4:D5:CC:BA:B4:FB:A3:59:E3:E6:01:DD:53:D9:4E -# Fingerprint (SHA1): C1:77:CB:4B:E0:B4:26:8E:F5:C7:CF:45:99:22:B9:B0:CE:BA:21:2F -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Explicitly Distrust DigiNotar Root CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\301\167\313\113\340\264\046\216\365\307\317\105\231\042\271\260 -\316\272\041\057 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\012\244\325\314\272\264\373\243\131\343\346\001\335\123\331\116 -END -CKA_ISSUER MULTILINE_OCTAL -\060\137\061\013\060\011\006\003\125\004\006\023\002\116\114\061 -\022\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157 -\164\141\162\061\032\060\030\006\003\125\004\003\023\021\104\151 -\147\151\116\157\164\141\162\040\122\157\157\164\040\103\101\061 -\040\060\036\006\011\052\206\110\206\367\015\001\011\001\026\021 -\151\156\146\157\100\144\151\147\151\156\157\164\141\162\056\156 -\154 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\017\377\377\377\377\377\377\377\377\377\377\377\377\377 -\377\377 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Explicitly Distrusted DigiNotar PKIoverheid G2" -# -# Issuer: CN=DigiNotar PKIoverheid CA Organisatie - G2,O=DigiNotar B.V.,C=NL -# Serial Number: 268435455 (0xfffffff) -# Subject: CN=DigiNotar PKIoverheid CA Organisatie - G2,O=DigiNotar B.V.,C=NL -# Not Valid Before: Wed May 12 08:51:39 2010 -# Not Valid After : Mon Mar 23 09:50:05 2020 -# Fingerprint (MD5): 2E:61:A2:D1:78:CE:EE:BF:59:33:B0:23:14:0F:94:1C -# Fingerprint (SHA1): D5:F2:57:A9:BF:2D:D0:3F:8B:46:57:F9:2B:C9:A4:C6:92:E1:42:42 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Explicitly Distrusted DigiNotar PKIoverheid G2" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\132\061\013\060\011\006\003\125\004\006\023\002\116\114\061 -\027\060\025\006\003\125\004\012\014\016\104\151\147\151\116\157 -\164\141\162\040\102\056\126\056\061\062\060\060\006\003\125\004 -\003\014\051\104\151\147\151\116\157\164\141\162\040\120\113\111 -\157\166\145\162\150\145\151\144\040\103\101\040\117\162\147\141 -\156\151\163\141\164\151\145\040\055\040\107\062 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\132\061\013\060\011\006\003\125\004\006\023\002\116\114\061 -\027\060\025\006\003\125\004\012\014\016\104\151\147\151\116\157 -\164\141\162\040\102\056\126\056\061\062\060\060\006\003\125\004 -\003\014\051\104\151\147\151\116\157\164\141\162\040\120\113\111 -\157\166\145\162\150\145\151\144\040\103\101\040\117\162\147\141 -\156\151\163\141\164\151\145\040\055\040\107\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\004\017\377\377\377 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\006\225\060\202\004\175\240\003\002\001\002\002\004\017 -\377\377\377\060\015\006\011\052\206\110\206\367\015\001\001\013 -\005\000\060\132\061\013\060\011\006\003\125\004\006\023\002\116 -\114\061\027\060\025\006\003\125\004\012\014\016\104\151\147\151 -\116\157\164\141\162\040\102\056\126\056\061\062\060\060\006\003 -\125\004\003\014\051\104\151\147\151\116\157\164\141\162\040\120 -\113\111\157\166\145\162\150\145\151\144\040\103\101\040\117\162 -\147\141\156\151\163\141\164\151\145\040\055\040\107\062\060\036 -\027\015\061\060\060\065\061\062\060\070\065\061\063\071\132\027 -\015\062\060\060\063\062\063\060\071\065\060\060\065\132\060\132 -\061\013\060\011\006\003\125\004\006\023\002\116\114\061\027\060 -\025\006\003\125\004\012\014\016\104\151\147\151\116\157\164\141 -\162\040\102\056\126\056\061\062\060\060\006\003\125\004\003\014 -\051\104\151\147\151\116\157\164\141\162\040\120\113\111\157\166 -\145\162\150\145\151\144\040\103\101\040\117\162\147\141\156\151 -\163\141\164\151\145\040\055\040\107\062\060\202\002\042\060\015 -\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\002 -\017\000\060\202\002\012\002\202\002\001\000\261\023\031\017\047 -\346\154\324\125\206\113\320\354\211\212\105\221\170\254\107\275 -\107\053\344\374\105\353\117\264\046\163\133\067\323\303\177\366 -\343\336\327\243\370\055\150\305\010\076\113\224\326\344\207\045 -\066\153\204\265\030\164\363\050\130\163\057\233\152\317\274\004 -\036\366\336\335\257\374\113\252\365\333\146\142\045\001\045\202 -\336\362\227\132\020\156\335\135\251\042\261\004\251\043\163\072 -\370\161\255\035\317\204\104\353\107\321\257\155\310\174\050\253 -\307\362\067\172\164\137\137\305\002\024\212\243\132\343\033\154 -\001\343\135\216\331\150\326\364\011\033\062\334\221\265\054\365 -\040\353\214\003\155\046\111\270\223\304\205\135\330\322\233\257 -\126\152\314\005\063\314\240\102\236\064\125\104\234\153\240\324 -\022\320\053\124\315\267\211\015\345\366\353\350\373\205\001\063 -\117\172\153\361\235\162\063\226\016\367\262\204\245\245\047\304 -\047\361\121\163\051\167\272\147\156\376\114\334\264\342\241\241 -\201\057\071\111\215\103\070\023\316\320\245\134\302\207\072\000 -\147\145\102\043\361\066\131\012\035\243\121\310\274\243\224\052 -\061\337\343\074\362\235\032\074\004\260\357\261\012\060\023\163 -\266\327\363\243\114\001\165\024\205\170\300\327\212\071\130\205 -\120\372\056\346\305\276\317\213\077\257\217\066\324\045\011\055 -\322\017\254\162\223\362\277\213\324\120\263\371\025\120\233\231 -\365\024\331\373\213\221\243\062\046\046\240\370\337\073\140\201 -\206\203\171\133\053\353\023\075\051\072\301\155\335\275\236\216 -\207\326\112\256\064\227\005\356\024\246\366\334\070\176\112\351 -\044\124\007\075\227\150\067\106\153\015\307\250\041\257\023\124 -\344\011\152\361\115\106\012\311\135\373\233\117\275\336\373\267 -\124\313\270\070\234\247\071\373\152\055\300\173\215\253\245\247 -\127\354\112\222\212\063\305\341\040\134\163\330\220\222\053\200 -\325\017\206\030\151\174\071\117\204\206\274\367\114\133\363\325 -\264\312\240\302\360\067\042\312\171\122\037\123\346\252\363\220 -\260\073\335\362\050\375\254\353\305\006\044\240\311\324\057\017 -\130\375\265\236\354\017\317\262\131\320\242\004\172\070\152\256 -\162\373\275\360\045\142\224\011\247\005\013\002\003\001\000\001 -\243\202\001\141\060\202\001\135\060\110\006\003\125\035\040\004 -\101\060\077\060\075\006\004\125\035\040\000\060\065\060\063\006 -\010\053\006\001\005\005\007\002\001\026\047\150\164\164\160\072 -\057\057\167\167\167\056\144\151\147\151\156\157\164\141\162\056 -\156\154\057\143\160\163\057\160\153\151\157\166\145\162\150\145 -\151\144\060\017\006\003\125\035\023\001\001\377\004\005\060\003 -\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004\003 -\002\001\006\060\201\205\006\003\125\035\043\004\176\060\174\200 -\024\071\020\213\111\222\134\333\141\022\040\315\111\235\032\216 -\332\234\147\100\271\241\136\244\134\060\132\061\013\060\011\006 -\003\125\004\006\023\002\116\114\061\036\060\034\006\003\125\004 -\012\014\025\123\164\141\141\164\040\144\145\162\040\116\145\144 -\145\162\154\141\156\144\145\156\061\053\060\051\006\003\125\004 -\003\014\042\123\164\141\141\164\040\144\145\162\040\116\145\144 -\145\162\154\141\156\144\145\156\040\122\157\157\164\040\103\101 -\040\055\040\107\062\202\004\000\230\226\364\060\111\006\003\125 -\035\037\004\102\060\100\060\076\240\074\240\072\206\070\150\164 -\164\160\072\057\057\143\162\154\056\160\153\151\157\166\145\162 -\150\145\151\144\056\156\154\057\104\157\155\117\162\147\141\156 -\151\163\141\164\151\145\114\141\164\145\163\164\103\122\114\055 -\107\062\056\143\162\154\060\035\006\003\125\035\016\004\026\004 -\024\274\135\224\073\331\253\173\003\045\163\141\302\333\055\356 -\374\253\217\145\241\060\015\006\011\052\206\110\206\367\015\001 -\001\013\005\000\003\202\002\001\000\217\374\055\114\267\331\055 -\325\037\275\357\313\364\267\150\027\165\235\116\325\367\335\234 -\361\052\046\355\237\242\266\034\003\325\123\263\354\010\317\064 -\342\343\303\364\265\026\057\310\303\276\327\323\163\253\000\066 -\371\032\112\176\326\143\351\136\106\272\245\266\216\025\267\243 -\052\330\103\035\357\135\310\037\201\205\263\213\367\377\074\364 -\331\364\106\010\077\234\274\035\240\331\250\114\315\045\122\116 -\012\261\040\367\037\351\103\331\124\106\201\023\232\300\136\164 -\154\052\230\062\352\374\167\273\015\245\242\061\230\042\176\174 -\174\347\332\244\255\354\267\056\032\031\161\370\110\120\332\103 -\217\054\204\335\301\100\047\343\265\360\025\116\226\324\370\134 -\343\206\051\106\053\327\073\007\353\070\177\310\206\127\227\323 -\357\052\063\304\027\120\325\144\151\153\053\153\105\136\135\057 -\027\312\132\116\317\303\327\071\074\365\073\237\106\271\233\347 -\016\111\227\235\326\325\343\033\017\352\217\001\116\232\023\224 -\131\012\002\007\110\113\032\140\253\177\117\355\013\330\125\015 -\150\157\125\234\151\145\025\102\354\300\334\335\154\254\303\026 -\316\013\035\126\233\244\304\304\322\056\340\017\342\104\047\053 -\120\151\244\334\142\350\212\041\051\102\154\314\000\072\226\166 -\233\357\100\300\244\136\167\204\062\154\046\052\071\146\256\135 -\343\271\271\262\054\150\037\036\232\220\003\071\360\252\263\244 -\314\111\213\030\064\351\067\311\173\051\307\204\174\157\104\025 -\057\354\141\131\004\311\105\313\242\326\122\242\174\177\051\222 -\326\112\305\213\102\250\324\376\352\330\307\207\043\030\344\235 -\172\175\163\100\122\230\240\256\156\343\005\077\005\017\340\245 -\306\155\115\355\203\067\210\234\307\363\334\102\232\152\266\327 -\041\111\066\167\362\357\030\117\305\160\331\236\351\336\267\053 -\213\364\274\176\050\337\015\100\311\205\134\256\235\305\061\377 -\320\134\016\265\250\176\360\351\057\272\257\210\256\345\265\321 -\130\245\257\234\161\247\051\001\220\203\151\067\202\005\272\374 -\011\301\010\156\214\170\073\303\063\002\200\077\104\205\010\035 -\337\125\126\010\255\054\205\055\135\261\003\341\256\252\164\305 -\244\363\116\272\067\230\173\202\271 -END - -# Trust for Certificate "Explicitly Distrusted DigiNotar PKIoverheid G2" -# Issuer: CN=DigiNotar PKIoverheid CA Organisatie - G2,O=DigiNotar B.V.,C=NL -# Serial Number: 268435455 (0xfffffff) -# Subject: CN=DigiNotar PKIoverheid CA Organisatie - G2,O=DigiNotar B.V.,C=NL -# Not Valid Before: Wed May 12 08:51:39 2010 -# Not Valid After : Mon Mar 23 09:50:05 2020 -# Fingerprint (MD5): 2E:61:A2:D1:78:CE:EE:BF:59:33:B0:23:14:0F:94:1C -# Fingerprint (SHA1): D5:F2:57:A9:BF:2D:D0:3F:8B:46:57:F9:2B:C9:A4:C6:92:E1:42:42 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Explicitly Distrusted DigiNotar PKIoverheid G2" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\325\362\127\251\277\055\320\077\213\106\127\371\053\311\244\306 -\222\341\102\102 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\056\141\242\321\170\316\356\277\131\063\260\043\024\017\224\034 -END -CKA_ISSUER MULTILINE_OCTAL -\060\132\061\013\060\011\006\003\125\004\006\023\002\116\114\061 -\027\060\025\006\003\125\004\012\014\016\104\151\147\151\116\157 -\164\141\162\040\102\056\126\056\061\062\060\060\006\003\125\004 -\003\014\051\104\151\147\151\116\157\164\141\162\040\120\113\111 -\157\166\145\162\150\145\151\144\040\103\101\040\117\162\147\141 -\156\151\163\141\164\151\145\040\055\040\107\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\004\017\377\377\377 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Security Communication RootCA2" -# -# Issuer: OU=Security Communication RootCA2,O="SECOM Trust Systems CO.,LTD.",C=JP -# Serial Number: 0 (0x0) -# Subject: OU=Security Communication RootCA2,O="SECOM Trust Systems CO.,LTD.",C=JP -# Not Valid Before: Fri May 29 05:00:39 2009 -# Not Valid After : Tue May 29 05:00:39 2029 -# Fingerprint (MD5): 6C:39:7D:A4:0E:55:59:B2:3F:D6:41:B1:12:50:DE:43 -# Fingerprint (SHA1): 5F:3B:8C:F2:F8:10:B3:7D:78:B4:CE:EC:19:19:C3:73:34:B9:C7:74 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Security Communication RootCA2" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\135\061\013\060\011\006\003\125\004\006\023\002\112\120\061 -\045\060\043\006\003\125\004\012\023\034\123\105\103\117\115\040 -\124\162\165\163\164\040\123\171\163\164\145\155\163\040\103\117 -\056\054\114\124\104\056\061\047\060\045\006\003\125\004\013\023 -\036\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156 -\151\143\141\164\151\157\156\040\122\157\157\164\103\101\062 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\135\061\013\060\011\006\003\125\004\006\023\002\112\120\061 -\045\060\043\006\003\125\004\012\023\034\123\105\103\117\115\040 -\124\162\165\163\164\040\123\171\163\164\145\155\163\040\103\117 -\056\054\114\124\104\056\061\047\060\045\006\003\125\004\013\023 -\036\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156 -\151\143\141\164\151\157\156\040\122\157\157\164\103\101\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\000 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\167\060\202\002\137\240\003\002\001\002\002\001\000 -\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060 -\135\061\013\060\011\006\003\125\004\006\023\002\112\120\061\045 -\060\043\006\003\125\004\012\023\034\123\105\103\117\115\040\124 -\162\165\163\164\040\123\171\163\164\145\155\163\040\103\117\056 -\054\114\124\104\056\061\047\060\045\006\003\125\004\013\023\036 -\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156\151 -\143\141\164\151\157\156\040\122\157\157\164\103\101\062\060\036 -\027\015\060\071\060\065\062\071\060\065\060\060\063\071\132\027 -\015\062\071\060\065\062\071\060\065\060\060\063\071\132\060\135 -\061\013\060\011\006\003\125\004\006\023\002\112\120\061\045\060 -\043\006\003\125\004\012\023\034\123\105\103\117\115\040\124\162 -\165\163\164\040\123\171\163\164\145\155\163\040\103\117\056\054 -\114\124\104\056\061\047\060\045\006\003\125\004\013\023\036\123 -\145\143\165\162\151\164\171\040\103\157\155\155\165\156\151\143 -\141\164\151\157\156\040\122\157\157\164\103\101\062\060\202\001 -\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000 -\003\202\001\017\000\060\202\001\012\002\202\001\001\000\320\025 -\071\122\261\122\263\272\305\131\202\304\135\122\256\072\103\145 -\200\113\307\362\226\274\333\066\227\326\246\144\214\250\136\360 -\343\012\034\367\337\227\075\113\256\366\135\354\041\265\101\253 -\315\271\176\166\237\276\371\076\066\064\240\073\301\366\061\021 -\105\164\223\075\127\200\305\371\211\231\312\345\253\152\324\265 -\332\101\220\020\301\326\326\102\211\302\277\364\070\022\225\114 -\124\005\367\066\344\105\203\173\024\145\326\334\014\115\321\336 -\176\014\253\073\304\025\276\072\126\246\132\157\166\151\122\251 -\172\271\310\353\152\232\135\122\320\055\012\153\065\026\011\020 -\204\320\152\312\072\006\000\067\107\344\176\127\117\077\213\353 -\147\270\210\252\305\276\123\125\262\221\304\175\271\260\205\031 -\006\170\056\333\141\032\372\205\365\112\221\241\347\026\325\216 -\242\071\337\224\270\160\037\050\077\213\374\100\136\143\203\074 -\203\052\032\231\153\317\336\131\152\073\374\157\026\327\037\375 -\112\020\353\116\202\026\072\254\047\014\123\361\255\325\044\260 -\153\003\120\301\055\074\026\335\104\064\047\032\165\373\002\003 -\001\000\001\243\102\060\100\060\035\006\003\125\035\016\004\026 -\004\024\012\205\251\167\145\005\230\174\100\201\370\017\227\054 -\070\361\012\354\074\317\060\016\006\003\125\035\017\001\001\377 -\004\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377 -\004\005\060\003\001\001\377\060\015\006\011\052\206\110\206\367 -\015\001\001\013\005\000\003\202\001\001\000\114\072\243\104\254 -\271\105\261\307\223\176\310\013\012\102\337\144\352\034\356\131 -\154\010\272\211\137\152\312\112\225\236\172\217\007\305\332\105 -\162\202\161\016\072\322\314\157\247\264\241\043\273\366\044\237 -\313\027\376\214\246\316\302\322\333\314\215\374\161\374\003\051 -\301\154\135\063\137\144\266\145\073\211\157\030\166\170\365\334 -\242\110\037\031\077\216\223\353\361\372\027\356\315\116\343\004 -\022\125\326\345\344\335\373\076\005\174\342\035\136\306\247\274 -\227\117\150\072\365\351\056\012\103\266\257\127\134\142\150\174 -\267\375\243\212\204\240\254\142\276\053\011\207\064\360\152\001 -\273\233\051\126\074\376\000\067\317\043\154\361\116\252\266\164 -\106\022\154\221\356\064\325\354\232\221\347\104\276\220\061\162 -\325\111\002\366\002\345\364\037\353\174\331\226\125\251\377\354 -\212\371\231\107\377\065\132\002\252\004\313\212\133\207\161\051 -\221\275\244\264\172\015\275\232\365\127\043\000\007\041\027\077 -\112\071\321\005\111\013\247\266\067\201\245\135\214\252\063\136 -\201\050\174\247\175\047\353\000\256\215\067 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "Security Communication RootCA2" -# Issuer: OU=Security Communication RootCA2,O="SECOM Trust Systems CO.,LTD.",C=JP -# Serial Number: 0 (0x0) -# Subject: OU=Security Communication RootCA2,O="SECOM Trust Systems CO.,LTD.",C=JP -# Not Valid Before: Fri May 29 05:00:39 2009 -# Not Valid After : Tue May 29 05:00:39 2029 -# Fingerprint (MD5): 6C:39:7D:A4:0E:55:59:B2:3F:D6:41:B1:12:50:DE:43 -# Fingerprint (SHA1): 5F:3B:8C:F2:F8:10:B3:7D:78:B4:CE:EC:19:19:C3:73:34:B9:C7:74 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Security Communication RootCA2" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\137\073\214\362\370\020\263\175\170\264\316\354\031\031\303\163 -\064\271\307\164 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\154\071\175\244\016\125\131\262\077\326\101\261\022\120\336\103 -END -CKA_ISSUER MULTILINE_OCTAL -\060\135\061\013\060\011\006\003\125\004\006\023\002\112\120\061 -\045\060\043\006\003\125\004\012\023\034\123\105\103\117\115\040 -\124\162\165\163\164\040\123\171\163\164\145\155\163\040\103\117 -\056\054\114\124\104\056\061\047\060\045\006\003\125\004\013\023 -\036\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156 -\151\143\141\164\151\157\156\040\122\157\157\164\103\101\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\000 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "EC-ACC" -# -# Issuer: CN=EC-ACC,OU=Jerarquia Entitats de Certificacio Catalanes,OU=Vegeu https://www.catcert.net/verarrel (c)03,OU=Serveis Publics de Certificacio,O=Agencia Catalana de Certificacio (NIF Q-0801176-I),C=ES -# Serial Number:ee:2b:3d:eb:d4:21:de:14:a8:62:ac:04:f3:dd:c4:01 -# Subject: CN=EC-ACC,OU=Jerarquia Entitats de Certificacio Catalanes,OU=Vegeu https://www.catcert.net/verarrel (c)03,OU=Serveis Publics de Certificacio,O=Agencia Catalana de Certificacio (NIF Q-0801176-I),C=ES -# Not Valid Before: Tue Jan 07 23:00:00 2003 -# Not Valid After : Tue Jan 07 22:59:59 2031 -# Fingerprint (MD5): EB:F5:9D:29:0D:61:F9:42:1F:7C:C2:BA:6D:E3:15:09 -# Fingerprint (SHA1): 28:90:3A:63:5B:52:80:FA:E6:77:4C:0B:6D:A7:D6:BA:A6:4A:F2:E8 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "EC-ACC" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\363\061\013\060\011\006\003\125\004\006\023\002\105\123 -\061\073\060\071\006\003\125\004\012\023\062\101\147\145\156\143 -\151\141\040\103\141\164\141\154\141\156\141\040\144\145\040\103 -\145\162\164\151\146\151\143\141\143\151\157\040\050\116\111\106 -\040\121\055\060\070\060\061\061\067\066\055\111\051\061\050\060 -\046\006\003\125\004\013\023\037\123\145\162\166\145\151\163\040 -\120\165\142\154\151\143\163\040\144\145\040\103\145\162\164\151 -\146\151\143\141\143\151\157\061\065\060\063\006\003\125\004\013 -\023\054\126\145\147\145\165\040\150\164\164\160\163\072\057\057 -\167\167\167\056\143\141\164\143\145\162\164\056\156\145\164\057 -\166\145\162\141\162\162\145\154\040\050\143\051\060\063\061\065 -\060\063\006\003\125\004\013\023\054\112\145\162\141\162\161\165 -\151\141\040\105\156\164\151\164\141\164\163\040\144\145\040\103 -\145\162\164\151\146\151\143\141\143\151\157\040\103\141\164\141 -\154\141\156\145\163\061\017\060\015\006\003\125\004\003\023\006 -\105\103\055\101\103\103 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\363\061\013\060\011\006\003\125\004\006\023\002\105\123 -\061\073\060\071\006\003\125\004\012\023\062\101\147\145\156\143 -\151\141\040\103\141\164\141\154\141\156\141\040\144\145\040\103 -\145\162\164\151\146\151\143\141\143\151\157\040\050\116\111\106 -\040\121\055\060\070\060\061\061\067\066\055\111\051\061\050\060 -\046\006\003\125\004\013\023\037\123\145\162\166\145\151\163\040 -\120\165\142\154\151\143\163\040\144\145\040\103\145\162\164\151 -\146\151\143\141\143\151\157\061\065\060\063\006\003\125\004\013 -\023\054\126\145\147\145\165\040\150\164\164\160\163\072\057\057 -\167\167\167\056\143\141\164\143\145\162\164\056\156\145\164\057 -\166\145\162\141\162\162\145\154\040\050\143\051\060\063\061\065 -\060\063\006\003\125\004\013\023\054\112\145\162\141\162\161\165 -\151\141\040\105\156\164\151\164\141\164\163\040\144\145\040\103 -\145\162\164\151\146\151\143\141\143\151\157\040\103\141\164\141 -\154\141\156\145\163\061\017\060\015\006\003\125\004\003\023\006 -\105\103\055\101\103\103 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\356\053\075\353\324\041\336\024\250\142\254\004\363\335 -\304\001 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\126\060\202\004\076\240\003\002\001\002\002\020\356 -\053\075\353\324\041\336\024\250\142\254\004\363\335\304\001\060 -\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201 -\363\061\013\060\011\006\003\125\004\006\023\002\105\123\061\073 -\060\071\006\003\125\004\012\023\062\101\147\145\156\143\151\141 -\040\103\141\164\141\154\141\156\141\040\144\145\040\103\145\162 -\164\151\146\151\143\141\143\151\157\040\050\116\111\106\040\121 -\055\060\070\060\061\061\067\066\055\111\051\061\050\060\046\006 -\003\125\004\013\023\037\123\145\162\166\145\151\163\040\120\165 -\142\154\151\143\163\040\144\145\040\103\145\162\164\151\146\151 -\143\141\143\151\157\061\065\060\063\006\003\125\004\013\023\054 -\126\145\147\145\165\040\150\164\164\160\163\072\057\057\167\167 -\167\056\143\141\164\143\145\162\164\056\156\145\164\057\166\145 -\162\141\162\162\145\154\040\050\143\051\060\063\061\065\060\063 -\006\003\125\004\013\023\054\112\145\162\141\162\161\165\151\141 -\040\105\156\164\151\164\141\164\163\040\144\145\040\103\145\162 -\164\151\146\151\143\141\143\151\157\040\103\141\164\141\154\141 -\156\145\163\061\017\060\015\006\003\125\004\003\023\006\105\103 -\055\101\103\103\060\036\027\015\060\063\060\061\060\067\062\063 -\060\060\060\060\132\027\015\063\061\060\061\060\067\062\062\065 -\071\065\071\132\060\201\363\061\013\060\011\006\003\125\004\006 -\023\002\105\123\061\073\060\071\006\003\125\004\012\023\062\101 -\147\145\156\143\151\141\040\103\141\164\141\154\141\156\141\040 -\144\145\040\103\145\162\164\151\146\151\143\141\143\151\157\040 -\050\116\111\106\040\121\055\060\070\060\061\061\067\066\055\111 -\051\061\050\060\046\006\003\125\004\013\023\037\123\145\162\166 -\145\151\163\040\120\165\142\154\151\143\163\040\144\145\040\103 -\145\162\164\151\146\151\143\141\143\151\157\061\065\060\063\006 -\003\125\004\013\023\054\126\145\147\145\165\040\150\164\164\160 -\163\072\057\057\167\167\167\056\143\141\164\143\145\162\164\056 -\156\145\164\057\166\145\162\141\162\162\145\154\040\050\143\051 -\060\063\061\065\060\063\006\003\125\004\013\023\054\112\145\162 -\141\162\161\165\151\141\040\105\156\164\151\164\141\164\163\040 -\144\145\040\103\145\162\164\151\146\151\143\141\143\151\157\040 -\103\141\164\141\154\141\156\145\163\061\017\060\015\006\003\125 -\004\003\023\006\105\103\055\101\103\103\060\202\001\042\060\015 -\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001 -\017\000\060\202\001\012\002\202\001\001\000\263\042\307\117\342 -\227\102\225\210\107\203\100\366\035\027\363\203\163\044\036\121 -\363\230\212\303\222\270\377\100\220\005\160\207\140\311\000\251 -\265\224\145\031\042\025\027\302\103\154\146\104\232\015\004\076 -\071\157\245\113\172\252\143\267\212\104\235\331\143\221\204\146 -\340\050\017\272\102\343\156\216\367\024\047\223\151\356\221\016 -\243\137\016\261\353\146\242\162\117\022\023\206\145\172\076\333 -\117\007\364\247\011\140\332\072\102\231\307\262\177\263\026\225 -\034\307\371\064\265\224\205\325\231\136\240\110\240\176\347\027 -\145\270\242\165\270\036\363\345\102\175\257\355\363\212\110\144 -\135\202\024\223\330\300\344\377\263\120\162\362\166\366\263\135 -\102\120\171\320\224\076\153\014\000\276\330\153\016\116\052\354 -\076\322\314\202\242\030\145\063\023\167\236\232\135\032\023\330 -\303\333\075\310\227\172\356\160\355\247\346\174\333\161\317\055 -\224\142\337\155\326\365\070\276\077\245\205\012\031\270\250\330 -\011\165\102\160\304\352\357\313\016\310\064\250\022\042\230\014 -\270\023\224\266\113\354\360\320\220\347\047\002\003\001\000\001 -\243\201\343\060\201\340\060\035\006\003\125\035\021\004\026\060 -\024\201\022\145\143\137\141\143\143\100\143\141\164\143\145\162 -\164\056\156\145\164\060\017\006\003\125\035\023\001\001\377\004 -\005\060\003\001\001\377\060\016\006\003\125\035\017\001\001\377 -\004\004\003\002\001\006\060\035\006\003\125\035\016\004\026\004 -\024\240\303\213\104\252\067\245\105\277\227\200\132\321\361\170 -\242\233\351\135\215\060\177\006\003\125\035\040\004\170\060\166 -\060\164\006\013\053\006\001\004\001\365\170\001\003\001\012\060 -\145\060\054\006\010\053\006\001\005\005\007\002\001\026\040\150 -\164\164\160\163\072\057\057\167\167\167\056\143\141\164\143\145 -\162\164\056\156\145\164\057\166\145\162\141\162\162\145\154\060 -\065\006\010\053\006\001\005\005\007\002\002\060\051\032\047\126 -\145\147\145\165\040\150\164\164\160\163\072\057\057\167\167\167 -\056\143\141\164\143\145\162\164\056\156\145\164\057\166\145\162 -\141\162\162\145\154\040\060\015\006\011\052\206\110\206\367\015 -\001\001\005\005\000\003\202\001\001\000\240\110\133\202\001\366 -\115\110\270\071\125\065\234\200\172\123\231\325\132\377\261\161 -\073\314\071\011\224\136\326\332\357\276\001\133\135\323\036\330 -\375\175\117\315\240\101\340\064\223\277\313\342\206\234\067\222 -\220\126\034\334\353\051\005\345\304\236\307\065\337\212\014\315 -\305\041\103\351\252\210\345\065\300\031\102\143\132\002\136\244 -\110\030\072\205\157\334\235\274\077\235\234\301\207\270\172\141 -\010\351\167\013\177\160\253\172\335\331\227\054\144\036\205\277 -\274\164\226\241\303\172\022\354\014\032\156\203\014\074\350\162 -\106\237\373\110\325\136\227\346\261\241\370\344\357\106\045\224 -\234\211\333\151\070\276\354\134\016\126\307\145\121\345\120\210 -\210\277\102\325\053\075\345\371\272\236\056\263\312\364\163\222 -\002\013\276\114\146\353\040\376\271\313\265\231\177\346\266\023 -\372\312\113\115\331\356\123\106\006\073\306\116\255\223\132\201 -\176\154\052\113\152\005\105\214\362\041\244\061\220\207\154\145 -\234\235\245\140\225\072\122\177\365\321\253\010\156\363\356\133 -\371\210\075\176\270\157\156\003\344\102 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "EC-ACC" -# Issuer: CN=EC-ACC,OU=Jerarquia Entitats de Certificacio Catalanes,OU=Vegeu https://www.catcert.net/verarrel (c)03,OU=Serveis Publics de Certificacio,O=Agencia Catalana de Certificacio (NIF Q-0801176-I),C=ES -# Serial Number:ee:2b:3d:eb:d4:21:de:14:a8:62:ac:04:f3:dd:c4:01 -# Subject: CN=EC-ACC,OU=Jerarquia Entitats de Certificacio Catalanes,OU=Vegeu https://www.catcert.net/verarrel (c)03,OU=Serveis Publics de Certificacio,O=Agencia Catalana de Certificacio (NIF Q-0801176-I),C=ES -# Not Valid Before: Tue Jan 07 23:00:00 2003 -# Not Valid After : Tue Jan 07 22:59:59 2031 -# Fingerprint (MD5): EB:F5:9D:29:0D:61:F9:42:1F:7C:C2:BA:6D:E3:15:09 -# Fingerprint (SHA1): 28:90:3A:63:5B:52:80:FA:E6:77:4C:0B:6D:A7:D6:BA:A6:4A:F2:E8 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "EC-ACC" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\050\220\072\143\133\122\200\372\346\167\114\013\155\247\326\272 -\246\112\362\350 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\353\365\235\051\015\141\371\102\037\174\302\272\155\343\025\011 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\363\061\013\060\011\006\003\125\004\006\023\002\105\123 -\061\073\060\071\006\003\125\004\012\023\062\101\147\145\156\143 -\151\141\040\103\141\164\141\154\141\156\141\040\144\145\040\103 -\145\162\164\151\146\151\143\141\143\151\157\040\050\116\111\106 -\040\121\055\060\070\060\061\061\067\066\055\111\051\061\050\060 -\046\006\003\125\004\013\023\037\123\145\162\166\145\151\163\040 -\120\165\142\154\151\143\163\040\144\145\040\103\145\162\164\151 -\146\151\143\141\143\151\157\061\065\060\063\006\003\125\004\013 -\023\054\126\145\147\145\165\040\150\164\164\160\163\072\057\057 -\167\167\167\056\143\141\164\143\145\162\164\056\156\145\164\057 -\166\145\162\141\162\162\145\154\040\050\143\051\060\063\061\065 -\060\063\006\003\125\004\013\023\054\112\145\162\141\162\161\165 -\151\141\040\105\156\164\151\164\141\164\163\040\144\145\040\103 -\145\162\164\151\146\151\143\141\143\151\157\040\103\141\164\141 -\154\141\156\145\163\061\017\060\015\006\003\125\004\003\023\006 -\105\103\055\101\103\103 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\356\053\075\353\324\041\336\024\250\142\254\004\363\335 -\304\001 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Hellenic Academic and Research Institutions RootCA 2011" -# -# Issuer: CN=Hellenic Academic and Research Institutions RootCA 2011,O=Hellenic Academic and Research Institutions Cert. Authority,C=GR -# Serial Number: 0 (0x0) -# Subject: CN=Hellenic Academic and Research Institutions RootCA 2011,O=Hellenic Academic and Research Institutions Cert. Authority,C=GR -# Not Valid Before: Tue Dec 06 13:49:52 2011 -# Not Valid After : Mon Dec 01 13:49:52 2031 -# Fingerprint (MD5): 73:9F:4C:4B:73:5B:79:E9:FA:BA:1C:EF:6E:CB:D5:C9 -# Fingerprint (SHA1): FE:45:65:9B:79:03:5B:98:A1:61:B5:51:2E:AC:DA:58:09:48:22:4D -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Hellenic Academic and Research Institutions RootCA 2011" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\225\061\013\060\011\006\003\125\004\006\023\002\107\122 -\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154\145 -\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144 -\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164 -\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165\164 -\150\157\162\151\164\171\061\100\060\076\006\003\125\004\003\023 -\067\110\145\154\154\145\156\151\143\040\101\143\141\144\145\155 -\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150\040 -\111\156\163\164\151\164\165\164\151\157\156\163\040\122\157\157 -\164\103\101\040\062\060\061\061 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\225\061\013\060\011\006\003\125\004\006\023\002\107\122 -\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154\145 -\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144 -\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164 -\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165\164 -\150\157\162\151\164\171\061\100\060\076\006\003\125\004\003\023 -\067\110\145\154\154\145\156\151\143\040\101\143\141\144\145\155 -\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150\040 -\111\156\163\164\151\164\165\164\151\157\156\163\040\122\157\157 -\164\103\101\040\062\060\061\061 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\000 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\061\060\202\003\031\240\003\002\001\002\002\001\000 -\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 -\201\225\061\013\060\011\006\003\125\004\006\023\002\107\122\061 -\104\060\102\006\003\125\004\012\023\073\110\145\154\154\145\156 -\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144\040 -\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164\165 -\164\151\157\156\163\040\103\145\162\164\056\040\101\165\164\150 -\157\162\151\164\171\061\100\060\076\006\003\125\004\003\023\067 -\110\145\154\154\145\156\151\143\040\101\143\141\144\145\155\151 -\143\040\141\156\144\040\122\145\163\145\141\162\143\150\040\111 -\156\163\164\151\164\165\164\151\157\156\163\040\122\157\157\164 -\103\101\040\062\060\061\061\060\036\027\015\061\061\061\062\060 -\066\061\063\064\071\065\062\132\027\015\063\061\061\062\060\061 -\061\063\064\071\065\062\132\060\201\225\061\013\060\011\006\003 -\125\004\006\023\002\107\122\061\104\060\102\006\003\125\004\012 -\023\073\110\145\154\154\145\156\151\143\040\101\143\141\144\145 -\155\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150 -\040\111\156\163\164\151\164\165\164\151\157\156\163\040\103\145 -\162\164\056\040\101\165\164\150\157\162\151\164\171\061\100\060 -\076\006\003\125\004\003\023\067\110\145\154\154\145\156\151\143 -\040\101\143\141\144\145\155\151\143\040\141\156\144\040\122\145 -\163\145\141\162\143\150\040\111\156\163\164\151\164\165\164\151 -\157\156\163\040\122\157\157\164\103\101\040\062\060\061\061\060 -\202\001\042\060\015\006\011\052\206\110\206\367\015\001\001\001 -\005\000\003\202\001\017\000\060\202\001\012\002\202\001\001\000 -\251\123\000\343\056\246\366\216\372\140\330\055\225\076\370\054 -\052\124\116\315\271\204\141\224\130\117\217\075\213\344\103\363 -\165\211\215\121\344\303\067\322\212\210\115\171\036\267\022\335 -\103\170\112\212\222\346\327\110\325\017\244\072\051\104\065\270 -\007\366\150\035\125\315\070\121\360\214\044\061\205\257\203\311 -\175\351\167\257\355\032\173\235\027\371\263\235\070\120\017\246 -\132\171\221\200\257\067\256\246\323\061\373\265\046\011\235\074 -\132\357\121\305\053\337\226\135\353\062\036\002\332\160\111\354 -\156\014\310\232\067\215\367\361\066\140\113\046\054\202\236\320 -\170\363\015\017\143\244\121\060\341\371\053\047\022\007\330\352 -\275\030\142\230\260\131\067\175\276\356\363\040\121\102\132\203 -\357\223\272\151\025\361\142\235\237\231\071\202\241\267\164\056 -\213\324\305\013\173\057\360\310\012\332\075\171\012\232\223\034 -\245\050\162\163\221\103\232\247\321\115\205\204\271\251\164\217 -\024\100\307\334\336\254\101\144\154\264\031\233\002\143\155\044 -\144\217\104\262\045\352\316\135\164\014\143\062\134\215\207\345 -\002\003\001\000\001\243\201\211\060\201\206\060\017\006\003\125 -\035\023\001\001\377\004\005\060\003\001\001\377\060\013\006\003 -\125\035\017\004\004\003\002\001\006\060\035\006\003\125\035\016 -\004\026\004\024\246\221\102\375\023\141\112\043\236\010\244\051 -\345\330\023\004\043\356\101\045\060\107\006\003\125\035\036\004 -\100\060\076\240\074\060\005\202\003\056\147\162\060\005\202\003 -\056\145\165\060\006\202\004\056\145\144\165\060\006\202\004\056 -\157\162\147\060\005\201\003\056\147\162\060\005\201\003\056\145 -\165\060\006\201\004\056\145\144\165\060\006\201\004\056\157\162 -\147\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000 -\003\202\001\001\000\037\357\171\101\341\173\156\077\262\214\206 -\067\102\112\116\034\067\036\215\146\272\044\201\311\117\022\017 -\041\300\003\227\206\045\155\135\323\042\051\250\154\242\015\251 -\353\075\006\133\231\072\307\314\303\232\064\177\253\016\310\116 -\034\341\372\344\334\315\015\276\277\044\376\154\347\153\302\015 -\310\006\236\116\215\141\050\246\152\375\345\366\142\352\030\074 -\116\240\123\235\262\072\234\353\245\234\221\026\266\115\202\340 -\014\005\110\251\154\365\314\370\313\235\111\264\360\002\245\375 -\160\003\355\212\041\245\256\023\206\111\303\063\163\276\207\073 -\164\213\027\105\046\114\026\221\203\376\147\175\315\115\143\147 -\372\363\003\022\226\170\006\215\261\147\355\216\077\276\237\117 -\002\365\263\011\057\363\114\207\337\052\313\225\174\001\314\254 -\066\172\277\242\163\172\367\217\301\265\232\241\024\262\217\063 -\237\015\357\042\334\146\173\204\275\105\027\006\075\074\312\271 -\167\064\217\312\352\317\077\061\076\343\210\343\200\111\045\310 -\227\265\235\232\231\115\260\074\370\112\000\233\144\335\237\071 -\113\321\047\327\270 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for Certificate "Hellenic Academic and Research Institutions RootCA 2011" -# Issuer: CN=Hellenic Academic and Research Institutions RootCA 2011,O=Hellenic Academic and Research Institutions Cert. Authority,C=GR -# Serial Number: 0 (0x0) -# Subject: CN=Hellenic Academic and Research Institutions RootCA 2011,O=Hellenic Academic and Research Institutions Cert. Authority,C=GR -# Not Valid Before: Tue Dec 06 13:49:52 2011 -# Not Valid After : Mon Dec 01 13:49:52 2031 -# Fingerprint (MD5): 73:9F:4C:4B:73:5B:79:E9:FA:BA:1C:EF:6E:CB:D5:C9 -# Fingerprint (SHA1): FE:45:65:9B:79:03:5B:98:A1:61:B5:51:2E:AC:DA:58:09:48:22:4D -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Hellenic Academic and Research Institutions RootCA 2011" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\376\105\145\233\171\003\133\230\241\141\265\121\056\254\332\130 -\011\110\042\115 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\163\237\114\113\163\133\171\351\372\272\034\357\156\313\325\311 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\225\061\013\060\011\006\003\125\004\006\023\002\107\122 -\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154\145 -\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144 -\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164 -\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165\164 -\150\157\162\151\164\171\061\100\060\076\006\003\125\004\003\023 -\067\110\145\154\154\145\156\151\143\040\101\143\141\144\145\155 -\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150\040 -\111\156\163\164\151\164\165\164\151\157\156\163\040\122\157\157 -\164\103\101\040\062\060\061\061 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\000 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# Explicitly Distrust "MITM subCA 1 issued by Trustwave", Bug 724929 -# Issuer: E=ca@trustwave.com,CN="Trustwave Organization Issuing CA, Level 2",O="Trustwave Holdings, Inc.",L=Chicago,ST=Illinois,C=US -# Serial Number: 1800000005 (0x6b49d205) -# Not Before: Apr 7 15:37:15 2011 GMT -# Not After : Apr 4 15:37:15 2021 GMT -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "MITM subCA 1 issued by Trustwave" -CKA_ISSUER MULTILINE_OCTAL -\060\201\253\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\021\060\017\006\003\125\004\010\023\010\111\154\154\151\156 -\157\151\163\061\020\060\016\006\003\125\004\007\023\007\103\150 -\151\143\141\147\157\061\041\060\037\006\003\125\004\012\023\030 -\124\162\165\163\164\167\141\166\145\040\110\157\154\144\151\156 -\147\163\054\040\111\156\143\056\061\063\060\061\006\003\125\004 -\003\023\052\124\162\165\163\164\167\141\166\145\040\117\162\147 -\141\156\151\172\141\164\151\157\156\040\111\163\163\165\151\156 -\147\040\103\101\054\040\114\145\166\145\154\040\062\061\037\060 -\035\006\011\052\206\110\206\367\015\001\011\001\026\020\143\141 -\100\164\162\165\163\164\167\141\166\145\056\143\157\155 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\004\153\111\322\005 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# Explicitly Distrust "MITM subCA 2 issued by Trustwave", Bug 724929 -# Issuer: E=ca@trustwave.com,CN="Trustwave Organization Issuing CA, Level 2",O="Trustwave Holdings, Inc.",L=Chicago,ST=Illinois,C=US -# Serial Number: 1800000006 (0x6b49d206) -# Not Before: Apr 18 21:09:30 2011 GMT -# Not After : Apr 15 21:09:30 2021 GMT -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "MITM subCA 2 issued by Trustwave" -CKA_ISSUER MULTILINE_OCTAL -\060\201\253\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\021\060\017\006\003\125\004\010\023\010\111\154\154\151\156 -\157\151\163\061\020\060\016\006\003\125\004\007\023\007\103\150 -\151\143\141\147\157\061\041\060\037\006\003\125\004\012\023\030 -\124\162\165\163\164\167\141\166\145\040\110\157\154\144\151\156 -\147\163\054\040\111\156\143\056\061\063\060\061\006\003\125\004 -\003\023\052\124\162\165\163\164\167\141\166\145\040\117\162\147 -\141\156\151\172\141\164\151\157\156\040\111\163\163\165\151\156 -\147\040\103\101\054\040\114\145\166\145\154\040\062\061\037\060 -\035\006\011\052\206\110\206\367\015\001\011\001\026\020\143\141 -\100\164\162\165\163\164\167\141\166\145\056\143\157\155 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\004\153\111\322\006 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Actalis Authentication Root CA" -# -# Issuer: CN=Actalis Authentication Root CA,O=Actalis S.p.A./03358520967,L=Milan,C=IT -# Serial Number:57:0a:11:97:42:c4:e3:cc -# Subject: CN=Actalis Authentication Root CA,O=Actalis S.p.A./03358520967,L=Milan,C=IT -# Not Valid Before: Thu Sep 22 11:22:02 2011 -# Not Valid After : Sun Sep 22 11:22:02 2030 -# Fingerprint (MD5): 69:C1:0D:4F:07:A3:1B:C3:FE:56:3D:04:BC:11:F6:A6 -# Fingerprint (SHA1): F3:73:B3:87:06:5A:28:84:8A:F2:F3:4A:CE:19:2B:DD:C7:8E:9C:AC -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Actalis Authentication Root CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\153\061\013\060\011\006\003\125\004\006\023\002\111\124\061 -\016\060\014\006\003\125\004\007\014\005\115\151\154\141\156\061 -\043\060\041\006\003\125\004\012\014\032\101\143\164\141\154\151 -\163\040\123\056\160\056\101\056\057\060\063\063\065\070\065\062 -\060\071\066\067\061\047\060\045\006\003\125\004\003\014\036\101 -\143\164\141\154\151\163\040\101\165\164\150\145\156\164\151\143 -\141\164\151\157\156\040\122\157\157\164\040\103\101 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\153\061\013\060\011\006\003\125\004\006\023\002\111\124\061 -\016\060\014\006\003\125\004\007\014\005\115\151\154\141\156\061 -\043\060\041\006\003\125\004\012\014\032\101\143\164\141\154\151 -\163\040\123\056\160\056\101\056\057\060\063\063\065\070\065\062 -\060\071\066\067\061\047\060\045\006\003\125\004\003\014\036\101 -\143\164\141\154\151\163\040\101\165\164\150\145\156\164\151\143 -\141\164\151\157\156\040\122\157\157\164\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\010\127\012\021\227\102\304\343\314 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\273\060\202\003\243\240\003\002\001\002\002\010\127 -\012\021\227\102\304\343\314\060\015\006\011\052\206\110\206\367 -\015\001\001\013\005\000\060\153\061\013\060\011\006\003\125\004 -\006\023\002\111\124\061\016\060\014\006\003\125\004\007\014\005 -\115\151\154\141\156\061\043\060\041\006\003\125\004\012\014\032 -\101\143\164\141\154\151\163\040\123\056\160\056\101\056\057\060 -\063\063\065\070\065\062\060\071\066\067\061\047\060\045\006\003 -\125\004\003\014\036\101\143\164\141\154\151\163\040\101\165\164 -\150\145\156\164\151\143\141\164\151\157\156\040\122\157\157\164 -\040\103\101\060\036\027\015\061\061\060\071\062\062\061\061\062 -\062\060\062\132\027\015\063\060\060\071\062\062\061\061\062\062 -\060\062\132\060\153\061\013\060\011\006\003\125\004\006\023\002 -\111\124\061\016\060\014\006\003\125\004\007\014\005\115\151\154 -\141\156\061\043\060\041\006\003\125\004\012\014\032\101\143\164 -\141\154\151\163\040\123\056\160\056\101\056\057\060\063\063\065 -\070\065\062\060\071\066\067\061\047\060\045\006\003\125\004\003 -\014\036\101\143\164\141\154\151\163\040\101\165\164\150\145\156 -\164\151\143\141\164\151\157\156\040\122\157\157\164\040\103\101 -\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001 -\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001 -\000\247\306\304\245\051\244\054\357\345\030\305\260\120\243\157 -\121\073\237\012\132\311\302\110\070\012\302\034\240\030\177\221 -\265\207\271\100\077\335\035\150\037\010\203\325\055\036\210\240 -\370\217\126\217\155\231\002\222\220\026\325\137\010\154\211\327 -\341\254\274\040\302\261\340\203\121\212\151\115\000\226\132\157 -\057\300\104\176\243\016\344\221\315\130\356\334\373\307\036\105 -\107\335\047\271\010\001\237\246\041\035\365\101\055\057\114\375 -\050\255\340\212\255\042\264\126\145\216\206\124\217\223\103\051 -\336\071\106\170\243\060\043\272\315\360\175\023\127\300\135\322 -\203\153\110\114\304\253\237\200\132\133\072\275\311\247\042\077 -\200\047\063\133\016\267\212\014\135\007\067\010\313\154\322\172 -\107\042\104\065\305\314\314\056\216\335\052\355\267\175\146\015 -\137\141\121\042\125\033\343\106\343\343\075\320\065\142\232\333 -\257\024\310\133\241\314\211\033\341\060\046\374\240\233\037\201 -\247\107\037\004\353\243\071\222\006\237\231\323\277\323\352\117 -\120\234\031\376\226\207\036\074\145\366\243\030\044\203\206\020 -\347\124\076\250\072\166\044\117\201\041\305\343\017\002\370\223 -\224\107\040\273\376\324\016\323\150\271\335\304\172\204\202\343 -\123\124\171\335\333\234\322\362\007\233\056\266\274\076\355\205 -\155\357\045\021\362\227\032\102\141\367\112\227\350\213\261\020 -\007\372\145\201\262\242\071\317\367\074\377\030\373\306\361\132 -\213\131\342\002\254\173\222\320\116\024\117\131\105\366\014\136 -\050\137\260\350\077\105\317\317\257\233\157\373\204\323\167\132 -\225\157\254\224\204\236\356\274\300\112\217\112\223\370\104\041 -\342\061\105\141\120\116\020\330\343\065\174\114\031\264\336\005 -\277\243\006\237\310\265\315\344\037\327\027\006\015\172\225\164 -\125\015\150\032\374\020\033\142\144\235\155\340\225\240\303\224 -\007\127\015\024\346\275\005\373\270\237\346\337\213\342\306\347 -\176\226\366\123\305\200\064\120\050\130\360\022\120\161\027\060 -\272\346\170\143\274\364\262\255\233\053\262\376\341\071\214\136 -\272\013\040\224\336\173\203\270\377\343\126\215\267\021\351\073 -\214\362\261\301\135\235\244\013\114\053\331\262\030\365\265\237 -\113\002\003\001\000\001\243\143\060\141\060\035\006\003\125\035 -\016\004\026\004\024\122\330\210\072\310\237\170\146\355\211\363 -\173\070\160\224\311\002\002\066\320\060\017\006\003\125\035\023 -\001\001\377\004\005\060\003\001\001\377\060\037\006\003\125\035 -\043\004\030\060\026\200\024\122\330\210\072\310\237\170\146\355 -\211\363\173\070\160\224\311\002\002\066\320\060\016\006\003\125 -\035\017\001\001\377\004\004\003\002\001\006\060\015\006\011\052 -\206\110\206\367\015\001\001\013\005\000\003\202\002\001\000\013 -\173\162\207\300\140\246\111\114\210\130\346\035\210\367\024\144 -\110\246\330\130\012\016\117\023\065\337\065\035\324\355\006\061 -\310\201\076\152\325\335\073\032\062\356\220\075\021\322\056\364 -\216\303\143\056\043\146\260\147\276\157\266\300\023\071\140\252 -\242\064\045\223\165\122\336\247\235\255\016\207\211\122\161\152 -\026\074\031\035\203\370\232\051\145\276\364\077\232\331\360\363 -\132\207\041\161\200\115\313\340\070\233\077\273\372\340\060\115 -\317\206\323\145\020\031\030\321\227\002\261\053\162\102\150\254 -\240\275\116\132\332\030\277\153\230\201\320\375\232\276\136\025 -\110\315\021\025\271\300\051\134\264\350\210\367\076\066\256\267 -\142\375\036\142\336\160\170\020\034\110\133\332\274\244\070\272 -\147\355\125\076\136\127\337\324\003\100\114\201\244\322\117\143 -\247\011\102\011\024\374\000\251\302\200\163\117\056\300\100\331 -\021\173\110\352\172\002\300\323\353\050\001\046\130\164\301\300 -\163\042\155\223\225\375\071\175\273\052\343\366\202\343\054\227 -\137\116\037\221\224\372\376\054\243\330\166\032\270\115\262\070 -\117\233\372\035\110\140\171\046\342\363\375\251\320\232\350\160 -\217\111\172\326\345\275\012\016\333\055\363\215\277\353\343\244 -\175\313\307\225\161\350\332\243\174\305\302\370\164\222\004\033 -\206\254\244\042\123\100\266\254\376\114\166\317\373\224\062\300 -\065\237\166\077\156\345\220\156\240\246\046\242\270\054\276\321 -\053\205\375\247\150\310\272\001\053\261\154\164\035\270\163\225 -\347\356\267\307\045\360\000\114\000\262\176\266\013\213\034\363 -\300\120\236\045\271\340\010\336\066\146\377\067\245\321\273\124 -\144\054\311\047\265\113\222\176\145\377\323\055\341\271\116\274 -\177\244\101\041\220\101\167\246\071\037\352\236\343\237\320\146 -\157\005\354\252\166\176\277\153\026\240\353\265\307\374\222\124 -\057\053\021\047\045\067\170\114\121\152\260\363\314\130\135\024 -\361\152\110\025\377\302\007\266\261\215\017\216\134\120\106\263 -\075\277\001\230\117\262\131\124\107\076\064\173\170\155\126\223 -\056\163\352\146\050\170\315\035\024\277\240\217\057\056\270\056 -\216\362\024\212\314\351\265\174\373\154\235\014\245\341\226 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "Actalis Authentication Root CA" -# Issuer: CN=Actalis Authentication Root CA,O=Actalis S.p.A./03358520967,L=Milan,C=IT -# Serial Number:57:0a:11:97:42:c4:e3:cc -# Subject: CN=Actalis Authentication Root CA,O=Actalis S.p.A./03358520967,L=Milan,C=IT -# Not Valid Before: Thu Sep 22 11:22:02 2011 -# Not Valid After : Sun Sep 22 11:22:02 2030 -# Fingerprint (MD5): 69:C1:0D:4F:07:A3:1B:C3:FE:56:3D:04:BC:11:F6:A6 -# Fingerprint (SHA1): F3:73:B3:87:06:5A:28:84:8A:F2:F3:4A:CE:19:2B:DD:C7:8E:9C:AC -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Actalis Authentication Root CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\363\163\263\207\006\132\050\204\212\362\363\112\316\031\053\335 -\307\216\234\254 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\151\301\015\117\007\243\033\303\376\126\075\004\274\021\366\246 -END -CKA_ISSUER MULTILINE_OCTAL -\060\153\061\013\060\011\006\003\125\004\006\023\002\111\124\061 -\016\060\014\006\003\125\004\007\014\005\115\151\154\141\156\061 -\043\060\041\006\003\125\004\012\014\032\101\143\164\141\154\151 -\163\040\123\056\160\056\101\056\057\060\063\063\065\070\065\062 -\060\071\066\067\061\047\060\045\006\003\125\004\003\014\036\101 -\143\164\141\154\151\163\040\101\165\164\150\145\156\164\151\143 -\141\164\151\157\156\040\122\157\157\164\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\010\127\012\021\227\102\304\343\314 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Trustis FPS Root CA" -# -# Issuer: OU=Trustis FPS Root CA,O=Trustis Limited,C=GB -# Serial Number:1b:1f:ad:b6:20:f9:24:d3:36:6b:f7:c7:f1:8c:a0:59 -# Subject: OU=Trustis FPS Root CA,O=Trustis Limited,C=GB -# Not Valid Before: Tue Dec 23 12:14:06 2003 -# Not Valid After : Sun Jan 21 11:36:54 2024 -# Fingerprint (MD5): 30:C9:E7:1E:6B:E6:14:EB:65:B2:16:69:20:31:67:4D -# Fingerprint (SHA1): 3B:C0:38:0B:33:C3:F6:A6:0C:86:15:22:93:D9:DF:F5:4B:81:C0:04 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Trustis FPS Root CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\105\061\013\060\011\006\003\125\004\006\023\002\107\102\061 -\030\060\026\006\003\125\004\012\023\017\124\162\165\163\164\151 -\163\040\114\151\155\151\164\145\144\061\034\060\032\006\003\125 -\004\013\023\023\124\162\165\163\164\151\163\040\106\120\123\040 -\122\157\157\164\040\103\101 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\105\061\013\060\011\006\003\125\004\006\023\002\107\102\061 -\030\060\026\006\003\125\004\012\023\017\124\162\165\163\164\151 -\163\040\114\151\155\151\164\145\144\061\034\060\032\006\003\125 -\004\013\023\023\124\162\165\163\164\151\163\040\106\120\123\040 -\122\157\157\164\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\033\037\255\266\040\371\044\323\066\153\367\307\361\214 -\240\131 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\147\060\202\002\117\240\003\002\001\002\002\020\033 -\037\255\266\040\371\044\323\066\153\367\307\361\214\240\131\060 -\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\105 -\061\013\060\011\006\003\125\004\006\023\002\107\102\061\030\060 -\026\006\003\125\004\012\023\017\124\162\165\163\164\151\163\040 -\114\151\155\151\164\145\144\061\034\060\032\006\003\125\004\013 -\023\023\124\162\165\163\164\151\163\040\106\120\123\040\122\157 -\157\164\040\103\101\060\036\027\015\060\063\061\062\062\063\061 -\062\061\064\060\066\132\027\015\062\064\060\061\062\061\061\061 -\063\066\065\064\132\060\105\061\013\060\011\006\003\125\004\006 -\023\002\107\102\061\030\060\026\006\003\125\004\012\023\017\124 -\162\165\163\164\151\163\040\114\151\155\151\164\145\144\061\034 -\060\032\006\003\125\004\013\023\023\124\162\165\163\164\151\163 -\040\106\120\123\040\122\157\157\164\040\103\101\060\202\001\042 -\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003 -\202\001\017\000\060\202\001\012\002\202\001\001\000\305\120\173 -\236\073\065\320\337\304\214\315\216\233\355\243\300\066\231\364 -\102\352\247\076\200\203\017\246\247\131\207\311\220\105\103\176 -\000\352\206\171\052\003\275\075\067\231\211\146\267\345\212\126 -\206\223\234\150\113\150\004\214\223\223\002\076\060\322\067\072 -\042\141\211\034\205\116\175\217\325\257\173\065\366\176\050\107 -\211\061\334\016\171\144\037\231\322\133\272\376\177\140\277\255 -\353\347\074\070\051\152\057\345\221\013\125\377\354\157\130\325 -\055\311\336\114\146\161\217\014\327\004\332\007\346\036\030\343 -\275\051\002\250\372\034\341\133\271\203\250\101\110\274\032\161 -\215\347\142\345\055\262\353\337\174\317\333\253\132\312\061\361 -\114\042\363\005\023\367\202\371\163\171\014\276\327\113\034\300 -\321\025\074\223\101\144\321\346\276\043\027\042\000\211\136\037 -\153\245\254\156\247\113\214\355\243\162\346\257\143\115\057\205 -\322\024\065\232\056\116\214\352\062\230\050\206\241\221\011\101 -\072\264\341\343\362\372\360\311\012\242\101\335\251\343\003\307 -\210\025\073\034\324\032\224\327\237\144\131\022\155\002\003\001 -\000\001\243\123\060\121\060\017\006\003\125\035\023\001\001\377 -\004\005\060\003\001\001\377\060\037\006\003\125\035\043\004\030 -\060\026\200\024\272\372\161\045\171\213\127\101\045\041\206\013 -\161\353\262\144\016\213\041\147\060\035\006\003\125\035\016\004 -\026\004\024\272\372\161\045\171\213\127\101\045\041\206\013\161 -\353\262\144\016\213\041\147\060\015\006\011\052\206\110\206\367 -\015\001\001\005\005\000\003\202\001\001\000\176\130\377\375\065 -\031\175\234\030\117\236\260\053\274\216\214\024\377\054\240\332 -\107\133\303\357\201\055\257\005\352\164\110\133\363\076\116\007 -\307\155\305\263\223\317\042\065\134\266\077\165\047\137\011\226 -\315\240\376\276\100\014\134\022\125\370\223\202\312\051\351\136 -\077\126\127\213\070\066\367\105\032\114\050\315\236\101\270\355 -\126\114\204\244\100\310\270\260\245\053\151\160\004\152\303\370 -\324\022\062\371\016\303\261\334\062\204\104\054\157\313\106\017 -\352\146\101\017\117\361\130\245\246\015\015\017\141\336\245\236 -\135\175\145\241\074\027\347\250\125\116\357\240\307\355\306\104 -\177\124\365\243\340\217\360\174\125\042\217\051\266\201\243\341 -\155\116\054\033\200\147\354\255\040\237\014\142\141\325\227\377 -\103\355\055\301\332\135\051\052\205\077\254\145\356\206\017\005 -\215\220\137\337\356\237\364\277\356\035\373\230\344\177\220\053 -\204\170\020\016\154\111\123\357\025\133\145\106\112\135\257\272 -\373\072\162\035\315\366\045\210\036\227\314\041\234\051\001\015 -\145\353\127\331\363\127\226\273\110\315\201 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "Trustis FPS Root CA" -# Issuer: OU=Trustis FPS Root CA,O=Trustis Limited,C=GB -# Serial Number:1b:1f:ad:b6:20:f9:24:d3:36:6b:f7:c7:f1:8c:a0:59 -# Subject: OU=Trustis FPS Root CA,O=Trustis Limited,C=GB -# Not Valid Before: Tue Dec 23 12:14:06 2003 -# Not Valid After : Sun Jan 21 11:36:54 2024 -# Fingerprint (MD5): 30:C9:E7:1E:6B:E6:14:EB:65:B2:16:69:20:31:67:4D -# Fingerprint (SHA1): 3B:C0:38:0B:33:C3:F6:A6:0C:86:15:22:93:D9:DF:F5:4B:81:C0:04 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Trustis FPS Root CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\073\300\070\013\063\303\366\246\014\206\025\042\223\331\337\365 -\113\201\300\004 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\060\311\347\036\153\346\024\353\145\262\026\151\040\061\147\115 -END -CKA_ISSUER MULTILINE_OCTAL -\060\105\061\013\060\011\006\003\125\004\006\023\002\107\102\061 -\030\060\026\006\003\125\004\012\023\017\124\162\165\163\164\151 -\163\040\114\151\155\151\164\145\144\061\034\060\032\006\003\125 -\004\013\023\023\124\162\165\163\164\151\163\040\106\120\123\040 -\122\157\157\164\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\033\037\255\266\040\371\044\323\066\153\367\307\361\214 -\240\131 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Buypass Class 2 Root CA" -# -# Issuer: CN=Buypass Class 2 Root CA,O=Buypass AS-983163327,C=NO -# Serial Number: 2 (0x2) -# Subject: CN=Buypass Class 2 Root CA,O=Buypass AS-983163327,C=NO -# Not Valid Before: Tue Oct 26 08:38:03 2010 -# Not Valid After : Fri Oct 26 08:38:03 2040 -# Fingerprint (MD5): 46:A7:D2:FE:45:FB:64:5A:A8:59:90:9B:78:44:9B:29 -# Fingerprint (SHA1): 49:0A:75:74:DE:87:0A:47:FE:58:EE:F6:C7:6B:EB:C6:0B:12:40:99 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Buypass Class 2 Root CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061 -\035\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163 -\163\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040 -\060\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163 -\040\103\154\141\163\163\040\062\040\122\157\157\164\040\103\101 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061 -\035\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163 -\163\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040 -\060\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163 -\040\103\154\141\163\163\040\062\040\122\157\157\164\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\002 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\131\060\202\003\101\240\003\002\001\002\002\001\002 -\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060 -\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061\035 -\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163\163 -\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040\060 -\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163\040 -\103\154\141\163\163\040\062\040\122\157\157\164\040\103\101\060 -\036\027\015\061\060\061\060\062\066\060\070\063\070\060\063\132 -\027\015\064\060\061\060\062\066\060\070\063\070\060\063\132\060 -\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061\035 -\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163\163 -\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040\060 -\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163\040 -\103\154\141\163\163\040\062\040\122\157\157\164\040\103\101\060 -\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001\001 -\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000 -\327\307\136\367\301\007\324\167\373\103\041\364\364\365\151\344 -\356\062\001\333\243\206\037\344\131\015\272\347\165\203\122\353 -\352\034\141\025\110\273\035\007\312\214\256\260\334\226\235\352 -\303\140\222\206\202\050\163\234\126\006\377\113\144\360\014\052 -\067\111\265\345\317\014\174\356\361\112\273\163\060\145\363\325 -\057\203\266\176\343\347\365\236\253\140\371\323\361\235\222\164 -\212\344\034\226\254\133\200\351\265\364\061\207\243\121\374\307 -\176\241\157\216\123\167\324\227\301\125\063\222\076\030\057\165 -\324\255\206\111\313\225\257\124\006\154\330\006\023\215\133\377 -\341\046\031\131\300\044\272\201\161\171\220\104\120\150\044\224 -\137\270\263\021\361\051\101\141\243\101\313\043\066\325\301\361 -\062\120\020\116\177\364\206\223\354\204\323\216\274\113\277\134 -\001\116\007\075\334\024\212\224\012\244\352\163\373\013\121\350 -\023\007\030\372\016\361\053\321\124\025\175\074\341\367\264\031 -\102\147\142\136\167\340\242\125\354\266\331\151\027\325\072\257 -\104\355\112\305\236\344\172\047\174\345\165\327\252\313\045\347 -\337\153\012\333\017\115\223\116\250\240\315\173\056\362\131\001 -\152\267\015\270\007\201\176\213\070\033\070\346\012\127\231\075 -\356\041\350\243\365\014\026\335\213\354\064\216\234\052\034\000 -\025\027\215\150\203\322\160\237\030\010\315\021\150\325\311\153 -\122\315\304\106\217\334\265\363\330\127\163\036\351\224\071\004 -\277\323\336\070\336\264\123\354\151\034\242\176\304\217\344\033 -\160\255\362\242\371\373\367\026\144\146\151\237\111\121\242\342 -\025\030\147\006\112\177\325\154\265\115\263\063\340\141\353\135 -\276\351\230\017\062\327\035\113\074\056\132\001\122\221\011\362 -\337\352\215\330\006\100\143\252\021\344\376\303\067\236\024\122 -\077\364\342\314\362\141\223\321\375\147\153\327\122\256\277\150 -\253\100\103\240\127\065\123\170\360\123\370\141\102\007\144\306 -\327\157\233\114\070\015\143\254\142\257\066\213\242\163\012\015 -\365\041\275\164\252\115\352\162\003\111\333\307\137\035\142\143 -\307\375\335\221\354\063\356\365\155\264\156\060\150\336\310\326 -\046\260\165\136\173\264\007\040\230\241\166\062\270\115\154\117 -\002\003\001\000\001\243\102\060\100\060\017\006\003\125\035\023 -\001\001\377\004\005\060\003\001\001\377\060\035\006\003\125\035 -\016\004\026\004\024\311\200\167\340\142\222\202\365\106\234\363 -\272\367\114\303\336\270\243\255\071\060\016\006\003\125\035\017 -\001\001\377\004\004\003\002\001\006\060\015\006\011\052\206\110 -\206\367\015\001\001\013\005\000\003\202\002\001\000\123\137\041 -\365\272\260\072\122\071\054\222\260\154\000\311\357\316\040\357 -\006\362\226\236\351\244\164\177\172\026\374\267\365\266\373\025 -\033\077\253\246\300\162\135\020\261\161\356\274\117\343\255\254 -\003\155\056\161\056\257\304\343\255\243\275\014\021\247\264\377 -\112\262\173\020\020\037\247\127\101\262\300\256\364\054\131\326 -\107\020\210\363\041\121\051\060\312\140\206\257\106\253\035\355 -\072\133\260\224\336\104\343\101\010\242\301\354\035\326\375\117 -\266\326\107\320\024\013\312\346\312\265\173\167\176\101\037\136 -\203\307\266\214\071\226\260\077\226\201\101\157\140\220\342\350 -\371\373\042\161\331\175\263\075\106\277\264\204\257\220\034\017 -\217\022\152\257\357\356\036\172\256\002\112\212\027\053\166\376 -\254\124\211\044\054\117\077\266\262\247\116\214\250\221\227\373 -\051\306\173\134\055\271\313\146\266\267\250\133\022\121\205\265 -\011\176\142\170\160\376\251\152\140\266\035\016\171\014\375\312 -\352\044\200\162\303\227\077\362\167\253\103\042\012\307\353\266 -\014\204\202\054\200\153\101\212\010\300\353\245\153\337\231\022 -\313\212\325\136\200\014\221\340\046\010\066\110\305\372\070\021 -\065\377\045\203\055\362\172\277\332\375\216\376\245\313\105\054 -\037\304\210\123\256\167\016\331\232\166\305\216\054\035\243\272 -\325\354\062\256\300\252\254\367\321\172\115\353\324\007\342\110 -\367\042\216\260\244\237\152\316\216\262\262\140\364\243\042\320 -\043\353\224\132\172\151\335\017\277\100\127\254\153\131\120\331 -\243\231\341\156\376\215\001\171\047\043\025\336\222\235\173\011 -\115\132\347\113\110\060\132\030\346\012\155\346\217\340\322\273 -\346\337\174\156\041\202\301\150\071\115\264\230\130\146\142\314 -\112\220\136\303\372\047\004\261\171\025\164\231\314\276\255\040 -\336\046\140\034\353\126\121\246\243\352\344\243\077\247\377\141 -\334\361\132\115\154\062\043\103\356\254\250\356\356\112\022\011 -\074\135\161\302\276\171\372\302\207\150\035\013\375\134\151\314 -\006\320\232\175\124\231\052\311\071\032\031\257\113\052\103\363 -\143\135\132\130\342\057\343\035\344\251\326\320\012\320\236\277 -\327\201\011\361\311\307\046\015\254\230\026\126\240 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "Buypass Class 2 Root CA" -# Issuer: CN=Buypass Class 2 Root CA,O=Buypass AS-983163327,C=NO -# Serial Number: 2 (0x2) -# Subject: CN=Buypass Class 2 Root CA,O=Buypass AS-983163327,C=NO -# Not Valid Before: Tue Oct 26 08:38:03 2010 -# Not Valid After : Fri Oct 26 08:38:03 2040 -# Fingerprint (MD5): 46:A7:D2:FE:45:FB:64:5A:A8:59:90:9B:78:44:9B:29 -# Fingerprint (SHA1): 49:0A:75:74:DE:87:0A:47:FE:58:EE:F6:C7:6B:EB:C6:0B:12:40:99 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Buypass Class 2 Root CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\111\012\165\164\336\207\012\107\376\130\356\366\307\153\353\306 -\013\022\100\231 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\106\247\322\376\105\373\144\132\250\131\220\233\170\104\233\051 -END -CKA_ISSUER MULTILINE_OCTAL -\060\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061 -\035\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163 -\163\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040 -\060\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163 -\040\103\154\141\163\163\040\062\040\122\157\157\164\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\002 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Buypass Class 3 Root CA" -# -# Issuer: CN=Buypass Class 3 Root CA,O=Buypass AS-983163327,C=NO -# Serial Number: 2 (0x2) -# Subject: CN=Buypass Class 3 Root CA,O=Buypass AS-983163327,C=NO -# Not Valid Before: Tue Oct 26 08:28:58 2010 -# Not Valid After : Fri Oct 26 08:28:58 2040 -# Fingerprint (MD5): 3D:3B:18:9E:2C:64:5A:E8:D5:88:CE:0E:F9:37:C2:EC -# Fingerprint (SHA1): DA:FA:F7:FA:66:84:EC:06:8F:14:50:BD:C7:C2:81:A5:BC:A9:64:57 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Buypass Class 3 Root CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061 -\035\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163 -\163\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040 -\060\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163 -\040\103\154\141\163\163\040\063\040\122\157\157\164\040\103\101 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061 -\035\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163 -\163\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040 -\060\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163 -\040\103\154\141\163\163\040\063\040\122\157\157\164\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\002 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\131\060\202\003\101\240\003\002\001\002\002\001\002 -\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060 -\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061\035 -\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163\163 -\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040\060 -\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163\040 -\103\154\141\163\163\040\063\040\122\157\157\164\040\103\101\060 -\036\027\015\061\060\061\060\062\066\060\070\062\070\065\070\132 -\027\015\064\060\061\060\062\066\060\070\062\070\065\070\132\060 -\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061\035 -\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163\163 -\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040\060 -\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163\040 -\103\154\141\163\163\040\063\040\122\157\157\164\040\103\101\060 -\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001\001 -\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000 -\245\332\012\225\026\120\343\225\362\136\235\166\061\006\062\172 -\233\361\020\166\270\000\232\265\122\066\315\044\107\260\237\030 -\144\274\232\366\372\325\171\330\220\142\114\042\057\336\070\075 -\326\340\250\351\034\054\333\170\021\351\216\150\121\025\162\307 -\363\063\207\344\240\135\013\134\340\127\007\052\060\365\315\304 -\067\167\050\115\030\221\346\277\325\122\375\161\055\160\076\347 -\306\304\212\343\360\050\013\364\166\230\241\213\207\125\262\072 -\023\374\267\076\047\067\216\042\343\250\117\052\357\140\273\075 -\267\071\303\016\001\107\231\135\022\117\333\103\372\127\241\355 -\371\235\276\021\107\046\133\023\230\253\135\026\212\260\067\034 -\127\235\105\377\210\226\066\277\273\312\007\173\157\207\143\327 -\320\062\152\326\135\154\014\361\263\156\071\342\153\061\056\071 -\000\047\024\336\070\300\354\031\146\206\022\350\235\162\026\023 -\144\122\307\251\067\034\375\202\060\355\204\030\035\364\256\134 -\377\160\023\000\353\261\365\063\172\113\326\125\370\005\215\113 -\151\260\365\263\050\066\134\024\304\121\163\115\153\013\361\064 -\007\333\027\071\327\334\050\173\153\365\237\363\056\301\117\027 -\052\020\363\314\312\350\353\375\153\253\056\232\237\055\202\156 -\004\324\122\001\223\055\075\206\374\176\374\337\357\102\035\246 -\153\357\271\040\306\367\275\240\247\225\375\247\346\211\044\330 -\314\214\064\154\342\043\057\331\022\032\041\271\125\221\157\013 -\221\171\031\014\255\100\210\013\160\342\172\322\016\330\150\110 -\273\202\023\071\020\130\351\330\052\007\306\022\333\130\333\322 -\073\125\020\107\005\025\147\142\176\030\143\246\106\077\011\016 -\124\062\136\277\015\142\172\047\357\200\350\333\331\113\006\132 -\067\132\045\320\010\022\167\324\157\011\120\227\075\310\035\303 -\337\214\105\060\126\306\323\144\253\146\363\300\136\226\234\303 -\304\357\303\174\153\213\072\171\177\263\111\317\075\342\211\237 -\240\060\113\205\271\234\224\044\171\217\175\153\251\105\150\017 -\053\320\361\332\034\313\151\270\312\111\142\155\310\320\143\142 -\335\140\017\130\252\217\241\274\005\245\146\242\317\033\166\262 -\204\144\261\114\071\122\300\060\272\360\214\113\002\260\266\267 -\002\003\001\000\001\243\102\060\100\060\017\006\003\125\035\023 -\001\001\377\004\005\060\003\001\001\377\060\035\006\003\125\035 -\016\004\026\004\024\107\270\315\377\345\157\356\370\262\354\057 -\116\016\371\045\260\216\074\153\303\060\016\006\003\125\035\017 -\001\001\377\004\004\003\002\001\006\060\015\006\011\052\206\110 -\206\367\015\001\001\013\005\000\003\202\002\001\000\000\040\043 -\101\065\004\220\302\100\142\140\357\342\065\114\327\077\254\342 -\064\220\270\241\157\166\372\026\026\244\110\067\054\351\220\302 -\362\074\370\012\237\330\201\345\273\133\332\045\054\244\247\125 -\161\044\062\366\310\013\362\274\152\370\223\254\262\007\302\137 -\237\333\314\310\212\252\276\152\157\341\111\020\314\061\327\200 -\273\273\310\330\242\016\144\127\352\242\365\302\251\061\025\322 -\040\152\354\374\042\001\050\317\206\270\200\036\251\314\021\245 -\074\362\026\263\107\235\374\322\200\041\304\313\320\107\160\101 -\241\312\203\031\010\054\155\362\135\167\234\212\024\023\324\066 -\034\222\360\345\006\067\334\246\346\220\233\070\217\134\153\033 -\106\206\103\102\137\076\001\007\123\124\135\145\175\367\212\163 -\241\232\124\132\037\051\103\024\047\302\205\017\265\210\173\032 -\073\224\267\035\140\247\265\234\347\051\151\127\132\233\223\172 -\103\060\033\003\327\142\310\100\246\252\374\144\344\112\327\221 -\123\001\250\040\210\156\234\137\104\271\313\140\201\064\354\157 -\323\175\332\110\137\353\264\220\274\055\251\034\013\254\034\325 -\242\150\040\200\004\326\374\261\217\057\273\112\061\015\112\206 -\034\353\342\066\051\046\365\332\330\304\362\165\141\317\176\256 -\166\143\112\172\100\145\223\207\370\036\200\214\206\345\206\326 -\217\016\374\123\054\140\350\026\141\032\242\076\103\173\315\071 -\140\124\152\365\362\211\046\001\150\203\110\242\063\350\311\004 -\221\262\021\064\021\076\352\320\103\031\037\003\223\220\014\377 -\121\075\127\364\101\156\341\313\240\276\353\311\143\315\155\314 -\344\370\066\252\150\235\355\275\135\227\160\104\015\266\016\065 -\334\341\014\135\273\240\121\224\313\176\026\353\021\057\243\222 -\105\310\114\161\331\274\311\231\122\127\106\057\120\317\275\065 -\151\364\075\025\316\006\245\054\017\076\366\201\272\224\273\303 -\273\277\145\170\322\206\171\377\111\073\032\203\014\360\336\170 -\354\310\362\115\114\032\336\202\051\370\301\132\332\355\356\346 -\047\136\350\105\320\235\034\121\250\150\253\104\343\320\213\152 -\343\370\073\273\334\115\327\144\362\121\276\346\252\253\132\351 -\061\356\006\274\163\277\023\142\012\237\307\271\227 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "Buypass Class 3 Root CA" -# Issuer: CN=Buypass Class 3 Root CA,O=Buypass AS-983163327,C=NO -# Serial Number: 2 (0x2) -# Subject: CN=Buypass Class 3 Root CA,O=Buypass AS-983163327,C=NO -# Not Valid Before: Tue Oct 26 08:28:58 2010 -# Not Valid After : Fri Oct 26 08:28:58 2040 -# Fingerprint (MD5): 3D:3B:18:9E:2C:64:5A:E8:D5:88:CE:0E:F9:37:C2:EC -# Fingerprint (SHA1): DA:FA:F7:FA:66:84:EC:06:8F:14:50:BD:C7:C2:81:A5:BC:A9:64:57 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Buypass Class 3 Root CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\332\372\367\372\146\204\354\006\217\024\120\275\307\302\201\245 -\274\251\144\127 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\075\073\030\236\054\144\132\350\325\210\316\016\371\067\302\354 -END -CKA_ISSUER MULTILINE_OCTAL -\060\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061 -\035\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163 -\163\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040 -\060\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163 -\040\103\154\141\163\163\040\063\040\122\157\157\164\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\002 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "T-TeleSec GlobalRoot Class 3" -# -# Issuer: CN=T-TeleSec GlobalRoot Class 3,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE -# Serial Number: 1 (0x1) -# Subject: CN=T-TeleSec GlobalRoot Class 3,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE -# Not Valid Before: Wed Oct 01 10:29:56 2008 -# Not Valid After : Sat Oct 01 23:59:59 2033 -# Fingerprint (MD5): CA:FB:40:A8:4E:39:92:8A:1D:FE:8E:2F:C4:27:EA:EF -# Fingerprint (SHA1): 55:A6:72:3E:CB:F2:EC:CD:C3:23:74:70:19:9D:2A:BE:11:E3:81:D1 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "T-TeleSec GlobalRoot Class 3" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105 -\061\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163 -\164\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040 -\123\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060 -\035\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155 -\163\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045 -\060\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123 -\145\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154 -\141\163\163\040\063 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105 -\061\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163 -\164\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040 -\123\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060 -\035\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155 -\163\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045 -\060\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123 -\145\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154 -\141\163\163\040\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\001 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\303\060\202\002\253\240\003\002\001\002\002\001\001 -\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060 -\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105\061 -\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163\164 -\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040\123 -\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060\035 -\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155\163 -\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045\060 -\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123\145 -\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154\141 -\163\163\040\063\060\036\027\015\060\070\061\060\060\061\061\060 -\062\071\065\066\132\027\015\063\063\061\060\060\061\062\063\065 -\071\065\071\132\060\201\202\061\013\060\011\006\003\125\004\006 -\023\002\104\105\061\053\060\051\006\003\125\004\012\014\042\124 -\055\123\171\163\164\145\155\163\040\105\156\164\145\162\160\162 -\151\163\145\040\123\145\162\166\151\143\145\163\040\107\155\142 -\110\061\037\060\035\006\003\125\004\013\014\026\124\055\123\171 -\163\164\145\155\163\040\124\162\165\163\164\040\103\145\156\164 -\145\162\061\045\060\043\006\003\125\004\003\014\034\124\055\124 -\145\154\145\123\145\143\040\107\154\157\142\141\154\122\157\157 -\164\040\103\154\141\163\163\040\063\060\202\001\042\060\015\006 -\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017 -\000\060\202\001\012\002\202\001\001\000\275\165\223\360\142\042 -\157\044\256\340\172\166\254\175\275\331\044\325\270\267\374\315 -\360\102\340\353\170\210\126\136\233\232\124\035\115\014\212\366 -\323\317\160\364\122\265\330\223\004\343\106\206\161\101\112\053 -\360\052\054\125\003\326\110\303\340\071\070\355\362\134\074\077 -\104\274\223\075\141\253\116\315\015\276\360\040\047\130\016\104 -\177\004\032\207\245\327\226\024\066\220\320\111\173\241\165\373 -\032\153\163\261\370\316\251\011\054\362\123\325\303\024\104\270 -\206\245\366\213\053\071\332\243\063\124\331\372\162\032\367\042 -\025\034\210\221\153\177\146\345\303\152\200\260\044\363\337\206 -\105\210\375\031\177\165\207\037\037\261\033\012\163\044\133\271 -\145\340\054\124\310\140\323\146\027\077\341\314\124\063\163\221 -\002\072\246\177\173\166\071\242\037\226\266\070\256\265\310\223 -\164\035\236\271\264\345\140\235\057\126\321\340\353\136\133\114 -\022\160\014\154\104\040\253\021\330\364\031\366\322\234\122\067 -\347\372\266\302\061\073\112\324\024\231\255\307\032\365\135\137 -\372\007\270\174\015\037\326\203\036\263\002\003\001\000\001\243 -\102\060\100\060\017\006\003\125\035\023\001\001\377\004\005\060 -\003\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004 -\003\002\001\006\060\035\006\003\125\035\016\004\026\004\024\265 -\003\367\166\073\141\202\152\022\252\030\123\353\003\041\224\277 -\376\316\312\060\015\006\011\052\206\110\206\367\015\001\001\013 -\005\000\003\202\001\001\000\126\075\357\224\325\275\332\163\262 -\130\276\256\220\255\230\047\227\376\001\261\260\122\000\270\115 -\344\033\041\164\033\176\300\356\136\151\052\045\257\134\326\035 -\332\322\171\311\363\227\051\340\206\207\336\004\131\017\361\131 -\324\144\205\113\231\257\045\004\036\311\106\251\227\336\202\262 -\033\160\237\234\366\257\161\061\335\173\005\245\054\323\271\312 -\107\366\312\362\366\347\255\271\110\077\274\026\267\301\155\364 -\352\011\257\354\363\265\347\005\236\246\036\212\123\121\326\223 -\201\314\164\223\366\271\332\246\045\005\164\171\132\176\100\076 -\202\113\046\021\060\156\341\077\101\307\107\000\065\325\365\323 -\367\124\076\201\075\332\111\152\232\263\357\020\075\346\353\157 -\321\310\042\107\313\314\317\001\061\222\331\030\343\042\276\011 -\036\032\076\132\262\344\153\014\124\172\175\103\116\270\211\245 -\173\327\242\075\226\206\314\362\046\064\055\152\222\235\232\032 -\320\060\342\135\116\004\260\137\213\040\176\167\301\075\225\202 -\321\106\232\073\074\170\270\157\241\320\015\144\242\170\036\051 -\116\223\303\244\124\024\133 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "T-TeleSec GlobalRoot Class 3" -# Issuer: CN=T-TeleSec GlobalRoot Class 3,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE -# Serial Number: 1 (0x1) -# Subject: CN=T-TeleSec GlobalRoot Class 3,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE -# Not Valid Before: Wed Oct 01 10:29:56 2008 -# Not Valid After : Sat Oct 01 23:59:59 2033 -# Fingerprint (MD5): CA:FB:40:A8:4E:39:92:8A:1D:FE:8E:2F:C4:27:EA:EF -# Fingerprint (SHA1): 55:A6:72:3E:CB:F2:EC:CD:C3:23:74:70:19:9D:2A:BE:11:E3:81:D1 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "T-TeleSec GlobalRoot Class 3" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\125\246\162\076\313\362\354\315\303\043\164\160\031\235\052\276 -\021\343\201\321 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\312\373\100\250\116\071\222\212\035\376\216\057\304\047\352\357 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105 -\061\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163 -\164\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040 -\123\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060 -\035\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155 -\163\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045 -\060\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123 -\145\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154 -\141\163\163\040\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\001 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "EE Certification Centre Root CA" -# -# Issuer: E=pki@sk.ee,CN=EE Certification Centre Root CA,O=AS Sertifitseerimiskeskus,C=EE -# Serial Number:54:80:f9:a0:73:ed:3f:00:4c:ca:89:d8:e3:71:e6:4a -# Subject: E=pki@sk.ee,CN=EE Certification Centre Root CA,O=AS Sertifitseerimiskeskus,C=EE -# Not Valid Before: Sat Oct 30 10:10:30 2010 -# Not Valid After : Tue Dec 17 23:59:59 2030 -# Fingerprint (MD5): 43:5E:88:D4:7D:1A:4A:7E:FD:84:2E:52:EB:01:D4:6F -# Fingerprint (SHA1): C9:A8:B9:E7:55:80:5E:58:E3:53:77:A7:25:EB:AF:C3:7B:27:CC:D7 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "EE Certification Centre Root CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\165\061\013\060\011\006\003\125\004\006\023\002\105\105\061 -\042\060\040\006\003\125\004\012\014\031\101\123\040\123\145\162 -\164\151\146\151\164\163\145\145\162\151\155\151\163\153\145\163 -\153\165\163\061\050\060\046\006\003\125\004\003\014\037\105\105 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\103 -\145\156\164\162\145\040\122\157\157\164\040\103\101\061\030\060 -\026\006\011\052\206\110\206\367\015\001\011\001\026\011\160\153 -\151\100\163\153\056\145\145 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\165\061\013\060\011\006\003\125\004\006\023\002\105\105\061 -\042\060\040\006\003\125\004\012\014\031\101\123\040\123\145\162 -\164\151\146\151\164\163\145\145\162\151\155\151\163\153\145\163 -\153\165\163\061\050\060\046\006\003\125\004\003\014\037\105\105 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\103 -\145\156\164\162\145\040\122\157\157\164\040\103\101\061\030\060 -\026\006\011\052\206\110\206\367\015\001\011\001\026\011\160\153 -\151\100\163\153\056\145\145 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\124\200\371\240\163\355\077\000\114\312\211\330\343\161 -\346\112 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\003\060\202\002\353\240\003\002\001\002\002\020\124 -\200\371\240\163\355\077\000\114\312\211\330\343\161\346\112\060 -\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\165 -\061\013\060\011\006\003\125\004\006\023\002\105\105\061\042\060 -\040\006\003\125\004\012\014\031\101\123\040\123\145\162\164\151 -\146\151\164\163\145\145\162\151\155\151\163\153\145\163\153\165 -\163\061\050\060\046\006\003\125\004\003\014\037\105\105\040\103 -\145\162\164\151\146\151\143\141\164\151\157\156\040\103\145\156 -\164\162\145\040\122\157\157\164\040\103\101\061\030\060\026\006 -\011\052\206\110\206\367\015\001\011\001\026\011\160\153\151\100 -\163\153\056\145\145\060\042\030\017\062\060\061\060\061\060\063 -\060\061\060\061\060\063\060\132\030\017\062\060\063\060\061\062 -\061\067\062\063\065\071\065\071\132\060\165\061\013\060\011\006 -\003\125\004\006\023\002\105\105\061\042\060\040\006\003\125\004 -\012\014\031\101\123\040\123\145\162\164\151\146\151\164\163\145 -\145\162\151\155\151\163\153\145\163\153\165\163\061\050\060\046 -\006\003\125\004\003\014\037\105\105\040\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\103\145\156\164\162\145\040\122 -\157\157\164\040\103\101\061\030\060\026\006\011\052\206\110\206 -\367\015\001\011\001\026\011\160\153\151\100\163\153\056\145\145 -\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001\001 -\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001\001 -\000\310\040\300\354\340\305\113\253\007\170\225\363\104\356\373 -\013\014\377\164\216\141\273\261\142\352\043\330\253\241\145\062 -\172\353\216\027\117\226\330\012\173\221\242\143\154\307\214\114 -\056\171\277\251\005\374\151\134\225\215\142\371\271\160\355\303 -\121\175\320\223\346\154\353\060\113\341\274\175\277\122\233\316 -\156\173\145\362\070\261\300\242\062\357\142\262\150\340\141\123 -\301\066\225\377\354\224\272\066\256\234\034\247\062\017\345\174 -\264\306\157\164\375\173\030\350\254\127\355\006\040\113\062\060 -\130\133\375\315\250\346\241\374\160\274\216\222\163\333\227\247 -\174\041\256\075\301\365\110\207\154\047\275\237\045\164\201\125 -\260\367\165\366\075\244\144\153\326\117\347\316\100\255\017\335 -\062\323\274\212\022\123\230\311\211\373\020\035\115\176\315\176 -\037\126\015\041\160\205\366\040\203\037\366\272\037\004\217\352 -\167\210\065\304\377\352\116\241\213\115\077\143\033\104\303\104 -\324\045\166\312\267\215\327\036\112\146\144\315\134\305\234\203 -\341\302\010\210\232\354\116\243\361\076\034\054\331\154\035\241 -\113\002\003\001\000\001\243\201\212\060\201\207\060\017\006\003 -\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006 -\003\125\035\017\001\001\377\004\004\003\002\001\006\060\035\006 -\003\125\035\016\004\026\004\024\022\362\132\076\352\126\034\277 -\315\006\254\361\361\045\311\251\113\324\024\231\060\105\006\003 -\125\035\045\004\076\060\074\006\010\053\006\001\005\005\007\003 -\002\006\010\053\006\001\005\005\007\003\001\006\010\053\006\001 -\005\005\007\003\003\006\010\053\006\001\005\005\007\003\004\006 -\010\053\006\001\005\005\007\003\010\006\010\053\006\001\005\005 -\007\003\011\060\015\006\011\052\206\110\206\367\015\001\001\005 -\005\000\003\202\001\001\000\173\366\344\300\015\252\031\107\267 -\115\127\243\376\255\273\261\152\325\017\236\333\344\143\305\216 -\241\120\126\223\226\270\070\300\044\042\146\274\123\024\141\225 -\277\320\307\052\226\071\077\175\050\263\020\100\041\152\304\257 -\260\122\167\030\341\226\330\126\135\343\335\066\136\035\247\120 -\124\240\305\052\344\252\214\224\212\117\235\065\377\166\244\006 -\023\221\242\242\175\000\104\077\125\323\202\074\032\325\133\274 -\126\114\042\056\106\103\212\044\100\055\363\022\270\073\160\032 -\244\226\271\032\257\207\101\032\152\030\015\006\117\307\076\156 -\271\051\115\015\111\211\021\207\062\133\346\113\004\310\344\134 -\346\164\163\224\135\026\230\023\225\376\373\333\261\104\345\072 -\160\254\067\153\346\263\063\162\050\311\263\127\240\366\002\026 -\210\006\013\266\246\113\040\050\324\336\075\213\255\067\005\123 -\164\376\156\314\274\103\027\161\136\371\305\314\032\251\141\356 -\367\166\014\363\162\364\162\255\317\162\002\066\007\107\317\357 -\031\120\211\140\314\351\044\225\017\302\313\035\362\157\166\220 -\307\314\165\301\226\305\235 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "EE Certification Centre Root CA" -# Issuer: E=pki@sk.ee,CN=EE Certification Centre Root CA,O=AS Sertifitseerimiskeskus,C=EE -# Serial Number:54:80:f9:a0:73:ed:3f:00:4c:ca:89:d8:e3:71:e6:4a -# Subject: E=pki@sk.ee,CN=EE Certification Centre Root CA,O=AS Sertifitseerimiskeskus,C=EE -# Not Valid Before: Sat Oct 30 10:10:30 2010 -# Not Valid After : Tue Dec 17 23:59:59 2030 -# Fingerprint (MD5): 43:5E:88:D4:7D:1A:4A:7E:FD:84:2E:52:EB:01:D4:6F -# Fingerprint (SHA1): C9:A8:B9:E7:55:80:5E:58:E3:53:77:A7:25:EB:AF:C3:7B:27:CC:D7 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "EE Certification Centre Root CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\311\250\271\347\125\200\136\130\343\123\167\247\045\353\257\303 -\173\047\314\327 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\103\136\210\324\175\032\112\176\375\204\056\122\353\001\324\157 -END -CKA_ISSUER MULTILINE_OCTAL -\060\165\061\013\060\011\006\003\125\004\006\023\002\105\105\061 -\042\060\040\006\003\125\004\012\014\031\101\123\040\123\145\162 -\164\151\146\151\164\163\145\145\162\151\155\151\163\153\145\163 -\153\165\163\061\050\060\046\006\003\125\004\003\014\037\105\105 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\103 -\145\156\164\162\145\040\122\157\157\164\040\103\101\061\030\060 -\026\006\011\052\206\110\206\367\015\001\011\001\026\011\160\153 -\151\100\163\153\056\145\145 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\124\200\371\240\163\355\077\000\114\312\211\330\343\161 -\346\112 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# Explicitly Distrust "TURKTRUST Mis-issued Intermediate CA 1", Bug 825022 -# Issuer: O=T..RKTRUST Bilgi ..leti..im ve Bili..im G..venli..i Hizmetleri A...,C=TR,CN=T..RKTRUST Elektronik Sunucu Sertifikas.. Hizmetleri -# Serial Number: 2087 (0x827) -# Subject: CN=*.EGO.GOV.TR,OU=EGO BILGI ISLEM,O=EGO,L=ANKARA,ST=ANKARA,C=TR -# Not Valid Before: Mon Aug 08 07:07:51 2011 -# Not Valid After : Tue Jul 06 07:07:51 2021 -# Fingerprint (MD5): F8:F5:25:FF:0C:31:CF:85:E1:0C:86:17:C1:CE:1F:8E -# Fingerprint (SHA1): C6:9F:28:C8:25:13:9E:65:A6:46:C4:34:AC:A5:A1:D2:00:29:5D:B1 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "TURKTRUST Mis-issued Intermediate CA 1" -CKA_ISSUER MULTILINE_OCTAL -\060\201\254\061\075\060\073\006\003\125\004\003\014\064\124\303 -\234\122\113\124\122\125\123\124\040\105\154\145\153\164\162\157 -\156\151\153\040\123\165\156\165\143\165\040\123\145\162\164\151 -\146\151\153\141\163\304\261\040\110\151\172\155\145\164\154\145 -\162\151\061\013\060\011\006\003\125\004\006\023\002\124\122\061 -\136\060\134\006\003\125\004\012\014\125\124\303\234\122\113\124 -\122\125\123\124\040\102\151\154\147\151\040\304\260\154\145\164 -\151\305\237\151\155\040\166\145\040\102\151\154\151\305\237\151 -\155\040\107\303\274\166\145\156\154\151\304\237\151\040\110\151 -\172\155\145\164\154\145\162\151\040\101\056\305\236\056\040\050 -\143\051\040\113\141\163\304\261\155\040\040\062\060\060\065 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\002\010\047 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# Explicitly Distrust "TURKTRUST Mis-issued Intermediate CA 2", Bug 825022 -# Issuer: O=T..RKTRUST Bilgi ..leti..im ve Bili..im G..venli..i Hizmetleri A...,C=TR,CN=T..RKTRUST Elektronik Sunucu Sertifikas.. Hizmetleri -# Serial Number: 2148 (0x864) -# Subject: E=ileti@kktcmerkezbankasi.org,CN=e-islem.kktcmerkezbankasi.org,O=KKTC Merkez Bankasi,L=Lefkosa,ST=Lefkosa,C=TR -# Not Valid Before: Mon Aug 08 07:07:51 2011 -# Not Valid After : Thu Aug 05 07:07:51 2021 -# Fingerprint (MD5): BF:C3:EC:AD:0F:42:4F:B4:B5:38:DB:35:BF:AD:84:A2 -# Fingerprint (SHA1): F9:2B:E5:26:6C:C0:5D:B2:DC:0D:C3:F2:DC:74:E0:2D:EF:D9:49:CB -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "TURKTRUST Mis-issued Intermediate CA 2" -CKA_ISSUER MULTILINE_OCTAL -\060\201\254\061\075\060\073\006\003\125\004\003\014\064\124\303 -\234\122\113\124\122\125\123\124\040\105\154\145\153\164\162\157 -\156\151\153\040\123\165\156\165\143\165\040\123\145\162\164\151 -\146\151\153\141\163\304\261\040\110\151\172\155\145\164\154\145 -\162\151\061\013\060\011\006\003\125\004\006\023\002\124\122\061 -\136\060\134\006\003\125\004\012\014\125\124\303\234\122\113\124 -\122\125\123\124\040\102\151\154\147\151\040\304\260\154\145\164 -\151\305\237\151\155\040\166\145\040\102\151\154\151\305\237\151 -\155\040\107\303\274\166\145\156\154\151\304\237\151\040\110\151 -\172\155\145\164\154\145\162\151\040\101\056\305\236\056\040\050 -\143\051\040\113\141\163\304\261\155\040\040\062\060\060\065 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\002\010\144 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "D-TRUST Root Class 3 CA 2 2009" -# -# Issuer: CN=D-TRUST Root Class 3 CA 2 2009,O=D-Trust GmbH,C=DE -# Serial Number: 623603 (0x983f3) -# Subject: CN=D-TRUST Root Class 3 CA 2 2009,O=D-Trust GmbH,C=DE -# Not Valid Before: Thu Nov 05 08:35:58 2009 -# Not Valid After : Mon Nov 05 08:35:58 2029 -# Fingerprint (MD5): CD:E0:25:69:8D:47:AC:9C:89:35:90:F7:FD:51:3D:2F -# Fingerprint (SHA1): 58:E8:AB:B0:36:15:33:FB:80:F7:9B:1B:6D:29:D3:FF:8D:5F:00:F0 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "D-TRUST Root Class 3 CA 2 2009" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\115\061\013\060\011\006\003\125\004\006\023\002\104\105\061 -\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163 -\164\040\107\155\142\110\061\047\060\045\006\003\125\004\003\014 -\036\104\055\124\122\125\123\124\040\122\157\157\164\040\103\154 -\141\163\163\040\063\040\103\101\040\062\040\062\060\060\071 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\115\061\013\060\011\006\003\125\004\006\023\002\104\105\061 -\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163 -\164\040\107\155\142\110\061\047\060\045\006\003\125\004\003\014 -\036\104\055\124\122\125\123\124\040\122\157\157\164\040\103\154 -\141\163\163\040\063\040\103\101\040\062\040\062\060\060\071 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\003\011\203\363 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\063\060\202\003\033\240\003\002\001\002\002\003\011 -\203\363\060\015\006\011\052\206\110\206\367\015\001\001\013\005 -\000\060\115\061\013\060\011\006\003\125\004\006\023\002\104\105 -\061\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165 -\163\164\040\107\155\142\110\061\047\060\045\006\003\125\004\003 -\014\036\104\055\124\122\125\123\124\040\122\157\157\164\040\103 -\154\141\163\163\040\063\040\103\101\040\062\040\062\060\060\071 -\060\036\027\015\060\071\061\061\060\065\060\070\063\065\065\070 -\132\027\015\062\071\061\061\060\065\060\070\063\065\065\070\132 -\060\115\061\013\060\011\006\003\125\004\006\023\002\104\105\061 -\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163 -\164\040\107\155\142\110\061\047\060\045\006\003\125\004\003\014 -\036\104\055\124\122\125\123\124\040\122\157\157\164\040\103\154 -\141\163\163\040\063\040\103\101\040\062\040\062\060\060\071\060 -\202\001\042\060\015\006\011\052\206\110\206\367\015\001\001\001 -\005\000\003\202\001\017\000\060\202\001\012\002\202\001\001\000 -\323\262\112\317\172\107\357\165\233\043\372\072\057\326\120\105 -\211\065\072\306\153\333\376\333\000\150\250\340\003\021\035\067 -\120\010\237\115\112\150\224\065\263\123\321\224\143\247\040\126 -\257\336\121\170\354\052\075\363\110\110\120\076\012\337\106\125 -\213\047\155\303\020\115\015\221\122\103\330\207\340\135\116\066 -\265\041\312\137\071\100\004\137\133\176\314\243\306\053\251\100 -\036\331\066\204\326\110\363\222\036\064\106\040\044\301\244\121 -\216\112\032\357\120\077\151\135\031\177\105\303\307\001\217\121 -\311\043\350\162\256\264\274\126\011\177\022\313\034\261\257\051 -\220\012\311\125\314\017\323\264\032\355\107\065\132\112\355\234 -\163\004\041\320\252\275\014\023\265\000\312\046\154\304\153\014 -\224\132\225\224\332\120\232\361\377\245\053\146\061\244\311\070 -\240\337\035\037\270\011\056\363\247\350\147\122\253\225\037\340 -\106\076\330\244\303\312\132\305\061\200\350\110\232\237\224\151 -\376\031\335\330\163\174\201\312\226\336\216\355\263\062\005\145 -\204\064\346\346\375\127\020\265\137\166\277\057\260\020\015\305 -\002\003\001\000\001\243\202\001\032\060\202\001\026\060\017\006 -\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\035 -\006\003\125\035\016\004\026\004\024\375\332\024\304\237\060\336 -\041\275\036\102\071\374\253\143\043\111\340\361\204\060\016\006 -\003\125\035\017\001\001\377\004\004\003\002\001\006\060\201\323 -\006\003\125\035\037\004\201\313\060\201\310\060\201\200\240\176 -\240\174\206\172\154\144\141\160\072\057\057\144\151\162\145\143 -\164\157\162\171\056\144\055\164\162\165\163\164\056\156\145\164 -\057\103\116\075\104\055\124\122\125\123\124\045\062\060\122\157 -\157\164\045\062\060\103\154\141\163\163\045\062\060\063\045\062 -\060\103\101\045\062\060\062\045\062\060\062\060\060\071\054\117 -\075\104\055\124\162\165\163\164\045\062\060\107\155\142\110\054 -\103\075\104\105\077\143\145\162\164\151\146\151\143\141\164\145 -\162\145\166\157\143\141\164\151\157\156\154\151\163\164\060\103 -\240\101\240\077\206\075\150\164\164\160\072\057\057\167\167\167 -\056\144\055\164\162\165\163\164\056\156\145\164\057\143\162\154 -\057\144\055\164\162\165\163\164\137\162\157\157\164\137\143\154 -\141\163\163\137\063\137\143\141\137\062\137\062\060\060\071\056 -\143\162\154\060\015\006\011\052\206\110\206\367\015\001\001\013 -\005\000\003\202\001\001\000\177\227\333\060\310\337\244\234\175 -\041\172\200\160\316\024\022\151\210\024\225\140\104\001\254\262 -\351\060\117\233\120\302\146\330\176\215\060\265\160\061\351\342 -\151\307\363\160\333\040\025\206\320\015\360\276\254\001\165\204 -\316\176\237\115\277\267\140\073\234\363\312\035\342\136\150\330 -\243\235\227\345\100\140\322\066\041\376\320\264\270\027\332\164 -\243\177\324\337\260\230\002\254\157\153\153\054\045\044\162\241 -\145\356\045\132\345\346\062\347\362\337\253\111\372\363\220\151 -\043\333\004\331\347\134\130\374\145\324\227\276\314\374\056\012 -\314\045\052\065\004\370\140\221\025\165\075\101\377\043\037\031 -\310\154\353\202\123\004\246\344\114\042\115\215\214\272\316\133 -\163\354\144\124\120\155\321\234\125\373\151\303\066\303\214\274 -\074\205\246\153\012\046\015\340\223\230\140\256\176\306\044\227 -\212\141\137\221\216\146\222\011\207\066\315\213\233\055\076\366 -\121\324\120\324\131\050\275\203\362\314\050\173\123\206\155\330 -\046\210\160\327\352\221\315\076\271\312\300\220\156\132\306\136 -\164\145\327\134\376\243\342 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "D-TRUST Root Class 3 CA 2 2009" -# Issuer: CN=D-TRUST Root Class 3 CA 2 2009,O=D-Trust GmbH,C=DE -# Serial Number: 623603 (0x983f3) -# Subject: CN=D-TRUST Root Class 3 CA 2 2009,O=D-Trust GmbH,C=DE -# Not Valid Before: Thu Nov 05 08:35:58 2009 -# Not Valid After : Mon Nov 05 08:35:58 2029 -# Fingerprint (MD5): CD:E0:25:69:8D:47:AC:9C:89:35:90:F7:FD:51:3D:2F -# Fingerprint (SHA1): 58:E8:AB:B0:36:15:33:FB:80:F7:9B:1B:6D:29:D3:FF:8D:5F:00:F0 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "D-TRUST Root Class 3 CA 2 2009" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\130\350\253\260\066\025\063\373\200\367\233\033\155\051\323\377 -\215\137\000\360 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\315\340\045\151\215\107\254\234\211\065\220\367\375\121\075\057 -END -CKA_ISSUER MULTILINE_OCTAL -\060\115\061\013\060\011\006\003\125\004\006\023\002\104\105\061 -\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163 -\164\040\107\155\142\110\061\047\060\045\006\003\125\004\003\014 -\036\104\055\124\122\125\123\124\040\122\157\157\164\040\103\154 -\141\163\163\040\063\040\103\101\040\062\040\062\060\060\071 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\003\011\203\363 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "D-TRUST Root Class 3 CA 2 EV 2009" -# -# Issuer: CN=D-TRUST Root Class 3 CA 2 EV 2009,O=D-Trust GmbH,C=DE -# Serial Number: 623604 (0x983f4) -# Subject: CN=D-TRUST Root Class 3 CA 2 EV 2009,O=D-Trust GmbH,C=DE -# Not Valid Before: Thu Nov 05 08:50:46 2009 -# Not Valid After : Mon Nov 05 08:50:46 2029 -# Fingerprint (MD5): AA:C6:43:2C:5E:2D:CD:C4:34:C0:50:4F:11:02:4F:B6 -# Fingerprint (SHA1): 96:C9:1B:0B:95:B4:10:98:42:FA:D0:D8:22:79:FE:60:FA:B9:16:83 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "D-TRUST Root Class 3 CA 2 EV 2009" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\120\061\013\060\011\006\003\125\004\006\023\002\104\105\061 -\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163 -\164\040\107\155\142\110\061\052\060\050\006\003\125\004\003\014 -\041\104\055\124\122\125\123\124\040\122\157\157\164\040\103\154 -\141\163\163\040\063\040\103\101\040\062\040\105\126\040\062\060 -\060\071 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\120\061\013\060\011\006\003\125\004\006\023\002\104\105\061 -\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163 -\164\040\107\155\142\110\061\052\060\050\006\003\125\004\003\014 -\041\104\055\124\122\125\123\124\040\122\157\157\164\040\103\154 -\141\163\163\040\063\040\103\101\040\062\040\105\126\040\062\060 -\060\071 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\003\011\203\364 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\103\060\202\003\053\240\003\002\001\002\002\003\011 -\203\364\060\015\006\011\052\206\110\206\367\015\001\001\013\005 -\000\060\120\061\013\060\011\006\003\125\004\006\023\002\104\105 -\061\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165 -\163\164\040\107\155\142\110\061\052\060\050\006\003\125\004\003 -\014\041\104\055\124\122\125\123\124\040\122\157\157\164\040\103 -\154\141\163\163\040\063\040\103\101\040\062\040\105\126\040\062 -\060\060\071\060\036\027\015\060\071\061\061\060\065\060\070\065 -\060\064\066\132\027\015\062\071\061\061\060\065\060\070\065\060 -\064\066\132\060\120\061\013\060\011\006\003\125\004\006\023\002 -\104\105\061\025\060\023\006\003\125\004\012\014\014\104\055\124 -\162\165\163\164\040\107\155\142\110\061\052\060\050\006\003\125 -\004\003\014\041\104\055\124\122\125\123\124\040\122\157\157\164 -\040\103\154\141\163\163\040\063\040\103\101\040\062\040\105\126 -\040\062\060\060\071\060\202\001\042\060\015\006\011\052\206\110 -\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001 -\012\002\202\001\001\000\231\361\204\064\160\272\057\267\060\240 -\216\275\174\004\317\276\142\274\231\375\202\227\322\172\012\147 -\226\070\011\366\020\116\225\042\163\231\215\332\025\055\347\005 -\374\031\163\042\267\216\230\000\274\074\075\254\241\154\373\326 -\171\045\113\255\360\314\144\332\210\076\051\270\017\011\323\064 -\335\063\365\142\321\341\315\031\351\356\030\117\114\130\256\342 -\036\326\014\133\025\132\330\072\270\304\030\144\036\343\063\262 -\265\211\167\116\014\277\331\224\153\023\227\157\022\243\376\231 -\251\004\314\025\354\140\150\066\355\010\173\267\365\277\223\355 -\146\061\203\214\306\161\064\207\116\027\352\257\213\221\215\034 -\126\101\256\042\067\136\067\362\035\331\321\055\015\057\151\121 -\247\276\146\246\212\072\052\275\307\032\261\341\024\360\276\072 -\035\271\317\133\261\152\376\264\261\106\040\242\373\036\073\160 -\357\223\230\175\214\163\226\362\305\357\205\160\255\051\046\374 -\036\004\076\034\240\330\017\313\122\203\142\174\356\213\123\225 -\220\251\127\242\352\141\005\330\371\115\304\047\372\156\255\355 -\371\327\121\367\153\245\002\003\001\000\001\243\202\001\044\060 -\202\001\040\060\017\006\003\125\035\023\001\001\377\004\005\060 -\003\001\001\377\060\035\006\003\125\035\016\004\026\004\024\323 -\224\212\114\142\023\052\031\056\314\257\162\212\175\066\327\232 -\034\334\147\060\016\006\003\125\035\017\001\001\377\004\004\003 -\002\001\006\060\201\335\006\003\125\035\037\004\201\325\060\201 -\322\060\201\207\240\201\204\240\201\201\206\177\154\144\141\160 -\072\057\057\144\151\162\145\143\164\157\162\171\056\144\055\164 -\162\165\163\164\056\156\145\164\057\103\116\075\104\055\124\122 -\125\123\124\045\062\060\122\157\157\164\045\062\060\103\154\141 -\163\163\045\062\060\063\045\062\060\103\101\045\062\060\062\045 -\062\060\105\126\045\062\060\062\060\060\071\054\117\075\104\055 -\124\162\165\163\164\045\062\060\107\155\142\110\054\103\075\104 -\105\077\143\145\162\164\151\146\151\143\141\164\145\162\145\166 -\157\143\141\164\151\157\156\154\151\163\164\060\106\240\104\240 -\102\206\100\150\164\164\160\072\057\057\167\167\167\056\144\055 -\164\162\165\163\164\056\156\145\164\057\143\162\154\057\144\055 -\164\162\165\163\164\137\162\157\157\164\137\143\154\141\163\163 -\137\063\137\143\141\137\062\137\145\166\137\062\060\060\071\056 -\143\162\154\060\015\006\011\052\206\110\206\367\015\001\001\013 -\005\000\003\202\001\001\000\064\355\173\132\074\244\224\210\357 -\032\021\165\007\057\263\376\074\372\036\121\046\353\207\366\051 -\336\340\361\324\306\044\011\351\301\317\125\033\264\060\331\316 -\032\376\006\121\246\025\244\055\357\262\113\277\040\050\045\111 -\321\246\066\167\064\350\144\337\122\261\021\307\163\172\315\071 -\236\302\255\214\161\041\362\132\153\257\337\074\116\125\257\262 -\204\145\024\211\271\167\313\052\061\276\317\243\155\317\157\110 -\224\062\106\157\347\161\214\240\246\204\031\067\007\362\003\105 -\011\053\206\165\174\337\137\151\127\000\333\156\330\246\162\042 -\113\120\324\165\230\126\337\267\030\377\103\103\120\256\172\104 -\173\360\171\121\327\103\075\247\323\201\323\360\311\117\271\332 -\306\227\206\320\202\303\344\102\155\376\260\342\144\116\016\046 -\347\100\064\046\265\010\211\327\010\143\143\070\047\165\036\063 -\352\156\250\335\237\231\117\164\115\201\211\200\113\335\232\227 -\051\134\057\276\201\101\271\214\377\352\175\140\006\236\315\327 -\075\323\056\243\025\274\250\346\046\345\157\303\334\270\003\041 -\352\237\026\361\054\124\265 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "D-TRUST Root Class 3 CA 2 EV 2009" -# Issuer: CN=D-TRUST Root Class 3 CA 2 EV 2009,O=D-Trust GmbH,C=DE -# Serial Number: 623604 (0x983f4) -# Subject: CN=D-TRUST Root Class 3 CA 2 EV 2009,O=D-Trust GmbH,C=DE -# Not Valid Before: Thu Nov 05 08:50:46 2009 -# Not Valid After : Mon Nov 05 08:50:46 2029 -# Fingerprint (MD5): AA:C6:43:2C:5E:2D:CD:C4:34:C0:50:4F:11:02:4F:B6 -# Fingerprint (SHA1): 96:C9:1B:0B:95:B4:10:98:42:FA:D0:D8:22:79:FE:60:FA:B9:16:83 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "D-TRUST Root Class 3 CA 2 EV 2009" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\226\311\033\013\225\264\020\230\102\372\320\330\042\171\376\140 -\372\271\026\203 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\252\306\103\054\136\055\315\304\064\300\120\117\021\002\117\266 -END -CKA_ISSUER MULTILINE_OCTAL -\060\120\061\013\060\011\006\003\125\004\006\023\002\104\105\061 -\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163 -\164\040\107\155\142\110\061\052\060\050\006\003\125\004\003\014 -\041\104\055\124\122\125\123\124\040\122\157\157\164\040\103\154 -\141\163\163\040\063\040\103\101\040\062\040\105\126\040\062\060 -\060\071 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\003\011\203\364 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "CA Disig Root R2" -# -# Issuer: CN=CA Disig Root R2,O=Disig a.s.,L=Bratislava,C=SK -# Serial Number:00:92:b8:88:db:b0:8a:c1:63 -# Subject: CN=CA Disig Root R2,O=Disig a.s.,L=Bratislava,C=SK -# Not Valid Before: Thu Jul 19 09:15:30 2012 -# Not Valid After : Sat Jul 19 09:15:30 2042 -# Fingerprint (MD5): 26:01:FB:D8:27:A7:17:9A:45:54:38:1A:43:01:3B:03 -# Fingerprint (SHA1): B5:61:EB:EA:A4:DE:E4:25:4B:69:1A:98:A5:57:47:C2:34:C7:D9:71 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "CA Disig Root R2" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\122\061\013\060\011\006\003\125\004\006\023\002\123\113\061 -\023\060\021\006\003\125\004\007\023\012\102\162\141\164\151\163 -\154\141\166\141\061\023\060\021\006\003\125\004\012\023\012\104 -\151\163\151\147\040\141\056\163\056\061\031\060\027\006\003\125 -\004\003\023\020\103\101\040\104\151\163\151\147\040\122\157\157 -\164\040\122\062 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\122\061\013\060\011\006\003\125\004\006\023\002\123\113\061 -\023\060\021\006\003\125\004\007\023\012\102\162\141\164\151\163 -\154\141\166\141\061\023\060\021\006\003\125\004\012\023\012\104 -\151\163\151\147\040\141\056\163\056\061\031\060\027\006\003\125 -\004\003\023\020\103\101\040\104\151\163\151\147\040\122\157\157 -\164\040\122\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\011\000\222\270\210\333\260\212\301\143 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\151\060\202\003\121\240\003\002\001\002\002\011\000 -\222\270\210\333\260\212\301\143\060\015\006\011\052\206\110\206 -\367\015\001\001\013\005\000\060\122\061\013\060\011\006\003\125 -\004\006\023\002\123\113\061\023\060\021\006\003\125\004\007\023 -\012\102\162\141\164\151\163\154\141\166\141\061\023\060\021\006 -\003\125\004\012\023\012\104\151\163\151\147\040\141\056\163\056 -\061\031\060\027\006\003\125\004\003\023\020\103\101\040\104\151 -\163\151\147\040\122\157\157\164\040\122\062\060\036\027\015\061 -\062\060\067\061\071\060\071\061\065\063\060\132\027\015\064\062 -\060\067\061\071\060\071\061\065\063\060\132\060\122\061\013\060 -\011\006\003\125\004\006\023\002\123\113\061\023\060\021\006\003 -\125\004\007\023\012\102\162\141\164\151\163\154\141\166\141\061 -\023\060\021\006\003\125\004\012\023\012\104\151\163\151\147\040 -\141\056\163\056\061\031\060\027\006\003\125\004\003\023\020\103 -\101\040\104\151\163\151\147\040\122\157\157\164\040\122\062\060 -\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001\001 -\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000 -\242\243\304\000\011\326\205\135\055\155\024\366\302\303\163\236 -\065\302\161\125\176\201\373\253\106\120\340\301\174\111\170\346 -\253\171\130\074\332\377\174\034\237\330\227\002\170\076\153\101 -\004\351\101\275\276\003\054\105\366\057\144\324\253\135\243\107 -\075\144\233\351\150\232\306\314\033\077\272\276\262\213\064\002 -\056\230\125\031\374\214\157\252\137\332\114\316\115\003\041\243 -\330\322\064\223\126\226\313\114\014\000\026\074\137\032\315\310 -\307\154\246\255\323\061\247\274\350\345\341\146\326\322\373\003 -\264\101\145\311\020\256\016\005\143\306\200\152\151\060\375\322 -\356\220\357\015\047\337\237\225\163\364\341\045\332\154\026\336 -\101\070\064\352\213\374\321\350\004\024\141\055\101\176\254\307 -\167\116\313\121\124\373\136\222\030\033\004\132\150\306\311\304 -\372\267\023\240\230\267\021\053\267\326\127\314\174\236\027\321 -\313\045\376\206\116\044\056\126\014\170\115\236\001\022\246\053 -\247\001\145\156\174\142\035\204\204\337\352\300\153\265\245\052 -\225\203\303\123\021\014\163\035\013\262\106\220\321\102\072\316 -\100\156\225\255\377\306\224\255\156\227\204\216\175\157\236\212 -\200\015\111\155\163\342\173\222\036\303\363\301\363\353\056\005 -\157\331\033\317\067\166\004\310\264\132\344\027\247\313\335\166 -\037\320\031\166\350\054\005\263\326\234\064\330\226\334\141\207 -\221\005\344\104\010\063\301\332\271\010\145\324\256\262\066\015 -\353\272\070\272\014\345\233\236\353\215\146\335\231\317\326\211 -\101\366\004\222\212\051\051\155\153\072\034\347\165\175\002\161 -\016\363\300\347\275\313\031\335\235\140\262\302\146\140\266\261 -\004\356\311\346\206\271\232\146\100\250\347\021\355\201\105\003 -\213\366\147\131\350\301\006\021\275\335\317\200\002\117\145\100 -\170\134\107\120\310\233\346\037\201\173\344\104\250\133\205\232 -\342\336\132\325\307\371\072\104\146\113\344\062\124\174\344\154 -\234\263\016\075\027\242\262\064\022\326\176\262\250\111\273\321 -\172\050\100\276\242\026\037\337\344\067\037\021\163\373\220\012 -\145\103\242\015\174\370\006\001\125\063\175\260\015\270\364\365 -\256\245\102\127\174\066\021\214\173\136\304\003\235\214\171\235 -\002\003\001\000\001\243\102\060\100\060\017\006\003\125\035\023 -\001\001\377\004\005\060\003\001\001\377\060\016\006\003\125\035 -\017\001\001\377\004\004\003\002\001\006\060\035\006\003\125\035 -\016\004\026\004\024\265\231\370\257\260\224\365\343\040\326\012 -\255\316\116\126\244\056\156\102\355\060\015\006\011\052\206\110 -\206\367\015\001\001\013\005\000\003\202\002\001\000\046\006\136 -\160\347\145\063\310\202\156\331\234\027\072\033\172\146\262\001 -\366\170\073\151\136\057\352\377\116\371\050\303\230\052\141\114 -\264\044\022\212\175\155\021\024\367\234\265\312\346\274\236\047 -\216\114\031\310\251\275\172\300\327\066\016\155\205\162\156\250 -\306\242\155\366\372\163\143\177\274\156\171\010\034\235\212\237 -\032\212\123\246\330\273\331\065\125\261\021\305\251\003\263\126 -\073\271\204\223\042\136\176\301\366\022\122\213\352\054\147\274 -\376\066\114\365\270\317\321\263\111\222\073\323\051\016\231\033 -\226\367\141\270\073\304\053\266\170\154\264\043\157\360\375\323 -\262\136\165\037\231\225\250\254\366\332\341\305\061\173\373\321 -\106\263\322\274\147\264\142\124\272\011\367\143\260\223\242\232 -\371\351\122\056\213\140\022\253\374\365\140\126\357\020\134\213 -\304\032\102\334\203\133\144\016\313\265\274\326\117\301\174\074 -\156\215\023\155\373\173\353\060\320\334\115\257\305\325\266\245 -\114\133\161\311\350\061\276\350\070\006\110\241\032\342\352\322 -\336\022\071\130\032\377\200\016\202\165\346\267\311\007\154\016 -\357\377\070\361\230\161\304\267\177\016\025\320\045\151\275\042 -\235\053\355\005\366\106\107\254\355\300\360\324\073\342\354\356 -\226\133\220\023\116\036\126\072\353\260\357\226\273\226\043\021 -\272\362\103\206\164\144\225\310\050\165\337\035\065\272\322\067 -\203\070\123\070\066\073\317\154\351\371\153\016\320\373\004\350 -\117\167\327\145\001\170\206\014\172\076\041\142\361\177\143\161 -\014\311\237\104\333\250\047\242\165\276\156\201\076\327\300\353 -\033\230\017\160\134\064\262\212\314\300\205\030\353\156\172\263 -\367\132\241\007\277\251\102\222\363\140\042\227\344\024\241\007 -\233\116\166\300\216\175\375\244\045\307\107\355\377\037\163\254 -\314\303\245\351\157\012\216\233\145\302\120\205\265\243\240\123 -\022\314\125\207\141\363\201\256\020\106\141\275\104\041\270\302 -\075\164\317\176\044\065\372\034\007\016\233\075\042\312\357\061 -\057\214\254\022\275\357\100\050\374\051\147\237\262\023\117\146 -\044\304\123\031\351\036\051\025\357\346\155\260\177\055\147\375 -\363\154\033\165\106\243\345\112\027\351\244\327\013 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "CA Disig Root R2" -# Issuer: CN=CA Disig Root R2,O=Disig a.s.,L=Bratislava,C=SK -# Serial Number:00:92:b8:88:db:b0:8a:c1:63 -# Subject: CN=CA Disig Root R2,O=Disig a.s.,L=Bratislava,C=SK -# Not Valid Before: Thu Jul 19 09:15:30 2012 -# Not Valid After : Sat Jul 19 09:15:30 2042 -# Fingerprint (MD5): 26:01:FB:D8:27:A7:17:9A:45:54:38:1A:43:01:3B:03 -# Fingerprint (SHA1): B5:61:EB:EA:A4:DE:E4:25:4B:69:1A:98:A5:57:47:C2:34:C7:D9:71 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "CA Disig Root R2" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\265\141\353\352\244\336\344\045\113\151\032\230\245\127\107\302 -\064\307\331\161 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\046\001\373\330\047\247\027\232\105\124\070\032\103\001\073\003 -END -CKA_ISSUER MULTILINE_OCTAL -\060\122\061\013\060\011\006\003\125\004\006\023\002\123\113\061 -\023\060\021\006\003\125\004\007\023\012\102\162\141\164\151\163 -\154\141\166\141\061\023\060\021\006\003\125\004\012\023\012\104 -\151\163\151\147\040\141\056\163\056\061\031\060\027\006\003\125 -\004\003\023\020\103\101\040\104\151\163\151\147\040\122\157\157 -\164\040\122\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\011\000\222\270\210\333\260\212\301\143 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "ACCVRAIZ1" -# -# Issuer: C=ES,O=ACCV,OU=PKIACCV,CN=ACCVRAIZ1 -# Serial Number:5e:c3:b7:a6:43:7f:a4:e0 -# Subject: C=ES,O=ACCV,OU=PKIACCV,CN=ACCVRAIZ1 -# Not Valid Before: Thu May 05 09:37:37 2011 -# Not Valid After : Tue Dec 31 09:37:37 2030 -# Fingerprint (MD5): D0:A0:5A:EE:05:B6:09:94:21:A1:7D:F1:B2:29:82:02 -# Fingerprint (SHA1): 93:05:7A:88:15:C6:4F:CE:88:2F:FA:91:16:52:28:78:BC:53:64:17 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "ACCVRAIZ1" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\102\061\022\060\020\006\003\125\004\003\014\011\101\103\103 -\126\122\101\111\132\061\061\020\060\016\006\003\125\004\013\014 -\007\120\113\111\101\103\103\126\061\015\060\013\006\003\125\004 -\012\014\004\101\103\103\126\061\013\060\011\006\003\125\004\006 -\023\002\105\123 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\102\061\022\060\020\006\003\125\004\003\014\011\101\103\103 -\126\122\101\111\132\061\061\020\060\016\006\003\125\004\013\014 -\007\120\113\111\101\103\103\126\061\015\060\013\006\003\125\004 -\012\014\004\101\103\103\126\061\013\060\011\006\003\125\004\006 -\023\002\105\123 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\010\136\303\267\246\103\177\244\340 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\007\323\060\202\005\273\240\003\002\001\002\002\010\136 -\303\267\246\103\177\244\340\060\015\006\011\052\206\110\206\367 -\015\001\001\005\005\000\060\102\061\022\060\020\006\003\125\004 -\003\014\011\101\103\103\126\122\101\111\132\061\061\020\060\016 -\006\003\125\004\013\014\007\120\113\111\101\103\103\126\061\015 -\060\013\006\003\125\004\012\014\004\101\103\103\126\061\013\060 -\011\006\003\125\004\006\023\002\105\123\060\036\027\015\061\061 -\060\065\060\065\060\071\063\067\063\067\132\027\015\063\060\061 -\062\063\061\060\071\063\067\063\067\132\060\102\061\022\060\020 -\006\003\125\004\003\014\011\101\103\103\126\122\101\111\132\061 -\061\020\060\016\006\003\125\004\013\014\007\120\113\111\101\103 -\103\126\061\015\060\013\006\003\125\004\012\014\004\101\103\103 -\126\061\013\060\011\006\003\125\004\006\023\002\105\123\060\202 -\002\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005 -\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000\233 -\251\253\277\141\112\227\257\057\227\146\232\164\137\320\331\226 -\375\317\342\344\146\357\037\037\107\063\302\104\243\337\232\336 -\037\265\124\335\025\174\151\065\021\157\273\310\014\216\152\030 -\036\330\217\331\026\274\020\110\066\134\360\143\263\220\132\134 -\044\067\327\243\326\313\011\161\271\361\001\162\204\260\175\333 -\115\200\315\374\323\157\311\370\332\266\016\202\322\105\205\250 -\033\150\250\075\350\364\104\154\275\241\302\313\003\276\214\076 -\023\000\204\337\112\110\300\343\042\012\350\351\067\247\030\114 -\261\011\015\043\126\177\004\115\331\027\204\030\245\310\332\100 -\224\163\353\316\016\127\074\003\201\072\235\012\241\127\103\151 -\254\127\155\171\220\170\345\265\264\073\330\274\114\215\050\241 -\247\243\247\272\002\116\045\321\052\256\355\256\003\042\270\153 -\040\017\060\050\124\225\177\340\356\316\012\146\235\321\100\055 -\156\042\257\235\032\301\005\031\322\157\300\362\237\370\173\263 -\002\102\373\120\251\035\055\223\017\043\253\306\301\017\222\377 -\320\242\025\365\123\011\161\034\377\105\023\204\346\046\136\370 -\340\210\034\012\374\026\266\250\163\006\270\360\143\204\002\240 -\306\132\354\347\164\337\160\256\243\203\045\352\326\307\227\207 -\223\247\306\212\212\063\227\140\067\020\076\227\076\156\051\025 -\326\241\017\321\210\054\022\237\157\252\244\306\102\353\101\242 -\343\225\103\323\001\205\155\216\273\073\363\043\066\307\376\073 -\340\241\045\007\110\253\311\211\164\377\010\217\200\277\300\226 -\145\363\356\354\113\150\275\235\210\303\061\263\100\361\350\317 -\366\070\273\234\344\321\177\324\345\130\233\174\372\324\363\016 -\233\165\221\344\272\122\056\031\176\321\365\315\132\031\374\272 -\006\366\373\122\250\113\231\004\335\370\371\264\213\120\243\116 -\142\211\360\207\044\372\203\102\301\207\372\325\055\051\052\132 -\161\172\144\152\327\047\140\143\015\333\316\111\365\215\037\220 -\211\062\027\370\163\103\270\322\132\223\206\141\326\341\165\012 -\352\171\146\166\210\117\161\353\004\045\326\012\132\172\223\345 -\271\113\027\100\017\261\266\271\365\336\117\334\340\263\254\073 -\021\160\140\204\112\103\156\231\040\300\051\161\012\300\145\002 -\003\001\000\001\243\202\002\313\060\202\002\307\060\175\006\010 -\053\006\001\005\005\007\001\001\004\161\060\157\060\114\006\010 -\053\006\001\005\005\007\060\002\206\100\150\164\164\160\072\057 -\057\167\167\167\056\141\143\143\166\056\145\163\057\146\151\154 -\145\141\144\155\151\156\057\101\162\143\150\151\166\157\163\057 -\143\145\162\164\151\146\151\143\141\144\157\163\057\162\141\151 -\172\141\143\143\166\061\056\143\162\164\060\037\006\010\053\006 -\001\005\005\007\060\001\206\023\150\164\164\160\072\057\057\157 -\143\163\160\056\141\143\143\166\056\145\163\060\035\006\003\125 -\035\016\004\026\004\024\322\207\264\343\337\067\047\223\125\366 -\126\352\201\345\066\314\214\036\077\275\060\017\006\003\125\035 -\023\001\001\377\004\005\060\003\001\001\377\060\037\006\003\125 -\035\043\004\030\060\026\200\024\322\207\264\343\337\067\047\223 -\125\366\126\352\201\345\066\314\214\036\077\275\060\202\001\163 -\006\003\125\035\040\004\202\001\152\060\202\001\146\060\202\001 -\142\006\004\125\035\040\000\060\202\001\130\060\202\001\042\006 -\010\053\006\001\005\005\007\002\002\060\202\001\024\036\202\001 -\020\000\101\000\165\000\164\000\157\000\162\000\151\000\144\000 -\141\000\144\000\040\000\144\000\145\000\040\000\103\000\145\000 -\162\000\164\000\151\000\146\000\151\000\143\000\141\000\143\000 -\151\000\363\000\156\000\040\000\122\000\141\000\355\000\172\000 -\040\000\144\000\145\000\040\000\154\000\141\000\040\000\101\000 -\103\000\103\000\126\000\040\000\050\000\101\000\147\000\145\000 -\156\000\143\000\151\000\141\000\040\000\144\000\145\000\040\000 -\124\000\145\000\143\000\156\000\157\000\154\000\157\000\147\000 -\355\000\141\000\040\000\171\000\040\000\103\000\145\000\162\000 -\164\000\151\000\146\000\151\000\143\000\141\000\143\000\151\000 -\363\000\156\000\040\000\105\000\154\000\145\000\143\000\164\000 -\162\000\363\000\156\000\151\000\143\000\141\000\054\000\040\000 -\103\000\111\000\106\000\040\000\121\000\064\000\066\000\060\000 -\061\000\061\000\065\000\066\000\105\000\051\000\056\000\040\000 -\103\000\120\000\123\000\040\000\145\000\156\000\040\000\150\000 -\164\000\164\000\160\000\072\000\057\000\057\000\167\000\167\000 -\167\000\056\000\141\000\143\000\143\000\166\000\056\000\145\000 -\163\060\060\006\010\053\006\001\005\005\007\002\001\026\044\150 -\164\164\160\072\057\057\167\167\167\056\141\143\143\166\056\145 -\163\057\154\145\147\151\163\154\141\143\151\157\156\137\143\056 -\150\164\155\060\125\006\003\125\035\037\004\116\060\114\060\112 -\240\110\240\106\206\104\150\164\164\160\072\057\057\167\167\167 -\056\141\143\143\166\056\145\163\057\146\151\154\145\141\144\155 -\151\156\057\101\162\143\150\151\166\157\163\057\143\145\162\164 -\151\146\151\143\141\144\157\163\057\162\141\151\172\141\143\143 -\166\061\137\144\145\162\056\143\162\154\060\016\006\003\125\035 -\017\001\001\377\004\004\003\002\001\006\060\027\006\003\125\035 -\021\004\020\060\016\201\014\141\143\143\166\100\141\143\143\166 -\056\145\163\060\015\006\011\052\206\110\206\367\015\001\001\005 -\005\000\003\202\002\001\000\227\061\002\237\347\375\103\147\110 -\104\024\344\051\207\355\114\050\146\320\217\065\332\115\141\267 -\112\227\115\265\333\220\340\005\056\016\306\171\320\362\227\151 -\017\275\004\107\331\276\333\265\051\332\233\331\256\251\231\325 -\323\074\060\223\365\215\241\250\374\006\215\104\364\312\026\225 -\174\063\334\142\213\250\067\370\047\330\011\055\033\357\310\024 -\047\040\251\144\104\377\056\326\165\252\154\115\140\100\031\111 -\103\124\143\332\342\314\272\146\345\117\104\172\133\331\152\201 -\053\100\325\177\371\001\047\130\054\310\355\110\221\174\077\246 -\000\317\304\051\163\021\066\336\206\031\076\235\356\031\212\033 -\325\260\355\216\075\234\052\300\015\330\075\146\343\074\015\275 -\325\224\134\342\342\247\065\033\004\000\366\077\132\215\352\103 -\275\137\211\035\251\301\260\314\231\342\115\000\012\332\311\047 -\133\347\023\220\134\344\365\063\242\125\155\334\340\011\115\057 -\261\046\133\047\165\000\011\304\142\167\051\010\137\236\131\254 -\266\176\255\237\124\060\042\003\301\036\161\144\376\371\070\012 -\226\030\335\002\024\254\043\313\006\034\036\244\175\215\015\336 -\047\101\350\255\332\025\267\260\043\335\053\250\323\332\045\207 -\355\350\125\104\115\210\364\066\176\204\232\170\254\367\016\126 -\111\016\326\063\045\326\204\120\102\154\040\022\035\052\325\276 -\274\362\160\201\244\160\140\276\005\265\233\236\004\104\276\141 -\043\254\351\245\044\214\021\200\224\132\242\242\271\111\322\301 -\334\321\247\355\061\021\054\236\031\246\356\341\125\341\300\352 -\317\015\204\344\027\267\242\174\245\336\125\045\006\356\314\300 -\207\134\100\332\314\225\077\125\340\065\307\270\204\276\264\135 -\315\172\203\001\162\356\207\346\137\035\256\265\205\306\046\337 -\346\301\232\351\036\002\107\237\052\250\155\251\133\317\354\105 -\167\177\230\047\232\062\135\052\343\204\356\305\230\146\057\226 -\040\035\335\330\303\047\327\260\371\376\331\175\315\320\237\217 -\013\024\130\121\237\057\213\303\070\055\336\350\217\326\215\207 -\244\365\126\103\026\231\054\364\244\126\264\064\270\141\067\311 -\302\130\200\033\240\227\241\374\131\215\351\021\366\321\017\113 -\125\064\106\052\213\206\073 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "ACCVRAIZ1" -# Issuer: C=ES,O=ACCV,OU=PKIACCV,CN=ACCVRAIZ1 -# Serial Number:5e:c3:b7:a6:43:7f:a4:e0 -# Subject: C=ES,O=ACCV,OU=PKIACCV,CN=ACCVRAIZ1 -# Not Valid Before: Thu May 05 09:37:37 2011 -# Not Valid After : Tue Dec 31 09:37:37 2030 -# Fingerprint (MD5): D0:A0:5A:EE:05:B6:09:94:21:A1:7D:F1:B2:29:82:02 -# Fingerprint (SHA1): 93:05:7A:88:15:C6:4F:CE:88:2F:FA:91:16:52:28:78:BC:53:64:17 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "ACCVRAIZ1" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\223\005\172\210\025\306\117\316\210\057\372\221\026\122\050\170 -\274\123\144\027 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\320\240\132\356\005\266\011\224\041\241\175\361\262\051\202\002 -END -CKA_ISSUER MULTILINE_OCTAL -\060\102\061\022\060\020\006\003\125\004\003\014\011\101\103\103 -\126\122\101\111\132\061\061\020\060\016\006\003\125\004\013\014 -\007\120\113\111\101\103\103\126\061\015\060\013\006\003\125\004 -\012\014\004\101\103\103\126\061\013\060\011\006\003\125\004\006 -\023\002\105\123 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\010\136\303\267\246\103\177\244\340 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "TWCA Global Root CA" -# -# Issuer: CN=TWCA Global Root CA,OU=Root CA,O=TAIWAN-CA,C=TW -# Serial Number: 3262 (0xcbe) -# Subject: CN=TWCA Global Root CA,OU=Root CA,O=TAIWAN-CA,C=TW -# Not Valid Before: Wed Jun 27 06:28:33 2012 -# Not Valid After : Tue Dec 31 15:59:59 2030 -# Fingerprint (MD5): F9:03:7E:CF:E6:9E:3C:73:7A:2A:90:07:69:FF:2B:96 -# Fingerprint (SHA1): 9C:BB:48:53:F6:A4:F6:D3:52:A4:E8:32:52:55:60:13:F5:AD:AF:65 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "TWCA Global Root CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\121\061\013\060\011\006\003\125\004\006\023\002\124\127\061 -\022\060\020\006\003\125\004\012\023\011\124\101\111\127\101\116 -\055\103\101\061\020\060\016\006\003\125\004\013\023\007\122\157 -\157\164\040\103\101\061\034\060\032\006\003\125\004\003\023\023 -\124\127\103\101\040\107\154\157\142\141\154\040\122\157\157\164 -\040\103\101 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\121\061\013\060\011\006\003\125\004\006\023\002\124\127\061 -\022\060\020\006\003\125\004\012\023\011\124\101\111\127\101\116 -\055\103\101\061\020\060\016\006\003\125\004\013\023\007\122\157 -\157\164\040\103\101\061\034\060\032\006\003\125\004\003\023\023 -\124\127\103\101\040\107\154\157\142\141\154\040\122\157\157\164 -\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\002\014\276 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\101\060\202\003\051\240\003\002\001\002\002\002\014 -\276\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000 -\060\121\061\013\060\011\006\003\125\004\006\023\002\124\127\061 -\022\060\020\006\003\125\004\012\023\011\124\101\111\127\101\116 -\055\103\101\061\020\060\016\006\003\125\004\013\023\007\122\157 -\157\164\040\103\101\061\034\060\032\006\003\125\004\003\023\023 -\124\127\103\101\040\107\154\157\142\141\154\040\122\157\157\164 -\040\103\101\060\036\027\015\061\062\060\066\062\067\060\066\062 -\070\063\063\132\027\015\063\060\061\062\063\061\061\065\065\071 -\065\071\132\060\121\061\013\060\011\006\003\125\004\006\023\002 -\124\127\061\022\060\020\006\003\125\004\012\023\011\124\101\111 -\127\101\116\055\103\101\061\020\060\016\006\003\125\004\013\023 -\007\122\157\157\164\040\103\101\061\034\060\032\006\003\125\004 -\003\023\023\124\127\103\101\040\107\154\157\142\141\154\040\122 -\157\157\164\040\103\101\060\202\002\042\060\015\006\011\052\206 -\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202 -\002\012\002\202\002\001\000\260\005\333\310\353\214\304\156\212 -\041\357\216\115\234\161\012\037\122\160\355\155\202\234\227\305 -\327\114\116\105\111\313\100\102\265\022\064\154\031\302\164\244 -\061\137\205\002\227\354\103\063\012\123\322\234\214\216\267\270 -\171\333\053\325\152\362\216\146\304\356\053\001\007\222\324\263 -\320\002\337\120\366\125\257\146\016\313\340\107\140\057\053\062 -\071\065\122\072\050\203\370\173\026\306\030\270\142\326\107\045 -\221\316\360\031\022\115\255\143\365\323\077\165\137\051\360\241 -\060\034\052\240\230\246\025\275\356\375\031\066\360\342\221\103 -\217\372\312\326\020\047\111\114\357\335\301\361\205\160\233\312 -\352\250\132\103\374\155\206\157\163\351\067\105\251\360\066\307 -\314\210\165\036\273\154\006\377\233\153\076\027\354\141\252\161 -\174\306\035\242\367\111\351\025\265\074\326\241\141\365\021\367 -\005\157\035\375\021\276\320\060\007\302\051\260\011\116\046\334 -\343\242\250\221\152\037\302\221\105\210\134\345\230\270\161\245 -\025\031\311\174\165\021\314\160\164\117\055\233\035\221\104\375 -\126\050\240\376\273\206\152\310\372\134\013\130\334\306\113\166 -\310\253\042\331\163\017\245\364\132\002\211\077\117\236\042\202 -\356\242\164\123\052\075\123\047\151\035\154\216\062\054\144\000 -\046\143\141\066\116\243\106\267\077\175\263\055\254\155\220\242 -\225\242\316\317\332\202\347\007\064\031\226\351\270\041\252\051 -\176\246\070\276\216\051\112\041\146\171\037\263\303\265\011\147 -\336\326\324\007\106\363\052\332\346\042\067\140\313\201\266\017 -\240\017\351\310\225\177\277\125\221\005\172\317\075\025\300\157 -\336\011\224\001\203\327\064\033\314\100\245\360\270\233\147\325 -\230\221\073\247\204\170\225\046\244\132\010\370\053\164\264\000 -\004\074\337\270\024\216\350\337\251\215\154\147\222\063\035\300 -\267\322\354\222\310\276\011\277\054\051\005\157\002\153\236\357 -\274\277\052\274\133\300\120\217\101\160\161\207\262\115\267\004 -\251\204\243\062\257\256\356\153\027\213\262\261\376\154\341\220 -\214\210\250\227\110\316\310\115\313\363\006\317\137\152\012\102 -\261\036\036\167\057\216\240\346\222\016\006\374\005\042\322\046 -\341\061\121\175\062\334\017\002\003\001\000\001\243\043\060\041 -\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006 -\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001 -\377\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000 -\003\202\002\001\000\137\064\201\166\357\226\035\325\345\265\331 -\002\143\204\026\301\256\240\160\121\247\367\114\107\065\310\013 -\327\050\075\211\161\331\252\063\101\352\024\033\154\041\000\300 -\154\102\031\176\237\151\133\040\102\337\242\322\332\304\174\227 -\113\215\260\350\254\310\356\245\151\004\231\012\222\246\253\047 -\056\032\115\201\277\204\324\160\036\255\107\376\375\112\235\063 -\340\362\271\304\105\010\041\012\332\151\151\163\162\015\276\064 -\376\224\213\255\303\036\065\327\242\203\357\345\070\307\245\205 -\037\253\317\064\354\077\050\376\014\361\127\206\116\311\125\367 -\034\324\330\245\175\006\172\157\325\337\020\337\201\116\041\145 -\261\266\341\027\171\225\105\006\316\137\314\334\106\211\143\150 -\104\215\223\364\144\160\240\075\235\050\005\303\071\160\270\142 -\173\040\375\344\333\351\010\241\270\236\075\011\307\117\373\054 -\370\223\166\101\336\122\340\341\127\322\235\003\274\167\236\376 -\236\051\136\367\301\121\140\037\336\332\013\262\055\165\267\103 -\110\223\347\366\171\306\204\135\200\131\140\224\374\170\230\217 -\074\223\121\355\100\220\007\337\144\143\044\313\116\161\005\241 -\327\224\032\210\062\361\042\164\042\256\245\246\330\022\151\114 -\140\243\002\356\053\354\324\143\222\013\136\276\057\166\153\243 -\266\046\274\217\003\330\012\362\114\144\106\275\071\142\345\226 -\353\064\143\021\050\314\225\361\255\357\357\334\200\130\110\351 -\113\270\352\145\254\351\374\200\265\265\310\105\371\254\301\237 -\331\271\352\142\210\216\304\361\113\203\022\255\346\213\204\326 -\236\302\353\203\030\237\152\273\033\044\140\063\160\314\354\367 -\062\363\134\331\171\175\357\236\244\376\311\043\303\044\356\025 -\222\261\075\221\117\046\206\275\146\163\044\023\352\244\256\143 -\301\255\175\204\003\074\020\170\206\033\171\343\304\363\362\004 -\225\040\256\043\202\304\263\072\000\142\277\346\066\044\341\127 -\272\307\036\220\165\325\137\077\225\141\053\301\073\315\345\263 -\150\141\320\106\046\251\041\122\151\055\353\056\307\353\167\316 -\246\072\265\003\063\117\166\321\347\134\124\001\135\313\170\364 -\311\014\277\317\022\216\027\055\043\150\224\347\253\376\251\262 -\053\006\320\004\315 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "TWCA Global Root CA" -# Issuer: CN=TWCA Global Root CA,OU=Root CA,O=TAIWAN-CA,C=TW -# Serial Number: 3262 (0xcbe) -# Subject: CN=TWCA Global Root CA,OU=Root CA,O=TAIWAN-CA,C=TW -# Not Valid Before: Wed Jun 27 06:28:33 2012 -# Not Valid After : Tue Dec 31 15:59:59 2030 -# Fingerprint (MD5): F9:03:7E:CF:E6:9E:3C:73:7A:2A:90:07:69:FF:2B:96 -# Fingerprint (SHA1): 9C:BB:48:53:F6:A4:F6:D3:52:A4:E8:32:52:55:60:13:F5:AD:AF:65 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "TWCA Global Root CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\234\273\110\123\366\244\366\323\122\244\350\062\122\125\140\023 -\365\255\257\145 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\371\003\176\317\346\236\074\163\172\052\220\007\151\377\053\226 -END -CKA_ISSUER MULTILINE_OCTAL -\060\121\061\013\060\011\006\003\125\004\006\023\002\124\127\061 -\022\060\020\006\003\125\004\012\023\011\124\101\111\127\101\116 -\055\103\101\061\020\060\016\006\003\125\004\013\023\007\122\157 -\157\164\040\103\101\061\034\060\032\006\003\125\004\003\023\023 -\124\127\103\101\040\107\154\157\142\141\154\040\122\157\157\164 -\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\002\014\276 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "TeliaSonera Root CA v1" -# -# Issuer: CN=TeliaSonera Root CA v1,O=TeliaSonera -# Serial Number:00:95:be:16:a0:f7:2e:46:f1:7b:39:82:72:fa:8b:cd:96 -# Subject: CN=TeliaSonera Root CA v1,O=TeliaSonera -# Not Valid Before: Thu Oct 18 12:00:50 2007 -# Not Valid After : Mon Oct 18 12:00:50 2032 -# Fingerprint (MD5): 37:41:49:1B:18:56:9A:26:F5:AD:C2:66:FB:40:A5:4C -# Fingerprint (SHA1): 43:13:BB:96:F1:D5:86:9B:C1:4E:6A:92:F6:CF:F6:34:69:87:82:37 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "TeliaSonera Root CA v1" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\067\061\024\060\022\006\003\125\004\012\014\013\124\145\154 -\151\141\123\157\156\145\162\141\061\037\060\035\006\003\125\004 -\003\014\026\124\145\154\151\141\123\157\156\145\162\141\040\122 -\157\157\164\040\103\101\040\166\061 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\067\061\024\060\022\006\003\125\004\012\014\013\124\145\154 -\151\141\123\157\156\145\162\141\061\037\060\035\006\003\125\004 -\003\014\026\124\145\154\151\141\123\157\156\145\162\141\040\122 -\157\157\164\040\103\101\040\166\061 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\021\000\225\276\026\240\367\056\106\361\173\071\202\162\372 -\213\315\226 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\070\060\202\003\040\240\003\002\001\002\002\021\000 -\225\276\026\240\367\056\106\361\173\071\202\162\372\213\315\226 -\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 -\067\061\024\060\022\006\003\125\004\012\014\013\124\145\154\151 -\141\123\157\156\145\162\141\061\037\060\035\006\003\125\004\003 -\014\026\124\145\154\151\141\123\157\156\145\162\141\040\122\157 -\157\164\040\103\101\040\166\061\060\036\027\015\060\067\061\060 -\061\070\061\062\060\060\065\060\132\027\015\063\062\061\060\061 -\070\061\062\060\060\065\060\132\060\067\061\024\060\022\006\003 -\125\004\012\014\013\124\145\154\151\141\123\157\156\145\162\141 -\061\037\060\035\006\003\125\004\003\014\026\124\145\154\151\141 -\123\157\156\145\162\141\040\122\157\157\164\040\103\101\040\166 -\061\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001 -\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002 -\001\000\302\276\353\047\360\041\243\363\151\046\125\176\235\305 -\125\026\221\134\375\357\041\277\123\200\172\055\322\221\214\143 -\061\360\354\044\360\303\245\322\162\174\020\155\364\067\267\345 -\346\174\171\352\214\265\202\213\256\110\266\254\000\334\145\165 -\354\052\115\137\301\207\365\040\145\053\201\250\107\076\211\043 -\225\060\026\220\177\350\127\007\110\347\031\256\277\105\147\261 -\067\033\006\052\376\336\371\254\175\203\373\136\272\344\217\227 -\147\276\113\216\215\144\007\127\070\125\151\064\066\075\023\110 -\357\117\342\323\146\036\244\317\032\267\136\066\063\324\264\006 -\275\030\001\375\167\204\120\000\105\365\214\135\350\043\274\176 -\376\065\341\355\120\173\251\060\215\031\323\011\216\150\147\135 -\277\074\227\030\123\273\051\142\305\312\136\162\301\307\226\324 -\333\055\240\264\037\151\003\354\352\342\120\361\014\074\360\254 -\363\123\055\360\034\365\355\154\071\071\163\200\026\310\122\260 -\043\315\340\076\334\335\074\107\240\273\065\212\342\230\150\213 -\276\345\277\162\356\322\372\245\355\022\355\374\230\030\251\046 -\166\334\050\113\020\040\034\323\177\026\167\055\355\157\200\367 -\111\273\123\005\273\135\150\307\324\310\165\026\077\211\132\213 -\367\027\107\324\114\361\322\211\171\076\115\075\230\250\141\336 -\072\036\322\370\136\003\340\301\311\034\214\323\215\115\323\225 -\066\263\067\137\143\143\233\063\024\360\055\046\153\123\174\211 -\214\062\302\156\354\075\041\000\071\311\241\150\342\120\203\056 -\260\072\053\363\066\240\254\057\344\157\141\302\121\011\071\076 -\213\123\271\273\147\332\334\123\271\166\131\066\235\103\345\040 -\340\075\062\140\205\042\121\267\307\063\273\335\025\057\244\170 -\246\007\173\201\106\066\004\206\335\171\065\307\225\054\073\260 -\243\027\065\345\163\037\264\134\131\357\332\352\020\145\173\172 -\320\177\237\263\264\052\067\073\160\213\233\133\271\053\267\354 -\262\121\022\227\123\051\132\324\360\022\020\334\117\002\273\022 -\222\057\142\324\077\151\103\174\015\326\374\130\165\001\210\235 -\130\026\113\336\272\220\377\107\001\211\006\152\366\137\262\220 -\152\263\002\246\002\210\277\263\107\176\052\331\325\372\150\170 -\065\115\002\003\001\000\001\243\077\060\075\060\017\006\003\125 -\035\023\001\001\377\004\005\060\003\001\001\377\060\013\006\003 -\125\035\017\004\004\003\002\001\006\060\035\006\003\125\035\016 -\004\026\004\024\360\217\131\070\000\263\365\217\232\226\014\325 -\353\372\173\252\027\350\023\022\060\015\006\011\052\206\110\206 -\367\015\001\001\005\005\000\003\202\002\001\000\276\344\134\142 -\116\044\364\014\010\377\360\323\014\150\344\223\111\042\077\104 -\047\157\273\155\336\203\146\316\250\314\015\374\365\232\006\345 -\167\024\221\353\235\101\173\231\052\204\345\377\374\041\301\135 -\360\344\037\127\267\165\251\241\137\002\046\377\327\307\367\116 -\336\117\370\367\034\106\300\172\117\100\054\042\065\360\031\261 -\320\153\147\054\260\250\340\300\100\067\065\366\204\134\134\343 -\257\102\170\376\247\311\015\120\352\015\204\166\366\121\357\203 -\123\306\172\377\016\126\111\056\217\172\326\014\346\047\124\343 -\115\012\140\162\142\315\221\007\326\245\277\310\231\153\355\304 -\031\346\253\114\021\070\305\157\061\342\156\111\310\077\166\200 -\046\003\046\051\340\066\366\366\040\123\343\027\160\064\027\235 -\143\150\036\153\354\303\115\206\270\023\060\057\135\106\015\107 -\103\325\033\252\131\016\271\134\215\006\110\255\164\207\137\307 -\374\061\124\101\023\342\307\041\016\236\340\036\015\341\300\173 -\103\205\220\305\212\130\306\145\012\170\127\362\306\043\017\001 -\331\040\113\336\017\373\222\205\165\052\134\163\215\155\173\045 -\221\312\356\105\256\006\113\000\314\323\261\131\120\332\072\210 -\073\051\103\106\136\227\053\124\316\123\157\215\112\347\226\372 -\277\161\016\102\213\174\375\050\240\320\110\312\332\304\201\114 -\273\242\163\223\046\310\353\014\326\046\210\266\300\044\317\273 -\275\133\353\165\175\351\010\216\206\063\054\171\167\011\151\245 -\211\374\263\160\220\207\166\217\323\042\273\102\316\275\163\013 -\040\046\052\320\233\075\160\036\044\154\315\207\166\251\027\226 -\267\317\015\222\373\216\030\251\230\111\321\236\376\140\104\162 -\041\271\031\355\302\365\061\361\071\110\210\220\044\165\124\026 -\255\316\364\370\151\024\144\071\373\243\270\272\160\100\307\047 -\034\277\304\126\123\372\143\145\320\363\034\016\026\365\153\206 -\130\115\030\324\344\015\216\245\235\133\221\334\166\044\120\077 -\306\052\373\331\267\234\265\326\346\320\331\350\031\213\025\161 -\110\255\267\352\330\131\210\324\220\277\026\263\331\351\254\131 -\141\124\310\034\272\312\301\312\341\271\040\114\217\072\223\211 -\245\240\314\277\323\366\165\244\165\226\155\126 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "TeliaSonera Root CA v1" -# Issuer: CN=TeliaSonera Root CA v1,O=TeliaSonera -# Serial Number:00:95:be:16:a0:f7:2e:46:f1:7b:39:82:72:fa:8b:cd:96 -# Subject: CN=TeliaSonera Root CA v1,O=TeliaSonera -# Not Valid Before: Thu Oct 18 12:00:50 2007 -# Not Valid After : Mon Oct 18 12:00:50 2032 -# Fingerprint (MD5): 37:41:49:1B:18:56:9A:26:F5:AD:C2:66:FB:40:A5:4C -# Fingerprint (SHA1): 43:13:BB:96:F1:D5:86:9B:C1:4E:6A:92:F6:CF:F6:34:69:87:82:37 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "TeliaSonera Root CA v1" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\103\023\273\226\361\325\206\233\301\116\152\222\366\317\366\064 -\151\207\202\067 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\067\101\111\033\030\126\232\046\365\255\302\146\373\100\245\114 -END -CKA_ISSUER MULTILINE_OCTAL -\060\067\061\024\060\022\006\003\125\004\012\014\013\124\145\154 -\151\141\123\157\156\145\162\141\061\037\060\035\006\003\125\004 -\003\014\026\124\145\154\151\141\123\157\156\145\162\141\040\122 -\157\157\164\040\103\101\040\166\061 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\021\000\225\276\026\240\367\056\106\361\173\071\202\162\372 -\213\315\226 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "E-Tugra Certification Authority" -# -# Issuer: CN=E-Tugra Certification Authority,OU=E-Tugra Sertifikasyon Merkezi,O=E-Tu..ra EBG Bili..im Teknolojileri ve Hizmetleri A....,L=Ankara,C=TR -# Serial Number:6a:68:3e:9c:51:9b:cb:53 -# Subject: CN=E-Tugra Certification Authority,OU=E-Tugra Sertifikasyon Merkezi,O=E-Tu..ra EBG Bili..im Teknolojileri ve Hizmetleri A....,L=Ankara,C=TR -# Not Valid Before: Tue Mar 05 12:09:48 2013 -# Not Valid After : Fri Mar 03 12:09:48 2023 -# Fingerprint (MD5): B8:A1:03:63:B0:BD:21:71:70:8A:6F:13:3A:BB:79:49 -# Fingerprint (SHA1): 51:C6:E7:08:49:06:6E:F3:92:D4:5C:A0:0D:6D:A3:62:8F:C3:52:39 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "E-Tugra Certification Authority" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\262\061\013\060\011\006\003\125\004\006\023\002\124\122 -\061\017\060\015\006\003\125\004\007\014\006\101\156\153\141\162 -\141\061\100\060\076\006\003\125\004\012\014\067\105\055\124\165 -\304\237\162\141\040\105\102\107\040\102\151\154\151\305\237\151 -\155\040\124\145\153\156\157\154\157\152\151\154\145\162\151\040 -\166\145\040\110\151\172\155\145\164\154\145\162\151\040\101\056 -\305\236\056\061\046\060\044\006\003\125\004\013\014\035\105\055 -\124\165\147\162\141\040\123\145\162\164\151\146\151\153\141\163 -\171\157\156\040\115\145\162\153\145\172\151\061\050\060\046\006 -\003\125\004\003\014\037\105\055\124\165\147\162\141\040\103\145 -\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150 -\157\162\151\164\171 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\262\061\013\060\011\006\003\125\004\006\023\002\124\122 -\061\017\060\015\006\003\125\004\007\014\006\101\156\153\141\162 -\141\061\100\060\076\006\003\125\004\012\014\067\105\055\124\165 -\304\237\162\141\040\105\102\107\040\102\151\154\151\305\237\151 -\155\040\124\145\153\156\157\154\157\152\151\154\145\162\151\040 -\166\145\040\110\151\172\155\145\164\154\145\162\151\040\101\056 -\305\236\056\061\046\060\044\006\003\125\004\013\014\035\105\055 -\124\165\147\162\141\040\123\145\162\164\151\146\151\153\141\163 -\171\157\156\040\115\145\162\153\145\172\151\061\050\060\046\006 -\003\125\004\003\014\037\105\055\124\165\147\162\141\040\103\145 -\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150 -\157\162\151\164\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\010\152\150\076\234\121\233\313\123 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\006\113\060\202\004\063\240\003\002\001\002\002\010\152 -\150\076\234\121\233\313\123\060\015\006\011\052\206\110\206\367 -\015\001\001\013\005\000\060\201\262\061\013\060\011\006\003\125 -\004\006\023\002\124\122\061\017\060\015\006\003\125\004\007\014 -\006\101\156\153\141\162\141\061\100\060\076\006\003\125\004\012 -\014\067\105\055\124\165\304\237\162\141\040\105\102\107\040\102 -\151\154\151\305\237\151\155\040\124\145\153\156\157\154\157\152 -\151\154\145\162\151\040\166\145\040\110\151\172\155\145\164\154 -\145\162\151\040\101\056\305\236\056\061\046\060\044\006\003\125 -\004\013\014\035\105\055\124\165\147\162\141\040\123\145\162\164 -\151\146\151\153\141\163\171\157\156\040\115\145\162\153\145\172 -\151\061\050\060\046\006\003\125\004\003\014\037\105\055\124\165 -\147\162\141\040\103\145\162\164\151\146\151\143\141\164\151\157 -\156\040\101\165\164\150\157\162\151\164\171\060\036\027\015\061 -\063\060\063\060\065\061\062\060\071\064\070\132\027\015\062\063 -\060\063\060\063\061\062\060\071\064\070\132\060\201\262\061\013 -\060\011\006\003\125\004\006\023\002\124\122\061\017\060\015\006 -\003\125\004\007\014\006\101\156\153\141\162\141\061\100\060\076 -\006\003\125\004\012\014\067\105\055\124\165\304\237\162\141\040 -\105\102\107\040\102\151\154\151\305\237\151\155\040\124\145\153 -\156\157\154\157\152\151\154\145\162\151\040\166\145\040\110\151 -\172\155\145\164\154\145\162\151\040\101\056\305\236\056\061\046 -\060\044\006\003\125\004\013\014\035\105\055\124\165\147\162\141 -\040\123\145\162\164\151\146\151\153\141\163\171\157\156\040\115 -\145\162\153\145\172\151\061\050\060\046\006\003\125\004\003\014 -\037\105\055\124\165\147\162\141\040\103\145\162\164\151\146\151 -\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 -\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001 -\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001 -\000\342\365\077\223\005\121\036\205\142\124\136\172\013\365\030 -\007\203\256\176\257\174\367\324\212\153\245\143\103\071\271\113 -\367\303\306\144\211\075\224\056\124\200\122\071\071\007\113\113 -\335\205\007\166\207\314\277\057\225\114\314\175\247\075\274\107 -\017\230\160\370\214\205\036\164\216\222\155\033\100\321\231\015 -\273\165\156\310\251\153\232\300\204\061\257\312\103\313\353\053 -\064\350\217\227\153\001\233\325\016\112\010\252\133\222\164\205 -\103\323\200\256\241\210\133\256\263\352\136\313\026\232\167\104 -\310\241\366\124\150\316\336\217\227\053\272\133\100\002\014\144 -\027\300\265\223\315\341\361\023\146\316\014\171\357\321\221\050 -\253\137\240\022\122\060\163\031\216\217\341\214\007\242\303\273 -\112\360\352\037\025\250\356\045\314\244\106\370\033\042\357\263 -\016\103\272\054\044\270\305\054\134\324\034\370\135\144\275\303 -\223\136\050\247\077\047\361\216\036\323\052\120\005\243\125\331 -\313\347\071\123\300\230\236\214\124\142\213\046\260\367\175\215 -\174\344\306\236\146\102\125\202\107\347\262\130\215\146\367\007 -\174\056\066\346\120\034\077\333\103\044\305\277\206\107\171\263 -\171\034\367\132\364\023\354\154\370\077\342\131\037\225\356\102 -\076\271\255\250\062\205\111\227\106\376\113\061\217\132\313\255 -\164\107\037\351\221\267\337\050\004\042\240\324\017\135\342\171 -\117\352\154\205\206\275\250\246\316\344\372\303\341\263\256\336 -\074\121\356\313\023\174\001\177\204\016\135\121\224\236\023\014 -\266\056\245\114\371\071\160\066\157\226\312\056\014\104\125\305 -\312\372\135\002\243\337\326\144\214\132\263\001\012\251\265\012 -\107\027\377\357\221\100\052\216\241\106\072\061\230\345\021\374 -\314\273\111\126\212\374\271\320\141\232\157\145\154\346\303\313 -\076\165\111\376\217\247\342\211\305\147\327\235\106\023\116\061 -\166\073\044\263\236\021\145\206\253\177\357\035\324\370\274\347 -\254\132\134\267\132\107\134\125\316\125\264\042\161\133\133\013 -\360\317\334\240\141\144\352\251\327\150\012\143\247\340\015\077 -\240\257\323\252\322\176\357\121\240\346\121\053\125\222\025\027 -\123\313\267\146\016\146\114\370\371\165\114\220\347\022\160\307 -\105\002\003\001\000\001\243\143\060\141\060\035\006\003\125\035 -\016\004\026\004\024\056\343\333\262\111\320\234\124\171\134\372 -\047\052\376\314\116\322\350\116\124\060\017\006\003\125\035\023 -\001\001\377\004\005\060\003\001\001\377\060\037\006\003\125\035 -\043\004\030\060\026\200\024\056\343\333\262\111\320\234\124\171 -\134\372\047\052\376\314\116\322\350\116\124\060\016\006\003\125 -\035\017\001\001\377\004\004\003\002\001\006\060\015\006\011\052 -\206\110\206\367\015\001\001\013\005\000\003\202\002\001\000\005 -\067\072\364\115\267\105\342\105\165\044\217\266\167\122\350\034 -\330\020\223\145\363\362\131\006\244\076\036\051\354\135\321\320 -\253\174\340\012\220\110\170\355\116\230\003\231\376\050\140\221 -\035\060\035\270\143\174\250\346\065\265\372\323\141\166\346\326 -\007\113\312\151\232\262\204\172\167\223\105\027\025\237\044\320 -\230\023\022\377\273\240\056\375\116\114\207\370\316\134\252\230 -\033\005\340\000\106\112\202\200\245\063\213\050\334\355\070\323 -\337\345\076\351\376\373\131\335\141\204\117\322\124\226\023\141 -\023\076\217\200\151\276\223\107\265\065\103\322\132\273\075\134 -\357\263\102\107\315\073\125\023\006\260\011\333\375\143\366\072 -\210\012\231\157\176\341\316\033\123\152\104\146\043\121\010\173 -\274\133\122\242\375\006\067\070\100\141\217\112\226\270\220\067 -\370\146\307\170\220\000\025\056\213\255\121\065\123\007\250\153 -\150\256\371\116\074\007\046\315\010\005\160\314\071\077\166\275 -\245\323\147\046\001\206\246\123\322\140\073\174\103\177\125\212 -\274\225\032\301\050\071\114\037\103\322\221\364\162\131\212\271 -\126\374\077\264\235\332\160\234\166\132\214\103\120\356\216\060 -\162\115\337\377\111\367\306\251\147\331\155\254\002\021\342\072 -\026\045\247\130\010\313\157\123\101\234\110\070\107\150\063\321 -\327\307\217\324\164\041\324\303\005\220\172\377\316\226\210\261 -\025\051\135\043\253\320\140\241\022\117\336\364\027\315\062\345 -\311\277\310\103\255\375\056\216\361\257\342\364\230\372\022\037 -\040\330\300\247\014\205\305\220\364\073\055\226\046\261\054\276 -\114\253\353\261\322\212\311\333\170\023\017\036\011\235\155\217 -\000\237\002\332\301\372\037\172\172\011\304\112\346\210\052\227 -\237\211\213\375\067\137\137\072\316\070\131\206\113\257\161\013 -\264\330\362\160\117\237\062\023\343\260\247\127\345\332\332\103 -\313\204\064\362\050\304\352\155\364\052\357\301\153\166\332\373 -\176\273\205\074\322\123\302\115\276\161\341\105\321\375\043\147 -\015\023\165\373\317\145\147\042\235\256\260\011\321\011\377\035 -\064\277\376\043\227\067\322\071\372\075\015\006\013\264\333\073 -\243\253\157\134\035\266\176\350\263\202\064\355\006\134\044 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "E-Tugra Certification Authority" -# Issuer: CN=E-Tugra Certification Authority,OU=E-Tugra Sertifikasyon Merkezi,O=E-Tu..ra EBG Bili..im Teknolojileri ve Hizmetleri A....,L=Ankara,C=TR -# Serial Number:6a:68:3e:9c:51:9b:cb:53 -# Subject: CN=E-Tugra Certification Authority,OU=E-Tugra Sertifikasyon Merkezi,O=E-Tu..ra EBG Bili..im Teknolojileri ve Hizmetleri A....,L=Ankara,C=TR -# Not Valid Before: Tue Mar 05 12:09:48 2013 -# Not Valid After : Fri Mar 03 12:09:48 2023 -# Fingerprint (MD5): B8:A1:03:63:B0:BD:21:71:70:8A:6F:13:3A:BB:79:49 -# Fingerprint (SHA1): 51:C6:E7:08:49:06:6E:F3:92:D4:5C:A0:0D:6D:A3:62:8F:C3:52:39 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "E-Tugra Certification Authority" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\121\306\347\010\111\006\156\363\222\324\134\240\015\155\243\142 -\217\303\122\071 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\270\241\003\143\260\275\041\161\160\212\157\023\072\273\171\111 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\262\061\013\060\011\006\003\125\004\006\023\002\124\122 -\061\017\060\015\006\003\125\004\007\014\006\101\156\153\141\162 -\141\061\100\060\076\006\003\125\004\012\014\067\105\055\124\165 -\304\237\162\141\040\105\102\107\040\102\151\154\151\305\237\151 -\155\040\124\145\153\156\157\154\157\152\151\154\145\162\151\040 -\166\145\040\110\151\172\155\145\164\154\145\162\151\040\101\056 -\305\236\056\061\046\060\044\006\003\125\004\013\014\035\105\055 -\124\165\147\162\141\040\123\145\162\164\151\146\151\153\141\163 -\171\157\156\040\115\145\162\153\145\172\151\061\050\060\046\006 -\003\125\004\003\014\037\105\055\124\165\147\162\141\040\103\145 -\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150 -\157\162\151\164\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\010\152\150\076\234\121\233\313\123 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "T-TeleSec GlobalRoot Class 2" -# -# Issuer: CN=T-TeleSec GlobalRoot Class 2,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE -# Serial Number: 1 (0x1) -# Subject: CN=T-TeleSec GlobalRoot Class 2,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE -# Not Valid Before: Wed Oct 01 10:40:14 2008 -# Not Valid After : Sat Oct 01 23:59:59 2033 -# Fingerprint (MD5): 2B:9B:9E:E4:7B:6C:1F:00:72:1A:CC:C1:77:79:DF:6A -# Fingerprint (SHA1): 59:0D:2D:7D:88:4F:40:2E:61:7E:A5:62:32:17:65:CF:17:D8:94:E9 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "T-TeleSec GlobalRoot Class 2" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105 -\061\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163 -\164\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040 -\123\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060 -\035\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155 -\163\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045 -\060\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123 -\145\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154 -\141\163\163\040\062 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105 -\061\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163 -\164\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040 -\123\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060 -\035\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155 -\163\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045 -\060\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123 -\145\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154 -\141\163\163\040\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\001 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\303\060\202\002\253\240\003\002\001\002\002\001\001 -\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060 -\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105\061 -\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163\164 -\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040\123 -\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060\035 -\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155\163 -\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045\060 -\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123\145 -\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154\141 -\163\163\040\062\060\036\027\015\060\070\061\060\060\061\061\060 -\064\060\061\064\132\027\015\063\063\061\060\060\061\062\063\065 -\071\065\071\132\060\201\202\061\013\060\011\006\003\125\004\006 -\023\002\104\105\061\053\060\051\006\003\125\004\012\014\042\124 -\055\123\171\163\164\145\155\163\040\105\156\164\145\162\160\162 -\151\163\145\040\123\145\162\166\151\143\145\163\040\107\155\142 -\110\061\037\060\035\006\003\125\004\013\014\026\124\055\123\171 -\163\164\145\155\163\040\124\162\165\163\164\040\103\145\156\164 -\145\162\061\045\060\043\006\003\125\004\003\014\034\124\055\124 -\145\154\145\123\145\143\040\107\154\157\142\141\154\122\157\157 -\164\040\103\154\141\163\163\040\062\060\202\001\042\060\015\006 -\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017 -\000\060\202\001\012\002\202\001\001\000\252\137\332\033\137\350 -\163\221\345\332\134\364\242\346\107\345\363\150\125\140\005\035 -\002\244\263\233\131\363\036\212\257\064\255\374\015\302\331\110 -\031\356\151\217\311\040\374\041\252\007\031\355\260\134\254\145 -\307\137\355\002\174\173\174\055\033\326\272\271\200\302\030\202 -\026\204\372\146\260\010\306\124\043\201\344\315\271\111\077\366 -\117\156\067\110\050\070\017\305\276\347\150\160\375\071\227\115 -\322\307\230\221\120\252\304\104\263\043\175\071\107\351\122\142 -\326\022\223\136\267\061\226\102\005\373\166\247\036\243\365\302 -\374\351\172\305\154\251\161\117\352\313\170\274\140\257\307\336 -\364\331\313\276\176\063\245\156\224\203\360\064\372\041\253\352 -\216\162\240\077\244\336\060\133\357\206\115\152\225\133\103\104 -\250\020\025\034\345\001\127\305\230\361\346\006\050\221\252\040 -\305\267\123\046\121\103\262\013\021\225\130\341\300\017\166\331 -\300\215\174\201\363\162\160\236\157\376\032\216\331\137\065\306 -\262\157\064\174\276\110\117\342\132\071\327\330\235\170\236\237 -\206\076\003\136\031\213\104\242\325\307\002\003\001\000\001\243 -\102\060\100\060\017\006\003\125\035\023\001\001\377\004\005\060 -\003\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004 -\003\002\001\006\060\035\006\003\125\035\016\004\026\004\024\277 -\131\040\066\000\171\240\240\042\153\214\325\362\141\322\270\054 -\313\202\112\060\015\006\011\052\206\110\206\367\015\001\001\013 -\005\000\003\202\001\001\000\061\003\242\141\013\037\164\350\162 -\066\306\155\371\115\236\372\042\250\341\201\126\317\315\273\237 -\352\253\221\031\070\257\252\174\025\115\363\266\243\215\245\364 -\216\366\104\251\247\350\041\225\255\076\000\142\026\210\360\002 -\272\374\141\043\346\063\233\060\172\153\066\142\173\255\004\043 -\204\130\145\342\333\053\212\347\045\123\067\142\123\137\274\332 -\001\142\051\242\246\047\161\346\072\042\176\301\157\035\225\160 -\040\112\007\064\337\352\377\025\200\345\272\327\172\330\133\165 -\174\005\172\051\107\176\100\250\061\023\167\315\100\073\264\121 -\107\172\056\021\343\107\021\336\235\146\320\213\325\124\146\372 -\203\125\352\174\302\051\211\033\351\157\263\316\342\005\204\311 -\057\076\170\205\142\156\311\137\301\170\143\164\130\300\110\030 -\014\231\071\353\244\314\032\265\171\132\215\025\234\330\024\015 -\366\172\007\127\307\042\203\005\055\074\233\045\046\075\030\263 -\251\103\174\310\310\253\144\217\016\243\277\234\033\235\060\333 -\332\320\031\056\252\074\361\373\063\200\166\344\315\255\031\117 -\005\047\216\023\241\156\302 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "T-TeleSec GlobalRoot Class 2" -# Issuer: CN=T-TeleSec GlobalRoot Class 2,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE -# Serial Number: 1 (0x1) -# Subject: CN=T-TeleSec GlobalRoot Class 2,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE -# Not Valid Before: Wed Oct 01 10:40:14 2008 -# Not Valid After : Sat Oct 01 23:59:59 2033 -# Fingerprint (MD5): 2B:9B:9E:E4:7B:6C:1F:00:72:1A:CC:C1:77:79:DF:6A -# Fingerprint (SHA1): 59:0D:2D:7D:88:4F:40:2E:61:7E:A5:62:32:17:65:CF:17:D8:94:E9 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "T-TeleSec GlobalRoot Class 2" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\131\015\055\175\210\117\100\056\141\176\245\142\062\027\145\317 -\027\330\224\351 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\053\233\236\344\173\154\037\000\162\032\314\301\167\171\337\152 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105 -\061\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163 -\164\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040 -\123\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060 -\035\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155 -\163\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045 -\060\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123 -\145\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154 -\141\163\163\040\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\001 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Atos TrustedRoot 2011" -# -# Issuer: C=DE,O=Atos,CN=Atos TrustedRoot 2011 -# Serial Number:5c:33:cb:62:2c:5f:b3:32 -# Subject: C=DE,O=Atos,CN=Atos TrustedRoot 2011 -# Not Valid Before: Thu Jul 07 14:58:30 2011 -# Not Valid After : Tue Dec 31 23:59:59 2030 -# Fingerprint (MD5): AE:B9:C4:32:4B:AC:7F:5D:66:CC:77:94:BB:2A:77:56 -# Fingerprint (SHA1): 2B:B1:F5:3E:55:0C:1D:C5:F1:D4:E6:B7:6A:46:4B:55:06:02:AC:21 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Atos TrustedRoot 2011" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\074\061\036\060\034\006\003\125\004\003\014\025\101\164\157 -\163\040\124\162\165\163\164\145\144\122\157\157\164\040\062\060 -\061\061\061\015\060\013\006\003\125\004\012\014\004\101\164\157 -\163\061\013\060\011\006\003\125\004\006\023\002\104\105 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\074\061\036\060\034\006\003\125\004\003\014\025\101\164\157 -\163\040\124\162\165\163\164\145\144\122\157\157\164\040\062\060 -\061\061\061\015\060\013\006\003\125\004\012\014\004\101\164\157 -\163\061\013\060\011\006\003\125\004\006\023\002\104\105 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\010\134\063\313\142\054\137\263\062 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\167\060\202\002\137\240\003\002\001\002\002\010\134 -\063\313\142\054\137\263\062\060\015\006\011\052\206\110\206\367 -\015\001\001\013\005\000\060\074\061\036\060\034\006\003\125\004 -\003\014\025\101\164\157\163\040\124\162\165\163\164\145\144\122 -\157\157\164\040\062\060\061\061\061\015\060\013\006\003\125\004 -\012\014\004\101\164\157\163\061\013\060\011\006\003\125\004\006 -\023\002\104\105\060\036\027\015\061\061\060\067\060\067\061\064 -\065\070\063\060\132\027\015\063\060\061\062\063\061\062\063\065 -\071\065\071\132\060\074\061\036\060\034\006\003\125\004\003\014 -\025\101\164\157\163\040\124\162\165\163\164\145\144\122\157\157 -\164\040\062\060\061\061\061\015\060\013\006\003\125\004\012\014 -\004\101\164\157\163\061\013\060\011\006\003\125\004\006\023\002 -\104\105\060\202\001\042\060\015\006\011\052\206\110\206\367\015 -\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202 -\001\001\000\225\205\073\227\157\052\073\056\073\317\246\363\051 -\065\276\317\030\254\076\252\331\370\115\240\076\032\107\271\274 -\232\337\362\376\314\076\107\350\172\226\302\044\216\065\364\251 -\014\374\202\375\155\301\162\142\047\275\352\153\353\347\212\314 -\124\076\220\120\317\200\324\225\373\350\265\202\324\024\305\266 -\251\125\045\127\333\261\120\366\260\140\144\131\172\151\317\003 -\267\157\015\276\312\076\157\164\162\352\252\060\052\163\142\276 -\111\221\141\310\021\376\016\003\052\367\152\040\334\002\025\015 -\136\025\152\374\343\202\301\265\305\235\144\011\154\243\131\230 -\007\047\307\033\226\053\141\164\161\154\103\361\367\065\211\020 -\340\236\354\125\241\067\042\242\207\004\005\054\107\175\264\034 -\271\142\051\146\050\312\267\341\223\365\244\224\003\231\271\160 -\205\265\346\110\352\215\120\374\331\336\314\157\007\016\335\013 -\162\235\200\060\026\007\225\077\050\016\375\305\165\117\123\326 -\164\232\264\044\056\216\002\221\317\166\305\233\036\125\164\234 -\170\041\261\360\055\361\013\237\302\325\226\030\037\360\124\042 -\172\214\007\002\003\001\000\001\243\175\060\173\060\035\006\003 -\125\035\016\004\026\004\024\247\245\006\261\054\246\011\140\356 -\321\227\351\160\256\274\073\031\154\333\041\060\017\006\003\125 -\035\023\001\001\377\004\005\060\003\001\001\377\060\037\006\003 -\125\035\043\004\030\060\026\200\024\247\245\006\261\054\246\011 -\140\356\321\227\351\160\256\274\073\031\154\333\041\060\030\006 -\003\125\035\040\004\021\060\017\060\015\006\013\053\006\001\004 -\001\260\055\003\004\001\001\060\016\006\003\125\035\017\001\001 -\377\004\004\003\002\001\206\060\015\006\011\052\206\110\206\367 -\015\001\001\013\005\000\003\202\001\001\000\046\167\064\333\224 -\110\206\052\101\235\054\076\006\220\140\304\214\254\013\124\270 -\037\271\173\323\007\071\344\372\076\173\262\075\116\355\237\043 -\275\227\363\153\134\357\356\375\100\246\337\241\223\241\012\206 -\254\357\040\320\171\001\275\170\367\031\330\044\061\064\004\001 -\246\272\025\232\303\047\334\330\117\017\314\030\143\377\231\017 -\016\221\153\165\026\341\041\374\330\046\307\107\267\246\317\130 -\162\161\176\272\341\115\225\107\073\311\257\155\241\264\301\354 -\211\366\264\017\070\265\342\144\334\045\317\246\333\353\232\134 -\231\241\305\010\336\375\346\332\325\326\132\105\014\304\267\302 -\265\024\357\264\021\377\016\025\265\365\365\333\306\275\353\132 -\247\360\126\042\251\074\145\124\306\025\250\275\206\236\315\203 -\226\150\172\161\201\211\341\013\341\352\021\033\150\010\314\151 -\236\354\236\101\236\104\062\046\172\342\207\012\161\075\353\344 -\132\244\322\333\305\315\306\336\140\177\271\363\117\104\222\357 -\052\267\030\076\247\031\331\013\175\261\067\101\102\260\272\140 -\035\362\376\011\021\260\360\207\173\247\235 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "Atos TrustedRoot 2011" -# Issuer: C=DE,O=Atos,CN=Atos TrustedRoot 2011 -# Serial Number:5c:33:cb:62:2c:5f:b3:32 -# Subject: C=DE,O=Atos,CN=Atos TrustedRoot 2011 -# Not Valid Before: Thu Jul 07 14:58:30 2011 -# Not Valid After : Tue Dec 31 23:59:59 2030 -# Fingerprint (MD5): AE:B9:C4:32:4B:AC:7F:5D:66:CC:77:94:BB:2A:77:56 -# Fingerprint (SHA1): 2B:B1:F5:3E:55:0C:1D:C5:F1:D4:E6:B7:6A:46:4B:55:06:02:AC:21 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Atos TrustedRoot 2011" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\053\261\365\076\125\014\035\305\361\324\346\267\152\106\113\125 -\006\002\254\041 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\256\271\304\062\113\254\177\135\146\314\167\224\273\052\167\126 -END -CKA_ISSUER MULTILINE_OCTAL -\060\074\061\036\060\034\006\003\125\004\003\014\025\101\164\157 -\163\040\124\162\165\163\164\145\144\122\157\157\164\040\062\060 -\061\061\061\015\060\013\006\003\125\004\012\014\004\101\164\157 -\163\061\013\060\011\006\003\125\004\006\023\002\104\105 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\010\134\063\313\142\054\137\263\062 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "QuoVadis Root CA 1 G3" -# -# Issuer: CN=QuoVadis Root CA 1 G3,O=QuoVadis Limited,C=BM -# Serial Number:78:58:5f:2e:ad:2c:19:4b:e3:37:07:35:34:13:28:b5:96:d4:65:93 -# Subject: CN=QuoVadis Root CA 1 G3,O=QuoVadis Limited,C=BM -# Not Valid Before: Thu Jan 12 17:27:44 2012 -# Not Valid After : Sun Jan 12 17:27:44 2042 -# Fingerprint (SHA-256): 8A:86:6F:D1:B2:76:B5:7E:57:8E:92:1C:65:82:8A:2B:ED:58:E9:F2:F2:88:05:41:34:B7:F1:F4:BF:C9:CC:74 -# Fingerprint (SHA1): 1B:8E:EA:57:96:29:1A:C9:39:EA:B8:0A:81:1A:73:73:C0:93:79:67 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "QuoVadis Root CA 1 G3" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\110\061\013\060\011\006\003\125\004\006\023\002\102\115\061 -\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 -\151\163\040\114\151\155\151\164\145\144\061\036\060\034\006\003 -\125\004\003\023\025\121\165\157\126\141\144\151\163\040\122\157 -\157\164\040\103\101\040\061\040\107\063 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\110\061\013\060\011\006\003\125\004\006\023\002\102\115\061 -\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 -\151\163\040\114\151\155\151\164\145\144\061\036\060\034\006\003 -\125\004\003\023\025\121\165\157\126\141\144\151\163\040\122\157 -\157\164\040\103\101\040\061\040\107\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\024\170\130\137\056\255\054\031\113\343\067\007\065\064\023 -\050\265\226\324\145\223 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\140\060\202\003\110\240\003\002\001\002\002\024\170 -\130\137\056\255\054\031\113\343\067\007\065\064\023\050\265\226 -\324\145\223\060\015\006\011\052\206\110\206\367\015\001\001\013 -\005\000\060\110\061\013\060\011\006\003\125\004\006\023\002\102 -\115\061\031\060\027\006\003\125\004\012\023\020\121\165\157\126 -\141\144\151\163\040\114\151\155\151\164\145\144\061\036\060\034 -\006\003\125\004\003\023\025\121\165\157\126\141\144\151\163\040 -\122\157\157\164\040\103\101\040\061\040\107\063\060\036\027\015 -\061\062\060\061\061\062\061\067\062\067\064\064\132\027\015\064 -\062\060\061\061\062\061\067\062\067\064\064\132\060\110\061\013 -\060\011\006\003\125\004\006\023\002\102\115\061\031\060\027\006 -\003\125\004\012\023\020\121\165\157\126\141\144\151\163\040\114 -\151\155\151\164\145\144\061\036\060\034\006\003\125\004\003\023 -\025\121\165\157\126\141\144\151\163\040\122\157\157\164\040\103 -\101\040\061\040\107\063\060\202\002\042\060\015\006\011\052\206 -\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202 -\002\012\002\202\002\001\000\240\276\120\020\216\351\362\154\100 -\264\004\234\205\271\061\312\334\055\344\021\251\004\074\033\125 -\301\347\130\060\035\044\264\303\357\205\336\214\054\341\301\075 -\337\202\346\117\255\107\207\154\354\133\111\301\112\325\273\217 -\354\207\254\177\202\232\206\354\075\003\231\122\001\322\065\236 -\254\332\360\123\311\146\074\324\254\002\001\332\044\323\073\250 -\002\106\257\244\034\343\370\163\130\166\267\366\016\220\015\265 -\360\317\314\372\371\306\114\345\303\206\060\012\215\027\176\065 -\353\305\337\273\016\234\300\215\207\343\210\070\205\147\372\076 -\307\253\340\023\234\005\030\230\317\223\365\261\222\264\374\043 -\323\317\325\304\047\111\340\236\074\233\010\243\213\135\052\041 -\340\374\071\252\123\332\175\176\317\032\011\123\274\135\005\004 -\317\241\112\217\213\166\202\015\241\370\322\307\024\167\133\220 -\066\007\201\233\076\006\372\122\136\143\305\246\000\376\245\351 -\122\033\122\265\222\071\162\003\011\142\275\260\140\026\156\246 -\335\045\302\003\146\335\363\004\321\100\342\116\213\206\364\157 -\345\203\240\047\204\136\004\301\365\220\275\060\075\304\357\250 -\151\274\070\233\244\244\226\321\142\332\151\300\001\226\256\313 -\304\121\064\352\014\252\377\041\216\131\217\112\134\344\141\232 -\247\322\351\052\170\215\121\075\072\025\356\242\131\216\251\134 -\336\305\371\220\042\345\210\105\161\335\221\231\154\172\237\075 -\075\230\174\136\366\276\026\150\240\136\256\013\043\374\132\017 -\252\042\166\055\311\241\020\035\344\323\104\043\220\210\237\306 -\052\346\327\365\232\263\130\036\057\060\211\010\033\124\242\265 -\230\043\354\010\167\034\225\135\141\321\313\211\234\137\242\112 -\221\232\357\041\252\111\026\010\250\275\141\050\061\311\164\255 -\205\366\331\305\261\213\321\345\020\062\115\137\213\040\072\074 -\111\037\063\205\131\015\333\313\011\165\103\151\163\373\153\161 -\175\360\337\304\114\175\306\243\056\310\225\171\313\163\242\216 -\116\115\044\373\136\344\004\276\162\033\246\047\055\111\132\231 -\172\327\134\011\040\267\177\224\271\117\361\015\034\136\210\102 -\033\021\267\347\221\333\236\154\364\152\337\214\006\230\003\255 -\314\050\357\245\107\363\123\002\003\001\000\001\243\102\060\100 -\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001 -\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001 -\006\060\035\006\003\125\035\016\004\026\004\024\243\227\326\363 -\136\242\020\341\253\105\237\074\027\144\074\356\001\160\234\314 -\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003 -\202\002\001\000\030\372\133\165\374\076\172\307\137\167\307\312 -\337\317\137\303\022\304\100\135\324\062\252\270\152\327\325\025 -\025\106\230\043\245\346\220\133\030\231\114\343\255\102\243\202 -\061\066\210\315\351\373\304\004\226\110\213\001\307\215\001\317 -\133\063\006\226\106\146\164\035\117\355\301\266\271\264\015\141 -\314\143\176\327\056\167\214\226\034\052\043\150\153\205\127\166 -\160\063\023\376\341\117\246\043\167\030\372\032\214\350\275\145 -\311\317\077\364\311\027\334\353\307\274\300\004\056\055\106\057 -\151\146\303\033\217\376\354\076\323\312\224\277\166\012\045\015 -\251\173\002\034\251\320\073\137\013\300\201\072\075\144\341\277 -\247\055\116\275\115\304\330\051\306\042\030\320\305\254\162\002 -\202\077\252\072\242\072\042\227\061\335\010\143\303\165\024\271 -\140\050\055\133\150\340\026\251\146\202\043\121\365\353\123\330 -\061\233\173\351\267\235\113\353\210\026\317\371\135\070\212\111 -\060\217\355\361\353\031\364\167\032\061\030\115\147\124\154\057 -\157\145\371\333\075\354\041\354\136\364\364\213\312\140\145\124 -\321\161\144\364\371\246\243\201\063\066\063\161\360\244\170\137 -\116\255\203\041\336\064\111\215\350\131\254\235\362\166\132\066 -\362\023\364\257\340\011\307\141\052\154\367\340\235\256\273\206 -\112\050\157\056\356\264\171\315\220\063\303\263\166\372\365\360 -\154\235\001\220\372\236\220\366\234\162\317\107\332\303\037\344 -\065\040\123\362\124\321\337\141\203\246\002\342\045\070\336\205 -\062\055\136\163\220\122\135\102\304\316\075\113\341\371\031\204 -\035\325\242\120\314\101\373\101\024\303\275\326\311\132\243\143 -\146\002\200\275\005\072\073\107\234\354\000\046\114\365\210\121 -\277\250\043\177\030\007\260\013\355\213\046\241\144\323\141\112 -\353\134\237\336\263\257\147\003\263\037\335\155\135\151\150\151 -\253\136\072\354\174\151\274\307\073\205\116\236\025\271\264\025 -\117\303\225\172\130\327\311\154\351\154\271\363\051\143\136\264 -\054\360\055\075\355\132\145\340\251\133\100\302\110\231\201\155 -\236\037\006\052\074\022\264\213\017\233\242\044\360\246\215\326 -\172\340\113\266\144\226\143\225\204\302\112\315\034\056\044\207 -\063\140\345\303 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "QuoVadis Root CA 1 G3" -# Issuer: CN=QuoVadis Root CA 1 G3,O=QuoVadis Limited,C=BM -# Serial Number:78:58:5f:2e:ad:2c:19:4b:e3:37:07:35:34:13:28:b5:96:d4:65:93 -# Subject: CN=QuoVadis Root CA 1 G3,O=QuoVadis Limited,C=BM -# Not Valid Before: Thu Jan 12 17:27:44 2012 -# Not Valid After : Sun Jan 12 17:27:44 2042 -# Fingerprint (SHA-256): 8A:86:6F:D1:B2:76:B5:7E:57:8E:92:1C:65:82:8A:2B:ED:58:E9:F2:F2:88:05:41:34:B7:F1:F4:BF:C9:CC:74 -# Fingerprint (SHA1): 1B:8E:EA:57:96:29:1A:C9:39:EA:B8:0A:81:1A:73:73:C0:93:79:67 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "QuoVadis Root CA 1 G3" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\033\216\352\127\226\051\032\311\071\352\270\012\201\032\163\163 -\300\223\171\147 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\244\274\133\077\376\067\232\372\144\360\342\372\005\075\013\253 -END -CKA_ISSUER MULTILINE_OCTAL -\060\110\061\013\060\011\006\003\125\004\006\023\002\102\115\061 -\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 -\151\163\040\114\151\155\151\164\145\144\061\036\060\034\006\003 -\125\004\003\023\025\121\165\157\126\141\144\151\163\040\122\157 -\157\164\040\103\101\040\061\040\107\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\024\170\130\137\056\255\054\031\113\343\067\007\065\064\023 -\050\265\226\324\145\223 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "QuoVadis Root CA 2 G3" -# -# Issuer: CN=QuoVadis Root CA 2 G3,O=QuoVadis Limited,C=BM -# Serial Number:44:57:34:24:5b:81:89:9b:35:f2:ce:b8:2b:3b:5b:a7:26:f0:75:28 -# Subject: CN=QuoVadis Root CA 2 G3,O=QuoVadis Limited,C=BM -# Not Valid Before: Thu Jan 12 18:59:32 2012 -# Not Valid After : Sun Jan 12 18:59:32 2042 -# Fingerprint (SHA-256): 8F:E4:FB:0A:F9:3A:4D:0D:67:DB:0B:EB:B2:3E:37:C7:1B:F3:25:DC:BC:DD:24:0E:A0:4D:AF:58:B4:7E:18:40 -# Fingerprint (SHA1): 09:3C:61:F3:8B:8B:DC:7D:55:DF:75:38:02:05:00:E1:25:F5:C8:36 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "QuoVadis Root CA 2 G3" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\110\061\013\060\011\006\003\125\004\006\023\002\102\115\061 -\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 -\151\163\040\114\151\155\151\164\145\144\061\036\060\034\006\003 -\125\004\003\023\025\121\165\157\126\141\144\151\163\040\122\157 -\157\164\040\103\101\040\062\040\107\063 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\110\061\013\060\011\006\003\125\004\006\023\002\102\115\061 -\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 -\151\163\040\114\151\155\151\164\145\144\061\036\060\034\006\003 -\125\004\003\023\025\121\165\157\126\141\144\151\163\040\122\157 -\157\164\040\103\101\040\062\040\107\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\024\104\127\064\044\133\201\211\233\065\362\316\270\053\073 -\133\247\046\360\165\050 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\140\060\202\003\110\240\003\002\001\002\002\024\104 -\127\064\044\133\201\211\233\065\362\316\270\053\073\133\247\046 -\360\165\050\060\015\006\011\052\206\110\206\367\015\001\001\013 -\005\000\060\110\061\013\060\011\006\003\125\004\006\023\002\102 -\115\061\031\060\027\006\003\125\004\012\023\020\121\165\157\126 -\141\144\151\163\040\114\151\155\151\164\145\144\061\036\060\034 -\006\003\125\004\003\023\025\121\165\157\126\141\144\151\163\040 -\122\157\157\164\040\103\101\040\062\040\107\063\060\036\027\015 -\061\062\060\061\061\062\061\070\065\071\063\062\132\027\015\064 -\062\060\061\061\062\061\070\065\071\063\062\132\060\110\061\013 -\060\011\006\003\125\004\006\023\002\102\115\061\031\060\027\006 -\003\125\004\012\023\020\121\165\157\126\141\144\151\163\040\114 -\151\155\151\164\145\144\061\036\060\034\006\003\125\004\003\023 -\025\121\165\157\126\141\144\151\163\040\122\157\157\164\040\103 -\101\040\062\040\107\063\060\202\002\042\060\015\006\011\052\206 -\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202 -\002\012\002\202\002\001\000\241\256\045\262\001\030\334\127\210 -\077\106\353\371\257\342\353\043\161\342\232\321\141\146\041\137 -\252\257\047\121\345\156\033\026\324\055\175\120\260\123\167\275 -\170\072\140\342\144\002\233\174\206\233\326\032\216\255\377\037 -\025\177\325\225\036\022\313\346\024\204\004\301\337\066\263\026 -\237\212\343\311\333\230\064\316\330\063\027\050\106\374\247\311 -\360\322\264\325\115\011\162\111\371\362\207\343\251\332\175\241 -\175\153\262\072\045\251\155\122\104\254\370\276\156\373\334\246 -\163\221\220\141\246\003\024\040\362\347\207\243\210\255\255\240 -\214\377\246\013\045\122\045\347\026\001\325\313\270\065\201\014 -\243\073\360\341\341\374\132\135\316\200\161\155\370\111\253\076 -\073\272\270\327\200\001\373\245\353\133\263\305\136\140\052\061 -\240\257\067\350\040\072\237\250\062\054\014\314\011\035\323\236 -\216\135\274\114\230\356\305\032\150\173\354\123\246\351\024\065 -\243\337\315\200\237\014\110\373\034\364\361\277\112\270\372\325 -\214\161\112\307\037\255\376\101\232\263\203\135\362\204\126\357 -\245\127\103\316\051\255\214\253\125\277\304\373\133\001\335\043 -\041\241\130\000\216\303\320\152\023\355\023\343\022\053\200\334 -\147\346\225\262\315\036\042\156\052\370\101\324\362\312\024\007 -\215\212\125\022\306\151\365\270\206\150\057\123\136\260\322\252 -\041\301\230\346\060\343\147\125\307\233\156\254\031\250\125\246 -\105\006\320\043\072\333\353\145\135\052\021\021\360\073\117\312 -\155\364\064\304\161\344\377\000\132\366\134\256\043\140\205\163 -\361\344\020\261\045\256\325\222\273\023\301\014\340\071\332\264 -\071\127\265\253\065\252\162\041\073\203\065\347\061\337\172\041 -\156\270\062\010\175\035\062\221\025\112\142\162\317\343\167\241 -\274\325\021\033\166\001\147\010\340\101\013\303\353\025\156\370 -\244\031\331\242\253\257\342\047\122\126\053\002\212\054\024\044 -\371\277\102\002\277\046\310\306\217\340\156\070\175\123\055\345 -\355\230\263\225\143\150\177\371\065\364\337\210\305\140\065\222 -\300\174\151\034\141\225\026\320\353\336\013\257\076\004\020\105 -\145\130\120\070\257\110\362\131\266\026\362\074\015\220\002\306 -\160\056\001\255\074\025\327\002\003\001\000\001\243\102\060\100 -\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001 -\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001 -\006\060\035\006\003\125\035\016\004\026\004\024\355\347\157\166 -\132\277\140\354\111\133\306\245\167\273\162\026\161\233\304\075 -\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003 -\202\002\001\000\221\337\200\077\103\011\176\161\302\367\353\263 -\210\217\341\121\262\274\075\165\371\050\135\310\274\231\233\173 -\135\252\345\312\341\012\367\350\262\323\237\335\147\061\176\272 -\001\252\307\152\101\073\220\324\010\134\262\140\152\220\360\310 -\316\003\142\371\213\355\373\156\052\334\006\115\074\051\017\211 -\026\212\130\114\110\017\350\204\141\352\074\162\246\167\344\102 -\256\210\243\103\130\171\176\256\312\245\123\015\251\075\160\275 -\040\031\141\244\154\070\374\103\062\341\301\107\377\370\354\361 -\021\042\062\226\234\302\366\133\151\226\173\040\014\103\101\232 -\133\366\131\031\210\336\125\210\067\121\013\170\134\012\036\243 -\102\375\307\235\210\017\300\362\170\002\044\124\223\257\211\207 -\210\311\112\200\035\352\320\156\076\141\056\066\273\065\016\047 -\226\375\146\064\073\141\162\163\361\026\134\107\006\124\111\000 -\172\130\022\260\012\357\205\375\261\270\063\165\152\223\034\022 -\346\140\136\157\035\177\311\037\043\313\204\141\237\036\202\104 -\371\137\255\142\125\044\232\122\230\355\121\347\241\176\227\072 -\346\057\037\021\332\123\200\054\205\236\253\065\020\333\042\137 -\152\305\136\227\123\362\062\002\011\060\243\130\360\015\001\325 -\162\306\261\174\151\173\303\365\066\105\314\141\156\136\114\224 -\305\136\256\350\016\136\213\277\367\315\340\355\241\016\033\063 -\356\124\030\376\017\276\357\176\204\153\103\343\160\230\333\135 -\165\262\015\131\007\205\025\043\071\326\361\337\251\046\017\326 -\110\307\263\246\042\365\063\067\132\225\107\237\173\272\030\025 -\157\377\326\024\144\203\111\322\012\147\041\333\017\065\143\140 -\050\042\343\261\225\203\315\205\246\335\057\017\347\147\122\156 -\273\057\205\174\365\112\163\347\305\076\300\275\041\022\005\077 -\374\267\003\111\002\133\310\045\346\342\124\070\365\171\207\214 -\035\123\262\116\205\173\006\070\307\054\370\370\260\162\215\045 -\345\167\122\364\003\034\110\246\120\137\210\040\060\156\362\202 -\103\253\075\227\204\347\123\373\041\301\117\017\042\232\206\270 -\131\052\366\107\075\031\210\055\350\205\341\236\354\205\010\152 -\261\154\064\311\035\354\110\053\073\170\355\146\304\216\171\151 -\203\336\177\214 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "QuoVadis Root CA 2 G3" -# Issuer: CN=QuoVadis Root CA 2 G3,O=QuoVadis Limited,C=BM -# Serial Number:44:57:34:24:5b:81:89:9b:35:f2:ce:b8:2b:3b:5b:a7:26:f0:75:28 -# Subject: CN=QuoVadis Root CA 2 G3,O=QuoVadis Limited,C=BM -# Not Valid Before: Thu Jan 12 18:59:32 2012 -# Not Valid After : Sun Jan 12 18:59:32 2042 -# Fingerprint (SHA-256): 8F:E4:FB:0A:F9:3A:4D:0D:67:DB:0B:EB:B2:3E:37:C7:1B:F3:25:DC:BC:DD:24:0E:A0:4D:AF:58:B4:7E:18:40 -# Fingerprint (SHA1): 09:3C:61:F3:8B:8B:DC:7D:55:DF:75:38:02:05:00:E1:25:F5:C8:36 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "QuoVadis Root CA 2 G3" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\011\074\141\363\213\213\334\175\125\337\165\070\002\005\000\341 -\045\365\310\066 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\257\014\206\156\277\100\055\177\013\076\022\120\272\022\075\006 -END -CKA_ISSUER MULTILINE_OCTAL -\060\110\061\013\060\011\006\003\125\004\006\023\002\102\115\061 -\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 -\151\163\040\114\151\155\151\164\145\144\061\036\060\034\006\003 -\125\004\003\023\025\121\165\157\126\141\144\151\163\040\122\157 -\157\164\040\103\101\040\062\040\107\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\024\104\127\064\044\133\201\211\233\065\362\316\270\053\073 -\133\247\046\360\165\050 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "QuoVadis Root CA 3 G3" -# -# Issuer: CN=QuoVadis Root CA 3 G3,O=QuoVadis Limited,C=BM -# Serial Number:2e:f5:9b:02:28:a7:db:7a:ff:d5:a3:a9:ee:bd:03:a0:cf:12:6a:1d -# Subject: CN=QuoVadis Root CA 3 G3,O=QuoVadis Limited,C=BM -# Not Valid Before: Thu Jan 12 20:26:32 2012 -# Not Valid After : Sun Jan 12 20:26:32 2042 -# Fingerprint (SHA-256): 88:EF:81:DE:20:2E:B0:18:45:2E:43:F8:64:72:5C:EA:5F:BD:1F:C2:D9:D2:05:73:07:09:C5:D8:B8:69:0F:46 -# Fingerprint (SHA1): 48:12:BD:92:3C:A8:C4:39:06:E7:30:6D:27:96:E6:A4:CF:22:2E:7D -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "QuoVadis Root CA 3 G3" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\110\061\013\060\011\006\003\125\004\006\023\002\102\115\061 -\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 -\151\163\040\114\151\155\151\164\145\144\061\036\060\034\006\003 -\125\004\003\023\025\121\165\157\126\141\144\151\163\040\122\157 -\157\164\040\103\101\040\063\040\107\063 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\110\061\013\060\011\006\003\125\004\006\023\002\102\115\061 -\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 -\151\163\040\114\151\155\151\164\145\144\061\036\060\034\006\003 -\125\004\003\023\025\121\165\157\126\141\144\151\163\040\122\157 -\157\164\040\103\101\040\063\040\107\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\024\056\365\233\002\050\247\333\172\377\325\243\251\356\275 -\003\240\317\022\152\035 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\140\060\202\003\110\240\003\002\001\002\002\024\056 -\365\233\002\050\247\333\172\377\325\243\251\356\275\003\240\317 -\022\152\035\060\015\006\011\052\206\110\206\367\015\001\001\013 -\005\000\060\110\061\013\060\011\006\003\125\004\006\023\002\102 -\115\061\031\060\027\006\003\125\004\012\023\020\121\165\157\126 -\141\144\151\163\040\114\151\155\151\164\145\144\061\036\060\034 -\006\003\125\004\003\023\025\121\165\157\126\141\144\151\163\040 -\122\157\157\164\040\103\101\040\063\040\107\063\060\036\027\015 -\061\062\060\061\061\062\062\060\062\066\063\062\132\027\015\064 -\062\060\061\061\062\062\060\062\066\063\062\132\060\110\061\013 -\060\011\006\003\125\004\006\023\002\102\115\061\031\060\027\006 -\003\125\004\012\023\020\121\165\157\126\141\144\151\163\040\114 -\151\155\151\164\145\144\061\036\060\034\006\003\125\004\003\023 -\025\121\165\157\126\141\144\151\163\040\122\157\157\164\040\103 -\101\040\063\040\107\063\060\202\002\042\060\015\006\011\052\206 -\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202 -\002\012\002\202\002\001\000\263\313\016\020\147\216\352\024\227 -\247\062\052\012\126\066\177\150\114\307\263\157\072\043\024\221 -\377\031\177\245\312\254\356\263\166\235\172\351\213\033\253\153 -\061\333\372\013\123\114\257\305\245\032\171\074\212\114\377\254 -\337\045\336\116\331\202\062\013\104\336\312\333\214\254\243\156 -\026\203\073\246\144\113\062\211\373\026\026\070\176\353\103\342 -\323\164\112\302\142\012\163\012\335\111\263\127\322\260\012\205 -\235\161\074\336\243\313\300\062\363\001\071\040\103\033\065\321 -\123\263\261\356\305\223\151\202\076\026\265\050\106\241\336\352 -\211\011\355\103\270\005\106\212\206\365\131\107\276\033\157\001 -\041\020\271\375\251\322\050\312\020\071\011\312\023\066\317\234 -\255\255\100\164\171\053\002\077\064\377\372\040\151\175\323\356 -\141\365\272\263\347\060\320\067\043\206\162\141\105\051\110\131 -\150\157\167\246\056\201\276\007\115\157\257\316\304\105\023\221 -\024\160\006\217\037\237\370\207\151\261\016\357\303\211\031\353 -\352\034\141\374\172\154\212\334\326\003\013\236\046\272\022\335 -\324\124\071\253\046\243\063\352\165\201\332\055\315\017\117\344 -\003\321\357\025\227\033\153\220\305\002\220\223\146\002\041\261 -\107\336\213\232\112\200\271\125\217\265\242\057\300\326\063\147 -\332\176\304\247\264\004\104\353\107\373\346\130\271\367\014\360 -\173\053\261\300\160\051\303\100\142\055\073\110\151\334\043\074 -\110\353\173\011\171\251\155\332\250\060\230\317\200\162\003\210 -\246\133\106\256\162\171\174\010\003\041\145\256\267\341\034\245 -\261\052\242\061\336\146\004\367\300\164\350\161\336\377\075\131 -\314\226\046\022\213\205\225\127\032\253\153\165\013\104\075\021 -\050\074\173\141\267\342\217\147\117\345\354\074\114\140\200\151 -\127\070\036\001\133\215\125\350\307\337\300\314\167\043\064\111 -\165\174\366\230\021\353\055\336\355\101\056\024\005\002\177\340 -\376\040\353\065\347\021\254\042\316\127\075\336\311\060\155\020 -\003\205\315\361\377\214\026\265\301\262\076\210\154\140\177\220 -\117\225\367\366\055\255\001\071\007\004\372\165\200\175\277\111 -\120\355\357\311\304\174\034\353\200\176\333\266\320\335\023\376 -\311\323\234\327\262\227\251\002\003\001\000\001\243\102\060\100 -\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001 -\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001 -\006\060\035\006\003\125\035\016\004\026\004\024\306\027\320\274 -\250\352\002\103\362\033\006\231\135\053\220\040\271\327\234\344 -\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003 -\202\002\001\000\064\141\331\126\265\022\207\125\115\335\243\065 -\061\106\273\244\007\162\274\137\141\142\350\245\373\013\067\261 -\074\266\263\372\051\235\177\002\365\244\311\250\223\267\172\161 -\050\151\217\163\341\122\220\332\325\276\072\345\267\166\152\126 -\200\041\337\135\346\351\072\236\345\076\366\242\151\307\052\012 -\260\030\107\334\040\160\175\122\243\076\131\174\301\272\311\310 -\025\100\141\312\162\326\160\254\322\267\360\034\344\206\051\360 -\316\357\150\143\320\265\040\212\025\141\232\176\206\230\264\311 -\302\166\373\314\272\060\026\314\243\141\306\164\023\345\153\357 -\243\025\352\003\376\023\213\144\344\323\301\322\350\204\373\111 -\321\020\115\171\146\353\252\375\364\215\061\036\160\024\255\334 -\336\147\023\114\201\025\141\274\267\331\221\167\161\031\201\140 -\273\360\130\245\265\234\013\367\217\042\125\047\300\113\001\155 -\073\231\015\324\035\233\143\147\057\320\356\015\312\146\274\224 -\117\246\255\355\374\356\143\254\127\077\145\045\317\262\206\217 -\320\010\377\270\166\024\156\336\345\047\354\253\170\265\123\271 -\266\077\350\040\371\322\250\276\141\106\312\207\214\204\363\371 -\361\240\150\233\042\036\201\046\233\020\004\221\161\300\006\037 -\334\240\323\271\126\247\343\230\055\177\203\235\337\214\053\234 -\062\216\062\224\360\001\074\042\052\237\103\302\056\303\230\071 -\007\070\173\374\136\000\102\037\363\062\046\171\203\204\366\345 -\360\301\121\022\300\013\036\004\043\014\124\245\114\057\111\305 -\112\321\266\156\140\015\153\374\153\213\205\044\144\267\211\016 -\253\045\107\133\074\317\176\111\275\307\351\012\306\332\367\176 -\016\027\010\323\110\227\320\161\222\360\017\071\076\064\152\034 -\175\330\362\042\256\273\151\364\063\264\246\110\125\321\017\016 -\046\350\354\266\013\055\247\205\065\315\375\131\310\237\321\315 -\076\132\051\064\271\075\204\316\261\145\324\131\221\221\126\165 -\041\301\167\236\371\172\341\140\235\323\255\004\030\364\174\353 -\136\223\217\123\112\042\051\370\110\053\076\115\206\254\133\177 -\313\006\231\131\140\330\130\145\225\215\104\321\367\177\176\047 -\177\175\256\200\365\007\114\266\076\234\161\124\231\004\113\375 -\130\371\230\364 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "QuoVadis Root CA 3 G3" -# Issuer: CN=QuoVadis Root CA 3 G3,O=QuoVadis Limited,C=BM -# Serial Number:2e:f5:9b:02:28:a7:db:7a:ff:d5:a3:a9:ee:bd:03:a0:cf:12:6a:1d -# Subject: CN=QuoVadis Root CA 3 G3,O=QuoVadis Limited,C=BM -# Not Valid Before: Thu Jan 12 20:26:32 2012 -# Not Valid After : Sun Jan 12 20:26:32 2042 -# Fingerprint (SHA-256): 88:EF:81:DE:20:2E:B0:18:45:2E:43:F8:64:72:5C:EA:5F:BD:1F:C2:D9:D2:05:73:07:09:C5:D8:B8:69:0F:46 -# Fingerprint (SHA1): 48:12:BD:92:3C:A8:C4:39:06:E7:30:6D:27:96:E6:A4:CF:22:2E:7D -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "QuoVadis Root CA 3 G3" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\110\022\275\222\074\250\304\071\006\347\060\155\047\226\346\244 -\317\042\056\175 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\337\175\271\255\124\157\150\241\337\211\127\003\227\103\260\327 -END -CKA_ISSUER MULTILINE_OCTAL -\060\110\061\013\060\011\006\003\125\004\006\023\002\102\115\061 -\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 -\151\163\040\114\151\155\151\164\145\144\061\036\060\034\006\003 -\125\004\003\023\025\121\165\157\126\141\144\151\163\040\122\157 -\157\164\040\103\101\040\063\040\107\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\024\056\365\233\002\050\247\333\172\377\325\243\251\356\275 -\003\240\317\022\152\035 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "DigiCert Assured ID Root G2" -# -# Issuer: CN=DigiCert Assured ID Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US -# Serial Number:0b:93:1c:3a:d6:39:67:ea:67:23:bf:c3:af:9a:f4:4b -# Subject: CN=DigiCert Assured ID Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US -# Not Valid Before: Thu Aug 01 12:00:00 2013 -# Not Valid After : Fri Jan 15 12:00:00 2038 -# Fingerprint (SHA-256): 7D:05:EB:B6:82:33:9F:8C:94:51:EE:09:4E:EB:FE:FA:79:53:A1:14:ED:B2:F4:49:49:45:2F:AB:7D:2F:C1:85 -# Fingerprint (SHA1): A1:4B:48:D9:43:EE:0A:0E:40:90:4F:3C:E0:A4:C0:91:93:51:5D:3F -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "DigiCert Assured ID Root G2" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 -\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 -\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 -\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151 -\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040 -\122\157\157\164\040\107\062 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 -\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 -\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 -\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151 -\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040 -\122\157\157\164\040\107\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\013\223\034\072\326\071\147\352\147\043\277\303\257\232 -\364\113 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\226\060\202\002\176\240\003\002\001\002\002\020\013 -\223\034\072\326\071\147\352\147\043\277\303\257\232\364\113\060 -\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\145 -\061\013\060\011\006\003\125\004\006\023\002\125\123\061\025\060 -\023\006\003\125\004\012\023\014\104\151\147\151\103\145\162\164 -\040\111\156\143\061\031\060\027\006\003\125\004\013\023\020\167 -\167\167\056\144\151\147\151\143\145\162\164\056\143\157\155\061 -\044\060\042\006\003\125\004\003\023\033\104\151\147\151\103\145 -\162\164\040\101\163\163\165\162\145\144\040\111\104\040\122\157 -\157\164\040\107\062\060\036\027\015\061\063\060\070\060\061\061 -\062\060\060\060\060\132\027\015\063\070\060\061\061\065\061\062 -\060\060\060\060\132\060\145\061\013\060\011\006\003\125\004\006 -\023\002\125\123\061\025\060\023\006\003\125\004\012\023\014\104 -\151\147\151\103\145\162\164\040\111\156\143\061\031\060\027\006 -\003\125\004\013\023\020\167\167\167\056\144\151\147\151\143\145 -\162\164\056\143\157\155\061\044\060\042\006\003\125\004\003\023 -\033\104\151\147\151\103\145\162\164\040\101\163\163\165\162\145 -\144\040\111\104\040\122\157\157\164\040\107\062\060\202\001\042 -\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003 -\202\001\017\000\060\202\001\012\002\202\001\001\000\331\347\050 -\057\122\077\066\162\111\210\223\064\363\370\152\036\061\124\200 -\237\255\124\101\265\107\337\226\250\324\257\200\055\271\012\317 -\165\375\211\245\175\044\372\343\042\014\053\274\225\027\013\063 -\277\031\115\101\006\220\000\275\014\115\020\376\007\265\347\034 -\156\042\125\061\145\227\275\323\027\322\036\142\363\333\352\154 -\120\214\077\204\014\226\317\267\313\003\340\312\155\241\024\114 -\033\211\335\355\000\260\122\174\257\221\154\261\070\023\321\351 -\022\010\300\000\260\034\053\021\332\167\160\066\233\256\316\171 -\207\334\202\160\346\011\164\160\125\151\257\243\150\237\277\335 -\266\171\263\362\235\160\051\125\364\253\377\225\141\363\311\100 -\157\035\321\276\223\273\323\210\052\273\235\277\162\132\126\161 -\073\077\324\363\321\012\376\050\357\243\356\331\231\257\003\323 -\217\140\267\362\222\241\261\275\211\211\037\060\315\303\246\056 -\142\063\256\026\002\167\104\132\347\201\012\074\247\104\056\171 -\270\077\004\274\134\240\207\341\033\257\121\216\315\354\054\372 -\370\376\155\360\072\174\252\213\344\147\225\061\215\002\003\001 -\000\001\243\102\060\100\060\017\006\003\125\035\023\001\001\377 -\004\005\060\003\001\001\377\060\016\006\003\125\035\017\001\001 -\377\004\004\003\002\001\206\060\035\006\003\125\035\016\004\026 -\004\024\316\303\112\271\231\125\362\270\333\140\277\251\176\275 -\126\265\227\066\247\326\060\015\006\011\052\206\110\206\367\015 -\001\001\013\005\000\003\202\001\001\000\312\245\125\214\343\310 -\101\156\151\047\247\165\021\357\074\206\066\157\322\235\306\170 -\070\035\151\226\242\222\151\056\070\154\233\175\004\324\211\245 -\261\061\067\212\311\041\314\253\154\315\213\034\232\326\277\110 -\322\062\146\301\212\300\363\057\072\357\300\343\324\221\206\321 -\120\343\003\333\163\167\157\112\071\123\355\336\046\307\265\175 -\257\053\102\321\165\142\343\112\053\002\307\120\113\340\151\342 -\226\154\016\104\146\020\104\217\255\005\353\370\171\254\246\033 -\350\067\064\235\123\311\141\252\242\122\257\112\160\026\206\302 -\072\310\261\023\160\066\330\317\356\364\012\064\325\133\114\375 -\007\234\242\272\331\001\162\134\363\115\301\335\016\261\034\015 -\304\143\276\255\364\024\373\211\354\242\101\016\114\314\310\127 -\100\320\156\003\252\315\014\216\211\231\231\154\360\074\060\257 -\070\337\157\274\243\276\051\040\047\253\164\377\023\042\170\336 -\227\122\125\036\203\265\124\040\003\356\256\300\117\126\336\067 -\314\303\177\252\004\047\273\323\167\270\142\333\027\174\234\050 -\042\023\163\154\317\046\365\212\051\347 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "DigiCert Assured ID Root G2" -# Issuer: CN=DigiCert Assured ID Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US -# Serial Number:0b:93:1c:3a:d6:39:67:ea:67:23:bf:c3:af:9a:f4:4b -# Subject: CN=DigiCert Assured ID Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US -# Not Valid Before: Thu Aug 01 12:00:00 2013 -# Not Valid After : Fri Jan 15 12:00:00 2038 -# Fingerprint (SHA-256): 7D:05:EB:B6:82:33:9F:8C:94:51:EE:09:4E:EB:FE:FA:79:53:A1:14:ED:B2:F4:49:49:45:2F:AB:7D:2F:C1:85 -# Fingerprint (SHA1): A1:4B:48:D9:43:EE:0A:0E:40:90:4F:3C:E0:A4:C0:91:93:51:5D:3F -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "DigiCert Assured ID Root G2" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\241\113\110\331\103\356\012\016\100\220\117\074\340\244\300\221 -\223\121\135\077 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\222\070\271\370\143\044\202\145\054\127\063\346\376\201\217\235 -END -CKA_ISSUER MULTILINE_OCTAL -\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 -\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 -\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 -\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151 -\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040 -\122\157\157\164\040\107\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\013\223\034\072\326\071\147\352\147\043\277\303\257\232 -\364\113 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "DigiCert Assured ID Root G3" -# -# Issuer: CN=DigiCert Assured ID Root G3,OU=www.digicert.com,O=DigiCert Inc,C=US -# Serial Number:0b:a1:5a:fa:1d:df:a0:b5:49:44:af:cd:24:a0:6c:ec -# Subject: CN=DigiCert Assured ID Root G3,OU=www.digicert.com,O=DigiCert Inc,C=US -# Not Valid Before: Thu Aug 01 12:00:00 2013 -# Not Valid After : Fri Jan 15 12:00:00 2038 -# Fingerprint (SHA-256): 7E:37:CB:8B:4C:47:09:0C:AB:36:55:1B:A6:F4:5D:B8:40:68:0F:BA:16:6A:95:2D:B1:00:71:7F:43:05:3F:C2 -# Fingerprint (SHA1): F5:17:A2:4F:9A:48:C6:C9:F8:A2:00:26:9F:DC:0F:48:2C:AB:30:89 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "DigiCert Assured ID Root G3" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 -\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 -\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 -\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151 -\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040 -\122\157\157\164\040\107\063 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 -\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 -\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 -\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151 -\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040 -\122\157\157\164\040\107\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\013\241\132\372\035\337\240\265\111\104\257\315\044\240 -\154\354 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\002\106\060\202\001\315\240\003\002\001\002\002\020\013 -\241\132\372\035\337\240\265\111\104\257\315\044\240\154\354\060 -\012\006\010\052\206\110\316\075\004\003\003\060\145\061\013\060 -\011\006\003\125\004\006\023\002\125\123\061\025\060\023\006\003 -\125\004\012\023\014\104\151\147\151\103\145\162\164\040\111\156 -\143\061\031\060\027\006\003\125\004\013\023\020\167\167\167\056 -\144\151\147\151\143\145\162\164\056\143\157\155\061\044\060\042 -\006\003\125\004\003\023\033\104\151\147\151\103\145\162\164\040 -\101\163\163\165\162\145\144\040\111\104\040\122\157\157\164\040 -\107\063\060\036\027\015\061\063\060\070\060\061\061\062\060\060 -\060\060\132\027\015\063\070\060\061\061\065\061\062\060\060\060 -\060\132\060\145\061\013\060\011\006\003\125\004\006\023\002\125 -\123\061\025\060\023\006\003\125\004\012\023\014\104\151\147\151 -\103\145\162\164\040\111\156\143\061\031\060\027\006\003\125\004 -\013\023\020\167\167\167\056\144\151\147\151\143\145\162\164\056 -\143\157\155\061\044\060\042\006\003\125\004\003\023\033\104\151 -\147\151\103\145\162\164\040\101\163\163\165\162\145\144\040\111 -\104\040\122\157\157\164\040\107\063\060\166\060\020\006\007\052 -\206\110\316\075\002\001\006\005\053\201\004\000\042\003\142\000 -\004\031\347\274\254\104\145\355\315\270\077\130\373\215\261\127 -\251\104\055\005\025\362\357\013\377\020\164\237\265\142\122\137 -\146\176\037\345\334\033\105\171\013\314\306\123\012\235\215\135 -\002\331\251\131\336\002\132\366\225\052\016\215\070\112\212\111 -\306\274\306\003\070\007\137\125\332\176\011\156\342\177\136\320 -\105\040\017\131\166\020\326\240\044\360\055\336\066\362\154\051 -\071\243\102\060\100\060\017\006\003\125\035\023\001\001\377\004 -\005\060\003\001\001\377\060\016\006\003\125\035\017\001\001\377 -\004\004\003\002\001\206\060\035\006\003\125\035\016\004\026\004 -\024\313\320\275\251\341\230\005\121\241\115\067\242\203\171\316 -\215\035\052\344\204\060\012\006\010\052\206\110\316\075\004\003 -\003\003\147\000\060\144\002\060\045\244\201\105\002\153\022\113 -\165\164\117\310\043\343\160\362\165\162\336\174\211\360\317\221 -\162\141\236\136\020\222\131\126\271\203\307\020\347\070\351\130 -\046\066\175\325\344\064\206\071\002\060\174\066\123\360\060\345 -\142\143\072\231\342\266\243\073\233\064\372\036\332\020\222\161 -\136\221\023\247\335\244\156\222\314\062\326\365\041\146\307\057 -\352\226\143\152\145\105\222\225\001\264 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "DigiCert Assured ID Root G3" -# Issuer: CN=DigiCert Assured ID Root G3,OU=www.digicert.com,O=DigiCert Inc,C=US -# Serial Number:0b:a1:5a:fa:1d:df:a0:b5:49:44:af:cd:24:a0:6c:ec -# Subject: CN=DigiCert Assured ID Root G3,OU=www.digicert.com,O=DigiCert Inc,C=US -# Not Valid Before: Thu Aug 01 12:00:00 2013 -# Not Valid After : Fri Jan 15 12:00:00 2038 -# Fingerprint (SHA-256): 7E:37:CB:8B:4C:47:09:0C:AB:36:55:1B:A6:F4:5D:B8:40:68:0F:BA:16:6A:95:2D:B1:00:71:7F:43:05:3F:C2 -# Fingerprint (SHA1): F5:17:A2:4F:9A:48:C6:C9:F8:A2:00:26:9F:DC:0F:48:2C:AB:30:89 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "DigiCert Assured ID Root G3" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\365\027\242\117\232\110\306\311\370\242\000\046\237\334\017\110 -\054\253\060\211 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\174\177\145\061\014\201\337\215\272\076\231\342\134\255\156\373 -END -CKA_ISSUER MULTILINE_OCTAL -\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 -\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 -\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 -\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151 -\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040 -\122\157\157\164\040\107\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\013\241\132\372\035\337\240\265\111\104\257\315\044\240 -\154\354 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "DigiCert Global Root G2" -# -# Issuer: CN=DigiCert Global Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US -# Serial Number:03:3a:f1:e6:a7:11:a9:a0:bb:28:64:b1:1d:09:fa:e5 -# Subject: CN=DigiCert Global Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US -# Not Valid Before: Thu Aug 01 12:00:00 2013 -# Not Valid After : Fri Jan 15 12:00:00 2038 -# Fingerprint (SHA-256): CB:3C:CB:B7:60:31:E5:E0:13:8F:8D:D3:9A:23:F9:DE:47:FF:C3:5E:43:C1:14:4C:EA:27:D4:6A:5A:B1:CB:5F -# Fingerprint (SHA1): DF:3C:24:F9:BF:D6:66:76:1B:26:80:73:FE:06:D1:CC:8D:4F:82:A4 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "DigiCert Global Root G2" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 -\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 -\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 -\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147\151 -\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157\164 -\040\107\062 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 -\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 -\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 -\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147\151 -\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157\164 -\040\107\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\003\072\361\346\247\021\251\240\273\050\144\261\035\011 -\372\345 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\216\060\202\002\166\240\003\002\001\002\002\020\003 -\072\361\346\247\021\251\240\273\050\144\261\035\011\372\345\060 -\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\141 -\061\013\060\011\006\003\125\004\006\023\002\125\123\061\025\060 -\023\006\003\125\004\012\023\014\104\151\147\151\103\145\162\164 -\040\111\156\143\061\031\060\027\006\003\125\004\013\023\020\167 -\167\167\056\144\151\147\151\143\145\162\164\056\143\157\155\061 -\040\060\036\006\003\125\004\003\023\027\104\151\147\151\103\145 -\162\164\040\107\154\157\142\141\154\040\122\157\157\164\040\107 -\062\060\036\027\015\061\063\060\070\060\061\061\062\060\060\060 -\060\132\027\015\063\070\060\061\061\065\061\062\060\060\060\060 -\132\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103 -\145\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013 -\023\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143 -\157\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147 -\151\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157 -\164\040\107\062\060\202\001\042\060\015\006\011\052\206\110\206 -\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012 -\002\202\001\001\000\273\067\315\064\334\173\153\311\262\150\220 -\255\112\165\377\106\272\041\012\010\215\365\031\124\311\373\210 -\333\363\256\362\072\211\221\074\172\346\253\006\032\153\317\254 -\055\350\136\011\044\104\272\142\232\176\326\243\250\176\340\124 -\165\040\005\254\120\267\234\143\032\154\060\334\332\037\031\261 -\327\036\336\375\327\340\313\224\203\067\256\354\037\103\116\335 -\173\054\322\275\056\245\057\344\251\270\255\072\324\231\244\266 -\045\351\233\153\000\140\222\140\377\117\041\111\030\367\147\220 -\253\141\006\234\217\362\272\351\264\351\222\062\153\265\363\127 -\350\135\033\315\214\035\253\225\004\225\111\363\065\055\226\343 -\111\155\335\167\343\373\111\113\264\254\125\007\251\217\225\263 -\264\043\273\114\155\105\360\366\251\262\225\060\264\375\114\125 -\214\047\112\127\024\174\202\235\315\163\222\323\026\112\006\014 -\214\120\321\217\036\011\276\027\241\346\041\312\375\203\345\020 -\274\203\245\012\304\147\050\366\163\024\024\075\106\166\303\207 -\024\211\041\064\115\257\017\105\014\246\111\241\272\273\234\305 -\261\063\203\051\205\002\003\001\000\001\243\102\060\100\060\017 -\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060 -\016\006\003\125\035\017\001\001\377\004\004\003\002\001\206\060 -\035\006\003\125\035\016\004\026\004\024\116\042\124\040\030\225 -\346\343\156\346\017\372\372\271\022\355\006\027\217\071\060\015 -\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202\001 -\001\000\140\147\050\224\157\016\110\143\353\061\335\352\147\030 -\325\211\175\074\305\213\112\177\351\276\333\053\027\337\260\137 -\163\167\052\062\023\071\201\147\102\204\043\362\105\147\065\354 -\210\277\370\217\260\141\014\064\244\256\040\114\204\306\333\370 -\065\341\166\331\337\246\102\273\307\104\010\206\177\066\164\044 -\132\332\154\015\024\131\065\275\362\111\335\266\037\311\263\015 -\107\052\075\231\057\273\134\273\265\324\040\341\231\137\123\106 -\025\333\150\233\360\363\060\325\076\061\342\215\204\236\343\212 -\332\332\226\076\065\023\245\137\360\371\160\120\160\107\101\021 -\127\031\116\300\217\256\006\304\225\023\027\057\033\045\237\165 -\362\261\216\231\241\157\023\261\101\161\376\210\052\310\117\020 -\040\125\327\363\024\105\345\340\104\364\352\207\225\062\223\016 -\376\123\106\372\054\235\377\213\042\271\113\331\011\105\244\336 -\244\270\232\130\335\033\175\122\237\216\131\103\210\201\244\236 -\046\325\157\255\335\015\306\067\175\355\003\222\033\345\167\137 -\166\356\074\215\304\135\126\133\242\331\146\156\263\065\067\345 -\062\266 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "DigiCert Global Root G2" -# Issuer: CN=DigiCert Global Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US -# Serial Number:03:3a:f1:e6:a7:11:a9:a0:bb:28:64:b1:1d:09:fa:e5 -# Subject: CN=DigiCert Global Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US -# Not Valid Before: Thu Aug 01 12:00:00 2013 -# Not Valid After : Fri Jan 15 12:00:00 2038 -# Fingerprint (SHA-256): CB:3C:CB:B7:60:31:E5:E0:13:8F:8D:D3:9A:23:F9:DE:47:FF:C3:5E:43:C1:14:4C:EA:27:D4:6A:5A:B1:CB:5F -# Fingerprint (SHA1): DF:3C:24:F9:BF:D6:66:76:1B:26:80:73:FE:06:D1:CC:8D:4F:82:A4 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "DigiCert Global Root G2" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\337\074\044\371\277\326\146\166\033\046\200\163\376\006\321\314 -\215\117\202\244 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\344\246\212\310\124\254\122\102\106\012\375\162\110\033\052\104 -END -CKA_ISSUER MULTILINE_OCTAL -\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 -\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 -\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 -\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147\151 -\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157\164 -\040\107\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\003\072\361\346\247\021\251\240\273\050\144\261\035\011 -\372\345 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "DigiCert Global Root G3" -# -# Issuer: CN=DigiCert Global Root G3,OU=www.digicert.com,O=DigiCert Inc,C=US -# Serial Number:05:55:56:bc:f2:5e:a4:35:35:c3:a4:0f:d5:ab:45:72 -# Subject: CN=DigiCert Global Root G3,OU=www.digicert.com,O=DigiCert Inc,C=US -# Not Valid Before: Thu Aug 01 12:00:00 2013 -# Not Valid After : Fri Jan 15 12:00:00 2038 -# Fingerprint (SHA-256): 31:AD:66:48:F8:10:41:38:C7:38:F3:9E:A4:32:01:33:39:3E:3A:18:CC:02:29:6E:F9:7C:2A:C9:EF:67:31:D0 -# Fingerprint (SHA1): 7E:04:DE:89:6A:3E:66:6D:00:E6:87:D3:3F:FA:D9:3B:E8:3D:34:9E -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "DigiCert Global Root G3" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 -\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 -\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 -\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147\151 -\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157\164 -\040\107\063 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 -\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 -\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 -\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147\151 -\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157\164 -\040\107\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\005\125\126\274\362\136\244\065\065\303\244\017\325\253 -\105\162 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\002\077\060\202\001\305\240\003\002\001\002\002\020\005 -\125\126\274\362\136\244\065\065\303\244\017\325\253\105\162\060 -\012\006\010\052\206\110\316\075\004\003\003\060\141\061\013\060 -\011\006\003\125\004\006\023\002\125\123\061\025\060\023\006\003 -\125\004\012\023\014\104\151\147\151\103\145\162\164\040\111\156 -\143\061\031\060\027\006\003\125\004\013\023\020\167\167\167\056 -\144\151\147\151\143\145\162\164\056\143\157\155\061\040\060\036 -\006\003\125\004\003\023\027\104\151\147\151\103\145\162\164\040 -\107\154\157\142\141\154\040\122\157\157\164\040\107\063\060\036 -\027\015\061\063\060\070\060\061\061\062\060\060\060\060\132\027 -\015\063\070\060\061\061\065\061\062\060\060\060\060\132\060\141 -\061\013\060\011\006\003\125\004\006\023\002\125\123\061\025\060 -\023\006\003\125\004\012\023\014\104\151\147\151\103\145\162\164 -\040\111\156\143\061\031\060\027\006\003\125\004\013\023\020\167 -\167\167\056\144\151\147\151\143\145\162\164\056\143\157\155\061 -\040\060\036\006\003\125\004\003\023\027\104\151\147\151\103\145 -\162\164\040\107\154\157\142\141\154\040\122\157\157\164\040\107 -\063\060\166\060\020\006\007\052\206\110\316\075\002\001\006\005 -\053\201\004\000\042\003\142\000\004\335\247\331\273\212\270\013 -\373\013\177\041\322\360\276\276\163\363\063\135\032\274\064\352 -\336\306\233\274\320\225\366\360\314\320\013\272\141\133\121\106 -\176\236\055\237\356\216\143\014\027\354\007\160\365\317\204\056 -\100\203\234\350\077\101\155\073\255\323\244\024\131\066\170\235 -\003\103\356\020\023\154\162\336\256\210\247\241\153\265\103\316 -\147\334\043\377\003\034\243\342\076\243\102\060\100\060\017\006 -\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016 -\006\003\125\035\017\001\001\377\004\004\003\002\001\206\060\035 -\006\003\125\035\016\004\026\004\024\263\333\110\244\371\241\305 -\330\256\066\101\314\021\143\151\142\051\274\113\306\060\012\006 -\010\052\206\110\316\075\004\003\003\003\150\000\060\145\002\061 -\000\255\274\362\154\077\022\112\321\055\071\303\012\011\227\163 -\364\210\066\214\210\047\273\346\210\215\120\205\247\143\371\236 -\062\336\146\223\017\361\314\261\011\217\335\154\253\372\153\177 -\240\002\060\071\146\133\302\144\215\270\236\120\334\250\325\111 -\242\355\307\334\321\111\177\027\001\270\310\206\217\116\214\210 -\053\250\232\251\212\305\321\000\275\370\124\342\232\345\133\174 -\263\047\027 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "DigiCert Global Root G3" -# Issuer: CN=DigiCert Global Root G3,OU=www.digicert.com,O=DigiCert Inc,C=US -# Serial Number:05:55:56:bc:f2:5e:a4:35:35:c3:a4:0f:d5:ab:45:72 -# Subject: CN=DigiCert Global Root G3,OU=www.digicert.com,O=DigiCert Inc,C=US -# Not Valid Before: Thu Aug 01 12:00:00 2013 -# Not Valid After : Fri Jan 15 12:00:00 2038 -# Fingerprint (SHA-256): 31:AD:66:48:F8:10:41:38:C7:38:F3:9E:A4:32:01:33:39:3E:3A:18:CC:02:29:6E:F9:7C:2A:C9:EF:67:31:D0 -# Fingerprint (SHA1): 7E:04:DE:89:6A:3E:66:6D:00:E6:87:D3:3F:FA:D9:3B:E8:3D:34:9E -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "DigiCert Global Root G3" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\176\004\336\211\152\076\146\155\000\346\207\323\077\372\331\073 -\350\075\064\236 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\365\135\244\120\245\373\050\176\036\017\015\314\226\127\126\312 -END -CKA_ISSUER MULTILINE_OCTAL -\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 -\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 -\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 -\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147\151 -\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157\164 -\040\107\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\005\125\126\274\362\136\244\065\065\303\244\017\325\253 -\105\162 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "DigiCert Trusted Root G4" -# -# Issuer: CN=DigiCert Trusted Root G4,OU=www.digicert.com,O=DigiCert Inc,C=US -# Serial Number:05:9b:1b:57:9e:8e:21:32:e2:39:07:bd:a7:77:75:5c -# Subject: CN=DigiCert Trusted Root G4,OU=www.digicert.com,O=DigiCert Inc,C=US -# Not Valid Before: Thu Aug 01 12:00:00 2013 -# Not Valid After : Fri Jan 15 12:00:00 2038 -# Fingerprint (SHA-256): 55:2F:7B:DC:F1:A7:AF:9E:6C:E6:72:01:7F:4F:12:AB:F7:72:40:C7:8E:76:1A:C2:03:D1:D9:D2:0A:C8:99:88 -# Fingerprint (SHA1): DD:FB:16:CD:49:31:C9:73:A2:03:7D:3F:C8:3A:4D:7D:77:5D:05:E4 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "DigiCert Trusted Root G4" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\142\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 -\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 -\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 -\155\061\041\060\037\006\003\125\004\003\023\030\104\151\147\151 -\103\145\162\164\040\124\162\165\163\164\145\144\040\122\157\157 -\164\040\107\064 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\142\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 -\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 -\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 -\155\061\041\060\037\006\003\125\004\003\023\030\104\151\147\151 -\103\145\162\164\040\124\162\165\163\164\145\144\040\122\157\157 -\164\040\107\064 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\005\233\033\127\236\216\041\062\342\071\007\275\247\167 -\165\134 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\220\060\202\003\170\240\003\002\001\002\002\020\005 -\233\033\127\236\216\041\062\342\071\007\275\247\167\165\134\060 -\015\006\011\052\206\110\206\367\015\001\001\014\005\000\060\142 -\061\013\060\011\006\003\125\004\006\023\002\125\123\061\025\060 -\023\006\003\125\004\012\023\014\104\151\147\151\103\145\162\164 -\040\111\156\143\061\031\060\027\006\003\125\004\013\023\020\167 -\167\167\056\144\151\147\151\143\145\162\164\056\143\157\155\061 -\041\060\037\006\003\125\004\003\023\030\104\151\147\151\103\145 -\162\164\040\124\162\165\163\164\145\144\040\122\157\157\164\040 -\107\064\060\036\027\015\061\063\060\070\060\061\061\062\060\060 -\060\060\132\027\015\063\070\060\061\061\065\061\062\060\060\060 -\060\132\060\142\061\013\060\011\006\003\125\004\006\023\002\125 -\123\061\025\060\023\006\003\125\004\012\023\014\104\151\147\151 -\103\145\162\164\040\111\156\143\061\031\060\027\006\003\125\004 -\013\023\020\167\167\167\056\144\151\147\151\143\145\162\164\056 -\143\157\155\061\041\060\037\006\003\125\004\003\023\030\104\151 -\147\151\103\145\162\164\040\124\162\165\163\164\145\144\040\122 -\157\157\164\040\107\064\060\202\002\042\060\015\006\011\052\206 -\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202 -\002\012\002\202\002\001\000\277\346\220\163\150\336\273\344\135 -\112\074\060\042\060\151\063\354\302\247\045\056\311\041\075\362 -\212\330\131\302\341\051\247\075\130\253\166\232\315\256\173\033 -\204\015\304\060\037\363\033\244\070\026\353\126\306\227\155\035 -\253\262\171\362\312\021\322\344\137\326\005\074\122\017\122\037 -\306\236\025\245\176\276\237\251\127\026\131\125\162\257\150\223 -\160\302\262\272\165\231\152\163\062\224\321\020\104\020\056\337 -\202\363\007\204\346\164\073\155\161\342\055\014\033\356\040\325 -\311\040\035\143\051\055\316\354\136\116\310\223\370\041\141\233 -\064\353\005\306\136\354\133\032\274\353\311\317\315\254\064\100 -\137\261\172\146\356\167\310\110\250\146\127\127\237\124\130\216 -\014\053\267\117\247\060\331\126\356\312\173\135\343\255\311\117 -\136\345\065\347\061\313\332\223\136\334\216\217\200\332\266\221 -\230\100\220\171\303\170\307\266\261\304\265\152\030\070\003\020 -\215\330\324\067\244\056\005\175\210\365\202\076\020\221\160\253 -\125\202\101\062\327\333\004\163\052\156\221\001\174\041\114\324 -\274\256\033\003\165\135\170\146\331\072\061\104\232\063\100\277 -\010\327\132\111\244\302\346\251\240\147\335\244\047\274\241\117 -\071\265\021\130\027\367\044\134\106\217\144\367\301\151\210\166 -\230\166\075\131\135\102\166\207\211\227\151\172\110\360\340\242 -\022\033\146\232\164\312\336\113\036\347\016\143\256\346\324\357 -\222\222\072\236\075\334\000\344\105\045\211\266\232\104\031\053 -\176\300\224\264\322\141\155\353\063\331\305\337\113\004\000\314 -\175\034\225\303\217\367\041\262\262\021\267\273\177\362\325\214 -\160\054\101\140\252\261\143\030\104\225\032\166\142\176\366\200 -\260\373\350\144\246\063\321\211\007\341\275\267\346\103\244\030 -\270\246\167\001\341\017\224\014\041\035\262\124\051\045\211\154 -\345\016\122\121\107\164\276\046\254\266\101\165\336\172\254\137 -\215\077\311\274\323\101\021\022\133\345\020\120\353\061\305\312 -\162\026\042\011\337\174\114\165\077\143\354\041\137\304\040\121 -\153\157\261\253\206\213\117\302\326\105\137\235\040\374\241\036 -\305\300\217\242\261\176\012\046\231\365\344\151\057\230\035\055 -\365\331\251\262\035\345\033\002\003\001\000\001\243\102\060\100 -\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001 -\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001 -\206\060\035\006\003\125\035\016\004\026\004\024\354\327\343\202 -\322\161\135\144\114\337\056\147\077\347\272\230\256\034\017\117 -\060\015\006\011\052\206\110\206\367\015\001\001\014\005\000\003 -\202\002\001\000\273\141\331\175\251\154\276\027\304\221\033\303 -\241\242\000\215\343\144\150\017\126\317\167\256\160\371\375\232 -\112\231\271\311\170\134\014\014\137\344\346\024\051\126\013\066 -\111\135\104\143\340\255\234\226\030\146\033\043\015\075\171\351 -\155\153\326\124\370\322\074\301\103\100\256\035\120\365\122\374 -\220\073\273\230\231\151\153\307\301\247\250\150\244\047\334\235 -\371\047\256\060\205\271\366\147\115\072\076\217\131\071\042\123 -\104\353\310\135\003\312\355\120\172\175\142\041\012\200\310\163 -\146\321\240\005\140\137\350\245\264\247\257\250\367\155\065\234 -\174\132\212\326\242\070\231\363\170\213\364\115\322\040\013\336 -\004\356\214\233\107\201\162\015\300\024\062\357\060\131\056\256 -\340\161\362\126\344\152\227\157\222\120\155\226\215\150\172\232 -\262\066\024\172\006\362\044\271\011\021\120\327\010\261\270\211 -\172\204\043\141\102\051\345\243\315\242\040\101\327\321\234\144 -\331\352\046\241\213\024\327\114\031\262\120\101\161\075\077\115 -\160\043\206\014\112\334\201\322\314\062\224\204\015\010\011\227 -\034\117\300\356\153\040\164\060\322\340\071\064\020\205\041\025 -\001\010\350\125\062\336\161\111\331\050\027\120\115\346\276\115 -\321\165\254\320\312\373\101\270\103\245\252\323\303\005\104\117 -\054\066\233\342\372\342\105\270\043\123\154\006\157\147\125\177 -\106\265\114\077\156\050\132\171\046\322\244\250\142\227\322\036 -\342\355\112\213\274\033\375\107\112\015\337\147\146\176\262\133 -\101\320\073\344\364\073\364\004\143\351\357\302\124\000\121\240 -\212\052\311\316\170\314\325\352\207\004\030\263\316\257\111\210 -\257\363\222\231\266\263\346\141\017\322\205\000\347\120\032\344 -\033\225\235\031\241\271\234\261\233\261\000\036\357\320\017\117 -\102\154\311\012\274\356\103\372\072\161\245\310\115\046\245\065 -\375\211\135\274\205\142\035\062\322\240\053\124\355\232\127\301 -\333\372\020\317\031\267\213\112\033\217\001\266\047\225\123\350 -\266\211\155\133\274\150\324\043\350\213\121\242\126\371\360\246 -\200\240\326\036\263\274\017\017\123\165\051\252\352\023\167\344 -\336\214\201\041\255\007\020\107\021\255\207\075\007\321\165\274 -\317\363\146\176 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "DigiCert Trusted Root G4" -# Issuer: CN=DigiCert Trusted Root G4,OU=www.digicert.com,O=DigiCert Inc,C=US -# Serial Number:05:9b:1b:57:9e:8e:21:32:e2:39:07:bd:a7:77:75:5c -# Subject: CN=DigiCert Trusted Root G4,OU=www.digicert.com,O=DigiCert Inc,C=US -# Not Valid Before: Thu Aug 01 12:00:00 2013 -# Not Valid After : Fri Jan 15 12:00:00 2038 -# Fingerprint (SHA-256): 55:2F:7B:DC:F1:A7:AF:9E:6C:E6:72:01:7F:4F:12:AB:F7:72:40:C7:8E:76:1A:C2:03:D1:D9:D2:0A:C8:99:88 -# Fingerprint (SHA1): DD:FB:16:CD:49:31:C9:73:A2:03:7D:3F:C8:3A:4D:7D:77:5D:05:E4 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "DigiCert Trusted Root G4" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\335\373\026\315\111\061\311\163\242\003\175\077\310\072\115\175 -\167\135\005\344 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\170\362\374\252\140\037\057\264\353\311\067\272\123\056\165\111 -END -CKA_ISSUER MULTILINE_OCTAL -\060\142\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 -\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 -\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 -\155\061\041\060\037\006\003\125\004\003\023\030\104\151\147\151 -\103\145\162\164\040\124\162\165\163\164\145\144\040\122\157\157 -\164\040\107\064 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\005\233\033\127\236\216\041\062\342\071\007\275\247\167 -\165\134 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "COMODO RSA Certification Authority" -# -# Issuer: CN=COMODO RSA Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB -# Serial Number:4c:aa:f9:ca:db:63:6f:e0:1f:f7:4e:d8:5b:03:86:9d -# Subject: CN=COMODO RSA Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB -# Not Valid Before: Tue Jan 19 00:00:00 2010 -# Not Valid After : Mon Jan 18 23:59:59 2038 -# Fingerprint (SHA-256): 52:F0:E1:C4:E5:8E:C6:29:29:1B:60:31:7F:07:46:71:B8:5D:7E:A8:0D:5B:07:27:34:63:53:4B:32:B4:02:34 -# Fingerprint (SHA1): AF:E5:D2:44:A8:D1:19:42:30:FF:47:9F:E2:F8:97:BB:CD:7A:8C:B4 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "COMODO RSA Certification Authority" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\205\061\013\060\011\006\003\125\004\006\023\002\107\102 -\061\033\060\031\006\003\125\004\010\023\022\107\162\145\141\164 -\145\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060 -\016\006\003\125\004\007\023\007\123\141\154\146\157\162\144\061 -\032\060\030\006\003\125\004\012\023\021\103\117\115\117\104\117 -\040\103\101\040\114\151\155\151\164\145\144\061\053\060\051\006 -\003\125\004\003\023\042\103\117\115\117\104\117\040\122\123\101 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 -\165\164\150\157\162\151\164\171 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\205\061\013\060\011\006\003\125\004\006\023\002\107\102 -\061\033\060\031\006\003\125\004\010\023\022\107\162\145\141\164 -\145\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060 -\016\006\003\125\004\007\023\007\123\141\154\146\157\162\144\061 -\032\060\030\006\003\125\004\012\023\021\103\117\115\117\104\117 -\040\103\101\040\114\151\155\151\164\145\144\061\053\060\051\006 -\003\125\004\003\023\042\103\117\115\117\104\117\040\122\123\101 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 -\165\164\150\157\162\151\164\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\114\252\371\312\333\143\157\340\037\367\116\330\133\003 -\206\235 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\330\060\202\003\300\240\003\002\001\002\002\020\114 -\252\371\312\333\143\157\340\037\367\116\330\133\003\206\235\060 -\015\006\011\052\206\110\206\367\015\001\001\014\005\000\060\201 -\205\061\013\060\011\006\003\125\004\006\023\002\107\102\061\033 -\060\031\006\003\125\004\010\023\022\107\162\145\141\164\145\162 -\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016\006 -\003\125\004\007\023\007\123\141\154\146\157\162\144\061\032\060 -\030\006\003\125\004\012\023\021\103\117\115\117\104\117\040\103 -\101\040\114\151\155\151\164\145\144\061\053\060\051\006\003\125 -\004\003\023\042\103\117\115\117\104\117\040\122\123\101\040\103 -\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164 -\150\157\162\151\164\171\060\036\027\015\061\060\060\061\061\071 -\060\060\060\060\060\060\132\027\015\063\070\060\061\061\070\062 -\063\065\071\065\071\132\060\201\205\061\013\060\011\006\003\125 -\004\006\023\002\107\102\061\033\060\031\006\003\125\004\010\023 -\022\107\162\145\141\164\145\162\040\115\141\156\143\150\145\163 -\164\145\162\061\020\060\016\006\003\125\004\007\023\007\123\141 -\154\146\157\162\144\061\032\060\030\006\003\125\004\012\023\021 -\103\117\115\117\104\117\040\103\101\040\114\151\155\151\164\145 -\144\061\053\060\051\006\003\125\004\003\023\042\103\117\115\117 -\104\117\040\122\123\101\040\103\145\162\164\151\146\151\143\141 -\164\151\157\156\040\101\165\164\150\157\162\151\164\171\060\202 -\002\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005 -\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000\221 -\350\124\222\322\012\126\261\254\015\044\335\305\317\104\147\164 -\231\053\067\243\175\043\160\000\161\274\123\337\304\372\052\022 -\217\113\177\020\126\275\237\160\162\267\141\177\311\113\017\027 -\247\075\343\260\004\141\356\377\021\227\307\364\206\076\012\372 -\076\134\371\223\346\064\172\331\024\153\347\234\263\205\240\202 -\172\166\257\161\220\327\354\375\015\372\234\154\372\337\260\202 -\364\024\176\371\276\304\246\057\117\177\231\177\265\374\147\103 -\162\275\014\000\326\211\353\153\054\323\355\217\230\034\024\253 -\176\345\343\156\374\330\250\344\222\044\332\103\153\142\270\125 -\375\352\301\274\154\266\213\363\016\215\232\344\233\154\151\231 -\370\170\110\060\105\325\255\341\015\074\105\140\374\062\226\121 -\047\274\147\303\312\056\266\153\352\106\307\307\040\240\261\037 -\145\336\110\010\272\244\116\251\362\203\106\067\204\353\350\314 -\201\110\103\147\116\162\052\233\134\275\114\033\050\212\134\042 -\173\264\253\230\331\356\340\121\203\303\011\106\116\155\076\231 -\372\225\027\332\174\063\127\101\074\215\121\355\013\266\134\257 -\054\143\032\337\127\310\077\274\351\135\304\233\257\105\231\342 -\243\132\044\264\272\251\126\075\317\157\252\377\111\130\276\360 -\250\377\364\270\255\351\067\373\272\270\364\013\072\371\350\103 -\102\036\211\330\204\313\023\361\331\273\341\211\140\270\214\050 -\126\254\024\035\234\012\347\161\353\317\016\335\075\251\226\241 -\110\275\074\367\257\265\015\042\114\300\021\201\354\126\073\366 -\323\242\342\133\267\262\004\042\122\225\200\223\151\350\216\114 -\145\361\221\003\055\160\164\002\352\213\147\025\051\151\122\002 -\273\327\337\120\152\125\106\277\240\243\050\141\177\160\320\303 -\242\252\054\041\252\107\316\050\234\006\105\166\277\202\030\047 -\264\325\256\264\313\120\346\153\364\114\206\161\060\351\246\337 -\026\206\340\330\377\100\335\373\320\102\210\177\243\063\072\056 -\134\036\101\021\201\143\316\030\161\153\053\354\246\212\267\061 -\134\072\152\107\340\303\171\131\326\040\032\257\362\152\230\252 -\162\274\127\112\322\113\235\273\020\374\260\114\101\345\355\035 -\075\136\050\235\234\314\277\263\121\332\247\107\345\204\123\002 -\003\001\000\001\243\102\060\100\060\035\006\003\125\035\016\004 -\026\004\024\273\257\176\002\075\372\246\361\074\204\216\255\356 -\070\230\354\331\062\062\324\060\016\006\003\125\035\017\001\001 -\377\004\004\003\002\001\006\060\017\006\003\125\035\023\001\001 -\377\004\005\060\003\001\001\377\060\015\006\011\052\206\110\206 -\367\015\001\001\014\005\000\003\202\002\001\000\012\361\325\106 -\204\267\256\121\273\154\262\115\101\024\000\223\114\234\313\345 -\300\124\317\240\045\216\002\371\375\260\242\015\365\040\230\074 -\023\055\254\126\242\260\326\176\021\222\351\056\272\236\056\232 -\162\261\275\031\104\154\141\065\242\232\264\026\022\151\132\214 -\341\327\076\244\032\350\057\003\364\256\141\035\020\033\052\244 -\213\172\305\376\005\246\341\300\326\310\376\236\256\217\053\272 -\075\231\370\330\163\011\130\106\156\246\234\364\327\047\323\225 -\332\067\203\162\034\323\163\340\242\107\231\003\070\135\325\111 -\171\000\051\034\307\354\233\040\034\007\044\151\127\170\262\071 -\374\072\204\240\265\234\174\215\277\056\223\142\047\267\071\332 -\027\030\256\275\074\011\150\377\204\233\074\325\326\013\003\343 -\127\236\024\367\321\353\117\310\275\207\043\267\266\111\103\171 -\205\134\272\353\222\013\241\306\350\150\250\114\026\261\032\231 -\012\350\123\054\222\273\241\011\030\165\014\145\250\173\313\043 -\267\032\302\050\205\303\033\377\320\053\142\357\244\173\011\221 -\230\147\214\024\001\315\150\006\152\143\041\165\003\200\210\212 -\156\201\306\205\362\251\244\055\347\364\245\044\020\107\203\312 -\315\364\215\171\130\261\006\233\347\032\052\331\235\001\327\224 -\175\355\003\112\312\360\333\350\251\001\076\365\126\231\311\036 -\216\111\075\273\345\011\271\340\117\111\222\075\026\202\100\314 -\314\131\306\346\072\355\022\056\151\074\154\225\261\375\252\035 -\173\177\206\276\036\016\062\106\373\373\023\217\165\177\114\213 -\113\106\143\376\000\064\100\160\301\303\271\241\335\246\160\342 -\004\263\101\274\351\200\221\352\144\234\172\341\042\003\251\234 -\156\157\016\145\117\154\207\207\136\363\156\240\371\165\245\233 -\100\350\123\262\047\235\112\271\300\167\041\215\377\207\362\336 -\274\214\357\027\337\267\111\013\321\362\156\060\013\032\016\116 -\166\355\021\374\365\351\126\262\175\277\307\155\012\223\214\245 -\320\300\266\035\276\072\116\224\242\327\156\154\013\302\212\174 -\372\040\363\304\344\345\315\015\250\313\221\222\261\174\205\354 -\265\024\151\146\016\202\347\315\316\310\055\246\121\177\041\301 -\065\123\205\006\112\135\237\255\273\033\137\164 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "COMODO RSA Certification Authority" -# Issuer: CN=COMODO RSA Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB -# Serial Number:4c:aa:f9:ca:db:63:6f:e0:1f:f7:4e:d8:5b:03:86:9d -# Subject: CN=COMODO RSA Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB -# Not Valid Before: Tue Jan 19 00:00:00 2010 -# Not Valid After : Mon Jan 18 23:59:59 2038 -# Fingerprint (SHA-256): 52:F0:E1:C4:E5:8E:C6:29:29:1B:60:31:7F:07:46:71:B8:5D:7E:A8:0D:5B:07:27:34:63:53:4B:32:B4:02:34 -# Fingerprint (SHA1): AF:E5:D2:44:A8:D1:19:42:30:FF:47:9F:E2:F8:97:BB:CD:7A:8C:B4 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "COMODO RSA Certification Authority" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\257\345\322\104\250\321\031\102\060\377\107\237\342\370\227\273 -\315\172\214\264 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\033\061\260\161\100\066\314\024\066\221\255\304\076\375\354\030 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\205\061\013\060\011\006\003\125\004\006\023\002\107\102 -\061\033\060\031\006\003\125\004\010\023\022\107\162\145\141\164 -\145\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060 -\016\006\003\125\004\007\023\007\123\141\154\146\157\162\144\061 -\032\060\030\006\003\125\004\012\023\021\103\117\115\117\104\117 -\040\103\101\040\114\151\155\151\164\145\144\061\053\060\051\006 -\003\125\004\003\023\042\103\117\115\117\104\117\040\122\123\101 -\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 -\165\164\150\157\162\151\164\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\114\252\371\312\333\143\157\340\037\367\116\330\133\003 -\206\235 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "USERTrust RSA Certification Authority" -# -# Issuer: CN=USERTrust RSA Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US -# Serial Number:01:fd:6d:30:fc:a3:ca:51:a8:1b:bc:64:0e:35:03:2d -# Subject: CN=USERTrust RSA Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US -# Not Valid Before: Mon Feb 01 00:00:00 2010 -# Not Valid After : Mon Jan 18 23:59:59 2038 -# Fingerprint (SHA-256): E7:93:C9:B0:2F:D8:AA:13:E2:1C:31:22:8A:CC:B0:81:19:64:3B:74:9C:89:89:64:B1:74:6D:46:C3:D4:CB:D2 -# Fingerprint (SHA1): 2B:8F:1B:57:33:0D:BB:A2:D0:7A:6C:51:F7:0E:E9:0D:DA:B9:AD:8E -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "USERTrust RSA Certification Authority" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\210\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\023\060\021\006\003\125\004\010\023\012\116\145\167\040\112 -\145\162\163\145\171\061\024\060\022\006\003\125\004\007\023\013 -\112\145\162\163\145\171\040\103\151\164\171\061\036\060\034\006 -\003\125\004\012\023\025\124\150\145\040\125\123\105\122\124\122 -\125\123\124\040\116\145\164\167\157\162\153\061\056\060\054\006 -\003\125\004\003\023\045\125\123\105\122\124\162\165\163\164\040 -\122\123\101\040\103\145\162\164\151\146\151\143\141\164\151\157 -\156\040\101\165\164\150\157\162\151\164\171 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\210\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\023\060\021\006\003\125\004\010\023\012\116\145\167\040\112 -\145\162\163\145\171\061\024\060\022\006\003\125\004\007\023\013 -\112\145\162\163\145\171\040\103\151\164\171\061\036\060\034\006 -\003\125\004\012\023\025\124\150\145\040\125\123\105\122\124\122 -\125\123\124\040\116\145\164\167\157\162\153\061\056\060\054\006 -\003\125\004\003\023\045\125\123\105\122\124\162\165\163\164\040 -\122\123\101\040\103\145\162\164\151\146\151\143\141\164\151\157 -\156\040\101\165\164\150\157\162\151\164\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\001\375\155\060\374\243\312\121\250\033\274\144\016\065 -\003\055 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\336\060\202\003\306\240\003\002\001\002\002\020\001 -\375\155\060\374\243\312\121\250\033\274\144\016\065\003\055\060 -\015\006\011\052\206\110\206\367\015\001\001\014\005\000\060\201 -\210\061\013\060\011\006\003\125\004\006\023\002\125\123\061\023 -\060\021\006\003\125\004\010\023\012\116\145\167\040\112\145\162 -\163\145\171\061\024\060\022\006\003\125\004\007\023\013\112\145 -\162\163\145\171\040\103\151\164\171\061\036\060\034\006\003\125 -\004\012\023\025\124\150\145\040\125\123\105\122\124\122\125\123 -\124\040\116\145\164\167\157\162\153\061\056\060\054\006\003\125 -\004\003\023\045\125\123\105\122\124\162\165\163\164\040\122\123 -\101\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040 -\101\165\164\150\157\162\151\164\171\060\036\027\015\061\060\060 -\062\060\061\060\060\060\060\060\060\132\027\015\063\070\060\061 -\061\070\062\063\065\071\065\071\132\060\201\210\061\013\060\011 -\006\003\125\004\006\023\002\125\123\061\023\060\021\006\003\125 -\004\010\023\012\116\145\167\040\112\145\162\163\145\171\061\024 -\060\022\006\003\125\004\007\023\013\112\145\162\163\145\171\040 -\103\151\164\171\061\036\060\034\006\003\125\004\012\023\025\124 -\150\145\040\125\123\105\122\124\122\125\123\124\040\116\145\164 -\167\157\162\153\061\056\060\054\006\003\125\004\003\023\045\125 -\123\105\122\124\162\165\163\164\040\122\123\101\040\103\145\162 -\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157 -\162\151\164\171\060\202\002\042\060\015\006\011\052\206\110\206 -\367\015\001\001\001\005\000\003\202\002\017\000\060\202\002\012 -\002\202\002\001\000\200\022\145\027\066\016\303\333\010\263\320 -\254\127\015\166\355\315\047\323\114\255\120\203\141\342\252\040 -\115\011\055\144\011\334\316\211\237\314\075\251\354\366\317\301 -\334\361\323\261\326\173\067\050\021\053\107\332\071\306\274\072 -\031\264\137\246\275\175\235\243\143\102\266\166\362\251\073\053 -\221\370\342\157\320\354\026\040\220\011\076\342\350\164\311\030 -\264\221\324\142\144\333\177\243\006\361\210\030\152\220\042\074 -\274\376\023\360\207\024\173\366\344\037\216\324\344\121\306\021 -\147\106\010\121\313\206\024\124\077\274\063\376\176\154\234\377 -\026\235\030\275\121\216\065\246\247\146\310\162\147\333\041\146 -\261\324\233\170\003\300\120\072\350\314\360\334\274\236\114\376 -\257\005\226\065\037\127\132\267\377\316\371\075\267\054\266\366 -\124\335\310\347\022\072\115\256\114\212\267\134\232\264\267\040 -\075\312\177\042\064\256\176\073\150\146\001\104\347\001\116\106 -\123\233\063\140\367\224\276\123\067\220\163\103\363\062\303\123 -\357\333\252\376\164\116\151\307\153\214\140\223\336\304\307\014 -\337\341\062\256\314\223\073\121\170\225\147\213\356\075\126\376 -\014\320\151\017\033\017\363\045\046\153\063\155\367\156\107\372 -\163\103\345\176\016\245\146\261\051\174\062\204\143\125\211\304 -\015\301\223\124\060\031\023\254\323\175\067\247\353\135\072\154 -\065\134\333\101\327\022\332\251\111\013\337\330\200\212\011\223 -\142\216\265\146\317\045\210\315\204\270\261\077\244\071\017\331 -\002\236\353\022\114\225\174\363\153\005\251\136\026\203\314\270 -\147\342\350\023\235\314\133\202\323\114\263\355\133\377\336\345 -\163\254\043\073\055\000\277\065\125\164\011\111\330\111\130\032 -\177\222\066\346\121\222\016\363\046\175\034\115\027\274\311\354 -\103\046\320\277\101\137\100\251\104\104\364\231\347\127\207\236 -\120\037\127\124\250\076\375\164\143\057\261\120\145\011\346\130 -\102\056\103\032\114\264\360\045\107\131\372\004\036\223\324\046 -\106\112\120\201\262\336\276\170\267\374\147\025\341\311\127\204 -\036\017\143\326\351\142\272\326\137\125\056\352\134\306\050\010 -\004\045\071\270\016\053\251\362\114\227\034\007\077\015\122\365 -\355\357\057\202\017\002\003\001\000\001\243\102\060\100\060\035 -\006\003\125\035\016\004\026\004\024\123\171\277\132\252\053\112 -\317\124\200\341\330\233\300\235\362\262\003\146\313\060\016\006 -\003\125\035\017\001\001\377\004\004\003\002\001\006\060\017\006 -\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\015 -\006\011\052\206\110\206\367\015\001\001\014\005\000\003\202\002 -\001\000\134\324\174\015\317\367\001\175\101\231\145\014\163\305 -\122\237\313\370\317\231\006\177\033\332\103\025\237\236\002\125 -\127\226\024\361\122\074\047\207\224\050\355\037\072\001\067\242 -\166\374\123\120\300\204\233\306\153\116\272\214\041\117\242\216 -\125\142\221\363\151\025\330\274\210\343\304\252\013\375\357\250 -\351\113\125\052\006\040\155\125\170\051\031\356\137\060\134\113 -\044\021\125\377\044\232\156\136\052\053\356\013\115\237\177\367 -\001\070\224\024\225\103\007\011\373\140\251\356\034\253\022\214 -\240\232\136\247\230\152\131\155\213\077\010\373\310\321\105\257 -\030\025\144\220\022\017\163\050\056\305\342\044\116\374\130\354 -\360\364\105\376\042\263\353\057\216\322\331\105\141\005\301\227 -\157\250\166\162\217\213\214\066\257\277\015\005\316\161\215\346 -\246\157\037\154\246\161\142\305\330\320\203\162\014\361\147\021 -\211\014\234\023\114\162\064\337\274\325\161\337\252\161\335\341 -\271\154\214\074\022\135\145\332\275\127\022\266\103\153\377\345 -\336\115\146\021\121\317\231\256\354\027\266\350\161\221\214\336 -\111\376\335\065\161\242\025\047\224\034\317\141\343\046\273\157 -\243\147\045\041\135\346\335\035\013\056\150\033\073\202\257\354 -\203\147\205\324\230\121\164\261\271\231\200\211\377\177\170\031 -\134\171\112\140\056\222\100\256\114\067\052\054\311\307\142\310 -\016\135\367\066\133\312\340\045\045\001\264\335\032\007\234\167 -\000\077\320\334\325\354\075\324\372\273\077\314\205\326\157\177 -\251\055\337\271\002\367\365\227\232\265\065\332\303\147\260\207 -\112\251\050\236\043\216\377\134\047\153\341\260\117\363\007\356 -\000\056\324\131\207\313\122\101\225\352\364\107\327\356\144\101 -\125\174\215\131\002\225\335\142\235\302\271\356\132\050\164\204 -\245\233\267\220\307\014\007\337\365\211\066\164\062\326\050\301 -\260\260\013\340\234\114\303\034\326\374\343\151\265\107\106\201 -\057\242\202\253\323\143\104\160\304\215\377\055\063\272\255\217 -\173\265\160\210\256\076\031\317\100\050\330\374\310\220\273\135 -\231\042\365\122\346\130\305\037\210\061\103\356\210\035\327\306 -\216\074\103\152\035\247\030\336\175\075\026\361\142\371\312\220 -\250\375 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "USERTrust RSA Certification Authority" -# Issuer: CN=USERTrust RSA Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US -# Serial Number:01:fd:6d:30:fc:a3:ca:51:a8:1b:bc:64:0e:35:03:2d -# Subject: CN=USERTrust RSA Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US -# Not Valid Before: Mon Feb 01 00:00:00 2010 -# Not Valid After : Mon Jan 18 23:59:59 2038 -# Fingerprint (SHA-256): E7:93:C9:B0:2F:D8:AA:13:E2:1C:31:22:8A:CC:B0:81:19:64:3B:74:9C:89:89:64:B1:74:6D:46:C3:D4:CB:D2 -# Fingerprint (SHA1): 2B:8F:1B:57:33:0D:BB:A2:D0:7A:6C:51:F7:0E:E9:0D:DA:B9:AD:8E -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "USERTrust RSA Certification Authority" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\053\217\033\127\063\015\273\242\320\172\154\121\367\016\351\015 -\332\271\255\216 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\033\376\151\321\221\267\031\063\243\162\250\017\341\125\345\265 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\210\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\023\060\021\006\003\125\004\010\023\012\116\145\167\040\112 -\145\162\163\145\171\061\024\060\022\006\003\125\004\007\023\013 -\112\145\162\163\145\171\040\103\151\164\171\061\036\060\034\006 -\003\125\004\012\023\025\124\150\145\040\125\123\105\122\124\122 -\125\123\124\040\116\145\164\167\157\162\153\061\056\060\054\006 -\003\125\004\003\023\045\125\123\105\122\124\162\165\163\164\040 -\122\123\101\040\103\145\162\164\151\146\151\143\141\164\151\157 -\156\040\101\165\164\150\157\162\151\164\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\001\375\155\060\374\243\312\121\250\033\274\144\016\065 -\003\055 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "USERTrust ECC Certification Authority" -# -# Issuer: CN=USERTrust ECC Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US -# Serial Number:5c:8b:99:c5:5a:94:c5:d2:71:56:de:cd:89:80:cc:26 -# Subject: CN=USERTrust ECC Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US -# Not Valid Before: Mon Feb 01 00:00:00 2010 -# Not Valid After : Mon Jan 18 23:59:59 2038 -# Fingerprint (SHA-256): 4F:F4:60:D5:4B:9C:86:DA:BF:BC:FC:57:12:E0:40:0D:2B:ED:3F:BC:4D:4F:BD:AA:86:E0:6A:DC:D2:A9:AD:7A -# Fingerprint (SHA1): D1:CB:CA:5D:B2:D5:2A:7F:69:3B:67:4D:E5:F0:5A:1D:0C:95:7D:F0 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "USERTrust ECC Certification Authority" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\210\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\023\060\021\006\003\125\004\010\023\012\116\145\167\040\112 -\145\162\163\145\171\061\024\060\022\006\003\125\004\007\023\013 -\112\145\162\163\145\171\040\103\151\164\171\061\036\060\034\006 -\003\125\004\012\023\025\124\150\145\040\125\123\105\122\124\122 -\125\123\124\040\116\145\164\167\157\162\153\061\056\060\054\006 -\003\125\004\003\023\045\125\123\105\122\124\162\165\163\164\040 -\105\103\103\040\103\145\162\164\151\146\151\143\141\164\151\157 -\156\040\101\165\164\150\157\162\151\164\171 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\210\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\023\060\021\006\003\125\004\010\023\012\116\145\167\040\112 -\145\162\163\145\171\061\024\060\022\006\003\125\004\007\023\013 -\112\145\162\163\145\171\040\103\151\164\171\061\036\060\034\006 -\003\125\004\012\023\025\124\150\145\040\125\123\105\122\124\122 -\125\123\124\040\116\145\164\167\157\162\153\061\056\060\054\006 -\003\125\004\003\023\045\125\123\105\122\124\162\165\163\164\040 -\105\103\103\040\103\145\162\164\151\146\151\143\141\164\151\157 -\156\040\101\165\164\150\157\162\151\164\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\134\213\231\305\132\224\305\322\161\126\336\315\211\200 -\314\046 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\002\217\060\202\002\025\240\003\002\001\002\002\020\134 -\213\231\305\132\224\305\322\161\126\336\315\211\200\314\046\060 -\012\006\010\052\206\110\316\075\004\003\003\060\201\210\061\013 -\060\011\006\003\125\004\006\023\002\125\123\061\023\060\021\006 -\003\125\004\010\023\012\116\145\167\040\112\145\162\163\145\171 -\061\024\060\022\006\003\125\004\007\023\013\112\145\162\163\145 -\171\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023 -\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116 -\145\164\167\157\162\153\061\056\060\054\006\003\125\004\003\023 -\045\125\123\105\122\124\162\165\163\164\040\105\103\103\040\103 -\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164 -\150\157\162\151\164\171\060\036\027\015\061\060\060\062\060\061 -\060\060\060\060\060\060\132\027\015\063\070\060\061\061\070\062 -\063\065\071\065\071\132\060\201\210\061\013\060\011\006\003\125 -\004\006\023\002\125\123\061\023\060\021\006\003\125\004\010\023 -\012\116\145\167\040\112\145\162\163\145\171\061\024\060\022\006 -\003\125\004\007\023\013\112\145\162\163\145\171\040\103\151\164 -\171\061\036\060\034\006\003\125\004\012\023\025\124\150\145\040 -\125\123\105\122\124\122\125\123\124\040\116\145\164\167\157\162 -\153\061\056\060\054\006\003\125\004\003\023\045\125\123\105\122 -\124\162\165\163\164\040\105\103\103\040\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171\060\166\060\020\006\007\052\206\110\316\075\002\001\006\005 -\053\201\004\000\042\003\142\000\004\032\254\124\132\251\371\150 -\043\347\172\325\044\157\123\306\132\330\113\253\306\325\266\321 -\346\163\161\256\335\234\326\014\141\375\333\240\211\003\270\005 -\024\354\127\316\356\135\077\342\041\263\316\367\324\212\171\340 -\243\203\176\055\227\320\141\304\361\231\334\045\221\143\253\177 -\060\243\264\160\342\307\241\063\234\363\277\056\134\123\261\137 -\263\175\062\177\212\064\343\171\171\243\102\060\100\060\035\006 -\003\125\035\016\004\026\004\024\072\341\011\206\324\317\031\302 -\226\166\164\111\166\334\340\065\306\143\143\232\060\016\006\003 -\125\035\017\001\001\377\004\004\003\002\001\006\060\017\006\003 -\125\035\023\001\001\377\004\005\060\003\001\001\377\060\012\006 -\010\052\206\110\316\075\004\003\003\003\150\000\060\145\002\060 -\066\147\241\026\010\334\344\227\000\101\035\116\276\341\143\001 -\317\073\252\102\021\144\240\235\224\071\002\021\171\134\173\035 -\372\144\271\356\026\102\263\277\212\302\011\304\354\344\261\115 -\002\061\000\351\052\141\107\214\122\112\113\116\030\160\366\326 -\104\326\156\365\203\272\155\130\275\044\331\126\110\352\357\304 -\242\106\201\210\152\072\106\321\251\233\115\311\141\332\321\135 -\127\152\030 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "USERTrust ECC Certification Authority" -# Issuer: CN=USERTrust ECC Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US -# Serial Number:5c:8b:99:c5:5a:94:c5:d2:71:56:de:cd:89:80:cc:26 -# Subject: CN=USERTrust ECC Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US -# Not Valid Before: Mon Feb 01 00:00:00 2010 -# Not Valid After : Mon Jan 18 23:59:59 2038 -# Fingerprint (SHA-256): 4F:F4:60:D5:4B:9C:86:DA:BF:BC:FC:57:12:E0:40:0D:2B:ED:3F:BC:4D:4F:BD:AA:86:E0:6A:DC:D2:A9:AD:7A -# Fingerprint (SHA1): D1:CB:CA:5D:B2:D5:2A:7F:69:3B:67:4D:E5:F0:5A:1D:0C:95:7D:F0 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "USERTrust ECC Certification Authority" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\321\313\312\135\262\325\052\177\151\073\147\115\345\360\132\035 -\014\225\175\360 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\372\150\274\331\265\177\255\375\311\035\006\203\050\314\044\301 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\210\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\023\060\021\006\003\125\004\010\023\012\116\145\167\040\112 -\145\162\163\145\171\061\024\060\022\006\003\125\004\007\023\013 -\112\145\162\163\145\171\040\103\151\164\171\061\036\060\034\006 -\003\125\004\012\023\025\124\150\145\040\125\123\105\122\124\122 -\125\123\124\040\116\145\164\167\157\162\153\061\056\060\054\006 -\003\125\004\003\023\045\125\123\105\122\124\162\165\163\164\040 -\105\103\103\040\103\145\162\164\151\146\151\143\141\164\151\157 -\156\040\101\165\164\150\157\162\151\164\171 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\134\213\231\305\132\224\305\322\161\126\336\315\211\200 -\314\046 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "GlobalSign ECC Root CA - R4" -# -# Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign ECC Root CA - R4 -# Serial Number:2a:38:a4:1c:96:0a:04:de:42:b2:28:a5:0b:e8:34:98:02 -# Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign ECC Root CA - R4 -# Not Valid Before: Tue Nov 13 00:00:00 2012 -# Not Valid After : Tue Jan 19 03:14:07 2038 -# Fingerprint (SHA-256): BE:C9:49:11:C2:95:56:76:DB:6C:0A:55:09:86:D7:6E:3B:A0:05:66:7C:44:2C:97:62:B4:FB:B7:73:DE:22:8C -# Fingerprint (SHA1): 69:69:56:2E:40:80:F4:24:A1:E7:19:9F:14:BA:F3:EE:58:AB:6A:BB -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GlobalSign ECC Root CA - R4" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\120\061\044\060\042\006\003\125\004\013\023\033\107\154\157 -\142\141\154\123\151\147\156\040\105\103\103\040\122\157\157\164 -\040\103\101\040\055\040\122\064\061\023\060\021\006\003\125\004 -\012\023\012\107\154\157\142\141\154\123\151\147\156\061\023\060 -\021\006\003\125\004\003\023\012\107\154\157\142\141\154\123\151 -\147\156 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\120\061\044\060\042\006\003\125\004\013\023\033\107\154\157 -\142\141\154\123\151\147\156\040\105\103\103\040\122\157\157\164 -\040\103\101\040\055\040\122\064\061\023\060\021\006\003\125\004 -\012\023\012\107\154\157\142\141\154\123\151\147\156\061\023\060 -\021\006\003\125\004\003\023\012\107\154\157\142\141\154\123\151 -\147\156 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\021\052\070\244\034\226\012\004\336\102\262\050\245\013\350 -\064\230\002 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\001\341\060\202\001\207\240\003\002\001\002\002\021\052 -\070\244\034\226\012\004\336\102\262\050\245\013\350\064\230\002 -\060\012\006\010\052\206\110\316\075\004\003\002\060\120\061\044 -\060\042\006\003\125\004\013\023\033\107\154\157\142\141\154\123 -\151\147\156\040\105\103\103\040\122\157\157\164\040\103\101\040 -\055\040\122\064\061\023\060\021\006\003\125\004\012\023\012\107 -\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125 -\004\003\023\012\107\154\157\142\141\154\123\151\147\156\060\036 -\027\015\061\062\061\061\061\063\060\060\060\060\060\060\132\027 -\015\063\070\060\061\061\071\060\063\061\064\060\067\132\060\120 -\061\044\060\042\006\003\125\004\013\023\033\107\154\157\142\141 -\154\123\151\147\156\040\105\103\103\040\122\157\157\164\040\103 -\101\040\055\040\122\064\061\023\060\021\006\003\125\004\012\023 -\012\107\154\157\142\141\154\123\151\147\156\061\023\060\021\006 -\003\125\004\003\023\012\107\154\157\142\141\154\123\151\147\156 -\060\131\060\023\006\007\052\206\110\316\075\002\001\006\010\052 -\206\110\316\075\003\001\007\003\102\000\004\270\306\171\323\217 -\154\045\016\237\056\071\031\034\003\244\256\232\345\071\007\011 -\026\312\143\261\271\206\370\212\127\301\127\316\102\372\163\241 -\367\145\102\377\036\301\000\262\156\163\016\377\307\041\345\030 -\244\252\331\161\077\250\324\271\316\214\035\243\102\060\100\060 -\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060 -\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377 -\060\035\006\003\125\035\016\004\026\004\024\124\260\173\255\105 -\270\342\100\177\373\012\156\373\276\063\311\074\243\204\325\060 -\012\006\010\052\206\110\316\075\004\003\002\003\110\000\060\105 -\002\041\000\334\222\241\240\023\246\317\003\260\346\304\041\227 -\220\372\024\127\055\003\354\356\074\323\156\312\250\154\166\274 -\242\336\273\002\040\047\250\205\047\065\233\126\306\243\362\107 -\322\267\156\033\002\000\027\252\147\246\025\221\336\372\224\354 -\173\013\370\237\204 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "GlobalSign ECC Root CA - R4" -# Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign ECC Root CA - R4 -# Serial Number:2a:38:a4:1c:96:0a:04:de:42:b2:28:a5:0b:e8:34:98:02 -# Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign ECC Root CA - R4 -# Not Valid Before: Tue Nov 13 00:00:00 2012 -# Not Valid After : Tue Jan 19 03:14:07 2038 -# Fingerprint (SHA-256): BE:C9:49:11:C2:95:56:76:DB:6C:0A:55:09:86:D7:6E:3B:A0:05:66:7C:44:2C:97:62:B4:FB:B7:73:DE:22:8C -# Fingerprint (SHA1): 69:69:56:2E:40:80:F4:24:A1:E7:19:9F:14:BA:F3:EE:58:AB:6A:BB -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GlobalSign ECC Root CA - R4" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\151\151\126\056\100\200\364\044\241\347\031\237\024\272\363\356 -\130\253\152\273 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\040\360\047\150\321\176\240\235\016\346\052\312\337\134\211\216 -END -CKA_ISSUER MULTILINE_OCTAL -\060\120\061\044\060\042\006\003\125\004\013\023\033\107\154\157 -\142\141\154\123\151\147\156\040\105\103\103\040\122\157\157\164 -\040\103\101\040\055\040\122\064\061\023\060\021\006\003\125\004 -\012\023\012\107\154\157\142\141\154\123\151\147\156\061\023\060 -\021\006\003\125\004\003\023\012\107\154\157\142\141\154\123\151 -\147\156 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\021\052\070\244\034\226\012\004\336\102\262\050\245\013\350 -\064\230\002 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "GlobalSign ECC Root CA - R5" -# -# Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign ECC Root CA - R5 -# Serial Number:60:59:49:e0:26:2e:bb:55:f9:0a:77:8a:71:f9:4a:d8:6c -# Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign ECC Root CA - R5 -# Not Valid Before: Tue Nov 13 00:00:00 2012 -# Not Valid After : Tue Jan 19 03:14:07 2038 -# Fingerprint (SHA-256): 17:9F:BC:14:8A:3D:D0:0F:D2:4E:A1:34:58:CC:43:BF:A7:F5:9C:81:82:D7:83:A5:13:F6:EB:EC:10:0C:89:24 -# Fingerprint (SHA1): 1F:24:C6:30:CD:A4:18:EF:20:69:FF:AD:4F:DD:5F:46:3A:1B:69:AA -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GlobalSign ECC Root CA - R5" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\120\061\044\060\042\006\003\125\004\013\023\033\107\154\157 -\142\141\154\123\151\147\156\040\105\103\103\040\122\157\157\164 -\040\103\101\040\055\040\122\065\061\023\060\021\006\003\125\004 -\012\023\012\107\154\157\142\141\154\123\151\147\156\061\023\060 -\021\006\003\125\004\003\023\012\107\154\157\142\141\154\123\151 -\147\156 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\120\061\044\060\042\006\003\125\004\013\023\033\107\154\157 -\142\141\154\123\151\147\156\040\105\103\103\040\122\157\157\164 -\040\103\101\040\055\040\122\065\061\023\060\021\006\003\125\004 -\012\023\012\107\154\157\142\141\154\123\151\147\156\061\023\060 -\021\006\003\125\004\003\023\012\107\154\157\142\141\154\123\151 -\147\156 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\021\140\131\111\340\046\056\273\125\371\012\167\212\161\371 -\112\330\154 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\002\036\060\202\001\244\240\003\002\001\002\002\021\140 -\131\111\340\046\056\273\125\371\012\167\212\161\371\112\330\154 -\060\012\006\010\052\206\110\316\075\004\003\003\060\120\061\044 -\060\042\006\003\125\004\013\023\033\107\154\157\142\141\154\123 -\151\147\156\040\105\103\103\040\122\157\157\164\040\103\101\040 -\055\040\122\065\061\023\060\021\006\003\125\004\012\023\012\107 -\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125 -\004\003\023\012\107\154\157\142\141\154\123\151\147\156\060\036 -\027\015\061\062\061\061\061\063\060\060\060\060\060\060\132\027 -\015\063\070\060\061\061\071\060\063\061\064\060\067\132\060\120 -\061\044\060\042\006\003\125\004\013\023\033\107\154\157\142\141 -\154\123\151\147\156\040\105\103\103\040\122\157\157\164\040\103 -\101\040\055\040\122\065\061\023\060\021\006\003\125\004\012\023 -\012\107\154\157\142\141\154\123\151\147\156\061\023\060\021\006 -\003\125\004\003\023\012\107\154\157\142\141\154\123\151\147\156 -\060\166\060\020\006\007\052\206\110\316\075\002\001\006\005\053 -\201\004\000\042\003\142\000\004\107\105\016\226\373\175\135\277 -\351\071\321\041\370\237\013\266\325\173\036\222\072\110\131\034 -\360\142\061\055\300\172\050\376\032\247\134\263\266\314\227\347 -\105\324\130\372\321\167\155\103\242\300\207\145\064\012\037\172 -\335\353\074\063\241\305\235\115\244\157\101\225\070\177\311\036 -\204\353\321\236\111\222\207\224\207\014\072\205\112\146\237\235 -\131\223\115\227\141\006\206\112\243\102\060\100\060\016\006\003 -\125\035\017\001\001\377\004\004\003\002\001\006\060\017\006\003 -\125\035\023\001\001\377\004\005\060\003\001\001\377\060\035\006 -\003\125\035\016\004\026\004\024\075\346\051\110\233\352\007\312 -\041\104\112\046\336\156\336\322\203\320\237\131\060\012\006\010 -\052\206\110\316\075\004\003\003\003\150\000\060\145\002\061\000 -\345\151\022\311\156\333\306\061\272\011\101\341\227\370\373\375 -\232\342\175\022\311\355\174\144\323\313\005\045\213\126\331\240 -\347\136\135\116\013\203\234\133\166\051\240\011\046\041\152\142 -\002\060\161\322\265\217\134\352\073\341\170\011\205\250\165\222 -\073\310\134\375\110\357\015\164\042\250\010\342\156\305\111\316 -\307\014\274\247\141\151\361\367\073\341\052\313\371\053\363\146 -\220\067 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "GlobalSign ECC Root CA - R5" -# Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign ECC Root CA - R5 -# Serial Number:60:59:49:e0:26:2e:bb:55:f9:0a:77:8a:71:f9:4a:d8:6c -# Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign ECC Root CA - R5 -# Not Valid Before: Tue Nov 13 00:00:00 2012 -# Not Valid After : Tue Jan 19 03:14:07 2038 -# Fingerprint (SHA-256): 17:9F:BC:14:8A:3D:D0:0F:D2:4E:A1:34:58:CC:43:BF:A7:F5:9C:81:82:D7:83:A5:13:F6:EB:EC:10:0C:89:24 -# Fingerprint (SHA1): 1F:24:C6:30:CD:A4:18:EF:20:69:FF:AD:4F:DD:5F:46:3A:1B:69:AA -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GlobalSign ECC Root CA - R5" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\037\044\306\060\315\244\030\357\040\151\377\255\117\335\137\106 -\072\033\151\252 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\237\255\073\034\002\036\212\272\027\164\070\201\014\242\274\010 -END -CKA_ISSUER MULTILINE_OCTAL -\060\120\061\044\060\042\006\003\125\004\013\023\033\107\154\157 -\142\141\154\123\151\147\156\040\105\103\103\040\122\157\157\164 -\040\103\101\040\055\040\122\065\061\023\060\021\006\003\125\004 -\012\023\012\107\154\157\142\141\154\123\151\147\156\061\023\060 -\021\006\003\125\004\003\023\012\107\154\157\142\141\154\123\151 -\147\156 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\021\140\131\111\340\046\056\273\125\371\012\167\212\161\371 -\112\330\154 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Staat der Nederlanden Root CA - G3" -# -# Issuer: CN=Staat der Nederlanden Root CA - G3,O=Staat der Nederlanden,C=NL -# Serial Number: 10003001 (0x98a239) -# Subject: CN=Staat der Nederlanden Root CA - G3,O=Staat der Nederlanden,C=NL -# Not Valid Before: Thu Nov 14 11:28:42 2013 -# Not Valid After : Mon Nov 13 23:00:00 2028 -# Fingerprint (SHA-256): 3C:4F:B0:B9:5A:B8:B3:00:32:F4:32:B8:6F:53:5F:E1:72:C1:85:D0:FD:39:86:58:37:CF:36:18:7F:A6:F4:28 -# Fingerprint (SHA1): D8:EB:6B:41:51:92:59:E0:F3:E7:85:00:C0:3D:B6:88:97:C9:EE:FC -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Staat der Nederlanden Root CA - G3" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\132\061\013\060\011\006\003\125\004\006\023\002\116\114\061 -\036\060\034\006\003\125\004\012\014\025\123\164\141\141\164\040 -\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061 -\053\060\051\006\003\125\004\003\014\042\123\164\141\141\164\040 -\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\040 -\122\157\157\164\040\103\101\040\055\040\107\063 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\132\061\013\060\011\006\003\125\004\006\023\002\116\114\061 -\036\060\034\006\003\125\004\012\014\025\123\164\141\141\164\040 -\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061 -\053\060\051\006\003\125\004\003\014\042\123\164\141\141\164\040 -\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\040 -\122\157\157\164\040\103\101\040\055\040\107\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\004\000\230\242\071 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\164\060\202\003\134\240\003\002\001\002\002\004\000 -\230\242\071\060\015\006\011\052\206\110\206\367\015\001\001\013 -\005\000\060\132\061\013\060\011\006\003\125\004\006\023\002\116 -\114\061\036\060\034\006\003\125\004\012\014\025\123\164\141\141 -\164\040\144\145\162\040\116\145\144\145\162\154\141\156\144\145 -\156\061\053\060\051\006\003\125\004\003\014\042\123\164\141\141 -\164\040\144\145\162\040\116\145\144\145\162\154\141\156\144\145 -\156\040\122\157\157\164\040\103\101\040\055\040\107\063\060\036 -\027\015\061\063\061\061\061\064\061\061\062\070\064\062\132\027 -\015\062\070\061\061\061\063\062\063\060\060\060\060\132\060\132 -\061\013\060\011\006\003\125\004\006\023\002\116\114\061\036\060 -\034\006\003\125\004\012\014\025\123\164\141\141\164\040\144\145 -\162\040\116\145\144\145\162\154\141\156\144\145\156\061\053\060 -\051\006\003\125\004\003\014\042\123\164\141\141\164\040\144\145 -\162\040\116\145\144\145\162\154\141\156\144\145\156\040\122\157 -\157\164\040\103\101\040\055\040\107\063\060\202\002\042\060\015 -\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\002 -\017\000\060\202\002\012\002\202\002\001\000\276\062\242\124\017 -\160\373\054\134\131\353\154\304\244\121\350\205\052\263\314\112 -\064\362\260\137\363\016\307\034\075\123\036\210\010\150\330\157 -\075\255\302\236\314\202\147\007\047\207\150\161\072\237\165\226 -\042\106\005\260\355\255\307\133\236\052\336\234\374\072\306\225 -\247\365\027\147\030\347\057\111\010\014\134\317\346\314\064\355 -\170\373\120\261\334\153\062\360\242\376\266\074\344\354\132\227 -\307\077\036\160\010\060\240\334\305\263\155\157\320\202\162\021 -\253\322\201\150\131\202\027\267\170\222\140\372\314\336\077\204 -\353\215\070\063\220\012\162\043\372\065\314\046\161\061\321\162 -\050\222\331\133\043\155\146\265\155\007\102\353\246\063\316\222 -\333\300\366\154\143\170\315\312\116\075\265\345\122\233\361\276 -\073\346\124\140\260\146\036\011\253\007\376\124\211\021\102\321 -\367\044\272\140\170\032\230\367\311\021\375\026\301\065\032\124 -\165\357\103\323\345\256\116\316\347\173\303\306\116\141\121\113 -\253\232\105\113\241\037\101\275\110\123\025\161\144\013\206\263 -\345\056\276\316\244\033\301\051\204\242\265\313\010\043\166\103 -\042\044\037\027\004\324\156\234\306\374\177\053\146\032\354\212 -\345\326\317\115\365\143\011\267\025\071\326\173\254\353\343\174 -\351\116\374\165\102\310\355\130\225\014\006\102\242\234\367\344 -\160\263\337\162\157\132\067\100\211\330\205\244\327\361\013\336 -\103\031\324\112\130\054\214\212\071\236\277\204\207\361\026\073 -\066\014\351\323\264\312\154\031\101\122\011\241\035\260\152\277 -\202\357\160\121\041\062\334\005\166\214\313\367\144\344\003\120 -\257\214\221\147\253\305\362\356\130\330\336\276\367\347\061\317 -\154\311\073\161\301\325\210\265\145\274\300\350\027\027\007\022 -\265\134\322\253\040\223\264\346\202\203\160\066\305\315\243\215 -\255\213\354\243\301\103\207\346\103\342\064\276\225\213\065\355 -\007\071\332\250\035\172\237\066\236\022\260\014\145\022\220\025 -\140\331\046\100\104\343\126\140\245\020\324\152\074\375\101\334 -\016\132\107\266\357\227\141\165\117\331\376\307\262\035\324\355 -\135\111\263\251\152\313\146\204\023\325\134\240\334\337\156\167 -\006\321\161\165\310\127\157\257\017\167\133\002\003\001\000\001 -\243\102\060\100\060\017\006\003\125\035\023\001\001\377\004\005 -\060\003\001\001\377\060\016\006\003\125\035\017\001\001\377\004 -\004\003\002\001\006\060\035\006\003\125\035\016\004\026\004\024 -\124\255\372\307\222\127\256\312\065\234\056\022\373\344\272\135 -\040\334\224\127\060\015\006\011\052\206\110\206\367\015\001\001 -\013\005\000\003\202\002\001\000\060\231\235\005\062\310\136\016 -\073\230\001\072\212\244\347\007\367\172\370\347\232\337\120\103 -\123\227\052\075\312\074\107\230\056\341\025\173\361\222\363\141 -\332\220\045\026\145\300\237\124\135\016\003\073\133\167\002\234 -\204\266\015\230\137\064\335\073\143\302\303\050\201\302\234\051 -\056\051\342\310\303\001\362\063\352\052\252\314\011\010\367\145 -\147\306\315\337\323\266\053\247\275\314\321\016\160\137\270\043 -\321\313\221\116\012\364\310\172\345\331\143\066\301\324\337\374 -\042\227\367\140\135\352\051\057\130\262\275\130\275\215\226\117 -\020\165\277\110\173\075\121\207\241\074\164\042\302\374\007\177 -\200\334\304\254\376\152\301\160\060\260\351\216\151\342\054\151 -\201\224\011\272\335\376\115\300\203\214\224\130\300\106\040\257 -\234\037\002\370\065\125\111\057\106\324\300\360\240\226\002\017 -\063\305\161\363\236\043\175\224\267\375\072\323\011\203\006\041 -\375\140\075\256\062\300\322\356\215\246\360\347\264\202\174\012 -\314\160\311\171\200\370\376\114\367\065\204\031\212\061\373\012 -\331\327\177\233\360\242\232\153\303\005\112\355\101\140\024\060 -\321\252\021\102\156\323\043\002\004\013\306\145\335\335\122\167 -\332\201\153\262\250\372\001\070\271\226\352\052\154\147\227\211 -\224\236\274\341\124\325\344\152\170\357\112\275\053\232\075\100 -\176\306\300\165\322\156\373\150\060\354\354\213\235\371\111\065 -\232\032\054\331\263\225\071\325\036\222\367\246\271\145\057\345 -\075\155\072\110\114\010\334\344\050\022\050\276\175\065\134\352 -\340\026\176\023\033\152\327\076\327\236\374\055\165\262\301\024 -\325\043\003\333\133\157\013\076\170\057\015\336\063\215\026\267 -\110\347\203\232\201\017\173\301\103\115\125\004\027\070\112\121 -\325\131\242\211\164\323\237\276\036\113\327\306\155\267\210\044 -\157\140\221\244\202\205\133\126\101\274\320\104\253\152\023\276 -\321\054\130\267\022\063\130\262\067\143\334\023\365\224\035\077 -\100\121\365\117\365\072\355\310\305\353\302\036\035\026\225\172 -\307\176\102\161\223\156\113\025\267\060\337\252\355\127\205\110 -\254\035\152\335\071\151\344\341\171\170\276\316\005\277\241\014 -\367\200\173\041\147\047\060\131 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "Staat der Nederlanden Root CA - G3" -# Issuer: CN=Staat der Nederlanden Root CA - G3,O=Staat der Nederlanden,C=NL -# Serial Number: 10003001 (0x98a239) -# Subject: CN=Staat der Nederlanden Root CA - G3,O=Staat der Nederlanden,C=NL -# Not Valid Before: Thu Nov 14 11:28:42 2013 -# Not Valid After : Mon Nov 13 23:00:00 2028 -# Fingerprint (SHA-256): 3C:4F:B0:B9:5A:B8:B3:00:32:F4:32:B8:6F:53:5F:E1:72:C1:85:D0:FD:39:86:58:37:CF:36:18:7F:A6:F4:28 -# Fingerprint (SHA1): D8:EB:6B:41:51:92:59:E0:F3:E7:85:00:C0:3D:B6:88:97:C9:EE:FC -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Staat der Nederlanden Root CA - G3" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\330\353\153\101\121\222\131\340\363\347\205\000\300\075\266\210 -\227\311\356\374 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\013\106\147\007\333\020\057\031\214\065\120\140\321\013\364\067 -END -CKA_ISSUER MULTILINE_OCTAL -\060\132\061\013\060\011\006\003\125\004\006\023\002\116\114\061 -\036\060\034\006\003\125\004\012\014\025\123\164\141\141\164\040 -\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061 -\053\060\051\006\003\125\004\003\014\042\123\164\141\141\164\040 -\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\040 -\122\157\157\164\040\103\101\040\055\040\107\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\004\000\230\242\071 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Staat der Nederlanden EV Root CA" -# -# Issuer: CN=Staat der Nederlanden EV Root CA,O=Staat der Nederlanden,C=NL -# Serial Number: 10000013 (0x98968d) -# Subject: CN=Staat der Nederlanden EV Root CA,O=Staat der Nederlanden,C=NL -# Not Valid Before: Wed Dec 08 11:19:29 2010 -# Not Valid After : Thu Dec 08 11:10:28 2022 -# Fingerprint (SHA-256): 4D:24:91:41:4C:FE:95:67:46:EC:4C:EF:A6:CF:6F:72:E2:8A:13:29:43:2F:9D:8A:90:7A:C4:CB:5D:AD:C1:5A -# Fingerprint (SHA1): 76:E2:7E:C1:4F:DB:82:C1:C0:A6:75:B5:05:BE:3D:29:B4:ED:DB:BB -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Staat der Nederlanden EV Root CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\130\061\013\060\011\006\003\125\004\006\023\002\116\114\061 -\036\060\034\006\003\125\004\012\014\025\123\164\141\141\164\040 -\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061 -\051\060\047\006\003\125\004\003\014\040\123\164\141\141\164\040 -\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\040 -\105\126\040\122\157\157\164\040\103\101 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\130\061\013\060\011\006\003\125\004\006\023\002\116\114\061 -\036\060\034\006\003\125\004\012\014\025\123\164\141\141\164\040 -\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061 -\051\060\047\006\003\125\004\003\014\040\123\164\141\141\164\040 -\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\040 -\105\126\040\122\157\157\164\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\004\000\230\226\215 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\160\060\202\003\130\240\003\002\001\002\002\004\000 -\230\226\215\060\015\006\011\052\206\110\206\367\015\001\001\013 -\005\000\060\130\061\013\060\011\006\003\125\004\006\023\002\116 -\114\061\036\060\034\006\003\125\004\012\014\025\123\164\141\141 -\164\040\144\145\162\040\116\145\144\145\162\154\141\156\144\145 -\156\061\051\060\047\006\003\125\004\003\014\040\123\164\141\141 -\164\040\144\145\162\040\116\145\144\145\162\154\141\156\144\145 -\156\040\105\126\040\122\157\157\164\040\103\101\060\036\027\015 -\061\060\061\062\060\070\061\061\061\071\062\071\132\027\015\062 -\062\061\062\060\070\061\061\061\060\062\070\132\060\130\061\013 -\060\011\006\003\125\004\006\023\002\116\114\061\036\060\034\006 -\003\125\004\012\014\025\123\164\141\141\164\040\144\145\162\040 -\116\145\144\145\162\154\141\156\144\145\156\061\051\060\047\006 -\003\125\004\003\014\040\123\164\141\141\164\040\144\145\162\040 -\116\145\144\145\162\154\141\156\144\145\156\040\105\126\040\122 -\157\157\164\040\103\101\060\202\002\042\060\015\006\011\052\206 -\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202 -\002\012\002\202\002\001\000\343\307\176\211\371\044\113\072\322 -\063\203\065\054\151\354\334\011\244\343\121\250\045\053\171\270 -\010\075\340\221\272\204\205\306\205\244\312\346\311\056\123\244 -\311\044\036\375\125\146\161\135\054\305\140\150\004\267\331\302 -\122\046\070\210\244\326\073\100\246\302\315\077\315\230\223\263 -\124\024\130\226\125\325\120\376\206\255\244\143\177\134\207\366 -\216\346\047\222\147\027\222\002\003\054\334\326\146\164\355\335 -\147\377\301\141\215\143\117\017\233\155\027\060\046\357\253\322 -\037\020\240\371\305\177\026\151\201\003\107\355\036\150\215\162 -\241\115\262\046\306\272\154\137\155\326\257\321\261\023\216\251 -\255\363\136\151\165\046\030\076\101\053\041\177\356\213\135\007 -\006\235\103\304\051\012\053\374\052\076\206\313\074\203\072\371 -\311\015\332\305\231\342\274\170\101\063\166\341\277\057\135\345 -\244\230\120\014\025\335\340\372\234\177\070\150\320\262\246\172 -\247\321\061\275\176\212\130\047\103\263\272\063\221\323\247\230 -\025\134\232\346\323\017\165\331\374\101\230\227\076\252\045\333 -\217\222\056\260\173\014\137\361\143\251\067\371\233\165\151\114 -\050\046\045\332\325\362\022\160\105\125\343\337\163\136\067\365 -\041\154\220\216\065\132\311\323\043\353\323\300\276\170\254\102 -\050\130\146\245\106\155\160\002\327\020\371\113\124\374\135\206 -\112\207\317\177\312\105\254\021\132\265\040\121\215\057\210\107 -\227\071\300\317\272\300\102\001\100\231\110\041\013\153\247\322 -\375\226\325\321\276\106\235\111\340\013\246\240\042\116\070\320 -\301\074\060\274\160\217\054\165\314\320\305\214\121\073\075\224 -\010\144\046\141\175\271\303\145\217\024\234\041\320\252\375\027 -\162\003\217\275\233\214\346\136\123\236\271\235\357\202\273\341 -\274\342\162\101\133\041\224\323\105\067\224\321\337\011\071\135 -\347\043\252\232\035\312\155\250\012\206\205\212\202\276\102\007 -\326\362\070\202\163\332\207\133\345\074\323\236\076\247\073\236 -\364\003\263\371\361\175\023\164\002\377\273\241\345\372\000\171 -\034\246\146\101\210\134\140\127\246\056\011\304\272\375\232\317 -\247\037\100\303\273\314\132\012\125\113\073\070\166\121\270\143 -\213\204\224\026\346\126\363\002\003\001\000\001\243\102\060\100 -\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001 -\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001 -\006\060\035\006\003\125\035\016\004\026\004\024\376\253\000\220 -\230\236\044\374\251\314\032\212\373\047\270\277\060\156\250\073 -\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003 -\202\002\001\000\317\167\054\156\126\276\116\263\266\204\000\224 -\253\107\311\015\322\166\307\206\237\035\007\323\266\264\273\010 -\170\257\151\322\013\111\336\063\305\254\255\302\210\002\175\006 -\267\065\002\301\140\311\277\304\350\224\336\324\323\251\023\045 -\132\376\156\242\256\175\005\334\175\363\154\360\176\246\215\356 -\331\327\316\130\027\350\251\051\256\163\110\207\347\233\312\156 -\051\241\144\137\031\023\367\256\006\020\377\121\306\233\115\125 -\045\117\223\231\020\001\123\165\361\023\316\307\246\101\101\322 -\277\210\245\177\105\374\254\270\245\265\063\014\202\304\373\007 -\366\152\345\045\204\137\006\312\301\206\071\021\333\130\315\167 -\073\054\302\114\017\136\232\343\360\253\076\141\033\120\044\302 -\300\364\361\031\360\021\051\266\245\030\002\233\327\143\114\160 -\214\107\243\003\103\134\271\135\106\240\015\157\377\131\216\276 -\335\237\162\303\133\053\337\214\133\316\345\014\106\154\222\262 -\012\243\114\124\102\030\025\022\030\275\332\374\272\164\156\377 -\301\266\240\144\330\251\137\125\256\237\134\152\166\226\330\163 -\147\207\373\115\177\134\356\151\312\163\020\373\212\251\375\236 -\275\066\070\111\111\207\364\016\024\360\351\207\270\077\247\117 -\172\132\216\171\324\223\344\273\150\122\204\254\154\351\363\230 -\160\125\162\062\371\064\253\053\111\265\315\040\142\344\072\172 -\147\143\253\226\334\155\256\227\354\374\237\166\126\210\056\146 -\317\133\266\311\244\260\327\005\272\341\047\057\223\273\046\052 -\242\223\260\033\363\216\276\035\100\243\271\066\217\076\202\032 -\032\136\210\352\120\370\131\342\203\106\051\013\343\104\134\341 -\225\266\151\220\232\024\157\227\256\201\317\150\357\231\232\276 -\265\347\341\177\370\372\023\107\026\114\314\155\010\100\347\213 -\170\157\120\202\104\120\077\146\006\212\253\103\204\126\112\017 -\040\055\206\016\365\322\333\322\172\212\113\315\245\350\116\361 -\136\046\045\001\131\043\240\176\322\366\176\041\127\327\047\274 -\025\127\114\244\106\301\340\203\036\014\114\115\037\117\006\031 -\342\371\250\364\072\202\241\262\171\103\171\326\255\157\172\047 -\220\003\244\352\044\207\077\331\275\331\351\362\137\120\111\034 -\356\354\327\056 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "Staat der Nederlanden EV Root CA" -# Issuer: CN=Staat der Nederlanden EV Root CA,O=Staat der Nederlanden,C=NL -# Serial Number: 10000013 (0x98968d) -# Subject: CN=Staat der Nederlanden EV Root CA,O=Staat der Nederlanden,C=NL -# Not Valid Before: Wed Dec 08 11:19:29 2010 -# Not Valid After : Thu Dec 08 11:10:28 2022 -# Fingerprint (SHA-256): 4D:24:91:41:4C:FE:95:67:46:EC:4C:EF:A6:CF:6F:72:E2:8A:13:29:43:2F:9D:8A:90:7A:C4:CB:5D:AD:C1:5A -# Fingerprint (SHA1): 76:E2:7E:C1:4F:DB:82:C1:C0:A6:75:B5:05:BE:3D:29:B4:ED:DB:BB -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Staat der Nederlanden EV Root CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\166\342\176\301\117\333\202\301\300\246\165\265\005\276\075\051 -\264\355\333\273 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\374\006\257\173\350\032\361\232\264\350\322\160\037\300\365\272 -END -CKA_ISSUER MULTILINE_OCTAL -\060\130\061\013\060\011\006\003\125\004\006\023\002\116\114\061 -\036\060\034\006\003\125\004\012\014\025\123\164\141\141\164\040 -\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061 -\051\060\047\006\003\125\004\003\014\040\123\164\141\141\164\040 -\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\040 -\105\126\040\122\157\157\164\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\004\000\230\226\215 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "IdenTrust Commercial Root CA 1" -# -# Issuer: CN=IdenTrust Commercial Root CA 1,O=IdenTrust,C=US -# Serial Number:0a:01:42:80:00:00:01:45:23:c8:44:b5:00:00:00:02 -# Subject: CN=IdenTrust Commercial Root CA 1,O=IdenTrust,C=US -# Not Valid Before: Thu Jan 16 18:12:23 2014 -# Not Valid After : Mon Jan 16 18:12:23 2034 -# Fingerprint (SHA-256): 5D:56:49:9B:E4:D2:E0:8B:CF:CA:D0:8A:3E:38:72:3D:50:50:3B:DE:70:69:48:E4:2F:55:60:30:19:E5:28:AE -# Fingerprint (SHA1): DF:71:7E:AA:4A:D9:4E:C9:55:84:99:60:2D:48:DE:5F:BC:F0:3A:25 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "IdenTrust Commercial Root CA 1" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\112\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\022\060\020\006\003\125\004\012\023\011\111\144\145\156\124\162 -\165\163\164\061\047\060\045\006\003\125\004\003\023\036\111\144 -\145\156\124\162\165\163\164\040\103\157\155\155\145\162\143\151 -\141\154\040\122\157\157\164\040\103\101\040\061 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\112\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\022\060\020\006\003\125\004\012\023\011\111\144\145\156\124\162 -\165\163\164\061\047\060\045\006\003\125\004\003\023\036\111\144 -\145\156\124\162\165\163\164\040\103\157\155\155\145\162\143\151 -\141\154\040\122\157\157\164\040\103\101\040\061 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\012\001\102\200\000\000\001\105\043\310\104\265\000\000 -\000\002 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\140\060\202\003\110\240\003\002\001\002\002\020\012 -\001\102\200\000\000\001\105\043\310\104\265\000\000\000\002\060 -\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\112 -\061\013\060\011\006\003\125\004\006\023\002\125\123\061\022\060 -\020\006\003\125\004\012\023\011\111\144\145\156\124\162\165\163 -\164\061\047\060\045\006\003\125\004\003\023\036\111\144\145\156 -\124\162\165\163\164\040\103\157\155\155\145\162\143\151\141\154 -\040\122\157\157\164\040\103\101\040\061\060\036\027\015\061\064 -\060\061\061\066\061\070\061\062\062\063\132\027\015\063\064\060 -\061\061\066\061\070\061\062\062\063\132\060\112\061\013\060\011 -\006\003\125\004\006\023\002\125\123\061\022\060\020\006\003\125 -\004\012\023\011\111\144\145\156\124\162\165\163\164\061\047\060 -\045\006\003\125\004\003\023\036\111\144\145\156\124\162\165\163 -\164\040\103\157\155\155\145\162\143\151\141\154\040\122\157\157 -\164\040\103\101\040\061\060\202\002\042\060\015\006\011\052\206 -\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202 -\002\012\002\202\002\001\000\247\120\031\336\077\231\075\324\063 -\106\361\157\121\141\202\262\251\117\217\147\211\135\204\331\123 -\335\014\050\331\327\360\377\256\225\103\162\231\371\265\135\174 -\212\301\102\341\061\120\164\321\201\015\174\315\233\041\253\103 -\342\254\255\136\206\156\363\011\212\037\132\062\275\242\353\224 -\371\350\134\012\354\377\230\322\257\161\263\264\123\237\116\207 -\357\222\274\275\354\117\062\060\210\113\027\136\127\304\123\302 -\366\002\227\215\331\142\053\277\044\037\142\215\337\303\270\051 -\113\111\170\074\223\140\210\042\374\231\332\066\310\302\242\324 -\054\124\000\147\065\156\163\277\002\130\360\244\335\345\260\242 -\046\172\312\340\066\245\031\026\365\375\267\357\256\077\100\365 -\155\132\004\375\316\064\312\044\334\164\043\033\135\063\023\022 -\135\304\001\045\366\060\335\002\135\237\340\325\107\275\264\353 -\033\241\273\111\111\330\237\133\002\363\212\344\044\220\344\142 -\117\117\301\257\213\016\164\027\250\321\162\210\152\172\001\111 -\314\264\106\171\306\027\261\332\230\036\007\131\372\165\041\205 -\145\335\220\126\316\373\253\245\140\235\304\235\371\122\260\213 -\275\207\371\217\053\043\012\043\166\073\367\063\341\311\000\363 -\151\371\113\242\340\116\274\176\223\071\204\007\367\104\160\176 -\376\007\132\345\261\254\321\030\314\362\065\345\111\111\010\312 -\126\311\075\373\017\030\175\213\073\301\023\302\115\217\311\117 -\016\067\351\037\241\016\152\337\142\056\313\065\006\121\171\054 -\310\045\070\364\372\113\247\211\134\234\322\343\015\071\206\112 -\164\174\325\131\207\302\077\116\014\134\122\364\075\367\122\202 -\361\352\243\254\375\111\064\032\050\363\101\210\072\023\356\350 -\336\377\231\035\137\272\313\350\036\362\271\120\140\300\061\323 -\163\345\357\276\240\355\063\013\164\276\040\040\304\147\154\360 -\010\003\172\125\200\177\106\116\226\247\364\036\076\341\366\330 -\011\341\063\144\053\143\327\062\136\237\371\300\173\017\170\157 -\227\274\223\232\371\234\022\220\170\172\200\207\025\327\162\164 -\234\125\164\170\261\272\341\156\160\004\272\117\240\272\150\303 -\173\377\061\360\163\075\075\224\052\261\013\101\016\240\376\115 -\210\145\153\171\063\264\327\002\003\001\000\001\243\102\060\100 -\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006 -\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001 -\377\060\035\006\003\125\035\016\004\026\004\024\355\104\031\300 -\323\360\006\213\356\244\173\276\102\347\046\124\310\216\066\166 -\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003 -\202\002\001\000\015\256\220\062\366\246\113\174\104\166\031\141 -\036\047\050\315\136\124\357\045\274\343\010\220\371\051\327\256 -\150\010\341\224\000\130\357\056\056\176\123\122\214\266\134\007 -\352\210\272\231\213\120\224\327\202\200\337\141\011\000\223\255 -\015\024\346\316\301\362\067\224\170\260\137\234\263\242\163\270 -\217\005\223\070\315\215\076\260\270\373\300\317\261\362\354\055 -\055\033\314\354\252\232\263\252\140\202\033\055\073\303\204\075 -\127\212\226\036\234\165\270\323\060\315\140\010\203\220\323\216 -\124\361\115\146\300\135\164\003\100\243\356\205\176\302\037\167 -\234\006\350\301\247\030\135\122\225\355\311\335\045\236\155\372 -\251\355\243\072\064\320\131\173\332\355\120\363\065\277\355\353 -\024\115\061\307\140\364\332\361\207\234\342\110\342\306\305\067 -\373\006\020\372\165\131\146\061\107\051\332\166\232\034\351\202 -\256\357\232\271\121\367\210\043\232\151\225\142\074\345\125\200 -\066\327\124\002\377\361\271\135\316\324\043\157\330\105\204\112 -\133\145\357\211\014\335\024\247\040\313\030\245\045\264\015\371 -\001\360\242\322\364\000\310\164\216\241\052\110\216\145\333\023 -\304\342\045\027\175\353\276\207\133\027\040\124\121\223\112\123 -\003\013\354\135\312\063\355\142\375\105\307\057\133\334\130\240 -\200\071\346\372\327\376\023\024\246\355\075\224\112\102\164\324 -\303\167\131\163\315\217\106\276\125\070\357\372\350\221\062\352 -\227\130\004\042\336\070\303\314\274\155\311\063\072\152\012\151 -\077\240\310\352\162\217\214\143\206\043\275\155\074\226\236\225 -\340\111\114\252\242\271\052\033\234\066\201\170\355\303\350\106 -\342\046\131\104\165\036\331\165\211\121\315\020\204\235\141\140 -\313\135\371\227\042\115\216\230\346\343\177\366\133\273\256\315 -\312\112\201\153\136\013\363\121\341\164\053\351\176\047\247\331 -\231\111\116\370\245\200\333\045\017\034\143\142\212\311\063\147 -\153\074\020\203\306\255\336\250\315\026\216\215\360\007\067\161 -\237\362\253\374\101\365\301\213\354\000\067\135\011\345\116\200 -\357\372\261\134\070\006\245\033\112\341\334\070\055\074\334\253 -\037\220\032\325\112\234\356\321\160\154\314\356\364\127\370\030 -\272\204\156\207 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "IdenTrust Commercial Root CA 1" -# Issuer: CN=IdenTrust Commercial Root CA 1,O=IdenTrust,C=US -# Serial Number:0a:01:42:80:00:00:01:45:23:c8:44:b5:00:00:00:02 -# Subject: CN=IdenTrust Commercial Root CA 1,O=IdenTrust,C=US -# Not Valid Before: Thu Jan 16 18:12:23 2014 -# Not Valid After : Mon Jan 16 18:12:23 2034 -# Fingerprint (SHA-256): 5D:56:49:9B:E4:D2:E0:8B:CF:CA:D0:8A:3E:38:72:3D:50:50:3B:DE:70:69:48:E4:2F:55:60:30:19:E5:28:AE -# Fingerprint (SHA1): DF:71:7E:AA:4A:D9:4E:C9:55:84:99:60:2D:48:DE:5F:BC:F0:3A:25 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "IdenTrust Commercial Root CA 1" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\337\161\176\252\112\331\116\311\125\204\231\140\055\110\336\137 -\274\360\072\045 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\263\076\167\163\165\356\240\323\343\176\111\143\111\131\273\307 -END -CKA_ISSUER MULTILINE_OCTAL -\060\112\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\022\060\020\006\003\125\004\012\023\011\111\144\145\156\124\162 -\165\163\164\061\047\060\045\006\003\125\004\003\023\036\111\144 -\145\156\124\162\165\163\164\040\103\157\155\155\145\162\143\151 -\141\154\040\122\157\157\164\040\103\101\040\061 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\012\001\102\200\000\000\001\105\043\310\104\265\000\000 -\000\002 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "IdenTrust Public Sector Root CA 1" -# -# Issuer: CN=IdenTrust Public Sector Root CA 1,O=IdenTrust,C=US -# Serial Number:0a:01:42:80:00:00:01:45:23:cf:46:7c:00:00:00:02 -# Subject: CN=IdenTrust Public Sector Root CA 1,O=IdenTrust,C=US -# Not Valid Before: Thu Jan 16 17:53:32 2014 -# Not Valid After : Mon Jan 16 17:53:32 2034 -# Fingerprint (SHA-256): 30:D0:89:5A:9A:44:8A:26:20:91:63:55:22:D1:F5:20:10:B5:86:7A:CA:E1:2C:78:EF:95:8F:D4:F4:38:9F:2F -# Fingerprint (SHA1): BA:29:41:60:77:98:3F:F4:F3:EF:F2:31:05:3B:2E:EA:6D:4D:45:FD -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "IdenTrust Public Sector Root CA 1" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\115\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\022\060\020\006\003\125\004\012\023\011\111\144\145\156\124\162 -\165\163\164\061\052\060\050\006\003\125\004\003\023\041\111\144 -\145\156\124\162\165\163\164\040\120\165\142\154\151\143\040\123 -\145\143\164\157\162\040\122\157\157\164\040\103\101\040\061 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\115\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\022\060\020\006\003\125\004\012\023\011\111\144\145\156\124\162 -\165\163\164\061\052\060\050\006\003\125\004\003\023\041\111\144 -\145\156\124\162\165\163\164\040\120\165\142\154\151\143\040\123 -\145\143\164\157\162\040\122\157\157\164\040\103\101\040\061 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\012\001\102\200\000\000\001\105\043\317\106\174\000\000 -\000\002 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\146\060\202\003\116\240\003\002\001\002\002\020\012 -\001\102\200\000\000\001\105\043\317\106\174\000\000\000\002\060 -\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\115 -\061\013\060\011\006\003\125\004\006\023\002\125\123\061\022\060 -\020\006\003\125\004\012\023\011\111\144\145\156\124\162\165\163 -\164\061\052\060\050\006\003\125\004\003\023\041\111\144\145\156 -\124\162\165\163\164\040\120\165\142\154\151\143\040\123\145\143 -\164\157\162\040\122\157\157\164\040\103\101\040\061\060\036\027 -\015\061\064\060\061\061\066\061\067\065\063\063\062\132\027\015 -\063\064\060\061\061\066\061\067\065\063\063\062\132\060\115\061 -\013\060\011\006\003\125\004\006\023\002\125\123\061\022\060\020 -\006\003\125\004\012\023\011\111\144\145\156\124\162\165\163\164 -\061\052\060\050\006\003\125\004\003\023\041\111\144\145\156\124 -\162\165\163\164\040\120\165\142\154\151\143\040\123\145\143\164 -\157\162\040\122\157\157\164\040\103\101\040\061\060\202\002\042 -\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003 -\202\002\017\000\060\202\002\012\002\202\002\001\000\266\042\224 -\374\244\110\257\350\107\153\012\373\047\166\344\362\077\212\073 -\172\112\054\061\052\214\215\260\251\303\061\153\250\167\166\204 -\046\266\254\201\102\015\010\353\125\130\273\172\370\274\145\175 -\362\240\155\213\250\107\351\142\166\036\021\356\010\024\321\262 -\104\026\364\352\320\372\036\057\136\333\313\163\101\256\274\000 -\260\112\053\100\262\254\341\073\113\302\055\235\344\241\233\354 -\032\072\036\360\010\263\320\344\044\065\007\237\234\264\311\122 -\155\333\007\312\217\265\133\360\203\363\117\307\055\245\310\255 -\313\225\040\244\061\050\127\130\132\344\215\033\232\253\236\015 -\014\362\012\063\071\042\071\012\227\056\363\123\167\271\104\105 -\375\204\313\066\040\201\131\055\232\157\155\110\110\141\312\114 -\337\123\321\257\122\274\104\237\253\057\153\203\162\357\165\200 -\332\006\063\033\135\310\332\143\306\115\315\254\146\061\315\321 -\336\076\207\020\066\341\271\244\172\357\140\120\262\313\312\246 -\126\340\067\257\253\064\023\071\045\350\071\146\344\230\172\252 -\022\230\234\131\146\206\076\255\361\260\312\076\006\017\173\360 -\021\113\067\240\104\155\173\313\250\214\161\364\325\265\221\066 -\314\360\025\306\053\336\121\027\261\227\114\120\075\261\225\131 -\174\005\175\055\041\325\000\277\001\147\242\136\173\246\134\362 -\367\042\361\220\015\223\333\252\104\121\146\314\175\166\003\353 -\152\250\052\070\031\227\166\015\153\212\141\371\274\366\356\166 -\375\160\053\335\051\074\370\012\036\133\102\034\213\126\057\125 -\033\034\241\056\265\307\026\346\370\252\074\222\216\151\266\001 -\301\265\206\235\211\017\013\070\224\124\350\352\334\236\075\045 -\274\123\046\355\325\253\071\252\305\100\114\124\253\262\264\331 -\331\370\327\162\333\034\274\155\275\145\137\357\210\065\052\146 -\057\356\366\263\145\360\063\215\174\230\101\151\106\017\103\034 -\151\372\233\265\320\141\152\315\312\113\331\114\220\106\253\025 -\131\241\107\124\051\056\203\050\137\034\302\242\253\162\027\000 -\006\216\105\354\213\342\063\075\177\332\031\104\344\142\162\303 -\337\042\306\362\126\324\335\137\225\162\355\155\137\367\110\003 -\133\375\305\052\240\366\163\043\204\020\033\001\347\002\003\001 -\000\001\243\102\060\100\060\016\006\003\125\035\017\001\001\377 -\004\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377 -\004\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026 -\004\024\343\161\340\236\330\247\102\331\333\161\221\153\224\223 -\353\303\243\321\024\243\060\015\006\011\052\206\110\206\367\015 -\001\001\013\005\000\003\202\002\001\000\107\372\335\012\260\021 -\221\070\255\115\135\367\345\016\227\124\031\202\110\207\124\214 -\252\144\231\330\132\376\210\001\305\130\245\231\261\043\124\043 -\267\152\035\040\127\345\001\142\101\027\323\011\333\165\313\156 -\124\220\165\376\032\237\201\012\302\335\327\367\011\320\133\162 -\025\344\036\011\152\075\063\363\041\232\346\025\176\255\121\325 -\015\020\355\175\102\300\217\356\300\232\010\325\101\326\134\016 -\041\151\156\200\141\016\025\300\270\317\305\111\022\122\314\276 -\072\314\324\056\070\005\336\065\375\037\157\270\200\150\230\075 -\115\240\312\100\145\322\163\174\365\213\331\012\225\077\330\077 -\043\155\032\321\052\044\031\331\205\263\027\357\170\156\251\130 -\321\043\323\307\023\355\162\045\177\135\261\163\160\320\177\006 -\227\011\204\051\200\141\035\372\136\377\163\254\240\343\211\270 -\034\161\025\306\336\061\177\022\334\341\155\233\257\347\350\237 -\165\170\114\253\106\073\232\316\277\005\030\135\115\025\074\026 -\232\031\120\004\232\262\232\157\145\213\122\137\074\130\004\050 -\045\300\146\141\061\176\271\340\165\271\032\250\201\326\162\027 -\263\305\003\061\065\021\170\170\242\340\351\060\214\177\200\337 -\130\337\074\272\047\226\342\200\064\155\343\230\323\144\047\254 -\110\176\050\167\134\306\045\141\045\370\205\014\145\372\304\062 -\057\245\230\005\344\370\013\147\026\026\306\202\270\062\031\371 -\371\271\171\334\037\315\353\257\253\016\335\033\333\105\344\172 -\347\002\342\225\135\374\151\360\123\151\141\225\165\171\013\136 -\125\346\070\034\224\251\131\063\236\310\161\164\171\177\121\211 -\266\310\152\270\060\310\152\070\303\156\236\341\067\026\352\005 -\142\114\133\022\107\355\247\264\263\130\126\307\111\363\177\022 -\150\011\061\161\360\155\370\116\107\373\326\205\356\305\130\100 -\031\244\035\247\371\113\103\067\334\150\132\117\317\353\302\144 -\164\336\264\025\331\364\124\124\032\057\034\327\227\161\124\220 -\216\331\040\235\123\053\177\253\217\342\352\060\274\120\067\357 -\361\107\265\175\174\054\004\354\150\235\264\111\104\020\364\162 -\113\034\144\347\374\346\153\220\335\151\175\151\375\000\126\245 -\267\254\266\255\267\312\076\001\357\234 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "IdenTrust Public Sector Root CA 1" -# Issuer: CN=IdenTrust Public Sector Root CA 1,O=IdenTrust,C=US -# Serial Number:0a:01:42:80:00:00:01:45:23:cf:46:7c:00:00:00:02 -# Subject: CN=IdenTrust Public Sector Root CA 1,O=IdenTrust,C=US -# Not Valid Before: Thu Jan 16 17:53:32 2014 -# Not Valid After : Mon Jan 16 17:53:32 2034 -# Fingerprint (SHA-256): 30:D0:89:5A:9A:44:8A:26:20:91:63:55:22:D1:F5:20:10:B5:86:7A:CA:E1:2C:78:EF:95:8F:D4:F4:38:9F:2F -# Fingerprint (SHA1): BA:29:41:60:77:98:3F:F4:F3:EF:F2:31:05:3B:2E:EA:6D:4D:45:FD -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "IdenTrust Public Sector Root CA 1" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\272\051\101\140\167\230\077\364\363\357\362\061\005\073\056\352 -\155\115\105\375 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\067\006\245\260\374\211\235\272\364\153\214\032\144\315\325\272 -END -CKA_ISSUER MULTILINE_OCTAL -\060\115\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\022\060\020\006\003\125\004\012\023\011\111\144\145\156\124\162 -\165\163\164\061\052\060\050\006\003\125\004\003\023\041\111\144 -\145\156\124\162\165\163\164\040\120\165\142\154\151\143\040\123 -\145\143\164\157\162\040\122\157\157\164\040\103\101\040\061 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\012\001\102\200\000\000\001\105\043\317\106\174\000\000 -\000\002 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Entrust Root Certification Authority - G2" -# -# Issuer: CN=Entrust Root Certification Authority - G2,OU="(c) 2009 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US -# Serial Number: 1246989352 (0x4a538c28) -# Subject: CN=Entrust Root Certification Authority - G2,OU="(c) 2009 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US -# Not Valid Before: Tue Jul 07 17:25:54 2009 -# Not Valid After : Sat Dec 07 17:55:54 2030 -# Fingerprint (SHA-256): 43:DF:57:74:B0:3E:7F:EF:5F:E4:0D:93:1A:7B:ED:F1:BB:2E:6B:42:73:8C:4E:6D:38:41:10:3D:3A:A7:F3:39 -# Fingerprint (SHA1): 8C:F4:27:FD:79:0C:3A:D1:66:06:8D:E8:1E:57:EF:BB:93:22:72:D4 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Entrust Root Certification Authority - G2" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\276\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165 -\163\164\054\040\111\156\143\056\061\050\060\046\006\003\125\004 -\013\023\037\123\145\145\040\167\167\167\056\145\156\164\162\165 -\163\164\056\156\145\164\057\154\145\147\141\154\055\164\145\162 -\155\163\061\071\060\067\006\003\125\004\013\023\060\050\143\051 -\040\062\060\060\071\040\105\156\164\162\165\163\164\054\040\111 -\156\143\056\040\055\040\146\157\162\040\141\165\164\150\157\162 -\151\172\145\144\040\165\163\145\040\157\156\154\171\061\062\060 -\060\006\003\125\004\003\023\051\105\156\164\162\165\163\164\040 -\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164\151 -\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040\107 -\062 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\276\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165 -\163\164\054\040\111\156\143\056\061\050\060\046\006\003\125\004 -\013\023\037\123\145\145\040\167\167\167\056\145\156\164\162\165 -\163\164\056\156\145\164\057\154\145\147\141\154\055\164\145\162 -\155\163\061\071\060\067\006\003\125\004\013\023\060\050\143\051 -\040\062\060\060\071\040\105\156\164\162\165\163\164\054\040\111 -\156\143\056\040\055\040\146\157\162\040\141\165\164\150\157\162 -\151\172\145\144\040\165\163\145\040\157\156\154\171\061\062\060 -\060\006\003\125\004\003\023\051\105\156\164\162\165\163\164\040 -\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164\151 -\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040\107 -\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\004\112\123\214\050 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\076\060\202\003\046\240\003\002\001\002\002\004\112 -\123\214\050\060\015\006\011\052\206\110\206\367\015\001\001\013 -\005\000\060\201\276\061\013\060\011\006\003\125\004\006\023\002 -\125\123\061\026\060\024\006\003\125\004\012\023\015\105\156\164 -\162\165\163\164\054\040\111\156\143\056\061\050\060\046\006\003 -\125\004\013\023\037\123\145\145\040\167\167\167\056\145\156\164 -\162\165\163\164\056\156\145\164\057\154\145\147\141\154\055\164 -\145\162\155\163\061\071\060\067\006\003\125\004\013\023\060\050 -\143\051\040\062\060\060\071\040\105\156\164\162\165\163\164\054 -\040\111\156\143\056\040\055\040\146\157\162\040\141\165\164\150 -\157\162\151\172\145\144\040\165\163\145\040\157\156\154\171\061 -\062\060\060\006\003\125\004\003\023\051\105\156\164\162\165\163 -\164\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141 -\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040\055 -\040\107\062\060\036\027\015\060\071\060\067\060\067\061\067\062 -\065\065\064\132\027\015\063\060\061\062\060\067\061\067\065\065 -\065\064\132\060\201\276\061\013\060\011\006\003\125\004\006\023 -\002\125\123\061\026\060\024\006\003\125\004\012\023\015\105\156 -\164\162\165\163\164\054\040\111\156\143\056\061\050\060\046\006 -\003\125\004\013\023\037\123\145\145\040\167\167\167\056\145\156 -\164\162\165\163\164\056\156\145\164\057\154\145\147\141\154\055 -\164\145\162\155\163\061\071\060\067\006\003\125\004\013\023\060 -\050\143\051\040\062\060\060\071\040\105\156\164\162\165\163\164 -\054\040\111\156\143\056\040\055\040\146\157\162\040\141\165\164 -\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154\171 -\061\062\060\060\006\003\125\004\003\023\051\105\156\164\162\165 -\163\164\040\122\157\157\164\040\103\145\162\164\151\146\151\143 -\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040 -\055\040\107\062\060\202\001\042\060\015\006\011\052\206\110\206 -\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012 -\002\202\001\001\000\272\204\266\162\333\236\014\153\342\231\351 -\060\001\247\166\352\062\270\225\101\032\311\332\141\116\130\162 -\317\376\366\202\171\277\163\141\006\012\245\047\330\263\137\323 -\105\116\034\162\326\116\062\362\162\212\017\367\203\031\320\152 -\200\200\000\105\036\260\307\347\232\277\022\127\047\034\243\150 -\057\012\207\275\152\153\016\136\145\363\034\167\325\324\205\215 -\160\041\264\263\062\347\213\242\325\206\071\002\261\270\322\107 -\316\344\311\111\304\073\247\336\373\124\175\127\276\360\350\156 -\302\171\262\072\013\125\342\120\230\026\062\023\134\057\170\126 -\301\302\224\263\362\132\344\047\232\237\044\327\306\354\320\233 -\045\202\343\314\302\304\105\305\214\227\172\006\153\052\021\237 -\251\012\156\110\073\157\333\324\021\031\102\367\217\007\277\365 -\123\137\234\076\364\027\054\346\151\254\116\062\114\142\167\352 -\267\350\345\273\064\274\031\213\256\234\121\347\267\176\265\123 -\261\063\042\345\155\317\160\074\032\372\342\233\147\266\203\364 -\215\245\257\142\114\115\340\130\254\144\064\022\003\370\266\215 -\224\143\044\244\161\002\003\001\000\001\243\102\060\100\060\016 -\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060\017 -\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060 -\035\006\003\125\035\016\004\026\004\024\152\162\046\172\320\036 -\357\175\347\073\151\121\324\154\215\237\220\022\146\253\060\015 -\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202\001 -\001\000\171\237\035\226\306\266\171\077\042\215\207\323\207\003 -\004\140\152\153\232\056\131\211\163\021\254\103\321\365\023\377 -\215\071\053\300\362\275\117\160\214\251\057\352\027\304\013\124 -\236\324\033\226\230\063\074\250\255\142\242\000\166\253\131\151 -\156\006\035\176\304\271\104\215\230\257\022\324\141\333\012\031 -\106\107\363\353\367\143\301\100\005\100\245\322\267\364\265\232 -\066\277\251\210\166\210\004\125\004\053\234\207\177\032\067\074 -\176\055\245\032\330\324\211\136\312\275\254\075\154\330\155\257 -\325\363\166\017\315\073\210\070\042\235\154\223\232\304\075\277 -\202\033\145\077\246\017\135\252\374\345\262\025\312\265\255\306 -\274\075\320\204\350\352\006\162\260\115\071\062\170\277\076\021 -\234\013\244\235\232\041\363\360\233\013\060\170\333\301\334\207 -\103\376\274\143\232\312\305\302\034\311\307\215\377\073\022\130 -\010\346\266\075\354\172\054\116\373\203\226\316\014\074\151\207 -\124\163\244\163\302\223\377\121\020\254\025\124\001\330\374\005 -\261\211\241\177\164\203\232\111\327\334\116\173\212\110\157\213 -\105\366 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "Entrust Root Certification Authority - G2" -# Issuer: CN=Entrust Root Certification Authority - G2,OU="(c) 2009 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US -# Serial Number: 1246989352 (0x4a538c28) -# Subject: CN=Entrust Root Certification Authority - G2,OU="(c) 2009 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US -# Not Valid Before: Tue Jul 07 17:25:54 2009 -# Not Valid After : Sat Dec 07 17:55:54 2030 -# Fingerprint (SHA-256): 43:DF:57:74:B0:3E:7F:EF:5F:E4:0D:93:1A:7B:ED:F1:BB:2E:6B:42:73:8C:4E:6D:38:41:10:3D:3A:A7:F3:39 -# Fingerprint (SHA1): 8C:F4:27:FD:79:0C:3A:D1:66:06:8D:E8:1E:57:EF:BB:93:22:72:D4 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Entrust Root Certification Authority - G2" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\214\364\047\375\171\014\072\321\146\006\215\350\036\127\357\273 -\223\042\162\324 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\113\342\311\221\226\145\014\364\016\132\223\222\240\012\376\262 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\276\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165 -\163\164\054\040\111\156\143\056\061\050\060\046\006\003\125\004 -\013\023\037\123\145\145\040\167\167\167\056\145\156\164\162\165 -\163\164\056\156\145\164\057\154\145\147\141\154\055\164\145\162 -\155\163\061\071\060\067\006\003\125\004\013\023\060\050\143\051 -\040\062\060\060\071\040\105\156\164\162\165\163\164\054\040\111 -\156\143\056\040\055\040\146\157\162\040\141\165\164\150\157\162 -\151\172\145\144\040\165\163\145\040\157\156\154\171\061\062\060 -\060\006\003\125\004\003\023\051\105\156\164\162\165\163\164\040 -\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164\151 -\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040\107 -\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\004\112\123\214\050 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Entrust Root Certification Authority - EC1" -# -# Issuer: CN=Entrust Root Certification Authority - EC1,OU="(c) 2012 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US -# Serial Number:00:a6:8b:79:29:00:00:00:00:50:d0:91:f9 -# Subject: CN=Entrust Root Certification Authority - EC1,OU="(c) 2012 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US -# Not Valid Before: Tue Dec 18 15:25:36 2012 -# Not Valid After : Fri Dec 18 15:55:36 2037 -# Fingerprint (SHA-256): 02:ED:0E:B2:8C:14:DA:45:16:5C:56:67:91:70:0D:64:51:D7:FB:56:F0:B2:AB:1D:3B:8E:B0:70:E5:6E:DF:F5 -# Fingerprint (SHA1): 20:D8:06:40:DF:9B:25:F5:12:25:3A:11:EA:F7:59:8A:EB:14:B5:47 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Entrust Root Certification Authority - EC1" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\277\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165 -\163\164\054\040\111\156\143\056\061\050\060\046\006\003\125\004 -\013\023\037\123\145\145\040\167\167\167\056\145\156\164\162\165 -\163\164\056\156\145\164\057\154\145\147\141\154\055\164\145\162 -\155\163\061\071\060\067\006\003\125\004\013\023\060\050\143\051 -\040\062\060\061\062\040\105\156\164\162\165\163\164\054\040\111 -\156\143\056\040\055\040\146\157\162\040\141\165\164\150\157\162 -\151\172\145\144\040\165\163\145\040\157\156\154\171\061\063\060 -\061\006\003\125\004\003\023\052\105\156\164\162\165\163\164\040 -\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164\151 -\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040\105 -\103\061 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\277\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165 -\163\164\054\040\111\156\143\056\061\050\060\046\006\003\125\004 -\013\023\037\123\145\145\040\167\167\167\056\145\156\164\162\165 -\163\164\056\156\145\164\057\154\145\147\141\154\055\164\145\162 -\155\163\061\071\060\067\006\003\125\004\013\023\060\050\143\051 -\040\062\060\061\062\040\105\156\164\162\165\163\164\054\040\111 -\156\143\056\040\055\040\146\157\162\040\141\165\164\150\157\162 -\151\172\145\144\040\165\163\145\040\157\156\154\171\061\063\060 -\061\006\003\125\004\003\023\052\105\156\164\162\165\163\164\040 -\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164\151 -\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040\105 -\103\061 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\015\000\246\213\171\051\000\000\000\000\120\320\221\371 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\002\371\060\202\002\200\240\003\002\001\002\002\015\000 -\246\213\171\051\000\000\000\000\120\320\221\371\060\012\006\010 -\052\206\110\316\075\004\003\003\060\201\277\061\013\060\011\006 -\003\125\004\006\023\002\125\123\061\026\060\024\006\003\125\004 -\012\023\015\105\156\164\162\165\163\164\054\040\111\156\143\056 -\061\050\060\046\006\003\125\004\013\023\037\123\145\145\040\167 -\167\167\056\145\156\164\162\165\163\164\056\156\145\164\057\154 -\145\147\141\154\055\164\145\162\155\163\061\071\060\067\006\003 -\125\004\013\023\060\050\143\051\040\062\060\061\062\040\105\156 -\164\162\165\163\164\054\040\111\156\143\056\040\055\040\146\157 -\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163\145 -\040\157\156\154\171\061\063\060\061\006\003\125\004\003\023\052 -\105\156\164\162\165\163\164\040\122\157\157\164\040\103\145\162 -\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157 -\162\151\164\171\040\055\040\105\103\061\060\036\027\015\061\062 -\061\062\061\070\061\065\062\065\063\066\132\027\015\063\067\061 -\062\061\070\061\065\065\065\063\066\132\060\201\277\061\013\060 -\011\006\003\125\004\006\023\002\125\123\061\026\060\024\006\003 -\125\004\012\023\015\105\156\164\162\165\163\164\054\040\111\156 -\143\056\061\050\060\046\006\003\125\004\013\023\037\123\145\145 -\040\167\167\167\056\145\156\164\162\165\163\164\056\156\145\164 -\057\154\145\147\141\154\055\164\145\162\155\163\061\071\060\067 -\006\003\125\004\013\023\060\050\143\051\040\062\060\061\062\040 -\105\156\164\162\165\163\164\054\040\111\156\143\056\040\055\040 -\146\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165 -\163\145\040\157\156\154\171\061\063\060\061\006\003\125\004\003 -\023\052\105\156\164\162\165\163\164\040\122\157\157\164\040\103 -\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164 -\150\157\162\151\164\171\040\055\040\105\103\061\060\166\060\020 -\006\007\052\206\110\316\075\002\001\006\005\053\201\004\000\042 -\003\142\000\004\204\023\311\320\272\155\101\173\342\154\320\353 -\125\137\146\002\032\044\364\133\211\151\107\343\270\302\175\361 -\362\002\305\237\240\366\133\325\213\006\031\206\117\123\020\155 -\007\044\047\241\240\370\325\107\031\141\114\175\312\223\047\352 -\164\014\357\157\226\011\376\143\354\160\135\066\255\147\167\256 -\311\235\174\125\104\072\242\143\121\037\365\343\142\324\251\107 -\007\076\314\040\243\102\060\100\060\016\006\003\125\035\017\001 -\001\377\004\004\003\002\001\006\060\017\006\003\125\035\023\001 -\001\377\004\005\060\003\001\001\377\060\035\006\003\125\035\016 -\004\026\004\024\267\143\347\032\335\215\351\010\246\125\203\244 -\340\152\120\101\145\021\102\111\060\012\006\010\052\206\110\316 -\075\004\003\003\003\147\000\060\144\002\060\141\171\330\345\102 -\107\337\034\256\123\231\027\266\157\034\175\341\277\021\224\321 -\003\210\165\344\215\211\244\212\167\106\336\155\141\357\002\365 -\373\265\337\314\376\116\377\376\251\346\247\002\060\133\231\327 -\205\067\006\265\173\010\375\353\047\213\112\224\371\341\372\247 -\216\046\010\350\174\222\150\155\163\330\157\046\254\041\002\270 -\231\267\046\101\133\045\140\256\320\110\032\356\006 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "Entrust Root Certification Authority - EC1" -# Issuer: CN=Entrust Root Certification Authority - EC1,OU="(c) 2012 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US -# Serial Number:00:a6:8b:79:29:00:00:00:00:50:d0:91:f9 -# Subject: CN=Entrust Root Certification Authority - EC1,OU="(c) 2012 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US -# Not Valid Before: Tue Dec 18 15:25:36 2012 -# Not Valid After : Fri Dec 18 15:55:36 2037 -# Fingerprint (SHA-256): 02:ED:0E:B2:8C:14:DA:45:16:5C:56:67:91:70:0D:64:51:D7:FB:56:F0:B2:AB:1D:3B:8E:B0:70:E5:6E:DF:F5 -# Fingerprint (SHA1): 20:D8:06:40:DF:9B:25:F5:12:25:3A:11:EA:F7:59:8A:EB:14:B5:47 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Entrust Root Certification Authority - EC1" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\040\330\006\100\337\233\045\365\022\045\072\021\352\367\131\212 -\353\024\265\107 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\266\176\035\360\130\305\111\154\044\073\075\355\230\030\355\274 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\277\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165 -\163\164\054\040\111\156\143\056\061\050\060\046\006\003\125\004 -\013\023\037\123\145\145\040\167\167\167\056\145\156\164\162\165 -\163\164\056\156\145\164\057\154\145\147\141\154\055\164\145\162 -\155\163\061\071\060\067\006\003\125\004\013\023\060\050\143\051 -\040\062\060\061\062\040\105\156\164\162\165\163\164\054\040\111 -\156\143\056\040\055\040\146\157\162\040\141\165\164\150\157\162 -\151\172\145\144\040\165\163\145\040\157\156\154\171\061\063\060 -\061\006\003\125\004\003\023\052\105\156\164\162\165\163\164\040 -\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164\151 -\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040\105 -\103\061 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\015\000\246\213\171\051\000\000\000\000\120\320\221\371 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "CFCA EV ROOT" -# -# Issuer: CN=CFCA EV ROOT,O=China Financial Certification Authority,C=CN -# Serial Number: 407555286 (0x184accd6) -# Subject: CN=CFCA EV ROOT,O=China Financial Certification Authority,C=CN -# Not Valid Before: Wed Aug 08 03:07:01 2012 -# Not Valid After : Mon Dec 31 03:07:01 2029 -# Fingerprint (SHA-256): 5C:C3:D7:8E:4E:1D:5E:45:54:7A:04:E6:87:3E:64:F9:0C:F9:53:6D:1C:CC:2E:F8:00:F3:55:C4:C5:FD:70:FD -# Fingerprint (SHA1): E2:B8:29:4B:55:84:AB:6B:58:C2:90:46:6C:AC:3F:B8:39:8F:84:83 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "CFCA EV ROOT" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\126\061\013\060\011\006\003\125\004\006\023\002\103\116\061 -\060\060\056\006\003\125\004\012\014\047\103\150\151\156\141\040 -\106\151\156\141\156\143\151\141\154\040\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171\061\025\060\023\006\003\125\004\003\014\014\103\106\103\101 -\040\105\126\040\122\117\117\124 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\126\061\013\060\011\006\003\125\004\006\023\002\103\116\061 -\060\060\056\006\003\125\004\012\014\047\103\150\151\156\141\040 -\106\151\156\141\156\143\151\141\154\040\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171\061\025\060\023\006\003\125\004\003\014\014\103\106\103\101 -\040\105\126\040\122\117\117\124 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\004\030\112\314\326 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\215\060\202\003\165\240\003\002\001\002\002\004\030 -\112\314\326\060\015\006\011\052\206\110\206\367\015\001\001\013 -\005\000\060\126\061\013\060\011\006\003\125\004\006\023\002\103 -\116\061\060\060\056\006\003\125\004\012\014\047\103\150\151\156 -\141\040\106\151\156\141\156\143\151\141\154\040\103\145\162\164 -\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162 -\151\164\171\061\025\060\023\006\003\125\004\003\014\014\103\106 -\103\101\040\105\126\040\122\117\117\124\060\036\027\015\061\062 -\060\070\060\070\060\063\060\067\060\061\132\027\015\062\071\061 -\062\063\061\060\063\060\067\060\061\132\060\126\061\013\060\011 -\006\003\125\004\006\023\002\103\116\061\060\060\056\006\003\125 -\004\012\014\047\103\150\151\156\141\040\106\151\156\141\156\143 -\151\141\154\040\103\145\162\164\151\146\151\143\141\164\151\157 -\156\040\101\165\164\150\157\162\151\164\171\061\025\060\023\006 -\003\125\004\003\014\014\103\106\103\101\040\105\126\040\122\117 -\117\124\060\202\002\042\060\015\006\011\052\206\110\206\367\015 -\001\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202 -\002\001\000\327\135\153\315\020\077\037\005\131\325\005\115\067 -\261\016\354\230\053\216\025\035\372\223\113\027\202\041\161\020 -\122\327\121\144\160\026\302\125\151\115\216\025\155\237\277\014 -\033\302\340\243\147\326\014\254\317\042\256\257\167\124\052\113 -\114\212\123\122\172\303\356\056\336\263\161\045\301\351\135\075 -\356\241\057\243\367\052\074\311\043\035\152\253\035\241\247\361 -\363\354\240\325\104\317\025\317\162\057\035\143\227\350\231\371 -\375\223\244\124\200\114\122\324\122\253\056\111\337\220\315\270 -\137\276\077\336\241\312\115\040\324\045\350\204\051\123\267\261 -\210\037\377\372\332\220\237\012\251\055\101\077\261\361\030\051 -\356\026\131\054\064\111\032\250\006\327\250\210\322\003\162\172 -\062\342\352\150\115\156\054\226\145\173\312\131\372\362\342\335 -\356\060\054\373\314\106\254\304\143\353\157\177\066\053\064\163 -\022\224\177\337\314\046\236\361\162\135\120\145\131\217\151\263 -\207\136\062\157\303\030\212\265\225\217\260\172\067\336\132\105 -\073\307\066\341\357\147\321\071\323\227\133\163\142\031\110\055 -\207\034\006\373\164\230\040\111\163\360\005\322\033\261\240\243 -\267\033\160\323\210\151\271\132\326\070\364\142\334\045\213\170 -\277\370\350\176\270\134\311\225\117\137\247\055\271\040\153\317 -\153\335\365\015\364\202\267\364\262\146\056\020\050\366\227\132 -\173\226\026\217\001\031\055\154\156\177\071\130\006\144\203\001 -\203\203\303\115\222\335\062\306\207\244\067\351\026\316\252\055 -\150\257\012\201\145\072\160\301\233\255\115\155\124\312\052\055 -\113\205\033\263\200\346\160\105\015\153\136\065\360\177\073\270 -\234\344\004\160\211\022\045\223\332\012\231\042\140\152\143\140 -\116\166\006\230\116\275\203\255\035\130\212\045\205\322\307\145 -\036\055\216\306\337\266\306\341\177\212\004\041\025\051\164\360 -\076\234\220\235\014\056\361\212\076\132\252\014\011\036\307\325 -\074\243\355\227\303\036\064\372\070\371\010\016\343\300\135\053 -\203\321\126\152\311\266\250\124\123\056\170\062\147\075\202\177 -\164\320\373\341\266\005\140\271\160\333\216\013\371\023\130\157 -\161\140\020\122\020\271\301\101\011\357\162\037\147\061\170\377 -\226\005\215\002\003\001\000\001\243\143\060\141\060\037\006\003 -\125\035\043\004\030\060\026\200\024\343\376\055\375\050\320\013 -\265\272\266\242\304\277\006\252\005\214\223\373\057\060\017\006 -\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016 -\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060\035 -\006\003\125\035\016\004\026\004\024\343\376\055\375\050\320\013 -\265\272\266\242\304\277\006\252\005\214\223\373\057\060\015\006 -\011\052\206\110\206\367\015\001\001\013\005\000\003\202\002\001 -\000\045\306\272\153\353\207\313\336\202\071\226\075\360\104\247 -\153\204\163\003\336\235\053\117\272\040\177\274\170\262\317\227 -\260\033\234\363\327\171\056\365\110\266\322\373\027\210\346\323 -\172\077\355\123\023\320\342\057\152\171\313\000\043\050\346\036 -\067\127\065\211\204\302\166\117\064\066\255\147\303\316\101\006 -\210\305\367\356\330\032\270\326\013\177\120\377\223\252\027\113 -\214\354\355\122\140\262\244\006\352\116\353\364\153\031\375\353 -\365\032\340\045\052\232\334\307\101\066\367\310\164\005\204\071 -\225\071\326\013\073\244\047\372\010\330\134\036\370\004\140\122 -\021\050\050\003\377\357\123\146\000\245\112\064\026\146\174\375 -\011\244\256\236\147\032\157\101\013\153\006\023\233\217\206\161 -\005\264\057\215\211\146\063\051\166\124\232\021\370\047\372\262 -\077\221\340\316\015\033\363\060\032\255\277\042\135\033\323\277 -\045\005\115\341\222\032\177\231\237\074\104\223\312\324\100\111 -\154\200\207\327\004\072\303\062\122\065\016\126\370\245\335\175 -\304\213\015\021\037\123\313\036\262\027\266\150\167\132\340\324 -\313\310\007\256\365\072\056\216\067\267\320\001\113\103\051\167 -\214\071\227\217\202\132\370\121\345\211\240\030\347\150\177\135 -\012\056\373\243\107\016\075\246\043\172\306\001\307\217\310\136 -\277\155\200\126\276\212\044\272\063\352\237\341\062\021\236\361 -\322\117\200\366\033\100\257\070\236\021\120\171\163\022\022\315 -\346\154\235\054\210\162\074\060\201\006\221\042\352\131\255\332 -\031\056\042\302\215\271\214\207\340\146\274\163\043\137\041\144 -\143\200\110\365\240\074\030\075\224\310\110\101\035\100\272\136 -\376\376\126\071\241\310\317\136\236\031\144\106\020\332\027\221 -\267\005\200\254\213\231\222\175\347\242\330\007\013\066\047\347 -\110\171\140\212\303\327\023\134\370\162\100\337\112\313\317\231 -\000\012\000\013\021\225\332\126\105\003\210\012\237\147\320\325 -\171\261\250\215\100\155\015\302\172\100\372\363\137\144\107\222 -\313\123\271\273\131\316\117\375\320\025\123\001\330\337\353\331 -\346\166\357\320\043\273\073\251\171\263\325\002\051\315\211\243 -\226\017\112\065\347\116\102\300\165\315\007\317\346\054\353\173 -\056 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "CFCA EV ROOT" -# Issuer: CN=CFCA EV ROOT,O=China Financial Certification Authority,C=CN -# Serial Number: 407555286 (0x184accd6) -# Subject: CN=CFCA EV ROOT,O=China Financial Certification Authority,C=CN -# Not Valid Before: Wed Aug 08 03:07:01 2012 -# Not Valid After : Mon Dec 31 03:07:01 2029 -# Fingerprint (SHA-256): 5C:C3:D7:8E:4E:1D:5E:45:54:7A:04:E6:87:3E:64:F9:0C:F9:53:6D:1C:CC:2E:F8:00:F3:55:C4:C5:FD:70:FD -# Fingerprint (SHA1): E2:B8:29:4B:55:84:AB:6B:58:C2:90:46:6C:AC:3F:B8:39:8F:84:83 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "CFCA EV ROOT" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\342\270\051\113\125\204\253\153\130\302\220\106\154\254\077\270 -\071\217\204\203 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\164\341\266\355\046\172\172\104\060\063\224\253\173\047\201\060 -END -CKA_ISSUER MULTILINE_OCTAL -\060\126\061\013\060\011\006\003\125\004\006\023\002\103\116\061 -\060\060\056\006\003\125\004\012\014\047\103\150\151\156\141\040 -\106\151\156\141\156\143\151\141\154\040\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171\061\025\060\023\006\003\125\004\003\014\014\103\106\103\101 -\040\105\126\040\122\117\117\124 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\004\030\112\314\326 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "OISTE WISeKey Global Root GB CA" -# -# Issuer: CN=OISTE WISeKey Global Root GB CA,OU=OISTE Foundation Endorsed,O=WISeKey,C=CH -# Serial Number:76:b1:20:52:74:f0:85:87:46:b3:f8:23:1a:f6:c2:c0 -# Subject: CN=OISTE WISeKey Global Root GB CA,OU=OISTE Foundation Endorsed,O=WISeKey,C=CH -# Not Valid Before: Mon Dec 01 15:00:32 2014 -# Not Valid After : Thu Dec 01 15:10:31 2039 -# Fingerprint (SHA-256): 6B:9C:08:E8:6E:B0:F7:67:CF:AD:65:CD:98:B6:21:49:E5:49:4A:67:F5:84:5E:7B:D1:ED:01:9F:27:B8:6B:D6 -# Fingerprint (SHA1): 0F:F9:40:76:18:D3:D7:6A:4B:98:F0:A8:35:9E:0C:FD:27:AC:CC:ED -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "OISTE WISeKey Global Root GB CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\155\061\013\060\011\006\003\125\004\006\023\002\103\110\061 -\020\060\016\006\003\125\004\012\023\007\127\111\123\145\113\145 -\171\061\042\060\040\006\003\125\004\013\023\031\117\111\123\124 -\105\040\106\157\165\156\144\141\164\151\157\156\040\105\156\144 -\157\162\163\145\144\061\050\060\046\006\003\125\004\003\023\037 -\117\111\123\124\105\040\127\111\123\145\113\145\171\040\107\154 -\157\142\141\154\040\122\157\157\164\040\107\102\040\103\101 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\155\061\013\060\011\006\003\125\004\006\023\002\103\110\061 -\020\060\016\006\003\125\004\012\023\007\127\111\123\145\113\145 -\171\061\042\060\040\006\003\125\004\013\023\031\117\111\123\124 -\105\040\106\157\165\156\144\141\164\151\157\156\040\105\156\144 -\157\162\163\145\144\061\050\060\046\006\003\125\004\003\023\037 -\117\111\123\124\105\040\127\111\123\145\113\145\171\040\107\154 -\157\142\141\154\040\122\157\157\164\040\107\102\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\166\261\040\122\164\360\205\207\106\263\370\043\032\366 -\302\300 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\265\060\202\002\235\240\003\002\001\002\002\020\166 -\261\040\122\164\360\205\207\106\263\370\043\032\366\302\300\060 -\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\155 -\061\013\060\011\006\003\125\004\006\023\002\103\110\061\020\060 -\016\006\003\125\004\012\023\007\127\111\123\145\113\145\171\061 -\042\060\040\006\003\125\004\013\023\031\117\111\123\124\105\040 -\106\157\165\156\144\141\164\151\157\156\040\105\156\144\157\162 -\163\145\144\061\050\060\046\006\003\125\004\003\023\037\117\111 -\123\124\105\040\127\111\123\145\113\145\171\040\107\154\157\142 -\141\154\040\122\157\157\164\040\107\102\040\103\101\060\036\027 -\015\061\064\061\062\060\061\061\065\060\060\063\062\132\027\015 -\063\071\061\062\060\061\061\065\061\060\063\061\132\060\155\061 -\013\060\011\006\003\125\004\006\023\002\103\110\061\020\060\016 -\006\003\125\004\012\023\007\127\111\123\145\113\145\171\061\042 -\060\040\006\003\125\004\013\023\031\117\111\123\124\105\040\106 -\157\165\156\144\141\164\151\157\156\040\105\156\144\157\162\163 -\145\144\061\050\060\046\006\003\125\004\003\023\037\117\111\123 -\124\105\040\127\111\123\145\113\145\171\040\107\154\157\142\141 -\154\040\122\157\157\164\040\107\102\040\103\101\060\202\001\042 -\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003 -\202\001\017\000\060\202\001\012\002\202\001\001\000\330\027\267 -\034\112\044\052\326\227\261\312\342\036\373\175\070\357\230\365 -\262\071\230\116\047\270\021\135\173\322\045\224\210\202\025\046 -\152\033\061\273\250\133\041\041\053\330\017\116\237\132\361\261 -\132\344\171\326\062\043\053\341\123\314\231\105\134\173\117\255 -\274\277\207\112\013\113\227\132\250\366\110\354\175\173\015\315 -\041\006\337\236\025\375\101\212\110\267\040\364\241\172\033\127 -\324\135\120\377\272\147\330\043\231\037\310\077\343\336\377\157 -\133\167\261\153\156\270\311\144\367\341\312\101\106\016\051\161 -\320\271\043\374\311\201\137\116\367\157\337\277\204\255\163\144 -\273\267\102\216\151\366\324\166\035\176\235\247\270\127\212\121 -\147\162\327\324\250\270\225\124\100\163\003\366\352\364\353\376 -\050\102\167\077\235\043\033\262\266\075\200\024\007\114\056\117 -\367\325\012\026\015\275\146\103\067\176\043\103\171\303\100\206 -\365\114\051\332\216\232\255\015\245\004\207\210\036\205\343\351 -\123\325\233\310\213\003\143\170\353\340\031\112\156\273\057\153 -\063\144\130\223\255\151\277\217\033\357\202\110\307\002\003\001 -\000\001\243\121\060\117\060\013\006\003\125\035\017\004\004\003 -\002\001\206\060\017\006\003\125\035\023\001\001\377\004\005\060 -\003\001\001\377\060\035\006\003\125\035\016\004\026\004\024\065 -\017\310\066\143\136\342\243\354\371\073\146\025\316\121\122\343 -\221\232\075\060\020\006\011\053\006\001\004\001\202\067\025\001 -\004\003\002\001\000\060\015\006\011\052\206\110\206\367\015\001 -\001\013\005\000\003\202\001\001\000\100\114\373\207\262\231\201 -\220\176\235\305\260\260\046\315\210\173\053\062\215\156\270\041 -\161\130\227\175\256\067\024\257\076\347\367\232\342\175\366\161 -\230\231\004\252\103\164\170\243\343\111\141\076\163\214\115\224 -\340\371\161\304\266\026\016\123\170\037\326\242\207\057\002\071 -\201\051\074\257\025\230\041\060\376\050\220\000\214\321\341\313 -\372\136\310\375\370\020\106\073\242\170\102\221\027\164\125\012 -\336\120\147\115\146\321\247\377\375\331\300\265\250\243\212\316 -\146\365\017\103\315\247\053\127\173\143\106\152\252\056\122\330 -\364\355\341\155\255\051\220\170\110\272\341\043\252\243\211\354 -\265\253\226\300\264\113\242\035\227\236\172\362\156\100\161\337 -\150\361\145\115\316\174\005\337\123\145\251\245\360\261\227\004 -\160\025\106\003\230\324\322\277\124\264\240\130\175\122\157\332 -\126\046\142\324\330\333\211\061\157\034\360\042\302\323\142\034 -\065\315\114\151\025\124\032\220\230\336\353\036\137\312\167\307 -\313\216\075\103\151\234\232\130\320\044\073\337\033\100\226\176 -\065\255\201\307\116\161\272\210\023 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "OISTE WISeKey Global Root GB CA" -# Issuer: CN=OISTE WISeKey Global Root GB CA,OU=OISTE Foundation Endorsed,O=WISeKey,C=CH -# Serial Number:76:b1:20:52:74:f0:85:87:46:b3:f8:23:1a:f6:c2:c0 -# Subject: CN=OISTE WISeKey Global Root GB CA,OU=OISTE Foundation Endorsed,O=WISeKey,C=CH -# Not Valid Before: Mon Dec 01 15:00:32 2014 -# Not Valid After : Thu Dec 01 15:10:31 2039 -# Fingerprint (SHA-256): 6B:9C:08:E8:6E:B0:F7:67:CF:AD:65:CD:98:B6:21:49:E5:49:4A:67:F5:84:5E:7B:D1:ED:01:9F:27:B8:6B:D6 -# Fingerprint (SHA1): 0F:F9:40:76:18:D3:D7:6A:4B:98:F0:A8:35:9E:0C:FD:27:AC:CC:ED -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "OISTE WISeKey Global Root GB CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\017\371\100\166\030\323\327\152\113\230\360\250\065\236\014\375 -\047\254\314\355 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\244\353\271\141\050\056\267\057\230\260\065\046\220\231\121\035 -END -CKA_ISSUER MULTILINE_OCTAL -\060\155\061\013\060\011\006\003\125\004\006\023\002\103\110\061 -\020\060\016\006\003\125\004\012\023\007\127\111\123\145\113\145 -\171\061\042\060\040\006\003\125\004\013\023\031\117\111\123\124 -\105\040\106\157\165\156\144\141\164\151\157\156\040\105\156\144 -\157\162\163\145\144\061\050\060\046\006\003\125\004\003\023\037 -\117\111\123\124\105\040\127\111\123\145\113\145\171\040\107\154 -\157\142\141\154\040\122\157\157\164\040\107\102\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\166\261\040\122\164\360\205\207\106\263\370\043\032\366 -\302\300 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "SZAFIR ROOT CA2" -# -# Issuer: CN=SZAFIR ROOT CA2,O=Krajowa Izba Rozliczeniowa S.A.,C=PL -# Serial Number:3e:8a:5d:07:ec:55:d2:32:d5:b7:e3:b6:5f:01:eb:2d:dc:e4:d6:e4 -# Subject: CN=SZAFIR ROOT CA2,O=Krajowa Izba Rozliczeniowa S.A.,C=PL -# Not Valid Before: Mon Oct 19 07:43:30 2015 -# Not Valid After : Fri Oct 19 07:43:30 2035 -# Fingerprint (SHA-256): A1:33:9D:33:28:1A:0B:56:E5:57:D3:D3:2B:1C:E7:F9:36:7E:B0:94:BD:5F:A7:2A:7E:50:04:C8:DE:D7:CA:FE -# Fingerprint (SHA1): E2:52:FA:95:3F:ED:DB:24:60:BD:6E:28:F3:9C:CC:CF:5E:B3:3F:DE -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "SZAFIR ROOT CA2" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\121\061\013\060\011\006\003\125\004\006\023\002\120\114\061 -\050\060\046\006\003\125\004\012\014\037\113\162\141\152\157\167 -\141\040\111\172\142\141\040\122\157\172\154\151\143\172\145\156 -\151\157\167\141\040\123\056\101\056\061\030\060\026\006\003\125 -\004\003\014\017\123\132\101\106\111\122\040\122\117\117\124\040 -\103\101\062 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\121\061\013\060\011\006\003\125\004\006\023\002\120\114\061 -\050\060\046\006\003\125\004\012\014\037\113\162\141\152\157\167 -\141\040\111\172\142\141\040\122\157\172\154\151\143\172\145\156 -\151\157\167\141\040\123\056\101\056\061\030\060\026\006\003\125 -\004\003\014\017\123\132\101\106\111\122\040\122\117\117\124\040 -\103\101\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\024\076\212\135\007\354\125\322\062\325\267\343\266\137\001 -\353\055\334\344\326\344 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\162\060\202\002\132\240\003\002\001\002\002\024\076 -\212\135\007\354\125\322\062\325\267\343\266\137\001\353\055\334 -\344\326\344\060\015\006\011\052\206\110\206\367\015\001\001\013 -\005\000\060\121\061\013\060\011\006\003\125\004\006\023\002\120 -\114\061\050\060\046\006\003\125\004\012\014\037\113\162\141\152 -\157\167\141\040\111\172\142\141\040\122\157\172\154\151\143\172 -\145\156\151\157\167\141\040\123\056\101\056\061\030\060\026\006 -\003\125\004\003\014\017\123\132\101\106\111\122\040\122\117\117 -\124\040\103\101\062\060\036\027\015\061\065\061\060\061\071\060 -\067\064\063\063\060\132\027\015\063\065\061\060\061\071\060\067 -\064\063\063\060\132\060\121\061\013\060\011\006\003\125\004\006 -\023\002\120\114\061\050\060\046\006\003\125\004\012\014\037\113 -\162\141\152\157\167\141\040\111\172\142\141\040\122\157\172\154 -\151\143\172\145\156\151\157\167\141\040\123\056\101\056\061\030 -\060\026\006\003\125\004\003\014\017\123\132\101\106\111\122\040 -\122\117\117\124\040\103\101\062\060\202\001\042\060\015\006\011 -\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017\000 -\060\202\001\012\002\202\001\001\000\267\274\076\120\250\113\315 -\100\265\316\141\347\226\312\264\241\332\014\042\260\372\265\173 -\166\000\167\214\013\317\175\250\206\314\046\121\344\040\075\205 -\014\326\130\343\347\364\052\030\235\332\321\256\046\356\353\123 -\334\364\220\326\023\112\014\220\074\303\364\332\322\216\015\222 -\072\334\261\261\377\070\336\303\272\055\137\200\271\002\275\112 -\235\033\017\264\303\302\301\147\003\335\334\033\234\075\263\260 -\336\000\036\250\064\107\273\232\353\376\013\024\275\066\204\332 -\015\040\277\372\133\313\251\026\040\255\071\140\356\057\165\266 -\347\227\234\371\076\375\176\115\157\115\057\357\210\015\152\372 -\335\361\075\156\040\245\240\022\264\115\160\271\316\327\162\073 -\211\223\247\200\204\034\047\111\162\111\265\377\073\225\236\301 -\314\310\001\354\350\016\212\012\226\347\263\246\207\345\326\371 -\005\053\015\227\100\160\074\272\254\165\132\234\325\115\235\002 -\012\322\113\233\146\113\106\007\027\145\255\237\154\210\000\334 -\042\211\340\341\144\324\147\274\061\171\141\074\273\312\101\315 -\134\152\000\310\074\070\216\130\257\002\003\001\000\001\243\102 -\060\100\060\017\006\003\125\035\023\001\001\377\004\005\060\003 -\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004\003 -\002\001\006\060\035\006\003\125\035\016\004\026\004\024\056\026 -\251\112\030\265\313\314\365\157\120\363\043\137\370\135\347\254 -\360\310\060\015\006\011\052\206\110\206\367\015\001\001\013\005 -\000\003\202\001\001\000\265\163\370\003\334\131\133\035\166\351 -\243\052\173\220\050\262\115\300\063\117\252\232\261\324\270\344 -\047\377\251\226\231\316\106\340\155\174\114\242\070\244\006\160 -\360\364\101\021\354\077\107\215\077\162\207\371\073\375\244\157 -\053\123\000\340\377\071\271\152\007\016\353\035\034\366\242\162 -\220\313\202\075\021\202\213\322\273\237\052\257\041\346\143\206 -\235\171\031\357\367\273\014\065\220\303\212\355\117\017\365\314 -\022\331\244\076\273\240\374\040\225\137\117\046\057\021\043\203 -\116\165\007\017\277\233\321\264\035\351\020\004\376\312\140\217 -\242\114\270\255\317\341\220\017\315\256\012\307\135\173\267\120 -\322\324\141\372\325\025\333\327\237\207\121\124\353\245\343\353 -\311\205\240\045\040\067\373\216\316\014\064\204\341\074\201\262 -\167\116\103\245\210\137\206\147\241\075\346\264\134\141\266\076 -\333\376\267\050\305\242\007\256\265\312\312\215\052\022\357\227 -\355\302\060\244\311\052\172\373\363\115\043\033\231\063\064\240 -\056\365\251\013\077\324\135\341\317\204\237\342\031\302\137\212 -\326\040\036\343\163\267 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "SZAFIR ROOT CA2" -# Issuer: CN=SZAFIR ROOT CA2,O=Krajowa Izba Rozliczeniowa S.A.,C=PL -# Serial Number:3e:8a:5d:07:ec:55:d2:32:d5:b7:e3:b6:5f:01:eb:2d:dc:e4:d6:e4 -# Subject: CN=SZAFIR ROOT CA2,O=Krajowa Izba Rozliczeniowa S.A.,C=PL -# Not Valid Before: Mon Oct 19 07:43:30 2015 -# Not Valid After : Fri Oct 19 07:43:30 2035 -# Fingerprint (SHA-256): A1:33:9D:33:28:1A:0B:56:E5:57:D3:D3:2B:1C:E7:F9:36:7E:B0:94:BD:5F:A7:2A:7E:50:04:C8:DE:D7:CA:FE -# Fingerprint (SHA1): E2:52:FA:95:3F:ED:DB:24:60:BD:6E:28:F3:9C:CC:CF:5E:B3:3F:DE -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "SZAFIR ROOT CA2" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\342\122\372\225\077\355\333\044\140\275\156\050\363\234\314\317 -\136\263\077\336 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\021\144\301\211\260\044\261\214\261\007\176\211\236\121\236\231 -END -CKA_ISSUER MULTILINE_OCTAL -\060\121\061\013\060\011\006\003\125\004\006\023\002\120\114\061 -\050\060\046\006\003\125\004\012\014\037\113\162\141\152\157\167 -\141\040\111\172\142\141\040\122\157\172\154\151\143\172\145\156 -\151\157\167\141\040\123\056\101\056\061\030\060\026\006\003\125 -\004\003\014\017\123\132\101\106\111\122\040\122\117\117\124\040 -\103\101\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\024\076\212\135\007\354\125\322\062\325\267\343\266\137\001 -\353\055\334\344\326\344 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Certum Trusted Network CA 2" -# -# Issuer: CN=Certum Trusted Network CA 2,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL -# Serial Number:21:d6:d0:4a:4f:25:0f:c9:32:37:fc:aa:5e:12:8d:e9 -# Subject: CN=Certum Trusted Network CA 2,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL -# Not Valid Before: Thu Oct 06 08:39:56 2011 -# Not Valid After : Sat Oct 06 08:39:56 2046 -# Fingerprint (SHA-256): B6:76:F2:ED:DA:E8:77:5C:D3:6C:B0:F6:3C:D1:D4:60:39:61:F4:9E:62:65:BA:01:3A:2F:03:07:B6:D0:B8:04 -# Fingerprint (SHA1): D3:DD:48:3E:2B:BF:4C:05:E8:AF:10:F5:FA:76:26:CF:D3:DC:30:92 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Certum Trusted Network CA 2" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\200\061\013\060\011\006\003\125\004\006\023\002\120\114 -\061\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145 -\164\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040 -\123\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103 -\145\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164 -\151\157\156\040\101\165\164\150\157\162\151\164\171\061\044\060 -\042\006\003\125\004\003\023\033\103\145\162\164\165\155\040\124 -\162\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103 -\101\040\062 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\200\061\013\060\011\006\003\125\004\006\023\002\120\114 -\061\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145 -\164\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040 -\123\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103 -\145\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164 -\151\157\156\040\101\165\164\150\157\162\151\164\171\061\044\060 -\042\006\003\125\004\003\023\033\103\145\162\164\165\155\040\124 -\162\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103 -\101\040\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\041\326\320\112\117\045\017\311\062\067\374\252\136\022 -\215\351 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\322\060\202\003\272\240\003\002\001\002\002\020\041 -\326\320\112\117\045\017\311\062\067\374\252\136\022\215\351\060 -\015\006\011\052\206\110\206\367\015\001\001\015\005\000\060\201 -\200\061\013\060\011\006\003\125\004\006\023\002\120\114\061\042 -\060\040\006\003\125\004\012\023\031\125\156\151\172\145\164\157 -\040\124\145\143\150\156\157\154\157\147\151\145\163\040\123\056 -\101\056\061\047\060\045\006\003\125\004\013\023\036\103\145\162 -\164\165\155\040\103\145\162\164\151\146\151\143\141\164\151\157 -\156\040\101\165\164\150\157\162\151\164\171\061\044\060\042\006 -\003\125\004\003\023\033\103\145\162\164\165\155\040\124\162\165 -\163\164\145\144\040\116\145\164\167\157\162\153\040\103\101\040 -\062\060\042\030\017\062\060\061\061\061\060\060\066\060\070\063 -\071\065\066\132\030\017\062\060\064\066\061\060\060\066\060\070 -\063\071\065\066\132\060\201\200\061\013\060\011\006\003\125\004 -\006\023\002\120\114\061\042\060\040\006\003\125\004\012\023\031 -\125\156\151\172\145\164\157\040\124\145\143\150\156\157\154\157 -\147\151\145\163\040\123\056\101\056\061\047\060\045\006\003\125 -\004\013\023\036\103\145\162\164\165\155\040\103\145\162\164\151 -\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 -\164\171\061\044\060\042\006\003\125\004\003\023\033\103\145\162 -\164\165\155\040\124\162\165\163\164\145\144\040\116\145\164\167 -\157\162\153\040\103\101\040\062\060\202\002\042\060\015\006\011 -\052\206\110\206\367\015\001\001\001\005\000\003\202\002\017\000 -\060\202\002\012\002\202\002\001\000\275\371\170\370\346\325\200 -\014\144\235\206\033\226\144\147\077\042\072\036\165\001\175\357 -\373\134\147\214\311\314\134\153\251\221\346\271\102\345\040\113 -\233\332\233\173\271\231\135\331\233\200\113\327\204\100\053\047 -\323\350\272\060\273\076\011\032\247\111\225\357\053\100\044\302 -\227\307\247\356\233\045\357\250\012\000\227\205\132\252\235\334 -\051\311\342\065\007\353\160\115\112\326\301\263\126\270\241\101 -\070\233\321\373\061\177\217\340\137\341\261\077\017\216\026\111 -\140\327\006\215\030\371\252\046\020\253\052\323\320\321\147\215 -\033\106\276\107\060\325\056\162\321\305\143\332\347\143\171\104 -\176\113\143\044\211\206\056\064\077\051\114\122\213\052\247\300 -\342\221\050\211\271\300\133\371\035\331\347\047\255\377\232\002 -\227\301\306\120\222\233\002\054\275\251\271\064\131\012\277\204 -\112\377\337\376\263\237\353\331\236\340\230\043\354\246\153\167 -\026\052\333\314\255\073\034\244\207\334\106\163\136\031\142\150 -\105\127\344\220\202\102\273\102\326\360\141\340\301\243\075\146 -\243\135\364\030\356\210\311\215\027\105\051\231\062\165\002\061 -\356\051\046\310\153\002\346\265\142\105\177\067\025\132\043\150 -\211\324\076\336\116\047\260\360\100\014\274\115\027\313\115\242 -\263\036\320\006\132\335\366\223\317\127\165\231\365\372\206\032 -\147\170\263\277\226\376\064\334\275\347\122\126\345\263\345\165 -\173\327\101\221\005\334\135\151\343\225\015\103\271\374\203\226 -\071\225\173\154\200\132\117\023\162\306\327\175\051\172\104\272 -\122\244\052\325\101\106\011\040\376\042\240\266\133\060\215\274 -\211\014\325\327\160\370\207\122\375\332\357\254\121\056\007\263 -\116\376\320\011\332\160\357\230\372\126\346\155\333\265\127\113 -\334\345\054\045\025\310\236\056\170\116\370\332\234\236\206\054 -\312\127\363\032\345\310\222\213\032\202\226\172\303\274\120\022 -\151\330\016\132\106\213\072\353\046\372\043\311\266\260\201\276 -\102\000\244\370\326\376\060\056\307\322\106\366\345\216\165\375 -\362\314\271\320\207\133\314\006\020\140\273\203\065\267\136\147 -\336\107\354\231\110\361\244\241\025\376\255\214\142\216\071\125 -\117\071\026\271\261\143\235\377\267\002\003\001\000\001\243\102 -\060\100\060\017\006\003\125\035\023\001\001\377\004\005\060\003 -\001\001\377\060\035\006\003\125\035\016\004\026\004\024\266\241 -\124\071\002\303\240\077\216\212\274\372\324\370\034\246\321\072 -\016\375\060\016\006\003\125\035\017\001\001\377\004\004\003\002 -\001\006\060\015\006\011\052\206\110\206\367\015\001\001\015\005 -\000\003\202\002\001\000\161\245\016\316\344\351\277\077\070\325 -\211\132\304\002\141\373\114\305\024\027\055\213\117\123\153\020 -\027\374\145\204\307\020\111\220\336\333\307\046\223\210\046\157 -\160\326\002\136\071\240\367\217\253\226\265\245\023\134\201\024 -\155\016\201\202\021\033\212\116\306\117\245\335\142\036\104\337 -\011\131\364\133\167\013\067\351\213\040\306\370\012\116\056\130 -\034\353\063\320\317\206\140\311\332\373\200\057\236\114\140\204 -\170\075\041\144\326\373\101\037\030\017\347\311\165\161\275\275 -\134\336\064\207\076\101\260\016\366\271\326\077\011\023\226\024 -\057\336\232\035\132\271\126\316\065\072\260\137\160\115\136\343 -\051\361\043\050\162\131\266\253\302\214\146\046\034\167\054\046 -\166\065\213\050\247\151\240\371\073\365\043\335\205\020\164\311 -\220\003\126\221\347\257\272\107\324\022\227\021\042\343\242\111 -\224\154\347\267\224\113\272\055\244\332\063\213\114\246\104\377 -\132\074\306\035\144\330\265\061\344\246\074\172\250\127\013\333 -\355\141\032\313\361\316\163\167\143\244\207\157\114\121\070\326 -\344\137\307\237\266\201\052\344\205\110\171\130\136\073\370\333 -\002\202\147\301\071\333\303\164\113\075\066\036\371\051\223\210 -\150\133\250\104\031\041\360\247\350\201\015\054\350\223\066\264 -\067\262\312\260\033\046\172\232\045\037\232\232\200\236\113\052 -\077\373\243\232\376\163\062\161\302\236\306\162\341\212\150\047 -\361\344\017\264\304\114\245\141\223\370\227\020\007\052\060\045 -\251\271\310\161\270\357\150\314\055\176\365\340\176\017\202\250 -\157\266\272\154\203\103\167\315\212\222\027\241\236\133\170\026 -\075\105\342\063\162\335\341\146\312\231\323\311\305\046\375\015 -\150\004\106\256\266\331\233\214\276\031\276\261\306\362\031\343 -\134\002\312\054\330\157\112\007\331\311\065\332\100\165\362\304 -\247\031\157\236\102\020\230\165\346\225\213\140\274\355\305\022 -\327\212\316\325\230\134\126\226\003\305\356\167\006\065\377\317 -\344\356\077\023\141\356\333\332\055\205\360\315\256\235\262\030 -\011\105\303\222\241\162\027\374\107\266\240\013\054\361\304\336 -\103\150\010\152\137\073\360\166\143\373\314\006\054\246\306\342 -\016\265\271\276\044\217 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "Certum Trusted Network CA 2" -# Issuer: CN=Certum Trusted Network CA 2,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL -# Serial Number:21:d6:d0:4a:4f:25:0f:c9:32:37:fc:aa:5e:12:8d:e9 -# Subject: CN=Certum Trusted Network CA 2,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL -# Not Valid Before: Thu Oct 06 08:39:56 2011 -# Not Valid After : Sat Oct 06 08:39:56 2046 -# Fingerprint (SHA-256): B6:76:F2:ED:DA:E8:77:5C:D3:6C:B0:F6:3C:D1:D4:60:39:61:F4:9E:62:65:BA:01:3A:2F:03:07:B6:D0:B8:04 -# Fingerprint (SHA1): D3:DD:48:3E:2B:BF:4C:05:E8:AF:10:F5:FA:76:26:CF:D3:DC:30:92 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Certum Trusted Network CA 2" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\323\335\110\076\053\277\114\005\350\257\020\365\372\166\046\317 -\323\334\060\222 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\155\106\236\331\045\155\010\043\133\136\164\175\036\047\333\362 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\200\061\013\060\011\006\003\125\004\006\023\002\120\114 -\061\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145 -\164\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040 -\123\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103 -\145\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164 -\151\157\156\040\101\165\164\150\157\162\151\164\171\061\044\060 -\042\006\003\125\004\003\023\033\103\145\162\164\165\155\040\124 -\162\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103 -\101\040\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\041\326\320\112\117\045\017\311\062\067\374\252\136\022 -\215\351 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Hellenic Academic and Research Institutions RootCA 2015" -# -# Issuer: CN=Hellenic Academic and Research Institutions RootCA 2015,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR -# Serial Number: 0 (0x0) -# Subject: CN=Hellenic Academic and Research Institutions RootCA 2015,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR -# Not Valid Before: Tue Jul 07 10:11:21 2015 -# Not Valid After : Sat Jun 30 10:11:21 2040 -# Fingerprint (SHA-256): A0:40:92:9A:02:CE:53:B4:AC:F4:F2:FF:C6:98:1C:E4:49:6F:75:5E:6D:45:FE:0B:2A:69:2B:CD:52:52:3F:36 -# Fingerprint (SHA1): 01:0C:06:95:A6:98:19:14:FF:BF:5F:C6:B0:B6:95:EA:29:E9:12:A6 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Hellenic Academic and Research Institutions RootCA 2015" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\246\061\013\060\011\006\003\125\004\006\023\002\107\122 -\061\017\060\015\006\003\125\004\007\023\006\101\164\150\145\156 -\163\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154 -\145\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156 -\144\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151 -\164\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165 -\164\150\157\162\151\164\171\061\100\060\076\006\003\125\004\003 -\023\067\110\145\154\154\145\156\151\143\040\101\143\141\144\145 -\155\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150 -\040\111\156\163\164\151\164\165\164\151\157\156\163\040\122\157 -\157\164\103\101\040\062\060\061\065 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\246\061\013\060\011\006\003\125\004\006\023\002\107\122 -\061\017\060\015\006\003\125\004\007\023\006\101\164\150\145\156 -\163\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154 -\145\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156 -\144\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151 -\164\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165 -\164\150\157\162\151\164\171\061\100\060\076\006\003\125\004\003 -\023\067\110\145\154\154\145\156\151\143\040\101\143\141\144\145 -\155\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150 -\040\111\156\163\164\151\164\165\164\151\157\156\163\040\122\157 -\157\164\103\101\040\062\060\061\065 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\000 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\006\013\060\202\003\363\240\003\002\001\002\002\001\000 -\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060 -\201\246\061\013\060\011\006\003\125\004\006\023\002\107\122\061 -\017\060\015\006\003\125\004\007\023\006\101\164\150\145\156\163 -\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154\145 -\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144 -\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164 -\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165\164 -\150\157\162\151\164\171\061\100\060\076\006\003\125\004\003\023 -\067\110\145\154\154\145\156\151\143\040\101\143\141\144\145\155 -\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150\040 -\111\156\163\164\151\164\165\164\151\157\156\163\040\122\157\157 -\164\103\101\040\062\060\061\065\060\036\027\015\061\065\060\067 -\060\067\061\060\061\061\062\061\132\027\015\064\060\060\066\063 -\060\061\060\061\061\062\061\132\060\201\246\061\013\060\011\006 -\003\125\004\006\023\002\107\122\061\017\060\015\006\003\125\004 -\007\023\006\101\164\150\145\156\163\061\104\060\102\006\003\125 -\004\012\023\073\110\145\154\154\145\156\151\143\040\101\143\141 -\144\145\155\151\143\040\141\156\144\040\122\145\163\145\141\162 -\143\150\040\111\156\163\164\151\164\165\164\151\157\156\163\040 -\103\145\162\164\056\040\101\165\164\150\157\162\151\164\171\061 -\100\060\076\006\003\125\004\003\023\067\110\145\154\154\145\156 -\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144\040 -\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164\165 -\164\151\157\156\163\040\122\157\157\164\103\101\040\062\060\061 -\065\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001 -\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002 -\001\000\302\370\251\077\033\211\374\074\074\004\135\075\220\066 -\260\221\072\171\074\146\132\357\155\071\001\111\032\264\267\317 -\177\115\043\123\267\220\000\343\023\052\050\246\061\361\221\000 -\343\050\354\256\041\101\316\037\332\375\175\022\133\001\203\017 -\271\260\137\231\341\362\022\203\200\115\006\076\337\254\257\347 -\241\210\153\061\257\360\213\320\030\063\270\333\105\152\064\364 -\002\200\044\050\012\002\025\225\136\166\052\015\231\072\024\133 -\366\313\313\123\274\023\115\001\210\067\224\045\033\102\274\042 -\330\216\243\226\136\072\331\062\333\076\350\360\020\145\355\164 -\341\057\247\174\257\047\064\273\051\175\233\266\317\011\310\345 -\323\012\374\210\145\145\164\012\334\163\034\134\315\100\261\034 -\324\266\204\214\114\120\317\150\216\250\131\256\302\047\116\202 -\242\065\335\024\364\037\377\262\167\325\207\057\252\156\175\044 -\047\347\306\313\046\346\345\376\147\007\143\330\105\015\335\072 -\131\145\071\130\172\222\231\162\075\234\204\136\210\041\270\325 -\364\054\374\331\160\122\117\170\270\275\074\053\213\225\230\365 -\263\321\150\317\040\024\176\114\134\137\347\213\345\365\065\201 -\031\067\327\021\010\267\146\276\323\112\316\203\127\000\072\303 -\201\370\027\313\222\066\135\321\243\330\165\033\341\213\047\352 -\172\110\101\375\105\031\006\255\047\231\116\301\160\107\335\265 -\237\201\123\022\345\261\214\110\135\061\103\027\343\214\306\172 -\143\226\113\051\060\116\204\116\142\031\136\074\316\227\220\245 -\177\001\353\235\340\370\213\211\335\045\230\075\222\266\176\357 -\331\361\121\121\175\055\046\310\151\131\141\340\254\152\270\052 -\066\021\004\172\120\275\062\204\276\057\334\162\325\327\035\026 -\107\344\107\146\040\077\364\226\305\257\216\001\172\245\017\172 -\144\365\015\030\207\331\256\210\325\372\204\301\072\300\151\050 -\055\362\015\150\121\252\343\245\167\306\244\220\016\241\067\213 -\061\043\107\301\011\010\353\156\367\170\233\327\202\374\204\040 -\231\111\031\266\022\106\261\373\105\125\026\251\243\145\254\234 -\007\017\352\153\334\037\056\006\162\354\206\210\022\344\055\333 -\137\005\057\344\360\003\323\046\063\347\200\302\315\102\241\027 -\064\013\002\003\001\000\001\243\102\060\100\060\017\006\003\125 -\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003 -\125\035\017\001\001\377\004\004\003\002\001\006\060\035\006\003 -\125\035\016\004\026\004\024\161\025\147\310\310\311\275\165\135 -\162\320\070\030\152\235\363\161\044\124\013\060\015\006\011\052 -\206\110\206\367\015\001\001\013\005\000\003\202\002\001\000\165 -\273\155\124\113\252\020\130\106\064\362\142\327\026\066\135\010 -\136\325\154\310\207\275\264\056\106\362\061\370\174\352\102\265 -\223\026\125\334\241\014\022\240\332\141\176\017\130\130\163\144 -\162\307\350\105\216\334\251\362\046\077\306\171\214\261\123\010 -\063\201\260\126\023\276\346\121\134\330\233\012\117\113\234\126 -\123\002\351\117\366\015\140\352\115\102\125\350\174\033\041\041 -\323\033\072\314\167\362\270\220\361\150\307\371\132\376\372\055 -\364\277\311\365\105\033\316\070\020\052\067\212\171\243\264\343 -\011\154\205\206\223\377\211\226\047\170\201\217\147\343\106\164 -\124\216\331\015\151\342\112\364\115\164\003\377\262\167\355\225 -\147\227\344\261\305\253\277\152\043\350\324\224\342\104\050\142 -\304\113\342\360\330\342\051\153\032\160\176\044\141\223\173\117 -\003\062\045\015\105\044\053\226\264\106\152\277\112\013\367\232 -\217\301\254\032\305\147\363\157\064\322\372\163\143\214\357\026 -\260\250\244\106\052\370\353\022\354\162\264\357\370\053\176\214 -\122\300\213\204\124\371\057\076\343\125\250\334\146\261\331\341 -\137\330\263\214\131\064\131\244\253\117\154\273\037\030\333\165 -\253\330\313\222\315\224\070\141\016\007\006\037\113\106\020\361 -\025\276\215\205\134\073\112\053\201\171\017\264\151\237\111\120 -\227\115\367\016\126\135\300\225\152\302\066\303\033\150\311\365 -\052\334\107\232\276\262\316\305\045\350\372\003\271\332\371\026 -\156\221\204\365\034\050\310\374\046\314\327\034\220\126\247\137 -\157\072\004\274\315\170\211\013\216\017\057\243\252\117\242\033 -\022\075\026\010\100\017\361\106\114\327\252\173\010\301\012\365 -\155\047\336\002\217\312\303\265\053\312\351\353\310\041\123\070 -\245\314\073\330\167\067\060\242\117\331\157\321\362\100\255\101 -\172\027\305\326\112\065\211\267\101\325\174\206\177\125\115\203 -\112\245\163\040\300\072\257\220\361\232\044\216\331\216\161\312 -\173\270\206\332\262\217\231\076\035\023\015\022\021\356\324\253 -\360\351\025\166\002\344\340\337\252\040\036\133\141\205\144\100 -\251\220\227\015\255\123\322\132\035\207\152\000\227\145\142\264 -\276\157\152\247\365\054\102\355\062\255\266\041\236\276\274 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "Hellenic Academic and Research Institutions RootCA 2015" -# Issuer: CN=Hellenic Academic and Research Institutions RootCA 2015,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR -# Serial Number: 0 (0x0) -# Subject: CN=Hellenic Academic and Research Institutions RootCA 2015,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR -# Not Valid Before: Tue Jul 07 10:11:21 2015 -# Not Valid After : Sat Jun 30 10:11:21 2040 -# Fingerprint (SHA-256): A0:40:92:9A:02:CE:53:B4:AC:F4:F2:FF:C6:98:1C:E4:49:6F:75:5E:6D:45:FE:0B:2A:69:2B:CD:52:52:3F:36 -# Fingerprint (SHA1): 01:0C:06:95:A6:98:19:14:FF:BF:5F:C6:B0:B6:95:EA:29:E9:12:A6 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Hellenic Academic and Research Institutions RootCA 2015" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\001\014\006\225\246\230\031\024\377\277\137\306\260\266\225\352 -\051\351\022\246 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\312\377\342\333\003\331\313\113\351\017\255\204\375\173\030\316 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\246\061\013\060\011\006\003\125\004\006\023\002\107\122 -\061\017\060\015\006\003\125\004\007\023\006\101\164\150\145\156 -\163\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154 -\145\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156 -\144\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151 -\164\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165 -\164\150\157\162\151\164\171\061\100\060\076\006\003\125\004\003 -\023\067\110\145\154\154\145\156\151\143\040\101\143\141\144\145 -\155\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150 -\040\111\156\163\164\151\164\165\164\151\157\156\163\040\122\157 -\157\164\103\101\040\062\060\061\065 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\000 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Hellenic Academic and Research Institutions ECC RootCA 2015" -# -# Issuer: CN=Hellenic Academic and Research Institutions ECC RootCA 2015,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR -# Serial Number: 0 (0x0) -# Subject: CN=Hellenic Academic and Research Institutions ECC RootCA 2015,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR -# Not Valid Before: Tue Jul 07 10:37:12 2015 -# Not Valid After : Sat Jun 30 10:37:12 2040 -# Fingerprint (SHA-256): 44:B5:45:AA:8A:25:E6:5A:73:CA:15:DC:27:FC:36:D2:4C:1C:B9:95:3A:06:65:39:B1:15:82:DC:48:7B:48:33 -# Fingerprint (SHA1): 9F:F1:71:8D:92:D5:9A:F3:7D:74:97:B4:BC:6F:84:68:0B:BA:B6:66 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Hellenic Academic and Research Institutions ECC RootCA 2015" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\252\061\013\060\011\006\003\125\004\006\023\002\107\122 -\061\017\060\015\006\003\125\004\007\023\006\101\164\150\145\156 -\163\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154 -\145\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156 -\144\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151 -\164\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165 -\164\150\157\162\151\164\171\061\104\060\102\006\003\125\004\003 -\023\073\110\145\154\154\145\156\151\143\040\101\143\141\144\145 -\155\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150 -\040\111\156\163\164\151\164\165\164\151\157\156\163\040\105\103 -\103\040\122\157\157\164\103\101\040\062\060\061\065 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\252\061\013\060\011\006\003\125\004\006\023\002\107\122 -\061\017\060\015\006\003\125\004\007\023\006\101\164\150\145\156 -\163\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154 -\145\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156 -\144\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151 -\164\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165 -\164\150\157\162\151\164\171\061\104\060\102\006\003\125\004\003 -\023\073\110\145\154\154\145\156\151\143\040\101\143\141\144\145 -\155\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150 -\040\111\156\163\164\151\164\165\164\151\157\156\163\040\105\103 -\103\040\122\157\157\164\103\101\040\062\060\061\065 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\000 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\002\303\060\202\002\112\240\003\002\001\002\002\001\000 -\060\012\006\010\052\206\110\316\075\004\003\002\060\201\252\061 -\013\060\011\006\003\125\004\006\023\002\107\122\061\017\060\015 -\006\003\125\004\007\023\006\101\164\150\145\156\163\061\104\060 -\102\006\003\125\004\012\023\073\110\145\154\154\145\156\151\143 -\040\101\143\141\144\145\155\151\143\040\141\156\144\040\122\145 -\163\145\141\162\143\150\040\111\156\163\164\151\164\165\164\151 -\157\156\163\040\103\145\162\164\056\040\101\165\164\150\157\162 -\151\164\171\061\104\060\102\006\003\125\004\003\023\073\110\145 -\154\154\145\156\151\143\040\101\143\141\144\145\155\151\143\040 -\141\156\144\040\122\145\163\145\141\162\143\150\040\111\156\163 -\164\151\164\165\164\151\157\156\163\040\105\103\103\040\122\157 -\157\164\103\101\040\062\060\061\065\060\036\027\015\061\065\060 -\067\060\067\061\060\063\067\061\062\132\027\015\064\060\060\066 -\063\060\061\060\063\067\061\062\132\060\201\252\061\013\060\011 -\006\003\125\004\006\023\002\107\122\061\017\060\015\006\003\125 -\004\007\023\006\101\164\150\145\156\163\061\104\060\102\006\003 -\125\004\012\023\073\110\145\154\154\145\156\151\143\040\101\143 -\141\144\145\155\151\143\040\141\156\144\040\122\145\163\145\141 -\162\143\150\040\111\156\163\164\151\164\165\164\151\157\156\163 -\040\103\145\162\164\056\040\101\165\164\150\157\162\151\164\171 -\061\104\060\102\006\003\125\004\003\023\073\110\145\154\154\145 -\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144 -\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164 -\165\164\151\157\156\163\040\105\103\103\040\122\157\157\164\103 -\101\040\062\060\061\065\060\166\060\020\006\007\052\206\110\316 -\075\002\001\006\005\053\201\004\000\042\003\142\000\004\222\240 -\101\350\113\202\204\134\342\370\061\021\231\206\144\116\011\045 -\057\235\101\057\012\256\065\117\164\225\262\121\144\153\215\153 -\346\077\160\225\360\005\104\107\246\162\070\120\166\225\002\132 -\216\256\050\236\371\055\116\231\357\054\110\157\114\045\051\350 -\321\161\133\337\035\301\165\067\264\327\372\173\172\102\234\152 -\012\126\132\174\151\013\252\200\011\044\154\176\301\106\243\102 -\060\100\060\017\006\003\125\035\023\001\001\377\004\005\060\003 -\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004\003 -\002\001\006\060\035\006\003\125\035\016\004\026\004\024\264\042 -\013\202\231\044\001\016\234\273\344\016\375\277\373\227\040\223 -\231\052\060\012\006\010\052\206\110\316\075\004\003\002\003\147 -\000\060\144\002\060\147\316\026\142\070\242\254\142\105\247\251 -\225\044\300\032\047\234\062\073\300\300\325\272\251\347\370\004 -\103\123\205\356\122\041\336\235\365\045\203\076\236\130\113\057 -\327\147\023\016\041\002\060\005\341\165\001\336\150\355\052\037 -\115\114\011\010\015\354\113\255\144\027\050\347\165\316\105\145 -\162\041\027\313\042\101\016\214\023\230\070\232\124\155\233\312 -\342\174\352\002\130\042\221 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "Hellenic Academic and Research Institutions ECC RootCA 2015" -# Issuer: CN=Hellenic Academic and Research Institutions ECC RootCA 2015,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR -# Serial Number: 0 (0x0) -# Subject: CN=Hellenic Academic and Research Institutions ECC RootCA 2015,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR -# Not Valid Before: Tue Jul 07 10:37:12 2015 -# Not Valid After : Sat Jun 30 10:37:12 2040 -# Fingerprint (SHA-256): 44:B5:45:AA:8A:25:E6:5A:73:CA:15:DC:27:FC:36:D2:4C:1C:B9:95:3A:06:65:39:B1:15:82:DC:48:7B:48:33 -# Fingerprint (SHA1): 9F:F1:71:8D:92:D5:9A:F3:7D:74:97:B4:BC:6F:84:68:0B:BA:B6:66 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Hellenic Academic and Research Institutions ECC RootCA 2015" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\237\361\161\215\222\325\232\363\175\164\227\264\274\157\204\150 -\013\272\266\146 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\201\345\264\027\353\302\365\341\113\015\101\173\111\222\376\357 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\252\061\013\060\011\006\003\125\004\006\023\002\107\122 -\061\017\060\015\006\003\125\004\007\023\006\101\164\150\145\156 -\163\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154 -\145\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156 -\144\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151 -\164\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165 -\164\150\157\162\151\164\171\061\104\060\102\006\003\125\004\003 -\023\073\110\145\154\154\145\156\151\143\040\101\143\141\144\145 -\155\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150 -\040\111\156\163\164\151\164\165\164\151\157\156\163\040\105\103 -\103\040\122\157\157\164\103\101\040\062\060\061\065 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\000 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "ISRG Root X1" -# -# Issuer: CN=ISRG Root X1,O=Internet Security Research Group,C=US -# Serial Number:00:82:10:cf:b0:d2:40:e3:59:44:63:e0:bb:63:82:8b:00 -# Subject: CN=ISRG Root X1,O=Internet Security Research Group,C=US -# Not Valid Before: Thu Jun 04 11:04:38 2015 -# Not Valid After : Mon Jun 04 11:04:38 2035 -# Fingerprint (SHA-256): 96:BC:EC:06:26:49:76:F3:74:60:77:9A:CF:28:C5:A7:CF:E8:A3:C0:AA:E1:1A:8F:FC:EE:05:C0:BD:DF:08:C6 -# Fingerprint (SHA1): CA:BD:2A:79:A1:07:6A:31:F2:1D:25:36:35:CB:03:9D:43:29:A5:E8 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "ISRG Root X1" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\117\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\051\060\047\006\003\125\004\012\023\040\111\156\164\145\162\156 -\145\164\040\123\145\143\165\162\151\164\171\040\122\145\163\145 -\141\162\143\150\040\107\162\157\165\160\061\025\060\023\006\003 -\125\004\003\023\014\111\123\122\107\040\122\157\157\164\040\130 -\061 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\117\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\051\060\047\006\003\125\004\012\023\040\111\156\164\145\162\156 -\145\164\040\123\145\143\165\162\151\164\171\040\122\145\163\145 -\141\162\143\150\040\107\162\157\165\160\061\025\060\023\006\003 -\125\004\003\023\014\111\123\122\107\040\122\157\157\164\040\130 -\061 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\021\000\202\020\317\260\322\100\343\131\104\143\340\273\143 -\202\213\000 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\153\060\202\003\123\240\003\002\001\002\002\021\000 -\202\020\317\260\322\100\343\131\104\143\340\273\143\202\213\000 -\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060 -\117\061\013\060\011\006\003\125\004\006\023\002\125\123\061\051 -\060\047\006\003\125\004\012\023\040\111\156\164\145\162\156\145 -\164\040\123\145\143\165\162\151\164\171\040\122\145\163\145\141 -\162\143\150\040\107\162\157\165\160\061\025\060\023\006\003\125 -\004\003\023\014\111\123\122\107\040\122\157\157\164\040\130\061 -\060\036\027\015\061\065\060\066\060\064\061\061\060\064\063\070 -\132\027\015\063\065\060\066\060\064\061\061\060\064\063\070\132 -\060\117\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\051\060\047\006\003\125\004\012\023\040\111\156\164\145\162\156 -\145\164\040\123\145\143\165\162\151\164\171\040\122\145\163\145 -\141\162\143\150\040\107\162\157\165\160\061\025\060\023\006\003 -\125\004\003\023\014\111\123\122\107\040\122\157\157\164\040\130 -\061\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001 -\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002 -\001\000\255\350\044\163\364\024\067\363\233\236\053\127\050\034 -\207\276\334\267\337\070\220\214\156\074\346\127\240\170\367\165 -\302\242\376\365\152\156\366\000\117\050\333\336\150\206\154\104 -\223\266\261\143\375\024\022\153\277\037\322\352\061\233\041\176 -\321\063\074\272\110\365\335\171\337\263\270\377\022\361\041\232 -\113\301\212\206\161\151\112\146\146\154\217\176\074\160\277\255 -\051\042\006\363\344\300\346\200\256\342\113\217\267\231\176\224 -\003\237\323\107\227\174\231\110\043\123\350\070\256\117\012\157 -\203\056\321\111\127\214\200\164\266\332\057\320\070\215\173\003 -\160\041\033\165\362\060\074\372\217\256\335\332\143\253\353\026 -\117\302\216\021\113\176\317\013\350\377\265\167\056\364\262\173 -\112\340\114\022\045\014\160\215\003\051\240\341\123\044\354\023 -\331\356\031\277\020\263\112\214\077\211\243\141\121\336\254\207 -\007\224\364\143\161\354\056\342\157\133\230\201\341\211\134\064 -\171\154\166\357\073\220\142\171\346\333\244\232\057\046\305\320 -\020\341\016\336\331\020\216\026\373\267\367\250\367\307\345\002 -\007\230\217\066\010\225\347\342\067\226\015\066\165\236\373\016 -\162\261\035\233\274\003\371\111\005\330\201\335\005\264\052\326 -\101\351\254\001\166\225\012\017\330\337\325\275\022\037\065\057 -\050\027\154\322\230\301\250\011\144\167\156\107\067\272\316\254 -\131\136\150\235\177\162\326\211\305\006\101\051\076\131\076\335 -\046\365\044\311\021\247\132\243\114\100\037\106\241\231\265\247 -\072\121\156\206\073\236\175\162\247\022\005\170\131\355\076\121 -\170\025\013\003\217\215\320\057\005\262\076\173\112\034\113\163 -\005\022\374\306\352\340\120\023\174\103\223\164\263\312\164\347 -\216\037\001\010\320\060\324\133\161\066\264\007\272\301\060\060 -\134\110\267\202\073\230\246\175\140\212\242\243\051\202\314\272 -\275\203\004\033\242\203\003\101\241\326\005\361\033\302\266\360 -\250\174\206\073\106\250\110\052\210\334\166\232\166\277\037\152 -\245\075\031\217\353\070\363\144\336\310\053\015\012\050\377\367 -\333\342\025\102\324\042\320\047\135\341\171\376\030\347\160\210 -\255\116\346\331\213\072\306\335\047\121\156\377\274\144\365\063 -\103\117\002\003\001\000\001\243\102\060\100\060\016\006\003\125 -\035\017\001\001\377\004\004\003\002\001\006\060\017\006\003\125 -\035\023\001\001\377\004\005\060\003\001\001\377\060\035\006\003 -\125\035\016\004\026\004\024\171\264\131\346\173\266\345\344\001 -\163\200\010\210\310\032\130\366\351\233\156\060\015\006\011\052 -\206\110\206\367\015\001\001\013\005\000\003\202\002\001\000\125 -\037\130\251\274\262\250\120\320\014\261\330\032\151\040\047\051 -\010\254\141\165\134\212\156\370\202\345\151\057\325\366\126\113 -\271\270\163\020\131\323\041\227\176\347\114\161\373\262\322\140 -\255\071\250\013\352\027\041\126\205\361\120\016\131\353\316\340 -\131\351\272\311\025\357\206\235\217\204\200\366\344\351\221\220 -\334\027\233\142\033\105\360\146\225\322\174\157\302\352\073\357 -\037\317\313\326\256\047\361\251\260\310\256\375\175\176\232\372 -\042\004\353\377\331\177\352\221\053\042\261\027\016\217\362\212 -\064\133\130\330\374\001\311\124\271\270\046\314\212\210\063\211 -\114\055\204\074\202\337\356\226\127\005\272\054\273\367\304\267 -\307\116\073\202\276\061\310\042\163\163\222\321\302\200\244\071 -\071\020\063\043\202\114\074\237\206\262\125\230\035\276\051\206 -\214\042\233\236\342\153\073\127\072\202\160\115\334\011\307\211 -\313\012\007\115\154\350\135\216\311\357\316\253\307\273\265\053 -\116\105\326\112\320\046\314\345\162\312\010\152\245\225\343\025 -\241\367\244\355\311\054\137\245\373\377\254\050\002\056\276\327 -\173\273\343\161\173\220\026\323\007\136\106\123\174\067\007\102 -\214\323\304\226\234\325\231\265\052\340\225\032\200\110\256\114 -\071\007\316\314\107\244\122\225\053\272\270\373\255\322\063\123 -\175\345\035\115\155\325\241\261\307\102\157\346\100\047\065\134 -\243\050\267\007\215\347\215\063\220\347\043\237\373\120\234\171 -\154\106\325\264\025\263\226\156\176\233\014\226\072\270\122\055 -\077\326\133\341\373\010\302\204\376\044\250\243\211\332\254\152 -\341\030\052\261\250\103\141\133\323\037\334\073\215\166\362\055 -\350\215\165\337\027\063\154\075\123\373\173\313\101\137\377\334 -\242\320\141\070\341\226\270\254\135\213\067\327\165\325\063\300 -\231\021\256\235\101\301\162\165\204\276\002\101\102\137\147\044 -\110\224\321\233\047\276\007\077\271\270\117\201\164\121\341\172 -\267\355\235\043\342\276\340\325\050\004\023\074\061\003\236\335 -\172\154\217\306\007\030\306\177\336\107\216\077\050\236\004\006 -\317\245\124\064\167\275\354\211\233\351\027\103\337\133\333\137 -\376\216\036\127\242\315\100\235\176\142\042\332\336\030\047 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "ISRG Root X1" -# Issuer: CN=ISRG Root X1,O=Internet Security Research Group,C=US -# Serial Number:00:82:10:cf:b0:d2:40:e3:59:44:63:e0:bb:63:82:8b:00 -# Subject: CN=ISRG Root X1,O=Internet Security Research Group,C=US -# Not Valid Before: Thu Jun 04 11:04:38 2015 -# Not Valid After : Mon Jun 04 11:04:38 2035 -# Fingerprint (SHA-256): 96:BC:EC:06:26:49:76:F3:74:60:77:9A:CF:28:C5:A7:CF:E8:A3:C0:AA:E1:1A:8F:FC:EE:05:C0:BD:DF:08:C6 -# Fingerprint (SHA1): CA:BD:2A:79:A1:07:6A:31:F2:1D:25:36:35:CB:03:9D:43:29:A5:E8 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "ISRG Root X1" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\312\275\052\171\241\007\152\061\362\035\045\066\065\313\003\235 -\103\051\245\350 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\014\322\371\340\332\027\163\351\355\206\115\245\343\160\347\116 -END -CKA_ISSUER MULTILINE_OCTAL -\060\117\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\051\060\047\006\003\125\004\012\023\040\111\156\164\145\162\156 -\145\164\040\123\145\143\165\162\151\164\171\040\122\145\163\145 -\141\162\143\150\040\107\162\157\165\160\061\025\060\023\006\003 -\125\004\003\023\014\111\123\122\107\040\122\157\157\164\040\130 -\061 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\021\000\202\020\317\260\322\100\343\131\104\143\340\273\143 -\202\213\000 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "AC RAIZ FNMT-RCM" -# -# Issuer: OU=AC RAIZ FNMT-RCM,O=FNMT-RCM,C=ES -# Serial Number:5d:93:8d:30:67:36:c8:06:1d:1a:c7:54:84:69:07 -# Subject: OU=AC RAIZ FNMT-RCM,O=FNMT-RCM,C=ES -# Not Valid Before: Wed Oct 29 15:59:56 2008 -# Not Valid After : Tue Jan 01 00:00:00 2030 -# Fingerprint (SHA-256): EB:C5:57:0C:29:01:8C:4D:67:B1:AA:12:7B:AF:12:F7:03:B4:61:1E:BC:17:B7:DA:B5:57:38:94:17:9B:93:FA -# Fingerprint (SHA1): EC:50:35:07:B2:15:C4:95:62:19:E2:A8:9A:5B:42:99:2C:4C:2C:20 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "AC RAIZ FNMT-RCM" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\073\061\013\060\011\006\003\125\004\006\023\002\105\123\061 -\021\060\017\006\003\125\004\012\014\010\106\116\115\124\055\122 -\103\115\061\031\060\027\006\003\125\004\013\014\020\101\103\040 -\122\101\111\132\040\106\116\115\124\055\122\103\115 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\073\061\013\060\011\006\003\125\004\006\023\002\105\123\061 -\021\060\017\006\003\125\004\012\014\010\106\116\115\124\055\122 -\103\115\061\031\060\027\006\003\125\004\013\014\020\101\103\040 -\122\101\111\132\040\106\116\115\124\055\122\103\115 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\017\135\223\215\060\147\066\310\006\035\032\307\124\204\151 -\007 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\203\060\202\003\153\240\003\002\001\002\002\017\135 -\223\215\060\147\066\310\006\035\032\307\124\204\151\007\060\015 -\006\011\052\206\110\206\367\015\001\001\013\005\000\060\073\061 -\013\060\011\006\003\125\004\006\023\002\105\123\061\021\060\017 -\006\003\125\004\012\014\010\106\116\115\124\055\122\103\115\061 -\031\060\027\006\003\125\004\013\014\020\101\103\040\122\101\111 -\132\040\106\116\115\124\055\122\103\115\060\036\027\015\060\070 -\061\060\062\071\061\065\065\071\065\066\132\027\015\063\060\060 -\061\060\061\060\060\060\060\060\060\132\060\073\061\013\060\011 -\006\003\125\004\006\023\002\105\123\061\021\060\017\006\003\125 -\004\012\014\010\106\116\115\124\055\122\103\115\061\031\060\027 -\006\003\125\004\013\014\020\101\103\040\122\101\111\132\040\106 -\116\115\124\055\122\103\115\060\202\002\042\060\015\006\011\052 -\206\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060 -\202\002\012\002\202\002\001\000\272\161\200\172\114\206\156\177 -\310\023\155\300\306\175\034\000\227\217\054\014\043\273\020\232 -\100\251\032\267\207\210\370\233\126\152\373\346\173\216\213\222 -\216\247\045\135\131\021\333\066\056\267\121\027\037\251\010\037 -\004\027\044\130\252\067\112\030\337\345\071\324\127\375\327\301 -\054\221\001\221\342\042\324\003\300\130\374\167\107\354\217\076 -\164\103\272\254\064\215\115\070\166\147\216\260\310\157\060\063 -\130\161\134\264\365\153\156\324\001\120\270\023\176\154\112\243 -\111\321\040\031\356\274\300\051\030\145\247\336\376\357\335\012 -\220\041\347\032\147\222\102\020\230\137\117\060\274\076\034\105 -\264\020\327\150\100\024\300\100\372\347\167\027\172\346\013\217 -\145\133\074\331\232\122\333\265\275\236\106\317\075\353\221\005 -\002\300\226\262\166\114\115\020\226\073\222\372\234\177\017\231 -\337\276\043\065\105\036\002\134\376\265\250\233\231\045\332\136 -\363\042\303\071\365\344\052\056\323\306\037\304\154\252\305\034 -\152\001\005\112\057\322\305\301\250\064\046\135\146\245\322\002 -\041\371\030\267\006\365\116\231\157\250\253\114\121\350\317\120 -\030\305\167\310\071\011\054\111\222\062\231\250\273\027\027\171 -\260\132\305\346\243\304\131\145\107\065\203\136\251\350\065\013 -\231\273\344\315\040\306\233\112\006\071\265\150\374\042\272\356 -\125\214\053\116\352\363\261\343\374\266\231\232\325\102\372\161 -\115\010\317\207\036\152\161\175\371\323\264\351\245\161\201\173 -\302\116\107\226\245\366\166\205\243\050\217\351\200\156\201\123 -\245\155\137\270\110\371\302\371\066\246\056\111\377\270\226\302 -\214\007\263\233\210\130\374\353\033\034\336\055\160\342\227\222 -\060\241\211\343\274\125\250\047\326\113\355\220\255\213\372\143 -\045\131\055\250\065\335\312\227\063\274\345\315\307\235\321\354 -\357\136\016\112\220\006\046\143\255\271\331\065\055\007\272\166 -\145\054\254\127\217\175\364\007\224\327\201\002\226\135\243\007 -\111\325\172\320\127\371\033\347\123\106\165\252\260\171\102\313 -\150\161\010\351\140\275\071\151\316\364\257\303\126\100\307\255 -\122\242\011\344\157\206\107\212\037\353\050\047\135\203\040\257 -\004\311\154\126\232\213\106\365\002\003\001\000\001\243\201\203 -\060\201\200\060\017\006\003\125\035\023\001\001\377\004\005\060 -\003\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004 -\003\002\001\006\060\035\006\003\125\035\016\004\026\004\024\367 -\175\305\375\304\350\232\033\167\144\247\365\035\240\314\277\207 -\140\232\155\060\076\006\003\125\035\040\004\067\060\065\060\063 -\006\004\125\035\040\000\060\053\060\051\006\010\053\006\001\005 -\005\007\002\001\026\035\150\164\164\160\072\057\057\167\167\167 -\056\143\145\162\164\056\146\156\155\164\056\145\163\057\144\160 -\143\163\057\060\015\006\011\052\206\110\206\367\015\001\001\013 -\005\000\003\202\002\001\000\007\220\112\337\363\043\116\360\303 -\234\121\145\233\234\042\242\212\014\205\363\163\051\153\115\376 -\001\342\251\014\143\001\277\004\147\245\235\230\137\375\001\023 -\372\354\232\142\351\206\376\266\142\322\156\114\224\373\300\165 -\105\174\145\014\370\262\067\317\254\017\317\215\157\371\031\367 -\217\354\036\362\160\236\360\312\270\357\267\377\166\067\166\133 -\366\156\210\363\257\142\062\042\223\015\072\152\216\024\146\014 -\055\123\164\127\145\036\325\262\335\043\201\073\245\146\043\047 -\147\011\217\341\167\252\103\315\145\121\010\355\121\130\376\346 -\071\371\313\107\204\244\025\361\166\273\244\356\244\073\304\137 -\357\262\063\226\021\030\267\311\145\276\030\341\243\244\334\372 -\030\371\323\274\023\233\071\172\064\272\323\101\373\372\062\212 -\052\267\053\206\013\151\203\070\276\315\212\056\013\160\255\215 -\046\222\356\036\365\001\053\012\331\326\227\233\156\340\250\031 -\034\072\041\213\014\036\100\255\003\347\335\146\176\365\271\040 -\015\003\350\226\371\202\105\324\071\340\240\000\135\327\230\346 -\175\236\147\163\303\232\052\367\253\213\241\072\024\357\064\274 -\122\016\211\230\232\004\100\204\035\176\105\151\223\127\316\353 -\316\370\120\174\117\034\156\004\103\233\371\326\073\043\030\351 -\352\216\321\115\106\215\361\073\344\152\312\272\373\043\267\233 -\372\231\001\051\132\130\132\055\343\371\324\155\016\046\255\301 -\156\064\274\062\370\014\005\372\145\243\333\073\067\203\042\351 -\326\334\162\063\375\135\362\040\275\166\074\043\332\050\367\371 -\033\353\131\144\325\334\137\162\176\040\374\315\211\265\220\147 -\115\142\172\077\116\255\035\303\071\376\172\364\050\026\337\101 -\366\110\200\005\327\017\121\171\254\020\253\324\354\003\146\346 -\152\260\272\061\222\102\100\152\276\072\323\162\341\152\067\125 -\274\254\035\225\267\151\141\362\103\221\164\346\240\323\012\044 -\106\241\010\257\326\332\105\031\226\324\123\035\133\204\171\360 -\300\367\107\357\213\217\305\006\256\235\114\142\235\377\106\004 -\370\323\311\266\020\045\100\165\376\026\252\311\112\140\206\057 -\272\357\060\167\344\124\342\270\204\231\130\200\252\023\213\121 -\072\117\110\366\213\266\263 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "AC RAIZ FNMT-RCM" -# Issuer: OU=AC RAIZ FNMT-RCM,O=FNMT-RCM,C=ES -# Serial Number:5d:93:8d:30:67:36:c8:06:1d:1a:c7:54:84:69:07 -# Subject: OU=AC RAIZ FNMT-RCM,O=FNMT-RCM,C=ES -# Not Valid Before: Wed Oct 29 15:59:56 2008 -# Not Valid After : Tue Jan 01 00:00:00 2030 -# Fingerprint (SHA-256): EB:C5:57:0C:29:01:8C:4D:67:B1:AA:12:7B:AF:12:F7:03:B4:61:1E:BC:17:B7:DA:B5:57:38:94:17:9B:93:FA -# Fingerprint (SHA1): EC:50:35:07:B2:15:C4:95:62:19:E2:A8:9A:5B:42:99:2C:4C:2C:20 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "AC RAIZ FNMT-RCM" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\354\120\065\007\262\025\304\225\142\031\342\250\232\133\102\231 -\054\114\054\040 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\342\011\004\264\323\275\321\240\024\375\032\322\107\304\127\035 -END -CKA_ISSUER MULTILINE_OCTAL -\060\073\061\013\060\011\006\003\125\004\006\023\002\105\123\061 -\021\060\017\006\003\125\004\012\014\010\106\116\115\124\055\122 -\103\115\061\031\060\027\006\003\125\004\013\014\020\101\103\040 -\122\101\111\132\040\106\116\115\124\055\122\103\115 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\017\135\223\215\060\147\066\310\006\035\032\307\124\204\151 -\007 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Amazon Root CA 1" -# -# Issuer: CN=Amazon Root CA 1,O=Amazon,C=US -# Serial Number:06:6c:9f:cf:99:bf:8c:0a:39:e2:f0:78:8a:43:e6:96:36:5b:ca -# Subject: CN=Amazon Root CA 1,O=Amazon,C=US -# Not Valid Before: Tue May 26 00:00:00 2015 -# Not Valid After : Sun Jan 17 00:00:00 2038 -# Fingerprint (SHA-256): 8E:CD:E6:88:4F:3D:87:B1:12:5B:A3:1A:C3:FC:B1:3D:70:16:DE:7F:57:CC:90:4F:E1:CB:97:C6:AE:98:19:6E -# Fingerprint (SHA1): 8D:A7:F9:65:EC:5E:FC:37:91:0F:1C:6E:59:FD:C1:CC:6A:6E:DE:16 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Amazon Root CA 1" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156 -\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157 -\156\040\122\157\157\164\040\103\101\040\061 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156 -\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157 -\156\040\122\157\157\164\040\103\101\040\061 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\023\006\154\237\317\231\277\214\012\071\342\360\170\212\103 -\346\226\066\133\312 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\101\060\202\002\051\240\003\002\001\002\002\023\006 -\154\237\317\231\277\214\012\071\342\360\170\212\103\346\226\066 -\133\312\060\015\006\011\052\206\110\206\367\015\001\001\013\005 -\000\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157 -\156\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172 -\157\156\040\122\157\157\164\040\103\101\040\061\060\036\027\015 -\061\065\060\065\062\066\060\060\060\060\060\060\132\027\015\063 -\070\060\061\061\067\060\060\060\060\060\060\132\060\071\061\013 -\060\011\006\003\125\004\006\023\002\125\123\061\017\060\015\006 -\003\125\004\012\023\006\101\155\141\172\157\156\061\031\060\027 -\006\003\125\004\003\023\020\101\155\141\172\157\156\040\122\157 -\157\164\040\103\101\040\061\060\202\001\042\060\015\006\011\052 -\206\110\206\367\015\001\001\001\005\000\003\202\001\017\000\060 -\202\001\012\002\202\001\001\000\262\170\200\161\312\170\325\343 -\161\257\107\200\120\164\175\156\330\327\210\166\364\231\150\367 -\130\041\140\371\164\204\001\057\254\002\055\206\323\240\103\172 -\116\262\244\320\066\272\001\276\215\333\110\310\007\027\066\114 -\364\356\210\043\307\076\353\067\365\265\031\370\111\150\260\336 -\327\271\166\070\035\141\236\244\376\202\066\245\345\112\126\344 -\105\341\371\375\264\026\372\164\332\234\233\065\071\057\372\260 -\040\120\006\154\172\320\200\262\246\371\257\354\107\031\217\120 -\070\007\334\242\207\071\130\370\272\325\251\371\110\147\060\226 -\356\224\170\136\157\211\243\121\300\060\206\146\241\105\146\272 -\124\353\243\303\221\371\110\334\377\321\350\060\055\175\055\164 -\160\065\327\210\044\367\236\304\131\156\273\163\207\027\362\062 -\106\050\270\103\372\267\035\252\312\264\362\237\044\016\055\113 -\367\161\134\136\151\377\352\225\002\313\070\212\256\120\070\157 -\333\373\055\142\033\305\307\036\124\341\167\340\147\310\017\234 -\207\043\326\077\100\040\177\040\200\304\200\114\076\073\044\046 -\216\004\256\154\232\310\252\015\002\003\001\000\001\243\102\060 -\100\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001 -\001\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002 -\001\206\060\035\006\003\125\035\016\004\026\004\024\204\030\314 -\205\064\354\274\014\224\224\056\010\131\234\307\262\020\116\012 -\010\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000 -\003\202\001\001\000\230\362\067\132\101\220\241\032\305\166\121 -\050\040\066\043\016\256\346\050\273\252\370\224\256\110\244\060 -\177\033\374\044\215\113\264\310\241\227\366\266\361\172\160\310 -\123\223\314\010\050\343\230\045\317\043\244\371\336\041\323\174 -\205\011\255\116\232\165\072\302\013\152\211\170\166\104\107\030 -\145\154\215\101\216\073\177\232\313\364\265\247\120\327\005\054 -\067\350\003\113\255\351\141\240\002\156\365\362\360\305\262\355 -\133\267\334\372\224\134\167\236\023\245\177\122\255\225\362\370 -\223\073\336\213\134\133\312\132\122\133\140\257\024\367\113\357 -\243\373\237\100\225\155\061\124\374\102\323\307\106\037\043\255 -\331\017\110\160\232\331\165\170\161\321\162\103\064\165\156\127 -\131\302\002\134\046\140\051\317\043\031\026\216\210\103\245\324 -\344\313\010\373\043\021\103\350\103\051\162\142\241\251\135\136 -\010\324\220\256\270\330\316\024\302\320\125\362\206\366\304\223 -\103\167\146\141\300\271\350\101\327\227\170\140\003\156\112\162 -\256\245\321\175\272\020\236\206\154\033\212\271\131\063\370\353 -\304\220\276\361\271 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "Amazon Root CA 1" -# Issuer: CN=Amazon Root CA 1,O=Amazon,C=US -# Serial Number:06:6c:9f:cf:99:bf:8c:0a:39:e2:f0:78:8a:43:e6:96:36:5b:ca -# Subject: CN=Amazon Root CA 1,O=Amazon,C=US -# Not Valid Before: Tue May 26 00:00:00 2015 -# Not Valid After : Sun Jan 17 00:00:00 2038 -# Fingerprint (SHA-256): 8E:CD:E6:88:4F:3D:87:B1:12:5B:A3:1A:C3:FC:B1:3D:70:16:DE:7F:57:CC:90:4F:E1:CB:97:C6:AE:98:19:6E -# Fingerprint (SHA1): 8D:A7:F9:65:EC:5E:FC:37:91:0F:1C:6E:59:FD:C1:CC:6A:6E:DE:16 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Amazon Root CA 1" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\215\247\371\145\354\136\374\067\221\017\034\156\131\375\301\314 -\152\156\336\026 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\103\306\277\256\354\376\255\057\030\306\210\150\060\374\310\346 -END -CKA_ISSUER MULTILINE_OCTAL -\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156 -\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157 -\156\040\122\157\157\164\040\103\101\040\061 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\023\006\154\237\317\231\277\214\012\071\342\360\170\212\103 -\346\226\066\133\312 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Amazon Root CA 2" -# -# Issuer: CN=Amazon Root CA 2,O=Amazon,C=US -# Serial Number:06:6c:9f:d2:96:35:86:9f:0a:0f:e5:86:78:f8:5b:26:bb:8a:37 -# Subject: CN=Amazon Root CA 2,O=Amazon,C=US -# Not Valid Before: Tue May 26 00:00:00 2015 -# Not Valid After : Sat May 26 00:00:00 2040 -# Fingerprint (SHA-256): 1B:A5:B2:AA:8C:65:40:1A:82:96:01:18:F8:0B:EC:4F:62:30:4D:83:CE:C4:71:3A:19:C3:9C:01:1E:A4:6D:B4 -# Fingerprint (SHA1): 5A:8C:EF:45:D7:A6:98:59:76:7A:8C:8B:44:96:B5:78:CF:47:4B:1A -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Amazon Root CA 2" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156 -\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157 -\156\040\122\157\157\164\040\103\101\040\062 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156 -\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157 -\156\040\122\157\157\164\040\103\101\040\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\023\006\154\237\322\226\065\206\237\012\017\345\206\170\370 -\133\046\273\212\067 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\101\060\202\003\051\240\003\002\001\002\002\023\006 -\154\237\322\226\065\206\237\012\017\345\206\170\370\133\046\273 -\212\067\060\015\006\011\052\206\110\206\367\015\001\001\014\005 -\000\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157 -\156\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172 -\157\156\040\122\157\157\164\040\103\101\040\062\060\036\027\015 -\061\065\060\065\062\066\060\060\060\060\060\060\132\027\015\064 -\060\060\065\062\066\060\060\060\060\060\060\132\060\071\061\013 -\060\011\006\003\125\004\006\023\002\125\123\061\017\060\015\006 -\003\125\004\012\023\006\101\155\141\172\157\156\061\031\060\027 -\006\003\125\004\003\023\020\101\155\141\172\157\156\040\122\157 -\157\164\040\103\101\040\062\060\202\002\042\060\015\006\011\052 -\206\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060 -\202\002\012\002\202\002\001\000\255\226\237\055\234\112\114\112 -\201\171\121\231\354\212\313\153\140\121\023\274\115\155\006\374 -\260\010\215\335\031\020\152\307\046\014\065\330\300\157\040\204 -\351\224\261\233\205\003\303\133\333\112\350\310\370\220\166\331 -\133\117\343\114\350\006\066\115\314\232\254\075\014\220\053\222 -\324\006\031\140\254\067\104\171\205\201\202\255\132\067\340\015 -\314\235\246\114\122\166\352\103\235\267\004\321\120\366\125\340 -\325\322\246\111\205\351\067\351\312\176\256\134\225\115\110\232 -\077\256\040\132\155\210\225\331\064\270\122\032\103\220\260\277 -\154\005\271\266\170\267\352\320\344\072\074\022\123\142\377\112 -\362\173\276\065\005\251\022\064\343\363\144\164\142\054\075\000 -\111\132\050\376\062\104\273\207\335\145\047\002\161\073\332\112 -\367\037\332\315\367\041\125\220\117\017\354\256\202\341\237\153 -\331\105\323\273\360\137\207\355\074\054\071\206\332\077\336\354 -\162\125\353\171\243\255\333\335\174\260\272\034\316\374\336\117 -\065\166\317\017\370\170\037\152\066\121\106\047\141\133\351\236 -\317\360\242\125\175\174\045\212\157\057\264\305\317\204\056\053 -\375\015\121\020\154\373\137\033\274\033\176\305\256\073\230\001 -\061\222\377\013\127\364\232\262\271\127\351\253\357\015\166\321 -\360\356\364\316\206\247\340\156\351\264\151\241\337\151\366\063 -\306\151\056\227\023\236\245\207\260\127\020\201\067\311\123\263 -\273\177\366\222\321\234\320\030\364\222\156\332\203\117\246\143 -\231\114\245\373\136\357\041\144\172\040\137\154\144\205\025\313 -\067\351\142\014\013\052\026\334\001\056\062\332\076\113\365\236 -\072\366\027\100\224\357\236\221\010\206\372\276\143\250\132\063 -\354\313\164\103\225\371\154\151\122\066\307\051\157\374\125\003 -\134\037\373\237\275\107\353\347\111\107\225\013\116\211\042\011 -\111\340\365\141\036\361\277\056\212\162\156\200\131\377\127\072 -\371\165\062\243\116\137\354\355\050\142\331\115\163\362\314\201 -\027\140\355\315\353\334\333\247\312\305\176\002\275\362\124\010 -\124\375\264\055\011\054\027\124\112\230\321\124\341\121\147\010 -\322\355\156\176\157\077\322\055\201\131\051\146\313\220\071\225 -\021\036\164\047\376\335\353\257\002\003\001\000\001\243\102\060 -\100\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001 -\001\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002 -\001\206\060\035\006\003\125\035\016\004\026\004\024\260\014\360 -\114\060\364\005\130\002\110\375\063\345\122\257\113\204\343\146 -\122\060\015\006\011\052\206\110\206\367\015\001\001\014\005\000 -\003\202\002\001\000\252\250\200\217\016\170\243\340\242\324\315 -\346\365\230\172\073\352\000\003\260\227\016\223\274\132\250\366 -\054\214\162\207\251\261\374\177\163\375\143\161\170\245\207\131 -\317\060\341\015\020\262\023\132\155\202\365\152\346\200\237\240 -\005\013\150\344\107\153\307\152\337\266\375\167\062\162\345\030 -\372\011\364\240\223\054\135\322\214\165\205\166\145\220\014\003 -\171\267\061\043\143\255\170\203\011\206\150\204\312\377\371\317 -\046\232\222\171\347\315\113\305\347\141\247\027\313\363\251\022 -\223\223\153\247\350\057\123\222\304\140\130\260\314\002\121\030 -\133\205\215\142\131\143\266\255\264\336\232\373\046\367\000\047 -\300\135\125\067\164\231\311\120\177\343\131\056\104\343\054\045 -\356\354\114\062\167\264\237\032\351\113\135\040\305\332\375\034 -\207\026\306\103\350\324\273\046\232\105\160\136\251\013\067\123 -\342\106\173\047\375\340\106\362\211\267\314\102\266\313\050\046 -\156\331\245\311\072\310\101\023\140\367\120\214\025\256\262\155 -\032\025\032\127\170\346\222\052\331\145\220\202\077\154\002\257 -\256\022\072\047\226\066\004\327\035\242\200\143\251\233\361\345 -\272\264\174\024\260\116\311\261\037\164\137\070\366\121\352\233 -\372\054\242\021\324\251\055\047\032\105\261\257\262\116\161\015 -\300\130\106\326\151\006\313\123\313\263\376\153\101\315\101\176 -\175\114\017\174\162\171\172\131\315\136\112\016\254\233\251\230 -\163\171\174\264\364\314\271\270\007\014\262\164\134\270\307\157 -\210\241\220\247\364\252\371\277\147\072\364\032\025\142\036\267 -\237\276\075\261\051\257\147\241\022\362\130\020\031\123\003\060 -\033\270\032\211\366\234\275\227\003\216\243\011\363\035\213\041 -\361\264\337\344\034\321\237\145\002\006\352\134\326\023\263\204 -\357\242\245\134\214\167\051\247\150\300\153\256\100\322\250\264 -\352\315\360\215\113\070\234\031\232\033\050\124\270\211\220\357 -\312\165\201\076\036\362\144\044\307\030\257\116\377\107\236\007 -\366\065\145\244\323\012\126\377\365\027\144\154\357\250\042\045 -\111\223\266\337\000\027\332\130\176\135\356\305\033\260\321\321 -\137\041\020\307\371\363\272\002\012\047\007\305\361\326\307\323 -\340\373\011\140\154 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "Amazon Root CA 2" -# Issuer: CN=Amazon Root CA 2,O=Amazon,C=US -# Serial Number:06:6c:9f:d2:96:35:86:9f:0a:0f:e5:86:78:f8:5b:26:bb:8a:37 -# Subject: CN=Amazon Root CA 2,O=Amazon,C=US -# Not Valid Before: Tue May 26 00:00:00 2015 -# Not Valid After : Sat May 26 00:00:00 2040 -# Fingerprint (SHA-256): 1B:A5:B2:AA:8C:65:40:1A:82:96:01:18:F8:0B:EC:4F:62:30:4D:83:CE:C4:71:3A:19:C3:9C:01:1E:A4:6D:B4 -# Fingerprint (SHA1): 5A:8C:EF:45:D7:A6:98:59:76:7A:8C:8B:44:96:B5:78:CF:47:4B:1A -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Amazon Root CA 2" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\132\214\357\105\327\246\230\131\166\172\214\213\104\226\265\170 -\317\107\113\032 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\310\345\215\316\250\102\342\172\300\052\134\174\236\046\277\146 -END -CKA_ISSUER MULTILINE_OCTAL -\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156 -\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157 -\156\040\122\157\157\164\040\103\101\040\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\023\006\154\237\322\226\065\206\237\012\017\345\206\170\370 -\133\046\273\212\067 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Amazon Root CA 3" -# -# Issuer: CN=Amazon Root CA 3,O=Amazon,C=US -# Serial Number:06:6c:9f:d5:74:97:36:66:3f:3b:0b:9a:d9:e8:9e:76:03:f2:4a -# Subject: CN=Amazon Root CA 3,O=Amazon,C=US -# Not Valid Before: Tue May 26 00:00:00 2015 -# Not Valid After : Sat May 26 00:00:00 2040 -# Fingerprint (SHA-256): 18:CE:6C:FE:7B:F1:4E:60:B2:E3:47:B8:DF:E8:68:CB:31:D0:2E:BB:3A:DA:27:15:69:F5:03:43:B4:6D:B3:A4 -# Fingerprint (SHA1): 0D:44:DD:8C:3C:8C:1A:1A:58:75:64:81:E9:0F:2E:2A:FF:B3:D2:6E -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Amazon Root CA 3" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156 -\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157 -\156\040\122\157\157\164\040\103\101\040\063 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156 -\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157 -\156\040\122\157\157\164\040\103\101\040\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\023\006\154\237\325\164\227\066\146\077\073\013\232\331\350 -\236\166\003\362\112 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\001\266\060\202\001\133\240\003\002\001\002\002\023\006 -\154\237\325\164\227\066\146\077\073\013\232\331\350\236\166\003 -\362\112\060\012\006\010\052\206\110\316\075\004\003\002\060\071 -\061\013\060\011\006\003\125\004\006\023\002\125\123\061\017\060 -\015\006\003\125\004\012\023\006\101\155\141\172\157\156\061\031 -\060\027\006\003\125\004\003\023\020\101\155\141\172\157\156\040 -\122\157\157\164\040\103\101\040\063\060\036\027\015\061\065\060 -\065\062\066\060\060\060\060\060\060\132\027\015\064\060\060\065 -\062\066\060\060\060\060\060\060\132\060\071\061\013\060\011\006 -\003\125\004\006\023\002\125\123\061\017\060\015\006\003\125\004 -\012\023\006\101\155\141\172\157\156\061\031\060\027\006\003\125 -\004\003\023\020\101\155\141\172\157\156\040\122\157\157\164\040 -\103\101\040\063\060\131\060\023\006\007\052\206\110\316\075\002 -\001\006\010\052\206\110\316\075\003\001\007\003\102\000\004\051 -\227\247\306\101\177\300\015\233\350\001\033\126\306\362\122\245 -\272\055\262\022\350\322\056\327\372\311\305\330\252\155\037\163 -\201\073\073\230\153\071\174\063\245\305\116\206\216\200\027\150 -\142\105\127\175\104\130\035\263\067\345\147\010\353\146\336\243 -\102\060\100\060\017\006\003\125\035\023\001\001\377\004\005\060 -\003\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004 -\003\002\001\206\060\035\006\003\125\035\016\004\026\004\024\253 -\266\333\327\006\236\067\254\060\206\007\221\160\307\234\304\031 -\261\170\300\060\012\006\010\052\206\110\316\075\004\003\002\003 -\111\000\060\106\002\041\000\340\205\222\243\027\267\215\371\053 -\006\245\223\254\032\230\150\141\162\372\341\241\320\373\034\170 -\140\246\103\231\305\270\304\002\041\000\234\002\357\361\224\234 -\263\226\371\353\306\052\370\266\054\376\072\220\024\026\327\214 -\143\044\110\034\337\060\175\325\150\073 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "Amazon Root CA 3" -# Issuer: CN=Amazon Root CA 3,O=Amazon,C=US -# Serial Number:06:6c:9f:d5:74:97:36:66:3f:3b:0b:9a:d9:e8:9e:76:03:f2:4a -# Subject: CN=Amazon Root CA 3,O=Amazon,C=US -# Not Valid Before: Tue May 26 00:00:00 2015 -# Not Valid After : Sat May 26 00:00:00 2040 -# Fingerprint (SHA-256): 18:CE:6C:FE:7B:F1:4E:60:B2:E3:47:B8:DF:E8:68:CB:31:D0:2E:BB:3A:DA:27:15:69:F5:03:43:B4:6D:B3:A4 -# Fingerprint (SHA1): 0D:44:DD:8C:3C:8C:1A:1A:58:75:64:81:E9:0F:2E:2A:FF:B3:D2:6E -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Amazon Root CA 3" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\015\104\335\214\074\214\032\032\130\165\144\201\351\017\056\052 -\377\263\322\156 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\240\324\357\013\367\265\330\111\225\052\354\365\304\374\201\207 -END -CKA_ISSUER MULTILINE_OCTAL -\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156 -\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157 -\156\040\122\157\157\164\040\103\101\040\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\023\006\154\237\325\164\227\066\146\077\073\013\232\331\350 -\236\166\003\362\112 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Amazon Root CA 4" -# -# Issuer: CN=Amazon Root CA 4,O=Amazon,C=US -# Serial Number:06:6c:9f:d7:c1:bb:10:4c:29:43:e5:71:7b:7b:2c:c8:1a:c1:0e -# Subject: CN=Amazon Root CA 4,O=Amazon,C=US -# Not Valid Before: Tue May 26 00:00:00 2015 -# Not Valid After : Sat May 26 00:00:00 2040 -# Fingerprint (SHA-256): E3:5D:28:41:9E:D0:20:25:CF:A6:90:38:CD:62:39:62:45:8D:A5:C6:95:FB:DE:A3:C2:2B:0B:FB:25:89:70:92 -# Fingerprint (SHA1): F6:10:84:07:D6:F8:BB:67:98:0C:C2:E2:44:C2:EB:AE:1C:EF:63:BE -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Amazon Root CA 4" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156 -\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157 -\156\040\122\157\157\164\040\103\101\040\064 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156 -\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157 -\156\040\122\157\157\164\040\103\101\040\064 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\023\006\154\237\327\301\273\020\114\051\103\345\161\173\173 -\054\310\032\301\016 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\001\362\060\202\001\170\240\003\002\001\002\002\023\006 -\154\237\327\301\273\020\114\051\103\345\161\173\173\054\310\032 -\301\016\060\012\006\010\052\206\110\316\075\004\003\003\060\071 -\061\013\060\011\006\003\125\004\006\023\002\125\123\061\017\060 -\015\006\003\125\004\012\023\006\101\155\141\172\157\156\061\031 -\060\027\006\003\125\004\003\023\020\101\155\141\172\157\156\040 -\122\157\157\164\040\103\101\040\064\060\036\027\015\061\065\060 -\065\062\066\060\060\060\060\060\060\132\027\015\064\060\060\065 -\062\066\060\060\060\060\060\060\132\060\071\061\013\060\011\006 -\003\125\004\006\023\002\125\123\061\017\060\015\006\003\125\004 -\012\023\006\101\155\141\172\157\156\061\031\060\027\006\003\125 -\004\003\023\020\101\155\141\172\157\156\040\122\157\157\164\040 -\103\101\040\064\060\166\060\020\006\007\052\206\110\316\075\002 -\001\006\005\053\201\004\000\042\003\142\000\004\322\253\212\067 -\117\243\123\015\376\301\212\173\113\250\173\106\113\143\260\142 -\366\055\033\333\010\161\041\322\000\350\143\275\232\047\373\360 -\071\156\135\352\075\245\311\201\252\243\133\040\230\105\135\026 -\333\375\350\020\155\343\234\340\343\275\137\204\142\363\160\144 -\063\240\313\044\057\160\272\210\241\052\240\165\370\201\256\142 -\006\304\201\333\071\156\051\260\036\372\056\134\243\102\060\100 -\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001 -\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001 -\206\060\035\006\003\125\035\016\004\026\004\024\323\354\307\072 -\145\156\314\341\332\166\232\126\373\234\363\206\155\127\345\201 -\060\012\006\010\052\206\110\316\075\004\003\003\003\150\000\060 -\145\002\060\072\213\041\361\275\176\021\255\320\357\130\226\057 -\326\353\235\176\220\215\053\317\146\125\303\054\343\050\251\160 -\012\107\016\360\067\131\022\377\055\231\224\050\116\052\117\065 -\115\063\132\002\061\000\352\165\000\116\073\304\072\224\022\221 -\311\130\106\235\041\023\162\247\210\234\212\344\114\112\333\226 -\324\254\213\153\153\111\022\123\063\255\327\344\276\044\374\265 -\012\166\324\245\274\020 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "Amazon Root CA 4" -# Issuer: CN=Amazon Root CA 4,O=Amazon,C=US -# Serial Number:06:6c:9f:d7:c1:bb:10:4c:29:43:e5:71:7b:7b:2c:c8:1a:c1:0e -# Subject: CN=Amazon Root CA 4,O=Amazon,C=US -# Not Valid Before: Tue May 26 00:00:00 2015 -# Not Valid After : Sat May 26 00:00:00 2040 -# Fingerprint (SHA-256): E3:5D:28:41:9E:D0:20:25:CF:A6:90:38:CD:62:39:62:45:8D:A5:C6:95:FB:DE:A3:C2:2B:0B:FB:25:89:70:92 -# Fingerprint (SHA1): F6:10:84:07:D6:F8:BB:67:98:0C:C2:E2:44:C2:EB:AE:1C:EF:63:BE -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Amazon Root CA 4" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\366\020\204\007\326\370\273\147\230\014\302\342\104\302\353\256 -\034\357\143\276 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\211\274\047\325\353\027\215\006\152\151\325\375\211\107\264\315 -END -CKA_ISSUER MULTILINE_OCTAL -\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156 -\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157 -\156\040\122\157\157\164\040\103\101\040\064 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\023\006\154\237\327\301\273\020\114\051\103\345\161\173\173 -\054\310\032\301\016 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "LuxTrust Global Root 2" -# -# Issuer: CN=LuxTrust Global Root 2,O=LuxTrust S.A.,C=LU -# Serial Number:0a:7e:a6:df:4b:44:9e:da:6a:24:85:9e:e6:b8:15:d3:16:7f:bb:b1 -# Subject: CN=LuxTrust Global Root 2,O=LuxTrust S.A.,C=LU -# Not Valid Before: Thu Mar 05 13:21:57 2015 -# Not Valid After : Mon Mar 05 13:21:57 2035 -# Fingerprint (SHA-256): 54:45:5F:71:29:C2:0B:14:47:C4:18:F9:97:16:8F:24:C5:8F:C5:02:3B:F5:DA:5B:E2:EB:6E:1D:D8:90:2E:D5 -# Fingerprint (SHA1): 1E:0E:56:19:0A:D1:8B:25:98:B2:04:44:FF:66:8A:04:17:99:5F:3F -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "LuxTrust Global Root 2" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\106\061\013\060\011\006\003\125\004\006\023\002\114\125\061 -\026\060\024\006\003\125\004\012\014\015\114\165\170\124\162\165 -\163\164\040\123\056\101\056\061\037\060\035\006\003\125\004\003 -\014\026\114\165\170\124\162\165\163\164\040\107\154\157\142\141 -\154\040\122\157\157\164\040\062 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\106\061\013\060\011\006\003\125\004\006\023\002\114\125\061 -\026\060\024\006\003\125\004\012\014\015\114\165\170\124\162\165 -\163\164\040\123\056\101\056\061\037\060\035\006\003\125\004\003 -\014\026\114\165\170\124\162\165\163\164\040\107\154\157\142\141 -\154\040\122\157\157\164\040\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\024\012\176\246\337\113\104\236\332\152\044\205\236\346\270 -\025\323\026\177\273\261 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\303\060\202\003\253\240\003\002\001\002\002\024\012 -\176\246\337\113\104\236\332\152\044\205\236\346\270\025\323\026 -\177\273\261\060\015\006\011\052\206\110\206\367\015\001\001\013 -\005\000\060\106\061\013\060\011\006\003\125\004\006\023\002\114 -\125\061\026\060\024\006\003\125\004\012\014\015\114\165\170\124 -\162\165\163\164\040\123\056\101\056\061\037\060\035\006\003\125 -\004\003\014\026\114\165\170\124\162\165\163\164\040\107\154\157 -\142\141\154\040\122\157\157\164\040\062\060\036\027\015\061\065 -\060\063\060\065\061\063\062\061\065\067\132\027\015\063\065\060 -\063\060\065\061\063\062\061\065\067\132\060\106\061\013\060\011 -\006\003\125\004\006\023\002\114\125\061\026\060\024\006\003\125 -\004\012\014\015\114\165\170\124\162\165\163\164\040\123\056\101 -\056\061\037\060\035\006\003\125\004\003\014\026\114\165\170\124 -\162\165\163\164\040\107\154\157\142\141\154\040\122\157\157\164 -\040\062\060\202\002\042\060\015\006\011\052\206\110\206\367\015 -\001\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202 -\002\001\000\327\205\227\277\021\230\351\360\142\203\114\074\207 -\371\123\152\067\013\362\017\074\207\316\157\334\046\051\275\305 -\211\272\311\203\075\367\356\312\133\306\155\111\163\264\311\106 -\243\033\064\023\077\301\211\105\127\364\331\261\373\066\145\113 -\373\010\342\110\161\021\310\156\073\236\235\337\211\145\067\246 -\205\366\073\104\030\266\306\067\060\142\104\222\227\151\175\102 -\060\044\344\015\014\211\153\143\336\305\341\337\116\251\024\154 -\123\340\141\316\366\027\057\035\074\275\346\042\114\035\223\365 -\020\304\241\166\354\152\336\305\154\337\226\264\126\100\102\300 -\142\222\060\241\055\025\224\240\322\040\006\011\156\152\155\345 -\353\267\276\324\360\361\025\174\213\346\116\272\023\314\113\047 -\136\231\074\027\135\217\201\177\063\075\117\323\077\033\354\134 -\077\360\074\114\165\156\362\246\325\235\332\055\007\143\002\306 -\162\351\224\274\114\111\225\117\210\122\310\333\350\151\202\370 -\314\064\133\042\360\206\247\211\275\110\012\155\146\201\155\310 -\310\144\373\001\341\364\341\336\331\236\335\333\133\324\052\231 -\046\025\033\036\114\222\051\202\236\325\222\201\222\101\160\031 -\367\244\345\223\113\274\167\147\061\335\034\375\061\160\015\027 -\231\014\371\014\071\031\052\027\265\060\161\125\325\017\256\130 -\341\075\057\064\233\317\237\366\170\205\302\223\172\162\076\146 -\217\234\026\021\140\217\236\211\157\147\276\340\107\132\073\014 -\232\147\213\317\106\306\256\070\243\362\247\274\346\326\205\153 -\063\044\160\042\113\313\010\233\273\310\370\002\051\035\276\040 -\014\106\277\153\207\233\263\052\146\102\065\106\154\252\272\255 -\371\230\173\351\120\125\024\061\277\261\332\055\355\200\255\150 -\044\373\151\253\330\161\023\060\346\147\263\207\100\375\211\176 -\362\103\321\021\337\057\145\057\144\316\137\024\271\261\277\061 -\275\207\170\132\131\145\210\252\374\131\062\110\206\326\114\271 -\051\113\225\323\166\363\167\045\155\102\034\070\203\115\375\243 -\137\233\177\055\254\171\033\016\102\061\227\143\244\373\212\151 -\325\042\015\064\220\060\056\250\264\340\155\266\224\254\274\213 -\116\327\160\374\305\070\216\144\045\341\115\071\220\316\311\207 -\204\130\161\002\003\001\000\001\243\201\250\060\201\245\060\017 -\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060 -\102\006\003\125\035\040\004\073\060\071\060\067\006\007\053\201 -\053\001\001\001\012\060\054\060\052\006\010\053\006\001\005\005 -\007\002\001\026\036\150\164\164\160\163\072\057\057\162\145\160 -\157\163\151\164\157\162\171\056\154\165\170\164\162\165\163\164 -\056\154\165\060\016\006\003\125\035\017\001\001\377\004\004\003 -\002\001\006\060\037\006\003\125\035\043\004\030\060\026\200\024 -\377\030\050\166\371\110\005\054\241\256\361\053\033\053\262\123 -\370\113\174\263\060\035\006\003\125\035\016\004\026\004\024\377 -\030\050\166\371\110\005\054\241\256\361\053\033\053\262\123\370 -\113\174\263\060\015\006\011\052\206\110\206\367\015\001\001\013 -\005\000\003\202\002\001\000\152\031\024\355\156\171\301\054\207 -\324\015\160\176\327\366\170\311\013\004\116\304\261\316\223\160 -\376\260\124\300\062\315\231\060\144\027\277\017\345\342\063\375 -\007\066\100\162\016\032\266\152\131\326\000\345\150\040\335\056 -\162\015\037\152\144\061\040\204\175\111\246\132\067\353\105\311 -\205\365\324\307\027\231\007\346\233\125\344\014\350\251\264\316 -\214\133\265\021\134\317\212\016\015\326\254\167\201\376\062\234 -\044\236\162\316\124\363\320\157\242\126\326\354\303\067\054\145 -\130\276\127\000\032\362\065\372\353\173\061\135\302\301\022\075 -\226\201\210\226\211\301\131\134\172\346\177\160\064\347\203\342 -\261\341\341\270\130\357\324\225\344\140\234\360\226\227\162\214 -\353\204\002\056\145\217\244\267\322\177\147\335\310\323\236\134 -\252\251\244\240\045\024\006\233\354\117\176\055\013\177\035\165 -\361\063\330\355\316\270\165\155\076\133\271\230\035\061\015\126 -\330\103\017\060\221\262\004\153\335\126\276\225\200\125\147\276 -\330\315\203\331\030\356\056\017\206\055\222\236\160\023\354\336 -\121\311\103\170\002\245\115\310\371\137\304\221\130\106\026\167 -\132\164\252\100\274\007\237\060\271\261\367\022\027\335\343\377 -\044\100\035\172\152\321\117\030\012\252\220\035\353\100\036\337 -\241\036\104\222\020\232\362\215\341\321\113\106\236\350\105\102 -\227\352\105\231\363\354\146\325\002\372\362\246\112\044\252\336 -\316\271\312\371\077\223\157\371\243\272\352\245\076\231\255\375 -\377\173\231\365\145\356\360\131\050\147\327\220\225\244\023\204 -\251\204\301\350\316\316\165\223\143\032\274\074\352\325\144\037 -\055\052\022\071\306\303\132\062\355\107\221\026\016\274\070\301 -\120\336\217\312\052\220\064\034\356\101\224\234\136\031\056\370 -\105\111\231\164\221\260\004\157\343\004\132\261\253\052\253\376 -\307\320\226\266\332\341\112\144\006\156\140\115\275\102\116\377 -\170\332\044\312\033\264\327\226\071\154\256\361\016\252\247\175 -\110\213\040\114\317\144\326\270\227\106\260\116\321\052\126\072 -\240\223\275\257\200\044\340\012\176\347\312\325\312\350\205\125 -\334\066\052\341\224\150\223\307\146\162\104\017\200\041\062\154 -\045\307\043\200\203\012\353 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "LuxTrust Global Root 2" -# Issuer: CN=LuxTrust Global Root 2,O=LuxTrust S.A.,C=LU -# Serial Number:0a:7e:a6:df:4b:44:9e:da:6a:24:85:9e:e6:b8:15:d3:16:7f:bb:b1 -# Subject: CN=LuxTrust Global Root 2,O=LuxTrust S.A.,C=LU -# Not Valid Before: Thu Mar 05 13:21:57 2015 -# Not Valid After : Mon Mar 05 13:21:57 2035 -# Fingerprint (SHA-256): 54:45:5F:71:29:C2:0B:14:47:C4:18:F9:97:16:8F:24:C5:8F:C5:02:3B:F5:DA:5B:E2:EB:6E:1D:D8:90:2E:D5 -# Fingerprint (SHA1): 1E:0E:56:19:0A:D1:8B:25:98:B2:04:44:FF:66:8A:04:17:99:5F:3F -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "LuxTrust Global Root 2" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\036\016\126\031\012\321\213\045\230\262\004\104\377\146\212\004 -\027\231\137\077 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\262\341\011\000\141\257\367\361\221\157\304\255\215\136\073\174 -END -CKA_ISSUER MULTILINE_OCTAL -\060\106\061\013\060\011\006\003\125\004\006\023\002\114\125\061 -\026\060\024\006\003\125\004\012\014\015\114\165\170\124\162\165 -\163\164\040\123\056\101\056\061\037\060\035\006\003\125\004\003 -\014\026\114\165\170\124\162\165\163\164\040\107\154\157\142\141 -\154\040\122\157\157\164\040\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\024\012\176\246\337\113\104\236\332\152\044\205\236\346\270 -\025\323\026\177\273\261 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Symantec Class 1 Public Primary Certification Authority - G6" -# -# Issuer: CN=Symantec Class 1 Public Primary Certification Authority - G6,OU=Symantec Trust Network,O=Symantec Corporation,C=US -# Serial Number:24:32:75:f2:1d:2f:d2:09:33:f7:b4:6a:ca:d0:f3:98 -# Subject: CN=Symantec Class 1 Public Primary Certification Authority - G6,OU=Symantec Trust Network,O=Symantec Corporation,C=US -# Not Valid Before: Tue Oct 18 00:00:00 2011 -# Not Valid After : Tue Dec 01 23:59:59 2037 -# Fingerprint (SHA-256): 9D:19:0B:2E:31:45:66:68:5B:E8:A8:89:E2:7A:A8:C7:D7:AE:1D:8A:AD:DB:A3:C1:EC:F9:D2:48:63:CD:34:B9 -# Fingerprint (SHA1): 51:7F:61:1E:29:91:6B:53:82:FB:72:E7:44:D9:8D:C3:CC:53:6D:64 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Symantec Class 1 Public Primary Certification Authority - G6" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156 -\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061 -\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164 -\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153 -\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156 -\164\145\143\040\103\154\141\163\163\040\061\040\120\165\142\154 -\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 -\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 -\164\171\040\055\040\107\066 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156 -\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061 -\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164 -\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153 -\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156 -\164\145\143\040\103\154\141\163\163\040\061\040\120\165\142\154 -\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 -\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 -\164\171\040\055\040\107\066 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\044\062\165\362\035\057\322\011\063\367\264\152\312\320 -\363\230 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\366\060\202\002\336\240\003\002\001\002\002\020\044 -\062\165\362\035\057\322\011\063\367\264\152\312\320\363\230\060 -\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\201 -\224\061\013\060\011\006\003\125\004\006\023\002\125\123\061\035 -\060\033\006\003\125\004\012\023\024\123\171\155\141\156\164\145 -\143\040\103\157\162\160\157\162\141\164\151\157\156\061\037\060 -\035\006\003\125\004\013\023\026\123\171\155\141\156\164\145\143 -\040\124\162\165\163\164\040\116\145\164\167\157\162\153\061\105 -\060\103\006\003\125\004\003\023\074\123\171\155\141\156\164\145 -\143\040\103\154\141\163\163\040\061\040\120\165\142\154\151\143 -\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151 -\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 -\040\055\040\107\066\060\036\027\015\061\061\061\060\061\070\060 -\060\060\060\060\060\132\027\015\063\067\061\062\060\061\062\063 -\065\071\065\071\132\060\201\224\061\013\060\011\006\003\125\004 -\006\023\002\125\123\061\035\060\033\006\003\125\004\012\023\024 -\123\171\155\141\156\164\145\143\040\103\157\162\160\157\162\141 -\164\151\157\156\061\037\060\035\006\003\125\004\013\023\026\123 -\171\155\141\156\164\145\143\040\124\162\165\163\164\040\116\145 -\164\167\157\162\153\061\105\060\103\006\003\125\004\003\023\074 -\123\171\155\141\156\164\145\143\040\103\154\141\163\163\040\061 -\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171\040 -\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165 -\164\150\157\162\151\164\171\040\055\040\107\066\060\202\001\042 -\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003 -\202\001\017\000\060\202\001\012\002\202\001\001\000\307\071\327 -\111\144\251\231\202\042\114\352\105\331\007\026\343\173\364\203 -\350\231\163\372\153\261\066\340\232\167\240\100\302\201\215\001 -\307\314\214\275\217\175\367\171\343\172\114\003\115\331\373\375 -\207\070\050\054\335\232\213\124\010\333\147\373\033\214\376\050 -\222\057\276\267\262\110\247\201\241\330\136\210\303\314\071\100 -\101\132\321\334\345\332\020\237\057\332\001\115\375\056\106\174 -\371\056\047\012\151\067\356\221\243\033\152\314\104\277\033\307 -\303\324\021\262\120\140\227\011\275\056\042\365\101\204\146\237 -\315\100\246\251\000\200\301\037\225\222\237\336\363\110\357\333 -\035\167\141\374\177\337\356\226\244\162\320\266\076\377\170\047 -\257\313\222\025\151\010\333\143\020\342\346\227\254\156\334\254 -\366\242\316\036\107\231\271\211\267\022\346\241\324\315\131\021 -\147\303\157\205\330\102\116\050\276\131\125\131\004\225\253\217 -\067\200\277\015\360\374\037\072\144\061\130\201\170\327\342\065 -\366\040\077\051\270\217\026\156\076\110\334\265\114\007\341\362 -\032\352\176\012\171\326\250\275\353\135\206\053\115\002\003\001 -\000\001\243\102\060\100\060\016\006\003\125\035\017\001\001\377 -\004\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377 -\004\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026 -\004\024\063\101\350\310\071\022\025\223\110\362\226\062\056\132 -\365\332\224\137\123\140\060\015\006\011\052\206\110\206\367\015 -\001\001\013\005\000\003\202\001\001\000\025\343\163\127\261\027 -\266\137\111\151\104\246\366\136\172\147\254\322\336\165\111\253 -\376\045\125\307\072\311\104\025\020\156\277\061\153\313\331\007 -\223\177\034\205\143\000\343\062\022\340\314\313\373\071\154\217 -\342\123\342\074\100\063\331\244\214\107\346\255\130\373\211\257 -\343\336\206\051\126\064\054\105\270\022\372\104\211\156\055\024 -\045\050\044\001\145\326\352\122\254\005\156\126\022\011\075\320 -\164\364\327\275\006\312\250\072\215\126\102\372\215\162\076\164 -\361\003\162\337\207\033\136\016\172\125\226\054\070\267\230\205 -\315\115\063\104\311\224\217\132\061\060\067\113\243\072\022\263 -\347\066\321\041\150\113\055\070\346\123\256\034\045\126\010\126 -\003\147\204\235\306\303\316\044\142\307\114\066\317\260\006\104 -\267\365\137\002\335\331\124\351\057\220\116\172\310\116\203\100 -\014\232\227\074\067\277\277\354\366\360\264\205\167\050\301\013 -\310\147\202\020\027\070\242\267\006\352\233\277\072\370\351\043 -\007\277\164\340\230\070\025\125\170\356\162\000\134\031\243\364 -\322\063\340\377\275\321\124\071\051\017 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "Symantec Class 1 Public Primary Certification Authority - G6" -# Issuer: CN=Symantec Class 1 Public Primary Certification Authority - G6,OU=Symantec Trust Network,O=Symantec Corporation,C=US -# Serial Number:24:32:75:f2:1d:2f:d2:09:33:f7:b4:6a:ca:d0:f3:98 -# Subject: CN=Symantec Class 1 Public Primary Certification Authority - G6,OU=Symantec Trust Network,O=Symantec Corporation,C=US -# Not Valid Before: Tue Oct 18 00:00:00 2011 -# Not Valid After : Tue Dec 01 23:59:59 2037 -# Fingerprint (SHA-256): 9D:19:0B:2E:31:45:66:68:5B:E8:A8:89:E2:7A:A8:C7:D7:AE:1D:8A:AD:DB:A3:C1:EC:F9:D2:48:63:CD:34:B9 -# Fingerprint (SHA1): 51:7F:61:1E:29:91:6B:53:82:FB:72:E7:44:D9:8D:C3:CC:53:6D:64 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Symantec Class 1 Public Primary Certification Authority - G6" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\121\177\141\036\051\221\153\123\202\373\162\347\104\331\215\303 -\314\123\155\144 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\057\250\264\332\366\144\113\036\202\371\106\075\124\032\174\260 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156 -\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061 -\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164 -\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153 -\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156 -\164\145\143\040\103\154\141\163\163\040\061\040\120\165\142\154 -\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 -\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 -\164\171\040\055\040\107\066 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\044\062\165\362\035\057\322\011\063\367\264\152\312\320 -\363\230 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Symantec Class 2 Public Primary Certification Authority - G6" -# -# Issuer: CN=Symantec Class 2 Public Primary Certification Authority - G6,OU=Symantec Trust Network,O=Symantec Corporation,C=US -# Serial Number:64:82:9e:fc:37:1e:74:5d:fc:97:ff:97:c8:b1:ff:41 -# Subject: CN=Symantec Class 2 Public Primary Certification Authority - G6,OU=Symantec Trust Network,O=Symantec Corporation,C=US -# Not Valid Before: Tue Oct 18 00:00:00 2011 -# Not Valid After : Tue Dec 01 23:59:59 2037 -# Fingerprint (SHA-256): CB:62:7D:18:B5:8A:D5:6D:DE:33:1A:30:45:6B:C6:5C:60:1A:4E:9B:18:DE:DC:EA:08:E7:DA:AA:07:81:5F:F0 -# Fingerprint (SHA1): 40:B3:31:A0:E9:BF:E8:55:BC:39:93:CA:70:4F:4E:C2:51:D4:1D:8F -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Symantec Class 2 Public Primary Certification Authority - G6" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156 -\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061 -\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164 -\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153 -\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156 -\164\145\143\040\103\154\141\163\163\040\062\040\120\165\142\154 -\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 -\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 -\164\171\040\055\040\107\066 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156 -\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061 -\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164 -\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153 -\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156 -\164\145\143\040\103\154\141\163\163\040\062\040\120\165\142\154 -\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 -\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 -\164\171\040\055\040\107\066 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\144\202\236\374\067\036\164\135\374\227\377\227\310\261 -\377\101 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\366\060\202\002\336\240\003\002\001\002\002\020\144 -\202\236\374\067\036\164\135\374\227\377\227\310\261\377\101\060 -\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\201 -\224\061\013\060\011\006\003\125\004\006\023\002\125\123\061\035 -\060\033\006\003\125\004\012\023\024\123\171\155\141\156\164\145 -\143\040\103\157\162\160\157\162\141\164\151\157\156\061\037\060 -\035\006\003\125\004\013\023\026\123\171\155\141\156\164\145\143 -\040\124\162\165\163\164\040\116\145\164\167\157\162\153\061\105 -\060\103\006\003\125\004\003\023\074\123\171\155\141\156\164\145 -\143\040\103\154\141\163\163\040\062\040\120\165\142\154\151\143 -\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151 -\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 -\040\055\040\107\066\060\036\027\015\061\061\061\060\061\070\060 -\060\060\060\060\060\132\027\015\063\067\061\062\060\061\062\063 -\065\071\065\071\132\060\201\224\061\013\060\011\006\003\125\004 -\006\023\002\125\123\061\035\060\033\006\003\125\004\012\023\024 -\123\171\155\141\156\164\145\143\040\103\157\162\160\157\162\141 -\164\151\157\156\061\037\060\035\006\003\125\004\013\023\026\123 -\171\155\141\156\164\145\143\040\124\162\165\163\164\040\116\145 -\164\167\157\162\153\061\105\060\103\006\003\125\004\003\023\074 -\123\171\155\141\156\164\145\143\040\103\154\141\163\163\040\062 -\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171\040 -\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165 -\164\150\157\162\151\164\171\040\055\040\107\066\060\202\001\042 -\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003 -\202\001\017\000\060\202\001\012\002\202\001\001\000\315\314\351 -\005\310\143\205\313\077\100\143\027\275\030\372\065\346\004\147 -\127\145\230\051\244\117\311\134\217\017\064\322\370\332\250\023 -\142\252\270\036\120\147\170\260\026\114\240\071\251\025\172\256 -\355\322\242\300\360\220\067\051\030\046\134\350\015\074\266\154 -\111\077\301\340\334\331\113\266\024\031\013\246\323\226\341\326 -\011\343\031\046\034\371\037\145\113\371\032\103\034\000\203\326 -\320\252\111\242\324\333\346\142\070\272\120\024\103\155\371\061 -\370\126\026\331\070\002\221\317\353\154\335\273\071\116\231\341 -\060\147\105\361\324\360\215\303\337\376\362\070\007\041\175\000 -\136\126\104\263\344\140\275\221\053\234\253\133\004\162\017\262 -\050\331\162\253\005\040\102\045\251\133\003\152\040\020\314\061 -\360\053\332\065\054\320\373\232\227\116\360\202\113\053\330\137 -\066\243\013\055\257\143\015\035\045\177\241\156\134\142\241\215 -\050\076\241\374\034\040\370\001\057\272\125\232\021\260\031\322 -\310\120\171\153\016\152\005\327\252\004\066\262\243\362\341\137 -\167\247\167\234\345\036\334\351\337\152\301\145\135\002\003\001 -\000\001\243\102\060\100\060\016\006\003\125\035\017\001\001\377 -\004\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377 -\004\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026 -\004\024\207\214\040\225\310\230\112\321\326\200\006\112\220\064 -\104\337\034\115\277\260\060\015\006\011\052\206\110\206\367\015 -\001\001\013\005\000\003\202\001\001\000\201\216\262\245\146\226 -\267\041\245\266\357\157\043\132\137\333\201\305\102\245\170\301 -\151\375\364\074\327\371\134\153\160\162\032\374\132\227\115\000 -\200\210\210\202\212\303\161\015\216\305\211\233\054\355\215\013 -\322\162\124\365\175\324\134\103\127\351\363\256\245\002\021\366 -\166\053\201\127\335\175\332\164\060\375\124\107\366\340\026\156 -\246\264\012\110\346\347\165\007\017\051\031\071\316\171\364\266 -\154\305\137\231\325\037\113\372\337\155\054\074\015\124\200\160 -\360\210\013\200\317\306\150\242\270\035\160\331\166\214\374\356 -\245\311\317\255\035\317\231\045\127\132\142\105\313\026\153\275 -\111\315\245\243\214\151\171\045\256\270\114\154\213\100\146\113 -\026\077\317\002\032\335\341\154\153\007\141\152\166\025\051\231 -\177\033\335\210\200\301\277\265\217\163\305\246\226\043\204\246 -\050\206\044\063\152\001\056\127\163\045\266\136\277\217\346\035 -\141\250\100\051\147\035\207\233\035\177\233\237\231\315\061\326 -\124\276\142\273\071\254\150\022\110\221\040\245\313\261\335\376 -\157\374\132\344\202\125\131\257\061\251 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "Symantec Class 2 Public Primary Certification Authority - G6" -# Issuer: CN=Symantec Class 2 Public Primary Certification Authority - G6,OU=Symantec Trust Network,O=Symantec Corporation,C=US -# Serial Number:64:82:9e:fc:37:1e:74:5d:fc:97:ff:97:c8:b1:ff:41 -# Subject: CN=Symantec Class 2 Public Primary Certification Authority - G6,OU=Symantec Trust Network,O=Symantec Corporation,C=US -# Not Valid Before: Tue Oct 18 00:00:00 2011 -# Not Valid After : Tue Dec 01 23:59:59 2037 -# Fingerprint (SHA-256): CB:62:7D:18:B5:8A:D5:6D:DE:33:1A:30:45:6B:C6:5C:60:1A:4E:9B:18:DE:DC:EA:08:E7:DA:AA:07:81:5F:F0 -# Fingerprint (SHA1): 40:B3:31:A0:E9:BF:E8:55:BC:39:93:CA:70:4F:4E:C2:51:D4:1D:8F -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Symantec Class 2 Public Primary Certification Authority - G6" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\100\263\061\240\351\277\350\125\274\071\223\312\160\117\116\302 -\121\324\035\217 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\175\013\203\345\373\174\255\007\117\040\251\265\337\143\355\171 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156 -\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061 -\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164 -\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153 -\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156 -\164\145\143\040\103\154\141\163\163\040\062\040\120\165\142\154 -\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 -\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 -\164\171\040\055\040\107\066 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\144\202\236\374\067\036\164\135\374\227\377\227\310\261 -\377\101 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Symantec Class 1 Public Primary Certification Authority - G4" -# -# Issuer: CN=Symantec Class 1 Public Primary Certification Authority - G4,OU=Symantec Trust Network,O=Symantec Corporation,C=US -# Serial Number:21:6e:33:a5:cb:d3:88:a4:6f:29:07:b4:27:3c:c4:d8 -# Subject: CN=Symantec Class 1 Public Primary Certification Authority - G4,OU=Symantec Trust Network,O=Symantec Corporation,C=US -# Not Valid Before: Wed Oct 05 00:00:00 2011 -# Not Valid After : Mon Jan 18 23:59:59 2038 -# Fingerprint (SHA-256): 36:3F:3C:84:9E:AB:03:B0:A2:A0:F6:36:D7:B8:6D:04:D3:AC:7F:CF:E2:6A:0A:91:21:AB:97:95:F6:E1:76:DF -# Fingerprint (SHA1): 84:F2:E3:DD:83:13:3E:A9:1D:19:52:7F:02:D7:29:BF:C1:5F:E6:67 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Symantec Class 1 Public Primary Certification Authority - G4" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156 -\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061 -\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164 -\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153 -\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156 -\164\145\143\040\103\154\141\163\163\040\061\040\120\165\142\154 -\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 -\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 -\164\171\040\055\040\107\064 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156 -\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061 -\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164 -\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153 -\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156 -\164\145\143\040\103\154\141\163\163\040\061\040\120\165\142\154 -\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 -\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 -\164\171\040\055\040\107\064 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\041\156\063\245\313\323\210\244\157\051\007\264\047\074 -\304\330 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\002\250\060\202\002\055\240\003\002\001\002\002\020\041 -\156\063\245\313\323\210\244\157\051\007\264\047\074\304\330\060 -\012\006\010\052\206\110\316\075\004\003\003\060\201\224\061\013 -\060\011\006\003\125\004\006\023\002\125\123\061\035\060\033\006 -\003\125\004\012\023\024\123\171\155\141\156\164\145\143\040\103 -\157\162\160\157\162\141\164\151\157\156\061\037\060\035\006\003 -\125\004\013\023\026\123\171\155\141\156\164\145\143\040\124\162 -\165\163\164\040\116\145\164\167\157\162\153\061\105\060\103\006 -\003\125\004\003\023\074\123\171\155\141\156\164\145\143\040\103 -\154\141\163\163\040\061\040\120\165\142\154\151\143\040\120\162 -\151\155\141\162\171\040\103\145\162\164\151\146\151\143\141\164 -\151\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040 -\107\064\060\036\027\015\061\061\061\060\060\065\060\060\060\060 -\060\060\132\027\015\063\070\060\061\061\070\062\063\065\071\065 -\071\132\060\201\224\061\013\060\011\006\003\125\004\006\023\002 -\125\123\061\035\060\033\006\003\125\004\012\023\024\123\171\155 -\141\156\164\145\143\040\103\157\162\160\157\162\141\164\151\157 -\156\061\037\060\035\006\003\125\004\013\023\026\123\171\155\141 -\156\164\145\143\040\124\162\165\163\164\040\116\145\164\167\157 -\162\153\061\105\060\103\006\003\125\004\003\023\074\123\171\155 -\141\156\164\145\143\040\103\154\141\163\163\040\061\040\120\165 -\142\154\151\143\040\120\162\151\155\141\162\171\040\103\145\162 -\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157 -\162\151\164\171\040\055\040\107\064\060\166\060\020\006\007\052 -\206\110\316\075\002\001\006\005\053\201\004\000\042\003\142\000 -\004\327\146\265\033\333\256\263\140\356\106\352\210\143\165\073 -\052\224\155\363\137\022\366\343\017\236\266\012\024\123\110\122 -\310\334\072\263\313\110\040\046\022\116\372\211\204\324\337\221 -\344\051\175\050\001\331\333\030\103\151\241\037\265\323\206\026 -\334\307\177\147\043\337\337\061\061\203\003\065\160\261\113\267 -\310\027\273\121\313\334\224\027\333\352\011\073\166\022\336\252 -\265\243\102\060\100\060\016\006\003\125\035\017\001\001\377\004 -\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377\004 -\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026\004 -\024\145\300\215\045\365\014\272\227\167\220\077\236\056\340\132 -\365\316\325\341\344\060\012\006\010\052\206\110\316\075\004\003 -\003\003\151\000\060\146\002\061\000\245\256\343\106\123\370\230 -\066\343\042\372\056\050\111\015\356\060\176\063\363\354\077\161 -\136\314\125\211\170\231\254\262\375\334\034\134\063\216\051\271 -\153\027\310\021\150\265\334\203\007\002\061\000\234\310\104\332 -\151\302\066\303\124\031\020\205\002\332\235\107\357\101\347\154 -\046\235\011\075\367\155\220\321\005\104\057\260\274\203\223\150 -\362\014\105\111\071\277\231\004\034\323\020\240 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "Symantec Class 1 Public Primary Certification Authority - G4" -# Issuer: CN=Symantec Class 1 Public Primary Certification Authority - G4,OU=Symantec Trust Network,O=Symantec Corporation,C=US -# Serial Number:21:6e:33:a5:cb:d3:88:a4:6f:29:07:b4:27:3c:c4:d8 -# Subject: CN=Symantec Class 1 Public Primary Certification Authority - G4,OU=Symantec Trust Network,O=Symantec Corporation,C=US -# Not Valid Before: Wed Oct 05 00:00:00 2011 -# Not Valid After : Mon Jan 18 23:59:59 2038 -# Fingerprint (SHA-256): 36:3F:3C:84:9E:AB:03:B0:A2:A0:F6:36:D7:B8:6D:04:D3:AC:7F:CF:E2:6A:0A:91:21:AB:97:95:F6:E1:76:DF -# Fingerprint (SHA1): 84:F2:E3:DD:83:13:3E:A9:1D:19:52:7F:02:D7:29:BF:C1:5F:E6:67 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Symantec Class 1 Public Primary Certification Authority - G4" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\204\362\343\335\203\023\076\251\035\031\122\177\002\327\051\277 -\301\137\346\147 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\004\345\200\077\125\377\131\207\244\062\322\025\245\345\252\346 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156 -\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061 -\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164 -\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153 -\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156 -\164\145\143\040\103\154\141\163\163\040\061\040\120\165\142\154 -\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 -\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 -\164\171\040\055\040\107\064 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\041\156\063\245\313\323\210\244\157\051\007\264\047\074 -\304\330 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Symantec Class 2 Public Primary Certification Authority - G4" -# -# Issuer: CN=Symantec Class 2 Public Primary Certification Authority - G4,OU=Symantec Trust Network,O=Symantec Corporation,C=US -# Serial Number:34:17:65:12:40:3b:b7:56:80:2d:80:cb:79:55:a6:1e -# Subject: CN=Symantec Class 2 Public Primary Certification Authority - G4,OU=Symantec Trust Network,O=Symantec Corporation,C=US -# Not Valid Before: Wed Oct 05 00:00:00 2011 -# Not Valid After : Mon Jan 18 23:59:59 2038 -# Fingerprint (SHA-256): FE:86:3D:08:22:FE:7A:23:53:FA:48:4D:59:24:E8:75:65:6D:3D:C9:FB:58:77:1F:6F:61:6F:9D:57:1B:C5:92 -# Fingerprint (SHA1): 67:24:90:2E:48:01:B0:22:96:40:10:46:B4:B1:67:2C:A9:75:FD:2B -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Symantec Class 2 Public Primary Certification Authority - G4" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156 -\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061 -\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164 -\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153 -\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156 -\164\145\143\040\103\154\141\163\163\040\062\040\120\165\142\154 -\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 -\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 -\164\171\040\055\040\107\064 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156 -\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061 -\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164 -\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153 -\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156 -\164\145\143\040\103\154\141\163\163\040\062\040\120\165\142\154 -\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 -\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 -\164\171\040\055\040\107\064 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\064\027\145\022\100\073\267\126\200\055\200\313\171\125 -\246\036 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\002\250\060\202\002\055\240\003\002\001\002\002\020\064 -\027\145\022\100\073\267\126\200\055\200\313\171\125\246\036\060 -\012\006\010\052\206\110\316\075\004\003\003\060\201\224\061\013 -\060\011\006\003\125\004\006\023\002\125\123\061\035\060\033\006 -\003\125\004\012\023\024\123\171\155\141\156\164\145\143\040\103 -\157\162\160\157\162\141\164\151\157\156\061\037\060\035\006\003 -\125\004\013\023\026\123\171\155\141\156\164\145\143\040\124\162 -\165\163\164\040\116\145\164\167\157\162\153\061\105\060\103\006 -\003\125\004\003\023\074\123\171\155\141\156\164\145\143\040\103 -\154\141\163\163\040\062\040\120\165\142\154\151\143\040\120\162 -\151\155\141\162\171\040\103\145\162\164\151\146\151\143\141\164 -\151\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040 -\107\064\060\036\027\015\061\061\061\060\060\065\060\060\060\060 -\060\060\132\027\015\063\070\060\061\061\070\062\063\065\071\065 -\071\132\060\201\224\061\013\060\011\006\003\125\004\006\023\002 -\125\123\061\035\060\033\006\003\125\004\012\023\024\123\171\155 -\141\156\164\145\143\040\103\157\162\160\157\162\141\164\151\157 -\156\061\037\060\035\006\003\125\004\013\023\026\123\171\155\141 -\156\164\145\143\040\124\162\165\163\164\040\116\145\164\167\157 -\162\153\061\105\060\103\006\003\125\004\003\023\074\123\171\155 -\141\156\164\145\143\040\103\154\141\163\163\040\062\040\120\165 -\142\154\151\143\040\120\162\151\155\141\162\171\040\103\145\162 -\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157 -\162\151\164\171\040\055\040\107\064\060\166\060\020\006\007\052 -\206\110\316\075\002\001\006\005\053\201\004\000\042\003\142\000 -\004\321\331\112\216\114\015\204\112\121\272\174\357\323\314\372 -\072\232\265\247\143\023\075\001\340\111\076\372\301\107\311\222 -\263\072\327\376\157\234\367\232\072\017\365\016\012\012\303\077 -\310\347\022\024\216\325\325\155\230\054\263\161\062\012\353\052 -\275\366\327\152\040\013\147\105\234\322\262\277\123\042\146\011 -\135\333\021\363\361\005\063\130\243\342\270\317\174\315\202\233 -\275\243\102\060\100\060\016\006\003\125\035\017\001\001\377\004 -\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377\004 -\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026\004 -\024\075\062\363\072\251\014\220\204\371\242\214\151\006\141\124 -\057\207\162\376\005\060\012\006\010\052\206\110\316\075\004\003 -\003\003\151\000\060\146\002\061\000\310\246\251\257\101\177\265 -\311\021\102\026\150\151\114\134\270\047\030\266\230\361\300\177 -\220\155\207\323\214\106\027\360\076\117\374\352\260\010\304\172 -\113\274\010\057\307\342\247\157\145\002\061\000\326\131\336\206 -\316\137\016\312\124\325\306\320\025\016\374\213\224\162\324\216 -\000\130\123\317\176\261\113\015\345\120\206\353\236\153\337\377 -\051\246\330\107\331\240\226\030\333\362\105\263 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "Symantec Class 2 Public Primary Certification Authority - G4" -# Issuer: CN=Symantec Class 2 Public Primary Certification Authority - G4,OU=Symantec Trust Network,O=Symantec Corporation,C=US -# Serial Number:34:17:65:12:40:3b:b7:56:80:2d:80:cb:79:55:a6:1e -# Subject: CN=Symantec Class 2 Public Primary Certification Authority - G4,OU=Symantec Trust Network,O=Symantec Corporation,C=US -# Not Valid Before: Wed Oct 05 00:00:00 2011 -# Not Valid After : Mon Jan 18 23:59:59 2038 -# Fingerprint (SHA-256): FE:86:3D:08:22:FE:7A:23:53:FA:48:4D:59:24:E8:75:65:6D:3D:C9:FB:58:77:1F:6F:61:6F:9D:57:1B:C5:92 -# Fingerprint (SHA1): 67:24:90:2E:48:01:B0:22:96:40:10:46:B4:B1:67:2C:A9:75:FD:2B -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Symantec Class 2 Public Primary Certification Authority - G4" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\147\044\220\056\110\001\260\042\226\100\020\106\264\261\147\054 -\251\165\375\053 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\160\325\060\361\332\224\227\324\327\164\337\276\355\150\336\226 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156 -\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061 -\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164 -\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153 -\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156 -\164\145\143\040\103\154\141\163\163\040\062\040\120\165\142\154 -\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 -\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 -\164\171\040\055\040\107\064 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\064\027\145\022\100\073\267\126\200\055\200\313\171\125 -\246\036 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "D-TRUST Root CA 3 2013" -# -# Issuer: CN=D-TRUST Root CA 3 2013,O=D-Trust GmbH,C=DE -# Serial Number: 1039788 (0xfddac) -# Subject: CN=D-TRUST Root CA 3 2013,O=D-Trust GmbH,C=DE -# Not Valid Before: Fri Sep 20 08:25:51 2013 -# Not Valid After : Wed Sep 20 08:25:51 2028 -# Fingerprint (SHA-256): A1:A8:6D:04:12:1E:B8:7F:02:7C:66:F5:33:03:C2:8E:57:39:F9:43:FC:84:B3:8A:D6:AF:00:90:35:DD:94:57 -# Fingerprint (SHA1): 6C:7C:CC:E7:D4:AE:51:5F:99:08:CD:3F:F6:E8:C3:78:DF:6F:EF:97 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "D-TRUST Root CA 3 2013" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\105\061\013\060\011\006\003\125\004\006\023\002\104\105\061 -\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163 -\164\040\107\155\142\110\061\037\060\035\006\003\125\004\003\014 -\026\104\055\124\122\125\123\124\040\122\157\157\164\040\103\101 -\040\063\040\062\060\061\063 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\105\061\013\060\011\006\003\125\004\006\023\002\104\105\061 -\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163 -\164\040\107\155\142\110\061\037\060\035\006\003\125\004\003\014 -\026\104\055\124\122\125\123\124\040\122\157\157\164\040\103\101 -\040\063\040\062\060\061\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\003\017\335\254 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\016\060\202\002\366\240\003\002\001\002\002\003\017 -\335\254\060\015\006\011\052\206\110\206\367\015\001\001\013\005 -\000\060\105\061\013\060\011\006\003\125\004\006\023\002\104\105 -\061\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165 -\163\164\040\107\155\142\110\061\037\060\035\006\003\125\004\003 -\014\026\104\055\124\122\125\123\124\040\122\157\157\164\040\103 -\101\040\063\040\062\060\061\063\060\036\027\015\061\063\060\071 -\062\060\060\070\062\065\065\061\132\027\015\062\070\060\071\062 -\060\060\070\062\065\065\061\132\060\105\061\013\060\011\006\003 -\125\004\006\023\002\104\105\061\025\060\023\006\003\125\004\012 -\014\014\104\055\124\162\165\163\164\040\107\155\142\110\061\037 -\060\035\006\003\125\004\003\014\026\104\055\124\122\125\123\124 -\040\122\157\157\164\040\103\101\040\063\040\062\060\061\063\060 -\202\001\042\060\015\006\011\052\206\110\206\367\015\001\001\001 -\005\000\003\202\001\017\000\060\202\001\012\002\202\001\001\000 -\304\173\102\222\202\037\354\355\124\230\216\022\300\312\011\337 -\223\156\072\223\134\033\344\020\167\236\116\151\210\154\366\341 -\151\362\366\233\242\141\261\275\007\040\164\230\145\361\214\046 -\010\315\250\065\312\200\066\321\143\155\350\104\172\202\303\154 -\136\336\273\350\066\322\304\150\066\214\237\062\275\204\042\340 -\334\302\356\020\106\071\155\257\223\071\256\207\346\303\274\011 -\311\054\153\147\133\331\233\166\165\114\013\340\273\305\327\274 -\076\171\362\137\276\321\220\127\371\256\366\146\137\061\277\323 -\155\217\247\272\112\363\043\145\273\267\357\243\045\327\012\352 -\130\266\357\210\372\372\171\262\122\130\325\360\254\214\241\121 -\164\051\225\252\121\073\220\062\003\237\034\162\164\220\336\075 -\355\141\322\345\343\375\144\107\345\271\267\112\251\367\037\256 -\226\206\004\254\057\343\244\201\167\267\132\026\377\330\017\077 -\366\267\170\314\244\257\372\133\074\022\133\250\122\211\162\357 -\210\363\325\104\201\206\225\043\237\173\335\274\331\064\357\174 -\224\074\252\300\101\302\343\235\120\032\300\344\031\042\374\263 -\002\003\001\000\001\243\202\001\005\060\202\001\001\060\017\006 -\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\035 -\006\003\125\035\016\004\026\004\024\077\220\310\175\307\025\157 -\363\044\217\251\303\057\113\242\017\041\262\057\347\060\016\006 -\003\125\035\017\001\001\377\004\004\003\002\001\006\060\201\276 -\006\003\125\035\037\004\201\266\060\201\263\060\164\240\162\240 -\160\206\156\154\144\141\160\072\057\057\144\151\162\145\143\164 -\157\162\171\056\144\055\164\162\165\163\164\056\156\145\164\057 -\103\116\075\104\055\124\122\125\123\124\045\062\060\122\157\157 -\164\045\062\060\103\101\045\062\060\063\045\062\060\062\060\061 -\063\054\117\075\104\055\124\162\165\163\164\045\062\060\107\155 -\142\110\054\103\075\104\105\077\143\145\162\164\151\146\151\143 -\141\164\145\162\145\166\157\143\141\164\151\157\156\154\151\163 -\164\060\073\240\071\240\067\206\065\150\164\164\160\072\057\057 -\143\162\154\056\144\055\164\162\165\163\164\056\156\145\164\057 -\143\162\154\057\144\055\164\162\165\163\164\137\162\157\157\164 -\137\143\141\137\063\137\062\060\061\063\056\143\162\154\060\015 -\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202\001 -\001\000\016\131\016\130\344\164\110\043\104\317\064\041\265\234 -\024\032\255\232\113\267\263\210\155\134\251\027\160\360\052\237 -\215\173\371\173\205\372\307\071\350\020\010\260\065\053\137\317 -\002\322\323\234\310\013\036\356\005\124\256\067\223\004\011\175 -\154\217\302\164\274\370\034\224\276\061\001\100\055\363\044\040 -\267\204\125\054\134\310\365\164\112\020\031\213\243\307\355\065 -\326\011\110\323\016\300\272\071\250\260\106\002\260\333\306\210 -\131\302\276\374\173\261\053\317\176\142\207\125\226\314\001\157 -\233\147\041\225\065\213\370\020\374\161\033\267\113\067\151\246 -\073\326\354\213\356\301\260\363\045\311\217\222\175\241\352\303 -\312\104\277\046\245\164\222\234\343\164\353\235\164\331\313\115 -\207\330\374\264\151\154\213\240\103\007\140\170\227\351\331\223 -\174\302\106\274\233\067\122\243\355\212\074\023\251\173\123\113 -\111\232\021\005\054\013\156\126\254\037\056\202\154\340\151\147 -\265\016\155\055\331\344\300\025\361\077\372\030\162\341\025\155 -\047\133\055\060\050\053\237\110\232\144\053\231\357\362\165\111 -\137\134 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "D-TRUST Root CA 3 2013" -# Issuer: CN=D-TRUST Root CA 3 2013,O=D-Trust GmbH,C=DE -# Serial Number: 1039788 (0xfddac) -# Subject: CN=D-TRUST Root CA 3 2013,O=D-Trust GmbH,C=DE -# Not Valid Before: Fri Sep 20 08:25:51 2013 -# Not Valid After : Wed Sep 20 08:25:51 2028 -# Fingerprint (SHA-256): A1:A8:6D:04:12:1E:B8:7F:02:7C:66:F5:33:03:C2:8E:57:39:F9:43:FC:84:B3:8A:D6:AF:00:90:35:DD:94:57 -# Fingerprint (SHA1): 6C:7C:CC:E7:D4:AE:51:5F:99:08:CD:3F:F6:E8:C3:78:DF:6F:EF:97 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "D-TRUST Root CA 3 2013" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\154\174\314\347\324\256\121\137\231\010\315\077\366\350\303\170 -\337\157\357\227 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\267\042\146\230\176\326\003\340\301\161\346\165\315\126\105\277 -END -CKA_ISSUER MULTILINE_OCTAL -\060\105\061\013\060\011\006\003\125\004\006\023\002\104\105\061 -\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163 -\164\040\107\155\142\110\061\037\060\035\006\003\125\004\003\014 -\026\104\055\124\122\125\123\124\040\122\157\157\164\040\103\101 -\040\063\040\062\060\061\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\003\017\335\254 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" -# -# Issuer: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1,OU=Kamu Sertifikasyon Merkezi - Kamu SM,O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK,L=Gebze - Kocaeli,C=TR -# Serial Number: 1 (0x1) -# Subject: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1,OU=Kamu Sertifikasyon Merkezi - Kamu SM,O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK,L=Gebze - Kocaeli,C=TR -# Not Valid Before: Mon Nov 25 08:25:55 2013 -# Not Valid After : Sun Oct 25 08:25:55 2043 -# Fingerprint (SHA-256): 46:ED:C3:68:90:46:D5:3A:45:3F:B3:10:4A:B8:0D:CA:EC:65:8B:26:60:EA:16:29:DD:7E:86:79:90:64:87:16 -# Fingerprint (SHA1): 31:43:64:9B:EC:CE:27:EC:ED:3A:3F:0B:8F:0D:E4:E8:91:DD:EE:CA -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\322\061\013\060\011\006\003\125\004\006\023\002\124\122 -\061\030\060\026\006\003\125\004\007\023\017\107\145\142\172\145 -\040\055\040\113\157\143\141\145\154\151\061\102\060\100\006\003 -\125\004\012\023\071\124\165\162\153\151\171\145\040\102\151\154 -\151\155\163\145\154\040\166\145\040\124\145\153\156\157\154\157 -\152\151\153\040\101\162\141\163\164\151\162\155\141\040\113\165 -\162\165\155\165\040\055\040\124\125\102\111\124\101\113\061\055 -\060\053\006\003\125\004\013\023\044\113\141\155\165\040\123\145 -\162\164\151\146\151\153\141\163\171\157\156\040\115\145\162\153 -\145\172\151\040\055\040\113\141\155\165\040\123\115\061\066\060 -\064\006\003\125\004\003\023\055\124\125\102\111\124\101\113\040 -\113\141\155\165\040\123\115\040\123\123\114\040\113\157\153\040 -\123\145\162\164\151\146\151\153\141\163\151\040\055\040\123\165 -\162\165\155\040\061 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\322\061\013\060\011\006\003\125\004\006\023\002\124\122 -\061\030\060\026\006\003\125\004\007\023\017\107\145\142\172\145 -\040\055\040\113\157\143\141\145\154\151\061\102\060\100\006\003 -\125\004\012\023\071\124\165\162\153\151\171\145\040\102\151\154 -\151\155\163\145\154\040\166\145\040\124\145\153\156\157\154\157 -\152\151\153\040\101\162\141\163\164\151\162\155\141\040\113\165 -\162\165\155\165\040\055\040\124\125\102\111\124\101\113\061\055 -\060\053\006\003\125\004\013\023\044\113\141\155\165\040\123\145 -\162\164\151\146\151\153\141\163\171\157\156\040\115\145\162\153 -\145\172\151\040\055\040\113\141\155\165\040\123\115\061\066\060 -\064\006\003\125\004\003\023\055\124\125\102\111\124\101\113\040 -\113\141\155\165\040\123\115\040\123\123\114\040\113\157\153\040 -\123\145\162\164\151\146\151\153\141\163\151\040\055\040\123\165 -\162\165\155\040\061 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\001 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\143\060\202\003\113\240\003\002\001\002\002\001\001 -\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060 -\201\322\061\013\060\011\006\003\125\004\006\023\002\124\122\061 -\030\060\026\006\003\125\004\007\023\017\107\145\142\172\145\040 -\055\040\113\157\143\141\145\154\151\061\102\060\100\006\003\125 -\004\012\023\071\124\165\162\153\151\171\145\040\102\151\154\151 -\155\163\145\154\040\166\145\040\124\145\153\156\157\154\157\152 -\151\153\040\101\162\141\163\164\151\162\155\141\040\113\165\162 -\165\155\165\040\055\040\124\125\102\111\124\101\113\061\055\060 -\053\006\003\125\004\013\023\044\113\141\155\165\040\123\145\162 -\164\151\146\151\153\141\163\171\157\156\040\115\145\162\153\145 -\172\151\040\055\040\113\141\155\165\040\123\115\061\066\060\064 -\006\003\125\004\003\023\055\124\125\102\111\124\101\113\040\113 -\141\155\165\040\123\115\040\123\123\114\040\113\157\153\040\123 -\145\162\164\151\146\151\153\141\163\151\040\055\040\123\165\162 -\165\155\040\061\060\036\027\015\061\063\061\061\062\065\060\070 -\062\065\065\065\132\027\015\064\063\061\060\062\065\060\070\062 -\065\065\065\132\060\201\322\061\013\060\011\006\003\125\004\006 -\023\002\124\122\061\030\060\026\006\003\125\004\007\023\017\107 -\145\142\172\145\040\055\040\113\157\143\141\145\154\151\061\102 -\060\100\006\003\125\004\012\023\071\124\165\162\153\151\171\145 -\040\102\151\154\151\155\163\145\154\040\166\145\040\124\145\153 -\156\157\154\157\152\151\153\040\101\162\141\163\164\151\162\155 -\141\040\113\165\162\165\155\165\040\055\040\124\125\102\111\124 -\101\113\061\055\060\053\006\003\125\004\013\023\044\113\141\155 -\165\040\123\145\162\164\151\146\151\153\141\163\171\157\156\040 -\115\145\162\153\145\172\151\040\055\040\113\141\155\165\040\123 -\115\061\066\060\064\006\003\125\004\003\023\055\124\125\102\111 -\124\101\113\040\113\141\155\165\040\123\115\040\123\123\114\040 -\113\157\153\040\123\145\162\164\151\146\151\153\141\163\151\040 -\055\040\123\165\162\165\155\040\061\060\202\001\042\060\015\006 -\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017 -\000\060\202\001\012\002\202\001\001\000\257\165\060\063\252\273 -\153\323\231\054\022\067\204\331\215\173\227\200\323\156\347\377 -\233\120\225\076\220\225\126\102\327\031\174\046\204\215\222\372 -\001\035\072\017\342\144\070\267\214\274\350\210\371\213\044\253 -\056\243\365\067\344\100\216\030\045\171\203\165\037\073\377\154 -\250\305\306\126\370\264\355\212\104\243\253\154\114\374\035\320 -\334\357\150\275\317\344\252\316\360\125\367\242\064\324\203\153 -\067\174\034\302\376\265\003\354\127\316\274\264\265\305\355\000 -\017\123\067\052\115\364\117\014\203\373\206\317\313\376\214\116 -\275\207\371\247\213\041\127\234\172\337\003\147\211\054\235\227 -\141\247\020\270\125\220\177\016\055\047\070\164\337\347\375\332 -\116\022\343\115\025\042\002\310\340\340\374\017\255\212\327\311 -\124\120\314\073\017\312\026\200\204\320\121\126\303\216\126\177 -\211\042\063\057\346\205\012\275\245\250\033\066\336\323\334\054 -\155\073\307\023\275\131\043\054\346\345\244\367\330\013\355\352 -\220\100\104\250\225\273\223\325\320\200\064\266\106\170\016\037 -\000\223\106\341\356\351\371\354\117\027\002\003\001\000\001\243 -\102\060\100\060\035\006\003\125\035\016\004\026\004\024\145\077 -\307\212\206\306\074\335\074\124\134\065\370\072\355\122\014\107 -\127\310\060\016\006\003\125\035\017\001\001\377\004\004\003\002 -\001\006\060\017\006\003\125\035\023\001\001\377\004\005\060\003 -\001\001\377\060\015\006\011\052\206\110\206\367\015\001\001\013 -\005\000\003\202\001\001\000\052\077\341\361\062\216\256\341\230 -\134\113\136\317\153\036\152\011\322\042\251\022\307\136\127\175 -\163\126\144\200\204\172\223\344\011\271\020\315\237\052\047\341 -\000\167\276\110\310\065\250\201\237\344\270\054\311\177\016\260 -\322\113\067\135\352\271\325\013\136\064\275\364\163\051\303\355 -\046\025\234\176\010\123\212\130\215\320\113\050\337\301\263\337 -\040\363\371\343\343\072\337\314\234\224\330\116\117\303\153\027 -\267\367\162\350\255\146\063\265\045\123\253\340\370\114\251\235 -\375\362\015\272\256\271\331\252\306\153\371\223\273\256\253\270 -\227\074\003\032\272\103\306\226\271\105\162\070\263\247\241\226 -\075\221\173\176\300\041\123\114\207\355\362\013\124\225\121\223 -\325\042\245\015\212\361\223\016\076\124\016\260\330\311\116\334 -\362\061\062\126\352\144\371\352\265\235\026\146\102\162\363\177 -\323\261\061\103\374\244\216\027\361\155\043\253\224\146\370\255 -\373\017\010\156\046\055\177\027\007\011\262\214\373\120\300\237 -\226\215\317\266\375\000\235\132\024\232\277\002\104\365\301\302 -\237\042\136\242\017\241\343 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" -# Issuer: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1,OU=Kamu Sertifikasyon Merkezi - Kamu SM,O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK,L=Gebze - Kocaeli,C=TR -# Serial Number: 1 (0x1) -# Subject: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1,OU=Kamu Sertifikasyon Merkezi - Kamu SM,O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK,L=Gebze - Kocaeli,C=TR -# Not Valid Before: Mon Nov 25 08:25:55 2013 -# Not Valid After : Sun Oct 25 08:25:55 2043 -# Fingerprint (SHA-256): 46:ED:C3:68:90:46:D5:3A:45:3F:B3:10:4A:B8:0D:CA:EC:65:8B:26:60:EA:16:29:DD:7E:86:79:90:64:87:16 -# Fingerprint (SHA1): 31:43:64:9B:EC:CE:27:EC:ED:3A:3F:0B:8F:0D:E4:E8:91:DD:EE:CA -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\061\103\144\233\354\316\047\354\355\072\077\013\217\015\344\350 -\221\335\356\312 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\334\000\201\334\151\057\076\057\260\073\366\075\132\221\216\111 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\322\061\013\060\011\006\003\125\004\006\023\002\124\122 -\061\030\060\026\006\003\125\004\007\023\017\107\145\142\172\145 -\040\055\040\113\157\143\141\145\154\151\061\102\060\100\006\003 -\125\004\012\023\071\124\165\162\153\151\171\145\040\102\151\154 -\151\155\163\145\154\040\166\145\040\124\145\153\156\157\154\157 -\152\151\153\040\101\162\141\163\164\151\162\155\141\040\113\165 -\162\165\155\165\040\055\040\124\125\102\111\124\101\113\061\055 -\060\053\006\003\125\004\013\023\044\113\141\155\165\040\123\145 -\162\164\151\146\151\153\141\163\171\157\156\040\115\145\162\153 -\145\172\151\040\055\040\113\141\155\165\040\123\115\061\066\060 -\064\006\003\125\004\003\023\055\124\125\102\111\124\101\113\040 -\113\141\155\165\040\123\115\040\123\123\114\040\113\157\153\040 -\123\145\162\164\151\146\151\153\141\163\151\040\055\040\123\165 -\162\165\155\040\061 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\001\001 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "GDCA TrustAUTH R5 ROOT" -# -# Issuer: CN=GDCA TrustAUTH R5 ROOT,O="GUANG DONG CERTIFICATE AUTHORITY CO.,LTD.",C=CN -# Serial Number:7d:09:97:fe:f0:47:ea:7a -# Subject: CN=GDCA TrustAUTH R5 ROOT,O="GUANG DONG CERTIFICATE AUTHORITY CO.,LTD.",C=CN -# Not Valid Before: Wed Nov 26 05:13:15 2014 -# Not Valid After : Mon Dec 31 15:59:59 2040 -# Fingerprint (SHA-256): BF:FF:8F:D0:44:33:48:7D:6A:8A:A6:0C:1A:29:76:7A:9F:C2:BB:B0:5E:42:0F:71:3A:13:B9:92:89:1D:38:93 -# Fingerprint (SHA1): 0F:36:38:5B:81:1A:25:C3:9B:31:4E:83:CA:E9:34:66:70:CC:74:B4 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GDCA TrustAUTH R5 ROOT" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\142\061\013\060\011\006\003\125\004\006\023\002\103\116\061 -\062\060\060\006\003\125\004\012\014\051\107\125\101\116\107\040 -\104\117\116\107\040\103\105\122\124\111\106\111\103\101\124\105 -\040\101\125\124\110\117\122\111\124\131\040\103\117\056\054\114 -\124\104\056\061\037\060\035\006\003\125\004\003\014\026\107\104 -\103\101\040\124\162\165\163\164\101\125\124\110\040\122\065\040 -\122\117\117\124 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\142\061\013\060\011\006\003\125\004\006\023\002\103\116\061 -\062\060\060\006\003\125\004\012\014\051\107\125\101\116\107\040 -\104\117\116\107\040\103\105\122\124\111\106\111\103\101\124\105 -\040\101\125\124\110\117\122\111\124\131\040\103\117\056\054\114 -\124\104\056\061\037\060\035\006\003\125\004\003\014\026\107\104 -\103\101\040\124\162\165\163\164\101\125\124\110\040\122\065\040 -\122\117\117\124 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\010\175\011\227\376\360\107\352\172 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\210\060\202\003\160\240\003\002\001\002\002\010\175 -\011\227\376\360\107\352\172\060\015\006\011\052\206\110\206\367 -\015\001\001\013\005\000\060\142\061\013\060\011\006\003\125\004 -\006\023\002\103\116\061\062\060\060\006\003\125\004\012\014\051 -\107\125\101\116\107\040\104\117\116\107\040\103\105\122\124\111 -\106\111\103\101\124\105\040\101\125\124\110\117\122\111\124\131 -\040\103\117\056\054\114\124\104\056\061\037\060\035\006\003\125 -\004\003\014\026\107\104\103\101\040\124\162\165\163\164\101\125 -\124\110\040\122\065\040\122\117\117\124\060\036\027\015\061\064 -\061\061\062\066\060\065\061\063\061\065\132\027\015\064\060\061 -\062\063\061\061\065\065\071\065\071\132\060\142\061\013\060\011 -\006\003\125\004\006\023\002\103\116\061\062\060\060\006\003\125 -\004\012\014\051\107\125\101\116\107\040\104\117\116\107\040\103 -\105\122\124\111\106\111\103\101\124\105\040\101\125\124\110\117 -\122\111\124\131\040\103\117\056\054\114\124\104\056\061\037\060 -\035\006\003\125\004\003\014\026\107\104\103\101\040\124\162\165 -\163\164\101\125\124\110\040\122\065\040\122\117\117\124\060\202 -\002\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005 -\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000\331 -\243\026\360\310\164\164\167\233\357\063\015\073\006\176\125\374 -\265\140\217\166\206\022\102\175\126\146\076\210\202\355\162\143 -\016\236\213\335\064\054\002\121\121\303\031\375\131\124\204\311 -\361\153\263\114\260\351\350\106\135\070\306\242\247\056\021\127 -\272\202\025\242\234\217\155\260\231\112\012\362\353\211\160\143 -\116\171\304\267\133\275\242\135\261\362\101\002\053\255\251\072 -\243\354\171\012\354\137\072\343\375\357\200\074\255\064\233\032 -\253\210\046\173\126\242\202\206\037\353\065\211\203\177\137\256 -\051\116\075\266\156\354\256\301\360\047\233\256\343\364\354\357 -\256\177\367\206\075\162\172\353\245\373\131\116\247\353\225\214 -\042\071\171\341\055\010\217\314\274\221\270\101\367\024\301\043 -\251\303\255\232\105\104\263\262\327\054\315\306\051\342\120\020 -\256\134\313\202\216\027\030\066\175\227\346\210\232\260\115\064 -\011\364\054\271\132\146\052\260\027\233\236\036\166\235\112\146 -\061\101\337\077\373\305\006\357\033\266\176\032\106\066\367\144 -\143\073\343\071\030\043\347\147\165\024\325\165\127\222\067\275 -\276\152\033\046\120\362\066\046\006\220\305\160\001\144\155\166 -\146\341\221\333\156\007\300\141\200\056\262\056\057\214\160\247 -\321\073\074\263\221\344\156\266\304\073\160\362\154\222\227\011 -\315\107\175\030\300\363\273\236\017\326\213\256\007\266\132\017 -\316\013\014\107\247\345\076\270\275\175\307\233\065\240\141\227 -\072\101\165\027\314\053\226\167\052\222\041\036\331\225\166\040 -\147\150\317\015\275\337\326\037\011\152\232\342\314\163\161\244 -\057\175\022\200\267\123\060\106\136\113\124\231\017\147\311\245 -\310\362\040\301\202\354\235\021\337\302\002\373\032\073\321\355 -\040\232\357\145\144\222\020\015\052\342\336\160\361\030\147\202 -\214\141\336\270\274\321\057\234\373\017\320\053\355\033\166\271 -\344\071\125\370\370\241\035\270\252\200\000\114\202\347\262\177 -\011\270\274\060\240\057\015\365\122\236\216\367\222\263\012\000 -\035\000\124\227\006\340\261\007\331\307\017\134\145\175\074\155 -\131\127\344\355\245\215\351\100\123\237\025\113\240\161\366\032 -\041\343\332\160\006\041\130\024\207\205\167\171\252\202\171\002 -\003\001\000\001\243\102\060\100\060\035\006\003\125\035\016\004 -\026\004\024\342\311\100\237\115\316\350\232\241\174\317\016\077 -\145\305\051\210\152\031\121\060\017\006\003\125\035\023\001\001 -\377\004\005\060\003\001\001\377\060\016\006\003\125\035\017\001 -\001\377\004\004\003\002\001\206\060\015\006\011\052\206\110\206 -\367\015\001\001\013\005\000\003\202\002\001\000\321\111\127\340 -\247\314\150\130\272\001\017\053\031\315\215\260\141\105\254\021 -\355\143\120\151\370\037\177\276\026\217\375\235\353\013\252\062 -\107\166\322\147\044\355\275\174\063\062\227\052\307\005\206\146 -\015\027\175\024\025\033\324\353\375\037\232\366\136\227\151\267 -\032\045\244\012\263\221\077\137\066\254\213\354\127\250\076\347 -\201\212\030\127\071\205\164\032\102\307\351\133\023\137\217\371 -\010\351\222\164\215\365\107\322\253\073\326\373\170\146\116\066 -\175\371\351\222\351\004\336\375\111\143\374\155\373\024\161\223 -\147\057\107\112\267\271\377\036\052\163\160\106\060\277\132\362 -\057\171\245\341\215\014\331\371\262\143\067\214\067\145\205\160 -\152\134\133\011\162\271\255\143\074\261\335\370\374\062\277\067 -\206\344\273\216\230\047\176\272\037\026\341\160\021\362\003\337 -\045\142\062\047\046\030\062\204\237\377\000\072\023\272\232\115 -\364\117\270\024\160\042\261\312\053\220\316\051\301\160\364\057 -\235\177\362\220\036\326\132\337\267\106\374\346\206\372\313\340 -\040\166\172\272\246\313\365\174\336\142\245\261\213\356\336\202 -\146\212\116\072\060\037\077\200\313\255\047\272\014\136\327\320 -\261\126\312\167\161\262\265\165\241\120\251\100\103\027\302\050 -\331\317\122\213\133\310\143\324\102\076\240\063\172\106\056\367 -\012\040\106\124\176\152\117\061\361\201\176\102\164\070\145\163 -\047\356\306\174\270\216\327\245\072\327\230\241\234\214\020\125 -\323\333\113\354\100\220\362\315\156\127\322\142\016\174\127\223 -\261\247\155\315\235\203\273\052\347\345\266\073\161\130\255\375 -\321\105\274\132\221\356\123\025\157\323\105\011\165\156\272\220 -\135\036\004\317\067\337\036\250\146\261\214\346\040\152\357\374 -\110\116\164\230\102\257\051\157\056\152\307\373\175\321\146\061 -\042\314\206\000\176\146\203\014\102\364\275\064\222\303\032\352 -\117\312\176\162\115\013\160\214\246\110\273\246\241\024\366\373 -\130\104\231\024\256\252\013\223\151\240\051\045\112\245\313\053 -\335\212\146\007\026\170\025\127\161\033\354\365\107\204\363\236 -\061\067\172\325\177\044\255\344\274\375\375\314\156\203\350\014 -\250\267\101\154\007\335\275\074\206\227\057\322 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "GDCA TrustAUTH R5 ROOT" -# Issuer: CN=GDCA TrustAUTH R5 ROOT,O="GUANG DONG CERTIFICATE AUTHORITY CO.,LTD.",C=CN -# Serial Number:7d:09:97:fe:f0:47:ea:7a -# Subject: CN=GDCA TrustAUTH R5 ROOT,O="GUANG DONG CERTIFICATE AUTHORITY CO.,LTD.",C=CN -# Not Valid Before: Wed Nov 26 05:13:15 2014 -# Not Valid After : Mon Dec 31 15:59:59 2040 -# Fingerprint (SHA-256): BF:FF:8F:D0:44:33:48:7D:6A:8A:A6:0C:1A:29:76:7A:9F:C2:BB:B0:5E:42:0F:71:3A:13:B9:92:89:1D:38:93 -# Fingerprint (SHA1): 0F:36:38:5B:81:1A:25:C3:9B:31:4E:83:CA:E9:34:66:70:CC:74:B4 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GDCA TrustAUTH R5 ROOT" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\017\066\070\133\201\032\045\303\233\061\116\203\312\351\064\146 -\160\314\164\264 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\143\314\331\075\064\065\134\157\123\243\342\010\160\110\037\264 -END -CKA_ISSUER MULTILINE_OCTAL -\060\142\061\013\060\011\006\003\125\004\006\023\002\103\116\061 -\062\060\060\006\003\125\004\012\014\051\107\125\101\116\107\040 -\104\117\116\107\040\103\105\122\124\111\106\111\103\101\124\105 -\040\101\125\124\110\117\122\111\124\131\040\103\117\056\054\114 -\124\104\056\061\037\060\035\006\003\125\004\003\014\026\107\104 -\103\101\040\124\162\165\163\164\101\125\124\110\040\122\065\040 -\122\117\117\124 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\010\175\011\227\376\360\107\352\172 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "TrustCor RootCert CA-1" -# -# Issuer: CN=TrustCor RootCert CA-1,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA -# Serial Number:00:da:9b:ec:71:f3:03:b0:19 -# Subject: CN=TrustCor RootCert CA-1,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA -# Not Valid Before: Thu Feb 04 12:32:16 2016 -# Not Valid After : Mon Dec 31 17:23:16 2029 -# Fingerprint (SHA-256): D4:0E:9C:86:CD:8F:E4:68:C1:77:69:59:F4:9E:A7:74:FA:54:86:84:B6:C4:06:F3:90:92:61:F4:DC:E2:57:5C -# Fingerprint (SHA1): FF:BD:CD:E7:82:C8:43:5E:3C:6F:26:86:5C:CA:A8:3A:45:5B:C3:0A -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "TrustCor RootCert CA-1" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\244\061\013\060\011\006\003\125\004\006\023\002\120\101 -\061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155 -\141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141 -\155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012 -\014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145 -\155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060 -\045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162 -\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164 -\150\157\162\151\164\171\061\037\060\035\006\003\125\004\003\014 -\026\124\162\165\163\164\103\157\162\040\122\157\157\164\103\145 -\162\164\040\103\101\055\061 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\244\061\013\060\011\006\003\125\004\006\023\002\120\101 -\061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155 -\141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141 -\155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012 -\014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145 -\155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060 -\045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162 -\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164 -\150\157\162\151\164\171\061\037\060\035\006\003\125\004\003\014 -\026\124\162\165\163\164\103\157\162\040\122\157\157\164\103\145 -\162\164\040\103\101\055\061 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\011\000\332\233\354\161\363\003\260\031 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\060\060\202\003\030\240\003\002\001\002\002\011\000 -\332\233\354\161\363\003\260\031\060\015\006\011\052\206\110\206 -\367\015\001\001\013\005\000\060\201\244\061\013\060\011\006\003 -\125\004\006\023\002\120\101\061\017\060\015\006\003\125\004\010 -\014\006\120\141\156\141\155\141\061\024\060\022\006\003\125\004 -\007\014\013\120\141\156\141\155\141\040\103\151\164\171\061\044 -\060\042\006\003\125\004\012\014\033\124\162\165\163\164\103\157 -\162\040\123\171\163\164\145\155\163\040\123\056\040\144\145\040 -\122\056\114\056\061\047\060\045\006\003\125\004\013\014\036\124 -\162\165\163\164\103\157\162\040\103\145\162\164\151\146\151\143 -\141\164\145\040\101\165\164\150\157\162\151\164\171\061\037\060 -\035\006\003\125\004\003\014\026\124\162\165\163\164\103\157\162 -\040\122\157\157\164\103\145\162\164\040\103\101\055\061\060\036 -\027\015\061\066\060\062\060\064\061\062\063\062\061\066\132\027 -\015\062\071\061\062\063\061\061\067\062\063\061\066\132\060\201 -\244\061\013\060\011\006\003\125\004\006\023\002\120\101\061\017 -\060\015\006\003\125\004\010\014\006\120\141\156\141\155\141\061 -\024\060\022\006\003\125\004\007\014\013\120\141\156\141\155\141 -\040\103\151\164\171\061\044\060\042\006\003\125\004\012\014\033 -\124\162\165\163\164\103\157\162\040\123\171\163\164\145\155\163 -\040\123\056\040\144\145\040\122\056\114\056\061\047\060\045\006 -\003\125\004\013\014\036\124\162\165\163\164\103\157\162\040\103 -\145\162\164\151\146\151\143\141\164\145\040\101\165\164\150\157 -\162\151\164\171\061\037\060\035\006\003\125\004\003\014\026\124 -\162\165\163\164\103\157\162\040\122\157\157\164\103\145\162\164 -\040\103\101\055\061\060\202\001\042\060\015\006\011\052\206\110 -\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001 -\012\002\202\001\001\000\277\216\267\225\342\302\046\022\153\063 -\031\307\100\130\012\253\131\252\215\000\243\374\200\307\120\173 -\216\324\040\046\272\062\022\330\043\124\111\045\020\042\230\235 -\106\322\301\311\236\116\033\056\054\016\070\363\032\045\150\034 -\246\132\005\346\036\213\110\277\230\226\164\076\151\312\351\265 -\170\245\006\274\325\000\136\011\012\362\047\172\122\374\055\325 -\261\352\264\211\141\044\363\032\023\333\251\317\122\355\014\044 -\272\271\236\354\176\000\164\372\223\255\154\051\222\256\121\264 -\273\323\127\277\263\363\250\215\234\364\044\113\052\326\231\236 -\364\236\376\300\176\102\072\347\013\225\123\332\267\150\016\220 -\114\373\160\077\217\112\054\224\363\046\335\143\151\251\224\330 -\020\116\305\107\010\220\231\033\027\115\271\154\156\357\140\225 -\021\216\041\200\265\275\240\163\330\320\262\167\304\105\352\132 -\046\373\146\166\166\370\006\037\141\155\017\125\305\203\267\020 -\126\162\006\007\245\363\261\032\003\005\144\016\235\132\212\326 -\206\160\033\044\336\376\050\212\053\320\152\260\374\172\242\334 -\262\171\016\213\145\017\002\003\001\000\001\243\143\060\141\060 -\035\006\003\125\035\016\004\026\004\024\356\153\111\074\172\077 -\015\343\261\011\267\212\310\253\031\237\163\063\120\347\060\037 -\006\003\125\035\043\004\030\060\026\200\024\356\153\111\074\172 -\077\015\343\261\011\267\212\310\253\031\237\163\063\120\347\060 -\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377 -\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\206 -\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003 -\202\001\001\000\045\030\324\221\217\023\356\217\036\035\021\123 -\332\055\104\051\031\240\036\153\061\236\115\016\236\255\075\134 -\101\157\225\053\044\241\171\230\072\070\066\373\273\146\236\110 -\377\220\220\357\075\324\270\233\264\207\165\077\040\233\316\162 -\317\241\125\301\115\144\242\031\006\241\007\063\014\013\051\345 -\361\352\253\243\354\265\012\164\220\307\175\162\362\327\134\237 -\221\357\221\213\267\334\355\146\242\317\216\146\073\274\237\072 -\002\340\047\335\026\230\300\225\324\012\244\344\201\232\165\224 -\065\234\220\137\210\067\006\255\131\225\012\260\321\147\323\031 -\312\211\347\062\132\066\034\076\202\250\132\223\276\306\320\144 -\221\266\317\331\266\030\317\333\176\322\145\243\246\304\216\027 -\061\301\373\176\166\333\323\205\343\130\262\167\172\166\073\154 -\057\120\034\347\333\366\147\171\037\365\202\225\232\007\247\024 -\257\217\334\050\041\147\011\322\326\115\132\034\031\034\216\167 -\134\303\224\044\075\062\153\113\176\324\170\224\203\276\067\115 -\316\137\307\036\116\074\340\211\063\225\013\017\245\062\326\074 -\132\171\054\031 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "TrustCor RootCert CA-1" -# Issuer: CN=TrustCor RootCert CA-1,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA -# Serial Number:00:da:9b:ec:71:f3:03:b0:19 -# Subject: CN=TrustCor RootCert CA-1,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA -# Not Valid Before: Thu Feb 04 12:32:16 2016 -# Not Valid After : Mon Dec 31 17:23:16 2029 -# Fingerprint (SHA-256): D4:0E:9C:86:CD:8F:E4:68:C1:77:69:59:F4:9E:A7:74:FA:54:86:84:B6:C4:06:F3:90:92:61:F4:DC:E2:57:5C -# Fingerprint (SHA1): FF:BD:CD:E7:82:C8:43:5E:3C:6F:26:86:5C:CA:A8:3A:45:5B:C3:0A -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "TrustCor RootCert CA-1" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\377\275\315\347\202\310\103\136\074\157\046\206\134\312\250\072 -\105\133\303\012 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\156\205\361\334\032\000\323\042\325\262\262\254\153\067\005\105 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\244\061\013\060\011\006\003\125\004\006\023\002\120\101 -\061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155 -\141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141 -\155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012 -\014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145 -\155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060 -\045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162 -\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164 -\150\157\162\151\164\171\061\037\060\035\006\003\125\004\003\014 -\026\124\162\165\163\164\103\157\162\040\122\157\157\164\103\145 -\162\164\040\103\101\055\061 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\011\000\332\233\354\161\363\003\260\031 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "TrustCor RootCert CA-2" -# -# Issuer: CN=TrustCor RootCert CA-2,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA -# Serial Number:25:a1:df:ca:33:cb:59:02 -# Subject: CN=TrustCor RootCert CA-2,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA -# Not Valid Before: Thu Feb 04 12:32:23 2016 -# Not Valid After : Sun Dec 31 17:26:39 2034 -# Fingerprint (SHA-256): 07:53:E9:40:37:8C:1B:D5:E3:83:6E:39:5D:AE:A5:CB:83:9E:50:46:F1:BD:0E:AE:19:51:CF:10:FE:C7:C9:65 -# Fingerprint (SHA1): B8:BE:6D:CB:56:F1:55:B9:63:D4:12:CA:4E:06:34:C7:94:B2:1C:C0 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "TrustCor RootCert CA-2" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\244\061\013\060\011\006\003\125\004\006\023\002\120\101 -\061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155 -\141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141 -\155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012 -\014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145 -\155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060 -\045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162 -\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164 -\150\157\162\151\164\171\061\037\060\035\006\003\125\004\003\014 -\026\124\162\165\163\164\103\157\162\040\122\157\157\164\103\145 -\162\164\040\103\101\055\062 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\244\061\013\060\011\006\003\125\004\006\023\002\120\101 -\061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155 -\141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141 -\155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012 -\014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145 -\155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060 -\045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162 -\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164 -\150\157\162\151\164\171\061\037\060\035\006\003\125\004\003\014 -\026\124\162\165\163\164\103\157\162\040\122\157\157\164\103\145 -\162\164\040\103\101\055\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\010\045\241\337\312\063\313\131\002 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\006\057\060\202\004\027\240\003\002\001\002\002\010\045 -\241\337\312\063\313\131\002\060\015\006\011\052\206\110\206\367 -\015\001\001\013\005\000\060\201\244\061\013\060\011\006\003\125 -\004\006\023\002\120\101\061\017\060\015\006\003\125\004\010\014 -\006\120\141\156\141\155\141\061\024\060\022\006\003\125\004\007 -\014\013\120\141\156\141\155\141\040\103\151\164\171\061\044\060 -\042\006\003\125\004\012\014\033\124\162\165\163\164\103\157\162 -\040\123\171\163\164\145\155\163\040\123\056\040\144\145\040\122 -\056\114\056\061\047\060\045\006\003\125\004\013\014\036\124\162 -\165\163\164\103\157\162\040\103\145\162\164\151\146\151\143\141 -\164\145\040\101\165\164\150\157\162\151\164\171\061\037\060\035 -\006\003\125\004\003\014\026\124\162\165\163\164\103\157\162\040 -\122\157\157\164\103\145\162\164\040\103\101\055\062\060\036\027 -\015\061\066\060\062\060\064\061\062\063\062\062\063\132\027\015 -\063\064\061\062\063\061\061\067\062\066\063\071\132\060\201\244 -\061\013\060\011\006\003\125\004\006\023\002\120\101\061\017\060 -\015\006\003\125\004\010\014\006\120\141\156\141\155\141\061\024 -\060\022\006\003\125\004\007\014\013\120\141\156\141\155\141\040 -\103\151\164\171\061\044\060\042\006\003\125\004\012\014\033\124 -\162\165\163\164\103\157\162\040\123\171\163\164\145\155\163\040 -\123\056\040\144\145\040\122\056\114\056\061\047\060\045\006\003 -\125\004\013\014\036\124\162\165\163\164\103\157\162\040\103\145 -\162\164\151\146\151\143\141\164\145\040\101\165\164\150\157\162 -\151\164\171\061\037\060\035\006\003\125\004\003\014\026\124\162 -\165\163\164\103\157\162\040\122\157\157\164\103\145\162\164\040 -\103\101\055\062\060\202\002\042\060\015\006\011\052\206\110\206 -\367\015\001\001\001\005\000\003\202\002\017\000\060\202\002\012 -\002\202\002\001\000\247\040\156\302\052\242\142\044\225\220\166 -\310\070\176\200\322\253\301\233\145\005\224\364\301\012\020\325 -\002\254\355\237\223\307\207\310\260\047\053\102\014\075\012\076 -\101\132\236\165\335\215\312\340\233\354\150\062\244\151\222\150 -\214\013\201\016\126\240\076\032\335\054\045\024\202\057\227\323 -\144\106\364\124\251\334\072\124\055\061\053\231\202\362\331\052 -\327\357\161\000\270\061\244\276\172\044\007\303\102\040\362\212 -\324\222\004\033\145\126\114\154\324\373\266\141\132\107\043\264 -\330\151\264\267\072\320\164\074\014\165\241\214\116\166\241\351 -\333\052\245\073\372\316\260\377\176\152\050\375\047\034\310\261 -\351\051\361\127\156\144\264\320\301\025\155\016\276\056\016\106 -\310\136\364\121\376\357\016\143\072\073\161\272\317\157\131\312 -\014\343\233\135\111\270\114\342\127\261\230\212\102\127\234\166 -\357\357\275\321\150\250\322\364\011\273\167\065\276\045\202\010 -\304\026\054\104\040\126\251\104\021\167\357\135\264\035\252\136 -\153\076\213\062\366\007\057\127\004\222\312\365\376\235\302\351 -\350\263\216\114\113\002\061\331\344\074\110\202\047\367\030\202 -\166\110\072\161\261\023\241\071\325\056\305\064\302\035\142\205 -\337\003\376\115\364\257\075\337\134\133\215\372\160\341\245\176 -\047\307\206\056\152\217\022\306\204\136\103\121\120\234\031\233 -\170\346\374\366\355\107\176\173\075\146\357\023\023\210\137\074 -\241\143\373\371\254\207\065\237\363\202\236\244\077\012\234\061 -\151\213\231\244\210\112\216\156\146\115\357\026\304\017\171\050 -\041\140\015\205\026\175\327\124\070\361\222\126\375\265\063\114 -\203\334\327\020\237\113\375\306\370\102\275\272\174\163\002\340 -\377\175\315\133\341\324\254\141\173\127\325\112\173\133\324\205 -\130\047\135\277\370\053\140\254\240\046\256\024\041\047\306\167 -\232\063\200\074\136\106\077\367\303\261\243\206\063\306\350\136 -\015\271\065\054\252\106\301\205\002\165\200\240\353\044\373\025 -\252\344\147\177\156\167\077\364\004\212\057\174\173\343\027\141 -\360\335\011\251\040\310\276\011\244\320\176\104\303\262\060\112 -\070\252\251\354\030\232\007\202\053\333\270\234\030\255\332\340 -\106\027\254\317\135\002\003\001\000\001\243\143\060\141\060\035 -\006\003\125\035\016\004\026\004\024\331\376\041\100\156\224\236 -\274\233\075\234\175\230\040\031\345\214\060\142\262\060\037\006 -\003\125\035\043\004\030\060\026\200\024\331\376\041\100\156\224 -\236\274\233\075\234\175\230\040\031\345\214\060\142\262\060\017 -\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060 -\016\006\003\125\035\017\001\001\377\004\004\003\002\001\206\060 -\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202 -\002\001\000\236\105\236\014\073\266\357\341\072\310\174\321\000 -\075\317\342\352\006\265\262\072\273\006\113\150\172\320\043\227 -\164\247\054\360\010\330\171\132\327\132\204\212\330\022\232\033 -\331\175\134\115\160\305\245\371\253\345\243\211\211\335\001\372 -\354\335\371\351\222\227\333\260\106\102\363\323\142\252\225\376 -\061\147\024\151\130\220\012\252\013\356\067\043\307\120\121\264 -\365\176\236\343\173\367\344\314\102\062\055\111\014\313\377\111 -\014\233\036\064\375\156\156\226\212\171\003\266\157\333\011\313 -\375\137\145\024\067\341\070\365\363\141\026\130\344\265\155\015 -\013\004\033\077\120\055\177\263\307\172\032\026\200\140\370\212 -\037\351\033\052\306\371\272\001\032\151\277\322\130\307\124\127 -\010\217\341\071\140\167\113\254\131\204\032\210\361\335\313\117 -\170\327\347\341\063\055\374\356\101\372\040\260\276\313\367\070 -\224\300\341\320\205\017\273\355\054\163\253\355\376\222\166\032 -\144\177\133\015\063\011\007\063\173\006\077\021\244\134\160\074 -\205\300\317\343\220\250\203\167\372\333\346\305\214\150\147\020 -\147\245\122\055\360\304\231\217\177\277\321\153\342\265\107\326 -\331\320\205\231\115\224\233\017\113\215\356\000\132\107\035\021 -\003\254\101\030\257\207\267\157\014\072\217\312\317\334\003\301 -\242\011\310\345\375\200\136\310\140\102\001\033\032\123\132\273 -\067\246\267\274\272\204\351\036\154\032\324\144\332\324\103\376 -\223\213\113\362\054\171\026\020\324\223\013\210\217\241\330\206 -\024\106\221\107\233\050\044\357\127\122\116\134\102\234\252\367 -\111\354\047\350\100\036\263\246\211\042\162\234\365\015\063\264 -\130\243\060\073\335\324\152\124\223\276\032\115\363\223\224\367 -\374\204\013\077\204\040\134\064\003\104\305\332\255\274\012\301 -\002\317\036\345\224\331\363\216\133\330\114\360\235\354\141\027 -\273\024\062\124\014\002\051\223\036\222\206\366\177\357\347\222 -\005\016\131\335\231\010\056\056\372\234\000\122\323\305\146\051 -\344\247\227\104\244\016\050\201\023\065\305\366\157\144\346\101 -\304\325\057\314\064\105\045\317\101\000\226\075\112\056\302\226 -\230\117\116\112\234\227\267\333\037\222\062\310\377\017\121\156 -\326\354\011 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "TrustCor RootCert CA-2" -# Issuer: CN=TrustCor RootCert CA-2,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA -# Serial Number:25:a1:df:ca:33:cb:59:02 -# Subject: CN=TrustCor RootCert CA-2,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA -# Not Valid Before: Thu Feb 04 12:32:23 2016 -# Not Valid After : Sun Dec 31 17:26:39 2034 -# Fingerprint (SHA-256): 07:53:E9:40:37:8C:1B:D5:E3:83:6E:39:5D:AE:A5:CB:83:9E:50:46:F1:BD:0E:AE:19:51:CF:10:FE:C7:C9:65 -# Fingerprint (SHA1): B8:BE:6D:CB:56:F1:55:B9:63:D4:12:CA:4E:06:34:C7:94:B2:1C:C0 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "TrustCor RootCert CA-2" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\270\276\155\313\126\361\125\271\143\324\022\312\116\006\064\307 -\224\262\034\300 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\242\341\370\030\013\272\105\325\307\101\052\273\067\122\105\144 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\244\061\013\060\011\006\003\125\004\006\023\002\120\101 -\061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155 -\141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141 -\155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012 -\014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145 -\155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060 -\045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162 -\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164 -\150\157\162\151\164\171\061\037\060\035\006\003\125\004\003\014 -\026\124\162\165\163\164\103\157\162\040\122\157\157\164\103\145 -\162\164\040\103\101\055\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\010\045\241\337\312\063\313\131\002 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "TrustCor ECA-1" -# -# Issuer: CN=TrustCor ECA-1,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA -# Serial Number:00:84:82:2c:5f:1c:62:d0:40 -# Subject: CN=TrustCor ECA-1,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA -# Not Valid Before: Thu Feb 04 12:32:33 2016 -# Not Valid After : Mon Dec 31 17:28:07 2029 -# Fingerprint (SHA-256): 5A:88:5D:B1:9C:01:D9:12:C5:75:93:88:93:8C:AF:BB:DF:03:1A:B2:D4:8E:91:EE:15:58:9B:42:97:1D:03:9C -# Fingerprint (SHA1): 58:D1:DF:95:95:67:6B:63:C0:F0:5B:1C:17:4D:8B:84:0B:C8:78:BD -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "TrustCor ECA-1" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\234\061\013\060\011\006\003\125\004\006\023\002\120\101 -\061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155 -\141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141 -\155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012 -\014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145 -\155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060 -\045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162 -\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164 -\150\157\162\151\164\171\061\027\060\025\006\003\125\004\003\014 -\016\124\162\165\163\164\103\157\162\040\105\103\101\055\061 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\234\061\013\060\011\006\003\125\004\006\023\002\120\101 -\061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155 -\141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141 -\155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012 -\014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145 -\155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060 -\045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162 -\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164 -\150\157\162\151\164\171\061\027\060\025\006\003\125\004\003\014 -\016\124\162\165\163\164\103\157\162\040\105\103\101\055\061 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\011\000\204\202\054\137\034\142\320\100 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\004\040\060\202\003\010\240\003\002\001\002\002\011\000 -\204\202\054\137\034\142\320\100\060\015\006\011\052\206\110\206 -\367\015\001\001\013\005\000\060\201\234\061\013\060\011\006\003 -\125\004\006\023\002\120\101\061\017\060\015\006\003\125\004\010 -\014\006\120\141\156\141\155\141\061\024\060\022\006\003\125\004 -\007\014\013\120\141\156\141\155\141\040\103\151\164\171\061\044 -\060\042\006\003\125\004\012\014\033\124\162\165\163\164\103\157 -\162\040\123\171\163\164\145\155\163\040\123\056\040\144\145\040 -\122\056\114\056\061\047\060\045\006\003\125\004\013\014\036\124 -\162\165\163\164\103\157\162\040\103\145\162\164\151\146\151\143 -\141\164\145\040\101\165\164\150\157\162\151\164\171\061\027\060 -\025\006\003\125\004\003\014\016\124\162\165\163\164\103\157\162 -\040\105\103\101\055\061\060\036\027\015\061\066\060\062\060\064 -\061\062\063\062\063\063\132\027\015\062\071\061\062\063\061\061 -\067\062\070\060\067\132\060\201\234\061\013\060\011\006\003\125 -\004\006\023\002\120\101\061\017\060\015\006\003\125\004\010\014 -\006\120\141\156\141\155\141\061\024\060\022\006\003\125\004\007 -\014\013\120\141\156\141\155\141\040\103\151\164\171\061\044\060 -\042\006\003\125\004\012\014\033\124\162\165\163\164\103\157\162 -\040\123\171\163\164\145\155\163\040\123\056\040\144\145\040\122 -\056\114\056\061\047\060\045\006\003\125\004\013\014\036\124\162 -\165\163\164\103\157\162\040\103\145\162\164\151\146\151\143\141 -\164\145\040\101\165\164\150\157\162\151\164\171\061\027\060\025 -\006\003\125\004\003\014\016\124\162\165\163\164\103\157\162\040 -\105\103\101\055\061\060\202\001\042\060\015\006\011\052\206\110 -\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001 -\012\002\202\001\001\000\317\217\340\021\265\237\250\166\166\333 -\337\017\124\357\163\143\051\202\255\107\306\243\153\355\376\137 -\063\370\103\121\351\032\063\221\061\027\240\164\304\324\247\001 -\346\262\222\076\152\235\355\016\371\164\230\100\323\077\003\200 -\006\202\100\350\261\342\247\121\247\035\203\046\153\253\336\372 -\027\221\053\330\306\254\036\261\236\031\001\325\227\246\352\015 -\267\304\125\037\047\174\322\010\325\166\037\051\025\207\100\071 -\335\070\105\021\165\320\232\247\064\340\277\315\310\122\035\271 -\107\176\015\270\273\306\014\366\163\127\026\132\176\103\221\037 -\125\072\306\155\104\004\252\234\251\234\247\114\211\027\203\256 -\243\004\136\122\200\213\036\022\045\021\031\327\014\175\175\061 -\104\101\352\333\257\260\034\357\201\320\054\305\232\041\233\075 -\355\102\073\120\046\362\354\316\161\141\006\142\041\124\116\177 -\301\235\076\177\040\214\200\313\052\330\227\142\310\203\063\221 -\175\260\242\132\017\127\350\073\314\362\045\262\324\174\057\354 -\115\306\241\072\025\172\347\266\135\065\365\366\110\112\066\105 -\146\324\272\230\130\301\002\003\001\000\001\243\143\060\141\060 -\035\006\003\125\035\016\004\026\004\024\104\236\110\365\314\155 -\110\324\240\113\177\376\131\044\057\203\227\231\232\206\060\037 -\006\003\125\035\043\004\030\060\026\200\024\104\236\110\365\314 -\155\110\324\240\113\177\376\131\044\057\203\227\231\232\206\060 -\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377 -\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\206 -\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003 -\202\001\001\000\005\076\065\134\025\160\233\311\307\163\141\157 -\162\053\324\302\217\362\103\135\002\316\304\224\271\224\021\203 -\147\135\342\147\154\165\166\277\273\014\252\066\306\255\107\223 -\143\334\036\176\326\336\056\376\351\031\062\070\003\177\024\366 -\000\163\054\131\261\041\006\341\373\254\030\225\014\243\377\231 -\226\367\053\047\233\325\044\314\035\335\301\072\340\230\104\260 -\304\344\076\167\261\163\251\144\054\366\034\001\174\077\135\105 -\205\300\205\347\045\217\225\334\027\363\074\237\032\156\260\312 -\343\035\052\351\114\143\372\044\141\142\326\332\176\266\034\154 -\365\002\035\324\052\335\125\220\353\052\021\107\074\056\136\164 -\262\202\042\245\175\123\037\105\354\047\221\175\347\042\026\350 -\300\150\066\330\306\361\117\200\104\062\371\341\321\321\035\252 -\336\250\253\234\004\257\255\040\016\144\230\115\245\153\300\110 -\130\226\151\115\334\007\214\121\223\242\337\237\017\075\213\140 -\264\202\215\252\010\116\142\105\340\371\013\322\340\340\074\133 -\336\134\161\047\045\302\346\003\201\213\020\123\343\307\125\242 -\264\237\327\346 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "TrustCor ECA-1" -# Issuer: CN=TrustCor ECA-1,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA -# Serial Number:00:84:82:2c:5f:1c:62:d0:40 -# Subject: CN=TrustCor ECA-1,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA -# Not Valid Before: Thu Feb 04 12:32:33 2016 -# Not Valid After : Mon Dec 31 17:28:07 2029 -# Fingerprint (SHA-256): 5A:88:5D:B1:9C:01:D9:12:C5:75:93:88:93:8C:AF:BB:DF:03:1A:B2:D4:8E:91:EE:15:58:9B:42:97:1D:03:9C -# Fingerprint (SHA1): 58:D1:DF:95:95:67:6B:63:C0:F0:5B:1C:17:4D:8B:84:0B:C8:78:BD -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "TrustCor ECA-1" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\130\321\337\225\225\147\153\143\300\360\133\034\027\115\213\204 -\013\310\170\275 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\047\222\043\035\012\365\100\174\351\346\153\235\330\365\347\154 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\234\061\013\060\011\006\003\125\004\006\023\002\120\101 -\061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155 -\141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141 -\155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012 -\014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145 -\155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060 -\045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162 -\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164 -\150\157\162\151\164\171\061\027\060\025\006\003\125\004\003\014 -\016\124\162\165\163\164\103\157\162\040\105\103\101\055\061 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\011\000\204\202\054\137\034\142\320\100 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "SSL.com Root Certification Authority RSA" -# -# Issuer: CN=SSL.com Root Certification Authority RSA,O=SSL Corporation,L=Houston,ST=Texas,C=US -# Serial Number:7b:2c:9b:d3:16:80:32:99 -# Subject: CN=SSL.com Root Certification Authority RSA,O=SSL Corporation,L=Houston,ST=Texas,C=US -# Not Valid Before: Fri Feb 12 17:39:39 2016 -# Not Valid After : Tue Feb 12 17:39:39 2041 -# Fingerprint (SHA-256): 85:66:6A:56:2E:E0:BE:5C:E9:25:C1:D8:89:0A:6F:76:A8:7E:C1:6D:4D:7D:5F:29:EA:74:19:CF:20:12:3B:69 -# Fingerprint (SHA1): B7:AB:33:08:D1:EA:44:77:BA:14:80:12:5A:6F:BD:A9:36:49:0C:BB -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "SSL.com Root Certification Authority RSA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\174\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163\061 -\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164\157 -\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040 -\103\157\162\160\157\162\141\164\151\157\156\061\061\060\057\006 -\003\125\004\003\014\050\123\123\114\056\143\157\155\040\122\157 -\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156 -\040\101\165\164\150\157\162\151\164\171\040\122\123\101 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\174\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163\061 -\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164\157 -\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040 -\103\157\162\160\157\162\141\164\151\157\156\061\061\060\057\006 -\003\125\004\003\014\050\123\123\114\056\143\157\155\040\122\157 -\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156 -\040\101\165\164\150\157\162\151\164\171\040\122\123\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\010\173\054\233\323\026\200\062\231 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\335\060\202\003\305\240\003\002\001\002\002\010\173 -\054\233\323\026\200\062\231\060\015\006\011\052\206\110\206\367 -\015\001\001\013\005\000\060\174\061\013\060\011\006\003\125\004 -\006\023\002\125\123\061\016\060\014\006\003\125\004\010\014\005 -\124\145\170\141\163\061\020\060\016\006\003\125\004\007\014\007 -\110\157\165\163\164\157\156\061\030\060\026\006\003\125\004\012 -\014\017\123\123\114\040\103\157\162\160\157\162\141\164\151\157 -\156\061\061\060\057\006\003\125\004\003\014\050\123\123\114\056 -\143\157\155\040\122\157\157\164\040\103\145\162\164\151\146\151 -\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 -\040\122\123\101\060\036\027\015\061\066\060\062\061\062\061\067 -\063\071\063\071\132\027\015\064\061\060\062\061\062\061\067\063 -\071\063\071\132\060\174\061\013\060\011\006\003\125\004\006\023 -\002\125\123\061\016\060\014\006\003\125\004\010\014\005\124\145 -\170\141\163\061\020\060\016\006\003\125\004\007\014\007\110\157 -\165\163\164\157\156\061\030\060\026\006\003\125\004\012\014\017 -\123\123\114\040\103\157\162\160\157\162\141\164\151\157\156\061 -\061\060\057\006\003\125\004\003\014\050\123\123\114\056\143\157 -\155\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141 -\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040\122 -\123\101\060\202\002\042\060\015\006\011\052\206\110\206\367\015 -\001\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202 -\002\001\000\371\017\335\243\053\175\313\320\052\376\354\147\205 -\246\347\056\033\272\167\341\343\365\257\244\354\372\112\135\221 -\304\127\107\153\030\167\153\166\362\375\223\344\075\017\302\026 -\236\013\146\303\126\224\236\027\203\205\316\126\357\362\026\375 -\000\142\365\042\011\124\350\145\027\116\101\271\340\117\106\227 -\252\033\310\270\156\142\136\151\261\137\333\052\002\176\374\154 -\312\363\101\330\355\320\350\374\077\141\110\355\260\003\024\035 -\020\016\113\031\340\273\116\354\206\145\377\066\363\136\147\002 -\013\235\206\125\141\375\172\070\355\376\342\031\000\267\157\241 -\120\142\165\164\074\240\372\310\045\222\264\156\172\042\307\370 -\036\241\343\262\335\221\061\253\053\035\004\377\245\112\004\067 -\351\205\244\063\053\375\342\326\125\064\174\031\244\112\150\307 -\262\250\323\267\312\241\223\210\353\301\227\274\214\371\035\331 -\042\204\044\164\307\004\075\152\251\051\223\314\353\270\133\341 -\376\137\045\252\064\130\310\301\043\124\235\033\230\021\303\070 -\234\176\075\206\154\245\017\100\206\174\002\364\134\002\117\050 -\313\256\161\237\017\072\310\063\376\021\045\065\352\374\272\305 -\140\075\331\174\030\325\262\251\323\165\170\003\162\042\312\072 -\303\037\357\054\345\056\251\372\236\054\266\121\106\375\257\003 -\326\352\140\150\352\205\026\066\153\205\351\036\300\263\335\304 -\044\334\200\052\201\101\155\224\076\310\340\311\201\101\000\236 -\136\277\177\305\010\230\242\030\054\102\100\263\371\157\070\047 -\113\116\200\364\075\201\107\340\210\174\352\034\316\265\165\134 -\121\056\034\053\177\032\162\050\347\000\265\321\164\306\327\344 -\237\255\007\223\266\123\065\065\374\067\344\303\366\135\026\276 -\041\163\336\222\012\370\240\143\152\274\226\222\152\076\370\274 -\145\125\233\336\365\015\211\046\004\374\045\032\246\045\151\313 -\302\155\312\174\342\131\137\227\254\353\357\056\310\274\327\033 -\131\074\053\314\362\031\310\223\153\047\143\031\317\374\351\046 -\370\312\161\233\177\223\376\064\147\204\116\231\353\374\263\170 -\011\063\160\272\146\246\166\355\033\163\353\032\245\015\304\042 -\023\040\224\126\012\116\054\154\116\261\375\317\234\011\272\242 -\063\355\207\002\003\001\000\001\243\143\060\141\060\035\006\003 -\125\035\016\004\026\004\024\335\004\011\007\242\365\172\175\122 -\123\022\222\225\356\070\200\045\015\246\131\060\017\006\003\125 -\035\023\001\001\377\004\005\060\003\001\001\377\060\037\006\003 -\125\035\043\004\030\060\026\200\024\335\004\011\007\242\365\172 -\175\122\123\022\222\225\356\070\200\045\015\246\131\060\016\006 -\003\125\035\017\001\001\377\004\004\003\002\001\206\060\015\006 -\011\052\206\110\206\367\015\001\001\013\005\000\003\202\002\001 -\000\040\030\021\224\051\373\046\235\034\036\036\160\141\361\225 -\162\223\161\044\255\150\223\130\216\062\257\033\263\160\003\374 -\045\053\164\205\220\075\170\152\364\271\213\245\227\073\265\030 -\221\273\036\247\371\100\133\221\371\125\231\257\036\021\320\134 -\035\247\146\343\261\224\007\014\062\071\246\352\033\260\171\330 -\035\234\160\104\343\212\335\304\371\225\037\212\070\103\077\001 -\205\245\107\247\075\106\262\274\345\042\150\367\173\234\330\054 -\076\012\041\310\055\063\254\277\305\201\231\061\164\301\165\161 -\305\276\261\360\043\105\364\235\153\374\031\143\235\243\274\004 -\306\030\013\045\273\123\211\017\263\200\120\336\105\356\104\177 -\253\224\170\144\230\323\366\050\335\207\330\160\145\164\373\016 -\271\023\353\247\017\141\251\062\226\314\336\273\355\143\114\030 -\273\251\100\367\240\124\156\040\210\161\165\030\352\172\264\064 -\162\340\043\047\167\134\266\220\352\206\045\100\253\357\063\017 -\313\237\202\276\242\040\373\366\265\055\032\346\302\205\261\164 -\017\373\310\145\002\244\122\001\107\335\111\042\301\277\330\353 -\153\254\176\336\354\143\063\025\267\043\010\217\306\017\215\101 -\132\335\216\305\271\217\345\105\077\170\333\272\322\033\100\261 -\376\161\115\077\340\201\242\272\136\264\354\025\340\223\335\010 -\037\176\341\125\231\013\041\336\223\236\012\373\346\243\111\275 -\066\060\376\347\167\262\240\165\227\265\055\201\210\027\145\040 -\367\332\220\000\237\311\122\314\062\312\065\174\365\075\017\330 -\053\327\365\046\154\311\006\064\226\026\352\160\131\032\062\171 -\171\013\266\210\177\017\122\110\075\277\154\330\242\104\056\321 -\116\267\162\130\323\211\023\225\376\104\253\370\327\213\033\156 -\234\274\054\240\133\325\152\000\257\137\067\341\325\372\020\013 -\230\234\206\347\046\217\316\360\354\156\212\127\013\200\343\116 -\262\300\240\143\141\220\272\125\150\067\164\152\266\222\333\237 -\241\206\042\266\145\047\016\354\266\237\102\140\344\147\302\265 -\332\101\013\304\323\213\141\033\274\372\037\221\053\327\104\007 -\136\272\051\254\331\305\351\357\123\110\132\353\200\361\050\130 -\041\315\260\006\125\373\047\077\123\220\160\251\004\036\127\047 -\271 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "SSL.com Root Certification Authority RSA" -# Issuer: CN=SSL.com Root Certification Authority RSA,O=SSL Corporation,L=Houston,ST=Texas,C=US -# Serial Number:7b:2c:9b:d3:16:80:32:99 -# Subject: CN=SSL.com Root Certification Authority RSA,O=SSL Corporation,L=Houston,ST=Texas,C=US -# Not Valid Before: Fri Feb 12 17:39:39 2016 -# Not Valid After : Tue Feb 12 17:39:39 2041 -# Fingerprint (SHA-256): 85:66:6A:56:2E:E0:BE:5C:E9:25:C1:D8:89:0A:6F:76:A8:7E:C1:6D:4D:7D:5F:29:EA:74:19:CF:20:12:3B:69 -# Fingerprint (SHA1): B7:AB:33:08:D1:EA:44:77:BA:14:80:12:5A:6F:BD:A9:36:49:0C:BB -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "SSL.com Root Certification Authority RSA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\267\253\063\010\321\352\104\167\272\024\200\022\132\157\275\251 -\066\111\014\273 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\206\151\022\300\160\361\354\254\254\302\325\274\245\133\241\051 -END -CKA_ISSUER MULTILINE_OCTAL -\060\174\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163\061 -\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164\157 -\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040 -\103\157\162\160\157\162\141\164\151\157\156\061\061\060\057\006 -\003\125\004\003\014\050\123\123\114\056\143\157\155\040\122\157 -\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156 -\040\101\165\164\150\157\162\151\164\171\040\122\123\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\010\173\054\233\323\026\200\062\231 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "SSL.com Root Certification Authority ECC" -# -# Issuer: CN=SSL.com Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US -# Serial Number:75:e6:df:cb:c1:68:5b:a8 -# Subject: CN=SSL.com Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US -# Not Valid Before: Fri Feb 12 18:14:03 2016 -# Not Valid After : Tue Feb 12 18:14:03 2041 -# Fingerprint (SHA-256): 34:17:BB:06:CC:60:07:DA:1B:96:1C:92:0B:8A:B4:CE:3F:AD:82:0E:4A:A3:0B:9A:CB:C4:A7:4E:BD:CE:BC:65 -# Fingerprint (SHA1): C3:19:7C:39:24:E6:54:AF:1B:C4:AB:20:95:7A:E2:C3:0E:13:02:6A -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "SSL.com Root Certification Authority ECC" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\174\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163\061 -\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164\157 -\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040 -\103\157\162\160\157\162\141\164\151\157\156\061\061\060\057\006 -\003\125\004\003\014\050\123\123\114\056\143\157\155\040\122\157 -\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156 -\040\101\165\164\150\157\162\151\164\171\040\105\103\103 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\174\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163\061 -\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164\157 -\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040 -\103\157\162\160\157\162\141\164\151\157\156\061\061\060\057\006 -\003\125\004\003\014\050\123\123\114\056\143\157\155\040\122\157 -\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156 -\040\101\165\164\150\157\162\151\164\171\040\105\103\103 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\010\165\346\337\313\301\150\133\250 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\002\215\060\202\002\024\240\003\002\001\002\002\010\165 -\346\337\313\301\150\133\250\060\012\006\010\052\206\110\316\075 -\004\003\002\060\174\061\013\060\011\006\003\125\004\006\023\002 -\125\123\061\016\060\014\006\003\125\004\010\014\005\124\145\170 -\141\163\061\020\060\016\006\003\125\004\007\014\007\110\157\165 -\163\164\157\156\061\030\060\026\006\003\125\004\012\014\017\123 -\123\114\040\103\157\162\160\157\162\141\164\151\157\156\061\061 -\060\057\006\003\125\004\003\014\050\123\123\114\056\143\157\155 -\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164 -\151\157\156\040\101\165\164\150\157\162\151\164\171\040\105\103 -\103\060\036\027\015\061\066\060\062\061\062\061\070\061\064\060 -\063\132\027\015\064\061\060\062\061\062\061\070\061\064\060\063 -\132\060\174\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163 -\061\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164 -\157\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114 -\040\103\157\162\160\157\162\141\164\151\157\156\061\061\060\057 -\006\003\125\004\003\014\050\123\123\114\056\143\157\155\040\122 -\157\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157 -\156\040\101\165\164\150\157\162\151\164\171\040\105\103\103\060 -\166\060\020\006\007\052\206\110\316\075\002\001\006\005\053\201 -\004\000\042\003\142\000\004\105\156\251\120\304\246\043\066\236 -\137\050\215\027\313\226\042\144\077\334\172\216\035\314\010\263 -\242\161\044\272\216\111\271\004\033\107\226\130\253\055\225\310 -\355\236\010\065\310\047\353\211\214\123\130\353\142\212\376\360 -\133\017\153\061\122\143\101\073\211\315\354\354\266\215\031\323 -\064\007\334\273\306\006\177\302\105\225\354\313\177\250\043\340 -\011\351\201\372\363\107\323\243\143\060\141\060\035\006\003\125 -\035\016\004\026\004\024\202\321\205\163\060\347\065\004\323\216 -\002\222\373\345\244\321\304\041\350\315\060\017\006\003\125\035 -\023\001\001\377\004\005\060\003\001\001\377\060\037\006\003\125 -\035\043\004\030\060\026\200\024\202\321\205\163\060\347\065\004 -\323\216\002\222\373\345\244\321\304\041\350\315\060\016\006\003 -\125\035\017\001\001\377\004\004\003\002\001\206\060\012\006\010 -\052\206\110\316\075\004\003\002\003\147\000\060\144\002\060\157 -\347\353\131\021\244\140\317\141\260\226\173\355\005\371\057\023 -\221\334\355\345\374\120\153\021\106\106\263\034\041\000\142\273 -\276\303\347\350\315\007\231\371\015\013\135\162\076\304\252\002 -\060\037\274\272\013\342\060\044\373\174\155\200\125\012\231\076 -\200\015\063\345\146\243\263\243\273\245\325\213\217\011\054\246 -\135\176\342\360\007\010\150\155\322\174\151\156\137\337\345\152 -\145 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "SSL.com Root Certification Authority ECC" -# Issuer: CN=SSL.com Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US -# Serial Number:75:e6:df:cb:c1:68:5b:a8 -# Subject: CN=SSL.com Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US -# Not Valid Before: Fri Feb 12 18:14:03 2016 -# Not Valid After : Tue Feb 12 18:14:03 2041 -# Fingerprint (SHA-256): 34:17:BB:06:CC:60:07:DA:1B:96:1C:92:0B:8A:B4:CE:3F:AD:82:0E:4A:A3:0B:9A:CB:C4:A7:4E:BD:CE:BC:65 -# Fingerprint (SHA1): C3:19:7C:39:24:E6:54:AF:1B:C4:AB:20:95:7A:E2:C3:0E:13:02:6A -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "SSL.com Root Certification Authority ECC" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\303\031\174\071\044\346\124\257\033\304\253\040\225\172\342\303 -\016\023\002\152 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\056\332\344\071\177\234\217\067\321\160\237\046\027\121\072\216 -END -CKA_ISSUER MULTILINE_OCTAL -\060\174\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163\061 -\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164\157 -\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040 -\103\157\162\160\157\162\141\164\151\157\156\061\061\060\057\006 -\003\125\004\003\014\050\123\123\114\056\143\157\155\040\122\157 -\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156 -\040\101\165\164\150\157\162\151\164\171\040\105\103\103 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\010\165\346\337\313\301\150\133\250 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "SSL.com EV Root Certification Authority RSA R2" -# -# Issuer: CN=SSL.com EV Root Certification Authority RSA R2,O=SSL Corporation,L=Houston,ST=Texas,C=US -# Serial Number:56:b6:29:cd:34:bc:78:f6 -# Subject: CN=SSL.com EV Root Certification Authority RSA R2,O=SSL Corporation,L=Houston,ST=Texas,C=US -# Not Valid Before: Wed May 31 18:14:37 2017 -# Not Valid After : Fri May 30 18:14:37 2042 -# Fingerprint (SHA-256): 2E:7B:F1:6C:C2:24:85:A7:BB:E2:AA:86:96:75:07:61:B0:AE:39:BE:3B:2F:E9:D0:CC:6D:4E:F7:34:91:42:5C -# Fingerprint (SHA1): 74:3A:F0:52:9B:D0:32:A0:F4:4A:83:CD:D4:BA:A9:7B:7C:2E:C4:9A -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "SSL.com EV Root Certification Authority RSA R2" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\201\202\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163 -\061\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164 -\157\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114 -\040\103\157\162\160\157\162\141\164\151\157\156\061\067\060\065 -\006\003\125\004\003\014\056\123\123\114\056\143\157\155\040\105 -\126\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141 -\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040\122 -\123\101\040\122\062 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\201\202\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163 -\061\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164 -\157\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114 -\040\103\157\162\160\157\162\141\164\151\157\156\061\067\060\065 -\006\003\125\004\003\014\056\123\123\114\056\143\157\155\040\105 -\126\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141 -\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040\122 -\123\101\040\122\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\010\126\266\051\315\064\274\170\366 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\353\060\202\003\323\240\003\002\001\002\002\010\126 -\266\051\315\064\274\170\366\060\015\006\011\052\206\110\206\367 -\015\001\001\013\005\000\060\201\202\061\013\060\011\006\003\125 -\004\006\023\002\125\123\061\016\060\014\006\003\125\004\010\014 -\005\124\145\170\141\163\061\020\060\016\006\003\125\004\007\014 -\007\110\157\165\163\164\157\156\061\030\060\026\006\003\125\004 -\012\014\017\123\123\114\040\103\157\162\160\157\162\141\164\151 -\157\156\061\067\060\065\006\003\125\004\003\014\056\123\123\114 -\056\143\157\155\040\105\126\040\122\157\157\164\040\103\145\162 -\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157 -\162\151\164\171\040\122\123\101\040\122\062\060\036\027\015\061 -\067\060\065\063\061\061\070\061\064\063\067\132\027\015\064\062 -\060\065\063\060\061\070\061\064\063\067\132\060\201\202\061\013 -\060\011\006\003\125\004\006\023\002\125\123\061\016\060\014\006 -\003\125\004\010\014\005\124\145\170\141\163\061\020\060\016\006 -\003\125\004\007\014\007\110\157\165\163\164\157\156\061\030\060 -\026\006\003\125\004\012\014\017\123\123\114\040\103\157\162\160 -\157\162\141\164\151\157\156\061\067\060\065\006\003\125\004\003 -\014\056\123\123\114\056\143\157\155\040\105\126\040\122\157\157 -\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040 -\101\165\164\150\157\162\151\164\171\040\122\123\101\040\122\062 -\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001 -\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001 -\000\217\066\145\100\341\326\115\300\327\264\351\106\332\153\352 -\063\107\315\114\371\175\175\276\275\055\075\360\333\170\341\206 -\245\331\272\011\127\150\355\127\076\240\320\010\101\203\347\050 -\101\044\037\343\162\025\320\001\032\373\136\160\043\262\313\237 -\071\343\317\305\116\306\222\155\046\306\173\273\263\332\047\235 -\012\206\351\201\067\005\376\360\161\161\354\303\034\351\143\242 -\027\024\235\357\033\147\323\205\125\002\002\326\111\311\314\132 -\341\261\367\157\062\237\311\324\073\210\101\250\234\275\313\253 -\333\155\173\011\037\242\114\162\220\332\053\010\374\317\074\124 -\316\147\017\250\317\135\226\031\013\304\343\162\353\255\321\175 -\035\047\357\222\353\020\277\133\353\073\257\317\200\335\301\322 -\226\004\133\172\176\244\251\074\070\166\244\142\216\240\071\136 -\352\167\317\135\000\131\217\146\054\076\007\242\243\005\046\021 -\151\227\352\205\267\017\226\013\113\310\100\341\120\272\056\212 -\313\367\017\232\042\347\177\232\067\023\315\362\115\023\153\041 -\321\300\314\042\362\241\106\366\104\151\234\312\141\065\007\000 -\157\326\141\010\021\352\272\270\366\351\263\140\345\115\271\354 -\237\024\146\311\127\130\333\315\207\151\370\212\206\022\003\107 -\277\146\023\166\254\167\175\064\044\205\203\315\327\252\234\220 -\032\237\041\054\177\170\267\144\270\330\350\246\364\170\263\125 -\313\204\322\062\304\170\256\243\217\141\335\316\010\123\255\354 -\210\374\025\344\232\015\346\237\032\167\316\114\217\270\024\025 -\075\142\234\206\070\006\000\146\022\344\131\166\132\123\300\002 -\230\242\020\053\150\104\173\216\171\316\063\112\166\252\133\201 -\026\033\265\212\330\320\000\173\136\142\264\011\326\206\143\016 -\246\005\225\111\272\050\213\210\223\262\064\034\330\244\125\156 -\267\034\320\336\231\125\073\043\364\042\340\371\051\146\046\354 -\040\120\167\333\112\013\217\276\345\002\140\160\101\136\324\256 -\120\071\042\024\046\313\262\073\163\164\125\107\007\171\201\071 -\250\060\023\104\345\004\212\256\226\023\045\102\017\271\123\304 -\233\374\315\344\034\336\074\372\253\326\006\112\037\147\246\230 -\060\034\335\054\333\334\030\225\127\146\306\377\134\213\126\365 -\167\002\003\001\000\001\243\143\060\141\060\017\006\003\125\035 -\023\001\001\377\004\005\060\003\001\001\377\060\037\006\003\125 -\035\043\004\030\060\026\200\024\371\140\273\324\343\325\064\366 -\270\365\006\200\045\247\163\333\106\151\250\236\060\035\006\003 -\125\035\016\004\026\004\024\371\140\273\324\343\325\064\366\270 -\365\006\200\045\247\163\333\106\151\250\236\060\016\006\003\125 -\035\017\001\001\377\004\004\003\002\001\206\060\015\006\011\052 -\206\110\206\367\015\001\001\013\005\000\003\202\002\001\000\126 -\263\216\313\012\235\111\216\277\244\304\221\273\146\027\005\121 -\230\165\373\345\120\054\172\236\361\024\372\253\323\212\076\377 -\221\051\217\143\213\330\264\251\124\001\015\276\223\206\057\371 -\112\155\307\136\365\127\371\312\125\034\022\276\107\017\066\305 -\337\152\267\333\165\302\107\045\177\271\361\143\370\150\055\125 -\004\321\362\215\260\244\317\274\074\136\037\170\347\245\240\040 -\160\260\004\305\267\367\162\247\336\042\015\275\063\045\106\214 -\144\222\046\343\076\056\143\226\332\233\214\075\370\030\011\327 -\003\314\175\206\202\340\312\004\007\121\120\327\377\222\325\014 -\357\332\206\237\231\327\353\267\257\150\342\071\046\224\272\150 -\267\277\203\323\352\172\147\075\142\147\256\045\345\162\350\342 -\344\354\256\022\366\113\053\074\237\351\260\100\363\070\124\263 -\375\267\150\310\332\306\217\121\074\262\373\221\334\034\347\233 -\235\341\267\015\162\217\342\244\304\251\170\371\353\024\254\306 -\103\005\302\145\071\050\030\002\303\202\262\235\005\276\145\355 -\226\137\145\164\074\373\011\065\056\173\234\023\375\033\017\135 -\307\155\201\072\126\017\314\073\341\257\002\057\042\254\106\312 -\106\074\240\034\114\326\104\264\136\056\134\025\146\011\341\046 -\051\376\306\122\141\272\261\163\377\303\014\234\345\154\152\224 -\077\024\312\100\026\225\204\363\131\251\254\137\114\141\223\155 -\321\073\314\242\225\014\042\246\147\147\104\056\271\331\322\212 -\101\263\146\013\132\373\175\043\245\362\032\260\377\336\233\203 -\224\056\321\077\337\222\267\221\257\005\073\145\307\240\154\261 -\315\142\022\303\220\033\343\045\316\064\274\157\167\166\261\020 -\303\367\005\032\300\326\257\164\142\110\027\167\222\151\220\141 -\034\336\225\200\164\124\217\030\034\303\363\003\320\277\244\103 -\165\206\123\030\172\012\056\011\034\066\237\221\375\202\212\042 -\113\321\016\120\045\335\313\003\014\027\311\203\000\010\116\065 -\115\212\213\355\360\002\224\146\054\104\177\313\225\047\226\027 -\255\011\060\254\266\161\027\156\213\027\366\034\011\324\055\073 -\230\245\161\323\124\023\331\140\363\365\113\146\117\372\361\356 -\040\022\215\264\254\127\261\105\143\241\254\166\251\302\373 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "SSL.com EV Root Certification Authority RSA R2" -# Issuer: CN=SSL.com EV Root Certification Authority RSA R2,O=SSL Corporation,L=Houston,ST=Texas,C=US -# Serial Number:56:b6:29:cd:34:bc:78:f6 -# Subject: CN=SSL.com EV Root Certification Authority RSA R2,O=SSL Corporation,L=Houston,ST=Texas,C=US -# Not Valid Before: Wed May 31 18:14:37 2017 -# Not Valid After : Fri May 30 18:14:37 2042 -# Fingerprint (SHA-256): 2E:7B:F1:6C:C2:24:85:A7:BB:E2:AA:86:96:75:07:61:B0:AE:39:BE:3B:2F:E9:D0:CC:6D:4E:F7:34:91:42:5C -# Fingerprint (SHA1): 74:3A:F0:52:9B:D0:32:A0:F4:4A:83:CD:D4:BA:A9:7B:7C:2E:C4:9A -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "SSL.com EV Root Certification Authority RSA R2" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\164\072\360\122\233\320\062\240\364\112\203\315\324\272\251\173 -\174\056\304\232 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\341\036\061\130\032\256\124\123\002\366\027\152\021\173\115\225 -END -CKA_ISSUER MULTILINE_OCTAL -\060\201\202\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163 -\061\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164 -\157\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114 -\040\103\157\162\160\157\162\141\164\151\157\156\061\067\060\065 -\006\003\125\004\003\014\056\123\123\114\056\143\157\155\040\105 -\126\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141 -\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040\122 -\123\101\040\122\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\010\126\266\051\315\064\274\170\366 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "SSL.com EV Root Certification Authority ECC" -# -# Issuer: CN=SSL.com EV Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US -# Serial Number:2c:29:9c:5b:16:ed:05:95 -# Subject: CN=SSL.com EV Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US -# Not Valid Before: Fri Feb 12 18:15:23 2016 -# Not Valid After : Tue Feb 12 18:15:23 2041 -# Fingerprint (SHA-256): 22:A2:C1:F7:BD:ED:70:4C:C1:E7:01:B5:F4:08:C3:10:88:0F:E9:56:B5:DE:2A:4A:44:F9:9C:87:3A:25:A7:C8 -# Fingerprint (SHA1): 4C:DD:51:A3:D1:F5:20:32:14:B0:C6:C5:32:23:03:91:C7:46:42:6D -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "SSL.com EV Root Certification Authority ECC" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\177\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163\061 -\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164\157 -\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040 -\103\157\162\160\157\162\141\164\151\157\156\061\064\060\062\006 -\003\125\004\003\014\053\123\123\114\056\143\157\155\040\105\126 -\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164 -\151\157\156\040\101\165\164\150\157\162\151\164\171\040\105\103 -\103 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\177\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163\061 -\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164\157 -\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040 -\103\157\162\160\157\162\141\164\151\157\156\061\064\060\062\006 -\003\125\004\003\014\053\123\123\114\056\143\157\155\040\105\126 -\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164 -\151\157\156\040\101\165\164\150\157\162\151\164\171\040\105\103 -\103 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\010\054\051\234\133\026\355\005\225 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\002\224\060\202\002\032\240\003\002\001\002\002\010\054 -\051\234\133\026\355\005\225\060\012\006\010\052\206\110\316\075 -\004\003\002\060\177\061\013\060\011\006\003\125\004\006\023\002 -\125\123\061\016\060\014\006\003\125\004\010\014\005\124\145\170 -\141\163\061\020\060\016\006\003\125\004\007\014\007\110\157\165 -\163\164\157\156\061\030\060\026\006\003\125\004\012\014\017\123 -\123\114\040\103\157\162\160\157\162\141\164\151\157\156\061\064 -\060\062\006\003\125\004\003\014\053\123\123\114\056\143\157\155 -\040\105\126\040\122\157\157\164\040\103\145\162\164\151\146\151 -\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 -\040\105\103\103\060\036\027\015\061\066\060\062\061\062\061\070 -\061\065\062\063\132\027\015\064\061\060\062\061\062\061\070\061 -\065\062\063\132\060\177\061\013\060\011\006\003\125\004\006\023 -\002\125\123\061\016\060\014\006\003\125\004\010\014\005\124\145 -\170\141\163\061\020\060\016\006\003\125\004\007\014\007\110\157 -\165\163\164\157\156\061\030\060\026\006\003\125\004\012\014\017 -\123\123\114\040\103\157\162\160\157\162\141\164\151\157\156\061 -\064\060\062\006\003\125\004\003\014\053\123\123\114\056\143\157 -\155\040\105\126\040\122\157\157\164\040\103\145\162\164\151\146 -\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 -\171\040\105\103\103\060\166\060\020\006\007\052\206\110\316\075 -\002\001\006\005\053\201\004\000\042\003\142\000\004\252\022\107 -\220\230\033\373\357\303\100\007\203\040\116\361\060\202\242\006 -\321\362\222\206\141\362\366\041\150\312\000\304\307\352\103\000 -\124\206\334\375\037\337\000\270\101\142\134\334\160\026\062\336 -\037\231\324\314\305\007\310\010\037\141\026\007\121\075\175\134 -\007\123\343\065\070\214\337\315\237\331\056\015\112\266\031\056 -\132\160\132\006\355\276\360\241\260\312\320\011\051\243\143\060 -\141\060\035\006\003\125\035\016\004\026\004\024\133\312\136\345 -\336\322\201\252\315\250\055\144\121\266\331\162\233\227\346\117 -\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001 -\377\060\037\006\003\125\035\043\004\030\060\026\200\024\133\312 -\136\345\336\322\201\252\315\250\055\144\121\266\331\162\233\227 -\346\117\060\016\006\003\125\035\017\001\001\377\004\004\003\002 -\001\206\060\012\006\010\052\206\110\316\075\004\003\002\003\150 -\000\060\145\002\061\000\212\346\100\211\067\353\351\325\023\331 -\312\324\153\044\363\260\075\207\106\130\032\354\261\337\157\373 -\126\272\160\153\307\070\314\350\261\214\117\017\367\361\147\166 -\016\203\320\036\121\217\002\060\075\366\043\050\046\114\306\140 -\207\223\046\233\262\065\036\272\326\367\074\321\034\316\372\045 -\074\246\032\201\025\133\363\022\017\154\356\145\212\311\207\250 -\371\007\340\142\232\214\134\112 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "SSL.com EV Root Certification Authority ECC" -# Issuer: CN=SSL.com EV Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US -# Serial Number:2c:29:9c:5b:16:ed:05:95 -# Subject: CN=SSL.com EV Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US -# Not Valid Before: Fri Feb 12 18:15:23 2016 -# Not Valid After : Tue Feb 12 18:15:23 2041 -# Fingerprint (SHA-256): 22:A2:C1:F7:BD:ED:70:4C:C1:E7:01:B5:F4:08:C3:10:88:0F:E9:56:B5:DE:2A:4A:44:F9:9C:87:3A:25:A7:C8 -# Fingerprint (SHA1): 4C:DD:51:A3:D1:F5:20:32:14:B0:C6:C5:32:23:03:91:C7:46:42:6D -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "SSL.com EV Root Certification Authority ECC" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\114\335\121\243\321\365\040\062\024\260\306\305\062\043\003\221 -\307\106\102\155 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\131\123\042\145\203\102\001\124\300\316\102\271\132\174\362\220 -END -CKA_ISSUER MULTILINE_OCTAL -\060\177\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163\061 -\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164\157 -\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040 -\103\157\162\160\157\162\141\164\151\157\156\061\064\060\062\006 -\003\125\004\003\014\053\123\123\114\056\143\157\155\040\105\126 -\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164 -\151\157\156\040\101\165\164\150\157\162\151\164\171\040\105\103 -\103 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\010\054\051\234\133\026\355\005\225 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "GlobalSign Root CA - R6" -# -# Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R6 -# Serial Number:45:e6:bb:03:83:33:c3:85:65:48:e6:ff:45:51 -# Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R6 -# Not Valid Before: Wed Dec 10 00:00:00 2014 -# Not Valid After : Sun Dec 10 00:00:00 2034 -# Fingerprint (SHA-256): 2C:AB:EA:FE:37:D0:6C:A2:2A:BA:73:91:C0:03:3D:25:98:29:52:C4:53:64:73:49:76:3A:3A:B5:AD:6C:CF:69 -# Fingerprint (SHA1): 80:94:64:0E:B5:A7:A1:CA:11:9C:1F:DD:D5:9F:81:02:63:A7:FB:D1 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GlobalSign Root CA - R6" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157 -\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040 -\055\040\122\066\061\023\060\021\006\003\125\004\012\023\012\107 -\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125 -\004\003\023\012\107\154\157\142\141\154\123\151\147\156 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157 -\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040 -\055\040\122\066\061\023\060\021\006\003\125\004\012\023\012\107 -\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125 -\004\003\023\012\107\154\157\142\141\154\123\151\147\156 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\016\105\346\273\003\203\063\303\205\145\110\346\377\105\121 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\203\060\202\003\153\240\003\002\001\002\002\016\105 -\346\273\003\203\063\303\205\145\110\346\377\105\121\060\015\006 -\011\052\206\110\206\367\015\001\001\014\005\000\060\114\061\040 -\060\036\006\003\125\004\013\023\027\107\154\157\142\141\154\123 -\151\147\156\040\122\157\157\164\040\103\101\040\055\040\122\066 -\061\023\060\021\006\003\125\004\012\023\012\107\154\157\142\141 -\154\123\151\147\156\061\023\060\021\006\003\125\004\003\023\012 -\107\154\157\142\141\154\123\151\147\156\060\036\027\015\061\064 -\061\062\061\060\060\060\060\060\060\060\132\027\015\063\064\061 -\062\061\060\060\060\060\060\060\060\132\060\114\061\040\060\036 -\006\003\125\004\013\023\027\107\154\157\142\141\154\123\151\147 -\156\040\122\157\157\164\040\103\101\040\055\040\122\066\061\023 -\060\021\006\003\125\004\012\023\012\107\154\157\142\141\154\123 -\151\147\156\061\023\060\021\006\003\125\004\003\023\012\107\154 -\157\142\141\154\123\151\147\156\060\202\002\042\060\015\006\011 -\052\206\110\206\367\015\001\001\001\005\000\003\202\002\017\000 -\060\202\002\012\002\202\002\001\000\225\007\350\163\312\146\371 -\354\024\312\173\074\367\015\010\361\264\105\013\054\202\264\110 -\306\353\133\074\256\203\270\101\222\063\024\244\157\177\351\052 -\314\306\260\210\153\305\266\211\321\306\262\377\024\316\121\024 -\041\354\112\335\033\132\306\326\207\356\115\072\025\006\355\144 -\146\013\222\200\312\104\336\163\224\116\363\247\211\177\117\170 -\143\010\310\022\120\155\102\146\057\115\271\171\050\115\122\032 -\212\032\200\267\031\201\016\176\304\212\274\144\114\041\034\103 -\150\327\075\074\212\305\262\146\325\220\232\267\061\006\305\276 -\342\155\062\006\246\036\371\271\353\252\243\270\277\276\202\143 -\120\320\360\030\211\337\344\017\171\365\352\242\037\052\322\160 -\056\173\347\274\223\273\155\123\342\110\174\214\020\007\070\377 -\146\262\167\141\176\340\352\214\074\252\264\244\366\363\225\112 -\022\007\155\375\214\262\211\317\320\240\141\167\310\130\164\260 -\324\043\072\367\135\072\312\242\333\235\011\336\135\104\055\220 -\361\201\315\127\222\372\176\274\120\004\143\064\337\153\223\030 -\276\153\066\262\071\344\254\044\066\267\360\357\266\034\023\127 -\223\266\336\262\370\342\205\267\163\242\270\065\252\105\362\340 -\235\066\241\157\124\212\361\162\126\156\056\210\305\121\102\104 -\025\224\356\243\305\070\226\233\116\116\132\013\107\363\006\066 -\111\167\060\274\161\067\345\246\354\041\010\165\374\346\141\026 -\077\167\325\331\221\227\204\012\154\324\002\115\164\300\024\355 -\375\071\373\203\362\136\024\241\004\260\013\351\376\356\217\341 -\156\013\262\010\263\141\146\011\152\261\006\072\145\226\131\300 -\360\065\375\311\332\050\215\032\021\207\160\201\012\250\232\165 -\035\236\072\206\005\000\236\333\200\326\045\371\334\005\236\047 -\131\114\166\071\133\352\371\245\241\330\203\017\321\377\337\060 -\021\371\205\317\063\110\365\312\155\144\024\054\172\130\117\323 -\113\010\111\305\225\144\032\143\016\171\075\365\263\214\312\130 -\255\234\102\105\171\156\016\207\031\134\124\261\145\266\277\214 -\233\334\023\351\015\157\270\056\334\147\156\311\213\021\265\204 -\024\212\000\031\160\203\171\221\227\221\324\032\047\277\067\036 -\062\007\330\024\143\074\050\114\257\002\003\001\000\001\243\143 -\060\141\060\016\006\003\125\035\017\001\001\377\004\004\003\002 -\001\006\060\017\006\003\125\035\023\001\001\377\004\005\060\003 -\001\001\377\060\035\006\003\125\035\016\004\026\004\024\256\154 -\005\243\223\023\342\242\347\342\327\034\326\307\360\177\310\147 -\123\240\060\037\006\003\125\035\043\004\030\060\026\200\024\256 -\154\005\243\223\023\342\242\347\342\327\034\326\307\360\177\310 -\147\123\240\060\015\006\011\052\206\110\206\367\015\001\001\014 -\005\000\003\202\002\001\000\203\045\355\350\321\375\225\122\315 -\236\300\004\240\221\151\346\134\320\204\336\334\255\242\117\350 -\107\170\326\145\230\251\133\250\074\207\174\002\212\321\156\267 -\026\163\346\137\300\124\230\325\164\276\301\315\342\021\221\255 -\043\030\075\335\341\162\104\226\264\225\136\300\173\216\231\170 -\026\103\023\126\127\263\242\263\073\265\167\334\100\162\254\243 -\353\233\065\076\261\010\041\241\347\304\103\067\171\062\276\265 -\347\234\054\114\274\103\051\231\216\060\323\254\041\340\343\035 -\372\330\007\063\166\124\000\042\052\271\115\040\056\160\150\332 -\345\123\374\203\134\323\235\362\377\104\014\104\146\362\322\343 -\275\106\000\032\155\002\272\045\135\215\241\061\121\335\124\106 -\034\115\333\231\226\357\032\034\004\134\246\025\357\170\340\171 -\376\135\333\076\252\114\125\375\232\025\251\157\341\246\373\337 -\160\060\351\303\356\102\106\355\302\223\005\211\372\175\143\173 -\077\320\161\201\174\000\350\230\256\016\170\064\303\045\373\257 -\012\237\040\153\335\073\023\217\022\214\342\101\032\110\172\163 -\240\167\151\307\266\134\177\202\310\036\376\130\033\050\053\250 -\154\255\136\155\300\005\322\173\267\353\200\376\045\067\376\002 -\233\150\254\102\135\303\356\365\314\334\360\120\165\322\066\151 -\234\346\173\004\337\156\006\151\266\336\012\011\110\131\207\353 -\173\024\140\172\144\252\151\103\357\221\307\114\354\030\335\154 -\357\123\055\214\231\341\136\362\162\076\317\124\310\275\147\354 -\244\017\114\105\377\323\271\060\043\007\114\217\020\277\206\226 -\331\231\132\264\231\127\034\244\314\273\025\211\123\272\054\005 -\017\344\304\236\031\261\030\064\325\114\235\272\355\367\037\257 -\044\225\004\170\250\003\273\356\201\345\332\137\174\213\112\241 -\220\164\045\247\263\076\113\310\054\126\275\307\310\357\070\342 -\134\222\360\171\367\234\204\272\164\055\141\001\040\176\176\321 -\362\117\007\131\137\213\055\103\122\353\106\014\224\341\365\146 -\107\171\167\325\124\133\037\255\044\067\313\105\132\116\240\104 -\110\310\330\260\231\305\025\204\011\366\326\111\111\300\145\270 -\346\032\161\156\240\250\361\202\350\105\076\154\326\002\327\012 -\147\203\005\132\311\244\020 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "GlobalSign Root CA - R6" -# Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R6 -# Serial Number:45:e6:bb:03:83:33:c3:85:65:48:e6:ff:45:51 -# Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R6 -# Not Valid Before: Wed Dec 10 00:00:00 2014 -# Not Valid After : Sun Dec 10 00:00:00 2034 -# Fingerprint (SHA-256): 2C:AB:EA:FE:37:D0:6C:A2:2A:BA:73:91:C0:03:3D:25:98:29:52:C4:53:64:73:49:76:3A:3A:B5:AD:6C:CF:69 -# Fingerprint (SHA1): 80:94:64:0E:B5:A7:A1:CA:11:9C:1F:DD:D5:9F:81:02:63:A7:FB:D1 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GlobalSign Root CA - R6" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\200\224\144\016\265\247\241\312\021\234\037\335\325\237\201\002 -\143\247\373\321 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\117\335\007\344\324\042\144\071\036\014\067\102\352\321\306\256 -END -CKA_ISSUER MULTILINE_OCTAL -\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157 -\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040 -\055\040\122\066\061\023\060\021\006\003\125\004\012\023\012\107 -\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125 -\004\003\023\012\107\154\157\142\141\154\123\151\147\156 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\016\105\346\273\003\203\063\303\205\145\110\346\377\105\121 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "OISTE WISeKey Global Root GC CA" -# -# Issuer: CN=OISTE WISeKey Global Root GC CA,OU=OISTE Foundation Endorsed,O=WISeKey,C=CH -# Serial Number:21:2a:56:0c:ae:da:0c:ab:40:45:bf:2b:a2:2d:3a:ea -# Subject: CN=OISTE WISeKey Global Root GC CA,OU=OISTE Foundation Endorsed,O=WISeKey,C=CH -# Not Valid Before: Tue May 09 09:48:34 2017 -# Not Valid After : Fri May 09 09:58:33 2042 -# Fingerprint (SHA-256): 85:60:F9:1C:36:24:DA:BA:95:70:B5:FE:A0:DB:E3:6F:F1:1A:83:23:BE:94:86:85:4F:B3:F3:4A:55:71:19:8D -# Fingerprint (SHA1): E0:11:84:5E:34:DE:BE:88:81:B9:9C:F6:16:26:D1:96:1F:C3:B9:31 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "OISTE WISeKey Global Root GC CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\155\061\013\060\011\006\003\125\004\006\023\002\103\110\061 -\020\060\016\006\003\125\004\012\023\007\127\111\123\145\113\145 -\171\061\042\060\040\006\003\125\004\013\023\031\117\111\123\124 -\105\040\106\157\165\156\144\141\164\151\157\156\040\105\156\144 -\157\162\163\145\144\061\050\060\046\006\003\125\004\003\023\037 -\117\111\123\124\105\040\127\111\123\145\113\145\171\040\107\154 -\157\142\141\154\040\122\157\157\164\040\107\103\040\103\101 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\155\061\013\060\011\006\003\125\004\006\023\002\103\110\061 -\020\060\016\006\003\125\004\012\023\007\127\111\123\145\113\145 -\171\061\042\060\040\006\003\125\004\013\023\031\117\111\123\124 -\105\040\106\157\165\156\144\141\164\151\157\156\040\105\156\144 -\157\162\163\145\144\061\050\060\046\006\003\125\004\003\023\037 -\117\111\123\124\105\040\127\111\123\145\113\145\171\040\107\154 -\157\142\141\154\040\122\157\157\164\040\107\103\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\041\052\126\014\256\332\014\253\100\105\277\053\242\055 -\072\352 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\002\151\060\202\001\357\240\003\002\001\002\002\020\041 -\052\126\014\256\332\014\253\100\105\277\053\242\055\072\352\060 -\012\006\010\052\206\110\316\075\004\003\003\060\155\061\013\060 -\011\006\003\125\004\006\023\002\103\110\061\020\060\016\006\003 -\125\004\012\023\007\127\111\123\145\113\145\171\061\042\060\040 -\006\003\125\004\013\023\031\117\111\123\124\105\040\106\157\165 -\156\144\141\164\151\157\156\040\105\156\144\157\162\163\145\144 -\061\050\060\046\006\003\125\004\003\023\037\117\111\123\124\105 -\040\127\111\123\145\113\145\171\040\107\154\157\142\141\154\040 -\122\157\157\164\040\107\103\040\103\101\060\036\027\015\061\067 -\060\065\060\071\060\071\064\070\063\064\132\027\015\064\062\060 -\065\060\071\060\071\065\070\063\063\132\060\155\061\013\060\011 -\006\003\125\004\006\023\002\103\110\061\020\060\016\006\003\125 -\004\012\023\007\127\111\123\145\113\145\171\061\042\060\040\006 -\003\125\004\013\023\031\117\111\123\124\105\040\106\157\165\156 -\144\141\164\151\157\156\040\105\156\144\157\162\163\145\144\061 -\050\060\046\006\003\125\004\003\023\037\117\111\123\124\105\040 -\127\111\123\145\113\145\171\040\107\154\157\142\141\154\040\122 -\157\157\164\040\107\103\040\103\101\060\166\060\020\006\007\052 -\206\110\316\075\002\001\006\005\053\201\004\000\042\003\142\000 -\004\114\351\120\300\306\017\162\030\274\330\361\272\263\211\342 -\171\112\243\026\247\153\124\044\333\121\377\352\364\011\044\303 -\013\042\237\313\152\047\202\201\015\322\300\257\061\344\164\202 -\156\312\045\331\214\165\235\361\333\320\232\242\113\041\176\026 -\247\143\220\322\071\324\261\207\170\137\030\226\017\120\033\065 -\067\017\152\306\334\331\023\115\244\216\220\067\346\275\133\061 -\221\243\124\060\122\060\016\006\003\125\035\017\001\001\377\004 -\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377\004 -\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026\004 -\024\110\207\024\254\343\303\236\220\140\072\327\312\211\356\323 -\255\214\264\120\146\060\020\006\011\053\006\001\004\001\202\067 -\025\001\004\003\002\001\000\060\012\006\010\052\206\110\316\075 -\004\003\003\003\150\000\060\145\002\060\046\307\151\133\334\325 -\347\262\347\310\014\214\214\303\335\171\214\033\143\325\311\122 -\224\116\115\202\112\163\036\262\200\204\251\045\300\114\132\155 -\111\051\140\170\023\342\176\110\353\144\002\061\000\333\064\040 -\062\010\377\232\111\002\266\210\336\024\257\135\154\231\161\215 -\032\077\213\327\340\242\066\206\034\007\202\072\166\123\375\302 -\242\355\357\173\260\200\117\130\017\113\123\071\275 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "OISTE WISeKey Global Root GC CA" -# Issuer: CN=OISTE WISeKey Global Root GC CA,OU=OISTE Foundation Endorsed,O=WISeKey,C=CH -# Serial Number:21:2a:56:0c:ae:da:0c:ab:40:45:bf:2b:a2:2d:3a:ea -# Subject: CN=OISTE WISeKey Global Root GC CA,OU=OISTE Foundation Endorsed,O=WISeKey,C=CH -# Not Valid Before: Tue May 09 09:48:34 2017 -# Not Valid After : Fri May 09 09:58:33 2042 -# Fingerprint (SHA-256): 85:60:F9:1C:36:24:DA:BA:95:70:B5:FE:A0:DB:E3:6F:F1:1A:83:23:BE:94:86:85:4F:B3:F3:4A:55:71:19:8D -# Fingerprint (SHA1): E0:11:84:5E:34:DE:BE:88:81:B9:9C:F6:16:26:D1:96:1F:C3:B9:31 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "OISTE WISeKey Global Root GC CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\340\021\204\136\064\336\276\210\201\271\234\366\026\046\321\226 -\037\303\271\061 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\251\326\271\055\057\223\144\370\245\151\312\221\351\150\007\043 -END -CKA_ISSUER MULTILINE_OCTAL -\060\155\061\013\060\011\006\003\125\004\006\023\002\103\110\061 -\020\060\016\006\003\125\004\012\023\007\127\111\123\145\113\145 -\171\061\042\060\040\006\003\125\004\013\023\031\117\111\123\124 -\105\040\106\157\165\156\144\141\164\151\157\156\040\105\156\144 -\157\162\163\145\144\061\050\060\046\006\003\125\004\003\023\037 -\117\111\123\124\105\040\127\111\123\145\113\145\171\040\107\154 -\157\142\141\154\040\122\157\157\164\040\107\103\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\041\052\126\014\256\332\014\253\100\105\277\053\242\055 -\072\352 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "GTS Root R1" -# -# Issuer: CN=GTS Root R1,O=Google Trust Services LLC,C=US -# Serial Number:6e:47:a9:c5:4b:47:0c:0d:ec:33:d0:89:b9:1c:f4:e1 -# Subject: CN=GTS Root R1,O=Google Trust Services LLC,C=US -# Not Valid Before: Wed Jun 22 00:00:00 2016 -# Not Valid After : Sun Jun 22 00:00:00 2036 -# Fingerprint (SHA-256): 2A:57:54:71:E3:13:40:BC:21:58:1C:BD:2C:F1:3E:15:84:63:20:3E:CE:94:BC:F9:D3:CC:19:6B:F0:9A:54:72 -# Fingerprint (SHA1): E1:C9:50:E6:EF:22:F8:4C:56:45:72:8B:92:20:60:D7:D5:A7:A3:E8 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GTS Root R1" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145 -\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040 -\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124 -\123\040\122\157\157\164\040\122\061 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145 -\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040 -\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124 -\123\040\122\157\157\164\040\122\061 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\156\107\251\305\113\107\014\015\354\063\320\211\271\034 -\364\341 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\132\060\202\003\102\240\003\002\001\002\002\020\156 -\107\251\305\113\107\014\015\354\063\320\211\271\034\364\341\060 -\015\006\011\052\206\110\206\367\015\001\001\014\005\000\060\107 -\061\013\060\011\006\003\125\004\006\023\002\125\123\061\042\060 -\040\006\003\125\004\012\023\031\107\157\157\147\154\145\040\124 -\162\165\163\164\040\123\145\162\166\151\143\145\163\040\114\114 -\103\061\024\060\022\006\003\125\004\003\023\013\107\124\123\040 -\122\157\157\164\040\122\061\060\036\027\015\061\066\060\066\062 -\062\060\060\060\060\060\060\132\027\015\063\066\060\066\062\062 -\060\060\060\060\060\060\132\060\107\061\013\060\011\006\003\125 -\004\006\023\002\125\123\061\042\060\040\006\003\125\004\012\023 -\031\107\157\157\147\154\145\040\124\162\165\163\164\040\123\145 -\162\166\151\143\145\163\040\114\114\103\061\024\060\022\006\003 -\125\004\003\023\013\107\124\123\040\122\157\157\164\040\122\061 -\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001 -\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001 -\000\266\021\002\213\036\343\241\167\233\073\334\277\224\076\267 -\225\247\100\074\241\375\202\371\175\062\006\202\161\366\366\214 -\177\373\350\333\274\152\056\227\227\243\214\113\371\053\366\261 -\371\316\204\035\261\371\305\227\336\357\271\362\243\351\274\022 -\211\136\247\252\122\253\370\043\047\313\244\261\234\143\333\327 -\231\176\360\012\136\353\150\246\364\306\132\107\015\115\020\063 -\343\116\261\023\243\310\030\154\113\354\374\011\220\337\235\144 -\051\045\043\007\241\264\322\075\056\140\340\317\322\011\207\273 -\315\110\360\115\302\302\172\210\212\273\272\317\131\031\326\257 -\217\260\007\260\236\061\361\202\301\300\337\056\246\155\154\031 -\016\265\330\176\046\032\105\003\075\260\171\244\224\050\255\017 -\177\046\345\250\010\376\226\350\074\150\224\123\356\203\072\210 -\053\025\226\011\262\340\172\214\056\165\326\234\353\247\126\144 -\217\226\117\150\256\075\227\302\204\217\300\274\100\300\013\134 -\275\366\207\263\065\154\254\030\120\177\204\340\114\315\222\323 -\040\351\063\274\122\231\257\062\265\051\263\045\052\264\110\371 -\162\341\312\144\367\346\202\020\215\350\235\302\212\210\372\070 -\146\212\374\143\371\001\371\170\375\173\134\167\372\166\207\372 -\354\337\261\016\171\225\127\264\275\046\357\326\001\321\353\026 -\012\273\216\013\265\305\305\212\125\253\323\254\352\221\113\051 -\314\031\244\062\045\116\052\361\145\104\320\002\316\252\316\111 -\264\352\237\174\203\260\100\173\347\103\253\247\154\243\217\175 -\211\201\372\114\245\377\325\216\303\316\113\340\265\330\263\216 -\105\317\166\300\355\100\053\375\123\017\260\247\325\073\015\261 -\212\242\003\336\061\255\314\167\352\157\173\076\326\337\221\042 -\022\346\276\372\330\062\374\020\143\024\121\162\336\135\326\026 -\223\275\051\150\063\357\072\146\354\007\212\046\337\023\327\127 -\145\170\047\336\136\111\024\000\242\000\177\232\250\041\266\251 -\261\225\260\245\271\015\026\021\332\307\154\110\074\100\340\176 -\015\132\315\126\074\321\227\005\271\313\113\355\071\113\234\304 -\077\322\125\023\156\044\260\326\161\372\364\301\272\314\355\033 -\365\376\201\101\330\000\230\075\072\310\256\172\230\067\030\005 -\225\002\003\001\000\001\243\102\060\100\060\016\006\003\125\035 -\017\001\001\377\004\004\003\002\001\006\060\017\006\003\125\035 -\023\001\001\377\004\005\060\003\001\001\377\060\035\006\003\125 -\035\016\004\026\004\024\344\257\053\046\161\032\053\110\047\205 -\057\122\146\054\357\360\211\023\161\076\060\015\006\011\052\206 -\110\206\367\015\001\001\014\005\000\003\202\002\001\000\070\226 -\012\356\075\264\226\036\137\357\235\234\013\063\237\053\340\312 -\375\322\216\012\037\101\164\245\174\252\204\324\345\362\036\346 -\067\122\062\234\013\321\141\035\277\050\301\266\104\051\065\165 -\167\230\262\174\331\275\164\254\212\150\343\251\061\011\051\001 -\140\163\343\107\174\123\250\220\112\047\357\113\327\237\223\347 -\202\066\316\232\150\014\202\347\317\324\020\026\157\137\016\231 -\134\366\037\161\175\357\357\173\057\176\352\066\326\227\160\013 -\025\356\327\134\126\152\063\245\343\111\070\014\270\175\373\215 -\205\244\261\131\136\364\152\341\335\241\366\144\104\256\346\121 -\203\041\146\306\021\076\363\316\107\356\234\050\037\045\332\377 -\254\146\225\335\065\017\134\357\040\054\142\375\221\272\251\314 -\374\132\234\223\201\203\051\227\112\174\132\162\264\071\320\267 -\167\313\171\375\151\072\222\067\355\156\070\145\106\176\351\140 -\275\171\210\227\137\070\022\364\356\257\133\202\310\206\325\341 -\231\155\214\004\362\166\272\111\366\156\351\155\036\137\240\357 -\047\202\166\100\370\246\323\130\134\017\054\102\332\102\306\173 -\210\064\307\301\330\105\233\301\076\305\141\035\331\143\120\111 -\366\064\205\152\340\030\305\156\107\253\101\102\051\233\366\140 -\015\322\061\323\143\230\043\223\132\000\201\110\264\357\315\212 -\315\311\317\231\356\331\236\252\066\341\150\113\161\111\024\066 -\050\072\075\035\316\232\217\045\346\200\161\141\053\265\173\314 -\371\045\026\201\341\061\137\241\243\176\026\244\234\026\152\227 -\030\275\166\162\245\013\236\035\066\346\057\241\057\276\160\221 -\017\250\346\332\370\304\222\100\154\045\176\173\263\011\334\262 -\027\255\200\104\360\150\245\217\224\165\377\164\132\350\250\002 -\174\014\011\342\251\113\013\240\205\013\142\271\357\241\061\222 -\373\357\366\121\004\211\154\350\251\164\241\273\027\263\265\375 -\111\017\174\074\354\203\030\040\103\116\325\223\272\264\064\261 -\037\026\066\037\014\346\144\071\026\114\334\340\376\035\310\251 -\142\075\100\352\312\305\064\002\264\256\211\210\063\065\334\054 -\023\163\330\047\361\320\162\356\165\073\042\336\230\150\146\133 -\361\306\143\107\125\034\272\245\010\121\165\246\110\045 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "GTS Root R1" -# Issuer: CN=GTS Root R1,O=Google Trust Services LLC,C=US -# Serial Number:6e:47:a9:c5:4b:47:0c:0d:ec:33:d0:89:b9:1c:f4:e1 -# Subject: CN=GTS Root R1,O=Google Trust Services LLC,C=US -# Not Valid Before: Wed Jun 22 00:00:00 2016 -# Not Valid After : Sun Jun 22 00:00:00 2036 -# Fingerprint (SHA-256): 2A:57:54:71:E3:13:40:BC:21:58:1C:BD:2C:F1:3E:15:84:63:20:3E:CE:94:BC:F9:D3:CC:19:6B:F0:9A:54:72 -# Fingerprint (SHA1): E1:C9:50:E6:EF:22:F8:4C:56:45:72:8B:92:20:60:D7:D5:A7:A3:E8 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GTS Root R1" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\341\311\120\346\357\042\370\114\126\105\162\213\222\040\140\327 -\325\247\243\350 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\202\032\357\324\322\112\362\237\342\075\227\006\024\160\162\205 -END -CKA_ISSUER MULTILINE_OCTAL -\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145 -\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040 -\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124 -\123\040\122\157\157\164\040\122\061 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\156\107\251\305\113\107\014\015\354\063\320\211\271\034 -\364\341 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "GTS Root R2" -# -# Issuer: CN=GTS Root R2,O=Google Trust Services LLC,C=US -# Serial Number:6e:47:a9:c6:5a:b3:e7:20:c5:30:9a:3f:68:52:f2:6f -# Subject: CN=GTS Root R2,O=Google Trust Services LLC,C=US -# Not Valid Before: Wed Jun 22 00:00:00 2016 -# Not Valid After : Sun Jun 22 00:00:00 2036 -# Fingerprint (SHA-256): C4:5D:7B:B0:8E:6D:67:E6:2E:42:35:11:0B:56:4E:5F:78:FD:92:EF:05:8C:84:0A:EA:4E:64:55:D7:58:5C:60 -# Fingerprint (SHA1): D2:73:96:2A:2A:5E:39:9F:73:3F:E1:C7:1E:64:3F:03:38:34:FC:4D -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GTS Root R2" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145 -\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040 -\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124 -\123\040\122\157\157\164\040\122\062 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145 -\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040 -\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124 -\123\040\122\157\157\164\040\122\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\156\107\251\306\132\263\347\040\305\060\232\077\150\122 -\362\157 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\132\060\202\003\102\240\003\002\001\002\002\020\156 -\107\251\306\132\263\347\040\305\060\232\077\150\122\362\157\060 -\015\006\011\052\206\110\206\367\015\001\001\014\005\000\060\107 -\061\013\060\011\006\003\125\004\006\023\002\125\123\061\042\060 -\040\006\003\125\004\012\023\031\107\157\157\147\154\145\040\124 -\162\165\163\164\040\123\145\162\166\151\143\145\163\040\114\114 -\103\061\024\060\022\006\003\125\004\003\023\013\107\124\123\040 -\122\157\157\164\040\122\062\060\036\027\015\061\066\060\066\062 -\062\060\060\060\060\060\060\132\027\015\063\066\060\066\062\062 -\060\060\060\060\060\060\132\060\107\061\013\060\011\006\003\125 -\004\006\023\002\125\123\061\042\060\040\006\003\125\004\012\023 -\031\107\157\157\147\154\145\040\124\162\165\163\164\040\123\145 -\162\166\151\143\145\163\040\114\114\103\061\024\060\022\006\003 -\125\004\003\023\013\107\124\123\040\122\157\157\164\040\122\062 -\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001 -\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001 -\000\316\336\375\246\373\354\354\024\064\074\007\006\132\154\131 -\367\031\065\335\367\301\235\125\252\323\315\073\244\223\162\357 -\012\372\155\235\366\360\205\200\133\241\110\122\237\071\305\267 -\356\050\254\357\313\166\150\024\271\337\255\001\154\231\037\304 -\042\035\237\376\162\167\340\054\133\257\344\004\277\117\162\240 -\032\064\230\350\071\150\354\225\045\173\166\241\346\151\271\205 -\031\275\211\214\376\255\355\066\352\163\274\377\203\342\313\175 -\301\322\316\112\263\215\005\236\213\111\223\337\301\133\320\156 -\136\360\056\060\056\202\374\372\274\264\027\012\110\345\210\233 -\305\233\153\336\260\312\264\003\360\332\364\220\270\145\144\367 -\134\114\255\350\176\146\136\231\327\270\302\076\310\320\023\235 -\255\356\344\105\173\211\125\367\212\037\142\122\204\022\263\302 -\100\227\343\212\037\107\221\246\164\132\322\370\261\143\050\020 -\270\263\011\270\126\167\100\242\046\230\171\306\376\337\045\356 -\076\345\240\177\324\141\017\121\113\074\077\214\332\341\160\164 -\330\302\150\241\371\301\014\351\241\342\177\273\125\074\166\006 -\356\152\116\314\222\210\060\115\232\275\117\013\110\232\204\265 -\230\243\325\373\163\301\127\141\335\050\126\165\023\256\207\216 -\347\014\121\011\020\165\210\114\274\215\371\173\074\324\042\110 -\037\052\334\353\153\273\104\261\313\063\161\062\106\257\255\112 -\361\214\350\164\072\254\347\032\042\163\200\322\060\367\045\102 -\307\042\073\073\022\255\226\056\306\303\166\007\252\040\267\065 -\111\127\351\222\111\350\166\026\162\061\147\053\226\176\212\243 -\307\224\126\042\277\152\113\176\001\041\262\043\062\337\344\232 -\104\155\131\133\135\365\000\240\034\233\306\170\227\215\220\377 -\233\310\252\264\257\021\121\071\136\331\373\147\255\325\133\021 -\235\062\232\033\275\325\272\133\245\311\313\045\151\123\125\047 -\134\340\312\066\313\210\141\373\036\267\320\313\356\026\373\323 -\246\114\336\222\245\324\342\337\365\006\124\336\056\235\113\264 -\223\060\252\201\316\335\032\334\121\163\015\117\160\351\345\266 -\026\041\031\171\262\346\211\013\165\144\312\325\253\274\011\301 -\030\241\377\324\124\241\205\074\375\024\044\003\262\207\323\244 -\267\002\003\001\000\001\243\102\060\100\060\016\006\003\125\035 -\017\001\001\377\004\004\003\002\001\006\060\017\006\003\125\035 -\023\001\001\377\004\005\060\003\001\001\377\060\035\006\003\125 -\035\016\004\026\004\024\273\377\312\216\043\237\117\231\312\333 -\342\150\246\245\025\047\027\036\331\016\060\015\006\011\052\206 -\110\206\367\015\001\001\014\005\000\003\202\002\001\000\266\151 -\360\246\167\376\236\356\013\201\255\341\300\251\307\371\065\035 -\100\202\253\346\004\264\337\313\367\035\017\203\360\176\023\115 -\215\214\356\343\063\042\303\071\374\100\337\156\101\113\102\123 -\276\026\210\361\322\070\136\304\150\231\034\230\122\223\214\347 -\150\355\033\152\163\172\005\100\115\177\145\073\326\130\361\316 -\203\107\140\343\377\227\251\234\140\167\030\125\265\176\010\223 -\317\320\366\074\147\003\025\141\011\371\201\171\365\354\123\244 -\237\311\217\001\213\163\304\167\166\334\203\242\365\014\111\032 -\250\166\336\222\233\144\370\263\054\305\047\323\007\300\010\200 -\244\230\222\343\001\226\002\252\002\356\217\073\305\321\155\012 -\063\060\163\170\271\117\124\026\277\013\007\241\244\134\346\313 -\311\134\204\217\017\340\025\167\054\176\046\176\332\304\113\333 -\247\026\167\007\260\315\165\350\162\102\326\225\204\235\206\203 -\362\344\220\315\011\107\324\213\003\160\332\132\306\003\102\364 -\355\067\242\360\033\120\124\113\016\330\204\336\031\050\231\201 -\107\256\011\033\077\110\321\303\157\342\260\140\027\365\356\043 -\002\245\332\000\133\155\220\253\356\242\351\033\073\351\307\104 -\047\105\216\153\237\365\244\204\274\167\371\153\227\254\076\121 -\105\242\021\246\314\205\356\012\150\362\076\120\070\172\044\142 -\036\027\040\067\155\152\115\267\011\233\311\374\244\130\365\266 -\373\234\116\030\273\225\002\347\241\255\233\007\356\066\153\044 -\322\071\206\301\223\203\120\322\201\106\250\137\142\127\054\273 -\154\144\210\010\156\357\023\124\137\335\055\304\147\143\323\317 -\211\067\277\235\040\364\373\172\203\233\240\036\201\000\120\302 -\344\014\042\131\122\020\355\103\126\207\000\370\024\122\247\035 -\213\223\214\242\115\106\177\047\306\161\233\044\336\344\332\206 -\213\015\176\153\040\301\300\236\341\145\330\152\243\246\350\205 -\213\072\007\010\034\272\365\217\125\232\030\165\176\345\354\201 -\146\321\041\163\241\065\104\013\200\075\133\234\136\157\052\027 -\226\321\203\043\210\146\155\346\206\342\160\062\057\122\042\347 -\310\347\177\304\054\140\135\057\303\257\236\105\005\303\204\002 -\267\375\054\010\122\117\202\335\243\360\324\206\011\002 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "GTS Root R2" -# Issuer: CN=GTS Root R2,O=Google Trust Services LLC,C=US -# Serial Number:6e:47:a9:c6:5a:b3:e7:20:c5:30:9a:3f:68:52:f2:6f -# Subject: CN=GTS Root R2,O=Google Trust Services LLC,C=US -# Not Valid Before: Wed Jun 22 00:00:00 2016 -# Not Valid After : Sun Jun 22 00:00:00 2036 -# Fingerprint (SHA-256): C4:5D:7B:B0:8E:6D:67:E6:2E:42:35:11:0B:56:4E:5F:78:FD:92:EF:05:8C:84:0A:EA:4E:64:55:D7:58:5C:60 -# Fingerprint (SHA1): D2:73:96:2A:2A:5E:39:9F:73:3F:E1:C7:1E:64:3F:03:38:34:FC:4D -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GTS Root R2" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\322\163\226\052\052\136\071\237\163\077\341\307\036\144\077\003 -\070\064\374\115 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\104\355\232\016\244\011\073\000\362\256\114\243\306\141\260\213 -END -CKA_ISSUER MULTILINE_OCTAL -\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145 -\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040 -\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124 -\123\040\122\157\157\164\040\122\062 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\156\107\251\306\132\263\347\040\305\060\232\077\150\122 -\362\157 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "GTS Root R3" -# -# Issuer: CN=GTS Root R3,O=Google Trust Services LLC,C=US -# Serial Number:6e:47:a9:c7:6c:a9:73:24:40:89:0f:03:55:dd:8d:1d -# Subject: CN=GTS Root R3,O=Google Trust Services LLC,C=US -# Not Valid Before: Wed Jun 22 00:00:00 2016 -# Not Valid After : Sun Jun 22 00:00:00 2036 -# Fingerprint (SHA-256): 15:D5:B8:77:46:19:EA:7D:54:CE:1C:A6:D0:B0:C4:03:E0:37:A9:17:F1:31:E8:A0:4E:1E:6B:7A:71:BA:BC:E5 -# Fingerprint (SHA1): 30:D4:24:6F:07:FF:DB:91:89:8A:0B:E9:49:66:11:EB:8C:5E:46:E5 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GTS Root R3" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145 -\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040 -\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124 -\123\040\122\157\157\164\040\122\063 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145 -\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040 -\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124 -\123\040\122\157\157\164\040\122\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\156\107\251\307\154\251\163\044\100\211\017\003\125\335 -\215\035 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\002\014\060\202\001\221\240\003\002\001\002\002\020\156 -\107\251\307\154\251\163\044\100\211\017\003\125\335\215\035\060 -\012\006\010\052\206\110\316\075\004\003\003\060\107\061\013\060 -\011\006\003\125\004\006\023\002\125\123\061\042\060\040\006\003 -\125\004\012\023\031\107\157\157\147\154\145\040\124\162\165\163 -\164\040\123\145\162\166\151\143\145\163\040\114\114\103\061\024 -\060\022\006\003\125\004\003\023\013\107\124\123\040\122\157\157 -\164\040\122\063\060\036\027\015\061\066\060\066\062\062\060\060 -\060\060\060\060\132\027\015\063\066\060\066\062\062\060\060\060 -\060\060\060\132\060\107\061\013\060\011\006\003\125\004\006\023 -\002\125\123\061\042\060\040\006\003\125\004\012\023\031\107\157 -\157\147\154\145\040\124\162\165\163\164\040\123\145\162\166\151 -\143\145\163\040\114\114\103\061\024\060\022\006\003\125\004\003 -\023\013\107\124\123\040\122\157\157\164\040\122\063\060\166\060 -\020\006\007\052\206\110\316\075\002\001\006\005\053\201\004\000 -\042\003\142\000\004\037\117\063\207\063\051\212\241\204\336\313 -\307\041\130\101\211\352\126\235\053\113\205\306\035\114\047\274 -\177\046\121\162\157\342\237\326\243\312\314\105\024\106\213\255 -\357\176\206\214\354\261\176\057\377\251\161\235\030\204\105\004 -\101\125\156\053\352\046\177\273\220\001\343\113\031\272\344\124 -\226\105\011\261\325\154\221\104\255\204\023\216\232\214\015\200 -\014\062\366\340\047\243\102\060\100\060\016\006\003\125\035\017 -\001\001\377\004\004\003\002\001\006\060\017\006\003\125\035\023 -\001\001\377\004\005\060\003\001\001\377\060\035\006\003\125\035 -\016\004\026\004\024\301\361\046\272\240\055\256\205\201\317\323 -\361\052\022\275\270\012\147\375\274\060\012\006\010\052\206\110 -\316\075\004\003\003\003\151\000\060\146\002\061\000\200\133\244 -\174\043\300\225\245\054\334\276\211\157\043\271\243\335\145\000 -\122\136\221\254\310\235\162\164\202\123\013\175\251\100\275\150 -\140\305\341\270\124\073\301\066\027\045\330\301\275\002\061\000 -\236\065\222\164\205\045\121\365\044\354\144\122\044\120\245\037 -\333\350\313\311\166\354\354\202\156\365\205\030\123\350\270\343 -\232\051\252\226\323\203\043\311\244\173\141\263\314\002\350\135 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "GTS Root R3" -# Issuer: CN=GTS Root R3,O=Google Trust Services LLC,C=US -# Serial Number:6e:47:a9:c7:6c:a9:73:24:40:89:0f:03:55:dd:8d:1d -# Subject: CN=GTS Root R3,O=Google Trust Services LLC,C=US -# Not Valid Before: Wed Jun 22 00:00:00 2016 -# Not Valid After : Sun Jun 22 00:00:00 2036 -# Fingerprint (SHA-256): 15:D5:B8:77:46:19:EA:7D:54:CE:1C:A6:D0:B0:C4:03:E0:37:A9:17:F1:31:E8:A0:4E:1E:6B:7A:71:BA:BC:E5 -# Fingerprint (SHA1): 30:D4:24:6F:07:FF:DB:91:89:8A:0B:E9:49:66:11:EB:8C:5E:46:E5 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GTS Root R3" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\060\324\044\157\007\377\333\221\211\212\013\351\111\146\021\353 -\214\136\106\345 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\032\171\133\153\004\122\234\135\307\164\063\033\045\232\371\045 -END -CKA_ISSUER MULTILINE_OCTAL -\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145 -\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040 -\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124 -\123\040\122\157\157\164\040\122\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\156\107\251\307\154\251\163\044\100\211\017\003\125\335 -\215\035 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "GTS Root R4" -# -# Issuer: CN=GTS Root R4,O=Google Trust Services LLC,C=US -# Serial Number:6e:47:a9:c8:8b:94:b6:e8:bb:3b:2a:d8:a2:b2:c1:99 -# Subject: CN=GTS Root R4,O=Google Trust Services LLC,C=US -# Not Valid Before: Wed Jun 22 00:00:00 2016 -# Not Valid After : Sun Jun 22 00:00:00 2036 -# Fingerprint (SHA-256): 71:CC:A5:39:1F:9E:79:4B:04:80:25:30:B3:63:E1:21:DA:8A:30:43:BB:26:66:2F:EA:4D:CA:7F:C9:51:A4:BD -# Fingerprint (SHA1): 2A:1D:60:27:D9:4A:B1:0A:1C:4D:91:5C:CD:33:A0:CB:3E:2D:54:CB -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GTS Root R4" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145 -\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040 -\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124 -\123\040\122\157\157\164\040\122\064 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145 -\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040 -\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124 -\123\040\122\157\157\164\040\122\064 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\156\107\251\310\213\224\266\350\273\073\052\330\242\262 -\301\231 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\002\012\060\202\001\221\240\003\002\001\002\002\020\156 -\107\251\310\213\224\266\350\273\073\052\330\242\262\301\231\060 -\012\006\010\052\206\110\316\075\004\003\003\060\107\061\013\060 -\011\006\003\125\004\006\023\002\125\123\061\042\060\040\006\003 -\125\004\012\023\031\107\157\157\147\154\145\040\124\162\165\163 -\164\040\123\145\162\166\151\143\145\163\040\114\114\103\061\024 -\060\022\006\003\125\004\003\023\013\107\124\123\040\122\157\157 -\164\040\122\064\060\036\027\015\061\066\060\066\062\062\060\060 -\060\060\060\060\132\027\015\063\066\060\066\062\062\060\060\060 -\060\060\060\132\060\107\061\013\060\011\006\003\125\004\006\023 -\002\125\123\061\042\060\040\006\003\125\004\012\023\031\107\157 -\157\147\154\145\040\124\162\165\163\164\040\123\145\162\166\151 -\143\145\163\040\114\114\103\061\024\060\022\006\003\125\004\003 -\023\013\107\124\123\040\122\157\157\164\040\122\064\060\166\060 -\020\006\007\052\206\110\316\075\002\001\006\005\053\201\004\000 -\042\003\142\000\004\363\164\163\247\150\213\140\256\103\270\065 -\305\201\060\173\113\111\235\373\301\141\316\346\336\106\275\153 -\325\141\030\065\256\100\335\163\367\211\221\060\132\353\074\356 -\205\174\242\100\166\073\251\306\270\107\330\052\347\222\221\152 -\163\351\261\162\071\237\051\237\242\230\323\137\136\130\206\145 -\017\241\204\145\006\321\334\213\311\307\163\310\214\152\057\345 -\304\253\321\035\212\243\102\060\100\060\016\006\003\125\035\017 -\001\001\377\004\004\003\002\001\006\060\017\006\003\125\035\023 -\001\001\377\004\005\060\003\001\001\377\060\035\006\003\125\035 -\016\004\026\004\024\200\114\326\353\164\377\111\066\243\325\330 -\374\265\076\305\152\360\224\035\214\060\012\006\010\052\206\110 -\316\075\004\003\003\003\147\000\060\144\002\060\152\120\122\164 -\010\304\160\334\236\120\164\041\350\215\172\041\303\117\226\156 -\025\321\042\065\141\055\372\010\067\356\031\155\255\333\262\314 -\175\007\064\365\140\031\054\265\064\331\157\040\002\060\003\161 -\261\272\243\140\013\206\355\232\010\152\225\150\237\342\263\341 -\223\144\174\136\223\246\337\171\055\215\205\343\224\317\043\135 -\161\314\362\260\115\326\376\231\310\224\251\165\242\343 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "GTS Root R4" -# Issuer: CN=GTS Root R4,O=Google Trust Services LLC,C=US -# Serial Number:6e:47:a9:c8:8b:94:b6:e8:bb:3b:2a:d8:a2:b2:c1:99 -# Subject: CN=GTS Root R4,O=Google Trust Services LLC,C=US -# Not Valid Before: Wed Jun 22 00:00:00 2016 -# Not Valid After : Sun Jun 22 00:00:00 2036 -# Fingerprint (SHA-256): 71:CC:A5:39:1F:9E:79:4B:04:80:25:30:B3:63:E1:21:DA:8A:30:43:BB:26:66:2F:EA:4D:CA:7F:C9:51:A4:BD -# Fingerprint (SHA1): 2A:1D:60:27:D9:4A:B1:0A:1C:4D:91:5C:CD:33:A0:CB:3E:2D:54:CB -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "GTS Root R4" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\052\035\140\047\331\112\261\012\034\115\221\134\315\063\240\313 -\076\055\124\313 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\135\266\152\304\140\027\044\152\032\231\250\113\356\136\264\046 -END -CKA_ISSUER MULTILINE_OCTAL -\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145 -\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040 -\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124 -\123\040\122\157\157\164\040\122\064 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\156\107\251\310\213\224\266\350\273\073\052\330\242\262 -\301\231 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "UCA Global G2 Root" -# -# Issuer: CN=UCA Global G2 Root,O=UniTrust,C=CN -# Serial Number:5d:df:b1:da:5a:a3:ed:5d:be:5a:65:20:65:03:90:ef -# Subject: CN=UCA Global G2 Root,O=UniTrust,C=CN -# Not Valid Before: Fri Mar 11 00:00:00 2016 -# Not Valid After : Mon Dec 31 00:00:00 2040 -# Fingerprint (SHA-256): 9B:EA:11:C9:76:FE:01:47:64:C1:BE:56:A6:F9:14:B5:A5:60:31:7A:BD:99:88:39:33:82:E5:16:1A:A0:49:3C -# Fingerprint (SHA1): 28:F9:78:16:19:7A:FF:18:25:18:AA:44:FE:C1:A0:CE:5C:B6:4C:8A -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "UCA Global G2 Root" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\075\061\013\060\011\006\003\125\004\006\023\002\103\116\061 -\021\060\017\006\003\125\004\012\014\010\125\156\151\124\162\165 -\163\164\061\033\060\031\006\003\125\004\003\014\022\125\103\101 -\040\107\154\157\142\141\154\040\107\062\040\122\157\157\164 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\075\061\013\060\011\006\003\125\004\006\023\002\103\116\061 -\021\060\017\006\003\125\004\012\014\010\125\156\151\124\162\165 -\163\164\061\033\060\031\006\003\125\004\003\014\022\125\103\101 -\040\107\154\157\142\141\154\040\107\062\040\122\157\157\164 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\135\337\261\332\132\243\355\135\276\132\145\040\145\003 -\220\357 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\106\060\202\003\056\240\003\002\001\002\002\020\135 -\337\261\332\132\243\355\135\276\132\145\040\145\003\220\357\060 -\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\075 -\061\013\060\011\006\003\125\004\006\023\002\103\116\061\021\060 -\017\006\003\125\004\012\014\010\125\156\151\124\162\165\163\164 -\061\033\060\031\006\003\125\004\003\014\022\125\103\101\040\107 -\154\157\142\141\154\040\107\062\040\122\157\157\164\060\036\027 -\015\061\066\060\063\061\061\060\060\060\060\060\060\132\027\015 -\064\060\061\062\063\061\060\060\060\060\060\060\132\060\075\061 -\013\060\011\006\003\125\004\006\023\002\103\116\061\021\060\017 -\006\003\125\004\012\014\010\125\156\151\124\162\165\163\164\061 -\033\060\031\006\003\125\004\003\014\022\125\103\101\040\107\154 -\157\142\141\154\040\107\062\040\122\157\157\164\060\202\002\042 -\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003 -\202\002\017\000\060\202\002\012\002\202\002\001\000\305\346\053 -\157\174\357\046\005\047\243\201\044\332\157\313\001\371\231\232 -\251\062\302\042\207\141\101\221\073\313\303\150\033\006\305\114 -\251\053\301\147\027\042\035\053\355\371\051\211\223\242\170\275 -\222\153\240\243\015\242\176\312\223\263\246\321\214\065\325\165 -\371\027\366\317\105\305\345\172\354\167\223\240\217\043\256\016 -\032\003\177\276\324\320\355\056\173\253\106\043\133\377\054\346 -\124\172\224\300\052\025\360\311\215\260\172\073\044\341\327\150 -\342\061\074\006\063\106\266\124\021\246\245\057\042\124\052\130 -\015\001\002\361\372\025\121\147\154\300\372\327\266\033\177\321 -\126\210\057\032\072\215\073\273\202\021\340\107\000\320\122\207 -\253\373\206\176\017\044\153\100\235\064\147\274\215\307\055\206 -\157\171\076\216\251\074\027\113\177\260\231\343\260\161\140\334 -\013\365\144\303\316\103\274\155\161\271\322\336\047\133\212\350 -\330\306\256\341\131\175\317\050\055\065\270\225\126\032\361\262 -\130\113\267\022\067\310\174\263\355\113\200\341\215\372\062\043 -\266\157\267\110\225\010\261\104\116\205\214\072\002\124\040\057 -\337\277\127\117\073\072\220\041\327\301\046\065\124\040\354\307 -\077\107\354\357\132\277\113\172\301\255\073\027\120\134\142\330 -\017\113\112\334\053\372\156\274\163\222\315\354\307\120\350\101 -\226\327\251\176\155\330\351\035\217\212\265\271\130\222\272\112 -\222\053\014\126\375\200\353\010\360\136\051\156\033\034\014\257 -\217\223\211\255\333\275\243\236\041\312\211\031\354\337\265\303 -\032\353\026\376\170\066\114\326\156\320\076\027\034\220\027\153 -\046\272\373\172\057\277\021\034\030\016\055\163\003\217\240\345 -\065\240\132\342\114\165\035\161\341\071\070\123\170\100\314\203 -\223\327\012\236\235\133\217\212\344\345\340\110\344\110\262\107 -\315\116\052\165\052\173\362\042\366\311\276\011\221\226\127\172 -\210\210\254\356\160\254\371\334\051\343\014\034\073\022\116\104 -\326\247\116\260\046\310\363\331\032\227\221\150\352\357\215\106 -\006\322\126\105\130\232\074\014\017\203\270\005\045\303\071\317 -\073\244\064\211\267\171\022\057\107\305\347\251\227\151\374\246 -\167\147\265\337\173\361\172\145\025\344\141\126\145\002\003\001 -\000\001\243\102\060\100\060\016\006\003\125\035\017\001\001\377 -\004\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377 -\004\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026 -\004\024\201\304\214\314\365\344\060\377\245\014\010\137\214\025 -\147\041\164\001\337\337\060\015\006\011\052\206\110\206\367\015 -\001\001\013\005\000\003\202\002\001\000\023\145\042\365\216\053 -\255\104\344\313\377\271\150\346\303\200\110\075\004\173\372\043 -\057\172\355\066\332\262\316\155\366\346\236\345\137\130\217\313 -\067\062\241\310\145\266\256\070\075\065\033\076\274\073\266\004 -\320\274\371\111\365\233\367\205\305\066\266\313\274\370\310\071 -\325\344\137\007\275\025\124\227\164\312\312\355\117\272\272\144 -\166\237\201\270\204\105\111\114\215\157\242\353\261\314\321\303 -\224\332\104\302\346\342\352\030\350\242\037\047\005\272\327\345 -\326\251\315\335\357\166\230\215\000\016\315\033\372\003\267\216 -\200\130\016\047\077\122\373\224\242\312\136\145\311\326\204\332 -\271\065\161\363\046\300\117\167\346\201\047\322\167\073\232\024 -\157\171\364\366\320\341\323\224\272\320\127\121\275\047\005\015 -\301\375\310\022\060\356\157\215\021\053\010\235\324\324\277\200 -\105\024\232\210\104\332\060\352\264\247\343\356\357\133\202\325 -\076\326\255\170\222\333\134\074\363\330\255\372\270\153\177\304 -\066\050\266\002\025\212\124\054\234\260\027\163\216\320\067\243 -\024\074\230\225\000\014\051\005\133\236\111\111\261\137\307\343 -\313\317\047\145\216\065\027\267\127\310\060\331\101\133\271\024 -\266\350\302\017\224\061\247\224\230\314\152\353\265\341\047\365 -\020\250\001\350\216\022\142\350\210\314\265\177\106\227\300\233 -\020\146\070\032\066\106\137\042\150\075\337\311\306\023\047\253 -\123\006\254\242\074\206\006\145\157\261\176\261\051\104\232\243 -\272\111\151\050\151\217\327\345\137\255\004\206\144\157\032\240 -\014\305\010\142\316\200\243\320\363\354\150\336\276\063\307\027 -\133\177\200\304\114\114\261\246\204\212\303\073\270\011\315\024 -\201\272\030\343\124\127\066\376\333\057\174\107\241\072\063\310 -\371\130\073\104\117\261\312\002\211\004\226\050\150\305\113\270 -\046\211\273\326\063\057\120\325\376\232\211\272\030\062\222\124 -\306\133\340\235\371\136\345\015\042\233\366\332\342\310\041\262 -\142\041\252\206\100\262\056\144\323\137\310\343\176\021\147\105 -\037\005\376\343\242\357\263\250\263\363\175\217\370\014\037\042 -\037\055\160\264\270\001\064\166\060\000\345\043\170\247\126\327 -\120\037\212\373\006\365\302\031\360\320 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "UCA Global G2 Root" -# Issuer: CN=UCA Global G2 Root,O=UniTrust,C=CN -# Serial Number:5d:df:b1:da:5a:a3:ed:5d:be:5a:65:20:65:03:90:ef -# Subject: CN=UCA Global G2 Root,O=UniTrust,C=CN -# Not Valid Before: Fri Mar 11 00:00:00 2016 -# Not Valid After : Mon Dec 31 00:00:00 2040 -# Fingerprint (SHA-256): 9B:EA:11:C9:76:FE:01:47:64:C1:BE:56:A6:F9:14:B5:A5:60:31:7A:BD:99:88:39:33:82:E5:16:1A:A0:49:3C -# Fingerprint (SHA1): 28:F9:78:16:19:7A:FF:18:25:18:AA:44:FE:C1:A0:CE:5C:B6:4C:8A -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "UCA Global G2 Root" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\050\371\170\026\031\172\377\030\045\030\252\104\376\301\240\316 -\134\266\114\212 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\200\376\360\304\112\360\134\142\062\237\034\272\170\251\120\370 -END -CKA_ISSUER MULTILINE_OCTAL -\060\075\061\013\060\011\006\003\125\004\006\023\002\103\116\061 -\021\060\017\006\003\125\004\012\014\010\125\156\151\124\162\165 -\163\164\061\033\060\031\006\003\125\004\003\014\022\125\103\101 -\040\107\154\157\142\141\154\040\107\062\040\122\157\157\164 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\135\337\261\332\132\243\355\135\276\132\145\040\145\003 -\220\357 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "UCA Extended Validation Root" -# -# Issuer: CN=UCA Extended Validation Root,O=UniTrust,C=CN -# Serial Number:4f:d2:2b:8f:f5:64:c8:33:9e:4f:34:58:66:23:70:60 -# Subject: CN=UCA Extended Validation Root,O=UniTrust,C=CN -# Not Valid Before: Fri Mar 13 00:00:00 2015 -# Not Valid After : Fri Dec 31 00:00:00 2038 -# Fingerprint (SHA-256): D4:3A:F9:B3:54:73:75:5C:96:84:FC:06:D7:D8:CB:70:EE:5C:28:E7:73:FB:29:4E:B4:1E:E7:17:22:92:4D:24 -# Fingerprint (SHA1): A3:A1:B0:6F:24:61:23:4A:E3:36:A5:C2:37:FC:A6:FF:DD:F0:D7:3A -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "UCA Extended Validation Root" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\107\061\013\060\011\006\003\125\004\006\023\002\103\116\061 -\021\060\017\006\003\125\004\012\014\010\125\156\151\124\162\165 -\163\164\061\045\060\043\006\003\125\004\003\014\034\125\103\101 -\040\105\170\164\145\156\144\145\144\040\126\141\154\151\144\141 -\164\151\157\156\040\122\157\157\164 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\107\061\013\060\011\006\003\125\004\006\023\002\103\116\061 -\021\060\017\006\003\125\004\012\014\010\125\156\151\124\162\165 -\163\164\061\045\060\043\006\003\125\004\003\014\034\125\103\101 -\040\105\170\164\145\156\144\145\144\040\126\141\154\151\144\141 -\164\151\157\156\040\122\157\157\164 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\117\322\053\217\365\144\310\063\236\117\064\130\146\043 -\160\140 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\132\060\202\003\102\240\003\002\001\002\002\020\117 -\322\053\217\365\144\310\063\236\117\064\130\146\043\160\140\060 -\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\107 -\061\013\060\011\006\003\125\004\006\023\002\103\116\061\021\060 -\017\006\003\125\004\012\014\010\125\156\151\124\162\165\163\164 -\061\045\060\043\006\003\125\004\003\014\034\125\103\101\040\105 -\170\164\145\156\144\145\144\040\126\141\154\151\144\141\164\151 -\157\156\040\122\157\157\164\060\036\027\015\061\065\060\063\061 -\063\060\060\060\060\060\060\132\027\015\063\070\061\062\063\061 -\060\060\060\060\060\060\132\060\107\061\013\060\011\006\003\125 -\004\006\023\002\103\116\061\021\060\017\006\003\125\004\012\014 -\010\125\156\151\124\162\165\163\164\061\045\060\043\006\003\125 -\004\003\014\034\125\103\101\040\105\170\164\145\156\144\145\144 -\040\126\141\154\151\144\141\164\151\157\156\040\122\157\157\164 -\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001 -\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001 -\000\251\011\007\050\023\002\260\231\340\144\252\036\103\026\172 -\163\261\221\240\165\076\250\372\343\070\000\172\354\211\152\040 -\017\213\305\260\233\063\003\132\206\306\130\206\325\301\205\273 -\117\306\234\100\115\312\276\356\151\226\270\255\201\060\232\174 -\222\005\353\005\053\232\110\320\270\166\076\226\310\040\273\322 -\260\361\217\330\254\105\106\377\252\147\140\264\167\176\152\037 -\074\032\122\172\004\075\007\074\205\015\204\320\037\166\012\367 -\152\024\337\162\343\064\174\127\116\126\001\076\171\361\252\051 -\073\154\372\370\217\155\115\310\065\337\256\353\334\044\356\171 -\105\247\205\266\005\210\336\210\135\045\174\227\144\147\011\331 -\277\132\025\005\206\363\011\036\354\130\062\063\021\363\167\144 -\260\166\037\344\020\065\027\033\362\016\261\154\244\052\243\163 -\374\011\037\036\062\031\123\021\347\331\263\054\056\166\056\241 -\243\336\176\152\210\011\350\362\007\212\370\262\315\020\347\342 -\163\100\223\273\010\321\077\341\374\013\224\263\045\357\174\246 -\327\321\257\237\377\226\232\365\221\173\230\013\167\324\176\350 -\007\322\142\265\225\071\343\363\361\155\017\016\145\204\212\143 -\124\305\200\266\340\236\113\175\107\046\247\001\010\135\321\210 -\236\327\303\062\104\372\202\112\012\150\124\177\070\123\003\314 -\244\000\063\144\121\131\013\243\202\221\172\136\354\026\302\363 -\052\346\142\332\052\333\131\142\020\045\112\052\201\013\107\007 -\103\006\160\207\322\372\223\021\051\172\110\115\353\224\307\160 -\115\257\147\325\121\261\200\040\001\001\264\172\010\246\220\177 -\116\340\357\007\101\207\257\152\245\136\213\373\317\120\262\232 -\124\257\303\211\272\130\055\365\060\230\261\066\162\071\176\111 -\004\375\051\247\114\171\344\005\127\333\224\271\026\123\215\106 -\263\035\225\141\127\126\177\257\360\026\133\141\130\157\066\120 -\021\013\330\254\053\225\026\032\016\037\010\315\066\064\145\020 -\142\146\325\200\137\024\040\137\055\014\240\170\012\150\326\054 -\327\351\157\053\322\112\005\223\374\236\157\153\147\377\210\361 -\116\245\151\112\122\067\005\352\306\026\215\322\304\231\321\202 -\053\073\272\065\165\367\121\121\130\363\310\007\335\344\264\003 -\177\002\003\001\000\001\243\102\060\100\060\035\006\003\125\035 -\016\004\026\004\024\331\164\072\344\060\075\015\367\022\334\176 -\132\005\237\036\064\232\367\341\024\060\017\006\003\125\035\023 -\001\001\377\004\005\060\003\001\001\377\060\016\006\003\125\035 -\017\001\001\377\004\004\003\002\001\206\060\015\006\011\052\206 -\110\206\367\015\001\001\013\005\000\003\202\002\001\000\066\215 -\227\314\102\025\144\051\067\233\046\054\326\373\256\025\151\054 -\153\032\032\367\137\266\371\007\114\131\352\363\311\310\271\256 -\314\272\056\172\334\300\365\260\055\300\073\257\237\160\005\021 -\152\237\045\117\001\051\160\343\345\014\341\352\132\174\334\111 -\273\301\036\052\201\365\026\113\162\221\310\242\061\271\252\332 -\374\235\037\363\135\100\002\023\374\116\034\006\312\263\024\220 -\124\027\031\022\032\361\037\327\014\151\132\366\161\170\364\224 -\175\221\013\216\354\220\124\216\274\157\241\114\253\374\164\144 -\375\161\232\370\101\007\241\315\221\344\074\232\340\233\062\071 -\163\253\052\325\151\310\170\221\046\061\175\342\307\060\361\374 -\024\170\167\022\016\023\364\335\026\224\277\113\147\173\160\123 -\205\312\260\273\363\070\115\054\220\071\300\015\302\135\153\351 -\342\345\325\210\215\326\054\277\253\033\276\265\050\207\022\027 -\164\156\374\175\374\217\320\207\046\260\033\373\271\154\253\342 -\236\075\025\301\073\056\147\002\130\221\237\357\370\102\037\054 -\267\150\365\165\255\317\265\366\377\021\175\302\360\044\245\255 -\323\372\240\074\251\372\135\334\245\240\357\104\244\276\326\350 -\345\344\023\226\027\173\006\076\062\355\307\267\102\274\166\243 -\330\145\070\053\070\065\121\041\016\016\157\056\064\023\100\341 -\053\147\014\155\112\101\060\030\043\132\062\125\231\311\027\340 -\074\336\366\354\171\255\053\130\031\242\255\054\042\032\225\216 -\276\226\220\135\102\127\304\371\024\003\065\053\034\055\121\127 -\010\247\072\336\077\344\310\264\003\163\302\301\046\200\273\013 -\102\037\255\015\257\046\162\332\314\276\263\243\203\130\015\202 -\305\037\106\121\343\234\030\314\215\233\215\354\111\353\165\120 -\325\214\050\131\312\164\064\332\214\013\041\253\036\352\033\345 -\307\375\025\076\300\027\252\373\043\156\046\106\313\372\371\261 -\162\153\151\317\042\204\013\142\017\254\331\031\000\224\242\166 -\074\324\055\232\355\004\236\055\006\142\020\067\122\034\205\162 -\033\047\345\314\306\061\354\067\354\143\131\233\013\035\166\314 -\176\062\232\210\225\010\066\122\273\336\166\137\166\111\111\255 -\177\275\145\040\262\311\301\053\166\030\166\237\126\261 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "UCA Extended Validation Root" -# Issuer: CN=UCA Extended Validation Root,O=UniTrust,C=CN -# Serial Number:4f:d2:2b:8f:f5:64:c8:33:9e:4f:34:58:66:23:70:60 -# Subject: CN=UCA Extended Validation Root,O=UniTrust,C=CN -# Not Valid Before: Fri Mar 13 00:00:00 2015 -# Not Valid After : Fri Dec 31 00:00:00 2038 -# Fingerprint (SHA-256): D4:3A:F9:B3:54:73:75:5C:96:84:FC:06:D7:D8:CB:70:EE:5C:28:E7:73:FB:29:4E:B4:1E:E7:17:22:92:4D:24 -# Fingerprint (SHA1): A3:A1:B0:6F:24:61:23:4A:E3:36:A5:C2:37:FC:A6:FF:DD:F0:D7:3A -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "UCA Extended Validation Root" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\243\241\260\157\044\141\043\112\343\066\245\302\067\374\246\377 -\335\360\327\072 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\241\363\137\103\306\064\233\332\277\214\176\005\123\255\226\342 -END -CKA_ISSUER MULTILINE_OCTAL -\060\107\061\013\060\011\006\003\125\004\006\023\002\103\116\061 -\021\060\017\006\003\125\004\012\014\010\125\156\151\124\162\165 -\163\164\061\045\060\043\006\003\125\004\003\014\034\125\103\101 -\040\105\170\164\145\156\144\145\144\040\126\141\154\151\144\141 -\164\151\157\156\040\122\157\157\164 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\020\117\322\053\217\365\144\310\063\236\117\064\130\146\043 -\160\140 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Certigna Root CA" -# -# Issuer: CN=Certigna Root CA,OU=0002 48146308100036,O=Dhimyotis,C=FR -# Serial Number:00:ca:e9:1b:89:f1:55:03:0d:a3:e6:41:6d:c4:e3:a6:e1 -# Subject: CN=Certigna Root CA,OU=0002 48146308100036,O=Dhimyotis,C=FR -# Not Valid Before: Tue Oct 01 08:32:27 2013 -# Not Valid After : Sat Oct 01 08:32:27 2033 -# Fingerprint (SHA-256): D4:8D:3D:23:EE:DB:50:A4:59:E5:51:97:60:1C:27:77:4B:9D:7B:18:C9:4D:5A:05:95:11:A1:02:50:B9:31:68 -# Fingerprint (SHA1): 2D:0D:52:14:FF:9E:AD:99:24:01:74:20:47:6E:6C:85:27:27:F5:43 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Certigna Root CA" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\132\061\013\060\011\006\003\125\004\006\023\002\106\122\061 -\022\060\020\006\003\125\004\012\014\011\104\150\151\155\171\157 -\164\151\163\061\034\060\032\006\003\125\004\013\014\023\060\060 -\060\062\040\064\070\061\064\066\063\060\070\061\060\060\060\063 -\066\061\031\060\027\006\003\125\004\003\014\020\103\145\162\164 -\151\147\156\141\040\122\157\157\164\040\103\101 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\132\061\013\060\011\006\003\125\004\006\023\002\106\122\061 -\022\060\020\006\003\125\004\012\014\011\104\150\151\155\171\157 -\164\151\163\061\034\060\032\006\003\125\004\013\014\023\060\060 -\060\062\040\064\070\061\064\066\063\060\070\061\060\060\060\063 -\066\061\031\060\027\006\003\125\004\003\014\020\103\145\162\164 -\151\147\156\141\040\122\157\157\164\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\021\000\312\351\033\211\361\125\003\015\243\346\101\155\304 -\343\246\341 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\006\133\060\202\004\103\240\003\002\001\002\002\021\000 -\312\351\033\211\361\125\003\015\243\346\101\155\304\343\246\341 -\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060 -\132\061\013\060\011\006\003\125\004\006\023\002\106\122\061\022 -\060\020\006\003\125\004\012\014\011\104\150\151\155\171\157\164 -\151\163\061\034\060\032\006\003\125\004\013\014\023\060\060\060 -\062\040\064\070\061\064\066\063\060\070\061\060\060\060\063\066 -\061\031\060\027\006\003\125\004\003\014\020\103\145\162\164\151 -\147\156\141\040\122\157\157\164\040\103\101\060\036\027\015\061 -\063\061\060\060\061\060\070\063\062\062\067\132\027\015\063\063 -\061\060\060\061\060\070\063\062\062\067\132\060\132\061\013\060 -\011\006\003\125\004\006\023\002\106\122\061\022\060\020\006\003 -\125\004\012\014\011\104\150\151\155\171\157\164\151\163\061\034 -\060\032\006\003\125\004\013\014\023\060\060\060\062\040\064\070 -\061\064\066\063\060\070\061\060\060\060\063\066\061\031\060\027 -\006\003\125\004\003\014\020\103\145\162\164\151\147\156\141\040 -\122\157\157\164\040\103\101\060\202\002\042\060\015\006\011\052 -\206\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060 -\202\002\012\002\202\002\001\000\315\030\071\145\032\131\261\352 -\144\026\016\214\224\044\225\174\203\323\305\071\046\334\014\357 -\026\127\215\327\330\254\243\102\177\202\312\355\315\133\333\016 -\267\055\355\105\010\027\262\331\263\313\326\027\122\162\050\333 -\216\116\236\212\266\013\371\236\204\232\115\166\336\042\051\134 -\322\263\322\006\076\060\071\251\164\243\222\126\034\241\157\114 -\012\040\155\237\043\172\264\306\332\054\344\035\054\334\263\050 -\320\023\362\114\116\002\111\241\124\100\236\346\345\005\240\055 -\204\310\377\230\154\320\353\212\032\204\010\036\267\150\043\356 -\043\325\160\316\155\121\151\020\356\241\172\302\321\042\061\302 -\202\205\322\362\125\166\120\174\045\172\311\204\134\013\254\335 -\102\116\053\347\202\242\044\211\313\220\262\320\356\043\272\146 -\114\273\142\244\371\123\132\144\173\174\230\372\243\110\236\017 -\225\256\247\030\364\152\354\056\003\105\257\360\164\370\052\315 -\172\135\321\276\104\046\062\051\361\361\365\154\314\176\002\041 -\013\237\157\244\077\276\235\123\342\317\175\251\054\174\130\032 -\227\341\075\067\067\030\146\050\322\100\305\121\212\214\303\055 -\316\123\210\044\130\144\060\026\305\252\340\326\012\246\100\337 -\170\366\365\004\174\151\023\204\274\321\321\247\006\317\001\367 -\150\300\250\127\273\072\141\255\004\214\223\343\255\374\360\333 -\104\155\131\334\111\131\256\254\232\231\066\060\101\173\166\063 -\042\207\243\302\222\206\156\371\160\356\256\207\207\225\033\304 -\172\275\061\363\324\322\345\231\377\276\110\354\165\365\170\026 -\035\246\160\301\177\074\033\241\222\373\317\310\074\326\305\223 -\012\217\365\125\072\166\225\316\131\230\212\011\225\167\062\232 -\203\272\054\004\072\227\275\324\057\276\327\154\233\242\312\175 -\155\046\311\125\325\317\303\171\122\010\011\231\007\044\055\144 -\045\153\246\041\151\233\152\335\164\115\153\227\172\101\275\253 -\027\371\220\027\110\217\066\371\055\325\305\333\356\252\205\105 -\101\372\315\072\105\261\150\346\066\114\233\220\127\354\043\271 -\207\010\302\304\011\361\227\206\052\050\115\342\164\300\332\304 -\214\333\337\342\241\027\131\316\044\131\164\061\332\177\375\060 -\155\331\334\341\152\341\374\137\002\003\001\000\001\243\202\001 -\032\060\202\001\026\060\017\006\003\125\035\023\001\001\377\004 -\005\060\003\001\001\377\060\016\006\003\125\035\017\001\001\377 -\004\004\003\002\001\006\060\035\006\003\125\035\016\004\026\004 -\024\030\207\126\340\156\167\356\044\065\074\116\163\232\037\326 -\341\342\171\176\053\060\037\006\003\125\035\043\004\030\060\026 -\200\024\030\207\126\340\156\167\356\044\065\074\116\163\232\037 -\326\341\342\171\176\053\060\104\006\003\125\035\040\004\075\060 -\073\060\071\006\004\125\035\040\000\060\061\060\057\006\010\053 -\006\001\005\005\007\002\001\026\043\150\164\164\160\163\072\057 -\057\167\167\167\167\056\143\145\162\164\151\147\156\141\056\146 -\162\057\141\165\164\157\162\151\164\145\163\057\060\155\006\003 -\125\035\037\004\146\060\144\060\057\240\055\240\053\206\051\150 -\164\164\160\072\057\057\143\162\154\056\143\145\162\164\151\147 -\156\141\056\146\162\057\143\145\162\164\151\147\156\141\162\157 -\157\164\143\141\056\143\162\154\060\061\240\057\240\055\206\053 -\150\164\164\160\072\057\057\143\162\154\056\144\150\151\155\171 -\157\164\151\163\056\143\157\155\057\143\145\162\164\151\147\156 -\141\162\157\157\164\143\141\056\143\162\154\060\015\006\011\052 -\206\110\206\367\015\001\001\013\005\000\003\202\002\001\000\224 -\270\236\117\360\343\225\010\042\347\315\150\101\367\034\125\325 -\174\000\342\055\072\211\135\150\070\057\121\042\013\112\215\313 -\351\273\135\076\273\134\075\261\050\376\344\123\125\023\317\241 -\220\033\002\035\137\146\106\011\063\050\341\015\044\227\160\323 -\020\037\352\144\127\226\273\135\332\347\304\214\117\114\144\106 -\035\134\207\343\131\336\102\321\233\250\176\246\211\335\217\034 -\311\060\202\355\073\234\315\300\351\031\340\152\330\002\165\067 -\253\367\064\050\050\221\362\004\012\117\065\343\140\046\001\372 -\320\021\214\371\021\152\356\257\075\303\120\323\217\137\063\171 -\074\206\250\163\105\220\214\040\266\162\163\027\043\276\007\145 -\345\170\222\015\272\001\300\353\214\034\146\277\254\206\167\001 -\224\015\234\346\351\071\215\037\246\121\214\231\014\071\167\341 -\264\233\372\034\147\127\157\152\152\216\251\053\114\127\171\172 -\127\042\317\315\137\143\106\215\134\131\072\206\370\062\107\142 -\243\147\015\030\221\334\373\246\153\365\110\141\163\043\131\216 -\002\247\274\104\352\364\111\235\361\124\130\371\140\257\332\030 -\244\057\050\105\334\172\240\210\206\135\363\073\347\377\051\065 -\200\374\144\103\224\346\343\034\157\276\255\016\052\143\231\053 -\311\176\205\366\161\350\006\003\225\376\336\217\110\034\132\324 -\222\350\053\356\347\061\333\272\004\152\207\230\347\305\137\357 -\175\247\042\367\001\330\115\371\211\320\016\232\005\131\244\236 -\230\331\157\053\312\160\276\144\302\125\243\364\351\257\303\222 -\051\334\210\026\044\231\074\215\046\230\266\133\267\314\316\267 -\067\007\375\046\331\230\205\044\377\131\043\003\232\355\235\235 -\250\344\136\070\316\327\122\015\157\322\077\155\261\005\153\111 -\316\212\221\106\163\364\366\057\360\250\163\167\016\145\254\241 -\215\146\122\151\176\113\150\014\307\036\067\047\203\245\214\307 -\002\344\024\315\111\001\260\163\263\375\306\220\072\157\322\154 -\355\073\356\354\221\276\242\103\135\213\000\112\146\045\104\160 -\336\100\017\370\174\025\367\242\316\074\327\136\023\214\201\027 -\030\027\321\275\361\167\020\072\324\145\071\301\047\254\127\054 -\045\124\377\242\332\117\212\141\071\136\256\075\112\214\275 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "Certigna Root CA" -# Issuer: CN=Certigna Root CA,OU=0002 48146308100036,O=Dhimyotis,C=FR -# Serial Number:00:ca:e9:1b:89:f1:55:03:0d:a3:e6:41:6d:c4:e3:a6:e1 -# Subject: CN=Certigna Root CA,OU=0002 48146308100036,O=Dhimyotis,C=FR -# Not Valid Before: Tue Oct 01 08:32:27 2013 -# Not Valid After : Sat Oct 01 08:32:27 2033 -# Fingerprint (SHA-256): D4:8D:3D:23:EE:DB:50:A4:59:E5:51:97:60:1C:27:77:4B:9D:7B:18:C9:4D:5A:05:95:11:A1:02:50:B9:31:68 -# Fingerprint (SHA1): 2D:0D:52:14:FF:9E:AD:99:24:01:74:20:47:6E:6C:85:27:27:F5:43 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Certigna Root CA" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\055\015\122\024\377\236\255\231\044\001\164\040\107\156\154\205 -\047\047\365\103 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\016\134\060\142\047\353\133\274\327\256\142\272\351\325\337\167 -END -CKA_ISSUER MULTILINE_OCTAL -\060\132\061\013\060\011\006\003\125\004\006\023\002\106\122\061 -\022\060\020\006\003\125\004\012\014\011\104\150\151\155\171\157 -\164\151\163\061\034\060\032\006\003\125\004\013\014\023\060\060 -\060\062\040\064\070\061\064\066\063\060\070\061\060\060\060\063 -\066\061\031\060\027\006\003\125\004\003\014\020\103\145\162\164 -\151\147\156\141\040\122\157\157\164\040\103\101 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\021\000\312\351\033\211\361\125\003\015\243\346\101\155\304 -\343\246\341 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "emSign Root CA - G1" -# -# Issuer: CN=emSign Root CA - G1,O=eMudhra Technologies Limited,OU=emSign PKI,C=IN -# Serial Number:31:f5:e4:62:0c:6c:58:ed:d6:d8 -# Subject: CN=emSign Root CA - G1,O=eMudhra Technologies Limited,OU=emSign PKI,C=IN -# Not Valid Before: Sun Feb 18 18:30:00 2018 -# Not Valid After : Wed Feb 18 18:30:00 2043 -# Fingerprint (SHA-256): 40:F6:AF:03:46:A9:9A:A1:CD:1D:55:5A:4E:9C:CE:62:C7:F9:63:46:03:EE:40:66:15:83:3D:C8:C8:D0:03:67 -# Fingerprint (SHA1): 8A:C7:AD:8F:73:AC:4E:C1:B5:75:4D:A5:40:F4:FC:CF:7C:B5:8E:8C -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "emSign Root CA - G1" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\147\061\013\060\011\006\003\125\004\006\023\002\111\116\061 -\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156 -\040\120\113\111\061\045\060\043\006\003\125\004\012\023\034\145 -\115\165\144\150\162\141\040\124\145\143\150\156\157\154\157\147 -\151\145\163\040\114\151\155\151\164\145\144\061\034\060\032\006 -\003\125\004\003\023\023\145\155\123\151\147\156\040\122\157\157 -\164\040\103\101\040\055\040\107\061 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\147\061\013\060\011\006\003\125\004\006\023\002\111\116\061 -\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156 -\040\120\113\111\061\045\060\043\006\003\125\004\012\023\034\145 -\115\165\144\150\162\141\040\124\145\143\150\156\157\154\157\147 -\151\145\163\040\114\151\155\151\164\145\144\061\034\060\032\006 -\003\125\004\003\023\023\145\155\123\151\147\156\040\122\157\157 -\164\040\103\101\040\055\040\107\061 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\012\061\365\344\142\014\154\130\355\326\330 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\224\060\202\002\174\240\003\002\001\002\002\012\061 -\365\344\142\014\154\130\355\326\330\060\015\006\011\052\206\110 -\206\367\015\001\001\013\005\000\060\147\061\013\060\011\006\003 -\125\004\006\023\002\111\116\061\023\060\021\006\003\125\004\013 -\023\012\145\155\123\151\147\156\040\120\113\111\061\045\060\043 -\006\003\125\004\012\023\034\145\115\165\144\150\162\141\040\124 -\145\143\150\156\157\154\157\147\151\145\163\040\114\151\155\151 -\164\145\144\061\034\060\032\006\003\125\004\003\023\023\145\155 -\123\151\147\156\040\122\157\157\164\040\103\101\040\055\040\107 -\061\060\036\027\015\061\070\060\062\061\070\061\070\063\060\060 -\060\132\027\015\064\063\060\062\061\070\061\070\063\060\060\060 -\132\060\147\061\013\060\011\006\003\125\004\006\023\002\111\116 -\061\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147 -\156\040\120\113\111\061\045\060\043\006\003\125\004\012\023\034 -\145\115\165\144\150\162\141\040\124\145\143\150\156\157\154\157 -\147\151\145\163\040\114\151\155\151\164\145\144\061\034\060\032 -\006\003\125\004\003\023\023\145\155\123\151\147\156\040\122\157 -\157\164\040\103\101\040\055\040\107\061\060\202\001\042\060\015 -\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001 -\017\000\060\202\001\012\002\202\001\001\000\223\113\273\351\146 -\212\356\235\133\325\064\223\320\033\036\303\347\236\270\144\063 -\177\143\170\150\264\315\056\161\165\327\233\040\306\115\051\274 -\266\150\140\212\367\041\232\126\065\132\363\166\275\330\315\232 -\377\223\126\113\245\131\006\241\223\064\051\335\026\064\165\116 -\362\201\264\307\226\116\255\031\025\122\112\376\074\160\165\160 -\315\257\053\253\025\232\063\074\252\263\213\252\315\103\375\365 -\352\160\377\355\317\021\073\224\316\116\062\026\323\043\100\052 -\167\263\257\074\001\054\154\355\231\054\213\331\116\151\230\262 -\367\217\101\260\062\170\141\326\015\137\303\372\242\100\222\035 -\134\027\346\160\076\065\347\242\267\302\142\342\253\244\070\114 -\265\071\065\157\352\003\151\372\072\124\150\205\155\326\362\057 -\103\125\036\221\015\016\330\325\152\244\226\321\023\074\054\170 -\120\350\072\222\322\027\126\345\065\032\100\034\076\215\054\355 -\071\337\102\340\203\101\164\337\243\315\302\206\140\110\150\343 -\151\013\124\000\213\344\166\151\041\015\171\116\064\010\136\024 -\302\314\261\267\255\327\174\160\212\307\205\002\003\001\000\001 -\243\102\060\100\060\035\006\003\125\035\016\004\026\004\024\373 -\357\015\206\236\260\343\335\251\271\361\041\027\177\076\374\360 -\167\053\032\060\016\006\003\125\035\017\001\001\377\004\004\003 -\002\001\006\060\017\006\003\125\035\023\001\001\377\004\005\060 -\003\001\001\377\060\015\006\011\052\206\110\206\367\015\001\001 -\013\005\000\003\202\001\001\000\131\377\362\214\365\207\175\161 -\075\243\237\033\133\321\332\370\323\234\153\066\275\233\251\141 -\353\336\026\054\164\075\236\346\165\332\327\272\247\274\102\027 -\347\075\221\353\345\175\335\076\234\361\317\222\254\154\110\314 -\302\042\077\151\073\305\266\025\057\243\065\306\150\052\034\127 -\257\071\357\215\320\065\303\030\014\173\000\126\034\315\213\031 -\164\336\276\017\022\340\320\252\241\077\002\064\261\160\316\235 -\030\326\010\003\011\106\356\140\340\176\266\304\111\004\121\175 -\160\140\274\252\262\377\171\162\172\246\035\075\137\052\370\312 -\342\375\071\267\107\271\353\176\337\004\043\257\372\234\006\007 -\351\373\143\223\200\100\265\306\154\012\061\050\316\014\237\317 -\263\043\065\200\101\215\154\304\067\173\201\057\200\241\100\102 -\205\351\331\070\215\350\241\123\315\001\277\151\350\132\006\362 -\105\013\220\372\256\341\277\235\362\256\127\074\245\256\262\126 -\364\213\145\100\351\375\061\201\054\364\071\011\330\356\153\247 -\264\246\035\025\245\230\367\001\201\330\205\175\363\121\134\161 -\210\336\272\314\037\200\176\112 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "emSign Root CA - G1" -# Issuer: CN=emSign Root CA - G1,O=eMudhra Technologies Limited,OU=emSign PKI,C=IN -# Serial Number:31:f5:e4:62:0c:6c:58:ed:d6:d8 -# Subject: CN=emSign Root CA - G1,O=eMudhra Technologies Limited,OU=emSign PKI,C=IN -# Not Valid Before: Sun Feb 18 18:30:00 2018 -# Not Valid After : Wed Feb 18 18:30:00 2043 -# Fingerprint (SHA-256): 40:F6:AF:03:46:A9:9A:A1:CD:1D:55:5A:4E:9C:CE:62:C7:F9:63:46:03:EE:40:66:15:83:3D:C8:C8:D0:03:67 -# Fingerprint (SHA1): 8A:C7:AD:8F:73:AC:4E:C1:B5:75:4D:A5:40:F4:FC:CF:7C:B5:8E:8C -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "emSign Root CA - G1" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\212\307\255\217\163\254\116\301\265\165\115\245\100\364\374\317 -\174\265\216\214 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\234\102\204\127\335\313\013\247\056\225\255\266\363\332\274\254 -END -CKA_ISSUER MULTILINE_OCTAL -\060\147\061\013\060\011\006\003\125\004\006\023\002\111\116\061 -\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156 -\040\120\113\111\061\045\060\043\006\003\125\004\012\023\034\145 -\115\165\144\150\162\141\040\124\145\143\150\156\157\154\157\147 -\151\145\163\040\114\151\155\151\164\145\144\061\034\060\032\006 -\003\125\004\003\023\023\145\155\123\151\147\156\040\122\157\157 -\164\040\103\101\040\055\040\107\061 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\012\061\365\344\142\014\154\130\355\326\330 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "emSign ECC Root CA - G3" -# -# Issuer: CN=emSign ECC Root CA - G3,O=eMudhra Technologies Limited,OU=emSign PKI,C=IN -# Serial Number:3c:f6:07:a9:68:70:0e:da:8b:84 -# Subject: CN=emSign ECC Root CA - G3,O=eMudhra Technologies Limited,OU=emSign PKI,C=IN -# Not Valid Before: Sun Feb 18 18:30:00 2018 -# Not Valid After : Wed Feb 18 18:30:00 2043 -# Fingerprint (SHA-256): 86:A1:EC:BA:08:9C:4A:8D:3B:BE:27:34:C6:12:BA:34:1D:81:3E:04:3C:F9:E8:A8:62:CD:5C:57:A3:6B:BE:6B -# Fingerprint (SHA1): 30:43:FA:4F:F2:57:DC:A0:C3:80:EE:2E:58:EA:78:B2:3F:E6:BB:C1 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "emSign ECC Root CA - G3" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\153\061\013\060\011\006\003\125\004\006\023\002\111\116\061 -\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156 -\040\120\113\111\061\045\060\043\006\003\125\004\012\023\034\145 -\115\165\144\150\162\141\040\124\145\143\150\156\157\154\157\147 -\151\145\163\040\114\151\155\151\164\145\144\061\040\060\036\006 -\003\125\004\003\023\027\145\155\123\151\147\156\040\105\103\103 -\040\122\157\157\164\040\103\101\040\055\040\107\063 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\153\061\013\060\011\006\003\125\004\006\023\002\111\116\061 -\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156 -\040\120\113\111\061\045\060\043\006\003\125\004\012\023\034\145 -\115\165\144\150\162\141\040\124\145\143\150\156\157\154\157\147 -\151\145\163\040\114\151\155\151\164\145\144\061\040\060\036\006 -\003\125\004\003\023\027\145\155\123\151\147\156\040\105\103\103 -\040\122\157\157\164\040\103\101\040\055\040\107\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\012\074\366\007\251\150\160\016\332\213\204 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\002\116\060\202\001\323\240\003\002\001\002\002\012\074 -\366\007\251\150\160\016\332\213\204\060\012\006\010\052\206\110 -\316\075\004\003\003\060\153\061\013\060\011\006\003\125\004\006 -\023\002\111\116\061\023\060\021\006\003\125\004\013\023\012\145 -\155\123\151\147\156\040\120\113\111\061\045\060\043\006\003\125 -\004\012\023\034\145\115\165\144\150\162\141\040\124\145\143\150 -\156\157\154\157\147\151\145\163\040\114\151\155\151\164\145\144 -\061\040\060\036\006\003\125\004\003\023\027\145\155\123\151\147 -\156\040\105\103\103\040\122\157\157\164\040\103\101\040\055\040 -\107\063\060\036\027\015\061\070\060\062\061\070\061\070\063\060 -\060\060\132\027\015\064\063\060\062\061\070\061\070\063\060\060 -\060\132\060\153\061\013\060\011\006\003\125\004\006\023\002\111 -\116\061\023\060\021\006\003\125\004\013\023\012\145\155\123\151 -\147\156\040\120\113\111\061\045\060\043\006\003\125\004\012\023 -\034\145\115\165\144\150\162\141\040\124\145\143\150\156\157\154 -\157\147\151\145\163\040\114\151\155\151\164\145\144\061\040\060 -\036\006\003\125\004\003\023\027\145\155\123\151\147\156\040\105 -\103\103\040\122\157\157\164\040\103\101\040\055\040\107\063\060 -\166\060\020\006\007\052\206\110\316\075\002\001\006\005\053\201 -\004\000\042\003\142\000\004\043\245\014\270\055\022\365\050\363 -\261\262\335\342\002\022\200\236\071\137\111\115\237\311\045\064 -\131\164\354\273\006\034\347\300\162\257\350\256\057\341\101\124 -\207\024\250\112\262\350\174\202\346\133\152\265\334\263\165\316 -\213\006\320\206\043\277\106\325\216\017\077\004\364\327\034\222 -\176\366\245\143\302\365\137\216\056\117\241\030\031\002\053\062 -\012\202\144\175\026\223\321\243\102\060\100\060\035\006\003\125 -\035\016\004\026\004\024\174\135\002\204\023\324\314\212\233\201 -\316\027\034\056\051\036\234\110\143\102\060\016\006\003\125\035 -\017\001\001\377\004\004\003\002\001\006\060\017\006\003\125\035 -\023\001\001\377\004\005\060\003\001\001\377\060\012\006\010\052 -\206\110\316\075\004\003\003\003\151\000\060\146\002\061\000\276 -\363\141\317\002\020\035\144\225\007\270\030\156\210\205\005\057 -\203\010\027\220\312\037\212\114\350\015\033\172\261\255\325\201 -\011\107\357\073\254\010\004\174\134\231\261\355\107\007\322\002 -\061\000\235\272\125\374\251\112\350\355\355\346\166\001\102\173 -\310\370\140\331\215\121\213\125\073\373\214\173\353\145\011\303 -\370\226\315\107\250\202\362\026\125\167\044\176\022\020\225\004 -\054\243 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "emSign ECC Root CA - G3" -# Issuer: CN=emSign ECC Root CA - G3,O=eMudhra Technologies Limited,OU=emSign PKI,C=IN -# Serial Number:3c:f6:07:a9:68:70:0e:da:8b:84 -# Subject: CN=emSign ECC Root CA - G3,O=eMudhra Technologies Limited,OU=emSign PKI,C=IN -# Not Valid Before: Sun Feb 18 18:30:00 2018 -# Not Valid After : Wed Feb 18 18:30:00 2043 -# Fingerprint (SHA-256): 86:A1:EC:BA:08:9C:4A:8D:3B:BE:27:34:C6:12:BA:34:1D:81:3E:04:3C:F9:E8:A8:62:CD:5C:57:A3:6B:BE:6B -# Fingerprint (SHA1): 30:43:FA:4F:F2:57:DC:A0:C3:80:EE:2E:58:EA:78:B2:3F:E6:BB:C1 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "emSign ECC Root CA - G3" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\060\103\372\117\362\127\334\240\303\200\356\056\130\352\170\262 -\077\346\273\301 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\316\013\162\321\237\210\216\320\120\003\350\343\270\213\147\100 -END -CKA_ISSUER MULTILINE_OCTAL -\060\153\061\013\060\011\006\003\125\004\006\023\002\111\116\061 -\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156 -\040\120\113\111\061\045\060\043\006\003\125\004\012\023\034\145 -\115\165\144\150\162\141\040\124\145\143\150\156\157\154\157\147 -\151\145\163\040\114\151\155\151\164\145\144\061\040\060\036\006 -\003\125\004\003\023\027\145\155\123\151\147\156\040\105\103\103 -\040\122\157\157\164\040\103\101\040\055\040\107\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\012\074\366\007\251\150\160\016\332\213\204 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "emSign Root CA - C1" -# -# Issuer: CN=emSign Root CA - C1,O=eMudhra Inc,OU=emSign PKI,C=US -# Serial Number:00:ae:cf:00:ba:c4:cf:32:f8:43:b2 -# Subject: CN=emSign Root CA - C1,O=eMudhra Inc,OU=emSign PKI,C=US -# Not Valid Before: Sun Feb 18 18:30:00 2018 -# Not Valid After : Wed Feb 18 18:30:00 2043 -# Fingerprint (SHA-256): 12:56:09:AA:30:1D:A0:A2:49:B9:7A:82:39:CB:6A:34:21:6F:44:DC:AC:9F:39:54:B1:42:92:F2:E8:C8:60:8F -# Fingerprint (SHA1): E7:2E:F1:DF:FC:B2:09:28:CF:5D:D4:D5:67:37:B1:51:CB:86:4F:01 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "emSign Root CA - C1" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\126\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156 -\040\120\113\111\061\024\060\022\006\003\125\004\012\023\013\145 -\115\165\144\150\162\141\040\111\156\143\061\034\060\032\006\003 -\125\004\003\023\023\145\155\123\151\147\156\040\122\157\157\164 -\040\103\101\040\055\040\103\061 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\126\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156 -\040\120\113\111\061\024\060\022\006\003\125\004\012\023\013\145 -\115\165\144\150\162\141\040\111\156\143\061\034\060\032\006\003 -\125\004\003\023\023\145\155\123\151\147\156\040\122\157\157\164 -\040\103\101\040\055\040\103\061 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\013\000\256\317\000\272\304\317\062\370\103\262 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\003\163\060\202\002\133\240\003\002\001\002\002\013\000 -\256\317\000\272\304\317\062\370\103\262\060\015\006\011\052\206 -\110\206\367\015\001\001\013\005\000\060\126\061\013\060\011\006 -\003\125\004\006\023\002\125\123\061\023\060\021\006\003\125\004 -\013\023\012\145\155\123\151\147\156\040\120\113\111\061\024\060 -\022\006\003\125\004\012\023\013\145\115\165\144\150\162\141\040 -\111\156\143\061\034\060\032\006\003\125\004\003\023\023\145\155 -\123\151\147\156\040\122\157\157\164\040\103\101\040\055\040\103 -\061\060\036\027\015\061\070\060\062\061\070\061\070\063\060\060 -\060\132\027\015\064\063\060\062\061\070\061\070\063\060\060\060 -\132\060\126\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147 -\156\040\120\113\111\061\024\060\022\006\003\125\004\012\023\013 -\145\115\165\144\150\162\141\040\111\156\143\061\034\060\032\006 -\003\125\004\003\023\023\145\155\123\151\147\156\040\122\157\157 -\164\040\103\101\040\055\040\103\061\060\202\001\042\060\015\006 -\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017 -\000\060\202\001\012\002\202\001\001\000\317\353\251\271\361\231 -\005\314\330\050\041\112\363\163\064\121\204\126\020\365\240\117 -\054\022\343\372\023\232\047\320\317\371\171\032\164\137\035\171 -\071\374\133\370\160\216\340\222\122\367\344\045\371\124\203\331 -\035\323\310\132\205\077\136\307\266\007\356\076\300\316\232\257 -\254\126\102\052\071\045\160\326\277\265\173\066\255\254\366\163 -\334\315\327\035\212\203\245\373\053\220\025\067\153\034\046\107 -\334\073\051\126\223\152\263\301\152\072\235\075\365\301\227\070 -\130\005\213\034\021\343\344\264\270\135\205\035\203\376\170\137 -\013\105\150\030\110\245\106\163\064\073\376\017\310\166\273\307 -\030\363\005\321\206\363\205\355\347\271\331\062\255\125\210\316 -\246\266\221\260\117\254\176\025\043\226\366\077\360\040\064\026 -\336\012\306\304\004\105\171\177\247\375\276\322\251\245\257\234 -\305\043\052\367\074\041\154\275\257\217\116\305\072\262\363\064 -\022\374\337\200\032\111\244\324\251\225\367\236\211\136\242\211 -\254\224\313\250\150\233\257\212\145\047\315\211\356\335\214\265 -\153\051\160\103\240\151\013\344\271\017\002\003\001\000\001\243 -\102\060\100\060\035\006\003\125\035\016\004\026\004\024\376\241 -\340\160\036\052\003\071\122\132\102\276\134\221\205\172\030\252 -\115\265\060\016\006\003\125\035\017\001\001\377\004\004\003\002 -\001\006\060\017\006\003\125\035\023\001\001\377\004\005\060\003 -\001\001\377\060\015\006\011\052\206\110\206\367\015\001\001\013 -\005\000\003\202\001\001\000\302\112\126\372\025\041\173\050\242 -\351\345\035\373\370\055\304\071\226\101\114\073\047\054\304\154 -\030\025\200\306\254\257\107\131\057\046\013\343\066\260\357\073 -\376\103\227\111\062\231\022\025\133\337\021\051\377\253\123\370 -\273\301\170\017\254\234\123\257\127\275\150\214\075\151\063\360 -\243\240\043\143\073\144\147\042\104\255\325\161\313\126\052\170 -\222\243\117\022\061\066\066\342\336\376\000\304\243\140\017\047 -\255\240\260\212\265\066\172\122\241\275\047\364\040\047\142\350 -\115\224\044\023\344\012\004\351\074\253\056\310\103\011\112\306 -\141\004\345\111\064\176\323\304\310\365\017\300\252\351\272\124 -\136\363\143\053\117\117\120\324\376\271\173\231\214\075\300\056 -\274\002\053\323\304\100\344\212\007\061\036\233\316\046\231\023 -\373\021\352\232\042\014\021\031\307\136\033\201\120\060\310\226 -\022\156\347\313\101\177\221\073\242\107\267\124\200\033\334\000 -\314\232\220\352\303\303\120\006\142\014\060\300\025\110\247\250 -\131\174\341\256\042\242\342\012\172\017\372\142\253\122\114\341 -\361\337\312\276\203\015\102 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "emSign Root CA - C1" -# Issuer: CN=emSign Root CA - C1,O=eMudhra Inc,OU=emSign PKI,C=US -# Serial Number:00:ae:cf:00:ba:c4:cf:32:f8:43:b2 -# Subject: CN=emSign Root CA - C1,O=eMudhra Inc,OU=emSign PKI,C=US -# Not Valid Before: Sun Feb 18 18:30:00 2018 -# Not Valid After : Wed Feb 18 18:30:00 2043 -# Fingerprint (SHA-256): 12:56:09:AA:30:1D:A0:A2:49:B9:7A:82:39:CB:6A:34:21:6F:44:DC:AC:9F:39:54:B1:42:92:F2:E8:C8:60:8F -# Fingerprint (SHA1): E7:2E:F1:DF:FC:B2:09:28:CF:5D:D4:D5:67:37:B1:51:CB:86:4F:01 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "emSign Root CA - C1" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\347\056\361\337\374\262\011\050\317\135\324\325\147\067\261\121 -\313\206\117\001 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\330\343\135\001\041\372\170\132\260\337\272\322\356\052\137\150 -END -CKA_ISSUER MULTILINE_OCTAL -\060\126\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156 -\040\120\113\111\061\024\060\022\006\003\125\004\012\023\013\145 -\115\165\144\150\162\141\040\111\156\143\061\034\060\032\006\003 -\125\004\003\023\023\145\155\123\151\147\156\040\122\157\157\164 -\040\103\101\040\055\040\103\061 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\013\000\256\317\000\272\304\317\062\370\103\262 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "emSign ECC Root CA - C3" -# -# Issuer: CN=emSign ECC Root CA - C3,O=eMudhra Inc,OU=emSign PKI,C=US -# Serial Number:7b:71:b6:82:56:b8:12:7c:9c:a8 -# Subject: CN=emSign ECC Root CA - C3,O=eMudhra Inc,OU=emSign PKI,C=US -# Not Valid Before: Sun Feb 18 18:30:00 2018 -# Not Valid After : Wed Feb 18 18:30:00 2043 -# Fingerprint (SHA-256): BC:4D:80:9B:15:18:9D:78:DB:3E:1D:8C:F4:F9:72:6A:79:5D:A1:64:3C:A5:F1:35:8E:1D:DB:0E:DC:0D:7E:B3 -# Fingerprint (SHA1): B6:AF:43:C2:9B:81:53:7D:F6:EF:6B:C3:1F:1F:60:15:0C:EE:48:66 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "emSign ECC Root CA - C3" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\132\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156 -\040\120\113\111\061\024\060\022\006\003\125\004\012\023\013\145 -\115\165\144\150\162\141\040\111\156\143\061\040\060\036\006\003 -\125\004\003\023\027\145\155\123\151\147\156\040\105\103\103\040 -\122\157\157\164\040\103\101\040\055\040\103\063 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\132\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156 -\040\120\113\111\061\024\060\022\006\003\125\004\012\023\013\145 -\115\165\144\150\162\141\040\111\156\143\061\040\060\036\006\003 -\125\004\003\023\027\145\155\123\151\147\156\040\105\103\103\040 -\122\157\157\164\040\103\101\040\055\040\103\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\012\173\161\266\202\126\270\022\174\234\250 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\002\053\060\202\001\261\240\003\002\001\002\002\012\173 -\161\266\202\126\270\022\174\234\250\060\012\006\010\052\206\110 -\316\075\004\003\003\060\132\061\013\060\011\006\003\125\004\006 -\023\002\125\123\061\023\060\021\006\003\125\004\013\023\012\145 -\155\123\151\147\156\040\120\113\111\061\024\060\022\006\003\125 -\004\012\023\013\145\115\165\144\150\162\141\040\111\156\143\061 -\040\060\036\006\003\125\004\003\023\027\145\155\123\151\147\156 -\040\105\103\103\040\122\157\157\164\040\103\101\040\055\040\103 -\063\060\036\027\015\061\070\060\062\061\070\061\070\063\060\060 -\060\132\027\015\064\063\060\062\061\070\061\070\063\060\060\060 -\132\060\132\061\013\060\011\006\003\125\004\006\023\002\125\123 -\061\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147 -\156\040\120\113\111\061\024\060\022\006\003\125\004\012\023\013 -\145\115\165\144\150\162\141\040\111\156\143\061\040\060\036\006 -\003\125\004\003\023\027\145\155\123\151\147\156\040\105\103\103 -\040\122\157\157\164\040\103\101\040\055\040\103\063\060\166\060 -\020\006\007\052\206\110\316\075\002\001\006\005\053\201\004\000 -\042\003\142\000\004\375\245\141\256\173\046\020\035\351\267\042 -\060\256\006\364\201\263\261\102\161\225\071\274\323\122\343\257 -\257\371\362\227\065\222\066\106\016\207\225\215\271\071\132\351 -\273\337\320\376\310\007\101\074\273\125\157\203\243\152\373\142 -\260\201\211\002\160\175\110\305\112\343\351\042\124\042\115\223 -\273\102\014\257\167\234\043\246\175\327\141\021\316\145\307\370 -\177\376\365\362\251\243\102\060\100\060\035\006\003\125\035\016 -\004\026\004\024\373\132\110\320\200\040\100\362\250\351\000\007 -\151\031\167\247\346\303\364\317\060\016\006\003\125\035\017\001 -\001\377\004\004\003\002\001\006\060\017\006\003\125\035\023\001 -\001\377\004\005\060\003\001\001\377\060\012\006\010\052\206\110 -\316\075\004\003\003\003\150\000\060\145\002\061\000\264\330\057 -\002\211\375\266\114\142\272\103\116\023\204\162\265\256\335\034 -\336\326\265\334\126\217\130\100\132\055\336\040\114\042\203\312 -\223\250\176\356\022\100\307\326\207\117\370\337\205\002\060\034 -\024\144\344\174\226\203\021\234\260\321\132\141\113\246\017\111 -\323\000\374\241\374\344\245\377\177\255\327\060\320\307\167\177 -\276\201\007\125\060\120\040\024\365\127\070\012\250\061\121 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "emSign ECC Root CA - C3" -# Issuer: CN=emSign ECC Root CA - C3,O=eMudhra Inc,OU=emSign PKI,C=US -# Serial Number:7b:71:b6:82:56:b8:12:7c:9c:a8 -# Subject: CN=emSign ECC Root CA - C3,O=eMudhra Inc,OU=emSign PKI,C=US -# Not Valid Before: Sun Feb 18 18:30:00 2018 -# Not Valid After : Wed Feb 18 18:30:00 2043 -# Fingerprint (SHA-256): BC:4D:80:9B:15:18:9D:78:DB:3E:1D:8C:F4:F9:72:6A:79:5D:A1:64:3C:A5:F1:35:8E:1D:DB:0E:DC:0D:7E:B3 -# Fingerprint (SHA1): B6:AF:43:C2:9B:81:53:7D:F6:EF:6B:C3:1F:1F:60:15:0C:EE:48:66 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "emSign ECC Root CA - C3" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\266\257\103\302\233\201\123\175\366\357\153\303\037\037\140\025 -\014\356\110\146 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\076\123\263\243\201\356\327\020\370\323\260\035\027\222\365\325 -END -CKA_ISSUER MULTILINE_OCTAL -\060\132\061\013\060\011\006\003\125\004\006\023\002\125\123\061 -\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156 -\040\120\113\111\061\024\060\022\006\003\125\004\012\023\013\145 -\115\165\144\150\162\141\040\111\156\143\061\040\060\036\006\003 -\125\004\003\023\027\145\155\123\151\147\156\040\105\103\103\040 -\122\157\157\164\040\103\101\040\055\040\103\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\012\173\161\266\202\126\270\022\174\234\250 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE - -# -# Certificate "Hongkong Post Root CA 3" -# -# Issuer: CN=Hongkong Post Root CA 3,O=Hongkong Post,L=Hong Kong,ST=Hong Kong,C=HK -# Serial Number:08:16:5f:8a:4c:a5:ec:00:c9:93:40:df:c4:c6:ae:23:b8:1c:5a:a4 -# Subject: CN=Hongkong Post Root CA 3,O=Hongkong Post,L=Hong Kong,ST=Hong Kong,C=HK -# Not Valid Before: Sat Jun 03 02:29:46 2017 -# Not Valid After : Tue Jun 03 02:29:46 2042 -# Fingerprint (SHA-256): 5A:2F:C0:3F:0C:83:B0:90:BB:FA:40:60:4B:09:88:44:6C:76:36:18:3D:F9:84:6E:17:10:1A:44:7F:B8:EF:D6 -# Fingerprint (SHA1): 58:A2:D0:EC:20:52:81:5B:C1:F3:F8:64:02:24:4E:C2:8E:02:4B:02 -CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Hongkong Post Root CA 3" -CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 -CKA_SUBJECT MULTILINE_OCTAL -\060\157\061\013\060\011\006\003\125\004\006\023\002\110\113\061 -\022\060\020\006\003\125\004\010\023\011\110\157\156\147\040\113 -\157\156\147\061\022\060\020\006\003\125\004\007\023\011\110\157 -\156\147\040\113\157\156\147\061\026\060\024\006\003\125\004\012 -\023\015\110\157\156\147\153\157\156\147\040\120\157\163\164\061 -\040\060\036\006\003\125\004\003\023\027\110\157\156\147\153\157 -\156\147\040\120\157\163\164\040\122\157\157\164\040\103\101\040 -\063 -END -CKA_ID UTF8 "0" -CKA_ISSUER MULTILINE_OCTAL -\060\157\061\013\060\011\006\003\125\004\006\023\002\110\113\061 -\022\060\020\006\003\125\004\010\023\011\110\157\156\147\040\113 -\157\156\147\061\022\060\020\006\003\125\004\007\023\011\110\157 -\156\147\040\113\157\156\147\061\026\060\024\006\003\125\004\012 -\023\015\110\157\156\147\153\157\156\147\040\120\157\163\164\061 -\040\060\036\006\003\125\004\003\023\027\110\157\156\147\153\157 -\156\147\040\120\157\163\164\040\122\157\157\164\040\103\101\040 -\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\024\010\026\137\212\114\245\354\000\311\223\100\337\304\306 -\256\043\270\034\132\244 -END -CKA_VALUE MULTILINE_OCTAL -\060\202\005\317\060\202\003\267\240\003\002\001\002\002\024\010 -\026\137\212\114\245\354\000\311\223\100\337\304\306\256\043\270 -\034\132\244\060\015\006\011\052\206\110\206\367\015\001\001\013 -\005\000\060\157\061\013\060\011\006\003\125\004\006\023\002\110 -\113\061\022\060\020\006\003\125\004\010\023\011\110\157\156\147 -\040\113\157\156\147\061\022\060\020\006\003\125\004\007\023\011 -\110\157\156\147\040\113\157\156\147\061\026\060\024\006\003\125 -\004\012\023\015\110\157\156\147\153\157\156\147\040\120\157\163 -\164\061\040\060\036\006\003\125\004\003\023\027\110\157\156\147 -\153\157\156\147\040\120\157\163\164\040\122\157\157\164\040\103 -\101\040\063\060\036\027\015\061\067\060\066\060\063\060\062\062 -\071\064\066\132\027\015\064\062\060\066\060\063\060\062\062\071 -\064\066\132\060\157\061\013\060\011\006\003\125\004\006\023\002 -\110\113\061\022\060\020\006\003\125\004\010\023\011\110\157\156 -\147\040\113\157\156\147\061\022\060\020\006\003\125\004\007\023 -\011\110\157\156\147\040\113\157\156\147\061\026\060\024\006\003 -\125\004\012\023\015\110\157\156\147\153\157\156\147\040\120\157 -\163\164\061\040\060\036\006\003\125\004\003\023\027\110\157\156 -\147\153\157\156\147\040\120\157\163\164\040\122\157\157\164\040 -\103\101\040\063\060\202\002\042\060\015\006\011\052\206\110\206 -\367\015\001\001\001\005\000\003\202\002\017\000\060\202\002\012 -\002\202\002\001\000\263\210\327\352\316\017\040\116\276\346\326 -\003\155\356\131\374\302\127\337\051\150\241\203\016\076\150\307 -\150\130\234\034\140\113\211\103\014\271\324\025\262\356\301\116 -\165\351\265\247\357\345\351\065\231\344\314\034\347\113\137\215 -\063\060\040\063\123\331\246\273\325\076\023\216\351\037\207\111 -\255\120\055\120\312\030\276\001\130\242\023\160\226\273\211\210 -\126\200\134\370\275\054\074\341\114\127\210\273\323\271\225\357 -\313\307\366\332\061\164\050\246\346\124\211\365\101\061\312\345 -\046\032\315\202\340\160\332\073\051\273\325\003\365\231\272\125 -\365\144\321\140\016\263\211\111\270\212\057\005\322\204\105\050 -\174\217\150\120\022\170\374\013\265\123\313\302\230\034\204\243 -\236\260\276\043\244\332\334\310\053\036\332\156\105\036\211\230 -\332\371\000\056\006\351\014\073\160\325\120\045\210\231\313\315 -\163\140\367\325\377\065\147\305\241\274\136\253\315\112\270\105 -\353\310\150\036\015\015\024\106\022\343\322\144\142\212\102\230 -\274\264\306\010\010\370\375\250\114\144\234\166\001\275\057\251 -\154\063\017\330\077\050\270\074\151\001\102\206\176\151\301\311 -\006\312\345\172\106\145\351\302\326\120\101\056\077\267\344\355 -\154\327\277\046\001\021\242\026\051\112\153\064\006\220\354\023 -\322\266\373\152\166\322\074\355\360\326\055\335\341\025\354\243 -\233\057\054\311\076\053\344\151\073\377\162\045\261\066\206\133 -\307\177\153\213\125\033\112\305\040\141\075\256\313\120\341\010 -\072\276\260\217\143\101\123\060\010\131\074\230\035\167\272\143 -\221\172\312\020\120\140\277\360\327\274\225\207\217\227\305\376 -\227\152\001\224\243\174\133\205\035\052\071\072\320\124\241\321 -\071\161\235\375\041\371\265\173\360\342\340\002\217\156\226\044 -\045\054\240\036\054\250\304\211\247\357\355\231\006\057\266\012 -\114\117\333\242\314\067\032\257\107\205\055\212\137\304\064\064 -\114\000\375\030\223\147\023\321\067\346\110\264\213\006\305\127 -\173\031\206\012\171\313\000\311\122\257\102\377\067\217\341\243 -\036\172\075\120\253\143\006\347\025\265\077\266\105\067\224\067 -\261\176\362\110\303\177\305\165\376\227\215\105\217\032\247\032 -\162\050\032\100\017\002\003\001\000\001\243\143\060\141\060\017 -\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060 -\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060 -\037\006\003\125\035\043\004\030\060\026\200\024\027\235\315\036 -\213\326\071\053\160\323\134\324\240\270\037\260\000\374\305\141 -\060\035\006\003\125\035\016\004\026\004\024\027\235\315\036\213 -\326\071\053\160\323\134\324\240\270\037\260\000\374\305\141\060 -\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202 -\002\001\000\126\325\173\156\346\042\001\322\102\233\030\325\016 -\327\146\043\134\343\376\240\307\222\322\351\224\255\113\242\306 -\354\022\174\164\325\110\322\131\024\231\300\353\271\321\353\364 -\110\060\133\255\247\127\163\231\251\323\345\267\321\056\131\044 -\130\334\150\056\056\142\330\152\344\160\013\055\040\120\040\244 -\062\225\321\000\230\273\323\375\367\062\362\111\256\306\172\340 -\107\276\156\316\313\243\162\072\055\151\135\313\310\350\105\071 -\324\372\102\301\021\114\167\135\222\373\152\377\130\104\345\353 -\201\236\257\240\231\255\276\251\001\146\313\070\035\074\337\103 -\037\364\115\156\264\272\027\106\374\175\375\207\201\171\152\015 -\063\017\372\057\370\024\271\200\263\135\115\252\227\341\371\344 -\030\305\370\325\070\214\046\074\375\362\050\342\356\132\111\210 -\054\337\171\075\216\236\220\074\275\101\112\072\335\133\366\232 -\264\316\077\045\060\177\062\175\242\003\224\320\334\172\241\122 -\336\156\223\215\030\046\375\125\254\275\217\233\322\317\257\347 -\206\054\313\037\011\157\243\157\251\204\324\163\277\115\241\164 -\033\116\043\140\362\314\016\252\177\244\234\114\045\250\262\146 -\073\070\377\331\224\060\366\162\204\276\150\125\020\017\306\163 -\054\026\151\223\007\376\261\105\355\273\242\125\152\260\332\265 -\112\002\045\047\205\327\267\267\206\104\026\211\154\200\053\076 -\227\251\234\325\176\125\114\306\336\105\020\034\352\351\073\237 -\003\123\356\356\172\001\002\026\170\324\350\302\276\106\166\210 -\023\077\042\273\110\022\035\122\000\264\002\176\041\032\036\234 -\045\364\363\075\136\036\322\034\371\263\055\266\367\067\134\306 -\313\041\116\260\367\231\107\030\205\301\053\272\125\256\006\352 -\320\007\262\334\253\320\202\226\165\316\322\120\376\231\347\317 -\057\237\347\166\321\141\052\373\041\273\061\320\252\237\107\244 -\262\042\312\026\072\120\127\304\133\103\147\305\145\142\003\111 -\001\353\103\331\330\370\236\255\317\261\143\016\105\364\240\132 -\054\233\055\305\246\300\255\250\107\364\047\114\070\015\056\033 -\111\073\122\364\350\210\203\053\124\050\324\362\065\122\264\062 -\203\142\151\144\014\221\234\237\227\352\164\026\375\037\021\006 -\232\233\364 -END -CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE - -# Trust for "Hongkong Post Root CA 3" -# Issuer: CN=Hongkong Post Root CA 3,O=Hongkong Post,L=Hong Kong,ST=Hong Kong,C=HK -# Serial Number:08:16:5f:8a:4c:a5:ec:00:c9:93:40:df:c4:c6:ae:23:b8:1c:5a:a4 -# Subject: CN=Hongkong Post Root CA 3,O=Hongkong Post,L=Hong Kong,ST=Hong Kong,C=HK -# Not Valid Before: Sat Jun 03 02:29:46 2017 -# Not Valid After : Tue Jun 03 02:29:46 2042 -# Fingerprint (SHA-256): 5A:2F:C0:3F:0C:83:B0:90:BB:FA:40:60:4B:09:88:44:6C:76:36:18:3D:F9:84:6E:17:10:1A:44:7F:B8:EF:D6 -# Fingerprint (SHA1): 58:A2:D0:EC:20:52:81:5B:C1:F3:F8:64:02:24:4E:C2:8E:02:4B:02 -CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST -CKA_TOKEN CK_BBOOL CK_TRUE -CKA_PRIVATE CK_BBOOL CK_FALSE -CKA_MODIFIABLE CK_BBOOL CK_FALSE -CKA_LABEL UTF8 "Hongkong Post Root CA 3" -CKA_CERT_SHA1_HASH MULTILINE_OCTAL -\130\242\320\354\040\122\201\133\301\363\370\144\002\044\116\302 -\216\002\113\002 -END -CKA_CERT_MD5_HASH MULTILINE_OCTAL -\021\374\237\275\163\060\002\212\375\077\363\130\271\313\040\360 -END -CKA_ISSUER MULTILINE_OCTAL -\060\157\061\013\060\011\006\003\125\004\006\023\002\110\113\061 -\022\060\020\006\003\125\004\010\023\011\110\157\156\147\040\113 -\157\156\147\061\022\060\020\006\003\125\004\007\023\011\110\157 -\156\147\040\113\157\156\147\061\026\060\024\006\003\125\004\012 -\023\015\110\157\156\147\153\157\156\147\040\120\157\163\164\061 -\040\060\036\006\003\125\004\003\023\027\110\157\156\147\153\157 -\156\147\040\120\157\163\164\040\122\157\157\164\040\103\101\040 -\063 -END -CKA_SERIAL_NUMBER MULTILINE_OCTAL -\002\024\010\026\137\212\114\245\354\000\311\223\100\337\304\306 -\256\043\270\034\132\244 -END -CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR -CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST -CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE diff --git a/source/n/ca-certificates/certdata-20191018.txt b/source/n/ca-certificates/certdata-20191018.txt new file mode 100644 index 000000000..3a44db293 --- /dev/null +++ b/source/n/ca-certificates/certdata-20191018.txt @@ -0,0 +1,23347 @@ +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +# +# certdata.txt +# +# This file contains the object definitions for the certs and other +# information "built into" NSS. +# +# Object definitions: +# +# Certificates +# +# -- Attribute -- -- type -- -- value -- +# CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +# CKA_TOKEN CK_BBOOL CK_TRUE +# CKA_PRIVATE CK_BBOOL CK_FALSE +# CKA_MODIFIABLE CK_BBOOL CK_FALSE +# CKA_LABEL UTF8 (varies) +# CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +# CKA_SUBJECT DER+base64 (varies) +# CKA_ID byte array (varies) +# CKA_ISSUER DER+base64 (varies) +# CKA_SERIAL_NUMBER DER+base64 (varies) +# CKA_VALUE DER+base64 (varies) +# CKA_NSS_EMAIL ASCII7 (unused here) +# CKA_NSS_SERVER_DISTRUST_AFTER DER+base64 (varies) +# CKA_NSS_EMAIL_DISTRUST_AFTER DER+base64 (varies) +# +# Trust +# +# -- Attribute -- -- type -- -- value -- +# CKA_CLASS CK_OBJECT_CLASS CKO_TRUST +# CKA_TOKEN CK_BBOOL CK_TRUE +# CKA_PRIVATE CK_BBOOL CK_FALSE +# CKA_MODIFIABLE CK_BBOOL CK_FALSE +# CKA_LABEL UTF8 (varies) +# CKA_ISSUER DER+base64 (varies) +# CKA_SERIAL_NUMBER DER+base64 (varies) +# CKA_CERT_HASH binary+base64 (varies) +# CKA_EXPIRES CK_DATE (not used here) +# CKA_TRUST_DIGITAL_SIGNATURE CK_TRUST (varies) +# CKA_TRUST_NON_REPUDIATION CK_TRUST (varies) +# CKA_TRUST_KEY_ENCIPHERMENT CK_TRUST (varies) +# CKA_TRUST_DATA_ENCIPHERMENT CK_TRUST (varies) +# CKA_TRUST_KEY_AGREEMENT CK_TRUST (varies) +# CKA_TRUST_KEY_CERT_SIGN CK_TRUST (varies) +# CKA_TRUST_CRL_SIGN CK_TRUST (varies) +# CKA_TRUST_SERVER_AUTH CK_TRUST (varies) +# CKA_TRUST_CLIENT_AUTH CK_TRUST (varies) +# CKA_TRUST_CODE_SIGNING CK_TRUST (varies) +# CKA_TRUST_EMAIL_PROTECTION CK_TRUST (varies) +# CKA_TRUST_IPSEC_END_SYSTEM CK_TRUST (varies) +# CKA_TRUST_IPSEC_TUNNEL CK_TRUST (varies) +# CKA_TRUST_IPSEC_USER CK_TRUST (varies) +# CKA_TRUST_TIME_STAMPING CK_TRUST (varies) +# CKA_TRUST_STEP_UP_APPROVED CK_BBOOL (varies) +# (other trust attributes can be defined) +# + +# +# The object to tell NSS that this is a root list and we don't +# have to go looking for others. +# +BEGINDATA +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_BUILTIN_ROOT_LIST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Mozilla Builtin Roots" + +# +# Certificate "GlobalSign Root CA" +# +# Issuer: CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE +# Serial Number:04:00:00:00:00:01:15:4b:5a:c3:94 +# Subject: CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE +# Not Valid Before: Tue Sep 01 12:00:00 1998 +# Not Valid After : Fri Jan 28 12:00:00 2028 +# Fingerprint (MD5): 3E:45:52:15:09:51:92:E1:B7:5D:37:9F:B1:87:29:8A +# Fingerprint (SHA1): B1:BC:96:8B:D4:F4:9D:62:2A:A8:9A:81:F2:15:01:52:A4:1D:82:9C +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "GlobalSign Root CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\127\061\013\060\011\006\003\125\004\006\023\002\102\105\061 +\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154 +\123\151\147\156\040\156\166\055\163\141\061\020\060\016\006\003 +\125\004\013\023\007\122\157\157\164\040\103\101\061\033\060\031 +\006\003\125\004\003\023\022\107\154\157\142\141\154\123\151\147 +\156\040\122\157\157\164\040\103\101 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\127\061\013\060\011\006\003\125\004\006\023\002\102\105\061 +\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154 +\123\151\147\156\040\156\166\055\163\141\061\020\060\016\006\003 +\125\004\013\023\007\122\157\157\164\040\103\101\061\033\060\031 +\006\003\125\004\003\023\022\107\154\157\142\141\154\123\151\147 +\156\040\122\157\157\164\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\013\004\000\000\000\000\001\025\113\132\303\224 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\165\060\202\002\135\240\003\002\001\002\002\013\004 +\000\000\000\000\001\025\113\132\303\224\060\015\006\011\052\206 +\110\206\367\015\001\001\005\005\000\060\127\061\013\060\011\006 +\003\125\004\006\023\002\102\105\061\031\060\027\006\003\125\004 +\012\023\020\107\154\157\142\141\154\123\151\147\156\040\156\166 +\055\163\141\061\020\060\016\006\003\125\004\013\023\007\122\157 +\157\164\040\103\101\061\033\060\031\006\003\125\004\003\023\022 +\107\154\157\142\141\154\123\151\147\156\040\122\157\157\164\040 +\103\101\060\036\027\015\071\070\060\071\060\061\061\062\060\060 +\060\060\132\027\015\062\070\060\061\062\070\061\062\060\060\060 +\060\132\060\127\061\013\060\011\006\003\125\004\006\023\002\102 +\105\061\031\060\027\006\003\125\004\012\023\020\107\154\157\142 +\141\154\123\151\147\156\040\156\166\055\163\141\061\020\060\016 +\006\003\125\004\013\023\007\122\157\157\164\040\103\101\061\033 +\060\031\006\003\125\004\003\023\022\107\154\157\142\141\154\123 +\151\147\156\040\122\157\157\164\040\103\101\060\202\001\042\060 +\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202 +\001\017\000\060\202\001\012\002\202\001\001\000\332\016\346\231 +\215\316\243\343\117\212\176\373\361\213\203\045\153\352\110\037 +\361\052\260\271\225\021\004\275\360\143\321\342\147\146\317\034 +\335\317\033\110\053\356\215\211\216\232\257\051\200\145\253\351 +\307\055\022\313\253\034\114\160\007\241\075\012\060\315\025\215 +\117\370\335\324\214\120\025\034\357\120\356\304\056\367\374\351 +\122\362\221\175\340\155\325\065\060\216\136\103\163\362\101\351 +\325\152\343\262\211\072\126\071\070\157\006\074\210\151\133\052 +\115\305\247\124\270\154\211\314\233\371\074\312\345\375\211\365 +\022\074\222\170\226\326\334\164\156\223\104\141\321\215\307\106 +\262\165\016\206\350\031\212\325\155\154\325\170\026\225\242\351 +\310\012\070\353\362\044\023\117\163\124\223\023\205\072\033\274 +\036\064\265\213\005\214\271\167\213\261\333\037\040\221\253\011 +\123\156\220\316\173\067\164\271\160\107\221\042\121\143\026\171 +\256\261\256\101\046\010\310\031\053\321\106\252\110\326\144\052 +\327\203\064\377\054\052\301\154\031\103\112\007\205\347\323\174 +\366\041\150\357\352\362\122\237\177\223\220\317\002\003\001\000 +\001\243\102\060\100\060\016\006\003\125\035\017\001\001\377\004 +\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377\004 +\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026\004 +\024\140\173\146\032\105\015\227\312\211\120\057\175\004\315\064 +\250\377\374\375\113\060\015\006\011\052\206\110\206\367\015\001 +\001\005\005\000\003\202\001\001\000\326\163\347\174\117\166\320 +\215\277\354\272\242\276\064\305\050\062\265\174\374\154\234\054 +\053\275\011\236\123\277\153\136\252\021\110\266\345\010\243\263 +\312\075\141\115\323\106\011\263\076\303\240\343\143\125\033\362 +\272\357\255\071\341\103\271\070\243\346\057\212\046\073\357\240 +\120\126\371\306\012\375\070\315\304\013\160\121\224\227\230\004 +\337\303\137\224\325\025\311\024\101\234\304\135\165\144\025\015 +\377\125\060\354\206\217\377\015\357\054\271\143\106\366\252\374 +\337\274\151\375\056\022\110\144\232\340\225\360\246\357\051\217 +\001\261\025\265\014\035\245\376\151\054\151\044\170\036\263\247 +\034\161\142\356\312\310\227\254\027\135\212\302\370\107\206\156 +\052\304\126\061\225\320\147\211\205\053\371\154\246\135\106\235 +\014\252\202\344\231\121\335\160\267\333\126\075\141\344\152\341 +\134\326\366\376\075\336\101\314\007\256\143\122\277\123\123\364 +\053\351\307\375\266\367\202\137\205\322\101\030\333\201\263\004 +\034\305\037\244\200\157\025\040\311\336\014\210\012\035\326\146 +\125\342\374\110\311\051\046\151\340 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "GlobalSign Root CA" +# Issuer: CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE +# Serial Number:04:00:00:00:00:01:15:4b:5a:c3:94 +# Subject: CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE +# Not Valid Before: Tue Sep 01 12:00:00 1998 +# Not Valid After : Fri Jan 28 12:00:00 2028 +# Fingerprint (MD5): 3E:45:52:15:09:51:92:E1:B7:5D:37:9F:B1:87:29:8A +# Fingerprint (SHA1): B1:BC:96:8B:D4:F4:9D:62:2A:A8:9A:81:F2:15:01:52:A4:1D:82:9C +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "GlobalSign Root CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\261\274\226\213\324\364\235\142\052\250\232\201\362\025\001\122 +\244\035\202\234 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\076\105\122\025\011\121\222\341\267\135\067\237\261\207\051\212 +END +CKA_ISSUER MULTILINE_OCTAL +\060\127\061\013\060\011\006\003\125\004\006\023\002\102\105\061 +\031\060\027\006\003\125\004\012\023\020\107\154\157\142\141\154 +\123\151\147\156\040\156\166\055\163\141\061\020\060\016\006\003 +\125\004\013\023\007\122\157\157\164\040\103\101\061\033\060\031 +\006\003\125\004\003\023\022\107\154\157\142\141\154\123\151\147 +\156\040\122\157\157\164\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\013\004\000\000\000\000\001\025\113\132\303\224 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "GlobalSign Root CA - R2" +# +# Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R2 +# Serial Number:04:00:00:00:00:01:0f:86:26:e6:0d +# Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R2 +# Not Valid Before: Fri Dec 15 08:00:00 2006 +# Not Valid After : Wed Dec 15 08:00:00 2021 +# Fingerprint (MD5): 94:14:77:7E:3E:5E:FD:8F:30:BD:41:B0:CF:E7:D0:30 +# Fingerprint (SHA1): 75:E0:AB:B6:13:85:12:27:1C:04:F8:5F:DD:DE:38:E4:B7:24:2E:FE +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "GlobalSign Root CA - R2" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157 +\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040 +\055\040\122\062\061\023\060\021\006\003\125\004\012\023\012\107 +\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125 +\004\003\023\012\107\154\157\142\141\154\123\151\147\156 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157 +\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040 +\055\040\122\062\061\023\060\021\006\003\125\004\012\023\012\107 +\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125 +\004\003\023\012\107\154\157\142\141\154\123\151\147\156 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\013\004\000\000\000\000\001\017\206\046\346\015 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\272\060\202\002\242\240\003\002\001\002\002\013\004 +\000\000\000\000\001\017\206\046\346\015\060\015\006\011\052\206 +\110\206\367\015\001\001\005\005\000\060\114\061\040\060\036\006 +\003\125\004\013\023\027\107\154\157\142\141\154\123\151\147\156 +\040\122\157\157\164\040\103\101\040\055\040\122\062\061\023\060 +\021\006\003\125\004\012\023\012\107\154\157\142\141\154\123\151 +\147\156\061\023\060\021\006\003\125\004\003\023\012\107\154\157 +\142\141\154\123\151\147\156\060\036\027\015\060\066\061\062\061 +\065\060\070\060\060\060\060\132\027\015\062\061\061\062\061\065 +\060\070\060\060\060\060\132\060\114\061\040\060\036\006\003\125 +\004\013\023\027\107\154\157\142\141\154\123\151\147\156\040\122 +\157\157\164\040\103\101\040\055\040\122\062\061\023\060\021\006 +\003\125\004\012\023\012\107\154\157\142\141\154\123\151\147\156 +\061\023\060\021\006\003\125\004\003\023\012\107\154\157\142\141 +\154\123\151\147\156\060\202\001\042\060\015\006\011\052\206\110 +\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001 +\012\002\202\001\001\000\246\317\044\016\276\056\157\050\231\105 +\102\304\253\076\041\124\233\013\323\177\204\160\372\022\263\313 +\277\207\137\306\177\206\323\262\060\134\326\375\255\361\173\334 +\345\370\140\226\011\222\020\365\320\123\336\373\173\176\163\210 +\254\122\210\173\112\246\312\111\246\136\250\247\214\132\021\274 +\172\202\353\276\214\351\263\254\226\045\007\227\112\231\052\007 +\057\264\036\167\277\212\017\265\002\174\033\226\270\305\271\072 +\054\274\326\022\271\353\131\175\342\320\006\206\137\136\111\152 +\265\071\136\210\064\354\274\170\014\010\230\204\154\250\315\113 +\264\240\175\014\171\115\360\270\055\313\041\312\325\154\133\175 +\341\240\051\204\241\371\323\224\111\313\044\142\221\040\274\335 +\013\325\331\314\371\352\047\012\053\163\221\306\235\033\254\310 +\313\350\340\240\364\057\220\213\115\373\260\066\033\366\031\172 +\205\340\155\362\141\023\210\134\237\340\223\012\121\227\212\132 +\316\257\253\325\367\252\011\252\140\275\334\331\137\337\162\251 +\140\023\136\000\001\311\112\372\077\244\352\007\003\041\002\216 +\202\312\003\302\233\217\002\003\001\000\001\243\201\234\060\201 +\231\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001 +\006\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001 +\001\377\060\035\006\003\125\035\016\004\026\004\024\233\342\007 +\127\147\034\036\300\152\006\336\131\264\232\055\337\334\031\206 +\056\060\066\006\003\125\035\037\004\057\060\055\060\053\240\051 +\240\047\206\045\150\164\164\160\072\057\057\143\162\154\056\147 +\154\157\142\141\154\163\151\147\156\056\156\145\164\057\162\157 +\157\164\055\162\062\056\143\162\154\060\037\006\003\125\035\043 +\004\030\060\026\200\024\233\342\007\127\147\034\036\300\152\006 +\336\131\264\232\055\337\334\031\206\056\060\015\006\011\052\206 +\110\206\367\015\001\001\005\005\000\003\202\001\001\000\231\201 +\123\207\034\150\227\206\221\354\340\112\270\104\013\253\201\254 +\047\117\326\301\270\034\103\170\263\014\232\374\352\054\074\156 +\141\033\115\113\051\365\237\005\035\046\301\270\351\203\000\142 +\105\266\251\010\223\271\251\063\113\030\232\302\370\207\210\116 +\333\335\161\064\032\301\124\332\106\077\340\323\052\253\155\124 +\042\365\072\142\315\040\157\272\051\211\327\335\221\356\323\134 +\242\076\241\133\101\365\337\345\144\103\055\351\325\071\253\322 +\242\337\267\213\320\300\200\031\034\105\300\055\214\350\370\055 +\244\164\126\111\305\005\265\117\025\336\156\104\170\071\207\250 +\176\273\363\171\030\221\273\364\157\235\301\360\214\065\214\135 +\001\373\303\155\271\357\104\155\171\106\061\176\012\376\251\202 +\301\377\357\253\156\040\304\120\311\137\235\115\233\027\214\014 +\345\001\311\240\101\152\163\123\372\245\120\264\156\045\017\373 +\114\030\364\375\122\331\216\151\261\350\021\017\336\210\330\373 +\035\111\367\252\336\225\317\040\170\302\140\022\333\045\100\214 +\152\374\176\102\070\100\144\022\367\236\201\341\223\056 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "GlobalSign Root CA - R2" +# Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R2 +# Serial Number:04:00:00:00:00:01:0f:86:26:e6:0d +# Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R2 +# Not Valid Before: Fri Dec 15 08:00:00 2006 +# Not Valid After : Wed Dec 15 08:00:00 2021 +# Fingerprint (MD5): 94:14:77:7E:3E:5E:FD:8F:30:BD:41:B0:CF:E7:D0:30 +# Fingerprint (SHA1): 75:E0:AB:B6:13:85:12:27:1C:04:F8:5F:DD:DE:38:E4:B7:24:2E:FE +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "GlobalSign Root CA - R2" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\165\340\253\266\023\205\022\047\034\004\370\137\335\336\070\344 +\267\044\056\376 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\224\024\167\176\076\136\375\217\060\275\101\260\317\347\320\060 +END +CKA_ISSUER MULTILINE_OCTAL +\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157 +\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040 +\055\040\122\062\061\023\060\021\006\003\125\004\012\023\012\107 +\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125 +\004\003\023\012\107\154\157\142\141\154\123\151\147\156 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\013\004\000\000\000\000\001\017\206\046\346\015 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Verisign Class 1 Public Primary Certification Authority - G3" +# +# Issuer: CN=VeriSign Class 1 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US +# Serial Number:00:8b:5b:75:56:84:54:85:0b:00:cf:af:38:48:ce:b1:a4 +# Subject: CN=VeriSign Class 1 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US +# Not Valid Before: Fri Oct 01 00:00:00 1999 +# Not Valid After : Wed Jul 16 23:59:59 2036 +# Fingerprint (MD5): B1:47:BC:18:57:D1:18:A0:78:2D:EC:71:E8:2A:95:73 +# Fingerprint (SHA1): 20:42:85:DC:F7:EB:76:41:95:57:8E:13:6B:D4:B7:D1:E9:8E:46:A5 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Verisign Class 1 Public Primary Certification Authority - G3" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 +\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 +\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 +\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 +\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145 +\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 +\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 +\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 +\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 +\061\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 +\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 +\165\164\150\157\162\151\164\171\040\055\040\107\063 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 +\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 +\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 +\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 +\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145 +\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 +\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 +\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 +\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 +\061\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 +\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 +\165\164\150\157\162\151\164\171\040\055\040\107\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\021\000\213\133\165\126\204\124\205\013\000\317\257\070\110 +\316\261\244 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\032\060\202\003\002\002\021\000\213\133\165\126\204 +\124\205\013\000\317\257\070\110\316\261\244\060\015\006\011\052 +\206\110\206\367\015\001\001\005\005\000\060\201\312\061\013\060 +\011\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003 +\125\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111 +\156\143\056\061\037\060\035\006\003\125\004\013\023\026\126\145 +\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164 +\167\157\162\153\061\072\060\070\006\003\125\004\013\023\061\050 +\143\051\040\061\071\071\071\040\126\145\162\151\123\151\147\156 +\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165\164 +\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154\171 +\061\105\060\103\006\003\125\004\003\023\074\126\145\162\151\123 +\151\147\156\040\103\154\141\163\163\040\061\040\120\165\142\154 +\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 +\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 +\164\171\040\055\040\107\063\060\036\027\015\071\071\061\060\060 +\061\060\060\060\060\060\060\132\027\015\063\066\060\067\061\066 +\062\063\065\071\065\071\132\060\201\312\061\013\060\011\006\003 +\125\004\006\023\002\125\123\061\027\060\025\006\003\125\004\012 +\023\016\126\145\162\151\123\151\147\156\054\040\111\156\143\056 +\061\037\060\035\006\003\125\004\013\023\026\126\145\162\151\123 +\151\147\156\040\124\162\165\163\164\040\116\145\164\167\157\162 +\153\061\072\060\070\006\003\125\004\013\023\061\050\143\051\040 +\061\071\071\071\040\126\145\162\151\123\151\147\156\054\040\111 +\156\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162 +\151\172\145\144\040\165\163\145\040\157\156\154\171\061\105\060 +\103\006\003\125\004\003\023\074\126\145\162\151\123\151\147\156 +\040\103\154\141\163\163\040\061\040\120\165\142\154\151\143\040 +\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143 +\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040 +\055\040\107\063\060\202\001\042\060\015\006\011\052\206\110\206 +\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012 +\002\202\001\001\000\335\204\324\271\264\371\247\330\363\004\170 +\234\336\075\334\154\023\026\331\172\335\044\121\146\300\307\046 +\131\015\254\006\010\302\224\321\063\037\360\203\065\037\156\033 +\310\336\252\156\025\116\124\047\357\304\155\032\354\013\343\016 +\360\104\245\127\307\100\130\036\243\107\037\161\354\140\366\155 +\224\310\030\071\355\376\102\030\126\337\344\114\111\020\170\116 +\001\166\065\143\022\066\335\146\274\001\004\066\243\125\150\325 +\242\066\011\254\253\041\046\124\006\255\077\312\024\340\254\312 +\255\006\035\225\342\370\235\361\340\140\377\302\177\165\053\114 +\314\332\376\207\231\041\352\272\376\076\124\327\322\131\170\333 +\074\156\317\240\023\000\032\270\047\241\344\276\147\226\312\240 +\305\263\234\335\311\165\236\353\060\232\137\243\315\331\256\170 +\031\077\043\351\134\333\051\275\255\125\310\033\124\214\143\366 +\350\246\352\307\067\022\134\243\051\036\002\331\333\037\073\264 +\327\017\126\107\201\025\004\112\257\203\047\321\305\130\210\301 +\335\366\252\247\243\030\332\150\252\155\021\121\341\277\145\153 +\237\226\166\321\075\002\003\001\000\001\060\015\006\011\052\206 +\110\206\367\015\001\001\005\005\000\003\202\001\001\000\253\146 +\215\327\263\272\307\232\266\346\125\320\005\361\237\061\215\132 +\252\331\252\106\046\017\161\355\245\255\123\126\142\001\107\052 +\104\351\376\077\164\013\023\233\271\364\115\033\262\321\137\262 +\266\322\210\134\263\237\315\313\324\247\331\140\225\204\072\370 +\301\067\035\141\312\347\260\305\345\221\332\124\246\254\061\201 +\256\227\336\315\010\254\270\300\227\200\177\156\162\244\347\151 +\023\225\145\037\304\223\074\375\171\217\004\324\076\117\352\367 +\236\316\315\147\174\117\145\002\377\221\205\124\163\307\377\066 +\367\206\055\354\320\136\117\377\021\237\162\006\326\270\032\361 +\114\015\046\145\342\104\200\036\307\237\343\335\350\012\332\354 +\245\040\200\151\150\241\117\176\341\153\317\007\101\372\203\216 +\274\070\335\260\056\021\261\153\262\102\314\232\274\371\110\042 +\171\112\031\017\262\034\076\040\164\331\152\303\276\362\050\170 +\023\126\171\117\155\120\352\033\260\265\127\261\067\146\130\043 +\363\334\017\337\012\207\304\357\206\005\325\070\024\140\231\243 +\113\336\006\226\161\054\362\333\266\037\244\357\077\356 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "Verisign Class 1 Public Primary Certification Authority - G3" +# Issuer: CN=VeriSign Class 1 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US +# Serial Number:00:8b:5b:75:56:84:54:85:0b:00:cf:af:38:48:ce:b1:a4 +# Subject: CN=VeriSign Class 1 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US +# Not Valid Before: Fri Oct 01 00:00:00 1999 +# Not Valid After : Wed Jul 16 23:59:59 2036 +# Fingerprint (MD5): B1:47:BC:18:57:D1:18:A0:78:2D:EC:71:E8:2A:95:73 +# Fingerprint (SHA1): 20:42:85:DC:F7:EB:76:41:95:57:8E:13:6B:D4:B7:D1:E9:8E:46:A5 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Verisign Class 1 Public Primary Certification Authority - G3" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\040\102\205\334\367\353\166\101\225\127\216\023\153\324\267\321 +\351\216\106\245 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\261\107\274\030\127\321\030\240\170\055\354\161\350\052\225\163 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 +\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 +\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 +\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 +\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145 +\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 +\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 +\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 +\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 +\061\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 +\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 +\165\164\150\157\162\151\164\171\040\055\040\107\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\021\000\213\133\165\126\204\124\205\013\000\317\257\070\110 +\316\261\244 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Verisign Class 2 Public Primary Certification Authority - G3" +# +# Issuer: CN=VeriSign Class 2 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US +# Serial Number:61:70:cb:49:8c:5f:98:45:29:e7:b0:a6:d9:50:5b:7a +# Subject: CN=VeriSign Class 2 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US +# Not Valid Before: Fri Oct 01 00:00:00 1999 +# Not Valid After : Wed Jul 16 23:59:59 2036 +# Fingerprint (MD5): F8:BE:C4:63:22:C9:A8:46:74:8B:B8:1D:1E:4A:2B:F6 +# Fingerprint (SHA1): 61:EF:43:D7:7F:CA:D4:61:51:BC:98:E0:C3:59:12:AF:9F:EB:63:11 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Verisign Class 2 Public Primary Certification Authority - G3" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 +\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 +\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 +\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 +\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145 +\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 +\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 +\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 +\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 +\062\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 +\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 +\165\164\150\157\162\151\164\171\040\055\040\107\063 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 +\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 +\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 +\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 +\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145 +\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 +\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 +\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 +\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 +\062\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 +\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 +\165\164\150\157\162\151\164\171\040\055\040\107\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\141\160\313\111\214\137\230\105\051\347\260\246\331\120 +\133\172 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\031\060\202\003\001\002\020\141\160\313\111\214\137 +\230\105\051\347\260\246\331\120\133\172\060\015\006\011\052\206 +\110\206\367\015\001\001\005\005\000\060\201\312\061\013\060\011 +\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003\125 +\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111\156 +\143\056\061\037\060\035\006\003\125\004\013\023\026\126\145\162 +\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164\167 +\157\162\153\061\072\060\070\006\003\125\004\013\023\061\050\143 +\051\040\061\071\071\071\040\126\145\162\151\123\151\147\156\054 +\040\111\156\143\056\040\055\040\106\157\162\040\141\165\164\150 +\157\162\151\172\145\144\040\165\163\145\040\157\156\154\171\061 +\105\060\103\006\003\125\004\003\023\074\126\145\162\151\123\151 +\147\156\040\103\154\141\163\163\040\062\040\120\165\142\154\151 +\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146 +\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 +\171\040\055\040\107\063\060\036\027\015\071\071\061\060\060\061 +\060\060\060\060\060\060\132\027\015\063\066\060\067\061\066\062 +\063\065\071\065\071\132\060\201\312\061\013\060\011\006\003\125 +\004\006\023\002\125\123\061\027\060\025\006\003\125\004\012\023 +\016\126\145\162\151\123\151\147\156\054\040\111\156\143\056\061 +\037\060\035\006\003\125\004\013\023\026\126\145\162\151\123\151 +\147\156\040\124\162\165\163\164\040\116\145\164\167\157\162\153 +\061\072\060\070\006\003\125\004\013\023\061\050\143\051\040\061 +\071\071\071\040\126\145\162\151\123\151\147\156\054\040\111\156 +\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151 +\172\145\144\040\165\163\145\040\157\156\154\171\061\105\060\103 +\006\003\125\004\003\023\074\126\145\162\151\123\151\147\156\040 +\103\154\141\163\163\040\062\040\120\165\142\154\151\143\040\120 +\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143\141 +\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040\055 +\040\107\063\060\202\001\042\060\015\006\011\052\206\110\206\367 +\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002 +\202\001\001\000\257\012\015\302\325\054\333\147\271\055\345\224 +\047\335\245\276\340\260\115\217\263\141\126\074\326\174\303\364 +\315\076\206\313\242\210\342\341\330\244\151\305\265\342\277\301 +\246\107\120\136\106\071\213\325\226\272\265\157\024\277\020\316 +\047\023\236\005\107\233\061\172\023\330\037\331\323\002\067\213 +\255\054\107\360\216\201\006\247\015\060\014\353\367\074\017\040 +\035\334\162\106\356\245\002\310\133\303\311\126\151\114\305\030 +\301\221\173\013\325\023\000\233\274\357\303\110\076\106\140\040 +\205\052\325\220\266\315\213\240\314\062\335\267\375\100\125\262 +\120\034\126\256\314\215\167\115\307\040\115\247\061\166\357\150 +\222\212\220\036\010\201\126\262\255\151\243\122\320\313\034\304 +\043\075\037\231\376\114\350\026\143\216\306\010\216\366\061\366 +\322\372\345\166\335\265\034\222\243\111\315\315\001\315\150\315 +\251\151\272\243\353\035\015\234\244\040\246\301\240\305\321\106 +\114\027\155\322\254\146\077\226\214\340\204\324\066\377\042\131 +\305\371\021\140\250\137\004\175\362\032\366\045\102\141\017\304 +\112\270\076\211\002\003\001\000\001\060\015\006\011\052\206\110 +\206\367\015\001\001\005\005\000\003\202\001\001\000\064\046\025 +\074\300\215\115\103\111\035\275\351\041\222\327\146\234\267\336 +\305\270\320\344\135\137\166\042\300\046\371\204\072\072\371\214 +\265\373\354\140\361\350\316\004\260\310\335\247\003\217\060\363 +\230\337\244\346\244\061\337\323\034\013\106\334\162\040\077\256 +\356\005\074\244\063\077\013\071\254\160\170\163\113\231\053\337 +\060\302\124\260\250\073\125\241\376\026\050\315\102\275\164\156 +\200\333\047\104\247\316\104\135\324\033\220\230\015\036\102\224 +\261\000\054\004\320\164\243\002\005\042\143\143\315\203\265\373 +\301\155\142\153\151\165\375\135\160\101\271\365\277\174\337\276 +\301\062\163\042\041\213\130\201\173\025\221\172\272\343\144\110 +\260\177\373\066\045\332\225\320\361\044\024\027\335\030\200\153 +\106\043\071\124\365\216\142\011\004\035\224\220\246\233\346\045 +\342\102\105\252\270\220\255\276\010\217\251\013\102\030\224\317 +\162\071\341\261\103\340\050\317\267\347\132\154\023\153\111\263 +\377\343\030\174\211\213\063\135\254\063\327\247\371\332\072\125 +\311\130\020\371\252\357\132\266\317\113\113\337\052 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "Verisign Class 2 Public Primary Certification Authority - G3" +# Issuer: CN=VeriSign Class 2 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US +# Serial Number:61:70:cb:49:8c:5f:98:45:29:e7:b0:a6:d9:50:5b:7a +# Subject: CN=VeriSign Class 2 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US +# Not Valid Before: Fri Oct 01 00:00:00 1999 +# Not Valid After : Wed Jul 16 23:59:59 2036 +# Fingerprint (MD5): F8:BE:C4:63:22:C9:A8:46:74:8B:B8:1D:1E:4A:2B:F6 +# Fingerprint (SHA1): 61:EF:43:D7:7F:CA:D4:61:51:BC:98:E0:C3:59:12:AF:9F:EB:63:11 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Verisign Class 2 Public Primary Certification Authority - G3" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\141\357\103\327\177\312\324\141\121\274\230\340\303\131\022\257 +\237\353\143\021 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\370\276\304\143\042\311\250\106\164\213\270\035\036\112\053\366 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 +\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 +\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 +\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 +\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145 +\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 +\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 +\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 +\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 +\062\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 +\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 +\165\164\150\157\162\151\164\171\040\055\040\107\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\141\160\313\111\214\137\230\105\051\347\260\246\331\120 +\133\172 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Verisign Class 3 Public Primary Certification Authority - G3" +# +# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US +# Serial Number:00:9b:7e:06:49:a3:3e:62:b9:d5:ee:90:48:71:29:ef:57 +# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US +# Not Valid Before: Fri Oct 01 00:00:00 1999 +# Not Valid After : Wed Jul 16 23:59:59 2036 +# Fingerprint (MD5): CD:68:B6:A7:C7:C4:CE:75:E0:1D:4F:57:44:61:92:09 +# Fingerprint (SHA1): 13:2D:0D:45:53:4B:69:97:CD:B2:D5:C3:39:E2:55:76:60:9B:5C:C6 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Verisign Class 3 Public Primary Certification Authority - G3" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 +\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 +\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 +\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 +\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145 +\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 +\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 +\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 +\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 +\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 +\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 +\165\164\150\157\162\151\164\171\040\055\040\107\063 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 +\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 +\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 +\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 +\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145 +\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 +\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 +\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 +\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 +\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 +\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 +\165\164\150\157\162\151\164\171\040\055\040\107\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\021\000\233\176\006\111\243\076\142\271\325\356\220\110\161 +\051\357\127 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\032\060\202\003\002\002\021\000\233\176\006\111\243 +\076\142\271\325\356\220\110\161\051\357\127\060\015\006\011\052 +\206\110\206\367\015\001\001\005\005\000\060\201\312\061\013\060 +\011\006\003\125\004\006\023\002\125\123\061\027\060\025\006\003 +\125\004\012\023\016\126\145\162\151\123\151\147\156\054\040\111 +\156\143\056\061\037\060\035\006\003\125\004\013\023\026\126\145 +\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145\164 +\167\157\162\153\061\072\060\070\006\003\125\004\013\023\061\050 +\143\051\040\061\071\071\071\040\126\145\162\151\123\151\147\156 +\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165\164 +\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154\171 +\061\105\060\103\006\003\125\004\003\023\074\126\145\162\151\123 +\151\147\156\040\103\154\141\163\163\040\063\040\120\165\142\154 +\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 +\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 +\164\171\040\055\040\107\063\060\036\027\015\071\071\061\060\060 +\061\060\060\060\060\060\060\132\027\015\063\066\060\067\061\066 +\062\063\065\071\065\071\132\060\201\312\061\013\060\011\006\003 +\125\004\006\023\002\125\123\061\027\060\025\006\003\125\004\012 +\023\016\126\145\162\151\123\151\147\156\054\040\111\156\143\056 +\061\037\060\035\006\003\125\004\013\023\026\126\145\162\151\123 +\151\147\156\040\124\162\165\163\164\040\116\145\164\167\157\162 +\153\061\072\060\070\006\003\125\004\013\023\061\050\143\051\040 +\061\071\071\071\040\126\145\162\151\123\151\147\156\054\040\111 +\156\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162 +\151\172\145\144\040\165\163\145\040\157\156\154\171\061\105\060 +\103\006\003\125\004\003\023\074\126\145\162\151\123\151\147\156 +\040\103\154\141\163\163\040\063\040\120\165\142\154\151\143\040 +\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143 +\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040 +\055\040\107\063\060\202\001\042\060\015\006\011\052\206\110\206 +\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012 +\002\202\001\001\000\313\272\234\122\374\170\037\032\036\157\033 +\067\163\275\370\311\153\224\022\060\117\360\066\107\365\320\221 +\012\365\027\310\245\141\301\026\100\115\373\212\141\220\345\166 +\040\301\021\006\175\253\054\156\246\365\021\101\216\372\055\255 +\052\141\131\244\147\046\114\320\350\274\122\133\160\040\004\130 +\321\172\311\244\151\274\203\027\144\255\005\213\274\320\130\316 +\215\214\365\353\360\102\111\013\235\227\047\147\062\156\341\256 +\223\025\034\160\274\040\115\057\030\336\222\210\350\154\205\127 +\021\032\351\176\343\046\021\124\242\105\226\125\203\312\060\211 +\350\334\330\243\355\052\200\077\177\171\145\127\076\025\040\146 +\010\057\225\223\277\252\107\057\250\106\227\360\022\342\376\302 +\012\053\121\346\166\346\267\106\267\342\015\246\314\250\303\114 +\131\125\211\346\350\123\134\034\352\235\360\142\026\013\247\311 +\137\014\360\336\302\166\316\257\367\152\362\372\101\246\242\063 +\024\311\345\172\143\323\236\142\067\325\205\145\236\016\346\123 +\044\164\033\136\035\022\123\133\307\054\347\203\111\073\025\256 +\212\150\271\127\227\002\003\001\000\001\060\015\006\011\052\206 +\110\206\367\015\001\001\005\005\000\003\202\001\001\000\021\024 +\226\301\253\222\010\367\077\057\311\262\376\344\132\237\144\336 +\333\041\117\206\231\064\166\066\127\335\320\025\057\305\255\177 +\025\037\067\142\163\076\324\347\137\316\027\003\333\065\372\053 +\333\256\140\011\137\036\137\217\156\273\013\075\352\132\023\036 +\014\140\157\265\300\265\043\042\056\007\013\313\251\164\313\107 +\273\035\301\327\245\153\314\057\322\102\375\111\335\247\211\317 +\123\272\332\000\132\050\277\202\337\370\272\023\035\120\206\202 +\375\216\060\217\051\106\260\036\075\065\332\070\142\026\030\112 +\255\346\266\121\154\336\257\142\353\001\320\036\044\376\172\217 +\022\032\022\150\270\373\146\231\024\024\105\134\256\347\256\151 +\027\201\053\132\067\311\136\052\364\306\342\241\134\124\233\246 +\124\000\317\360\361\301\307\230\060\032\073\066\026\333\243\156 +\352\375\255\262\302\332\357\002\107\023\212\300\361\263\061\255 +\117\034\341\117\234\257\017\014\235\367\170\015\330\364\065\126 +\200\332\267\155\027\217\235\036\201\144\341\376\305\105\272\255 +\153\271\012\172\116\117\113\204\356\113\361\175\335\021 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "Verisign Class 3 Public Primary Certification Authority - G3" +# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US +# Serial Number:00:9b:7e:06:49:a3:3e:62:b9:d5:ee:90:48:71:29:ef:57 +# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US +# Not Valid Before: Fri Oct 01 00:00:00 1999 +# Not Valid After : Wed Jul 16 23:59:59 2036 +# Fingerprint (MD5): CD:68:B6:A7:C7:C4:CE:75:E0:1D:4F:57:44:61:92:09 +# Fingerprint (SHA1): 13:2D:0D:45:53:4B:69:97:CD:B2:D5:C3:39:E2:55:76:60:9B:5C:C6 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Verisign Class 3 Public Primary Certification Authority - G3" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\023\055\015\105\123\113\151\227\315\262\325\303\071\342\125\166 +\140\233\134\306 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\315\150\266\247\307\304\316\165\340\035\117\127\104\141\222\011 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 +\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 +\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 +\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 +\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145 +\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 +\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 +\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 +\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 +\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 +\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 +\165\164\150\157\162\151\164\171\040\055\040\107\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\021\000\233\176\006\111\243\076\142\271\325\356\220\110\161 +\051\357\127 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# Distrust "Distrust: O=Egypt Trust, OU=VeriSign Trust Network (cert 1/3)" +# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US +# Serial Number:4c:00:36:1b:e5:08:2b:a9:aa:ce:74:0a:05:3e:fb:34 +# Subject: CN=Egypt Trust Class 3 Managed PKI Enterprise Administrator CA,OU=Terms of use at https://www.egypttrust.com/repository/rpa (c)08,OU=VeriSign Trust Network,O=Egypt Trust,C=EG +# Not Valid Before: Sun May 18 00:00:00 2008 +# Not Valid After : Thu May 17 23:59:59 2018 +# Fingerprint (MD5): A7:91:05:96:B1:56:01:26:4E:BF:80:80:08:86:1B:4D +# Fingerprint (SHA1): 6A:2C:5C:B0:94:D5:E0:B7:57:FB:0F:58:42:AA:C8:13:A5:80:2F:E1 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Distrust: O=Egypt Trust, OU=VeriSign Trust Network (cert 1/3)" +CKA_ISSUER MULTILINE_OCTAL +\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 +\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 +\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 +\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 +\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145 +\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 +\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 +\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 +\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 +\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 +\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 +\165\164\150\157\162\151\164\171\040\055\040\107\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\114\000\066\033\345\010\053\251\252\316\164\012\005\076 +\373\064 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + + +# Distrust "Distrust: O=Egypt Trust, OU=VeriSign Trust Network (cert 2/3)" +# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US +# Serial Number:3e:0c:9e:87:69:aa:95:5c:ea:23:d8:45:9e:d4:5b:51 +# Subject: CN=Egypt Trust Class 3 Managed PKI Operational Administrator CA,OU=Terms of use at https://www.egypttrust.com/repository/rpa (c)08,OU=VeriSign Trust Network,O=Egypt Trust,C=EG +# Not Valid Before: Sun May 18 00:00:00 2008 +# Not Valid After : Thu May 17 23:59:59 2018 +# Fingerprint (MD5): D0:C3:71:17:3E:39:80:C6:50:4F:04:22:DF:40:E1:34 +# Fingerprint (SHA1): 9C:65:5E:D5:FA:E3:B8:96:4D:89:72:F6:3A:63:53:59:3F:5E:B4:4E +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Distrust: O=Egypt Trust, OU=VeriSign Trust Network (cert 2/3)" +CKA_ISSUER MULTILINE_OCTAL +\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 +\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 +\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 +\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 +\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145 +\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 +\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 +\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 +\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 +\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 +\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 +\165\164\150\157\162\151\164\171\040\055\040\107\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\076\014\236\207\151\252\225\134\352\043\330\105\236\324 +\133\121 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# Distrust "Distrust: O=Egypt Trust, OU=VeriSign Trust Network (cert 3/3)" +# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G3,OU="(c) 1999 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US +# Serial Number:12:bd:26:a2:ae:33:c0:7f:24:7b:6a:58:69:f2:0a:76 +# Subject: CN=Egypt Trust Class 3 Managed PKI SCO Administrator CA,OU=Terms of use at https://www.egypttrust.com/repository/rpa (c)08,OU=VeriSign Trust Network,O=Egypt Trust,C=EG +# Not Valid Before: Sun May 18 00:00:00 2008 +# Not Valid After : Thu May 17 23:59:59 2018 +# Fingerprint (MD5): C2:13:5E:B2:67:8A:5C:F7:91:EF:8F:29:0F:9B:77:6E +# Fingerprint (SHA1): 83:23:F1:4F:BC:9F:9B:80:B7:9D:ED:14:CD:01:57:CD:FB:08:95:D2 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Distrust: O=Egypt Trust, OU=VeriSign Trust Network (cert 3/3)" +CKA_ISSUER MULTILINE_OCTAL +\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 +\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 +\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 +\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 +\125\004\013\023\061\050\143\051\040\061\071\071\071\040\126\145 +\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 +\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 +\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 +\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 +\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 +\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 +\165\164\150\157\162\151\164\171\040\055\040\107\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\022\275\046\242\256\063\300\177\044\173\152\130\151\362 +\012\166 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Entrust.net Premium 2048 Secure Server CA" +# +# Issuer: CN=Entrust.net Certification Authority (2048),OU=(c) 1999 Entrust.net Limited,OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.),O=Entrust.net +# Serial Number: 946069240 (0x3863def8) +# Subject: CN=Entrust.net Certification Authority (2048),OU=(c) 1999 Entrust.net Limited,OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.),O=Entrust.net +# Not Valid Before: Fri Dec 24 17:50:51 1999 +# Not Valid After : Tue Jul 24 14:15:12 2029 +# Fingerprint (MD5): EE:29:31:BC:32:7E:9A:E6:E8:B5:F7:51:B4:34:71:90 +# Fingerprint (SHA1): 50:30:06:09:1D:97:D4:F5:AE:39:F7:CB:E7:92:7D:7D:65:2D:34:31 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Entrust.net Premium 2048 Secure Server CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\264\061\024\060\022\006\003\125\004\012\023\013\105\156 +\164\162\165\163\164\056\156\145\164\061\100\060\076\006\003\125 +\004\013\024\067\167\167\167\056\145\156\164\162\165\163\164\056 +\156\145\164\057\103\120\123\137\062\060\064\070\040\151\156\143 +\157\162\160\056\040\142\171\040\162\145\146\056\040\050\154\151 +\155\151\164\163\040\154\151\141\142\056\051\061\045\060\043\006 +\003\125\004\013\023\034\050\143\051\040\061\071\071\071\040\105 +\156\164\162\165\163\164\056\156\145\164\040\114\151\155\151\164 +\145\144\061\063\060\061\006\003\125\004\003\023\052\105\156\164 +\162\165\163\164\056\156\145\164\040\103\145\162\164\151\146\151 +\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 +\040\050\062\060\064\070\051 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\264\061\024\060\022\006\003\125\004\012\023\013\105\156 +\164\162\165\163\164\056\156\145\164\061\100\060\076\006\003\125 +\004\013\024\067\167\167\167\056\145\156\164\162\165\163\164\056 +\156\145\164\057\103\120\123\137\062\060\064\070\040\151\156\143 +\157\162\160\056\040\142\171\040\162\145\146\056\040\050\154\151 +\155\151\164\163\040\154\151\141\142\056\051\061\045\060\043\006 +\003\125\004\013\023\034\050\143\051\040\061\071\071\071\040\105 +\156\164\162\165\163\164\056\156\145\164\040\114\151\155\151\164 +\145\144\061\063\060\061\006\003\125\004\003\023\052\105\156\164 +\162\165\163\164\056\156\145\164\040\103\145\162\164\151\146\151 +\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 +\040\050\062\060\064\070\051 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\070\143\336\370 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\052\060\202\003\022\240\003\002\001\002\002\004\070 +\143\336\370\060\015\006\011\052\206\110\206\367\015\001\001\005 +\005\000\060\201\264\061\024\060\022\006\003\125\004\012\023\013 +\105\156\164\162\165\163\164\056\156\145\164\061\100\060\076\006 +\003\125\004\013\024\067\167\167\167\056\145\156\164\162\165\163 +\164\056\156\145\164\057\103\120\123\137\062\060\064\070\040\151 +\156\143\157\162\160\056\040\142\171\040\162\145\146\056\040\050 +\154\151\155\151\164\163\040\154\151\141\142\056\051\061\045\060 +\043\006\003\125\004\013\023\034\050\143\051\040\061\071\071\071 +\040\105\156\164\162\165\163\164\056\156\145\164\040\114\151\155 +\151\164\145\144\061\063\060\061\006\003\125\004\003\023\052\105 +\156\164\162\165\163\164\056\156\145\164\040\103\145\162\164\151 +\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 +\164\171\040\050\062\060\064\070\051\060\036\027\015\071\071\061 +\062\062\064\061\067\065\060\065\061\132\027\015\062\071\060\067 +\062\064\061\064\061\065\061\062\132\060\201\264\061\024\060\022 +\006\003\125\004\012\023\013\105\156\164\162\165\163\164\056\156 +\145\164\061\100\060\076\006\003\125\004\013\024\067\167\167\167 +\056\145\156\164\162\165\163\164\056\156\145\164\057\103\120\123 +\137\062\060\064\070\040\151\156\143\157\162\160\056\040\142\171 +\040\162\145\146\056\040\050\154\151\155\151\164\163\040\154\151 +\141\142\056\051\061\045\060\043\006\003\125\004\013\023\034\050 +\143\051\040\061\071\071\071\040\105\156\164\162\165\163\164\056 +\156\145\164\040\114\151\155\151\164\145\144\061\063\060\061\006 +\003\125\004\003\023\052\105\156\164\162\165\163\164\056\156\145 +\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040 +\101\165\164\150\157\162\151\164\171\040\050\062\060\064\070\051 +\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001\001 +\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001\001 +\000\255\115\113\251\022\206\262\352\243\040\007\025\026\144\052 +\053\113\321\277\013\112\115\216\355\200\166\245\147\267\170\100 +\300\163\102\310\150\300\333\123\053\335\136\270\166\230\065\223 +\213\032\235\174\023\072\016\037\133\267\036\317\345\044\024\036 +\261\201\251\215\175\270\314\153\113\003\361\002\014\334\253\245 +\100\044\000\177\164\224\241\235\010\051\263\210\013\365\207\167 +\235\125\315\344\303\176\327\152\144\253\205\024\206\225\133\227 +\062\120\157\075\310\272\146\014\343\374\275\270\111\301\166\211 +\111\031\375\300\250\275\211\243\147\057\306\237\274\161\031\140 +\270\055\351\054\311\220\166\146\173\224\342\257\170\326\145\123 +\135\074\326\234\262\317\051\003\371\057\244\120\262\324\110\316 +\005\062\125\212\375\262\144\114\016\344\230\007\165\333\177\337 +\271\010\125\140\205\060\051\371\173\110\244\151\206\343\065\077 +\036\206\135\172\172\025\275\357\000\216\025\042\124\027\000\220 +\046\223\274\016\111\150\221\277\370\107\323\235\225\102\301\016 +\115\337\157\046\317\303\030\041\142\146\103\160\326\325\300\007 +\341\002\003\001\000\001\243\102\060\100\060\016\006\003\125\035 +\017\001\001\377\004\004\003\002\001\006\060\017\006\003\125\035 +\023\001\001\377\004\005\060\003\001\001\377\060\035\006\003\125 +\035\016\004\026\004\024\125\344\201\321\021\200\276\330\211\271 +\010\243\061\371\241\044\011\026\271\160\060\015\006\011\052\206 +\110\206\367\015\001\001\005\005\000\003\202\001\001\000\073\233 +\217\126\233\060\347\123\231\174\172\171\247\115\227\327\031\225 +\220\373\006\037\312\063\174\106\143\217\226\146\044\372\100\033 +\041\047\312\346\162\163\362\117\376\061\231\375\310\014\114\150 +\123\306\200\202\023\230\372\266\255\332\135\075\361\316\156\366 +\025\021\224\202\014\356\077\225\257\021\253\017\327\057\336\037 +\003\217\127\054\036\311\273\232\032\104\225\353\030\117\246\037 +\315\175\127\020\057\233\004\011\132\204\265\156\330\035\072\341 +\326\236\321\154\171\136\171\034\024\305\343\320\114\223\073\145 +\074\355\337\075\276\246\345\225\032\303\265\031\303\275\136\133 +\273\377\043\357\150\031\313\022\223\047\134\003\055\157\060\320 +\036\266\032\254\336\132\367\321\252\250\047\246\376\171\201\304 +\171\231\063\127\272\022\260\251\340\102\154\223\312\126\336\376 +\155\204\013\010\213\176\215\352\327\230\041\306\363\347\074\171 +\057\136\234\321\114\025\215\341\354\042\067\314\232\103\013\227 +\334\200\220\215\263\147\233\157\110\010\025\126\317\277\361\053 +\174\136\232\166\351\131\220\305\174\203\065\021\145\121 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "Entrust.net Premium 2048 Secure Server CA" +# Issuer: CN=Entrust.net Certification Authority (2048),OU=(c) 1999 Entrust.net Limited,OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.),O=Entrust.net +# Serial Number: 946069240 (0x3863def8) +# Subject: CN=Entrust.net Certification Authority (2048),OU=(c) 1999 Entrust.net Limited,OU=www.entrust.net/CPS_2048 incorp. by ref. (limits liab.),O=Entrust.net +# Not Valid Before: Fri Dec 24 17:50:51 1999 +# Not Valid After : Tue Jul 24 14:15:12 2029 +# Fingerprint (MD5): EE:29:31:BC:32:7E:9A:E6:E8:B5:F7:51:B4:34:71:90 +# Fingerprint (SHA1): 50:30:06:09:1D:97:D4:F5:AE:39:F7:CB:E7:92:7D:7D:65:2D:34:31 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Entrust.net Premium 2048 Secure Server CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\120\060\006\011\035\227\324\365\256\071\367\313\347\222\175\175 +\145\055\064\061 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\356\051\061\274\062\176\232\346\350\265\367\121\264\064\161\220 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\264\061\024\060\022\006\003\125\004\012\023\013\105\156 +\164\162\165\163\164\056\156\145\164\061\100\060\076\006\003\125 +\004\013\024\067\167\167\167\056\145\156\164\162\165\163\164\056 +\156\145\164\057\103\120\123\137\062\060\064\070\040\151\156\143 +\157\162\160\056\040\142\171\040\162\145\146\056\040\050\154\151 +\155\151\164\163\040\154\151\141\142\056\051\061\045\060\043\006 +\003\125\004\013\023\034\050\143\051\040\061\071\071\071\040\105 +\156\164\162\165\163\164\056\156\145\164\040\114\151\155\151\164 +\145\144\061\063\060\061\006\003\125\004\003\023\052\105\156\164 +\162\165\163\164\056\156\145\164\040\103\145\162\164\151\146\151 +\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 +\040\050\062\060\064\070\051 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\070\143\336\370 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Baltimore CyberTrust Root" +# +# Issuer: CN=Baltimore CyberTrust Root,OU=CyberTrust,O=Baltimore,C=IE +# Serial Number: 33554617 (0x20000b9) +# Subject: CN=Baltimore CyberTrust Root,OU=CyberTrust,O=Baltimore,C=IE +# Not Valid Before: Fri May 12 18:46:00 2000 +# Not Valid After : Mon May 12 23:59:00 2025 +# Fingerprint (MD5): AC:B6:94:A5:9C:17:E0:D7:91:52:9B:B1:97:06:A6:E4 +# Fingerprint (SHA1): D4:DE:20:D0:5E:66:FC:53:FE:1A:50:88:2C:78:DB:28:52:CA:E4:74 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Baltimore CyberTrust Root" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\132\061\013\060\011\006\003\125\004\006\023\002\111\105\061 +\022\060\020\006\003\125\004\012\023\011\102\141\154\164\151\155 +\157\162\145\061\023\060\021\006\003\125\004\013\023\012\103\171 +\142\145\162\124\162\165\163\164\061\042\060\040\006\003\125\004 +\003\023\031\102\141\154\164\151\155\157\162\145\040\103\171\142 +\145\162\124\162\165\163\164\040\122\157\157\164 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\132\061\013\060\011\006\003\125\004\006\023\002\111\105\061 +\022\060\020\006\003\125\004\012\023\011\102\141\154\164\151\155 +\157\162\145\061\023\060\021\006\003\125\004\013\023\012\103\171 +\142\145\162\124\162\165\163\164\061\042\060\040\006\003\125\004 +\003\023\031\102\141\154\164\151\155\157\162\145\040\103\171\142 +\145\162\124\162\165\163\164\040\122\157\157\164 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\002\000\000\271 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\167\060\202\002\137\240\003\002\001\002\002\004\002 +\000\000\271\060\015\006\011\052\206\110\206\367\015\001\001\005 +\005\000\060\132\061\013\060\011\006\003\125\004\006\023\002\111 +\105\061\022\060\020\006\003\125\004\012\023\011\102\141\154\164 +\151\155\157\162\145\061\023\060\021\006\003\125\004\013\023\012 +\103\171\142\145\162\124\162\165\163\164\061\042\060\040\006\003 +\125\004\003\023\031\102\141\154\164\151\155\157\162\145\040\103 +\171\142\145\162\124\162\165\163\164\040\122\157\157\164\060\036 +\027\015\060\060\060\065\061\062\061\070\064\066\060\060\132\027 +\015\062\065\060\065\061\062\062\063\065\071\060\060\132\060\132 +\061\013\060\011\006\003\125\004\006\023\002\111\105\061\022\060 +\020\006\003\125\004\012\023\011\102\141\154\164\151\155\157\162 +\145\061\023\060\021\006\003\125\004\013\023\012\103\171\142\145 +\162\124\162\165\163\164\061\042\060\040\006\003\125\004\003\023 +\031\102\141\154\164\151\155\157\162\145\040\103\171\142\145\162 +\124\162\165\163\164\040\122\157\157\164\060\202\001\042\060\015 +\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001 +\017\000\060\202\001\012\002\202\001\001\000\243\004\273\042\253 +\230\075\127\350\046\162\232\265\171\324\051\342\341\350\225\200 +\261\260\343\133\216\053\051\232\144\337\241\135\355\260\011\005 +\155\333\050\056\316\142\242\142\376\264\210\332\022\353\070\353 +\041\235\300\101\053\001\122\173\210\167\323\034\217\307\272\271 +\210\265\152\011\347\163\350\021\100\247\321\314\312\142\215\055 +\345\217\013\246\120\322\250\120\303\050\352\365\253\045\207\212 +\232\226\034\251\147\270\077\014\325\367\371\122\023\057\302\033 +\325\160\160\360\217\300\022\312\006\313\232\341\331\312\063\172 +\167\326\370\354\271\361\150\104\102\110\023\322\300\302\244\256 +\136\140\376\266\246\005\374\264\335\007\131\002\324\131\030\230 +\143\365\245\143\340\220\014\175\135\262\006\172\363\205\352\353 +\324\003\256\136\204\076\137\377\025\355\151\274\371\071\066\162 +\165\317\167\122\115\363\311\220\054\271\075\345\311\043\123\077 +\037\044\230\041\134\007\231\051\275\306\072\354\347\156\206\072 +\153\227\164\143\063\275\150\030\061\360\170\215\166\277\374\236 +\216\135\052\206\247\115\220\334\047\032\071\002\003\001\000\001 +\243\105\060\103\060\035\006\003\125\035\016\004\026\004\024\345 +\235\131\060\202\107\130\314\254\372\010\124\066\206\173\072\265 +\004\115\360\060\022\006\003\125\035\023\001\001\377\004\010\060 +\006\001\001\377\002\001\003\060\016\006\003\125\035\017\001\001 +\377\004\004\003\002\001\006\060\015\006\011\052\206\110\206\367 +\015\001\001\005\005\000\003\202\001\001\000\205\014\135\216\344 +\157\121\150\102\005\240\335\273\117\047\045\204\003\275\367\144 +\375\055\327\060\343\244\020\027\353\332\051\051\266\171\077\166 +\366\031\023\043\270\020\012\371\130\244\324\141\160\275\004\141 +\152\022\212\027\325\012\275\305\274\060\174\326\351\014\045\215 +\206\100\117\354\314\243\176\070\306\067\021\117\355\335\150\061 +\216\114\322\263\001\164\356\276\165\136\007\110\032\177\160\377 +\026\134\204\300\171\205\270\005\375\177\276\145\021\243\017\300 +\002\264\370\122\067\071\004\325\251\061\172\030\277\240\052\364 +\022\231\367\243\105\202\343\074\136\365\235\236\265\310\236\174 +\056\310\244\236\116\010\024\113\155\375\160\155\153\032\143\275 +\144\346\037\267\316\360\362\237\056\273\033\267\362\120\210\163 +\222\302\342\343\026\215\232\062\002\253\216\030\335\351\020\021 +\356\176\065\253\220\257\076\060\224\172\320\063\075\247\145\017 +\365\374\216\236\142\317\107\104\054\001\135\273\035\265\062\322 +\107\322\070\056\320\376\201\334\062\152\036\265\356\074\325\374 +\347\201\035\031\303\044\102\352\143\071\251 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "Baltimore CyberTrust Root" +# Issuer: CN=Baltimore CyberTrust Root,OU=CyberTrust,O=Baltimore,C=IE +# Serial Number: 33554617 (0x20000b9) +# Subject: CN=Baltimore CyberTrust Root,OU=CyberTrust,O=Baltimore,C=IE +# Not Valid Before: Fri May 12 18:46:00 2000 +# Not Valid After : Mon May 12 23:59:00 2025 +# Fingerprint (MD5): AC:B6:94:A5:9C:17:E0:D7:91:52:9B:B1:97:06:A6:E4 +# Fingerprint (SHA1): D4:DE:20:D0:5E:66:FC:53:FE:1A:50:88:2C:78:DB:28:52:CA:E4:74 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Baltimore CyberTrust Root" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\324\336\040\320\136\146\374\123\376\032\120\210\054\170\333\050 +\122\312\344\164 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\254\266\224\245\234\027\340\327\221\122\233\261\227\006\246\344 +END +CKA_ISSUER MULTILINE_OCTAL +\060\132\061\013\060\011\006\003\125\004\006\023\002\111\105\061 +\022\060\020\006\003\125\004\012\023\011\102\141\154\164\151\155 +\157\162\145\061\023\060\021\006\003\125\004\013\023\012\103\171 +\142\145\162\124\162\165\163\164\061\042\060\040\006\003\125\004 +\003\023\031\102\141\154\164\151\155\157\162\145\040\103\171\142 +\145\162\124\162\165\163\164\040\122\157\157\164 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\002\000\000\271 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "AddTrust Low-Value Services Root" +# +# Issuer: CN=AddTrust Class 1 CA Root,OU=AddTrust TTP Network,O=AddTrust AB,C=SE +# Serial Number: 1 (0x1) +# Subject: CN=AddTrust Class 1 CA Root,OU=AddTrust TTP Network,O=AddTrust AB,C=SE +# Not Valid Before: Tue May 30 10:38:31 2000 +# Not Valid After : Sat May 30 10:38:31 2020 +# Fingerprint (MD5): 1E:42:95:02:33:92:6B:B9:5F:C0:7F:DA:D6:B2:4B:FC +# Fingerprint (SHA1): CC:AB:0E:A0:4C:23:01:D6:69:7B:DD:37:9F:CD:12:EB:24:E3:94:9D +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "AddTrust Low-Value Services Root" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\145\061\013\060\011\006\003\125\004\006\023\002\123\105\061 +\024\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165 +\163\164\040\101\102\061\035\060\033\006\003\125\004\013\023\024 +\101\144\144\124\162\165\163\164\040\124\124\120\040\116\145\164 +\167\157\162\153\061\041\060\037\006\003\125\004\003\023\030\101 +\144\144\124\162\165\163\164\040\103\154\141\163\163\040\061\040 +\103\101\040\122\157\157\164 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\145\061\013\060\011\006\003\125\004\006\023\002\123\105\061 +\024\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165 +\163\164\040\101\102\061\035\060\033\006\003\125\004\013\023\024 +\101\144\144\124\162\165\163\164\040\124\124\120\040\116\145\164 +\167\157\162\153\061\041\060\037\006\003\125\004\003\023\030\101 +\144\144\124\162\165\163\164\040\103\154\141\163\163\040\061\040 +\103\101\040\122\157\157\164 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\030\060\202\003\000\240\003\002\001\002\002\001\001 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\145\061\013\060\011\006\003\125\004\006\023\002\123\105\061\024 +\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165\163 +\164\040\101\102\061\035\060\033\006\003\125\004\013\023\024\101 +\144\144\124\162\165\163\164\040\124\124\120\040\116\145\164\167 +\157\162\153\061\041\060\037\006\003\125\004\003\023\030\101\144 +\144\124\162\165\163\164\040\103\154\141\163\163\040\061\040\103 +\101\040\122\157\157\164\060\036\027\015\060\060\060\065\063\060 +\061\060\063\070\063\061\132\027\015\062\060\060\065\063\060\061 +\060\063\070\063\061\132\060\145\061\013\060\011\006\003\125\004 +\006\023\002\123\105\061\024\060\022\006\003\125\004\012\023\013 +\101\144\144\124\162\165\163\164\040\101\102\061\035\060\033\006 +\003\125\004\013\023\024\101\144\144\124\162\165\163\164\040\124 +\124\120\040\116\145\164\167\157\162\153\061\041\060\037\006\003 +\125\004\003\023\030\101\144\144\124\162\165\163\164\040\103\154 +\141\163\163\040\061\040\103\101\040\122\157\157\164\060\202\001 +\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000 +\003\202\001\017\000\060\202\001\012\002\202\001\001\000\226\226 +\324\041\111\140\342\153\350\101\007\014\336\304\340\334\023\043 +\315\301\065\307\373\326\116\021\012\147\136\365\006\133\153\245 +\010\073\133\051\026\072\347\207\262\064\006\305\274\005\245\003 +\174\202\313\051\020\256\341\210\201\275\326\236\323\376\055\126 +\301\025\316\343\046\235\025\056\020\373\006\217\060\004\336\247 +\264\143\264\377\261\234\256\074\257\167\266\126\305\265\253\242 +\351\151\072\075\016\063\171\062\077\160\202\222\231\141\155\215 +\060\010\217\161\077\246\110\127\031\370\045\334\113\146\134\245 +\164\217\230\256\310\371\300\006\042\347\254\163\337\245\056\373 +\122\334\261\025\145\040\372\065\146\151\336\337\054\361\156\274 +\060\333\054\044\022\333\353\065\065\150\220\313\000\260\227\041 +\075\164\041\043\145\064\053\273\170\131\243\326\341\166\071\232 +\244\111\216\214\164\257\156\244\232\243\331\233\322\070\134\233 +\242\030\314\165\043\204\276\353\342\115\063\161\216\032\360\302 +\370\307\035\242\255\003\227\054\370\317\045\306\366\270\044\061 +\261\143\135\222\177\143\360\045\311\123\056\037\277\115\002\003 +\001\000\001\243\201\322\060\201\317\060\035\006\003\125\035\016 +\004\026\004\024\225\261\264\360\224\266\275\307\332\321\021\011 +\041\276\301\257\111\375\020\173\060\013\006\003\125\035\017\004 +\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377\004 +\005\060\003\001\001\377\060\201\217\006\003\125\035\043\004\201 +\207\060\201\204\200\024\225\261\264\360\224\266\275\307\332\321 +\021\011\041\276\301\257\111\375\020\173\241\151\244\147\060\145 +\061\013\060\011\006\003\125\004\006\023\002\123\105\061\024\060 +\022\006\003\125\004\012\023\013\101\144\144\124\162\165\163\164 +\040\101\102\061\035\060\033\006\003\125\004\013\023\024\101\144 +\144\124\162\165\163\164\040\124\124\120\040\116\145\164\167\157 +\162\153\061\041\060\037\006\003\125\004\003\023\030\101\144\144 +\124\162\165\163\164\040\103\154\141\163\163\040\061\040\103\101 +\040\122\157\157\164\202\001\001\060\015\006\011\052\206\110\206 +\367\015\001\001\005\005\000\003\202\001\001\000\054\155\144\033 +\037\315\015\335\271\001\372\226\143\064\062\110\107\231\256\227 +\355\375\162\026\246\163\107\132\364\353\335\351\365\326\373\105 +\314\051\211\104\135\277\106\071\075\350\356\274\115\124\206\036 +\035\154\343\027\047\103\341\211\126\053\251\157\162\116\111\063 +\343\162\174\052\043\232\274\076\377\050\052\355\243\377\034\043 +\272\103\127\011\147\115\113\142\006\055\370\377\154\235\140\036 +\330\034\113\175\265\061\057\331\320\174\135\370\336\153\203\030 +\170\067\127\057\350\063\007\147\337\036\307\153\052\225\166\256 +\217\127\243\360\364\122\264\251\123\010\317\340\117\323\172\123 +\213\375\273\034\126\066\362\376\262\266\345\166\273\325\042\145 +\247\077\376\321\146\255\013\274\153\231\206\357\077\175\363\030 +\062\312\173\306\343\253\144\106\225\370\046\151\331\125\203\173 +\054\226\007\377\131\054\104\243\306\345\351\251\334\241\143\200 +\132\041\136\041\317\123\124\360\272\157\211\333\250\252\225\317 +\213\343\161\314\036\033\040\104\010\300\172\266\100\375\304\344 +\065\341\035\026\034\320\274\053\216\326\161\331 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "AddTrust Low-Value Services Root" +# Issuer: CN=AddTrust Class 1 CA Root,OU=AddTrust TTP Network,O=AddTrust AB,C=SE +# Serial Number: 1 (0x1) +# Subject: CN=AddTrust Class 1 CA Root,OU=AddTrust TTP Network,O=AddTrust AB,C=SE +# Not Valid Before: Tue May 30 10:38:31 2000 +# Not Valid After : Sat May 30 10:38:31 2020 +# Fingerprint (MD5): 1E:42:95:02:33:92:6B:B9:5F:C0:7F:DA:D6:B2:4B:FC +# Fingerprint (SHA1): CC:AB:0E:A0:4C:23:01:D6:69:7B:DD:37:9F:CD:12:EB:24:E3:94:9D +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "AddTrust Low-Value Services Root" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\314\253\016\240\114\043\001\326\151\173\335\067\237\315\022\353 +\044\343\224\235 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\036\102\225\002\063\222\153\271\137\300\177\332\326\262\113\374 +END +CKA_ISSUER MULTILINE_OCTAL +\060\145\061\013\060\011\006\003\125\004\006\023\002\123\105\061 +\024\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165 +\163\164\040\101\102\061\035\060\033\006\003\125\004\013\023\024 +\101\144\144\124\162\165\163\164\040\124\124\120\040\116\145\164 +\167\157\162\153\061\041\060\037\006\003\125\004\003\023\030\101 +\144\144\124\162\165\163\164\040\103\154\141\163\163\040\061\040 +\103\101\040\122\157\157\164 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "AddTrust External Root" +# +# Issuer: CN=AddTrust External CA Root,OU=AddTrust External TTP Network,O=AddTrust AB,C=SE +# Serial Number: 1 (0x1) +# Subject: CN=AddTrust External CA Root,OU=AddTrust External TTP Network,O=AddTrust AB,C=SE +# Not Valid Before: Tue May 30 10:48:38 2000 +# Not Valid After : Sat May 30 10:48:38 2020 +# Fingerprint (MD5): 1D:35:54:04:85:78:B0:3F:42:42:4D:BF:20:73:0A:3F +# Fingerprint (SHA1): 02:FA:F3:E2:91:43:54:68:60:78:57:69:4D:F5:E4:5B:68:85:18:68 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "AddTrust External Root" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\157\061\013\060\011\006\003\125\004\006\023\002\123\105\061 +\024\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165 +\163\164\040\101\102\061\046\060\044\006\003\125\004\013\023\035 +\101\144\144\124\162\165\163\164\040\105\170\164\145\162\156\141 +\154\040\124\124\120\040\116\145\164\167\157\162\153\061\042\060 +\040\006\003\125\004\003\023\031\101\144\144\124\162\165\163\164 +\040\105\170\164\145\162\156\141\154\040\103\101\040\122\157\157 +\164 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\157\061\013\060\011\006\003\125\004\006\023\002\123\105\061 +\024\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165 +\163\164\040\101\102\061\046\060\044\006\003\125\004\013\023\035 +\101\144\144\124\162\165\163\164\040\105\170\164\145\162\156\141 +\154\040\124\124\120\040\116\145\164\167\157\162\153\061\042\060 +\040\006\003\125\004\003\023\031\101\144\144\124\162\165\163\164 +\040\105\170\164\145\162\156\141\154\040\103\101\040\122\157\157 +\164 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\066\060\202\003\036\240\003\002\001\002\002\001\001 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\157\061\013\060\011\006\003\125\004\006\023\002\123\105\061\024 +\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165\163 +\164\040\101\102\061\046\060\044\006\003\125\004\013\023\035\101 +\144\144\124\162\165\163\164\040\105\170\164\145\162\156\141\154 +\040\124\124\120\040\116\145\164\167\157\162\153\061\042\060\040 +\006\003\125\004\003\023\031\101\144\144\124\162\165\163\164\040 +\105\170\164\145\162\156\141\154\040\103\101\040\122\157\157\164 +\060\036\027\015\060\060\060\065\063\060\061\060\064\070\063\070 +\132\027\015\062\060\060\065\063\060\061\060\064\070\063\070\132 +\060\157\061\013\060\011\006\003\125\004\006\023\002\123\105\061 +\024\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165 +\163\164\040\101\102\061\046\060\044\006\003\125\004\013\023\035 +\101\144\144\124\162\165\163\164\040\105\170\164\145\162\156\141 +\154\040\124\124\120\040\116\145\164\167\157\162\153\061\042\060 +\040\006\003\125\004\003\023\031\101\144\144\124\162\165\163\164 +\040\105\170\164\145\162\156\141\154\040\103\101\040\122\157\157 +\164\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001 +\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001 +\001\000\267\367\032\063\346\362\000\004\055\071\340\116\133\355 +\037\274\154\017\315\265\372\043\266\316\336\233\021\063\227\244 +\051\114\175\223\237\275\112\274\223\355\003\032\343\217\317\345 +\155\120\132\326\227\051\224\132\200\260\111\172\333\056\225\375 +\270\312\277\067\070\055\036\076\221\101\255\160\126\307\360\117 +\077\350\062\236\164\312\310\220\124\351\306\137\017\170\235\232 +\100\074\016\254\141\252\136\024\217\236\207\241\152\120\334\327 +\232\116\257\005\263\246\161\224\234\161\263\120\140\012\307\023 +\235\070\007\206\002\250\351\250\151\046\030\220\253\114\260\117 +\043\253\072\117\204\330\337\316\237\341\151\157\273\327\102\327 +\153\104\344\307\255\356\155\101\137\162\132\161\010\067\263\171 +\145\244\131\240\224\067\367\000\057\015\302\222\162\332\320\070 +\162\333\024\250\105\304\135\052\175\267\264\326\304\356\254\315 +\023\104\267\311\053\335\103\000\045\372\141\271\151\152\130\043 +\021\267\247\063\217\126\165\131\365\315\051\327\106\267\012\053 +\145\266\323\102\157\025\262\270\173\373\357\351\135\123\325\064 +\132\047\002\003\001\000\001\243\201\334\060\201\331\060\035\006 +\003\125\035\016\004\026\004\024\255\275\230\172\064\264\046\367 +\372\304\046\124\357\003\275\340\044\313\124\032\060\013\006\003 +\125\035\017\004\004\003\002\001\006\060\017\006\003\125\035\023 +\001\001\377\004\005\060\003\001\001\377\060\201\231\006\003\125 +\035\043\004\201\221\060\201\216\200\024\255\275\230\172\064\264 +\046\367\372\304\046\124\357\003\275\340\044\313\124\032\241\163 +\244\161\060\157\061\013\060\011\006\003\125\004\006\023\002\123 +\105\061\024\060\022\006\003\125\004\012\023\013\101\144\144\124 +\162\165\163\164\040\101\102\061\046\060\044\006\003\125\004\013 +\023\035\101\144\144\124\162\165\163\164\040\105\170\164\145\162 +\156\141\154\040\124\124\120\040\116\145\164\167\157\162\153\061 +\042\060\040\006\003\125\004\003\023\031\101\144\144\124\162\165 +\163\164\040\105\170\164\145\162\156\141\154\040\103\101\040\122 +\157\157\164\202\001\001\060\015\006\011\052\206\110\206\367\015 +\001\001\005\005\000\003\202\001\001\000\260\233\340\205\045\302 +\326\043\342\017\226\006\222\235\101\230\234\331\204\171\201\331 +\036\133\024\007\043\066\145\217\260\330\167\273\254\101\154\107 +\140\203\121\260\371\062\075\347\374\366\046\023\307\200\026\245 +\277\132\374\207\317\170\171\211\041\232\342\114\007\012\206\065 +\274\362\336\121\304\322\226\267\334\176\116\356\160\375\034\071 +\353\014\002\121\024\055\216\275\026\340\301\337\106\165\347\044 +\255\354\364\102\264\205\223\160\020\147\272\235\006\065\112\030 +\323\053\172\314\121\102\241\172\143\321\346\273\241\305\053\302 +\066\276\023\015\346\275\143\176\171\173\247\011\015\100\253\152 +\335\217\212\303\366\366\214\032\102\005\121\324\105\365\237\247 +\142\041\150\025\040\103\074\231\347\174\275\044\330\251\221\027 +\163\210\077\126\033\061\070\030\264\161\017\232\315\310\016\236 +\216\056\033\341\214\230\203\313\037\061\361\104\114\306\004\163 +\111\166\140\017\307\370\275\027\200\153\056\351\314\114\016\132 +\232\171\017\040\012\056\325\236\143\046\036\125\222\224\330\202 +\027\132\173\320\274\307\217\116\206\004 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "AddTrust External Root" +# Issuer: CN=AddTrust External CA Root,OU=AddTrust External TTP Network,O=AddTrust AB,C=SE +# Serial Number: 1 (0x1) +# Subject: CN=AddTrust External CA Root,OU=AddTrust External TTP Network,O=AddTrust AB,C=SE +# Not Valid Before: Tue May 30 10:48:38 2000 +# Not Valid After : Sat May 30 10:48:38 2020 +# Fingerprint (MD5): 1D:35:54:04:85:78:B0:3F:42:42:4D:BF:20:73:0A:3F +# Fingerprint (SHA1): 02:FA:F3:E2:91:43:54:68:60:78:57:69:4D:F5:E4:5B:68:85:18:68 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "AddTrust External Root" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\002\372\363\342\221\103\124\150\140\170\127\151\115\365\344\133 +\150\205\030\150 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\035\065\124\004\205\170\260\077\102\102\115\277\040\163\012\077 +END +CKA_ISSUER MULTILINE_OCTAL +\060\157\061\013\060\011\006\003\125\004\006\023\002\123\105\061 +\024\060\022\006\003\125\004\012\023\013\101\144\144\124\162\165 +\163\164\040\101\102\061\046\060\044\006\003\125\004\013\023\035 +\101\144\144\124\162\165\163\164\040\105\170\164\145\162\156\141 +\154\040\124\124\120\040\116\145\164\167\157\162\153\061\042\060 +\040\006\003\125\004\003\023\031\101\144\144\124\162\165\163\164 +\040\105\170\164\145\162\156\141\154\040\103\101\040\122\157\157 +\164 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Entrust Root Certification Authority" +# +# Issuer: CN=Entrust Root Certification Authority,OU="(c) 2006 Entrust, Inc.",OU=www.entrust.net/CPS is incorporated by reference,O="Entrust, Inc.",C=US +# Serial Number: 1164660820 (0x456b5054) +# Subject: CN=Entrust Root Certification Authority,OU="(c) 2006 Entrust, Inc.",OU=www.entrust.net/CPS is incorporated by reference,O="Entrust, Inc.",C=US +# Not Valid Before: Mon Nov 27 20:23:42 2006 +# Not Valid After : Fri Nov 27 20:53:42 2026 +# Fingerprint (MD5): D6:A5:C3:ED:5D:DD:3E:00:C1:3D:87:92:1F:1D:3F:E4 +# Fingerprint (SHA1): B3:1E:B1:B7:40:E3:6C:84:02:DA:DC:37:D4:4D:F5:D4:67:49:52:F9 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Entrust Root Certification Authority" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\260\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165 +\163\164\054\040\111\156\143\056\061\071\060\067\006\003\125\004 +\013\023\060\167\167\167\056\145\156\164\162\165\163\164\056\156 +\145\164\057\103\120\123\040\151\163\040\151\156\143\157\162\160 +\157\162\141\164\145\144\040\142\171\040\162\145\146\145\162\145 +\156\143\145\061\037\060\035\006\003\125\004\013\023\026\050\143 +\051\040\062\060\060\066\040\105\156\164\162\165\163\164\054\040 +\111\156\143\056\061\055\060\053\006\003\125\004\003\023\044\105 +\156\164\162\165\163\164\040\122\157\157\164\040\103\145\162\164 +\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162 +\151\164\171 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\260\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165 +\163\164\054\040\111\156\143\056\061\071\060\067\006\003\125\004 +\013\023\060\167\167\167\056\145\156\164\162\165\163\164\056\156 +\145\164\057\103\120\123\040\151\163\040\151\156\143\157\162\160 +\157\162\141\164\145\144\040\142\171\040\162\145\146\145\162\145 +\156\143\145\061\037\060\035\006\003\125\004\013\023\026\050\143 +\051\040\062\060\060\066\040\105\156\164\162\165\163\164\054\040 +\111\156\143\056\061\055\060\053\006\003\125\004\003\023\044\105 +\156\164\162\165\163\164\040\122\157\157\164\040\103\145\162\164 +\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162 +\151\164\171 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\105\153\120\124 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\221\060\202\003\171\240\003\002\001\002\002\004\105 +\153\120\124\060\015\006\011\052\206\110\206\367\015\001\001\005 +\005\000\060\201\260\061\013\060\011\006\003\125\004\006\023\002 +\125\123\061\026\060\024\006\003\125\004\012\023\015\105\156\164 +\162\165\163\164\054\040\111\156\143\056\061\071\060\067\006\003 +\125\004\013\023\060\167\167\167\056\145\156\164\162\165\163\164 +\056\156\145\164\057\103\120\123\040\151\163\040\151\156\143\157 +\162\160\157\162\141\164\145\144\040\142\171\040\162\145\146\145 +\162\145\156\143\145\061\037\060\035\006\003\125\004\013\023\026 +\050\143\051\040\062\060\060\066\040\105\156\164\162\165\163\164 +\054\040\111\156\143\056\061\055\060\053\006\003\125\004\003\023 +\044\105\156\164\162\165\163\164\040\122\157\157\164\040\103\145 +\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150 +\157\162\151\164\171\060\036\027\015\060\066\061\061\062\067\062 +\060\062\063\064\062\132\027\015\062\066\061\061\062\067\062\060 +\065\063\064\062\132\060\201\260\061\013\060\011\006\003\125\004 +\006\023\002\125\123\061\026\060\024\006\003\125\004\012\023\015 +\105\156\164\162\165\163\164\054\040\111\156\143\056\061\071\060 +\067\006\003\125\004\013\023\060\167\167\167\056\145\156\164\162 +\165\163\164\056\156\145\164\057\103\120\123\040\151\163\040\151 +\156\143\157\162\160\157\162\141\164\145\144\040\142\171\040\162 +\145\146\145\162\145\156\143\145\061\037\060\035\006\003\125\004 +\013\023\026\050\143\051\040\062\060\060\066\040\105\156\164\162 +\165\163\164\054\040\111\156\143\056\061\055\060\053\006\003\125 +\004\003\023\044\105\156\164\162\165\163\164\040\122\157\157\164 +\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 +\165\164\150\157\162\151\164\171\060\202\001\042\060\015\006\011 +\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017\000 +\060\202\001\012\002\202\001\001\000\266\225\266\103\102\372\306 +\155\052\157\110\337\224\114\071\127\005\356\303\171\021\101\150 +\066\355\354\376\232\001\217\241\070\050\374\367\020\106\146\056 +\115\036\032\261\032\116\306\321\300\225\210\260\311\377\061\213 +\063\003\333\267\203\173\076\040\204\136\355\262\126\050\247\370 +\340\271\100\161\067\305\313\107\016\227\052\150\300\042\225\142 +\025\333\107\331\365\320\053\377\202\113\311\255\076\336\114\333 +\220\200\120\077\011\212\204\000\354\060\012\075\030\315\373\375 +\052\131\232\043\225\027\054\105\236\037\156\103\171\155\014\134 +\230\376\110\247\305\043\107\134\136\375\156\347\036\264\366\150 +\105\321\206\203\133\242\212\215\261\343\051\200\376\045\161\210 +\255\276\274\217\254\122\226\113\252\121\215\344\023\061\031\350 +\116\115\237\333\254\263\152\325\274\071\124\161\312\172\172\177 +\220\335\175\035\200\331\201\273\131\046\302\021\376\346\223\342 +\367\200\344\145\373\064\067\016\051\200\160\115\257\070\206\056 +\236\177\127\257\236\027\256\353\034\313\050\041\137\266\034\330 +\347\242\004\042\371\323\332\330\313\002\003\001\000\001\243\201 +\260\060\201\255\060\016\006\003\125\035\017\001\001\377\004\004 +\003\002\001\006\060\017\006\003\125\035\023\001\001\377\004\005 +\060\003\001\001\377\060\053\006\003\125\035\020\004\044\060\042 +\200\017\062\060\060\066\061\061\062\067\062\060\062\063\064\062 +\132\201\017\062\060\062\066\061\061\062\067\062\060\065\063\064 +\062\132\060\037\006\003\125\035\043\004\030\060\026\200\024\150 +\220\344\147\244\246\123\200\307\206\146\244\361\367\113\103\373 +\204\275\155\060\035\006\003\125\035\016\004\026\004\024\150\220 +\344\147\244\246\123\200\307\206\146\244\361\367\113\103\373\204 +\275\155\060\035\006\011\052\206\110\206\366\175\007\101\000\004 +\020\060\016\033\010\126\067\056\061\072\064\056\060\003\002\004 +\220\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000 +\003\202\001\001\000\223\324\060\260\327\003\040\052\320\371\143 +\350\221\014\005\040\251\137\031\312\173\162\116\324\261\333\320 +\226\373\124\132\031\054\014\010\367\262\274\205\250\235\177\155 +\073\122\263\052\333\347\324\204\214\143\366\017\313\046\001\221 +\120\154\364\137\024\342\223\164\300\023\236\060\072\120\343\264 +\140\305\034\360\042\104\215\161\107\254\310\032\311\351\233\232 +\000\140\023\377\160\176\137\021\115\111\033\263\025\122\173\311 +\124\332\277\235\225\257\153\232\330\236\351\361\344\103\215\342 +\021\104\072\277\257\275\203\102\163\122\213\252\273\247\051\317 +\365\144\034\012\115\321\274\252\254\237\052\320\377\177\177\332 +\175\352\261\355\060\045\301\204\332\064\322\133\170\203\126\354 +\234\066\303\046\342\021\366\147\111\035\222\253\214\373\353\377 +\172\356\205\112\247\120\200\360\247\134\112\224\056\137\005\231 +\074\122\101\340\315\264\143\317\001\103\272\234\203\334\217\140 +\073\363\132\264\264\173\256\332\013\220\070\165\357\201\035\146 +\322\367\127\160\066\263\277\374\050\257\161\045\205\133\023\376 +\036\177\132\264\074 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "Entrust Root Certification Authority" +# Issuer: CN=Entrust Root Certification Authority,OU="(c) 2006 Entrust, Inc.",OU=www.entrust.net/CPS is incorporated by reference,O="Entrust, Inc.",C=US +# Serial Number: 1164660820 (0x456b5054) +# Subject: CN=Entrust Root Certification Authority,OU="(c) 2006 Entrust, Inc.",OU=www.entrust.net/CPS is incorporated by reference,O="Entrust, Inc.",C=US +# Not Valid Before: Mon Nov 27 20:23:42 2006 +# Not Valid After : Fri Nov 27 20:53:42 2026 +# Fingerprint (MD5): D6:A5:C3:ED:5D:DD:3E:00:C1:3D:87:92:1F:1D:3F:E4 +# Fingerprint (SHA1): B3:1E:B1:B7:40:E3:6C:84:02:DA:DC:37:D4:4D:F5:D4:67:49:52:F9 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Entrust Root Certification Authority" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\263\036\261\267\100\343\154\204\002\332\334\067\324\115\365\324 +\147\111\122\371 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\326\245\303\355\135\335\076\000\301\075\207\222\037\035\077\344 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\260\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165 +\163\164\054\040\111\156\143\056\061\071\060\067\006\003\125\004 +\013\023\060\167\167\167\056\145\156\164\162\165\163\164\056\156 +\145\164\057\103\120\123\040\151\163\040\151\156\143\157\162\160 +\157\162\141\164\145\144\040\142\171\040\162\145\146\145\162\145 +\156\143\145\061\037\060\035\006\003\125\004\013\023\026\050\143 +\051\040\062\060\060\066\040\105\156\164\162\165\163\164\054\040 +\111\156\143\056\061\055\060\053\006\003\125\004\003\023\044\105 +\156\164\162\165\163\164\040\122\157\157\164\040\103\145\162\164 +\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162 +\151\164\171 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\105\153\120\124 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "GeoTrust Global CA" +# +# Issuer: CN=GeoTrust Global CA,O=GeoTrust Inc.,C=US +# Serial Number: 144470 (0x23456) +# Subject: CN=GeoTrust Global CA,O=GeoTrust Inc.,C=US +# Not Valid Before: Tue May 21 04:00:00 2002 +# Not Valid After : Sat May 21 04:00:00 2022 +# Fingerprint (MD5): F7:75:AB:29:FB:51:4E:B7:77:5E:FF:05:3C:99:8E:F5 +# Fingerprint (SHA1): DE:28:F4:A4:FF:E5:B9:2F:A3:C5:03:D1:A3:49:A7:F9:96:2A:82:12 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "GeoTrust Global CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\102\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165 +\163\164\040\111\156\143\056\061\033\060\031\006\003\125\004\003 +\023\022\107\145\157\124\162\165\163\164\040\107\154\157\142\141 +\154\040\103\101 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\102\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165 +\163\164\040\111\156\143\056\061\033\060\031\006\003\125\004\003 +\023\022\107\145\157\124\162\165\163\164\040\107\154\157\142\141 +\154\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\003\002\064\126 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\124\060\202\002\074\240\003\002\001\002\002\003\002 +\064\126\060\015\006\011\052\206\110\206\367\015\001\001\005\005 +\000\060\102\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162 +\165\163\164\040\111\156\143\056\061\033\060\031\006\003\125\004 +\003\023\022\107\145\157\124\162\165\163\164\040\107\154\157\142 +\141\154\040\103\101\060\036\027\015\060\062\060\065\062\061\060 +\064\060\060\060\060\132\027\015\062\062\060\065\062\061\060\064 +\060\060\060\060\132\060\102\061\013\060\011\006\003\125\004\006 +\023\002\125\123\061\026\060\024\006\003\125\004\012\023\015\107 +\145\157\124\162\165\163\164\040\111\156\143\056\061\033\060\031 +\006\003\125\004\003\023\022\107\145\157\124\162\165\163\164\040 +\107\154\157\142\141\154\040\103\101\060\202\001\042\060\015\006 +\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017 +\000\060\202\001\012\002\202\001\001\000\332\314\030\143\060\375 +\364\027\043\032\126\176\133\337\074\154\070\344\161\267\170\221 +\324\274\241\330\114\370\250\103\266\003\351\115\041\007\010\210 +\332\130\057\146\071\051\275\005\170\213\235\070\350\005\267\152 +\176\161\244\346\304\140\246\260\357\200\344\211\050\017\236\045 +\326\355\203\363\255\246\221\307\230\311\102\030\065\024\235\255 +\230\106\222\056\117\312\361\207\103\301\026\225\127\055\120\357 +\211\055\200\172\127\255\362\356\137\153\322\000\215\271\024\370 +\024\025\065\331\300\106\243\173\162\310\221\277\311\125\053\315 +\320\227\076\234\046\144\314\337\316\203\031\161\312\116\346\324 +\325\173\251\031\315\125\336\310\354\322\136\070\123\345\134\117 +\214\055\376\120\043\066\374\146\346\313\216\244\071\031\000\267 +\225\002\071\221\013\016\376\070\056\321\035\005\232\366\115\076 +\157\017\007\035\257\054\036\217\140\071\342\372\066\123\023\071 +\324\136\046\053\333\075\250\024\275\062\353\030\003\050\122\004 +\161\345\253\063\075\341\070\273\007\066\204\142\234\171\352\026 +\060\364\137\300\053\350\161\153\344\371\002\003\001\000\001\243 +\123\060\121\060\017\006\003\125\035\023\001\001\377\004\005\060 +\003\001\001\377\060\035\006\003\125\035\016\004\026\004\024\300 +\172\230\150\215\211\373\253\005\144\014\021\175\252\175\145\270 +\312\314\116\060\037\006\003\125\035\043\004\030\060\026\200\024 +\300\172\230\150\215\211\373\253\005\144\014\021\175\252\175\145 +\270\312\314\116\060\015\006\011\052\206\110\206\367\015\001\001 +\005\005\000\003\202\001\001\000\065\343\051\152\345\057\135\124 +\216\051\120\224\237\231\032\024\344\217\170\052\142\224\242\047 +\147\236\320\317\032\136\107\351\301\262\244\317\335\101\032\005 +\116\233\113\356\112\157\125\122\263\044\241\067\012\353\144\166 +\052\056\054\363\375\073\165\220\277\372\161\330\307\075\067\322 +\265\005\225\142\271\246\336\211\075\066\173\070\167\110\227\254 +\246\040\217\056\246\311\014\302\262\231\105\000\307\316\021\121 +\042\042\340\245\352\266\025\110\011\144\352\136\117\164\367\005 +\076\307\212\122\014\333\025\264\275\155\233\345\306\261\124\150 +\251\343\151\220\266\232\245\017\270\271\077\040\175\256\112\265 +\270\234\344\035\266\253\346\224\245\301\307\203\255\333\365\047 +\207\016\004\154\325\377\335\240\135\355\207\122\267\053\025\002 +\256\071\246\152\164\351\332\304\347\274\115\064\036\251\134\115 +\063\137\222\011\057\210\146\135\167\227\307\035\166\023\251\325 +\345\361\026\011\021\065\325\254\333\044\161\160\054\230\126\013 +\331\027\264\321\343\121\053\136\165\350\325\320\334\117\064\355 +\302\005\146\200\241\313\346\063 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "GeoTrust Global CA" +# Issuer: CN=GeoTrust Global CA,O=GeoTrust Inc.,C=US +# Serial Number: 144470 (0x23456) +# Subject: CN=GeoTrust Global CA,O=GeoTrust Inc.,C=US +# Not Valid Before: Tue May 21 04:00:00 2002 +# Not Valid After : Sat May 21 04:00:00 2022 +# Fingerprint (MD5): F7:75:AB:29:FB:51:4E:B7:77:5E:FF:05:3C:99:8E:F5 +# Fingerprint (SHA1): DE:28:F4:A4:FF:E5:B9:2F:A3:C5:03:D1:A3:49:A7:F9:96:2A:82:12 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "GeoTrust Global CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\336\050\364\244\377\345\271\057\243\305\003\321\243\111\247\371 +\226\052\202\022 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\367\165\253\051\373\121\116\267\167\136\377\005\074\231\216\365 +END +CKA_ISSUER MULTILINE_OCTAL +\060\102\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165 +\163\164\040\111\156\143\056\061\033\060\031\006\003\125\004\003 +\023\022\107\145\157\124\162\165\163\164\040\107\154\157\142\141 +\154\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\003\002\064\126 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "GeoTrust Universal CA" +# +# Issuer: CN=GeoTrust Universal CA,O=GeoTrust Inc.,C=US +# Serial Number: 1 (0x1) +# Subject: CN=GeoTrust Universal CA,O=GeoTrust Inc.,C=US +# Not Valid Before: Thu Mar 04 05:00:00 2004 +# Not Valid After : Sun Mar 04 05:00:00 2029 +# Fingerprint (MD5): 92:65:58:8B:A2:1A:31:72:73:68:5C:B4:A5:7A:07:48 +# Fingerprint (SHA1): E6:21:F3:35:43:79:05:9A:4B:68:30:9D:8A:2F:74:22:15:87:EC:79 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "GeoTrust Universal CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\105\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165 +\163\164\040\111\156\143\056\061\036\060\034\006\003\125\004\003 +\023\025\107\145\157\124\162\165\163\164\040\125\156\151\166\145 +\162\163\141\154\040\103\101 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\105\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165 +\163\164\040\111\156\143\056\061\036\060\034\006\003\125\004\003 +\023\025\107\145\157\124\162\165\163\164\040\125\156\151\166\145 +\162\163\141\154\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\150\060\202\003\120\240\003\002\001\002\002\001\001 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\105\061\013\060\011\006\003\125\004\006\023\002\125\123\061\026 +\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165\163 +\164\040\111\156\143\056\061\036\060\034\006\003\125\004\003\023 +\025\107\145\157\124\162\165\163\164\040\125\156\151\166\145\162 +\163\141\154\040\103\101\060\036\027\015\060\064\060\063\060\064 +\060\065\060\060\060\060\132\027\015\062\071\060\063\060\064\060 +\065\060\060\060\060\132\060\105\061\013\060\011\006\003\125\004 +\006\023\002\125\123\061\026\060\024\006\003\125\004\012\023\015 +\107\145\157\124\162\165\163\164\040\111\156\143\056\061\036\060 +\034\006\003\125\004\003\023\025\107\145\157\124\162\165\163\164 +\040\125\156\151\166\145\162\163\141\154\040\103\101\060\202\002 +\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000 +\003\202\002\017\000\060\202\002\012\002\202\002\001\000\246\025 +\125\240\243\306\340\037\214\235\041\120\327\301\276\053\133\265 +\244\236\241\331\162\130\275\000\033\114\277\141\311\024\035\105 +\202\253\306\035\200\326\075\353\020\234\072\257\155\044\370\274 +\161\001\236\006\365\174\137\036\301\016\125\312\203\232\131\060 +\256\031\313\060\110\225\355\042\067\215\364\112\232\162\146\076 +\255\225\300\340\026\000\340\020\037\053\061\016\327\224\124\323 +\102\063\240\064\035\036\105\166\335\117\312\030\067\354\205\025 +\172\031\010\374\325\307\234\360\362\251\056\020\251\222\346\075 +\130\075\251\026\150\074\057\165\041\030\177\050\167\245\341\141 +\027\267\246\351\370\036\231\333\163\156\364\012\242\041\154\356 +\332\252\205\222\146\257\366\172\153\202\332\272\042\010\065\017 +\317\102\361\065\372\152\356\176\053\045\314\072\021\344\155\257 +\163\262\166\035\255\320\262\170\147\032\244\071\034\121\013\147 +\126\203\375\070\135\015\316\335\360\273\053\226\037\336\173\062 +\122\375\035\273\265\006\241\262\041\136\245\326\225\150\177\360 +\231\236\334\105\010\076\347\322\011\015\065\224\335\200\116\123 +\227\327\265\011\104\040\144\026\027\003\002\114\123\015\150\336 +\325\252\162\115\223\155\202\016\333\234\275\317\264\363\134\135 +\124\172\151\011\226\326\333\021\301\215\165\250\264\317\071\310 +\316\074\274\044\174\346\142\312\341\275\175\247\275\127\145\013 +\344\376\045\355\266\151\020\334\050\032\106\275\001\035\320\227 +\265\341\230\073\300\067\144\326\075\224\356\013\341\365\050\256 +\013\126\277\161\213\043\051\101\216\206\305\113\122\173\330\161 +\253\037\212\025\246\073\203\132\327\130\001\121\306\114\101\331 +\177\330\101\147\162\242\050\337\140\203\251\236\310\173\374\123 +\163\162\131\365\223\172\027\166\016\316\367\345\134\331\013\125 +\064\242\252\133\265\152\124\347\023\312\127\354\227\155\364\136 +\006\057\105\213\130\324\043\026\222\344\026\156\050\143\131\060 +\337\120\001\234\143\211\032\237\333\027\224\202\160\067\303\044 +\236\232\107\326\132\312\116\250\151\211\162\037\221\154\333\176 +\236\033\255\307\037\163\335\054\117\031\145\375\177\223\100\020 +\056\322\360\355\074\236\056\050\076\151\046\063\305\173\002\003 +\001\000\001\243\143\060\141\060\017\006\003\125\035\023\001\001 +\377\004\005\060\003\001\001\377\060\035\006\003\125\035\016\004 +\026\004\024\332\273\056\252\260\014\270\210\046\121\164\134\155 +\003\323\300\330\217\172\326\060\037\006\003\125\035\043\004\030 +\060\026\200\024\332\273\056\252\260\014\270\210\046\121\164\134 +\155\003\323\300\330\217\172\326\060\016\006\003\125\035\017\001 +\001\377\004\004\003\002\001\206\060\015\006\011\052\206\110\206 +\367\015\001\001\005\005\000\003\202\002\001\000\061\170\346\307 +\265\337\270\224\100\311\161\304\250\065\354\106\035\302\205\363 +\050\130\206\260\013\374\216\262\071\217\104\125\253\144\204\134 +\151\251\320\232\070\074\372\345\037\065\345\104\343\200\171\224 +\150\244\273\304\237\075\341\064\315\060\106\213\124\053\225\245 +\357\367\077\231\204\375\065\346\317\061\306\334\152\277\247\327 +\043\010\341\230\136\303\132\010\166\251\246\257\167\057\267\140 +\275\104\106\152\357\227\377\163\225\301\216\350\223\373\375\061 +\267\354\127\021\021\105\233\060\361\032\210\071\301\117\074\247 +\000\325\307\374\253\155\200\042\160\245\014\340\135\004\051\002 +\373\313\240\221\321\174\326\303\176\120\325\235\130\276\101\070 +\353\271\165\074\025\331\233\311\112\203\131\300\332\123\375\063 +\273\066\030\233\205\017\025\335\356\055\254\166\223\271\331\001 +\215\110\020\250\373\365\070\206\361\333\012\306\275\204\243\043 +\101\336\326\167\157\205\324\205\034\120\340\256\121\212\272\215 +\076\166\342\271\312\047\362\137\237\357\156\131\015\006\330\053 +\027\244\322\174\153\273\137\024\032\110\217\032\114\347\263\107 +\034\216\114\105\053\040\356\110\337\347\335\011\216\030\250\332 +\100\215\222\046\021\123\141\163\135\353\275\347\304\115\051\067 +\141\353\254\071\055\147\056\026\326\365\000\203\205\241\314\177 +\166\304\175\344\267\113\146\357\003\105\140\151\266\014\122\226 +\222\204\136\246\243\265\244\076\053\331\314\330\033\107\252\362 +\104\332\117\371\003\350\360\024\313\077\363\203\336\320\301\124 +\343\267\350\012\067\115\213\040\131\003\060\031\241\054\310\275 +\021\037\337\256\311\112\305\363\047\146\146\206\254\150\221\377 +\331\346\123\034\017\213\134\151\145\012\046\310\036\064\303\135 +\121\173\327\251\234\006\241\066\335\325\211\224\274\331\344\055 +\014\136\011\154\010\227\174\243\075\174\223\377\077\241\024\247 +\317\265\135\353\333\333\034\304\166\337\210\271\275\105\005\225 +\033\256\374\106\152\114\257\110\343\316\256\017\322\176\353\346 +\154\234\117\201\152\172\144\254\273\076\325\347\313\166\056\305 +\247\110\301\134\220\017\313\310\077\372\346\062\341\215\033\157 +\244\346\216\330\371\051\110\212\316\163\376\054 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "GeoTrust Universal CA" +# Issuer: CN=GeoTrust Universal CA,O=GeoTrust Inc.,C=US +# Serial Number: 1 (0x1) +# Subject: CN=GeoTrust Universal CA,O=GeoTrust Inc.,C=US +# Not Valid Before: Thu Mar 04 05:00:00 2004 +# Not Valid After : Sun Mar 04 05:00:00 2029 +# Fingerprint (MD5): 92:65:58:8B:A2:1A:31:72:73:68:5C:B4:A5:7A:07:48 +# Fingerprint (SHA1): E6:21:F3:35:43:79:05:9A:4B:68:30:9D:8A:2F:74:22:15:87:EC:79 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "GeoTrust Universal CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\346\041\363\065\103\171\005\232\113\150\060\235\212\057\164\042 +\025\207\354\171 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\222\145\130\213\242\032\061\162\163\150\134\264\245\172\007\110 +END +CKA_ISSUER MULTILINE_OCTAL +\060\105\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165 +\163\164\040\111\156\143\056\061\036\060\034\006\003\125\004\003 +\023\025\107\145\157\124\162\165\163\164\040\125\156\151\166\145 +\162\163\141\154\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "GeoTrust Universal CA 2" +# +# Issuer: CN=GeoTrust Universal CA 2,O=GeoTrust Inc.,C=US +# Serial Number: 1 (0x1) +# Subject: CN=GeoTrust Universal CA 2,O=GeoTrust Inc.,C=US +# Not Valid Before: Thu Mar 04 05:00:00 2004 +# Not Valid After : Sun Mar 04 05:00:00 2029 +# Fingerprint (MD5): 34:FC:B8:D0:36:DB:9E:14:B3:C2:F2:DB:8F:E4:94:C7 +# Fingerprint (SHA1): 37:9A:19:7B:41:85:45:35:0C:A6:03:69:F3:3C:2E:AF:47:4F:20:79 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "GeoTrust Universal CA 2" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165 +\163\164\040\111\156\143\056\061\040\060\036\006\003\125\004\003 +\023\027\107\145\157\124\162\165\163\164\040\125\156\151\166\145 +\162\163\141\154\040\103\101\040\062 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165 +\163\164\040\111\156\143\056\061\040\060\036\006\003\125\004\003 +\023\027\107\145\157\124\162\165\163\164\040\125\156\151\166\145 +\162\163\141\154\040\103\101\040\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\154\060\202\003\124\240\003\002\001\002\002\001\001 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061\026 +\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165\163 +\164\040\111\156\143\056\061\040\060\036\006\003\125\004\003\023 +\027\107\145\157\124\162\165\163\164\040\125\156\151\166\145\162 +\163\141\154\040\103\101\040\062\060\036\027\015\060\064\060\063 +\060\064\060\065\060\060\060\060\132\027\015\062\071\060\063\060 +\064\060\065\060\060\060\060\132\060\107\061\013\060\011\006\003 +\125\004\006\023\002\125\123\061\026\060\024\006\003\125\004\012 +\023\015\107\145\157\124\162\165\163\164\040\111\156\143\056\061 +\040\060\036\006\003\125\004\003\023\027\107\145\157\124\162\165 +\163\164\040\125\156\151\166\145\162\163\141\154\040\103\101\040 +\062\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001 +\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002 +\001\000\263\124\122\301\311\076\362\331\334\261\123\032\131\051 +\347\261\303\105\050\345\327\321\355\305\305\113\241\252\164\173 +\127\257\112\046\374\330\365\136\247\156\031\333\164\014\117\065 +\133\062\013\001\343\333\353\172\167\065\352\252\132\340\326\350 +\241\127\224\360\220\243\164\126\224\104\060\003\036\134\116\053 +\205\046\164\202\172\014\166\240\157\115\316\101\055\240\025\006 +\024\137\267\102\315\173\217\130\141\064\334\052\010\371\056\303 +\001\246\042\104\034\114\007\202\346\133\316\320\112\174\004\323 +\031\163\047\360\252\230\177\056\257\116\353\207\036\044\167\152 +\135\266\350\133\105\272\334\303\241\005\157\126\216\217\020\046 +\245\111\303\056\327\101\207\042\340\117\206\312\140\265\352\241 +\143\300\001\227\020\171\275\000\074\022\155\053\025\261\254\113 +\261\356\030\271\116\226\334\334\166\377\073\276\317\137\003\300 +\374\073\350\276\106\033\377\332\100\302\122\367\376\343\072\367 +\152\167\065\320\332\215\353\136\030\152\061\307\036\272\074\033 +\050\326\153\124\306\252\133\327\242\054\033\031\314\242\002\366 +\233\131\275\067\153\206\265\155\202\272\330\352\311\126\274\251 +\066\130\375\076\031\363\355\014\046\251\223\070\370\117\301\135 +\042\006\320\227\352\341\255\306\125\340\201\053\050\203\072\372 +\364\173\041\121\000\276\122\070\316\315\146\171\250\364\201\126 +\342\320\203\011\107\121\133\120\152\317\333\110\032\135\076\367 +\313\366\145\367\154\361\225\370\002\073\062\126\202\071\172\133 +\275\057\211\033\277\241\264\350\377\177\215\214\337\003\361\140 +\116\130\021\114\353\243\077\020\053\203\232\001\163\331\224\155 +\204\000\047\146\254\360\160\100\011\102\222\255\117\223\015\141 +\011\121\044\330\222\325\013\224\141\262\207\262\355\377\232\065 +\377\205\124\312\355\104\103\254\033\074\026\153\110\112\012\034 +\100\210\037\222\302\013\000\005\377\362\310\002\112\244\252\251 +\314\231\226\234\057\130\340\175\341\276\273\007\334\137\004\162 +\134\061\064\303\354\137\055\340\075\144\220\042\346\321\354\270 +\056\335\131\256\331\241\067\277\124\065\334\163\062\117\214\004 +\036\063\262\311\106\361\330\134\310\125\120\311\150\275\250\272 +\066\011\002\003\001\000\001\243\143\060\141\060\017\006\003\125 +\035\023\001\001\377\004\005\060\003\001\001\377\060\035\006\003 +\125\035\016\004\026\004\024\166\363\125\341\372\244\066\373\360 +\237\134\142\161\355\074\364\107\070\020\053\060\037\006\003\125 +\035\043\004\030\060\026\200\024\166\363\125\341\372\244\066\373 +\360\237\134\142\161\355\074\364\107\070\020\053\060\016\006\003 +\125\035\017\001\001\377\004\004\003\002\001\206\060\015\006\011 +\052\206\110\206\367\015\001\001\005\005\000\003\202\002\001\000 +\146\301\306\043\363\331\340\056\156\137\350\317\256\260\260\045 +\115\053\370\073\130\233\100\044\067\132\313\253\026\111\377\263 +\165\171\063\241\057\155\160\027\064\221\376\147\176\217\354\233 +\345\136\202\251\125\037\057\334\324\121\007\022\376\254\026\076 +\054\065\306\143\374\334\020\353\015\243\252\320\174\314\321\320 +\057\121\056\304\024\132\336\350\031\341\076\306\314\244\051\347 +\056\204\252\006\060\170\166\124\163\050\230\131\070\340\000\015 +\142\323\102\175\041\237\256\075\072\214\325\372\167\015\030\053 +\026\016\137\066\341\374\052\265\060\044\317\340\143\014\173\130 +\032\376\231\272\102\022\261\221\364\174\150\342\310\350\257\054 +\352\311\176\256\273\052\075\015\025\334\064\225\266\030\164\250 +\152\017\307\264\364\023\304\344\133\355\012\322\244\227\114\052 +\355\057\154\022\211\075\361\047\160\252\152\003\122\041\237\100 +\250\147\120\362\363\132\037\337\337\043\366\334\170\116\346\230 +\117\125\072\123\343\357\362\364\237\307\174\330\130\257\051\042 +\227\270\340\275\221\056\260\166\354\127\021\317\357\051\104\363 +\351\205\172\140\143\344\135\063\211\027\331\061\252\332\326\363 +\030\065\162\317\207\053\057\143\043\204\135\204\214\077\127\240 +\210\374\231\221\050\046\151\231\324\217\227\104\276\216\325\110 +\261\244\050\051\361\025\264\341\345\236\335\370\217\246\157\046 +\327\011\074\072\034\021\016\246\154\067\367\255\104\207\054\050 +\307\330\164\202\263\320\157\112\127\273\065\051\047\240\213\350 +\041\247\207\144\066\135\314\330\026\254\307\262\047\100\222\125 +\070\050\215\121\156\335\024\147\123\154\161\134\046\204\115\165 +\132\266\176\140\126\251\115\255\373\233\036\227\363\015\331\322 +\227\124\167\332\075\022\267\340\036\357\010\006\254\371\205\207 +\351\242\334\257\176\030\022\203\375\126\027\101\056\325\051\202 +\175\231\364\061\366\161\251\317\054\001\047\245\005\271\252\262 +\110\116\052\357\237\223\122\121\225\074\122\163\216\126\114\027 +\100\300\011\050\344\213\152\110\123\333\354\315\125\125\361\306 +\370\351\242\054\114\246\321\046\137\176\257\132\114\332\037\246 +\362\034\054\176\256\002\026\322\126\320\057\127\123\107\350\222 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "GeoTrust Universal CA 2" +# Issuer: CN=GeoTrust Universal CA 2,O=GeoTrust Inc.,C=US +# Serial Number: 1 (0x1) +# Subject: CN=GeoTrust Universal CA 2,O=GeoTrust Inc.,C=US +# Not Valid Before: Thu Mar 04 05:00:00 2004 +# Not Valid After : Sun Mar 04 05:00:00 2029 +# Fingerprint (MD5): 34:FC:B8:D0:36:DB:9E:14:B3:C2:F2:DB:8F:E4:94:C7 +# Fingerprint (SHA1): 37:9A:19:7B:41:85:45:35:0C:A6:03:69:F3:3C:2E:AF:47:4F:20:79 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "GeoTrust Universal CA 2" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\067\232\031\173\101\205\105\065\014\246\003\151\363\074\056\257 +\107\117\040\171 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\064\374\270\320\066\333\236\024\263\302\362\333\217\344\224\307 +END +CKA_ISSUER MULTILINE_OCTAL +\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165 +\163\164\040\111\156\143\056\061\040\060\036\006\003\125\004\003 +\023\027\107\145\157\124\162\165\163\164\040\125\156\151\166\145 +\162\163\141\154\040\103\101\040\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Certum Root CA" +# +# Issuer: CN=Certum CA,O=Unizeto Sp. z o.o.,C=PL +# Serial Number: 65568 (0x10020) +# Subject: CN=Certum CA,O=Unizeto Sp. z o.o.,C=PL +# Not Valid Before: Tue Jun 11 10:46:39 2002 +# Not Valid After : Fri Jun 11 10:46:39 2027 +# Fingerprint (MD5): 2C:8F:9F:66:1D:18:90:B1:47:26:9D:8E:86:82:8C:A9 +# Fingerprint (SHA1): 62:52:DC:40:F7:11:43:A2:2F:DE:9E:F7:34:8E:06:42:51:B1:81:18 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Certum Root CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\076\061\013\060\011\006\003\125\004\006\023\002\120\114\061 +\033\060\031\006\003\125\004\012\023\022\125\156\151\172\145\164 +\157\040\123\160\056\040\172\040\157\056\157\056\061\022\060\020 +\006\003\125\004\003\023\011\103\145\162\164\165\155\040\103\101 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\076\061\013\060\011\006\003\125\004\006\023\002\120\114\061 +\033\060\031\006\003\125\004\012\023\022\125\156\151\172\145\164 +\157\040\123\160\056\040\172\040\157\056\157\056\061\022\060\020 +\006\003\125\004\003\023\011\103\145\162\164\165\155\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\003\001\000\040 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\014\060\202\001\364\240\003\002\001\002\002\003\001 +\000\040\060\015\006\011\052\206\110\206\367\015\001\001\005\005 +\000\060\076\061\013\060\011\006\003\125\004\006\023\002\120\114 +\061\033\060\031\006\003\125\004\012\023\022\125\156\151\172\145 +\164\157\040\123\160\056\040\172\040\157\056\157\056\061\022\060 +\020\006\003\125\004\003\023\011\103\145\162\164\165\155\040\103 +\101\060\036\027\015\060\062\060\066\061\061\061\060\064\066\063 +\071\132\027\015\062\067\060\066\061\061\061\060\064\066\063\071 +\132\060\076\061\013\060\011\006\003\125\004\006\023\002\120\114 +\061\033\060\031\006\003\125\004\012\023\022\125\156\151\172\145 +\164\157\040\123\160\056\040\172\040\157\056\157\056\061\022\060 +\020\006\003\125\004\003\023\011\103\145\162\164\165\155\040\103 +\101\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001 +\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001 +\001\000\316\261\301\056\323\117\174\315\045\316\030\076\117\304 +\214\157\200\152\163\310\133\121\370\233\322\334\273\000\134\261 +\240\374\165\003\356\201\360\210\356\043\122\351\346\025\063\215 +\254\055\011\305\166\371\053\071\200\211\344\227\113\220\245\250 +\170\370\163\103\173\244\141\260\330\130\314\341\154\146\176\234 +\363\011\136\125\143\204\325\250\357\363\261\056\060\150\263\304 +\074\330\254\156\215\231\132\220\116\064\334\066\232\217\201\210 +\120\267\155\226\102\011\363\327\225\203\015\101\113\260\152\153 +\370\374\017\176\142\237\147\304\355\046\137\020\046\017\010\117 +\360\244\127\050\316\217\270\355\105\366\156\356\045\135\252\156 +\071\276\344\223\057\331\107\240\162\353\372\246\133\257\312\123 +\077\342\016\306\226\126\021\156\367\351\146\251\046\330\177\225 +\123\355\012\205\210\272\117\051\245\102\214\136\266\374\205\040 +\000\252\150\013\241\032\205\001\234\304\106\143\202\210\266\042 +\261\356\376\252\106\131\176\317\065\054\325\266\332\135\367\110 +\063\024\124\266\353\331\157\316\315\210\326\253\033\332\226\073 +\035\131\002\003\001\000\001\243\023\060\021\060\017\006\003\125 +\035\023\001\001\377\004\005\060\003\001\001\377\060\015\006\011 +\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000 +\270\215\316\357\347\024\272\317\356\260\104\222\154\264\071\076 +\242\204\156\255\270\041\167\322\324\167\202\207\346\040\101\201 +\356\342\370\021\267\143\321\027\067\276\031\166\044\034\004\032 +\114\353\075\252\147\157\055\324\315\376\145\061\160\305\033\246 +\002\012\272\140\173\155\130\302\232\111\376\143\062\013\153\343 +\072\300\254\253\073\260\350\323\011\121\214\020\203\306\064\340 +\305\053\340\032\266\140\024\047\154\062\167\214\274\262\162\230 +\317\315\314\077\271\310\044\102\024\326\127\374\346\046\103\251 +\035\345\200\220\316\003\124\050\076\367\077\323\370\115\355\152 +\012\072\223\023\233\073\024\043\023\143\234\077\321\207\047\171 +\345\114\121\343\001\255\205\135\032\073\261\325\163\020\244\323 +\362\274\156\144\365\132\126\220\250\307\016\114\164\017\056\161 +\073\367\310\107\364\151\157\025\362\021\136\203\036\234\174\122 +\256\375\002\332\022\250\131\147\030\333\274\160\335\233\261\151 +\355\200\316\211\100\110\152\016\065\312\051\146\025\041\224\054 +\350\140\052\233\205\112\100\363\153\212\044\354\006\026\054\163 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "Certum Root CA" +# Issuer: CN=Certum CA,O=Unizeto Sp. z o.o.,C=PL +# Serial Number: 65568 (0x10020) +# Subject: CN=Certum CA,O=Unizeto Sp. z o.o.,C=PL +# Not Valid Before: Tue Jun 11 10:46:39 2002 +# Not Valid After : Fri Jun 11 10:46:39 2027 +# Fingerprint (MD5): 2C:8F:9F:66:1D:18:90:B1:47:26:9D:8E:86:82:8C:A9 +# Fingerprint (SHA1): 62:52:DC:40:F7:11:43:A2:2F:DE:9E:F7:34:8E:06:42:51:B1:81:18 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Certum Root CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\142\122\334\100\367\021\103\242\057\336\236\367\064\216\006\102 +\121\261\201\030 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\054\217\237\146\035\030\220\261\107\046\235\216\206\202\214\251 +END +CKA_ISSUER MULTILINE_OCTAL +\060\076\061\013\060\011\006\003\125\004\006\023\002\120\114\061 +\033\060\031\006\003\125\004\012\023\022\125\156\151\172\145\164 +\157\040\123\160\056\040\172\040\157\056\157\056\061\022\060\020 +\006\003\125\004\003\023\011\103\145\162\164\165\155\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\003\001\000\040 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Comodo AAA Services root" +# +# Issuer: CN=AAA Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB +# Serial Number: 1 (0x1) +# Subject: CN=AAA Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB +# Not Valid Before: Thu Jan 01 00:00:00 2004 +# Not Valid After : Sun Dec 31 23:59:59 2028 +# Fingerprint (MD5): 49:79:04:B0:EB:87:19:AC:47:B0:BC:11:51:9B:74:D0 +# Fingerprint (SHA1): D1:EB:23:A4:6D:17:D6:8F:D9:25:64:C2:F1:F1:60:17:64:D8:E3:49 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Comodo AAA Services root" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\173\061\013\060\011\006\003\125\004\006\023\002\107\102\061 +\033\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145 +\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016 +\006\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032 +\060\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040 +\103\101\040\114\151\155\151\164\145\144\061\041\060\037\006\003 +\125\004\003\014\030\101\101\101\040\103\145\162\164\151\146\151 +\143\141\164\145\040\123\145\162\166\151\143\145\163 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\173\061\013\060\011\006\003\125\004\006\023\002\107\102\061 +\033\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145 +\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016 +\006\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032 +\060\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040 +\103\101\040\114\151\155\151\164\145\144\061\041\060\037\006\003 +\125\004\003\014\030\101\101\101\040\103\145\162\164\151\146\151 +\143\141\164\145\040\123\145\162\166\151\143\145\163 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\062\060\202\003\032\240\003\002\001\002\002\001\001 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\173\061\013\060\011\006\003\125\004\006\023\002\107\102\061\033 +\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145\162 +\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016\006 +\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032\060 +\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040\103 +\101\040\114\151\155\151\164\145\144\061\041\060\037\006\003\125 +\004\003\014\030\101\101\101\040\103\145\162\164\151\146\151\143 +\141\164\145\040\123\145\162\166\151\143\145\163\060\036\027\015 +\060\064\060\061\060\061\060\060\060\060\060\060\132\027\015\062 +\070\061\062\063\061\062\063\065\071\065\071\132\060\173\061\013 +\060\011\006\003\125\004\006\023\002\107\102\061\033\060\031\006 +\003\125\004\010\014\022\107\162\145\141\164\145\162\040\115\141 +\156\143\150\145\163\164\145\162\061\020\060\016\006\003\125\004 +\007\014\007\123\141\154\146\157\162\144\061\032\060\030\006\003 +\125\004\012\014\021\103\157\155\157\144\157\040\103\101\040\114 +\151\155\151\164\145\144\061\041\060\037\006\003\125\004\003\014 +\030\101\101\101\040\103\145\162\164\151\146\151\143\141\164\145 +\040\123\145\162\166\151\143\145\163\060\202\001\042\060\015\006 +\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017 +\000\060\202\001\012\002\202\001\001\000\276\100\235\364\156\341 +\352\166\207\034\115\105\104\216\276\106\310\203\006\235\301\052 +\376\030\037\216\344\002\372\363\253\135\120\212\026\061\013\232 +\006\320\305\160\042\315\111\055\124\143\314\266\156\150\106\013 +\123\352\313\114\044\300\274\162\116\352\361\025\256\364\124\232 +\022\012\303\172\262\063\140\342\332\211\125\363\042\130\363\336 +\334\317\357\203\206\242\214\224\117\237\150\362\230\220\106\204 +\047\307\166\277\343\314\065\054\213\136\007\144\145\202\300\110 +\260\250\221\371\141\237\166\040\120\250\221\307\146\265\353\170 +\142\003\126\360\212\032\023\352\061\243\036\240\231\375\070\366 +\366\047\062\130\157\007\365\153\270\373\024\053\257\267\252\314 +\326\143\137\163\214\332\005\231\250\070\250\313\027\170\066\121 +\254\351\236\364\170\072\215\317\017\331\102\342\230\014\253\057 +\237\016\001\336\357\237\231\111\361\055\337\254\164\115\033\230 +\265\107\305\345\051\321\371\220\030\307\142\234\276\203\307\046 +\173\076\212\045\307\300\335\235\346\065\150\020\040\235\217\330 +\336\322\303\204\234\015\136\350\057\311\002\003\001\000\001\243 +\201\300\060\201\275\060\035\006\003\125\035\016\004\026\004\024 +\240\021\012\043\076\226\361\007\354\342\257\051\357\202\245\177 +\320\060\244\264\060\016\006\003\125\035\017\001\001\377\004\004 +\003\002\001\006\060\017\006\003\125\035\023\001\001\377\004\005 +\060\003\001\001\377\060\173\006\003\125\035\037\004\164\060\162 +\060\070\240\066\240\064\206\062\150\164\164\160\072\057\057\143 +\162\154\056\143\157\155\157\144\157\143\141\056\143\157\155\057 +\101\101\101\103\145\162\164\151\146\151\143\141\164\145\123\145 +\162\166\151\143\145\163\056\143\162\154\060\066\240\064\240\062 +\206\060\150\164\164\160\072\057\057\143\162\154\056\143\157\155 +\157\144\157\056\156\145\164\057\101\101\101\103\145\162\164\151 +\146\151\143\141\164\145\123\145\162\166\151\143\145\163\056\143 +\162\154\060\015\006\011\052\206\110\206\367\015\001\001\005\005 +\000\003\202\001\001\000\010\126\374\002\360\233\350\377\244\372 +\326\173\306\104\200\316\117\304\305\366\000\130\314\246\266\274 +\024\111\150\004\166\350\346\356\135\354\002\017\140\326\215\120 +\030\117\046\116\001\343\346\260\245\356\277\274\164\124\101\277 +\375\374\022\270\307\117\132\364\211\140\005\177\140\267\005\112 +\363\366\361\302\277\304\271\164\206\266\055\175\153\314\322\363 +\106\335\057\306\340\152\303\303\064\003\054\175\226\335\132\302 +\016\247\012\231\301\005\213\253\014\057\363\134\072\317\154\067 +\125\011\207\336\123\100\154\130\357\374\266\253\145\156\004\366 +\033\334\074\340\132\025\306\236\331\361\131\110\060\041\145\003 +\154\354\351\041\163\354\233\003\241\340\067\255\240\025\030\217 +\372\272\002\316\247\054\251\020\023\054\324\345\010\046\253\042 +\227\140\370\220\136\164\324\242\232\123\275\362\251\150\340\242 +\156\302\327\154\261\243\017\236\277\353\150\347\126\362\256\362 +\343\053\070\072\011\201\265\153\205\327\276\055\355\077\032\267 +\262\143\342\365\142\054\202\324\152\000\101\120\361\071\203\237 +\225\351\066\226\230\156 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "Comodo AAA Services root" +# Issuer: CN=AAA Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB +# Serial Number: 1 (0x1) +# Subject: CN=AAA Certificate Services,O=Comodo CA Limited,L=Salford,ST=Greater Manchester,C=GB +# Not Valid Before: Thu Jan 01 00:00:00 2004 +# Not Valid After : Sun Dec 31 23:59:59 2028 +# Fingerprint (MD5): 49:79:04:B0:EB:87:19:AC:47:B0:BC:11:51:9B:74:D0 +# Fingerprint (SHA1): D1:EB:23:A4:6D:17:D6:8F:D9:25:64:C2:F1:F1:60:17:64:D8:E3:49 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Comodo AAA Services root" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\321\353\043\244\155\027\326\217\331\045\144\302\361\361\140\027 +\144\330\343\111 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\111\171\004\260\353\207\031\254\107\260\274\021\121\233\164\320 +END +CKA_ISSUER MULTILINE_OCTAL +\060\173\061\013\060\011\006\003\125\004\006\023\002\107\102\061 +\033\060\031\006\003\125\004\010\014\022\107\162\145\141\164\145 +\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016 +\006\003\125\004\007\014\007\123\141\154\146\157\162\144\061\032 +\060\030\006\003\125\004\012\014\021\103\157\155\157\144\157\040 +\103\101\040\114\151\155\151\164\145\144\061\041\060\037\006\003 +\125\004\003\014\030\101\101\101\040\103\145\162\164\151\146\151 +\143\141\164\145\040\123\145\162\166\151\143\145\163 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "QuoVadis Root CA" +# +# Issuer: CN=QuoVadis Root Certification Authority,OU=Root Certification Authority,O=QuoVadis Limited,C=BM +# Serial Number: 985026699 (0x3ab6508b) +# Subject: CN=QuoVadis Root Certification Authority,OU=Root Certification Authority,O=QuoVadis Limited,C=BM +# Not Valid Before: Mon Mar 19 18:33:33 2001 +# Not Valid After : Wed Mar 17 18:33:33 2021 +# Fingerprint (MD5): 27:DE:36:FE:72:B7:00:03:00:9D:F4:F0:1E:6C:04:24 +# Fingerprint (SHA1): DE:3F:40:BD:50:93:D3:9B:6C:60:F6:DA:BC:07:62:01:00:89:76:C9 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "QuoVadis Root CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\177\061\013\060\011\006\003\125\004\006\023\002\102\115\061 +\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 +\151\163\040\114\151\155\151\164\145\144\061\045\060\043\006\003 +\125\004\013\023\034\122\157\157\164\040\103\145\162\164\151\146 +\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 +\171\061\056\060\054\006\003\125\004\003\023\045\121\165\157\126 +\141\144\151\163\040\122\157\157\164\040\103\145\162\164\151\146 +\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 +\171 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\177\061\013\060\011\006\003\125\004\006\023\002\102\115\061 +\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 +\151\163\040\114\151\155\151\164\145\144\061\045\060\043\006\003 +\125\004\013\023\034\122\157\157\164\040\103\145\162\164\151\146 +\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 +\171\061\056\060\054\006\003\125\004\003\023\045\121\165\157\126 +\141\144\151\163\040\122\157\157\164\040\103\145\162\164\151\146 +\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 +\171 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\072\266\120\213 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\320\060\202\004\270\240\003\002\001\002\002\004\072 +\266\120\213\060\015\006\011\052\206\110\206\367\015\001\001\005 +\005\000\060\177\061\013\060\011\006\003\125\004\006\023\002\102 +\115\061\031\060\027\006\003\125\004\012\023\020\121\165\157\126 +\141\144\151\163\040\114\151\155\151\164\145\144\061\045\060\043 +\006\003\125\004\013\023\034\122\157\157\164\040\103\145\162\164 +\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162 +\151\164\171\061\056\060\054\006\003\125\004\003\023\045\121\165 +\157\126\141\144\151\163\040\122\157\157\164\040\103\145\162\164 +\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162 +\151\164\171\060\036\027\015\060\061\060\063\061\071\061\070\063 +\063\063\063\132\027\015\062\061\060\063\061\067\061\070\063\063 +\063\063\132\060\177\061\013\060\011\006\003\125\004\006\023\002 +\102\115\061\031\060\027\006\003\125\004\012\023\020\121\165\157 +\126\141\144\151\163\040\114\151\155\151\164\145\144\061\045\060 +\043\006\003\125\004\013\023\034\122\157\157\164\040\103\145\162 +\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157 +\162\151\164\171\061\056\060\054\006\003\125\004\003\023\045\121 +\165\157\126\141\144\151\163\040\122\157\157\164\040\103\145\162 +\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157 +\162\151\164\171\060\202\001\042\060\015\006\011\052\206\110\206 +\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012 +\002\202\001\001\000\277\141\265\225\123\272\127\374\372\362\147 +\013\072\032\337\021\200\144\225\264\321\274\315\172\317\366\051 +\226\056\044\124\100\044\070\367\032\205\334\130\114\313\244\047 +\102\227\320\237\203\212\303\344\006\003\133\000\245\121\036\160 +\004\164\342\301\324\072\253\327\255\073\007\030\005\216\375\203 +\254\352\146\331\030\033\150\212\365\127\032\230\272\365\355\166 +\075\174\331\336\224\152\073\113\027\301\325\217\275\145\070\072 +\225\320\075\125\066\116\337\171\127\061\052\036\330\131\145\111 +\130\040\230\176\253\137\176\237\351\326\115\354\203\164\251\307 +\154\330\356\051\112\205\052\006\024\371\124\346\323\332\145\007 +\213\143\067\022\327\320\354\303\173\040\101\104\243\355\313\240 +\027\341\161\145\316\035\146\061\367\166\001\031\310\175\003\130 +\266\225\111\035\246\022\046\350\306\014\166\340\343\146\313\352 +\135\246\046\356\345\314\137\275\147\247\001\047\016\242\312\124 +\305\261\172\225\035\161\036\112\051\212\003\334\152\105\301\244 +\031\136\157\066\315\303\242\260\267\376\134\070\342\122\274\370 +\104\103\346\220\273\002\003\001\000\001\243\202\002\122\060\202 +\002\116\060\075\006\010\053\006\001\005\005\007\001\001\004\061 +\060\057\060\055\006\010\053\006\001\005\005\007\060\001\206\041 +\150\164\164\160\163\072\057\057\157\143\163\160\056\161\165\157 +\166\141\144\151\163\157\146\146\163\150\157\162\145\056\143\157 +\155\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001 +\001\377\060\202\001\032\006\003\125\035\040\004\202\001\021\060 +\202\001\015\060\202\001\011\006\011\053\006\001\004\001\276\130 +\000\001\060\201\373\060\201\324\006\010\053\006\001\005\005\007 +\002\002\060\201\307\032\201\304\122\145\154\151\141\156\143\145 +\040\157\156\040\164\150\145\040\121\165\157\126\141\144\151\163 +\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164 +\145\040\142\171\040\141\156\171\040\160\141\162\164\171\040\141 +\163\163\165\155\145\163\040\141\143\143\145\160\164\141\156\143 +\145\040\157\146\040\164\150\145\040\164\150\145\156\040\141\160 +\160\154\151\143\141\142\154\145\040\163\164\141\156\144\141\162 +\144\040\164\145\162\155\163\040\141\156\144\040\143\157\156\144 +\151\164\151\157\156\163\040\157\146\040\165\163\145\054\040\143 +\145\162\164\151\146\151\143\141\164\151\157\156\040\160\162\141 +\143\164\151\143\145\163\054\040\141\156\144\040\164\150\145\040 +\121\165\157\126\141\144\151\163\040\103\145\162\164\151\146\151 +\143\141\164\145\040\120\157\154\151\143\171\056\060\042\006\010 +\053\006\001\005\005\007\002\001\026\026\150\164\164\160\072\057 +\057\167\167\167\056\161\165\157\166\141\144\151\163\056\142\155 +\060\035\006\003\125\035\016\004\026\004\024\213\113\155\355\323 +\051\271\006\031\354\071\071\251\360\227\204\152\313\357\337\060 +\201\256\006\003\125\035\043\004\201\246\060\201\243\200\024\213 +\113\155\355\323\051\271\006\031\354\071\071\251\360\227\204\152 +\313\357\337\241\201\204\244\201\201\060\177\061\013\060\011\006 +\003\125\004\006\023\002\102\115\061\031\060\027\006\003\125\004 +\012\023\020\121\165\157\126\141\144\151\163\040\114\151\155\151 +\164\145\144\061\045\060\043\006\003\125\004\013\023\034\122\157 +\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156 +\040\101\165\164\150\157\162\151\164\171\061\056\060\054\006\003 +\125\004\003\023\045\121\165\157\126\141\144\151\163\040\122\157 +\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156 +\040\101\165\164\150\157\162\151\164\171\202\004\072\266\120\213 +\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003 +\202\001\001\000\212\324\024\265\376\364\232\222\247\031\324\244 +\176\162\030\217\331\150\174\122\044\335\147\157\071\172\304\252 +\136\075\342\130\260\115\160\230\204\141\350\033\343\151\030\016 +\316\373\107\120\240\116\377\360\044\037\275\262\316\365\047\374 +\354\057\123\252\163\173\003\075\164\156\346\026\236\353\245\056 +\304\277\126\047\120\053\142\272\276\113\034\074\125\134\101\035 +\044\276\202\040\107\135\325\104\176\172\026\150\337\175\115\121 +\160\170\127\035\063\036\375\002\231\234\014\315\012\005\117\307 +\273\216\244\165\372\112\155\261\200\216\011\126\271\234\032\140 +\376\135\301\327\172\334\021\170\320\326\135\301\267\325\255\062 +\231\003\072\212\314\124\045\071\061\201\173\023\042\121\272\106 +\154\241\273\236\372\004\154\111\046\164\217\322\163\353\314\060 +\242\346\352\131\042\207\370\227\365\016\375\352\314\222\244\026 +\304\122\030\352\041\316\261\361\346\204\201\345\272\251\206\050 +\362\103\132\135\022\235\254\036\331\250\345\012\152\247\177\240 +\207\051\317\362\211\115\324\354\305\342\346\172\320\066\043\212 +\112\164\066\371 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "QuoVadis Root CA" +# Issuer: CN=QuoVadis Root Certification Authority,OU=Root Certification Authority,O=QuoVadis Limited,C=BM +# Serial Number: 985026699 (0x3ab6508b) +# Subject: CN=QuoVadis Root Certification Authority,OU=Root Certification Authority,O=QuoVadis Limited,C=BM +# Not Valid Before: Mon Mar 19 18:33:33 2001 +# Not Valid After : Wed Mar 17 18:33:33 2021 +# Fingerprint (MD5): 27:DE:36:FE:72:B7:00:03:00:9D:F4:F0:1E:6C:04:24 +# Fingerprint (SHA1): DE:3F:40:BD:50:93:D3:9B:6C:60:F6:DA:BC:07:62:01:00:89:76:C9 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "QuoVadis Root CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\336\077\100\275\120\223\323\233\154\140\366\332\274\007\142\001 +\000\211\166\311 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\047\336\066\376\162\267\000\003\000\235\364\360\036\154\004\044 +END +CKA_ISSUER MULTILINE_OCTAL +\060\177\061\013\060\011\006\003\125\004\006\023\002\102\115\061 +\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 +\151\163\040\114\151\155\151\164\145\144\061\045\060\043\006\003 +\125\004\013\023\034\122\157\157\164\040\103\145\162\164\151\146 +\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 +\171\061\056\060\054\006\003\125\004\003\023\045\121\165\157\126 +\141\144\151\163\040\122\157\157\164\040\103\145\162\164\151\146 +\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 +\171 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\072\266\120\213 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "QuoVadis Root CA 2" +# +# Issuer: CN=QuoVadis Root CA 2,O=QuoVadis Limited,C=BM +# Serial Number: 1289 (0x509) +# Subject: CN=QuoVadis Root CA 2,O=QuoVadis Limited,C=BM +# Not Valid Before: Fri Nov 24 18:27:00 2006 +# Not Valid After : Mon Nov 24 18:23:33 2031 +# Fingerprint (MD5): 5E:39:7B:DD:F8:BA:EC:82:E9:AC:62:BA:0C:54:00:2B +# Fingerprint (SHA1): CA:3A:FB:CF:12:40:36:4B:44:B2:16:20:88:80:48:39:19:93:7C:F7 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "QuoVadis Root CA 2" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\105\061\013\060\011\006\003\125\004\006\023\002\102\115\061 +\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 +\151\163\040\114\151\155\151\164\145\144\061\033\060\031\006\003 +\125\004\003\023\022\121\165\157\126\141\144\151\163\040\122\157 +\157\164\040\103\101\040\062 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\105\061\013\060\011\006\003\125\004\006\023\002\102\115\061 +\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 +\151\163\040\114\151\155\151\164\145\144\061\033\060\031\006\003 +\125\004\003\023\022\121\165\157\126\141\144\151\163\040\122\157 +\157\164\040\103\101\040\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\002\005\011 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\267\060\202\003\237\240\003\002\001\002\002\002\005 +\011\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000 +\060\105\061\013\060\011\006\003\125\004\006\023\002\102\115\061 +\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 +\151\163\040\114\151\155\151\164\145\144\061\033\060\031\006\003 +\125\004\003\023\022\121\165\157\126\141\144\151\163\040\122\157 +\157\164\040\103\101\040\062\060\036\027\015\060\066\061\061\062 +\064\061\070\062\067\060\060\132\027\015\063\061\061\061\062\064 +\061\070\062\063\063\063\132\060\105\061\013\060\011\006\003\125 +\004\006\023\002\102\115\061\031\060\027\006\003\125\004\012\023 +\020\121\165\157\126\141\144\151\163\040\114\151\155\151\164\145 +\144\061\033\060\031\006\003\125\004\003\023\022\121\165\157\126 +\141\144\151\163\040\122\157\157\164\040\103\101\040\062\060\202 +\002\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005 +\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000\232 +\030\312\113\224\015\000\055\257\003\051\212\360\017\201\310\256 +\114\031\205\035\010\237\253\051\104\205\363\057\201\255\062\036 +\220\106\277\243\206\046\032\036\376\176\034\030\072\134\234\140 +\027\052\072\164\203\063\060\175\141\124\021\313\355\253\340\346 +\322\242\176\365\153\157\030\267\012\013\055\375\351\076\357\012 +\306\263\020\351\334\302\106\027\370\135\375\244\332\377\236\111 +\132\234\346\063\346\044\226\367\077\272\133\053\034\172\065\302 +\326\147\376\253\146\120\213\155\050\140\053\357\327\140\303\307 +\223\274\215\066\221\363\177\370\333\021\023\304\234\167\166\301 +\256\267\002\152\201\172\251\105\203\342\005\346\271\126\301\224 +\067\217\110\161\143\042\354\027\145\007\225\212\113\337\217\306 +\132\012\345\260\343\137\136\153\021\253\014\371\205\353\104\351 +\370\004\163\362\351\376\134\230\214\365\163\257\153\264\176\315 +\324\134\002\053\114\071\341\262\225\225\055\102\207\327\325\263 +\220\103\267\154\023\361\336\335\366\304\370\211\077\321\165\365 +\222\303\221\325\212\210\320\220\354\334\155\336\211\302\145\161 +\226\213\015\003\375\234\277\133\026\254\222\333\352\376\171\174 +\255\353\257\367\026\313\333\315\045\053\345\037\373\232\237\342 +\121\314\072\123\014\110\346\016\275\311\264\166\006\122\346\021 +\023\205\162\143\003\004\340\004\066\053\040\031\002\350\164\247 +\037\266\311\126\146\360\165\045\334\147\301\016\141\140\210\263 +\076\321\250\374\243\332\035\260\321\261\043\124\337\104\166\155 +\355\101\330\301\262\042\266\123\034\337\065\035\334\241\167\052 +\061\344\055\365\345\345\333\310\340\377\345\200\327\013\143\240 +\377\063\241\017\272\054\025\025\352\227\263\322\242\265\276\362 +\214\226\036\032\217\035\154\244\141\067\271\206\163\063\327\227 +\226\236\043\175\202\244\114\201\342\241\321\272\147\137\225\007 +\243\047\021\356\026\020\173\274\105\112\114\262\004\322\253\357 +\325\375\014\121\316\120\152\010\061\371\221\332\014\217\144\134 +\003\303\072\213\040\077\156\215\147\075\072\326\376\175\133\210 +\311\136\373\314\141\334\213\063\167\323\104\062\065\011\142\004 +\222\026\020\330\236\047\107\373\073\041\343\370\353\035\133\002 +\003\001\000\001\243\201\260\060\201\255\060\017\006\003\125\035 +\023\001\001\377\004\005\060\003\001\001\377\060\013\006\003\125 +\035\017\004\004\003\002\001\006\060\035\006\003\125\035\016\004 +\026\004\024\032\204\142\274\110\114\063\045\004\324\356\320\366 +\003\304\031\106\321\224\153\060\156\006\003\125\035\043\004\147 +\060\145\200\024\032\204\142\274\110\114\063\045\004\324\356\320 +\366\003\304\031\106\321\224\153\241\111\244\107\060\105\061\013 +\060\011\006\003\125\004\006\023\002\102\115\061\031\060\027\006 +\003\125\004\012\023\020\121\165\157\126\141\144\151\163\040\114 +\151\155\151\164\145\144\061\033\060\031\006\003\125\004\003\023 +\022\121\165\157\126\141\144\151\163\040\122\157\157\164\040\103 +\101\040\062\202\002\005\011\060\015\006\011\052\206\110\206\367 +\015\001\001\005\005\000\003\202\002\001\000\076\012\026\115\237 +\006\133\250\256\161\135\057\005\057\147\346\023\105\203\304\066 +\366\363\300\046\014\015\265\107\144\135\370\264\162\311\106\245 +\003\030\047\125\211\170\175\166\352\226\064\200\027\040\334\347 +\203\370\215\374\007\270\332\137\115\056\147\262\204\375\331\104 +\374\167\120\201\346\174\264\311\015\013\162\123\370\166\007\007 +\101\107\226\014\373\340\202\046\223\125\214\376\042\037\140\145 +\174\137\347\046\263\367\062\220\230\120\324\067\161\125\366\222 +\041\170\367\225\171\372\370\055\046\207\146\126\060\167\246\067 +\170\063\122\020\130\256\077\141\216\362\152\261\357\030\176\112 +\131\143\312\215\242\126\325\247\057\274\126\037\317\071\301\342 +\373\012\250\025\054\175\115\172\143\306\154\227\104\074\322\157 +\303\112\027\012\370\220\322\127\242\031\121\245\055\227\101\332 +\007\117\251\120\332\220\215\224\106\341\076\360\224\375\020\000 +\070\365\073\350\100\341\264\156\126\032\040\314\157\130\215\355 +\056\105\217\326\351\223\077\347\261\054\337\072\326\042\214\334 +\204\273\042\157\320\370\344\306\071\351\004\210\074\303\272\353 +\125\172\155\200\231\044\365\154\001\373\370\227\260\224\133\353 +\375\322\157\361\167\150\015\065\144\043\254\270\125\241\003\321 +\115\102\031\334\370\165\131\126\243\371\250\111\171\370\257\016 +\271\021\240\174\267\152\355\064\320\266\046\142\070\032\207\014 +\370\350\375\056\323\220\177\007\221\052\035\326\176\134\205\203 +\231\260\070\010\077\351\136\371\065\007\344\311\142\156\127\177 +\247\120\225\367\272\310\233\346\216\242\001\305\326\146\277\171 +\141\363\074\034\341\271\202\134\135\240\303\351\330\110\275\031 +\242\021\024\031\156\262\206\033\150\076\110\067\032\210\267\135 +\226\136\234\307\357\047\142\010\342\221\031\134\322\361\041\335 +\272\027\102\202\227\161\201\123\061\251\237\366\175\142\277\162 +\341\243\223\035\314\212\046\132\011\070\320\316\327\015\200\026 +\264\170\245\072\207\114\215\212\245\325\106\227\362\054\020\271 +\274\124\042\300\001\120\151\103\236\364\262\357\155\370\354\332 +\361\343\261\357\337\221\217\124\052\013\045\301\046\031\304\122 +\020\005\145\325\202\020\352\302\061\315\056 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "QuoVadis Root CA 2" +# Issuer: CN=QuoVadis Root CA 2,O=QuoVadis Limited,C=BM +# Serial Number: 1289 (0x509) +# Subject: CN=QuoVadis Root CA 2,O=QuoVadis Limited,C=BM +# Not Valid Before: Fri Nov 24 18:27:00 2006 +# Not Valid After : Mon Nov 24 18:23:33 2031 +# Fingerprint (MD5): 5E:39:7B:DD:F8:BA:EC:82:E9:AC:62:BA:0C:54:00:2B +# Fingerprint (SHA1): CA:3A:FB:CF:12:40:36:4B:44:B2:16:20:88:80:48:39:19:93:7C:F7 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "QuoVadis Root CA 2" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\312\072\373\317\022\100\066\113\104\262\026\040\210\200\110\071 +\031\223\174\367 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\136\071\173\335\370\272\354\202\351\254\142\272\014\124\000\053 +END +CKA_ISSUER MULTILINE_OCTAL +\060\105\061\013\060\011\006\003\125\004\006\023\002\102\115\061 +\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 +\151\163\040\114\151\155\151\164\145\144\061\033\060\031\006\003 +\125\004\003\023\022\121\165\157\126\141\144\151\163\040\122\157 +\157\164\040\103\101\040\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\002\005\011 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "QuoVadis Root CA 3" +# +# Issuer: CN=QuoVadis Root CA 3,O=QuoVadis Limited,C=BM +# Serial Number: 1478 (0x5c6) +# Subject: CN=QuoVadis Root CA 3,O=QuoVadis Limited,C=BM +# Not Valid Before: Fri Nov 24 19:11:23 2006 +# Not Valid After : Mon Nov 24 19:06:44 2031 +# Fingerprint (MD5): 31:85:3C:62:94:97:63:B9:AA:FD:89:4E:AF:6F:E0:CF +# Fingerprint (SHA1): 1F:49:14:F7:D8:74:95:1D:DD:AE:02:C0:BE:FD:3A:2D:82:75:51:85 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "QuoVadis Root CA 3" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\105\061\013\060\011\006\003\125\004\006\023\002\102\115\061 +\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 +\151\163\040\114\151\155\151\164\145\144\061\033\060\031\006\003 +\125\004\003\023\022\121\165\157\126\141\144\151\163\040\122\157 +\157\164\040\103\101\040\063 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\105\061\013\060\011\006\003\125\004\006\023\002\102\115\061 +\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 +\151\163\040\114\151\155\151\164\145\144\061\033\060\031\006\003 +\125\004\003\023\022\121\165\157\126\141\144\151\163\040\122\157 +\157\164\040\103\101\040\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\002\005\306 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\006\235\060\202\004\205\240\003\002\001\002\002\002\005 +\306\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000 +\060\105\061\013\060\011\006\003\125\004\006\023\002\102\115\061 +\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 +\151\163\040\114\151\155\151\164\145\144\061\033\060\031\006\003 +\125\004\003\023\022\121\165\157\126\141\144\151\163\040\122\157 +\157\164\040\103\101\040\063\060\036\027\015\060\066\061\061\062 +\064\061\071\061\061\062\063\132\027\015\063\061\061\061\062\064 +\061\071\060\066\064\064\132\060\105\061\013\060\011\006\003\125 +\004\006\023\002\102\115\061\031\060\027\006\003\125\004\012\023 +\020\121\165\157\126\141\144\151\163\040\114\151\155\151\164\145 +\144\061\033\060\031\006\003\125\004\003\023\022\121\165\157\126 +\141\144\151\163\040\122\157\157\164\040\103\101\040\063\060\202 +\002\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005 +\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000\314 +\127\102\026\124\234\346\230\323\323\115\356\376\355\307\237\103 +\071\112\145\263\350\026\210\064\333\015\131\221\164\317\222\270 +\004\100\255\002\113\061\253\274\215\221\150\330\040\016\032\001 +\342\032\173\116\027\135\342\212\267\077\231\032\315\353\141\253 +\302\145\246\037\267\267\275\267\217\374\375\160\217\013\240\147 +\276\001\242\131\317\161\346\017\051\166\377\261\126\171\105\053 +\037\236\172\124\350\243\051\065\150\244\001\117\017\244\056\067 +\357\033\277\343\217\020\250\162\253\130\127\347\124\206\310\311 +\363\133\332\054\332\135\216\156\074\243\076\332\373\202\345\335 +\362\134\262\005\063\157\212\066\316\320\023\116\377\277\112\014 +\064\114\246\303\041\275\120\004\125\353\261\273\235\373\105\036 +\144\025\336\125\001\214\002\166\265\313\241\077\102\151\274\057 +\275\150\103\026\126\211\052\067\141\221\375\246\256\116\300\313 +\024\145\224\067\113\222\006\357\004\320\310\234\210\333\013\173 +\201\257\261\075\052\304\145\072\170\266\356\334\200\261\322\323 +\231\234\072\356\153\132\153\263\215\267\325\316\234\302\276\245 +\113\057\026\261\236\150\073\006\157\256\175\237\370\336\354\314 +\051\247\230\243\045\103\057\357\361\137\046\341\210\115\370\136 +\156\327\331\024\156\031\063\151\247\073\204\211\223\304\123\125 +\023\241\121\170\100\370\270\311\242\356\173\272\122\102\203\236 +\024\355\005\122\132\131\126\247\227\374\235\077\012\051\330\334 +\117\221\016\023\274\336\225\244\337\213\231\276\254\233\063\210 +\357\265\201\257\033\306\042\123\310\366\307\356\227\024\260\305 +\174\170\122\310\360\316\156\167\140\204\246\351\052\166\040\355 +\130\001\027\060\223\351\032\213\340\163\143\331\152\222\224\111 +\116\264\255\112\205\304\243\042\060\374\011\355\150\042\163\246 +\210\014\125\041\130\305\341\072\237\052\335\312\341\220\340\331 +\163\253\154\200\270\350\013\144\223\240\234\214\031\377\263\322 +\014\354\221\046\207\212\263\242\341\160\217\054\012\345\315\155 +\150\121\353\332\077\005\177\213\062\346\023\134\153\376\137\100 +\342\042\310\264\264\144\117\326\272\175\110\076\250\151\014\327 +\273\206\161\311\163\270\077\073\235\045\113\332\377\100\353\002 +\003\001\000\001\243\202\001\225\060\202\001\221\060\017\006\003 +\125\035\023\001\001\377\004\005\060\003\001\001\377\060\201\341 +\006\003\125\035\040\004\201\331\060\201\326\060\201\323\006\011 +\053\006\001\004\001\276\130\000\003\060\201\305\060\201\223\006 +\010\053\006\001\005\005\007\002\002\060\201\206\032\201\203\101 +\156\171\040\165\163\145\040\157\146\040\164\150\151\163\040\103 +\145\162\164\151\146\151\143\141\164\145\040\143\157\156\163\164 +\151\164\165\164\145\163\040\141\143\143\145\160\164\141\156\143 +\145\040\157\146\040\164\150\145\040\121\165\157\126\141\144\151 +\163\040\122\157\157\164\040\103\101\040\063\040\103\145\162\164 +\151\146\151\143\141\164\145\040\120\157\154\151\143\171\040\057 +\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\120 +\162\141\143\164\151\143\145\040\123\164\141\164\145\155\145\156 +\164\056\060\055\006\010\053\006\001\005\005\007\002\001\026\041 +\150\164\164\160\072\057\057\167\167\167\056\161\165\157\166\141 +\144\151\163\147\154\157\142\141\154\056\143\157\155\057\143\160 +\163\060\013\006\003\125\035\017\004\004\003\002\001\006\060\035 +\006\003\125\035\016\004\026\004\024\362\300\023\340\202\103\076 +\373\356\057\147\062\226\065\134\333\270\313\002\320\060\156\006 +\003\125\035\043\004\147\060\145\200\024\362\300\023\340\202\103 +\076\373\356\057\147\062\226\065\134\333\270\313\002\320\241\111 +\244\107\060\105\061\013\060\011\006\003\125\004\006\023\002\102 +\115\061\031\060\027\006\003\125\004\012\023\020\121\165\157\126 +\141\144\151\163\040\114\151\155\151\164\145\144\061\033\060\031 +\006\003\125\004\003\023\022\121\165\157\126\141\144\151\163\040 +\122\157\157\164\040\103\101\040\063\202\002\005\306\060\015\006 +\011\052\206\110\206\367\015\001\001\005\005\000\003\202\002\001 +\000\117\255\240\054\114\372\300\362\157\367\146\125\253\043\064 +\356\347\051\332\303\133\266\260\203\331\320\320\342\041\373\363 +\140\247\073\135\140\123\047\242\233\366\010\042\052\347\277\240 +\162\345\234\044\152\061\261\220\172\047\333\204\021\211\047\246 +\167\132\070\327\277\254\206\374\356\135\203\274\006\306\321\167 +\153\017\155\044\057\113\172\154\247\007\226\312\343\204\237\255 +\210\213\035\253\026\215\133\146\027\331\026\364\213\200\322\335 +\370\262\166\303\374\070\023\252\014\336\102\151\053\156\363\074 +\353\200\047\333\365\246\104\015\237\132\125\131\013\325\015\122 +\110\305\256\237\362\057\200\305\352\062\120\065\022\227\056\301 +\341\377\361\043\210\121\070\237\362\146\126\166\347\017\121\227 +\245\122\014\115\111\121\225\066\075\277\242\113\014\020\035\206 +\231\114\252\363\162\021\223\344\352\366\233\332\250\135\247\115 +\267\236\002\256\163\000\310\332\043\003\350\371\352\031\164\142 +\000\224\313\042\040\276\224\247\131\265\202\152\276\231\171\172 +\251\362\112\044\122\367\164\375\272\116\346\250\035\002\156\261 +\015\200\104\301\256\323\043\067\137\273\205\174\053\222\056\350 +\176\245\213\335\231\341\277\047\157\055\135\252\173\207\376\012 +\335\113\374\216\365\046\344\156\160\102\156\063\354\061\236\173 +\223\301\344\311\151\032\075\300\153\116\042\155\356\253\130\115 +\306\320\101\301\053\352\117\022\207\136\353\105\330\154\365\230 +\002\323\240\330\125\212\006\231\031\242\240\167\321\060\236\254 +\314\165\356\203\365\260\142\071\317\154\127\342\114\322\221\013 +\016\165\050\033\232\277\375\032\103\361\312\167\373\073\217\141 +\270\151\050\026\102\004\136\160\052\034\041\330\217\341\275\043 +\133\055\164\100\222\331\143\031\015\163\335\151\274\142\107\274 +\340\164\053\262\353\175\276\101\033\265\300\106\305\241\042\313 +\137\116\301\050\222\336\030\272\325\052\050\273\021\213\027\223 +\230\231\140\224\134\043\317\132\047\227\136\013\005\006\223\067 +\036\073\151\066\353\251\236\141\035\217\062\332\216\014\326\164 +\076\173\011\044\332\001\167\107\304\073\315\064\214\231\365\312 +\341\045\141\063\262\131\033\342\156\327\067\127\266\015\251\022 +\332 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "QuoVadis Root CA 3" +# Issuer: CN=QuoVadis Root CA 3,O=QuoVadis Limited,C=BM +# Serial Number: 1478 (0x5c6) +# Subject: CN=QuoVadis Root CA 3,O=QuoVadis Limited,C=BM +# Not Valid Before: Fri Nov 24 19:11:23 2006 +# Not Valid After : Mon Nov 24 19:06:44 2031 +# Fingerprint (MD5): 31:85:3C:62:94:97:63:B9:AA:FD:89:4E:AF:6F:E0:CF +# Fingerprint (SHA1): 1F:49:14:F7:D8:74:95:1D:DD:AE:02:C0:BE:FD:3A:2D:82:75:51:85 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "QuoVadis Root CA 3" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\037\111\024\367\330\164\225\035\335\256\002\300\276\375\072\055 +\202\165\121\205 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\061\205\074\142\224\227\143\271\252\375\211\116\257\157\340\317 +END +CKA_ISSUER MULTILINE_OCTAL +\060\105\061\013\060\011\006\003\125\004\006\023\002\102\115\061 +\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 +\151\163\040\114\151\155\151\164\145\144\061\033\060\031\006\003 +\125\004\003\023\022\121\165\157\126\141\144\151\163\040\122\157 +\157\164\040\103\101\040\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\002\005\306 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Security Communication Root CA" +# +# Issuer: OU=Security Communication RootCA1,O=SECOM Trust.net,C=JP +# Serial Number: 0 (0x0) +# Subject: OU=Security Communication RootCA1,O=SECOM Trust.net,C=JP +# Not Valid Before: Tue Sep 30 04:20:49 2003 +# Not Valid After : Sat Sep 30 04:20:49 2023 +# Fingerprint (MD5): F1:BC:63:6A:54:E0:B5:27:F5:CD:E7:1A:E3:4D:6E:4A +# Fingerprint (SHA1): 36:B1:2B:49:F9:81:9E:D7:4C:9E:BC:38:0F:C6:56:8F:5D:AC:B2:F7 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Security Communication Root CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\120\061\013\060\011\006\003\125\004\006\023\002\112\120\061 +\030\060\026\006\003\125\004\012\023\017\123\105\103\117\115\040 +\124\162\165\163\164\056\156\145\164\061\047\060\045\006\003\125 +\004\013\023\036\123\145\143\165\162\151\164\171\040\103\157\155 +\155\165\156\151\143\141\164\151\157\156\040\122\157\157\164\103 +\101\061 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\120\061\013\060\011\006\003\125\004\006\023\002\112\120\061 +\030\060\026\006\003\125\004\012\023\017\123\105\103\117\115\040 +\124\162\165\163\164\056\156\145\164\061\047\060\045\006\003\125 +\004\013\023\036\123\145\143\165\162\151\164\171\040\103\157\155 +\155\165\156\151\143\141\164\151\157\156\040\122\157\157\164\103 +\101\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\000 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\132\060\202\002\102\240\003\002\001\002\002\001\000 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\120\061\013\060\011\006\003\125\004\006\023\002\112\120\061\030 +\060\026\006\003\125\004\012\023\017\123\105\103\117\115\040\124 +\162\165\163\164\056\156\145\164\061\047\060\045\006\003\125\004 +\013\023\036\123\145\143\165\162\151\164\171\040\103\157\155\155 +\165\156\151\143\141\164\151\157\156\040\122\157\157\164\103\101 +\061\060\036\027\015\060\063\060\071\063\060\060\064\062\060\064 +\071\132\027\015\062\063\060\071\063\060\060\064\062\060\064\071 +\132\060\120\061\013\060\011\006\003\125\004\006\023\002\112\120 +\061\030\060\026\006\003\125\004\012\023\017\123\105\103\117\115 +\040\124\162\165\163\164\056\156\145\164\061\047\060\045\006\003 +\125\004\013\023\036\123\145\143\165\162\151\164\171\040\103\157 +\155\155\165\156\151\143\141\164\151\157\156\040\122\157\157\164 +\103\101\061\060\202\001\042\060\015\006\011\052\206\110\206\367 +\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002 +\202\001\001\000\263\263\376\177\323\155\261\357\026\174\127\245 +\014\155\166\212\057\113\277\144\373\114\356\212\360\363\051\174 +\365\377\356\052\340\351\351\272\133\144\042\232\232\157\054\072 +\046\151\121\005\231\046\334\325\034\152\161\306\232\175\036\235 +\335\174\154\306\214\147\147\112\076\370\161\260\031\047\251\011 +\014\246\225\277\113\214\014\372\125\230\073\330\350\042\241\113 +\161\070\171\254\227\222\151\263\211\176\352\041\150\006\230\024 +\226\207\322\141\066\274\155\047\126\236\127\356\300\300\126\375 +\062\317\244\331\216\302\043\327\215\250\363\330\045\254\227\344 +\160\070\364\266\072\264\235\073\227\046\103\243\241\274\111\131 +\162\114\043\060\207\001\130\366\116\276\034\150\126\146\257\315 +\101\135\310\263\115\052\125\106\253\037\332\036\342\100\075\333 +\315\175\271\222\200\234\067\335\014\226\144\235\334\042\367\144 +\213\337\141\336\025\224\122\025\240\175\122\311\113\250\041\311 +\306\261\355\313\303\225\140\321\017\360\253\160\370\337\313\115 +\176\354\326\372\253\331\275\177\124\362\245\351\171\372\331\326 +\166\044\050\163\002\003\001\000\001\243\077\060\075\060\035\006 +\003\125\035\016\004\026\004\024\240\163\111\231\150\334\205\133 +\145\343\233\050\057\127\237\275\063\274\007\110\060\013\006\003 +\125\035\017\004\004\003\002\001\006\060\017\006\003\125\035\023 +\001\001\377\004\005\060\003\001\001\377\060\015\006\011\052\206 +\110\206\367\015\001\001\005\005\000\003\202\001\001\000\150\100 +\251\250\273\344\117\135\171\263\005\265\027\263\140\023\353\306 +\222\135\340\321\323\152\376\373\276\233\155\277\307\005\155\131 +\040\304\034\360\267\332\204\130\002\143\372\110\026\357\117\245 +\013\367\112\230\362\077\236\033\255\107\153\143\316\010\107\353 +\122\077\170\234\257\115\256\370\325\117\317\232\230\052\020\101 +\071\122\304\335\331\233\016\357\223\001\256\262\056\312\150\102 +\044\102\154\260\263\072\076\315\351\332\110\304\025\313\351\371 +\007\017\222\120\111\212\335\061\227\137\311\351\067\252\073\131 +\145\227\224\062\311\263\237\076\072\142\130\305\111\255\142\016 +\161\245\062\252\057\306\211\166\103\100\023\023\147\075\242\124 +\045\020\313\361\072\362\331\372\333\111\126\273\246\376\247\101 +\065\303\340\210\141\311\210\307\337\066\020\042\230\131\352\260 +\112\373\126\026\163\156\254\115\367\042\241\117\255\035\172\055 +\105\047\345\060\301\136\362\332\023\313\045\102\121\225\107\003 +\214\154\041\314\164\102\355\123\377\063\213\217\017\127\001\026 +\057\317\246\356\311\160\042\024\275\375\276\154\013\003 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "Security Communication Root CA" +# Issuer: OU=Security Communication RootCA1,O=SECOM Trust.net,C=JP +# Serial Number: 0 (0x0) +# Subject: OU=Security Communication RootCA1,O=SECOM Trust.net,C=JP +# Not Valid Before: Tue Sep 30 04:20:49 2003 +# Not Valid After : Sat Sep 30 04:20:49 2023 +# Fingerprint (MD5): F1:BC:63:6A:54:E0:B5:27:F5:CD:E7:1A:E3:4D:6E:4A +# Fingerprint (SHA1): 36:B1:2B:49:F9:81:9E:D7:4C:9E:BC:38:0F:C6:56:8F:5D:AC:B2:F7 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Security Communication Root CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\066\261\053\111\371\201\236\327\114\236\274\070\017\306\126\217 +\135\254\262\367 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\361\274\143\152\124\340\265\047\365\315\347\032\343\115\156\112 +END +CKA_ISSUER MULTILINE_OCTAL +\060\120\061\013\060\011\006\003\125\004\006\023\002\112\120\061 +\030\060\026\006\003\125\004\012\023\017\123\105\103\117\115\040 +\124\162\165\163\164\056\156\145\164\061\047\060\045\006\003\125 +\004\013\023\036\123\145\143\165\162\151\164\171\040\103\157\155 +\155\165\156\151\143\141\164\151\157\156\040\122\157\157\164\103 +\101\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\000 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Sonera Class 2 Root CA" +# +# Issuer: CN=Sonera Class2 CA,O=Sonera,C=FI +# Serial Number: 29 (0x1d) +# Subject: CN=Sonera Class2 CA,O=Sonera,C=FI +# Not Valid Before: Fri Apr 06 07:29:40 2001 +# Not Valid After : Tue Apr 06 07:29:40 2021 +# Fingerprint (MD5): A3:EC:75:0F:2E:88:DF:FA:48:01:4E:0B:5C:48:6F:FB +# Fingerprint (SHA1): 37:F7:6D:E6:07:7C:90:C5:B1:3E:93:1A:B7:41:10:B4:F2:E4:9A:27 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Sonera Class 2 Root CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\071\061\013\060\011\006\003\125\004\006\023\002\106\111\061 +\017\060\015\006\003\125\004\012\023\006\123\157\156\145\162\141 +\061\031\060\027\006\003\125\004\003\023\020\123\157\156\145\162 +\141\040\103\154\141\163\163\062\040\103\101 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\071\061\013\060\011\006\003\125\004\006\023\002\106\111\061 +\017\060\015\006\003\125\004\012\023\006\123\157\156\145\162\141 +\061\031\060\027\006\003\125\004\003\023\020\123\157\156\145\162 +\141\040\103\154\141\163\163\062\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\035 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\040\060\202\002\010\240\003\002\001\002\002\001\035 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\071\061\013\060\011\006\003\125\004\006\023\002\106\111\061\017 +\060\015\006\003\125\004\012\023\006\123\157\156\145\162\141\061 +\031\060\027\006\003\125\004\003\023\020\123\157\156\145\162\141 +\040\103\154\141\163\163\062\040\103\101\060\036\027\015\060\061 +\060\064\060\066\060\067\062\071\064\060\132\027\015\062\061\060 +\064\060\066\060\067\062\071\064\060\132\060\071\061\013\060\011 +\006\003\125\004\006\023\002\106\111\061\017\060\015\006\003\125 +\004\012\023\006\123\157\156\145\162\141\061\031\060\027\006\003 +\125\004\003\023\020\123\157\156\145\162\141\040\103\154\141\163 +\163\062\040\103\101\060\202\001\042\060\015\006\011\052\206\110 +\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001 +\012\002\202\001\001\000\220\027\112\065\235\312\360\015\226\307 +\104\372\026\067\374\110\275\275\177\200\055\065\073\341\157\250 +\147\251\277\003\034\115\214\157\062\107\325\101\150\244\023\004 +\301\065\014\232\204\103\374\134\035\377\211\263\350\027\030\315 +\221\137\373\211\343\352\277\116\135\174\033\046\323\165\171\355 +\346\204\343\127\345\255\051\304\364\072\050\347\245\173\204\066 +\151\263\375\136\166\275\243\055\231\323\220\116\043\050\175\030 +\143\361\124\073\046\235\166\133\227\102\262\377\256\360\116\354 +\335\071\225\116\203\006\177\347\111\100\310\305\001\262\124\132 +\146\035\075\374\371\351\074\012\236\201\270\160\360\001\213\344 +\043\124\174\310\256\370\220\036\000\226\162\324\124\317\141\043 +\274\352\373\235\002\225\321\266\271\161\072\151\010\077\017\264 +\341\102\307\210\365\077\230\250\247\272\034\340\161\161\357\130 +\127\201\120\172\134\153\164\106\016\203\003\230\303\216\250\156 +\362\166\062\156\047\203\302\163\363\334\030\350\264\223\352\165 +\104\153\004\140\040\161\127\207\235\363\276\240\220\043\075\212 +\044\341\332\041\333\303\002\003\001\000\001\243\063\060\061\060 +\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377 +\060\021\006\003\125\035\016\004\012\004\010\112\240\252\130\204 +\323\136\074\060\013\006\003\125\035\017\004\004\003\002\001\006 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003 +\202\001\001\000\132\316\207\371\026\162\025\127\113\035\331\233 +\347\242\046\060\354\223\147\337\326\055\322\064\257\367\070\245 +\316\253\026\271\253\057\174\065\313\254\320\017\264\114\053\374 +\200\357\153\214\221\137\066\166\367\333\263\033\031\352\364\262 +\021\375\141\161\104\277\050\263\072\035\277\263\103\350\237\277 +\334\061\010\161\260\235\215\326\064\107\062\220\306\145\044\367 +\240\112\174\004\163\217\071\157\027\214\162\265\275\113\310\172 +\370\173\203\303\050\116\234\011\352\147\077\262\147\004\033\303 +\024\332\370\347\111\044\221\320\035\152\372\141\071\357\153\347 +\041\165\006\007\330\022\264\041\040\160\102\161\201\332\074\232 +\066\276\246\133\015\152\154\232\037\221\173\371\371\357\102\272 +\116\116\236\314\014\215\224\334\331\105\234\136\354\102\120\143 +\256\364\135\304\261\022\334\312\073\250\056\235\024\132\005\165 +\267\354\327\143\342\272\065\266\004\010\221\350\332\235\234\366 +\146\265\030\254\012\246\124\046\064\063\322\033\301\324\177\032 +\072\216\013\252\062\156\333\374\117\045\237\331\062\307\226\132 +\160\254\337\114 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "Sonera Class 2 Root CA" +# Issuer: CN=Sonera Class2 CA,O=Sonera,C=FI +# Serial Number: 29 (0x1d) +# Subject: CN=Sonera Class2 CA,O=Sonera,C=FI +# Not Valid Before: Fri Apr 06 07:29:40 2001 +# Not Valid After : Tue Apr 06 07:29:40 2021 +# Fingerprint (MD5): A3:EC:75:0F:2E:88:DF:FA:48:01:4E:0B:5C:48:6F:FB +# Fingerprint (SHA1): 37:F7:6D:E6:07:7C:90:C5:B1:3E:93:1A:B7:41:10:B4:F2:E4:9A:27 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Sonera Class 2 Root CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\067\367\155\346\007\174\220\305\261\076\223\032\267\101\020\264 +\362\344\232\047 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\243\354\165\017\056\210\337\372\110\001\116\013\134\110\157\373 +END +CKA_ISSUER MULTILINE_OCTAL +\060\071\061\013\060\011\006\003\125\004\006\023\002\106\111\061 +\017\060\015\006\003\125\004\012\023\006\123\157\156\145\162\141 +\061\031\060\027\006\003\125\004\003\023\020\123\157\156\145\162 +\141\040\103\154\141\163\163\062\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\035 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Camerfirma Chambers of Commerce Root" +# +# Issuer: CN=Chambers of Commerce Root,OU=http://www.chambersign.org,O=AC Camerfirma SA CIF A82743287,C=EU +# Serial Number: 0 (0x0) +# Subject: CN=Chambers of Commerce Root,OU=http://www.chambersign.org,O=AC Camerfirma SA CIF A82743287,C=EU +# Not Valid Before: Tue Sep 30 16:13:43 2003 +# Not Valid After : Wed Sep 30 16:13:44 2037 +# Fingerprint (MD5): B0:01:EE:14:D9:AF:29:18:94:76:8E:F1:69:33:2A:84 +# Fingerprint (SHA1): 6E:3A:55:A4:19:0C:19:5C:93:84:3C:C0:DB:72:2E:31:30:61:F0:B1 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Camerfirma Chambers of Commerce Root" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\177\061\013\060\011\006\003\125\004\006\023\002\105\125\061 +\047\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155 +\145\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101 +\070\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004 +\013\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150 +\141\155\142\145\162\163\151\147\156\056\157\162\147\061\042\060 +\040\006\003\125\004\003\023\031\103\150\141\155\142\145\162\163 +\040\157\146\040\103\157\155\155\145\162\143\145\040\122\157\157 +\164 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\177\061\013\060\011\006\003\125\004\006\023\002\105\125\061 +\047\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155 +\145\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101 +\070\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004 +\013\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150 +\141\155\142\145\162\163\151\147\156\056\157\162\147\061\042\060 +\040\006\003\125\004\003\023\031\103\150\141\155\142\145\162\163 +\040\157\146\040\103\157\155\155\145\162\143\145\040\122\157\157 +\164 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\000 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\275\060\202\003\245\240\003\002\001\002\002\001\000 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\177\061\013\060\011\006\003\125\004\006\023\002\105\125\061\047 +\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155\145 +\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101\070 +\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004\013 +\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150\141 +\155\142\145\162\163\151\147\156\056\157\162\147\061\042\060\040 +\006\003\125\004\003\023\031\103\150\141\155\142\145\162\163\040 +\157\146\040\103\157\155\155\145\162\143\145\040\122\157\157\164 +\060\036\027\015\060\063\060\071\063\060\061\066\061\063\064\063 +\132\027\015\063\067\060\071\063\060\061\066\061\063\064\064\132 +\060\177\061\013\060\011\006\003\125\004\006\023\002\105\125\061 +\047\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155 +\145\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101 +\070\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004 +\013\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150 +\141\155\142\145\162\163\151\147\156\056\157\162\147\061\042\060 +\040\006\003\125\004\003\023\031\103\150\141\155\142\145\162\163 +\040\157\146\040\103\157\155\155\145\162\143\145\040\122\157\157 +\164\060\202\001\040\060\015\006\011\052\206\110\206\367\015\001 +\001\001\005\000\003\202\001\015\000\060\202\001\010\002\202\001 +\001\000\267\066\125\345\245\135\030\060\340\332\211\124\221\374 +\310\307\122\370\057\120\331\357\261\165\163\145\107\175\033\133 +\272\165\305\374\241\210\044\372\057\355\312\010\112\071\124\304 +\121\172\265\332\140\352\070\074\201\262\313\361\273\331\221\043 +\077\110\001\160\165\251\005\052\255\037\161\363\311\124\075\035 +\006\152\100\076\263\014\205\356\134\033\171\302\142\304\270\066 +\216\065\135\001\014\043\004\107\065\252\233\140\116\240\146\075 +\313\046\012\234\100\241\364\135\230\277\161\253\245\000\150\052 +\355\203\172\017\242\024\265\324\042\263\200\260\074\014\132\121 +\151\055\130\030\217\355\231\236\361\256\342\225\346\366\107\250 +\326\014\017\260\130\130\333\303\146\067\236\233\221\124\063\067 +\322\224\034\152\110\311\311\362\245\332\245\014\043\367\043\016 +\234\062\125\136\161\234\204\005\121\232\055\375\346\116\052\064 +\132\336\312\100\067\147\014\124\041\125\167\332\012\014\314\227 +\256\200\334\224\066\112\364\076\316\066\023\036\123\344\254\116 +\072\005\354\333\256\162\234\070\213\320\071\073\211\012\076\167 +\376\165\002\001\003\243\202\001\104\060\202\001\100\060\022\006 +\003\125\035\023\001\001\377\004\010\060\006\001\001\377\002\001 +\014\060\074\006\003\125\035\037\004\065\060\063\060\061\240\057 +\240\055\206\053\150\164\164\160\072\057\057\143\162\154\056\143 +\150\141\155\142\145\162\163\151\147\156\056\157\162\147\057\143 +\150\141\155\142\145\162\163\162\157\157\164\056\143\162\154\060 +\035\006\003\125\035\016\004\026\004\024\343\224\365\261\115\351 +\333\241\051\133\127\213\115\166\006\166\341\321\242\212\060\016 +\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060\021 +\006\011\140\206\110\001\206\370\102\001\001\004\004\003\002\000 +\007\060\047\006\003\125\035\021\004\040\060\036\201\034\143\150 +\141\155\142\145\162\163\162\157\157\164\100\143\150\141\155\142 +\145\162\163\151\147\156\056\157\162\147\060\047\006\003\125\035 +\022\004\040\060\036\201\034\143\150\141\155\142\145\162\163\162 +\157\157\164\100\143\150\141\155\142\145\162\163\151\147\156\056 +\157\162\147\060\130\006\003\125\035\040\004\121\060\117\060\115 +\006\013\053\006\001\004\001\201\207\056\012\003\001\060\076\060 +\074\006\010\053\006\001\005\005\007\002\001\026\060\150\164\164 +\160\072\057\057\143\160\163\056\143\150\141\155\142\145\162\163 +\151\147\156\056\157\162\147\057\143\160\163\057\143\150\141\155 +\142\145\162\163\162\157\157\164\056\150\164\155\154\060\015\006 +\011\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001 +\000\014\101\227\302\032\206\300\042\174\237\373\220\363\032\321 +\003\261\357\023\371\041\137\004\234\332\311\245\215\047\154\226 +\207\221\276\101\220\001\162\223\347\036\175\137\366\211\306\135 +\247\100\011\075\254\111\105\105\334\056\215\060\150\262\011\272 +\373\303\057\314\272\013\337\077\167\173\106\175\072\022\044\216 +\226\217\074\005\012\157\322\224\050\035\155\014\300\056\210\042 +\325\330\317\035\023\307\360\110\327\327\005\247\317\307\107\236 +\073\074\064\310\200\117\324\024\273\374\015\120\367\372\263\354 +\102\137\251\335\155\310\364\165\317\173\301\162\046\261\001\034 +\134\054\375\172\116\264\001\305\005\127\271\347\074\252\005\331 +\210\351\007\106\101\316\357\101\201\256\130\337\203\242\256\312 +\327\167\037\347\000\074\235\157\216\344\062\011\035\115\170\064 +\170\064\074\224\233\046\355\117\161\306\031\172\275\040\042\110 +\132\376\113\175\003\267\347\130\276\306\062\116\164\036\150\335 +\250\150\133\263\076\356\142\175\331\200\350\012\165\172\267\356 +\264\145\232\041\220\340\252\320\230\274\070\265\163\074\213\370 +\334 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "Camerfirma Chambers of Commerce Root" +# Issuer: CN=Chambers of Commerce Root,OU=http://www.chambersign.org,O=AC Camerfirma SA CIF A82743287,C=EU +# Serial Number: 0 (0x0) +# Subject: CN=Chambers of Commerce Root,OU=http://www.chambersign.org,O=AC Camerfirma SA CIF A82743287,C=EU +# Not Valid Before: Tue Sep 30 16:13:43 2003 +# Not Valid After : Wed Sep 30 16:13:44 2037 +# Fingerprint (MD5): B0:01:EE:14:D9:AF:29:18:94:76:8E:F1:69:33:2A:84 +# Fingerprint (SHA1): 6E:3A:55:A4:19:0C:19:5C:93:84:3C:C0:DB:72:2E:31:30:61:F0:B1 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Camerfirma Chambers of Commerce Root" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\156\072\125\244\031\014\031\134\223\204\074\300\333\162\056\061 +\060\141\360\261 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\260\001\356\024\331\257\051\030\224\166\216\361\151\063\052\204 +END +CKA_ISSUER MULTILINE_OCTAL +\060\177\061\013\060\011\006\003\125\004\006\023\002\105\125\061 +\047\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155 +\145\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101 +\070\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004 +\013\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150 +\141\155\142\145\162\163\151\147\156\056\157\162\147\061\042\060 +\040\006\003\125\004\003\023\031\103\150\141\155\142\145\162\163 +\040\157\146\040\103\157\155\155\145\162\143\145\040\122\157\157 +\164 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\000 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Camerfirma Global Chambersign Root" +# +# Issuer: CN=Global Chambersign Root,OU=http://www.chambersign.org,O=AC Camerfirma SA CIF A82743287,C=EU +# Serial Number: 0 (0x0) +# Subject: CN=Global Chambersign Root,OU=http://www.chambersign.org,O=AC Camerfirma SA CIF A82743287,C=EU +# Not Valid Before: Tue Sep 30 16:14:18 2003 +# Not Valid After : Wed Sep 30 16:14:18 2037 +# Fingerprint (MD5): C5:E6:7B:BF:06:D0:4F:43:ED:C4:7A:65:8A:FB:6B:19 +# Fingerprint (SHA1): 33:9B:6B:14:50:24:9B:55:7A:01:87:72:84:D9:E0:2F:C3:D2:D8:E9 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Camerfirma Global Chambersign Root" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\175\061\013\060\011\006\003\125\004\006\023\002\105\125\061 +\047\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155 +\145\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101 +\070\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004 +\013\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150 +\141\155\142\145\162\163\151\147\156\056\157\162\147\061\040\060 +\036\006\003\125\004\003\023\027\107\154\157\142\141\154\040\103 +\150\141\155\142\145\162\163\151\147\156\040\122\157\157\164 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\175\061\013\060\011\006\003\125\004\006\023\002\105\125\061 +\047\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155 +\145\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101 +\070\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004 +\013\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150 +\141\155\142\145\162\163\151\147\156\056\157\162\147\061\040\060 +\036\006\003\125\004\003\023\027\107\154\157\142\141\154\040\103 +\150\141\155\142\145\162\163\151\147\156\040\122\157\157\164 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\000 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\305\060\202\003\255\240\003\002\001\002\002\001\000 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\175\061\013\060\011\006\003\125\004\006\023\002\105\125\061\047 +\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155\145 +\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101\070 +\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004\013 +\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150\141 +\155\142\145\162\163\151\147\156\056\157\162\147\061\040\060\036 +\006\003\125\004\003\023\027\107\154\157\142\141\154\040\103\150 +\141\155\142\145\162\163\151\147\156\040\122\157\157\164\060\036 +\027\015\060\063\060\071\063\060\061\066\061\064\061\070\132\027 +\015\063\067\060\071\063\060\061\066\061\064\061\070\132\060\175 +\061\013\060\011\006\003\125\004\006\023\002\105\125\061\047\060 +\045\006\003\125\004\012\023\036\101\103\040\103\141\155\145\162 +\146\151\162\155\141\040\123\101\040\103\111\106\040\101\070\062 +\067\064\063\062\070\067\061\043\060\041\006\003\125\004\013\023 +\032\150\164\164\160\072\057\057\167\167\167\056\143\150\141\155 +\142\145\162\163\151\147\156\056\157\162\147\061\040\060\036\006 +\003\125\004\003\023\027\107\154\157\142\141\154\040\103\150\141 +\155\142\145\162\163\151\147\156\040\122\157\157\164\060\202\001 +\040\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000 +\003\202\001\015\000\060\202\001\010\002\202\001\001\000\242\160 +\242\320\237\102\256\133\027\307\330\175\317\024\203\374\117\311 +\241\267\023\257\212\327\236\076\004\012\222\213\140\126\372\264 +\062\057\210\115\241\140\010\364\267\011\116\240\111\057\111\326 +\323\337\235\227\132\237\224\004\160\354\077\131\331\267\314\146 +\213\230\122\050\011\002\337\305\057\204\215\172\227\167\277\354 +\100\235\045\162\253\265\077\062\230\373\267\267\374\162\204\345 +\065\207\371\125\372\243\037\016\157\056\050\335\151\240\331\102 +\020\306\370\265\104\302\320\103\177\333\274\344\242\074\152\125 +\170\012\167\251\330\352\031\062\267\057\376\134\077\033\356\261 +\230\354\312\255\172\151\105\343\226\017\125\366\346\355\165\352 +\145\350\062\126\223\106\211\250\045\212\145\006\356\153\277\171 +\007\320\361\267\257\355\054\115\222\273\300\250\137\247\147\175 +\004\362\025\010\160\254\222\326\175\004\322\063\373\114\266\013 +\013\373\032\311\304\215\003\251\176\134\362\120\253\022\245\241 +\317\110\120\245\357\322\310\032\023\372\260\177\261\202\034\167 +\152\017\137\334\013\225\217\357\103\176\346\105\011\045\002\001 +\003\243\202\001\120\060\202\001\114\060\022\006\003\125\035\023 +\001\001\377\004\010\060\006\001\001\377\002\001\014\060\077\006 +\003\125\035\037\004\070\060\066\060\064\240\062\240\060\206\056 +\150\164\164\160\072\057\057\143\162\154\056\143\150\141\155\142 +\145\162\163\151\147\156\056\157\162\147\057\143\150\141\155\142 +\145\162\163\151\147\156\162\157\157\164\056\143\162\154\060\035 +\006\003\125\035\016\004\026\004\024\103\234\066\237\260\236\060 +\115\306\316\137\255\020\253\345\003\245\372\251\024\060\016\006 +\003\125\035\017\001\001\377\004\004\003\002\001\006\060\021\006 +\011\140\206\110\001\206\370\102\001\001\004\004\003\002\000\007 +\060\052\006\003\125\035\021\004\043\060\041\201\037\143\150\141 +\155\142\145\162\163\151\147\156\162\157\157\164\100\143\150\141 +\155\142\145\162\163\151\147\156\056\157\162\147\060\052\006\003 +\125\035\022\004\043\060\041\201\037\143\150\141\155\142\145\162 +\163\151\147\156\162\157\157\164\100\143\150\141\155\142\145\162 +\163\151\147\156\056\157\162\147\060\133\006\003\125\035\040\004 +\124\060\122\060\120\006\013\053\006\001\004\001\201\207\056\012 +\001\001\060\101\060\077\006\010\053\006\001\005\005\007\002\001 +\026\063\150\164\164\160\072\057\057\143\160\163\056\143\150\141 +\155\142\145\162\163\151\147\156\056\157\162\147\057\143\160\163 +\057\143\150\141\155\142\145\162\163\151\147\156\162\157\157\164 +\056\150\164\155\154\060\015\006\011\052\206\110\206\367\015\001 +\001\005\005\000\003\202\001\001\000\074\073\160\221\371\004\124 +\047\221\341\355\355\376\150\177\141\135\345\101\145\117\062\361 +\030\005\224\152\034\336\037\160\333\076\173\062\002\064\265\014 +\154\241\212\174\245\364\217\377\324\330\255\027\325\055\004\321 +\077\130\200\342\201\131\210\276\300\343\106\223\044\376\220\275 +\046\242\060\055\350\227\046\127\065\211\164\226\030\366\025\342 +\257\044\031\126\002\002\262\272\017\024\352\306\212\146\301\206 +\105\125\213\276\222\276\234\244\004\307\111\074\236\350\051\172 +\211\327\376\257\377\150\365\245\027\220\275\254\231\314\245\206 +\127\011\147\106\333\326\026\302\106\361\344\251\120\365\217\321 +\222\025\323\137\076\306\000\111\072\156\130\262\321\321\047\015 +\045\310\062\370\040\021\315\175\062\063\110\224\124\114\335\334 +\171\304\060\237\353\216\270\125\265\327\210\134\305\152\044\075 +\262\323\005\003\121\306\007\357\314\024\162\164\075\156\162\316 +\030\050\214\112\240\167\345\011\053\105\104\107\254\267\147\177 +\001\212\005\132\223\276\241\301\377\370\347\016\147\244\107\111 +\166\135\165\220\032\365\046\217\360 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "Camerfirma Global Chambersign Root" +# Issuer: CN=Global Chambersign Root,OU=http://www.chambersign.org,O=AC Camerfirma SA CIF A82743287,C=EU +# Serial Number: 0 (0x0) +# Subject: CN=Global Chambersign Root,OU=http://www.chambersign.org,O=AC Camerfirma SA CIF A82743287,C=EU +# Not Valid Before: Tue Sep 30 16:14:18 2003 +# Not Valid After : Wed Sep 30 16:14:18 2037 +# Fingerprint (MD5): C5:E6:7B:BF:06:D0:4F:43:ED:C4:7A:65:8A:FB:6B:19 +# Fingerprint (SHA1): 33:9B:6B:14:50:24:9B:55:7A:01:87:72:84:D9:E0:2F:C3:D2:D8:E9 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Camerfirma Global Chambersign Root" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\063\233\153\024\120\044\233\125\172\001\207\162\204\331\340\057 +\303\322\330\351 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\305\346\173\277\006\320\117\103\355\304\172\145\212\373\153\031 +END +CKA_ISSUER MULTILINE_OCTAL +\060\175\061\013\060\011\006\003\125\004\006\023\002\105\125\061 +\047\060\045\006\003\125\004\012\023\036\101\103\040\103\141\155 +\145\162\146\151\162\155\141\040\123\101\040\103\111\106\040\101 +\070\062\067\064\063\062\070\067\061\043\060\041\006\003\125\004 +\013\023\032\150\164\164\160\072\057\057\167\167\167\056\143\150 +\141\155\142\145\162\163\151\147\156\056\157\162\147\061\040\060 +\036\006\003\125\004\003\023\027\107\154\157\142\141\154\040\103 +\150\141\155\142\145\162\163\151\147\156\040\122\157\157\164 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\000 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "XRamp Global CA Root" +# +# Issuer: CN=XRamp Global Certification Authority,O=XRamp Security Services Inc,OU=www.xrampsecurity.com,C=US +# Serial Number:50:94:6c:ec:18:ea:d5:9c:4d:d5:97:ef:75:8f:a0:ad +# Subject: CN=XRamp Global Certification Authority,O=XRamp Security Services Inc,OU=www.xrampsecurity.com,C=US +# Not Valid Before: Mon Nov 01 17:14:04 2004 +# Not Valid After : Mon Jan 01 05:37:19 2035 +# Fingerprint (MD5): A1:0B:44:B3:CA:10:D8:00:6E:9D:0F:D8:0F:92:0A:D1 +# Fingerprint (SHA1): B8:01:86:D1:EB:9C:86:A5:41:04:CF:30:54:F3:4C:52:B7:E5:58:C6 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "XRamp Global CA Root" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\202\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\036\060\034\006\003\125\004\013\023\025\167\167\167\056\170 +\162\141\155\160\163\145\143\165\162\151\164\171\056\143\157\155 +\061\044\060\042\006\003\125\004\012\023\033\130\122\141\155\160 +\040\123\145\143\165\162\151\164\171\040\123\145\162\166\151\143 +\145\163\040\111\156\143\061\055\060\053\006\003\125\004\003\023 +\044\130\122\141\155\160\040\107\154\157\142\141\154\040\103\145 +\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150 +\157\162\151\164\171 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\202\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\036\060\034\006\003\125\004\013\023\025\167\167\167\056\170 +\162\141\155\160\163\145\143\165\162\151\164\171\056\143\157\155 +\061\044\060\042\006\003\125\004\012\023\033\130\122\141\155\160 +\040\123\145\143\165\162\151\164\171\040\123\145\162\166\151\143 +\145\163\040\111\156\143\061\055\060\053\006\003\125\004\003\023 +\044\130\122\141\155\160\040\107\154\157\142\141\154\040\103\145 +\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150 +\157\162\151\164\171 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\120\224\154\354\030\352\325\234\115\325\227\357\165\217 +\240\255 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\060\060\202\003\030\240\003\002\001\002\002\020\120 +\224\154\354\030\352\325\234\115\325\227\357\165\217\240\255\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201 +\202\061\013\060\011\006\003\125\004\006\023\002\125\123\061\036 +\060\034\006\003\125\004\013\023\025\167\167\167\056\170\162\141 +\155\160\163\145\143\165\162\151\164\171\056\143\157\155\061\044 +\060\042\006\003\125\004\012\023\033\130\122\141\155\160\040\123 +\145\143\165\162\151\164\171\040\123\145\162\166\151\143\145\163 +\040\111\156\143\061\055\060\053\006\003\125\004\003\023\044\130 +\122\141\155\160\040\107\154\157\142\141\154\040\103\145\162\164 +\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162 +\151\164\171\060\036\027\015\060\064\061\061\060\061\061\067\061 +\064\060\064\132\027\015\063\065\060\061\060\061\060\065\063\067 +\061\071\132\060\201\202\061\013\060\011\006\003\125\004\006\023 +\002\125\123\061\036\060\034\006\003\125\004\013\023\025\167\167 +\167\056\170\162\141\155\160\163\145\143\165\162\151\164\171\056 +\143\157\155\061\044\060\042\006\003\125\004\012\023\033\130\122 +\141\155\160\040\123\145\143\165\162\151\164\171\040\123\145\162 +\166\151\143\145\163\040\111\156\143\061\055\060\053\006\003\125 +\004\003\023\044\130\122\141\155\160\040\107\154\157\142\141\154 +\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 +\165\164\150\157\162\151\164\171\060\202\001\042\060\015\006\011 +\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017\000 +\060\202\001\012\002\202\001\001\000\230\044\036\275\025\264\272 +\337\307\214\245\047\266\070\013\151\363\266\116\250\054\056\041 +\035\134\104\337\041\135\176\043\164\376\136\176\264\112\267\246 +\255\037\256\340\006\026\342\233\133\331\147\164\153\135\200\217 +\051\235\206\033\331\234\015\230\155\166\020\050\130\344\145\260 +\177\112\230\171\237\340\303\061\176\200\053\265\214\300\100\073 +\021\206\320\313\242\206\066\140\244\325\060\202\155\331\156\320 +\017\022\004\063\227\137\117\141\132\360\344\371\221\253\347\035 +\073\274\350\317\364\153\055\064\174\342\110\141\034\216\363\141 +\104\314\157\240\112\251\224\260\115\332\347\251\064\172\162\070 +\250\101\314\074\224\021\175\353\310\246\214\267\206\313\312\063 +\073\331\075\067\213\373\172\076\206\054\347\163\327\012\127\254 +\144\233\031\353\364\017\004\010\212\254\003\027\031\144\364\132 +\045\042\215\064\054\262\366\150\035\022\155\323\212\036\024\332 +\304\217\246\342\043\205\325\172\015\275\152\340\351\354\354\027 +\273\102\033\147\252\045\355\105\203\041\374\301\311\174\325\142 +\076\372\362\305\055\323\375\324\145\002\003\001\000\001\243\201 +\237\060\201\234\060\023\006\011\053\006\001\004\001\202\067\024 +\002\004\006\036\004\000\103\000\101\060\013\006\003\125\035\017 +\004\004\003\002\001\206\060\017\006\003\125\035\023\001\001\377 +\004\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026 +\004\024\306\117\242\075\006\143\204\011\234\316\142\344\004\254 +\215\134\265\351\266\033\060\066\006\003\125\035\037\004\057\060 +\055\060\053\240\051\240\047\206\045\150\164\164\160\072\057\057 +\143\162\154\056\170\162\141\155\160\163\145\143\165\162\151\164 +\171\056\143\157\155\057\130\107\103\101\056\143\162\154\060\020 +\006\011\053\006\001\004\001\202\067\025\001\004\003\002\001\001 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003 +\202\001\001\000\221\025\071\003\001\033\147\373\112\034\371\012 +\140\133\241\332\115\227\142\371\044\123\047\327\202\144\116\220 +\056\303\111\033\053\232\334\374\250\170\147\065\361\035\360\021 +\275\267\110\343\020\366\015\337\077\322\311\266\252\125\244\110 +\272\002\333\336\131\056\025\133\073\235\026\175\107\327\067\352 +\137\115\166\022\066\273\037\327\241\201\004\106\040\243\054\155 +\251\236\001\176\077\051\316\000\223\337\375\311\222\163\211\211 +\144\236\347\053\344\034\221\054\322\271\316\175\316\157\061\231 +\323\346\276\322\036\220\360\011\024\171\134\043\253\115\322\332 +\041\037\115\231\171\235\341\317\047\237\020\233\034\210\015\260 +\212\144\101\061\270\016\154\220\044\244\233\134\161\217\272\273 +\176\034\033\333\152\200\017\041\274\351\333\246\267\100\364\262 +\213\251\261\344\357\232\032\320\075\151\231\356\250\050\243\341 +\074\263\360\262\021\234\317\174\100\346\335\347\103\175\242\330 +\072\265\251\215\362\064\231\304\324\020\341\006\375\011\204\020 +\073\356\304\114\364\354\047\174\102\302\164\174\202\212\011\311 +\264\003\045\274 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "XRamp Global CA Root" +# Issuer: CN=XRamp Global Certification Authority,O=XRamp Security Services Inc,OU=www.xrampsecurity.com,C=US +# Serial Number:50:94:6c:ec:18:ea:d5:9c:4d:d5:97:ef:75:8f:a0:ad +# Subject: CN=XRamp Global Certification Authority,O=XRamp Security Services Inc,OU=www.xrampsecurity.com,C=US +# Not Valid Before: Mon Nov 01 17:14:04 2004 +# Not Valid After : Mon Jan 01 05:37:19 2035 +# Fingerprint (MD5): A1:0B:44:B3:CA:10:D8:00:6E:9D:0F:D8:0F:92:0A:D1 +# Fingerprint (SHA1): B8:01:86:D1:EB:9C:86:A5:41:04:CF:30:54:F3:4C:52:B7:E5:58:C6 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "XRamp Global CA Root" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\270\001\206\321\353\234\206\245\101\004\317\060\124\363\114\122 +\267\345\130\306 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\241\013\104\263\312\020\330\000\156\235\017\330\017\222\012\321 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\202\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\036\060\034\006\003\125\004\013\023\025\167\167\167\056\170 +\162\141\155\160\163\145\143\165\162\151\164\171\056\143\157\155 +\061\044\060\042\006\003\125\004\012\023\033\130\122\141\155\160 +\040\123\145\143\165\162\151\164\171\040\123\145\162\166\151\143 +\145\163\040\111\156\143\061\055\060\053\006\003\125\004\003\023 +\044\130\122\141\155\160\040\107\154\157\142\141\154\040\103\145 +\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150 +\157\162\151\164\171 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\120\224\154\354\030\352\325\234\115\325\227\357\165\217 +\240\255 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Go Daddy Class 2 CA" +# +# Issuer: OU=Go Daddy Class 2 Certification Authority,O="The Go Daddy Group, Inc.",C=US +# Serial Number: 0 (0x0) +# Subject: OU=Go Daddy Class 2 Certification Authority,O="The Go Daddy Group, Inc.",C=US +# Not Valid Before: Tue Jun 29 17:06:20 2004 +# Not Valid After : Thu Jun 29 17:06:20 2034 +# Fingerprint (MD5): 91:DE:06:25:AB:DA:FD:32:17:0C:BB:25:17:2A:84:67 +# Fingerprint (SHA1): 27:96:BA:E6:3F:18:01:E2:77:26:1B:A0:D7:77:70:02:8F:20:EE:E4 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Go Daddy Class 2 CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\143\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\041\060\037\006\003\125\004\012\023\030\124\150\145\040\107\157 +\040\104\141\144\144\171\040\107\162\157\165\160\054\040\111\156 +\143\056\061\061\060\057\006\003\125\004\013\023\050\107\157\040 +\104\141\144\144\171\040\103\154\141\163\163\040\062\040\103\145 +\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150 +\157\162\151\164\171 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\143\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\041\060\037\006\003\125\004\012\023\030\124\150\145\040\107\157 +\040\104\141\144\144\171\040\107\162\157\165\160\054\040\111\156 +\143\056\061\061\060\057\006\003\125\004\013\023\050\107\157\040 +\104\141\144\144\171\040\103\154\141\163\163\040\062\040\103\145 +\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150 +\157\162\151\164\171 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\000 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\000\060\202\002\350\240\003\002\001\002\002\001\000 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\143\061\013\060\011\006\003\125\004\006\023\002\125\123\061\041 +\060\037\006\003\125\004\012\023\030\124\150\145\040\107\157\040 +\104\141\144\144\171\040\107\162\157\165\160\054\040\111\156\143 +\056\061\061\060\057\006\003\125\004\013\023\050\107\157\040\104 +\141\144\144\171\040\103\154\141\163\163\040\062\040\103\145\162 +\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157 +\162\151\164\171\060\036\027\015\060\064\060\066\062\071\061\067 +\060\066\062\060\132\027\015\063\064\060\066\062\071\061\067\060 +\066\062\060\132\060\143\061\013\060\011\006\003\125\004\006\023 +\002\125\123\061\041\060\037\006\003\125\004\012\023\030\124\150 +\145\040\107\157\040\104\141\144\144\171\040\107\162\157\165\160 +\054\040\111\156\143\056\061\061\060\057\006\003\125\004\013\023 +\050\107\157\040\104\141\144\144\171\040\103\154\141\163\163\040 +\062\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040 +\101\165\164\150\157\162\151\164\171\060\202\001\040\060\015\006 +\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001\015 +\000\060\202\001\010\002\202\001\001\000\336\235\327\352\127\030 +\111\241\133\353\327\137\110\206\352\276\335\377\344\357\147\034 +\364\145\150\263\127\161\240\136\167\273\355\233\111\351\160\200 +\075\126\030\143\010\157\332\362\314\320\077\177\002\124\042\124 +\020\330\262\201\324\300\165\075\113\177\307\167\303\076\170\253 +\032\003\265\040\153\057\152\053\261\305\210\176\304\273\036\260 +\301\330\105\047\157\252\067\130\367\207\046\327\330\055\366\251 +\027\267\037\162\066\116\246\027\077\145\230\222\333\052\156\135 +\242\376\210\340\013\336\177\345\215\025\341\353\313\072\325\342 +\022\242\023\055\330\216\257\137\022\075\240\010\005\010\266\134 +\245\145\070\004\105\231\036\243\140\140\164\305\101\245\162\142 +\033\142\305\037\157\137\032\102\276\002\121\145\250\256\043\030 +\152\374\170\003\251\115\177\200\303\372\253\132\374\241\100\244 +\312\031\026\376\262\310\357\136\163\015\356\167\275\232\366\171 +\230\274\261\007\147\242\025\015\335\240\130\306\104\173\012\076 +\142\050\137\272\101\007\123\130\317\021\176\070\164\305\370\377 +\265\151\220\217\204\164\352\227\033\257\002\001\003\243\201\300 +\060\201\275\060\035\006\003\125\035\016\004\026\004\024\322\304 +\260\322\221\324\114\021\161\263\141\313\075\241\376\335\250\152 +\324\343\060\201\215\006\003\125\035\043\004\201\205\060\201\202 +\200\024\322\304\260\322\221\324\114\021\161\263\141\313\075\241 +\376\335\250\152\324\343\241\147\244\145\060\143\061\013\060\011 +\006\003\125\004\006\023\002\125\123\061\041\060\037\006\003\125 +\004\012\023\030\124\150\145\040\107\157\040\104\141\144\144\171 +\040\107\162\157\165\160\054\040\111\156\143\056\061\061\060\057 +\006\003\125\004\013\023\050\107\157\040\104\141\144\144\171\040 +\103\154\141\163\163\040\062\040\103\145\162\164\151\146\151\143 +\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\202 +\001\000\060\014\006\003\125\035\023\004\005\060\003\001\001\377 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003 +\202\001\001\000\062\113\363\262\312\076\221\374\022\306\241\007 +\214\216\167\240\063\006\024\134\220\036\030\367\010\246\075\012 +\031\371\207\200\021\156\151\344\226\027\060\377\064\221\143\162 +\070\356\314\034\001\243\035\224\050\244\061\366\172\304\124\327 +\366\345\061\130\003\242\314\316\142\333\224\105\163\265\277\105 +\311\044\265\325\202\002\255\043\171\151\215\270\266\115\316\317 +\114\312\063\043\350\034\210\252\235\213\101\156\026\311\040\345 +\211\236\315\073\332\160\367\176\231\046\040\024\124\045\253\156 +\163\205\346\233\041\235\012\154\202\016\250\370\302\014\372\020 +\036\154\226\357\207\015\304\017\141\213\255\356\203\053\225\370 +\216\222\204\162\071\353\040\352\203\355\203\315\227\156\010\274 +\353\116\046\266\163\053\344\323\366\114\376\046\161\342\141\021 +\164\112\377\127\032\207\017\165\110\056\317\121\151\027\240\002 +\022\141\225\325\321\100\262\020\114\356\304\254\020\103\246\245 +\236\012\325\225\142\232\015\317\210\202\305\062\014\344\053\237 +\105\346\015\237\050\234\261\271\052\132\127\255\067\017\257\035 +\177\333\275\237 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "Go Daddy Class 2 CA" +# Issuer: OU=Go Daddy Class 2 Certification Authority,O="The Go Daddy Group, Inc.",C=US +# Serial Number: 0 (0x0) +# Subject: OU=Go Daddy Class 2 Certification Authority,O="The Go Daddy Group, Inc.",C=US +# Not Valid Before: Tue Jun 29 17:06:20 2004 +# Not Valid After : Thu Jun 29 17:06:20 2034 +# Fingerprint (MD5): 91:DE:06:25:AB:DA:FD:32:17:0C:BB:25:17:2A:84:67 +# Fingerprint (SHA1): 27:96:BA:E6:3F:18:01:E2:77:26:1B:A0:D7:77:70:02:8F:20:EE:E4 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Go Daddy Class 2 CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\047\226\272\346\077\030\001\342\167\046\033\240\327\167\160\002 +\217\040\356\344 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\221\336\006\045\253\332\375\062\027\014\273\045\027\052\204\147 +END +CKA_ISSUER MULTILINE_OCTAL +\060\143\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\041\060\037\006\003\125\004\012\023\030\124\150\145\040\107\157 +\040\104\141\144\144\171\040\107\162\157\165\160\054\040\111\156 +\143\056\061\061\060\057\006\003\125\004\013\023\050\107\157\040 +\104\141\144\144\171\040\103\154\141\163\163\040\062\040\103\145 +\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150 +\157\162\151\164\171 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\000 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Starfield Class 2 CA" +# +# Issuer: OU=Starfield Class 2 Certification Authority,O="Starfield Technologies, Inc.",C=US +# Serial Number: 0 (0x0) +# Subject: OU=Starfield Class 2 Certification Authority,O="Starfield Technologies, Inc.",C=US +# Not Valid Before: Tue Jun 29 17:39:16 2004 +# Not Valid After : Thu Jun 29 17:39:16 2034 +# Fingerprint (MD5): 32:4A:4B:BB:C8:63:69:9B:BE:74:9A:C6:DD:1D:46:24 +# Fingerprint (SHA1): AD:7E:1C:28:B0:64:EF:8F:60:03:40:20:14:C3:D0:E3:37:0E:B5:8A +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Starfield Class 2 CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\150\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\045\060\043\006\003\125\004\012\023\034\123\164\141\162\146\151 +\145\154\144\040\124\145\143\150\156\157\154\157\147\151\145\163 +\054\040\111\156\143\056\061\062\060\060\006\003\125\004\013\023 +\051\123\164\141\162\146\151\145\154\144\040\103\154\141\163\163 +\040\062\040\103\145\162\164\151\146\151\143\141\164\151\157\156 +\040\101\165\164\150\157\162\151\164\171 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\150\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\045\060\043\006\003\125\004\012\023\034\123\164\141\162\146\151 +\145\154\144\040\124\145\143\150\156\157\154\157\147\151\145\163 +\054\040\111\156\143\056\061\062\060\060\006\003\125\004\013\023 +\051\123\164\141\162\146\151\145\154\144\040\103\154\141\163\163 +\040\062\040\103\145\162\164\151\146\151\143\141\164\151\157\156 +\040\101\165\164\150\157\162\151\164\171 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\000 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\017\060\202\002\367\240\003\002\001\002\002\001\000 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\150\061\013\060\011\006\003\125\004\006\023\002\125\123\061\045 +\060\043\006\003\125\004\012\023\034\123\164\141\162\146\151\145 +\154\144\040\124\145\143\150\156\157\154\157\147\151\145\163\054 +\040\111\156\143\056\061\062\060\060\006\003\125\004\013\023\051 +\123\164\141\162\146\151\145\154\144\040\103\154\141\163\163\040 +\062\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040 +\101\165\164\150\157\162\151\164\171\060\036\027\015\060\064\060 +\066\062\071\061\067\063\071\061\066\132\027\015\063\064\060\066 +\062\071\061\067\063\071\061\066\132\060\150\061\013\060\011\006 +\003\125\004\006\023\002\125\123\061\045\060\043\006\003\125\004 +\012\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143 +\150\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061 +\062\060\060\006\003\125\004\013\023\051\123\164\141\162\146\151 +\145\154\144\040\103\154\141\163\163\040\062\040\103\145\162\164 +\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162 +\151\164\171\060\202\001\040\060\015\006\011\052\206\110\206\367 +\015\001\001\001\005\000\003\202\001\015\000\060\202\001\010\002 +\202\001\001\000\267\062\310\376\351\161\246\004\205\255\014\021 +\144\337\316\115\357\310\003\030\207\077\241\253\373\074\246\237 +\360\303\241\332\324\330\156\053\123\220\373\044\244\076\204\360 +\236\350\137\354\345\047\104\365\050\246\077\173\336\340\052\360 +\310\257\123\057\236\312\005\001\223\036\217\146\034\071\247\115 +\372\132\266\163\004\045\146\353\167\177\347\131\306\112\231\045 +\024\124\353\046\307\363\177\031\325\060\160\217\257\260\106\052 +\377\255\353\051\355\327\237\252\004\207\243\324\371\211\245\064 +\137\333\103\221\202\066\331\146\074\261\270\271\202\375\234\072 +\076\020\310\073\357\006\145\146\172\233\031\030\075\377\161\121 +\074\060\056\137\276\075\167\163\262\135\006\154\303\043\126\232 +\053\205\046\222\034\247\002\263\344\077\015\257\010\171\202\270 +\066\075\352\234\323\065\263\274\151\312\365\314\235\350\375\144 +\215\027\200\063\156\136\112\135\231\311\036\207\264\235\032\300 +\325\156\023\065\043\136\337\233\137\075\357\326\367\166\302\352 +\076\273\170\015\034\102\147\153\004\330\370\326\332\157\213\362 +\104\240\001\253\002\001\003\243\201\305\060\201\302\060\035\006 +\003\125\035\016\004\026\004\024\277\137\267\321\316\335\037\206 +\364\133\125\254\334\327\020\302\016\251\210\347\060\201\222\006 +\003\125\035\043\004\201\212\060\201\207\200\024\277\137\267\321 +\316\335\037\206\364\133\125\254\334\327\020\302\016\251\210\347 +\241\154\244\152\060\150\061\013\060\011\006\003\125\004\006\023 +\002\125\123\061\045\060\043\006\003\125\004\012\023\034\123\164 +\141\162\146\151\145\154\144\040\124\145\143\150\156\157\154\157 +\147\151\145\163\054\040\111\156\143\056\061\062\060\060\006\003 +\125\004\013\023\051\123\164\141\162\146\151\145\154\144\040\103 +\154\141\163\163\040\062\040\103\145\162\164\151\146\151\143\141 +\164\151\157\156\040\101\165\164\150\157\162\151\164\171\202\001 +\000\060\014\006\003\125\035\023\004\005\060\003\001\001\377\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003\202 +\001\001\000\005\235\077\210\235\321\311\032\125\241\254\151\363 +\363\131\332\233\001\207\032\117\127\251\241\171\011\052\333\367 +\057\262\036\314\307\136\152\330\203\207\241\227\357\111\065\076 +\167\006\101\130\142\277\216\130\270\012\147\077\354\263\335\041 +\146\037\311\124\372\162\314\075\114\100\330\201\257\167\236\203 +\172\273\242\307\365\064\027\216\331\021\100\364\374\054\052\115 +\025\177\247\142\135\056\045\323\000\013\040\032\035\150\371\027 +\270\364\275\213\355\050\131\335\115\026\213\027\203\310\262\145 +\307\055\172\245\252\274\123\206\155\335\127\244\312\370\040\101 +\013\150\360\364\373\164\276\126\135\172\171\365\371\035\205\343 +\055\225\276\365\161\220\103\314\215\037\232\000\012\207\051\351 +\125\042\130\000\043\352\343\022\103\051\133\107\010\335\214\101 +\152\145\006\250\345\041\252\101\264\225\041\225\271\175\321\064 +\253\023\326\255\274\334\342\075\071\315\275\076\165\160\241\030 +\131\003\311\042\264\217\234\325\136\052\327\245\266\324\012\155 +\370\267\100\021\106\232\037\171\016\142\277\017\227\354\340\057 +\037\027\224 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "Starfield Class 2 CA" +# Issuer: OU=Starfield Class 2 Certification Authority,O="Starfield Technologies, Inc.",C=US +# Serial Number: 0 (0x0) +# Subject: OU=Starfield Class 2 Certification Authority,O="Starfield Technologies, Inc.",C=US +# Not Valid Before: Tue Jun 29 17:39:16 2004 +# Not Valid After : Thu Jun 29 17:39:16 2034 +# Fingerprint (MD5): 32:4A:4B:BB:C8:63:69:9B:BE:74:9A:C6:DD:1D:46:24 +# Fingerprint (SHA1): AD:7E:1C:28:B0:64:EF:8F:60:03:40:20:14:C3:D0:E3:37:0E:B5:8A +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Starfield Class 2 CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\255\176\034\050\260\144\357\217\140\003\100\040\024\303\320\343 +\067\016\265\212 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\062\112\113\273\310\143\151\233\276\164\232\306\335\035\106\044 +END +CKA_ISSUER MULTILINE_OCTAL +\060\150\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\045\060\043\006\003\125\004\012\023\034\123\164\141\162\146\151 +\145\154\144\040\124\145\143\150\156\157\154\157\147\151\145\163 +\054\040\111\156\143\056\061\062\060\060\006\003\125\004\013\023 +\051\123\164\141\162\146\151\145\154\144\040\103\154\141\163\163 +\040\062\040\103\145\162\164\151\146\151\143\141\164\151\157\156 +\040\101\165\164\150\157\162\151\164\171 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\000 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Taiwan GRCA" +# +# Issuer: O=Government Root Certification Authority,C=TW +# Serial Number:1f:9d:59:5a:d7:2f:c2:06:44:a5:80:08:69:e3:5e:f6 +# Subject: O=Government Root Certification Authority,C=TW +# Not Valid Before: Thu Dec 05 13:23:33 2002 +# Not Valid After : Sun Dec 05 13:23:33 2032 +# Fingerprint (MD5): 37:85:44:53:32:45:1F:20:F0:F3:95:E1:25:C4:43:4E +# Fingerprint (SHA1): F4:8B:11:BF:DE:AB:BE:94:54:20:71:E6:41:DE:6B:BE:88:2B:40:B9 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Taiwan GRCA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\077\061\013\060\011\006\003\125\004\006\023\002\124\127\061 +\060\060\056\006\003\125\004\012\014\047\107\157\166\145\162\156 +\155\145\156\164\040\122\157\157\164\040\103\145\162\164\151\146 +\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 +\171 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\077\061\013\060\011\006\003\125\004\006\023\002\124\127\061 +\060\060\056\006\003\125\004\012\014\047\107\157\166\145\162\156 +\155\145\156\164\040\122\157\157\164\040\103\145\162\164\151\146 +\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 +\171 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\037\235\131\132\327\057\302\006\104\245\200\010\151\343 +\136\366 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\162\060\202\003\132\240\003\002\001\002\002\020\037 +\235\131\132\327\057\302\006\104\245\200\010\151\343\136\366\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\077 +\061\013\060\011\006\003\125\004\006\023\002\124\127\061\060\060 +\056\006\003\125\004\012\014\047\107\157\166\145\162\156\155\145 +\156\164\040\122\157\157\164\040\103\145\162\164\151\146\151\143 +\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\060 +\036\027\015\060\062\061\062\060\065\061\063\062\063\063\063\132 +\027\015\063\062\061\062\060\065\061\063\062\063\063\063\132\060 +\077\061\013\060\011\006\003\125\004\006\023\002\124\127\061\060 +\060\056\006\003\125\004\012\014\047\107\157\166\145\162\156\155 +\145\156\164\040\122\157\157\164\040\103\145\162\164\151\146\151 +\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 +\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001 +\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001 +\000\232\045\270\354\314\242\165\250\173\367\316\133\131\212\311 +\321\206\022\010\124\354\234\362\347\106\366\210\363\174\351\245 +\337\114\107\066\244\033\001\034\177\036\127\212\215\303\305\321 +\041\343\332\044\077\110\053\373\237\056\241\224\347\054\034\223 +\321\277\033\001\207\123\231\316\247\365\012\041\166\167\377\251 +\267\306\163\224\117\106\367\020\111\067\372\250\131\111\135\152 +\201\007\126\362\212\371\006\320\367\160\042\115\264\267\101\271 +\062\270\261\360\261\303\234\077\160\375\123\335\201\252\330\143 +\170\366\330\123\156\241\254\152\204\044\162\124\206\306\322\262 +\312\034\016\171\201\326\265\160\142\010\001\056\116\117\016\325 +\021\257\251\257\345\232\277\334\314\207\155\046\344\311\127\242 +\373\226\371\314\341\077\123\214\154\114\176\233\123\010\013\154 +\027\373\147\310\302\255\261\315\200\264\227\334\166\001\026\025 +\351\152\327\244\341\170\107\316\206\325\373\061\363\372\061\276 +\064\252\050\373\160\114\035\111\307\257\054\235\155\146\246\266 +\215\144\176\265\040\152\235\073\201\266\217\100\000\147\113\211 +\206\270\314\145\376\025\123\351\004\301\326\137\035\104\327\012 +\057\047\232\106\175\241\015\165\255\124\206\025\334\111\073\361 +\226\316\017\233\240\354\243\172\135\276\325\052\165\102\345\173 +\336\245\266\252\257\050\254\254\220\254\070\267\325\150\065\046 +\172\334\367\073\363\375\105\233\321\273\103\170\156\157\361\102 +\124\152\230\360\015\255\227\351\122\136\351\325\152\162\336\152 +\367\033\140\024\364\245\344\266\161\147\252\037\352\342\115\301 +\102\100\376\147\106\027\070\057\107\077\161\234\256\345\041\312 +\141\055\155\007\250\204\174\055\356\121\045\361\143\220\236\375 +\341\127\210\153\357\212\043\155\261\346\275\077\255\321\075\226 +\013\205\215\315\153\047\273\267\005\233\354\273\221\251\012\007 +\022\002\227\116\040\220\360\377\015\036\342\101\073\323\100\072 +\347\215\135\332\146\344\002\260\007\122\230\134\016\216\063\234 +\302\246\225\373\125\031\156\114\216\256\113\017\275\301\070\115 +\136\217\204\035\146\315\305\140\226\264\122\132\005\211\216\225 +\172\230\301\221\074\225\043\262\016\364\171\264\311\174\301\112 +\041\002\003\001\000\001\243\152\060\150\060\035\006\003\125\035 +\016\004\026\004\024\314\314\357\314\051\140\244\073\261\222\266 +\074\372\062\142\217\254\045\025\073\060\014\006\003\125\035\023 +\004\005\060\003\001\001\377\060\071\006\004\147\052\007\000\004 +\061\060\057\060\055\002\001\000\060\011\006\005\053\016\003\002 +\032\005\000\060\007\006\005\147\052\003\000\000\004\024\003\233 +\360\042\023\377\225\050\066\323\334\236\300\062\373\061\072\212 +\121\145\060\015\006\011\052\206\110\206\367\015\001\001\005\005 +\000\003\202\002\001\000\100\200\112\372\046\311\316\136\060\335 +\117\206\164\166\130\365\256\263\203\063\170\244\172\164\027\031 +\116\351\122\265\271\340\012\164\142\252\150\312\170\240\114\232 +\216\054\043\056\325\152\022\044\277\324\150\323\212\320\330\234 +\237\264\037\014\336\070\176\127\070\374\215\342\117\136\014\237 +\253\073\322\377\165\227\313\244\343\147\010\377\345\300\026\265 +\110\001\175\351\371\012\377\033\345\152\151\277\170\041\250\302 +\247\043\251\206\253\166\126\350\016\014\366\023\335\052\146\212 +\144\111\075\032\030\207\220\004\237\102\122\267\117\313\376\107 +\101\166\065\357\377\000\166\066\105\062\233\306\106\205\135\342 +\044\260\036\343\110\226\230\127\107\224\125\172\017\101\261\104 +\044\363\301\376\032\153\277\210\375\301\246\332\223\140\136\201 +\112\231\040\234\110\146\031\265\000\171\124\017\270\054\057\113 +\274\251\135\133\140\177\214\207\245\340\122\143\052\276\330\073 +\205\100\025\376\036\266\145\077\305\113\332\176\265\172\065\051 +\243\056\172\230\140\042\243\364\175\047\116\055\352\264\164\074 +\351\017\244\063\017\020\021\274\023\001\326\345\016\323\277\265 +\022\242\341\105\043\300\314\010\156\141\267\211\253\203\343\044 +\036\346\135\007\347\037\040\076\317\147\310\347\254\060\155\047 +\113\150\156\113\052\134\002\010\064\333\370\166\344\147\243\046 +\234\077\242\062\302\112\305\201\030\061\020\126\252\204\357\055 +\012\377\270\037\167\322\277\245\130\240\142\344\327\113\221\165 +\215\211\200\230\176\155\313\123\116\136\257\366\262\227\205\227 +\271\332\125\006\271\044\356\327\306\070\036\143\033\022\073\225 +\341\130\254\362\337\204\325\137\231\057\015\125\133\346\070\333 +\056\077\162\351\110\205\313\273\051\023\217\036\070\125\271\363 +\262\304\060\231\043\116\135\362\110\241\022\014\334\022\220\011 +\220\124\221\003\074\107\345\325\311\145\340\267\113\175\354\107 +\323\263\013\076\255\236\320\164\000\016\353\275\121\255\300\336 +\054\300\303\152\376\357\334\013\247\372\106\337\140\333\234\246 +\131\120\165\043\151\163\223\262\371\374\002\323\107\346\161\316 +\020\002\356\047\214\204\377\254\105\015\023\134\203\062\340\045 +\245\206\054\174\364\022 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "Taiwan GRCA" +# Issuer: O=Government Root Certification Authority,C=TW +# Serial Number:1f:9d:59:5a:d7:2f:c2:06:44:a5:80:08:69:e3:5e:f6 +# Subject: O=Government Root Certification Authority,C=TW +# Not Valid Before: Thu Dec 05 13:23:33 2002 +# Not Valid After : Sun Dec 05 13:23:33 2032 +# Fingerprint (MD5): 37:85:44:53:32:45:1F:20:F0:F3:95:E1:25:C4:43:4E +# Fingerprint (SHA1): F4:8B:11:BF:DE:AB:BE:94:54:20:71:E6:41:DE:6B:BE:88:2B:40:B9 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Taiwan GRCA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\364\213\021\277\336\253\276\224\124\040\161\346\101\336\153\276 +\210\053\100\271 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\067\205\104\123\062\105\037\040\360\363\225\341\045\304\103\116 +END +CKA_ISSUER MULTILINE_OCTAL +\060\077\061\013\060\011\006\003\125\004\006\023\002\124\127\061 +\060\060\056\006\003\125\004\012\014\047\107\157\166\145\162\156 +\155\145\156\164\040\122\157\157\164\040\103\145\162\164\151\146 +\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 +\171 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\037\235\131\132\327\057\302\006\104\245\200\010\151\343 +\136\366 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "DigiCert Assured ID Root CA" +# +# Issuer: CN=DigiCert Assured ID Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US +# Serial Number:0c:e7:e0:e5:17:d8:46:fe:8f:e5:60:fc:1b:f0:30:39 +# Subject: CN=DigiCert Assured ID Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US +# Not Valid Before: Fri Nov 10 00:00:00 2006 +# Not Valid After : Mon Nov 10 00:00:00 2031 +# Fingerprint (MD5): 87:CE:0B:7B:2A:0E:49:00:E1:58:71:9B:37:A8:93:72 +# Fingerprint (SHA1): 05:63:B8:63:0D:62:D7:5A:BB:C8:AB:1E:4B:DF:B5:A8:99:B2:4D:43 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "DigiCert Assured ID Root CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 +\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 +\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 +\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151 +\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040 +\122\157\157\164\040\103\101 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 +\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 +\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 +\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151 +\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040 +\122\157\157\164\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\014\347\340\345\027\330\106\376\217\345\140\374\033\360 +\060\071 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\267\060\202\002\237\240\003\002\001\002\002\020\014 +\347\340\345\027\330\106\376\217\345\140\374\033\360\060\071\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\145 +\061\013\060\011\006\003\125\004\006\023\002\125\123\061\025\060 +\023\006\003\125\004\012\023\014\104\151\147\151\103\145\162\164 +\040\111\156\143\061\031\060\027\006\003\125\004\013\023\020\167 +\167\167\056\144\151\147\151\143\145\162\164\056\143\157\155\061 +\044\060\042\006\003\125\004\003\023\033\104\151\147\151\103\145 +\162\164\040\101\163\163\165\162\145\144\040\111\104\040\122\157 +\157\164\040\103\101\060\036\027\015\060\066\061\061\061\060\060 +\060\060\060\060\060\132\027\015\063\061\061\061\061\060\060\060 +\060\060\060\060\132\060\145\061\013\060\011\006\003\125\004\006 +\023\002\125\123\061\025\060\023\006\003\125\004\012\023\014\104 +\151\147\151\103\145\162\164\040\111\156\143\061\031\060\027\006 +\003\125\004\013\023\020\167\167\167\056\144\151\147\151\143\145 +\162\164\056\143\157\155\061\044\060\042\006\003\125\004\003\023 +\033\104\151\147\151\103\145\162\164\040\101\163\163\165\162\145 +\144\040\111\104\040\122\157\157\164\040\103\101\060\202\001\042 +\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003 +\202\001\017\000\060\202\001\012\002\202\001\001\000\255\016\025 +\316\344\103\200\134\261\207\363\267\140\371\161\022\245\256\334 +\046\224\210\252\364\316\365\040\071\050\130\140\014\370\200\332 +\251\025\225\062\141\074\265\261\050\204\212\212\334\237\012\014 +\203\027\172\217\220\254\212\347\171\123\134\061\204\052\366\017 +\230\062\066\166\314\336\335\074\250\242\357\152\373\041\362\122 +\141\337\237\040\327\037\342\261\331\376\030\144\322\022\133\137 +\371\130\030\065\274\107\315\241\066\371\153\177\324\260\070\076 +\301\033\303\214\063\331\330\057\030\376\050\017\263\247\203\326 +\303\156\104\300\141\065\226\026\376\131\234\213\166\155\327\361 +\242\113\015\053\377\013\162\332\236\140\320\216\220\065\306\170 +\125\207\040\241\317\345\155\012\310\111\174\061\230\063\154\042 +\351\207\320\062\132\242\272\023\202\021\355\071\027\235\231\072 +\162\241\346\372\244\331\325\027\061\165\256\205\175\042\256\077 +\001\106\206\366\050\171\310\261\332\344\127\027\304\176\034\016 +\260\264\222\246\126\263\275\262\227\355\252\247\360\267\305\250 +\077\225\026\320\377\241\226\353\010\137\030\167\117\002\003\001 +\000\001\243\143\060\141\060\016\006\003\125\035\017\001\001\377 +\004\004\003\002\001\206\060\017\006\003\125\035\023\001\001\377 +\004\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026 +\004\024\105\353\242\257\364\222\313\202\061\055\121\213\247\247 +\041\235\363\155\310\017\060\037\006\003\125\035\043\004\030\060 +\026\200\024\105\353\242\257\364\222\313\202\061\055\121\213\247 +\247\041\235\363\155\310\017\060\015\006\011\052\206\110\206\367 +\015\001\001\005\005\000\003\202\001\001\000\242\016\274\337\342 +\355\360\343\162\163\172\144\224\277\367\162\146\330\062\344\102 +\165\142\256\207\353\362\325\331\336\126\263\237\314\316\024\050 +\271\015\227\140\134\022\114\130\344\323\075\203\111\105\130\227 +\065\151\032\250\107\352\126\306\171\253\022\330\147\201\204\337 +\177\011\074\224\346\270\046\054\040\275\075\263\050\211\367\137 +\377\042\342\227\204\037\351\145\357\207\340\337\301\147\111\263 +\135\353\262\011\052\353\046\355\170\276\175\077\053\363\267\046 +\065\155\137\211\001\266\111\133\237\001\005\233\253\075\045\301 +\314\266\177\302\361\157\206\306\372\144\150\353\201\055\224\353 +\102\267\372\214\036\335\142\361\276\120\147\267\154\275\363\361 +\037\153\014\066\007\026\177\067\174\251\133\155\172\361\022\106 +\140\203\327\047\004\276\113\316\227\276\303\147\052\150\021\337 +\200\347\014\063\146\277\023\015\024\156\363\177\037\143\020\036 +\372\215\033\045\155\154\217\245\267\141\001\261\322\243\046\241 +\020\161\235\255\342\303\371\303\231\121\267\053\007\010\316\056 +\346\120\262\247\372\012\105\057\242\360\362 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "DigiCert Assured ID Root CA" +# Issuer: CN=DigiCert Assured ID Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US +# Serial Number:0c:e7:e0:e5:17:d8:46:fe:8f:e5:60:fc:1b:f0:30:39 +# Subject: CN=DigiCert Assured ID Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US +# Not Valid Before: Fri Nov 10 00:00:00 2006 +# Not Valid After : Mon Nov 10 00:00:00 2031 +# Fingerprint (MD5): 87:CE:0B:7B:2A:0E:49:00:E1:58:71:9B:37:A8:93:72 +# Fingerprint (SHA1): 05:63:B8:63:0D:62:D7:5A:BB:C8:AB:1E:4B:DF:B5:A8:99:B2:4D:43 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "DigiCert Assured ID Root CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\005\143\270\143\015\142\327\132\273\310\253\036\113\337\265\250 +\231\262\115\103 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\207\316\013\173\052\016\111\000\341\130\161\233\067\250\223\162 +END +CKA_ISSUER MULTILINE_OCTAL +\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 +\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 +\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 +\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151 +\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040 +\122\157\157\164\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\014\347\340\345\027\330\106\376\217\345\140\374\033\360 +\060\071 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "DigiCert Global Root CA" +# +# Issuer: CN=DigiCert Global Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US +# Serial Number:08:3b:e0:56:90:42:46:b1:a1:75:6a:c9:59:91:c7:4a +# Subject: CN=DigiCert Global Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US +# Not Valid Before: Fri Nov 10 00:00:00 2006 +# Not Valid After : Mon Nov 10 00:00:00 2031 +# Fingerprint (MD5): 79:E4:A9:84:0D:7D:3A:96:D7:C0:4F:E2:43:4C:89:2E +# Fingerprint (SHA1): A8:98:5D:3A:65:E5:E5:C4:B2:D7:D6:6D:40:C6:DD:2F:B1:9C:54:36 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "DigiCert Global Root CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 +\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 +\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 +\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147\151 +\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157\164 +\040\103\101 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 +\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 +\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 +\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147\151 +\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157\164 +\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\010\073\340\126\220\102\106\261\241\165\152\311\131\221 +\307\112 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\257\060\202\002\227\240\003\002\001\002\002\020\010 +\073\340\126\220\102\106\261\241\165\152\311\131\221\307\112\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\141 +\061\013\060\011\006\003\125\004\006\023\002\125\123\061\025\060 +\023\006\003\125\004\012\023\014\104\151\147\151\103\145\162\164 +\040\111\156\143\061\031\060\027\006\003\125\004\013\023\020\167 +\167\167\056\144\151\147\151\143\145\162\164\056\143\157\155\061 +\040\060\036\006\003\125\004\003\023\027\104\151\147\151\103\145 +\162\164\040\107\154\157\142\141\154\040\122\157\157\164\040\103 +\101\060\036\027\015\060\066\061\061\061\060\060\060\060\060\060 +\060\132\027\015\063\061\061\061\061\060\060\060\060\060\060\060 +\132\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103 +\145\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013 +\023\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143 +\157\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147 +\151\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157 +\164\040\103\101\060\202\001\042\060\015\006\011\052\206\110\206 +\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012 +\002\202\001\001\000\342\073\341\021\162\336\250\244\323\243\127 +\252\120\242\217\013\167\220\311\242\245\356\022\316\226\133\001 +\011\040\314\001\223\247\116\060\267\123\367\103\304\151\000\127 +\235\342\215\042\335\207\006\100\000\201\011\316\316\033\203\277 +\337\315\073\161\106\342\326\146\307\005\263\166\047\026\217\173 +\236\036\225\175\356\267\110\243\010\332\326\257\172\014\071\006 +\145\177\112\135\037\274\027\370\253\276\356\050\327\164\177\172 +\170\231\131\205\150\156\134\043\062\113\277\116\300\350\132\155 +\343\160\277\167\020\277\374\001\366\205\331\250\104\020\130\062 +\251\165\030\325\321\242\276\107\342\047\152\364\232\063\370\111 +\010\140\213\324\137\264\072\204\277\241\252\112\114\175\076\317 +\117\137\154\166\136\240\113\067\221\236\334\042\346\155\316\024 +\032\216\152\313\376\315\263\024\144\027\307\133\051\236\062\277 +\362\356\372\323\013\102\324\253\267\101\062\332\014\324\357\370 +\201\325\273\215\130\077\265\033\350\111\050\242\160\332\061\004 +\335\367\262\026\362\114\012\116\007\250\355\112\075\136\265\177 +\243\220\303\257\047\002\003\001\000\001\243\143\060\141\060\016 +\006\003\125\035\017\001\001\377\004\004\003\002\001\206\060\017 +\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060 +\035\006\003\125\035\016\004\026\004\024\003\336\120\065\126\321 +\114\273\146\360\243\342\033\033\303\227\262\075\321\125\060\037 +\006\003\125\035\043\004\030\060\026\200\024\003\336\120\065\126 +\321\114\273\146\360\243\342\033\033\303\227\262\075\321\125\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003\202 +\001\001\000\313\234\067\252\110\023\022\012\372\335\104\234\117 +\122\260\364\337\256\004\365\171\171\010\243\044\030\374\113\053 +\204\300\055\271\325\307\376\364\301\037\130\313\270\155\234\172 +\164\347\230\051\253\021\265\343\160\240\241\315\114\210\231\223 +\214\221\160\342\253\017\034\276\223\251\377\143\325\344\007\140 +\323\243\277\235\133\011\361\325\216\343\123\364\216\143\372\077 +\247\333\264\146\337\142\146\326\321\156\101\215\362\055\265\352 +\167\112\237\235\130\342\053\131\300\100\043\355\055\050\202\105 +\076\171\124\222\046\230\340\200\110\250\067\357\360\326\171\140 +\026\336\254\350\016\315\156\254\104\027\070\057\111\332\341\105 +\076\052\271\066\123\317\072\120\006\367\056\350\304\127\111\154 +\141\041\030\325\004\255\170\074\054\072\200\153\247\353\257\025 +\024\351\330\211\301\271\070\154\342\221\154\212\377\144\271\167 +\045\127\060\300\033\044\243\341\334\351\337\107\174\265\264\044 +\010\005\060\354\055\275\013\277\105\277\120\271\251\363\353\230 +\001\022\255\310\210\306\230\064\137\215\012\074\306\351\325\225 +\225\155\336 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "DigiCert Global Root CA" +# Issuer: CN=DigiCert Global Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US +# Serial Number:08:3b:e0:56:90:42:46:b1:a1:75:6a:c9:59:91:c7:4a +# Subject: CN=DigiCert Global Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US +# Not Valid Before: Fri Nov 10 00:00:00 2006 +# Not Valid After : Mon Nov 10 00:00:00 2031 +# Fingerprint (MD5): 79:E4:A9:84:0D:7D:3A:96:D7:C0:4F:E2:43:4C:89:2E +# Fingerprint (SHA1): A8:98:5D:3A:65:E5:E5:C4:B2:D7:D6:6D:40:C6:DD:2F:B1:9C:54:36 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "DigiCert Global Root CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\250\230\135\072\145\345\345\304\262\327\326\155\100\306\335\057 +\261\234\124\066 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\171\344\251\204\015\175\072\226\327\300\117\342\103\114\211\056 +END +CKA_ISSUER MULTILINE_OCTAL +\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 +\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 +\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 +\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147\151 +\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157\164 +\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\010\073\340\126\220\102\106\261\241\165\152\311\131\221 +\307\112 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "DigiCert High Assurance EV Root CA" +# +# Issuer: CN=DigiCert High Assurance EV Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US +# Serial Number:02:ac:5c:26:6a:0b:40:9b:8f:0b:79:f2:ae:46:25:77 +# Subject: CN=DigiCert High Assurance EV Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US +# Not Valid Before: Fri Nov 10 00:00:00 2006 +# Not Valid After : Mon Nov 10 00:00:00 2031 +# Fingerprint (MD5): D4:74:DE:57:5C:39:B2:D3:9C:85:83:C5:C0:65:49:8A +# Fingerprint (SHA1): 5F:B7:EE:06:33:E2:59:DB:AD:0C:4C:9A:E6:D3:8F:1A:61:C7:DC:25 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "DigiCert High Assurance EV Root CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\154\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 +\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 +\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 +\155\061\053\060\051\006\003\125\004\003\023\042\104\151\147\151 +\103\145\162\164\040\110\151\147\150\040\101\163\163\165\162\141 +\156\143\145\040\105\126\040\122\157\157\164\040\103\101 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\154\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 +\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 +\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 +\155\061\053\060\051\006\003\125\004\003\023\042\104\151\147\151 +\103\145\162\164\040\110\151\147\150\040\101\163\163\165\162\141 +\156\143\145\040\105\126\040\122\157\157\164\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\002\254\134\046\152\013\100\233\217\013\171\362\256\106 +\045\167 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\305\060\202\002\255\240\003\002\001\002\002\020\002 +\254\134\046\152\013\100\233\217\013\171\362\256\106\045\167\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\154 +\061\013\060\011\006\003\125\004\006\023\002\125\123\061\025\060 +\023\006\003\125\004\012\023\014\104\151\147\151\103\145\162\164 +\040\111\156\143\061\031\060\027\006\003\125\004\013\023\020\167 +\167\167\056\144\151\147\151\143\145\162\164\056\143\157\155\061 +\053\060\051\006\003\125\004\003\023\042\104\151\147\151\103\145 +\162\164\040\110\151\147\150\040\101\163\163\165\162\141\156\143 +\145\040\105\126\040\122\157\157\164\040\103\101\060\036\027\015 +\060\066\061\061\061\060\060\060\060\060\060\060\132\027\015\063 +\061\061\061\061\060\060\060\060\060\060\060\132\060\154\061\013 +\060\011\006\003\125\004\006\023\002\125\123\061\025\060\023\006 +\003\125\004\012\023\014\104\151\147\151\103\145\162\164\040\111 +\156\143\061\031\060\027\006\003\125\004\013\023\020\167\167\167 +\056\144\151\147\151\143\145\162\164\056\143\157\155\061\053\060 +\051\006\003\125\004\003\023\042\104\151\147\151\103\145\162\164 +\040\110\151\147\150\040\101\163\163\165\162\141\156\143\145\040 +\105\126\040\122\157\157\164\040\103\101\060\202\001\042\060\015 +\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001 +\017\000\060\202\001\012\002\202\001\001\000\306\314\345\163\346 +\373\324\273\345\055\055\062\246\337\345\201\077\311\315\045\111 +\266\161\052\303\325\224\064\147\242\012\034\260\137\151\246\100 +\261\304\267\262\217\320\230\244\251\101\131\072\323\334\224\326 +\074\333\164\070\244\112\314\115\045\202\367\112\245\123\022\070 +\356\363\111\155\161\221\176\143\266\253\246\137\303\244\204\370 +\117\142\121\276\370\305\354\333\070\222\343\006\345\010\221\014 +\304\050\101\125\373\313\132\211\025\176\161\350\065\277\115\162 +\011\075\276\072\070\120\133\167\061\033\215\263\307\044\105\232 +\247\254\155\000\024\132\004\267\272\023\353\121\012\230\101\101 +\042\116\145\141\207\201\101\120\246\171\134\211\336\031\112\127 +\325\056\346\135\034\123\054\176\230\315\032\006\026\244\150\163 +\320\064\004\023\134\241\161\323\132\174\125\333\136\144\341\067 +\207\060\126\004\345\021\264\051\200\022\361\171\071\210\242\002 +\021\174\047\146\267\210\267\170\362\312\012\250\070\253\012\144 +\302\277\146\135\225\204\301\241\045\036\207\135\032\120\013\040 +\022\314\101\273\156\013\121\070\270\113\313\002\003\001\000\001 +\243\143\060\141\060\016\006\003\125\035\017\001\001\377\004\004 +\003\002\001\206\060\017\006\003\125\035\023\001\001\377\004\005 +\060\003\001\001\377\060\035\006\003\125\035\016\004\026\004\024 +\261\076\303\151\003\370\277\107\001\324\230\046\032\010\002\357 +\143\144\053\303\060\037\006\003\125\035\043\004\030\060\026\200 +\024\261\076\303\151\003\370\277\107\001\324\230\046\032\010\002 +\357\143\144\053\303\060\015\006\011\052\206\110\206\367\015\001 +\001\005\005\000\003\202\001\001\000\034\032\006\227\334\327\234 +\237\074\210\146\006\010\127\041\333\041\107\370\052\147\252\277 +\030\062\166\100\020\127\301\212\363\172\331\021\145\216\065\372 +\236\374\105\265\236\331\114\061\113\270\221\350\103\054\216\263 +\170\316\333\343\123\171\161\326\345\041\224\001\332\125\207\232 +\044\144\366\212\146\314\336\234\067\315\250\064\261\151\233\043 +\310\236\170\042\053\160\103\343\125\107\061\141\031\357\130\305 +\205\057\116\060\366\240\061\026\043\310\347\342\145\026\063\313 +\277\032\033\240\075\370\312\136\213\061\213\140\010\211\055\014 +\006\134\122\267\304\371\012\230\321\025\137\237\022\276\174\066 +\143\070\275\104\244\177\344\046\053\012\304\227\151\015\351\214 +\342\300\020\127\270\310\166\022\221\125\362\110\151\330\274\052 +\002\133\017\104\324\040\061\333\364\272\160\046\135\220\140\236 +\274\113\027\011\057\264\313\036\103\150\311\007\047\301\322\134 +\367\352\041\271\150\022\234\074\234\277\236\374\200\134\233\143 +\315\354\107\252\045\047\147\240\067\363\000\202\175\124\327\251 +\370\351\056\023\243\167\350\037\112 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "DigiCert High Assurance EV Root CA" +# Issuer: CN=DigiCert High Assurance EV Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US +# Serial Number:02:ac:5c:26:6a:0b:40:9b:8f:0b:79:f2:ae:46:25:77 +# Subject: CN=DigiCert High Assurance EV Root CA,OU=www.digicert.com,O=DigiCert Inc,C=US +# Not Valid Before: Fri Nov 10 00:00:00 2006 +# Not Valid After : Mon Nov 10 00:00:00 2031 +# Fingerprint (MD5): D4:74:DE:57:5C:39:B2:D3:9C:85:83:C5:C0:65:49:8A +# Fingerprint (SHA1): 5F:B7:EE:06:33:E2:59:DB:AD:0C:4C:9A:E6:D3:8F:1A:61:C7:DC:25 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "DigiCert High Assurance EV Root CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\137\267\356\006\063\342\131\333\255\014\114\232\346\323\217\032 +\141\307\334\045 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\324\164\336\127\134\071\262\323\234\205\203\305\300\145\111\212 +END +CKA_ISSUER MULTILINE_OCTAL +\060\154\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 +\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 +\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 +\155\061\053\060\051\006\003\125\004\003\023\042\104\151\147\151 +\103\145\162\164\040\110\151\147\150\040\101\163\163\165\162\141 +\156\143\145\040\105\126\040\122\157\157\164\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\002\254\134\046\152\013\100\233\217\013\171\362\256\106 +\045\167 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "DST Root CA X3" +# +# Issuer: CN=DST Root CA X3,O=Digital Signature Trust Co. +# Serial Number:44:af:b0:80:d6:a3:27:ba:89:30:39:86:2e:f8:40:6b +# Subject: CN=DST Root CA X3,O=Digital Signature Trust Co. +# Not Valid Before: Sat Sep 30 21:12:19 2000 +# Not Valid After : Thu Sep 30 14:01:15 2021 +# Fingerprint (MD5): 41:03:52:DC:0F:F7:50:1B:16:F0:02:8E:BA:6F:45:C5 +# Fingerprint (SHA1): DA:C9:02:4F:54:D8:F6:DF:94:93:5F:B1:73:26:38:CA:6A:D7:7C:13 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "DST Root CA X3" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\077\061\044\060\042\006\003\125\004\012\023\033\104\151\147 +\151\164\141\154\040\123\151\147\156\141\164\165\162\145\040\124 +\162\165\163\164\040\103\157\056\061\027\060\025\006\003\125\004 +\003\023\016\104\123\124\040\122\157\157\164\040\103\101\040\130 +\063 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\077\061\044\060\042\006\003\125\004\012\023\033\104\151\147 +\151\164\141\154\040\123\151\147\156\141\164\165\162\145\040\124 +\162\165\163\164\040\103\157\056\061\027\060\025\006\003\125\004 +\003\023\016\104\123\124\040\122\157\157\164\040\103\101\040\130 +\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\104\257\260\200\326\243\047\272\211\060\071\206\056\370 +\100\153 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\112\060\202\002\062\240\003\002\001\002\002\020\104 +\257\260\200\326\243\047\272\211\060\071\206\056\370\100\153\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\077 +\061\044\060\042\006\003\125\004\012\023\033\104\151\147\151\164 +\141\154\040\123\151\147\156\141\164\165\162\145\040\124\162\165 +\163\164\040\103\157\056\061\027\060\025\006\003\125\004\003\023 +\016\104\123\124\040\122\157\157\164\040\103\101\040\130\063\060 +\036\027\015\060\060\060\071\063\060\062\061\061\062\061\071\132 +\027\015\062\061\060\071\063\060\061\064\060\061\061\065\132\060 +\077\061\044\060\042\006\003\125\004\012\023\033\104\151\147\151 +\164\141\154\040\123\151\147\156\141\164\165\162\145\040\124\162 +\165\163\164\040\103\157\056\061\027\060\025\006\003\125\004\003 +\023\016\104\123\124\040\122\157\157\164\040\103\101\040\130\063 +\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001\001 +\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001\001 +\000\337\257\351\227\120\010\203\127\264\314\142\145\366\220\202 +\354\307\323\054\153\060\312\133\354\331\303\175\307\100\301\030 +\024\213\340\350\063\166\111\052\343\077\041\111\223\254\116\016 +\257\076\110\313\145\356\374\323\041\017\145\322\052\331\062\217 +\214\345\367\167\260\022\173\265\225\300\211\243\251\272\355\163 +\056\172\014\006\062\203\242\176\212\024\060\315\021\240\341\052 +\070\271\171\012\061\375\120\275\200\145\337\267\121\143\203\310 +\342\210\141\352\113\141\201\354\122\153\271\242\342\113\032\050 +\237\110\243\236\014\332\011\216\076\027\056\036\335\040\337\133 +\306\052\212\253\056\275\160\255\305\013\032\045\220\164\162\305 +\173\152\253\064\326\060\211\377\345\150\023\173\124\013\310\326 +\256\354\132\234\222\036\075\144\263\214\306\337\277\311\101\160 +\354\026\162\325\046\354\070\125\071\103\320\374\375\030\134\100 +\361\227\353\325\232\233\215\035\272\332\045\271\306\330\337\301 +\025\002\072\253\332\156\361\076\056\365\134\010\234\074\326\203 +\151\344\020\233\031\052\266\051\127\343\345\075\233\237\360\002 +\135\002\003\001\000\001\243\102\060\100\060\017\006\003\125\035 +\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003\125 +\035\017\001\001\377\004\004\003\002\001\006\060\035\006\003\125 +\035\016\004\026\004\024\304\247\261\244\173\054\161\372\333\341 +\113\220\165\377\304\025\140\205\211\020\060\015\006\011\052\206 +\110\206\367\015\001\001\005\005\000\003\202\001\001\000\243\032 +\054\233\027\000\134\251\036\356\050\146\067\072\277\203\307\077 +\113\303\011\240\225\040\135\343\331\131\104\322\076\015\076\275 +\212\113\240\164\037\316\020\202\234\164\032\035\176\230\032\335 +\313\023\113\263\040\104\344\221\351\314\374\175\245\333\152\345 +\376\346\375\340\116\335\267\000\072\265\160\111\257\362\345\353 +\002\361\321\002\213\031\313\224\072\136\110\304\030\036\130\031 +\137\036\002\132\360\014\361\261\255\251\334\131\206\213\156\351 +\221\365\206\312\372\271\146\063\252\131\133\316\342\247\026\163 +\107\313\053\314\231\260\067\110\317\343\126\113\365\317\017\014 +\162\062\207\306\360\104\273\123\162\155\103\365\046\110\232\122 +\147\267\130\253\376\147\166\161\170\333\015\242\126\024\023\071 +\044\061\205\242\250\002\132\060\107\341\335\120\007\274\002\011 +\220\000\353\144\143\140\233\026\274\210\311\022\346\322\175\221 +\213\371\075\062\215\145\264\351\174\261\127\166\352\305\266\050 +\071\277\025\145\034\310\366\167\226\152\012\215\167\013\330\221 +\013\004\216\007\333\051\266\012\356\235\202\065\065\020 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "DST Root CA X3" +# Issuer: CN=DST Root CA X3,O=Digital Signature Trust Co. +# Serial Number:44:af:b0:80:d6:a3:27:ba:89:30:39:86:2e:f8:40:6b +# Subject: CN=DST Root CA X3,O=Digital Signature Trust Co. +# Not Valid Before: Sat Sep 30 21:12:19 2000 +# Not Valid After : Thu Sep 30 14:01:15 2021 +# Fingerprint (MD5): 41:03:52:DC:0F:F7:50:1B:16:F0:02:8E:BA:6F:45:C5 +# Fingerprint (SHA1): DA:C9:02:4F:54:D8:F6:DF:94:93:5F:B1:73:26:38:CA:6A:D7:7C:13 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "DST Root CA X3" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\332\311\002\117\124\330\366\337\224\223\137\261\163\046\070\312 +\152\327\174\023 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\101\003\122\334\017\367\120\033\026\360\002\216\272\157\105\305 +END +CKA_ISSUER MULTILINE_OCTAL +\060\077\061\044\060\042\006\003\125\004\012\023\033\104\151\147 +\151\164\141\154\040\123\151\147\156\141\164\165\162\145\040\124 +\162\165\163\164\040\103\157\056\061\027\060\025\006\003\125\004 +\003\023\016\104\123\124\040\122\157\157\164\040\103\101\040\130 +\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\104\257\260\200\326\243\047\272\211\060\071\206\056\370 +\100\153 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "SwissSign Platinum CA - G2" +# +# Issuer: CN=SwissSign Platinum CA - G2,O=SwissSign AG,C=CH +# Serial Number:4e:b2:00:67:0c:03:5d:4f +# Subject: CN=SwissSign Platinum CA - G2,O=SwissSign AG,C=CH +# Not Valid Before: Wed Oct 25 08:36:00 2006 +# Not Valid After : Sat Oct 25 08:36:00 2036 +# Fingerprint (MD5): C9:98:27:77:28:1E:3D:0E:15:3C:84:00:B8:85:03:E6 +# Fingerprint (SHA1): 56:E0:FA:C0:3B:8F:18:23:55:18:E5:D3:11:CA:E8:C2:43:31:AB:66 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "SwissSign Platinum CA - G2" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\111\061\013\060\011\006\003\125\004\006\023\002\103\110\061 +\025\060\023\006\003\125\004\012\023\014\123\167\151\163\163\123 +\151\147\156\040\101\107\061\043\060\041\006\003\125\004\003\023 +\032\123\167\151\163\163\123\151\147\156\040\120\154\141\164\151 +\156\165\155\040\103\101\040\055\040\107\062 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\111\061\013\060\011\006\003\125\004\006\023\002\103\110\061 +\025\060\023\006\003\125\004\012\023\014\123\167\151\163\163\123 +\151\147\156\040\101\107\061\043\060\041\006\003\125\004\003\023 +\032\123\167\151\163\163\123\151\147\156\040\120\154\141\164\151 +\156\165\155\040\103\101\040\055\040\107\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\116\262\000\147\014\003\135\117 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\301\060\202\003\251\240\003\002\001\002\002\010\116 +\262\000\147\014\003\135\117\060\015\006\011\052\206\110\206\367 +\015\001\001\005\005\000\060\111\061\013\060\011\006\003\125\004 +\006\023\002\103\110\061\025\060\023\006\003\125\004\012\023\014 +\123\167\151\163\163\123\151\147\156\040\101\107\061\043\060\041 +\006\003\125\004\003\023\032\123\167\151\163\163\123\151\147\156 +\040\120\154\141\164\151\156\165\155\040\103\101\040\055\040\107 +\062\060\036\027\015\060\066\061\060\062\065\060\070\063\066\060 +\060\132\027\015\063\066\061\060\062\065\060\070\063\066\060\060 +\132\060\111\061\013\060\011\006\003\125\004\006\023\002\103\110 +\061\025\060\023\006\003\125\004\012\023\014\123\167\151\163\163 +\123\151\147\156\040\101\107\061\043\060\041\006\003\125\004\003 +\023\032\123\167\151\163\163\123\151\147\156\040\120\154\141\164 +\151\156\165\155\040\103\101\040\055\040\107\062\060\202\002\042 +\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003 +\202\002\017\000\060\202\002\012\002\202\002\001\000\312\337\242 +\002\342\332\370\374\007\026\261\336\140\252\336\226\134\144\037 +\307\057\176\317\147\372\104\102\326\166\143\225\256\353\257\162 +\040\212\105\107\206\142\170\206\326\040\071\046\364\256\243\375 +\043\347\245\234\265\042\041\031\267\067\223\042\300\120\234\202 +\173\324\325\004\104\134\313\264\302\237\222\276\044\330\173\147 +\042\342\151\137\345\005\170\324\207\331\161\160\063\045\123\264 +\207\073\051\220\050\066\232\125\104\060\150\244\203\227\177\015 +\036\234\166\377\025\235\140\227\000\215\212\205\003\354\200\276 +\352\054\156\020\121\222\314\176\325\243\063\330\326\111\336\130 +\052\257\366\026\353\113\173\220\062\227\271\272\235\130\361\370 +\127\111\004\036\242\135\006\160\335\161\333\371\335\213\232\033 +\214\317\075\243\115\316\313\174\366\273\234\240\372\011\316\043 +\142\262\351\015\037\342\162\050\217\237\254\150\040\175\157\073 +\250\205\061\011\177\013\307\350\145\351\343\170\016\011\147\060 +\213\064\202\373\135\340\314\235\201\155\142\356\010\036\004\054 +\116\233\354\376\251\117\137\375\151\170\357\011\037\241\264\277 +\372\363\357\220\036\114\005\213\036\352\172\221\172\303\327\345 +\373\060\274\154\033\020\130\230\367\032\137\320\051\062\003\023 +\106\115\141\152\205\114\122\164\057\006\037\173\021\342\204\227 +\306\231\363\155\177\327\147\203\176\023\150\330\161\050\132\330 +\316\335\350\020\024\232\376\155\043\207\156\216\132\160\074\325 +\215\011\000\247\252\274\260\061\067\155\310\204\024\036\133\275 +\105\143\040\153\113\164\214\275\333\072\016\301\317\132\026\217 +\245\230\362\166\211\262\023\022\073\013\167\167\254\273\345\074 +\051\112\222\162\312\141\032\053\136\114\342\203\164\167\372\065 +\110\172\205\115\215\232\123\304\337\170\312\227\221\110\053\105 +\053\001\367\034\032\242\355\030\272\012\275\203\372\157\274\215 +\127\223\073\324\324\246\316\036\361\240\261\316\253\375\053\050 +\232\117\033\327\303\162\333\244\304\277\135\114\365\335\173\226 +\151\356\150\200\346\347\230\272\066\267\376\156\355\053\275\040 +\370\145\031\332\125\011\176\045\334\376\141\142\162\371\176\030 +\002\357\143\264\320\373\257\345\073\143\214\147\217\002\003\001 +\000\001\243\201\254\060\201\251\060\016\006\003\125\035\017\001 +\001\377\004\004\003\002\001\006\060\017\006\003\125\035\023\001 +\001\377\004\005\060\003\001\001\377\060\035\006\003\125\035\016 +\004\026\004\024\120\257\314\007\207\025\107\157\070\305\264\145 +\321\336\225\252\351\337\234\314\060\037\006\003\125\035\043\004 +\030\060\026\200\024\120\257\314\007\207\025\107\157\070\305\264 +\145\321\336\225\252\351\337\234\314\060\106\006\003\125\035\040 +\004\077\060\075\060\073\006\011\140\205\164\001\131\001\001\001 +\001\060\056\060\054\006\010\053\006\001\005\005\007\002\001\026 +\040\150\164\164\160\072\057\057\162\145\160\157\163\151\164\157 +\162\171\056\163\167\151\163\163\163\151\147\156\056\143\157\155 +\057\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000 +\003\202\002\001\000\010\205\246\365\026\014\374\104\032\301\143 +\340\371\125\106\010\374\160\034\102\050\226\216\267\305\301\101 +\165\116\011\161\171\345\155\226\312\113\245\210\140\320\060\164 +\270\312\010\334\264\060\236\100\007\026\153\145\225\167\001\256 +\244\267\065\013\201\332\161\025\251\164\027\070\173\130\312\371 +\057\373\300\145\166\215\133\001\271\175\336\202\075\144\270\276 +\024\164\243\012\124\323\054\225\030\027\065\365\121\153\077\217 +\242\226\141\071\170\153\113\345\246\240\370\123\337\121\020\223 +\142\347\200\057\342\321\340\274\216\066\106\167\063\354\270\373 +\216\232\054\211\115\061\021\017\046\236\004\273\267\004\215\013 +\362\271\374\132\235\073\026\267\057\310\230\253\376\212\120\131 +\056\243\073\374\051\135\213\301\113\311\342\212\023\035\261\277 +\273\102\035\122\335\116\330\024\136\020\306\061\007\357\161\047 +\367\033\071\011\334\202\352\213\263\225\206\136\375\365\332\135 +\061\246\340\061\266\224\346\104\111\164\305\026\345\367\037\003 +\141\050\305\310\313\022\240\102\113\371\153\210\010\215\264\062 +\030\363\165\237\304\177\000\117\005\225\234\243\027\002\303\263 +\123\233\252\040\071\051\053\146\372\235\257\136\263\222\322\265 +\246\341\032\371\055\101\151\201\024\264\264\265\355\211\075\316 +\373\251\235\065\102\104\261\034\024\163\201\317\052\001\065\232 +\061\325\055\217\155\204\337\200\115\127\343\077\305\204\165\332 +\211\306\060\273\353\217\313\042\010\240\256\252\361\003\154\072 +\113\115\011\245\016\162\306\126\153\041\102\116\043\045\024\150 +\256\166\012\174\014\007\160\144\371\232\057\366\005\071\046\306 +\014\217\031\177\103\136\156\364\133\025\057\333\141\135\346\147 +\057\077\010\224\371\140\264\230\061\332\164\361\204\223\161\115 +\137\373\140\130\321\373\304\301\155\211\242\273\040\037\235\161 +\221\313\062\233\023\075\076\175\222\122\065\254\222\224\242\323 +\030\302\174\307\352\257\166\005\026\335\147\047\302\176\034\007 +\042\041\363\100\012\033\064\007\104\023\302\204\152\216\337\031 +\132\277\177\353\035\342\032\070\321\134\257\107\222\153\200\265 +\060\245\311\215\330\253\061\201\037\337\302\146\067\323\223\251 +\205\206\171\145\322 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "SwissSign Platinum CA - G2" +# Issuer: CN=SwissSign Platinum CA - G2,O=SwissSign AG,C=CH +# Serial Number:4e:b2:00:67:0c:03:5d:4f +# Subject: CN=SwissSign Platinum CA - G2,O=SwissSign AG,C=CH +# Not Valid Before: Wed Oct 25 08:36:00 2006 +# Not Valid After : Sat Oct 25 08:36:00 2036 +# Fingerprint (MD5): C9:98:27:77:28:1E:3D:0E:15:3C:84:00:B8:85:03:E6 +# Fingerprint (SHA1): 56:E0:FA:C0:3B:8F:18:23:55:18:E5:D3:11:CA:E8:C2:43:31:AB:66 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "SwissSign Platinum CA - G2" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\126\340\372\300\073\217\030\043\125\030\345\323\021\312\350\302 +\103\061\253\146 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\311\230\047\167\050\036\075\016\025\074\204\000\270\205\003\346 +END +CKA_ISSUER MULTILINE_OCTAL +\060\111\061\013\060\011\006\003\125\004\006\023\002\103\110\061 +\025\060\023\006\003\125\004\012\023\014\123\167\151\163\163\123 +\151\147\156\040\101\107\061\043\060\041\006\003\125\004\003\023 +\032\123\167\151\163\163\123\151\147\156\040\120\154\141\164\151 +\156\165\155\040\103\101\040\055\040\107\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\116\262\000\147\014\003\135\117 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "SwissSign Gold CA - G2" +# +# Issuer: CN=SwissSign Gold CA - G2,O=SwissSign AG,C=CH +# Serial Number:00:bb:40:1c:43:f5:5e:4f:b0 +# Subject: CN=SwissSign Gold CA - G2,O=SwissSign AG,C=CH +# Not Valid Before: Wed Oct 25 08:30:35 2006 +# Not Valid After : Sat Oct 25 08:30:35 2036 +# Fingerprint (MD5): 24:77:D9:A8:91:D1:3B:FA:88:2D:C2:FF:F8:CD:33:93 +# Fingerprint (SHA1): D8:C5:38:8A:B7:30:1B:1B:6E:D4:7A:E6:45:25:3A:6F:9F:1A:27:61 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "SwissSign Gold CA - G2" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\105\061\013\060\011\006\003\125\004\006\023\002\103\110\061 +\025\060\023\006\003\125\004\012\023\014\123\167\151\163\163\123 +\151\147\156\040\101\107\061\037\060\035\006\003\125\004\003\023 +\026\123\167\151\163\163\123\151\147\156\040\107\157\154\144\040 +\103\101\040\055\040\107\062 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\105\061\013\060\011\006\003\125\004\006\023\002\103\110\061 +\025\060\023\006\003\125\004\012\023\014\123\167\151\163\163\123 +\151\147\156\040\101\107\061\037\060\035\006\003\125\004\003\023 +\026\123\167\151\163\163\123\151\147\156\040\107\157\154\144\040 +\103\101\040\055\040\107\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\011\000\273\100\034\103\365\136\117\260 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\272\060\202\003\242\240\003\002\001\002\002\011\000 +\273\100\034\103\365\136\117\260\060\015\006\011\052\206\110\206 +\367\015\001\001\005\005\000\060\105\061\013\060\011\006\003\125 +\004\006\023\002\103\110\061\025\060\023\006\003\125\004\012\023 +\014\123\167\151\163\163\123\151\147\156\040\101\107\061\037\060 +\035\006\003\125\004\003\023\026\123\167\151\163\163\123\151\147 +\156\040\107\157\154\144\040\103\101\040\055\040\107\062\060\036 +\027\015\060\066\061\060\062\065\060\070\063\060\063\065\132\027 +\015\063\066\061\060\062\065\060\070\063\060\063\065\132\060\105 +\061\013\060\011\006\003\125\004\006\023\002\103\110\061\025\060 +\023\006\003\125\004\012\023\014\123\167\151\163\163\123\151\147 +\156\040\101\107\061\037\060\035\006\003\125\004\003\023\026\123 +\167\151\163\163\123\151\147\156\040\107\157\154\144\040\103\101 +\040\055\040\107\062\060\202\002\042\060\015\006\011\052\206\110 +\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202\002 +\012\002\202\002\001\000\257\344\356\176\213\044\016\022\156\251 +\120\055\026\104\073\222\222\134\312\270\135\204\222\102\023\052 +\274\145\127\202\100\076\127\044\315\120\213\045\052\267\157\374 +\357\242\320\300\037\002\044\112\023\226\217\043\023\346\050\130 +\000\243\107\307\006\247\204\043\053\273\275\226\053\177\125\314 +\213\301\127\037\016\142\145\017\335\075\126\212\163\332\256\176 +\155\272\201\034\176\102\214\040\065\331\103\115\204\372\204\333 +\122\054\363\016\047\167\013\153\277\021\057\162\170\237\056\330 +\076\346\030\067\132\052\162\371\332\142\220\222\225\312\037\234 +\351\263\074\053\313\363\001\023\277\132\317\301\265\012\140\275 +\335\265\231\144\123\270\240\226\263\157\342\046\167\221\214\340 +\142\020\002\237\064\017\244\325\222\063\121\336\276\215\272\204 +\172\140\074\152\333\237\053\354\336\336\001\077\156\115\345\120 +\206\313\264\257\355\104\100\305\312\132\214\332\322\053\174\250 +\356\276\246\345\012\252\016\245\337\005\122\267\125\307\042\135 +\062\152\227\227\143\023\333\311\333\171\066\173\205\072\112\305 +\122\211\371\044\347\235\167\251\202\377\125\034\245\161\151\053 +\321\002\044\362\263\046\324\153\332\004\125\345\301\012\307\155 +\060\067\220\052\344\236\024\063\136\026\027\125\305\133\265\313 +\064\211\222\361\235\046\217\241\007\324\306\262\170\120\333\014 +\014\013\174\013\214\101\327\271\351\335\214\210\367\243\115\262 +\062\314\330\027\332\315\267\316\146\235\324\375\136\377\275\227 +\076\051\165\347\176\247\142\130\257\045\064\245\101\307\075\274 +\015\120\312\003\003\017\010\132\037\225\163\170\142\277\257\162 +\024\151\016\245\345\003\016\170\216\046\050\102\360\007\013\142 +\040\020\147\071\106\372\251\003\314\004\070\172\146\357\040\203 +\265\214\112\126\216\221\000\374\216\134\202\336\210\240\303\342 +\150\156\175\215\357\074\335\145\364\135\254\121\357\044\200\256 +\252\126\227\157\371\255\175\332\141\077\230\167\074\245\221\266 +\034\214\046\332\145\242\011\155\301\342\124\343\271\312\114\114 +\200\217\167\173\140\232\036\337\266\362\110\036\016\272\116\124 +\155\230\340\341\242\032\242\167\120\317\304\143\222\354\107\031 +\235\353\346\153\316\301\002\003\001\000\001\243\201\254\060\201 +\251\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001 +\006\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001 +\001\377\060\035\006\003\125\035\016\004\026\004\024\133\045\173 +\226\244\145\121\176\270\071\363\300\170\146\136\350\072\347\360 +\356\060\037\006\003\125\035\043\004\030\060\026\200\024\133\045 +\173\226\244\145\121\176\270\071\363\300\170\146\136\350\072\347 +\360\356\060\106\006\003\125\035\040\004\077\060\075\060\073\006 +\011\140\205\164\001\131\001\002\001\001\060\056\060\054\006\010 +\053\006\001\005\005\007\002\001\026\040\150\164\164\160\072\057 +\057\162\145\160\157\163\151\164\157\162\171\056\163\167\151\163 +\163\163\151\147\156\056\143\157\155\057\060\015\006\011\052\206 +\110\206\367\015\001\001\005\005\000\003\202\002\001\000\047\272 +\343\224\174\361\256\300\336\027\346\345\330\325\365\124\260\203 +\364\273\315\136\005\173\117\237\165\146\257\074\350\126\176\374 +\162\170\070\003\331\053\142\033\000\271\370\351\140\315\314\316 +\121\212\307\120\061\156\341\112\176\030\057\151\131\266\075\144 +\201\053\343\203\204\346\042\207\216\175\340\356\002\231\141\270 +\036\364\270\053\210\022\026\204\302\061\223\070\226\061\246\271 +\073\123\077\303\044\223\126\133\151\222\354\305\301\273\070\000 +\343\354\027\251\270\334\307\174\001\203\237\062\107\272\122\042 +\064\035\062\172\011\126\247\174\045\066\251\075\113\332\300\202 +\157\012\273\022\310\207\113\047\021\371\036\055\307\223\077\236 +\333\137\046\153\122\331\056\212\361\024\306\104\215\025\251\267 +\277\275\336\246\032\356\256\055\373\110\167\027\376\273\354\257 +\030\365\052\121\360\071\204\227\225\154\156\033\303\053\304\164 +\140\171\045\260\012\047\337\337\136\322\071\317\105\175\102\113 +\337\263\054\036\305\306\135\312\125\072\240\234\151\232\217\332 +\357\262\260\074\237\207\154\022\053\145\160\025\122\061\032\044 +\317\157\061\043\120\037\214\117\217\043\303\164\101\143\034\125 +\250\024\335\076\340\121\120\317\361\033\060\126\016\222\260\202 +\205\330\203\313\042\144\274\055\270\045\325\124\242\270\006\352 +\255\222\244\044\240\301\206\265\112\023\152\107\317\056\013\126 +\225\124\313\316\232\333\152\264\246\262\333\101\010\206\047\167 +\367\152\240\102\154\013\070\316\327\165\120\062\222\302\337\053 +\060\042\110\320\325\101\070\045\135\244\351\135\237\306\224\165 +\320\105\375\060\227\103\217\220\253\012\307\206\163\140\112\151 +\055\336\245\170\327\006\332\152\236\113\076\167\072\040\023\042 +\001\320\277\150\236\143\140\153\065\115\013\155\272\241\075\300 +\223\340\177\043\263\125\255\162\045\116\106\371\322\026\357\260 +\144\301\001\236\351\312\240\152\230\016\317\330\140\362\057\111 +\270\344\102\341\070\065\026\364\310\156\117\367\201\126\350\272 +\243\276\043\257\256\375\157\003\340\002\073\060\166\372\033\155 +\101\317\001\261\351\270\311\146\364\333\046\363\072\244\164\362 +\111\044\133\311\260\320\127\301\372\076\172\341\227\311 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "SwissSign Gold CA - G2" +# Issuer: CN=SwissSign Gold CA - G2,O=SwissSign AG,C=CH +# Serial Number:00:bb:40:1c:43:f5:5e:4f:b0 +# Subject: CN=SwissSign Gold CA - G2,O=SwissSign AG,C=CH +# Not Valid Before: Wed Oct 25 08:30:35 2006 +# Not Valid After : Sat Oct 25 08:30:35 2036 +# Fingerprint (MD5): 24:77:D9:A8:91:D1:3B:FA:88:2D:C2:FF:F8:CD:33:93 +# Fingerprint (SHA1): D8:C5:38:8A:B7:30:1B:1B:6E:D4:7A:E6:45:25:3A:6F:9F:1A:27:61 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "SwissSign Gold CA - G2" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\330\305\070\212\267\060\033\033\156\324\172\346\105\045\072\157 +\237\032\047\141 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\044\167\331\250\221\321\073\372\210\055\302\377\370\315\063\223 +END +CKA_ISSUER MULTILINE_OCTAL +\060\105\061\013\060\011\006\003\125\004\006\023\002\103\110\061 +\025\060\023\006\003\125\004\012\023\014\123\167\151\163\163\123 +\151\147\156\040\101\107\061\037\060\035\006\003\125\004\003\023 +\026\123\167\151\163\163\123\151\147\156\040\107\157\154\144\040 +\103\101\040\055\040\107\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\011\000\273\100\034\103\365\136\117\260 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "SwissSign Silver CA - G2" +# +# Issuer: CN=SwissSign Silver CA - G2,O=SwissSign AG,C=CH +# Serial Number:4f:1b:d4:2f:54:bb:2f:4b +# Subject: CN=SwissSign Silver CA - G2,O=SwissSign AG,C=CH +# Not Valid Before: Wed Oct 25 08:32:46 2006 +# Not Valid After : Sat Oct 25 08:32:46 2036 +# Fingerprint (MD5): E0:06:A1:C9:7D:CF:C9:FC:0D:C0:56:75:96:D8:62:13 +# Fingerprint (SHA1): 9B:AA:E5:9F:56:EE:21:CB:43:5A:BE:25:93:DF:A7:F0:40:D1:1D:CB +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "SwissSign Silver CA - G2" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\107\061\013\060\011\006\003\125\004\006\023\002\103\110\061 +\025\060\023\006\003\125\004\012\023\014\123\167\151\163\163\123 +\151\147\156\040\101\107\061\041\060\037\006\003\125\004\003\023 +\030\123\167\151\163\163\123\151\147\156\040\123\151\154\166\145 +\162\040\103\101\040\055\040\107\062 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\107\061\013\060\011\006\003\125\004\006\023\002\103\110\061 +\025\060\023\006\003\125\004\012\023\014\123\167\151\163\163\123 +\151\147\156\040\101\107\061\041\060\037\006\003\125\004\003\023 +\030\123\167\151\163\163\123\151\147\156\040\123\151\154\166\145 +\162\040\103\101\040\055\040\107\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\117\033\324\057\124\273\057\113 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\275\060\202\003\245\240\003\002\001\002\002\010\117 +\033\324\057\124\273\057\113\060\015\006\011\052\206\110\206\367 +\015\001\001\005\005\000\060\107\061\013\060\011\006\003\125\004 +\006\023\002\103\110\061\025\060\023\006\003\125\004\012\023\014 +\123\167\151\163\163\123\151\147\156\040\101\107\061\041\060\037 +\006\003\125\004\003\023\030\123\167\151\163\163\123\151\147\156 +\040\123\151\154\166\145\162\040\103\101\040\055\040\107\062\060 +\036\027\015\060\066\061\060\062\065\060\070\063\062\064\066\132 +\027\015\063\066\061\060\062\065\060\070\063\062\064\066\132\060 +\107\061\013\060\011\006\003\125\004\006\023\002\103\110\061\025 +\060\023\006\003\125\004\012\023\014\123\167\151\163\163\123\151 +\147\156\040\101\107\061\041\060\037\006\003\125\004\003\023\030 +\123\167\151\163\163\123\151\147\156\040\123\151\154\166\145\162 +\040\103\101\040\055\040\107\062\060\202\002\042\060\015\006\011 +\052\206\110\206\367\015\001\001\001\005\000\003\202\002\017\000 +\060\202\002\012\002\202\002\001\000\304\361\207\177\323\170\061 +\367\070\311\370\303\231\103\274\307\367\274\067\347\116\161\272 +\113\217\245\163\035\134\156\230\256\003\127\256\070\067\103\057 +\027\075\037\310\316\150\020\301\170\256\031\003\053\020\372\054 +\171\203\366\350\271\150\271\125\362\004\104\247\071\371\374\004 +\213\036\361\242\115\047\371\141\173\272\267\345\242\023\266\353 +\141\076\320\154\321\346\373\372\136\355\035\264\236\240\065\133 +\241\222\313\360\111\222\376\205\012\005\076\346\331\013\342\117 +\273\334\225\067\374\221\351\062\065\042\321\037\072\116\047\205 +\235\260\025\224\062\332\141\015\107\115\140\102\256\222\107\350 +\203\132\120\130\351\212\213\271\135\241\334\335\231\112\037\066 +\147\273\110\344\203\266\067\353\110\072\257\017\147\217\027\007 +\350\004\312\357\152\061\207\324\300\266\371\224\161\173\147\144 +\270\266\221\112\102\173\145\056\060\152\014\365\220\356\225\346 +\362\315\202\354\331\241\112\354\366\262\113\345\105\205\346\155 +\170\223\004\056\234\202\155\066\251\304\061\144\037\206\203\013 +\052\364\065\012\170\311\125\317\101\260\107\351\060\237\231\276 +\141\250\006\204\271\050\172\137\070\331\033\251\070\260\203\177 +\163\301\303\073\110\052\202\017\041\233\270\314\250\065\303\204 +\033\203\263\076\276\244\225\151\001\072\211\000\170\004\331\311 +\364\231\031\253\126\176\133\213\206\071\025\221\244\020\054\011 +\062\200\140\263\223\300\052\266\030\013\235\176\215\111\362\020 +\112\177\371\325\106\057\031\222\243\231\247\046\254\273\214\074 +\346\016\274\107\007\334\163\121\361\160\144\057\010\371\264\107 +\035\060\154\104\352\051\067\205\222\150\146\274\203\070\376\173 +\071\056\323\120\360\037\373\136\140\266\251\246\372\047\101\361 +\233\030\162\362\365\204\164\112\311\147\304\124\256\110\144\337 +\214\321\156\260\035\341\007\217\010\036\231\234\161\351\114\330 +\245\367\107\022\037\164\321\121\236\206\363\302\242\043\100\013 +\163\333\113\246\347\163\006\214\301\240\351\301\131\254\106\372 +\346\057\370\317\161\234\106\155\271\304\025\215\070\171\003\105 +\110\357\304\135\327\010\356\207\071\042\206\262\015\017\130\103 +\367\161\251\110\056\375\352\326\037\002\003\001\000\001\243\201 +\254\060\201\251\060\016\006\003\125\035\017\001\001\377\004\004 +\003\002\001\006\060\017\006\003\125\035\023\001\001\377\004\005 +\060\003\001\001\377\060\035\006\003\125\035\016\004\026\004\024 +\027\240\315\301\344\101\266\072\133\073\313\105\235\275\034\302 +\230\372\206\130\060\037\006\003\125\035\043\004\030\060\026\200 +\024\027\240\315\301\344\101\266\072\133\073\313\105\235\275\034 +\302\230\372\206\130\060\106\006\003\125\035\040\004\077\060\075 +\060\073\006\011\140\205\164\001\131\001\003\001\001\060\056\060 +\054\006\010\053\006\001\005\005\007\002\001\026\040\150\164\164 +\160\072\057\057\162\145\160\157\163\151\164\157\162\171\056\163 +\167\151\163\163\163\151\147\156\056\143\157\155\057\060\015\006 +\011\052\206\110\206\367\015\001\001\005\005\000\003\202\002\001 +\000\163\306\201\340\047\322\055\017\340\225\060\342\232\101\177 +\120\054\137\137\142\141\251\206\152\151\030\014\164\111\326\135 +\204\352\101\122\030\157\130\255\120\126\040\152\306\275\050\151 +\130\221\334\221\021\065\251\072\035\274\032\245\140\236\330\037 +\177\105\221\151\331\176\273\170\162\301\006\017\052\316\217\205 +\160\141\254\240\315\013\270\071\051\126\204\062\116\206\273\075 +\304\052\331\327\037\162\356\376\121\241\042\101\261\161\002\143 +\032\202\260\142\253\136\127\022\037\337\313\335\165\240\300\135 +\171\220\214\033\340\120\346\336\061\376\230\173\160\137\245\220 +\330\255\370\002\266\157\323\140\335\100\113\042\305\075\255\072 +\172\237\032\032\107\221\171\063\272\202\334\062\151\003\226\156 +\037\113\360\161\376\343\147\162\240\261\277\134\213\344\372\231 +\042\307\204\271\033\215\043\227\077\355\045\340\317\145\273\365 +\141\004\357\335\036\262\132\101\042\132\241\237\135\054\350\133 +\311\155\251\014\014\170\252\140\306\126\217\001\132\014\150\274 +\151\031\171\304\037\176\227\005\277\305\351\044\121\136\324\325 +\113\123\355\331\043\132\066\003\145\243\301\003\255\101\060\363 +\106\033\205\220\257\145\265\325\261\344\026\133\170\165\035\227 +\172\155\131\251\052\217\173\336\303\207\211\020\231\111\163\170 +\310\075\275\121\065\164\052\325\361\176\151\033\052\273\073\275 +\045\270\232\132\075\162\141\220\146\207\356\014\326\115\324\021 +\164\013\152\376\013\003\374\243\125\127\211\376\112\313\256\133 +\027\005\310\362\215\043\061\123\070\322\055\152\077\202\271\215 +\010\152\367\136\101\164\156\303\021\176\007\254\051\140\221\077 +\070\312\127\020\015\275\060\057\307\245\346\101\240\332\256\005 +\207\232\240\244\145\154\114\011\014\211\272\270\323\271\300\223 +\212\060\372\215\345\232\153\025\001\116\147\252\332\142\126\076 +\204\010\146\322\304\066\175\247\076\020\374\210\340\324\200\345 +\000\275\252\363\116\006\243\172\152\371\142\162\343\011\117\353 +\233\016\001\043\361\237\273\174\334\334\154\021\227\045\262\362 +\264\143\024\322\006\052\147\214\203\365\316\352\007\330\232\152 +\036\354\344\012\273\052\114\353\011\140\071\316\312\142\330\056 +\156 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "SwissSign Silver CA - G2" +# Issuer: CN=SwissSign Silver CA - G2,O=SwissSign AG,C=CH +# Serial Number:4f:1b:d4:2f:54:bb:2f:4b +# Subject: CN=SwissSign Silver CA - G2,O=SwissSign AG,C=CH +# Not Valid Before: Wed Oct 25 08:32:46 2006 +# Not Valid After : Sat Oct 25 08:32:46 2036 +# Fingerprint (MD5): E0:06:A1:C9:7D:CF:C9:FC:0D:C0:56:75:96:D8:62:13 +# Fingerprint (SHA1): 9B:AA:E5:9F:56:EE:21:CB:43:5A:BE:25:93:DF:A7:F0:40:D1:1D:CB +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "SwissSign Silver CA - G2" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\233\252\345\237\126\356\041\313\103\132\276\045\223\337\247\360 +\100\321\035\313 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\340\006\241\311\175\317\311\374\015\300\126\165\226\330\142\023 +END +CKA_ISSUER MULTILINE_OCTAL +\060\107\061\013\060\011\006\003\125\004\006\023\002\103\110\061 +\025\060\023\006\003\125\004\012\023\014\123\167\151\163\163\123 +\151\147\156\040\101\107\061\041\060\037\006\003\125\004\003\023 +\030\123\167\151\163\163\123\151\147\156\040\123\151\154\166\145 +\162\040\103\101\040\055\040\107\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\117\033\324\057\124\273\057\113 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "GeoTrust Primary Certification Authority" +# +# Issuer: CN=GeoTrust Primary Certification Authority,O=GeoTrust Inc.,C=US +# Serial Number:18:ac:b5:6a:fd:69:b6:15:3a:63:6c:af:da:fa:c4:a1 +# Subject: CN=GeoTrust Primary Certification Authority,O=GeoTrust Inc.,C=US +# Not Valid Before: Mon Nov 27 00:00:00 2006 +# Not Valid After : Wed Jul 16 23:59:59 2036 +# Fingerprint (MD5): 02:26:C3:01:5E:08:30:37:43:A9:D0:7D:CF:37:E6:BF +# Fingerprint (SHA1): 32:3C:11:8E:1B:F7:B8:B6:52:54:E2:E2:10:0D:D6:02:90:37:F0:96 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "GeoTrust Primary Certification Authority" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\130\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165 +\163\164\040\111\156\143\056\061\061\060\057\006\003\125\004\003 +\023\050\107\145\157\124\162\165\163\164\040\120\162\151\155\141 +\162\171\040\103\145\162\164\151\146\151\143\141\164\151\157\156 +\040\101\165\164\150\157\162\151\164\171 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\130\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165 +\163\164\040\111\156\143\056\061\061\060\057\006\003\125\004\003 +\023\050\107\145\157\124\162\165\163\164\040\120\162\151\155\141 +\162\171\040\103\145\162\164\151\146\151\143\141\164\151\157\156 +\040\101\165\164\150\157\162\151\164\171 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\030\254\265\152\375\151\266\025\072\143\154\257\332\372 +\304\241 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\174\060\202\002\144\240\003\002\001\002\002\020\030 +\254\265\152\375\151\266\025\072\143\154\257\332\372\304\241\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\130 +\061\013\060\011\006\003\125\004\006\023\002\125\123\061\026\060 +\024\006\003\125\004\012\023\015\107\145\157\124\162\165\163\164 +\040\111\156\143\056\061\061\060\057\006\003\125\004\003\023\050 +\107\145\157\124\162\165\163\164\040\120\162\151\155\141\162\171 +\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 +\165\164\150\157\162\151\164\171\060\036\027\015\060\066\061\061 +\062\067\060\060\060\060\060\060\132\027\015\063\066\060\067\061 +\066\062\063\065\071\065\071\132\060\130\061\013\060\011\006\003 +\125\004\006\023\002\125\123\061\026\060\024\006\003\125\004\012 +\023\015\107\145\157\124\162\165\163\164\040\111\156\143\056\061 +\061\060\057\006\003\125\004\003\023\050\107\145\157\124\162\165 +\163\164\040\120\162\151\155\141\162\171\040\103\145\162\164\151 +\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 +\164\171\060\202\001\042\060\015\006\011\052\206\110\206\367\015 +\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202 +\001\001\000\276\270\025\173\377\324\174\175\147\255\203\144\173 +\310\102\123\055\337\366\204\010\040\141\326\001\131\152\234\104 +\021\257\357\166\375\225\176\316\141\060\273\172\203\137\002\275 +\001\146\312\356\025\215\157\241\060\234\275\241\205\236\224\072 +\363\126\210\000\061\317\330\356\152\226\002\331\355\003\214\373 +\165\155\347\352\270\125\026\005\026\232\364\340\136\261\210\300 +\144\205\134\025\115\210\307\267\272\340\165\351\255\005\075\235 +\307\211\110\340\273\050\310\003\341\060\223\144\136\122\300\131 +\160\042\065\127\210\212\361\225\012\203\327\274\061\163\001\064 +\355\357\106\161\340\153\002\250\065\162\153\227\233\146\340\313 +\034\171\137\330\032\004\150\036\107\002\346\235\140\342\066\227 +\001\337\316\065\222\337\276\147\307\155\167\131\073\217\235\326 +\220\025\224\274\102\064\020\301\071\371\261\047\076\176\326\212 +\165\305\262\257\226\323\242\336\233\344\230\276\175\341\351\201 +\255\266\157\374\327\016\332\340\064\260\015\032\167\347\343\010 +\230\357\130\372\234\204\267\066\257\302\337\254\322\364\020\006 +\160\161\065\002\003\001\000\001\243\102\060\100\060\017\006\003 +\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006 +\003\125\035\017\001\001\377\004\004\003\002\001\006\060\035\006 +\003\125\035\016\004\026\004\024\054\325\120\101\227\025\213\360 +\217\066\141\133\112\373\153\331\231\311\063\222\060\015\006\011 +\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000 +\132\160\177\054\335\267\064\117\365\206\121\251\046\276\113\270 +\252\361\161\015\334\141\307\240\352\064\036\172\167\017\004\065 +\350\047\217\154\220\277\221\026\044\106\076\112\116\316\053\026 +\325\013\122\035\374\037\147\242\002\105\061\117\316\363\372\003 +\247\171\235\123\152\331\332\143\072\370\200\327\323\231\341\245 +\341\276\324\125\161\230\065\072\276\223\352\256\255\102\262\220 +\157\340\374\041\115\065\143\063\211\111\326\233\116\312\307\347 +\116\011\000\367\332\307\357\231\142\231\167\266\225\042\136\212 +\240\253\364\270\170\230\312\070\031\231\311\162\236\170\315\113 +\254\257\031\240\163\022\055\374\302\101\272\201\221\332\026\132 +\061\267\371\264\161\200\022\110\231\162\163\132\131\123\301\143 +\122\063\355\247\311\322\071\002\160\372\340\261\102\146\051\252 +\233\121\355\060\124\042\024\137\331\253\035\301\344\224\360\370 +\365\053\367\352\312\170\106\326\270\221\375\246\015\053\032\024 +\001\076\200\360\102\240\225\007\136\155\315\314\113\244\105\215 +\253\022\350\263\336\132\345\240\174\350\017\042\035\132\351\131 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "GeoTrust Primary Certification Authority" +# Issuer: CN=GeoTrust Primary Certification Authority,O=GeoTrust Inc.,C=US +# Serial Number:18:ac:b5:6a:fd:69:b6:15:3a:63:6c:af:da:fa:c4:a1 +# Subject: CN=GeoTrust Primary Certification Authority,O=GeoTrust Inc.,C=US +# Not Valid Before: Mon Nov 27 00:00:00 2006 +# Not Valid After : Wed Jul 16 23:59:59 2036 +# Fingerprint (MD5): 02:26:C3:01:5E:08:30:37:43:A9:D0:7D:CF:37:E6:BF +# Fingerprint (SHA1): 32:3C:11:8E:1B:F7:B8:B6:52:54:E2:E2:10:0D:D6:02:90:37:F0:96 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "GeoTrust Primary Certification Authority" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\062\074\021\216\033\367\270\266\122\124\342\342\020\015\326\002 +\220\067\360\226 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\002\046\303\001\136\010\060\067\103\251\320\175\317\067\346\277 +END +CKA_ISSUER MULTILINE_OCTAL +\060\130\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165 +\163\164\040\111\156\143\056\061\061\060\057\006\003\125\004\003 +\023\050\107\145\157\124\162\165\163\164\040\120\162\151\155\141 +\162\171\040\103\145\162\164\151\146\151\143\141\164\151\157\156 +\040\101\165\164\150\157\162\151\164\171 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\030\254\265\152\375\151\266\025\072\143\154\257\332\372 +\304\241 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "thawte Primary Root CA" +# +# Issuer: CN=thawte Primary Root CA,OU="(c) 2006 thawte, Inc. - For authorized use only",OU=Certification Services Division,O="thawte, Inc.",C=US +# Serial Number:34:4e:d5:57:20:d5:ed:ec:49:f4:2f:ce:37:db:2b:6d +# Subject: CN=thawte Primary Root CA,OU="(c) 2006 thawte, Inc. - For authorized use only",OU=Certification Services Division,O="thawte, Inc.",C=US +# Not Valid Before: Fri Nov 17 00:00:00 2006 +# Not Valid After : Wed Jul 16 23:59:59 2036 +# Fingerprint (MD5): 8C:CA:DC:0B:22:CE:F5:BE:72:AC:41:1A:11:A8:D8:12 +# Fingerprint (SHA1): 91:C6:D6:EE:3E:8A:C8:63:84:E5:48:C2:99:29:5C:75:6C:81:7B:81 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "thawte Primary Root CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\251\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164 +\145\054\040\111\156\143\056\061\050\060\046\006\003\125\004\013 +\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040 +\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157 +\156\061\070\060\066\006\003\125\004\013\023\057\050\143\051\040 +\062\060\060\066\040\164\150\141\167\164\145\054\040\111\156\143 +\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151\172 +\145\144\040\165\163\145\040\157\156\154\171\061\037\060\035\006 +\003\125\004\003\023\026\164\150\141\167\164\145\040\120\162\151 +\155\141\162\171\040\122\157\157\164\040\103\101 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\251\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164 +\145\054\040\111\156\143\056\061\050\060\046\006\003\125\004\013 +\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040 +\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157 +\156\061\070\060\066\006\003\125\004\013\023\057\050\143\051\040 +\062\060\060\066\040\164\150\141\167\164\145\054\040\111\156\143 +\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151\172 +\145\144\040\165\163\145\040\157\156\154\171\061\037\060\035\006 +\003\125\004\003\023\026\164\150\141\167\164\145\040\120\162\151 +\155\141\162\171\040\122\157\157\164\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\064\116\325\127\040\325\355\354\111\364\057\316\067\333 +\053\155 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\040\060\202\003\010\240\003\002\001\002\002\020\064 +\116\325\127\040\325\355\354\111\364\057\316\067\333\053\155\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201 +\251\061\013\060\011\006\003\125\004\006\023\002\125\123\061\025 +\060\023\006\003\125\004\012\023\014\164\150\141\167\164\145\054 +\040\111\156\143\056\061\050\060\046\006\003\125\004\013\023\037 +\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145 +\162\166\151\143\145\163\040\104\151\166\151\163\151\157\156\061 +\070\060\066\006\003\125\004\013\023\057\050\143\051\040\062\060 +\060\066\040\164\150\141\167\164\145\054\040\111\156\143\056\040 +\055\040\106\157\162\040\141\165\164\150\157\162\151\172\145\144 +\040\165\163\145\040\157\156\154\171\061\037\060\035\006\003\125 +\004\003\023\026\164\150\141\167\164\145\040\120\162\151\155\141 +\162\171\040\122\157\157\164\040\103\101\060\036\027\015\060\066 +\061\061\061\067\060\060\060\060\060\060\132\027\015\063\066\060 +\067\061\066\062\063\065\071\065\071\132\060\201\251\061\013\060 +\011\006\003\125\004\006\023\002\125\123\061\025\060\023\006\003 +\125\004\012\023\014\164\150\141\167\164\145\054\040\111\156\143 +\056\061\050\060\046\006\003\125\004\013\023\037\103\145\162\164 +\151\146\151\143\141\164\151\157\156\040\123\145\162\166\151\143 +\145\163\040\104\151\166\151\163\151\157\156\061\070\060\066\006 +\003\125\004\013\023\057\050\143\051\040\062\060\060\066\040\164 +\150\141\167\164\145\054\040\111\156\143\056\040\055\040\106\157 +\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163\145 +\040\157\156\154\171\061\037\060\035\006\003\125\004\003\023\026 +\164\150\141\167\164\145\040\120\162\151\155\141\162\171\040\122 +\157\157\164\040\103\101\060\202\001\042\060\015\006\011\052\206 +\110\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202 +\001\012\002\202\001\001\000\254\240\360\373\200\131\324\234\307 +\244\317\235\241\131\163\011\020\105\014\015\054\156\150\361\154 +\133\110\150\111\131\067\374\013\063\031\302\167\177\314\020\055 +\225\064\034\346\353\115\011\247\034\322\270\311\227\066\002\267 +\211\324\044\137\006\300\314\104\224\224\215\002\142\157\353\132 +\335\021\215\050\232\134\204\220\020\172\015\275\164\146\057\152 +\070\240\342\325\124\104\353\035\007\237\007\272\157\356\351\375 +\116\013\051\365\076\204\240\001\361\234\253\370\034\176\211\244 +\350\241\330\161\145\015\243\121\173\356\274\322\042\140\015\271 +\133\235\337\272\374\121\133\013\257\230\262\351\056\351\004\350 +\142\207\336\053\310\327\116\301\114\144\036\335\317\207\130\272 +\112\117\312\150\007\035\034\235\112\306\325\057\221\314\174\161 +\162\034\305\300\147\353\062\375\311\222\134\224\332\205\300\233 +\277\123\175\053\011\364\214\235\221\037\227\152\122\313\336\011 +\066\244\167\330\173\207\120\104\325\076\156\051\151\373\071\111 +\046\036\011\245\200\173\100\055\353\350\047\205\311\376\141\375 +\176\346\174\227\035\325\235\002\003\001\000\001\243\102\060\100 +\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001 +\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001 +\006\060\035\006\003\125\035\016\004\026\004\024\173\133\105\317 +\257\316\313\172\375\061\222\032\152\266\363\106\353\127\110\120 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003 +\202\001\001\000\171\021\300\113\263\221\266\374\360\351\147\324 +\015\156\105\276\125\350\223\322\316\003\077\355\332\045\260\035 +\127\313\036\072\166\240\114\354\120\166\350\144\162\014\244\251 +\361\270\213\326\326\207\204\273\062\345\101\021\300\167\331\263 +\140\235\353\033\325\321\156\104\104\251\246\001\354\125\142\035 +\167\270\134\216\110\111\174\234\073\127\021\254\255\163\067\216 +\057\170\134\220\150\107\331\140\140\346\374\007\075\042\040\027 +\304\367\026\351\304\330\162\371\310\163\174\337\026\057\025\251 +\076\375\152\047\266\241\353\132\272\230\037\325\343\115\144\012 +\235\023\310\141\272\365\071\034\207\272\270\275\173\042\177\366 +\376\254\100\171\345\254\020\157\075\217\033\171\166\213\304\067 +\263\041\030\204\345\066\000\353\143\040\231\271\351\376\063\004 +\273\101\310\301\002\371\104\143\040\236\201\316\102\323\326\077 +\054\166\323\143\234\131\335\217\246\341\016\240\056\101\367\056 +\225\107\317\274\375\063\363\366\013\141\176\176\221\053\201\107 +\302\047\060\356\247\020\135\067\217\134\071\053\344\004\360\173 +\215\126\214\150 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "thawte Primary Root CA" +# Issuer: CN=thawte Primary Root CA,OU="(c) 2006 thawte, Inc. - For authorized use only",OU=Certification Services Division,O="thawte, Inc.",C=US +# Serial Number:34:4e:d5:57:20:d5:ed:ec:49:f4:2f:ce:37:db:2b:6d +# Subject: CN=thawte Primary Root CA,OU="(c) 2006 thawte, Inc. - For authorized use only",OU=Certification Services Division,O="thawte, Inc.",C=US +# Not Valid Before: Fri Nov 17 00:00:00 2006 +# Not Valid After : Wed Jul 16 23:59:59 2036 +# Fingerprint (MD5): 8C:CA:DC:0B:22:CE:F5:BE:72:AC:41:1A:11:A8:D8:12 +# Fingerprint (SHA1): 91:C6:D6:EE:3E:8A:C8:63:84:E5:48:C2:99:29:5C:75:6C:81:7B:81 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "thawte Primary Root CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\221\306\326\356\076\212\310\143\204\345\110\302\231\051\134\165 +\154\201\173\201 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\214\312\334\013\042\316\365\276\162\254\101\032\021\250\330\022 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\251\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164 +\145\054\040\111\156\143\056\061\050\060\046\006\003\125\004\013 +\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040 +\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157 +\156\061\070\060\066\006\003\125\004\013\023\057\050\143\051\040 +\062\060\060\066\040\164\150\141\167\164\145\054\040\111\156\143 +\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151\172 +\145\144\040\165\163\145\040\157\156\154\171\061\037\060\035\006 +\003\125\004\003\023\026\164\150\141\167\164\145\040\120\162\151 +\155\141\162\171\040\122\157\157\164\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\064\116\325\127\040\325\355\354\111\364\057\316\067\333 +\053\155 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "VeriSign Class 3 Public Primary Certification Authority - G5" +# +# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G5,OU="(c) 2006 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US +# Serial Number:18:da:d1:9e:26:7d:e8:bb:4a:21:58:cd:cc:6b:3b:4a +# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G5,OU="(c) 2006 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US +# Not Valid Before: Wed Nov 08 00:00:00 2006 +# Not Valid After : Wed Jul 16 23:59:59 2036 +# Fingerprint (MD5): CB:17:E4:31:67:3E:E2:09:FE:45:57:93:F3:0A:FA:1C +# Fingerprint (SHA1): 4E:B6:D5:78:49:9B:1C:CF:5F:58:1E:AD:56:BE:3D:9B:67:44:A5:E5 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "VeriSign Class 3 Public Primary Certification Authority - G5" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 +\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 +\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 +\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 +\125\004\013\023\061\050\143\051\040\062\060\060\066\040\126\145 +\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 +\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 +\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 +\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 +\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 +\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 +\165\164\150\157\162\151\164\171\040\055\040\107\065 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 +\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 +\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 +\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 +\125\004\013\023\061\050\143\051\040\062\060\060\066\040\126\145 +\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 +\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 +\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 +\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 +\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 +\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 +\165\164\150\157\162\151\164\171\040\055\040\107\065 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\030\332\321\236\046\175\350\273\112\041\130\315\314\153 +\073\112 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\323\060\202\003\273\240\003\002\001\002\002\020\030 +\332\321\236\046\175\350\273\112\041\130\315\314\153\073\112\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201 +\312\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027 +\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151\147 +\156\054\040\111\156\143\056\061\037\060\035\006\003\125\004\013 +\023\026\126\145\162\151\123\151\147\156\040\124\162\165\163\164 +\040\116\145\164\167\157\162\153\061\072\060\070\006\003\125\004 +\013\023\061\050\143\051\040\062\060\060\066\040\126\145\162\151 +\123\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162 +\040\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040 +\157\156\154\171\061\105\060\103\006\003\125\004\003\023\074\126 +\145\162\151\123\151\147\156\040\103\154\141\163\163\040\063\040 +\120\165\142\154\151\143\040\120\162\151\155\141\162\171\040\103 +\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164 +\150\157\162\151\164\171\040\055\040\107\065\060\036\027\015\060 +\066\061\061\060\070\060\060\060\060\060\060\132\027\015\063\066 +\060\067\061\066\062\063\065\071\065\071\132\060\201\312\061\013 +\060\011\006\003\125\004\006\023\002\125\123\061\027\060\025\006 +\003\125\004\012\023\016\126\145\162\151\123\151\147\156\054\040 +\111\156\143\056\061\037\060\035\006\003\125\004\013\023\026\126 +\145\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145 +\164\167\157\162\153\061\072\060\070\006\003\125\004\013\023\061 +\050\143\051\040\062\060\060\066\040\126\145\162\151\123\151\147 +\156\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165 +\164\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154 +\171\061\105\060\103\006\003\125\004\003\023\074\126\145\162\151 +\123\151\147\156\040\103\154\141\163\163\040\063\040\120\165\142 +\154\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164 +\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162 +\151\164\171\040\055\040\107\065\060\202\001\042\060\015\006\011 +\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017\000 +\060\202\001\012\002\202\001\001\000\257\044\010\010\051\172\065 +\236\140\014\252\347\113\073\116\334\174\274\074\105\034\273\053 +\340\376\051\002\371\127\010\243\144\205\025\047\365\361\255\310 +\061\211\135\042\350\052\252\246\102\263\217\370\271\125\267\261 +\267\113\263\376\217\176\007\127\354\357\103\333\146\142\025\141 +\317\140\015\244\330\336\370\340\303\142\010\075\124\023\353\111 +\312\131\124\205\046\345\053\217\033\237\353\365\241\221\302\063 +\111\330\103\143\152\122\113\322\217\350\160\121\115\321\211\151 +\173\307\160\366\263\334\022\164\333\173\135\113\126\323\226\277 +\025\167\241\260\364\242\045\362\257\034\222\147\030\345\364\006 +\004\357\220\271\344\000\344\335\072\265\031\377\002\272\364\074 +\356\340\213\353\067\213\354\364\327\254\362\366\360\075\257\335 +\165\221\063\031\035\034\100\313\164\044\031\041\223\331\024\376 +\254\052\122\307\217\325\004\111\344\215\143\107\210\074\151\203 +\313\376\107\275\053\176\117\305\225\256\016\235\324\321\103\300 +\147\163\343\024\010\176\345\077\237\163\270\063\012\317\135\077 +\064\207\226\212\356\123\350\045\025\002\003\001\000\001\243\201 +\262\060\201\257\060\017\006\003\125\035\023\001\001\377\004\005 +\060\003\001\001\377\060\016\006\003\125\035\017\001\001\377\004 +\004\003\002\001\006\060\155\006\010\053\006\001\005\005\007\001 +\014\004\141\060\137\241\135\240\133\060\131\060\127\060\125\026 +\011\151\155\141\147\145\057\147\151\146\060\041\060\037\060\007 +\006\005\053\016\003\002\032\004\024\217\345\323\032\206\254\215 +\216\153\303\317\200\152\324\110\030\054\173\031\056\060\045\026 +\043\150\164\164\160\072\057\057\154\157\147\157\056\166\145\162 +\151\163\151\147\156\056\143\157\155\057\166\163\154\157\147\157 +\056\147\151\146\060\035\006\003\125\035\016\004\026\004\024\177 +\323\145\247\302\335\354\273\360\060\011\363\103\071\372\002\257 +\063\061\063\060\015\006\011\052\206\110\206\367\015\001\001\005 +\005\000\003\202\001\001\000\223\044\112\060\137\142\317\330\032 +\230\057\075\352\334\231\055\275\167\366\245\171\042\070\354\304 +\247\240\170\022\255\142\016\105\160\144\305\347\227\146\055\230 +\011\176\137\257\326\314\050\145\362\001\252\010\032\107\336\371 +\371\174\222\132\010\151\040\015\331\076\155\156\074\015\156\330 +\346\006\221\100\030\271\370\301\355\337\333\101\252\340\226\040 +\311\315\144\025\070\201\311\224\356\242\204\051\013\023\157\216 +\333\014\335\045\002\333\244\213\031\104\322\101\172\005\151\112 +\130\117\140\312\176\202\152\013\002\252\045\027\071\265\333\177 +\347\204\145\052\225\212\275\206\336\136\201\026\203\055\020\314 +\336\375\250\202\052\155\050\037\015\013\304\345\347\032\046\031 +\341\364\021\157\020\265\225\374\347\102\005\062\333\316\235\121 +\136\050\266\236\205\323\133\357\245\175\105\100\162\216\267\016 +\153\016\006\373\063\065\110\161\270\235\047\213\304\145\137\015 +\206\166\234\104\172\366\225\134\366\135\062\010\063\244\124\266 +\030\077\150\134\362\102\112\205\070\124\203\137\321\350\054\362 +\254\021\326\250\355\143\152 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "VeriSign Class 3 Public Primary Certification Authority - G5" +# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G5,OU="(c) 2006 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US +# Serial Number:18:da:d1:9e:26:7d:e8:bb:4a:21:58:cd:cc:6b:3b:4a +# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G5,OU="(c) 2006 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US +# Not Valid Before: Wed Nov 08 00:00:00 2006 +# Not Valid After : Wed Jul 16 23:59:59 2036 +# Fingerprint (MD5): CB:17:E4:31:67:3E:E2:09:FE:45:57:93:F3:0A:FA:1C +# Fingerprint (SHA1): 4E:B6:D5:78:49:9B:1C:CF:5F:58:1E:AD:56:BE:3D:9B:67:44:A5:E5 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "VeriSign Class 3 Public Primary Certification Authority - G5" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\116\266\325\170\111\233\034\317\137\130\036\255\126\276\075\233 +\147\104\245\345 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\313\027\344\061\147\076\342\011\376\105\127\223\363\012\372\034 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 +\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 +\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 +\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 +\125\004\013\023\061\050\143\051\040\062\060\060\066\040\126\145 +\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 +\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 +\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 +\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 +\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 +\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 +\165\164\150\157\162\151\164\171\040\055\040\107\065 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\030\332\321\236\046\175\350\273\112\041\130\315\314\153 +\073\112 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "SecureTrust CA" +# +# Issuer: CN=SecureTrust CA,O=SecureTrust Corporation,C=US +# Serial Number:0c:f0:8e:5c:08:16:a5:ad:42:7f:f0:eb:27:18:59:d0 +# Subject: CN=SecureTrust CA,O=SecureTrust Corporation,C=US +# Not Valid Before: Tue Nov 07 19:31:18 2006 +# Not Valid After : Mon Dec 31 19:40:55 2029 +# Fingerprint (MD5): DC:32:C3:A7:6D:25:57:C7:68:09:9D:EA:2D:A9:A2:D1 +# Fingerprint (SHA1): 87:82:C6:C3:04:35:3B:CF:D2:96:92:D2:59:3E:7D:44:D9:34:FF:11 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "SecureTrust CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\110\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\040\060\036\006\003\125\004\012\023\027\123\145\143\165\162\145 +\124\162\165\163\164\040\103\157\162\160\157\162\141\164\151\157 +\156\061\027\060\025\006\003\125\004\003\023\016\123\145\143\165 +\162\145\124\162\165\163\164\040\103\101 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\110\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\040\060\036\006\003\125\004\012\023\027\123\145\143\165\162\145 +\124\162\165\163\164\040\103\157\162\160\157\162\141\164\151\157 +\156\061\027\060\025\006\003\125\004\003\023\016\123\145\143\165 +\162\145\124\162\165\163\164\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\014\360\216\134\010\026\245\255\102\177\360\353\047\030 +\131\320 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\270\060\202\002\240\240\003\002\001\002\002\020\014 +\360\216\134\010\026\245\255\102\177\360\353\047\030\131\320\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\110 +\061\013\060\011\006\003\125\004\006\023\002\125\123\061\040\060 +\036\006\003\125\004\012\023\027\123\145\143\165\162\145\124\162 +\165\163\164\040\103\157\162\160\157\162\141\164\151\157\156\061 +\027\060\025\006\003\125\004\003\023\016\123\145\143\165\162\145 +\124\162\165\163\164\040\103\101\060\036\027\015\060\066\061\061 +\060\067\061\071\063\061\061\070\132\027\015\062\071\061\062\063 +\061\061\071\064\060\065\065\132\060\110\061\013\060\011\006\003 +\125\004\006\023\002\125\123\061\040\060\036\006\003\125\004\012 +\023\027\123\145\143\165\162\145\124\162\165\163\164\040\103\157 +\162\160\157\162\141\164\151\157\156\061\027\060\025\006\003\125 +\004\003\023\016\123\145\143\165\162\145\124\162\165\163\164\040 +\103\101\060\202\001\042\060\015\006\011\052\206\110\206\367\015 +\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202 +\001\001\000\253\244\201\345\225\315\365\366\024\216\302\117\312 +\324\342\170\225\130\234\101\341\015\231\100\044\027\071\221\063 +\146\351\276\341\203\257\142\134\211\321\374\044\133\141\263\340 +\021\021\101\034\035\156\360\270\273\370\336\247\201\272\246\110 +\306\237\035\275\276\216\251\101\076\270\224\355\051\032\324\216 +\322\003\035\003\357\155\015\147\034\127\327\006\255\312\310\365 +\376\016\257\146\045\110\004\226\013\135\243\272\026\303\010\117 +\321\106\370\024\134\362\310\136\001\231\155\375\210\314\206\250 +\301\157\061\102\154\122\076\150\313\363\031\064\337\273\207\030 +\126\200\046\304\320\334\300\157\337\336\240\302\221\026\240\144 +\021\113\104\274\036\366\347\372\143\336\146\254\166\244\161\243 +\354\066\224\150\172\167\244\261\347\016\057\201\172\342\265\162 +\206\357\242\153\213\360\017\333\323\131\077\272\162\274\104\044 +\234\343\163\263\367\257\127\057\102\046\235\251\164\272\000\122 +\362\113\315\123\174\107\013\066\205\016\146\251\010\227\026\064 +\127\301\146\367\200\343\355\160\124\307\223\340\056\050\025\131 +\207\272\273\002\003\001\000\001\243\201\235\060\201\232\060\023 +\006\011\053\006\001\004\001\202\067\024\002\004\006\036\004\000 +\103\000\101\060\013\006\003\125\035\017\004\004\003\002\001\206 +\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001 +\377\060\035\006\003\125\035\016\004\026\004\024\102\062\266\026 +\372\004\375\376\135\113\172\303\375\367\114\100\035\132\103\257 +\060\064\006\003\125\035\037\004\055\060\053\060\051\240\047\240 +\045\206\043\150\164\164\160\072\057\057\143\162\154\056\163\145 +\143\165\162\145\164\162\165\163\164\056\143\157\155\057\123\124 +\103\101\056\143\162\154\060\020\006\011\053\006\001\004\001\202 +\067\025\001\004\003\002\001\000\060\015\006\011\052\206\110\206 +\367\015\001\001\005\005\000\003\202\001\001\000\060\355\117\112 +\341\130\072\122\162\133\265\246\243\145\030\246\273\121\073\167 +\351\235\352\323\237\134\340\105\145\173\015\312\133\342\160\120 +\262\224\005\024\256\111\307\215\101\007\022\163\224\176\014\043 +\041\375\274\020\177\140\020\132\162\365\230\016\254\354\271\177 +\335\172\157\135\323\034\364\377\210\005\151\102\251\005\161\310 +\267\254\046\350\056\264\214\152\377\161\334\270\261\337\231\274 +\174\041\124\053\344\130\242\273\127\051\256\236\251\243\031\046 +\017\231\056\010\260\357\375\151\317\231\032\011\215\343\247\237 +\053\311\066\064\173\044\263\170\114\225\027\244\006\046\036\266 +\144\122\066\137\140\147\331\234\305\005\164\013\347\147\043\322 +\010\374\210\351\256\213\177\341\060\364\067\176\375\306\062\332 +\055\236\104\060\060\154\356\007\336\322\064\374\322\377\100\366 +\113\364\146\106\006\124\246\362\062\012\143\046\060\153\233\321 +\334\213\107\272\341\271\325\142\320\242\240\364\147\005\170\051 +\143\032\157\004\326\370\306\114\243\232\261\067\264\215\345\050 +\113\035\236\054\302\270\150\274\355\002\356\061 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "SecureTrust CA" +# Issuer: CN=SecureTrust CA,O=SecureTrust Corporation,C=US +# Serial Number:0c:f0:8e:5c:08:16:a5:ad:42:7f:f0:eb:27:18:59:d0 +# Subject: CN=SecureTrust CA,O=SecureTrust Corporation,C=US +# Not Valid Before: Tue Nov 07 19:31:18 2006 +# Not Valid After : Mon Dec 31 19:40:55 2029 +# Fingerprint (MD5): DC:32:C3:A7:6D:25:57:C7:68:09:9D:EA:2D:A9:A2:D1 +# Fingerprint (SHA1): 87:82:C6:C3:04:35:3B:CF:D2:96:92:D2:59:3E:7D:44:D9:34:FF:11 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "SecureTrust CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\207\202\306\303\004\065\073\317\322\226\222\322\131\076\175\104 +\331\064\377\021 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\334\062\303\247\155\045\127\307\150\011\235\352\055\251\242\321 +END +CKA_ISSUER MULTILINE_OCTAL +\060\110\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\040\060\036\006\003\125\004\012\023\027\123\145\143\165\162\145 +\124\162\165\163\164\040\103\157\162\160\157\162\141\164\151\157 +\156\061\027\060\025\006\003\125\004\003\023\016\123\145\143\165 +\162\145\124\162\165\163\164\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\014\360\216\134\010\026\245\255\102\177\360\353\047\030 +\131\320 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Secure Global CA" +# +# Issuer: CN=Secure Global CA,O=SecureTrust Corporation,C=US +# Serial Number:07:56:22:a4:e8:d4:8a:89:4d:f4:13:c8:f0:f8:ea:a5 +# Subject: CN=Secure Global CA,O=SecureTrust Corporation,C=US +# Not Valid Before: Tue Nov 07 19:42:28 2006 +# Not Valid After : Mon Dec 31 19:52:06 2029 +# Fingerprint (MD5): CF:F4:27:0D:D4:ED:DC:65:16:49:6D:3D:DA:BF:6E:DE +# Fingerprint (SHA1): 3A:44:73:5A:E5:81:90:1F:24:86:61:46:1E:3B:9C:C4:5F:F5:3A:1B +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Secure Global CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\112\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\040\060\036\006\003\125\004\012\023\027\123\145\143\165\162\145 +\124\162\165\163\164\040\103\157\162\160\157\162\141\164\151\157 +\156\061\031\060\027\006\003\125\004\003\023\020\123\145\143\165 +\162\145\040\107\154\157\142\141\154\040\103\101 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\112\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\040\060\036\006\003\125\004\012\023\027\123\145\143\165\162\145 +\124\162\165\163\164\040\103\157\162\160\157\162\141\164\151\157 +\156\061\031\060\027\006\003\125\004\003\023\020\123\145\143\165 +\162\145\040\107\154\157\142\141\154\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\007\126\042\244\350\324\212\211\115\364\023\310\360\370 +\352\245 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\274\060\202\002\244\240\003\002\001\002\002\020\007 +\126\042\244\350\324\212\211\115\364\023\310\360\370\352\245\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\112 +\061\013\060\011\006\003\125\004\006\023\002\125\123\061\040\060 +\036\006\003\125\004\012\023\027\123\145\143\165\162\145\124\162 +\165\163\164\040\103\157\162\160\157\162\141\164\151\157\156\061 +\031\060\027\006\003\125\004\003\023\020\123\145\143\165\162\145 +\040\107\154\157\142\141\154\040\103\101\060\036\027\015\060\066 +\061\061\060\067\061\071\064\062\062\070\132\027\015\062\071\061 +\062\063\061\061\071\065\062\060\066\132\060\112\061\013\060\011 +\006\003\125\004\006\023\002\125\123\061\040\060\036\006\003\125 +\004\012\023\027\123\145\143\165\162\145\124\162\165\163\164\040 +\103\157\162\160\157\162\141\164\151\157\156\061\031\060\027\006 +\003\125\004\003\023\020\123\145\143\165\162\145\040\107\154\157 +\142\141\154\040\103\101\060\202\001\042\060\015\006\011\052\206 +\110\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202 +\001\012\002\202\001\001\000\257\065\056\330\254\154\125\151\006 +\161\345\023\150\044\263\117\330\314\041\107\370\361\140\070\211 +\211\003\351\275\352\136\106\123\011\334\134\365\132\350\367\105 +\052\002\353\061\141\327\051\063\114\316\307\174\012\067\176\017 +\272\062\230\341\035\227\257\217\307\334\311\070\226\363\333\032 +\374\121\355\150\306\320\156\244\174\044\321\256\102\310\226\120 +\143\056\340\376\165\376\230\247\137\111\056\225\343\071\063\144 +\216\036\244\137\220\322\147\074\262\331\376\101\271\125\247\011 +\216\162\005\036\213\335\104\205\202\102\320\111\300\035\140\360 +\321\027\054\225\353\366\245\301\222\243\305\302\247\010\140\015 +\140\004\020\226\171\236\026\064\346\251\266\372\045\105\071\310 +\036\145\371\223\365\252\361\122\334\231\230\075\245\206\032\014 +\065\063\372\113\245\004\006\025\034\061\200\357\252\030\153\302 +\173\327\332\316\371\063\040\325\365\275\152\063\055\201\004\373 +\260\134\324\234\243\342\134\035\343\251\102\165\136\173\324\167 +\357\071\124\272\311\012\030\033\022\231\111\057\210\113\375\120 +\142\321\163\347\217\172\103\002\003\001\000\001\243\201\235\060 +\201\232\060\023\006\011\053\006\001\004\001\202\067\024\002\004 +\006\036\004\000\103\000\101\060\013\006\003\125\035\017\004\004 +\003\002\001\206\060\017\006\003\125\035\023\001\001\377\004\005 +\060\003\001\001\377\060\035\006\003\125\035\016\004\026\004\024 +\257\104\004\302\101\176\110\203\333\116\071\002\354\354\204\172 +\346\316\311\244\060\064\006\003\125\035\037\004\055\060\053\060 +\051\240\047\240\045\206\043\150\164\164\160\072\057\057\143\162 +\154\056\163\145\143\165\162\145\164\162\165\163\164\056\143\157 +\155\057\123\107\103\101\056\143\162\154\060\020\006\011\053\006 +\001\004\001\202\067\025\001\004\003\002\001\000\060\015\006\011 +\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000 +\143\032\010\100\175\244\136\123\015\167\330\172\256\037\015\013 +\121\026\003\357\030\174\310\343\257\152\130\223\024\140\221\262 +\204\334\210\116\276\071\212\072\363\346\202\211\135\001\067\263 +\253\044\244\025\016\222\065\132\112\104\136\116\127\372\165\316 +\037\110\316\146\364\074\100\046\222\230\154\033\356\044\106\014 +\027\263\122\245\333\245\221\221\317\067\323\157\347\047\010\072 +\116\031\037\072\247\130\134\027\317\171\077\213\344\247\323\046 +\043\235\046\017\130\151\374\107\176\262\320\215\213\223\277\051 +\117\103\151\164\166\147\113\317\007\214\346\002\367\265\341\264 +\103\265\113\055\024\237\371\334\046\015\277\246\107\164\006\330 +\210\321\072\051\060\204\316\322\071\200\142\033\250\307\127\111 +\274\152\125\121\147\025\112\276\065\007\344\325\165\230\067\171 +\060\024\333\051\235\154\305\151\314\107\125\242\060\367\314\134 +\177\302\303\230\034\153\116\026\200\353\172\170\145\105\242\000 +\032\257\014\015\125\144\064\110\270\222\271\361\264\120\051\362 +\117\043\037\332\154\254\037\104\341\335\043\170\121\133\307\026 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "Secure Global CA" +# Issuer: CN=Secure Global CA,O=SecureTrust Corporation,C=US +# Serial Number:07:56:22:a4:e8:d4:8a:89:4d:f4:13:c8:f0:f8:ea:a5 +# Subject: CN=Secure Global CA,O=SecureTrust Corporation,C=US +# Not Valid Before: Tue Nov 07 19:42:28 2006 +# Not Valid After : Mon Dec 31 19:52:06 2029 +# Fingerprint (MD5): CF:F4:27:0D:D4:ED:DC:65:16:49:6D:3D:DA:BF:6E:DE +# Fingerprint (SHA1): 3A:44:73:5A:E5:81:90:1F:24:86:61:46:1E:3B:9C:C4:5F:F5:3A:1B +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Secure Global CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\072\104\163\132\345\201\220\037\044\206\141\106\036\073\234\304 +\137\365\072\033 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\317\364\047\015\324\355\334\145\026\111\155\075\332\277\156\336 +END +CKA_ISSUER MULTILINE_OCTAL +\060\112\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\040\060\036\006\003\125\004\012\023\027\123\145\143\165\162\145 +\124\162\165\163\164\040\103\157\162\160\157\162\141\164\151\157 +\156\061\031\060\027\006\003\125\004\003\023\020\123\145\143\165 +\162\145\040\107\154\157\142\141\154\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\007\126\042\244\350\324\212\211\115\364\023\310\360\370 +\352\245 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "COMODO Certification Authority" +# +# Issuer: CN=COMODO Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB +# Serial Number:4e:81:2d:8a:82:65:e0:0b:02:ee:3e:35:02:46:e5:3d +# Subject: CN=COMODO Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB +# Not Valid Before: Fri Dec 01 00:00:00 2006 +# Not Valid After : Mon Dec 31 23:59:59 2029 +# Fingerprint (MD5): 5C:48:DC:F7:42:72:EC:56:94:6D:1C:CC:71:35:80:75 +# Fingerprint (SHA1): 66:31:BF:9E:F7:4F:9E:B6:C9:D5:A6:0C:BA:6A:BE:D1:F7:BD:EF:7B +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "COMODO Certification Authority" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\201\061\013\060\011\006\003\125\004\006\023\002\107\102 +\061\033\060\031\006\003\125\004\010\023\022\107\162\145\141\164 +\145\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060 +\016\006\003\125\004\007\023\007\123\141\154\146\157\162\144\061 +\032\060\030\006\003\125\004\012\023\021\103\117\115\117\104\117 +\040\103\101\040\114\151\155\151\164\145\144\061\047\060\045\006 +\003\125\004\003\023\036\103\117\115\117\104\117\040\103\145\162 +\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157 +\162\151\164\171 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\201\061\013\060\011\006\003\125\004\006\023\002\107\102 +\061\033\060\031\006\003\125\004\010\023\022\107\162\145\141\164 +\145\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060 +\016\006\003\125\004\007\023\007\123\141\154\146\157\162\144\061 +\032\060\030\006\003\125\004\012\023\021\103\117\115\117\104\117 +\040\103\101\040\114\151\155\151\164\145\144\061\047\060\045\006 +\003\125\004\003\023\036\103\117\115\117\104\117\040\103\145\162 +\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157 +\162\151\164\171 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\116\201\055\212\202\145\340\013\002\356\076\065\002\106 +\345\075 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\035\060\202\003\005\240\003\002\001\002\002\020\116 +\201\055\212\202\145\340\013\002\356\076\065\002\106\345\075\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201 +\201\061\013\060\011\006\003\125\004\006\023\002\107\102\061\033 +\060\031\006\003\125\004\010\023\022\107\162\145\141\164\145\162 +\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016\006 +\003\125\004\007\023\007\123\141\154\146\157\162\144\061\032\060 +\030\006\003\125\004\012\023\021\103\117\115\117\104\117\040\103 +\101\040\114\151\155\151\164\145\144\061\047\060\045\006\003\125 +\004\003\023\036\103\117\115\117\104\117\040\103\145\162\164\151 +\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 +\164\171\060\036\027\015\060\066\061\062\060\061\060\060\060\060 +\060\060\132\027\015\062\071\061\062\063\061\062\063\065\071\065 +\071\132\060\201\201\061\013\060\011\006\003\125\004\006\023\002 +\107\102\061\033\060\031\006\003\125\004\010\023\022\107\162\145 +\141\164\145\162\040\115\141\156\143\150\145\163\164\145\162\061 +\020\060\016\006\003\125\004\007\023\007\123\141\154\146\157\162 +\144\061\032\060\030\006\003\125\004\012\023\021\103\117\115\117 +\104\117\040\103\101\040\114\151\155\151\164\145\144\061\047\060 +\045\006\003\125\004\003\023\036\103\117\115\117\104\117\040\103 +\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164 +\150\157\162\151\164\171\060\202\001\042\060\015\006\011\052\206 +\110\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202 +\001\012\002\202\001\001\000\320\100\213\213\162\343\221\033\367 +\121\301\033\124\004\230\323\251\277\301\346\212\135\073\207\373 +\273\210\316\015\343\057\077\006\226\360\242\051\120\231\256\333 +\073\241\127\260\164\121\161\315\355\102\221\115\101\376\251\310 +\330\152\206\167\104\273\131\146\227\120\136\264\324\054\160\104 +\317\332\067\225\102\151\074\060\304\161\263\122\360\041\115\241 +\330\272\071\174\034\236\243\044\235\362\203\026\230\252\026\174 +\103\233\025\133\267\256\064\221\376\324\142\046\030\106\232\077 +\353\301\371\361\220\127\353\254\172\015\213\333\162\060\152\146 +\325\340\106\243\160\334\150\331\377\004\110\211\167\336\265\351 +\373\147\155\101\351\274\071\275\062\331\142\002\361\261\250\075 +\156\067\234\342\057\342\323\242\046\213\306\270\125\103\210\341 +\043\076\245\322\044\071\152\107\253\000\324\241\263\251\045\376 +\015\077\247\035\272\323\121\301\013\244\332\254\070\357\125\120 +\044\005\145\106\223\064\117\055\215\255\306\324\041\031\322\216 +\312\005\141\161\007\163\107\345\212\031\022\275\004\115\316\116 +\234\245\110\254\273\046\367\002\003\001\000\001\243\201\216\060 +\201\213\060\035\006\003\125\035\016\004\026\004\024\013\130\345 +\213\306\114\025\067\244\100\251\060\251\041\276\107\066\132\126 +\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001 +\006\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001 +\001\377\060\111\006\003\125\035\037\004\102\060\100\060\076\240 +\074\240\072\206\070\150\164\164\160\072\057\057\143\162\154\056 +\143\157\155\157\144\157\143\141\056\143\157\155\057\103\117\115 +\117\104\117\103\145\162\164\151\146\151\143\141\164\151\157\156 +\101\165\164\150\157\162\151\164\171\056\143\162\154\060\015\006 +\011\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001 +\000\076\230\236\233\366\033\351\327\071\267\170\256\035\162\030 +\111\323\207\344\103\202\353\077\311\252\365\250\265\357\125\174 +\041\122\145\371\325\015\341\154\364\076\214\223\163\221\056\002 +\304\116\007\161\157\300\217\070\141\010\250\036\201\012\300\057 +\040\057\101\213\221\334\110\105\274\361\306\336\272\166\153\063 +\310\000\055\061\106\114\355\347\235\317\210\224\377\063\300\126 +\350\044\206\046\270\330\070\070\337\052\153\335\022\314\307\077 +\107\027\114\242\302\006\226\011\326\333\376\077\074\106\101\337 +\130\342\126\017\074\073\301\034\223\065\331\070\122\254\356\310 +\354\056\060\116\224\065\264\044\037\113\170\151\332\362\002\070 +\314\225\122\223\360\160\045\131\234\040\147\304\356\371\213\127 +\141\364\222\166\175\077\204\215\125\267\350\345\254\325\361\365 +\031\126\246\132\373\220\034\257\223\353\345\034\324\147\227\135 +\004\016\276\013\203\246\027\203\271\060\022\240\305\063\025\005 +\271\015\373\307\005\166\343\330\112\215\374\064\027\243\306\041 +\050\276\060\105\061\036\307\170\276\130\141\070\254\073\342\001 +\145 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "COMODO Certification Authority" +# Issuer: CN=COMODO Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB +# Serial Number:4e:81:2d:8a:82:65:e0:0b:02:ee:3e:35:02:46:e5:3d +# Subject: CN=COMODO Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB +# Not Valid Before: Fri Dec 01 00:00:00 2006 +# Not Valid After : Mon Dec 31 23:59:59 2029 +# Fingerprint (MD5): 5C:48:DC:F7:42:72:EC:56:94:6D:1C:CC:71:35:80:75 +# Fingerprint (SHA1): 66:31:BF:9E:F7:4F:9E:B6:C9:D5:A6:0C:BA:6A:BE:D1:F7:BD:EF:7B +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "COMODO Certification Authority" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\146\061\277\236\367\117\236\266\311\325\246\014\272\152\276\321 +\367\275\357\173 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\134\110\334\367\102\162\354\126\224\155\034\314\161\065\200\165 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\201\061\013\060\011\006\003\125\004\006\023\002\107\102 +\061\033\060\031\006\003\125\004\010\023\022\107\162\145\141\164 +\145\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060 +\016\006\003\125\004\007\023\007\123\141\154\146\157\162\144\061 +\032\060\030\006\003\125\004\012\023\021\103\117\115\117\104\117 +\040\103\101\040\114\151\155\151\164\145\144\061\047\060\045\006 +\003\125\004\003\023\036\103\117\115\117\104\117\040\103\145\162 +\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157 +\162\151\164\171 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\116\201\055\212\202\145\340\013\002\356\076\065\002\106 +\345\075 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Network Solutions Certificate Authority" +# +# Issuer: CN=Network Solutions Certificate Authority,O=Network Solutions L.L.C.,C=US +# Serial Number:57:cb:33:6f:c2:5c:16:e6:47:16:17:e3:90:31:68:e0 +# Subject: CN=Network Solutions Certificate Authority,O=Network Solutions L.L.C.,C=US +# Not Valid Before: Fri Dec 01 00:00:00 2006 +# Not Valid After : Mon Dec 31 23:59:59 2029 +# Fingerprint (MD5): D3:F3:A6:16:C0:FA:6B:1D:59:B1:2D:96:4D:0E:11:2E +# Fingerprint (SHA1): 74:F8:A3:C3:EF:E7:B3:90:06:4B:83:90:3C:21:64:60:20:E5:DF:CE +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Network Solutions Certificate Authority" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\142\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\041\060\037\006\003\125\004\012\023\030\116\145\164\167\157\162 +\153\040\123\157\154\165\164\151\157\156\163\040\114\056\114\056 +\103\056\061\060\060\056\006\003\125\004\003\023\047\116\145\164 +\167\157\162\153\040\123\157\154\165\164\151\157\156\163\040\103 +\145\162\164\151\146\151\143\141\164\145\040\101\165\164\150\157 +\162\151\164\171 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\142\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\041\060\037\006\003\125\004\012\023\030\116\145\164\167\157\162 +\153\040\123\157\154\165\164\151\157\156\163\040\114\056\114\056 +\103\056\061\060\060\056\006\003\125\004\003\023\047\116\145\164 +\167\157\162\153\040\123\157\154\165\164\151\157\156\163\040\103 +\145\162\164\151\146\151\143\141\164\145\040\101\165\164\150\157 +\162\151\164\171 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\127\313\063\157\302\134\026\346\107\026\027\343\220\061 +\150\340 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\346\060\202\002\316\240\003\002\001\002\002\020\127 +\313\063\157\302\134\026\346\107\026\027\343\220\061\150\340\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\142 +\061\013\060\011\006\003\125\004\006\023\002\125\123\061\041\060 +\037\006\003\125\004\012\023\030\116\145\164\167\157\162\153\040 +\123\157\154\165\164\151\157\156\163\040\114\056\114\056\103\056 +\061\060\060\056\006\003\125\004\003\023\047\116\145\164\167\157 +\162\153\040\123\157\154\165\164\151\157\156\163\040\103\145\162 +\164\151\146\151\143\141\164\145\040\101\165\164\150\157\162\151 +\164\171\060\036\027\015\060\066\061\062\060\061\060\060\060\060 +\060\060\132\027\015\062\071\061\062\063\061\062\063\065\071\065 +\071\132\060\142\061\013\060\011\006\003\125\004\006\023\002\125 +\123\061\041\060\037\006\003\125\004\012\023\030\116\145\164\167 +\157\162\153\040\123\157\154\165\164\151\157\156\163\040\114\056 +\114\056\103\056\061\060\060\056\006\003\125\004\003\023\047\116 +\145\164\167\157\162\153\040\123\157\154\165\164\151\157\156\163 +\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164 +\150\157\162\151\164\171\060\202\001\042\060\015\006\011\052\206 +\110\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202 +\001\012\002\202\001\001\000\344\274\176\222\060\155\306\330\216 +\053\013\274\106\316\340\047\226\336\336\371\372\022\323\074\063 +\163\263\004\057\274\161\214\345\237\266\042\140\076\137\135\316 +\011\377\202\014\033\232\121\120\032\046\211\335\325\141\135\031 +\334\022\017\055\012\242\103\135\027\320\064\222\040\352\163\317 +\070\054\006\046\011\172\162\367\372\120\062\370\302\223\323\151 +\242\043\316\101\261\314\344\325\037\066\321\212\072\370\214\143 +\342\024\131\151\355\015\323\177\153\350\270\003\345\117\152\345 +\230\143\151\110\005\276\056\377\063\266\351\227\131\151\370\147 +\031\256\223\141\226\104\025\323\162\260\077\274\152\175\354\110 +\177\215\303\253\252\161\053\123\151\101\123\064\265\260\271\305 +\006\012\304\260\105\365\101\135\156\211\105\173\075\073\046\214 +\164\302\345\322\321\175\262\021\324\373\130\062\042\232\200\311 +\334\375\014\351\177\136\003\227\316\073\000\024\207\047\160\070 +\251\216\156\263\047\166\230\121\340\005\343\041\253\032\325\205 +\042\074\051\265\232\026\305\200\250\364\273\153\060\217\057\106 +\002\242\261\014\042\340\323\002\003\001\000\001\243\201\227\060 +\201\224\060\035\006\003\125\035\016\004\026\004\024\041\060\311 +\373\000\327\116\230\332\207\252\052\320\247\056\261\100\061\247 +\114\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001 +\006\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001 +\001\377\060\122\006\003\125\035\037\004\113\060\111\060\107\240 +\105\240\103\206\101\150\164\164\160\072\057\057\143\162\154\056 +\156\145\164\163\157\154\163\163\154\056\143\157\155\057\116\145 +\164\167\157\162\153\123\157\154\165\164\151\157\156\163\103\145 +\162\164\151\146\151\143\141\164\145\101\165\164\150\157\162\151 +\164\171\056\143\162\154\060\015\006\011\052\206\110\206\367\015 +\001\001\005\005\000\003\202\001\001\000\273\256\113\347\267\127 +\353\177\252\055\267\163\107\205\152\301\344\245\035\344\347\074 +\351\364\131\145\167\265\172\133\132\215\045\066\340\172\227\056 +\070\300\127\140\203\230\006\203\237\271\166\172\156\120\340\272 +\210\054\374\105\314\030\260\231\225\121\016\354\035\270\210\377 +\207\120\034\202\302\343\340\062\200\277\240\013\107\310\303\061 +\357\231\147\062\200\117\027\041\171\014\151\134\336\136\064\256 +\002\265\046\352\120\337\177\030\145\054\311\362\143\341\251\007 +\376\174\161\037\153\063\044\152\036\005\367\005\150\300\152\022 +\313\056\136\141\313\256\050\323\176\302\264\146\221\046\137\074 +\056\044\137\313\130\017\353\050\354\257\021\226\363\334\173\157 +\300\247\210\362\123\167\263\140\136\256\256\050\332\065\054\157 +\064\105\323\046\341\336\354\133\117\047\153\026\174\275\104\004 +\030\202\263\211\171\027\020\161\075\172\242\026\116\365\001\315 +\244\154\145\150\241\111\166\134\103\311\330\274\066\147\154\245 +\224\265\324\314\271\275\152\065\126\041\336\330\303\353\373\313 +\244\140\114\260\125\240\240\173\127\262 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "Network Solutions Certificate Authority" +# Issuer: CN=Network Solutions Certificate Authority,O=Network Solutions L.L.C.,C=US +# Serial Number:57:cb:33:6f:c2:5c:16:e6:47:16:17:e3:90:31:68:e0 +# Subject: CN=Network Solutions Certificate Authority,O=Network Solutions L.L.C.,C=US +# Not Valid Before: Fri Dec 01 00:00:00 2006 +# Not Valid After : Mon Dec 31 23:59:59 2029 +# Fingerprint (MD5): D3:F3:A6:16:C0:FA:6B:1D:59:B1:2D:96:4D:0E:11:2E +# Fingerprint (SHA1): 74:F8:A3:C3:EF:E7:B3:90:06:4B:83:90:3C:21:64:60:20:E5:DF:CE +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Network Solutions Certificate Authority" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\164\370\243\303\357\347\263\220\006\113\203\220\074\041\144\140 +\040\345\337\316 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\323\363\246\026\300\372\153\035\131\261\055\226\115\016\021\056 +END +CKA_ISSUER MULTILINE_OCTAL +\060\142\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\041\060\037\006\003\125\004\012\023\030\116\145\164\167\157\162 +\153\040\123\157\154\165\164\151\157\156\163\040\114\056\114\056 +\103\056\061\060\060\056\006\003\125\004\003\023\047\116\145\164 +\167\157\162\153\040\123\157\154\165\164\151\157\156\163\040\103 +\145\162\164\151\146\151\143\141\164\145\040\101\165\164\150\157 +\162\151\164\171 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\127\313\063\157\302\134\026\346\107\026\027\343\220\061 +\150\340 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "COMODO ECC Certification Authority" +# +# Issuer: CN=COMODO ECC Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB +# Serial Number:1f:47:af:aa:62:00:70:50:54:4c:01:9e:9b:63:99:2a +# Subject: CN=COMODO ECC Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB +# Not Valid Before: Thu Mar 06 00:00:00 2008 +# Not Valid After : Mon Jan 18 23:59:59 2038 +# Fingerprint (MD5): 7C:62:FF:74:9D:31:53:5E:68:4A:D5:78:AA:1E:BF:23 +# Fingerprint (SHA1): 9F:74:4E:9F:2B:4D:BA:EC:0F:31:2C:50:B6:56:3B:8E:2D:93:C3:11 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "COMODO ECC Certification Authority" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\205\061\013\060\011\006\003\125\004\006\023\002\107\102 +\061\033\060\031\006\003\125\004\010\023\022\107\162\145\141\164 +\145\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060 +\016\006\003\125\004\007\023\007\123\141\154\146\157\162\144\061 +\032\060\030\006\003\125\004\012\023\021\103\117\115\117\104\117 +\040\103\101\040\114\151\155\151\164\145\144\061\053\060\051\006 +\003\125\004\003\023\042\103\117\115\117\104\117\040\105\103\103 +\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 +\165\164\150\157\162\151\164\171 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\205\061\013\060\011\006\003\125\004\006\023\002\107\102 +\061\033\060\031\006\003\125\004\010\023\022\107\162\145\141\164 +\145\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060 +\016\006\003\125\004\007\023\007\123\141\154\146\157\162\144\061 +\032\060\030\006\003\125\004\012\023\021\103\117\115\117\104\117 +\040\103\101\040\114\151\155\151\164\145\144\061\053\060\051\006 +\003\125\004\003\023\042\103\117\115\117\104\117\040\105\103\103 +\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 +\165\164\150\157\162\151\164\171 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\037\107\257\252\142\000\160\120\124\114\001\236\233\143 +\231\052 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\002\211\060\202\002\017\240\003\002\001\002\002\020\037 +\107\257\252\142\000\160\120\124\114\001\236\233\143\231\052\060 +\012\006\010\052\206\110\316\075\004\003\003\060\201\205\061\013 +\060\011\006\003\125\004\006\023\002\107\102\061\033\060\031\006 +\003\125\004\010\023\022\107\162\145\141\164\145\162\040\115\141 +\156\143\150\145\163\164\145\162\061\020\060\016\006\003\125\004 +\007\023\007\123\141\154\146\157\162\144\061\032\060\030\006\003 +\125\004\012\023\021\103\117\115\117\104\117\040\103\101\040\114 +\151\155\151\164\145\144\061\053\060\051\006\003\125\004\003\023 +\042\103\117\115\117\104\117\040\105\103\103\040\103\145\162\164 +\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162 +\151\164\171\060\036\027\015\060\070\060\063\060\066\060\060\060 +\060\060\060\132\027\015\063\070\060\061\061\070\062\063\065\071 +\065\071\132\060\201\205\061\013\060\011\006\003\125\004\006\023 +\002\107\102\061\033\060\031\006\003\125\004\010\023\022\107\162 +\145\141\164\145\162\040\115\141\156\143\150\145\163\164\145\162 +\061\020\060\016\006\003\125\004\007\023\007\123\141\154\146\157 +\162\144\061\032\060\030\006\003\125\004\012\023\021\103\117\115 +\117\104\117\040\103\101\040\114\151\155\151\164\145\144\061\053 +\060\051\006\003\125\004\003\023\042\103\117\115\117\104\117\040 +\105\103\103\040\103\145\162\164\151\146\151\143\141\164\151\157 +\156\040\101\165\164\150\157\162\151\164\171\060\166\060\020\006 +\007\052\206\110\316\075\002\001\006\005\053\201\004\000\042\003 +\142\000\004\003\107\173\057\165\311\202\025\205\373\165\344\221 +\026\324\253\142\231\365\076\122\013\006\316\101\000\177\227\341 +\012\044\074\035\001\004\356\075\322\215\011\227\014\340\165\344 +\372\373\167\212\052\365\003\140\113\066\213\026\043\026\255\011 +\161\364\112\364\050\120\264\376\210\034\156\077\154\057\057\011 +\131\133\245\133\013\063\231\342\303\075\211\371\152\054\357\262 +\323\006\351\243\102\060\100\060\035\006\003\125\035\016\004\026 +\004\024\165\161\247\031\110\031\274\235\235\352\101\107\337\224 +\304\110\167\231\323\171\060\016\006\003\125\035\017\001\001\377 +\004\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377 +\004\005\060\003\001\001\377\060\012\006\010\052\206\110\316\075 +\004\003\003\003\150\000\060\145\002\061\000\357\003\133\172\254 +\267\170\012\162\267\210\337\377\265\106\024\011\012\372\240\346 +\175\010\306\032\207\275\030\250\163\275\046\312\140\014\235\316 +\231\237\317\134\017\060\341\276\024\061\352\002\060\024\364\223 +\074\111\247\063\172\220\106\107\263\143\175\023\233\116\267\157 +\030\067\200\123\376\335\040\340\065\232\066\321\307\001\271\346 +\334\335\363\377\035\054\072\026\127\331\222\071\326 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "COMODO ECC Certification Authority" +# Issuer: CN=COMODO ECC Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB +# Serial Number:1f:47:af:aa:62:00:70:50:54:4c:01:9e:9b:63:99:2a +# Subject: CN=COMODO ECC Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB +# Not Valid Before: Thu Mar 06 00:00:00 2008 +# Not Valid After : Mon Jan 18 23:59:59 2038 +# Fingerprint (MD5): 7C:62:FF:74:9D:31:53:5E:68:4A:D5:78:AA:1E:BF:23 +# Fingerprint (SHA1): 9F:74:4E:9F:2B:4D:BA:EC:0F:31:2C:50:B6:56:3B:8E:2D:93:C3:11 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "COMODO ECC Certification Authority" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\237\164\116\237\053\115\272\354\017\061\054\120\266\126\073\216 +\055\223\303\021 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\174\142\377\164\235\061\123\136\150\112\325\170\252\036\277\043 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\205\061\013\060\011\006\003\125\004\006\023\002\107\102 +\061\033\060\031\006\003\125\004\010\023\022\107\162\145\141\164 +\145\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060 +\016\006\003\125\004\007\023\007\123\141\154\146\157\162\144\061 +\032\060\030\006\003\125\004\012\023\021\103\117\115\117\104\117 +\040\103\101\040\114\151\155\151\164\145\144\061\053\060\051\006 +\003\125\004\003\023\042\103\117\115\117\104\117\040\105\103\103 +\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 +\165\164\150\157\162\151\164\171 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\037\107\257\252\142\000\160\120\124\114\001\236\233\143 +\231\052 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "OISTE WISeKey Global Root GA CA" +# +# Issuer: CN=OISTE WISeKey Global Root GA CA,OU=OISTE Foundation Endorsed,OU=Copyright (c) 2005,O=WISeKey,C=CH +# Serial Number:41:3d:72:c7:f4:6b:1f:81:43:7d:f1:d2:28:54:df:9a +# Subject: CN=OISTE WISeKey Global Root GA CA,OU=OISTE Foundation Endorsed,OU=Copyright (c) 2005,O=WISeKey,C=CH +# Not Valid Before: Sun Dec 11 16:03:44 2005 +# Not Valid After : Fri Dec 11 16:09:51 2037 +# Fingerprint (MD5): BC:6C:51:33:A7:E9:D3:66:63:54:15:72:1B:21:92:93 +# Fingerprint (SHA1): 59:22:A1:E1:5A:EA:16:35:21:F8:98:39:6A:46:46:B0:44:1B:0F:A9 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "OISTE WISeKey Global Root GA CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\212\061\013\060\011\006\003\125\004\006\023\002\103\110 +\061\020\060\016\006\003\125\004\012\023\007\127\111\123\145\113 +\145\171\061\033\060\031\006\003\125\004\013\023\022\103\157\160 +\171\162\151\147\150\164\040\050\143\051\040\062\060\060\065\061 +\042\060\040\006\003\125\004\013\023\031\117\111\123\124\105\040 +\106\157\165\156\144\141\164\151\157\156\040\105\156\144\157\162 +\163\145\144\061\050\060\046\006\003\125\004\003\023\037\117\111 +\123\124\105\040\127\111\123\145\113\145\171\040\107\154\157\142 +\141\154\040\122\157\157\164\040\107\101\040\103\101 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\212\061\013\060\011\006\003\125\004\006\023\002\103\110 +\061\020\060\016\006\003\125\004\012\023\007\127\111\123\145\113 +\145\171\061\033\060\031\006\003\125\004\013\023\022\103\157\160 +\171\162\151\147\150\164\040\050\143\051\040\062\060\060\065\061 +\042\060\040\006\003\125\004\013\023\031\117\111\123\124\105\040 +\106\157\165\156\144\141\164\151\157\156\040\105\156\144\157\162 +\163\145\144\061\050\060\046\006\003\125\004\003\023\037\117\111 +\123\124\105\040\127\111\123\145\113\145\171\040\107\154\157\142 +\141\154\040\122\157\157\164\040\107\101\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\101\075\162\307\364\153\037\201\103\175\361\322\050\124 +\337\232 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\361\060\202\002\331\240\003\002\001\002\002\020\101 +\075\162\307\364\153\037\201\103\175\361\322\050\124\337\232\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201 +\212\061\013\060\011\006\003\125\004\006\023\002\103\110\061\020 +\060\016\006\003\125\004\012\023\007\127\111\123\145\113\145\171 +\061\033\060\031\006\003\125\004\013\023\022\103\157\160\171\162 +\151\147\150\164\040\050\143\051\040\062\060\060\065\061\042\060 +\040\006\003\125\004\013\023\031\117\111\123\124\105\040\106\157 +\165\156\144\141\164\151\157\156\040\105\156\144\157\162\163\145 +\144\061\050\060\046\006\003\125\004\003\023\037\117\111\123\124 +\105\040\127\111\123\145\113\145\171\040\107\154\157\142\141\154 +\040\122\157\157\164\040\107\101\040\103\101\060\036\027\015\060 +\065\061\062\061\061\061\066\060\063\064\064\132\027\015\063\067 +\061\062\061\061\061\066\060\071\065\061\132\060\201\212\061\013 +\060\011\006\003\125\004\006\023\002\103\110\061\020\060\016\006 +\003\125\004\012\023\007\127\111\123\145\113\145\171\061\033\060 +\031\006\003\125\004\013\023\022\103\157\160\171\162\151\147\150 +\164\040\050\143\051\040\062\060\060\065\061\042\060\040\006\003 +\125\004\013\023\031\117\111\123\124\105\040\106\157\165\156\144 +\141\164\151\157\156\040\105\156\144\157\162\163\145\144\061\050 +\060\046\006\003\125\004\003\023\037\117\111\123\124\105\040\127 +\111\123\145\113\145\171\040\107\154\157\142\141\154\040\122\157 +\157\164\040\107\101\040\103\101\060\202\001\042\060\015\006\011 +\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017\000 +\060\202\001\012\002\202\001\001\000\313\117\263\000\233\075\066 +\335\371\321\111\152\153\020\111\037\354\330\053\262\306\370\062 +\201\051\103\225\114\232\031\043\041\025\105\336\343\310\034\121 +\125\133\256\223\350\067\377\053\153\351\324\352\276\052\335\250 +\121\053\327\146\303\141\134\140\002\310\365\316\162\173\073\270 +\362\116\145\010\232\315\244\152\031\301\001\273\163\246\327\366 +\303\335\315\274\244\213\265\231\141\270\001\242\243\324\115\324 +\005\075\221\255\370\264\010\161\144\257\160\361\034\153\176\366 +\303\167\235\044\163\173\344\014\214\341\331\066\341\231\213\005 +\231\013\355\105\061\011\312\302\000\333\367\162\240\226\252\225 +\207\320\216\307\266\141\163\015\166\146\214\334\033\264\143\242 +\237\177\223\023\060\361\241\047\333\331\377\054\125\210\221\240 +\340\117\007\260\050\126\214\030\033\227\104\216\211\335\340\027 +\156\347\052\357\217\071\012\061\204\202\330\100\024\111\056\172 +\101\344\247\376\343\144\314\301\131\161\113\054\041\247\133\175 +\340\035\321\056\201\233\303\330\150\367\275\226\033\254\160\261 +\026\024\013\333\140\271\046\001\005\002\003\001\000\001\243\121 +\060\117\060\013\006\003\125\035\017\004\004\003\002\001\206\060 +\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377 +\060\035\006\003\125\035\016\004\026\004\024\263\003\176\256\066 +\274\260\171\321\334\224\046\266\021\276\041\262\151\206\224\060 +\020\006\011\053\006\001\004\001\202\067\025\001\004\003\002\001 +\000\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000 +\003\202\001\001\000\113\241\377\013\207\156\263\371\301\103\261 +\110\363\050\300\035\056\311\011\101\372\224\000\034\244\244\253 +\111\117\217\075\036\357\115\157\275\274\244\366\362\046\060\311 +\020\312\035\210\373\164\031\037\205\105\275\260\154\121\371\066 +\176\333\365\114\062\072\101\117\133\107\317\350\013\055\266\304 +\031\235\164\305\107\306\073\152\017\254\024\333\074\364\163\234 +\251\005\337\000\334\164\170\372\370\065\140\131\002\023\030\174 +\274\373\115\260\040\155\103\273\140\060\172\147\063\134\305\231 +\321\370\055\071\122\163\373\214\252\227\045\134\162\331\010\036 +\253\116\074\343\201\061\237\003\246\373\300\376\051\210\125\332 +\204\325\120\003\266\342\204\243\246\066\252\021\072\001\341\030 +\113\326\104\150\263\075\371\123\164\204\263\106\221\106\226\000 +\267\200\054\266\341\343\020\342\333\242\347\050\217\001\226\142 +\026\076\000\343\034\245\066\201\030\242\114\122\166\300\021\243 +\156\346\035\272\343\132\276\066\123\305\076\165\217\206\151\051 +\130\123\265\234\273\157\237\134\305\030\354\335\057\341\230\311 +\374\276\337\012\015 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "OISTE WISeKey Global Root GA CA" +# Issuer: CN=OISTE WISeKey Global Root GA CA,OU=OISTE Foundation Endorsed,OU=Copyright (c) 2005,O=WISeKey,C=CH +# Serial Number:41:3d:72:c7:f4:6b:1f:81:43:7d:f1:d2:28:54:df:9a +# Subject: CN=OISTE WISeKey Global Root GA CA,OU=OISTE Foundation Endorsed,OU=Copyright (c) 2005,O=WISeKey,C=CH +# Not Valid Before: Sun Dec 11 16:03:44 2005 +# Not Valid After : Fri Dec 11 16:09:51 2037 +# Fingerprint (MD5): BC:6C:51:33:A7:E9:D3:66:63:54:15:72:1B:21:92:93 +# Fingerprint (SHA1): 59:22:A1:E1:5A:EA:16:35:21:F8:98:39:6A:46:46:B0:44:1B:0F:A9 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "OISTE WISeKey Global Root GA CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\131\042\241\341\132\352\026\065\041\370\230\071\152\106\106\260 +\104\033\017\251 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\274\154\121\063\247\351\323\146\143\124\025\162\033\041\222\223 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\212\061\013\060\011\006\003\125\004\006\023\002\103\110 +\061\020\060\016\006\003\125\004\012\023\007\127\111\123\145\113 +\145\171\061\033\060\031\006\003\125\004\013\023\022\103\157\160 +\171\162\151\147\150\164\040\050\143\051\040\062\060\060\065\061 +\042\060\040\006\003\125\004\013\023\031\117\111\123\124\105\040 +\106\157\165\156\144\141\164\151\157\156\040\105\156\144\157\162 +\163\145\144\061\050\060\046\006\003\125\004\003\023\037\117\111 +\123\124\105\040\127\111\123\145\113\145\171\040\107\154\157\142 +\141\154\040\122\157\157\164\040\107\101\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\101\075\162\307\364\153\037\201\103\175\361\322\050\124 +\337\232 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Certigna" +# +# Issuer: CN=Certigna,O=Dhimyotis,C=FR +# Serial Number:00:fe:dc:e3:01:0f:c9:48:ff +# Subject: CN=Certigna,O=Dhimyotis,C=FR +# Not Valid Before: Fri Jun 29 15:13:05 2007 +# Not Valid After : Tue Jun 29 15:13:05 2027 +# Fingerprint (MD5): AB:57:A6:5B:7D:42:82:19:B5:D8:58:26:28:5E:FD:FF +# Fingerprint (SHA1): B1:2E:13:63:45:86:A4:6F:1A:B2:60:68:37:58:2D:C4:AC:FD:94:97 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Certigna" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\064\061\013\060\011\006\003\125\004\006\023\002\106\122\061 +\022\060\020\006\003\125\004\012\014\011\104\150\151\155\171\157 +\164\151\163\061\021\060\017\006\003\125\004\003\014\010\103\145 +\162\164\151\147\156\141 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\064\061\013\060\011\006\003\125\004\006\023\002\106\122\061 +\022\060\020\006\003\125\004\012\014\011\104\150\151\155\171\157 +\164\151\163\061\021\060\017\006\003\125\004\003\014\010\103\145 +\162\164\151\147\156\141 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\011\000\376\334\343\001\017\311\110\377 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\250\060\202\002\220\240\003\002\001\002\002\011\000 +\376\334\343\001\017\311\110\377\060\015\006\011\052\206\110\206 +\367\015\001\001\005\005\000\060\064\061\013\060\011\006\003\125 +\004\006\023\002\106\122\061\022\060\020\006\003\125\004\012\014 +\011\104\150\151\155\171\157\164\151\163\061\021\060\017\006\003 +\125\004\003\014\010\103\145\162\164\151\147\156\141\060\036\027 +\015\060\067\060\066\062\071\061\065\061\063\060\065\132\027\015 +\062\067\060\066\062\071\061\065\061\063\060\065\132\060\064\061 +\013\060\011\006\003\125\004\006\023\002\106\122\061\022\060\020 +\006\003\125\004\012\014\011\104\150\151\155\171\157\164\151\163 +\061\021\060\017\006\003\125\004\003\014\010\103\145\162\164\151 +\147\156\141\060\202\001\042\060\015\006\011\052\206\110\206\367 +\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002 +\202\001\001\000\310\150\361\311\326\326\263\064\165\046\202\036 +\354\264\276\352\134\341\046\355\021\107\141\341\242\174\026\170 +\100\041\344\140\236\132\310\143\341\304\261\226\222\377\030\155 +\151\043\341\053\142\367\335\342\066\057\221\007\271\110\317\016 +\354\171\266\054\347\064\113\160\010\045\243\074\207\033\031\362 +\201\007\017\070\220\031\323\021\376\206\264\362\321\136\036\036 +\226\315\200\154\316\073\061\223\266\362\240\320\251\225\022\175 +\245\232\314\153\310\204\126\212\063\251\347\042\025\123\026\360 +\314\027\354\127\137\351\242\012\230\011\336\343\137\234\157\334 +\110\343\205\013\025\132\246\272\237\254\110\343\011\262\367\364 +\062\336\136\064\276\034\170\135\102\133\316\016\042\217\115\220 +\327\175\062\030\263\013\054\152\277\216\077\024\021\211\040\016 +\167\024\265\075\224\010\207\367\045\036\325\262\140\000\354\157 +\052\050\045\156\052\076\030\143\027\045\077\076\104\040\026\366 +\046\310\045\256\005\112\264\347\143\054\363\214\026\123\176\134 +\373\021\032\010\301\106\142\237\042\270\361\302\215\151\334\372 +\072\130\006\337\002\003\001\000\001\243\201\274\060\201\271\060 +\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377 +\060\035\006\003\125\035\016\004\026\004\024\032\355\376\101\071 +\220\264\044\131\276\001\362\122\325\105\366\132\071\334\021\060 +\144\006\003\125\035\043\004\135\060\133\200\024\032\355\376\101 +\071\220\264\044\131\276\001\362\122\325\105\366\132\071\334\021 +\241\070\244\066\060\064\061\013\060\011\006\003\125\004\006\023 +\002\106\122\061\022\060\020\006\003\125\004\012\014\011\104\150 +\151\155\171\157\164\151\163\061\021\060\017\006\003\125\004\003 +\014\010\103\145\162\164\151\147\156\141\202\011\000\376\334\343 +\001\017\311\110\377\060\016\006\003\125\035\017\001\001\377\004 +\004\003\002\001\006\060\021\006\011\140\206\110\001\206\370\102 +\001\001\004\004\003\002\000\007\060\015\006\011\052\206\110\206 +\367\015\001\001\005\005\000\003\202\001\001\000\205\003\036\222 +\161\366\102\257\341\243\141\236\353\363\300\017\362\245\324\332 +\225\346\326\276\150\066\075\176\156\037\114\212\357\321\017\041 +\155\136\245\122\143\316\022\370\357\052\332\157\353\067\376\023 +\002\307\313\073\076\042\153\332\141\056\177\324\162\075\335\060 +\341\036\114\100\031\214\017\327\234\321\203\060\173\230\131\334 +\175\306\271\014\051\114\241\063\242\353\147\072\145\204\323\226 +\342\355\166\105\160\217\265\053\336\371\043\326\111\156\074\024 +\265\306\237\065\036\120\320\301\217\152\160\104\002\142\313\256 +\035\150\101\247\252\127\350\123\252\007\322\006\366\325\024\006 +\013\221\003\165\054\154\162\265\141\225\232\015\213\271\015\347 +\365\337\124\315\336\346\330\326\011\010\227\143\345\301\056\260 +\267\104\046\300\046\300\257\125\060\236\073\325\066\052\031\004 +\364\134\036\377\317\054\267\377\320\375\207\100\021\325\021\043 +\273\110\300\041\251\244\050\055\375\025\370\260\116\053\364\060 +\133\041\374\021\221\064\276\101\357\173\235\227\165\377\227\225 +\300\226\130\057\352\273\106\327\273\344\331\056 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "Certigna" +# Issuer: CN=Certigna,O=Dhimyotis,C=FR +# Serial Number:00:fe:dc:e3:01:0f:c9:48:ff +# Subject: CN=Certigna,O=Dhimyotis,C=FR +# Not Valid Before: Fri Jun 29 15:13:05 2007 +# Not Valid After : Tue Jun 29 15:13:05 2027 +# Fingerprint (MD5): AB:57:A6:5B:7D:42:82:19:B5:D8:58:26:28:5E:FD:FF +# Fingerprint (SHA1): B1:2E:13:63:45:86:A4:6F:1A:B2:60:68:37:58:2D:C4:AC:FD:94:97 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Certigna" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\261\056\023\143\105\206\244\157\032\262\140\150\067\130\055\304 +\254\375\224\227 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\253\127\246\133\175\102\202\031\265\330\130\046\050\136\375\377 +END +CKA_ISSUER MULTILINE_OCTAL +\060\064\061\013\060\011\006\003\125\004\006\023\002\106\122\061 +\022\060\020\006\003\125\004\012\014\011\104\150\151\155\171\157 +\164\151\163\061\021\060\017\006\003\125\004\003\014\010\103\145 +\162\164\151\147\156\141 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\011\000\376\334\343\001\017\311\110\377 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Cybertrust Global Root" +# +# Issuer: CN=Cybertrust Global Root,O="Cybertrust, Inc" +# Serial Number:04:00:00:00:00:01:0f:85:aa:2d:48 +# Subject: CN=Cybertrust Global Root,O="Cybertrust, Inc" +# Not Valid Before: Fri Dec 15 08:00:00 2006 +# Not Valid After : Wed Dec 15 08:00:00 2021 +# Fingerprint (MD5): 72:E4:4A:87:E3:69:40:80:77:EA:BC:E3:F4:FF:F0:E1 +# Fingerprint (SHA1): 5F:43:E5:B1:BF:F8:78:8C:AC:1C:C7:CA:4A:9A:C6:22:2B:CC:34:C6 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Cybertrust Global Root" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\073\061\030\060\026\006\003\125\004\012\023\017\103\171\142 +\145\162\164\162\165\163\164\054\040\111\156\143\061\037\060\035 +\006\003\125\004\003\023\026\103\171\142\145\162\164\162\165\163 +\164\040\107\154\157\142\141\154\040\122\157\157\164 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\073\061\030\060\026\006\003\125\004\012\023\017\103\171\142 +\145\162\164\162\165\163\164\054\040\111\156\143\061\037\060\035 +\006\003\125\004\003\023\026\103\171\142\145\162\164\162\165\163 +\164\040\107\154\157\142\141\154\040\122\157\157\164 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\013\004\000\000\000\000\001\017\205\252\055\110 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\241\060\202\002\211\240\003\002\001\002\002\013\004 +\000\000\000\000\001\017\205\252\055\110\060\015\006\011\052\206 +\110\206\367\015\001\001\005\005\000\060\073\061\030\060\026\006 +\003\125\004\012\023\017\103\171\142\145\162\164\162\165\163\164 +\054\040\111\156\143\061\037\060\035\006\003\125\004\003\023\026 +\103\171\142\145\162\164\162\165\163\164\040\107\154\157\142\141 +\154\040\122\157\157\164\060\036\027\015\060\066\061\062\061\065 +\060\070\060\060\060\060\132\027\015\062\061\061\062\061\065\060 +\070\060\060\060\060\132\060\073\061\030\060\026\006\003\125\004 +\012\023\017\103\171\142\145\162\164\162\165\163\164\054\040\111 +\156\143\061\037\060\035\006\003\125\004\003\023\026\103\171\142 +\145\162\164\162\165\163\164\040\107\154\157\142\141\154\040\122 +\157\157\164\060\202\001\042\060\015\006\011\052\206\110\206\367 +\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002 +\202\001\001\000\370\310\274\275\024\120\146\023\377\360\323\171 +\354\043\362\267\032\307\216\205\361\022\163\246\031\252\020\333 +\234\242\145\164\132\167\076\121\175\126\366\334\043\266\324\355 +\137\130\261\067\115\325\111\016\156\365\152\207\326\322\214\322 +\047\306\342\377\066\237\230\145\240\023\116\306\052\144\233\325 +\220\022\317\024\006\364\073\343\324\050\276\350\016\370\253\116 +\110\224\155\216\225\061\020\134\355\242\055\275\325\072\155\262 +\034\273\140\300\106\113\001\365\111\256\176\106\212\320\164\215 +\241\014\002\316\356\374\347\217\270\153\146\363\177\104\000\277 +\146\045\024\053\335\020\060\035\007\226\077\115\366\153\270\217 +\267\173\014\245\070\353\336\107\333\325\135\071\374\210\247\363 +\327\052\164\361\350\132\242\073\237\120\272\246\214\105\065\302 +\120\145\225\334\143\202\357\335\277\167\115\234\142\311\143\163 +\026\320\051\017\111\251\110\360\263\252\267\154\305\247\060\071 +\100\135\256\304\342\135\046\123\360\316\034\043\010\141\250\224 +\031\272\004\142\100\354\037\070\160\167\022\006\161\247\060\030 +\135\045\047\245\002\003\001\000\001\243\201\245\060\201\242\060 +\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060 +\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377 +\060\035\006\003\125\035\016\004\026\004\024\266\010\173\015\172 +\314\254\040\114\206\126\062\136\317\253\156\205\055\160\127\060 +\077\006\003\125\035\037\004\070\060\066\060\064\240\062\240\060 +\206\056\150\164\164\160\072\057\057\167\167\167\062\056\160\165 +\142\154\151\143\055\164\162\165\163\164\056\143\157\155\057\143 +\162\154\057\143\164\057\143\164\162\157\157\164\056\143\162\154 +\060\037\006\003\125\035\043\004\030\060\026\200\024\266\010\173 +\015\172\314\254\040\114\206\126\062\136\317\253\156\205\055\160 +\127\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000 +\003\202\001\001\000\126\357\012\043\240\124\116\225\227\311\370 +\211\332\105\301\324\243\000\045\364\037\023\253\267\243\205\130 +\151\302\060\255\330\025\212\055\343\311\315\201\132\370\163\043 +\132\247\174\005\363\375\042\073\016\321\006\304\333\066\114\163 +\004\216\345\260\042\344\305\363\056\245\331\043\343\270\116\112 +\040\247\156\002\044\237\042\140\147\173\213\035\162\011\305\061 +\134\351\171\237\200\107\075\255\241\013\007\024\075\107\377\003 +\151\032\014\013\104\347\143\045\247\177\262\311\270\166\204\355 +\043\366\175\007\253\105\176\323\337\263\277\351\212\266\315\250 +\242\147\053\122\325\267\145\360\071\114\143\240\221\171\223\122 +\017\124\335\203\273\237\321\217\247\123\163\303\313\377\060\354 +\174\004\270\330\104\037\223\137\161\011\042\267\156\076\352\034 +\003\116\235\032\040\141\373\201\067\354\136\374\012\105\253\327 +\347\027\125\320\240\352\140\233\246\366\343\214\133\051\302\006 +\140\024\235\055\227\114\251\223\025\235\141\304\001\137\110\326 +\130\275\126\061\022\116\021\310\041\340\263\021\221\145\333\264 +\246\210\070\316\125 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "Cybertrust Global Root" +# Issuer: CN=Cybertrust Global Root,O="Cybertrust, Inc" +# Serial Number:04:00:00:00:00:01:0f:85:aa:2d:48 +# Subject: CN=Cybertrust Global Root,O="Cybertrust, Inc" +# Not Valid Before: Fri Dec 15 08:00:00 2006 +# Not Valid After : Wed Dec 15 08:00:00 2021 +# Fingerprint (MD5): 72:E4:4A:87:E3:69:40:80:77:EA:BC:E3:F4:FF:F0:E1 +# Fingerprint (SHA1): 5F:43:E5:B1:BF:F8:78:8C:AC:1C:C7:CA:4A:9A:C6:22:2B:CC:34:C6 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Cybertrust Global Root" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\137\103\345\261\277\370\170\214\254\034\307\312\112\232\306\042 +\053\314\064\306 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\162\344\112\207\343\151\100\200\167\352\274\343\364\377\360\341 +END +CKA_ISSUER MULTILINE_OCTAL +\060\073\061\030\060\026\006\003\125\004\012\023\017\103\171\142 +\145\162\164\162\165\163\164\054\040\111\156\143\061\037\060\035 +\006\003\125\004\003\023\026\103\171\142\145\162\164\162\165\163 +\164\040\107\154\157\142\141\154\040\122\157\157\164 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\013\004\000\000\000\000\001\017\205\252\055\110 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "ePKI Root Certification Authority" +# +# Issuer: OU=ePKI Root Certification Authority,O="Chunghwa Telecom Co., Ltd.",C=TW +# Serial Number:15:c8:bd:65:47:5c:af:b8:97:00:5e:e4:06:d2:bc:9d +# Subject: OU=ePKI Root Certification Authority,O="Chunghwa Telecom Co., Ltd.",C=TW +# Not Valid Before: Mon Dec 20 02:31:27 2004 +# Not Valid After : Wed Dec 20 02:31:27 2034 +# Fingerprint (MD5): 1B:2E:00:CA:26:06:90:3D:AD:FE:6F:15:68:D3:6B:B3 +# Fingerprint (SHA1): 67:65:0D:F1:7E:8E:7E:5B:82:40:A4:F4:56:4B:CF:E2:3D:69:C6:F0 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "ePKI Root Certification Authority" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\136\061\013\060\011\006\003\125\004\006\023\002\124\127\061 +\043\060\041\006\003\125\004\012\014\032\103\150\165\156\147\150 +\167\141\040\124\145\154\145\143\157\155\040\103\157\056\054\040 +\114\164\144\056\061\052\060\050\006\003\125\004\013\014\041\145 +\120\113\111\040\122\157\157\164\040\103\145\162\164\151\146\151 +\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\136\061\013\060\011\006\003\125\004\006\023\002\124\127\061 +\043\060\041\006\003\125\004\012\014\032\103\150\165\156\147\150 +\167\141\040\124\145\154\145\143\157\155\040\103\157\056\054\040 +\114\164\144\056\061\052\060\050\006\003\125\004\013\014\041\145 +\120\113\111\040\122\157\157\164\040\103\145\162\164\151\146\151 +\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\025\310\275\145\107\134\257\270\227\000\136\344\006\322 +\274\235 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\260\060\202\003\230\240\003\002\001\002\002\020\025 +\310\275\145\107\134\257\270\227\000\136\344\006\322\274\235\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\136 +\061\013\060\011\006\003\125\004\006\023\002\124\127\061\043\060 +\041\006\003\125\004\012\014\032\103\150\165\156\147\150\167\141 +\040\124\145\154\145\143\157\155\040\103\157\056\054\040\114\164 +\144\056\061\052\060\050\006\003\125\004\013\014\041\145\120\113 +\111\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141 +\164\151\157\156\040\101\165\164\150\157\162\151\164\171\060\036 +\027\015\060\064\061\062\062\060\060\062\063\061\062\067\132\027 +\015\063\064\061\062\062\060\060\062\063\061\062\067\132\060\136 +\061\013\060\011\006\003\125\004\006\023\002\124\127\061\043\060 +\041\006\003\125\004\012\014\032\103\150\165\156\147\150\167\141 +\040\124\145\154\145\143\157\155\040\103\157\056\054\040\114\164 +\144\056\061\052\060\050\006\003\125\004\013\014\041\145\120\113 +\111\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141 +\164\151\157\156\040\101\165\164\150\157\162\151\164\171\060\202 +\002\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005 +\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000\341 +\045\017\356\215\333\210\063\165\147\315\255\037\175\072\116\155 +\235\323\057\024\363\143\164\313\001\041\152\067\352\204\120\007 +\113\046\133\011\103\154\041\236\152\310\325\003\365\140\151\217 +\314\360\042\344\037\347\367\152\042\061\267\054\025\362\340\376 +\000\152\103\377\207\145\306\265\032\301\247\114\155\042\160\041 +\212\061\362\227\164\211\011\022\046\034\236\312\331\022\242\225 +\074\332\351\147\277\010\240\144\343\326\102\267\105\357\227\364 +\366\365\327\265\112\025\002\130\175\230\130\113\140\274\315\327 +\015\232\023\063\123\321\141\371\172\325\327\170\263\232\063\367 +\000\206\316\035\115\224\070\257\250\354\170\121\160\212\134\020 +\203\121\041\367\021\075\064\206\136\345\110\315\227\201\202\065 +\114\031\354\145\366\153\305\005\241\356\107\023\326\263\041\047 +\224\020\012\331\044\073\272\276\104\023\106\060\077\227\074\330 +\327\327\152\356\073\070\343\053\324\227\016\271\033\347\007\111 +\177\067\052\371\167\170\317\124\355\133\106\235\243\200\016\221 +\103\301\326\133\137\024\272\237\246\215\044\107\100\131\277\162 +\070\262\066\154\067\377\231\321\135\016\131\012\253\151\367\300 +\262\004\105\172\124\000\256\276\123\366\265\347\341\370\074\243 +\061\322\251\376\041\122\144\305\246\147\360\165\007\006\224\024 +\201\125\306\047\344\001\217\027\301\152\161\327\276\113\373\224 +\130\175\176\021\063\261\102\367\142\154\030\326\317\011\150\076 +\177\154\366\036\217\142\255\245\143\333\011\247\037\042\102\101 +\036\157\231\212\076\327\371\077\100\172\171\260\245\001\222\322 +\235\075\010\025\245\020\001\055\263\062\166\250\225\015\263\172 +\232\373\007\020\170\021\157\341\217\307\272\017\045\032\164\052 +\345\034\230\101\231\337\041\207\350\225\006\152\012\263\152\107 +\166\145\366\072\317\217\142\027\031\173\012\050\315\032\322\203 +\036\041\307\054\277\276\377\141\150\267\147\033\273\170\115\215 +\316\147\345\344\301\216\267\043\146\342\235\220\165\064\230\251 +\066\053\212\232\224\271\235\354\314\212\261\370\045\211\134\132 +\266\057\214\037\155\171\044\247\122\150\303\204\065\342\146\215 +\143\016\045\115\325\031\262\346\171\067\247\042\235\124\061\002 +\003\001\000\001\243\152\060\150\060\035\006\003\125\035\016\004 +\026\004\024\036\014\367\266\147\362\341\222\046\011\105\300\125 +\071\056\167\077\102\112\242\060\014\006\003\125\035\023\004\005 +\060\003\001\001\377\060\071\006\004\147\052\007\000\004\061\060 +\057\060\055\002\001\000\060\011\006\005\053\016\003\002\032\005 +\000\060\007\006\005\147\052\003\000\000\004\024\105\260\302\307 +\012\126\174\356\133\170\014\225\371\030\123\301\246\034\330\020 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003 +\202\002\001\000\011\263\203\123\131\001\076\225\111\271\361\201 +\272\371\166\040\043\265\047\140\164\324\152\231\064\136\154\000 +\123\331\237\362\246\261\044\007\104\152\052\306\245\216\170\022 +\350\107\331\130\033\023\052\136\171\233\237\012\052\147\246\045 +\077\006\151\126\163\303\212\146\110\373\051\201\127\164\006\312 +\234\352\050\350\070\147\046\053\361\325\265\077\145\223\370\066 +\135\216\215\215\100\040\207\031\352\357\047\300\075\264\071\017 +\045\173\150\120\164\125\234\014\131\175\132\075\101\224\045\122 +\010\340\107\054\025\061\031\325\277\007\125\306\273\022\265\227 +\364\137\203\205\272\161\301\331\154\201\021\166\012\012\260\277 +\202\227\367\352\075\372\372\354\055\251\050\224\073\126\335\322 +\121\056\256\300\275\010\025\214\167\122\064\226\326\233\254\323 +\035\216\141\017\065\173\233\256\071\151\013\142\140\100\040\066 +\217\257\373\066\356\055\010\112\035\270\277\233\134\370\352\245 +\033\240\163\246\330\370\156\340\063\004\137\150\252\047\207\355 +\331\301\220\234\355\275\343\152\065\257\143\337\253\030\331\272 +\346\351\112\352\120\212\017\141\223\036\342\055\031\342\060\224 +\065\222\135\016\266\007\257\031\200\217\107\220\121\113\056\115 +\335\205\342\322\012\122\012\027\232\374\032\260\120\002\345\001 +\243\143\067\041\114\104\304\233\121\231\021\016\163\234\006\217 +\124\056\247\050\136\104\071\207\126\055\067\275\205\104\224\341 +\014\113\054\234\303\222\205\064\141\313\017\270\233\112\103\122 +\376\064\072\175\270\351\051\334\166\251\310\060\370\024\161\200 +\306\036\066\110\164\042\101\134\207\202\350\030\161\213\101\211 +\104\347\176\130\133\250\270\215\023\351\247\154\303\107\355\263 +\032\235\142\256\215\202\352\224\236\335\131\020\303\255\335\342 +\115\343\061\325\307\354\350\362\260\376\222\036\026\012\032\374 +\331\363\370\047\266\311\276\035\264\154\144\220\177\364\344\304 +\133\327\067\256\102\016\335\244\032\157\174\210\124\305\026\156 +\341\172\150\056\370\072\277\015\244\074\211\073\170\247\116\143 +\203\004\041\010\147\215\362\202\111\320\133\375\261\315\017\203 +\204\324\076\040\205\367\112\075\053\234\375\052\012\011\115\352 +\201\370\021\234 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "ePKI Root Certification Authority" +# Issuer: OU=ePKI Root Certification Authority,O="Chunghwa Telecom Co., Ltd.",C=TW +# Serial Number:15:c8:bd:65:47:5c:af:b8:97:00:5e:e4:06:d2:bc:9d +# Subject: OU=ePKI Root Certification Authority,O="Chunghwa Telecom Co., Ltd.",C=TW +# Not Valid Before: Mon Dec 20 02:31:27 2004 +# Not Valid After : Wed Dec 20 02:31:27 2034 +# Fingerprint (MD5): 1B:2E:00:CA:26:06:90:3D:AD:FE:6F:15:68:D3:6B:B3 +# Fingerprint (SHA1): 67:65:0D:F1:7E:8E:7E:5B:82:40:A4:F4:56:4B:CF:E2:3D:69:C6:F0 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "ePKI Root Certification Authority" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\147\145\015\361\176\216\176\133\202\100\244\364\126\113\317\342 +\075\151\306\360 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\033\056\000\312\046\006\220\075\255\376\157\025\150\323\153\263 +END +CKA_ISSUER MULTILINE_OCTAL +\060\136\061\013\060\011\006\003\125\004\006\023\002\124\127\061 +\043\060\041\006\003\125\004\012\014\032\103\150\165\156\147\150 +\167\141\040\124\145\154\145\143\157\155\040\103\157\056\054\040 +\114\164\144\056\061\052\060\050\006\003\125\004\013\014\041\145 +\120\113\111\040\122\157\157\164\040\103\145\162\164\151\146\151 +\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\025\310\275\145\107\134\257\270\227\000\136\344\006\322 +\274\235 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "certSIGN ROOT CA" +# +# Issuer: OU=certSIGN ROOT CA,O=certSIGN,C=RO +# Serial Number:20:06:05:16:70:02 +# Subject: OU=certSIGN ROOT CA,O=certSIGN,C=RO +# Not Valid Before: Tue Jul 04 17:20:04 2006 +# Not Valid After : Fri Jul 04 17:20:04 2031 +# Fingerprint (MD5): 18:98:C0:D6:E9:3A:FC:F9:B0:F5:0C:F7:4B:01:44:17 +# Fingerprint (SHA1): FA:B7:EE:36:97:26:62:FB:2D:B0:2A:F6:BF:03:FD:E8:7C:4B:2F:9B +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "certSIGN ROOT CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\073\061\013\060\011\006\003\125\004\006\023\002\122\117\061 +\021\060\017\006\003\125\004\012\023\010\143\145\162\164\123\111 +\107\116\061\031\060\027\006\003\125\004\013\023\020\143\145\162 +\164\123\111\107\116\040\122\117\117\124\040\103\101 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\073\061\013\060\011\006\003\125\004\006\023\002\122\117\061 +\021\060\017\006\003\125\004\012\023\010\143\145\162\164\123\111 +\107\116\061\031\060\027\006\003\125\004\013\023\020\143\145\162 +\164\123\111\107\116\040\122\117\117\124\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\006\040\006\005\026\160\002 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\070\060\202\002\040\240\003\002\001\002\002\006\040 +\006\005\026\160\002\060\015\006\011\052\206\110\206\367\015\001 +\001\005\005\000\060\073\061\013\060\011\006\003\125\004\006\023 +\002\122\117\061\021\060\017\006\003\125\004\012\023\010\143\145 +\162\164\123\111\107\116\061\031\060\027\006\003\125\004\013\023 +\020\143\145\162\164\123\111\107\116\040\122\117\117\124\040\103 +\101\060\036\027\015\060\066\060\067\060\064\061\067\062\060\060 +\064\132\027\015\063\061\060\067\060\064\061\067\062\060\060\064 +\132\060\073\061\013\060\011\006\003\125\004\006\023\002\122\117 +\061\021\060\017\006\003\125\004\012\023\010\143\145\162\164\123 +\111\107\116\061\031\060\027\006\003\125\004\013\023\020\143\145 +\162\164\123\111\107\116\040\122\117\117\124\040\103\101\060\202 +\001\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005 +\000\003\202\001\017\000\060\202\001\012\002\202\001\001\000\267 +\063\271\176\310\045\112\216\265\333\264\050\033\252\127\220\350 +\321\042\323\144\272\323\223\350\324\254\206\141\100\152\140\127 +\150\124\204\115\274\152\124\002\005\377\337\233\232\052\256\135 +\007\217\112\303\050\177\357\373\053\372\171\361\307\255\360\020 +\123\044\220\213\146\311\250\210\253\257\132\243\000\351\276\272 +\106\356\133\163\173\054\027\202\201\136\142\054\241\002\145\263 +\275\305\053\000\176\304\374\003\063\127\015\355\342\372\316\135 +\105\326\070\315\065\266\262\301\320\234\201\112\252\344\262\001 +\134\035\217\137\231\304\261\255\333\210\041\353\220\010\202\200 +\363\060\243\103\346\220\202\256\125\050\111\355\133\327\251\020 +\070\016\376\217\114\133\233\106\352\101\365\260\010\164\303\320 +\210\063\266\174\327\164\337\334\204\321\103\016\165\071\241\045 +\100\050\352\170\313\016\054\056\071\235\214\213\156\026\034\057 +\046\202\020\342\343\145\224\012\004\300\136\367\135\133\370\020 +\342\320\272\172\113\373\336\067\000\000\032\133\050\343\322\234 +\163\076\062\207\230\241\311\121\057\327\336\254\063\263\117\002 +\003\001\000\001\243\102\060\100\060\017\006\003\125\035\023\001 +\001\377\004\005\060\003\001\001\377\060\016\006\003\125\035\017 +\001\001\377\004\004\003\002\001\306\060\035\006\003\125\035\016 +\004\026\004\024\340\214\233\333\045\111\263\361\174\206\326\262 +\102\207\013\320\153\240\331\344\060\015\006\011\052\206\110\206 +\367\015\001\001\005\005\000\003\202\001\001\000\076\322\034\211 +\056\065\374\370\165\335\346\177\145\210\364\162\114\311\054\327 +\062\116\363\335\031\171\107\275\216\073\133\223\017\120\111\044 +\023\153\024\006\162\357\011\323\241\241\343\100\204\311\347\030 +\062\164\074\110\156\017\237\113\324\367\036\323\223\206\144\124 +\227\143\162\120\325\125\317\372\040\223\002\242\233\303\043\223 +\116\026\125\166\240\160\171\155\315\041\037\317\057\055\274\031 +\343\210\061\370\131\032\201\011\310\227\246\164\307\140\304\133 +\314\127\216\262\165\375\033\002\011\333\131\157\162\223\151\367 +\061\101\326\210\070\277\207\262\275\026\171\371\252\344\276\210 +\045\335\141\047\043\034\265\061\007\004\066\264\032\220\275\240 +\164\161\120\211\155\274\024\343\017\206\256\361\253\076\307\240 +\011\314\243\110\321\340\333\144\347\222\265\317\257\162\103\160 +\213\371\303\204\074\023\252\176\222\233\127\123\223\372\160\302 +\221\016\061\371\233\147\135\351\226\070\136\137\263\163\116\210 +\025\147\336\236\166\020\142\040\276\125\151\225\103\000\071\115 +\366\356\260\132\116\111\104\124\130\137\102\203 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "certSIGN ROOT CA" +# Issuer: OU=certSIGN ROOT CA,O=certSIGN,C=RO +# Serial Number:20:06:05:16:70:02 +# Subject: OU=certSIGN ROOT CA,O=certSIGN,C=RO +# Not Valid Before: Tue Jul 04 17:20:04 2006 +# Not Valid After : Fri Jul 04 17:20:04 2031 +# Fingerprint (MD5): 18:98:C0:D6:E9:3A:FC:F9:B0:F5:0C:F7:4B:01:44:17 +# Fingerprint (SHA1): FA:B7:EE:36:97:26:62:FB:2D:B0:2A:F6:BF:03:FD:E8:7C:4B:2F:9B +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "certSIGN ROOT CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\372\267\356\066\227\046\142\373\055\260\052\366\277\003\375\350 +\174\113\057\233 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\030\230\300\326\351\072\374\371\260\365\014\367\113\001\104\027 +END +CKA_ISSUER MULTILINE_OCTAL +\060\073\061\013\060\011\006\003\125\004\006\023\002\122\117\061 +\021\060\017\006\003\125\004\012\023\010\143\145\162\164\123\111 +\107\116\061\031\060\027\006\003\125\004\013\023\020\143\145\162 +\164\123\111\107\116\040\122\117\117\124\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\006\040\006\005\026\160\002 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "GeoTrust Primary Certification Authority - G3" +# +# Issuer: CN=GeoTrust Primary Certification Authority - G3,OU=(c) 2008 GeoTrust Inc. - For authorized use only,O=GeoTrust Inc.,C=US +# Serial Number:15:ac:6e:94:19:b2:79:4b:41:f6:27:a9:c3:18:0f:1f +# Subject: CN=GeoTrust Primary Certification Authority - G3,OU=(c) 2008 GeoTrust Inc. - For authorized use only,O=GeoTrust Inc.,C=US +# Not Valid Before: Wed Apr 02 00:00:00 2008 +# Not Valid After : Tue Dec 01 23:59:59 2037 +# Fingerprint (MD5): B5:E8:34:36:C9:10:44:58:48:70:6D:2E:83:D4:B8:05 +# Fingerprint (SHA1): 03:9E:ED:B8:0B:E7:A0:3C:69:53:89:3B:20:D2:D9:32:3A:4C:2A:FD +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "GeoTrust Primary Certification Authority - G3" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162 +\165\163\164\040\111\156\143\056\061\071\060\067\006\003\125\004 +\013\023\060\050\143\051\040\062\060\060\070\040\107\145\157\124 +\162\165\163\164\040\111\156\143\056\040\055\040\106\157\162\040 +\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157 +\156\154\171\061\066\060\064\006\003\125\004\003\023\055\107\145 +\157\124\162\165\163\164\040\120\162\151\155\141\162\171\040\103 +\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164 +\150\157\162\151\164\171\040\055\040\107\063 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162 +\165\163\164\040\111\156\143\056\061\071\060\067\006\003\125\004 +\013\023\060\050\143\051\040\062\060\060\070\040\107\145\157\124 +\162\165\163\164\040\111\156\143\056\040\055\040\106\157\162\040 +\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157 +\156\154\171\061\066\060\064\006\003\125\004\003\023\055\107\145 +\157\124\162\165\163\164\040\120\162\151\155\141\162\171\040\103 +\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164 +\150\157\162\151\164\171\040\055\040\107\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\025\254\156\224\031\262\171\113\101\366\047\251\303\030 +\017\037 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\376\060\202\002\346\240\003\002\001\002\002\020\025 +\254\156\224\031\262\171\113\101\366\047\251\303\030\017\037\060 +\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\201 +\230\061\013\060\011\006\003\125\004\006\023\002\125\123\061\026 +\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165\163 +\164\040\111\156\143\056\061\071\060\067\006\003\125\004\013\023 +\060\050\143\051\040\062\060\060\070\040\107\145\157\124\162\165 +\163\164\040\111\156\143\056\040\055\040\106\157\162\040\141\165 +\164\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154 +\171\061\066\060\064\006\003\125\004\003\023\055\107\145\157\124 +\162\165\163\164\040\120\162\151\155\141\162\171\040\103\145\162 +\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157 +\162\151\164\171\040\055\040\107\063\060\036\027\015\060\070\060 +\064\060\062\060\060\060\060\060\060\132\027\015\063\067\061\062 +\060\061\062\063\065\071\065\071\132\060\201\230\061\013\060\011 +\006\003\125\004\006\023\002\125\123\061\026\060\024\006\003\125 +\004\012\023\015\107\145\157\124\162\165\163\164\040\111\156\143 +\056\061\071\060\067\006\003\125\004\013\023\060\050\143\051\040 +\062\060\060\070\040\107\145\157\124\162\165\163\164\040\111\156 +\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151 +\172\145\144\040\165\163\145\040\157\156\154\171\061\066\060\064 +\006\003\125\004\003\023\055\107\145\157\124\162\165\163\164\040 +\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151\143 +\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040 +\055\040\107\063\060\202\001\042\060\015\006\011\052\206\110\206 +\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012 +\002\202\001\001\000\334\342\136\142\130\035\063\127\071\062\063 +\372\353\313\207\214\247\324\112\335\006\210\352\144\216\061\230 +\245\070\220\036\230\317\056\143\053\360\106\274\104\262\211\241 +\300\050\014\111\160\041\225\237\144\300\246\223\022\002\145\046 +\206\306\245\211\360\372\327\204\240\160\257\117\032\227\077\006 +\104\325\311\353\162\020\175\344\061\050\373\034\141\346\050\007 +\104\163\222\042\151\247\003\210\154\235\143\310\122\332\230\047 +\347\010\114\160\076\264\311\022\301\305\147\203\135\063\363\003 +\021\354\152\320\123\342\321\272\066\140\224\200\273\141\143\154 +\133\027\176\337\100\224\036\253\015\302\041\050\160\210\377\326 +\046\154\154\140\004\045\116\125\176\175\357\277\224\110\336\267 +\035\335\160\215\005\137\210\245\233\362\302\356\352\321\100\101 +\155\142\070\035\126\006\305\003\107\121\040\031\374\173\020\013 +\016\142\256\166\125\277\137\167\276\076\111\001\123\075\230\045 +\003\166\044\132\035\264\333\211\352\171\345\266\263\073\077\272 +\114\050\101\177\006\254\152\216\301\320\366\005\035\175\346\102 +\206\343\245\325\107\002\003\001\000\001\243\102\060\100\060\017 +\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060 +\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060 +\035\006\003\125\035\016\004\026\004\024\304\171\312\216\241\116 +\003\035\034\334\153\333\061\133\224\076\077\060\177\055\060\015 +\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202\001 +\001\000\055\305\023\317\126\200\173\172\170\275\237\256\054\231 +\347\357\332\337\224\136\011\151\247\347\156\150\214\275\162\276 +\107\251\016\227\022\270\112\361\144\323\071\337\045\064\324\301 +\315\116\201\360\017\004\304\044\263\064\226\306\246\252\060\337 +\150\141\163\327\371\216\205\211\357\016\136\225\050\112\052\047 +\217\020\216\056\174\206\304\002\236\332\014\167\145\016\104\015 +\222\375\375\263\026\066\372\021\015\035\214\016\007\211\152\051 +\126\367\162\364\335\025\234\167\065\146\127\253\023\123\330\216 +\301\100\305\327\023\026\132\162\307\267\151\001\304\172\261\203 +\001\150\175\215\101\241\224\030\301\045\134\374\360\376\203\002 +\207\174\015\015\317\056\010\134\112\100\015\076\354\201\141\346 +\044\333\312\340\016\055\007\262\076\126\334\215\365\101\205\007 +\110\233\014\013\313\111\077\175\354\267\375\313\215\147\211\032 +\253\355\273\036\243\000\010\010\027\052\202\134\061\135\106\212 +\055\017\206\233\164\331\105\373\324\100\261\172\252\150\055\206 +\262\231\042\341\301\053\307\234\370\363\137\250\202\022\353\031 +\021\055 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "GeoTrust Primary Certification Authority - G3" +# Issuer: CN=GeoTrust Primary Certification Authority - G3,OU=(c) 2008 GeoTrust Inc. - For authorized use only,O=GeoTrust Inc.,C=US +# Serial Number:15:ac:6e:94:19:b2:79:4b:41:f6:27:a9:c3:18:0f:1f +# Subject: CN=GeoTrust Primary Certification Authority - G3,OU=(c) 2008 GeoTrust Inc. - For authorized use only,O=GeoTrust Inc.,C=US +# Not Valid Before: Wed Apr 02 00:00:00 2008 +# Not Valid After : Tue Dec 01 23:59:59 2037 +# Fingerprint (MD5): B5:E8:34:36:C9:10:44:58:48:70:6D:2E:83:D4:B8:05 +# Fingerprint (SHA1): 03:9E:ED:B8:0B:E7:A0:3C:69:53:89:3B:20:D2:D9:32:3A:4C:2A:FD +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "GeoTrust Primary Certification Authority - G3" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\003\236\355\270\013\347\240\074\151\123\211\073\040\322\331\062 +\072\114\052\375 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\265\350\064\066\311\020\104\130\110\160\155\056\203\324\270\005 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162 +\165\163\164\040\111\156\143\056\061\071\060\067\006\003\125\004 +\013\023\060\050\143\051\040\062\060\060\070\040\107\145\157\124 +\162\165\163\164\040\111\156\143\056\040\055\040\106\157\162\040 +\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157 +\156\154\171\061\066\060\064\006\003\125\004\003\023\055\107\145 +\157\124\162\165\163\164\040\120\162\151\155\141\162\171\040\103 +\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164 +\150\157\162\151\164\171\040\055\040\107\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\025\254\156\224\031\262\171\113\101\366\047\251\303\030 +\017\037 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "thawte Primary Root CA - G2" +# +# Issuer: CN=thawte Primary Root CA - G2,OU="(c) 2007 thawte, Inc. - For authorized use only",O="thawte, Inc.",C=US +# Serial Number:35:fc:26:5c:d9:84:4f:c9:3d:26:3d:57:9b:ae:d7:56 +# Subject: CN=thawte Primary Root CA - G2,OU="(c) 2007 thawte, Inc. - For authorized use only",O="thawte, Inc.",C=US +# Not Valid Before: Mon Nov 05 00:00:00 2007 +# Not Valid After : Mon Jan 18 23:59:59 2038 +# Fingerprint (MD5): 74:9D:EA:60:24:C4:FD:22:53:3E:CC:3A:72:D9:29:4F +# Fingerprint (SHA1): AA:DB:BC:22:23:8F:C4:01:A1:27:BB:38:DD:F4:1D:DB:08:9E:F0:12 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "thawte Primary Root CA - G2" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\204\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164 +\145\054\040\111\156\143\056\061\070\060\066\006\003\125\004\013 +\023\057\050\143\051\040\062\060\060\067\040\164\150\141\167\164 +\145\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165 +\164\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154 +\171\061\044\060\042\006\003\125\004\003\023\033\164\150\141\167 +\164\145\040\120\162\151\155\141\162\171\040\122\157\157\164\040 +\103\101\040\055\040\107\062 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\204\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164 +\145\054\040\111\156\143\056\061\070\060\066\006\003\125\004\013 +\023\057\050\143\051\040\062\060\060\067\040\164\150\141\167\164 +\145\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165 +\164\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154 +\171\061\044\060\042\006\003\125\004\003\023\033\164\150\141\167 +\164\145\040\120\162\151\155\141\162\171\040\122\157\157\164\040 +\103\101\040\055\040\107\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\065\374\046\134\331\204\117\311\075\046\075\127\233\256 +\327\126 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\002\210\060\202\002\015\240\003\002\001\002\002\020\065 +\374\046\134\331\204\117\311\075\046\075\127\233\256\327\126\060 +\012\006\010\052\206\110\316\075\004\003\003\060\201\204\061\013 +\060\011\006\003\125\004\006\023\002\125\123\061\025\060\023\006 +\003\125\004\012\023\014\164\150\141\167\164\145\054\040\111\156 +\143\056\061\070\060\066\006\003\125\004\013\023\057\050\143\051 +\040\062\060\060\067\040\164\150\141\167\164\145\054\040\111\156 +\143\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151 +\172\145\144\040\165\163\145\040\157\156\154\171\061\044\060\042 +\006\003\125\004\003\023\033\164\150\141\167\164\145\040\120\162 +\151\155\141\162\171\040\122\157\157\164\040\103\101\040\055\040 +\107\062\060\036\027\015\060\067\061\061\060\065\060\060\060\060 +\060\060\132\027\015\063\070\060\061\061\070\062\063\065\071\065 +\071\132\060\201\204\061\013\060\011\006\003\125\004\006\023\002 +\125\123\061\025\060\023\006\003\125\004\012\023\014\164\150\141 +\167\164\145\054\040\111\156\143\056\061\070\060\066\006\003\125 +\004\013\023\057\050\143\051\040\062\060\060\067\040\164\150\141 +\167\164\145\054\040\111\156\143\056\040\055\040\106\157\162\040 +\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157 +\156\154\171\061\044\060\042\006\003\125\004\003\023\033\164\150 +\141\167\164\145\040\120\162\151\155\141\162\171\040\122\157\157 +\164\040\103\101\040\055\040\107\062\060\166\060\020\006\007\052 +\206\110\316\075\002\001\006\005\053\201\004\000\042\003\142\000 +\004\242\325\234\202\173\225\235\361\122\170\207\376\212\026\277 +\005\346\337\243\002\117\015\007\306\000\121\272\014\002\122\055 +\042\244\102\071\304\376\217\352\311\301\276\324\115\377\237\172 +\236\342\261\174\232\255\247\206\011\163\207\321\347\232\343\172 +\245\252\156\373\272\263\160\300\147\210\242\065\324\243\232\261 +\375\255\302\357\061\372\250\271\363\373\010\306\221\321\373\051 +\225\243\102\060\100\060\017\006\003\125\035\023\001\001\377\004 +\005\060\003\001\001\377\060\016\006\003\125\035\017\001\001\377 +\004\004\003\002\001\006\060\035\006\003\125\035\016\004\026\004 +\024\232\330\000\060\000\347\153\177\205\030\356\213\266\316\212 +\014\370\021\341\273\060\012\006\010\052\206\110\316\075\004\003 +\003\003\151\000\060\146\002\061\000\335\370\340\127\107\133\247 +\346\012\303\275\365\200\212\227\065\015\033\211\074\124\206\167 +\050\312\241\364\171\336\265\346\070\260\360\145\160\214\177\002 +\124\302\277\377\330\241\076\331\317\002\061\000\304\215\224\374 +\334\123\322\334\235\170\026\037\025\063\043\123\122\343\132\061 +\135\235\312\256\275\023\051\104\015\047\133\250\347\150\234\022 +\367\130\077\056\162\002\127\243\217\241\024\056 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "thawte Primary Root CA - G2" +# Issuer: CN=thawte Primary Root CA - G2,OU="(c) 2007 thawte, Inc. - For authorized use only",O="thawte, Inc.",C=US +# Serial Number:35:fc:26:5c:d9:84:4f:c9:3d:26:3d:57:9b:ae:d7:56 +# Subject: CN=thawte Primary Root CA - G2,OU="(c) 2007 thawte, Inc. - For authorized use only",O="thawte, Inc.",C=US +# Not Valid Before: Mon Nov 05 00:00:00 2007 +# Not Valid After : Mon Jan 18 23:59:59 2038 +# Fingerprint (MD5): 74:9D:EA:60:24:C4:FD:22:53:3E:CC:3A:72:D9:29:4F +# Fingerprint (SHA1): AA:DB:BC:22:23:8F:C4:01:A1:27:BB:38:DD:F4:1D:DB:08:9E:F0:12 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "thawte Primary Root CA - G2" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\252\333\274\042\043\217\304\001\241\047\273\070\335\364\035\333 +\010\236\360\022 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\164\235\352\140\044\304\375\042\123\076\314\072\162\331\051\117 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\204\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164 +\145\054\040\111\156\143\056\061\070\060\066\006\003\125\004\013 +\023\057\050\143\051\040\062\060\060\067\040\164\150\141\167\164 +\145\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165 +\164\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154 +\171\061\044\060\042\006\003\125\004\003\023\033\164\150\141\167 +\164\145\040\120\162\151\155\141\162\171\040\122\157\157\164\040 +\103\101\040\055\040\107\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\065\374\046\134\331\204\117\311\075\046\075\127\233\256 +\327\126 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "thawte Primary Root CA - G3" +# +# Issuer: CN=thawte Primary Root CA - G3,OU="(c) 2008 thawte, Inc. - For authorized use only",OU=Certification Services Division,O="thawte, Inc.",C=US +# Serial Number:60:01:97:b7:46:a7:ea:b4:b4:9a:d6:4b:2f:f7:90:fb +# Subject: CN=thawte Primary Root CA - G3,OU="(c) 2008 thawte, Inc. - For authorized use only",OU=Certification Services Division,O="thawte, Inc.",C=US +# Not Valid Before: Wed Apr 02 00:00:00 2008 +# Not Valid After : Tue Dec 01 23:59:59 2037 +# Fingerprint (MD5): FB:1B:5D:43:8A:94:CD:44:C6:76:F2:43:4B:47:E7:31 +# Fingerprint (SHA1): F1:8B:53:8D:1B:E9:03:B6:A6:F0:56:43:5B:17:15:89:CA:F3:6B:F2 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "thawte Primary Root CA - G3" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\256\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164 +\145\054\040\111\156\143\056\061\050\060\046\006\003\125\004\013 +\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040 +\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157 +\156\061\070\060\066\006\003\125\004\013\023\057\050\143\051\040 +\062\060\060\070\040\164\150\141\167\164\145\054\040\111\156\143 +\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151\172 +\145\144\040\165\163\145\040\157\156\154\171\061\044\060\042\006 +\003\125\004\003\023\033\164\150\141\167\164\145\040\120\162\151 +\155\141\162\171\040\122\157\157\164\040\103\101\040\055\040\107 +\063 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\256\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164 +\145\054\040\111\156\143\056\061\050\060\046\006\003\125\004\013 +\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040 +\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157 +\156\061\070\060\066\006\003\125\004\013\023\057\050\143\051\040 +\062\060\060\070\040\164\150\141\167\164\145\054\040\111\156\143 +\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151\172 +\145\144\040\165\163\145\040\157\156\154\171\061\044\060\042\006 +\003\125\004\003\023\033\164\150\141\167\164\145\040\120\162\151 +\155\141\162\171\040\122\157\157\164\040\103\101\040\055\040\107 +\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\140\001\227\267\106\247\352\264\264\232\326\113\057\367 +\220\373 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\052\060\202\003\022\240\003\002\001\002\002\020\140 +\001\227\267\106\247\352\264\264\232\326\113\057\367\220\373\060 +\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\201 +\256\061\013\060\011\006\003\125\004\006\023\002\125\123\061\025 +\060\023\006\003\125\004\012\023\014\164\150\141\167\164\145\054 +\040\111\156\143\056\061\050\060\046\006\003\125\004\013\023\037 +\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145 +\162\166\151\143\145\163\040\104\151\166\151\163\151\157\156\061 +\070\060\066\006\003\125\004\013\023\057\050\143\051\040\062\060 +\060\070\040\164\150\141\167\164\145\054\040\111\156\143\056\040 +\055\040\106\157\162\040\141\165\164\150\157\162\151\172\145\144 +\040\165\163\145\040\157\156\154\171\061\044\060\042\006\003\125 +\004\003\023\033\164\150\141\167\164\145\040\120\162\151\155\141 +\162\171\040\122\157\157\164\040\103\101\040\055\040\107\063\060 +\036\027\015\060\070\060\064\060\062\060\060\060\060\060\060\132 +\027\015\063\067\061\062\060\061\062\063\065\071\065\071\132\060 +\201\256\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164\145 +\054\040\111\156\143\056\061\050\060\046\006\003\125\004\013\023 +\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123 +\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157\156 +\061\070\060\066\006\003\125\004\013\023\057\050\143\051\040\062 +\060\060\070\040\164\150\141\167\164\145\054\040\111\156\143\056 +\040\055\040\106\157\162\040\141\165\164\150\157\162\151\172\145 +\144\040\165\163\145\040\157\156\154\171\061\044\060\042\006\003 +\125\004\003\023\033\164\150\141\167\164\145\040\120\162\151\155 +\141\162\171\040\122\157\157\164\040\103\101\040\055\040\107\063 +\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001\001 +\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001\001 +\000\262\277\047\054\373\333\330\133\335\170\173\033\236\167\146 +\201\313\076\274\174\256\363\246\047\232\064\243\150\061\161\070 +\063\142\344\363\161\146\171\261\251\145\243\245\213\325\217\140 +\055\077\102\314\252\153\062\300\043\313\054\101\335\344\337\374 +\141\234\342\163\262\042\225\021\103\030\137\304\266\037\127\154 +\012\005\130\042\310\066\114\072\174\245\321\317\206\257\210\247 +\104\002\023\164\161\163\012\102\131\002\370\033\024\153\102\337 +\157\137\272\153\202\242\235\133\347\112\275\036\001\162\333\113 +\164\350\073\177\177\175\037\004\264\046\233\340\264\132\254\107 +\075\125\270\327\260\046\122\050\001\061\100\146\330\331\044\275 +\366\052\330\354\041\111\134\233\366\172\351\177\125\065\176\226 +\153\215\223\223\047\313\222\273\352\254\100\300\237\302\370\200 +\317\135\364\132\334\316\164\206\246\076\154\013\123\312\275\222 +\316\031\006\162\346\014\134\070\151\307\004\326\274\154\316\133 +\366\367\150\234\334\045\025\110\210\241\351\251\370\230\234\340 +\363\325\061\050\141\021\154\147\226\215\071\231\313\302\105\044 +\071\002\003\001\000\001\243\102\060\100\060\017\006\003\125\035 +\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003\125 +\035\017\001\001\377\004\004\003\002\001\006\060\035\006\003\125 +\035\016\004\026\004\024\255\154\252\224\140\234\355\344\377\372 +\076\012\164\053\143\003\367\266\131\277\060\015\006\011\052\206 +\110\206\367\015\001\001\013\005\000\003\202\001\001\000\032\100 +\330\225\145\254\011\222\211\306\071\364\020\345\251\016\146\123 +\135\170\336\372\044\221\273\347\104\121\337\306\026\064\012\357 +\152\104\121\352\053\007\212\003\172\303\353\077\012\054\122\026 +\240\053\103\271\045\220\077\160\251\063\045\155\105\032\050\073 +\047\317\252\303\051\102\033\337\073\114\300\063\064\133\101\210 +\277\153\053\145\257\050\357\262\365\303\252\146\316\173\126\356 +\267\310\313\147\301\311\234\032\030\270\304\303\111\003\361\140 +\016\120\315\106\305\363\167\171\367\266\025\340\070\333\307\057 +\050\240\014\077\167\046\164\331\045\022\332\061\332\032\036\334 +\051\101\221\042\074\151\247\273\002\362\266\134\047\003\211\364 +\006\352\233\344\162\202\343\241\011\301\351\000\031\323\076\324 +\160\153\272\161\246\252\130\256\364\273\351\154\266\357\207\314 +\233\273\377\071\346\126\141\323\012\247\304\134\114\140\173\005 +\167\046\172\277\330\007\122\054\142\367\160\143\331\071\274\157 +\034\302\171\334\166\051\257\316\305\054\144\004\136\210\066\156 +\061\324\100\032\142\064\066\077\065\001\256\254\143\240 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "thawte Primary Root CA - G3" +# Issuer: CN=thawte Primary Root CA - G3,OU="(c) 2008 thawte, Inc. - For authorized use only",OU=Certification Services Division,O="thawte, Inc.",C=US +# Serial Number:60:01:97:b7:46:a7:ea:b4:b4:9a:d6:4b:2f:f7:90:fb +# Subject: CN=thawte Primary Root CA - G3,OU="(c) 2008 thawte, Inc. - For authorized use only",OU=Certification Services Division,O="thawte, Inc.",C=US +# Not Valid Before: Wed Apr 02 00:00:00 2008 +# Not Valid After : Tue Dec 01 23:59:59 2037 +# Fingerprint (MD5): FB:1B:5D:43:8A:94:CD:44:C6:76:F2:43:4B:47:E7:31 +# Fingerprint (SHA1): F1:8B:53:8D:1B:E9:03:B6:A6:F0:56:43:5B:17:15:89:CA:F3:6B:F2 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "thawte Primary Root CA - G3" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\361\213\123\215\033\351\003\266\246\360\126\103\133\027\025\211 +\312\363\153\362 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\373\033\135\103\212\224\315\104\306\166\362\103\113\107\347\061 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\256\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\025\060\023\006\003\125\004\012\023\014\164\150\141\167\164 +\145\054\040\111\156\143\056\061\050\060\046\006\003\125\004\013 +\023\037\103\145\162\164\151\146\151\143\141\164\151\157\156\040 +\123\145\162\166\151\143\145\163\040\104\151\166\151\163\151\157 +\156\061\070\060\066\006\003\125\004\013\023\057\050\143\051\040 +\062\060\060\070\040\164\150\141\167\164\145\054\040\111\156\143 +\056\040\055\040\106\157\162\040\141\165\164\150\157\162\151\172 +\145\144\040\165\163\145\040\157\156\154\171\061\044\060\042\006 +\003\125\004\003\023\033\164\150\141\167\164\145\040\120\162\151 +\155\141\162\171\040\122\157\157\164\040\103\101\040\055\040\107 +\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\140\001\227\267\106\247\352\264\264\232\326\113\057\367 +\220\373 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "GeoTrust Primary Certification Authority - G2" +# +# Issuer: CN=GeoTrust Primary Certification Authority - G2,OU=(c) 2007 GeoTrust Inc. - For authorized use only,O=GeoTrust Inc.,C=US +# Serial Number:3c:b2:f4:48:0a:00:e2:fe:eb:24:3b:5e:60:3e:c3:6b +# Subject: CN=GeoTrust Primary Certification Authority - G2,OU=(c) 2007 GeoTrust Inc. - For authorized use only,O=GeoTrust Inc.,C=US +# Not Valid Before: Mon Nov 05 00:00:00 2007 +# Not Valid After : Mon Jan 18 23:59:59 2038 +# Fingerprint (MD5): 01:5E:D8:6B:BD:6F:3D:8E:A1:31:F8:12:E0:98:73:6A +# Fingerprint (SHA1): 8D:17:84:D5:37:F3:03:7D:EC:70:FE:57:8B:51:9A:99:E6:10:D7:B0 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "GeoTrust Primary Certification Authority - G2" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162 +\165\163\164\040\111\156\143\056\061\071\060\067\006\003\125\004 +\013\023\060\050\143\051\040\062\060\060\067\040\107\145\157\124 +\162\165\163\164\040\111\156\143\056\040\055\040\106\157\162\040 +\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157 +\156\154\171\061\066\060\064\006\003\125\004\003\023\055\107\145 +\157\124\162\165\163\164\040\120\162\151\155\141\162\171\040\103 +\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164 +\150\157\162\151\164\171\040\055\040\107\062 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162 +\165\163\164\040\111\156\143\056\061\071\060\067\006\003\125\004 +\013\023\060\050\143\051\040\062\060\060\067\040\107\145\157\124 +\162\165\163\164\040\111\156\143\056\040\055\040\106\157\162\040 +\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157 +\156\154\171\061\066\060\064\006\003\125\004\003\023\055\107\145 +\157\124\162\165\163\164\040\120\162\151\155\141\162\171\040\103 +\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164 +\150\157\162\151\164\171\040\055\040\107\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\074\262\364\110\012\000\342\376\353\044\073\136\140\076 +\303\153 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\002\256\060\202\002\065\240\003\002\001\002\002\020\074 +\262\364\110\012\000\342\376\353\044\073\136\140\076\303\153\060 +\012\006\010\052\206\110\316\075\004\003\003\060\201\230\061\013 +\060\011\006\003\125\004\006\023\002\125\123\061\026\060\024\006 +\003\125\004\012\023\015\107\145\157\124\162\165\163\164\040\111 +\156\143\056\061\071\060\067\006\003\125\004\013\023\060\050\143 +\051\040\062\060\060\067\040\107\145\157\124\162\165\163\164\040 +\111\156\143\056\040\055\040\106\157\162\040\141\165\164\150\157 +\162\151\172\145\144\040\165\163\145\040\157\156\154\171\061\066 +\060\064\006\003\125\004\003\023\055\107\145\157\124\162\165\163 +\164\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146 +\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 +\171\040\055\040\107\062\060\036\027\015\060\067\061\061\060\065 +\060\060\060\060\060\060\132\027\015\063\070\060\061\061\070\062 +\063\065\071\065\071\132\060\201\230\061\013\060\011\006\003\125 +\004\006\023\002\125\123\061\026\060\024\006\003\125\004\012\023 +\015\107\145\157\124\162\165\163\164\040\111\156\143\056\061\071 +\060\067\006\003\125\004\013\023\060\050\143\051\040\062\060\060 +\067\040\107\145\157\124\162\165\163\164\040\111\156\143\056\040 +\055\040\106\157\162\040\141\165\164\150\157\162\151\172\145\144 +\040\165\163\145\040\157\156\154\171\061\066\060\064\006\003\125 +\004\003\023\055\107\145\157\124\162\165\163\164\040\120\162\151 +\155\141\162\171\040\103\145\162\164\151\146\151\143\141\164\151 +\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040\107 +\062\060\166\060\020\006\007\052\206\110\316\075\002\001\006\005 +\053\201\004\000\042\003\142\000\004\025\261\350\375\003\025\103 +\345\254\353\207\067\021\142\357\322\203\066\122\175\105\127\013 +\112\215\173\124\073\072\156\137\025\002\300\120\246\317\045\057 +\175\312\110\270\307\120\143\034\052\041\010\174\232\066\330\013 +\376\321\046\305\130\061\060\050\045\363\135\135\243\270\266\245 +\264\222\355\154\054\237\353\335\103\211\242\074\113\110\221\035 +\120\354\046\337\326\140\056\275\041\243\102\060\100\060\017\006 +\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016 +\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060\035 +\006\003\125\035\016\004\026\004\024\025\137\065\127\121\125\373 +\045\262\255\003\151\374\001\243\372\276\021\125\325\060\012\006 +\010\052\206\110\316\075\004\003\003\003\147\000\060\144\002\060 +\144\226\131\246\350\011\336\213\272\372\132\210\210\360\037\221 +\323\106\250\362\112\114\002\143\373\154\137\070\333\056\101\223 +\251\016\346\235\334\061\034\262\240\247\030\034\171\341\307\066 +\002\060\072\126\257\232\164\154\366\373\203\340\063\323\010\137 +\241\234\302\133\237\106\326\266\313\221\006\143\242\006\347\063 +\254\076\250\201\022\320\313\272\320\222\013\266\236\226\252\004 +\017\212 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "GeoTrust Primary Certification Authority - G2" +# Issuer: CN=GeoTrust Primary Certification Authority - G2,OU=(c) 2007 GeoTrust Inc. - For authorized use only,O=GeoTrust Inc.,C=US +# Serial Number:3c:b2:f4:48:0a:00:e2:fe:eb:24:3b:5e:60:3e:c3:6b +# Subject: CN=GeoTrust Primary Certification Authority - G2,OU=(c) 2007 GeoTrust Inc. - For authorized use only,O=GeoTrust Inc.,C=US +# Not Valid Before: Mon Nov 05 00:00:00 2007 +# Not Valid After : Mon Jan 18 23:59:59 2038 +# Fingerprint (MD5): 01:5E:D8:6B:BD:6F:3D:8E:A1:31:F8:12:E0:98:73:6A +# Fingerprint (SHA1): 8D:17:84:D5:37:F3:03:7D:EC:70:FE:57:8B:51:9A:99:E6:10:D7:B0 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "GeoTrust Primary Certification Authority - G2" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\215\027\204\325\067\363\003\175\354\160\376\127\213\121\232\231 +\346\020\327\260 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\001\136\330\153\275\157\075\216\241\061\370\022\340\230\163\152 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162 +\165\163\164\040\111\156\143\056\061\071\060\067\006\003\125\004 +\013\023\060\050\143\051\040\062\060\060\067\040\107\145\157\124 +\162\165\163\164\040\111\156\143\056\040\055\040\106\157\162\040 +\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040\157 +\156\154\171\061\066\060\064\006\003\125\004\003\023\055\107\145 +\157\124\162\165\163\164\040\120\162\151\155\141\162\171\040\103 +\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164 +\150\157\162\151\164\171\040\055\040\107\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\074\262\364\110\012\000\342\376\353\044\073\136\140\076 +\303\153 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "VeriSign Universal Root Certification Authority" +# +# Issuer: CN=VeriSign Universal Root Certification Authority,OU="(c) 2008 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US +# Serial Number:40:1a:c4:64:21:b3:13:21:03:0e:bb:e4:12:1a:c5:1d +# Subject: CN=VeriSign Universal Root Certification Authority,OU="(c) 2008 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US +# Not Valid Before: Wed Apr 02 00:00:00 2008 +# Not Valid After : Tue Dec 01 23:59:59 2037 +# Fingerprint (MD5): 8E:AD:B5:01:AA:4D:81:E4:8C:1D:D1:E1:14:00:95:19 +# Fingerprint (SHA1): 36:79:CA:35:66:87:72:30:4D:30:A5:FB:87:3B:0F:A7:7B:B7:0D:54 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "VeriSign Universal Root Certification Authority" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\275\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 +\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 +\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 +\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 +\125\004\013\023\061\050\143\051\040\062\060\060\070\040\126\145 +\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 +\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 +\145\040\157\156\154\171\061\070\060\066\006\003\125\004\003\023 +\057\126\145\162\151\123\151\147\156\040\125\156\151\166\145\162 +\163\141\154\040\122\157\157\164\040\103\145\162\164\151\146\151 +\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\275\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 +\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 +\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 +\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 +\125\004\013\023\061\050\143\051\040\062\060\060\070\040\126\145 +\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 +\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 +\145\040\157\156\154\171\061\070\060\066\006\003\125\004\003\023 +\057\126\145\162\151\123\151\147\156\040\125\156\151\166\145\162 +\163\141\154\040\122\157\157\164\040\103\145\162\164\151\146\151 +\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\100\032\304\144\041\263\023\041\003\016\273\344\022\032 +\305\035 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\271\060\202\003\241\240\003\002\001\002\002\020\100 +\032\304\144\041\263\023\041\003\016\273\344\022\032\305\035\060 +\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\201 +\275\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027 +\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151\147 +\156\054\040\111\156\143\056\061\037\060\035\006\003\125\004\013 +\023\026\126\145\162\151\123\151\147\156\040\124\162\165\163\164 +\040\116\145\164\167\157\162\153\061\072\060\070\006\003\125\004 +\013\023\061\050\143\051\040\062\060\060\070\040\126\145\162\151 +\123\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162 +\040\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040 +\157\156\154\171\061\070\060\066\006\003\125\004\003\023\057\126 +\145\162\151\123\151\147\156\040\125\156\151\166\145\162\163\141 +\154\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141 +\164\151\157\156\040\101\165\164\150\157\162\151\164\171\060\036 +\027\015\060\070\060\064\060\062\060\060\060\060\060\060\132\027 +\015\063\067\061\062\060\061\062\063\065\071\065\071\132\060\201 +\275\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027 +\060\025\006\003\125\004\012\023\016\126\145\162\151\123\151\147 +\156\054\040\111\156\143\056\061\037\060\035\006\003\125\004\013 +\023\026\126\145\162\151\123\151\147\156\040\124\162\165\163\164 +\040\116\145\164\167\157\162\153\061\072\060\070\006\003\125\004 +\013\023\061\050\143\051\040\062\060\060\070\040\126\145\162\151 +\123\151\147\156\054\040\111\156\143\056\040\055\040\106\157\162 +\040\141\165\164\150\157\162\151\172\145\144\040\165\163\145\040 +\157\156\154\171\061\070\060\066\006\003\125\004\003\023\057\126 +\145\162\151\123\151\147\156\040\125\156\151\166\145\162\163\141 +\154\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141 +\164\151\157\156\040\101\165\164\150\157\162\151\164\171\060\202 +\001\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005 +\000\003\202\001\017\000\060\202\001\012\002\202\001\001\000\307 +\141\067\136\261\001\064\333\142\327\025\233\377\130\132\214\043 +\043\326\140\216\221\327\220\230\203\172\346\130\031\070\214\305 +\366\345\144\205\264\242\161\373\355\275\271\332\315\115\000\264 +\310\055\163\245\307\151\161\225\037\071\074\262\104\007\234\350 +\016\372\115\112\304\041\337\051\141\217\062\042\141\202\305\207 +\037\156\214\174\137\026\040\121\104\321\160\117\127\352\343\034 +\343\314\171\356\130\330\016\302\263\105\223\300\054\347\232\027 +\053\173\000\067\172\101\063\170\341\063\342\363\020\032\177\207 +\054\276\366\365\367\102\342\345\277\207\142\211\137\000\113\337 +\305\335\344\165\104\062\101\072\036\161\156\151\313\013\165\106 +\010\321\312\322\053\225\320\317\373\271\100\153\144\214\127\115 +\374\023\021\171\204\355\136\124\366\064\237\010\001\363\020\045 +\006\027\112\332\361\035\172\146\153\230\140\146\244\331\357\322 +\056\202\361\360\357\011\352\104\311\025\152\342\003\156\063\323 +\254\237\125\000\307\366\010\152\224\271\137\334\340\063\361\204 +\140\371\133\047\021\264\374\026\362\273\126\152\200\045\215\002 +\003\001\000\001\243\201\262\060\201\257\060\017\006\003\125\035 +\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003\125 +\035\017\001\001\377\004\004\003\002\001\006\060\155\006\010\053 +\006\001\005\005\007\001\014\004\141\060\137\241\135\240\133\060 +\131\060\127\060\125\026\011\151\155\141\147\145\057\147\151\146 +\060\041\060\037\060\007\006\005\053\016\003\002\032\004\024\217 +\345\323\032\206\254\215\216\153\303\317\200\152\324\110\030\054 +\173\031\056\060\045\026\043\150\164\164\160\072\057\057\154\157 +\147\157\056\166\145\162\151\163\151\147\156\056\143\157\155\057 +\166\163\154\157\147\157\056\147\151\146\060\035\006\003\125\035 +\016\004\026\004\024\266\167\372\151\110\107\237\123\022\325\302 +\352\007\062\166\007\321\227\007\031\060\015\006\011\052\206\110 +\206\367\015\001\001\013\005\000\003\202\001\001\000\112\370\370 +\260\003\346\054\147\173\344\224\167\143\314\156\114\371\175\016 +\015\334\310\271\065\271\160\117\143\372\044\372\154\203\214\107 +\235\073\143\363\232\371\166\062\225\221\261\167\274\254\232\276 +\261\344\061\041\306\201\225\126\132\016\261\302\324\261\246\131 +\254\361\143\313\270\114\035\131\220\112\357\220\026\050\037\132 +\256\020\373\201\120\070\014\154\314\361\075\303\365\143\343\263 +\343\041\311\044\071\351\375\025\146\106\364\033\021\320\115\163 +\243\175\106\371\075\355\250\137\142\324\361\077\370\340\164\127 +\053\030\235\201\264\304\050\332\224\227\245\160\353\254\035\276 +\007\021\360\325\333\335\345\214\360\325\062\260\203\346\127\342 +\217\277\276\241\252\277\075\035\265\324\070\352\327\260\134\072 +\117\152\077\217\300\146\154\143\252\351\331\244\026\364\201\321 +\225\024\016\175\315\225\064\331\322\217\160\163\201\173\234\176 +\275\230\141\330\105\207\230\220\305\353\206\060\306\065\277\360 +\377\303\125\210\203\113\357\005\222\006\161\362\270\230\223\267 +\354\315\202\141\361\070\346\117\227\230\052\132\215 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "VeriSign Universal Root Certification Authority" +# Issuer: CN=VeriSign Universal Root Certification Authority,OU="(c) 2008 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US +# Serial Number:40:1a:c4:64:21:b3:13:21:03:0e:bb:e4:12:1a:c5:1d +# Subject: CN=VeriSign Universal Root Certification Authority,OU="(c) 2008 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US +# Not Valid Before: Wed Apr 02 00:00:00 2008 +# Not Valid After : Tue Dec 01 23:59:59 2037 +# Fingerprint (MD5): 8E:AD:B5:01:AA:4D:81:E4:8C:1D:D1:E1:14:00:95:19 +# Fingerprint (SHA1): 36:79:CA:35:66:87:72:30:4D:30:A5:FB:87:3B:0F:A7:7B:B7:0D:54 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "VeriSign Universal Root Certification Authority" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\066\171\312\065\146\207\162\060\115\060\245\373\207\073\017\247 +\173\267\015\124 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\216\255\265\001\252\115\201\344\214\035\321\341\024\000\225\031 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\275\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 +\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 +\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 +\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 +\125\004\013\023\061\050\143\051\040\062\060\060\070\040\126\145 +\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 +\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 +\145\040\157\156\154\171\061\070\060\066\006\003\125\004\003\023 +\057\126\145\162\151\123\151\147\156\040\125\156\151\166\145\162 +\163\141\154\040\122\157\157\164\040\103\145\162\164\151\146\151 +\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\100\032\304\144\041\263\023\041\003\016\273\344\022\032 +\305\035 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "VeriSign Class 3 Public Primary Certification Authority - G4" +# +# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G4,OU="(c) 2007 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US +# Serial Number:2f:80:fe:23:8c:0e:22:0f:48:67:12:28:91:87:ac:b3 +# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G4,OU="(c) 2007 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US +# Not Valid Before: Mon Nov 05 00:00:00 2007 +# Not Valid After : Mon Jan 18 23:59:59 2038 +# Fingerprint (MD5): 3A:52:E1:E7:FD:6F:3A:E3:6F:F3:6F:99:1B:F9:22:41 +# Fingerprint (SHA1): 22:D5:D8:DF:8F:02:31:D1:8D:F7:9D:B7:CF:8A:2D:64:C9:3F:6C:3A +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "VeriSign Class 3 Public Primary Certification Authority - G4" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 +\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 +\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 +\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 +\125\004\013\023\061\050\143\051\040\062\060\060\067\040\126\145 +\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 +\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 +\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 +\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 +\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 +\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 +\165\164\150\157\162\151\164\171\040\055\040\107\064 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 +\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 +\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 +\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 +\125\004\013\023\061\050\143\051\040\062\060\060\067\040\126\145 +\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 +\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 +\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 +\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 +\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 +\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 +\165\164\150\157\162\151\164\171\040\055\040\107\064 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\057\200\376\043\214\016\042\017\110\147\022\050\221\207 +\254\263 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\204\060\202\003\012\240\003\002\001\002\002\020\057 +\200\376\043\214\016\042\017\110\147\022\050\221\207\254\263\060 +\012\006\010\052\206\110\316\075\004\003\003\060\201\312\061\013 +\060\011\006\003\125\004\006\023\002\125\123\061\027\060\025\006 +\003\125\004\012\023\016\126\145\162\151\123\151\147\156\054\040 +\111\156\143\056\061\037\060\035\006\003\125\004\013\023\026\126 +\145\162\151\123\151\147\156\040\124\162\165\163\164\040\116\145 +\164\167\157\162\153\061\072\060\070\006\003\125\004\013\023\061 +\050\143\051\040\062\060\060\067\040\126\145\162\151\123\151\147 +\156\054\040\111\156\143\056\040\055\040\106\157\162\040\141\165 +\164\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154 +\171\061\105\060\103\006\003\125\004\003\023\074\126\145\162\151 +\123\151\147\156\040\103\154\141\163\163\040\063\040\120\165\142 +\154\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164 +\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162 +\151\164\171\040\055\040\107\064\060\036\027\015\060\067\061\061 +\060\065\060\060\060\060\060\060\132\027\015\063\070\060\061\061 +\070\062\063\065\071\065\071\132\060\201\312\061\013\060\011\006 +\003\125\004\006\023\002\125\123\061\027\060\025\006\003\125\004 +\012\023\016\126\145\162\151\123\151\147\156\054\040\111\156\143 +\056\061\037\060\035\006\003\125\004\013\023\026\126\145\162\151 +\123\151\147\156\040\124\162\165\163\164\040\116\145\164\167\157 +\162\153\061\072\060\070\006\003\125\004\013\023\061\050\143\051 +\040\062\060\060\067\040\126\145\162\151\123\151\147\156\054\040 +\111\156\143\056\040\055\040\106\157\162\040\141\165\164\150\157 +\162\151\172\145\144\040\165\163\145\040\157\156\154\171\061\105 +\060\103\006\003\125\004\003\023\074\126\145\162\151\123\151\147 +\156\040\103\154\141\163\163\040\063\040\120\165\142\154\151\143 +\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151 +\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 +\040\055\040\107\064\060\166\060\020\006\007\052\206\110\316\075 +\002\001\006\005\053\201\004\000\042\003\142\000\004\247\126\172 +\174\122\332\144\233\016\055\134\330\136\254\222\075\376\001\346 +\031\112\075\024\003\113\372\140\047\040\331\203\211\151\372\124 +\306\232\030\136\125\052\144\336\006\366\215\112\073\255\020\074 +\145\075\220\210\004\211\340\060\141\263\256\135\001\247\173\336 +\174\262\276\312\145\141\000\206\256\332\217\173\320\211\255\115 +\035\131\232\101\261\274\107\200\334\236\142\303\371\243\201\262 +\060\201\257\060\017\006\003\125\035\023\001\001\377\004\005\060 +\003\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004 +\003\002\001\006\060\155\006\010\053\006\001\005\005\007\001\014 +\004\141\060\137\241\135\240\133\060\131\060\127\060\125\026\011 +\151\155\141\147\145\057\147\151\146\060\041\060\037\060\007\006 +\005\053\016\003\002\032\004\024\217\345\323\032\206\254\215\216 +\153\303\317\200\152\324\110\030\054\173\031\056\060\045\026\043 +\150\164\164\160\072\057\057\154\157\147\157\056\166\145\162\151 +\163\151\147\156\056\143\157\155\057\166\163\154\157\147\157\056 +\147\151\146\060\035\006\003\125\035\016\004\026\004\024\263\026 +\221\375\356\246\156\344\265\056\111\217\207\170\201\200\354\345 +\261\265\060\012\006\010\052\206\110\316\075\004\003\003\003\150 +\000\060\145\002\060\146\041\014\030\046\140\132\070\173\126\102 +\340\247\374\066\204\121\221\040\054\166\115\103\075\304\035\204 +\043\320\254\326\174\065\006\316\315\151\275\220\015\333\154\110 +\102\035\016\252\102\002\061\000\234\075\110\071\043\071\130\032 +\025\022\131\152\236\357\325\131\262\035\122\054\231\161\315\307 +\051\337\033\052\141\173\161\321\336\363\300\345\015\072\112\252 +\055\247\330\206\052\335\056\020 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "VeriSign Class 3 Public Primary Certification Authority - G4" +# Issuer: CN=VeriSign Class 3 Public Primary Certification Authority - G4,OU="(c) 2007 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US +# Serial Number:2f:80:fe:23:8c:0e:22:0f:48:67:12:28:91:87:ac:b3 +# Subject: CN=VeriSign Class 3 Public Primary Certification Authority - G4,OU="(c) 2007 VeriSign, Inc. - For authorized use only",OU=VeriSign Trust Network,O="VeriSign, Inc.",C=US +# Not Valid Before: Mon Nov 05 00:00:00 2007 +# Not Valid After : Mon Jan 18 23:59:59 2038 +# Fingerprint (MD5): 3A:52:E1:E7:FD:6F:3A:E3:6F:F3:6F:99:1B:F9:22:41 +# Fingerprint (SHA1): 22:D5:D8:DF:8F:02:31:D1:8D:F7:9D:B7:CF:8A:2D:64:C9:3F:6C:3A +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "VeriSign Class 3 Public Primary Certification Authority - G4" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\042\325\330\337\217\002\061\321\215\367\235\267\317\212\055\144 +\311\077\154\072 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\072\122\341\347\375\157\072\343\157\363\157\231\033\371\042\101 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\312\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\027\060\025\006\003\125\004\012\023\016\126\145\162\151\123 +\151\147\156\054\040\111\156\143\056\061\037\060\035\006\003\125 +\004\013\023\026\126\145\162\151\123\151\147\156\040\124\162\165 +\163\164\040\116\145\164\167\157\162\153\061\072\060\070\006\003 +\125\004\013\023\061\050\143\051\040\062\060\060\067\040\126\145 +\162\151\123\151\147\156\054\040\111\156\143\056\040\055\040\106 +\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163 +\145\040\157\156\154\171\061\105\060\103\006\003\125\004\003\023 +\074\126\145\162\151\123\151\147\156\040\103\154\141\163\163\040 +\063\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171 +\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 +\165\164\150\157\162\151\164\171\040\055\040\107\064 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\057\200\376\043\214\016\042\017\110\147\022\050\221\207 +\254\263 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "NetLock Arany (Class Gold) Főtanúsítvány" +# +# Issuer: CN=NetLock Arany (Class Gold) F..tan..s..tv..ny,OU=Tan..s..tv..nykiad..k (Certification Services),O=NetLock Kft.,L=Budapest,C=HU +# Serial Number:49:41:2c:e4:00:10 +# Subject: CN=NetLock Arany (Class Gold) F..tan..s..tv..ny,OU=Tan..s..tv..nykiad..k (Certification Services),O=NetLock Kft.,L=Budapest,C=HU +# Not Valid Before: Thu Dec 11 15:08:21 2008 +# Not Valid After : Wed Dec 06 15:08:21 2028 +# Fingerprint (MD5): C5:A1:B7:FF:73:DD:D6:D7:34:32:18:DF:FC:3C:AD:88 +# Fingerprint (SHA1): 06:08:3F:59:3F:15:A1:04:A0:69:A4:6B:A9:03:D0:06:B7:97:09:91 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "NetLock Arany (Class Gold) Főtanúsítvány" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\247\061\013\060\011\006\003\125\004\006\023\002\110\125 +\061\021\060\017\006\003\125\004\007\014\010\102\165\144\141\160 +\145\163\164\061\025\060\023\006\003\125\004\012\014\014\116\145 +\164\114\157\143\153\040\113\146\164\056\061\067\060\065\006\003 +\125\004\013\014\056\124\141\156\303\272\163\303\255\164\166\303 +\241\156\171\153\151\141\144\303\263\153\040\050\103\145\162\164 +\151\146\151\143\141\164\151\157\156\040\123\145\162\166\151\143 +\145\163\051\061\065\060\063\006\003\125\004\003\014\054\116\145 +\164\114\157\143\153\040\101\162\141\156\171\040\050\103\154\141 +\163\163\040\107\157\154\144\051\040\106\305\221\164\141\156\303 +\272\163\303\255\164\166\303\241\156\171 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\247\061\013\060\011\006\003\125\004\006\023\002\110\125 +\061\021\060\017\006\003\125\004\007\014\010\102\165\144\141\160 +\145\163\164\061\025\060\023\006\003\125\004\012\014\014\116\145 +\164\114\157\143\153\040\113\146\164\056\061\067\060\065\006\003 +\125\004\013\014\056\124\141\156\303\272\163\303\255\164\166\303 +\241\156\171\153\151\141\144\303\263\153\040\050\103\145\162\164 +\151\146\151\143\141\164\151\157\156\040\123\145\162\166\151\143 +\145\163\051\061\065\060\063\006\003\125\004\003\014\054\116\145 +\164\114\157\143\153\040\101\162\141\156\171\040\050\103\154\141 +\163\163\040\107\157\154\144\051\040\106\305\221\164\141\156\303 +\272\163\303\255\164\166\303\241\156\171 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\006\111\101\054\344\000\020 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\025\060\202\002\375\240\003\002\001\002\002\006\111 +\101\054\344\000\020\060\015\006\011\052\206\110\206\367\015\001 +\001\013\005\000\060\201\247\061\013\060\011\006\003\125\004\006 +\023\002\110\125\061\021\060\017\006\003\125\004\007\014\010\102 +\165\144\141\160\145\163\164\061\025\060\023\006\003\125\004\012 +\014\014\116\145\164\114\157\143\153\040\113\146\164\056\061\067 +\060\065\006\003\125\004\013\014\056\124\141\156\303\272\163\303 +\255\164\166\303\241\156\171\153\151\141\144\303\263\153\040\050 +\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145 +\162\166\151\143\145\163\051\061\065\060\063\006\003\125\004\003 +\014\054\116\145\164\114\157\143\153\040\101\162\141\156\171\040 +\050\103\154\141\163\163\040\107\157\154\144\051\040\106\305\221 +\164\141\156\303\272\163\303\255\164\166\303\241\156\171\060\036 +\027\015\060\070\061\062\061\061\061\065\060\070\062\061\132\027 +\015\062\070\061\062\060\066\061\065\060\070\062\061\132\060\201 +\247\061\013\060\011\006\003\125\004\006\023\002\110\125\061\021 +\060\017\006\003\125\004\007\014\010\102\165\144\141\160\145\163 +\164\061\025\060\023\006\003\125\004\012\014\014\116\145\164\114 +\157\143\153\040\113\146\164\056\061\067\060\065\006\003\125\004 +\013\014\056\124\141\156\303\272\163\303\255\164\166\303\241\156 +\171\153\151\141\144\303\263\153\040\050\103\145\162\164\151\146 +\151\143\141\164\151\157\156\040\123\145\162\166\151\143\145\163 +\051\061\065\060\063\006\003\125\004\003\014\054\116\145\164\114 +\157\143\153\040\101\162\141\156\171\040\050\103\154\141\163\163 +\040\107\157\154\144\051\040\106\305\221\164\141\156\303\272\163 +\303\255\164\166\303\241\156\171\060\202\001\042\060\015\006\011 +\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017\000 +\060\202\001\012\002\202\001\001\000\304\044\136\163\276\113\155 +\024\303\241\364\343\227\220\156\322\060\105\036\074\356\147\331 +\144\340\032\212\177\312\060\312\203\343\040\301\343\364\072\323 +\224\137\032\174\133\155\277\060\117\204\047\366\237\037\111\274 +\306\231\012\220\362\017\365\177\103\204\067\143\121\213\172\245 +\160\374\172\130\315\216\233\355\303\106\154\204\160\135\332\363 +\001\220\043\374\116\060\251\176\341\047\143\347\355\144\074\240 +\270\311\063\143\376\026\220\377\260\270\375\327\250\300\300\224 +\103\013\266\325\131\246\236\126\320\044\037\160\171\257\333\071 +\124\015\145\165\331\025\101\224\001\257\136\354\366\215\361\377 +\255\144\376\040\232\327\134\353\376\246\037\010\144\243\213\166 +\125\255\036\073\050\140\056\207\045\350\252\257\037\306\144\106 +\040\267\160\177\074\336\110\333\226\123\267\071\167\344\032\342 +\307\026\204\166\227\133\057\273\031\025\205\370\151\205\365\231 +\247\251\362\064\247\251\266\246\003\374\157\206\075\124\174\166 +\004\233\153\371\100\135\000\064\307\056\231\165\235\345\210\003 +\252\115\370\003\322\102\166\300\033\002\003\000\250\213\243\105 +\060\103\060\022\006\003\125\035\023\001\001\377\004\010\060\006 +\001\001\377\002\001\004\060\016\006\003\125\035\017\001\001\377 +\004\004\003\002\001\006\060\035\006\003\125\035\016\004\026\004 +\024\314\372\147\223\360\266\270\320\245\300\036\363\123\375\214 +\123\337\203\327\226\060\015\006\011\052\206\110\206\367\015\001 +\001\013\005\000\003\202\001\001\000\253\177\356\034\026\251\234 +\074\121\000\240\300\021\010\005\247\231\346\157\001\210\124\141 +\156\361\271\030\255\112\255\376\201\100\043\224\057\373\165\174 +\057\050\113\142\044\201\202\013\365\141\361\034\156\270\141\070 +\353\201\372\142\241\073\132\142\323\224\145\304\341\346\155\202 +\370\057\045\160\262\041\046\301\162\121\037\214\054\303\204\220 +\303\132\217\272\317\364\247\145\245\353\230\321\373\005\262\106 +\165\025\043\152\157\205\143\060\200\360\325\236\037\051\034\302 +\154\260\120\131\135\220\133\073\250\015\060\317\277\175\177\316 +\361\235\203\275\311\106\156\040\246\371\141\121\272\041\057\173 +\276\245\025\143\241\324\225\207\361\236\271\363\211\363\075\205 +\270\270\333\276\265\271\051\371\332\067\005\000\111\224\003\204 +\104\347\277\103\061\317\165\213\045\321\364\246\144\365\222\366 +\253\005\353\075\351\245\013\066\142\332\314\006\137\066\213\266 +\136\061\270\052\373\136\366\161\337\104\046\236\304\346\015\221 +\264\056\165\225\200\121\152\113\060\246\260\142\241\223\361\233 +\330\316\304\143\165\077\131\107\261 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "NetLock Arany (Class Gold) Főtanúsítvány" +# Issuer: CN=NetLock Arany (Class Gold) F..tan..s..tv..ny,OU=Tan..s..tv..nykiad..k (Certification Services),O=NetLock Kft.,L=Budapest,C=HU +# Serial Number:49:41:2c:e4:00:10 +# Subject: CN=NetLock Arany (Class Gold) F..tan..s..tv..ny,OU=Tan..s..tv..nykiad..k (Certification Services),O=NetLock Kft.,L=Budapest,C=HU +# Not Valid Before: Thu Dec 11 15:08:21 2008 +# Not Valid After : Wed Dec 06 15:08:21 2028 +# Fingerprint (MD5): C5:A1:B7:FF:73:DD:D6:D7:34:32:18:DF:FC:3C:AD:88 +# Fingerprint (SHA1): 06:08:3F:59:3F:15:A1:04:A0:69:A4:6B:A9:03:D0:06:B7:97:09:91 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "NetLock Arany (Class Gold) Főtanúsítvány" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\006\010\077\131\077\025\241\004\240\151\244\153\251\003\320\006 +\267\227\011\221 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\305\241\267\377\163\335\326\327\064\062\030\337\374\074\255\210 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\247\061\013\060\011\006\003\125\004\006\023\002\110\125 +\061\021\060\017\006\003\125\004\007\014\010\102\165\144\141\160 +\145\163\164\061\025\060\023\006\003\125\004\012\014\014\116\145 +\164\114\157\143\153\040\113\146\164\056\061\067\060\065\006\003 +\125\004\013\014\056\124\141\156\303\272\163\303\255\164\166\303 +\241\156\171\153\151\141\144\303\263\153\040\050\103\145\162\164 +\151\146\151\143\141\164\151\157\156\040\123\145\162\166\151\143 +\145\163\051\061\065\060\063\006\003\125\004\003\014\054\116\145 +\164\114\157\143\153\040\101\162\141\156\171\040\050\103\154\141 +\163\163\040\107\157\154\144\051\040\106\305\221\164\141\156\303 +\272\163\303\255\164\166\303\241\156\171 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\006\111\101\054\344\000\020 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Staat der Nederlanden Root CA - G2" +# +# Issuer: CN=Staat der Nederlanden Root CA - G2,O=Staat der Nederlanden,C=NL +# Serial Number: 10000012 (0x98968c) +# Subject: CN=Staat der Nederlanden Root CA - G2,O=Staat der Nederlanden,C=NL +# Not Valid Before: Wed Mar 26 11:18:17 2008 +# Not Valid After : Wed Mar 25 11:03:10 2020 +# Fingerprint (MD5): 7C:A5:0F:F8:5B:9A:7D:6D:30:AE:54:5A:E3:42:A2:8A +# Fingerprint (SHA1): 59:AF:82:79:91:86:C7:B4:75:07:CB:CF:03:57:46:EB:04:DD:B7:16 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Staat der Nederlanden Root CA - G2" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\132\061\013\060\011\006\003\125\004\006\023\002\116\114\061 +\036\060\034\006\003\125\004\012\014\025\123\164\141\141\164\040 +\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061 +\053\060\051\006\003\125\004\003\014\042\123\164\141\141\164\040 +\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\040 +\122\157\157\164\040\103\101\040\055\040\107\062 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\132\061\013\060\011\006\003\125\004\006\023\002\116\114\061 +\036\060\034\006\003\125\004\012\014\025\123\164\141\141\164\040 +\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061 +\053\060\051\006\003\125\004\003\014\042\123\164\141\141\164\040 +\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\040 +\122\157\157\164\040\103\101\040\055\040\107\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\000\230\226\214 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\312\060\202\003\262\240\003\002\001\002\002\004\000 +\230\226\214\060\015\006\011\052\206\110\206\367\015\001\001\013 +\005\000\060\132\061\013\060\011\006\003\125\004\006\023\002\116 +\114\061\036\060\034\006\003\125\004\012\014\025\123\164\141\141 +\164\040\144\145\162\040\116\145\144\145\162\154\141\156\144\145 +\156\061\053\060\051\006\003\125\004\003\014\042\123\164\141\141 +\164\040\144\145\162\040\116\145\144\145\162\154\141\156\144\145 +\156\040\122\157\157\164\040\103\101\040\055\040\107\062\060\036 +\027\015\060\070\060\063\062\066\061\061\061\070\061\067\132\027 +\015\062\060\060\063\062\065\061\061\060\063\061\060\132\060\132 +\061\013\060\011\006\003\125\004\006\023\002\116\114\061\036\060 +\034\006\003\125\004\012\014\025\123\164\141\141\164\040\144\145 +\162\040\116\145\144\145\162\154\141\156\144\145\156\061\053\060 +\051\006\003\125\004\003\014\042\123\164\141\141\164\040\144\145 +\162\040\116\145\144\145\162\154\141\156\144\145\156\040\122\157 +\157\164\040\103\101\040\055\040\107\062\060\202\002\042\060\015 +\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\002 +\017\000\060\202\002\012\002\202\002\001\000\305\131\347\157\165 +\252\076\113\234\265\270\254\236\013\344\371\331\312\253\135\217 +\265\071\020\202\327\257\121\340\073\341\000\110\152\317\332\341 +\006\103\021\231\252\024\045\022\255\042\350\000\155\103\304\251 +\270\345\037\211\113\147\275\141\110\357\375\322\340\140\210\345 +\271\030\140\050\303\167\053\255\260\067\252\067\336\144\131\052 +\106\127\344\113\271\370\067\174\325\066\347\200\301\266\363\324 +\147\233\226\350\316\327\306\012\123\320\153\111\226\363\243\013 +\005\167\110\367\045\345\160\254\060\024\040\045\343\177\165\132 +\345\110\370\116\173\003\007\004\372\202\141\207\156\360\073\304 +\244\307\320\365\164\076\245\135\032\010\362\233\045\322\366\254 +\004\046\076\125\072\142\050\245\173\262\060\257\370\067\302\321 +\272\326\070\375\364\357\111\060\067\231\046\041\110\205\001\251 +\345\026\347\334\220\125\337\017\350\070\315\231\067\041\117\135 +\365\042\157\152\305\022\026\140\027\125\362\145\146\246\247\060 +\221\070\301\070\035\206\004\204\272\032\045\170\136\235\257\314 +\120\140\326\023\207\122\355\143\037\155\145\175\302\025\030\164 +\312\341\176\144\051\214\162\330\026\023\175\013\111\112\361\050 +\033\040\164\153\305\075\335\260\252\110\011\075\056\202\224\315 +\032\145\331\053\210\232\231\274\030\176\237\356\175\146\174\076 +\275\224\270\201\316\315\230\060\170\301\157\147\320\276\137\340 +\150\355\336\342\261\311\054\131\170\222\252\337\053\140\143\362 +\345\136\271\343\312\372\177\120\206\076\242\064\030\014\011\150 +\050\021\034\344\341\271\134\076\107\272\062\077\030\314\133\204 +\365\363\153\164\304\162\164\341\343\213\240\112\275\215\146\057 +\352\255\065\332\040\323\210\202\141\360\022\042\266\274\320\325 +\244\354\257\124\210\045\044\074\247\155\261\162\051\077\076\127 +\246\177\125\257\156\046\306\376\347\314\100\134\121\104\201\012 +\170\336\112\316\125\277\035\325\331\267\126\357\360\166\377\013 +\171\265\257\275\373\251\151\221\106\227\150\200\024\066\035\263 +\177\273\051\230\066\245\040\372\202\140\142\063\244\354\326\272 +\007\247\156\305\317\024\246\347\326\222\064\330\201\365\374\035 +\135\252\134\036\366\243\115\073\270\367\071\002\003\001\000\001 +\243\201\227\060\201\224\060\017\006\003\125\035\023\001\001\377 +\004\005\060\003\001\001\377\060\122\006\003\125\035\040\004\113 +\060\111\060\107\006\004\125\035\040\000\060\077\060\075\006\010 +\053\006\001\005\005\007\002\001\026\061\150\164\164\160\072\057 +\057\167\167\167\056\160\153\151\157\166\145\162\150\145\151\144 +\056\156\154\057\160\157\154\151\143\151\145\163\057\162\157\157 +\164\055\160\157\154\151\143\171\055\107\062\060\016\006\003\125 +\035\017\001\001\377\004\004\003\002\001\006\060\035\006\003\125 +\035\016\004\026\004\024\221\150\062\207\025\035\211\342\265\361 +\254\066\050\064\215\013\174\142\210\353\060\015\006\011\052\206 +\110\206\367\015\001\001\013\005\000\003\202\002\001\000\250\101 +\112\147\052\222\201\202\120\156\341\327\330\263\071\073\363\002 +\025\011\120\121\357\055\275\044\173\210\206\073\371\264\274\222 +\011\226\271\366\300\253\043\140\006\171\214\021\116\121\322\171 +\200\063\373\235\110\276\354\101\103\201\037\176\107\100\034\345 +\172\010\312\252\213\165\255\024\304\302\350\146\074\202\007\247 +\346\047\202\133\030\346\017\156\331\120\076\212\102\030\051\306 +\264\126\374\126\020\240\005\027\275\014\043\177\364\223\355\234 +\032\121\276\335\105\101\277\221\044\264\037\214\351\137\317\173 +\041\231\237\225\237\071\072\106\034\154\371\315\173\234\220\315 +\050\251\307\251\125\273\254\142\064\142\065\023\113\024\072\125 +\203\271\206\215\222\246\306\364\007\045\124\314\026\127\022\112 +\202\170\310\024\331\027\202\046\055\135\040\037\171\256\376\324 +\160\026\026\225\203\330\065\071\377\122\135\165\034\026\305\023 +\125\317\107\314\165\145\122\112\336\360\260\247\344\012\226\013 +\373\255\302\342\045\204\262\335\344\275\176\131\154\233\360\360 +\330\347\312\362\351\227\070\176\211\276\314\373\071\027\141\077 +\162\333\072\221\330\145\001\031\035\255\120\244\127\012\174\113 +\274\234\161\163\052\105\121\031\205\314\216\375\107\247\164\225 +\035\250\321\257\116\027\261\151\046\302\252\170\127\133\305\115 +\247\345\236\005\027\224\312\262\137\240\111\030\215\064\351\046 +\154\110\036\252\150\222\005\341\202\163\132\233\334\007\133\010 +\155\175\235\327\215\041\331\374\024\040\252\302\105\337\077\347 +\000\262\121\344\302\370\005\271\171\032\214\064\363\236\133\344 +\067\133\153\112\337\054\127\212\100\132\066\272\335\165\104\010 +\067\102\160\014\376\334\136\041\240\243\212\300\220\234\150\332 +\120\346\105\020\107\170\266\116\322\145\311\303\067\337\341\102 +\143\260\127\067\105\055\173\212\234\277\005\352\145\125\063\367 +\071\020\305\050\052\041\172\033\212\304\044\371\077\025\310\232 +\025\040\365\125\142\226\355\155\223\120\274\344\252\170\255\331 +\313\012\145\207\246\146\301\304\201\243\167\072\130\036\013\356 +\203\213\235\036\322\122\244\314\035\157\260\230\155\224\061\265 +\370\161\012\334\271\374\175\062\140\346\353\257\212\001 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "Staat der Nederlanden Root CA - G2" +# Issuer: CN=Staat der Nederlanden Root CA - G2,O=Staat der Nederlanden,C=NL +# Serial Number: 10000012 (0x98968c) +# Subject: CN=Staat der Nederlanden Root CA - G2,O=Staat der Nederlanden,C=NL +# Not Valid Before: Wed Mar 26 11:18:17 2008 +# Not Valid After : Wed Mar 25 11:03:10 2020 +# Fingerprint (MD5): 7C:A5:0F:F8:5B:9A:7D:6D:30:AE:54:5A:E3:42:A2:8A +# Fingerprint (SHA1): 59:AF:82:79:91:86:C7:B4:75:07:CB:CF:03:57:46:EB:04:DD:B7:16 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Staat der Nederlanden Root CA - G2" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\131\257\202\171\221\206\307\264\165\007\313\317\003\127\106\353 +\004\335\267\026 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\174\245\017\370\133\232\175\155\060\256\124\132\343\102\242\212 +END +CKA_ISSUER MULTILINE_OCTAL +\060\132\061\013\060\011\006\003\125\004\006\023\002\116\114\061 +\036\060\034\006\003\125\004\012\014\025\123\164\141\141\164\040 +\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061 +\053\060\051\006\003\125\004\003\014\042\123\164\141\141\164\040 +\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\040 +\122\157\157\164\040\103\101\040\055\040\107\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\000\230\226\214 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Hongkong Post Root CA 1" +# +# Issuer: CN=Hongkong Post Root CA 1,O=Hongkong Post,C=HK +# Serial Number: 1000 (0x3e8) +# Subject: CN=Hongkong Post Root CA 1,O=Hongkong Post,C=HK +# Not Valid Before: Thu May 15 05:13:14 2003 +# Not Valid After : Mon May 15 04:52:29 2023 +# Fingerprint (MD5): A8:0D:6F:39:78:B9:43:6D:77:42:6D:98:5A:CC:23:CA +# Fingerprint (SHA1): D6:DA:A8:20:8D:09:D2:15:4D:24:B5:2F:CB:34:6E:B2:58:B2:8A:58 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Hongkong Post Root CA 1" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\107\061\013\060\011\006\003\125\004\006\023\002\110\113\061 +\026\060\024\006\003\125\004\012\023\015\110\157\156\147\153\157 +\156\147\040\120\157\163\164\061\040\060\036\006\003\125\004\003 +\023\027\110\157\156\147\153\157\156\147\040\120\157\163\164\040 +\122\157\157\164\040\103\101\040\061 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\107\061\013\060\011\006\003\125\004\006\023\002\110\113\061 +\026\060\024\006\003\125\004\012\023\015\110\157\156\147\153\157 +\156\147\040\120\157\163\164\061\040\060\036\006\003\125\004\003 +\023\027\110\157\156\147\153\157\156\147\040\120\157\163\164\040 +\122\157\157\164\040\103\101\040\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\002\003\350 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\060\060\202\002\030\240\003\002\001\002\002\002\003 +\350\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000 +\060\107\061\013\060\011\006\003\125\004\006\023\002\110\113\061 +\026\060\024\006\003\125\004\012\023\015\110\157\156\147\153\157 +\156\147\040\120\157\163\164\061\040\060\036\006\003\125\004\003 +\023\027\110\157\156\147\153\157\156\147\040\120\157\163\164\040 +\122\157\157\164\040\103\101\040\061\060\036\027\015\060\063\060 +\065\061\065\060\065\061\063\061\064\132\027\015\062\063\060\065 +\061\065\060\064\065\062\062\071\132\060\107\061\013\060\011\006 +\003\125\004\006\023\002\110\113\061\026\060\024\006\003\125\004 +\012\023\015\110\157\156\147\153\157\156\147\040\120\157\163\164 +\061\040\060\036\006\003\125\004\003\023\027\110\157\156\147\153 +\157\156\147\040\120\157\163\164\040\122\157\157\164\040\103\101 +\040\061\060\202\001\042\060\015\006\011\052\206\110\206\367\015 +\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202 +\001\001\000\254\377\070\266\351\146\002\111\343\242\264\341\220 +\371\100\217\171\371\342\275\171\376\002\275\356\044\222\035\042 +\366\332\205\162\151\376\327\077\011\324\335\221\265\002\234\320 +\215\132\341\125\303\120\206\271\051\046\302\343\331\240\361\151 +\003\050\040\200\105\042\055\126\247\073\124\225\126\042\131\037 +\050\337\037\040\075\155\242\066\276\043\240\261\156\265\261\047 +\077\071\123\011\352\253\152\350\164\262\302\145\134\216\277\174 +\303\170\204\315\236\026\374\365\056\117\040\052\010\237\167\363 +\305\036\304\232\122\146\036\110\136\343\020\006\217\042\230\341 +\145\216\033\135\043\146\073\270\245\062\121\310\206\252\241\251 +\236\177\166\224\302\246\154\267\101\360\325\310\006\070\346\324 +\014\342\363\073\114\155\120\214\304\203\047\301\023\204\131\075 +\236\165\164\266\330\002\136\072\220\172\300\102\066\162\354\152 +\115\334\357\304\000\337\023\030\127\137\046\170\310\326\012\171 +\167\277\367\257\267\166\271\245\013\204\027\135\020\352\157\341 +\253\225\021\137\155\074\243\134\115\203\133\362\263\031\212\200 +\213\013\207\002\003\001\000\001\243\046\060\044\060\022\006\003 +\125\035\023\001\001\377\004\010\060\006\001\001\377\002\001\003 +\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\306 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003 +\202\001\001\000\016\106\325\074\256\342\207\331\136\201\213\002 +\230\101\010\214\114\274\332\333\356\047\033\202\347\152\105\354 +\026\213\117\205\240\363\262\160\275\132\226\272\312\156\155\356 +\106\213\156\347\052\056\226\263\031\063\353\264\237\250\262\067 +\356\230\250\227\266\056\266\147\047\324\246\111\375\034\223\145 +\166\236\102\057\334\042\154\232\117\362\132\025\071\261\161\327 +\053\121\350\155\034\230\300\331\052\364\241\202\173\325\311\101 +\242\043\001\164\070\125\213\017\271\056\147\242\040\004\067\332 +\234\013\323\027\041\340\217\227\171\064\157\204\110\002\040\063 +\033\346\064\104\237\221\160\364\200\136\204\103\302\051\322\154 +\022\024\344\141\215\254\020\220\236\204\120\273\360\226\157\105 +\237\212\363\312\154\117\372\021\072\025\025\106\303\315\037\203 +\133\055\101\022\355\120\147\101\023\075\041\253\224\212\252\116 +\174\301\261\373\247\326\265\047\057\227\253\156\340\035\342\321 +\034\054\037\104\342\374\276\221\241\234\373\326\051\123\163\206 +\237\123\330\103\016\135\326\143\202\161\035\200\164\312\366\342 +\002\153\331\132 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "Hongkong Post Root CA 1" +# Issuer: CN=Hongkong Post Root CA 1,O=Hongkong Post,C=HK +# Serial Number: 1000 (0x3e8) +# Subject: CN=Hongkong Post Root CA 1,O=Hongkong Post,C=HK +# Not Valid Before: Thu May 15 05:13:14 2003 +# Not Valid After : Mon May 15 04:52:29 2023 +# Fingerprint (MD5): A8:0D:6F:39:78:B9:43:6D:77:42:6D:98:5A:CC:23:CA +# Fingerprint (SHA1): D6:DA:A8:20:8D:09:D2:15:4D:24:B5:2F:CB:34:6E:B2:58:B2:8A:58 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Hongkong Post Root CA 1" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\326\332\250\040\215\011\322\025\115\044\265\057\313\064\156\262 +\130\262\212\130 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\250\015\157\071\170\271\103\155\167\102\155\230\132\314\043\312 +END +CKA_ISSUER MULTILINE_OCTAL +\060\107\061\013\060\011\006\003\125\004\006\023\002\110\113\061 +\026\060\024\006\003\125\004\012\023\015\110\157\156\147\153\157 +\156\147\040\120\157\163\164\061\040\060\036\006\003\125\004\003 +\023\027\110\157\156\147\153\157\156\147\040\120\157\163\164\040 +\122\157\157\164\040\103\101\040\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\002\003\350 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "SecureSign RootCA11" +# +# Issuer: CN=SecureSign RootCA11,O="Japan Certification Services, Inc.",C=JP +# Serial Number: 1 (0x1) +# Subject: CN=SecureSign RootCA11,O="Japan Certification Services, Inc.",C=JP +# Not Valid Before: Wed Apr 08 04:56:47 2009 +# Not Valid After : Sun Apr 08 04:56:47 2029 +# Fingerprint (MD5): B7:52:74:E2:92:B4:80:93:F2:75:E4:CC:D7:F2:EA:26 +# Fingerprint (SHA1): 3B:C4:9F:48:F8:F3:73:A0:9C:1E:BD:F8:5B:B1:C3:65:C7:D8:11:B3 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "SecureSign RootCA11" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\130\061\013\060\011\006\003\125\004\006\023\002\112\120\061 +\053\060\051\006\003\125\004\012\023\042\112\141\160\141\156\040 +\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145 +\162\166\151\143\145\163\054\040\111\156\143\056\061\034\060\032 +\006\003\125\004\003\023\023\123\145\143\165\162\145\123\151\147 +\156\040\122\157\157\164\103\101\061\061 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\130\061\013\060\011\006\003\125\004\006\023\002\112\120\061 +\053\060\051\006\003\125\004\012\023\042\112\141\160\141\156\040 +\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145 +\162\166\151\143\145\163\054\040\111\156\143\056\061\034\060\032 +\006\003\125\004\003\023\023\123\145\143\165\162\145\123\151\147 +\156\040\122\157\157\164\103\101\061\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\155\060\202\002\125\240\003\002\001\002\002\001\001 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\130\061\013\060\011\006\003\125\004\006\023\002\112\120\061\053 +\060\051\006\003\125\004\012\023\042\112\141\160\141\156\040\103 +\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145\162 +\166\151\143\145\163\054\040\111\156\143\056\061\034\060\032\006 +\003\125\004\003\023\023\123\145\143\165\162\145\123\151\147\156 +\040\122\157\157\164\103\101\061\061\060\036\027\015\060\071\060 +\064\060\070\060\064\065\066\064\067\132\027\015\062\071\060\064 +\060\070\060\064\065\066\064\067\132\060\130\061\013\060\011\006 +\003\125\004\006\023\002\112\120\061\053\060\051\006\003\125\004 +\012\023\042\112\141\160\141\156\040\103\145\162\164\151\146\151 +\143\141\164\151\157\156\040\123\145\162\166\151\143\145\163\054 +\040\111\156\143\056\061\034\060\032\006\003\125\004\003\023\023 +\123\145\143\165\162\145\123\151\147\156\040\122\157\157\164\103 +\101\061\061\060\202\001\042\060\015\006\011\052\206\110\206\367 +\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002 +\202\001\001\000\375\167\252\245\034\220\005\073\313\114\233\063 +\213\132\024\105\244\347\220\026\321\337\127\322\041\020\244\027 +\375\337\254\326\037\247\344\333\174\367\354\337\270\003\332\224 +\130\375\135\162\174\214\077\137\001\147\164\025\226\343\002\074 +\207\333\256\313\001\216\302\363\146\306\205\105\364\002\306\072 +\265\142\262\257\372\234\277\244\346\324\200\060\230\363\015\266 +\223\217\251\324\330\066\362\260\374\212\312\054\241\025\063\225 +\061\332\300\033\362\356\142\231\206\143\077\277\335\223\052\203 +\250\166\271\023\037\267\316\116\102\205\217\042\347\056\032\362 +\225\011\262\005\265\104\116\167\241\040\275\251\362\116\012\175 +\120\255\365\005\015\105\117\106\161\375\050\076\123\373\004\330 +\055\327\145\035\112\033\372\317\073\260\061\232\065\156\310\213 +\006\323\000\221\362\224\010\145\114\261\064\006\000\172\211\342 +\360\307\003\131\317\325\326\350\247\062\263\346\230\100\206\305 +\315\047\022\213\314\173\316\267\021\074\142\140\007\043\076\053 +\100\156\224\200\011\155\266\263\157\167\157\065\010\120\373\002 +\207\305\076\211\002\003\001\000\001\243\102\060\100\060\035\006 +\003\125\035\016\004\026\004\024\133\370\115\117\262\245\206\324 +\072\322\361\143\232\240\276\011\366\127\267\336\060\016\006\003 +\125\035\017\001\001\377\004\004\003\002\001\006\060\017\006\003 +\125\035\023\001\001\377\004\005\060\003\001\001\377\060\015\006 +\011\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001 +\000\240\241\070\026\146\056\247\126\037\041\234\006\372\035\355 +\271\042\305\070\046\330\116\117\354\243\177\171\336\106\041\241 +\207\167\217\007\010\232\262\244\305\257\017\062\230\013\174\146 +\051\266\233\175\045\122\111\103\253\114\056\053\156\172\160\257 +\026\016\343\002\154\373\102\346\030\235\105\330\125\310\350\073 +\335\347\341\364\056\013\034\064\134\154\130\112\373\214\210\120 +\137\225\034\277\355\253\042\265\145\263\205\272\236\017\270\255 +\345\172\033\212\120\072\035\275\015\274\173\124\120\013\271\102 +\257\125\240\030\201\255\145\231\357\276\344\234\277\304\205\253 +\101\262\124\157\334\045\315\355\170\342\216\014\215\011\111\335 +\143\173\132\151\226\002\041\250\275\122\131\351\175\065\313\310 +\122\312\177\201\376\331\153\323\367\021\355\045\337\370\347\371 +\244\372\162\227\204\123\015\245\320\062\030\121\166\131\024\154 +\017\353\354\137\200\214\165\103\203\303\205\230\377\114\236\055 +\015\344\167\203\223\116\265\226\007\213\050\023\233\214\031\215 +\101\047\111\100\356\336\346\043\104\071\334\241\042\326\272\003 +\362 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "SecureSign RootCA11" +# Issuer: CN=SecureSign RootCA11,O="Japan Certification Services, Inc.",C=JP +# Serial Number: 1 (0x1) +# Subject: CN=SecureSign RootCA11,O="Japan Certification Services, Inc.",C=JP +# Not Valid Before: Wed Apr 08 04:56:47 2009 +# Not Valid After : Sun Apr 08 04:56:47 2029 +# Fingerprint (MD5): B7:52:74:E2:92:B4:80:93:F2:75:E4:CC:D7:F2:EA:26 +# Fingerprint (SHA1): 3B:C4:9F:48:F8:F3:73:A0:9C:1E:BD:F8:5B:B1:C3:65:C7:D8:11:B3 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "SecureSign RootCA11" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\073\304\237\110\370\363\163\240\234\036\275\370\133\261\303\145 +\307\330\021\263 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\267\122\164\342\222\264\200\223\362\165\344\314\327\362\352\046 +END +CKA_ISSUER MULTILINE_OCTAL +\060\130\061\013\060\011\006\003\125\004\006\023\002\112\120\061 +\053\060\051\006\003\125\004\012\023\042\112\141\160\141\156\040 +\103\145\162\164\151\146\151\143\141\164\151\157\156\040\123\145 +\162\166\151\143\145\163\054\040\111\156\143\056\061\034\060\032 +\006\003\125\004\003\023\023\123\145\143\165\162\145\123\151\147 +\156\040\122\157\157\164\103\101\061\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Microsec e-Szigno Root CA 2009" +# +# Issuer: E=info@e-szigno.hu,CN=Microsec e-Szigno Root CA 2009,O=Microsec Ltd.,L=Budapest,C=HU +# Serial Number:00:c2:7e:43:04:4e:47:3f:19 +# Subject: E=info@e-szigno.hu,CN=Microsec e-Szigno Root CA 2009,O=Microsec Ltd.,L=Budapest,C=HU +# Not Valid Before: Tue Jun 16 11:30:18 2009 +# Not Valid After : Sun Dec 30 11:30:18 2029 +# Fingerprint (MD5): F8:49:F4:03:BC:44:2D:83:BE:48:69:7D:29:64:FC:B1 +# Fingerprint (SHA1): 89:DF:74:FE:5C:F4:0F:4A:80:F9:E3:37:7D:54:DA:91:E1:01:31:8E +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Microsec e-Szigno Root CA 2009" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\202\061\013\060\011\006\003\125\004\006\023\002\110\125 +\061\021\060\017\006\003\125\004\007\014\010\102\165\144\141\160 +\145\163\164\061\026\060\024\006\003\125\004\012\014\015\115\151 +\143\162\157\163\145\143\040\114\164\144\056\061\047\060\045\006 +\003\125\004\003\014\036\115\151\143\162\157\163\145\143\040\145 +\055\123\172\151\147\156\157\040\122\157\157\164\040\103\101\040 +\062\060\060\071\061\037\060\035\006\011\052\206\110\206\367\015 +\001\011\001\026\020\151\156\146\157\100\145\055\163\172\151\147 +\156\157\056\150\165 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\202\061\013\060\011\006\003\125\004\006\023\002\110\125 +\061\021\060\017\006\003\125\004\007\014\010\102\165\144\141\160 +\145\163\164\061\026\060\024\006\003\125\004\012\014\015\115\151 +\143\162\157\163\145\143\040\114\164\144\056\061\047\060\045\006 +\003\125\004\003\014\036\115\151\143\162\157\163\145\143\040\145 +\055\123\172\151\147\156\157\040\122\157\157\164\040\103\101\040 +\062\060\060\071\061\037\060\035\006\011\052\206\110\206\367\015 +\001\011\001\026\020\151\156\146\157\100\145\055\163\172\151\147 +\156\157\056\150\165 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\011\000\302\176\103\004\116\107\077\031 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\012\060\202\002\362\240\003\002\001\002\002\011\000 +\302\176\103\004\116\107\077\031\060\015\006\011\052\206\110\206 +\367\015\001\001\013\005\000\060\201\202\061\013\060\011\006\003 +\125\004\006\023\002\110\125\061\021\060\017\006\003\125\004\007 +\014\010\102\165\144\141\160\145\163\164\061\026\060\024\006\003 +\125\004\012\014\015\115\151\143\162\157\163\145\143\040\114\164 +\144\056\061\047\060\045\006\003\125\004\003\014\036\115\151\143 +\162\157\163\145\143\040\145\055\123\172\151\147\156\157\040\122 +\157\157\164\040\103\101\040\062\060\060\071\061\037\060\035\006 +\011\052\206\110\206\367\015\001\011\001\026\020\151\156\146\157 +\100\145\055\163\172\151\147\156\157\056\150\165\060\036\027\015 +\060\071\060\066\061\066\061\061\063\060\061\070\132\027\015\062 +\071\061\062\063\060\061\061\063\060\061\070\132\060\201\202\061 +\013\060\011\006\003\125\004\006\023\002\110\125\061\021\060\017 +\006\003\125\004\007\014\010\102\165\144\141\160\145\163\164\061 +\026\060\024\006\003\125\004\012\014\015\115\151\143\162\157\163 +\145\143\040\114\164\144\056\061\047\060\045\006\003\125\004\003 +\014\036\115\151\143\162\157\163\145\143\040\145\055\123\172\151 +\147\156\157\040\122\157\157\164\040\103\101\040\062\060\060\071 +\061\037\060\035\006\011\052\206\110\206\367\015\001\011\001\026 +\020\151\156\146\157\100\145\055\163\172\151\147\156\157\056\150 +\165\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001 +\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001 +\001\000\351\370\217\363\143\255\332\206\330\247\340\102\373\317 +\221\336\246\046\370\231\245\143\160\255\233\256\312\063\100\175 +\155\226\156\241\016\104\356\341\023\235\224\102\122\232\275\165 +\205\164\054\250\016\035\223\266\030\267\214\054\250\317\373\134 +\161\271\332\354\376\350\176\217\344\057\035\262\250\165\207\330 +\267\241\345\073\317\231\112\106\320\203\031\175\300\241\022\034 +\225\155\112\364\330\307\245\115\063\056\205\071\100\165\176\024 +\174\200\022\230\120\307\101\147\270\240\200\141\124\246\154\116 +\037\340\235\016\007\351\311\272\063\347\376\300\125\050\054\002 +\200\247\031\365\236\334\125\123\003\227\173\007\110\377\231\373 +\067\212\044\304\131\314\120\020\143\216\252\251\032\260\204\032 +\206\371\137\273\261\120\156\244\321\012\314\325\161\176\037\247 +\033\174\365\123\156\042\137\313\053\346\324\174\135\256\326\302 +\306\114\345\005\001\331\355\127\374\301\043\171\374\372\310\044 +\203\225\363\265\152\121\001\320\167\326\351\022\241\371\032\203 +\373\202\033\271\260\227\364\166\006\063\103\111\240\377\013\265 +\372\265\002\003\001\000\001\243\201\200\060\176\060\017\006\003 +\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006 +\003\125\035\017\001\001\377\004\004\003\002\001\006\060\035\006 +\003\125\035\016\004\026\004\024\313\017\306\337\102\103\314\075 +\313\265\110\043\241\032\172\246\052\273\064\150\060\037\006\003 +\125\035\043\004\030\060\026\200\024\313\017\306\337\102\103\314 +\075\313\265\110\043\241\032\172\246\052\273\064\150\060\033\006 +\003\125\035\021\004\024\060\022\201\020\151\156\146\157\100\145 +\055\163\172\151\147\156\157\056\150\165\060\015\006\011\052\206 +\110\206\367\015\001\001\013\005\000\003\202\001\001\000\311\321 +\016\136\056\325\314\263\174\076\313\374\075\377\015\050\225\223 +\004\310\277\332\315\171\270\103\220\360\244\276\357\362\357\041 +\230\274\324\324\135\006\366\356\102\354\060\154\240\252\251\312 +\361\257\212\372\077\013\163\152\076\352\056\100\176\037\256\124 +\141\171\353\056\010\067\327\043\363\214\237\276\035\261\341\244 +\165\333\240\342\124\024\261\272\034\051\244\030\366\022\272\242 +\024\024\343\061\065\310\100\377\267\340\005\166\127\301\034\131 +\362\370\277\344\355\045\142\134\204\360\176\176\037\263\276\371 +\267\041\021\314\003\001\126\160\247\020\222\036\033\064\201\036 +\255\234\032\303\004\074\355\002\141\326\036\006\363\137\072\207 +\362\053\361\105\207\345\075\254\321\307\127\204\275\153\256\334 +\330\371\266\033\142\160\013\075\066\311\102\362\062\327\172\141 +\346\322\333\075\317\310\251\311\233\334\333\130\104\327\157\070 +\257\177\170\323\243\255\032\165\272\034\301\066\174\217\036\155 +\034\303\165\106\256\065\005\246\366\134\075\041\356\126\360\311 +\202\042\055\172\124\253\160\303\175\042\145\202\160\226 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "Microsec e-Szigno Root CA 2009" +# Issuer: E=info@e-szigno.hu,CN=Microsec e-Szigno Root CA 2009,O=Microsec Ltd.,L=Budapest,C=HU +# Serial Number:00:c2:7e:43:04:4e:47:3f:19 +# Subject: E=info@e-szigno.hu,CN=Microsec e-Szigno Root CA 2009,O=Microsec Ltd.,L=Budapest,C=HU +# Not Valid Before: Tue Jun 16 11:30:18 2009 +# Not Valid After : Sun Dec 30 11:30:18 2029 +# Fingerprint (MD5): F8:49:F4:03:BC:44:2D:83:BE:48:69:7D:29:64:FC:B1 +# Fingerprint (SHA1): 89:DF:74:FE:5C:F4:0F:4A:80:F9:E3:37:7D:54:DA:91:E1:01:31:8E +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Microsec e-Szigno Root CA 2009" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\211\337\164\376\134\364\017\112\200\371\343\067\175\124\332\221 +\341\001\061\216 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\370\111\364\003\274\104\055\203\276\110\151\175\051\144\374\261 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\202\061\013\060\011\006\003\125\004\006\023\002\110\125 +\061\021\060\017\006\003\125\004\007\014\010\102\165\144\141\160 +\145\163\164\061\026\060\024\006\003\125\004\012\014\015\115\151 +\143\162\157\163\145\143\040\114\164\144\056\061\047\060\045\006 +\003\125\004\003\014\036\115\151\143\162\157\163\145\143\040\145 +\055\123\172\151\147\156\157\040\122\157\157\164\040\103\101\040 +\062\060\060\071\061\037\060\035\006\011\052\206\110\206\367\015 +\001\011\001\026\020\151\156\146\157\100\145\055\163\172\151\147 +\156\157\056\150\165 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\011\000\302\176\103\004\116\107\077\031 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "GlobalSign Root CA - R3" +# +# Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R3 +# Serial Number:04:00:00:00:00:01:21:58:53:08:a2 +# Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R3 +# Not Valid Before: Wed Mar 18 10:00:00 2009 +# Not Valid After : Sun Mar 18 10:00:00 2029 +# Fingerprint (MD5): C5:DF:B8:49:CA:05:13:55:EE:2D:BA:1A:C3:3E:B0:28 +# Fingerprint (SHA1): D6:9B:56:11:48:F0:1C:77:C5:45:78:C1:09:26:DF:5B:85:69:76:AD +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "GlobalSign Root CA - R3" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157 +\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040 +\055\040\122\063\061\023\060\021\006\003\125\004\012\023\012\107 +\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125 +\004\003\023\012\107\154\157\142\141\154\123\151\147\156 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157 +\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040 +\055\040\122\063\061\023\060\021\006\003\125\004\012\023\012\107 +\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125 +\004\003\023\012\107\154\157\142\141\154\123\151\147\156 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\013\004\000\000\000\000\001\041\130\123\010\242 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\137\060\202\002\107\240\003\002\001\002\002\013\004 +\000\000\000\000\001\041\130\123\010\242\060\015\006\011\052\206 +\110\206\367\015\001\001\013\005\000\060\114\061\040\060\036\006 +\003\125\004\013\023\027\107\154\157\142\141\154\123\151\147\156 +\040\122\157\157\164\040\103\101\040\055\040\122\063\061\023\060 +\021\006\003\125\004\012\023\012\107\154\157\142\141\154\123\151 +\147\156\061\023\060\021\006\003\125\004\003\023\012\107\154\157 +\142\141\154\123\151\147\156\060\036\027\015\060\071\060\063\061 +\070\061\060\060\060\060\060\132\027\015\062\071\060\063\061\070 +\061\060\060\060\060\060\132\060\114\061\040\060\036\006\003\125 +\004\013\023\027\107\154\157\142\141\154\123\151\147\156\040\122 +\157\157\164\040\103\101\040\055\040\122\063\061\023\060\021\006 +\003\125\004\012\023\012\107\154\157\142\141\154\123\151\147\156 +\061\023\060\021\006\003\125\004\003\023\012\107\154\157\142\141 +\154\123\151\147\156\060\202\001\042\060\015\006\011\052\206\110 +\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001 +\012\002\202\001\001\000\314\045\166\220\171\006\170\042\026\365 +\300\203\266\204\312\050\236\375\005\166\021\305\255\210\162\374 +\106\002\103\307\262\212\235\004\137\044\313\056\113\341\140\202 +\106\341\122\253\014\201\107\160\154\335\144\321\353\365\054\243 +\017\202\075\014\053\256\227\327\266\024\206\020\171\273\073\023 +\200\167\214\010\341\111\322\152\142\057\037\136\372\226\150\337 +\211\047\225\070\237\006\327\076\311\313\046\131\015\163\336\260 +\310\351\046\016\203\025\306\357\133\213\322\004\140\312\111\246 +\050\366\151\073\366\313\310\050\221\345\235\212\141\127\067\254 +\164\024\334\164\340\072\356\162\057\056\234\373\320\273\277\365 +\075\000\341\006\063\350\202\053\256\123\246\072\026\163\214\335 +\101\016\040\072\300\264\247\241\351\262\117\220\056\062\140\351 +\127\313\271\004\222\150\150\345\070\046\140\165\262\237\167\377 +\221\024\357\256\040\111\374\255\100\025\110\321\002\061\141\031 +\136\270\227\357\255\167\267\144\232\172\277\137\301\023\357\233 +\142\373\015\154\340\124\151\026\251\003\332\156\351\203\223\161 +\166\306\151\205\202\027\002\003\001\000\001\243\102\060\100\060 +\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060 +\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377 +\060\035\006\003\125\035\016\004\026\004\024\217\360\113\177\250 +\056\105\044\256\115\120\372\143\232\213\336\342\335\033\274\060 +\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202 +\001\001\000\113\100\333\300\120\252\376\310\014\357\367\226\124 +\105\111\273\226\000\011\101\254\263\023\206\206\050\007\063\312 +\153\346\164\271\272\000\055\256\244\012\323\365\361\361\017\212 +\277\163\147\112\203\307\104\173\170\340\257\156\154\157\003\051 +\216\063\071\105\303\216\344\271\127\154\252\374\022\226\354\123 +\306\055\344\044\154\271\224\143\373\334\123\150\147\126\076\203 +\270\317\065\041\303\311\150\376\316\332\302\123\252\314\220\212 +\351\360\135\106\214\225\335\172\130\050\032\057\035\336\315\000 +\067\101\217\355\104\155\327\123\050\227\176\363\147\004\036\025 +\327\212\226\264\323\336\114\047\244\114\033\163\163\166\364\027 +\231\302\037\172\016\343\055\010\255\012\034\054\377\074\253\125 +\016\017\221\176\066\353\303\127\111\276\341\056\055\174\140\213 +\303\101\121\023\043\235\316\367\062\153\224\001\250\231\347\054 +\063\037\072\073\045\322\206\100\316\073\054\206\170\311\141\057 +\024\272\356\333\125\157\337\204\356\005\011\115\275\050\330\162 +\316\323\142\120\145\036\353\222\227\203\061\331\263\265\312\107 +\130\077\137 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "GlobalSign Root CA - R3" +# Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R3 +# Serial Number:04:00:00:00:00:01:21:58:53:08:a2 +# Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R3 +# Not Valid Before: Wed Mar 18 10:00:00 2009 +# Not Valid After : Sun Mar 18 10:00:00 2029 +# Fingerprint (MD5): C5:DF:B8:49:CA:05:13:55:EE:2D:BA:1A:C3:3E:B0:28 +# Fingerprint (SHA1): D6:9B:56:11:48:F0:1C:77:C5:45:78:C1:09:26:DF:5B:85:69:76:AD +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "GlobalSign Root CA - R3" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\326\233\126\021\110\360\034\167\305\105\170\301\011\046\337\133 +\205\151\166\255 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\305\337\270\111\312\005\023\125\356\055\272\032\303\076\260\050 +END +CKA_ISSUER MULTILINE_OCTAL +\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157 +\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040 +\055\040\122\063\061\023\060\021\006\003\125\004\012\023\012\107 +\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125 +\004\003\023\012\107\154\157\142\141\154\123\151\147\156 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\013\004\000\000\000\000\001\041\130\123\010\242 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Autoridad de Certificacion Firmaprofesional CIF A62634068" +# +# Issuer: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068,C=ES +# Serial Number:53:ec:3b:ee:fb:b2:48:5f +# Subject: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068,C=ES +# Not Valid Before: Wed May 20 08:38:15 2009 +# Not Valid After : Tue Dec 31 08:38:15 2030 +# Fingerprint (MD5): 73:3A:74:7A:EC:BB:A3:96:A6:C2:E4:E2:C8:9B:C0:C3 +# Fingerprint (SHA1): AE:C5:FB:3F:C8:E1:BF:C4:E5:4F:03:07:5A:9A:E8:00:B7:F7:B6:FA +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Autoridad de Certificacion Firmaprofesional CIF A62634068" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\121\061\013\060\011\006\003\125\004\006\023\002\105\123\061 +\102\060\100\006\003\125\004\003\014\071\101\165\164\157\162\151 +\144\141\144\040\144\145\040\103\145\162\164\151\146\151\143\141 +\143\151\157\156\040\106\151\162\155\141\160\162\157\146\145\163 +\151\157\156\141\154\040\103\111\106\040\101\066\062\066\063\064 +\060\066\070 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\121\061\013\060\011\006\003\125\004\006\023\002\105\123\061 +\102\060\100\006\003\125\004\003\014\071\101\165\164\157\162\151 +\144\141\144\040\144\145\040\103\145\162\164\151\146\151\143\141 +\143\151\157\156\040\106\151\162\155\141\160\162\157\146\145\163 +\151\157\156\141\154\040\103\111\106\040\101\066\062\066\063\064 +\060\066\070 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\123\354\073\356\373\262\110\137 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\006\024\060\202\003\374\240\003\002\001\002\002\010\123 +\354\073\356\373\262\110\137\060\015\006\011\052\206\110\206\367 +\015\001\001\005\005\000\060\121\061\013\060\011\006\003\125\004 +\006\023\002\105\123\061\102\060\100\006\003\125\004\003\014\071 +\101\165\164\157\162\151\144\141\144\040\144\145\040\103\145\162 +\164\151\146\151\143\141\143\151\157\156\040\106\151\162\155\141 +\160\162\157\146\145\163\151\157\156\141\154\040\103\111\106\040 +\101\066\062\066\063\064\060\066\070\060\036\027\015\060\071\060 +\065\062\060\060\070\063\070\061\065\132\027\015\063\060\061\062 +\063\061\060\070\063\070\061\065\132\060\121\061\013\060\011\006 +\003\125\004\006\023\002\105\123\061\102\060\100\006\003\125\004 +\003\014\071\101\165\164\157\162\151\144\141\144\040\144\145\040 +\103\145\162\164\151\146\151\143\141\143\151\157\156\040\106\151 +\162\155\141\160\162\157\146\145\163\151\157\156\141\154\040\103 +\111\106\040\101\066\062\066\063\064\060\066\070\060\202\002\042 +\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003 +\202\002\017\000\060\202\002\012\002\202\002\001\000\312\226\153 +\216\352\370\373\361\242\065\340\177\114\332\340\303\122\327\175 +\266\020\310\002\136\263\103\052\304\117\152\262\312\034\135\050 +\232\170\021\032\151\131\127\257\265\040\102\344\213\017\346\337 +\133\246\003\222\057\365\021\344\142\327\062\161\070\331\004\014 +\161\253\075\121\176\017\007\337\143\005\134\351\277\224\157\301 +\051\202\300\264\332\121\260\301\074\273\255\067\112\134\312\361 +\113\066\016\044\253\277\303\204\167\375\250\120\364\261\347\306 +\057\322\055\131\215\172\012\116\226\151\122\002\252\066\230\354 +\374\372\024\203\014\067\037\311\222\067\177\327\201\055\345\304 +\271\340\076\064\376\147\364\076\146\321\323\364\100\317\136\142 +\064\017\160\006\076\040\030\132\316\367\162\033\045\154\223\164 +\024\223\243\163\261\016\252\207\020\043\131\137\040\005\031\107 +\355\150\216\222\022\312\135\374\326\053\262\222\074\040\317\341 +\137\257\040\276\240\166\177\166\345\354\032\206\141\063\076\347 +\173\264\077\240\017\216\242\271\152\157\271\207\046\157\101\154 +\210\246\120\375\152\143\013\365\223\026\033\031\217\262\355\233 +\233\311\220\365\001\014\337\031\075\017\076\070\043\311\057\217 +\014\321\002\376\033\125\326\116\320\215\074\257\117\244\363\376 +\257\052\323\005\235\171\010\241\313\127\061\264\234\310\220\262 +\147\364\030\026\223\072\374\107\330\321\170\226\061\037\272\053 +\014\137\135\231\255\143\211\132\044\040\166\330\337\375\253\116 +\246\042\252\235\136\346\047\212\175\150\051\243\347\212\270\332 +\021\273\027\055\231\235\023\044\106\367\305\342\330\237\216\177 +\307\217\164\155\132\262\350\162\365\254\356\044\020\255\057\024 +\332\377\055\232\106\161\107\276\102\337\273\001\333\364\177\323 +\050\217\061\131\133\323\311\002\246\264\122\312\156\227\373\103 +\305\010\046\157\212\364\273\375\237\050\252\015\325\105\363\023 +\072\035\330\300\170\217\101\147\074\036\224\144\256\173\013\305 +\350\331\001\210\071\032\227\206\144\101\325\073\207\014\156\372 +\017\306\275\110\024\277\071\115\324\236\101\266\217\226\035\143 +\226\223\331\225\006\170\061\150\236\067\006\073\200\211\105\141 +\071\043\307\033\104\243\025\345\034\370\222\060\273\002\003\001 +\000\001\243\201\357\060\201\354\060\022\006\003\125\035\023\001 +\001\377\004\010\060\006\001\001\377\002\001\001\060\016\006\003 +\125\035\017\001\001\377\004\004\003\002\001\006\060\035\006\003 +\125\035\016\004\026\004\024\145\315\353\253\065\036\000\076\176 +\325\164\300\034\264\163\107\016\032\144\057\060\201\246\006\003 +\125\035\040\004\201\236\060\201\233\060\201\230\006\004\125\035 +\040\000\060\201\217\060\057\006\010\053\006\001\005\005\007\002 +\001\026\043\150\164\164\160\072\057\057\167\167\167\056\146\151 +\162\155\141\160\162\157\146\145\163\151\157\156\141\154\056\143 +\157\155\057\143\160\163\060\134\006\010\053\006\001\005\005\007 +\002\002\060\120\036\116\000\120\000\141\000\163\000\145\000\157 +\000\040\000\144\000\145\000\040\000\154\000\141\000\040\000\102 +\000\157\000\156\000\141\000\156\000\157\000\166\000\141\000\040 +\000\064\000\067\000\040\000\102\000\141\000\162\000\143\000\145 +\000\154\000\157\000\156\000\141\000\040\000\060\000\070\000\060 +\000\061\000\067\060\015\006\011\052\206\110\206\367\015\001\001 +\005\005\000\003\202\002\001\000\027\175\240\371\264\335\305\305 +\353\255\113\044\265\241\002\253\335\245\210\112\262\017\125\113 +\053\127\214\073\345\061\335\376\304\062\361\347\133\144\226\066 +\062\030\354\245\062\167\327\343\104\266\300\021\052\200\271\075 +\152\156\174\233\323\255\374\303\326\243\346\144\051\174\321\341 +\070\036\202\053\377\047\145\257\373\026\025\304\056\161\204\345 +\265\377\372\244\107\275\144\062\273\366\045\204\242\047\102\365 +\040\260\302\023\020\021\315\020\025\272\102\220\052\322\104\341 +\226\046\353\061\110\022\375\052\332\311\006\317\164\036\251\113 +\325\207\050\371\171\064\222\076\056\104\350\366\217\117\217\065 +\077\045\263\071\334\143\052\220\153\040\137\304\122\022\116\227 +\054\052\254\235\227\336\110\362\243\146\333\302\322\203\225\246 +\146\247\236\045\017\351\013\063\221\145\012\132\303\331\124\022 +\335\257\303\116\016\037\046\136\015\334\263\215\354\325\201\160 +\336\322\117\044\005\363\154\116\365\114\111\146\215\321\377\322 +\013\045\101\110\376\121\204\306\102\257\200\004\317\320\176\144 +\111\344\362\337\242\354\261\114\300\052\035\347\264\261\145\242 +\304\274\361\230\364\252\160\007\143\264\270\332\073\114\372\100 +\042\060\133\021\246\360\005\016\306\002\003\110\253\206\233\205 +\335\333\335\352\242\166\200\163\175\365\234\004\304\105\215\347 +\271\034\213\236\352\327\165\321\162\261\336\165\104\347\102\175 +\342\127\153\175\334\231\274\075\203\050\352\200\223\215\305\114 +\145\301\160\201\270\070\374\103\061\262\366\003\064\107\262\254 +\373\042\006\313\036\335\027\107\034\137\146\271\323\032\242\332 +\021\261\244\274\043\311\344\276\207\377\271\224\266\370\135\040 +\112\324\137\347\275\150\173\145\362\025\036\322\072\251\055\351 +\330\153\044\254\227\130\104\107\255\131\030\361\041\145\160\336 +\316\064\140\250\100\361\363\074\244\303\050\043\214\376\047\063 +\103\100\240\027\074\353\352\073\260\162\246\243\271\112\113\136 +\026\110\364\262\274\310\214\222\305\235\237\254\162\066\274\064 +\200\064\153\251\213\222\300\270\027\355\354\166\123\365\044\001 +\214\263\042\350\113\174\125\306\235\372\243\024\273\145\205\156 +\156\117\022\176\012\074\235\225 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "Autoridad de Certificacion Firmaprofesional CIF A62634068" +# Issuer: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068,C=ES +# Serial Number:53:ec:3b:ee:fb:b2:48:5f +# Subject: CN=Autoridad de Certificacion Firmaprofesional CIF A62634068,C=ES +# Not Valid Before: Wed May 20 08:38:15 2009 +# Not Valid After : Tue Dec 31 08:38:15 2030 +# Fingerprint (MD5): 73:3A:74:7A:EC:BB:A3:96:A6:C2:E4:E2:C8:9B:C0:C3 +# Fingerprint (SHA1): AE:C5:FB:3F:C8:E1:BF:C4:E5:4F:03:07:5A:9A:E8:00:B7:F7:B6:FA +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Autoridad de Certificacion Firmaprofesional CIF A62634068" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\256\305\373\077\310\341\277\304\345\117\003\007\132\232\350\000 +\267\367\266\372 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\163\072\164\172\354\273\243\226\246\302\344\342\310\233\300\303 +END +CKA_ISSUER MULTILINE_OCTAL +\060\121\061\013\060\011\006\003\125\004\006\023\002\105\123\061 +\102\060\100\006\003\125\004\003\014\071\101\165\164\157\162\151 +\144\141\144\040\144\145\040\103\145\162\164\151\146\151\143\141 +\143\151\157\156\040\106\151\162\155\141\160\162\157\146\145\163 +\151\157\156\141\154\040\103\111\106\040\101\066\062\066\063\064 +\060\066\070 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\123\354\073\356\373\262\110\137 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Izenpe.com" +# +# Issuer: CN=Izenpe.com,O=IZENPE S.A.,C=ES +# Serial Number:00:b0:b7:5a:16:48:5f:bf:e1:cb:f5:8b:d7:19:e6:7d +# Subject: CN=Izenpe.com,O=IZENPE S.A.,C=ES +# Not Valid Before: Thu Dec 13 13:08:28 2007 +# Not Valid After : Sun Dec 13 08:27:25 2037 +# Fingerprint (MD5): A6:B0:CD:85:80:DA:5C:50:34:A3:39:90:2F:55:67:73 +# Fingerprint (SHA1): 2F:78:3D:25:52:18:A7:4A:65:39:71:B5:2C:A2:9C:45:15:6F:E9:19 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Izenpe.com" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\070\061\013\060\011\006\003\125\004\006\023\002\105\123\061 +\024\060\022\006\003\125\004\012\014\013\111\132\105\116\120\105 +\040\123\056\101\056\061\023\060\021\006\003\125\004\003\014\012 +\111\172\145\156\160\145\056\143\157\155 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\070\061\013\060\011\006\003\125\004\006\023\002\105\123\061 +\024\060\022\006\003\125\004\012\014\013\111\132\105\116\120\105 +\040\123\056\101\056\061\023\060\021\006\003\125\004\003\014\012 +\111\172\145\156\160\145\056\143\157\155 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\000\260\267\132\026\110\137\277\341\313\365\213\327\031 +\346\175 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\361\060\202\003\331\240\003\002\001\002\002\020\000 +\260\267\132\026\110\137\277\341\313\365\213\327\031\346\175\060 +\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\070 +\061\013\060\011\006\003\125\004\006\023\002\105\123\061\024\060 +\022\006\003\125\004\012\014\013\111\132\105\116\120\105\040\123 +\056\101\056\061\023\060\021\006\003\125\004\003\014\012\111\172 +\145\156\160\145\056\143\157\155\060\036\027\015\060\067\061\062 +\061\063\061\063\060\070\062\070\132\027\015\063\067\061\062\061 +\063\060\070\062\067\062\065\132\060\070\061\013\060\011\006\003 +\125\004\006\023\002\105\123\061\024\060\022\006\003\125\004\012 +\014\013\111\132\105\116\120\105\040\123\056\101\056\061\023\060 +\021\006\003\125\004\003\014\012\111\172\145\156\160\145\056\143 +\157\155\060\202\002\042\060\015\006\011\052\206\110\206\367\015 +\001\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202 +\002\001\000\311\323\172\312\017\036\254\247\206\350\026\145\152 +\261\302\033\105\062\161\225\331\376\020\133\314\257\347\245\171 +\001\217\211\303\312\362\125\161\367\167\276\167\224\363\162\244 +\054\104\330\236\222\233\024\072\241\347\044\220\012\012\126\216 +\305\330\046\224\341\331\110\341\055\076\332\012\162\335\243\231 +\025\332\201\242\207\364\173\156\046\167\211\130\255\326\353\014 +\262\101\172\163\156\155\333\172\170\101\351\010\210\022\176\207 +\056\146\021\143\154\124\373\074\235\162\300\274\056\377\302\267 +\335\015\166\343\072\327\367\264\150\276\242\365\343\201\156\301 +\106\157\135\215\340\115\306\124\125\211\032\063\061\012\261\127 +\271\243\212\230\303\354\073\064\305\225\101\151\176\165\302\074 +\040\305\141\272\121\107\240\040\220\223\241\220\113\363\116\174 +\205\105\124\232\321\005\046\101\260\265\115\035\063\276\304\003 +\310\045\174\301\160\333\073\364\011\055\124\047\110\254\057\341 +\304\254\076\310\313\222\114\123\071\067\043\354\323\001\371\340 +\011\104\115\115\144\300\341\015\132\207\042\274\255\033\243\376 +\046\265\025\363\247\374\204\031\351\354\241\210\264\104\151\204 +\203\363\211\321\164\006\251\314\013\326\302\336\047\205\120\046 +\312\027\270\311\172\207\126\054\032\001\036\154\276\023\255\020 +\254\265\044\365\070\221\241\326\113\332\361\273\322\336\107\265 +\361\274\201\366\131\153\317\031\123\351\215\025\313\112\313\251 +\157\104\345\033\101\317\341\206\247\312\320\152\237\274\114\215 +\006\063\132\242\205\345\220\065\240\142\134\026\116\360\343\242 +\372\003\032\264\054\161\263\130\054\336\173\013\333\032\017\353 +\336\041\037\006\167\006\003\260\311\357\231\374\300\271\117\013 +\206\050\376\322\271\352\343\332\245\303\107\151\022\340\333\360 +\366\031\213\355\173\160\327\002\326\355\207\030\050\054\004\044 +\114\167\344\110\212\032\306\073\232\324\017\312\372\165\322\001 +\100\132\215\171\277\213\317\113\317\252\026\301\225\344\255\114 +\212\076\027\221\324\261\142\345\202\345\200\004\244\003\176\215 +\277\332\177\242\017\227\117\014\323\015\373\327\321\345\162\176 +\034\310\167\377\133\232\017\267\256\005\106\345\361\250\026\354 +\107\244\027\002\003\001\000\001\243\201\366\060\201\363\060\201 +\260\006\003\125\035\021\004\201\250\060\201\245\201\017\151\156 +\146\157\100\151\172\145\156\160\145\056\143\157\155\244\201\221 +\060\201\216\061\107\060\105\006\003\125\004\012\014\076\111\132 +\105\116\120\105\040\123\056\101\056\040\055\040\103\111\106\040 +\101\060\061\063\063\067\062\066\060\055\122\115\145\162\143\056 +\126\151\164\157\162\151\141\055\107\141\163\164\145\151\172\040 +\124\061\060\065\065\040\106\066\062\040\123\070\061\103\060\101 +\006\003\125\004\011\014\072\101\166\144\141\040\144\145\154\040 +\115\145\144\151\164\145\162\162\141\156\145\157\040\105\164\157 +\162\142\151\144\145\141\040\061\064\040\055\040\060\061\060\061 +\060\040\126\151\164\157\162\151\141\055\107\141\163\164\145\151 +\172\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001 +\001\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002 +\001\006\060\035\006\003\125\035\016\004\026\004\024\035\034\145 +\016\250\362\045\173\264\221\317\344\261\261\346\275\125\164\154 +\005\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000 +\003\202\002\001\000\170\246\014\026\112\237\114\210\072\300\313 +\016\245\026\175\237\271\110\137\030\217\015\142\066\366\315\031 +\153\254\253\325\366\221\175\256\161\363\077\263\016\170\205\233 +\225\244\047\041\107\102\112\174\110\072\365\105\174\263\014\216 +\121\170\254\225\023\336\306\375\175\270\032\220\114\253\222\003 +\307\355\102\001\316\017\330\261\372\242\222\341\140\155\256\172 +\153\011\252\306\051\356\150\111\147\060\200\044\172\061\026\071 +\133\176\361\034\056\335\154\011\255\362\061\301\202\116\271\273 +\371\276\277\052\205\077\300\100\243\072\131\374\131\113\074\050 +\044\333\264\025\165\256\015\210\272\056\163\300\275\130\207\345 +\102\362\353\136\356\036\060\042\231\313\067\321\304\041\154\201 +\354\276\155\046\346\034\344\102\040\236\107\260\254\203\131\160 +\054\065\326\257\066\064\264\315\073\370\062\250\357\343\170\211 +\373\215\105\054\332\234\270\176\100\034\141\347\076\242\222\054 +\113\362\315\372\230\266\051\377\363\362\173\251\037\056\240\223 +\127\053\336\205\003\371\151\067\313\236\170\152\005\264\305\061 +\170\211\354\172\247\205\341\271\173\074\336\276\036\171\204\316 +\237\160\016\131\302\065\056\220\052\061\331\344\105\172\101\244 +\056\023\233\064\016\146\173\111\253\144\227\320\106\303\171\235 +\162\120\143\246\230\133\006\275\110\155\330\071\203\160\350\065 +\360\005\321\252\274\343\333\310\002\352\174\375\202\332\302\133 +\122\065\256\230\072\255\272\065\223\043\247\037\110\335\065\106 +\230\262\020\150\344\245\061\302\012\130\056\031\201\020\311\120 +\165\374\352\132\026\316\021\327\356\357\120\210\055\141\377\077 +\102\163\005\224\103\325\216\074\116\001\072\031\245\037\106\116 +\167\320\135\345\201\042\041\207\376\224\175\204\330\223\255\326 +\150\103\110\262\333\353\163\044\347\221\177\124\244\266\200\076 +\235\243\074\114\162\302\127\304\240\324\314\070\047\316\325\006 +\236\242\110\331\351\237\316\202\160\066\223\232\073\337\226\041 +\343\131\267\014\332\221\067\360\375\131\132\263\231\310\151\154 +\103\046\001\065\143\140\125\211\003\072\165\330\272\112\331\124 +\377\356\336\200\330\055\321\070\325\136\055\013\230\175\076\154 +\333\374\046\210\307 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "Izenpe.com" +# Issuer: CN=Izenpe.com,O=IZENPE S.A.,C=ES +# Serial Number:00:b0:b7:5a:16:48:5f:bf:e1:cb:f5:8b:d7:19:e6:7d +# Subject: CN=Izenpe.com,O=IZENPE S.A.,C=ES +# Not Valid Before: Thu Dec 13 13:08:28 2007 +# Not Valid After : Sun Dec 13 08:27:25 2037 +# Fingerprint (MD5): A6:B0:CD:85:80:DA:5C:50:34:A3:39:90:2F:55:67:73 +# Fingerprint (SHA1): 2F:78:3D:25:52:18:A7:4A:65:39:71:B5:2C:A2:9C:45:15:6F:E9:19 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Izenpe.com" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\057\170\075\045\122\030\247\112\145\071\161\265\054\242\234\105 +\025\157\351\031 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\246\260\315\205\200\332\134\120\064\243\071\220\057\125\147\163 +END +CKA_ISSUER MULTILINE_OCTAL +\060\070\061\013\060\011\006\003\125\004\006\023\002\105\123\061 +\024\060\022\006\003\125\004\012\014\013\111\132\105\116\120\105 +\040\123\056\101\056\061\023\060\021\006\003\125\004\003\014\012 +\111\172\145\156\160\145\056\143\157\155 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\000\260\267\132\026\110\137\277\341\313\365\213\327\031 +\346\175 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Chambers of Commerce Root - 2008" +# +# Issuer: CN=Chambers of Commerce Root - 2008,O=AC Camerfirma S.A.,serialNumber=A82743287,L=Madrid (see current address at www.camerfirma.com/address),C=EU +# Serial Number:00:a3:da:42:7e:a4:b1:ae:da +# Subject: CN=Chambers of Commerce Root - 2008,O=AC Camerfirma S.A.,serialNumber=A82743287,L=Madrid (see current address at www.camerfirma.com/address),C=EU +# Not Valid Before: Fri Aug 01 12:29:50 2008 +# Not Valid After : Sat Jul 31 12:29:50 2038 +# Fingerprint (MD5): 5E:80:9E:84:5A:0E:65:0B:17:02:F3:55:18:2A:3E:D7 +# Fingerprint (SHA1): 78:6A:74:AC:76:AB:14:7F:9C:6A:30:50:BA:9E:A8:7E:FE:9A:CE:3C +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Chambers of Commerce Root - 2008" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\256\061\013\060\011\006\003\125\004\006\023\002\105\125 +\061\103\060\101\006\003\125\004\007\023\072\115\141\144\162\151 +\144\040\050\163\145\145\040\143\165\162\162\145\156\164\040\141 +\144\144\162\145\163\163\040\141\164\040\167\167\167\056\143\141 +\155\145\162\146\151\162\155\141\056\143\157\155\057\141\144\144 +\162\145\163\163\051\061\022\060\020\006\003\125\004\005\023\011 +\101\070\062\067\064\063\062\070\067\061\033\060\031\006\003\125 +\004\012\023\022\101\103\040\103\141\155\145\162\146\151\162\155 +\141\040\123\056\101\056\061\051\060\047\006\003\125\004\003\023 +\040\103\150\141\155\142\145\162\163\040\157\146\040\103\157\155 +\155\145\162\143\145\040\122\157\157\164\040\055\040\062\060\060 +\070 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\256\061\013\060\011\006\003\125\004\006\023\002\105\125 +\061\103\060\101\006\003\125\004\007\023\072\115\141\144\162\151 +\144\040\050\163\145\145\040\143\165\162\162\145\156\164\040\141 +\144\144\162\145\163\163\040\141\164\040\167\167\167\056\143\141 +\155\145\162\146\151\162\155\141\056\143\157\155\057\141\144\144 +\162\145\163\163\051\061\022\060\020\006\003\125\004\005\023\011 +\101\070\062\067\064\063\062\070\067\061\033\060\031\006\003\125 +\004\012\023\022\101\103\040\103\141\155\145\162\146\151\162\155 +\141\040\123\056\101\056\061\051\060\047\006\003\125\004\003\023 +\040\103\150\141\155\142\145\162\163\040\157\146\040\103\157\155 +\155\145\162\143\145\040\122\157\157\164\040\055\040\062\060\060 +\070 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\011\000\243\332\102\176\244\261\256\332 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\007\117\060\202\005\067\240\003\002\001\002\002\011\000 +\243\332\102\176\244\261\256\332\060\015\006\011\052\206\110\206 +\367\015\001\001\005\005\000\060\201\256\061\013\060\011\006\003 +\125\004\006\023\002\105\125\061\103\060\101\006\003\125\004\007 +\023\072\115\141\144\162\151\144\040\050\163\145\145\040\143\165 +\162\162\145\156\164\040\141\144\144\162\145\163\163\040\141\164 +\040\167\167\167\056\143\141\155\145\162\146\151\162\155\141\056 +\143\157\155\057\141\144\144\162\145\163\163\051\061\022\060\020 +\006\003\125\004\005\023\011\101\070\062\067\064\063\062\070\067 +\061\033\060\031\006\003\125\004\012\023\022\101\103\040\103\141 +\155\145\162\146\151\162\155\141\040\123\056\101\056\061\051\060 +\047\006\003\125\004\003\023\040\103\150\141\155\142\145\162\163 +\040\157\146\040\103\157\155\155\145\162\143\145\040\122\157\157 +\164\040\055\040\062\060\060\070\060\036\027\015\060\070\060\070 +\060\061\061\062\062\071\065\060\132\027\015\063\070\060\067\063 +\061\061\062\062\071\065\060\132\060\201\256\061\013\060\011\006 +\003\125\004\006\023\002\105\125\061\103\060\101\006\003\125\004 +\007\023\072\115\141\144\162\151\144\040\050\163\145\145\040\143 +\165\162\162\145\156\164\040\141\144\144\162\145\163\163\040\141 +\164\040\167\167\167\056\143\141\155\145\162\146\151\162\155\141 +\056\143\157\155\057\141\144\144\162\145\163\163\051\061\022\060 +\020\006\003\125\004\005\023\011\101\070\062\067\064\063\062\070 +\067\061\033\060\031\006\003\125\004\012\023\022\101\103\040\103 +\141\155\145\162\146\151\162\155\141\040\123\056\101\056\061\051 +\060\047\006\003\125\004\003\023\040\103\150\141\155\142\145\162 +\163\040\157\146\040\103\157\155\155\145\162\143\145\040\122\157 +\157\164\040\055\040\062\060\060\070\060\202\002\042\060\015\006 +\011\052\206\110\206\367\015\001\001\001\005\000\003\202\002\017 +\000\060\202\002\012\002\202\002\001\000\257\000\313\160\067\053 +\200\132\112\072\154\170\224\175\243\177\032\037\366\065\325\275 +\333\313\015\104\162\076\046\262\220\122\272\143\073\050\130\157 +\245\263\155\224\246\363\335\144\014\125\366\366\347\362\042\042 +\200\136\341\142\306\266\051\341\201\154\362\277\345\175\062\152 +\124\240\062\031\131\376\037\213\327\075\140\206\205\044\157\343 +\021\263\167\076\040\226\065\041\153\263\010\331\160\056\144\367 +\204\222\123\326\016\260\220\212\212\343\207\215\006\323\275\220 +\016\342\231\241\033\206\016\332\232\012\273\013\141\120\006\122 +\361\236\177\166\354\313\017\320\036\015\317\231\060\075\034\304 +\105\020\130\254\326\323\350\327\345\352\305\001\007\167\326\121 +\346\003\177\212\110\245\115\150\165\271\351\274\236\116\031\161 +\365\062\113\234\155\140\031\013\373\314\235\165\334\277\046\315 +\217\223\170\071\171\163\136\045\016\312\134\353\167\022\007\313 +\144\101\107\162\223\253\120\303\353\011\166\144\064\322\071\267 +\166\021\011\015\166\105\304\251\256\075\152\257\265\175\145\057 +\224\130\020\354\134\174\257\176\342\266\030\331\320\233\116\132 +\111\337\251\146\013\314\074\306\170\174\247\234\035\343\316\216 +\123\276\005\336\140\017\153\345\032\333\077\343\341\041\311\051 +\301\361\353\007\234\122\033\001\104\121\074\173\045\327\304\345 +\122\124\135\045\007\312\026\040\270\255\344\101\356\172\010\376 +\231\157\203\246\221\002\260\154\066\125\152\347\175\365\226\346 +\312\201\326\227\361\224\203\351\355\260\261\153\022\151\036\254 +\373\135\251\305\230\351\264\133\130\172\276\075\242\104\072\143 +\131\324\013\045\336\033\117\275\345\001\236\315\322\051\325\237 +\027\031\012\157\277\014\220\323\011\137\331\343\212\065\314\171 +\132\115\031\067\222\267\304\301\255\257\364\171\044\232\262\001 +\013\261\257\134\226\363\200\062\373\134\075\230\361\240\077\112 +\336\276\257\224\056\331\125\232\027\156\140\235\143\154\270\143 +\311\256\201\134\030\065\340\220\273\276\074\117\067\042\271\176 +\353\317\236\167\041\246\075\070\201\373\110\332\061\075\053\343 +\211\365\320\265\275\176\340\120\304\022\211\263\043\232\020\061 +\205\333\256\157\357\070\063\030\166\021\002\003\001\000\001\243 +\202\001\154\060\202\001\150\060\022\006\003\125\035\023\001\001 +\377\004\010\060\006\001\001\377\002\001\014\060\035\006\003\125 +\035\016\004\026\004\024\371\044\254\017\262\265\370\171\300\372 +\140\210\033\304\331\115\002\236\027\031\060\201\343\006\003\125 +\035\043\004\201\333\060\201\330\200\024\371\044\254\017\262\265 +\370\171\300\372\140\210\033\304\331\115\002\236\027\031\241\201 +\264\244\201\261\060\201\256\061\013\060\011\006\003\125\004\006 +\023\002\105\125\061\103\060\101\006\003\125\004\007\023\072\115 +\141\144\162\151\144\040\050\163\145\145\040\143\165\162\162\145 +\156\164\040\141\144\144\162\145\163\163\040\141\164\040\167\167 +\167\056\143\141\155\145\162\146\151\162\155\141\056\143\157\155 +\057\141\144\144\162\145\163\163\051\061\022\060\020\006\003\125 +\004\005\023\011\101\070\062\067\064\063\062\070\067\061\033\060 +\031\006\003\125\004\012\023\022\101\103\040\103\141\155\145\162 +\146\151\162\155\141\040\123\056\101\056\061\051\060\047\006\003 +\125\004\003\023\040\103\150\141\155\142\145\162\163\040\157\146 +\040\103\157\155\155\145\162\143\145\040\122\157\157\164\040\055 +\040\062\060\060\070\202\011\000\243\332\102\176\244\261\256\332 +\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006 +\060\075\006\003\125\035\040\004\066\060\064\060\062\006\004\125 +\035\040\000\060\052\060\050\006\010\053\006\001\005\005\007\002 +\001\026\034\150\164\164\160\072\057\057\160\157\154\151\143\171 +\056\143\141\155\145\162\146\151\162\155\141\056\143\157\155\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003\202 +\002\001\000\220\022\257\042\065\302\243\071\360\056\336\351\265 +\351\170\174\110\276\077\175\105\222\136\351\332\261\031\374\026 +\074\237\264\133\146\236\152\347\303\271\135\210\350\017\255\317 +\043\017\336\045\072\136\314\117\245\301\265\055\254\044\322\130 +\007\336\242\317\151\204\140\063\350\020\015\023\251\043\320\205 +\345\216\173\246\236\075\162\023\162\063\365\252\175\306\143\037 +\010\364\376\001\177\044\317\053\054\124\011\336\342\053\155\222 +\306\071\117\026\352\074\176\172\106\324\105\152\106\250\353\165 +\202\126\247\253\240\174\150\023\063\366\235\060\360\157\047\071 +\044\043\052\220\375\220\051\065\362\223\337\064\245\306\367\370 +\357\214\017\142\112\174\256\323\365\124\370\215\266\232\126\207 +\026\202\072\063\253\132\042\010\367\202\272\352\056\340\107\232 +\264\265\105\243\005\073\331\334\056\105\100\073\352\334\177\350 +\073\353\321\354\046\330\065\244\060\305\072\254\127\236\263\166 +\245\040\173\371\036\112\005\142\001\246\050\165\140\227\222\015 +\156\076\115\067\103\015\222\025\234\030\042\315\121\231\240\051 +\032\074\137\212\062\063\133\060\307\211\057\107\230\017\243\003 +\306\366\361\254\337\062\360\331\201\032\344\234\275\366\200\024 +\360\321\054\271\205\365\330\243\261\310\245\041\345\034\023\227 +\356\016\275\337\051\251\357\064\123\133\323\344\152\023\204\006 +\266\062\002\304\122\256\042\322\334\262\041\102\032\332\100\360 +\051\311\354\012\014\134\342\320\272\314\110\323\067\012\314\022 +\012\212\171\260\075\003\177\151\113\364\064\040\175\263\064\352 +\216\113\144\365\076\375\263\043\147\025\015\004\270\360\055\301 +\011\121\074\262\154\025\360\245\043\327\203\164\344\345\056\311 +\376\230\047\102\306\253\306\236\260\320\133\070\245\233\120\336 +\176\030\230\265\105\073\366\171\264\350\367\032\173\006\203\373 +\320\213\332\273\307\275\030\253\010\157\074\200\153\100\077\031 +\031\272\145\212\346\276\325\134\323\066\327\357\100\122\044\140 +\070\147\004\061\354\217\363\202\306\336\271\125\363\073\061\221 +\132\334\265\010\025\255\166\045\012\015\173\056\207\342\014\246 +\006\274\046\020\155\067\235\354\335\170\214\174\200\305\360\331 +\167\110\320 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "Chambers of Commerce Root - 2008" +# Issuer: CN=Chambers of Commerce Root - 2008,O=AC Camerfirma S.A.,serialNumber=A82743287,L=Madrid (see current address at www.camerfirma.com/address),C=EU +# Serial Number:00:a3:da:42:7e:a4:b1:ae:da +# Subject: CN=Chambers of Commerce Root - 2008,O=AC Camerfirma S.A.,serialNumber=A82743287,L=Madrid (see current address at www.camerfirma.com/address),C=EU +# Not Valid Before: Fri Aug 01 12:29:50 2008 +# Not Valid After : Sat Jul 31 12:29:50 2038 +# Fingerprint (MD5): 5E:80:9E:84:5A:0E:65:0B:17:02:F3:55:18:2A:3E:D7 +# Fingerprint (SHA1): 78:6A:74:AC:76:AB:14:7F:9C:6A:30:50:BA:9E:A8:7E:FE:9A:CE:3C +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Chambers of Commerce Root - 2008" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\170\152\164\254\166\253\024\177\234\152\060\120\272\236\250\176 +\376\232\316\074 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\136\200\236\204\132\016\145\013\027\002\363\125\030\052\076\327 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\256\061\013\060\011\006\003\125\004\006\023\002\105\125 +\061\103\060\101\006\003\125\004\007\023\072\115\141\144\162\151 +\144\040\050\163\145\145\040\143\165\162\162\145\156\164\040\141 +\144\144\162\145\163\163\040\141\164\040\167\167\167\056\143\141 +\155\145\162\146\151\162\155\141\056\143\157\155\057\141\144\144 +\162\145\163\163\051\061\022\060\020\006\003\125\004\005\023\011 +\101\070\062\067\064\063\062\070\067\061\033\060\031\006\003\125 +\004\012\023\022\101\103\040\103\141\155\145\162\146\151\162\155 +\141\040\123\056\101\056\061\051\060\047\006\003\125\004\003\023 +\040\103\150\141\155\142\145\162\163\040\157\146\040\103\157\155 +\155\145\162\143\145\040\122\157\157\164\040\055\040\062\060\060 +\070 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\011\000\243\332\102\176\244\261\256\332 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Global Chambersign Root - 2008" +# +# Issuer: CN=Global Chambersign Root - 2008,O=AC Camerfirma S.A.,serialNumber=A82743287,L=Madrid (see current address at www.camerfirma.com/address),C=EU +# Serial Number:00:c9:cd:d3:e9:d5:7d:23:ce +# Subject: CN=Global Chambersign Root - 2008,O=AC Camerfirma S.A.,serialNumber=A82743287,L=Madrid (see current address at www.camerfirma.com/address),C=EU +# Not Valid Before: Fri Aug 01 12:31:40 2008 +# Not Valid After : Sat Jul 31 12:31:40 2038 +# Fingerprint (MD5): 9E:80:FF:78:01:0C:2E:C1:36:BD:FE:96:90:6E:08:F3 +# Fingerprint (SHA1): 4A:BD:EE:EC:95:0D:35:9C:89:AE:C7:52:A1:2C:5B:29:F6:D6:AA:0C +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Global Chambersign Root - 2008" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\254\061\013\060\011\006\003\125\004\006\023\002\105\125 +\061\103\060\101\006\003\125\004\007\023\072\115\141\144\162\151 +\144\040\050\163\145\145\040\143\165\162\162\145\156\164\040\141 +\144\144\162\145\163\163\040\141\164\040\167\167\167\056\143\141 +\155\145\162\146\151\162\155\141\056\143\157\155\057\141\144\144 +\162\145\163\163\051\061\022\060\020\006\003\125\004\005\023\011 +\101\070\062\067\064\063\062\070\067\061\033\060\031\006\003\125 +\004\012\023\022\101\103\040\103\141\155\145\162\146\151\162\155 +\141\040\123\056\101\056\061\047\060\045\006\003\125\004\003\023 +\036\107\154\157\142\141\154\040\103\150\141\155\142\145\162\163 +\151\147\156\040\122\157\157\164\040\055\040\062\060\060\070 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\254\061\013\060\011\006\003\125\004\006\023\002\105\125 +\061\103\060\101\006\003\125\004\007\023\072\115\141\144\162\151 +\144\040\050\163\145\145\040\143\165\162\162\145\156\164\040\141 +\144\144\162\145\163\163\040\141\164\040\167\167\167\056\143\141 +\155\145\162\146\151\162\155\141\056\143\157\155\057\141\144\144 +\162\145\163\163\051\061\022\060\020\006\003\125\004\005\023\011 +\101\070\062\067\064\063\062\070\067\061\033\060\031\006\003\125 +\004\012\023\022\101\103\040\103\141\155\145\162\146\151\162\155 +\141\040\123\056\101\056\061\047\060\045\006\003\125\004\003\023 +\036\107\154\157\142\141\154\040\103\150\141\155\142\145\162\163 +\151\147\156\040\122\157\157\164\040\055\040\062\060\060\070 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\011\000\311\315\323\351\325\175\043\316 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\007\111\060\202\005\061\240\003\002\001\002\002\011\000 +\311\315\323\351\325\175\043\316\060\015\006\011\052\206\110\206 +\367\015\001\001\005\005\000\060\201\254\061\013\060\011\006\003 +\125\004\006\023\002\105\125\061\103\060\101\006\003\125\004\007 +\023\072\115\141\144\162\151\144\040\050\163\145\145\040\143\165 +\162\162\145\156\164\040\141\144\144\162\145\163\163\040\141\164 +\040\167\167\167\056\143\141\155\145\162\146\151\162\155\141\056 +\143\157\155\057\141\144\144\162\145\163\163\051\061\022\060\020 +\006\003\125\004\005\023\011\101\070\062\067\064\063\062\070\067 +\061\033\060\031\006\003\125\004\012\023\022\101\103\040\103\141 +\155\145\162\146\151\162\155\141\040\123\056\101\056\061\047\060 +\045\006\003\125\004\003\023\036\107\154\157\142\141\154\040\103 +\150\141\155\142\145\162\163\151\147\156\040\122\157\157\164\040 +\055\040\062\060\060\070\060\036\027\015\060\070\060\070\060\061 +\061\062\063\061\064\060\132\027\015\063\070\060\067\063\061\061 +\062\063\061\064\060\132\060\201\254\061\013\060\011\006\003\125 +\004\006\023\002\105\125\061\103\060\101\006\003\125\004\007\023 +\072\115\141\144\162\151\144\040\050\163\145\145\040\143\165\162 +\162\145\156\164\040\141\144\144\162\145\163\163\040\141\164\040 +\167\167\167\056\143\141\155\145\162\146\151\162\155\141\056\143 +\157\155\057\141\144\144\162\145\163\163\051\061\022\060\020\006 +\003\125\004\005\023\011\101\070\062\067\064\063\062\070\067\061 +\033\060\031\006\003\125\004\012\023\022\101\103\040\103\141\155 +\145\162\146\151\162\155\141\040\123\056\101\056\061\047\060\045 +\006\003\125\004\003\023\036\107\154\157\142\141\154\040\103\150 +\141\155\142\145\162\163\151\147\156\040\122\157\157\164\040\055 +\040\062\060\060\070\060\202\002\042\060\015\006\011\052\206\110 +\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202\002 +\012\002\202\002\001\000\300\337\126\323\344\072\233\166\105\264 +\023\333\377\301\266\031\213\067\101\030\225\122\107\353\027\235 +\051\210\216\065\154\006\062\056\107\142\363\111\004\277\175\104 +\066\261\161\314\275\132\011\163\325\331\205\104\377\221\127\045 +\337\136\066\216\160\321\134\161\103\035\331\332\357\134\322\373 +\033\275\072\265\313\255\243\314\104\247\015\256\041\025\077\271 +\172\133\222\165\330\244\022\070\211\031\212\267\200\322\342\062 +\157\126\234\221\326\210\020\013\263\164\144\222\164\140\363\366 +\317\030\117\140\262\043\320\307\073\316\141\113\231\217\302\014 +\320\100\262\230\334\015\250\116\243\271\012\256\140\240\255\105 +\122\143\272\146\275\150\340\371\276\032\250\201\273\036\101\170 +\165\323\301\376\000\125\260\207\124\350\047\220\065\035\114\063 +\255\227\374\227\056\230\204\277\054\311\243\277\321\230\021\024 +\355\143\370\312\230\210\130\027\231\355\105\003\227\176\074\206 +\036\210\214\276\362\221\204\217\145\064\330\000\114\175\267\061 +\027\132\051\172\012\030\044\060\243\067\265\172\251\001\175\046 +\326\371\016\216\131\361\375\033\063\265\051\073\027\073\101\266 +\041\335\324\300\075\245\237\237\037\103\120\311\273\274\154\172 +\227\230\356\315\214\037\373\234\121\256\213\160\275\047\237\161 +\300\153\254\175\220\146\350\327\135\072\015\260\325\302\215\325 +\310\235\235\301\155\320\320\277\121\344\343\370\303\070\066\256 +\326\247\165\346\257\204\103\135\223\222\014\152\007\336\073\035 +\230\042\326\254\301\065\333\243\240\045\377\162\265\166\035\336 +\155\351\054\146\054\122\204\320\105\222\316\034\345\345\063\035 +\334\007\123\124\243\252\202\073\232\067\057\334\335\240\144\351 +\346\335\275\256\374\144\205\035\074\247\311\006\336\204\377\153 +\350\153\032\074\305\242\263\102\373\213\011\076\137\010\122\307 +\142\304\324\005\161\277\304\144\344\370\241\203\350\076\022\233 +\250\036\324\066\115\057\161\366\215\050\366\203\251\023\322\141 +\301\221\273\110\300\064\217\101\214\113\114\333\151\022\377\120 +\224\234\040\203\131\163\355\174\241\362\361\375\335\367\111\323 +\103\130\240\126\143\312\075\075\345\065\126\131\351\016\312\040 +\314\053\113\223\051\017\002\003\001\000\001\243\202\001\152\060 +\202\001\146\060\022\006\003\125\035\023\001\001\377\004\010\060 +\006\001\001\377\002\001\014\060\035\006\003\125\035\016\004\026 +\004\024\271\011\312\234\036\333\323\154\072\153\256\355\124\361 +\133\223\006\065\056\136\060\201\341\006\003\125\035\043\004\201 +\331\060\201\326\200\024\271\011\312\234\036\333\323\154\072\153 +\256\355\124\361\133\223\006\065\056\136\241\201\262\244\201\257 +\060\201\254\061\013\060\011\006\003\125\004\006\023\002\105\125 +\061\103\060\101\006\003\125\004\007\023\072\115\141\144\162\151 +\144\040\050\163\145\145\040\143\165\162\162\145\156\164\040\141 +\144\144\162\145\163\163\040\141\164\040\167\167\167\056\143\141 +\155\145\162\146\151\162\155\141\056\143\157\155\057\141\144\144 +\162\145\163\163\051\061\022\060\020\006\003\125\004\005\023\011 +\101\070\062\067\064\063\062\070\067\061\033\060\031\006\003\125 +\004\012\023\022\101\103\040\103\141\155\145\162\146\151\162\155 +\141\040\123\056\101\056\061\047\060\045\006\003\125\004\003\023 +\036\107\154\157\142\141\154\040\103\150\141\155\142\145\162\163 +\151\147\156\040\122\157\157\164\040\055\040\062\060\060\070\202 +\011\000\311\315\323\351\325\175\043\316\060\016\006\003\125\035 +\017\001\001\377\004\004\003\002\001\006\060\075\006\003\125\035 +\040\004\066\060\064\060\062\006\004\125\035\040\000\060\052\060 +\050\006\010\053\006\001\005\005\007\002\001\026\034\150\164\164 +\160\072\057\057\160\157\154\151\143\171\056\143\141\155\145\162 +\146\151\162\155\141\056\143\157\155\060\015\006\011\052\206\110 +\206\367\015\001\001\005\005\000\003\202\002\001\000\200\210\177 +\160\336\222\050\331\005\224\106\377\220\127\251\361\057\337\032 +\015\153\372\174\016\034\111\044\171\047\330\106\252\157\051\131 +\122\210\160\022\352\335\075\365\233\123\124\157\341\140\242\250 +\011\271\354\353\131\174\306\065\361\334\030\351\361\147\345\257 +\272\105\340\011\336\312\104\017\302\027\016\167\221\105\172\063 +\137\137\226\054\150\213\301\107\217\230\233\075\300\354\313\365 +\325\202\222\204\065\321\276\066\070\126\162\061\133\107\055\252 +\027\244\143\121\353\012\001\255\177\354\165\236\313\241\037\361 +\177\022\261\271\344\144\177\147\326\043\052\364\270\071\135\230 +\350\041\247\341\275\075\102\032\164\232\160\257\150\154\120\135 +\111\317\377\373\016\135\346\054\107\327\201\072\131\000\265\163 +\153\143\040\366\061\105\010\071\016\364\160\176\100\160\132\077 +\320\153\102\251\164\075\050\057\002\155\165\162\225\011\215\110 +\143\306\306\043\127\222\223\136\065\301\215\371\012\367\054\235 +\142\034\366\255\174\335\246\061\036\266\261\307\176\205\046\372 +\244\152\265\332\143\060\321\357\223\067\262\146\057\175\005\367 +\347\267\113\230\224\065\300\331\072\051\301\235\262\120\063\035 +\112\251\132\246\311\003\357\355\364\347\250\156\212\264\127\204 +\353\244\077\320\356\252\252\207\133\143\350\223\342\153\250\324 +\270\162\170\153\033\355\071\344\135\313\233\252\207\325\117\116 +\000\376\331\152\237\074\061\017\050\002\001\175\230\350\247\260 +\242\144\236\171\370\110\362\025\251\314\346\310\104\353\077\170 +\231\362\173\161\076\074\361\230\247\305\030\022\077\346\273\050 +\063\102\351\105\012\174\155\362\206\171\057\305\202\031\175\011 +\211\174\262\124\166\210\256\336\301\363\314\341\156\333\061\326 +\223\256\231\240\357\045\152\163\230\211\133\072\056\023\210\036 +\277\300\222\224\064\033\343\047\267\213\036\157\102\377\347\351 +\067\233\120\035\055\242\371\002\356\313\130\130\072\161\274\150 +\343\252\301\257\034\050\037\242\334\043\145\077\201\352\256\231 +\323\330\060\317\023\015\117\025\311\204\274\247\110\055\370\060 +\043\167\330\106\113\171\155\366\214\355\072\177\140\021\170\364 +\351\233\256\325\124\300\164\200\321\013\102\237\301 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "Global Chambersign Root - 2008" +# Issuer: CN=Global Chambersign Root - 2008,O=AC Camerfirma S.A.,serialNumber=A82743287,L=Madrid (see current address at www.camerfirma.com/address),C=EU +# Serial Number:00:c9:cd:d3:e9:d5:7d:23:ce +# Subject: CN=Global Chambersign Root - 2008,O=AC Camerfirma S.A.,serialNumber=A82743287,L=Madrid (see current address at www.camerfirma.com/address),C=EU +# Not Valid Before: Fri Aug 01 12:31:40 2008 +# Not Valid After : Sat Jul 31 12:31:40 2038 +# Fingerprint (MD5): 9E:80:FF:78:01:0C:2E:C1:36:BD:FE:96:90:6E:08:F3 +# Fingerprint (SHA1): 4A:BD:EE:EC:95:0D:35:9C:89:AE:C7:52:A1:2C:5B:29:F6:D6:AA:0C +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Global Chambersign Root - 2008" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\112\275\356\354\225\015\065\234\211\256\307\122\241\054\133\051 +\366\326\252\014 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\236\200\377\170\001\014\056\301\066\275\376\226\220\156\010\363 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\254\061\013\060\011\006\003\125\004\006\023\002\105\125 +\061\103\060\101\006\003\125\004\007\023\072\115\141\144\162\151 +\144\040\050\163\145\145\040\143\165\162\162\145\156\164\040\141 +\144\144\162\145\163\163\040\141\164\040\167\167\167\056\143\141 +\155\145\162\146\151\162\155\141\056\143\157\155\057\141\144\144 +\162\145\163\163\051\061\022\060\020\006\003\125\004\005\023\011 +\101\070\062\067\064\063\062\070\067\061\033\060\031\006\003\125 +\004\012\023\022\101\103\040\103\141\155\145\162\146\151\162\155 +\141\040\123\056\101\056\061\047\060\045\006\003\125\004\003\023 +\036\107\154\157\142\141\154\040\103\150\141\155\142\145\162\163 +\151\147\156\040\122\157\157\164\040\055\040\062\060\060\070 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\011\000\311\315\323\351\325\175\043\316 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Go Daddy Root Certificate Authority - G2" +# +# Issuer: CN=Go Daddy Root Certificate Authority - G2,O="GoDaddy.com, Inc.",L=Scottsdale,ST=Arizona,C=US +# Serial Number: 0 (0x0) +# Subject: CN=Go Daddy Root Certificate Authority - G2,O="GoDaddy.com, Inc.",L=Scottsdale,ST=Arizona,C=US +# Not Valid Before: Tue Sep 01 00:00:00 2009 +# Not Valid After : Thu Dec 31 23:59:59 2037 +# Fingerprint (MD5): 80:3A:BC:22:C1:E6:FB:8D:9B:3B:27:4A:32:1B:9A:01 +# Fingerprint (SHA1): 47:BE:AB:C9:22:EA:E8:0E:78:78:34:62:A7:9F:45:C2:54:FD:E6:8B +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Go Daddy Root Certificate Authority - G2" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\203\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157 +\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157 +\164\164\163\144\141\154\145\061\032\060\030\006\003\125\004\012 +\023\021\107\157\104\141\144\144\171\056\143\157\155\054\040\111 +\156\143\056\061\061\060\057\006\003\125\004\003\023\050\107\157 +\040\104\141\144\144\171\040\122\157\157\164\040\103\145\162\164 +\151\146\151\143\141\164\145\040\101\165\164\150\157\162\151\164 +\171\040\055\040\107\062 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\203\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157 +\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157 +\164\164\163\144\141\154\145\061\032\060\030\006\003\125\004\012 +\023\021\107\157\104\141\144\144\171\056\143\157\155\054\040\111 +\156\143\056\061\061\060\057\006\003\125\004\003\023\050\107\157 +\040\104\141\144\144\171\040\122\157\157\164\040\103\145\162\164 +\151\146\151\143\141\164\145\040\101\165\164\150\157\162\151\164 +\171\040\055\040\107\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\000 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\305\060\202\002\255\240\003\002\001\002\002\001\000 +\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060 +\201\203\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157\156 +\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157\164 +\164\163\144\141\154\145\061\032\060\030\006\003\125\004\012\023 +\021\107\157\104\141\144\144\171\056\143\157\155\054\040\111\156 +\143\056\061\061\060\057\006\003\125\004\003\023\050\107\157\040 +\104\141\144\144\171\040\122\157\157\164\040\103\145\162\164\151 +\146\151\143\141\164\145\040\101\165\164\150\157\162\151\164\171 +\040\055\040\107\062\060\036\027\015\060\071\060\071\060\061\060 +\060\060\060\060\060\132\027\015\063\067\061\062\063\061\062\063 +\065\071\065\071\132\060\201\203\061\013\060\011\006\003\125\004 +\006\023\002\125\123\061\020\060\016\006\003\125\004\010\023\007 +\101\162\151\172\157\156\141\061\023\060\021\006\003\125\004\007 +\023\012\123\143\157\164\164\163\144\141\154\145\061\032\060\030 +\006\003\125\004\012\023\021\107\157\104\141\144\144\171\056\143 +\157\155\054\040\111\156\143\056\061\061\060\057\006\003\125\004 +\003\023\050\107\157\040\104\141\144\144\171\040\122\157\157\164 +\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164 +\150\157\162\151\164\171\040\055\040\107\062\060\202\001\042\060 +\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202 +\001\017\000\060\202\001\012\002\202\001\001\000\277\161\142\010 +\361\372\131\064\367\033\311\030\243\367\200\111\130\351\042\203 +\023\246\305\040\103\001\073\204\361\346\205\111\237\047\352\366 +\204\033\116\240\264\333\160\230\307\062\001\261\005\076\007\116 +\356\364\372\117\057\131\060\042\347\253\031\126\153\342\200\007 +\374\363\026\165\200\071\121\173\345\371\065\266\164\116\251\215 +\202\023\344\266\077\251\003\203\372\242\276\212\025\152\177\336 +\013\303\266\031\024\005\312\352\303\250\004\224\073\106\174\062 +\015\363\000\146\042\310\215\151\155\066\214\021\030\267\323\262 +\034\140\264\070\372\002\214\316\323\335\106\007\336\012\076\353 +\135\174\310\174\373\260\053\123\244\222\142\151\121\045\005\141 +\032\104\201\214\054\251\103\226\043\337\254\072\201\232\016\051 +\305\034\251\351\135\036\266\236\236\060\012\071\316\361\210\200 +\373\113\135\314\062\354\205\142\103\045\064\002\126\047\001\221 +\264\073\160\052\077\156\261\350\234\210\001\175\237\324\371\333 +\123\155\140\235\277\054\347\130\253\270\137\106\374\316\304\033 +\003\074\011\353\111\061\134\151\106\263\340\107\002\003\001\000 +\001\243\102\060\100\060\017\006\003\125\035\023\001\001\377\004 +\005\060\003\001\001\377\060\016\006\003\125\035\017\001\001\377 +\004\004\003\002\001\006\060\035\006\003\125\035\016\004\026\004 +\024\072\232\205\007\020\147\050\266\357\366\275\005\101\156\040 +\301\224\332\017\336\060\015\006\011\052\206\110\206\367\015\001 +\001\013\005\000\003\202\001\001\000\231\333\135\171\325\371\227 +\131\147\003\141\361\176\073\006\061\165\055\241\040\216\117\145 +\207\264\367\246\234\274\330\351\057\320\333\132\356\317\164\214 +\163\264\070\102\332\005\173\370\002\165\270\375\245\261\327\256 +\366\327\336\023\313\123\020\176\212\106\321\227\372\267\056\053 +\021\253\220\260\047\200\371\350\237\132\351\067\237\253\344\337 +\154\263\205\027\235\075\331\044\117\171\221\065\326\137\004\353 +\200\203\253\232\002\055\265\020\364\330\220\307\004\163\100\355 +\162\045\240\251\237\354\236\253\150\022\231\127\306\217\022\072 +\011\244\275\104\375\006\025\067\301\233\344\062\243\355\070\350 +\330\144\363\054\176\024\374\002\352\237\315\377\007\150\027\333 +\042\220\070\055\172\215\321\124\361\151\343\137\063\312\172\075 +\173\012\343\312\177\137\071\345\342\165\272\305\166\030\063\316 +\054\360\057\114\255\367\261\347\316\117\250\304\233\112\124\006 +\305\177\175\325\010\017\342\034\376\176\027\270\254\136\366\324 +\026\262\103\011\014\115\366\247\153\264\231\204\145\312\172\210 +\342\342\104\276\134\367\352\034\365 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "Go Daddy Root Certificate Authority - G2" +# Issuer: CN=Go Daddy Root Certificate Authority - G2,O="GoDaddy.com, Inc.",L=Scottsdale,ST=Arizona,C=US +# Serial Number: 0 (0x0) +# Subject: CN=Go Daddy Root Certificate Authority - G2,O="GoDaddy.com, Inc.",L=Scottsdale,ST=Arizona,C=US +# Not Valid Before: Tue Sep 01 00:00:00 2009 +# Not Valid After : Thu Dec 31 23:59:59 2037 +# Fingerprint (MD5): 80:3A:BC:22:C1:E6:FB:8D:9B:3B:27:4A:32:1B:9A:01 +# Fingerprint (SHA1): 47:BE:AB:C9:22:EA:E8:0E:78:78:34:62:A7:9F:45:C2:54:FD:E6:8B +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Go Daddy Root Certificate Authority - G2" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\107\276\253\311\042\352\350\016\170\170\064\142\247\237\105\302 +\124\375\346\213 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\200\072\274\042\301\346\373\215\233\073\047\112\062\033\232\001 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\203\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157 +\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157 +\164\164\163\144\141\154\145\061\032\060\030\006\003\125\004\012 +\023\021\107\157\104\141\144\144\171\056\143\157\155\054\040\111 +\156\143\056\061\061\060\057\006\003\125\004\003\023\050\107\157 +\040\104\141\144\144\171\040\122\157\157\164\040\103\145\162\164 +\151\146\151\143\141\164\145\040\101\165\164\150\157\162\151\164 +\171\040\055\040\107\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\000 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Starfield Root Certificate Authority - G2" +# +# Issuer: CN=Starfield Root Certificate Authority - G2,O="Starfield Technologies, Inc.",L=Scottsdale,ST=Arizona,C=US +# Serial Number: 0 (0x0) +# Subject: CN=Starfield Root Certificate Authority - G2,O="Starfield Technologies, Inc.",L=Scottsdale,ST=Arizona,C=US +# Not Valid Before: Tue Sep 01 00:00:00 2009 +# Not Valid After : Thu Dec 31 23:59:59 2037 +# Fingerprint (MD5): D6:39:81:C6:52:7E:96:69:FC:FC:CA:66:ED:05:F2:96 +# Fingerprint (SHA1): B5:1C:06:7C:EE:2B:0C:3D:F8:55:AB:2D:92:F4:FE:39:D4:E7:0F:0E +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Starfield Root Certificate Authority - G2" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\217\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157 +\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157 +\164\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012 +\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150 +\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061\062 +\060\060\006\003\125\004\003\023\051\123\164\141\162\146\151\145 +\154\144\040\122\157\157\164\040\103\145\162\164\151\146\151\143 +\141\164\145\040\101\165\164\150\157\162\151\164\171\040\055\040 +\107\062 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\217\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157 +\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157 +\164\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012 +\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150 +\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061\062 +\060\060\006\003\125\004\003\023\051\123\164\141\162\146\151\145 +\154\144\040\122\157\157\164\040\103\145\162\164\151\146\151\143 +\141\164\145\040\101\165\164\150\157\162\151\164\171\040\055\040 +\107\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\000 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\335\060\202\002\305\240\003\002\001\002\002\001\000 +\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060 +\201\217\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157\156 +\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157\164 +\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012\023 +\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150\156 +\157\154\157\147\151\145\163\054\040\111\156\143\056\061\062\060 +\060\006\003\125\004\003\023\051\123\164\141\162\146\151\145\154 +\144\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141 +\164\145\040\101\165\164\150\157\162\151\164\171\040\055\040\107 +\062\060\036\027\015\060\071\060\071\060\061\060\060\060\060\060 +\060\132\027\015\063\067\061\062\063\061\062\063\065\071\065\071 +\132\060\201\217\061\013\060\011\006\003\125\004\006\023\002\125 +\123\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172 +\157\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143 +\157\164\164\163\144\141\154\145\061\045\060\043\006\003\125\004 +\012\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143 +\150\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061 +\062\060\060\006\003\125\004\003\023\051\123\164\141\162\146\151 +\145\154\144\040\122\157\157\164\040\103\145\162\164\151\146\151 +\143\141\164\145\040\101\165\164\150\157\162\151\164\171\040\055 +\040\107\062\060\202\001\042\060\015\006\011\052\206\110\206\367 +\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002 +\202\001\001\000\275\355\301\003\374\366\217\374\002\261\157\133 +\237\110\331\235\171\342\242\267\003\141\126\030\303\107\266\327 +\312\075\065\056\211\103\367\241\151\233\336\212\032\375\023\040 +\234\264\111\167\062\051\126\375\271\354\214\335\042\372\162\334 +\047\141\227\356\366\132\204\354\156\031\271\211\054\334\204\133 +\325\164\373\153\137\305\211\245\020\122\211\106\125\364\270\165 +\034\346\177\344\124\256\113\370\125\162\127\002\031\370\027\161 +\131\353\036\050\007\164\305\235\110\276\154\264\364\244\260\363 +\144\067\171\222\300\354\106\136\177\341\155\123\114\142\257\315 +\037\013\143\273\072\235\373\374\171\000\230\141\164\317\046\202 +\100\143\363\262\162\152\031\015\231\312\324\016\165\314\067\373 +\213\211\301\131\361\142\177\137\263\137\145\060\370\247\267\115 +\166\132\036\166\136\064\300\350\226\126\231\212\263\360\177\244 +\315\275\334\062\061\174\221\317\340\137\021\370\153\252\111\134 +\321\231\224\321\242\343\143\133\011\166\265\126\142\341\113\164 +\035\226\324\046\324\010\004\131\320\230\016\016\346\336\374\303 +\354\037\220\361\002\003\001\000\001\243\102\060\100\060\017\006 +\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016 +\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060\035 +\006\003\125\035\016\004\026\004\024\174\014\062\037\247\331\060 +\177\304\175\150\243\142\250\241\316\253\007\133\047\060\015\006 +\011\052\206\110\206\367\015\001\001\013\005\000\003\202\001\001 +\000\021\131\372\045\117\003\157\224\231\073\232\037\202\205\071 +\324\166\005\224\136\341\050\223\155\142\135\011\302\240\250\324 +\260\165\070\361\064\152\235\344\237\212\206\046\121\346\054\321 +\306\055\156\225\040\112\222\001\354\270\212\147\173\061\342\147 +\056\214\225\003\046\056\103\235\112\061\366\016\265\014\273\267 +\342\067\177\042\272\000\243\016\173\122\373\153\273\073\304\323 +\171\121\116\315\220\364\147\007\031\310\074\106\172\015\001\175 +\305\130\347\155\346\205\060\027\232\044\304\020\340\004\367\340 +\362\177\324\252\012\377\102\035\067\355\224\345\144\131\022\040 +\167\070\323\062\076\070\201\165\226\163\372\150\217\261\313\316 +\037\305\354\372\234\176\317\176\261\361\007\055\266\374\277\312 +\244\277\320\227\005\112\274\352\030\050\002\220\275\124\170\011 +\041\161\323\321\175\035\331\026\260\251\141\075\320\012\000\042 +\374\307\173\313\011\144\105\013\073\100\201\367\175\174\062\365 +\230\312\130\216\175\052\356\220\131\163\144\371\066\164\136\045 +\241\365\146\005\056\177\071\025\251\052\373\120\213\216\205\151 +\364 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "Starfield Root Certificate Authority - G2" +# Issuer: CN=Starfield Root Certificate Authority - G2,O="Starfield Technologies, Inc.",L=Scottsdale,ST=Arizona,C=US +# Serial Number: 0 (0x0) +# Subject: CN=Starfield Root Certificate Authority - G2,O="Starfield Technologies, Inc.",L=Scottsdale,ST=Arizona,C=US +# Not Valid Before: Tue Sep 01 00:00:00 2009 +# Not Valid After : Thu Dec 31 23:59:59 2037 +# Fingerprint (MD5): D6:39:81:C6:52:7E:96:69:FC:FC:CA:66:ED:05:F2:96 +# Fingerprint (SHA1): B5:1C:06:7C:EE:2B:0C:3D:F8:55:AB:2D:92:F4:FE:39:D4:E7:0F:0E +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Starfield Root Certificate Authority - G2" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\265\034\006\174\356\053\014\075\370\125\253\055\222\364\376\071 +\324\347\017\016 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\326\071\201\306\122\176\226\151\374\374\312\146\355\005\362\226 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\217\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157 +\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157 +\164\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012 +\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150 +\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061\062 +\060\060\006\003\125\004\003\023\051\123\164\141\162\146\151\145 +\154\144\040\122\157\157\164\040\103\145\162\164\151\146\151\143 +\141\164\145\040\101\165\164\150\157\162\151\164\171\040\055\040 +\107\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\000 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Starfield Services Root Certificate Authority - G2" +# +# Issuer: CN=Starfield Services Root Certificate Authority - G2,O="Starfield Technologies, Inc.",L=Scottsdale,ST=Arizona,C=US +# Serial Number: 0 (0x0) +# Subject: CN=Starfield Services Root Certificate Authority - G2,O="Starfield Technologies, Inc.",L=Scottsdale,ST=Arizona,C=US +# Not Valid Before: Tue Sep 01 00:00:00 2009 +# Not Valid After : Thu Dec 31 23:59:59 2037 +# Fingerprint (MD5): 17:35:74:AF:7B:61:1C:EB:F4:F9:3C:E2:EE:40:F9:A2 +# Fingerprint (SHA1): 92:5A:8F:8D:2C:6D:04:E0:66:5F:59:6A:FF:22:D8:63:E8:25:6F:3F +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Starfield Services Root Certificate Authority - G2" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157 +\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157 +\164\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012 +\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150 +\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061\073 +\060\071\006\003\125\004\003\023\062\123\164\141\162\146\151\145 +\154\144\040\123\145\162\166\151\143\145\163\040\122\157\157\164 +\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164 +\150\157\162\151\164\171\040\055\040\107\062 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157 +\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157 +\164\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012 +\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150 +\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061\073 +\060\071\006\003\125\004\003\023\062\123\164\141\162\146\151\145 +\154\144\040\123\145\162\166\151\143\145\163\040\122\157\157\164 +\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164 +\150\157\162\151\164\171\040\055\040\107\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\000 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\357\060\202\002\327\240\003\002\001\002\002\001\000 +\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060 +\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157\156 +\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157\164 +\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012\023 +\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150\156 +\157\154\157\147\151\145\163\054\040\111\156\143\056\061\073\060 +\071\006\003\125\004\003\023\062\123\164\141\162\146\151\145\154 +\144\040\123\145\162\166\151\143\145\163\040\122\157\157\164\040 +\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164\150 +\157\162\151\164\171\040\055\040\107\062\060\036\027\015\060\071 +\060\071\060\061\060\060\060\060\060\060\132\027\015\063\067\061 +\062\063\061\062\063\065\071\065\071\132\060\201\230\061\013\060 +\011\006\003\125\004\006\023\002\125\123\061\020\060\016\006\003 +\125\004\010\023\007\101\162\151\172\157\156\141\061\023\060\021 +\006\003\125\004\007\023\012\123\143\157\164\164\163\144\141\154 +\145\061\045\060\043\006\003\125\004\012\023\034\123\164\141\162 +\146\151\145\154\144\040\124\145\143\150\156\157\154\157\147\151 +\145\163\054\040\111\156\143\056\061\073\060\071\006\003\125\004 +\003\023\062\123\164\141\162\146\151\145\154\144\040\123\145\162 +\166\151\143\145\163\040\122\157\157\164\040\103\145\162\164\151 +\146\151\143\141\164\145\040\101\165\164\150\157\162\151\164\171 +\040\055\040\107\062\060\202\001\042\060\015\006\011\052\206\110 +\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001 +\012\002\202\001\001\000\325\014\072\304\052\371\116\342\365\276 +\031\227\137\216\210\123\261\037\077\313\317\237\040\023\155\051 +\072\310\017\175\074\367\153\166\070\143\331\066\140\250\233\136 +\134\000\200\262\057\131\177\366\207\371\045\103\206\347\151\033 +\122\232\220\341\161\343\330\055\015\116\157\366\310\111\331\266 +\363\032\126\256\053\266\164\024\353\317\373\046\343\032\272\035 +\226\056\152\073\130\224\211\107\126\377\045\240\223\160\123\203 +\332\204\164\024\303\147\236\004\150\072\337\216\100\132\035\112 +\116\317\103\221\073\347\126\326\000\160\313\122\356\173\175\256 +\072\347\274\061\371\105\366\302\140\317\023\131\002\053\200\314 +\064\107\337\271\336\220\145\155\002\317\054\221\246\246\347\336 +\205\030\111\174\146\116\243\072\155\251\265\356\064\056\272\015 +\003\270\063\337\107\353\261\153\215\045\331\233\316\201\321\105 +\106\062\226\160\207\336\002\016\111\103\205\266\154\163\273\144 +\352\141\101\254\311\324\124\337\207\057\307\042\262\046\314\237 +\131\124\150\237\374\276\052\057\304\125\034\165\100\140\027\205 +\002\125\071\213\177\005\002\003\001\000\001\243\102\060\100\060 +\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377 +\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006 +\060\035\006\003\125\035\016\004\026\004\024\234\137\000\337\252 +\001\327\060\053\070\210\242\270\155\112\234\362\021\221\203\060 +\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202 +\001\001\000\113\066\246\204\167\151\335\073\031\237\147\043\010 +\157\016\141\311\375\204\334\137\330\066\201\315\330\033\101\055 +\237\140\335\307\032\150\331\321\156\206\341\210\043\317\023\336 +\103\317\342\064\263\004\235\037\051\325\277\370\136\310\325\301 +\275\356\222\157\062\164\362\221\202\057\275\202\102\172\255\052 +\267\040\175\115\274\172\125\022\302\025\352\275\367\152\225\056 +\154\164\237\317\034\264\362\305\001\243\205\320\162\076\255\163 +\253\013\233\165\014\155\105\267\216\224\254\226\067\265\240\320 +\217\025\107\016\343\350\203\335\217\375\357\101\001\167\314\047 +\251\142\205\063\362\067\010\357\161\317\167\006\336\310\031\035 +\210\100\317\175\106\035\377\036\307\341\316\377\043\333\306\372 +\215\125\116\251\002\347\107\021\106\076\364\375\275\173\051\046 +\273\251\141\142\067\050\266\055\052\366\020\206\144\311\160\247 +\322\255\267\051\160\171\352\074\332\143\045\237\375\150\267\060 +\354\160\373\165\212\267\155\140\147\262\036\310\271\351\330\250 +\157\002\213\147\015\115\046\127\161\332\040\374\301\112\120\215 +\261\050\272 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "Starfield Services Root Certificate Authority - G2" +# Issuer: CN=Starfield Services Root Certificate Authority - G2,O="Starfield Technologies, Inc.",L=Scottsdale,ST=Arizona,C=US +# Serial Number: 0 (0x0) +# Subject: CN=Starfield Services Root Certificate Authority - G2,O="Starfield Technologies, Inc.",L=Scottsdale,ST=Arizona,C=US +# Not Valid Before: Tue Sep 01 00:00:00 2009 +# Not Valid After : Thu Dec 31 23:59:59 2037 +# Fingerprint (MD5): 17:35:74:AF:7B:61:1C:EB:F4:F9:3C:E2:EE:40:F9:A2 +# Fingerprint (SHA1): 92:5A:8F:8D:2C:6D:04:E0:66:5F:59:6A:FF:22:D8:63:E8:25:6F:3F +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Starfield Services Root Certificate Authority - G2" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\222\132\217\215\054\155\004\340\146\137\131\152\377\042\330\143 +\350\045\157\077 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\027\065\164\257\173\141\034\353\364\371\074\342\356\100\371\242 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\230\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\020\060\016\006\003\125\004\010\023\007\101\162\151\172\157 +\156\141\061\023\060\021\006\003\125\004\007\023\012\123\143\157 +\164\164\163\144\141\154\145\061\045\060\043\006\003\125\004\012 +\023\034\123\164\141\162\146\151\145\154\144\040\124\145\143\150 +\156\157\154\157\147\151\145\163\054\040\111\156\143\056\061\073 +\060\071\006\003\125\004\003\023\062\123\164\141\162\146\151\145 +\154\144\040\123\145\162\166\151\143\145\163\040\122\157\157\164 +\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164 +\150\157\162\151\164\171\040\055\040\107\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\000 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "AffirmTrust Commercial" +# +# Issuer: CN=AffirmTrust Commercial,O=AffirmTrust,C=US +# Serial Number:77:77:06:27:26:a9:b1:7c +# Subject: CN=AffirmTrust Commercial,O=AffirmTrust,C=US +# Not Valid Before: Fri Jan 29 14:06:06 2010 +# Not Valid After : Tue Dec 31 14:06:06 2030 +# Fingerprint (MD5): 82:92:BA:5B:EF:CD:8A:6F:A6:3D:55:F9:84:F6:D6:B7 +# Fingerprint (SHA1): F9:B5:B6:32:45:5F:9C:BE:EC:57:5F:80:DC:E9:6E:2C:C7:B2:78:B7 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "AffirmTrust Commercial" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\104\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155 +\124\162\165\163\164\061\037\060\035\006\003\125\004\003\014\026 +\101\146\146\151\162\155\124\162\165\163\164\040\103\157\155\155 +\145\162\143\151\141\154 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\104\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155 +\124\162\165\163\164\061\037\060\035\006\003\125\004\003\014\026 +\101\146\146\151\162\155\124\162\165\163\164\040\103\157\155\155 +\145\162\143\151\141\154 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\167\167\006\047\046\251\261\174 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\114\060\202\002\064\240\003\002\001\002\002\010\167 +\167\006\047\046\251\261\174\060\015\006\011\052\206\110\206\367 +\015\001\001\013\005\000\060\104\061\013\060\011\006\003\125\004 +\006\023\002\125\123\061\024\060\022\006\003\125\004\012\014\013 +\101\146\146\151\162\155\124\162\165\163\164\061\037\060\035\006 +\003\125\004\003\014\026\101\146\146\151\162\155\124\162\165\163 +\164\040\103\157\155\155\145\162\143\151\141\154\060\036\027\015 +\061\060\060\061\062\071\061\064\060\066\060\066\132\027\015\063 +\060\061\062\063\061\061\064\060\066\060\066\132\060\104\061\013 +\060\011\006\003\125\004\006\023\002\125\123\061\024\060\022\006 +\003\125\004\012\014\013\101\146\146\151\162\155\124\162\165\163 +\164\061\037\060\035\006\003\125\004\003\014\026\101\146\146\151 +\162\155\124\162\165\163\164\040\103\157\155\155\145\162\143\151 +\141\154\060\202\001\042\060\015\006\011\052\206\110\206\367\015 +\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202 +\001\001\000\366\033\117\147\007\053\241\025\365\006\042\313\037 +\001\262\343\163\105\006\104\111\054\273\111\045\024\326\316\303 +\267\253\054\117\306\101\062\224\127\372\022\247\133\016\342\217 +\037\036\206\031\247\252\265\055\271\137\015\212\302\257\205\065 +\171\062\055\273\034\142\067\362\261\133\112\075\312\315\161\137 +\351\102\276\224\350\310\336\371\042\110\144\306\345\253\306\053 +\155\255\005\360\372\325\013\317\232\345\360\120\244\213\073\107 +\245\043\133\172\172\370\063\077\270\357\231\227\343\040\301\326 +\050\211\317\224\373\271\105\355\343\100\027\021\324\164\360\013 +\061\342\053\046\152\233\114\127\256\254\040\076\272\105\172\005 +\363\275\233\151\025\256\175\116\040\143\304\065\166\072\007\002 +\311\067\375\307\107\356\350\361\166\035\163\025\362\227\244\265 +\310\172\171\331\102\252\053\177\134\376\316\046\117\243\146\201 +\065\257\104\272\124\036\034\060\062\145\235\346\074\223\136\120 +\116\172\343\072\324\156\314\032\373\371\322\067\256\044\052\253 +\127\003\042\050\015\111\165\177\267\050\332\165\277\216\343\334 +\016\171\061\002\003\001\000\001\243\102\060\100\060\035\006\003 +\125\035\016\004\026\004\024\235\223\306\123\213\136\312\257\077 +\237\036\017\345\231\225\274\044\366\224\217\060\017\006\003\125 +\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003 +\125\035\017\001\001\377\004\004\003\002\001\006\060\015\006\011 +\052\206\110\206\367\015\001\001\013\005\000\003\202\001\001\000 +\130\254\364\004\016\315\300\015\377\012\375\324\272\026\137\051 +\275\173\150\231\130\111\322\264\035\067\115\177\047\175\106\006 +\135\103\306\206\056\076\163\262\046\175\117\223\251\266\304\052 +\232\253\041\227\024\261\336\214\323\253\211\025\330\153\044\324 +\361\026\256\330\244\134\324\177\121\216\355\030\001\261\223\143 +\275\274\370\141\200\232\236\261\316\102\160\342\251\175\006\045 +\175\047\241\376\157\354\263\036\044\332\343\113\125\032\000\073 +\065\264\073\331\327\135\060\375\201\023\211\362\302\006\053\355 +\147\304\216\311\103\262\134\153\025\211\002\274\142\374\116\362 +\265\063\252\262\157\323\012\242\120\343\366\073\350\056\104\302 +\333\146\070\251\063\126\110\361\155\033\063\215\015\214\077\140 +\067\235\323\312\155\176\064\176\015\237\162\166\213\033\237\162 +\375\122\065\101\105\002\226\057\034\262\232\163\111\041\261\111 +\107\105\107\264\357\152\064\021\311\115\232\314\131\267\326\002 +\236\132\116\145\265\224\256\033\337\051\260\026\361\277\000\236 +\007\072\027\144\265\004\265\043\041\231\012\225\073\227\174\357 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "AffirmTrust Commercial" +# Issuer: CN=AffirmTrust Commercial,O=AffirmTrust,C=US +# Serial Number:77:77:06:27:26:a9:b1:7c +# Subject: CN=AffirmTrust Commercial,O=AffirmTrust,C=US +# Not Valid Before: Fri Jan 29 14:06:06 2010 +# Not Valid After : Tue Dec 31 14:06:06 2030 +# Fingerprint (MD5): 82:92:BA:5B:EF:CD:8A:6F:A6:3D:55:F9:84:F6:D6:B7 +# Fingerprint (SHA1): F9:B5:B6:32:45:5F:9C:BE:EC:57:5F:80:DC:E9:6E:2C:C7:B2:78:B7 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "AffirmTrust Commercial" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\371\265\266\062\105\137\234\276\354\127\137\200\334\351\156\054 +\307\262\170\267 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\202\222\272\133\357\315\212\157\246\075\125\371\204\366\326\267 +END +CKA_ISSUER MULTILINE_OCTAL +\060\104\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155 +\124\162\165\163\164\061\037\060\035\006\003\125\004\003\014\026 +\101\146\146\151\162\155\124\162\165\163\164\040\103\157\155\155 +\145\162\143\151\141\154 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\167\167\006\047\046\251\261\174 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "AffirmTrust Networking" +# +# Issuer: CN=AffirmTrust Networking,O=AffirmTrust,C=US +# Serial Number:7c:4f:04:39:1c:d4:99:2d +# Subject: CN=AffirmTrust Networking,O=AffirmTrust,C=US +# Not Valid Before: Fri Jan 29 14:08:24 2010 +# Not Valid After : Tue Dec 31 14:08:24 2030 +# Fingerprint (MD5): 42:65:CA:BE:01:9A:9A:4C:A9:8C:41:49:CD:C0:D5:7F +# Fingerprint (SHA1): 29:36:21:02:8B:20:ED:02:F5:66:C5:32:D1:D6:ED:90:9F:45:00:2F +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "AffirmTrust Networking" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\104\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155 +\124\162\165\163\164\061\037\060\035\006\003\125\004\003\014\026 +\101\146\146\151\162\155\124\162\165\163\164\040\116\145\164\167 +\157\162\153\151\156\147 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\104\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155 +\124\162\165\163\164\061\037\060\035\006\003\125\004\003\014\026 +\101\146\146\151\162\155\124\162\165\163\164\040\116\145\164\167 +\157\162\153\151\156\147 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\174\117\004\071\034\324\231\055 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\114\060\202\002\064\240\003\002\001\002\002\010\174 +\117\004\071\034\324\231\055\060\015\006\011\052\206\110\206\367 +\015\001\001\005\005\000\060\104\061\013\060\011\006\003\125\004 +\006\023\002\125\123\061\024\060\022\006\003\125\004\012\014\013 +\101\146\146\151\162\155\124\162\165\163\164\061\037\060\035\006 +\003\125\004\003\014\026\101\146\146\151\162\155\124\162\165\163 +\164\040\116\145\164\167\157\162\153\151\156\147\060\036\027\015 +\061\060\060\061\062\071\061\064\060\070\062\064\132\027\015\063 +\060\061\062\063\061\061\064\060\070\062\064\132\060\104\061\013 +\060\011\006\003\125\004\006\023\002\125\123\061\024\060\022\006 +\003\125\004\012\014\013\101\146\146\151\162\155\124\162\165\163 +\164\061\037\060\035\006\003\125\004\003\014\026\101\146\146\151 +\162\155\124\162\165\163\164\040\116\145\164\167\157\162\153\151 +\156\147\060\202\001\042\060\015\006\011\052\206\110\206\367\015 +\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202 +\001\001\000\264\204\314\063\027\056\153\224\154\153\141\122\240 +\353\243\317\171\224\114\345\224\200\231\313\125\144\104\145\217 +\147\144\342\006\343\134\067\111\366\057\233\204\204\036\055\362 +\140\235\060\116\314\204\205\342\054\317\036\236\376\066\253\063 +\167\065\104\330\065\226\032\075\066\350\172\016\330\325\107\241 +\152\151\213\331\374\273\072\256\171\132\325\364\326\161\273\232 +\220\043\153\232\267\210\164\207\014\036\137\271\236\055\372\253 +\123\053\334\273\166\076\223\114\010\010\214\036\242\043\034\324 +\152\255\042\272\231\001\056\155\145\313\276\044\146\125\044\113 +\100\104\261\033\327\341\302\205\300\336\020\077\075\355\270\374 +\361\361\043\123\334\277\145\227\157\331\371\100\161\215\175\275 +\225\324\316\276\240\136\047\043\336\375\246\320\046\016\000\051 +\353\074\106\360\075\140\277\077\120\322\334\046\101\121\236\024 +\067\102\004\243\160\127\250\033\207\355\055\372\173\356\214\012 +\343\251\146\211\031\313\101\371\335\104\066\141\317\342\167\106 +\310\175\366\364\222\201\066\375\333\064\361\162\176\363\014\026 +\275\264\025\002\003\001\000\001\243\102\060\100\060\035\006\003 +\125\035\016\004\026\004\024\007\037\322\347\234\332\302\156\242 +\100\264\260\172\120\020\120\164\304\310\275\060\017\006\003\125 +\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003 +\125\035\017\001\001\377\004\004\003\002\001\006\060\015\006\011 +\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000 +\211\127\262\026\172\250\302\375\326\331\233\233\064\302\234\264 +\062\024\115\247\244\337\354\276\247\276\370\103\333\221\067\316 +\264\062\056\120\125\032\065\116\166\103\161\040\357\223\167\116 +\025\160\056\207\303\301\035\155\334\313\265\047\324\054\126\321 +\122\123\072\104\322\163\310\304\033\005\145\132\142\222\234\356 +\101\215\061\333\347\064\352\131\041\325\001\172\327\144\270\144 +\071\315\311\355\257\355\113\003\110\247\240\231\001\200\334\145 +\243\066\256\145\131\110\117\202\113\310\145\361\127\035\345\131 +\056\012\077\154\330\321\365\345\011\264\154\124\000\012\340\025 +\115\207\165\155\267\130\226\132\335\155\322\000\240\364\233\110 +\276\303\067\244\272\066\340\174\207\205\227\032\025\242\336\056 +\242\133\275\257\030\371\220\120\315\160\131\370\047\147\107\313 +\307\240\007\072\175\321\054\135\154\031\072\146\265\175\375\221 +\157\202\261\276\010\223\333\024\107\361\242\067\307\105\236\074 +\307\167\257\144\250\223\337\366\151\203\202\140\362\111\102\064 +\355\132\000\124\205\034\026\066\222\014\134\372\246\255\277\333 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "AffirmTrust Networking" +# Issuer: CN=AffirmTrust Networking,O=AffirmTrust,C=US +# Serial Number:7c:4f:04:39:1c:d4:99:2d +# Subject: CN=AffirmTrust Networking,O=AffirmTrust,C=US +# Not Valid Before: Fri Jan 29 14:08:24 2010 +# Not Valid After : Tue Dec 31 14:08:24 2030 +# Fingerprint (MD5): 42:65:CA:BE:01:9A:9A:4C:A9:8C:41:49:CD:C0:D5:7F +# Fingerprint (SHA1): 29:36:21:02:8B:20:ED:02:F5:66:C5:32:D1:D6:ED:90:9F:45:00:2F +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "AffirmTrust Networking" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\051\066\041\002\213\040\355\002\365\146\305\062\321\326\355\220 +\237\105\000\057 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\102\145\312\276\001\232\232\114\251\214\101\111\315\300\325\177 +END +CKA_ISSUER MULTILINE_OCTAL +\060\104\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155 +\124\162\165\163\164\061\037\060\035\006\003\125\004\003\014\026 +\101\146\146\151\162\155\124\162\165\163\164\040\116\145\164\167 +\157\162\153\151\156\147 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\174\117\004\071\034\324\231\055 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "AffirmTrust Premium" +# +# Issuer: CN=AffirmTrust Premium,O=AffirmTrust,C=US +# Serial Number:6d:8c:14:46:b1:a6:0a:ee +# Subject: CN=AffirmTrust Premium,O=AffirmTrust,C=US +# Not Valid Before: Fri Jan 29 14:10:36 2010 +# Not Valid After : Mon Dec 31 14:10:36 2040 +# Fingerprint (MD5): C4:5D:0E:48:B6:AC:28:30:4E:0A:BC:F9:38:16:87:57 +# Fingerprint (SHA1): D8:A6:33:2C:E0:03:6F:B1:85:F6:63:4F:7D:6A:06:65:26:32:28:27 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "AffirmTrust Premium" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\101\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155 +\124\162\165\163\164\061\034\060\032\006\003\125\004\003\014\023 +\101\146\146\151\162\155\124\162\165\163\164\040\120\162\145\155 +\151\165\155 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\101\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155 +\124\162\165\163\164\061\034\060\032\006\003\125\004\003\014\023 +\101\146\146\151\162\155\124\162\165\163\164\040\120\162\145\155 +\151\165\155 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\155\214\024\106\261\246\012\356 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\106\060\202\003\056\240\003\002\001\002\002\010\155 +\214\024\106\261\246\012\356\060\015\006\011\052\206\110\206\367 +\015\001\001\014\005\000\060\101\061\013\060\011\006\003\125\004 +\006\023\002\125\123\061\024\060\022\006\003\125\004\012\014\013 +\101\146\146\151\162\155\124\162\165\163\164\061\034\060\032\006 +\003\125\004\003\014\023\101\146\146\151\162\155\124\162\165\163 +\164\040\120\162\145\155\151\165\155\060\036\027\015\061\060\060 +\061\062\071\061\064\061\060\063\066\132\027\015\064\060\061\062 +\063\061\061\064\061\060\063\066\132\060\101\061\013\060\011\006 +\003\125\004\006\023\002\125\123\061\024\060\022\006\003\125\004 +\012\014\013\101\146\146\151\162\155\124\162\165\163\164\061\034 +\060\032\006\003\125\004\003\014\023\101\146\146\151\162\155\124 +\162\165\163\164\040\120\162\145\155\151\165\155\060\202\002\042 +\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003 +\202\002\017\000\060\202\002\012\002\202\002\001\000\304\022\337 +\251\137\376\101\335\335\365\237\212\343\366\254\341\074\170\232 +\274\330\360\177\172\240\063\052\334\215\040\133\256\055\157\347 +\223\331\066\160\152\150\317\216\121\243\205\133\147\004\240\020 +\044\157\135\050\202\301\227\127\330\110\051\023\266\341\276\221 +\115\337\205\014\123\030\232\036\044\242\117\217\360\242\205\013 +\313\364\051\177\322\244\130\356\046\115\311\252\250\173\232\331 +\372\070\336\104\127\025\345\370\214\310\331\110\342\015\026\047 +\035\036\310\203\205\045\267\272\252\125\101\314\003\042\113\055 +\221\215\213\346\211\257\146\307\351\377\053\351\074\254\332\322 +\263\303\341\150\234\211\370\172\000\126\336\364\125\225\154\373 +\272\144\335\142\213\337\013\167\062\353\142\314\046\232\233\273 +\252\142\203\114\264\006\172\060\310\051\277\355\006\115\227\271 +\034\304\061\053\325\137\274\123\022\027\234\231\127\051\146\167 +\141\041\061\007\056\045\111\235\030\362\356\363\053\161\214\265 +\272\071\007\111\167\374\357\056\222\220\005\215\055\057\167\173 +\357\103\277\065\273\232\330\371\163\247\054\362\320\127\356\050 +\116\046\137\217\220\150\011\057\270\370\334\006\351\056\232\076 +\121\247\321\042\304\012\247\070\110\154\263\371\377\175\253\206 +\127\343\272\326\205\170\167\272\103\352\110\177\366\330\276\043 +\155\036\277\321\066\154\130\134\361\356\244\031\124\032\365\003 +\322\166\346\341\214\275\074\263\323\110\113\342\310\370\177\222 +\250\166\106\234\102\145\076\244\036\301\007\003\132\106\055\270 +\227\363\267\325\262\125\041\357\272\334\114\000\227\373\024\225 +\047\063\277\350\103\107\106\322\010\231\026\140\073\232\176\322 +\346\355\070\352\354\001\036\074\110\126\111\011\307\114\067\000 +\236\210\016\300\163\341\157\146\351\162\107\060\076\020\345\013 +\003\311\232\102\000\154\305\224\176\141\304\212\337\177\202\032 +\013\131\304\131\062\167\263\274\140\151\126\071\375\264\006\173 +\054\326\144\066\331\275\110\355\204\037\176\245\042\217\052\270 +\102\364\202\267\324\123\220\170\116\055\032\375\201\157\104\327 +\073\001\164\226\102\340\000\342\056\153\352\305\356\162\254\273 +\277\376\352\252\250\370\334\366\262\171\212\266\147\002\003\001 +\000\001\243\102\060\100\060\035\006\003\125\035\016\004\026\004 +\024\235\300\147\246\014\042\331\046\365\105\253\246\145\122\021 +\047\330\105\254\143\060\017\006\003\125\035\023\001\001\377\004 +\005\060\003\001\001\377\060\016\006\003\125\035\017\001\001\377 +\004\004\003\002\001\006\060\015\006\011\052\206\110\206\367\015 +\001\001\014\005\000\003\202\002\001\000\263\127\115\020\142\116 +\072\344\254\352\270\034\257\062\043\310\263\111\132\121\234\166 +\050\215\171\252\127\106\027\325\365\122\366\267\104\350\010\104 +\277\030\204\322\013\200\315\305\022\375\000\125\005\141\207\101 +\334\265\044\236\074\304\330\310\373\160\236\057\170\226\203\040 +\066\336\174\017\151\023\210\245\165\066\230\010\246\306\337\254 +\316\343\130\326\267\076\336\272\363\353\064\100\330\242\201\365 +\170\077\057\325\245\374\331\242\324\136\004\016\027\255\376\101 +\360\345\262\162\372\104\202\063\102\350\055\130\367\126\214\142 +\077\272\102\260\234\014\134\176\056\145\046\134\123\117\000\262 +\170\176\241\015\231\055\215\270\035\216\242\304\260\375\140\320 +\060\244\216\310\004\142\251\304\355\065\336\172\227\355\016\070 +\136\222\057\223\160\245\251\234\157\247\175\023\035\176\306\010 +\110\261\136\147\353\121\010\045\351\346\045\153\122\051\221\234 +\322\071\163\010\127\336\231\006\264\133\235\020\006\341\302\000 +\250\270\034\112\002\012\024\320\301\101\312\373\214\065\041\175 +\202\070\362\251\124\221\031\065\223\224\155\152\072\305\262\320 +\273\211\206\223\350\233\311\017\072\247\172\270\241\360\170\106 +\372\374\067\057\345\212\204\363\337\376\004\331\241\150\240\057 +\044\342\011\225\006\325\225\312\341\044\226\353\174\366\223\005 +\273\355\163\351\055\321\165\071\327\347\044\333\330\116\137\103 +\217\236\320\024\071\277\125\160\110\231\127\061\264\234\356\112 +\230\003\226\060\037\140\006\356\033\043\376\201\140\043\032\107 +\142\205\245\314\031\064\200\157\263\254\032\343\237\360\173\110 +\255\325\001\331\147\266\251\162\223\352\055\146\265\262\270\344 +\075\074\262\357\114\214\352\353\007\277\253\065\232\125\206\274 +\030\246\265\250\136\264\203\154\153\151\100\323\237\334\361\303 +\151\153\271\341\155\011\364\361\252\120\166\012\172\175\172\027 +\241\125\226\102\231\061\011\335\140\021\215\005\060\176\346\216 +\106\321\235\024\332\307\027\344\005\226\214\304\044\265\033\317 +\024\007\262\100\370\243\236\101\206\274\004\320\153\226\310\052 +\200\064\375\277\357\006\243\335\130\305\205\075\076\217\376\236 +\051\340\266\270\011\150\031\034\030\103 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "AffirmTrust Premium" +# Issuer: CN=AffirmTrust Premium,O=AffirmTrust,C=US +# Serial Number:6d:8c:14:46:b1:a6:0a:ee +# Subject: CN=AffirmTrust Premium,O=AffirmTrust,C=US +# Not Valid Before: Fri Jan 29 14:10:36 2010 +# Not Valid After : Mon Dec 31 14:10:36 2040 +# Fingerprint (MD5): C4:5D:0E:48:B6:AC:28:30:4E:0A:BC:F9:38:16:87:57 +# Fingerprint (SHA1): D8:A6:33:2C:E0:03:6F:B1:85:F6:63:4F:7D:6A:06:65:26:32:28:27 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "AffirmTrust Premium" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\330\246\063\054\340\003\157\261\205\366\143\117\175\152\006\145 +\046\062\050\047 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\304\135\016\110\266\254\050\060\116\012\274\371\070\026\207\127 +END +CKA_ISSUER MULTILINE_OCTAL +\060\101\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155 +\124\162\165\163\164\061\034\060\032\006\003\125\004\003\014\023 +\101\146\146\151\162\155\124\162\165\163\164\040\120\162\145\155 +\151\165\155 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\155\214\024\106\261\246\012\356 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "AffirmTrust Premium ECC" +# +# Issuer: CN=AffirmTrust Premium ECC,O=AffirmTrust,C=US +# Serial Number:74:97:25:8a:c7:3f:7a:54 +# Subject: CN=AffirmTrust Premium ECC,O=AffirmTrust,C=US +# Not Valid Before: Fri Jan 29 14:20:24 2010 +# Not Valid After : Mon Dec 31 14:20:24 2040 +# Fingerprint (MD5): 64:B0:09:55:CF:B1:D5:99:E2:BE:13:AB:A6:5D:EA:4D +# Fingerprint (SHA1): B8:23:6B:00:2F:1D:16:86:53:01:55:6C:11:A4:37:CA:EB:FF:C3:BB +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "AffirmTrust Premium ECC" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\105\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155 +\124\162\165\163\164\061\040\060\036\006\003\125\004\003\014\027 +\101\146\146\151\162\155\124\162\165\163\164\040\120\162\145\155 +\151\165\155\040\105\103\103 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\105\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155 +\124\162\165\163\164\061\040\060\036\006\003\125\004\003\014\027 +\101\146\146\151\162\155\124\162\165\163\164\040\120\162\145\155 +\151\165\155\040\105\103\103 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\164\227\045\212\307\077\172\124 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\001\376\060\202\001\205\240\003\002\001\002\002\010\164 +\227\045\212\307\077\172\124\060\012\006\010\052\206\110\316\075 +\004\003\003\060\105\061\013\060\011\006\003\125\004\006\023\002 +\125\123\061\024\060\022\006\003\125\004\012\014\013\101\146\146 +\151\162\155\124\162\165\163\164\061\040\060\036\006\003\125\004 +\003\014\027\101\146\146\151\162\155\124\162\165\163\164\040\120 +\162\145\155\151\165\155\040\105\103\103\060\036\027\015\061\060 +\060\061\062\071\061\064\062\060\062\064\132\027\015\064\060\061 +\062\063\061\061\064\062\060\062\064\132\060\105\061\013\060\011 +\006\003\125\004\006\023\002\125\123\061\024\060\022\006\003\125 +\004\012\014\013\101\146\146\151\162\155\124\162\165\163\164\061 +\040\060\036\006\003\125\004\003\014\027\101\146\146\151\162\155 +\124\162\165\163\164\040\120\162\145\155\151\165\155\040\105\103 +\103\060\166\060\020\006\007\052\206\110\316\075\002\001\006\005 +\053\201\004\000\042\003\142\000\004\015\060\136\033\025\235\003 +\320\241\171\065\267\072\074\222\172\312\025\034\315\142\363\234 +\046\134\007\075\345\124\372\243\326\314\022\352\364\024\137\350 +\216\031\253\057\056\110\346\254\030\103\170\254\320\067\303\275 +\262\315\054\346\107\342\032\346\143\270\075\056\057\170\304\117 +\333\364\017\244\150\114\125\162\153\225\035\116\030\102\225\170 +\314\067\074\221\342\233\145\053\051\243\102\060\100\060\035\006 +\003\125\035\016\004\026\004\024\232\257\051\172\300\021\065\065 +\046\121\060\000\303\152\376\100\325\256\326\074\060\017\006\003 +\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006 +\003\125\035\017\001\001\377\004\004\003\002\001\006\060\012\006 +\010\052\206\110\316\075\004\003\003\003\147\000\060\144\002\060 +\027\011\363\207\210\120\132\257\310\300\102\277\107\137\365\154 +\152\206\340\304\047\164\344\070\123\327\005\177\033\064\343\306 +\057\263\312\011\074\067\235\327\347\270\106\361\375\241\342\161 +\002\060\102\131\207\103\324\121\337\272\323\011\062\132\316\210 +\176\127\075\234\137\102\153\365\007\055\265\360\202\223\371\131 +\157\256\144\372\130\345\213\036\343\143\276\265\201\315\157\002 +\214\171 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "AffirmTrust Premium ECC" +# Issuer: CN=AffirmTrust Premium ECC,O=AffirmTrust,C=US +# Serial Number:74:97:25:8a:c7:3f:7a:54 +# Subject: CN=AffirmTrust Premium ECC,O=AffirmTrust,C=US +# Not Valid Before: Fri Jan 29 14:20:24 2010 +# Not Valid After : Mon Dec 31 14:20:24 2040 +# Fingerprint (MD5): 64:B0:09:55:CF:B1:D5:99:E2:BE:13:AB:A6:5D:EA:4D +# Fingerprint (SHA1): B8:23:6B:00:2F:1D:16:86:53:01:55:6C:11:A4:37:CA:EB:FF:C3:BB +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "AffirmTrust Premium ECC" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\270\043\153\000\057\035\026\206\123\001\125\154\021\244\067\312 +\353\377\303\273 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\144\260\011\125\317\261\325\231\342\276\023\253\246\135\352\115 +END +CKA_ISSUER MULTILINE_OCTAL +\060\105\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\024\060\022\006\003\125\004\012\014\013\101\146\146\151\162\155 +\124\162\165\163\164\061\040\060\036\006\003\125\004\003\014\027 +\101\146\146\151\162\155\124\162\165\163\164\040\120\162\145\155 +\151\165\155\040\105\103\103 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\164\227\045\212\307\077\172\124 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Certum Trusted Network CA" +# +# Issuer: CN=Certum Trusted Network CA,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL +# Serial Number: 279744 (0x444c0) +# Subject: CN=Certum Trusted Network CA,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL +# Not Valid Before: Wed Oct 22 12:07:37 2008 +# Not Valid After : Mon Dec 31 12:07:37 2029 +# Fingerprint (MD5): D5:E9:81:40:C5:18:69:FC:46:2C:89:75:62:0F:AA:78 +# Fingerprint (SHA1): 07:E0:32:E0:20:B7:2C:3F:19:2F:06:28:A2:59:3A:19:A7:0F:06:9E +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Certum Trusted Network CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\176\061\013\060\011\006\003\125\004\006\023\002\120\114\061 +\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145\164 +\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040\123 +\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103\145 +\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164\151 +\157\156\040\101\165\164\150\157\162\151\164\171\061\042\060\040 +\006\003\125\004\003\023\031\103\145\162\164\165\155\040\124\162 +\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103\101 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\176\061\013\060\011\006\003\125\004\006\023\002\120\114\061 +\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145\164 +\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040\123 +\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103\145 +\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164\151 +\157\156\040\101\165\164\150\157\162\151\164\171\061\042\060\040 +\006\003\125\004\003\023\031\103\145\162\164\165\155\040\124\162 +\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\003\004\104\300 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\273\060\202\002\243\240\003\002\001\002\002\003\004 +\104\300\060\015\006\011\052\206\110\206\367\015\001\001\005\005 +\000\060\176\061\013\060\011\006\003\125\004\006\023\002\120\114 +\061\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145 +\164\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040 +\123\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103 +\145\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164 +\151\157\156\040\101\165\164\150\157\162\151\164\171\061\042\060 +\040\006\003\125\004\003\023\031\103\145\162\164\165\155\040\124 +\162\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103 +\101\060\036\027\015\060\070\061\060\062\062\061\062\060\067\063 +\067\132\027\015\062\071\061\062\063\061\061\062\060\067\063\067 +\132\060\176\061\013\060\011\006\003\125\004\006\023\002\120\114 +\061\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145 +\164\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040 +\123\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103 +\145\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164 +\151\157\156\040\101\165\164\150\157\162\151\164\171\061\042\060 +\040\006\003\125\004\003\023\031\103\145\162\164\165\155\040\124 +\162\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103 +\101\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001 +\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001 +\001\000\343\373\175\243\162\272\302\360\311\024\207\365\153\001 +\116\341\156\100\007\272\155\047\135\177\367\133\055\263\132\307 +\121\137\253\244\062\246\141\207\266\156\017\206\322\060\002\227 +\370\327\151\127\241\030\071\135\152\144\171\306\001\131\254\074 +\061\112\070\174\322\004\322\113\050\350\040\137\073\007\242\314 +\115\163\333\363\256\117\307\126\325\132\247\226\211\372\363\253 +\150\324\043\206\131\047\317\011\047\274\254\156\162\203\034\060 +\162\337\340\242\351\322\341\164\165\031\275\052\236\173\025\124 +\004\033\327\103\071\255\125\050\305\342\032\273\364\300\344\256 +\070\111\063\314\166\205\237\071\105\322\244\236\362\022\214\121 +\370\174\344\055\177\365\254\137\353\026\237\261\055\321\272\314 +\221\102\167\114\045\311\220\070\157\333\360\314\373\216\036\227 +\131\076\325\140\116\346\005\050\355\111\171\023\113\272\110\333 +\057\371\162\323\071\312\376\037\330\064\162\365\264\100\317\061 +\001\303\354\336\021\055\027\135\037\270\120\321\136\031\247\151 +\336\007\063\050\312\120\225\371\247\124\313\124\206\120\105\251 +\371\111\002\003\001\000\001\243\102\060\100\060\017\006\003\125 +\035\023\001\001\377\004\005\060\003\001\001\377\060\035\006\003 +\125\035\016\004\026\004\024\010\166\315\313\007\377\044\366\305 +\315\355\273\220\274\342\204\067\106\165\367\060\016\006\003\125 +\035\017\001\001\377\004\004\003\002\001\006\060\015\006\011\052 +\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000\246 +\250\255\042\316\001\075\246\243\377\142\320\110\235\213\136\162 +\260\170\104\343\334\034\257\011\375\043\110\372\275\052\304\271 +\125\004\265\020\243\215\047\336\013\202\143\320\356\336\014\067 +\171\101\133\042\262\260\232\101\134\246\160\340\324\320\167\313 +\043\323\000\340\154\126\057\341\151\015\015\331\252\277\041\201 +\120\331\006\245\250\377\225\067\320\252\376\342\263\365\231\055 +\105\204\212\345\102\011\327\164\002\057\367\211\330\231\351\274 +\047\324\107\215\272\015\106\034\167\317\024\244\034\271\244\061 +\304\234\050\164\003\064\377\063\031\046\245\351\015\164\267\076 +\227\306\166\350\047\226\243\146\335\341\256\362\101\133\312\230 +\126\203\163\160\344\206\032\322\061\101\272\057\276\055\023\132 +\166\157\116\350\116\201\016\077\133\003\042\240\022\276\146\130 +\021\112\313\003\304\264\052\052\055\226\027\340\071\124\274\110 +\323\166\047\235\232\055\006\246\311\354\071\322\253\333\237\232 +\013\047\002\065\051\261\100\225\347\371\350\234\125\210\031\106 +\326\267\064\365\176\316\071\232\331\070\361\121\367\117\054 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "Certum Trusted Network CA" +# Issuer: CN=Certum Trusted Network CA,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL +# Serial Number: 279744 (0x444c0) +# Subject: CN=Certum Trusted Network CA,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL +# Not Valid Before: Wed Oct 22 12:07:37 2008 +# Not Valid After : Mon Dec 31 12:07:37 2029 +# Fingerprint (MD5): D5:E9:81:40:C5:18:69:FC:46:2C:89:75:62:0F:AA:78 +# Fingerprint (SHA1): 07:E0:32:E0:20:B7:2C:3F:19:2F:06:28:A2:59:3A:19:A7:0F:06:9E +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Certum Trusted Network CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\007\340\062\340\040\267\054\077\031\057\006\050\242\131\072\031 +\247\017\006\236 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\325\351\201\100\305\030\151\374\106\054\211\165\142\017\252\170 +END +CKA_ISSUER MULTILINE_OCTAL +\060\176\061\013\060\011\006\003\125\004\006\023\002\120\114\061 +\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145\164 +\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040\123 +\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103\145 +\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164\151 +\157\156\040\101\165\164\150\157\162\151\164\171\061\042\060\040 +\006\003\125\004\003\023\031\103\145\162\164\165\155\040\124\162 +\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\003\004\104\300 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "TWCA Root Certification Authority" +# +# Issuer: CN=TWCA Root Certification Authority,OU=Root CA,O=TAIWAN-CA,C=TW +# Serial Number: 1 (0x1) +# Subject: CN=TWCA Root Certification Authority,OU=Root CA,O=TAIWAN-CA,C=TW +# Not Valid Before: Thu Aug 28 07:24:33 2008 +# Not Valid After : Tue Dec 31 15:59:59 2030 +# Fingerprint (MD5): AA:08:8F:F6:F9:7B:B7:F2:B1:A7:1E:9B:EA:EA:BD:79 +# Fingerprint (SHA1): CF:9E:87:6D:D3:EB:FC:42:26:97:A3:B5:A3:7A:A0:76:A9:06:23:48 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "TWCA Root Certification Authority" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\137\061\013\060\011\006\003\125\004\006\023\002\124\127\061 +\022\060\020\006\003\125\004\012\014\011\124\101\111\127\101\116 +\055\103\101\061\020\060\016\006\003\125\004\013\014\007\122\157 +\157\164\040\103\101\061\052\060\050\006\003\125\004\003\014\041 +\124\127\103\101\040\122\157\157\164\040\103\145\162\164\151\146 +\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 +\171 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\137\061\013\060\011\006\003\125\004\006\023\002\124\127\061 +\022\060\020\006\003\125\004\012\014\011\124\101\111\127\101\116 +\055\103\101\061\020\060\016\006\003\125\004\013\014\007\122\157 +\157\164\040\103\101\061\052\060\050\006\003\125\004\003\014\041 +\124\127\103\101\040\122\157\157\164\040\103\145\162\164\151\146 +\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 +\171 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\173\060\202\002\143\240\003\002\001\002\002\001\001 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\137\061\013\060\011\006\003\125\004\006\023\002\124\127\061\022 +\060\020\006\003\125\004\012\014\011\124\101\111\127\101\116\055 +\103\101\061\020\060\016\006\003\125\004\013\014\007\122\157\157 +\164\040\103\101\061\052\060\050\006\003\125\004\003\014\041\124 +\127\103\101\040\122\157\157\164\040\103\145\162\164\151\146\151 +\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 +\060\036\027\015\060\070\060\070\062\070\060\067\062\064\063\063 +\132\027\015\063\060\061\062\063\061\061\065\065\071\065\071\132 +\060\137\061\013\060\011\006\003\125\004\006\023\002\124\127\061 +\022\060\020\006\003\125\004\012\014\011\124\101\111\127\101\116 +\055\103\101\061\020\060\016\006\003\125\004\013\014\007\122\157 +\157\164\040\103\101\061\052\060\050\006\003\125\004\003\014\041 +\124\127\103\101\040\122\157\157\164\040\103\145\162\164\151\146 +\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 +\171\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001 +\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001 +\001\000\260\176\162\270\244\003\224\346\247\336\011\070\221\112 +\021\100\207\247\174\131\144\024\173\265\021\020\335\376\277\325 +\300\273\126\342\205\045\364\065\162\017\370\123\320\101\341\104 +\001\302\264\034\303\061\102\026\107\205\063\042\166\262\012\157 +\017\345\045\120\117\205\206\276\277\230\056\020\147\036\276\021 +\005\206\005\220\304\131\320\174\170\020\260\200\134\267\341\307 +\053\165\313\174\237\256\265\321\235\043\067\143\247\334\102\242 +\055\222\004\033\120\301\173\270\076\033\311\126\004\213\057\122 +\233\255\251\126\351\301\377\255\251\130\207\060\266\201\367\227 +\105\374\031\127\073\053\157\344\107\364\231\105\376\035\361\370 +\227\243\210\035\067\034\134\217\340\166\045\232\120\370\240\124 +\377\104\220\166\043\322\062\306\303\253\006\277\374\373\277\363 +\255\175\222\142\002\133\051\323\065\243\223\232\103\144\140\135 +\262\372\062\377\073\004\257\115\100\152\371\307\343\357\043\375 +\153\313\345\017\213\070\015\356\012\374\376\017\230\237\060\061 +\335\154\122\145\371\213\201\276\042\341\034\130\003\272\221\033 +\211\007\002\003\001\000\001\243\102\060\100\060\016\006\003\125 +\035\017\001\001\377\004\004\003\002\001\006\060\017\006\003\125 +\035\023\001\001\377\004\005\060\003\001\001\377\060\035\006\003 +\125\035\016\004\026\004\024\152\070\133\046\215\336\213\132\362 +\117\172\124\203\031\030\343\010\065\246\272\060\015\006\011\052 +\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000\074 +\325\167\075\332\337\211\272\207\014\010\124\152\040\120\222\276 +\260\101\075\271\046\144\203\012\057\350\100\300\227\050\047\202 +\060\112\311\223\377\152\347\246\000\177\211\102\232\326\021\345 +\123\316\057\314\362\332\005\304\376\342\120\304\072\206\175\314 +\332\176\020\011\073\222\065\052\123\262\376\353\053\005\331\154 +\135\346\320\357\323\152\146\236\025\050\205\172\350\202\000\254 +\036\247\011\151\126\102\323\150\121\030\276\124\232\277\104\101 +\272\111\276\040\272\151\134\356\270\167\315\316\154\037\255\203 +\226\030\175\016\265\024\071\204\361\050\351\055\243\236\173\036 +\172\162\132\203\263\171\157\357\264\374\320\012\245\130\117\106 +\337\373\155\171\131\362\204\042\122\256\017\314\373\174\073\347 +\152\312\107\141\303\172\370\323\222\004\037\270\040\204\341\066 +\124\026\307\100\336\073\212\163\334\337\306\011\114\337\354\332 +\377\324\123\102\241\311\362\142\035\042\203\074\227\305\371\031 +\142\047\254\145\042\327\323\074\306\345\216\262\123\314\111\316 +\274\060\376\173\016\063\220\373\355\322\024\221\037\007\257 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "TWCA Root Certification Authority" +# Issuer: CN=TWCA Root Certification Authority,OU=Root CA,O=TAIWAN-CA,C=TW +# Serial Number: 1 (0x1) +# Subject: CN=TWCA Root Certification Authority,OU=Root CA,O=TAIWAN-CA,C=TW +# Not Valid Before: Thu Aug 28 07:24:33 2008 +# Not Valid After : Tue Dec 31 15:59:59 2030 +# Fingerprint (MD5): AA:08:8F:F6:F9:7B:B7:F2:B1:A7:1E:9B:EA:EA:BD:79 +# Fingerprint (SHA1): CF:9E:87:6D:D3:EB:FC:42:26:97:A3:B5:A3:7A:A0:76:A9:06:23:48 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "TWCA Root Certification Authority" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\317\236\207\155\323\353\374\102\046\227\243\265\243\172\240\166 +\251\006\043\110 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\252\010\217\366\371\173\267\362\261\247\036\233\352\352\275\171 +END +CKA_ISSUER MULTILINE_OCTAL +\060\137\061\013\060\011\006\003\125\004\006\023\002\124\127\061 +\022\060\020\006\003\125\004\012\014\011\124\101\111\127\101\116 +\055\103\101\061\020\060\016\006\003\125\004\013\014\007\122\157 +\157\164\040\103\101\061\052\060\050\006\003\125\004\003\014\041 +\124\127\103\101\040\122\157\157\164\040\103\145\162\164\151\146 +\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 +\171 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Explicitly Distrust DigiNotar Root CA" +# +# Issuer: E=info@diginotar.nl,CN=DigiNotar Root CA,O=DigiNotar,C=NL +# Serial Number:0f:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff +# Subject: E=info@diginotar.nl,CN=DigiNotar Root CA,O=DigiNotar,C=NL +# Not Valid Before: Fri Jul 27 17:19:37 2007 +# Not Valid After : Mon Mar 31 18:19:22 2025 +# Fingerprint (MD5): 0A:A4:D5:CC:BA:B4:FB:A3:59:E3:E6:01:DD:53:D9:4E +# Fingerprint (SHA1): C1:77:CB:4B:E0:B4:26:8E:F5:C7:CF:45:99:22:B9:B0:CE:BA:21:2F +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Explicitly Distrust DigiNotar Root CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\137\061\013\060\011\006\003\125\004\006\023\002\116\114\061 +\022\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157 +\164\141\162\061\032\060\030\006\003\125\004\003\023\021\104\151 +\147\151\116\157\164\141\162\040\122\157\157\164\040\103\101\061 +\040\060\036\006\011\052\206\110\206\367\015\001\011\001\026\021 +\151\156\146\157\100\144\151\147\151\156\157\164\141\162\056\156 +\154 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\137\061\013\060\011\006\003\125\004\006\023\002\116\114\061 +\022\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157 +\164\141\162\061\032\060\030\006\003\125\004\003\023\021\104\151 +\147\151\116\157\164\141\162\040\122\157\157\164\040\103\101\061 +\040\060\036\006\011\052\206\110\206\367\015\001\011\001\026\021 +\151\156\146\157\100\144\151\147\151\156\157\164\141\162\056\156 +\154 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\017\377\377\377\377\377\377\377\377\377\377\377\377\377 +\377\377 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\212\060\202\003\162\240\003\002\001\002\002\020\017 +\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\137 +\061\013\060\011\006\003\125\004\006\023\002\116\114\061\022\060 +\020\006\003\125\004\012\023\011\104\151\147\151\116\157\164\141 +\162\061\032\060\030\006\003\125\004\003\023\021\104\151\147\151 +\116\157\164\141\162\040\122\157\157\164\040\103\101\061\040\060 +\036\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156 +\146\157\100\144\151\147\151\156\157\164\141\162\056\156\154\060 +\036\027\015\060\067\060\067\062\067\061\067\061\071\063\067\132 +\027\015\062\065\060\063\063\061\061\070\061\071\062\062\132\060 +\137\061\013\060\011\006\003\125\004\006\023\002\116\114\061\022 +\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157\164 +\141\162\061\032\060\030\006\003\125\004\003\023\021\104\151\147 +\151\116\157\164\141\162\040\122\157\157\164\040\103\101\061\040 +\060\036\006\011\052\206\110\206\367\015\001\011\001\026\021\151 +\156\146\157\100\144\151\147\151\156\157\164\141\162\056\156\154 +\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001 +\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001 +\000\254\260\130\301\000\275\330\041\010\013\053\232\376\156\126 +\060\005\237\033\167\220\020\101\134\303\015\207\021\167\216\201 +\361\312\174\351\214\152\355\070\164\065\273\332\337\371\273\300 +\011\067\264\226\163\201\175\063\032\230\071\367\223\157\225\177 +\075\271\261\165\207\272\121\110\350\213\160\076\225\004\305\330 +\266\303\026\331\210\260\261\207\035\160\332\206\264\017\024\213 +\172\317\020\321\164\066\242\022\173\167\206\112\171\346\173\337 +\002\021\150\245\116\206\256\064\130\233\044\023\170\126\042\045 +\036\001\213\113\121\161\373\202\314\131\226\151\210\132\150\123 +\305\271\015\002\067\313\113\274\146\112\220\176\052\013\005\007 +\355\026\137\125\220\165\330\106\311\033\203\342\010\276\361\043 +\314\231\035\326\052\017\203\040\025\130\047\202\056\372\342\042 +\302\111\261\271\001\201\152\235\155\235\100\167\150\166\116\041 +\052\155\204\100\205\116\166\231\174\202\363\363\267\002\131\324 +\046\001\033\216\337\255\123\006\321\256\030\335\342\262\072\313 +\327\210\070\216\254\133\051\271\031\323\230\371\030\003\317\110 +\202\206\146\013\033\151\017\311\353\070\210\172\046\032\005\114 +\222\327\044\324\226\362\254\122\055\243\107\325\122\366\077\376 +\316\204\006\160\246\252\076\242\362\266\126\064\030\127\242\344 +\201\155\347\312\360\152\323\307\221\153\002\203\101\174\025\357 +\153\232\144\136\343\320\074\345\261\353\173\135\206\373\313\346 +\167\111\315\243\145\334\367\271\234\270\344\013\137\223\317\314 +\060\032\062\034\316\034\143\225\245\371\352\341\164\213\236\351 +\053\251\060\173\240\030\037\016\030\013\345\133\251\323\321\154 +\036\007\147\217\221\113\251\212\274\322\146\252\223\001\210\262 +\221\372\061\134\325\246\301\122\010\011\315\012\143\242\323\042 +\246\350\241\331\071\006\227\365\156\215\002\220\214\024\173\077 +\200\315\033\234\272\304\130\162\043\257\266\126\237\306\172\102 +\063\051\007\077\202\311\346\037\005\015\315\114\050\066\213\323 +\310\076\034\306\210\357\136\356\211\144\351\035\353\332\211\176 +\062\246\151\321\335\314\210\237\321\320\311\146\041\334\006\147 +\305\224\172\232\155\142\114\175\314\340\144\200\262\236\107\216 +\243\002\003\001\000\001\243\102\060\100\060\017\006\003\125\035 +\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003\125 +\035\017\001\001\377\004\004\003\002\001\006\060\035\006\003\125 +\035\016\004\026\004\024\210\150\277\340\216\065\304\073\070\153 +\142\367\050\073\204\201\310\014\327\115\060\015\006\011\052\206 +\110\206\367\015\001\001\005\005\000\003\202\002\001\000\073\002 +\215\313\074\060\350\156\240\255\362\163\263\137\236\045\023\004 +\005\323\366\343\213\273\013\171\316\123\336\344\226\305\321\257 +\163\274\325\303\320\100\125\174\100\177\315\033\137\011\325\362 +\174\237\150\035\273\135\316\172\071\302\214\326\230\173\305\203 +\125\250\325\175\100\312\340\036\367\211\136\143\135\241\023\302 +\135\212\266\212\174\000\363\043\303\355\205\137\161\166\360\150 +\143\252\105\041\071\110\141\170\066\334\361\103\223\324\045\307 +\362\200\145\341\123\002\165\121\374\172\072\357\067\253\204\050 +\127\014\330\324\324\231\126\154\343\242\376\131\204\264\061\350 +\063\370\144\224\224\121\227\253\071\305\113\355\332\335\200\013 +\157\174\051\015\304\216\212\162\015\347\123\024\262\140\101\075 +\204\221\061\150\075\047\104\333\345\336\364\372\143\105\310\114 +\076\230\365\077\101\272\116\313\067\015\272\146\230\361\335\313 +\237\134\367\124\066\202\153\054\274\023\141\227\102\370\170\273 +\314\310\242\237\312\360\150\275\153\035\262\337\215\157\007\235 +\332\216\147\307\107\036\312\271\277\052\102\221\267\143\123\146 +\361\102\243\341\364\132\115\130\153\265\344\244\063\255\134\160 +\035\334\340\362\353\163\024\221\232\003\301\352\000\145\274\007 +\374\317\022\021\042\054\256\240\275\072\340\242\052\330\131\351 +\051\323\030\065\244\254\021\137\031\265\265\033\377\042\112\134 +\306\172\344\027\357\040\251\247\364\077\255\212\247\232\004\045 +\235\016\312\067\346\120\375\214\102\051\004\232\354\271\317\113 +\162\275\342\010\066\257\043\057\142\345\312\001\323\160\333\174 +\202\043\054\026\061\014\306\066\007\220\172\261\037\147\130\304 +\073\130\131\211\260\214\214\120\263\330\206\313\150\243\304\012 +\347\151\113\040\316\301\036\126\113\225\251\043\150\330\060\330 +\303\353\260\125\121\315\345\375\053\270\365\273\021\237\123\124 +\366\064\031\214\171\011\066\312\141\027\045\027\013\202\230\163 +\014\167\164\303\325\015\307\250\022\114\307\247\124\161\107\056 +\054\032\175\311\343\053\073\110\336\047\204\247\143\066\263\175 +\217\240\144\071\044\015\075\173\207\257\146\134\164\033\113\163 +\262\345\214\360\206\231\270\345\305\337\204\301\267\353 +END + +# Trust for Certificate "Explicitly Distrust DigiNotar Root CA" +# Issuer: E=info@diginotar.nl,CN=DigiNotar Root CA,O=DigiNotar,C=NL +# Serial Number:0f:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff:ff +# Subject: E=info@diginotar.nl,CN=DigiNotar Root CA,O=DigiNotar,C=NL +# Not Valid Before: Fri Jul 27 17:19:37 2007 +# Not Valid After : Mon Mar 31 18:19:22 2025 +# Fingerprint (MD5): 0A:A4:D5:CC:BA:B4:FB:A3:59:E3:E6:01:DD:53:D9:4E +# Fingerprint (SHA1): C1:77:CB:4B:E0:B4:26:8E:F5:C7:CF:45:99:22:B9:B0:CE:BA:21:2F +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Explicitly Distrust DigiNotar Root CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\301\167\313\113\340\264\046\216\365\307\317\105\231\042\271\260 +\316\272\041\057 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\012\244\325\314\272\264\373\243\131\343\346\001\335\123\331\116 +END +CKA_ISSUER MULTILINE_OCTAL +\060\137\061\013\060\011\006\003\125\004\006\023\002\116\114\061 +\022\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157 +\164\141\162\061\032\060\030\006\003\125\004\003\023\021\104\151 +\147\151\116\157\164\141\162\040\122\157\157\164\040\103\101\061 +\040\060\036\006\011\052\206\110\206\367\015\001\011\001\026\021 +\151\156\146\157\100\144\151\147\151\156\157\164\141\162\056\156 +\154 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\017\377\377\377\377\377\377\377\377\377\377\377\377\377 +\377\377 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Explicitly Distrusted DigiNotar PKIoverheid G2" +# +# Issuer: CN=DigiNotar PKIoverheid CA Organisatie - G2,O=DigiNotar B.V.,C=NL +# Serial Number: 268435455 (0xfffffff) +# Subject: CN=DigiNotar PKIoverheid CA Organisatie - G2,O=DigiNotar B.V.,C=NL +# Not Valid Before: Wed May 12 08:51:39 2010 +# Not Valid After : Mon Mar 23 09:50:05 2020 +# Fingerprint (MD5): 2E:61:A2:D1:78:CE:EE:BF:59:33:B0:23:14:0F:94:1C +# Fingerprint (SHA1): D5:F2:57:A9:BF:2D:D0:3F:8B:46:57:F9:2B:C9:A4:C6:92:E1:42:42 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Explicitly Distrusted DigiNotar PKIoverheid G2" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\132\061\013\060\011\006\003\125\004\006\023\002\116\114\061 +\027\060\025\006\003\125\004\012\014\016\104\151\147\151\116\157 +\164\141\162\040\102\056\126\056\061\062\060\060\006\003\125\004 +\003\014\051\104\151\147\151\116\157\164\141\162\040\120\113\111 +\157\166\145\162\150\145\151\144\040\103\101\040\117\162\147\141 +\156\151\163\141\164\151\145\040\055\040\107\062 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\132\061\013\060\011\006\003\125\004\006\023\002\116\114\061 +\027\060\025\006\003\125\004\012\014\016\104\151\147\151\116\157 +\164\141\162\040\102\056\126\056\061\062\060\060\006\003\125\004 +\003\014\051\104\151\147\151\116\157\164\141\162\040\120\113\111 +\157\166\145\162\150\145\151\144\040\103\101\040\117\162\147\141 +\156\151\163\141\164\151\145\040\055\040\107\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\017\377\377\377 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\006\225\060\202\004\175\240\003\002\001\002\002\004\017 +\377\377\377\060\015\006\011\052\206\110\206\367\015\001\001\013 +\005\000\060\132\061\013\060\011\006\003\125\004\006\023\002\116 +\114\061\027\060\025\006\003\125\004\012\014\016\104\151\147\151 +\116\157\164\141\162\040\102\056\126\056\061\062\060\060\006\003 +\125\004\003\014\051\104\151\147\151\116\157\164\141\162\040\120 +\113\111\157\166\145\162\150\145\151\144\040\103\101\040\117\162 +\147\141\156\151\163\141\164\151\145\040\055\040\107\062\060\036 +\027\015\061\060\060\065\061\062\060\070\065\061\063\071\132\027 +\015\062\060\060\063\062\063\060\071\065\060\060\065\132\060\132 +\061\013\060\011\006\003\125\004\006\023\002\116\114\061\027\060 +\025\006\003\125\004\012\014\016\104\151\147\151\116\157\164\141 +\162\040\102\056\126\056\061\062\060\060\006\003\125\004\003\014 +\051\104\151\147\151\116\157\164\141\162\040\120\113\111\157\166 +\145\162\150\145\151\144\040\103\101\040\117\162\147\141\156\151 +\163\141\164\151\145\040\055\040\107\062\060\202\002\042\060\015 +\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\002 +\017\000\060\202\002\012\002\202\002\001\000\261\023\031\017\047 +\346\154\324\125\206\113\320\354\211\212\105\221\170\254\107\275 +\107\053\344\374\105\353\117\264\046\163\133\067\323\303\177\366 +\343\336\327\243\370\055\150\305\010\076\113\224\326\344\207\045 +\066\153\204\265\030\164\363\050\130\163\057\233\152\317\274\004 +\036\366\336\335\257\374\113\252\365\333\146\142\045\001\045\202 +\336\362\227\132\020\156\335\135\251\042\261\004\251\043\163\072 +\370\161\255\035\317\204\104\353\107\321\257\155\310\174\050\253 +\307\362\067\172\164\137\137\305\002\024\212\243\132\343\033\154 +\001\343\135\216\331\150\326\364\011\033\062\334\221\265\054\365 +\040\353\214\003\155\046\111\270\223\304\205\135\330\322\233\257 +\126\152\314\005\063\314\240\102\236\064\125\104\234\153\240\324 +\022\320\053\124\315\267\211\015\345\366\353\350\373\205\001\063 +\117\172\153\361\235\162\063\226\016\367\262\204\245\245\047\304 +\047\361\121\163\051\167\272\147\156\376\114\334\264\342\241\241 +\201\057\071\111\215\103\070\023\316\320\245\134\302\207\072\000 +\147\145\102\043\361\066\131\012\035\243\121\310\274\243\224\052 +\061\337\343\074\362\235\032\074\004\260\357\261\012\060\023\163 +\266\327\363\243\114\001\165\024\205\170\300\327\212\071\130\205 +\120\372\056\346\305\276\317\213\077\257\217\066\324\045\011\055 +\322\017\254\162\223\362\277\213\324\120\263\371\025\120\233\231 +\365\024\331\373\213\221\243\062\046\046\240\370\337\073\140\201 +\206\203\171\133\053\353\023\075\051\072\301\155\335\275\236\216 +\207\326\112\256\064\227\005\356\024\246\366\334\070\176\112\351 +\044\124\007\075\227\150\067\106\153\015\307\250\041\257\023\124 +\344\011\152\361\115\106\012\311\135\373\233\117\275\336\373\267 +\124\313\270\070\234\247\071\373\152\055\300\173\215\253\245\247 +\127\354\112\222\212\063\305\341\040\134\163\330\220\222\053\200 +\325\017\206\030\151\174\071\117\204\206\274\367\114\133\363\325 +\264\312\240\302\360\067\042\312\171\122\037\123\346\252\363\220 +\260\073\335\362\050\375\254\353\305\006\044\240\311\324\057\017 +\130\375\265\236\354\017\317\262\131\320\242\004\172\070\152\256 +\162\373\275\360\045\142\224\011\247\005\013\002\003\001\000\001 +\243\202\001\141\060\202\001\135\060\110\006\003\125\035\040\004 +\101\060\077\060\075\006\004\125\035\040\000\060\065\060\063\006 +\010\053\006\001\005\005\007\002\001\026\047\150\164\164\160\072 +\057\057\167\167\167\056\144\151\147\151\156\157\164\141\162\056 +\156\154\057\143\160\163\057\160\153\151\157\166\145\162\150\145 +\151\144\060\017\006\003\125\035\023\001\001\377\004\005\060\003 +\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004\003 +\002\001\006\060\201\205\006\003\125\035\043\004\176\060\174\200 +\024\071\020\213\111\222\134\333\141\022\040\315\111\235\032\216 +\332\234\147\100\271\241\136\244\134\060\132\061\013\060\011\006 +\003\125\004\006\023\002\116\114\061\036\060\034\006\003\125\004 +\012\014\025\123\164\141\141\164\040\144\145\162\040\116\145\144 +\145\162\154\141\156\144\145\156\061\053\060\051\006\003\125\004 +\003\014\042\123\164\141\141\164\040\144\145\162\040\116\145\144 +\145\162\154\141\156\144\145\156\040\122\157\157\164\040\103\101 +\040\055\040\107\062\202\004\000\230\226\364\060\111\006\003\125 +\035\037\004\102\060\100\060\076\240\074\240\072\206\070\150\164 +\164\160\072\057\057\143\162\154\056\160\153\151\157\166\145\162 +\150\145\151\144\056\156\154\057\104\157\155\117\162\147\141\156 +\151\163\141\164\151\145\114\141\164\145\163\164\103\122\114\055 +\107\062\056\143\162\154\060\035\006\003\125\035\016\004\026\004 +\024\274\135\224\073\331\253\173\003\045\163\141\302\333\055\356 +\374\253\217\145\241\060\015\006\011\052\206\110\206\367\015\001 +\001\013\005\000\003\202\002\001\000\217\374\055\114\267\331\055 +\325\037\275\357\313\364\267\150\027\165\235\116\325\367\335\234 +\361\052\046\355\237\242\266\034\003\325\123\263\354\010\317\064 +\342\343\303\364\265\026\057\310\303\276\327\323\163\253\000\066 +\371\032\112\176\326\143\351\136\106\272\245\266\216\025\267\243 +\052\330\103\035\357\135\310\037\201\205\263\213\367\377\074\364 +\331\364\106\010\077\234\274\035\240\331\250\114\315\045\122\116 +\012\261\040\367\037\351\103\331\124\106\201\023\232\300\136\164 +\154\052\230\062\352\374\167\273\015\245\242\061\230\042\176\174 +\174\347\332\244\255\354\267\056\032\031\161\370\110\120\332\103 +\217\054\204\335\301\100\047\343\265\360\025\116\226\324\370\134 +\343\206\051\106\053\327\073\007\353\070\177\310\206\127\227\323 +\357\052\063\304\027\120\325\144\151\153\053\153\105\136\135\057 +\027\312\132\116\317\303\327\071\074\365\073\237\106\271\233\347 +\016\111\227\235\326\325\343\033\017\352\217\001\116\232\023\224 +\131\012\002\007\110\113\032\140\253\177\117\355\013\330\125\015 +\150\157\125\234\151\145\025\102\354\300\334\335\154\254\303\026 +\316\013\035\126\233\244\304\304\322\056\340\017\342\104\047\053 +\120\151\244\334\142\350\212\041\051\102\154\314\000\072\226\166 +\233\357\100\300\244\136\167\204\062\154\046\052\071\146\256\135 +\343\271\271\262\054\150\037\036\232\220\003\071\360\252\263\244 +\314\111\213\030\064\351\067\311\173\051\307\204\174\157\104\025 +\057\354\141\131\004\311\105\313\242\326\122\242\174\177\051\222 +\326\112\305\213\102\250\324\376\352\330\307\207\043\030\344\235 +\172\175\163\100\122\230\240\256\156\343\005\077\005\017\340\245 +\306\155\115\355\203\067\210\234\307\363\334\102\232\152\266\327 +\041\111\066\167\362\357\030\117\305\160\331\236\351\336\267\053 +\213\364\274\176\050\337\015\100\311\205\134\256\235\305\061\377 +\320\134\016\265\250\176\360\351\057\272\257\210\256\345\265\321 +\130\245\257\234\161\247\051\001\220\203\151\067\202\005\272\374 +\011\301\010\156\214\170\073\303\063\002\200\077\104\205\010\035 +\337\125\126\010\255\054\205\055\135\261\003\341\256\252\164\305 +\244\363\116\272\067\230\173\202\271 +END + +# Trust for Certificate "Explicitly Distrusted DigiNotar PKIoverheid G2" +# Issuer: CN=DigiNotar PKIoverheid CA Organisatie - G2,O=DigiNotar B.V.,C=NL +# Serial Number: 268435455 (0xfffffff) +# Subject: CN=DigiNotar PKIoverheid CA Organisatie - G2,O=DigiNotar B.V.,C=NL +# Not Valid Before: Wed May 12 08:51:39 2010 +# Not Valid After : Mon Mar 23 09:50:05 2020 +# Fingerprint (MD5): 2E:61:A2:D1:78:CE:EE:BF:59:33:B0:23:14:0F:94:1C +# Fingerprint (SHA1): D5:F2:57:A9:BF:2D:D0:3F:8B:46:57:F9:2B:C9:A4:C6:92:E1:42:42 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Explicitly Distrusted DigiNotar PKIoverheid G2" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\325\362\127\251\277\055\320\077\213\106\127\371\053\311\244\306 +\222\341\102\102 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\056\141\242\321\170\316\356\277\131\063\260\043\024\017\224\034 +END +CKA_ISSUER MULTILINE_OCTAL +\060\132\061\013\060\011\006\003\125\004\006\023\002\116\114\061 +\027\060\025\006\003\125\004\012\014\016\104\151\147\151\116\157 +\164\141\162\040\102\056\126\056\061\062\060\060\006\003\125\004 +\003\014\051\104\151\147\151\116\157\164\141\162\040\120\113\111 +\157\166\145\162\150\145\151\144\040\103\101\040\117\162\147\141 +\156\151\163\141\164\151\145\040\055\040\107\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\017\377\377\377 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Security Communication RootCA2" +# +# Issuer: OU=Security Communication RootCA2,O="SECOM Trust Systems CO.,LTD.",C=JP +# Serial Number: 0 (0x0) +# Subject: OU=Security Communication RootCA2,O="SECOM Trust Systems CO.,LTD.",C=JP +# Not Valid Before: Fri May 29 05:00:39 2009 +# Not Valid After : Tue May 29 05:00:39 2029 +# Fingerprint (MD5): 6C:39:7D:A4:0E:55:59:B2:3F:D6:41:B1:12:50:DE:43 +# Fingerprint (SHA1): 5F:3B:8C:F2:F8:10:B3:7D:78:B4:CE:EC:19:19:C3:73:34:B9:C7:74 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Security Communication RootCA2" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\135\061\013\060\011\006\003\125\004\006\023\002\112\120\061 +\045\060\043\006\003\125\004\012\023\034\123\105\103\117\115\040 +\124\162\165\163\164\040\123\171\163\164\145\155\163\040\103\117 +\056\054\114\124\104\056\061\047\060\045\006\003\125\004\013\023 +\036\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156 +\151\143\141\164\151\157\156\040\122\157\157\164\103\101\062 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\135\061\013\060\011\006\003\125\004\006\023\002\112\120\061 +\045\060\043\006\003\125\004\012\023\034\123\105\103\117\115\040 +\124\162\165\163\164\040\123\171\163\164\145\155\163\040\103\117 +\056\054\114\124\104\056\061\047\060\045\006\003\125\004\013\023 +\036\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156 +\151\143\141\164\151\157\156\040\122\157\157\164\103\101\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\000 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\167\060\202\002\137\240\003\002\001\002\002\001\000 +\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060 +\135\061\013\060\011\006\003\125\004\006\023\002\112\120\061\045 +\060\043\006\003\125\004\012\023\034\123\105\103\117\115\040\124 +\162\165\163\164\040\123\171\163\164\145\155\163\040\103\117\056 +\054\114\124\104\056\061\047\060\045\006\003\125\004\013\023\036 +\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156\151 +\143\141\164\151\157\156\040\122\157\157\164\103\101\062\060\036 +\027\015\060\071\060\065\062\071\060\065\060\060\063\071\132\027 +\015\062\071\060\065\062\071\060\065\060\060\063\071\132\060\135 +\061\013\060\011\006\003\125\004\006\023\002\112\120\061\045\060 +\043\006\003\125\004\012\023\034\123\105\103\117\115\040\124\162 +\165\163\164\040\123\171\163\164\145\155\163\040\103\117\056\054 +\114\124\104\056\061\047\060\045\006\003\125\004\013\023\036\123 +\145\143\165\162\151\164\171\040\103\157\155\155\165\156\151\143 +\141\164\151\157\156\040\122\157\157\164\103\101\062\060\202\001 +\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000 +\003\202\001\017\000\060\202\001\012\002\202\001\001\000\320\025 +\071\122\261\122\263\272\305\131\202\304\135\122\256\072\103\145 +\200\113\307\362\226\274\333\066\227\326\246\144\214\250\136\360 +\343\012\034\367\337\227\075\113\256\366\135\354\041\265\101\253 +\315\271\176\166\237\276\371\076\066\064\240\073\301\366\061\021 +\105\164\223\075\127\200\305\371\211\231\312\345\253\152\324\265 +\332\101\220\020\301\326\326\102\211\302\277\364\070\022\225\114 +\124\005\367\066\344\105\203\173\024\145\326\334\014\115\321\336 +\176\014\253\073\304\025\276\072\126\246\132\157\166\151\122\251 +\172\271\310\353\152\232\135\122\320\055\012\153\065\026\011\020 +\204\320\152\312\072\006\000\067\107\344\176\127\117\077\213\353 +\147\270\210\252\305\276\123\125\262\221\304\175\271\260\205\031 +\006\170\056\333\141\032\372\205\365\112\221\241\347\026\325\216 +\242\071\337\224\270\160\037\050\077\213\374\100\136\143\203\074 +\203\052\032\231\153\317\336\131\152\073\374\157\026\327\037\375 +\112\020\353\116\202\026\072\254\047\014\123\361\255\325\044\260 +\153\003\120\301\055\074\026\335\104\064\047\032\165\373\002\003 +\001\000\001\243\102\060\100\060\035\006\003\125\035\016\004\026 +\004\024\012\205\251\167\145\005\230\174\100\201\370\017\227\054 +\070\361\012\354\074\317\060\016\006\003\125\035\017\001\001\377 +\004\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377 +\004\005\060\003\001\001\377\060\015\006\011\052\206\110\206\367 +\015\001\001\013\005\000\003\202\001\001\000\114\072\243\104\254 +\271\105\261\307\223\176\310\013\012\102\337\144\352\034\356\131 +\154\010\272\211\137\152\312\112\225\236\172\217\007\305\332\105 +\162\202\161\016\072\322\314\157\247\264\241\043\273\366\044\237 +\313\027\376\214\246\316\302\322\333\314\215\374\161\374\003\051 +\301\154\135\063\137\144\266\145\073\211\157\030\166\170\365\334 +\242\110\037\031\077\216\223\353\361\372\027\356\315\116\343\004 +\022\125\326\345\344\335\373\076\005\174\342\035\136\306\247\274 +\227\117\150\072\365\351\056\012\103\266\257\127\134\142\150\174 +\267\375\243\212\204\240\254\142\276\053\011\207\064\360\152\001 +\273\233\051\126\074\376\000\067\317\043\154\361\116\252\266\164 +\106\022\154\221\356\064\325\354\232\221\347\104\276\220\061\162 +\325\111\002\366\002\345\364\037\353\174\331\226\125\251\377\354 +\212\371\231\107\377\065\132\002\252\004\313\212\133\207\161\051 +\221\275\244\264\172\015\275\232\365\127\043\000\007\041\027\077 +\112\071\321\005\111\013\247\266\067\201\245\135\214\252\063\136 +\201\050\174\247\175\047\353\000\256\215\067 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "Security Communication RootCA2" +# Issuer: OU=Security Communication RootCA2,O="SECOM Trust Systems CO.,LTD.",C=JP +# Serial Number: 0 (0x0) +# Subject: OU=Security Communication RootCA2,O="SECOM Trust Systems CO.,LTD.",C=JP +# Not Valid Before: Fri May 29 05:00:39 2009 +# Not Valid After : Tue May 29 05:00:39 2029 +# Fingerprint (MD5): 6C:39:7D:A4:0E:55:59:B2:3F:D6:41:B1:12:50:DE:43 +# Fingerprint (SHA1): 5F:3B:8C:F2:F8:10:B3:7D:78:B4:CE:EC:19:19:C3:73:34:B9:C7:74 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Security Communication RootCA2" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\137\073\214\362\370\020\263\175\170\264\316\354\031\031\303\163 +\064\271\307\164 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\154\071\175\244\016\125\131\262\077\326\101\261\022\120\336\103 +END +CKA_ISSUER MULTILINE_OCTAL +\060\135\061\013\060\011\006\003\125\004\006\023\002\112\120\061 +\045\060\043\006\003\125\004\012\023\034\123\105\103\117\115\040 +\124\162\165\163\164\040\123\171\163\164\145\155\163\040\103\117 +\056\054\114\124\104\056\061\047\060\045\006\003\125\004\013\023 +\036\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156 +\151\143\141\164\151\157\156\040\122\157\157\164\103\101\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\000 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "EC-ACC" +# +# Issuer: CN=EC-ACC,OU=Jerarquia Entitats de Certificacio Catalanes,OU=Vegeu https://www.catcert.net/verarrel (c)03,OU=Serveis Publics de Certificacio,O=Agencia Catalana de Certificacio (NIF Q-0801176-I),C=ES +# Serial Number:ee:2b:3d:eb:d4:21:de:14:a8:62:ac:04:f3:dd:c4:01 +# Subject: CN=EC-ACC,OU=Jerarquia Entitats de Certificacio Catalanes,OU=Vegeu https://www.catcert.net/verarrel (c)03,OU=Serveis Publics de Certificacio,O=Agencia Catalana de Certificacio (NIF Q-0801176-I),C=ES +# Not Valid Before: Tue Jan 07 23:00:00 2003 +# Not Valid After : Tue Jan 07 22:59:59 2031 +# Fingerprint (MD5): EB:F5:9D:29:0D:61:F9:42:1F:7C:C2:BA:6D:E3:15:09 +# Fingerprint (SHA1): 28:90:3A:63:5B:52:80:FA:E6:77:4C:0B:6D:A7:D6:BA:A6:4A:F2:E8 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "EC-ACC" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\363\061\013\060\011\006\003\125\004\006\023\002\105\123 +\061\073\060\071\006\003\125\004\012\023\062\101\147\145\156\143 +\151\141\040\103\141\164\141\154\141\156\141\040\144\145\040\103 +\145\162\164\151\146\151\143\141\143\151\157\040\050\116\111\106 +\040\121\055\060\070\060\061\061\067\066\055\111\051\061\050\060 +\046\006\003\125\004\013\023\037\123\145\162\166\145\151\163\040 +\120\165\142\154\151\143\163\040\144\145\040\103\145\162\164\151 +\146\151\143\141\143\151\157\061\065\060\063\006\003\125\004\013 +\023\054\126\145\147\145\165\040\150\164\164\160\163\072\057\057 +\167\167\167\056\143\141\164\143\145\162\164\056\156\145\164\057 +\166\145\162\141\162\162\145\154\040\050\143\051\060\063\061\065 +\060\063\006\003\125\004\013\023\054\112\145\162\141\162\161\165 +\151\141\040\105\156\164\151\164\141\164\163\040\144\145\040\103 +\145\162\164\151\146\151\143\141\143\151\157\040\103\141\164\141 +\154\141\156\145\163\061\017\060\015\006\003\125\004\003\023\006 +\105\103\055\101\103\103 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\363\061\013\060\011\006\003\125\004\006\023\002\105\123 +\061\073\060\071\006\003\125\004\012\023\062\101\147\145\156\143 +\151\141\040\103\141\164\141\154\141\156\141\040\144\145\040\103 +\145\162\164\151\146\151\143\141\143\151\157\040\050\116\111\106 +\040\121\055\060\070\060\061\061\067\066\055\111\051\061\050\060 +\046\006\003\125\004\013\023\037\123\145\162\166\145\151\163\040 +\120\165\142\154\151\143\163\040\144\145\040\103\145\162\164\151 +\146\151\143\141\143\151\157\061\065\060\063\006\003\125\004\013 +\023\054\126\145\147\145\165\040\150\164\164\160\163\072\057\057 +\167\167\167\056\143\141\164\143\145\162\164\056\156\145\164\057 +\166\145\162\141\162\162\145\154\040\050\143\051\060\063\061\065 +\060\063\006\003\125\004\013\023\054\112\145\162\141\162\161\165 +\151\141\040\105\156\164\151\164\141\164\163\040\144\145\040\103 +\145\162\164\151\146\151\143\141\143\151\157\040\103\141\164\141 +\154\141\156\145\163\061\017\060\015\006\003\125\004\003\023\006 +\105\103\055\101\103\103 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\356\053\075\353\324\041\336\024\250\142\254\004\363\335 +\304\001 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\126\060\202\004\076\240\003\002\001\002\002\020\356 +\053\075\353\324\041\336\024\250\142\254\004\363\335\304\001\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201 +\363\061\013\060\011\006\003\125\004\006\023\002\105\123\061\073 +\060\071\006\003\125\004\012\023\062\101\147\145\156\143\151\141 +\040\103\141\164\141\154\141\156\141\040\144\145\040\103\145\162 +\164\151\146\151\143\141\143\151\157\040\050\116\111\106\040\121 +\055\060\070\060\061\061\067\066\055\111\051\061\050\060\046\006 +\003\125\004\013\023\037\123\145\162\166\145\151\163\040\120\165 +\142\154\151\143\163\040\144\145\040\103\145\162\164\151\146\151 +\143\141\143\151\157\061\065\060\063\006\003\125\004\013\023\054 +\126\145\147\145\165\040\150\164\164\160\163\072\057\057\167\167 +\167\056\143\141\164\143\145\162\164\056\156\145\164\057\166\145 +\162\141\162\162\145\154\040\050\143\051\060\063\061\065\060\063 +\006\003\125\004\013\023\054\112\145\162\141\162\161\165\151\141 +\040\105\156\164\151\164\141\164\163\040\144\145\040\103\145\162 +\164\151\146\151\143\141\143\151\157\040\103\141\164\141\154\141 +\156\145\163\061\017\060\015\006\003\125\004\003\023\006\105\103 +\055\101\103\103\060\036\027\015\060\063\060\061\060\067\062\063 +\060\060\060\060\132\027\015\063\061\060\061\060\067\062\062\065 +\071\065\071\132\060\201\363\061\013\060\011\006\003\125\004\006 +\023\002\105\123\061\073\060\071\006\003\125\004\012\023\062\101 +\147\145\156\143\151\141\040\103\141\164\141\154\141\156\141\040 +\144\145\040\103\145\162\164\151\146\151\143\141\143\151\157\040 +\050\116\111\106\040\121\055\060\070\060\061\061\067\066\055\111 +\051\061\050\060\046\006\003\125\004\013\023\037\123\145\162\166 +\145\151\163\040\120\165\142\154\151\143\163\040\144\145\040\103 +\145\162\164\151\146\151\143\141\143\151\157\061\065\060\063\006 +\003\125\004\013\023\054\126\145\147\145\165\040\150\164\164\160 +\163\072\057\057\167\167\167\056\143\141\164\143\145\162\164\056 +\156\145\164\057\166\145\162\141\162\162\145\154\040\050\143\051 +\060\063\061\065\060\063\006\003\125\004\013\023\054\112\145\162 +\141\162\161\165\151\141\040\105\156\164\151\164\141\164\163\040 +\144\145\040\103\145\162\164\151\146\151\143\141\143\151\157\040 +\103\141\164\141\154\141\156\145\163\061\017\060\015\006\003\125 +\004\003\023\006\105\103\055\101\103\103\060\202\001\042\060\015 +\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001 +\017\000\060\202\001\012\002\202\001\001\000\263\042\307\117\342 +\227\102\225\210\107\203\100\366\035\027\363\203\163\044\036\121 +\363\230\212\303\222\270\377\100\220\005\160\207\140\311\000\251 +\265\224\145\031\042\025\027\302\103\154\146\104\232\015\004\076 +\071\157\245\113\172\252\143\267\212\104\235\331\143\221\204\146 +\340\050\017\272\102\343\156\216\367\024\047\223\151\356\221\016 +\243\137\016\261\353\146\242\162\117\022\023\206\145\172\076\333 +\117\007\364\247\011\140\332\072\102\231\307\262\177\263\026\225 +\034\307\371\064\265\224\205\325\231\136\240\110\240\176\347\027 +\145\270\242\165\270\036\363\345\102\175\257\355\363\212\110\144 +\135\202\024\223\330\300\344\377\263\120\162\362\166\366\263\135 +\102\120\171\320\224\076\153\014\000\276\330\153\016\116\052\354 +\076\322\314\202\242\030\145\063\023\167\236\232\135\032\023\330 +\303\333\075\310\227\172\356\160\355\247\346\174\333\161\317\055 +\224\142\337\155\326\365\070\276\077\245\205\012\031\270\250\330 +\011\165\102\160\304\352\357\313\016\310\064\250\022\042\230\014 +\270\023\224\266\113\354\360\320\220\347\047\002\003\001\000\001 +\243\201\343\060\201\340\060\035\006\003\125\035\021\004\026\060 +\024\201\022\145\143\137\141\143\143\100\143\141\164\143\145\162 +\164\056\156\145\164\060\017\006\003\125\035\023\001\001\377\004 +\005\060\003\001\001\377\060\016\006\003\125\035\017\001\001\377 +\004\004\003\002\001\006\060\035\006\003\125\035\016\004\026\004 +\024\240\303\213\104\252\067\245\105\277\227\200\132\321\361\170 +\242\233\351\135\215\060\177\006\003\125\035\040\004\170\060\166 +\060\164\006\013\053\006\001\004\001\365\170\001\003\001\012\060 +\145\060\054\006\010\053\006\001\005\005\007\002\001\026\040\150 +\164\164\160\163\072\057\057\167\167\167\056\143\141\164\143\145 +\162\164\056\156\145\164\057\166\145\162\141\162\162\145\154\060 +\065\006\010\053\006\001\005\005\007\002\002\060\051\032\047\126 +\145\147\145\165\040\150\164\164\160\163\072\057\057\167\167\167 +\056\143\141\164\143\145\162\164\056\156\145\164\057\166\145\162 +\141\162\162\145\154\040\060\015\006\011\052\206\110\206\367\015 +\001\001\005\005\000\003\202\001\001\000\240\110\133\202\001\366 +\115\110\270\071\125\065\234\200\172\123\231\325\132\377\261\161 +\073\314\071\011\224\136\326\332\357\276\001\133\135\323\036\330 +\375\175\117\315\240\101\340\064\223\277\313\342\206\234\067\222 +\220\126\034\334\353\051\005\345\304\236\307\065\337\212\014\315 +\305\041\103\351\252\210\345\065\300\031\102\143\132\002\136\244 +\110\030\072\205\157\334\235\274\077\235\234\301\207\270\172\141 +\010\351\167\013\177\160\253\172\335\331\227\054\144\036\205\277 +\274\164\226\241\303\172\022\354\014\032\156\203\014\074\350\162 +\106\237\373\110\325\136\227\346\261\241\370\344\357\106\045\224 +\234\211\333\151\070\276\354\134\016\126\307\145\121\345\120\210 +\210\277\102\325\053\075\345\371\272\236\056\263\312\364\163\222 +\002\013\276\114\146\353\040\376\271\313\265\231\177\346\266\023 +\372\312\113\115\331\356\123\106\006\073\306\116\255\223\132\201 +\176\154\052\113\152\005\105\214\362\041\244\061\220\207\154\145 +\234\235\245\140\225\072\122\177\365\321\253\010\156\363\356\133 +\371\210\075\176\270\157\156\003\344\102 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "EC-ACC" +# Issuer: CN=EC-ACC,OU=Jerarquia Entitats de Certificacio Catalanes,OU=Vegeu https://www.catcert.net/verarrel (c)03,OU=Serveis Publics de Certificacio,O=Agencia Catalana de Certificacio (NIF Q-0801176-I),C=ES +# Serial Number:ee:2b:3d:eb:d4:21:de:14:a8:62:ac:04:f3:dd:c4:01 +# Subject: CN=EC-ACC,OU=Jerarquia Entitats de Certificacio Catalanes,OU=Vegeu https://www.catcert.net/verarrel (c)03,OU=Serveis Publics de Certificacio,O=Agencia Catalana de Certificacio (NIF Q-0801176-I),C=ES +# Not Valid Before: Tue Jan 07 23:00:00 2003 +# Not Valid After : Tue Jan 07 22:59:59 2031 +# Fingerprint (MD5): EB:F5:9D:29:0D:61:F9:42:1F:7C:C2:BA:6D:E3:15:09 +# Fingerprint (SHA1): 28:90:3A:63:5B:52:80:FA:E6:77:4C:0B:6D:A7:D6:BA:A6:4A:F2:E8 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "EC-ACC" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\050\220\072\143\133\122\200\372\346\167\114\013\155\247\326\272 +\246\112\362\350 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\353\365\235\051\015\141\371\102\037\174\302\272\155\343\025\011 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\363\061\013\060\011\006\003\125\004\006\023\002\105\123 +\061\073\060\071\006\003\125\004\012\023\062\101\147\145\156\143 +\151\141\040\103\141\164\141\154\141\156\141\040\144\145\040\103 +\145\162\164\151\146\151\143\141\143\151\157\040\050\116\111\106 +\040\121\055\060\070\060\061\061\067\066\055\111\051\061\050\060 +\046\006\003\125\004\013\023\037\123\145\162\166\145\151\163\040 +\120\165\142\154\151\143\163\040\144\145\040\103\145\162\164\151 +\146\151\143\141\143\151\157\061\065\060\063\006\003\125\004\013 +\023\054\126\145\147\145\165\040\150\164\164\160\163\072\057\057 +\167\167\167\056\143\141\164\143\145\162\164\056\156\145\164\057 +\166\145\162\141\162\162\145\154\040\050\143\051\060\063\061\065 +\060\063\006\003\125\004\013\023\054\112\145\162\141\162\161\165 +\151\141\040\105\156\164\151\164\141\164\163\040\144\145\040\103 +\145\162\164\151\146\151\143\141\143\151\157\040\103\141\164\141 +\154\141\156\145\163\061\017\060\015\006\003\125\004\003\023\006 +\105\103\055\101\103\103 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\356\053\075\353\324\041\336\024\250\142\254\004\363\335 +\304\001 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Hellenic Academic and Research Institutions RootCA 2011" +# +# Issuer: CN=Hellenic Academic and Research Institutions RootCA 2011,O=Hellenic Academic and Research Institutions Cert. Authority,C=GR +# Serial Number: 0 (0x0) +# Subject: CN=Hellenic Academic and Research Institutions RootCA 2011,O=Hellenic Academic and Research Institutions Cert. Authority,C=GR +# Not Valid Before: Tue Dec 06 13:49:52 2011 +# Not Valid After : Mon Dec 01 13:49:52 2031 +# Fingerprint (MD5): 73:9F:4C:4B:73:5B:79:E9:FA:BA:1C:EF:6E:CB:D5:C9 +# Fingerprint (SHA1): FE:45:65:9B:79:03:5B:98:A1:61:B5:51:2E:AC:DA:58:09:48:22:4D +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Hellenic Academic and Research Institutions RootCA 2011" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\225\061\013\060\011\006\003\125\004\006\023\002\107\122 +\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154\145 +\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144 +\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164 +\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165\164 +\150\157\162\151\164\171\061\100\060\076\006\003\125\004\003\023 +\067\110\145\154\154\145\156\151\143\040\101\143\141\144\145\155 +\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150\040 +\111\156\163\164\151\164\165\164\151\157\156\163\040\122\157\157 +\164\103\101\040\062\060\061\061 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\225\061\013\060\011\006\003\125\004\006\023\002\107\122 +\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154\145 +\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144 +\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164 +\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165\164 +\150\157\162\151\164\171\061\100\060\076\006\003\125\004\003\023 +\067\110\145\154\154\145\156\151\143\040\101\143\141\144\145\155 +\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150\040 +\111\156\163\164\151\164\165\164\151\157\156\163\040\122\157\157 +\164\103\101\040\062\060\061\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\000 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\061\060\202\003\031\240\003\002\001\002\002\001\000 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\201\225\061\013\060\011\006\003\125\004\006\023\002\107\122\061 +\104\060\102\006\003\125\004\012\023\073\110\145\154\154\145\156 +\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144\040 +\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164\165 +\164\151\157\156\163\040\103\145\162\164\056\040\101\165\164\150 +\157\162\151\164\171\061\100\060\076\006\003\125\004\003\023\067 +\110\145\154\154\145\156\151\143\040\101\143\141\144\145\155\151 +\143\040\141\156\144\040\122\145\163\145\141\162\143\150\040\111 +\156\163\164\151\164\165\164\151\157\156\163\040\122\157\157\164 +\103\101\040\062\060\061\061\060\036\027\015\061\061\061\062\060 +\066\061\063\064\071\065\062\132\027\015\063\061\061\062\060\061 +\061\063\064\071\065\062\132\060\201\225\061\013\060\011\006\003 +\125\004\006\023\002\107\122\061\104\060\102\006\003\125\004\012 +\023\073\110\145\154\154\145\156\151\143\040\101\143\141\144\145 +\155\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150 +\040\111\156\163\164\151\164\165\164\151\157\156\163\040\103\145 +\162\164\056\040\101\165\164\150\157\162\151\164\171\061\100\060 +\076\006\003\125\004\003\023\067\110\145\154\154\145\156\151\143 +\040\101\143\141\144\145\155\151\143\040\141\156\144\040\122\145 +\163\145\141\162\143\150\040\111\156\163\164\151\164\165\164\151 +\157\156\163\040\122\157\157\164\103\101\040\062\060\061\061\060 +\202\001\042\060\015\006\011\052\206\110\206\367\015\001\001\001 +\005\000\003\202\001\017\000\060\202\001\012\002\202\001\001\000 +\251\123\000\343\056\246\366\216\372\140\330\055\225\076\370\054 +\052\124\116\315\271\204\141\224\130\117\217\075\213\344\103\363 +\165\211\215\121\344\303\067\322\212\210\115\171\036\267\022\335 +\103\170\112\212\222\346\327\110\325\017\244\072\051\104\065\270 +\007\366\150\035\125\315\070\121\360\214\044\061\205\257\203\311 +\175\351\167\257\355\032\173\235\027\371\263\235\070\120\017\246 +\132\171\221\200\257\067\256\246\323\061\373\265\046\011\235\074 +\132\357\121\305\053\337\226\135\353\062\036\002\332\160\111\354 +\156\014\310\232\067\215\367\361\066\140\113\046\054\202\236\320 +\170\363\015\017\143\244\121\060\341\371\053\047\022\007\330\352 +\275\030\142\230\260\131\067\175\276\356\363\040\121\102\132\203 +\357\223\272\151\025\361\142\235\237\231\071\202\241\267\164\056 +\213\324\305\013\173\057\360\310\012\332\075\171\012\232\223\034 +\245\050\162\163\221\103\232\247\321\115\205\204\271\251\164\217 +\024\100\307\334\336\254\101\144\154\264\031\233\002\143\155\044 +\144\217\104\262\045\352\316\135\164\014\143\062\134\215\207\345 +\002\003\001\000\001\243\201\211\060\201\206\060\017\006\003\125 +\035\023\001\001\377\004\005\060\003\001\001\377\060\013\006\003 +\125\035\017\004\004\003\002\001\006\060\035\006\003\125\035\016 +\004\026\004\024\246\221\102\375\023\141\112\043\236\010\244\051 +\345\330\023\004\043\356\101\045\060\107\006\003\125\035\036\004 +\100\060\076\240\074\060\005\202\003\056\147\162\060\005\202\003 +\056\145\165\060\006\202\004\056\145\144\165\060\006\202\004\056 +\157\162\147\060\005\201\003\056\147\162\060\005\201\003\056\145 +\165\060\006\201\004\056\145\144\165\060\006\201\004\056\157\162 +\147\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000 +\003\202\001\001\000\037\357\171\101\341\173\156\077\262\214\206 +\067\102\112\116\034\067\036\215\146\272\044\201\311\117\022\017 +\041\300\003\227\206\045\155\135\323\042\051\250\154\242\015\251 +\353\075\006\133\231\072\307\314\303\232\064\177\253\016\310\116 +\034\341\372\344\334\315\015\276\277\044\376\154\347\153\302\015 +\310\006\236\116\215\141\050\246\152\375\345\366\142\352\030\074 +\116\240\123\235\262\072\234\353\245\234\221\026\266\115\202\340 +\014\005\110\251\154\365\314\370\313\235\111\264\360\002\245\375 +\160\003\355\212\041\245\256\023\206\111\303\063\163\276\207\073 +\164\213\027\105\046\114\026\221\203\376\147\175\315\115\143\147 +\372\363\003\022\226\170\006\215\261\147\355\216\077\276\237\117 +\002\365\263\011\057\363\114\207\337\052\313\225\174\001\314\254 +\066\172\277\242\163\172\367\217\301\265\232\241\024\262\217\063 +\237\015\357\042\334\146\173\204\275\105\027\006\075\074\312\271 +\167\064\217\312\352\317\077\061\076\343\210\343\200\111\045\310 +\227\265\235\232\231\115\260\074\370\112\000\233\144\335\237\071 +\113\321\047\327\270 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for Certificate "Hellenic Academic and Research Institutions RootCA 2011" +# Issuer: CN=Hellenic Academic and Research Institutions RootCA 2011,O=Hellenic Academic and Research Institutions Cert. Authority,C=GR +# Serial Number: 0 (0x0) +# Subject: CN=Hellenic Academic and Research Institutions RootCA 2011,O=Hellenic Academic and Research Institutions Cert. Authority,C=GR +# Not Valid Before: Tue Dec 06 13:49:52 2011 +# Not Valid After : Mon Dec 01 13:49:52 2031 +# Fingerprint (MD5): 73:9F:4C:4B:73:5B:79:E9:FA:BA:1C:EF:6E:CB:D5:C9 +# Fingerprint (SHA1): FE:45:65:9B:79:03:5B:98:A1:61:B5:51:2E:AC:DA:58:09:48:22:4D +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Hellenic Academic and Research Institutions RootCA 2011" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\376\105\145\233\171\003\133\230\241\141\265\121\056\254\332\130 +\011\110\042\115 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\163\237\114\113\163\133\171\351\372\272\034\357\156\313\325\311 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\225\061\013\060\011\006\003\125\004\006\023\002\107\122 +\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154\145 +\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144 +\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164 +\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165\164 +\150\157\162\151\164\171\061\100\060\076\006\003\125\004\003\023 +\067\110\145\154\154\145\156\151\143\040\101\143\141\144\145\155 +\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150\040 +\111\156\163\164\151\164\165\164\151\157\156\163\040\122\157\157 +\164\103\101\040\062\060\061\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\000 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# Explicitly Distrust "MITM subCA 1 issued by Trustwave", Bug 724929 +# Issuer: E=ca@trustwave.com,CN="Trustwave Organization Issuing CA, Level 2",O="Trustwave Holdings, Inc.",L=Chicago,ST=Illinois,C=US +# Serial Number: 1800000005 (0x6b49d205) +# Not Before: Apr 7 15:37:15 2011 GMT +# Not After : Apr 4 15:37:15 2021 GMT +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "MITM subCA 1 issued by Trustwave" +CKA_ISSUER MULTILINE_OCTAL +\060\201\253\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\021\060\017\006\003\125\004\010\023\010\111\154\154\151\156 +\157\151\163\061\020\060\016\006\003\125\004\007\023\007\103\150 +\151\143\141\147\157\061\041\060\037\006\003\125\004\012\023\030 +\124\162\165\163\164\167\141\166\145\040\110\157\154\144\151\156 +\147\163\054\040\111\156\143\056\061\063\060\061\006\003\125\004 +\003\023\052\124\162\165\163\164\167\141\166\145\040\117\162\147 +\141\156\151\172\141\164\151\157\156\040\111\163\163\165\151\156 +\147\040\103\101\054\040\114\145\166\145\154\040\062\061\037\060 +\035\006\011\052\206\110\206\367\015\001\011\001\026\020\143\141 +\100\164\162\165\163\164\167\141\166\145\056\143\157\155 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\153\111\322\005 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# Explicitly Distrust "MITM subCA 2 issued by Trustwave", Bug 724929 +# Issuer: E=ca@trustwave.com,CN="Trustwave Organization Issuing CA, Level 2",O="Trustwave Holdings, Inc.",L=Chicago,ST=Illinois,C=US +# Serial Number: 1800000006 (0x6b49d206) +# Not Before: Apr 18 21:09:30 2011 GMT +# Not After : Apr 15 21:09:30 2021 GMT +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "MITM subCA 2 issued by Trustwave" +CKA_ISSUER MULTILINE_OCTAL +\060\201\253\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\021\060\017\006\003\125\004\010\023\010\111\154\154\151\156 +\157\151\163\061\020\060\016\006\003\125\004\007\023\007\103\150 +\151\143\141\147\157\061\041\060\037\006\003\125\004\012\023\030 +\124\162\165\163\164\167\141\166\145\040\110\157\154\144\151\156 +\147\163\054\040\111\156\143\056\061\063\060\061\006\003\125\004 +\003\023\052\124\162\165\163\164\167\141\166\145\040\117\162\147 +\141\156\151\172\141\164\151\157\156\040\111\163\163\165\151\156 +\147\040\103\101\054\040\114\145\166\145\154\040\062\061\037\060 +\035\006\011\052\206\110\206\367\015\001\011\001\026\020\143\141 +\100\164\162\165\163\164\167\141\166\145\056\143\157\155 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\153\111\322\006 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Actalis Authentication Root CA" +# +# Issuer: CN=Actalis Authentication Root CA,O=Actalis S.p.A./03358520967,L=Milan,C=IT +# Serial Number:57:0a:11:97:42:c4:e3:cc +# Subject: CN=Actalis Authentication Root CA,O=Actalis S.p.A./03358520967,L=Milan,C=IT +# Not Valid Before: Thu Sep 22 11:22:02 2011 +# Not Valid After : Sun Sep 22 11:22:02 2030 +# Fingerprint (MD5): 69:C1:0D:4F:07:A3:1B:C3:FE:56:3D:04:BC:11:F6:A6 +# Fingerprint (SHA1): F3:73:B3:87:06:5A:28:84:8A:F2:F3:4A:CE:19:2B:DD:C7:8E:9C:AC +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Actalis Authentication Root CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\153\061\013\060\011\006\003\125\004\006\023\002\111\124\061 +\016\060\014\006\003\125\004\007\014\005\115\151\154\141\156\061 +\043\060\041\006\003\125\004\012\014\032\101\143\164\141\154\151 +\163\040\123\056\160\056\101\056\057\060\063\063\065\070\065\062 +\060\071\066\067\061\047\060\045\006\003\125\004\003\014\036\101 +\143\164\141\154\151\163\040\101\165\164\150\145\156\164\151\143 +\141\164\151\157\156\040\122\157\157\164\040\103\101 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\153\061\013\060\011\006\003\125\004\006\023\002\111\124\061 +\016\060\014\006\003\125\004\007\014\005\115\151\154\141\156\061 +\043\060\041\006\003\125\004\012\014\032\101\143\164\141\154\151 +\163\040\123\056\160\056\101\056\057\060\063\063\065\070\065\062 +\060\071\066\067\061\047\060\045\006\003\125\004\003\014\036\101 +\143\164\141\154\151\163\040\101\165\164\150\145\156\164\151\143 +\141\164\151\157\156\040\122\157\157\164\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\127\012\021\227\102\304\343\314 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\273\060\202\003\243\240\003\002\001\002\002\010\127 +\012\021\227\102\304\343\314\060\015\006\011\052\206\110\206\367 +\015\001\001\013\005\000\060\153\061\013\060\011\006\003\125\004 +\006\023\002\111\124\061\016\060\014\006\003\125\004\007\014\005 +\115\151\154\141\156\061\043\060\041\006\003\125\004\012\014\032 +\101\143\164\141\154\151\163\040\123\056\160\056\101\056\057\060 +\063\063\065\070\065\062\060\071\066\067\061\047\060\045\006\003 +\125\004\003\014\036\101\143\164\141\154\151\163\040\101\165\164 +\150\145\156\164\151\143\141\164\151\157\156\040\122\157\157\164 +\040\103\101\060\036\027\015\061\061\060\071\062\062\061\061\062 +\062\060\062\132\027\015\063\060\060\071\062\062\061\061\062\062 +\060\062\132\060\153\061\013\060\011\006\003\125\004\006\023\002 +\111\124\061\016\060\014\006\003\125\004\007\014\005\115\151\154 +\141\156\061\043\060\041\006\003\125\004\012\014\032\101\143\164 +\141\154\151\163\040\123\056\160\056\101\056\057\060\063\063\065 +\070\065\062\060\071\066\067\061\047\060\045\006\003\125\004\003 +\014\036\101\143\164\141\154\151\163\040\101\165\164\150\145\156 +\164\151\143\141\164\151\157\156\040\122\157\157\164\040\103\101 +\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001 +\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001 +\000\247\306\304\245\051\244\054\357\345\030\305\260\120\243\157 +\121\073\237\012\132\311\302\110\070\012\302\034\240\030\177\221 +\265\207\271\100\077\335\035\150\037\010\203\325\055\036\210\240 +\370\217\126\217\155\231\002\222\220\026\325\137\010\154\211\327 +\341\254\274\040\302\261\340\203\121\212\151\115\000\226\132\157 +\057\300\104\176\243\016\344\221\315\130\356\334\373\307\036\105 +\107\335\047\271\010\001\237\246\041\035\365\101\055\057\114\375 +\050\255\340\212\255\042\264\126\145\216\206\124\217\223\103\051 +\336\071\106\170\243\060\043\272\315\360\175\023\127\300\135\322 +\203\153\110\114\304\253\237\200\132\133\072\275\311\247\042\077 +\200\047\063\133\016\267\212\014\135\007\067\010\313\154\322\172 +\107\042\104\065\305\314\314\056\216\335\052\355\267\175\146\015 +\137\141\121\042\125\033\343\106\343\343\075\320\065\142\232\333 +\257\024\310\133\241\314\211\033\341\060\046\374\240\233\037\201 +\247\107\037\004\353\243\071\222\006\237\231\323\277\323\352\117 +\120\234\031\376\226\207\036\074\145\366\243\030\044\203\206\020 +\347\124\076\250\072\166\044\117\201\041\305\343\017\002\370\223 +\224\107\040\273\376\324\016\323\150\271\335\304\172\204\202\343 +\123\124\171\335\333\234\322\362\007\233\056\266\274\076\355\205 +\155\357\045\021\362\227\032\102\141\367\112\227\350\213\261\020 +\007\372\145\201\262\242\071\317\367\074\377\030\373\306\361\132 +\213\131\342\002\254\173\222\320\116\024\117\131\105\366\014\136 +\050\137\260\350\077\105\317\317\257\233\157\373\204\323\167\132 +\225\157\254\224\204\236\356\274\300\112\217\112\223\370\104\041 +\342\061\105\141\120\116\020\330\343\065\174\114\031\264\336\005 +\277\243\006\237\310\265\315\344\037\327\027\006\015\172\225\164 +\125\015\150\032\374\020\033\142\144\235\155\340\225\240\303\224 +\007\127\015\024\346\275\005\373\270\237\346\337\213\342\306\347 +\176\226\366\123\305\200\064\120\050\130\360\022\120\161\027\060 +\272\346\170\143\274\364\262\255\233\053\262\376\341\071\214\136 +\272\013\040\224\336\173\203\270\377\343\126\215\267\021\351\073 +\214\362\261\301\135\235\244\013\114\053\331\262\030\365\265\237 +\113\002\003\001\000\001\243\143\060\141\060\035\006\003\125\035 +\016\004\026\004\024\122\330\210\072\310\237\170\146\355\211\363 +\173\070\160\224\311\002\002\066\320\060\017\006\003\125\035\023 +\001\001\377\004\005\060\003\001\001\377\060\037\006\003\125\035 +\043\004\030\060\026\200\024\122\330\210\072\310\237\170\146\355 +\211\363\173\070\160\224\311\002\002\066\320\060\016\006\003\125 +\035\017\001\001\377\004\004\003\002\001\006\060\015\006\011\052 +\206\110\206\367\015\001\001\013\005\000\003\202\002\001\000\013 +\173\162\207\300\140\246\111\114\210\130\346\035\210\367\024\144 +\110\246\330\130\012\016\117\023\065\337\065\035\324\355\006\061 +\310\201\076\152\325\335\073\032\062\356\220\075\021\322\056\364 +\216\303\143\056\043\146\260\147\276\157\266\300\023\071\140\252 +\242\064\045\223\165\122\336\247\235\255\016\207\211\122\161\152 +\026\074\031\035\203\370\232\051\145\276\364\077\232\331\360\363 +\132\207\041\161\200\115\313\340\070\233\077\273\372\340\060\115 +\317\206\323\145\020\031\030\321\227\002\261\053\162\102\150\254 +\240\275\116\132\332\030\277\153\230\201\320\375\232\276\136\025 +\110\315\021\025\271\300\051\134\264\350\210\367\076\066\256\267 +\142\375\036\142\336\160\170\020\034\110\133\332\274\244\070\272 +\147\355\125\076\136\127\337\324\003\100\114\201\244\322\117\143 +\247\011\102\011\024\374\000\251\302\200\163\117\056\300\100\331 +\021\173\110\352\172\002\300\323\353\050\001\046\130\164\301\300 +\163\042\155\223\225\375\071\175\273\052\343\366\202\343\054\227 +\137\116\037\221\224\372\376\054\243\330\166\032\270\115\262\070 +\117\233\372\035\110\140\171\046\342\363\375\251\320\232\350\160 +\217\111\172\326\345\275\012\016\333\055\363\215\277\353\343\244 +\175\313\307\225\161\350\332\243\174\305\302\370\164\222\004\033 +\206\254\244\042\123\100\266\254\376\114\166\317\373\224\062\300 +\065\237\166\077\156\345\220\156\240\246\046\242\270\054\276\321 +\053\205\375\247\150\310\272\001\053\261\154\164\035\270\163\225 +\347\356\267\307\045\360\000\114\000\262\176\266\013\213\034\363 +\300\120\236\045\271\340\010\336\066\146\377\067\245\321\273\124 +\144\054\311\047\265\113\222\176\145\377\323\055\341\271\116\274 +\177\244\101\041\220\101\167\246\071\037\352\236\343\237\320\146 +\157\005\354\252\166\176\277\153\026\240\353\265\307\374\222\124 +\057\053\021\047\045\067\170\114\121\152\260\363\314\130\135\024 +\361\152\110\025\377\302\007\266\261\215\017\216\134\120\106\263 +\075\277\001\230\117\262\131\124\107\076\064\173\170\155\126\223 +\056\163\352\146\050\170\315\035\024\277\240\217\057\056\270\056 +\216\362\024\212\314\351\265\174\373\154\235\014\245\341\226 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "Actalis Authentication Root CA" +# Issuer: CN=Actalis Authentication Root CA,O=Actalis S.p.A./03358520967,L=Milan,C=IT +# Serial Number:57:0a:11:97:42:c4:e3:cc +# Subject: CN=Actalis Authentication Root CA,O=Actalis S.p.A./03358520967,L=Milan,C=IT +# Not Valid Before: Thu Sep 22 11:22:02 2011 +# Not Valid After : Sun Sep 22 11:22:02 2030 +# Fingerprint (MD5): 69:C1:0D:4F:07:A3:1B:C3:FE:56:3D:04:BC:11:F6:A6 +# Fingerprint (SHA1): F3:73:B3:87:06:5A:28:84:8A:F2:F3:4A:CE:19:2B:DD:C7:8E:9C:AC +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Actalis Authentication Root CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\363\163\263\207\006\132\050\204\212\362\363\112\316\031\053\335 +\307\216\234\254 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\151\301\015\117\007\243\033\303\376\126\075\004\274\021\366\246 +END +CKA_ISSUER MULTILINE_OCTAL +\060\153\061\013\060\011\006\003\125\004\006\023\002\111\124\061 +\016\060\014\006\003\125\004\007\014\005\115\151\154\141\156\061 +\043\060\041\006\003\125\004\012\014\032\101\143\164\141\154\151 +\163\040\123\056\160\056\101\056\057\060\063\063\065\070\065\062 +\060\071\066\067\061\047\060\045\006\003\125\004\003\014\036\101 +\143\164\141\154\151\163\040\101\165\164\150\145\156\164\151\143 +\141\164\151\157\156\040\122\157\157\164\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\127\012\021\227\102\304\343\314 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Trustis FPS Root CA" +# +# Issuer: OU=Trustis FPS Root CA,O=Trustis Limited,C=GB +# Serial Number:1b:1f:ad:b6:20:f9:24:d3:36:6b:f7:c7:f1:8c:a0:59 +# Subject: OU=Trustis FPS Root CA,O=Trustis Limited,C=GB +# Not Valid Before: Tue Dec 23 12:14:06 2003 +# Not Valid After : Sun Jan 21 11:36:54 2024 +# Fingerprint (MD5): 30:C9:E7:1E:6B:E6:14:EB:65:B2:16:69:20:31:67:4D +# Fingerprint (SHA1): 3B:C0:38:0B:33:C3:F6:A6:0C:86:15:22:93:D9:DF:F5:4B:81:C0:04 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Trustis FPS Root CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\105\061\013\060\011\006\003\125\004\006\023\002\107\102\061 +\030\060\026\006\003\125\004\012\023\017\124\162\165\163\164\151 +\163\040\114\151\155\151\164\145\144\061\034\060\032\006\003\125 +\004\013\023\023\124\162\165\163\164\151\163\040\106\120\123\040 +\122\157\157\164\040\103\101 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\105\061\013\060\011\006\003\125\004\006\023\002\107\102\061 +\030\060\026\006\003\125\004\012\023\017\124\162\165\163\164\151 +\163\040\114\151\155\151\164\145\144\061\034\060\032\006\003\125 +\004\013\023\023\124\162\165\163\164\151\163\040\106\120\123\040 +\122\157\157\164\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\033\037\255\266\040\371\044\323\066\153\367\307\361\214 +\240\131 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\147\060\202\002\117\240\003\002\001\002\002\020\033 +\037\255\266\040\371\044\323\066\153\367\307\361\214\240\131\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\105 +\061\013\060\011\006\003\125\004\006\023\002\107\102\061\030\060 +\026\006\003\125\004\012\023\017\124\162\165\163\164\151\163\040 +\114\151\155\151\164\145\144\061\034\060\032\006\003\125\004\013 +\023\023\124\162\165\163\164\151\163\040\106\120\123\040\122\157 +\157\164\040\103\101\060\036\027\015\060\063\061\062\062\063\061 +\062\061\064\060\066\132\027\015\062\064\060\061\062\061\061\061 +\063\066\065\064\132\060\105\061\013\060\011\006\003\125\004\006 +\023\002\107\102\061\030\060\026\006\003\125\004\012\023\017\124 +\162\165\163\164\151\163\040\114\151\155\151\164\145\144\061\034 +\060\032\006\003\125\004\013\023\023\124\162\165\163\164\151\163 +\040\106\120\123\040\122\157\157\164\040\103\101\060\202\001\042 +\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003 +\202\001\017\000\060\202\001\012\002\202\001\001\000\305\120\173 +\236\073\065\320\337\304\214\315\216\233\355\243\300\066\231\364 +\102\352\247\076\200\203\017\246\247\131\207\311\220\105\103\176 +\000\352\206\171\052\003\275\075\067\231\211\146\267\345\212\126 +\206\223\234\150\113\150\004\214\223\223\002\076\060\322\067\072 +\042\141\211\034\205\116\175\217\325\257\173\065\366\176\050\107 +\211\061\334\016\171\144\037\231\322\133\272\376\177\140\277\255 +\353\347\074\070\051\152\057\345\221\013\125\377\354\157\130\325 +\055\311\336\114\146\161\217\014\327\004\332\007\346\036\030\343 +\275\051\002\250\372\034\341\133\271\203\250\101\110\274\032\161 +\215\347\142\345\055\262\353\337\174\317\333\253\132\312\061\361 +\114\042\363\005\023\367\202\371\163\171\014\276\327\113\034\300 +\321\025\074\223\101\144\321\346\276\043\027\042\000\211\136\037 +\153\245\254\156\247\113\214\355\243\162\346\257\143\115\057\205 +\322\024\065\232\056\116\214\352\062\230\050\206\241\221\011\101 +\072\264\341\343\362\372\360\311\012\242\101\335\251\343\003\307 +\210\025\073\034\324\032\224\327\237\144\131\022\155\002\003\001 +\000\001\243\123\060\121\060\017\006\003\125\035\023\001\001\377 +\004\005\060\003\001\001\377\060\037\006\003\125\035\043\004\030 +\060\026\200\024\272\372\161\045\171\213\127\101\045\041\206\013 +\161\353\262\144\016\213\041\147\060\035\006\003\125\035\016\004 +\026\004\024\272\372\161\045\171\213\127\101\045\041\206\013\161 +\353\262\144\016\213\041\147\060\015\006\011\052\206\110\206\367 +\015\001\001\005\005\000\003\202\001\001\000\176\130\377\375\065 +\031\175\234\030\117\236\260\053\274\216\214\024\377\054\240\332 +\107\133\303\357\201\055\257\005\352\164\110\133\363\076\116\007 +\307\155\305\263\223\317\042\065\134\266\077\165\047\137\011\226 +\315\240\376\276\100\014\134\022\125\370\223\202\312\051\351\136 +\077\126\127\213\070\066\367\105\032\114\050\315\236\101\270\355 +\126\114\204\244\100\310\270\260\245\053\151\160\004\152\303\370 +\324\022\062\371\016\303\261\334\062\204\104\054\157\313\106\017 +\352\146\101\017\117\361\130\245\246\015\015\017\141\336\245\236 +\135\175\145\241\074\027\347\250\125\116\357\240\307\355\306\104 +\177\124\365\243\340\217\360\174\125\042\217\051\266\201\243\341 +\155\116\054\033\200\147\354\255\040\237\014\142\141\325\227\377 +\103\355\055\301\332\135\051\052\205\077\254\145\356\206\017\005 +\215\220\137\337\356\237\364\277\356\035\373\230\344\177\220\053 +\204\170\020\016\154\111\123\357\025\133\145\106\112\135\257\272 +\373\072\162\035\315\366\045\210\036\227\314\041\234\051\001\015 +\145\353\127\331\363\127\226\273\110\315\201 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "Trustis FPS Root CA" +# Issuer: OU=Trustis FPS Root CA,O=Trustis Limited,C=GB +# Serial Number:1b:1f:ad:b6:20:f9:24:d3:36:6b:f7:c7:f1:8c:a0:59 +# Subject: OU=Trustis FPS Root CA,O=Trustis Limited,C=GB +# Not Valid Before: Tue Dec 23 12:14:06 2003 +# Not Valid After : Sun Jan 21 11:36:54 2024 +# Fingerprint (MD5): 30:C9:E7:1E:6B:E6:14:EB:65:B2:16:69:20:31:67:4D +# Fingerprint (SHA1): 3B:C0:38:0B:33:C3:F6:A6:0C:86:15:22:93:D9:DF:F5:4B:81:C0:04 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Trustis FPS Root CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\073\300\070\013\063\303\366\246\014\206\025\042\223\331\337\365 +\113\201\300\004 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\060\311\347\036\153\346\024\353\145\262\026\151\040\061\147\115 +END +CKA_ISSUER MULTILINE_OCTAL +\060\105\061\013\060\011\006\003\125\004\006\023\002\107\102\061 +\030\060\026\006\003\125\004\012\023\017\124\162\165\163\164\151 +\163\040\114\151\155\151\164\145\144\061\034\060\032\006\003\125 +\004\013\023\023\124\162\165\163\164\151\163\040\106\120\123\040 +\122\157\157\164\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\033\037\255\266\040\371\044\323\066\153\367\307\361\214 +\240\131 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Buypass Class 2 Root CA" +# +# Issuer: CN=Buypass Class 2 Root CA,O=Buypass AS-983163327,C=NO +# Serial Number: 2 (0x2) +# Subject: CN=Buypass Class 2 Root CA,O=Buypass AS-983163327,C=NO +# Not Valid Before: Tue Oct 26 08:38:03 2010 +# Not Valid After : Fri Oct 26 08:38:03 2040 +# Fingerprint (MD5): 46:A7:D2:FE:45:FB:64:5A:A8:59:90:9B:78:44:9B:29 +# Fingerprint (SHA1): 49:0A:75:74:DE:87:0A:47:FE:58:EE:F6:C7:6B:EB:C6:0B:12:40:99 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Buypass Class 2 Root CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061 +\035\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163 +\163\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040 +\060\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163 +\040\103\154\141\163\163\040\062\040\122\157\157\164\040\103\101 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061 +\035\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163 +\163\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040 +\060\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163 +\040\103\154\141\163\163\040\062\040\122\157\157\164\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\002 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\131\060\202\003\101\240\003\002\001\002\002\001\002 +\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060 +\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061\035 +\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163\163 +\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040\060 +\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163\040 +\103\154\141\163\163\040\062\040\122\157\157\164\040\103\101\060 +\036\027\015\061\060\061\060\062\066\060\070\063\070\060\063\132 +\027\015\064\060\061\060\062\066\060\070\063\070\060\063\132\060 +\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061\035 +\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163\163 +\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040\060 +\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163\040 +\103\154\141\163\163\040\062\040\122\157\157\164\040\103\101\060 +\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001\001 +\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000 +\327\307\136\367\301\007\324\167\373\103\041\364\364\365\151\344 +\356\062\001\333\243\206\037\344\131\015\272\347\165\203\122\353 +\352\034\141\025\110\273\035\007\312\214\256\260\334\226\235\352 +\303\140\222\206\202\050\163\234\126\006\377\113\144\360\014\052 +\067\111\265\345\317\014\174\356\361\112\273\163\060\145\363\325 +\057\203\266\176\343\347\365\236\253\140\371\323\361\235\222\164 +\212\344\034\226\254\133\200\351\265\364\061\207\243\121\374\307 +\176\241\157\216\123\167\324\227\301\125\063\222\076\030\057\165 +\324\255\206\111\313\225\257\124\006\154\330\006\023\215\133\377 +\341\046\031\131\300\044\272\201\161\171\220\104\120\150\044\224 +\137\270\263\021\361\051\101\141\243\101\313\043\066\325\301\361 +\062\120\020\116\177\364\206\223\354\204\323\216\274\113\277\134 +\001\116\007\075\334\024\212\224\012\244\352\163\373\013\121\350 +\023\007\030\372\016\361\053\321\124\025\175\074\341\367\264\031 +\102\147\142\136\167\340\242\125\354\266\331\151\027\325\072\257 +\104\355\112\305\236\344\172\047\174\345\165\327\252\313\045\347 +\337\153\012\333\017\115\223\116\250\240\315\173\056\362\131\001 +\152\267\015\270\007\201\176\213\070\033\070\346\012\127\231\075 +\356\041\350\243\365\014\026\335\213\354\064\216\234\052\034\000 +\025\027\215\150\203\322\160\237\030\010\315\021\150\325\311\153 +\122\315\304\106\217\334\265\363\330\127\163\036\351\224\071\004 +\277\323\336\070\336\264\123\354\151\034\242\176\304\217\344\033 +\160\255\362\242\371\373\367\026\144\146\151\237\111\121\242\342 +\025\030\147\006\112\177\325\154\265\115\263\063\340\141\353\135 +\276\351\230\017\062\327\035\113\074\056\132\001\122\221\011\362 +\337\352\215\330\006\100\143\252\021\344\376\303\067\236\024\122 +\077\364\342\314\362\141\223\321\375\147\153\327\122\256\277\150 +\253\100\103\240\127\065\123\170\360\123\370\141\102\007\144\306 +\327\157\233\114\070\015\143\254\142\257\066\213\242\163\012\015 +\365\041\275\164\252\115\352\162\003\111\333\307\137\035\142\143 +\307\375\335\221\354\063\356\365\155\264\156\060\150\336\310\326 +\046\260\165\136\173\264\007\040\230\241\166\062\270\115\154\117 +\002\003\001\000\001\243\102\060\100\060\017\006\003\125\035\023 +\001\001\377\004\005\060\003\001\001\377\060\035\006\003\125\035 +\016\004\026\004\024\311\200\167\340\142\222\202\365\106\234\363 +\272\367\114\303\336\270\243\255\071\060\016\006\003\125\035\017 +\001\001\377\004\004\003\002\001\006\060\015\006\011\052\206\110 +\206\367\015\001\001\013\005\000\003\202\002\001\000\123\137\041 +\365\272\260\072\122\071\054\222\260\154\000\311\357\316\040\357 +\006\362\226\236\351\244\164\177\172\026\374\267\365\266\373\025 +\033\077\253\246\300\162\135\020\261\161\356\274\117\343\255\254 +\003\155\056\161\056\257\304\343\255\243\275\014\021\247\264\377 +\112\262\173\020\020\037\247\127\101\262\300\256\364\054\131\326 +\107\020\210\363\041\121\051\060\312\140\206\257\106\253\035\355 +\072\133\260\224\336\104\343\101\010\242\301\354\035\326\375\117 +\266\326\107\320\024\013\312\346\312\265\173\167\176\101\037\136 +\203\307\266\214\071\226\260\077\226\201\101\157\140\220\342\350 +\371\373\042\161\331\175\263\075\106\277\264\204\257\220\034\017 +\217\022\152\257\357\356\036\172\256\002\112\212\027\053\166\376 +\254\124\211\044\054\117\077\266\262\247\116\214\250\221\227\373 +\051\306\173\134\055\271\313\146\266\267\250\133\022\121\205\265 +\011\176\142\170\160\376\251\152\140\266\035\016\171\014\375\312 +\352\044\200\162\303\227\077\362\167\253\103\042\012\307\353\266 +\014\204\202\054\200\153\101\212\010\300\353\245\153\337\231\022 +\313\212\325\136\200\014\221\340\046\010\066\110\305\372\070\021 +\065\377\045\203\055\362\172\277\332\375\216\376\245\313\105\054 +\037\304\210\123\256\167\016\331\232\166\305\216\054\035\243\272 +\325\354\062\256\300\252\254\367\321\172\115\353\324\007\342\110 +\367\042\216\260\244\237\152\316\216\262\262\140\364\243\042\320 +\043\353\224\132\172\151\335\017\277\100\127\254\153\131\120\331 +\243\231\341\156\376\215\001\171\047\043\025\336\222\235\173\011 +\115\132\347\113\110\060\132\030\346\012\155\346\217\340\322\273 +\346\337\174\156\041\202\301\150\071\115\264\230\130\146\142\314 +\112\220\136\303\372\047\004\261\171\025\164\231\314\276\255\040 +\336\046\140\034\353\126\121\246\243\352\344\243\077\247\377\141 +\334\361\132\115\154\062\043\103\356\254\250\356\356\112\022\011 +\074\135\161\302\276\171\372\302\207\150\035\013\375\134\151\314 +\006\320\232\175\124\231\052\311\071\032\031\257\113\052\103\363 +\143\135\132\130\342\057\343\035\344\251\326\320\012\320\236\277 +\327\201\011\361\311\307\046\015\254\230\026\126\240 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "Buypass Class 2 Root CA" +# Issuer: CN=Buypass Class 2 Root CA,O=Buypass AS-983163327,C=NO +# Serial Number: 2 (0x2) +# Subject: CN=Buypass Class 2 Root CA,O=Buypass AS-983163327,C=NO +# Not Valid Before: Tue Oct 26 08:38:03 2010 +# Not Valid After : Fri Oct 26 08:38:03 2040 +# Fingerprint (MD5): 46:A7:D2:FE:45:FB:64:5A:A8:59:90:9B:78:44:9B:29 +# Fingerprint (SHA1): 49:0A:75:74:DE:87:0A:47:FE:58:EE:F6:C7:6B:EB:C6:0B:12:40:99 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Buypass Class 2 Root CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\111\012\165\164\336\207\012\107\376\130\356\366\307\153\353\306 +\013\022\100\231 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\106\247\322\376\105\373\144\132\250\131\220\233\170\104\233\051 +END +CKA_ISSUER MULTILINE_OCTAL +\060\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061 +\035\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163 +\163\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040 +\060\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163 +\040\103\154\141\163\163\040\062\040\122\157\157\164\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\002 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Buypass Class 3 Root CA" +# +# Issuer: CN=Buypass Class 3 Root CA,O=Buypass AS-983163327,C=NO +# Serial Number: 2 (0x2) +# Subject: CN=Buypass Class 3 Root CA,O=Buypass AS-983163327,C=NO +# Not Valid Before: Tue Oct 26 08:28:58 2010 +# Not Valid After : Fri Oct 26 08:28:58 2040 +# Fingerprint (MD5): 3D:3B:18:9E:2C:64:5A:E8:D5:88:CE:0E:F9:37:C2:EC +# Fingerprint (SHA1): DA:FA:F7:FA:66:84:EC:06:8F:14:50:BD:C7:C2:81:A5:BC:A9:64:57 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Buypass Class 3 Root CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061 +\035\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163 +\163\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040 +\060\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163 +\040\103\154\141\163\163\040\063\040\122\157\157\164\040\103\101 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061 +\035\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163 +\163\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040 +\060\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163 +\040\103\154\141\163\163\040\063\040\122\157\157\164\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\002 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\131\060\202\003\101\240\003\002\001\002\002\001\002 +\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060 +\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061\035 +\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163\163 +\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040\060 +\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163\040 +\103\154\141\163\163\040\063\040\122\157\157\164\040\103\101\060 +\036\027\015\061\060\061\060\062\066\060\070\062\070\065\070\132 +\027\015\064\060\061\060\062\066\060\070\062\070\065\070\132\060 +\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061\035 +\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163\163 +\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040\060 +\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163\040 +\103\154\141\163\163\040\063\040\122\157\157\164\040\103\101\060 +\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001\001 +\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000 +\245\332\012\225\026\120\343\225\362\136\235\166\061\006\062\172 +\233\361\020\166\270\000\232\265\122\066\315\044\107\260\237\030 +\144\274\232\366\372\325\171\330\220\142\114\042\057\336\070\075 +\326\340\250\351\034\054\333\170\021\351\216\150\121\025\162\307 +\363\063\207\344\240\135\013\134\340\127\007\052\060\365\315\304 +\067\167\050\115\030\221\346\277\325\122\375\161\055\160\076\347 +\306\304\212\343\360\050\013\364\166\230\241\213\207\125\262\072 +\023\374\267\076\047\067\216\042\343\250\117\052\357\140\273\075 +\267\071\303\016\001\107\231\135\022\117\333\103\372\127\241\355 +\371\235\276\021\107\046\133\023\230\253\135\026\212\260\067\034 +\127\235\105\377\210\226\066\277\273\312\007\173\157\207\143\327 +\320\062\152\326\135\154\014\361\263\156\071\342\153\061\056\071 +\000\047\024\336\070\300\354\031\146\206\022\350\235\162\026\023 +\144\122\307\251\067\034\375\202\060\355\204\030\035\364\256\134 +\377\160\023\000\353\261\365\063\172\113\326\125\370\005\215\113 +\151\260\365\263\050\066\134\024\304\121\163\115\153\013\361\064 +\007\333\027\071\327\334\050\173\153\365\237\363\056\301\117\027 +\052\020\363\314\312\350\353\375\153\253\056\232\237\055\202\156 +\004\324\122\001\223\055\075\206\374\176\374\337\357\102\035\246 +\153\357\271\040\306\367\275\240\247\225\375\247\346\211\044\330 +\314\214\064\154\342\043\057\331\022\032\041\271\125\221\157\013 +\221\171\031\014\255\100\210\013\160\342\172\322\016\330\150\110 +\273\202\023\071\020\130\351\330\052\007\306\022\333\130\333\322 +\073\125\020\107\005\025\147\142\176\030\143\246\106\077\011\016 +\124\062\136\277\015\142\172\047\357\200\350\333\331\113\006\132 +\067\132\045\320\010\022\167\324\157\011\120\227\075\310\035\303 +\337\214\105\060\126\306\323\144\253\146\363\300\136\226\234\303 +\304\357\303\174\153\213\072\171\177\263\111\317\075\342\211\237 +\240\060\113\205\271\234\224\044\171\217\175\153\251\105\150\017 +\053\320\361\332\034\313\151\270\312\111\142\155\310\320\143\142 +\335\140\017\130\252\217\241\274\005\245\146\242\317\033\166\262 +\204\144\261\114\071\122\300\060\272\360\214\113\002\260\266\267 +\002\003\001\000\001\243\102\060\100\060\017\006\003\125\035\023 +\001\001\377\004\005\060\003\001\001\377\060\035\006\003\125\035 +\016\004\026\004\024\107\270\315\377\345\157\356\370\262\354\057 +\116\016\371\045\260\216\074\153\303\060\016\006\003\125\035\017 +\001\001\377\004\004\003\002\001\006\060\015\006\011\052\206\110 +\206\367\015\001\001\013\005\000\003\202\002\001\000\000\040\043 +\101\065\004\220\302\100\142\140\357\342\065\114\327\077\254\342 +\064\220\270\241\157\166\372\026\026\244\110\067\054\351\220\302 +\362\074\370\012\237\330\201\345\273\133\332\045\054\244\247\125 +\161\044\062\366\310\013\362\274\152\370\223\254\262\007\302\137 +\237\333\314\310\212\252\276\152\157\341\111\020\314\061\327\200 +\273\273\310\330\242\016\144\127\352\242\365\302\251\061\025\322 +\040\152\354\374\042\001\050\317\206\270\200\036\251\314\021\245 +\074\362\026\263\107\235\374\322\200\041\304\313\320\107\160\101 +\241\312\203\031\010\054\155\362\135\167\234\212\024\023\324\066 +\034\222\360\345\006\067\334\246\346\220\233\070\217\134\153\033 +\106\206\103\102\137\076\001\007\123\124\135\145\175\367\212\163 +\241\232\124\132\037\051\103\024\047\302\205\017\265\210\173\032 +\073\224\267\035\140\247\265\234\347\051\151\127\132\233\223\172 +\103\060\033\003\327\142\310\100\246\252\374\144\344\112\327\221 +\123\001\250\040\210\156\234\137\104\271\313\140\201\064\354\157 +\323\175\332\110\137\353\264\220\274\055\251\034\013\254\034\325 +\242\150\040\200\004\326\374\261\217\057\273\112\061\015\112\206 +\034\353\342\066\051\046\365\332\330\304\362\165\141\317\176\256 +\166\143\112\172\100\145\223\207\370\036\200\214\206\345\206\326 +\217\016\374\123\054\140\350\026\141\032\242\076\103\173\315\071 +\140\124\152\365\362\211\046\001\150\203\110\242\063\350\311\004 +\221\262\021\064\021\076\352\320\103\031\037\003\223\220\014\377 +\121\075\127\364\101\156\341\313\240\276\353\311\143\315\155\314 +\344\370\066\252\150\235\355\275\135\227\160\104\015\266\016\065 +\334\341\014\135\273\240\121\224\313\176\026\353\021\057\243\222 +\105\310\114\161\331\274\311\231\122\127\106\057\120\317\275\065 +\151\364\075\025\316\006\245\054\017\076\366\201\272\224\273\303 +\273\277\145\170\322\206\171\377\111\073\032\203\014\360\336\170 +\354\310\362\115\114\032\336\202\051\370\301\132\332\355\356\346 +\047\136\350\105\320\235\034\121\250\150\253\104\343\320\213\152 +\343\370\073\273\334\115\327\144\362\121\276\346\252\253\132\351 +\061\356\006\274\163\277\023\142\012\237\307\271\227 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "Buypass Class 3 Root CA" +# Issuer: CN=Buypass Class 3 Root CA,O=Buypass AS-983163327,C=NO +# Serial Number: 2 (0x2) +# Subject: CN=Buypass Class 3 Root CA,O=Buypass AS-983163327,C=NO +# Not Valid Before: Tue Oct 26 08:28:58 2010 +# Not Valid After : Fri Oct 26 08:28:58 2040 +# Fingerprint (MD5): 3D:3B:18:9E:2C:64:5A:E8:D5:88:CE:0E:F9:37:C2:EC +# Fingerprint (SHA1): DA:FA:F7:FA:66:84:EC:06:8F:14:50:BD:C7:C2:81:A5:BC:A9:64:57 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Buypass Class 3 Root CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\332\372\367\372\146\204\354\006\217\024\120\275\307\302\201\245 +\274\251\144\127 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\075\073\030\236\054\144\132\350\325\210\316\016\371\067\302\354 +END +CKA_ISSUER MULTILINE_OCTAL +\060\116\061\013\060\011\006\003\125\004\006\023\002\116\117\061 +\035\060\033\006\003\125\004\012\014\024\102\165\171\160\141\163 +\163\040\101\123\055\071\070\063\061\066\063\063\062\067\061\040 +\060\036\006\003\125\004\003\014\027\102\165\171\160\141\163\163 +\040\103\154\141\163\163\040\063\040\122\157\157\164\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\002 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "T-TeleSec GlobalRoot Class 3" +# +# Issuer: CN=T-TeleSec GlobalRoot Class 3,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE +# Serial Number: 1 (0x1) +# Subject: CN=T-TeleSec GlobalRoot Class 3,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE +# Not Valid Before: Wed Oct 01 10:29:56 2008 +# Not Valid After : Sat Oct 01 23:59:59 2033 +# Fingerprint (MD5): CA:FB:40:A8:4E:39:92:8A:1D:FE:8E:2F:C4:27:EA:EF +# Fingerprint (SHA1): 55:A6:72:3E:CB:F2:EC:CD:C3:23:74:70:19:9D:2A:BE:11:E3:81:D1 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "T-TeleSec GlobalRoot Class 3" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105 +\061\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163 +\164\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040 +\123\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060 +\035\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155 +\163\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045 +\060\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123 +\145\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154 +\141\163\163\040\063 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105 +\061\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163 +\164\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040 +\123\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060 +\035\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155 +\163\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045 +\060\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123 +\145\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154 +\141\163\163\040\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\303\060\202\002\253\240\003\002\001\002\002\001\001 +\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060 +\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105\061 +\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163\164 +\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040\123 +\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060\035 +\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155\163 +\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045\060 +\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123\145 +\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154\141 +\163\163\040\063\060\036\027\015\060\070\061\060\060\061\061\060 +\062\071\065\066\132\027\015\063\063\061\060\060\061\062\063\065 +\071\065\071\132\060\201\202\061\013\060\011\006\003\125\004\006 +\023\002\104\105\061\053\060\051\006\003\125\004\012\014\042\124 +\055\123\171\163\164\145\155\163\040\105\156\164\145\162\160\162 +\151\163\145\040\123\145\162\166\151\143\145\163\040\107\155\142 +\110\061\037\060\035\006\003\125\004\013\014\026\124\055\123\171 +\163\164\145\155\163\040\124\162\165\163\164\040\103\145\156\164 +\145\162\061\045\060\043\006\003\125\004\003\014\034\124\055\124 +\145\154\145\123\145\143\040\107\154\157\142\141\154\122\157\157 +\164\040\103\154\141\163\163\040\063\060\202\001\042\060\015\006 +\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017 +\000\060\202\001\012\002\202\001\001\000\275\165\223\360\142\042 +\157\044\256\340\172\166\254\175\275\331\044\325\270\267\374\315 +\360\102\340\353\170\210\126\136\233\232\124\035\115\014\212\366 +\323\317\160\364\122\265\330\223\004\343\106\206\161\101\112\053 +\360\052\054\125\003\326\110\303\340\071\070\355\362\134\074\077 +\104\274\223\075\141\253\116\315\015\276\360\040\047\130\016\104 +\177\004\032\207\245\327\226\024\066\220\320\111\173\241\165\373 +\032\153\163\261\370\316\251\011\054\362\123\325\303\024\104\270 +\206\245\366\213\053\071\332\243\063\124\331\372\162\032\367\042 +\025\034\210\221\153\177\146\345\303\152\200\260\044\363\337\206 +\105\210\375\031\177\165\207\037\037\261\033\012\163\044\133\271 +\145\340\054\124\310\140\323\146\027\077\341\314\124\063\163\221 +\002\072\246\177\173\166\071\242\037\226\266\070\256\265\310\223 +\164\035\236\271\264\345\140\235\057\126\321\340\353\136\133\114 +\022\160\014\154\104\040\253\021\330\364\031\366\322\234\122\067 +\347\372\266\302\061\073\112\324\024\231\255\307\032\365\135\137 +\372\007\270\174\015\037\326\203\036\263\002\003\001\000\001\243 +\102\060\100\060\017\006\003\125\035\023\001\001\377\004\005\060 +\003\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004 +\003\002\001\006\060\035\006\003\125\035\016\004\026\004\024\265 +\003\367\166\073\141\202\152\022\252\030\123\353\003\041\224\277 +\376\316\312\060\015\006\011\052\206\110\206\367\015\001\001\013 +\005\000\003\202\001\001\000\126\075\357\224\325\275\332\163\262 +\130\276\256\220\255\230\047\227\376\001\261\260\122\000\270\115 +\344\033\041\164\033\176\300\356\136\151\052\045\257\134\326\035 +\332\322\171\311\363\227\051\340\206\207\336\004\131\017\361\131 +\324\144\205\113\231\257\045\004\036\311\106\251\227\336\202\262 +\033\160\237\234\366\257\161\061\335\173\005\245\054\323\271\312 +\107\366\312\362\366\347\255\271\110\077\274\026\267\301\155\364 +\352\011\257\354\363\265\347\005\236\246\036\212\123\121\326\223 +\201\314\164\223\366\271\332\246\045\005\164\171\132\176\100\076 +\202\113\046\021\060\156\341\077\101\307\107\000\065\325\365\323 +\367\124\076\201\075\332\111\152\232\263\357\020\075\346\353\157 +\321\310\042\107\313\314\317\001\061\222\331\030\343\042\276\011 +\036\032\076\132\262\344\153\014\124\172\175\103\116\270\211\245 +\173\327\242\075\226\206\314\362\046\064\055\152\222\235\232\032 +\320\060\342\135\116\004\260\137\213\040\176\167\301\075\225\202 +\321\106\232\073\074\170\270\157\241\320\015\144\242\170\036\051 +\116\223\303\244\124\024\133 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "T-TeleSec GlobalRoot Class 3" +# Issuer: CN=T-TeleSec GlobalRoot Class 3,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE +# Serial Number: 1 (0x1) +# Subject: CN=T-TeleSec GlobalRoot Class 3,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE +# Not Valid Before: Wed Oct 01 10:29:56 2008 +# Not Valid After : Sat Oct 01 23:59:59 2033 +# Fingerprint (MD5): CA:FB:40:A8:4E:39:92:8A:1D:FE:8E:2F:C4:27:EA:EF +# Fingerprint (SHA1): 55:A6:72:3E:CB:F2:EC:CD:C3:23:74:70:19:9D:2A:BE:11:E3:81:D1 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "T-TeleSec GlobalRoot Class 3" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\125\246\162\076\313\362\354\315\303\043\164\160\031\235\052\276 +\021\343\201\321 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\312\373\100\250\116\071\222\212\035\376\216\057\304\047\352\357 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105 +\061\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163 +\164\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040 +\123\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060 +\035\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155 +\163\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045 +\060\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123 +\145\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154 +\141\163\163\040\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "EE Certification Centre Root CA" +# +# Issuer: E=pki@sk.ee,CN=EE Certification Centre Root CA,O=AS Sertifitseerimiskeskus,C=EE +# Serial Number:54:80:f9:a0:73:ed:3f:00:4c:ca:89:d8:e3:71:e6:4a +# Subject: E=pki@sk.ee,CN=EE Certification Centre Root CA,O=AS Sertifitseerimiskeskus,C=EE +# Not Valid Before: Sat Oct 30 10:10:30 2010 +# Not Valid After : Tue Dec 17 23:59:59 2030 +# Fingerprint (MD5): 43:5E:88:D4:7D:1A:4A:7E:FD:84:2E:52:EB:01:D4:6F +# Fingerprint (SHA1): C9:A8:B9:E7:55:80:5E:58:E3:53:77:A7:25:EB:AF:C3:7B:27:CC:D7 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "EE Certification Centre Root CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\165\061\013\060\011\006\003\125\004\006\023\002\105\105\061 +\042\060\040\006\003\125\004\012\014\031\101\123\040\123\145\162 +\164\151\146\151\164\163\145\145\162\151\155\151\163\153\145\163 +\153\165\163\061\050\060\046\006\003\125\004\003\014\037\105\105 +\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\103 +\145\156\164\162\145\040\122\157\157\164\040\103\101\061\030\060 +\026\006\011\052\206\110\206\367\015\001\011\001\026\011\160\153 +\151\100\163\153\056\145\145 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\165\061\013\060\011\006\003\125\004\006\023\002\105\105\061 +\042\060\040\006\003\125\004\012\014\031\101\123\040\123\145\162 +\164\151\146\151\164\163\145\145\162\151\155\151\163\153\145\163 +\153\165\163\061\050\060\046\006\003\125\004\003\014\037\105\105 +\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\103 +\145\156\164\162\145\040\122\157\157\164\040\103\101\061\030\060 +\026\006\011\052\206\110\206\367\015\001\011\001\026\011\160\153 +\151\100\163\153\056\145\145 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\124\200\371\240\163\355\077\000\114\312\211\330\343\161 +\346\112 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\003\060\202\002\353\240\003\002\001\002\002\020\124 +\200\371\240\163\355\077\000\114\312\211\330\343\161\346\112\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\165 +\061\013\060\011\006\003\125\004\006\023\002\105\105\061\042\060 +\040\006\003\125\004\012\014\031\101\123\040\123\145\162\164\151 +\146\151\164\163\145\145\162\151\155\151\163\153\145\163\153\165 +\163\061\050\060\046\006\003\125\004\003\014\037\105\105\040\103 +\145\162\164\151\146\151\143\141\164\151\157\156\040\103\145\156 +\164\162\145\040\122\157\157\164\040\103\101\061\030\060\026\006 +\011\052\206\110\206\367\015\001\011\001\026\011\160\153\151\100 +\163\153\056\145\145\060\042\030\017\062\060\061\060\061\060\063 +\060\061\060\061\060\063\060\132\030\017\062\060\063\060\061\062 +\061\067\062\063\065\071\065\071\132\060\165\061\013\060\011\006 +\003\125\004\006\023\002\105\105\061\042\060\040\006\003\125\004 +\012\014\031\101\123\040\123\145\162\164\151\146\151\164\163\145 +\145\162\151\155\151\163\153\145\163\153\165\163\061\050\060\046 +\006\003\125\004\003\014\037\105\105\040\103\145\162\164\151\146 +\151\143\141\164\151\157\156\040\103\145\156\164\162\145\040\122 +\157\157\164\040\103\101\061\030\060\026\006\011\052\206\110\206 +\367\015\001\011\001\026\011\160\153\151\100\163\153\056\145\145 +\060\202\001\042\060\015\006\011\052\206\110\206\367\015\001\001 +\001\005\000\003\202\001\017\000\060\202\001\012\002\202\001\001 +\000\310\040\300\354\340\305\113\253\007\170\225\363\104\356\373 +\013\014\377\164\216\141\273\261\142\352\043\330\253\241\145\062 +\172\353\216\027\117\226\330\012\173\221\242\143\154\307\214\114 +\056\171\277\251\005\374\151\134\225\215\142\371\271\160\355\303 +\121\175\320\223\346\154\353\060\113\341\274\175\277\122\233\316 +\156\173\145\362\070\261\300\242\062\357\142\262\150\340\141\123 +\301\066\225\377\354\224\272\066\256\234\034\247\062\017\345\174 +\264\306\157\164\375\173\030\350\254\127\355\006\040\113\062\060 +\130\133\375\315\250\346\241\374\160\274\216\222\163\333\227\247 +\174\041\256\075\301\365\110\207\154\047\275\237\045\164\201\125 +\260\367\165\366\075\244\144\153\326\117\347\316\100\255\017\335 +\062\323\274\212\022\123\230\311\211\373\020\035\115\176\315\176 +\037\126\015\041\160\205\366\040\203\037\366\272\037\004\217\352 +\167\210\065\304\377\352\116\241\213\115\077\143\033\104\303\104 +\324\045\166\312\267\215\327\036\112\146\144\315\134\305\234\203 +\341\302\010\210\232\354\116\243\361\076\034\054\331\154\035\241 +\113\002\003\001\000\001\243\201\212\060\201\207\060\017\006\003 +\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006 +\003\125\035\017\001\001\377\004\004\003\002\001\006\060\035\006 +\003\125\035\016\004\026\004\024\022\362\132\076\352\126\034\277 +\315\006\254\361\361\045\311\251\113\324\024\231\060\105\006\003 +\125\035\045\004\076\060\074\006\010\053\006\001\005\005\007\003 +\002\006\010\053\006\001\005\005\007\003\001\006\010\053\006\001 +\005\005\007\003\003\006\010\053\006\001\005\005\007\003\004\006 +\010\053\006\001\005\005\007\003\010\006\010\053\006\001\005\005 +\007\003\011\060\015\006\011\052\206\110\206\367\015\001\001\005 +\005\000\003\202\001\001\000\173\366\344\300\015\252\031\107\267 +\115\127\243\376\255\273\261\152\325\017\236\333\344\143\305\216 +\241\120\126\223\226\270\070\300\044\042\146\274\123\024\141\225 +\277\320\307\052\226\071\077\175\050\263\020\100\041\152\304\257 +\260\122\167\030\341\226\330\126\135\343\335\066\136\035\247\120 +\124\240\305\052\344\252\214\224\212\117\235\065\377\166\244\006 +\023\221\242\242\175\000\104\077\125\323\202\074\032\325\133\274 +\126\114\042\056\106\103\212\044\100\055\363\022\270\073\160\032 +\244\226\271\032\257\207\101\032\152\030\015\006\117\307\076\156 +\271\051\115\015\111\211\021\207\062\133\346\113\004\310\344\134 +\346\164\163\224\135\026\230\023\225\376\373\333\261\104\345\072 +\160\254\067\153\346\263\063\162\050\311\263\127\240\366\002\026 +\210\006\013\266\246\113\040\050\324\336\075\213\255\067\005\123 +\164\376\156\314\274\103\027\161\136\371\305\314\032\251\141\356 +\367\166\014\363\162\364\162\255\317\162\002\066\007\107\317\357 +\031\120\211\140\314\351\044\225\017\302\313\035\362\157\166\220 +\307\314\165\301\226\305\235 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "EE Certification Centre Root CA" +# Issuer: E=pki@sk.ee,CN=EE Certification Centre Root CA,O=AS Sertifitseerimiskeskus,C=EE +# Serial Number:54:80:f9:a0:73:ed:3f:00:4c:ca:89:d8:e3:71:e6:4a +# Subject: E=pki@sk.ee,CN=EE Certification Centre Root CA,O=AS Sertifitseerimiskeskus,C=EE +# Not Valid Before: Sat Oct 30 10:10:30 2010 +# Not Valid After : Tue Dec 17 23:59:59 2030 +# Fingerprint (MD5): 43:5E:88:D4:7D:1A:4A:7E:FD:84:2E:52:EB:01:D4:6F +# Fingerprint (SHA1): C9:A8:B9:E7:55:80:5E:58:E3:53:77:A7:25:EB:AF:C3:7B:27:CC:D7 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "EE Certification Centre Root CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\311\250\271\347\125\200\136\130\343\123\167\247\045\353\257\303 +\173\047\314\327 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\103\136\210\324\175\032\112\176\375\204\056\122\353\001\324\157 +END +CKA_ISSUER MULTILINE_OCTAL +\060\165\061\013\060\011\006\003\125\004\006\023\002\105\105\061 +\042\060\040\006\003\125\004\012\014\031\101\123\040\123\145\162 +\164\151\146\151\164\163\145\145\162\151\155\151\163\153\145\163 +\153\165\163\061\050\060\046\006\003\125\004\003\014\037\105\105 +\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\103 +\145\156\164\162\145\040\122\157\157\164\040\103\101\061\030\060 +\026\006\011\052\206\110\206\367\015\001\011\001\026\011\160\153 +\151\100\163\153\056\145\145 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\124\200\371\240\163\355\077\000\114\312\211\330\343\161 +\346\112 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# Explicitly Distrust "TURKTRUST Mis-issued Intermediate CA 1", Bug 825022 +# Issuer: O=T..RKTRUST Bilgi ..leti..im ve Bili..im G..venli..i Hizmetleri A...,C=TR,CN=T..RKTRUST Elektronik Sunucu Sertifikas.. Hizmetleri +# Serial Number: 2087 (0x827) +# Subject: CN=*.EGO.GOV.TR,OU=EGO BILGI ISLEM,O=EGO,L=ANKARA,ST=ANKARA,C=TR +# Not Valid Before: Mon Aug 08 07:07:51 2011 +# Not Valid After : Tue Jul 06 07:07:51 2021 +# Fingerprint (MD5): F8:F5:25:FF:0C:31:CF:85:E1:0C:86:17:C1:CE:1F:8E +# Fingerprint (SHA1): C6:9F:28:C8:25:13:9E:65:A6:46:C4:34:AC:A5:A1:D2:00:29:5D:B1 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "TURKTRUST Mis-issued Intermediate CA 1" +CKA_ISSUER MULTILINE_OCTAL +\060\201\254\061\075\060\073\006\003\125\004\003\014\064\124\303 +\234\122\113\124\122\125\123\124\040\105\154\145\153\164\162\157 +\156\151\153\040\123\165\156\165\143\165\040\123\145\162\164\151 +\146\151\153\141\163\304\261\040\110\151\172\155\145\164\154\145 +\162\151\061\013\060\011\006\003\125\004\006\023\002\124\122\061 +\136\060\134\006\003\125\004\012\014\125\124\303\234\122\113\124 +\122\125\123\124\040\102\151\154\147\151\040\304\260\154\145\164 +\151\305\237\151\155\040\166\145\040\102\151\154\151\305\237\151 +\155\040\107\303\274\166\145\156\154\151\304\237\151\040\110\151 +\172\155\145\164\154\145\162\151\040\101\056\305\236\056\040\050 +\143\051\040\113\141\163\304\261\155\040\040\062\060\060\065 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\002\010\047 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# Explicitly Distrust "TURKTRUST Mis-issued Intermediate CA 2", Bug 825022 +# Issuer: O=T..RKTRUST Bilgi ..leti..im ve Bili..im G..venli..i Hizmetleri A...,C=TR,CN=T..RKTRUST Elektronik Sunucu Sertifikas.. Hizmetleri +# Serial Number: 2148 (0x864) +# Subject: E=ileti@kktcmerkezbankasi.org,CN=e-islem.kktcmerkezbankasi.org,O=KKTC Merkez Bankasi,L=Lefkosa,ST=Lefkosa,C=TR +# Not Valid Before: Mon Aug 08 07:07:51 2011 +# Not Valid After : Thu Aug 05 07:07:51 2021 +# Fingerprint (MD5): BF:C3:EC:AD:0F:42:4F:B4:B5:38:DB:35:BF:AD:84:A2 +# Fingerprint (SHA1): F9:2B:E5:26:6C:C0:5D:B2:DC:0D:C3:F2:DC:74:E0:2D:EF:D9:49:CB +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "TURKTRUST Mis-issued Intermediate CA 2" +CKA_ISSUER MULTILINE_OCTAL +\060\201\254\061\075\060\073\006\003\125\004\003\014\064\124\303 +\234\122\113\124\122\125\123\124\040\105\154\145\153\164\162\157 +\156\151\153\040\123\165\156\165\143\165\040\123\145\162\164\151 +\146\151\153\141\163\304\261\040\110\151\172\155\145\164\154\145 +\162\151\061\013\060\011\006\003\125\004\006\023\002\124\122\061 +\136\060\134\006\003\125\004\012\014\125\124\303\234\122\113\124 +\122\125\123\124\040\102\151\154\147\151\040\304\260\154\145\164 +\151\305\237\151\155\040\166\145\040\102\151\154\151\305\237\151 +\155\040\107\303\274\166\145\156\154\151\304\237\151\040\110\151 +\172\155\145\164\154\145\162\151\040\101\056\305\236\056\040\050 +\143\051\040\113\141\163\304\261\155\040\040\062\060\060\065 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\002\010\144 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_NOT_TRUSTED +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_NOT_TRUSTED +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_NOT_TRUSTED +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "D-TRUST Root Class 3 CA 2 2009" +# +# Issuer: CN=D-TRUST Root Class 3 CA 2 2009,O=D-Trust GmbH,C=DE +# Serial Number: 623603 (0x983f3) +# Subject: CN=D-TRUST Root Class 3 CA 2 2009,O=D-Trust GmbH,C=DE +# Not Valid Before: Thu Nov 05 08:35:58 2009 +# Not Valid After : Mon Nov 05 08:35:58 2029 +# Fingerprint (MD5): CD:E0:25:69:8D:47:AC:9C:89:35:90:F7:FD:51:3D:2F +# Fingerprint (SHA1): 58:E8:AB:B0:36:15:33:FB:80:F7:9B:1B:6D:29:D3:FF:8D:5F:00:F0 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "D-TRUST Root Class 3 CA 2 2009" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\115\061\013\060\011\006\003\125\004\006\023\002\104\105\061 +\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163 +\164\040\107\155\142\110\061\047\060\045\006\003\125\004\003\014 +\036\104\055\124\122\125\123\124\040\122\157\157\164\040\103\154 +\141\163\163\040\063\040\103\101\040\062\040\062\060\060\071 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\115\061\013\060\011\006\003\125\004\006\023\002\104\105\061 +\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163 +\164\040\107\155\142\110\061\047\060\045\006\003\125\004\003\014 +\036\104\055\124\122\125\123\124\040\122\157\157\164\040\103\154 +\141\163\163\040\063\040\103\101\040\062\040\062\060\060\071 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\003\011\203\363 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\063\060\202\003\033\240\003\002\001\002\002\003\011 +\203\363\060\015\006\011\052\206\110\206\367\015\001\001\013\005 +\000\060\115\061\013\060\011\006\003\125\004\006\023\002\104\105 +\061\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165 +\163\164\040\107\155\142\110\061\047\060\045\006\003\125\004\003 +\014\036\104\055\124\122\125\123\124\040\122\157\157\164\040\103 +\154\141\163\163\040\063\040\103\101\040\062\040\062\060\060\071 +\060\036\027\015\060\071\061\061\060\065\060\070\063\065\065\070 +\132\027\015\062\071\061\061\060\065\060\070\063\065\065\070\132 +\060\115\061\013\060\011\006\003\125\004\006\023\002\104\105\061 +\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163 +\164\040\107\155\142\110\061\047\060\045\006\003\125\004\003\014 +\036\104\055\124\122\125\123\124\040\122\157\157\164\040\103\154 +\141\163\163\040\063\040\103\101\040\062\040\062\060\060\071\060 +\202\001\042\060\015\006\011\052\206\110\206\367\015\001\001\001 +\005\000\003\202\001\017\000\060\202\001\012\002\202\001\001\000 +\323\262\112\317\172\107\357\165\233\043\372\072\057\326\120\105 +\211\065\072\306\153\333\376\333\000\150\250\340\003\021\035\067 +\120\010\237\115\112\150\224\065\263\123\321\224\143\247\040\126 +\257\336\121\170\354\052\075\363\110\110\120\076\012\337\106\125 +\213\047\155\303\020\115\015\221\122\103\330\207\340\135\116\066 +\265\041\312\137\071\100\004\137\133\176\314\243\306\053\251\100 +\036\331\066\204\326\110\363\222\036\064\106\040\044\301\244\121 +\216\112\032\357\120\077\151\135\031\177\105\303\307\001\217\121 +\311\043\350\162\256\264\274\126\011\177\022\313\034\261\257\051 +\220\012\311\125\314\017\323\264\032\355\107\065\132\112\355\234 +\163\004\041\320\252\275\014\023\265\000\312\046\154\304\153\014 +\224\132\225\224\332\120\232\361\377\245\053\146\061\244\311\070 +\240\337\035\037\270\011\056\363\247\350\147\122\253\225\037\340 +\106\076\330\244\303\312\132\305\061\200\350\110\232\237\224\151 +\376\031\335\330\163\174\201\312\226\336\216\355\263\062\005\145 +\204\064\346\346\375\127\020\265\137\166\277\057\260\020\015\305 +\002\003\001\000\001\243\202\001\032\060\202\001\026\060\017\006 +\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\035 +\006\003\125\035\016\004\026\004\024\375\332\024\304\237\060\336 +\041\275\036\102\071\374\253\143\043\111\340\361\204\060\016\006 +\003\125\035\017\001\001\377\004\004\003\002\001\006\060\201\323 +\006\003\125\035\037\004\201\313\060\201\310\060\201\200\240\176 +\240\174\206\172\154\144\141\160\072\057\057\144\151\162\145\143 +\164\157\162\171\056\144\055\164\162\165\163\164\056\156\145\164 +\057\103\116\075\104\055\124\122\125\123\124\045\062\060\122\157 +\157\164\045\062\060\103\154\141\163\163\045\062\060\063\045\062 +\060\103\101\045\062\060\062\045\062\060\062\060\060\071\054\117 +\075\104\055\124\162\165\163\164\045\062\060\107\155\142\110\054 +\103\075\104\105\077\143\145\162\164\151\146\151\143\141\164\145 +\162\145\166\157\143\141\164\151\157\156\154\151\163\164\060\103 +\240\101\240\077\206\075\150\164\164\160\072\057\057\167\167\167 +\056\144\055\164\162\165\163\164\056\156\145\164\057\143\162\154 +\057\144\055\164\162\165\163\164\137\162\157\157\164\137\143\154 +\141\163\163\137\063\137\143\141\137\062\137\062\060\060\071\056 +\143\162\154\060\015\006\011\052\206\110\206\367\015\001\001\013 +\005\000\003\202\001\001\000\177\227\333\060\310\337\244\234\175 +\041\172\200\160\316\024\022\151\210\024\225\140\104\001\254\262 +\351\060\117\233\120\302\146\330\176\215\060\265\160\061\351\342 +\151\307\363\160\333\040\025\206\320\015\360\276\254\001\165\204 +\316\176\237\115\277\267\140\073\234\363\312\035\342\136\150\330 +\243\235\227\345\100\140\322\066\041\376\320\264\270\027\332\164 +\243\177\324\337\260\230\002\254\157\153\153\054\045\044\162\241 +\145\356\045\132\345\346\062\347\362\337\253\111\372\363\220\151 +\043\333\004\331\347\134\130\374\145\324\227\276\314\374\056\012 +\314\045\052\065\004\370\140\221\025\165\075\101\377\043\037\031 +\310\154\353\202\123\004\246\344\114\042\115\215\214\272\316\133 +\163\354\144\124\120\155\321\234\125\373\151\303\066\303\214\274 +\074\205\246\153\012\046\015\340\223\230\140\256\176\306\044\227 +\212\141\137\221\216\146\222\011\207\066\315\213\233\055\076\366 +\121\324\120\324\131\050\275\203\362\314\050\173\123\206\155\330 +\046\210\160\327\352\221\315\076\271\312\300\220\156\132\306\136 +\164\145\327\134\376\243\342 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "D-TRUST Root Class 3 CA 2 2009" +# Issuer: CN=D-TRUST Root Class 3 CA 2 2009,O=D-Trust GmbH,C=DE +# Serial Number: 623603 (0x983f3) +# Subject: CN=D-TRUST Root Class 3 CA 2 2009,O=D-Trust GmbH,C=DE +# Not Valid Before: Thu Nov 05 08:35:58 2009 +# Not Valid After : Mon Nov 05 08:35:58 2029 +# Fingerprint (MD5): CD:E0:25:69:8D:47:AC:9C:89:35:90:F7:FD:51:3D:2F +# Fingerprint (SHA1): 58:E8:AB:B0:36:15:33:FB:80:F7:9B:1B:6D:29:D3:FF:8D:5F:00:F0 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "D-TRUST Root Class 3 CA 2 2009" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\130\350\253\260\066\025\063\373\200\367\233\033\155\051\323\377 +\215\137\000\360 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\315\340\045\151\215\107\254\234\211\065\220\367\375\121\075\057 +END +CKA_ISSUER MULTILINE_OCTAL +\060\115\061\013\060\011\006\003\125\004\006\023\002\104\105\061 +\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163 +\164\040\107\155\142\110\061\047\060\045\006\003\125\004\003\014 +\036\104\055\124\122\125\123\124\040\122\157\157\164\040\103\154 +\141\163\163\040\063\040\103\101\040\062\040\062\060\060\071 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\003\011\203\363 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "D-TRUST Root Class 3 CA 2 EV 2009" +# +# Issuer: CN=D-TRUST Root Class 3 CA 2 EV 2009,O=D-Trust GmbH,C=DE +# Serial Number: 623604 (0x983f4) +# Subject: CN=D-TRUST Root Class 3 CA 2 EV 2009,O=D-Trust GmbH,C=DE +# Not Valid Before: Thu Nov 05 08:50:46 2009 +# Not Valid After : Mon Nov 05 08:50:46 2029 +# Fingerprint (MD5): AA:C6:43:2C:5E:2D:CD:C4:34:C0:50:4F:11:02:4F:B6 +# Fingerprint (SHA1): 96:C9:1B:0B:95:B4:10:98:42:FA:D0:D8:22:79:FE:60:FA:B9:16:83 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "D-TRUST Root Class 3 CA 2 EV 2009" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\120\061\013\060\011\006\003\125\004\006\023\002\104\105\061 +\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163 +\164\040\107\155\142\110\061\052\060\050\006\003\125\004\003\014 +\041\104\055\124\122\125\123\124\040\122\157\157\164\040\103\154 +\141\163\163\040\063\040\103\101\040\062\040\105\126\040\062\060 +\060\071 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\120\061\013\060\011\006\003\125\004\006\023\002\104\105\061 +\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163 +\164\040\107\155\142\110\061\052\060\050\006\003\125\004\003\014 +\041\104\055\124\122\125\123\124\040\122\157\157\164\040\103\154 +\141\163\163\040\063\040\103\101\040\062\040\105\126\040\062\060 +\060\071 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\003\011\203\364 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\103\060\202\003\053\240\003\002\001\002\002\003\011 +\203\364\060\015\006\011\052\206\110\206\367\015\001\001\013\005 +\000\060\120\061\013\060\011\006\003\125\004\006\023\002\104\105 +\061\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165 +\163\164\040\107\155\142\110\061\052\060\050\006\003\125\004\003 +\014\041\104\055\124\122\125\123\124\040\122\157\157\164\040\103 +\154\141\163\163\040\063\040\103\101\040\062\040\105\126\040\062 +\060\060\071\060\036\027\015\060\071\061\061\060\065\060\070\065 +\060\064\066\132\027\015\062\071\061\061\060\065\060\070\065\060 +\064\066\132\060\120\061\013\060\011\006\003\125\004\006\023\002 +\104\105\061\025\060\023\006\003\125\004\012\014\014\104\055\124 +\162\165\163\164\040\107\155\142\110\061\052\060\050\006\003\125 +\004\003\014\041\104\055\124\122\125\123\124\040\122\157\157\164 +\040\103\154\141\163\163\040\063\040\103\101\040\062\040\105\126 +\040\062\060\060\071\060\202\001\042\060\015\006\011\052\206\110 +\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001 +\012\002\202\001\001\000\231\361\204\064\160\272\057\267\060\240 +\216\275\174\004\317\276\142\274\231\375\202\227\322\172\012\147 +\226\070\011\366\020\116\225\042\163\231\215\332\025\055\347\005 +\374\031\163\042\267\216\230\000\274\074\075\254\241\154\373\326 +\171\045\113\255\360\314\144\332\210\076\051\270\017\011\323\064 +\335\063\365\142\321\341\315\031\351\356\030\117\114\130\256\342 +\036\326\014\133\025\132\330\072\270\304\030\144\036\343\063\262 +\265\211\167\116\014\277\331\224\153\023\227\157\022\243\376\231 +\251\004\314\025\354\140\150\066\355\010\173\267\365\277\223\355 +\146\061\203\214\306\161\064\207\116\027\352\257\213\221\215\034 +\126\101\256\042\067\136\067\362\035\331\321\055\015\057\151\121 +\247\276\146\246\212\072\052\275\307\032\261\341\024\360\276\072 +\035\271\317\133\261\152\376\264\261\106\040\242\373\036\073\160 +\357\223\230\175\214\163\226\362\305\357\205\160\255\051\046\374 +\036\004\076\034\240\330\017\313\122\203\142\174\356\213\123\225 +\220\251\127\242\352\141\005\330\371\115\304\047\372\156\255\355 +\371\327\121\367\153\245\002\003\001\000\001\243\202\001\044\060 +\202\001\040\060\017\006\003\125\035\023\001\001\377\004\005\060 +\003\001\001\377\060\035\006\003\125\035\016\004\026\004\024\323 +\224\212\114\142\023\052\031\056\314\257\162\212\175\066\327\232 +\034\334\147\060\016\006\003\125\035\017\001\001\377\004\004\003 +\002\001\006\060\201\335\006\003\125\035\037\004\201\325\060\201 +\322\060\201\207\240\201\204\240\201\201\206\177\154\144\141\160 +\072\057\057\144\151\162\145\143\164\157\162\171\056\144\055\164 +\162\165\163\164\056\156\145\164\057\103\116\075\104\055\124\122 +\125\123\124\045\062\060\122\157\157\164\045\062\060\103\154\141 +\163\163\045\062\060\063\045\062\060\103\101\045\062\060\062\045 +\062\060\105\126\045\062\060\062\060\060\071\054\117\075\104\055 +\124\162\165\163\164\045\062\060\107\155\142\110\054\103\075\104 +\105\077\143\145\162\164\151\146\151\143\141\164\145\162\145\166 +\157\143\141\164\151\157\156\154\151\163\164\060\106\240\104\240 +\102\206\100\150\164\164\160\072\057\057\167\167\167\056\144\055 +\164\162\165\163\164\056\156\145\164\057\143\162\154\057\144\055 +\164\162\165\163\164\137\162\157\157\164\137\143\154\141\163\163 +\137\063\137\143\141\137\062\137\145\166\137\062\060\060\071\056 +\143\162\154\060\015\006\011\052\206\110\206\367\015\001\001\013 +\005\000\003\202\001\001\000\064\355\173\132\074\244\224\210\357 +\032\021\165\007\057\263\376\074\372\036\121\046\353\207\366\051 +\336\340\361\324\306\044\011\351\301\317\125\033\264\060\331\316 +\032\376\006\121\246\025\244\055\357\262\113\277\040\050\045\111 +\321\246\066\167\064\350\144\337\122\261\021\307\163\172\315\071 +\236\302\255\214\161\041\362\132\153\257\337\074\116\125\257\262 +\204\145\024\211\271\167\313\052\061\276\317\243\155\317\157\110 +\224\062\106\157\347\161\214\240\246\204\031\067\007\362\003\105 +\011\053\206\165\174\337\137\151\127\000\333\156\330\246\162\042 +\113\120\324\165\230\126\337\267\030\377\103\103\120\256\172\104 +\173\360\171\121\327\103\075\247\323\201\323\360\311\117\271\332 +\306\227\206\320\202\303\344\102\155\376\260\342\144\116\016\046 +\347\100\064\046\265\010\211\327\010\143\143\070\047\165\036\063 +\352\156\250\335\237\231\117\164\115\201\211\200\113\335\232\227 +\051\134\057\276\201\101\271\214\377\352\175\140\006\236\315\327 +\075\323\056\243\025\274\250\346\046\345\157\303\334\270\003\041 +\352\237\026\361\054\124\265 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "D-TRUST Root Class 3 CA 2 EV 2009" +# Issuer: CN=D-TRUST Root Class 3 CA 2 EV 2009,O=D-Trust GmbH,C=DE +# Serial Number: 623604 (0x983f4) +# Subject: CN=D-TRUST Root Class 3 CA 2 EV 2009,O=D-Trust GmbH,C=DE +# Not Valid Before: Thu Nov 05 08:50:46 2009 +# Not Valid After : Mon Nov 05 08:50:46 2029 +# Fingerprint (MD5): AA:C6:43:2C:5E:2D:CD:C4:34:C0:50:4F:11:02:4F:B6 +# Fingerprint (SHA1): 96:C9:1B:0B:95:B4:10:98:42:FA:D0:D8:22:79:FE:60:FA:B9:16:83 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "D-TRUST Root Class 3 CA 2 EV 2009" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\226\311\033\013\225\264\020\230\102\372\320\330\042\171\376\140 +\372\271\026\203 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\252\306\103\054\136\055\315\304\064\300\120\117\021\002\117\266 +END +CKA_ISSUER MULTILINE_OCTAL +\060\120\061\013\060\011\006\003\125\004\006\023\002\104\105\061 +\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163 +\164\040\107\155\142\110\061\052\060\050\006\003\125\004\003\014 +\041\104\055\124\122\125\123\124\040\122\157\157\164\040\103\154 +\141\163\163\040\063\040\103\101\040\062\040\105\126\040\062\060 +\060\071 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\003\011\203\364 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "CA Disig Root R2" +# +# Issuer: CN=CA Disig Root R2,O=Disig a.s.,L=Bratislava,C=SK +# Serial Number:00:92:b8:88:db:b0:8a:c1:63 +# Subject: CN=CA Disig Root R2,O=Disig a.s.,L=Bratislava,C=SK +# Not Valid Before: Thu Jul 19 09:15:30 2012 +# Not Valid After : Sat Jul 19 09:15:30 2042 +# Fingerprint (MD5): 26:01:FB:D8:27:A7:17:9A:45:54:38:1A:43:01:3B:03 +# Fingerprint (SHA1): B5:61:EB:EA:A4:DE:E4:25:4B:69:1A:98:A5:57:47:C2:34:C7:D9:71 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "CA Disig Root R2" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\122\061\013\060\011\006\003\125\004\006\023\002\123\113\061 +\023\060\021\006\003\125\004\007\023\012\102\162\141\164\151\163 +\154\141\166\141\061\023\060\021\006\003\125\004\012\023\012\104 +\151\163\151\147\040\141\056\163\056\061\031\060\027\006\003\125 +\004\003\023\020\103\101\040\104\151\163\151\147\040\122\157\157 +\164\040\122\062 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\122\061\013\060\011\006\003\125\004\006\023\002\123\113\061 +\023\060\021\006\003\125\004\007\023\012\102\162\141\164\151\163 +\154\141\166\141\061\023\060\021\006\003\125\004\012\023\012\104 +\151\163\151\147\040\141\056\163\056\061\031\060\027\006\003\125 +\004\003\023\020\103\101\040\104\151\163\151\147\040\122\157\157 +\164\040\122\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\011\000\222\270\210\333\260\212\301\143 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\151\060\202\003\121\240\003\002\001\002\002\011\000 +\222\270\210\333\260\212\301\143\060\015\006\011\052\206\110\206 +\367\015\001\001\013\005\000\060\122\061\013\060\011\006\003\125 +\004\006\023\002\123\113\061\023\060\021\006\003\125\004\007\023 +\012\102\162\141\164\151\163\154\141\166\141\061\023\060\021\006 +\003\125\004\012\023\012\104\151\163\151\147\040\141\056\163\056 +\061\031\060\027\006\003\125\004\003\023\020\103\101\040\104\151 +\163\151\147\040\122\157\157\164\040\122\062\060\036\027\015\061 +\062\060\067\061\071\060\071\061\065\063\060\132\027\015\064\062 +\060\067\061\071\060\071\061\065\063\060\132\060\122\061\013\060 +\011\006\003\125\004\006\023\002\123\113\061\023\060\021\006\003 +\125\004\007\023\012\102\162\141\164\151\163\154\141\166\141\061 +\023\060\021\006\003\125\004\012\023\012\104\151\163\151\147\040 +\141\056\163\056\061\031\060\027\006\003\125\004\003\023\020\103 +\101\040\104\151\163\151\147\040\122\157\157\164\040\122\062\060 +\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001\001 +\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000 +\242\243\304\000\011\326\205\135\055\155\024\366\302\303\163\236 +\065\302\161\125\176\201\373\253\106\120\340\301\174\111\170\346 +\253\171\130\074\332\377\174\034\237\330\227\002\170\076\153\101 +\004\351\101\275\276\003\054\105\366\057\144\324\253\135\243\107 +\075\144\233\351\150\232\306\314\033\077\272\276\262\213\064\002 +\056\230\125\031\374\214\157\252\137\332\114\316\115\003\041\243 +\330\322\064\223\126\226\313\114\014\000\026\074\137\032\315\310 +\307\154\246\255\323\061\247\274\350\345\341\146\326\322\373\003 +\264\101\145\311\020\256\016\005\143\306\200\152\151\060\375\322 +\356\220\357\015\047\337\237\225\163\364\341\045\332\154\026\336 +\101\070\064\352\213\374\321\350\004\024\141\055\101\176\254\307 +\167\116\313\121\124\373\136\222\030\033\004\132\150\306\311\304 +\372\267\023\240\230\267\021\053\267\326\127\314\174\236\027\321 +\313\045\376\206\116\044\056\126\014\170\115\236\001\022\246\053 +\247\001\145\156\174\142\035\204\204\337\352\300\153\265\245\052 +\225\203\303\123\021\014\163\035\013\262\106\220\321\102\072\316 +\100\156\225\255\377\306\224\255\156\227\204\216\175\157\236\212 +\200\015\111\155\163\342\173\222\036\303\363\301\363\353\056\005 +\157\331\033\317\067\166\004\310\264\132\344\027\247\313\335\166 +\037\320\031\166\350\054\005\263\326\234\064\330\226\334\141\207 +\221\005\344\104\010\063\301\332\271\010\145\324\256\262\066\015 +\353\272\070\272\014\345\233\236\353\215\146\335\231\317\326\211 +\101\366\004\222\212\051\051\155\153\072\034\347\165\175\002\161 +\016\363\300\347\275\313\031\335\235\140\262\302\146\140\266\261 +\004\356\311\346\206\271\232\146\100\250\347\021\355\201\105\003 +\213\366\147\131\350\301\006\021\275\335\317\200\002\117\145\100 +\170\134\107\120\310\233\346\037\201\173\344\104\250\133\205\232 +\342\336\132\325\307\371\072\104\146\113\344\062\124\174\344\154 +\234\263\016\075\027\242\262\064\022\326\176\262\250\111\273\321 +\172\050\100\276\242\026\037\337\344\067\037\021\163\373\220\012 +\145\103\242\015\174\370\006\001\125\063\175\260\015\270\364\365 +\256\245\102\127\174\066\021\214\173\136\304\003\235\214\171\235 +\002\003\001\000\001\243\102\060\100\060\017\006\003\125\035\023 +\001\001\377\004\005\060\003\001\001\377\060\016\006\003\125\035 +\017\001\001\377\004\004\003\002\001\006\060\035\006\003\125\035 +\016\004\026\004\024\265\231\370\257\260\224\365\343\040\326\012 +\255\316\116\126\244\056\156\102\355\060\015\006\011\052\206\110 +\206\367\015\001\001\013\005\000\003\202\002\001\000\046\006\136 +\160\347\145\063\310\202\156\331\234\027\072\033\172\146\262\001 +\366\170\073\151\136\057\352\377\116\371\050\303\230\052\141\114 +\264\044\022\212\175\155\021\024\367\234\265\312\346\274\236\047 +\216\114\031\310\251\275\172\300\327\066\016\155\205\162\156\250 +\306\242\155\366\372\163\143\177\274\156\171\010\034\235\212\237 +\032\212\123\246\330\273\331\065\125\261\021\305\251\003\263\126 +\073\271\204\223\042\136\176\301\366\022\122\213\352\054\147\274 +\376\066\114\365\270\317\321\263\111\222\073\323\051\016\231\033 +\226\367\141\270\073\304\053\266\170\154\264\043\157\360\375\323 +\262\136\165\037\231\225\250\254\366\332\341\305\061\173\373\321 +\106\263\322\274\147\264\142\124\272\011\367\143\260\223\242\232 +\371\351\122\056\213\140\022\253\374\365\140\126\357\020\134\213 +\304\032\102\334\203\133\144\016\313\265\274\326\117\301\174\074 +\156\215\023\155\373\173\353\060\320\334\115\257\305\325\266\245 +\114\133\161\311\350\061\276\350\070\006\110\241\032\342\352\322 +\336\022\071\130\032\377\200\016\202\165\346\267\311\007\154\016 +\357\377\070\361\230\161\304\267\177\016\025\320\045\151\275\042 +\235\053\355\005\366\106\107\254\355\300\360\324\073\342\354\356 +\226\133\220\023\116\036\126\072\353\260\357\226\273\226\043\021 +\272\362\103\206\164\144\225\310\050\165\337\035\065\272\322\067 +\203\070\123\070\066\073\317\154\351\371\153\016\320\373\004\350 +\117\167\327\145\001\170\206\014\172\076\041\142\361\177\143\161 +\014\311\237\104\333\250\047\242\165\276\156\201\076\327\300\353 +\033\230\017\160\134\064\262\212\314\300\205\030\353\156\172\263 +\367\132\241\007\277\251\102\222\363\140\042\227\344\024\241\007 +\233\116\166\300\216\175\375\244\045\307\107\355\377\037\163\254 +\314\303\245\351\157\012\216\233\145\302\120\205\265\243\240\123 +\022\314\125\207\141\363\201\256\020\106\141\275\104\041\270\302 +\075\164\317\176\044\065\372\034\007\016\233\075\042\312\357\061 +\057\214\254\022\275\357\100\050\374\051\147\237\262\023\117\146 +\044\304\123\031\351\036\051\025\357\346\155\260\177\055\147\375 +\363\154\033\165\106\243\345\112\027\351\244\327\013 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "CA Disig Root R2" +# Issuer: CN=CA Disig Root R2,O=Disig a.s.,L=Bratislava,C=SK +# Serial Number:00:92:b8:88:db:b0:8a:c1:63 +# Subject: CN=CA Disig Root R2,O=Disig a.s.,L=Bratislava,C=SK +# Not Valid Before: Thu Jul 19 09:15:30 2012 +# Not Valid After : Sat Jul 19 09:15:30 2042 +# Fingerprint (MD5): 26:01:FB:D8:27:A7:17:9A:45:54:38:1A:43:01:3B:03 +# Fingerprint (SHA1): B5:61:EB:EA:A4:DE:E4:25:4B:69:1A:98:A5:57:47:C2:34:C7:D9:71 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "CA Disig Root R2" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\265\141\353\352\244\336\344\045\113\151\032\230\245\127\107\302 +\064\307\331\161 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\046\001\373\330\047\247\027\232\105\124\070\032\103\001\073\003 +END +CKA_ISSUER MULTILINE_OCTAL +\060\122\061\013\060\011\006\003\125\004\006\023\002\123\113\061 +\023\060\021\006\003\125\004\007\023\012\102\162\141\164\151\163 +\154\141\166\141\061\023\060\021\006\003\125\004\012\023\012\104 +\151\163\151\147\040\141\056\163\056\061\031\060\027\006\003\125 +\004\003\023\020\103\101\040\104\151\163\151\147\040\122\157\157 +\164\040\122\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\011\000\222\270\210\333\260\212\301\143 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "ACCVRAIZ1" +# +# Issuer: C=ES,O=ACCV,OU=PKIACCV,CN=ACCVRAIZ1 +# Serial Number:5e:c3:b7:a6:43:7f:a4:e0 +# Subject: C=ES,O=ACCV,OU=PKIACCV,CN=ACCVRAIZ1 +# Not Valid Before: Thu May 05 09:37:37 2011 +# Not Valid After : Tue Dec 31 09:37:37 2030 +# Fingerprint (MD5): D0:A0:5A:EE:05:B6:09:94:21:A1:7D:F1:B2:29:82:02 +# Fingerprint (SHA1): 93:05:7A:88:15:C6:4F:CE:88:2F:FA:91:16:52:28:78:BC:53:64:17 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "ACCVRAIZ1" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\102\061\022\060\020\006\003\125\004\003\014\011\101\103\103 +\126\122\101\111\132\061\061\020\060\016\006\003\125\004\013\014 +\007\120\113\111\101\103\103\126\061\015\060\013\006\003\125\004 +\012\014\004\101\103\103\126\061\013\060\011\006\003\125\004\006 +\023\002\105\123 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\102\061\022\060\020\006\003\125\004\003\014\011\101\103\103 +\126\122\101\111\132\061\061\020\060\016\006\003\125\004\013\014 +\007\120\113\111\101\103\103\126\061\015\060\013\006\003\125\004 +\012\014\004\101\103\103\126\061\013\060\011\006\003\125\004\006 +\023\002\105\123 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\136\303\267\246\103\177\244\340 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\007\323\060\202\005\273\240\003\002\001\002\002\010\136 +\303\267\246\103\177\244\340\060\015\006\011\052\206\110\206\367 +\015\001\001\005\005\000\060\102\061\022\060\020\006\003\125\004 +\003\014\011\101\103\103\126\122\101\111\132\061\061\020\060\016 +\006\003\125\004\013\014\007\120\113\111\101\103\103\126\061\015 +\060\013\006\003\125\004\012\014\004\101\103\103\126\061\013\060 +\011\006\003\125\004\006\023\002\105\123\060\036\027\015\061\061 +\060\065\060\065\060\071\063\067\063\067\132\027\015\063\060\061 +\062\063\061\060\071\063\067\063\067\132\060\102\061\022\060\020 +\006\003\125\004\003\014\011\101\103\103\126\122\101\111\132\061 +\061\020\060\016\006\003\125\004\013\014\007\120\113\111\101\103 +\103\126\061\015\060\013\006\003\125\004\012\014\004\101\103\103 +\126\061\013\060\011\006\003\125\004\006\023\002\105\123\060\202 +\002\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005 +\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000\233 +\251\253\277\141\112\227\257\057\227\146\232\164\137\320\331\226 +\375\317\342\344\146\357\037\037\107\063\302\104\243\337\232\336 +\037\265\124\335\025\174\151\065\021\157\273\310\014\216\152\030 +\036\330\217\331\026\274\020\110\066\134\360\143\263\220\132\134 +\044\067\327\243\326\313\011\161\271\361\001\162\204\260\175\333 +\115\200\315\374\323\157\311\370\332\266\016\202\322\105\205\250 +\033\150\250\075\350\364\104\154\275\241\302\313\003\276\214\076 +\023\000\204\337\112\110\300\343\042\012\350\351\067\247\030\114 +\261\011\015\043\126\177\004\115\331\027\204\030\245\310\332\100 +\224\163\353\316\016\127\074\003\201\072\235\012\241\127\103\151 +\254\127\155\171\220\170\345\265\264\073\330\274\114\215\050\241 +\247\243\247\272\002\116\045\321\052\256\355\256\003\042\270\153 +\040\017\060\050\124\225\177\340\356\316\012\146\235\321\100\055 +\156\042\257\235\032\301\005\031\322\157\300\362\237\370\173\263 +\002\102\373\120\251\035\055\223\017\043\253\306\301\017\222\377 +\320\242\025\365\123\011\161\034\377\105\023\204\346\046\136\370 +\340\210\034\012\374\026\266\250\163\006\270\360\143\204\002\240 +\306\132\354\347\164\337\160\256\243\203\045\352\326\307\227\207 +\223\247\306\212\212\063\227\140\067\020\076\227\076\156\051\025 +\326\241\017\321\210\054\022\237\157\252\244\306\102\353\101\242 +\343\225\103\323\001\205\155\216\273\073\363\043\066\307\376\073 +\340\241\045\007\110\253\311\211\164\377\010\217\200\277\300\226 +\145\363\356\354\113\150\275\235\210\303\061\263\100\361\350\317 +\366\070\273\234\344\321\177\324\345\130\233\174\372\324\363\016 +\233\165\221\344\272\122\056\031\176\321\365\315\132\031\374\272 +\006\366\373\122\250\113\231\004\335\370\371\264\213\120\243\116 +\142\211\360\207\044\372\203\102\301\207\372\325\055\051\052\132 +\161\172\144\152\327\047\140\143\015\333\316\111\365\215\037\220 +\211\062\027\370\163\103\270\322\132\223\206\141\326\341\165\012 +\352\171\146\166\210\117\161\353\004\045\326\012\132\172\223\345 +\271\113\027\100\017\261\266\271\365\336\117\334\340\263\254\073 +\021\160\140\204\112\103\156\231\040\300\051\161\012\300\145\002 +\003\001\000\001\243\202\002\313\060\202\002\307\060\175\006\010 +\053\006\001\005\005\007\001\001\004\161\060\157\060\114\006\010 +\053\006\001\005\005\007\060\002\206\100\150\164\164\160\072\057 +\057\167\167\167\056\141\143\143\166\056\145\163\057\146\151\154 +\145\141\144\155\151\156\057\101\162\143\150\151\166\157\163\057 +\143\145\162\164\151\146\151\143\141\144\157\163\057\162\141\151 +\172\141\143\143\166\061\056\143\162\164\060\037\006\010\053\006 +\001\005\005\007\060\001\206\023\150\164\164\160\072\057\057\157 +\143\163\160\056\141\143\143\166\056\145\163\060\035\006\003\125 +\035\016\004\026\004\024\322\207\264\343\337\067\047\223\125\366 +\126\352\201\345\066\314\214\036\077\275\060\017\006\003\125\035 +\023\001\001\377\004\005\060\003\001\001\377\060\037\006\003\125 +\035\043\004\030\060\026\200\024\322\207\264\343\337\067\047\223 +\125\366\126\352\201\345\066\314\214\036\077\275\060\202\001\163 +\006\003\125\035\040\004\202\001\152\060\202\001\146\060\202\001 +\142\006\004\125\035\040\000\060\202\001\130\060\202\001\042\006 +\010\053\006\001\005\005\007\002\002\060\202\001\024\036\202\001 +\020\000\101\000\165\000\164\000\157\000\162\000\151\000\144\000 +\141\000\144\000\040\000\144\000\145\000\040\000\103\000\145\000 +\162\000\164\000\151\000\146\000\151\000\143\000\141\000\143\000 +\151\000\363\000\156\000\040\000\122\000\141\000\355\000\172\000 +\040\000\144\000\145\000\040\000\154\000\141\000\040\000\101\000 +\103\000\103\000\126\000\040\000\050\000\101\000\147\000\145\000 +\156\000\143\000\151\000\141\000\040\000\144\000\145\000\040\000 +\124\000\145\000\143\000\156\000\157\000\154\000\157\000\147\000 +\355\000\141\000\040\000\171\000\040\000\103\000\145\000\162\000 +\164\000\151\000\146\000\151\000\143\000\141\000\143\000\151\000 +\363\000\156\000\040\000\105\000\154\000\145\000\143\000\164\000 +\162\000\363\000\156\000\151\000\143\000\141\000\054\000\040\000 +\103\000\111\000\106\000\040\000\121\000\064\000\066\000\060\000 +\061\000\061\000\065\000\066\000\105\000\051\000\056\000\040\000 +\103\000\120\000\123\000\040\000\145\000\156\000\040\000\150\000 +\164\000\164\000\160\000\072\000\057\000\057\000\167\000\167\000 +\167\000\056\000\141\000\143\000\143\000\166\000\056\000\145\000 +\163\060\060\006\010\053\006\001\005\005\007\002\001\026\044\150 +\164\164\160\072\057\057\167\167\167\056\141\143\143\166\056\145 +\163\057\154\145\147\151\163\154\141\143\151\157\156\137\143\056 +\150\164\155\060\125\006\003\125\035\037\004\116\060\114\060\112 +\240\110\240\106\206\104\150\164\164\160\072\057\057\167\167\167 +\056\141\143\143\166\056\145\163\057\146\151\154\145\141\144\155 +\151\156\057\101\162\143\150\151\166\157\163\057\143\145\162\164 +\151\146\151\143\141\144\157\163\057\162\141\151\172\141\143\143 +\166\061\137\144\145\162\056\143\162\154\060\016\006\003\125\035 +\017\001\001\377\004\004\003\002\001\006\060\027\006\003\125\035 +\021\004\020\060\016\201\014\141\143\143\166\100\141\143\143\166 +\056\145\163\060\015\006\011\052\206\110\206\367\015\001\001\005 +\005\000\003\202\002\001\000\227\061\002\237\347\375\103\147\110 +\104\024\344\051\207\355\114\050\146\320\217\065\332\115\141\267 +\112\227\115\265\333\220\340\005\056\016\306\171\320\362\227\151 +\017\275\004\107\331\276\333\265\051\332\233\331\256\251\231\325 +\323\074\060\223\365\215\241\250\374\006\215\104\364\312\026\225 +\174\063\334\142\213\250\067\370\047\330\011\055\033\357\310\024 +\047\040\251\144\104\377\056\326\165\252\154\115\140\100\031\111 +\103\124\143\332\342\314\272\146\345\117\104\172\133\331\152\201 +\053\100\325\177\371\001\047\130\054\310\355\110\221\174\077\246 +\000\317\304\051\163\021\066\336\206\031\076\235\356\031\212\033 +\325\260\355\216\075\234\052\300\015\330\075\146\343\074\015\275 +\325\224\134\342\342\247\065\033\004\000\366\077\132\215\352\103 +\275\137\211\035\251\301\260\314\231\342\115\000\012\332\311\047 +\133\347\023\220\134\344\365\063\242\125\155\334\340\011\115\057 +\261\046\133\047\165\000\011\304\142\167\051\010\137\236\131\254 +\266\176\255\237\124\060\042\003\301\036\161\144\376\371\070\012 +\226\030\335\002\024\254\043\313\006\034\036\244\175\215\015\336 +\047\101\350\255\332\025\267\260\043\335\053\250\323\332\045\207 +\355\350\125\104\115\210\364\066\176\204\232\170\254\367\016\126 +\111\016\326\063\045\326\204\120\102\154\040\022\035\052\325\276 +\274\362\160\201\244\160\140\276\005\265\233\236\004\104\276\141 +\043\254\351\245\044\214\021\200\224\132\242\242\271\111\322\301 +\334\321\247\355\061\021\054\236\031\246\356\341\125\341\300\352 +\317\015\204\344\027\267\242\174\245\336\125\045\006\356\314\300 +\207\134\100\332\314\225\077\125\340\065\307\270\204\276\264\135 +\315\172\203\001\162\356\207\346\137\035\256\265\205\306\046\337 +\346\301\232\351\036\002\107\237\052\250\155\251\133\317\354\105 +\167\177\230\047\232\062\135\052\343\204\356\305\230\146\057\226 +\040\035\335\330\303\047\327\260\371\376\331\175\315\320\237\217 +\013\024\130\121\237\057\213\303\070\055\336\350\217\326\215\207 +\244\365\126\103\026\231\054\364\244\126\264\064\270\141\067\311 +\302\130\200\033\240\227\241\374\131\215\351\021\366\321\017\113 +\125\064\106\052\213\206\073 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "ACCVRAIZ1" +# Issuer: C=ES,O=ACCV,OU=PKIACCV,CN=ACCVRAIZ1 +# Serial Number:5e:c3:b7:a6:43:7f:a4:e0 +# Subject: C=ES,O=ACCV,OU=PKIACCV,CN=ACCVRAIZ1 +# Not Valid Before: Thu May 05 09:37:37 2011 +# Not Valid After : Tue Dec 31 09:37:37 2030 +# Fingerprint (MD5): D0:A0:5A:EE:05:B6:09:94:21:A1:7D:F1:B2:29:82:02 +# Fingerprint (SHA1): 93:05:7A:88:15:C6:4F:CE:88:2F:FA:91:16:52:28:78:BC:53:64:17 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "ACCVRAIZ1" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\223\005\172\210\025\306\117\316\210\057\372\221\026\122\050\170 +\274\123\144\027 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\320\240\132\356\005\266\011\224\041\241\175\361\262\051\202\002 +END +CKA_ISSUER MULTILINE_OCTAL +\060\102\061\022\060\020\006\003\125\004\003\014\011\101\103\103 +\126\122\101\111\132\061\061\020\060\016\006\003\125\004\013\014 +\007\120\113\111\101\103\103\126\061\015\060\013\006\003\125\004 +\012\014\004\101\103\103\126\061\013\060\011\006\003\125\004\006 +\023\002\105\123 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\136\303\267\246\103\177\244\340 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "TWCA Global Root CA" +# +# Issuer: CN=TWCA Global Root CA,OU=Root CA,O=TAIWAN-CA,C=TW +# Serial Number: 3262 (0xcbe) +# Subject: CN=TWCA Global Root CA,OU=Root CA,O=TAIWAN-CA,C=TW +# Not Valid Before: Wed Jun 27 06:28:33 2012 +# Not Valid After : Tue Dec 31 15:59:59 2030 +# Fingerprint (MD5): F9:03:7E:CF:E6:9E:3C:73:7A:2A:90:07:69:FF:2B:96 +# Fingerprint (SHA1): 9C:BB:48:53:F6:A4:F6:D3:52:A4:E8:32:52:55:60:13:F5:AD:AF:65 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "TWCA Global Root CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\121\061\013\060\011\006\003\125\004\006\023\002\124\127\061 +\022\060\020\006\003\125\004\012\023\011\124\101\111\127\101\116 +\055\103\101\061\020\060\016\006\003\125\004\013\023\007\122\157 +\157\164\040\103\101\061\034\060\032\006\003\125\004\003\023\023 +\124\127\103\101\040\107\154\157\142\141\154\040\122\157\157\164 +\040\103\101 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\121\061\013\060\011\006\003\125\004\006\023\002\124\127\061 +\022\060\020\006\003\125\004\012\023\011\124\101\111\127\101\116 +\055\103\101\061\020\060\016\006\003\125\004\013\023\007\122\157 +\157\164\040\103\101\061\034\060\032\006\003\125\004\003\023\023 +\124\127\103\101\040\107\154\157\142\141\154\040\122\157\157\164 +\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\002\014\276 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\101\060\202\003\051\240\003\002\001\002\002\002\014 +\276\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000 +\060\121\061\013\060\011\006\003\125\004\006\023\002\124\127\061 +\022\060\020\006\003\125\004\012\023\011\124\101\111\127\101\116 +\055\103\101\061\020\060\016\006\003\125\004\013\023\007\122\157 +\157\164\040\103\101\061\034\060\032\006\003\125\004\003\023\023 +\124\127\103\101\040\107\154\157\142\141\154\040\122\157\157\164 +\040\103\101\060\036\027\015\061\062\060\066\062\067\060\066\062 +\070\063\063\132\027\015\063\060\061\062\063\061\061\065\065\071 +\065\071\132\060\121\061\013\060\011\006\003\125\004\006\023\002 +\124\127\061\022\060\020\006\003\125\004\012\023\011\124\101\111 +\127\101\116\055\103\101\061\020\060\016\006\003\125\004\013\023 +\007\122\157\157\164\040\103\101\061\034\060\032\006\003\125\004 +\003\023\023\124\127\103\101\040\107\154\157\142\141\154\040\122 +\157\157\164\040\103\101\060\202\002\042\060\015\006\011\052\206 +\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202 +\002\012\002\202\002\001\000\260\005\333\310\353\214\304\156\212 +\041\357\216\115\234\161\012\037\122\160\355\155\202\234\227\305 +\327\114\116\105\111\313\100\102\265\022\064\154\031\302\164\244 +\061\137\205\002\227\354\103\063\012\123\322\234\214\216\267\270 +\171\333\053\325\152\362\216\146\304\356\053\001\007\222\324\263 +\320\002\337\120\366\125\257\146\016\313\340\107\140\057\053\062 +\071\065\122\072\050\203\370\173\026\306\030\270\142\326\107\045 +\221\316\360\031\022\115\255\143\365\323\077\165\137\051\360\241 +\060\034\052\240\230\246\025\275\356\375\031\066\360\342\221\103 +\217\372\312\326\020\047\111\114\357\335\301\361\205\160\233\312 +\352\250\132\103\374\155\206\157\163\351\067\105\251\360\066\307 +\314\210\165\036\273\154\006\377\233\153\076\027\354\141\252\161 +\174\306\035\242\367\111\351\025\265\074\326\241\141\365\021\367 +\005\157\035\375\021\276\320\060\007\302\051\260\011\116\046\334 +\343\242\250\221\152\037\302\221\105\210\134\345\230\270\161\245 +\025\031\311\174\165\021\314\160\164\117\055\233\035\221\104\375 +\126\050\240\376\273\206\152\310\372\134\013\130\334\306\113\166 +\310\253\042\331\163\017\245\364\132\002\211\077\117\236\042\202 +\356\242\164\123\052\075\123\047\151\035\154\216\062\054\144\000 +\046\143\141\066\116\243\106\267\077\175\263\055\254\155\220\242 +\225\242\316\317\332\202\347\007\064\031\226\351\270\041\252\051 +\176\246\070\276\216\051\112\041\146\171\037\263\303\265\011\147 +\336\326\324\007\106\363\052\332\346\042\067\140\313\201\266\017 +\240\017\351\310\225\177\277\125\221\005\172\317\075\025\300\157 +\336\011\224\001\203\327\064\033\314\100\245\360\270\233\147\325 +\230\221\073\247\204\170\225\046\244\132\010\370\053\164\264\000 +\004\074\337\270\024\216\350\337\251\215\154\147\222\063\035\300 +\267\322\354\222\310\276\011\277\054\051\005\157\002\153\236\357 +\274\277\052\274\133\300\120\217\101\160\161\207\262\115\267\004 +\251\204\243\062\257\256\356\153\027\213\262\261\376\154\341\220 +\214\210\250\227\110\316\310\115\313\363\006\317\137\152\012\102 +\261\036\036\167\057\216\240\346\222\016\006\374\005\042\322\046 +\341\061\121\175\062\334\017\002\003\001\000\001\243\043\060\041 +\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006 +\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001 +\377\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000 +\003\202\002\001\000\137\064\201\166\357\226\035\325\345\265\331 +\002\143\204\026\301\256\240\160\121\247\367\114\107\065\310\013 +\327\050\075\211\161\331\252\063\101\352\024\033\154\041\000\300 +\154\102\031\176\237\151\133\040\102\337\242\322\332\304\174\227 +\113\215\260\350\254\310\356\245\151\004\231\012\222\246\253\047 +\056\032\115\201\277\204\324\160\036\255\107\376\375\112\235\063 +\340\362\271\304\105\010\041\012\332\151\151\163\162\015\276\064 +\376\224\213\255\303\036\065\327\242\203\357\345\070\307\245\205 +\037\253\317\064\354\077\050\376\014\361\127\206\116\311\125\367 +\034\324\330\245\175\006\172\157\325\337\020\337\201\116\041\145 +\261\266\341\027\171\225\105\006\316\137\314\334\106\211\143\150 +\104\215\223\364\144\160\240\075\235\050\005\303\071\160\270\142 +\173\040\375\344\333\351\010\241\270\236\075\011\307\117\373\054 +\370\223\166\101\336\122\340\341\127\322\235\003\274\167\236\376 +\236\051\136\367\301\121\140\037\336\332\013\262\055\165\267\103 +\110\223\347\366\171\306\204\135\200\131\140\224\374\170\230\217 +\074\223\121\355\100\220\007\337\144\143\044\313\116\161\005\241 +\327\224\032\210\062\361\042\164\042\256\245\246\330\022\151\114 +\140\243\002\356\053\354\324\143\222\013\136\276\057\166\153\243 +\266\046\274\217\003\330\012\362\114\144\106\275\071\142\345\226 +\353\064\143\021\050\314\225\361\255\357\357\334\200\130\110\351 +\113\270\352\145\254\351\374\200\265\265\310\105\371\254\301\237 +\331\271\352\142\210\216\304\361\113\203\022\255\346\213\204\326 +\236\302\353\203\030\237\152\273\033\044\140\063\160\314\354\367 +\062\363\134\331\171\175\357\236\244\376\311\043\303\044\356\025 +\222\261\075\221\117\046\206\275\146\163\044\023\352\244\256\143 +\301\255\175\204\003\074\020\170\206\033\171\343\304\363\362\004 +\225\040\256\043\202\304\263\072\000\142\277\346\066\044\341\127 +\272\307\036\220\165\325\137\077\225\141\053\301\073\315\345\263 +\150\141\320\106\046\251\041\122\151\055\353\056\307\353\167\316 +\246\072\265\003\063\117\166\321\347\134\124\001\135\313\170\364 +\311\014\277\317\022\216\027\055\043\150\224\347\253\376\251\262 +\053\006\320\004\315 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "TWCA Global Root CA" +# Issuer: CN=TWCA Global Root CA,OU=Root CA,O=TAIWAN-CA,C=TW +# Serial Number: 3262 (0xcbe) +# Subject: CN=TWCA Global Root CA,OU=Root CA,O=TAIWAN-CA,C=TW +# Not Valid Before: Wed Jun 27 06:28:33 2012 +# Not Valid After : Tue Dec 31 15:59:59 2030 +# Fingerprint (MD5): F9:03:7E:CF:E6:9E:3C:73:7A:2A:90:07:69:FF:2B:96 +# Fingerprint (SHA1): 9C:BB:48:53:F6:A4:F6:D3:52:A4:E8:32:52:55:60:13:F5:AD:AF:65 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "TWCA Global Root CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\234\273\110\123\366\244\366\323\122\244\350\062\122\125\140\023 +\365\255\257\145 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\371\003\176\317\346\236\074\163\172\052\220\007\151\377\053\226 +END +CKA_ISSUER MULTILINE_OCTAL +\060\121\061\013\060\011\006\003\125\004\006\023\002\124\127\061 +\022\060\020\006\003\125\004\012\023\011\124\101\111\127\101\116 +\055\103\101\061\020\060\016\006\003\125\004\013\023\007\122\157 +\157\164\040\103\101\061\034\060\032\006\003\125\004\003\023\023 +\124\127\103\101\040\107\154\157\142\141\154\040\122\157\157\164 +\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\002\014\276 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "TeliaSonera Root CA v1" +# +# Issuer: CN=TeliaSonera Root CA v1,O=TeliaSonera +# Serial Number:00:95:be:16:a0:f7:2e:46:f1:7b:39:82:72:fa:8b:cd:96 +# Subject: CN=TeliaSonera Root CA v1,O=TeliaSonera +# Not Valid Before: Thu Oct 18 12:00:50 2007 +# Not Valid After : Mon Oct 18 12:00:50 2032 +# Fingerprint (MD5): 37:41:49:1B:18:56:9A:26:F5:AD:C2:66:FB:40:A5:4C +# Fingerprint (SHA1): 43:13:BB:96:F1:D5:86:9B:C1:4E:6A:92:F6:CF:F6:34:69:87:82:37 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "TeliaSonera Root CA v1" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\067\061\024\060\022\006\003\125\004\012\014\013\124\145\154 +\151\141\123\157\156\145\162\141\061\037\060\035\006\003\125\004 +\003\014\026\124\145\154\151\141\123\157\156\145\162\141\040\122 +\157\157\164\040\103\101\040\166\061 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\067\061\024\060\022\006\003\125\004\012\014\013\124\145\154 +\151\141\123\157\156\145\162\141\061\037\060\035\006\003\125\004 +\003\014\026\124\145\154\151\141\123\157\156\145\162\141\040\122 +\157\157\164\040\103\101\040\166\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\021\000\225\276\026\240\367\056\106\361\173\071\202\162\372 +\213\315\226 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\070\060\202\003\040\240\003\002\001\002\002\021\000 +\225\276\026\240\367\056\106\361\173\071\202\162\372\213\315\226 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\067\061\024\060\022\006\003\125\004\012\014\013\124\145\154\151 +\141\123\157\156\145\162\141\061\037\060\035\006\003\125\004\003 +\014\026\124\145\154\151\141\123\157\156\145\162\141\040\122\157 +\157\164\040\103\101\040\166\061\060\036\027\015\060\067\061\060 +\061\070\061\062\060\060\065\060\132\027\015\063\062\061\060\061 +\070\061\062\060\060\065\060\132\060\067\061\024\060\022\006\003 +\125\004\012\014\013\124\145\154\151\141\123\157\156\145\162\141 +\061\037\060\035\006\003\125\004\003\014\026\124\145\154\151\141 +\123\157\156\145\162\141\040\122\157\157\164\040\103\101\040\166 +\061\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001 +\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002 +\001\000\302\276\353\047\360\041\243\363\151\046\125\176\235\305 +\125\026\221\134\375\357\041\277\123\200\172\055\322\221\214\143 +\061\360\354\044\360\303\245\322\162\174\020\155\364\067\267\345 +\346\174\171\352\214\265\202\213\256\110\266\254\000\334\145\165 +\354\052\115\137\301\207\365\040\145\053\201\250\107\076\211\043 +\225\060\026\220\177\350\127\007\110\347\031\256\277\105\147\261 +\067\033\006\052\376\336\371\254\175\203\373\136\272\344\217\227 +\147\276\113\216\215\144\007\127\070\125\151\064\066\075\023\110 +\357\117\342\323\146\036\244\317\032\267\136\066\063\324\264\006 +\275\030\001\375\167\204\120\000\105\365\214\135\350\043\274\176 +\376\065\341\355\120\173\251\060\215\031\323\011\216\150\147\135 +\277\074\227\030\123\273\051\142\305\312\136\162\301\307\226\324 +\333\055\240\264\037\151\003\354\352\342\120\361\014\074\360\254 +\363\123\055\360\034\365\355\154\071\071\163\200\026\310\122\260 +\043\315\340\076\334\335\074\107\240\273\065\212\342\230\150\213 +\276\345\277\162\356\322\372\245\355\022\355\374\230\030\251\046 +\166\334\050\113\020\040\034\323\177\026\167\055\355\157\200\367 +\111\273\123\005\273\135\150\307\324\310\165\026\077\211\132\213 +\367\027\107\324\114\361\322\211\171\076\115\075\230\250\141\336 +\072\036\322\370\136\003\340\301\311\034\214\323\215\115\323\225 +\066\263\067\137\143\143\233\063\024\360\055\046\153\123\174\211 +\214\062\302\156\354\075\041\000\071\311\241\150\342\120\203\056 +\260\072\053\363\066\240\254\057\344\157\141\302\121\011\071\076 +\213\123\271\273\147\332\334\123\271\166\131\066\235\103\345\040 +\340\075\062\140\205\042\121\267\307\063\273\335\025\057\244\170 +\246\007\173\201\106\066\004\206\335\171\065\307\225\054\073\260 +\243\027\065\345\163\037\264\134\131\357\332\352\020\145\173\172 +\320\177\237\263\264\052\067\073\160\213\233\133\271\053\267\354 +\262\121\022\227\123\051\132\324\360\022\020\334\117\002\273\022 +\222\057\142\324\077\151\103\174\015\326\374\130\165\001\210\235 +\130\026\113\336\272\220\377\107\001\211\006\152\366\137\262\220 +\152\263\002\246\002\210\277\263\107\176\052\331\325\372\150\170 +\065\115\002\003\001\000\001\243\077\060\075\060\017\006\003\125 +\035\023\001\001\377\004\005\060\003\001\001\377\060\013\006\003 +\125\035\017\004\004\003\002\001\006\060\035\006\003\125\035\016 +\004\026\004\024\360\217\131\070\000\263\365\217\232\226\014\325 +\353\372\173\252\027\350\023\022\060\015\006\011\052\206\110\206 +\367\015\001\001\005\005\000\003\202\002\001\000\276\344\134\142 +\116\044\364\014\010\377\360\323\014\150\344\223\111\042\077\104 +\047\157\273\155\336\203\146\316\250\314\015\374\365\232\006\345 +\167\024\221\353\235\101\173\231\052\204\345\377\374\041\301\135 +\360\344\037\127\267\165\251\241\137\002\046\377\327\307\367\116 +\336\117\370\367\034\106\300\172\117\100\054\042\065\360\031\261 +\320\153\147\054\260\250\340\300\100\067\065\366\204\134\134\343 +\257\102\170\376\247\311\015\120\352\015\204\166\366\121\357\203 +\123\306\172\377\016\126\111\056\217\172\326\014\346\047\124\343 +\115\012\140\162\142\315\221\007\326\245\277\310\231\153\355\304 +\031\346\253\114\021\070\305\157\061\342\156\111\310\077\166\200 +\046\003\046\051\340\066\366\366\040\123\343\027\160\064\027\235 +\143\150\036\153\354\303\115\206\270\023\060\057\135\106\015\107 +\103\325\033\252\131\016\271\134\215\006\110\255\164\207\137\307 +\374\061\124\101\023\342\307\041\016\236\340\036\015\341\300\173 +\103\205\220\305\212\130\306\145\012\170\127\362\306\043\017\001 +\331\040\113\336\017\373\222\205\165\052\134\163\215\155\173\045 +\221\312\356\105\256\006\113\000\314\323\261\131\120\332\072\210 +\073\051\103\106\136\227\053\124\316\123\157\215\112\347\226\372 +\277\161\016\102\213\174\375\050\240\320\110\312\332\304\201\114 +\273\242\163\223\046\310\353\014\326\046\210\266\300\044\317\273 +\275\133\353\165\175\351\010\216\206\063\054\171\167\011\151\245 +\211\374\263\160\220\207\166\217\323\042\273\102\316\275\163\013 +\040\046\052\320\233\075\160\036\044\154\315\207\166\251\027\226 +\267\317\015\222\373\216\030\251\230\111\321\236\376\140\104\162 +\041\271\031\355\302\365\061\361\071\110\210\220\044\165\124\026 +\255\316\364\370\151\024\144\071\373\243\270\272\160\100\307\047 +\034\277\304\126\123\372\143\145\320\363\034\016\026\365\153\206 +\130\115\030\324\344\015\216\245\235\133\221\334\166\044\120\077 +\306\052\373\331\267\234\265\326\346\320\331\350\031\213\025\161 +\110\255\267\352\330\131\210\324\220\277\026\263\331\351\254\131 +\141\124\310\034\272\312\301\312\341\271\040\114\217\072\223\211 +\245\240\314\277\323\366\165\244\165\226\155\126 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "TeliaSonera Root CA v1" +# Issuer: CN=TeliaSonera Root CA v1,O=TeliaSonera +# Serial Number:00:95:be:16:a0:f7:2e:46:f1:7b:39:82:72:fa:8b:cd:96 +# Subject: CN=TeliaSonera Root CA v1,O=TeliaSonera +# Not Valid Before: Thu Oct 18 12:00:50 2007 +# Not Valid After : Mon Oct 18 12:00:50 2032 +# Fingerprint (MD5): 37:41:49:1B:18:56:9A:26:F5:AD:C2:66:FB:40:A5:4C +# Fingerprint (SHA1): 43:13:BB:96:F1:D5:86:9B:C1:4E:6A:92:F6:CF:F6:34:69:87:82:37 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "TeliaSonera Root CA v1" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\103\023\273\226\361\325\206\233\301\116\152\222\366\317\366\064 +\151\207\202\067 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\067\101\111\033\030\126\232\046\365\255\302\146\373\100\245\114 +END +CKA_ISSUER MULTILINE_OCTAL +\060\067\061\024\060\022\006\003\125\004\012\014\013\124\145\154 +\151\141\123\157\156\145\162\141\061\037\060\035\006\003\125\004 +\003\014\026\124\145\154\151\141\123\157\156\145\162\141\040\122 +\157\157\164\040\103\101\040\166\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\021\000\225\276\026\240\367\056\106\361\173\071\202\162\372 +\213\315\226 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "E-Tugra Certification Authority" +# +# Issuer: CN=E-Tugra Certification Authority,OU=E-Tugra Sertifikasyon Merkezi,O=E-Tu..ra EBG Bili..im Teknolojileri ve Hizmetleri A....,L=Ankara,C=TR +# Serial Number:6a:68:3e:9c:51:9b:cb:53 +# Subject: CN=E-Tugra Certification Authority,OU=E-Tugra Sertifikasyon Merkezi,O=E-Tu..ra EBG Bili..im Teknolojileri ve Hizmetleri A....,L=Ankara,C=TR +# Not Valid Before: Tue Mar 05 12:09:48 2013 +# Not Valid After : Fri Mar 03 12:09:48 2023 +# Fingerprint (MD5): B8:A1:03:63:B0:BD:21:71:70:8A:6F:13:3A:BB:79:49 +# Fingerprint (SHA1): 51:C6:E7:08:49:06:6E:F3:92:D4:5C:A0:0D:6D:A3:62:8F:C3:52:39 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "E-Tugra Certification Authority" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\262\061\013\060\011\006\003\125\004\006\023\002\124\122 +\061\017\060\015\006\003\125\004\007\014\006\101\156\153\141\162 +\141\061\100\060\076\006\003\125\004\012\014\067\105\055\124\165 +\304\237\162\141\040\105\102\107\040\102\151\154\151\305\237\151 +\155\040\124\145\153\156\157\154\157\152\151\154\145\162\151\040 +\166\145\040\110\151\172\155\145\164\154\145\162\151\040\101\056 +\305\236\056\061\046\060\044\006\003\125\004\013\014\035\105\055 +\124\165\147\162\141\040\123\145\162\164\151\146\151\153\141\163 +\171\157\156\040\115\145\162\153\145\172\151\061\050\060\046\006 +\003\125\004\003\014\037\105\055\124\165\147\162\141\040\103\145 +\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150 +\157\162\151\164\171 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\262\061\013\060\011\006\003\125\004\006\023\002\124\122 +\061\017\060\015\006\003\125\004\007\014\006\101\156\153\141\162 +\141\061\100\060\076\006\003\125\004\012\014\067\105\055\124\165 +\304\237\162\141\040\105\102\107\040\102\151\154\151\305\237\151 +\155\040\124\145\153\156\157\154\157\152\151\154\145\162\151\040 +\166\145\040\110\151\172\155\145\164\154\145\162\151\040\101\056 +\305\236\056\061\046\060\044\006\003\125\004\013\014\035\105\055 +\124\165\147\162\141\040\123\145\162\164\151\146\151\153\141\163 +\171\157\156\040\115\145\162\153\145\172\151\061\050\060\046\006 +\003\125\004\003\014\037\105\055\124\165\147\162\141\040\103\145 +\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150 +\157\162\151\164\171 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\152\150\076\234\121\233\313\123 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\006\113\060\202\004\063\240\003\002\001\002\002\010\152 +\150\076\234\121\233\313\123\060\015\006\011\052\206\110\206\367 +\015\001\001\013\005\000\060\201\262\061\013\060\011\006\003\125 +\004\006\023\002\124\122\061\017\060\015\006\003\125\004\007\014 +\006\101\156\153\141\162\141\061\100\060\076\006\003\125\004\012 +\014\067\105\055\124\165\304\237\162\141\040\105\102\107\040\102 +\151\154\151\305\237\151\155\040\124\145\153\156\157\154\157\152 +\151\154\145\162\151\040\166\145\040\110\151\172\155\145\164\154 +\145\162\151\040\101\056\305\236\056\061\046\060\044\006\003\125 +\004\013\014\035\105\055\124\165\147\162\141\040\123\145\162\164 +\151\146\151\153\141\163\171\157\156\040\115\145\162\153\145\172 +\151\061\050\060\046\006\003\125\004\003\014\037\105\055\124\165 +\147\162\141\040\103\145\162\164\151\146\151\143\141\164\151\157 +\156\040\101\165\164\150\157\162\151\164\171\060\036\027\015\061 +\063\060\063\060\065\061\062\060\071\064\070\132\027\015\062\063 +\060\063\060\063\061\062\060\071\064\070\132\060\201\262\061\013 +\060\011\006\003\125\004\006\023\002\124\122\061\017\060\015\006 +\003\125\004\007\014\006\101\156\153\141\162\141\061\100\060\076 +\006\003\125\004\012\014\067\105\055\124\165\304\237\162\141\040 +\105\102\107\040\102\151\154\151\305\237\151\155\040\124\145\153 +\156\157\154\157\152\151\154\145\162\151\040\166\145\040\110\151 +\172\155\145\164\154\145\162\151\040\101\056\305\236\056\061\046 +\060\044\006\003\125\004\013\014\035\105\055\124\165\147\162\141 +\040\123\145\162\164\151\146\151\153\141\163\171\157\156\040\115 +\145\162\153\145\172\151\061\050\060\046\006\003\125\004\003\014 +\037\105\055\124\165\147\162\141\040\103\145\162\164\151\146\151 +\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 +\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001 +\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001 +\000\342\365\077\223\005\121\036\205\142\124\136\172\013\365\030 +\007\203\256\176\257\174\367\324\212\153\245\143\103\071\271\113 +\367\303\306\144\211\075\224\056\124\200\122\071\071\007\113\113 +\335\205\007\166\207\314\277\057\225\114\314\175\247\075\274\107 +\017\230\160\370\214\205\036\164\216\222\155\033\100\321\231\015 +\273\165\156\310\251\153\232\300\204\061\257\312\103\313\353\053 +\064\350\217\227\153\001\233\325\016\112\010\252\133\222\164\205 +\103\323\200\256\241\210\133\256\263\352\136\313\026\232\167\104 +\310\241\366\124\150\316\336\217\227\053\272\133\100\002\014\144 +\027\300\265\223\315\341\361\023\146\316\014\171\357\321\221\050 +\253\137\240\022\122\060\163\031\216\217\341\214\007\242\303\273 +\112\360\352\037\025\250\356\045\314\244\106\370\033\042\357\263 +\016\103\272\054\044\270\305\054\134\324\034\370\135\144\275\303 +\223\136\050\247\077\047\361\216\036\323\052\120\005\243\125\331 +\313\347\071\123\300\230\236\214\124\142\213\046\260\367\175\215 +\174\344\306\236\146\102\125\202\107\347\262\130\215\146\367\007 +\174\056\066\346\120\034\077\333\103\044\305\277\206\107\171\263 +\171\034\367\132\364\023\354\154\370\077\342\131\037\225\356\102 +\076\271\255\250\062\205\111\227\106\376\113\061\217\132\313\255 +\164\107\037\351\221\267\337\050\004\042\240\324\017\135\342\171 +\117\352\154\205\206\275\250\246\316\344\372\303\341\263\256\336 +\074\121\356\313\023\174\001\177\204\016\135\121\224\236\023\014 +\266\056\245\114\371\071\160\066\157\226\312\056\014\104\125\305 +\312\372\135\002\243\337\326\144\214\132\263\001\012\251\265\012 +\107\027\377\357\221\100\052\216\241\106\072\061\230\345\021\374 +\314\273\111\126\212\374\271\320\141\232\157\145\154\346\303\313 +\076\165\111\376\217\247\342\211\305\147\327\235\106\023\116\061 +\166\073\044\263\236\021\145\206\253\177\357\035\324\370\274\347 +\254\132\134\267\132\107\134\125\316\125\264\042\161\133\133\013 +\360\317\334\240\141\144\352\251\327\150\012\143\247\340\015\077 +\240\257\323\252\322\176\357\121\240\346\121\053\125\222\025\027 +\123\313\267\146\016\146\114\370\371\165\114\220\347\022\160\307 +\105\002\003\001\000\001\243\143\060\141\060\035\006\003\125\035 +\016\004\026\004\024\056\343\333\262\111\320\234\124\171\134\372 +\047\052\376\314\116\322\350\116\124\060\017\006\003\125\035\023 +\001\001\377\004\005\060\003\001\001\377\060\037\006\003\125\035 +\043\004\030\060\026\200\024\056\343\333\262\111\320\234\124\171 +\134\372\047\052\376\314\116\322\350\116\124\060\016\006\003\125 +\035\017\001\001\377\004\004\003\002\001\006\060\015\006\011\052 +\206\110\206\367\015\001\001\013\005\000\003\202\002\001\000\005 +\067\072\364\115\267\105\342\105\165\044\217\266\167\122\350\034 +\330\020\223\145\363\362\131\006\244\076\036\051\354\135\321\320 +\253\174\340\012\220\110\170\355\116\230\003\231\376\050\140\221 +\035\060\035\270\143\174\250\346\065\265\372\323\141\166\346\326 +\007\113\312\151\232\262\204\172\167\223\105\027\025\237\044\320 +\230\023\022\377\273\240\056\375\116\114\207\370\316\134\252\230 +\033\005\340\000\106\112\202\200\245\063\213\050\334\355\070\323 +\337\345\076\351\376\373\131\335\141\204\117\322\124\226\023\141 +\023\076\217\200\151\276\223\107\265\065\103\322\132\273\075\134 +\357\263\102\107\315\073\125\023\006\260\011\333\375\143\366\072 +\210\012\231\157\176\341\316\033\123\152\104\146\043\121\010\173 +\274\133\122\242\375\006\067\070\100\141\217\112\226\270\220\067 +\370\146\307\170\220\000\025\056\213\255\121\065\123\007\250\153 +\150\256\371\116\074\007\046\315\010\005\160\314\071\077\166\275 +\245\323\147\046\001\206\246\123\322\140\073\174\103\177\125\212 +\274\225\032\301\050\071\114\037\103\322\221\364\162\131\212\271 +\126\374\077\264\235\332\160\234\166\132\214\103\120\356\216\060 +\162\115\337\377\111\367\306\251\147\331\155\254\002\021\342\072 +\026\045\247\130\010\313\157\123\101\234\110\070\107\150\063\321 +\327\307\217\324\164\041\324\303\005\220\172\377\316\226\210\261 +\025\051\135\043\253\320\140\241\022\117\336\364\027\315\062\345 +\311\277\310\103\255\375\056\216\361\257\342\364\230\372\022\037 +\040\330\300\247\014\205\305\220\364\073\055\226\046\261\054\276 +\114\253\353\261\322\212\311\333\170\023\017\036\011\235\155\217 +\000\237\002\332\301\372\037\172\172\011\304\112\346\210\052\227 +\237\211\213\375\067\137\137\072\316\070\131\206\113\257\161\013 +\264\330\362\160\117\237\062\023\343\260\247\127\345\332\332\103 +\313\204\064\362\050\304\352\155\364\052\357\301\153\166\332\373 +\176\273\205\074\322\123\302\115\276\161\341\105\321\375\043\147 +\015\023\165\373\317\145\147\042\235\256\260\011\321\011\377\035 +\064\277\376\043\227\067\322\071\372\075\015\006\013\264\333\073 +\243\253\157\134\035\266\176\350\263\202\064\355\006\134\044 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "E-Tugra Certification Authority" +# Issuer: CN=E-Tugra Certification Authority,OU=E-Tugra Sertifikasyon Merkezi,O=E-Tu..ra EBG Bili..im Teknolojileri ve Hizmetleri A....,L=Ankara,C=TR +# Serial Number:6a:68:3e:9c:51:9b:cb:53 +# Subject: CN=E-Tugra Certification Authority,OU=E-Tugra Sertifikasyon Merkezi,O=E-Tu..ra EBG Bili..im Teknolojileri ve Hizmetleri A....,L=Ankara,C=TR +# Not Valid Before: Tue Mar 05 12:09:48 2013 +# Not Valid After : Fri Mar 03 12:09:48 2023 +# Fingerprint (MD5): B8:A1:03:63:B0:BD:21:71:70:8A:6F:13:3A:BB:79:49 +# Fingerprint (SHA1): 51:C6:E7:08:49:06:6E:F3:92:D4:5C:A0:0D:6D:A3:62:8F:C3:52:39 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "E-Tugra Certification Authority" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\121\306\347\010\111\006\156\363\222\324\134\240\015\155\243\142 +\217\303\122\071 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\270\241\003\143\260\275\041\161\160\212\157\023\072\273\171\111 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\262\061\013\060\011\006\003\125\004\006\023\002\124\122 +\061\017\060\015\006\003\125\004\007\014\006\101\156\153\141\162 +\141\061\100\060\076\006\003\125\004\012\014\067\105\055\124\165 +\304\237\162\141\040\105\102\107\040\102\151\154\151\305\237\151 +\155\040\124\145\153\156\157\154\157\152\151\154\145\162\151\040 +\166\145\040\110\151\172\155\145\164\154\145\162\151\040\101\056 +\305\236\056\061\046\060\044\006\003\125\004\013\014\035\105\055 +\124\165\147\162\141\040\123\145\162\164\151\146\151\153\141\163 +\171\157\156\040\115\145\162\153\145\172\151\061\050\060\046\006 +\003\125\004\003\014\037\105\055\124\165\147\162\141\040\103\145 +\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150 +\157\162\151\164\171 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\152\150\076\234\121\233\313\123 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "T-TeleSec GlobalRoot Class 2" +# +# Issuer: CN=T-TeleSec GlobalRoot Class 2,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE +# Serial Number: 1 (0x1) +# Subject: CN=T-TeleSec GlobalRoot Class 2,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE +# Not Valid Before: Wed Oct 01 10:40:14 2008 +# Not Valid After : Sat Oct 01 23:59:59 2033 +# Fingerprint (MD5): 2B:9B:9E:E4:7B:6C:1F:00:72:1A:CC:C1:77:79:DF:6A +# Fingerprint (SHA1): 59:0D:2D:7D:88:4F:40:2E:61:7E:A5:62:32:17:65:CF:17:D8:94:E9 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "T-TeleSec GlobalRoot Class 2" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105 +\061\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163 +\164\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040 +\123\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060 +\035\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155 +\163\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045 +\060\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123 +\145\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154 +\141\163\163\040\062 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105 +\061\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163 +\164\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040 +\123\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060 +\035\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155 +\163\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045 +\060\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123 +\145\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154 +\141\163\163\040\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\303\060\202\002\253\240\003\002\001\002\002\001\001 +\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060 +\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105\061 +\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163\164 +\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040\123 +\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060\035 +\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155\163 +\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045\060 +\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123\145 +\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154\141 +\163\163\040\062\060\036\027\015\060\070\061\060\060\061\061\060 +\064\060\061\064\132\027\015\063\063\061\060\060\061\062\063\065 +\071\065\071\132\060\201\202\061\013\060\011\006\003\125\004\006 +\023\002\104\105\061\053\060\051\006\003\125\004\012\014\042\124 +\055\123\171\163\164\145\155\163\040\105\156\164\145\162\160\162 +\151\163\145\040\123\145\162\166\151\143\145\163\040\107\155\142 +\110\061\037\060\035\006\003\125\004\013\014\026\124\055\123\171 +\163\164\145\155\163\040\124\162\165\163\164\040\103\145\156\164 +\145\162\061\045\060\043\006\003\125\004\003\014\034\124\055\124 +\145\154\145\123\145\143\040\107\154\157\142\141\154\122\157\157 +\164\040\103\154\141\163\163\040\062\060\202\001\042\060\015\006 +\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017 +\000\060\202\001\012\002\202\001\001\000\252\137\332\033\137\350 +\163\221\345\332\134\364\242\346\107\345\363\150\125\140\005\035 +\002\244\263\233\131\363\036\212\257\064\255\374\015\302\331\110 +\031\356\151\217\311\040\374\041\252\007\031\355\260\134\254\145 +\307\137\355\002\174\173\174\055\033\326\272\271\200\302\030\202 +\026\204\372\146\260\010\306\124\043\201\344\315\271\111\077\366 +\117\156\067\110\050\070\017\305\276\347\150\160\375\071\227\115 +\322\307\230\221\120\252\304\104\263\043\175\071\107\351\122\142 +\326\022\223\136\267\061\226\102\005\373\166\247\036\243\365\302 +\374\351\172\305\154\251\161\117\352\313\170\274\140\257\307\336 +\364\331\313\276\176\063\245\156\224\203\360\064\372\041\253\352 +\216\162\240\077\244\336\060\133\357\206\115\152\225\133\103\104 +\250\020\025\034\345\001\127\305\230\361\346\006\050\221\252\040 +\305\267\123\046\121\103\262\013\021\225\130\341\300\017\166\331 +\300\215\174\201\363\162\160\236\157\376\032\216\331\137\065\306 +\262\157\064\174\276\110\117\342\132\071\327\330\235\170\236\237 +\206\076\003\136\031\213\104\242\325\307\002\003\001\000\001\243 +\102\060\100\060\017\006\003\125\035\023\001\001\377\004\005\060 +\003\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004 +\003\002\001\006\060\035\006\003\125\035\016\004\026\004\024\277 +\131\040\066\000\171\240\240\042\153\214\325\362\141\322\270\054 +\313\202\112\060\015\006\011\052\206\110\206\367\015\001\001\013 +\005\000\003\202\001\001\000\061\003\242\141\013\037\164\350\162 +\066\306\155\371\115\236\372\042\250\341\201\126\317\315\273\237 +\352\253\221\031\070\257\252\174\025\115\363\266\243\215\245\364 +\216\366\104\251\247\350\041\225\255\076\000\142\026\210\360\002 +\272\374\141\043\346\063\233\060\172\153\066\142\173\255\004\043 +\204\130\145\342\333\053\212\347\045\123\067\142\123\137\274\332 +\001\142\051\242\246\047\161\346\072\042\176\301\157\035\225\160 +\040\112\007\064\337\352\377\025\200\345\272\327\172\330\133\165 +\174\005\172\051\107\176\100\250\061\023\167\315\100\073\264\121 +\107\172\056\021\343\107\021\336\235\146\320\213\325\124\146\372 +\203\125\352\174\302\051\211\033\351\157\263\316\342\005\204\311 +\057\076\170\205\142\156\311\137\301\170\143\164\130\300\110\030 +\014\231\071\353\244\314\032\265\171\132\215\025\234\330\024\015 +\366\172\007\127\307\042\203\005\055\074\233\045\046\075\030\263 +\251\103\174\310\310\253\144\217\016\243\277\234\033\235\060\333 +\332\320\031\056\252\074\361\373\063\200\166\344\315\255\031\117 +\005\047\216\023\241\156\302 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "T-TeleSec GlobalRoot Class 2" +# Issuer: CN=T-TeleSec GlobalRoot Class 2,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE +# Serial Number: 1 (0x1) +# Subject: CN=T-TeleSec GlobalRoot Class 2,OU=T-Systems Trust Center,O=T-Systems Enterprise Services GmbH,C=DE +# Not Valid Before: Wed Oct 01 10:40:14 2008 +# Not Valid After : Sat Oct 01 23:59:59 2033 +# Fingerprint (MD5): 2B:9B:9E:E4:7B:6C:1F:00:72:1A:CC:C1:77:79:DF:6A +# Fingerprint (SHA1): 59:0D:2D:7D:88:4F:40:2E:61:7E:A5:62:32:17:65:CF:17:D8:94:E9 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "T-TeleSec GlobalRoot Class 2" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\131\015\055\175\210\117\100\056\141\176\245\142\062\027\145\317 +\027\330\224\351 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\053\233\236\344\173\154\037\000\162\032\314\301\167\171\337\152 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\202\061\013\060\011\006\003\125\004\006\023\002\104\105 +\061\053\060\051\006\003\125\004\012\014\042\124\055\123\171\163 +\164\145\155\163\040\105\156\164\145\162\160\162\151\163\145\040 +\123\145\162\166\151\143\145\163\040\107\155\142\110\061\037\060 +\035\006\003\125\004\013\014\026\124\055\123\171\163\164\145\155 +\163\040\124\162\165\163\164\040\103\145\156\164\145\162\061\045 +\060\043\006\003\125\004\003\014\034\124\055\124\145\154\145\123 +\145\143\040\107\154\157\142\141\154\122\157\157\164\040\103\154 +\141\163\163\040\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Atos TrustedRoot 2011" +# +# Issuer: C=DE,O=Atos,CN=Atos TrustedRoot 2011 +# Serial Number:5c:33:cb:62:2c:5f:b3:32 +# Subject: C=DE,O=Atos,CN=Atos TrustedRoot 2011 +# Not Valid Before: Thu Jul 07 14:58:30 2011 +# Not Valid After : Tue Dec 31 23:59:59 2030 +# Fingerprint (MD5): AE:B9:C4:32:4B:AC:7F:5D:66:CC:77:94:BB:2A:77:56 +# Fingerprint (SHA1): 2B:B1:F5:3E:55:0C:1D:C5:F1:D4:E6:B7:6A:46:4B:55:06:02:AC:21 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Atos TrustedRoot 2011" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\074\061\036\060\034\006\003\125\004\003\014\025\101\164\157 +\163\040\124\162\165\163\164\145\144\122\157\157\164\040\062\060 +\061\061\061\015\060\013\006\003\125\004\012\014\004\101\164\157 +\163\061\013\060\011\006\003\125\004\006\023\002\104\105 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\074\061\036\060\034\006\003\125\004\003\014\025\101\164\157 +\163\040\124\162\165\163\164\145\144\122\157\157\164\040\062\060 +\061\061\061\015\060\013\006\003\125\004\012\014\004\101\164\157 +\163\061\013\060\011\006\003\125\004\006\023\002\104\105 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\134\063\313\142\054\137\263\062 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\167\060\202\002\137\240\003\002\001\002\002\010\134 +\063\313\142\054\137\263\062\060\015\006\011\052\206\110\206\367 +\015\001\001\013\005\000\060\074\061\036\060\034\006\003\125\004 +\003\014\025\101\164\157\163\040\124\162\165\163\164\145\144\122 +\157\157\164\040\062\060\061\061\061\015\060\013\006\003\125\004 +\012\014\004\101\164\157\163\061\013\060\011\006\003\125\004\006 +\023\002\104\105\060\036\027\015\061\061\060\067\060\067\061\064 +\065\070\063\060\132\027\015\063\060\061\062\063\061\062\063\065 +\071\065\071\132\060\074\061\036\060\034\006\003\125\004\003\014 +\025\101\164\157\163\040\124\162\165\163\164\145\144\122\157\157 +\164\040\062\060\061\061\061\015\060\013\006\003\125\004\012\014 +\004\101\164\157\163\061\013\060\011\006\003\125\004\006\023\002 +\104\105\060\202\001\042\060\015\006\011\052\206\110\206\367\015 +\001\001\001\005\000\003\202\001\017\000\060\202\001\012\002\202 +\001\001\000\225\205\073\227\157\052\073\056\073\317\246\363\051 +\065\276\317\030\254\076\252\331\370\115\240\076\032\107\271\274 +\232\337\362\376\314\076\107\350\172\226\302\044\216\065\364\251 +\014\374\202\375\155\301\162\142\047\275\352\153\353\347\212\314 +\124\076\220\120\317\200\324\225\373\350\265\202\324\024\305\266 +\251\125\045\127\333\261\120\366\260\140\144\131\172\151\317\003 +\267\157\015\276\312\076\157\164\162\352\252\060\052\163\142\276 +\111\221\141\310\021\376\016\003\052\367\152\040\334\002\025\015 +\136\025\152\374\343\202\301\265\305\235\144\011\154\243\131\230 +\007\047\307\033\226\053\141\164\161\154\103\361\367\065\211\020 +\340\236\354\125\241\067\042\242\207\004\005\054\107\175\264\034 +\271\142\051\146\050\312\267\341\223\365\244\224\003\231\271\160 +\205\265\346\110\352\215\120\374\331\336\314\157\007\016\335\013 +\162\235\200\060\026\007\225\077\050\016\375\305\165\117\123\326 +\164\232\264\044\056\216\002\221\317\166\305\233\036\125\164\234 +\170\041\261\360\055\361\013\237\302\325\226\030\037\360\124\042 +\172\214\007\002\003\001\000\001\243\175\060\173\060\035\006\003 +\125\035\016\004\026\004\024\247\245\006\261\054\246\011\140\356 +\321\227\351\160\256\274\073\031\154\333\041\060\017\006\003\125 +\035\023\001\001\377\004\005\060\003\001\001\377\060\037\006\003 +\125\035\043\004\030\060\026\200\024\247\245\006\261\054\246\011 +\140\356\321\227\351\160\256\274\073\031\154\333\041\060\030\006 +\003\125\035\040\004\021\060\017\060\015\006\013\053\006\001\004 +\001\260\055\003\004\001\001\060\016\006\003\125\035\017\001\001 +\377\004\004\003\002\001\206\060\015\006\011\052\206\110\206\367 +\015\001\001\013\005\000\003\202\001\001\000\046\167\064\333\224 +\110\206\052\101\235\054\076\006\220\140\304\214\254\013\124\270 +\037\271\173\323\007\071\344\372\076\173\262\075\116\355\237\043 +\275\227\363\153\134\357\356\375\100\246\337\241\223\241\012\206 +\254\357\040\320\171\001\275\170\367\031\330\044\061\064\004\001 +\246\272\025\232\303\047\334\330\117\017\314\030\143\377\231\017 +\016\221\153\165\026\341\041\374\330\046\307\107\267\246\317\130 +\162\161\176\272\341\115\225\107\073\311\257\155\241\264\301\354 +\211\366\264\017\070\265\342\144\334\045\317\246\333\353\232\134 +\231\241\305\010\336\375\346\332\325\326\132\105\014\304\267\302 +\265\024\357\264\021\377\016\025\265\365\365\333\306\275\353\132 +\247\360\126\042\251\074\145\124\306\025\250\275\206\236\315\203 +\226\150\172\161\201\211\341\013\341\352\021\033\150\010\314\151 +\236\354\236\101\236\104\062\046\172\342\207\012\161\075\353\344 +\132\244\322\333\305\315\306\336\140\177\271\363\117\104\222\357 +\052\267\030\076\247\031\331\013\175\261\067\101\102\260\272\140 +\035\362\376\011\021\260\360\207\173\247\235 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "Atos TrustedRoot 2011" +# Issuer: C=DE,O=Atos,CN=Atos TrustedRoot 2011 +# Serial Number:5c:33:cb:62:2c:5f:b3:32 +# Subject: C=DE,O=Atos,CN=Atos TrustedRoot 2011 +# Not Valid Before: Thu Jul 07 14:58:30 2011 +# Not Valid After : Tue Dec 31 23:59:59 2030 +# Fingerprint (MD5): AE:B9:C4:32:4B:AC:7F:5D:66:CC:77:94:BB:2A:77:56 +# Fingerprint (SHA1): 2B:B1:F5:3E:55:0C:1D:C5:F1:D4:E6:B7:6A:46:4B:55:06:02:AC:21 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Atos TrustedRoot 2011" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\053\261\365\076\125\014\035\305\361\324\346\267\152\106\113\125 +\006\002\254\041 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\256\271\304\062\113\254\177\135\146\314\167\224\273\052\167\126 +END +CKA_ISSUER MULTILINE_OCTAL +\060\074\061\036\060\034\006\003\125\004\003\014\025\101\164\157 +\163\040\124\162\165\163\164\145\144\122\157\157\164\040\062\060 +\061\061\061\015\060\013\006\003\125\004\012\014\004\101\164\157 +\163\061\013\060\011\006\003\125\004\006\023\002\104\105 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\134\063\313\142\054\137\263\062 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "QuoVadis Root CA 1 G3" +# +# Issuer: CN=QuoVadis Root CA 1 G3,O=QuoVadis Limited,C=BM +# Serial Number:78:58:5f:2e:ad:2c:19:4b:e3:37:07:35:34:13:28:b5:96:d4:65:93 +# Subject: CN=QuoVadis Root CA 1 G3,O=QuoVadis Limited,C=BM +# Not Valid Before: Thu Jan 12 17:27:44 2012 +# Not Valid After : Sun Jan 12 17:27:44 2042 +# Fingerprint (SHA-256): 8A:86:6F:D1:B2:76:B5:7E:57:8E:92:1C:65:82:8A:2B:ED:58:E9:F2:F2:88:05:41:34:B7:F1:F4:BF:C9:CC:74 +# Fingerprint (SHA1): 1B:8E:EA:57:96:29:1A:C9:39:EA:B8:0A:81:1A:73:73:C0:93:79:67 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "QuoVadis Root CA 1 G3" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\110\061\013\060\011\006\003\125\004\006\023\002\102\115\061 +\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 +\151\163\040\114\151\155\151\164\145\144\061\036\060\034\006\003 +\125\004\003\023\025\121\165\157\126\141\144\151\163\040\122\157 +\157\164\040\103\101\040\061\040\107\063 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\110\061\013\060\011\006\003\125\004\006\023\002\102\115\061 +\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 +\151\163\040\114\151\155\151\164\145\144\061\036\060\034\006\003 +\125\004\003\023\025\121\165\157\126\141\144\151\163\040\122\157 +\157\164\040\103\101\040\061\040\107\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\024\170\130\137\056\255\054\031\113\343\067\007\065\064\023 +\050\265\226\324\145\223 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\140\060\202\003\110\240\003\002\001\002\002\024\170 +\130\137\056\255\054\031\113\343\067\007\065\064\023\050\265\226 +\324\145\223\060\015\006\011\052\206\110\206\367\015\001\001\013 +\005\000\060\110\061\013\060\011\006\003\125\004\006\023\002\102 +\115\061\031\060\027\006\003\125\004\012\023\020\121\165\157\126 +\141\144\151\163\040\114\151\155\151\164\145\144\061\036\060\034 +\006\003\125\004\003\023\025\121\165\157\126\141\144\151\163\040 +\122\157\157\164\040\103\101\040\061\040\107\063\060\036\027\015 +\061\062\060\061\061\062\061\067\062\067\064\064\132\027\015\064 +\062\060\061\061\062\061\067\062\067\064\064\132\060\110\061\013 +\060\011\006\003\125\004\006\023\002\102\115\061\031\060\027\006 +\003\125\004\012\023\020\121\165\157\126\141\144\151\163\040\114 +\151\155\151\164\145\144\061\036\060\034\006\003\125\004\003\023 +\025\121\165\157\126\141\144\151\163\040\122\157\157\164\040\103 +\101\040\061\040\107\063\060\202\002\042\060\015\006\011\052\206 +\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202 +\002\012\002\202\002\001\000\240\276\120\020\216\351\362\154\100 +\264\004\234\205\271\061\312\334\055\344\021\251\004\074\033\125 +\301\347\130\060\035\044\264\303\357\205\336\214\054\341\301\075 +\337\202\346\117\255\107\207\154\354\133\111\301\112\325\273\217 +\354\207\254\177\202\232\206\354\075\003\231\122\001\322\065\236 +\254\332\360\123\311\146\074\324\254\002\001\332\044\323\073\250 +\002\106\257\244\034\343\370\163\130\166\267\366\016\220\015\265 +\360\317\314\372\371\306\114\345\303\206\060\012\215\027\176\065 +\353\305\337\273\016\234\300\215\207\343\210\070\205\147\372\076 +\307\253\340\023\234\005\030\230\317\223\365\261\222\264\374\043 +\323\317\325\304\047\111\340\236\074\233\010\243\213\135\052\041 +\340\374\071\252\123\332\175\176\317\032\011\123\274\135\005\004 +\317\241\112\217\213\166\202\015\241\370\322\307\024\167\133\220 +\066\007\201\233\076\006\372\122\136\143\305\246\000\376\245\351 +\122\033\122\265\222\071\162\003\011\142\275\260\140\026\156\246 +\335\045\302\003\146\335\363\004\321\100\342\116\213\206\364\157 +\345\203\240\047\204\136\004\301\365\220\275\060\075\304\357\250 +\151\274\070\233\244\244\226\321\142\332\151\300\001\226\256\313 +\304\121\064\352\014\252\377\041\216\131\217\112\134\344\141\232 +\247\322\351\052\170\215\121\075\072\025\356\242\131\216\251\134 +\336\305\371\220\042\345\210\105\161\335\221\231\154\172\237\075 +\075\230\174\136\366\276\026\150\240\136\256\013\043\374\132\017 +\252\042\166\055\311\241\020\035\344\323\104\043\220\210\237\306 +\052\346\327\365\232\263\130\036\057\060\211\010\033\124\242\265 +\230\043\354\010\167\034\225\135\141\321\313\211\234\137\242\112 +\221\232\357\041\252\111\026\010\250\275\141\050\061\311\164\255 +\205\366\331\305\261\213\321\345\020\062\115\137\213\040\072\074 +\111\037\063\205\131\015\333\313\011\165\103\151\163\373\153\161 +\175\360\337\304\114\175\306\243\056\310\225\171\313\163\242\216 +\116\115\044\373\136\344\004\276\162\033\246\047\055\111\132\231 +\172\327\134\011\040\267\177\224\271\117\361\015\034\136\210\102 +\033\021\267\347\221\333\236\154\364\152\337\214\006\230\003\255 +\314\050\357\245\107\363\123\002\003\001\000\001\243\102\060\100 +\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001 +\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001 +\006\060\035\006\003\125\035\016\004\026\004\024\243\227\326\363 +\136\242\020\341\253\105\237\074\027\144\074\356\001\160\234\314 +\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003 +\202\002\001\000\030\372\133\165\374\076\172\307\137\167\307\312 +\337\317\137\303\022\304\100\135\324\062\252\270\152\327\325\025 +\025\106\230\043\245\346\220\133\030\231\114\343\255\102\243\202 +\061\066\210\315\351\373\304\004\226\110\213\001\307\215\001\317 +\133\063\006\226\106\146\164\035\117\355\301\266\271\264\015\141 +\314\143\176\327\056\167\214\226\034\052\043\150\153\205\127\166 +\160\063\023\376\341\117\246\043\167\030\372\032\214\350\275\145 +\311\317\077\364\311\027\334\353\307\274\300\004\056\055\106\057 +\151\146\303\033\217\376\354\076\323\312\224\277\166\012\045\015 +\251\173\002\034\251\320\073\137\013\300\201\072\075\144\341\277 +\247\055\116\275\115\304\330\051\306\042\030\320\305\254\162\002 +\202\077\252\072\242\072\042\227\061\335\010\143\303\165\024\271 +\140\050\055\133\150\340\026\251\146\202\043\121\365\353\123\330 +\061\233\173\351\267\235\113\353\210\026\317\371\135\070\212\111 +\060\217\355\361\353\031\364\167\032\061\030\115\147\124\154\057 +\157\145\371\333\075\354\041\354\136\364\364\213\312\140\145\124 +\321\161\144\364\371\246\243\201\063\066\063\161\360\244\170\137 +\116\255\203\041\336\064\111\215\350\131\254\235\362\166\132\066 +\362\023\364\257\340\011\307\141\052\154\367\340\235\256\273\206 +\112\050\157\056\356\264\171\315\220\063\303\263\166\372\365\360 +\154\235\001\220\372\236\220\366\234\162\317\107\332\303\037\344 +\065\040\123\362\124\321\337\141\203\246\002\342\045\070\336\205 +\062\055\136\163\220\122\135\102\304\316\075\113\341\371\031\204 +\035\325\242\120\314\101\373\101\024\303\275\326\311\132\243\143 +\146\002\200\275\005\072\073\107\234\354\000\046\114\365\210\121 +\277\250\043\177\030\007\260\013\355\213\046\241\144\323\141\112 +\353\134\237\336\263\257\147\003\263\037\335\155\135\151\150\151 +\253\136\072\354\174\151\274\307\073\205\116\236\025\271\264\025 +\117\303\225\172\130\327\311\154\351\154\271\363\051\143\136\264 +\054\360\055\075\355\132\145\340\251\133\100\302\110\231\201\155 +\236\037\006\052\074\022\264\213\017\233\242\044\360\246\215\326 +\172\340\113\266\144\226\143\225\204\302\112\315\034\056\044\207 +\063\140\345\303 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "QuoVadis Root CA 1 G3" +# Issuer: CN=QuoVadis Root CA 1 G3,O=QuoVadis Limited,C=BM +# Serial Number:78:58:5f:2e:ad:2c:19:4b:e3:37:07:35:34:13:28:b5:96:d4:65:93 +# Subject: CN=QuoVadis Root CA 1 G3,O=QuoVadis Limited,C=BM +# Not Valid Before: Thu Jan 12 17:27:44 2012 +# Not Valid After : Sun Jan 12 17:27:44 2042 +# Fingerprint (SHA-256): 8A:86:6F:D1:B2:76:B5:7E:57:8E:92:1C:65:82:8A:2B:ED:58:E9:F2:F2:88:05:41:34:B7:F1:F4:BF:C9:CC:74 +# Fingerprint (SHA1): 1B:8E:EA:57:96:29:1A:C9:39:EA:B8:0A:81:1A:73:73:C0:93:79:67 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "QuoVadis Root CA 1 G3" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\033\216\352\127\226\051\032\311\071\352\270\012\201\032\163\163 +\300\223\171\147 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\244\274\133\077\376\067\232\372\144\360\342\372\005\075\013\253 +END +CKA_ISSUER MULTILINE_OCTAL +\060\110\061\013\060\011\006\003\125\004\006\023\002\102\115\061 +\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 +\151\163\040\114\151\155\151\164\145\144\061\036\060\034\006\003 +\125\004\003\023\025\121\165\157\126\141\144\151\163\040\122\157 +\157\164\040\103\101\040\061\040\107\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\024\170\130\137\056\255\054\031\113\343\067\007\065\064\023 +\050\265\226\324\145\223 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "QuoVadis Root CA 2 G3" +# +# Issuer: CN=QuoVadis Root CA 2 G3,O=QuoVadis Limited,C=BM +# Serial Number:44:57:34:24:5b:81:89:9b:35:f2:ce:b8:2b:3b:5b:a7:26:f0:75:28 +# Subject: CN=QuoVadis Root CA 2 G3,O=QuoVadis Limited,C=BM +# Not Valid Before: Thu Jan 12 18:59:32 2012 +# Not Valid After : Sun Jan 12 18:59:32 2042 +# Fingerprint (SHA-256): 8F:E4:FB:0A:F9:3A:4D:0D:67:DB:0B:EB:B2:3E:37:C7:1B:F3:25:DC:BC:DD:24:0E:A0:4D:AF:58:B4:7E:18:40 +# Fingerprint (SHA1): 09:3C:61:F3:8B:8B:DC:7D:55:DF:75:38:02:05:00:E1:25:F5:C8:36 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "QuoVadis Root CA 2 G3" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\110\061\013\060\011\006\003\125\004\006\023\002\102\115\061 +\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 +\151\163\040\114\151\155\151\164\145\144\061\036\060\034\006\003 +\125\004\003\023\025\121\165\157\126\141\144\151\163\040\122\157 +\157\164\040\103\101\040\062\040\107\063 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\110\061\013\060\011\006\003\125\004\006\023\002\102\115\061 +\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 +\151\163\040\114\151\155\151\164\145\144\061\036\060\034\006\003 +\125\004\003\023\025\121\165\157\126\141\144\151\163\040\122\157 +\157\164\040\103\101\040\062\040\107\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\024\104\127\064\044\133\201\211\233\065\362\316\270\053\073 +\133\247\046\360\165\050 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\140\060\202\003\110\240\003\002\001\002\002\024\104 +\127\064\044\133\201\211\233\065\362\316\270\053\073\133\247\046 +\360\165\050\060\015\006\011\052\206\110\206\367\015\001\001\013 +\005\000\060\110\061\013\060\011\006\003\125\004\006\023\002\102 +\115\061\031\060\027\006\003\125\004\012\023\020\121\165\157\126 +\141\144\151\163\040\114\151\155\151\164\145\144\061\036\060\034 +\006\003\125\004\003\023\025\121\165\157\126\141\144\151\163\040 +\122\157\157\164\040\103\101\040\062\040\107\063\060\036\027\015 +\061\062\060\061\061\062\061\070\065\071\063\062\132\027\015\064 +\062\060\061\061\062\061\070\065\071\063\062\132\060\110\061\013 +\060\011\006\003\125\004\006\023\002\102\115\061\031\060\027\006 +\003\125\004\012\023\020\121\165\157\126\141\144\151\163\040\114 +\151\155\151\164\145\144\061\036\060\034\006\003\125\004\003\023 +\025\121\165\157\126\141\144\151\163\040\122\157\157\164\040\103 +\101\040\062\040\107\063\060\202\002\042\060\015\006\011\052\206 +\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202 +\002\012\002\202\002\001\000\241\256\045\262\001\030\334\127\210 +\077\106\353\371\257\342\353\043\161\342\232\321\141\146\041\137 +\252\257\047\121\345\156\033\026\324\055\175\120\260\123\167\275 +\170\072\140\342\144\002\233\174\206\233\326\032\216\255\377\037 +\025\177\325\225\036\022\313\346\024\204\004\301\337\066\263\026 +\237\212\343\311\333\230\064\316\330\063\027\050\106\374\247\311 +\360\322\264\325\115\011\162\111\371\362\207\343\251\332\175\241 +\175\153\262\072\045\251\155\122\104\254\370\276\156\373\334\246 +\163\221\220\141\246\003\024\040\362\347\207\243\210\255\255\240 +\214\377\246\013\045\122\045\347\026\001\325\313\270\065\201\014 +\243\073\360\341\341\374\132\135\316\200\161\155\370\111\253\076 +\073\272\270\327\200\001\373\245\353\133\263\305\136\140\052\061 +\240\257\067\350\040\072\237\250\062\054\014\314\011\035\323\236 +\216\135\274\114\230\356\305\032\150\173\354\123\246\351\024\065 +\243\337\315\200\237\014\110\373\034\364\361\277\112\270\372\325 +\214\161\112\307\037\255\376\101\232\263\203\135\362\204\126\357 +\245\127\103\316\051\255\214\253\125\277\304\373\133\001\335\043 +\041\241\130\000\216\303\320\152\023\355\023\343\022\053\200\334 +\147\346\225\262\315\036\042\156\052\370\101\324\362\312\024\007 +\215\212\125\022\306\151\365\270\206\150\057\123\136\260\322\252 +\041\301\230\346\060\343\147\125\307\233\156\254\031\250\125\246 +\105\006\320\043\072\333\353\145\135\052\021\021\360\073\117\312 +\155\364\064\304\161\344\377\000\132\366\134\256\043\140\205\163 +\361\344\020\261\045\256\325\222\273\023\301\014\340\071\332\264 +\071\127\265\253\065\252\162\041\073\203\065\347\061\337\172\041 +\156\270\062\010\175\035\062\221\025\112\142\162\317\343\167\241 +\274\325\021\033\166\001\147\010\340\101\013\303\353\025\156\370 +\244\031\331\242\253\257\342\047\122\126\053\002\212\054\024\044 +\371\277\102\002\277\046\310\306\217\340\156\070\175\123\055\345 +\355\230\263\225\143\150\177\371\065\364\337\210\305\140\065\222 +\300\174\151\034\141\225\026\320\353\336\013\257\076\004\020\105 +\145\130\120\070\257\110\362\131\266\026\362\074\015\220\002\306 +\160\056\001\255\074\025\327\002\003\001\000\001\243\102\060\100 +\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001 +\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001 +\006\060\035\006\003\125\035\016\004\026\004\024\355\347\157\166 +\132\277\140\354\111\133\306\245\167\273\162\026\161\233\304\075 +\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003 +\202\002\001\000\221\337\200\077\103\011\176\161\302\367\353\263 +\210\217\341\121\262\274\075\165\371\050\135\310\274\231\233\173 +\135\252\345\312\341\012\367\350\262\323\237\335\147\061\176\272 +\001\252\307\152\101\073\220\324\010\134\262\140\152\220\360\310 +\316\003\142\371\213\355\373\156\052\334\006\115\074\051\017\211 +\026\212\130\114\110\017\350\204\141\352\074\162\246\167\344\102 +\256\210\243\103\130\171\176\256\312\245\123\015\251\075\160\275 +\040\031\141\244\154\070\374\103\062\341\301\107\377\370\354\361 +\021\042\062\226\234\302\366\133\151\226\173\040\014\103\101\232 +\133\366\131\031\210\336\125\210\067\121\013\170\134\012\036\243 +\102\375\307\235\210\017\300\362\170\002\044\124\223\257\211\207 +\210\311\112\200\035\352\320\156\076\141\056\066\273\065\016\047 +\226\375\146\064\073\141\162\163\361\026\134\107\006\124\111\000 +\172\130\022\260\012\357\205\375\261\270\063\165\152\223\034\022 +\346\140\136\157\035\177\311\037\043\313\204\141\237\036\202\104 +\371\137\255\142\125\044\232\122\230\355\121\347\241\176\227\072 +\346\057\037\021\332\123\200\054\205\236\253\065\020\333\042\137 +\152\305\136\227\123\362\062\002\011\060\243\130\360\015\001\325 +\162\306\261\174\151\173\303\365\066\105\314\141\156\136\114\224 +\305\136\256\350\016\136\213\277\367\315\340\355\241\016\033\063 +\356\124\030\376\017\276\357\176\204\153\103\343\160\230\333\135 +\165\262\015\131\007\205\025\043\071\326\361\337\251\046\017\326 +\110\307\263\246\042\365\063\067\132\225\107\237\173\272\030\025 +\157\377\326\024\144\203\111\322\012\147\041\333\017\065\143\140 +\050\042\343\261\225\203\315\205\246\335\057\017\347\147\122\156 +\273\057\205\174\365\112\163\347\305\076\300\275\041\022\005\077 +\374\267\003\111\002\133\310\045\346\342\124\070\365\171\207\214 +\035\123\262\116\205\173\006\070\307\054\370\370\260\162\215\045 +\345\167\122\364\003\034\110\246\120\137\210\040\060\156\362\202 +\103\253\075\227\204\347\123\373\041\301\117\017\042\232\206\270 +\131\052\366\107\075\031\210\055\350\205\341\236\354\205\010\152 +\261\154\064\311\035\354\110\053\073\170\355\146\304\216\171\151 +\203\336\177\214 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "QuoVadis Root CA 2 G3" +# Issuer: CN=QuoVadis Root CA 2 G3,O=QuoVadis Limited,C=BM +# Serial Number:44:57:34:24:5b:81:89:9b:35:f2:ce:b8:2b:3b:5b:a7:26:f0:75:28 +# Subject: CN=QuoVadis Root CA 2 G3,O=QuoVadis Limited,C=BM +# Not Valid Before: Thu Jan 12 18:59:32 2012 +# Not Valid After : Sun Jan 12 18:59:32 2042 +# Fingerprint (SHA-256): 8F:E4:FB:0A:F9:3A:4D:0D:67:DB:0B:EB:B2:3E:37:C7:1B:F3:25:DC:BC:DD:24:0E:A0:4D:AF:58:B4:7E:18:40 +# Fingerprint (SHA1): 09:3C:61:F3:8B:8B:DC:7D:55:DF:75:38:02:05:00:E1:25:F5:C8:36 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "QuoVadis Root CA 2 G3" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\011\074\141\363\213\213\334\175\125\337\165\070\002\005\000\341 +\045\365\310\066 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\257\014\206\156\277\100\055\177\013\076\022\120\272\022\075\006 +END +CKA_ISSUER MULTILINE_OCTAL +\060\110\061\013\060\011\006\003\125\004\006\023\002\102\115\061 +\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 +\151\163\040\114\151\155\151\164\145\144\061\036\060\034\006\003 +\125\004\003\023\025\121\165\157\126\141\144\151\163\040\122\157 +\157\164\040\103\101\040\062\040\107\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\024\104\127\064\044\133\201\211\233\065\362\316\270\053\073 +\133\247\046\360\165\050 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "QuoVadis Root CA 3 G3" +# +# Issuer: CN=QuoVadis Root CA 3 G3,O=QuoVadis Limited,C=BM +# Serial Number:2e:f5:9b:02:28:a7:db:7a:ff:d5:a3:a9:ee:bd:03:a0:cf:12:6a:1d +# Subject: CN=QuoVadis Root CA 3 G3,O=QuoVadis Limited,C=BM +# Not Valid Before: Thu Jan 12 20:26:32 2012 +# Not Valid After : Sun Jan 12 20:26:32 2042 +# Fingerprint (SHA-256): 88:EF:81:DE:20:2E:B0:18:45:2E:43:F8:64:72:5C:EA:5F:BD:1F:C2:D9:D2:05:73:07:09:C5:D8:B8:69:0F:46 +# Fingerprint (SHA1): 48:12:BD:92:3C:A8:C4:39:06:E7:30:6D:27:96:E6:A4:CF:22:2E:7D +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "QuoVadis Root CA 3 G3" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\110\061\013\060\011\006\003\125\004\006\023\002\102\115\061 +\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 +\151\163\040\114\151\155\151\164\145\144\061\036\060\034\006\003 +\125\004\003\023\025\121\165\157\126\141\144\151\163\040\122\157 +\157\164\040\103\101\040\063\040\107\063 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\110\061\013\060\011\006\003\125\004\006\023\002\102\115\061 +\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 +\151\163\040\114\151\155\151\164\145\144\061\036\060\034\006\003 +\125\004\003\023\025\121\165\157\126\141\144\151\163\040\122\157 +\157\164\040\103\101\040\063\040\107\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\024\056\365\233\002\050\247\333\172\377\325\243\251\356\275 +\003\240\317\022\152\035 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\140\060\202\003\110\240\003\002\001\002\002\024\056 +\365\233\002\050\247\333\172\377\325\243\251\356\275\003\240\317 +\022\152\035\060\015\006\011\052\206\110\206\367\015\001\001\013 +\005\000\060\110\061\013\060\011\006\003\125\004\006\023\002\102 +\115\061\031\060\027\006\003\125\004\012\023\020\121\165\157\126 +\141\144\151\163\040\114\151\155\151\164\145\144\061\036\060\034 +\006\003\125\004\003\023\025\121\165\157\126\141\144\151\163\040 +\122\157\157\164\040\103\101\040\063\040\107\063\060\036\027\015 +\061\062\060\061\061\062\062\060\062\066\063\062\132\027\015\064 +\062\060\061\061\062\062\060\062\066\063\062\132\060\110\061\013 +\060\011\006\003\125\004\006\023\002\102\115\061\031\060\027\006 +\003\125\004\012\023\020\121\165\157\126\141\144\151\163\040\114 +\151\155\151\164\145\144\061\036\060\034\006\003\125\004\003\023 +\025\121\165\157\126\141\144\151\163\040\122\157\157\164\040\103 +\101\040\063\040\107\063\060\202\002\042\060\015\006\011\052\206 +\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202 +\002\012\002\202\002\001\000\263\313\016\020\147\216\352\024\227 +\247\062\052\012\126\066\177\150\114\307\263\157\072\043\024\221 +\377\031\177\245\312\254\356\263\166\235\172\351\213\033\253\153 +\061\333\372\013\123\114\257\305\245\032\171\074\212\114\377\254 +\337\045\336\116\331\202\062\013\104\336\312\333\214\254\243\156 +\026\203\073\246\144\113\062\211\373\026\026\070\176\353\103\342 +\323\164\112\302\142\012\163\012\335\111\263\127\322\260\012\205 +\235\161\074\336\243\313\300\062\363\001\071\040\103\033\065\321 +\123\263\261\356\305\223\151\202\076\026\265\050\106\241\336\352 +\211\011\355\103\270\005\106\212\206\365\131\107\276\033\157\001 +\041\020\271\375\251\322\050\312\020\071\011\312\023\066\317\234 +\255\255\100\164\171\053\002\077\064\377\372\040\151\175\323\356 +\141\365\272\263\347\060\320\067\043\206\162\141\105\051\110\131 +\150\157\167\246\056\201\276\007\115\157\257\316\304\105\023\221 +\024\160\006\217\037\237\370\207\151\261\016\357\303\211\031\353 +\352\034\141\374\172\154\212\334\326\003\013\236\046\272\022\335 +\324\124\071\253\046\243\063\352\165\201\332\055\315\017\117\344 +\003\321\357\025\227\033\153\220\305\002\220\223\146\002\041\261 +\107\336\213\232\112\200\271\125\217\265\242\057\300\326\063\147 +\332\176\304\247\264\004\104\353\107\373\346\130\271\367\014\360 +\173\053\261\300\160\051\303\100\142\055\073\110\151\334\043\074 +\110\353\173\011\171\251\155\332\250\060\230\317\200\162\003\210 +\246\133\106\256\162\171\174\010\003\041\145\256\267\341\034\245 +\261\052\242\061\336\146\004\367\300\164\350\161\336\377\075\131 +\314\226\046\022\213\205\225\127\032\253\153\165\013\104\075\021 +\050\074\173\141\267\342\217\147\117\345\354\074\114\140\200\151 +\127\070\036\001\133\215\125\350\307\337\300\314\167\043\064\111 +\165\174\366\230\021\353\055\336\355\101\056\024\005\002\177\340 +\376\040\353\065\347\021\254\042\316\127\075\336\311\060\155\020 +\003\205\315\361\377\214\026\265\301\262\076\210\154\140\177\220 +\117\225\367\366\055\255\001\071\007\004\372\165\200\175\277\111 +\120\355\357\311\304\174\034\353\200\176\333\266\320\335\023\376 +\311\323\234\327\262\227\251\002\003\001\000\001\243\102\060\100 +\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001 +\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001 +\006\060\035\006\003\125\035\016\004\026\004\024\306\027\320\274 +\250\352\002\103\362\033\006\231\135\053\220\040\271\327\234\344 +\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003 +\202\002\001\000\064\141\331\126\265\022\207\125\115\335\243\065 +\061\106\273\244\007\162\274\137\141\142\350\245\373\013\067\261 +\074\266\263\372\051\235\177\002\365\244\311\250\223\267\172\161 +\050\151\217\163\341\122\220\332\325\276\072\345\267\166\152\126 +\200\041\337\135\346\351\072\236\345\076\366\242\151\307\052\012 +\260\030\107\334\040\160\175\122\243\076\131\174\301\272\311\310 +\025\100\141\312\162\326\160\254\322\267\360\034\344\206\051\360 +\316\357\150\143\320\265\040\212\025\141\232\176\206\230\264\311 +\302\166\373\314\272\060\026\314\243\141\306\164\023\345\153\357 +\243\025\352\003\376\023\213\144\344\323\301\322\350\204\373\111 +\321\020\115\171\146\353\252\375\364\215\061\036\160\024\255\334 +\336\147\023\114\201\025\141\274\267\331\221\167\161\031\201\140 +\273\360\130\245\265\234\013\367\217\042\125\047\300\113\001\155 +\073\231\015\324\035\233\143\147\057\320\356\015\312\146\274\224 +\117\246\255\355\374\356\143\254\127\077\145\045\317\262\206\217 +\320\010\377\270\166\024\156\336\345\047\354\253\170\265\123\271 +\266\077\350\040\371\322\250\276\141\106\312\207\214\204\363\371 +\361\240\150\233\042\036\201\046\233\020\004\221\161\300\006\037 +\334\240\323\271\126\247\343\230\055\177\203\235\337\214\053\234 +\062\216\062\224\360\001\074\042\052\237\103\302\056\303\230\071 +\007\070\173\374\136\000\102\037\363\062\046\171\203\204\366\345 +\360\301\121\022\300\013\036\004\043\014\124\245\114\057\111\305 +\112\321\266\156\140\015\153\374\153\213\205\044\144\267\211\016 +\253\045\107\133\074\317\176\111\275\307\351\012\306\332\367\176 +\016\027\010\323\110\227\320\161\222\360\017\071\076\064\152\034 +\175\330\362\042\256\273\151\364\063\264\246\110\125\321\017\016 +\046\350\354\266\013\055\247\205\065\315\375\131\310\237\321\315 +\076\132\051\064\271\075\204\316\261\145\324\131\221\221\126\165 +\041\301\167\236\371\172\341\140\235\323\255\004\030\364\174\353 +\136\223\217\123\112\042\051\370\110\053\076\115\206\254\133\177 +\313\006\231\131\140\330\130\145\225\215\104\321\367\177\176\047 +\177\175\256\200\365\007\114\266\076\234\161\124\231\004\113\375 +\130\371\230\364 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "QuoVadis Root CA 3 G3" +# Issuer: CN=QuoVadis Root CA 3 G3,O=QuoVadis Limited,C=BM +# Serial Number:2e:f5:9b:02:28:a7:db:7a:ff:d5:a3:a9:ee:bd:03:a0:cf:12:6a:1d +# Subject: CN=QuoVadis Root CA 3 G3,O=QuoVadis Limited,C=BM +# Not Valid Before: Thu Jan 12 20:26:32 2012 +# Not Valid After : Sun Jan 12 20:26:32 2042 +# Fingerprint (SHA-256): 88:EF:81:DE:20:2E:B0:18:45:2E:43:F8:64:72:5C:EA:5F:BD:1F:C2:D9:D2:05:73:07:09:C5:D8:B8:69:0F:46 +# Fingerprint (SHA1): 48:12:BD:92:3C:A8:C4:39:06:E7:30:6D:27:96:E6:A4:CF:22:2E:7D +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "QuoVadis Root CA 3 G3" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\110\022\275\222\074\250\304\071\006\347\060\155\047\226\346\244 +\317\042\056\175 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\337\175\271\255\124\157\150\241\337\211\127\003\227\103\260\327 +END +CKA_ISSUER MULTILINE_OCTAL +\060\110\061\013\060\011\006\003\125\004\006\023\002\102\115\061 +\031\060\027\006\003\125\004\012\023\020\121\165\157\126\141\144 +\151\163\040\114\151\155\151\164\145\144\061\036\060\034\006\003 +\125\004\003\023\025\121\165\157\126\141\144\151\163\040\122\157 +\157\164\040\103\101\040\063\040\107\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\024\056\365\233\002\050\247\333\172\377\325\243\251\356\275 +\003\240\317\022\152\035 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "DigiCert Assured ID Root G2" +# +# Issuer: CN=DigiCert Assured ID Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US +# Serial Number:0b:93:1c:3a:d6:39:67:ea:67:23:bf:c3:af:9a:f4:4b +# Subject: CN=DigiCert Assured ID Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US +# Not Valid Before: Thu Aug 01 12:00:00 2013 +# Not Valid After : Fri Jan 15 12:00:00 2038 +# Fingerprint (SHA-256): 7D:05:EB:B6:82:33:9F:8C:94:51:EE:09:4E:EB:FE:FA:79:53:A1:14:ED:B2:F4:49:49:45:2F:AB:7D:2F:C1:85 +# Fingerprint (SHA1): A1:4B:48:D9:43:EE:0A:0E:40:90:4F:3C:E0:A4:C0:91:93:51:5D:3F +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "DigiCert Assured ID Root G2" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 +\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 +\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 +\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151 +\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040 +\122\157\157\164\040\107\062 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 +\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 +\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 +\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151 +\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040 +\122\157\157\164\040\107\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\013\223\034\072\326\071\147\352\147\043\277\303\257\232 +\364\113 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\226\060\202\002\176\240\003\002\001\002\002\020\013 +\223\034\072\326\071\147\352\147\043\277\303\257\232\364\113\060 +\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\145 +\061\013\060\011\006\003\125\004\006\023\002\125\123\061\025\060 +\023\006\003\125\004\012\023\014\104\151\147\151\103\145\162\164 +\040\111\156\143\061\031\060\027\006\003\125\004\013\023\020\167 +\167\167\056\144\151\147\151\143\145\162\164\056\143\157\155\061 +\044\060\042\006\003\125\004\003\023\033\104\151\147\151\103\145 +\162\164\040\101\163\163\165\162\145\144\040\111\104\040\122\157 +\157\164\040\107\062\060\036\027\015\061\063\060\070\060\061\061 +\062\060\060\060\060\132\027\015\063\070\060\061\061\065\061\062 +\060\060\060\060\132\060\145\061\013\060\011\006\003\125\004\006 +\023\002\125\123\061\025\060\023\006\003\125\004\012\023\014\104 +\151\147\151\103\145\162\164\040\111\156\143\061\031\060\027\006 +\003\125\004\013\023\020\167\167\167\056\144\151\147\151\143\145 +\162\164\056\143\157\155\061\044\060\042\006\003\125\004\003\023 +\033\104\151\147\151\103\145\162\164\040\101\163\163\165\162\145 +\144\040\111\104\040\122\157\157\164\040\107\062\060\202\001\042 +\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003 +\202\001\017\000\060\202\001\012\002\202\001\001\000\331\347\050 +\057\122\077\066\162\111\210\223\064\363\370\152\036\061\124\200 +\237\255\124\101\265\107\337\226\250\324\257\200\055\271\012\317 +\165\375\211\245\175\044\372\343\042\014\053\274\225\027\013\063 +\277\031\115\101\006\220\000\275\014\115\020\376\007\265\347\034 +\156\042\125\061\145\227\275\323\027\322\036\142\363\333\352\154 +\120\214\077\204\014\226\317\267\313\003\340\312\155\241\024\114 +\033\211\335\355\000\260\122\174\257\221\154\261\070\023\321\351 +\022\010\300\000\260\034\053\021\332\167\160\066\233\256\316\171 +\207\334\202\160\346\011\164\160\125\151\257\243\150\237\277\335 +\266\171\263\362\235\160\051\125\364\253\377\225\141\363\311\100 +\157\035\321\276\223\273\323\210\052\273\235\277\162\132\126\161 +\073\077\324\363\321\012\376\050\357\243\356\331\231\257\003\323 +\217\140\267\362\222\241\261\275\211\211\037\060\315\303\246\056 +\142\063\256\026\002\167\104\132\347\201\012\074\247\104\056\171 +\270\077\004\274\134\240\207\341\033\257\121\216\315\354\054\372 +\370\376\155\360\072\174\252\213\344\147\225\061\215\002\003\001 +\000\001\243\102\060\100\060\017\006\003\125\035\023\001\001\377 +\004\005\060\003\001\001\377\060\016\006\003\125\035\017\001\001 +\377\004\004\003\002\001\206\060\035\006\003\125\035\016\004\026 +\004\024\316\303\112\271\231\125\362\270\333\140\277\251\176\275 +\126\265\227\066\247\326\060\015\006\011\052\206\110\206\367\015 +\001\001\013\005\000\003\202\001\001\000\312\245\125\214\343\310 +\101\156\151\047\247\165\021\357\074\206\066\157\322\235\306\170 +\070\035\151\226\242\222\151\056\070\154\233\175\004\324\211\245 +\261\061\067\212\311\041\314\253\154\315\213\034\232\326\277\110 +\322\062\146\301\212\300\363\057\072\357\300\343\324\221\206\321 +\120\343\003\333\163\167\157\112\071\123\355\336\046\307\265\175 +\257\053\102\321\165\142\343\112\053\002\307\120\113\340\151\342 +\226\154\016\104\146\020\104\217\255\005\353\370\171\254\246\033 +\350\067\064\235\123\311\141\252\242\122\257\112\160\026\206\302 +\072\310\261\023\160\066\330\317\356\364\012\064\325\133\114\375 +\007\234\242\272\331\001\162\134\363\115\301\335\016\261\034\015 +\304\143\276\255\364\024\373\211\354\242\101\016\114\314\310\127 +\100\320\156\003\252\315\014\216\211\231\231\154\360\074\060\257 +\070\337\157\274\243\276\051\040\047\253\164\377\023\042\170\336 +\227\122\125\036\203\265\124\040\003\356\256\300\117\126\336\067 +\314\303\177\252\004\047\273\323\167\270\142\333\027\174\234\050 +\042\023\163\154\317\046\365\212\051\347 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "DigiCert Assured ID Root G2" +# Issuer: CN=DigiCert Assured ID Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US +# Serial Number:0b:93:1c:3a:d6:39:67:ea:67:23:bf:c3:af:9a:f4:4b +# Subject: CN=DigiCert Assured ID Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US +# Not Valid Before: Thu Aug 01 12:00:00 2013 +# Not Valid After : Fri Jan 15 12:00:00 2038 +# Fingerprint (SHA-256): 7D:05:EB:B6:82:33:9F:8C:94:51:EE:09:4E:EB:FE:FA:79:53:A1:14:ED:B2:F4:49:49:45:2F:AB:7D:2F:C1:85 +# Fingerprint (SHA1): A1:4B:48:D9:43:EE:0A:0E:40:90:4F:3C:E0:A4:C0:91:93:51:5D:3F +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "DigiCert Assured ID Root G2" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\241\113\110\331\103\356\012\016\100\220\117\074\340\244\300\221 +\223\121\135\077 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\222\070\271\370\143\044\202\145\054\127\063\346\376\201\217\235 +END +CKA_ISSUER MULTILINE_OCTAL +\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 +\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 +\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 +\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151 +\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040 +\122\157\157\164\040\107\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\013\223\034\072\326\071\147\352\147\043\277\303\257\232 +\364\113 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "DigiCert Assured ID Root G3" +# +# Issuer: CN=DigiCert Assured ID Root G3,OU=www.digicert.com,O=DigiCert Inc,C=US +# Serial Number:0b:a1:5a:fa:1d:df:a0:b5:49:44:af:cd:24:a0:6c:ec +# Subject: CN=DigiCert Assured ID Root G3,OU=www.digicert.com,O=DigiCert Inc,C=US +# Not Valid Before: Thu Aug 01 12:00:00 2013 +# Not Valid After : Fri Jan 15 12:00:00 2038 +# Fingerprint (SHA-256): 7E:37:CB:8B:4C:47:09:0C:AB:36:55:1B:A6:F4:5D:B8:40:68:0F:BA:16:6A:95:2D:B1:00:71:7F:43:05:3F:C2 +# Fingerprint (SHA1): F5:17:A2:4F:9A:48:C6:C9:F8:A2:00:26:9F:DC:0F:48:2C:AB:30:89 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "DigiCert Assured ID Root G3" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 +\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 +\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 +\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151 +\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040 +\122\157\157\164\040\107\063 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 +\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 +\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 +\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151 +\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040 +\122\157\157\164\040\107\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\013\241\132\372\035\337\240\265\111\104\257\315\044\240 +\154\354 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\002\106\060\202\001\315\240\003\002\001\002\002\020\013 +\241\132\372\035\337\240\265\111\104\257\315\044\240\154\354\060 +\012\006\010\052\206\110\316\075\004\003\003\060\145\061\013\060 +\011\006\003\125\004\006\023\002\125\123\061\025\060\023\006\003 +\125\004\012\023\014\104\151\147\151\103\145\162\164\040\111\156 +\143\061\031\060\027\006\003\125\004\013\023\020\167\167\167\056 +\144\151\147\151\143\145\162\164\056\143\157\155\061\044\060\042 +\006\003\125\004\003\023\033\104\151\147\151\103\145\162\164\040 +\101\163\163\165\162\145\144\040\111\104\040\122\157\157\164\040 +\107\063\060\036\027\015\061\063\060\070\060\061\061\062\060\060 +\060\060\132\027\015\063\070\060\061\061\065\061\062\060\060\060 +\060\132\060\145\061\013\060\011\006\003\125\004\006\023\002\125 +\123\061\025\060\023\006\003\125\004\012\023\014\104\151\147\151 +\103\145\162\164\040\111\156\143\061\031\060\027\006\003\125\004 +\013\023\020\167\167\167\056\144\151\147\151\143\145\162\164\056 +\143\157\155\061\044\060\042\006\003\125\004\003\023\033\104\151 +\147\151\103\145\162\164\040\101\163\163\165\162\145\144\040\111 +\104\040\122\157\157\164\040\107\063\060\166\060\020\006\007\052 +\206\110\316\075\002\001\006\005\053\201\004\000\042\003\142\000 +\004\031\347\274\254\104\145\355\315\270\077\130\373\215\261\127 +\251\104\055\005\025\362\357\013\377\020\164\237\265\142\122\137 +\146\176\037\345\334\033\105\171\013\314\306\123\012\235\215\135 +\002\331\251\131\336\002\132\366\225\052\016\215\070\112\212\111 +\306\274\306\003\070\007\137\125\332\176\011\156\342\177\136\320 +\105\040\017\131\166\020\326\240\044\360\055\336\066\362\154\051 +\071\243\102\060\100\060\017\006\003\125\035\023\001\001\377\004 +\005\060\003\001\001\377\060\016\006\003\125\035\017\001\001\377 +\004\004\003\002\001\206\060\035\006\003\125\035\016\004\026\004 +\024\313\320\275\251\341\230\005\121\241\115\067\242\203\171\316 +\215\035\052\344\204\060\012\006\010\052\206\110\316\075\004\003 +\003\003\147\000\060\144\002\060\045\244\201\105\002\153\022\113 +\165\164\117\310\043\343\160\362\165\162\336\174\211\360\317\221 +\162\141\236\136\020\222\131\126\271\203\307\020\347\070\351\130 +\046\066\175\325\344\064\206\071\002\060\174\066\123\360\060\345 +\142\143\072\231\342\266\243\073\233\064\372\036\332\020\222\161 +\136\221\023\247\335\244\156\222\314\062\326\365\041\146\307\057 +\352\226\143\152\145\105\222\225\001\264 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "DigiCert Assured ID Root G3" +# Issuer: CN=DigiCert Assured ID Root G3,OU=www.digicert.com,O=DigiCert Inc,C=US +# Serial Number:0b:a1:5a:fa:1d:df:a0:b5:49:44:af:cd:24:a0:6c:ec +# Subject: CN=DigiCert Assured ID Root G3,OU=www.digicert.com,O=DigiCert Inc,C=US +# Not Valid Before: Thu Aug 01 12:00:00 2013 +# Not Valid After : Fri Jan 15 12:00:00 2038 +# Fingerprint (SHA-256): 7E:37:CB:8B:4C:47:09:0C:AB:36:55:1B:A6:F4:5D:B8:40:68:0F:BA:16:6A:95:2D:B1:00:71:7F:43:05:3F:C2 +# Fingerprint (SHA1): F5:17:A2:4F:9A:48:C6:C9:F8:A2:00:26:9F:DC:0F:48:2C:AB:30:89 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "DigiCert Assured ID Root G3" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\365\027\242\117\232\110\306\311\370\242\000\046\237\334\017\110 +\054\253\060\211 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\174\177\145\061\014\201\337\215\272\076\231\342\134\255\156\373 +END +CKA_ISSUER MULTILINE_OCTAL +\060\145\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 +\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 +\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 +\155\061\044\060\042\006\003\125\004\003\023\033\104\151\147\151 +\103\145\162\164\040\101\163\163\165\162\145\144\040\111\104\040 +\122\157\157\164\040\107\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\013\241\132\372\035\337\240\265\111\104\257\315\044\240 +\154\354 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "DigiCert Global Root G2" +# +# Issuer: CN=DigiCert Global Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US +# Serial Number:03:3a:f1:e6:a7:11:a9:a0:bb:28:64:b1:1d:09:fa:e5 +# Subject: CN=DigiCert Global Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US +# Not Valid Before: Thu Aug 01 12:00:00 2013 +# Not Valid After : Fri Jan 15 12:00:00 2038 +# Fingerprint (SHA-256): CB:3C:CB:B7:60:31:E5:E0:13:8F:8D:D3:9A:23:F9:DE:47:FF:C3:5E:43:C1:14:4C:EA:27:D4:6A:5A:B1:CB:5F +# Fingerprint (SHA1): DF:3C:24:F9:BF:D6:66:76:1B:26:80:73:FE:06:D1:CC:8D:4F:82:A4 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "DigiCert Global Root G2" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 +\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 +\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 +\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147\151 +\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157\164 +\040\107\062 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 +\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 +\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 +\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147\151 +\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157\164 +\040\107\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\003\072\361\346\247\021\251\240\273\050\144\261\035\011 +\372\345 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\216\060\202\002\166\240\003\002\001\002\002\020\003 +\072\361\346\247\021\251\240\273\050\144\261\035\011\372\345\060 +\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\141 +\061\013\060\011\006\003\125\004\006\023\002\125\123\061\025\060 +\023\006\003\125\004\012\023\014\104\151\147\151\103\145\162\164 +\040\111\156\143\061\031\060\027\006\003\125\004\013\023\020\167 +\167\167\056\144\151\147\151\143\145\162\164\056\143\157\155\061 +\040\060\036\006\003\125\004\003\023\027\104\151\147\151\103\145 +\162\164\040\107\154\157\142\141\154\040\122\157\157\164\040\107 +\062\060\036\027\015\061\063\060\070\060\061\061\062\060\060\060 +\060\132\027\015\063\070\060\061\061\065\061\062\060\060\060\060 +\132\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103 +\145\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013 +\023\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143 +\157\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147 +\151\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157 +\164\040\107\062\060\202\001\042\060\015\006\011\052\206\110\206 +\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012 +\002\202\001\001\000\273\067\315\064\334\173\153\311\262\150\220 +\255\112\165\377\106\272\041\012\010\215\365\031\124\311\373\210 +\333\363\256\362\072\211\221\074\172\346\253\006\032\153\317\254 +\055\350\136\011\044\104\272\142\232\176\326\243\250\176\340\124 +\165\040\005\254\120\267\234\143\032\154\060\334\332\037\031\261 +\327\036\336\375\327\340\313\224\203\067\256\354\037\103\116\335 +\173\054\322\275\056\245\057\344\251\270\255\072\324\231\244\266 +\045\351\233\153\000\140\222\140\377\117\041\111\030\367\147\220 +\253\141\006\234\217\362\272\351\264\351\222\062\153\265\363\127 +\350\135\033\315\214\035\253\225\004\225\111\363\065\055\226\343 +\111\155\335\167\343\373\111\113\264\254\125\007\251\217\225\263 +\264\043\273\114\155\105\360\366\251\262\225\060\264\375\114\125 +\214\047\112\127\024\174\202\235\315\163\222\323\026\112\006\014 +\214\120\321\217\036\011\276\027\241\346\041\312\375\203\345\020 +\274\203\245\012\304\147\050\366\163\024\024\075\106\166\303\207 +\024\211\041\064\115\257\017\105\014\246\111\241\272\273\234\305 +\261\063\203\051\205\002\003\001\000\001\243\102\060\100\060\017 +\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060 +\016\006\003\125\035\017\001\001\377\004\004\003\002\001\206\060 +\035\006\003\125\035\016\004\026\004\024\116\042\124\040\030\225 +\346\343\156\346\017\372\372\271\022\355\006\027\217\071\060\015 +\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202\001 +\001\000\140\147\050\224\157\016\110\143\353\061\335\352\147\030 +\325\211\175\074\305\213\112\177\351\276\333\053\027\337\260\137 +\163\167\052\062\023\071\201\147\102\204\043\362\105\147\065\354 +\210\277\370\217\260\141\014\064\244\256\040\114\204\306\333\370 +\065\341\166\331\337\246\102\273\307\104\010\206\177\066\164\044 +\132\332\154\015\024\131\065\275\362\111\335\266\037\311\263\015 +\107\052\075\231\057\273\134\273\265\324\040\341\231\137\123\106 +\025\333\150\233\360\363\060\325\076\061\342\215\204\236\343\212 +\332\332\226\076\065\023\245\137\360\371\160\120\160\107\101\021 +\127\031\116\300\217\256\006\304\225\023\027\057\033\045\237\165 +\362\261\216\231\241\157\023\261\101\161\376\210\052\310\117\020 +\040\125\327\363\024\105\345\340\104\364\352\207\225\062\223\016 +\376\123\106\372\054\235\377\213\042\271\113\331\011\105\244\336 +\244\270\232\130\335\033\175\122\237\216\131\103\210\201\244\236 +\046\325\157\255\335\015\306\067\175\355\003\222\033\345\167\137 +\166\356\074\215\304\135\126\133\242\331\146\156\263\065\067\345 +\062\266 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "DigiCert Global Root G2" +# Issuer: CN=DigiCert Global Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US +# Serial Number:03:3a:f1:e6:a7:11:a9:a0:bb:28:64:b1:1d:09:fa:e5 +# Subject: CN=DigiCert Global Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US +# Not Valid Before: Thu Aug 01 12:00:00 2013 +# Not Valid After : Fri Jan 15 12:00:00 2038 +# Fingerprint (SHA-256): CB:3C:CB:B7:60:31:E5:E0:13:8F:8D:D3:9A:23:F9:DE:47:FF:C3:5E:43:C1:14:4C:EA:27:D4:6A:5A:B1:CB:5F +# Fingerprint (SHA1): DF:3C:24:F9:BF:D6:66:76:1B:26:80:73:FE:06:D1:CC:8D:4F:82:A4 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "DigiCert Global Root G2" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\337\074\044\371\277\326\146\166\033\046\200\163\376\006\321\314 +\215\117\202\244 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\344\246\212\310\124\254\122\102\106\012\375\162\110\033\052\104 +END +CKA_ISSUER MULTILINE_OCTAL +\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 +\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 +\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 +\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147\151 +\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157\164 +\040\107\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\003\072\361\346\247\021\251\240\273\050\144\261\035\011 +\372\345 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "DigiCert Global Root G3" +# +# Issuer: CN=DigiCert Global Root G3,OU=www.digicert.com,O=DigiCert Inc,C=US +# Serial Number:05:55:56:bc:f2:5e:a4:35:35:c3:a4:0f:d5:ab:45:72 +# Subject: CN=DigiCert Global Root G3,OU=www.digicert.com,O=DigiCert Inc,C=US +# Not Valid Before: Thu Aug 01 12:00:00 2013 +# Not Valid After : Fri Jan 15 12:00:00 2038 +# Fingerprint (SHA-256): 31:AD:66:48:F8:10:41:38:C7:38:F3:9E:A4:32:01:33:39:3E:3A:18:CC:02:29:6E:F9:7C:2A:C9:EF:67:31:D0 +# Fingerprint (SHA1): 7E:04:DE:89:6A:3E:66:6D:00:E6:87:D3:3F:FA:D9:3B:E8:3D:34:9E +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "DigiCert Global Root G3" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 +\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 +\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 +\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147\151 +\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157\164 +\040\107\063 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 +\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 +\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 +\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147\151 +\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157\164 +\040\107\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\005\125\126\274\362\136\244\065\065\303\244\017\325\253 +\105\162 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\002\077\060\202\001\305\240\003\002\001\002\002\020\005 +\125\126\274\362\136\244\065\065\303\244\017\325\253\105\162\060 +\012\006\010\052\206\110\316\075\004\003\003\060\141\061\013\060 +\011\006\003\125\004\006\023\002\125\123\061\025\060\023\006\003 +\125\004\012\023\014\104\151\147\151\103\145\162\164\040\111\156 +\143\061\031\060\027\006\003\125\004\013\023\020\167\167\167\056 +\144\151\147\151\143\145\162\164\056\143\157\155\061\040\060\036 +\006\003\125\004\003\023\027\104\151\147\151\103\145\162\164\040 +\107\154\157\142\141\154\040\122\157\157\164\040\107\063\060\036 +\027\015\061\063\060\070\060\061\061\062\060\060\060\060\132\027 +\015\063\070\060\061\061\065\061\062\060\060\060\060\132\060\141 +\061\013\060\011\006\003\125\004\006\023\002\125\123\061\025\060 +\023\006\003\125\004\012\023\014\104\151\147\151\103\145\162\164 +\040\111\156\143\061\031\060\027\006\003\125\004\013\023\020\167 +\167\167\056\144\151\147\151\143\145\162\164\056\143\157\155\061 +\040\060\036\006\003\125\004\003\023\027\104\151\147\151\103\145 +\162\164\040\107\154\157\142\141\154\040\122\157\157\164\040\107 +\063\060\166\060\020\006\007\052\206\110\316\075\002\001\006\005 +\053\201\004\000\042\003\142\000\004\335\247\331\273\212\270\013 +\373\013\177\041\322\360\276\276\163\363\063\135\032\274\064\352 +\336\306\233\274\320\225\366\360\314\320\013\272\141\133\121\106 +\176\236\055\237\356\216\143\014\027\354\007\160\365\317\204\056 +\100\203\234\350\077\101\155\073\255\323\244\024\131\066\170\235 +\003\103\356\020\023\154\162\336\256\210\247\241\153\265\103\316 +\147\334\043\377\003\034\243\342\076\243\102\060\100\060\017\006 +\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016 +\006\003\125\035\017\001\001\377\004\004\003\002\001\206\060\035 +\006\003\125\035\016\004\026\004\024\263\333\110\244\371\241\305 +\330\256\066\101\314\021\143\151\142\051\274\113\306\060\012\006 +\010\052\206\110\316\075\004\003\003\003\150\000\060\145\002\061 +\000\255\274\362\154\077\022\112\321\055\071\303\012\011\227\163 +\364\210\066\214\210\047\273\346\210\215\120\205\247\143\371\236 +\062\336\146\223\017\361\314\261\011\217\335\154\253\372\153\177 +\240\002\060\071\146\133\302\144\215\270\236\120\334\250\325\111 +\242\355\307\334\321\111\177\027\001\270\310\206\217\116\214\210 +\053\250\232\251\212\305\321\000\275\370\124\342\232\345\133\174 +\263\047\027 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "DigiCert Global Root G3" +# Issuer: CN=DigiCert Global Root G3,OU=www.digicert.com,O=DigiCert Inc,C=US +# Serial Number:05:55:56:bc:f2:5e:a4:35:35:c3:a4:0f:d5:ab:45:72 +# Subject: CN=DigiCert Global Root G3,OU=www.digicert.com,O=DigiCert Inc,C=US +# Not Valid Before: Thu Aug 01 12:00:00 2013 +# Not Valid After : Fri Jan 15 12:00:00 2038 +# Fingerprint (SHA-256): 31:AD:66:48:F8:10:41:38:C7:38:F3:9E:A4:32:01:33:39:3E:3A:18:CC:02:29:6E:F9:7C:2A:C9:EF:67:31:D0 +# Fingerprint (SHA1): 7E:04:DE:89:6A:3E:66:6D:00:E6:87:D3:3F:FA:D9:3B:E8:3D:34:9E +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "DigiCert Global Root G3" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\176\004\336\211\152\076\146\155\000\346\207\323\077\372\331\073 +\350\075\064\236 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\365\135\244\120\245\373\050\176\036\017\015\314\226\127\126\312 +END +CKA_ISSUER MULTILINE_OCTAL +\060\141\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 +\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 +\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 +\155\061\040\060\036\006\003\125\004\003\023\027\104\151\147\151 +\103\145\162\164\040\107\154\157\142\141\154\040\122\157\157\164 +\040\107\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\005\125\126\274\362\136\244\065\065\303\244\017\325\253 +\105\162 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "DigiCert Trusted Root G4" +# +# Issuer: CN=DigiCert Trusted Root G4,OU=www.digicert.com,O=DigiCert Inc,C=US +# Serial Number:05:9b:1b:57:9e:8e:21:32:e2:39:07:bd:a7:77:75:5c +# Subject: CN=DigiCert Trusted Root G4,OU=www.digicert.com,O=DigiCert Inc,C=US +# Not Valid Before: Thu Aug 01 12:00:00 2013 +# Not Valid After : Fri Jan 15 12:00:00 2038 +# Fingerprint (SHA-256): 55:2F:7B:DC:F1:A7:AF:9E:6C:E6:72:01:7F:4F:12:AB:F7:72:40:C7:8E:76:1A:C2:03:D1:D9:D2:0A:C8:99:88 +# Fingerprint (SHA1): DD:FB:16:CD:49:31:C9:73:A2:03:7D:3F:C8:3A:4D:7D:77:5D:05:E4 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "DigiCert Trusted Root G4" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\142\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 +\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 +\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 +\155\061\041\060\037\006\003\125\004\003\023\030\104\151\147\151 +\103\145\162\164\040\124\162\165\163\164\145\144\040\122\157\157 +\164\040\107\064 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\142\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 +\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 +\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 +\155\061\041\060\037\006\003\125\004\003\023\030\104\151\147\151 +\103\145\162\164\040\124\162\165\163\164\145\144\040\122\157\157 +\164\040\107\064 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\005\233\033\127\236\216\041\062\342\071\007\275\247\167 +\165\134 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\220\060\202\003\170\240\003\002\001\002\002\020\005 +\233\033\127\236\216\041\062\342\071\007\275\247\167\165\134\060 +\015\006\011\052\206\110\206\367\015\001\001\014\005\000\060\142 +\061\013\060\011\006\003\125\004\006\023\002\125\123\061\025\060 +\023\006\003\125\004\012\023\014\104\151\147\151\103\145\162\164 +\040\111\156\143\061\031\060\027\006\003\125\004\013\023\020\167 +\167\167\056\144\151\147\151\143\145\162\164\056\143\157\155\061 +\041\060\037\006\003\125\004\003\023\030\104\151\147\151\103\145 +\162\164\040\124\162\165\163\164\145\144\040\122\157\157\164\040 +\107\064\060\036\027\015\061\063\060\070\060\061\061\062\060\060 +\060\060\132\027\015\063\070\060\061\061\065\061\062\060\060\060 +\060\132\060\142\061\013\060\011\006\003\125\004\006\023\002\125 +\123\061\025\060\023\006\003\125\004\012\023\014\104\151\147\151 +\103\145\162\164\040\111\156\143\061\031\060\027\006\003\125\004 +\013\023\020\167\167\167\056\144\151\147\151\143\145\162\164\056 +\143\157\155\061\041\060\037\006\003\125\004\003\023\030\104\151 +\147\151\103\145\162\164\040\124\162\165\163\164\145\144\040\122 +\157\157\164\040\107\064\060\202\002\042\060\015\006\011\052\206 +\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202 +\002\012\002\202\002\001\000\277\346\220\163\150\336\273\344\135 +\112\074\060\042\060\151\063\354\302\247\045\056\311\041\075\362 +\212\330\131\302\341\051\247\075\130\253\166\232\315\256\173\033 +\204\015\304\060\037\363\033\244\070\026\353\126\306\227\155\035 +\253\262\171\362\312\021\322\344\137\326\005\074\122\017\122\037 +\306\236\025\245\176\276\237\251\127\026\131\125\162\257\150\223 +\160\302\262\272\165\231\152\163\062\224\321\020\104\020\056\337 +\202\363\007\204\346\164\073\155\161\342\055\014\033\356\040\325 +\311\040\035\143\051\055\316\354\136\116\310\223\370\041\141\233 +\064\353\005\306\136\354\133\032\274\353\311\317\315\254\064\100 +\137\261\172\146\356\167\310\110\250\146\127\127\237\124\130\216 +\014\053\267\117\247\060\331\126\356\312\173\135\343\255\311\117 +\136\345\065\347\061\313\332\223\136\334\216\217\200\332\266\221 +\230\100\220\171\303\170\307\266\261\304\265\152\030\070\003\020 +\215\330\324\067\244\056\005\175\210\365\202\076\020\221\160\253 +\125\202\101\062\327\333\004\163\052\156\221\001\174\041\114\324 +\274\256\033\003\165\135\170\146\331\072\061\104\232\063\100\277 +\010\327\132\111\244\302\346\251\240\147\335\244\047\274\241\117 +\071\265\021\130\027\367\044\134\106\217\144\367\301\151\210\166 +\230\166\075\131\135\102\166\207\211\227\151\172\110\360\340\242 +\022\033\146\232\164\312\336\113\036\347\016\143\256\346\324\357 +\222\222\072\236\075\334\000\344\105\045\211\266\232\104\031\053 +\176\300\224\264\322\141\155\353\063\331\305\337\113\004\000\314 +\175\034\225\303\217\367\041\262\262\021\267\273\177\362\325\214 +\160\054\101\140\252\261\143\030\104\225\032\166\142\176\366\200 +\260\373\350\144\246\063\321\211\007\341\275\267\346\103\244\030 +\270\246\167\001\341\017\224\014\041\035\262\124\051\045\211\154 +\345\016\122\121\107\164\276\046\254\266\101\165\336\172\254\137 +\215\077\311\274\323\101\021\022\133\345\020\120\353\061\305\312 +\162\026\042\011\337\174\114\165\077\143\354\041\137\304\040\121 +\153\157\261\253\206\213\117\302\326\105\137\235\040\374\241\036 +\305\300\217\242\261\176\012\046\231\365\344\151\057\230\035\055 +\365\331\251\262\035\345\033\002\003\001\000\001\243\102\060\100 +\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001 +\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001 +\206\060\035\006\003\125\035\016\004\026\004\024\354\327\343\202 +\322\161\135\144\114\337\056\147\077\347\272\230\256\034\017\117 +\060\015\006\011\052\206\110\206\367\015\001\001\014\005\000\003 +\202\002\001\000\273\141\331\175\251\154\276\027\304\221\033\303 +\241\242\000\215\343\144\150\017\126\317\167\256\160\371\375\232 +\112\231\271\311\170\134\014\014\137\344\346\024\051\126\013\066 +\111\135\104\143\340\255\234\226\030\146\033\043\015\075\171\351 +\155\153\326\124\370\322\074\301\103\100\256\035\120\365\122\374 +\220\073\273\230\231\151\153\307\301\247\250\150\244\047\334\235 +\371\047\256\060\205\271\366\147\115\072\076\217\131\071\042\123 +\104\353\310\135\003\312\355\120\172\175\142\041\012\200\310\163 +\146\321\240\005\140\137\350\245\264\247\257\250\367\155\065\234 +\174\132\212\326\242\070\231\363\170\213\364\115\322\040\013\336 +\004\356\214\233\107\201\162\015\300\024\062\357\060\131\056\256 +\340\161\362\126\344\152\227\157\222\120\155\226\215\150\172\232 +\262\066\024\172\006\362\044\271\011\021\120\327\010\261\270\211 +\172\204\043\141\102\051\345\243\315\242\040\101\327\321\234\144 +\331\352\046\241\213\024\327\114\031\262\120\101\161\075\077\115 +\160\043\206\014\112\334\201\322\314\062\224\204\015\010\011\227 +\034\117\300\356\153\040\164\060\322\340\071\064\020\205\041\025 +\001\010\350\125\062\336\161\111\331\050\027\120\115\346\276\115 +\321\165\254\320\312\373\101\270\103\245\252\323\303\005\104\117 +\054\066\233\342\372\342\105\270\043\123\154\006\157\147\125\177 +\106\265\114\077\156\050\132\171\046\322\244\250\142\227\322\036 +\342\355\112\213\274\033\375\107\112\015\337\147\146\176\262\133 +\101\320\073\344\364\073\364\004\143\351\357\302\124\000\121\240 +\212\052\311\316\170\314\325\352\207\004\030\263\316\257\111\210 +\257\363\222\231\266\263\346\141\017\322\205\000\347\120\032\344 +\033\225\235\031\241\271\234\261\233\261\000\036\357\320\017\117 +\102\154\311\012\274\356\103\372\072\161\245\310\115\046\245\065 +\375\211\135\274\205\142\035\062\322\240\053\124\355\232\127\301 +\333\372\020\317\031\267\213\112\033\217\001\266\047\225\123\350 +\266\211\155\133\274\150\324\043\350\213\121\242\126\371\360\246 +\200\240\326\036\263\274\017\017\123\165\051\252\352\023\167\344 +\336\214\201\041\255\007\020\107\021\255\207\075\007\321\165\274 +\317\363\146\176 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "DigiCert Trusted Root G4" +# Issuer: CN=DigiCert Trusted Root G4,OU=www.digicert.com,O=DigiCert Inc,C=US +# Serial Number:05:9b:1b:57:9e:8e:21:32:e2:39:07:bd:a7:77:75:5c +# Subject: CN=DigiCert Trusted Root G4,OU=www.digicert.com,O=DigiCert Inc,C=US +# Not Valid Before: Thu Aug 01 12:00:00 2013 +# Not Valid After : Fri Jan 15 12:00:00 2038 +# Fingerprint (SHA-256): 55:2F:7B:DC:F1:A7:AF:9E:6C:E6:72:01:7F:4F:12:AB:F7:72:40:C7:8E:76:1A:C2:03:D1:D9:D2:0A:C8:99:88 +# Fingerprint (SHA1): DD:FB:16:CD:49:31:C9:73:A2:03:7D:3F:C8:3A:4D:7D:77:5D:05:E4 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "DigiCert Trusted Root G4" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\335\373\026\315\111\061\311\163\242\003\175\077\310\072\115\175 +\167\135\005\344 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\170\362\374\252\140\037\057\264\353\311\067\272\123\056\165\111 +END +CKA_ISSUER MULTILINE_OCTAL +\060\142\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\025\060\023\006\003\125\004\012\023\014\104\151\147\151\103\145 +\162\164\040\111\156\143\061\031\060\027\006\003\125\004\013\023 +\020\167\167\167\056\144\151\147\151\143\145\162\164\056\143\157 +\155\061\041\060\037\006\003\125\004\003\023\030\104\151\147\151 +\103\145\162\164\040\124\162\165\163\164\145\144\040\122\157\157 +\164\040\107\064 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\005\233\033\127\236\216\041\062\342\071\007\275\247\167 +\165\134 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "COMODO RSA Certification Authority" +# +# Issuer: CN=COMODO RSA Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB +# Serial Number:4c:aa:f9:ca:db:63:6f:e0:1f:f7:4e:d8:5b:03:86:9d +# Subject: CN=COMODO RSA Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB +# Not Valid Before: Tue Jan 19 00:00:00 2010 +# Not Valid After : Mon Jan 18 23:59:59 2038 +# Fingerprint (SHA-256): 52:F0:E1:C4:E5:8E:C6:29:29:1B:60:31:7F:07:46:71:B8:5D:7E:A8:0D:5B:07:27:34:63:53:4B:32:B4:02:34 +# Fingerprint (SHA1): AF:E5:D2:44:A8:D1:19:42:30:FF:47:9F:E2:F8:97:BB:CD:7A:8C:B4 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "COMODO RSA Certification Authority" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\205\061\013\060\011\006\003\125\004\006\023\002\107\102 +\061\033\060\031\006\003\125\004\010\023\022\107\162\145\141\164 +\145\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060 +\016\006\003\125\004\007\023\007\123\141\154\146\157\162\144\061 +\032\060\030\006\003\125\004\012\023\021\103\117\115\117\104\117 +\040\103\101\040\114\151\155\151\164\145\144\061\053\060\051\006 +\003\125\004\003\023\042\103\117\115\117\104\117\040\122\123\101 +\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 +\165\164\150\157\162\151\164\171 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\205\061\013\060\011\006\003\125\004\006\023\002\107\102 +\061\033\060\031\006\003\125\004\010\023\022\107\162\145\141\164 +\145\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060 +\016\006\003\125\004\007\023\007\123\141\154\146\157\162\144\061 +\032\060\030\006\003\125\004\012\023\021\103\117\115\117\104\117 +\040\103\101\040\114\151\155\151\164\145\144\061\053\060\051\006 +\003\125\004\003\023\042\103\117\115\117\104\117\040\122\123\101 +\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 +\165\164\150\157\162\151\164\171 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\114\252\371\312\333\143\157\340\037\367\116\330\133\003 +\206\235 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\330\060\202\003\300\240\003\002\001\002\002\020\114 +\252\371\312\333\143\157\340\037\367\116\330\133\003\206\235\060 +\015\006\011\052\206\110\206\367\015\001\001\014\005\000\060\201 +\205\061\013\060\011\006\003\125\004\006\023\002\107\102\061\033 +\060\031\006\003\125\004\010\023\022\107\162\145\141\164\145\162 +\040\115\141\156\143\150\145\163\164\145\162\061\020\060\016\006 +\003\125\004\007\023\007\123\141\154\146\157\162\144\061\032\060 +\030\006\003\125\004\012\023\021\103\117\115\117\104\117\040\103 +\101\040\114\151\155\151\164\145\144\061\053\060\051\006\003\125 +\004\003\023\042\103\117\115\117\104\117\040\122\123\101\040\103 +\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164 +\150\157\162\151\164\171\060\036\027\015\061\060\060\061\061\071 +\060\060\060\060\060\060\132\027\015\063\070\060\061\061\070\062 +\063\065\071\065\071\132\060\201\205\061\013\060\011\006\003\125 +\004\006\023\002\107\102\061\033\060\031\006\003\125\004\010\023 +\022\107\162\145\141\164\145\162\040\115\141\156\143\150\145\163 +\164\145\162\061\020\060\016\006\003\125\004\007\023\007\123\141 +\154\146\157\162\144\061\032\060\030\006\003\125\004\012\023\021 +\103\117\115\117\104\117\040\103\101\040\114\151\155\151\164\145 +\144\061\053\060\051\006\003\125\004\003\023\042\103\117\115\117 +\104\117\040\122\123\101\040\103\145\162\164\151\146\151\143\141 +\164\151\157\156\040\101\165\164\150\157\162\151\164\171\060\202 +\002\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005 +\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000\221 +\350\124\222\322\012\126\261\254\015\044\335\305\317\104\147\164 +\231\053\067\243\175\043\160\000\161\274\123\337\304\372\052\022 +\217\113\177\020\126\275\237\160\162\267\141\177\311\113\017\027 +\247\075\343\260\004\141\356\377\021\227\307\364\206\076\012\372 +\076\134\371\223\346\064\172\331\024\153\347\234\263\205\240\202 +\172\166\257\161\220\327\354\375\015\372\234\154\372\337\260\202 +\364\024\176\371\276\304\246\057\117\177\231\177\265\374\147\103 +\162\275\014\000\326\211\353\153\054\323\355\217\230\034\024\253 +\176\345\343\156\374\330\250\344\222\044\332\103\153\142\270\125 +\375\352\301\274\154\266\213\363\016\215\232\344\233\154\151\231 +\370\170\110\060\105\325\255\341\015\074\105\140\374\062\226\121 +\047\274\147\303\312\056\266\153\352\106\307\307\040\240\261\037 +\145\336\110\010\272\244\116\251\362\203\106\067\204\353\350\314 +\201\110\103\147\116\162\052\233\134\275\114\033\050\212\134\042 +\173\264\253\230\331\356\340\121\203\303\011\106\116\155\076\231 +\372\225\027\332\174\063\127\101\074\215\121\355\013\266\134\257 +\054\143\032\337\127\310\077\274\351\135\304\233\257\105\231\342 +\243\132\044\264\272\251\126\075\317\157\252\377\111\130\276\360 +\250\377\364\270\255\351\067\373\272\270\364\013\072\371\350\103 +\102\036\211\330\204\313\023\361\331\273\341\211\140\270\214\050 +\126\254\024\035\234\012\347\161\353\317\016\335\075\251\226\241 +\110\275\074\367\257\265\015\042\114\300\021\201\354\126\073\366 +\323\242\342\133\267\262\004\042\122\225\200\223\151\350\216\114 +\145\361\221\003\055\160\164\002\352\213\147\025\051\151\122\002 +\273\327\337\120\152\125\106\277\240\243\050\141\177\160\320\303 +\242\252\054\041\252\107\316\050\234\006\105\166\277\202\030\047 +\264\325\256\264\313\120\346\153\364\114\206\161\060\351\246\337 +\026\206\340\330\377\100\335\373\320\102\210\177\243\063\072\056 +\134\036\101\021\201\143\316\030\161\153\053\354\246\212\267\061 +\134\072\152\107\340\303\171\131\326\040\032\257\362\152\230\252 +\162\274\127\112\322\113\235\273\020\374\260\114\101\345\355\035 +\075\136\050\235\234\314\277\263\121\332\247\107\345\204\123\002 +\003\001\000\001\243\102\060\100\060\035\006\003\125\035\016\004 +\026\004\024\273\257\176\002\075\372\246\361\074\204\216\255\356 +\070\230\354\331\062\062\324\060\016\006\003\125\035\017\001\001 +\377\004\004\003\002\001\006\060\017\006\003\125\035\023\001\001 +\377\004\005\060\003\001\001\377\060\015\006\011\052\206\110\206 +\367\015\001\001\014\005\000\003\202\002\001\000\012\361\325\106 +\204\267\256\121\273\154\262\115\101\024\000\223\114\234\313\345 +\300\124\317\240\045\216\002\371\375\260\242\015\365\040\230\074 +\023\055\254\126\242\260\326\176\021\222\351\056\272\236\056\232 +\162\261\275\031\104\154\141\065\242\232\264\026\022\151\132\214 +\341\327\076\244\032\350\057\003\364\256\141\035\020\033\052\244 +\213\172\305\376\005\246\341\300\326\310\376\236\256\217\053\272 +\075\231\370\330\163\011\130\106\156\246\234\364\327\047\323\225 +\332\067\203\162\034\323\163\340\242\107\231\003\070\135\325\111 +\171\000\051\034\307\354\233\040\034\007\044\151\127\170\262\071 +\374\072\204\240\265\234\174\215\277\056\223\142\047\267\071\332 +\027\030\256\275\074\011\150\377\204\233\074\325\326\013\003\343 +\127\236\024\367\321\353\117\310\275\207\043\267\266\111\103\171 +\205\134\272\353\222\013\241\306\350\150\250\114\026\261\032\231 +\012\350\123\054\222\273\241\011\030\165\014\145\250\173\313\043 +\267\032\302\050\205\303\033\377\320\053\142\357\244\173\011\221 +\230\147\214\024\001\315\150\006\152\143\041\165\003\200\210\212 +\156\201\306\205\362\251\244\055\347\364\245\044\020\107\203\312 +\315\364\215\171\130\261\006\233\347\032\052\331\235\001\327\224 +\175\355\003\112\312\360\333\350\251\001\076\365\126\231\311\036 +\216\111\075\273\345\011\271\340\117\111\222\075\026\202\100\314 +\314\131\306\346\072\355\022\056\151\074\154\225\261\375\252\035 +\173\177\206\276\036\016\062\106\373\373\023\217\165\177\114\213 +\113\106\143\376\000\064\100\160\301\303\271\241\335\246\160\342 +\004\263\101\274\351\200\221\352\144\234\172\341\042\003\251\234 +\156\157\016\145\117\154\207\207\136\363\156\240\371\165\245\233 +\100\350\123\262\047\235\112\271\300\167\041\215\377\207\362\336 +\274\214\357\027\337\267\111\013\321\362\156\060\013\032\016\116 +\166\355\021\374\365\351\126\262\175\277\307\155\012\223\214\245 +\320\300\266\035\276\072\116\224\242\327\156\154\013\302\212\174 +\372\040\363\304\344\345\315\015\250\313\221\222\261\174\205\354 +\265\024\151\146\016\202\347\315\316\310\055\246\121\177\041\301 +\065\123\205\006\112\135\237\255\273\033\137\164 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "COMODO RSA Certification Authority" +# Issuer: CN=COMODO RSA Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB +# Serial Number:4c:aa:f9:ca:db:63:6f:e0:1f:f7:4e:d8:5b:03:86:9d +# Subject: CN=COMODO RSA Certification Authority,O=COMODO CA Limited,L=Salford,ST=Greater Manchester,C=GB +# Not Valid Before: Tue Jan 19 00:00:00 2010 +# Not Valid After : Mon Jan 18 23:59:59 2038 +# Fingerprint (SHA-256): 52:F0:E1:C4:E5:8E:C6:29:29:1B:60:31:7F:07:46:71:B8:5D:7E:A8:0D:5B:07:27:34:63:53:4B:32:B4:02:34 +# Fingerprint (SHA1): AF:E5:D2:44:A8:D1:19:42:30:FF:47:9F:E2:F8:97:BB:CD:7A:8C:B4 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "COMODO RSA Certification Authority" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\257\345\322\104\250\321\031\102\060\377\107\237\342\370\227\273 +\315\172\214\264 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\033\061\260\161\100\066\314\024\066\221\255\304\076\375\354\030 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\205\061\013\060\011\006\003\125\004\006\023\002\107\102 +\061\033\060\031\006\003\125\004\010\023\022\107\162\145\141\164 +\145\162\040\115\141\156\143\150\145\163\164\145\162\061\020\060 +\016\006\003\125\004\007\023\007\123\141\154\146\157\162\144\061 +\032\060\030\006\003\125\004\012\023\021\103\117\115\117\104\117 +\040\103\101\040\114\151\155\151\164\145\144\061\053\060\051\006 +\003\125\004\003\023\042\103\117\115\117\104\117\040\122\123\101 +\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101 +\165\164\150\157\162\151\164\171 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\114\252\371\312\333\143\157\340\037\367\116\330\133\003 +\206\235 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "USERTrust RSA Certification Authority" +# +# Issuer: CN=USERTrust RSA Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US +# Serial Number:01:fd:6d:30:fc:a3:ca:51:a8:1b:bc:64:0e:35:03:2d +# Subject: CN=USERTrust RSA Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US +# Not Valid Before: Mon Feb 01 00:00:00 2010 +# Not Valid After : Mon Jan 18 23:59:59 2038 +# Fingerprint (SHA-256): E7:93:C9:B0:2F:D8:AA:13:E2:1C:31:22:8A:CC:B0:81:19:64:3B:74:9C:89:89:64:B1:74:6D:46:C3:D4:CB:D2 +# Fingerprint (SHA1): 2B:8F:1B:57:33:0D:BB:A2:D0:7A:6C:51:F7:0E:E9:0D:DA:B9:AD:8E +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "USERTrust RSA Certification Authority" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\210\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\023\060\021\006\003\125\004\010\023\012\116\145\167\040\112 +\145\162\163\145\171\061\024\060\022\006\003\125\004\007\023\013 +\112\145\162\163\145\171\040\103\151\164\171\061\036\060\034\006 +\003\125\004\012\023\025\124\150\145\040\125\123\105\122\124\122 +\125\123\124\040\116\145\164\167\157\162\153\061\056\060\054\006 +\003\125\004\003\023\045\125\123\105\122\124\162\165\163\164\040 +\122\123\101\040\103\145\162\164\151\146\151\143\141\164\151\157 +\156\040\101\165\164\150\157\162\151\164\171 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\210\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\023\060\021\006\003\125\004\010\023\012\116\145\167\040\112 +\145\162\163\145\171\061\024\060\022\006\003\125\004\007\023\013 +\112\145\162\163\145\171\040\103\151\164\171\061\036\060\034\006 +\003\125\004\012\023\025\124\150\145\040\125\123\105\122\124\122 +\125\123\124\040\116\145\164\167\157\162\153\061\056\060\054\006 +\003\125\004\003\023\045\125\123\105\122\124\162\165\163\164\040 +\122\123\101\040\103\145\162\164\151\146\151\143\141\164\151\157 +\156\040\101\165\164\150\157\162\151\164\171 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\001\375\155\060\374\243\312\121\250\033\274\144\016\065 +\003\055 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\336\060\202\003\306\240\003\002\001\002\002\020\001 +\375\155\060\374\243\312\121\250\033\274\144\016\065\003\055\060 +\015\006\011\052\206\110\206\367\015\001\001\014\005\000\060\201 +\210\061\013\060\011\006\003\125\004\006\023\002\125\123\061\023 +\060\021\006\003\125\004\010\023\012\116\145\167\040\112\145\162 +\163\145\171\061\024\060\022\006\003\125\004\007\023\013\112\145 +\162\163\145\171\040\103\151\164\171\061\036\060\034\006\003\125 +\004\012\023\025\124\150\145\040\125\123\105\122\124\122\125\123 +\124\040\116\145\164\167\157\162\153\061\056\060\054\006\003\125 +\004\003\023\045\125\123\105\122\124\162\165\163\164\040\122\123 +\101\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040 +\101\165\164\150\157\162\151\164\171\060\036\027\015\061\060\060 +\062\060\061\060\060\060\060\060\060\132\027\015\063\070\060\061 +\061\070\062\063\065\071\065\071\132\060\201\210\061\013\060\011 +\006\003\125\004\006\023\002\125\123\061\023\060\021\006\003\125 +\004\010\023\012\116\145\167\040\112\145\162\163\145\171\061\024 +\060\022\006\003\125\004\007\023\013\112\145\162\163\145\171\040 +\103\151\164\171\061\036\060\034\006\003\125\004\012\023\025\124 +\150\145\040\125\123\105\122\124\122\125\123\124\040\116\145\164 +\167\157\162\153\061\056\060\054\006\003\125\004\003\023\045\125 +\123\105\122\124\162\165\163\164\040\122\123\101\040\103\145\162 +\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157 +\162\151\164\171\060\202\002\042\060\015\006\011\052\206\110\206 +\367\015\001\001\001\005\000\003\202\002\017\000\060\202\002\012 +\002\202\002\001\000\200\022\145\027\066\016\303\333\010\263\320 +\254\127\015\166\355\315\047\323\114\255\120\203\141\342\252\040 +\115\011\055\144\011\334\316\211\237\314\075\251\354\366\317\301 +\334\361\323\261\326\173\067\050\021\053\107\332\071\306\274\072 +\031\264\137\246\275\175\235\243\143\102\266\166\362\251\073\053 +\221\370\342\157\320\354\026\040\220\011\076\342\350\164\311\030 +\264\221\324\142\144\333\177\243\006\361\210\030\152\220\042\074 +\274\376\023\360\207\024\173\366\344\037\216\324\344\121\306\021 +\147\106\010\121\313\206\024\124\077\274\063\376\176\154\234\377 +\026\235\030\275\121\216\065\246\247\146\310\162\147\333\041\146 +\261\324\233\170\003\300\120\072\350\314\360\334\274\236\114\376 +\257\005\226\065\037\127\132\267\377\316\371\075\267\054\266\366 +\124\335\310\347\022\072\115\256\114\212\267\134\232\264\267\040 +\075\312\177\042\064\256\176\073\150\146\001\104\347\001\116\106 +\123\233\063\140\367\224\276\123\067\220\163\103\363\062\303\123 +\357\333\252\376\164\116\151\307\153\214\140\223\336\304\307\014 +\337\341\062\256\314\223\073\121\170\225\147\213\356\075\126\376 +\014\320\151\017\033\017\363\045\046\153\063\155\367\156\107\372 +\163\103\345\176\016\245\146\261\051\174\062\204\143\125\211\304 +\015\301\223\124\060\031\023\254\323\175\067\247\353\135\072\154 +\065\134\333\101\327\022\332\251\111\013\337\330\200\212\011\223 +\142\216\265\146\317\045\210\315\204\270\261\077\244\071\017\331 +\002\236\353\022\114\225\174\363\153\005\251\136\026\203\314\270 +\147\342\350\023\235\314\133\202\323\114\263\355\133\377\336\345 +\163\254\043\073\055\000\277\065\125\164\011\111\330\111\130\032 +\177\222\066\346\121\222\016\363\046\175\034\115\027\274\311\354 +\103\046\320\277\101\137\100\251\104\104\364\231\347\127\207\236 +\120\037\127\124\250\076\375\164\143\057\261\120\145\011\346\130 +\102\056\103\032\114\264\360\045\107\131\372\004\036\223\324\046 +\106\112\120\201\262\336\276\170\267\374\147\025\341\311\127\204 +\036\017\143\326\351\142\272\326\137\125\056\352\134\306\050\010 +\004\045\071\270\016\053\251\362\114\227\034\007\077\015\122\365 +\355\357\057\202\017\002\003\001\000\001\243\102\060\100\060\035 +\006\003\125\035\016\004\026\004\024\123\171\277\132\252\053\112 +\317\124\200\341\330\233\300\235\362\262\003\146\313\060\016\006 +\003\125\035\017\001\001\377\004\004\003\002\001\006\060\017\006 +\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\015 +\006\011\052\206\110\206\367\015\001\001\014\005\000\003\202\002 +\001\000\134\324\174\015\317\367\001\175\101\231\145\014\163\305 +\122\237\313\370\317\231\006\177\033\332\103\025\237\236\002\125 +\127\226\024\361\122\074\047\207\224\050\355\037\072\001\067\242 +\166\374\123\120\300\204\233\306\153\116\272\214\041\117\242\216 +\125\142\221\363\151\025\330\274\210\343\304\252\013\375\357\250 +\351\113\125\052\006\040\155\125\170\051\031\356\137\060\134\113 +\044\021\125\377\044\232\156\136\052\053\356\013\115\237\177\367 +\001\070\224\024\225\103\007\011\373\140\251\356\034\253\022\214 +\240\232\136\247\230\152\131\155\213\077\010\373\310\321\105\257 +\030\025\144\220\022\017\163\050\056\305\342\044\116\374\130\354 +\360\364\105\376\042\263\353\057\216\322\331\105\141\005\301\227 +\157\250\166\162\217\213\214\066\257\277\015\005\316\161\215\346 +\246\157\037\154\246\161\142\305\330\320\203\162\014\361\147\021 +\211\014\234\023\114\162\064\337\274\325\161\337\252\161\335\341 +\271\154\214\074\022\135\145\332\275\127\022\266\103\153\377\345 +\336\115\146\021\121\317\231\256\354\027\266\350\161\221\214\336 +\111\376\335\065\161\242\025\047\224\034\317\141\343\046\273\157 +\243\147\045\041\135\346\335\035\013\056\150\033\073\202\257\354 +\203\147\205\324\230\121\164\261\271\231\200\211\377\177\170\031 +\134\171\112\140\056\222\100\256\114\067\052\054\311\307\142\310 +\016\135\367\066\133\312\340\045\045\001\264\335\032\007\234\167 +\000\077\320\334\325\354\075\324\372\273\077\314\205\326\157\177 +\251\055\337\271\002\367\365\227\232\265\065\332\303\147\260\207 +\112\251\050\236\043\216\377\134\047\153\341\260\117\363\007\356 +\000\056\324\131\207\313\122\101\225\352\364\107\327\356\144\101 +\125\174\215\131\002\225\335\142\235\302\271\356\132\050\164\204 +\245\233\267\220\307\014\007\337\365\211\066\164\062\326\050\301 +\260\260\013\340\234\114\303\034\326\374\343\151\265\107\106\201 +\057\242\202\253\323\143\104\160\304\215\377\055\063\272\255\217 +\173\265\160\210\256\076\031\317\100\050\330\374\310\220\273\135 +\231\042\365\122\346\130\305\037\210\061\103\356\210\035\327\306 +\216\074\103\152\035\247\030\336\175\075\026\361\142\371\312\220 +\250\375 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "USERTrust RSA Certification Authority" +# Issuer: CN=USERTrust RSA Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US +# Serial Number:01:fd:6d:30:fc:a3:ca:51:a8:1b:bc:64:0e:35:03:2d +# Subject: CN=USERTrust RSA Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US +# Not Valid Before: Mon Feb 01 00:00:00 2010 +# Not Valid After : Mon Jan 18 23:59:59 2038 +# Fingerprint (SHA-256): E7:93:C9:B0:2F:D8:AA:13:E2:1C:31:22:8A:CC:B0:81:19:64:3B:74:9C:89:89:64:B1:74:6D:46:C3:D4:CB:D2 +# Fingerprint (SHA1): 2B:8F:1B:57:33:0D:BB:A2:D0:7A:6C:51:F7:0E:E9:0D:DA:B9:AD:8E +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "USERTrust RSA Certification Authority" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\053\217\033\127\063\015\273\242\320\172\154\121\367\016\351\015 +\332\271\255\216 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\033\376\151\321\221\267\031\063\243\162\250\017\341\125\345\265 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\210\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\023\060\021\006\003\125\004\010\023\012\116\145\167\040\112 +\145\162\163\145\171\061\024\060\022\006\003\125\004\007\023\013 +\112\145\162\163\145\171\040\103\151\164\171\061\036\060\034\006 +\003\125\004\012\023\025\124\150\145\040\125\123\105\122\124\122 +\125\123\124\040\116\145\164\167\157\162\153\061\056\060\054\006 +\003\125\004\003\023\045\125\123\105\122\124\162\165\163\164\040 +\122\123\101\040\103\145\162\164\151\146\151\143\141\164\151\157 +\156\040\101\165\164\150\157\162\151\164\171 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\001\375\155\060\374\243\312\121\250\033\274\144\016\065 +\003\055 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "USERTrust ECC Certification Authority" +# +# Issuer: CN=USERTrust ECC Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US +# Serial Number:5c:8b:99:c5:5a:94:c5:d2:71:56:de:cd:89:80:cc:26 +# Subject: CN=USERTrust ECC Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US +# Not Valid Before: Mon Feb 01 00:00:00 2010 +# Not Valid After : Mon Jan 18 23:59:59 2038 +# Fingerprint (SHA-256): 4F:F4:60:D5:4B:9C:86:DA:BF:BC:FC:57:12:E0:40:0D:2B:ED:3F:BC:4D:4F:BD:AA:86:E0:6A:DC:D2:A9:AD:7A +# Fingerprint (SHA1): D1:CB:CA:5D:B2:D5:2A:7F:69:3B:67:4D:E5:F0:5A:1D:0C:95:7D:F0 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "USERTrust ECC Certification Authority" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\210\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\023\060\021\006\003\125\004\010\023\012\116\145\167\040\112 +\145\162\163\145\171\061\024\060\022\006\003\125\004\007\023\013 +\112\145\162\163\145\171\040\103\151\164\171\061\036\060\034\006 +\003\125\004\012\023\025\124\150\145\040\125\123\105\122\124\122 +\125\123\124\040\116\145\164\167\157\162\153\061\056\060\054\006 +\003\125\004\003\023\045\125\123\105\122\124\162\165\163\164\040 +\105\103\103\040\103\145\162\164\151\146\151\143\141\164\151\157 +\156\040\101\165\164\150\157\162\151\164\171 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\210\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\023\060\021\006\003\125\004\010\023\012\116\145\167\040\112 +\145\162\163\145\171\061\024\060\022\006\003\125\004\007\023\013 +\112\145\162\163\145\171\040\103\151\164\171\061\036\060\034\006 +\003\125\004\012\023\025\124\150\145\040\125\123\105\122\124\122 +\125\123\124\040\116\145\164\167\157\162\153\061\056\060\054\006 +\003\125\004\003\023\045\125\123\105\122\124\162\165\163\164\040 +\105\103\103\040\103\145\162\164\151\146\151\143\141\164\151\157 +\156\040\101\165\164\150\157\162\151\164\171 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\134\213\231\305\132\224\305\322\161\126\336\315\211\200 +\314\046 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\002\217\060\202\002\025\240\003\002\001\002\002\020\134 +\213\231\305\132\224\305\322\161\126\336\315\211\200\314\046\060 +\012\006\010\052\206\110\316\075\004\003\003\060\201\210\061\013 +\060\011\006\003\125\004\006\023\002\125\123\061\023\060\021\006 +\003\125\004\010\023\012\116\145\167\040\112\145\162\163\145\171 +\061\024\060\022\006\003\125\004\007\023\013\112\145\162\163\145 +\171\040\103\151\164\171\061\036\060\034\006\003\125\004\012\023 +\025\124\150\145\040\125\123\105\122\124\122\125\123\124\040\116 +\145\164\167\157\162\153\061\056\060\054\006\003\125\004\003\023 +\045\125\123\105\122\124\162\165\163\164\040\105\103\103\040\103 +\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164 +\150\157\162\151\164\171\060\036\027\015\061\060\060\062\060\061 +\060\060\060\060\060\060\132\027\015\063\070\060\061\061\070\062 +\063\065\071\065\071\132\060\201\210\061\013\060\011\006\003\125 +\004\006\023\002\125\123\061\023\060\021\006\003\125\004\010\023 +\012\116\145\167\040\112\145\162\163\145\171\061\024\060\022\006 +\003\125\004\007\023\013\112\145\162\163\145\171\040\103\151\164 +\171\061\036\060\034\006\003\125\004\012\023\025\124\150\145\040 +\125\123\105\122\124\122\125\123\124\040\116\145\164\167\157\162 +\153\061\056\060\054\006\003\125\004\003\023\045\125\123\105\122 +\124\162\165\163\164\040\105\103\103\040\103\145\162\164\151\146 +\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 +\171\060\166\060\020\006\007\052\206\110\316\075\002\001\006\005 +\053\201\004\000\042\003\142\000\004\032\254\124\132\251\371\150 +\043\347\172\325\044\157\123\306\132\330\113\253\306\325\266\321 +\346\163\161\256\335\234\326\014\141\375\333\240\211\003\270\005 +\024\354\127\316\356\135\077\342\041\263\316\367\324\212\171\340 +\243\203\176\055\227\320\141\304\361\231\334\045\221\143\253\177 +\060\243\264\160\342\307\241\063\234\363\277\056\134\123\261\137 +\263\175\062\177\212\064\343\171\171\243\102\060\100\060\035\006 +\003\125\035\016\004\026\004\024\072\341\011\206\324\317\031\302 +\226\166\164\111\166\334\340\065\306\143\143\232\060\016\006\003 +\125\035\017\001\001\377\004\004\003\002\001\006\060\017\006\003 +\125\035\023\001\001\377\004\005\060\003\001\001\377\060\012\006 +\010\052\206\110\316\075\004\003\003\003\150\000\060\145\002\060 +\066\147\241\026\010\334\344\227\000\101\035\116\276\341\143\001 +\317\073\252\102\021\144\240\235\224\071\002\021\171\134\173\035 +\372\144\271\356\026\102\263\277\212\302\011\304\354\344\261\115 +\002\061\000\351\052\141\107\214\122\112\113\116\030\160\366\326 +\104\326\156\365\203\272\155\130\275\044\331\126\110\352\357\304 +\242\106\201\210\152\072\106\321\251\233\115\311\141\332\321\135 +\127\152\030 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "USERTrust ECC Certification Authority" +# Issuer: CN=USERTrust ECC Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US +# Serial Number:5c:8b:99:c5:5a:94:c5:d2:71:56:de:cd:89:80:cc:26 +# Subject: CN=USERTrust ECC Certification Authority,O=The USERTRUST Network,L=Jersey City,ST=New Jersey,C=US +# Not Valid Before: Mon Feb 01 00:00:00 2010 +# Not Valid After : Mon Jan 18 23:59:59 2038 +# Fingerprint (SHA-256): 4F:F4:60:D5:4B:9C:86:DA:BF:BC:FC:57:12:E0:40:0D:2B:ED:3F:BC:4D:4F:BD:AA:86:E0:6A:DC:D2:A9:AD:7A +# Fingerprint (SHA1): D1:CB:CA:5D:B2:D5:2A:7F:69:3B:67:4D:E5:F0:5A:1D:0C:95:7D:F0 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "USERTrust ECC Certification Authority" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\321\313\312\135\262\325\052\177\151\073\147\115\345\360\132\035 +\014\225\175\360 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\372\150\274\331\265\177\255\375\311\035\006\203\050\314\044\301 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\210\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\023\060\021\006\003\125\004\010\023\012\116\145\167\040\112 +\145\162\163\145\171\061\024\060\022\006\003\125\004\007\023\013 +\112\145\162\163\145\171\040\103\151\164\171\061\036\060\034\006 +\003\125\004\012\023\025\124\150\145\040\125\123\105\122\124\122 +\125\123\124\040\116\145\164\167\157\162\153\061\056\060\054\006 +\003\125\004\003\023\045\125\123\105\122\124\162\165\163\164\040 +\105\103\103\040\103\145\162\164\151\146\151\143\141\164\151\157 +\156\040\101\165\164\150\157\162\151\164\171 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\134\213\231\305\132\224\305\322\161\126\336\315\211\200 +\314\046 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "GlobalSign ECC Root CA - R4" +# +# Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign ECC Root CA - R4 +# Serial Number:2a:38:a4:1c:96:0a:04:de:42:b2:28:a5:0b:e8:34:98:02 +# Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign ECC Root CA - R4 +# Not Valid Before: Tue Nov 13 00:00:00 2012 +# Not Valid After : Tue Jan 19 03:14:07 2038 +# Fingerprint (SHA-256): BE:C9:49:11:C2:95:56:76:DB:6C:0A:55:09:86:D7:6E:3B:A0:05:66:7C:44:2C:97:62:B4:FB:B7:73:DE:22:8C +# Fingerprint (SHA1): 69:69:56:2E:40:80:F4:24:A1:E7:19:9F:14:BA:F3:EE:58:AB:6A:BB +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "GlobalSign ECC Root CA - R4" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\120\061\044\060\042\006\003\125\004\013\023\033\107\154\157 +\142\141\154\123\151\147\156\040\105\103\103\040\122\157\157\164 +\040\103\101\040\055\040\122\064\061\023\060\021\006\003\125\004 +\012\023\012\107\154\157\142\141\154\123\151\147\156\061\023\060 +\021\006\003\125\004\003\023\012\107\154\157\142\141\154\123\151 +\147\156 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\120\061\044\060\042\006\003\125\004\013\023\033\107\154\157 +\142\141\154\123\151\147\156\040\105\103\103\040\122\157\157\164 +\040\103\101\040\055\040\122\064\061\023\060\021\006\003\125\004 +\012\023\012\107\154\157\142\141\154\123\151\147\156\061\023\060 +\021\006\003\125\004\003\023\012\107\154\157\142\141\154\123\151 +\147\156 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\021\052\070\244\034\226\012\004\336\102\262\050\245\013\350 +\064\230\002 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\001\341\060\202\001\207\240\003\002\001\002\002\021\052 +\070\244\034\226\012\004\336\102\262\050\245\013\350\064\230\002 +\060\012\006\010\052\206\110\316\075\004\003\002\060\120\061\044 +\060\042\006\003\125\004\013\023\033\107\154\157\142\141\154\123 +\151\147\156\040\105\103\103\040\122\157\157\164\040\103\101\040 +\055\040\122\064\061\023\060\021\006\003\125\004\012\023\012\107 +\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125 +\004\003\023\012\107\154\157\142\141\154\123\151\147\156\060\036 +\027\015\061\062\061\061\061\063\060\060\060\060\060\060\132\027 +\015\063\070\060\061\061\071\060\063\061\064\060\067\132\060\120 +\061\044\060\042\006\003\125\004\013\023\033\107\154\157\142\141 +\154\123\151\147\156\040\105\103\103\040\122\157\157\164\040\103 +\101\040\055\040\122\064\061\023\060\021\006\003\125\004\012\023 +\012\107\154\157\142\141\154\123\151\147\156\061\023\060\021\006 +\003\125\004\003\023\012\107\154\157\142\141\154\123\151\147\156 +\060\131\060\023\006\007\052\206\110\316\075\002\001\006\010\052 +\206\110\316\075\003\001\007\003\102\000\004\270\306\171\323\217 +\154\045\016\237\056\071\031\034\003\244\256\232\345\071\007\011 +\026\312\143\261\271\206\370\212\127\301\127\316\102\372\163\241 +\367\145\102\377\036\301\000\262\156\163\016\377\307\041\345\030 +\244\252\331\161\077\250\324\271\316\214\035\243\102\060\100\060 +\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060 +\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377 +\060\035\006\003\125\035\016\004\026\004\024\124\260\173\255\105 +\270\342\100\177\373\012\156\373\276\063\311\074\243\204\325\060 +\012\006\010\052\206\110\316\075\004\003\002\003\110\000\060\105 +\002\041\000\334\222\241\240\023\246\317\003\260\346\304\041\227 +\220\372\024\127\055\003\354\356\074\323\156\312\250\154\166\274 +\242\336\273\002\040\047\250\205\047\065\233\126\306\243\362\107 +\322\267\156\033\002\000\027\252\147\246\025\221\336\372\224\354 +\173\013\370\237\204 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "GlobalSign ECC Root CA - R4" +# Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign ECC Root CA - R4 +# Serial Number:2a:38:a4:1c:96:0a:04:de:42:b2:28:a5:0b:e8:34:98:02 +# Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign ECC Root CA - R4 +# Not Valid Before: Tue Nov 13 00:00:00 2012 +# Not Valid After : Tue Jan 19 03:14:07 2038 +# Fingerprint (SHA-256): BE:C9:49:11:C2:95:56:76:DB:6C:0A:55:09:86:D7:6E:3B:A0:05:66:7C:44:2C:97:62:B4:FB:B7:73:DE:22:8C +# Fingerprint (SHA1): 69:69:56:2E:40:80:F4:24:A1:E7:19:9F:14:BA:F3:EE:58:AB:6A:BB +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "GlobalSign ECC Root CA - R4" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\151\151\126\056\100\200\364\044\241\347\031\237\024\272\363\356 +\130\253\152\273 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\040\360\047\150\321\176\240\235\016\346\052\312\337\134\211\216 +END +CKA_ISSUER MULTILINE_OCTAL +\060\120\061\044\060\042\006\003\125\004\013\023\033\107\154\157 +\142\141\154\123\151\147\156\040\105\103\103\040\122\157\157\164 +\040\103\101\040\055\040\122\064\061\023\060\021\006\003\125\004 +\012\023\012\107\154\157\142\141\154\123\151\147\156\061\023\060 +\021\006\003\125\004\003\023\012\107\154\157\142\141\154\123\151 +\147\156 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\021\052\070\244\034\226\012\004\336\102\262\050\245\013\350 +\064\230\002 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "GlobalSign ECC Root CA - R5" +# +# Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign ECC Root CA - R5 +# Serial Number:60:59:49:e0:26:2e:bb:55:f9:0a:77:8a:71:f9:4a:d8:6c +# Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign ECC Root CA - R5 +# Not Valid Before: Tue Nov 13 00:00:00 2012 +# Not Valid After : Tue Jan 19 03:14:07 2038 +# Fingerprint (SHA-256): 17:9F:BC:14:8A:3D:D0:0F:D2:4E:A1:34:58:CC:43:BF:A7:F5:9C:81:82:D7:83:A5:13:F6:EB:EC:10:0C:89:24 +# Fingerprint (SHA1): 1F:24:C6:30:CD:A4:18:EF:20:69:FF:AD:4F:DD:5F:46:3A:1B:69:AA +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "GlobalSign ECC Root CA - R5" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\120\061\044\060\042\006\003\125\004\013\023\033\107\154\157 +\142\141\154\123\151\147\156\040\105\103\103\040\122\157\157\164 +\040\103\101\040\055\040\122\065\061\023\060\021\006\003\125\004 +\012\023\012\107\154\157\142\141\154\123\151\147\156\061\023\060 +\021\006\003\125\004\003\023\012\107\154\157\142\141\154\123\151 +\147\156 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\120\061\044\060\042\006\003\125\004\013\023\033\107\154\157 +\142\141\154\123\151\147\156\040\105\103\103\040\122\157\157\164 +\040\103\101\040\055\040\122\065\061\023\060\021\006\003\125\004 +\012\023\012\107\154\157\142\141\154\123\151\147\156\061\023\060 +\021\006\003\125\004\003\023\012\107\154\157\142\141\154\123\151 +\147\156 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\021\140\131\111\340\046\056\273\125\371\012\167\212\161\371 +\112\330\154 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\002\036\060\202\001\244\240\003\002\001\002\002\021\140 +\131\111\340\046\056\273\125\371\012\167\212\161\371\112\330\154 +\060\012\006\010\052\206\110\316\075\004\003\003\060\120\061\044 +\060\042\006\003\125\004\013\023\033\107\154\157\142\141\154\123 +\151\147\156\040\105\103\103\040\122\157\157\164\040\103\101\040 +\055\040\122\065\061\023\060\021\006\003\125\004\012\023\012\107 +\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125 +\004\003\023\012\107\154\157\142\141\154\123\151\147\156\060\036 +\027\015\061\062\061\061\061\063\060\060\060\060\060\060\132\027 +\015\063\070\060\061\061\071\060\063\061\064\060\067\132\060\120 +\061\044\060\042\006\003\125\004\013\023\033\107\154\157\142\141 +\154\123\151\147\156\040\105\103\103\040\122\157\157\164\040\103 +\101\040\055\040\122\065\061\023\060\021\006\003\125\004\012\023 +\012\107\154\157\142\141\154\123\151\147\156\061\023\060\021\006 +\003\125\004\003\023\012\107\154\157\142\141\154\123\151\147\156 +\060\166\060\020\006\007\052\206\110\316\075\002\001\006\005\053 +\201\004\000\042\003\142\000\004\107\105\016\226\373\175\135\277 +\351\071\321\041\370\237\013\266\325\173\036\222\072\110\131\034 +\360\142\061\055\300\172\050\376\032\247\134\263\266\314\227\347 +\105\324\130\372\321\167\155\103\242\300\207\145\064\012\037\172 +\335\353\074\063\241\305\235\115\244\157\101\225\070\177\311\036 +\204\353\321\236\111\222\207\224\207\014\072\205\112\146\237\235 +\131\223\115\227\141\006\206\112\243\102\060\100\060\016\006\003 +\125\035\017\001\001\377\004\004\003\002\001\006\060\017\006\003 +\125\035\023\001\001\377\004\005\060\003\001\001\377\060\035\006 +\003\125\035\016\004\026\004\024\075\346\051\110\233\352\007\312 +\041\104\112\046\336\156\336\322\203\320\237\131\060\012\006\010 +\052\206\110\316\075\004\003\003\003\150\000\060\145\002\061\000 +\345\151\022\311\156\333\306\061\272\011\101\341\227\370\373\375 +\232\342\175\022\311\355\174\144\323\313\005\045\213\126\331\240 +\347\136\135\116\013\203\234\133\166\051\240\011\046\041\152\142 +\002\060\161\322\265\217\134\352\073\341\170\011\205\250\165\222 +\073\310\134\375\110\357\015\164\042\250\010\342\156\305\111\316 +\307\014\274\247\141\151\361\367\073\341\052\313\371\053\363\146 +\220\067 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "GlobalSign ECC Root CA - R5" +# Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign ECC Root CA - R5 +# Serial Number:60:59:49:e0:26:2e:bb:55:f9:0a:77:8a:71:f9:4a:d8:6c +# Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign ECC Root CA - R5 +# Not Valid Before: Tue Nov 13 00:00:00 2012 +# Not Valid After : Tue Jan 19 03:14:07 2038 +# Fingerprint (SHA-256): 17:9F:BC:14:8A:3D:D0:0F:D2:4E:A1:34:58:CC:43:BF:A7:F5:9C:81:82:D7:83:A5:13:F6:EB:EC:10:0C:89:24 +# Fingerprint (SHA1): 1F:24:C6:30:CD:A4:18:EF:20:69:FF:AD:4F:DD:5F:46:3A:1B:69:AA +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "GlobalSign ECC Root CA - R5" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\037\044\306\060\315\244\030\357\040\151\377\255\117\335\137\106 +\072\033\151\252 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\237\255\073\034\002\036\212\272\027\164\070\201\014\242\274\010 +END +CKA_ISSUER MULTILINE_OCTAL +\060\120\061\044\060\042\006\003\125\004\013\023\033\107\154\157 +\142\141\154\123\151\147\156\040\105\103\103\040\122\157\157\164 +\040\103\101\040\055\040\122\065\061\023\060\021\006\003\125\004 +\012\023\012\107\154\157\142\141\154\123\151\147\156\061\023\060 +\021\006\003\125\004\003\023\012\107\154\157\142\141\154\123\151 +\147\156 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\021\140\131\111\340\046\056\273\125\371\012\167\212\161\371 +\112\330\154 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Staat der Nederlanden Root CA - G3" +# +# Issuer: CN=Staat der Nederlanden Root CA - G3,O=Staat der Nederlanden,C=NL +# Serial Number: 10003001 (0x98a239) +# Subject: CN=Staat der Nederlanden Root CA - G3,O=Staat der Nederlanden,C=NL +# Not Valid Before: Thu Nov 14 11:28:42 2013 +# Not Valid After : Mon Nov 13 23:00:00 2028 +# Fingerprint (SHA-256): 3C:4F:B0:B9:5A:B8:B3:00:32:F4:32:B8:6F:53:5F:E1:72:C1:85:D0:FD:39:86:58:37:CF:36:18:7F:A6:F4:28 +# Fingerprint (SHA1): D8:EB:6B:41:51:92:59:E0:F3:E7:85:00:C0:3D:B6:88:97:C9:EE:FC +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Staat der Nederlanden Root CA - G3" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\132\061\013\060\011\006\003\125\004\006\023\002\116\114\061 +\036\060\034\006\003\125\004\012\014\025\123\164\141\141\164\040 +\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061 +\053\060\051\006\003\125\004\003\014\042\123\164\141\141\164\040 +\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\040 +\122\157\157\164\040\103\101\040\055\040\107\063 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\132\061\013\060\011\006\003\125\004\006\023\002\116\114\061 +\036\060\034\006\003\125\004\012\014\025\123\164\141\141\164\040 +\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061 +\053\060\051\006\003\125\004\003\014\042\123\164\141\141\164\040 +\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\040 +\122\157\157\164\040\103\101\040\055\040\107\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\000\230\242\071 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\164\060\202\003\134\240\003\002\001\002\002\004\000 +\230\242\071\060\015\006\011\052\206\110\206\367\015\001\001\013 +\005\000\060\132\061\013\060\011\006\003\125\004\006\023\002\116 +\114\061\036\060\034\006\003\125\004\012\014\025\123\164\141\141 +\164\040\144\145\162\040\116\145\144\145\162\154\141\156\144\145 +\156\061\053\060\051\006\003\125\004\003\014\042\123\164\141\141 +\164\040\144\145\162\040\116\145\144\145\162\154\141\156\144\145 +\156\040\122\157\157\164\040\103\101\040\055\040\107\063\060\036 +\027\015\061\063\061\061\061\064\061\061\062\070\064\062\132\027 +\015\062\070\061\061\061\063\062\063\060\060\060\060\132\060\132 +\061\013\060\011\006\003\125\004\006\023\002\116\114\061\036\060 +\034\006\003\125\004\012\014\025\123\164\141\141\164\040\144\145 +\162\040\116\145\144\145\162\154\141\156\144\145\156\061\053\060 +\051\006\003\125\004\003\014\042\123\164\141\141\164\040\144\145 +\162\040\116\145\144\145\162\154\141\156\144\145\156\040\122\157 +\157\164\040\103\101\040\055\040\107\063\060\202\002\042\060\015 +\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\002 +\017\000\060\202\002\012\002\202\002\001\000\276\062\242\124\017 +\160\373\054\134\131\353\154\304\244\121\350\205\052\263\314\112 +\064\362\260\137\363\016\307\034\075\123\036\210\010\150\330\157 +\075\255\302\236\314\202\147\007\047\207\150\161\072\237\165\226 +\042\106\005\260\355\255\307\133\236\052\336\234\374\072\306\225 +\247\365\027\147\030\347\057\111\010\014\134\317\346\314\064\355 +\170\373\120\261\334\153\062\360\242\376\266\074\344\354\132\227 +\307\077\036\160\010\060\240\334\305\263\155\157\320\202\162\021 +\253\322\201\150\131\202\027\267\170\222\140\372\314\336\077\204 +\353\215\070\063\220\012\162\043\372\065\314\046\161\061\321\162 +\050\222\331\133\043\155\146\265\155\007\102\353\246\063\316\222 +\333\300\366\154\143\170\315\312\116\075\265\345\122\233\361\276 +\073\346\124\140\260\146\036\011\253\007\376\124\211\021\102\321 +\367\044\272\140\170\032\230\367\311\021\375\026\301\065\032\124 +\165\357\103\323\345\256\116\316\347\173\303\306\116\141\121\113 +\253\232\105\113\241\037\101\275\110\123\025\161\144\013\206\263 +\345\056\276\316\244\033\301\051\204\242\265\313\010\043\166\103 +\042\044\037\027\004\324\156\234\306\374\177\053\146\032\354\212 +\345\326\317\115\365\143\011\267\025\071\326\173\254\353\343\174 +\351\116\374\165\102\310\355\130\225\014\006\102\242\234\367\344 +\160\263\337\162\157\132\067\100\211\330\205\244\327\361\013\336 +\103\031\324\112\130\054\214\212\071\236\277\204\207\361\026\073 +\066\014\351\323\264\312\154\031\101\122\011\241\035\260\152\277 +\202\357\160\121\041\062\334\005\166\214\313\367\144\344\003\120 +\257\214\221\147\253\305\362\356\130\330\336\276\367\347\061\317 +\154\311\073\161\301\325\210\265\145\274\300\350\027\027\007\022 +\265\134\322\253\040\223\264\346\202\203\160\066\305\315\243\215 +\255\213\354\243\301\103\207\346\103\342\064\276\225\213\065\355 +\007\071\332\250\035\172\237\066\236\022\260\014\145\022\220\025 +\140\331\046\100\104\343\126\140\245\020\324\152\074\375\101\334 +\016\132\107\266\357\227\141\165\117\331\376\307\262\035\324\355 +\135\111\263\251\152\313\146\204\023\325\134\240\334\337\156\167 +\006\321\161\165\310\127\157\257\017\167\133\002\003\001\000\001 +\243\102\060\100\060\017\006\003\125\035\023\001\001\377\004\005 +\060\003\001\001\377\060\016\006\003\125\035\017\001\001\377\004 +\004\003\002\001\006\060\035\006\003\125\035\016\004\026\004\024 +\124\255\372\307\222\127\256\312\065\234\056\022\373\344\272\135 +\040\334\224\127\060\015\006\011\052\206\110\206\367\015\001\001 +\013\005\000\003\202\002\001\000\060\231\235\005\062\310\136\016 +\073\230\001\072\212\244\347\007\367\172\370\347\232\337\120\103 +\123\227\052\075\312\074\107\230\056\341\025\173\361\222\363\141 +\332\220\045\026\145\300\237\124\135\016\003\073\133\167\002\234 +\204\266\015\230\137\064\335\073\143\302\303\050\201\302\234\051 +\056\051\342\310\303\001\362\063\352\052\252\314\011\010\367\145 +\147\306\315\337\323\266\053\247\275\314\321\016\160\137\270\043 +\321\313\221\116\012\364\310\172\345\331\143\066\301\324\337\374 +\042\227\367\140\135\352\051\057\130\262\275\130\275\215\226\117 +\020\165\277\110\173\075\121\207\241\074\164\042\302\374\007\177 +\200\334\304\254\376\152\301\160\060\260\351\216\151\342\054\151 +\201\224\011\272\335\376\115\300\203\214\224\130\300\106\040\257 +\234\037\002\370\065\125\111\057\106\324\300\360\240\226\002\017 +\063\305\161\363\236\043\175\224\267\375\072\323\011\203\006\041 +\375\140\075\256\062\300\322\356\215\246\360\347\264\202\174\012 +\314\160\311\171\200\370\376\114\367\065\204\031\212\061\373\012 +\331\327\177\233\360\242\232\153\303\005\112\355\101\140\024\060 +\321\252\021\102\156\323\043\002\004\013\306\145\335\335\122\167 +\332\201\153\262\250\372\001\070\271\226\352\052\154\147\227\211 +\224\236\274\341\124\325\344\152\170\357\112\275\053\232\075\100 +\176\306\300\165\322\156\373\150\060\354\354\213\235\371\111\065 +\232\032\054\331\263\225\071\325\036\222\367\246\271\145\057\345 +\075\155\072\110\114\010\334\344\050\022\050\276\175\065\134\352 +\340\026\176\023\033\152\327\076\327\236\374\055\165\262\301\024 +\325\043\003\333\133\157\013\076\170\057\015\336\063\215\026\267 +\110\347\203\232\201\017\173\301\103\115\125\004\027\070\112\121 +\325\131\242\211\164\323\237\276\036\113\327\306\155\267\210\044 +\157\140\221\244\202\205\133\126\101\274\320\104\253\152\023\276 +\321\054\130\267\022\063\130\262\067\143\334\023\365\224\035\077 +\100\121\365\117\365\072\355\310\305\353\302\036\035\026\225\172 +\307\176\102\161\223\156\113\025\267\060\337\252\355\127\205\110 +\254\035\152\335\071\151\344\341\171\170\276\316\005\277\241\014 +\367\200\173\041\147\047\060\131 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "Staat der Nederlanden Root CA - G3" +# Issuer: CN=Staat der Nederlanden Root CA - G3,O=Staat der Nederlanden,C=NL +# Serial Number: 10003001 (0x98a239) +# Subject: CN=Staat der Nederlanden Root CA - G3,O=Staat der Nederlanden,C=NL +# Not Valid Before: Thu Nov 14 11:28:42 2013 +# Not Valid After : Mon Nov 13 23:00:00 2028 +# Fingerprint (SHA-256): 3C:4F:B0:B9:5A:B8:B3:00:32:F4:32:B8:6F:53:5F:E1:72:C1:85:D0:FD:39:86:58:37:CF:36:18:7F:A6:F4:28 +# Fingerprint (SHA1): D8:EB:6B:41:51:92:59:E0:F3:E7:85:00:C0:3D:B6:88:97:C9:EE:FC +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Staat der Nederlanden Root CA - G3" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\330\353\153\101\121\222\131\340\363\347\205\000\300\075\266\210 +\227\311\356\374 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\013\106\147\007\333\020\057\031\214\065\120\140\321\013\364\067 +END +CKA_ISSUER MULTILINE_OCTAL +\060\132\061\013\060\011\006\003\125\004\006\023\002\116\114\061 +\036\060\034\006\003\125\004\012\014\025\123\164\141\141\164\040 +\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061 +\053\060\051\006\003\125\004\003\014\042\123\164\141\141\164\040 +\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\040 +\122\157\157\164\040\103\101\040\055\040\107\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\000\230\242\071 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Staat der Nederlanden EV Root CA" +# +# Issuer: CN=Staat der Nederlanden EV Root CA,O=Staat der Nederlanden,C=NL +# Serial Number: 10000013 (0x98968d) +# Subject: CN=Staat der Nederlanden EV Root CA,O=Staat der Nederlanden,C=NL +# Not Valid Before: Wed Dec 08 11:19:29 2010 +# Not Valid After : Thu Dec 08 11:10:28 2022 +# Fingerprint (SHA-256): 4D:24:91:41:4C:FE:95:67:46:EC:4C:EF:A6:CF:6F:72:E2:8A:13:29:43:2F:9D:8A:90:7A:C4:CB:5D:AD:C1:5A +# Fingerprint (SHA1): 76:E2:7E:C1:4F:DB:82:C1:C0:A6:75:B5:05:BE:3D:29:B4:ED:DB:BB +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Staat der Nederlanden EV Root CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\130\061\013\060\011\006\003\125\004\006\023\002\116\114\061 +\036\060\034\006\003\125\004\012\014\025\123\164\141\141\164\040 +\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061 +\051\060\047\006\003\125\004\003\014\040\123\164\141\141\164\040 +\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\040 +\105\126\040\122\157\157\164\040\103\101 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\130\061\013\060\011\006\003\125\004\006\023\002\116\114\061 +\036\060\034\006\003\125\004\012\014\025\123\164\141\141\164\040 +\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061 +\051\060\047\006\003\125\004\003\014\040\123\164\141\141\164\040 +\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\040 +\105\126\040\122\157\157\164\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\000\230\226\215 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\160\060\202\003\130\240\003\002\001\002\002\004\000 +\230\226\215\060\015\006\011\052\206\110\206\367\015\001\001\013 +\005\000\060\130\061\013\060\011\006\003\125\004\006\023\002\116 +\114\061\036\060\034\006\003\125\004\012\014\025\123\164\141\141 +\164\040\144\145\162\040\116\145\144\145\162\154\141\156\144\145 +\156\061\051\060\047\006\003\125\004\003\014\040\123\164\141\141 +\164\040\144\145\162\040\116\145\144\145\162\154\141\156\144\145 +\156\040\105\126\040\122\157\157\164\040\103\101\060\036\027\015 +\061\060\061\062\060\070\061\061\061\071\062\071\132\027\015\062 +\062\061\062\060\070\061\061\061\060\062\070\132\060\130\061\013 +\060\011\006\003\125\004\006\023\002\116\114\061\036\060\034\006 +\003\125\004\012\014\025\123\164\141\141\164\040\144\145\162\040 +\116\145\144\145\162\154\141\156\144\145\156\061\051\060\047\006 +\003\125\004\003\014\040\123\164\141\141\164\040\144\145\162\040 +\116\145\144\145\162\154\141\156\144\145\156\040\105\126\040\122 +\157\157\164\040\103\101\060\202\002\042\060\015\006\011\052\206 +\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202 +\002\012\002\202\002\001\000\343\307\176\211\371\044\113\072\322 +\063\203\065\054\151\354\334\011\244\343\121\250\045\053\171\270 +\010\075\340\221\272\204\205\306\205\244\312\346\311\056\123\244 +\311\044\036\375\125\146\161\135\054\305\140\150\004\267\331\302 +\122\046\070\210\244\326\073\100\246\302\315\077\315\230\223\263 +\124\024\130\226\125\325\120\376\206\255\244\143\177\134\207\366 +\216\346\047\222\147\027\222\002\003\054\334\326\146\164\355\335 +\147\377\301\141\215\143\117\017\233\155\027\060\046\357\253\322 +\037\020\240\371\305\177\026\151\201\003\107\355\036\150\215\162 +\241\115\262\046\306\272\154\137\155\326\257\321\261\023\216\251 +\255\363\136\151\165\046\030\076\101\053\041\177\356\213\135\007 +\006\235\103\304\051\012\053\374\052\076\206\313\074\203\072\371 +\311\015\332\305\231\342\274\170\101\063\166\341\277\057\135\345 +\244\230\120\014\025\335\340\372\234\177\070\150\320\262\246\172 +\247\321\061\275\176\212\130\047\103\263\272\063\221\323\247\230 +\025\134\232\346\323\017\165\331\374\101\230\227\076\252\045\333 +\217\222\056\260\173\014\137\361\143\251\067\371\233\165\151\114 +\050\046\045\332\325\362\022\160\105\125\343\337\163\136\067\365 +\041\154\220\216\065\132\311\323\043\353\323\300\276\170\254\102 +\050\130\146\245\106\155\160\002\327\020\371\113\124\374\135\206 +\112\207\317\177\312\105\254\021\132\265\040\121\215\057\210\107 +\227\071\300\317\272\300\102\001\100\231\110\041\013\153\247\322 +\375\226\325\321\276\106\235\111\340\013\246\240\042\116\070\320 +\301\074\060\274\160\217\054\165\314\320\305\214\121\073\075\224 +\010\144\046\141\175\271\303\145\217\024\234\041\320\252\375\027 +\162\003\217\275\233\214\346\136\123\236\271\235\357\202\273\341 +\274\342\162\101\133\041\224\323\105\067\224\321\337\011\071\135 +\347\043\252\232\035\312\155\250\012\206\205\212\202\276\102\007 +\326\362\070\202\163\332\207\133\345\074\323\236\076\247\073\236 +\364\003\263\371\361\175\023\164\002\377\273\241\345\372\000\171 +\034\246\146\101\210\134\140\127\246\056\011\304\272\375\232\317 +\247\037\100\303\273\314\132\012\125\113\073\070\166\121\270\143 +\213\204\224\026\346\126\363\002\003\001\000\001\243\102\060\100 +\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001 +\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001 +\006\060\035\006\003\125\035\016\004\026\004\024\376\253\000\220 +\230\236\044\374\251\314\032\212\373\047\270\277\060\156\250\073 +\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003 +\202\002\001\000\317\167\054\156\126\276\116\263\266\204\000\224 +\253\107\311\015\322\166\307\206\237\035\007\323\266\264\273\010 +\170\257\151\322\013\111\336\063\305\254\255\302\210\002\175\006 +\267\065\002\301\140\311\277\304\350\224\336\324\323\251\023\045 +\132\376\156\242\256\175\005\334\175\363\154\360\176\246\215\356 +\331\327\316\130\027\350\251\051\256\163\110\207\347\233\312\156 +\051\241\144\137\031\023\367\256\006\020\377\121\306\233\115\125 +\045\117\223\231\020\001\123\165\361\023\316\307\246\101\101\322 +\277\210\245\177\105\374\254\270\245\265\063\014\202\304\373\007 +\366\152\345\045\204\137\006\312\301\206\071\021\333\130\315\167 +\073\054\302\114\017\136\232\343\360\253\076\141\033\120\044\302 +\300\364\361\031\360\021\051\266\245\030\002\233\327\143\114\160 +\214\107\243\003\103\134\271\135\106\240\015\157\377\131\216\276 +\335\237\162\303\133\053\337\214\133\316\345\014\106\154\222\262 +\012\243\114\124\102\030\025\022\030\275\332\374\272\164\156\377 +\301\266\240\144\330\251\137\125\256\237\134\152\166\226\330\163 +\147\207\373\115\177\134\356\151\312\163\020\373\212\251\375\236 +\275\066\070\111\111\207\364\016\024\360\351\207\270\077\247\117 +\172\132\216\171\324\223\344\273\150\122\204\254\154\351\363\230 +\160\125\162\062\371\064\253\053\111\265\315\040\142\344\072\172 +\147\143\253\226\334\155\256\227\354\374\237\166\126\210\056\146 +\317\133\266\311\244\260\327\005\272\341\047\057\223\273\046\052 +\242\223\260\033\363\216\276\035\100\243\271\066\217\076\202\032 +\032\136\210\352\120\370\131\342\203\106\051\013\343\104\134\341 +\225\266\151\220\232\024\157\227\256\201\317\150\357\231\232\276 +\265\347\341\177\370\372\023\107\026\114\314\155\010\100\347\213 +\170\157\120\202\104\120\077\146\006\212\253\103\204\126\112\017 +\040\055\206\016\365\322\333\322\172\212\113\315\245\350\116\361 +\136\046\045\001\131\043\240\176\322\366\176\041\127\327\047\274 +\025\127\114\244\106\301\340\203\036\014\114\115\037\117\006\031 +\342\371\250\364\072\202\241\262\171\103\171\326\255\157\172\047 +\220\003\244\352\044\207\077\331\275\331\351\362\137\120\111\034 +\356\354\327\056 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "Staat der Nederlanden EV Root CA" +# Issuer: CN=Staat der Nederlanden EV Root CA,O=Staat der Nederlanden,C=NL +# Serial Number: 10000013 (0x98968d) +# Subject: CN=Staat der Nederlanden EV Root CA,O=Staat der Nederlanden,C=NL +# Not Valid Before: Wed Dec 08 11:19:29 2010 +# Not Valid After : Thu Dec 08 11:10:28 2022 +# Fingerprint (SHA-256): 4D:24:91:41:4C:FE:95:67:46:EC:4C:EF:A6:CF:6F:72:E2:8A:13:29:43:2F:9D:8A:90:7A:C4:CB:5D:AD:C1:5A +# Fingerprint (SHA1): 76:E2:7E:C1:4F:DB:82:C1:C0:A6:75:B5:05:BE:3D:29:B4:ED:DB:BB +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Staat der Nederlanden EV Root CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\166\342\176\301\117\333\202\301\300\246\165\265\005\276\075\051 +\264\355\333\273 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\374\006\257\173\350\032\361\232\264\350\322\160\037\300\365\272 +END +CKA_ISSUER MULTILINE_OCTAL +\060\130\061\013\060\011\006\003\125\004\006\023\002\116\114\061 +\036\060\034\006\003\125\004\012\014\025\123\164\141\141\164\040 +\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061 +\051\060\047\006\003\125\004\003\014\040\123\164\141\141\164\040 +\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\040 +\105\126\040\122\157\157\164\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\000\230\226\215 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "IdenTrust Commercial Root CA 1" +# +# Issuer: CN=IdenTrust Commercial Root CA 1,O=IdenTrust,C=US +# Serial Number:0a:01:42:80:00:00:01:45:23:c8:44:b5:00:00:00:02 +# Subject: CN=IdenTrust Commercial Root CA 1,O=IdenTrust,C=US +# Not Valid Before: Thu Jan 16 18:12:23 2014 +# Not Valid After : Mon Jan 16 18:12:23 2034 +# Fingerprint (SHA-256): 5D:56:49:9B:E4:D2:E0:8B:CF:CA:D0:8A:3E:38:72:3D:50:50:3B:DE:70:69:48:E4:2F:55:60:30:19:E5:28:AE +# Fingerprint (SHA1): DF:71:7E:AA:4A:D9:4E:C9:55:84:99:60:2D:48:DE:5F:BC:F0:3A:25 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "IdenTrust Commercial Root CA 1" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\112\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\022\060\020\006\003\125\004\012\023\011\111\144\145\156\124\162 +\165\163\164\061\047\060\045\006\003\125\004\003\023\036\111\144 +\145\156\124\162\165\163\164\040\103\157\155\155\145\162\143\151 +\141\154\040\122\157\157\164\040\103\101\040\061 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\112\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\022\060\020\006\003\125\004\012\023\011\111\144\145\156\124\162 +\165\163\164\061\047\060\045\006\003\125\004\003\023\036\111\144 +\145\156\124\162\165\163\164\040\103\157\155\155\145\162\143\151 +\141\154\040\122\157\157\164\040\103\101\040\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\012\001\102\200\000\000\001\105\043\310\104\265\000\000 +\000\002 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\140\060\202\003\110\240\003\002\001\002\002\020\012 +\001\102\200\000\000\001\105\043\310\104\265\000\000\000\002\060 +\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\112 +\061\013\060\011\006\003\125\004\006\023\002\125\123\061\022\060 +\020\006\003\125\004\012\023\011\111\144\145\156\124\162\165\163 +\164\061\047\060\045\006\003\125\004\003\023\036\111\144\145\156 +\124\162\165\163\164\040\103\157\155\155\145\162\143\151\141\154 +\040\122\157\157\164\040\103\101\040\061\060\036\027\015\061\064 +\060\061\061\066\061\070\061\062\062\063\132\027\015\063\064\060 +\061\061\066\061\070\061\062\062\063\132\060\112\061\013\060\011 +\006\003\125\004\006\023\002\125\123\061\022\060\020\006\003\125 +\004\012\023\011\111\144\145\156\124\162\165\163\164\061\047\060 +\045\006\003\125\004\003\023\036\111\144\145\156\124\162\165\163 +\164\040\103\157\155\155\145\162\143\151\141\154\040\122\157\157 +\164\040\103\101\040\061\060\202\002\042\060\015\006\011\052\206 +\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060\202 +\002\012\002\202\002\001\000\247\120\031\336\077\231\075\324\063 +\106\361\157\121\141\202\262\251\117\217\147\211\135\204\331\123 +\335\014\050\331\327\360\377\256\225\103\162\231\371\265\135\174 +\212\301\102\341\061\120\164\321\201\015\174\315\233\041\253\103 +\342\254\255\136\206\156\363\011\212\037\132\062\275\242\353\224 +\371\350\134\012\354\377\230\322\257\161\263\264\123\237\116\207 +\357\222\274\275\354\117\062\060\210\113\027\136\127\304\123\302 +\366\002\227\215\331\142\053\277\044\037\142\215\337\303\270\051 +\113\111\170\074\223\140\210\042\374\231\332\066\310\302\242\324 +\054\124\000\147\065\156\163\277\002\130\360\244\335\345\260\242 +\046\172\312\340\066\245\031\026\365\375\267\357\256\077\100\365 +\155\132\004\375\316\064\312\044\334\164\043\033\135\063\023\022 +\135\304\001\045\366\060\335\002\135\237\340\325\107\275\264\353 +\033\241\273\111\111\330\237\133\002\363\212\344\044\220\344\142 +\117\117\301\257\213\016\164\027\250\321\162\210\152\172\001\111 +\314\264\106\171\306\027\261\332\230\036\007\131\372\165\041\205 +\145\335\220\126\316\373\253\245\140\235\304\235\371\122\260\213 +\275\207\371\217\053\043\012\043\166\073\367\063\341\311\000\363 +\151\371\113\242\340\116\274\176\223\071\204\007\367\104\160\176 +\376\007\132\345\261\254\321\030\314\362\065\345\111\111\010\312 +\126\311\075\373\017\030\175\213\073\301\023\302\115\217\311\117 +\016\067\351\037\241\016\152\337\142\056\313\065\006\121\171\054 +\310\045\070\364\372\113\247\211\134\234\322\343\015\071\206\112 +\164\174\325\131\207\302\077\116\014\134\122\364\075\367\122\202 +\361\352\243\254\375\111\064\032\050\363\101\210\072\023\356\350 +\336\377\231\035\137\272\313\350\036\362\271\120\140\300\061\323 +\163\345\357\276\240\355\063\013\164\276\040\040\304\147\154\360 +\010\003\172\125\200\177\106\116\226\247\364\036\076\341\366\330 +\011\341\063\144\053\143\327\062\136\237\371\300\173\017\170\157 +\227\274\223\232\371\234\022\220\170\172\200\207\025\327\162\164 +\234\125\164\170\261\272\341\156\160\004\272\117\240\272\150\303 +\173\377\061\360\163\075\075\224\052\261\013\101\016\240\376\115 +\210\145\153\171\063\264\327\002\003\001\000\001\243\102\060\100 +\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006 +\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001 +\377\060\035\006\003\125\035\016\004\026\004\024\355\104\031\300 +\323\360\006\213\356\244\173\276\102\347\046\124\310\216\066\166 +\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003 +\202\002\001\000\015\256\220\062\366\246\113\174\104\166\031\141 +\036\047\050\315\136\124\357\045\274\343\010\220\371\051\327\256 +\150\010\341\224\000\130\357\056\056\176\123\122\214\266\134\007 +\352\210\272\231\213\120\224\327\202\200\337\141\011\000\223\255 +\015\024\346\316\301\362\067\224\170\260\137\234\263\242\163\270 +\217\005\223\070\315\215\076\260\270\373\300\317\261\362\354\055 +\055\033\314\354\252\232\263\252\140\202\033\055\073\303\204\075 +\127\212\226\036\234\165\270\323\060\315\140\010\203\220\323\216 +\124\361\115\146\300\135\164\003\100\243\356\205\176\302\037\167 +\234\006\350\301\247\030\135\122\225\355\311\335\045\236\155\372 +\251\355\243\072\064\320\131\173\332\355\120\363\065\277\355\353 +\024\115\061\307\140\364\332\361\207\234\342\110\342\306\305\067 +\373\006\020\372\165\131\146\061\107\051\332\166\232\034\351\202 +\256\357\232\271\121\367\210\043\232\151\225\142\074\345\125\200 +\066\327\124\002\377\361\271\135\316\324\043\157\330\105\204\112 +\133\145\357\211\014\335\024\247\040\313\030\245\045\264\015\371 +\001\360\242\322\364\000\310\164\216\241\052\110\216\145\333\023 +\304\342\045\027\175\353\276\207\133\027\040\124\121\223\112\123 +\003\013\354\135\312\063\355\142\375\105\307\057\133\334\130\240 +\200\071\346\372\327\376\023\024\246\355\075\224\112\102\164\324 +\303\167\131\163\315\217\106\276\125\070\357\372\350\221\062\352 +\227\130\004\042\336\070\303\314\274\155\311\063\072\152\012\151 +\077\240\310\352\162\217\214\143\206\043\275\155\074\226\236\225 +\340\111\114\252\242\271\052\033\234\066\201\170\355\303\350\106 +\342\046\131\104\165\036\331\165\211\121\315\020\204\235\141\140 +\313\135\371\227\042\115\216\230\346\343\177\366\133\273\256\315 +\312\112\201\153\136\013\363\121\341\164\053\351\176\047\247\331 +\231\111\116\370\245\200\333\045\017\034\143\142\212\311\063\147 +\153\074\020\203\306\255\336\250\315\026\216\215\360\007\067\161 +\237\362\253\374\101\365\301\213\354\000\067\135\011\345\116\200 +\357\372\261\134\070\006\245\033\112\341\334\070\055\074\334\253 +\037\220\032\325\112\234\356\321\160\154\314\356\364\127\370\030 +\272\204\156\207 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "IdenTrust Commercial Root CA 1" +# Issuer: CN=IdenTrust Commercial Root CA 1,O=IdenTrust,C=US +# Serial Number:0a:01:42:80:00:00:01:45:23:c8:44:b5:00:00:00:02 +# Subject: CN=IdenTrust Commercial Root CA 1,O=IdenTrust,C=US +# Not Valid Before: Thu Jan 16 18:12:23 2014 +# Not Valid After : Mon Jan 16 18:12:23 2034 +# Fingerprint (SHA-256): 5D:56:49:9B:E4:D2:E0:8B:CF:CA:D0:8A:3E:38:72:3D:50:50:3B:DE:70:69:48:E4:2F:55:60:30:19:E5:28:AE +# Fingerprint (SHA1): DF:71:7E:AA:4A:D9:4E:C9:55:84:99:60:2D:48:DE:5F:BC:F0:3A:25 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "IdenTrust Commercial Root CA 1" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\337\161\176\252\112\331\116\311\125\204\231\140\055\110\336\137 +\274\360\072\045 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\263\076\167\163\165\356\240\323\343\176\111\143\111\131\273\307 +END +CKA_ISSUER MULTILINE_OCTAL +\060\112\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\022\060\020\006\003\125\004\012\023\011\111\144\145\156\124\162 +\165\163\164\061\047\060\045\006\003\125\004\003\023\036\111\144 +\145\156\124\162\165\163\164\040\103\157\155\155\145\162\143\151 +\141\154\040\122\157\157\164\040\103\101\040\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\012\001\102\200\000\000\001\105\043\310\104\265\000\000 +\000\002 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "IdenTrust Public Sector Root CA 1" +# +# Issuer: CN=IdenTrust Public Sector Root CA 1,O=IdenTrust,C=US +# Serial Number:0a:01:42:80:00:00:01:45:23:cf:46:7c:00:00:00:02 +# Subject: CN=IdenTrust Public Sector Root CA 1,O=IdenTrust,C=US +# Not Valid Before: Thu Jan 16 17:53:32 2014 +# Not Valid After : Mon Jan 16 17:53:32 2034 +# Fingerprint (SHA-256): 30:D0:89:5A:9A:44:8A:26:20:91:63:55:22:D1:F5:20:10:B5:86:7A:CA:E1:2C:78:EF:95:8F:D4:F4:38:9F:2F +# Fingerprint (SHA1): BA:29:41:60:77:98:3F:F4:F3:EF:F2:31:05:3B:2E:EA:6D:4D:45:FD +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "IdenTrust Public Sector Root CA 1" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\115\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\022\060\020\006\003\125\004\012\023\011\111\144\145\156\124\162 +\165\163\164\061\052\060\050\006\003\125\004\003\023\041\111\144 +\145\156\124\162\165\163\164\040\120\165\142\154\151\143\040\123 +\145\143\164\157\162\040\122\157\157\164\040\103\101\040\061 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\115\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\022\060\020\006\003\125\004\012\023\011\111\144\145\156\124\162 +\165\163\164\061\052\060\050\006\003\125\004\003\023\041\111\144 +\145\156\124\162\165\163\164\040\120\165\142\154\151\143\040\123 +\145\143\164\157\162\040\122\157\157\164\040\103\101\040\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\012\001\102\200\000\000\001\105\043\317\106\174\000\000 +\000\002 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\146\060\202\003\116\240\003\002\001\002\002\020\012 +\001\102\200\000\000\001\105\043\317\106\174\000\000\000\002\060 +\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\115 +\061\013\060\011\006\003\125\004\006\023\002\125\123\061\022\060 +\020\006\003\125\004\012\023\011\111\144\145\156\124\162\165\163 +\164\061\052\060\050\006\003\125\004\003\023\041\111\144\145\156 +\124\162\165\163\164\040\120\165\142\154\151\143\040\123\145\143 +\164\157\162\040\122\157\157\164\040\103\101\040\061\060\036\027 +\015\061\064\060\061\061\066\061\067\065\063\063\062\132\027\015 +\063\064\060\061\061\066\061\067\065\063\063\062\132\060\115\061 +\013\060\011\006\003\125\004\006\023\002\125\123\061\022\060\020 +\006\003\125\004\012\023\011\111\144\145\156\124\162\165\163\164 +\061\052\060\050\006\003\125\004\003\023\041\111\144\145\156\124 +\162\165\163\164\040\120\165\142\154\151\143\040\123\145\143\164 +\157\162\040\122\157\157\164\040\103\101\040\061\060\202\002\042 +\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003 +\202\002\017\000\060\202\002\012\002\202\002\001\000\266\042\224 +\374\244\110\257\350\107\153\012\373\047\166\344\362\077\212\073 +\172\112\054\061\052\214\215\260\251\303\061\153\250\167\166\204 +\046\266\254\201\102\015\010\353\125\130\273\172\370\274\145\175 +\362\240\155\213\250\107\351\142\166\036\021\356\010\024\321\262 +\104\026\364\352\320\372\036\057\136\333\313\163\101\256\274\000 +\260\112\053\100\262\254\341\073\113\302\055\235\344\241\233\354 +\032\072\036\360\010\263\320\344\044\065\007\237\234\264\311\122 +\155\333\007\312\217\265\133\360\203\363\117\307\055\245\310\255 +\313\225\040\244\061\050\127\130\132\344\215\033\232\253\236\015 +\014\362\012\063\071\042\071\012\227\056\363\123\167\271\104\105 +\375\204\313\066\040\201\131\055\232\157\155\110\110\141\312\114 +\337\123\321\257\122\274\104\237\253\057\153\203\162\357\165\200 +\332\006\063\033\135\310\332\143\306\115\315\254\146\061\315\321 +\336\076\207\020\066\341\271\244\172\357\140\120\262\313\312\246 +\126\340\067\257\253\064\023\071\045\350\071\146\344\230\172\252 +\022\230\234\131\146\206\076\255\361\260\312\076\006\017\173\360 +\021\113\067\240\104\155\173\313\250\214\161\364\325\265\221\066 +\314\360\025\306\053\336\121\027\261\227\114\120\075\261\225\131 +\174\005\175\055\041\325\000\277\001\147\242\136\173\246\134\362 +\367\042\361\220\015\223\333\252\104\121\146\314\175\166\003\353 +\152\250\052\070\031\227\166\015\153\212\141\371\274\366\356\166 +\375\160\053\335\051\074\370\012\036\133\102\034\213\126\057\125 +\033\034\241\056\265\307\026\346\370\252\074\222\216\151\266\001 +\301\265\206\235\211\017\013\070\224\124\350\352\334\236\075\045 +\274\123\046\355\325\253\071\252\305\100\114\124\253\262\264\331 +\331\370\327\162\333\034\274\155\275\145\137\357\210\065\052\146 +\057\356\366\263\145\360\063\215\174\230\101\151\106\017\103\034 +\151\372\233\265\320\141\152\315\312\113\331\114\220\106\253\025 +\131\241\107\124\051\056\203\050\137\034\302\242\253\162\027\000 +\006\216\105\354\213\342\063\075\177\332\031\104\344\142\162\303 +\337\042\306\362\126\324\335\137\225\162\355\155\137\367\110\003 +\133\375\305\052\240\366\163\043\204\020\033\001\347\002\003\001 +\000\001\243\102\060\100\060\016\006\003\125\035\017\001\001\377 +\004\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377 +\004\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026 +\004\024\343\161\340\236\330\247\102\331\333\161\221\153\224\223 +\353\303\243\321\024\243\060\015\006\011\052\206\110\206\367\015 +\001\001\013\005\000\003\202\002\001\000\107\372\335\012\260\021 +\221\070\255\115\135\367\345\016\227\124\031\202\110\207\124\214 +\252\144\231\330\132\376\210\001\305\130\245\231\261\043\124\043 +\267\152\035\040\127\345\001\142\101\027\323\011\333\165\313\156 +\124\220\165\376\032\237\201\012\302\335\327\367\011\320\133\162 +\025\344\036\011\152\075\063\363\041\232\346\025\176\255\121\325 +\015\020\355\175\102\300\217\356\300\232\010\325\101\326\134\016 +\041\151\156\200\141\016\025\300\270\317\305\111\022\122\314\276 +\072\314\324\056\070\005\336\065\375\037\157\270\200\150\230\075 +\115\240\312\100\145\322\163\174\365\213\331\012\225\077\330\077 +\043\155\032\321\052\044\031\331\205\263\027\357\170\156\251\130 +\321\043\323\307\023\355\162\045\177\135\261\163\160\320\177\006 +\227\011\204\051\200\141\035\372\136\377\163\254\240\343\211\270 +\034\161\025\306\336\061\177\022\334\341\155\233\257\347\350\237 +\165\170\114\253\106\073\232\316\277\005\030\135\115\025\074\026 +\232\031\120\004\232\262\232\157\145\213\122\137\074\130\004\050 +\045\300\146\141\061\176\271\340\165\271\032\250\201\326\162\027 +\263\305\003\061\065\021\170\170\242\340\351\060\214\177\200\337 +\130\337\074\272\047\226\342\200\064\155\343\230\323\144\047\254 +\110\176\050\167\134\306\045\141\045\370\205\014\145\372\304\062 +\057\245\230\005\344\370\013\147\026\026\306\202\270\062\031\371 +\371\271\171\334\037\315\353\257\253\016\335\033\333\105\344\172 +\347\002\342\225\135\374\151\360\123\151\141\225\165\171\013\136 +\125\346\070\034\224\251\131\063\236\310\161\164\171\177\121\211 +\266\310\152\270\060\310\152\070\303\156\236\341\067\026\352\005 +\142\114\133\022\107\355\247\264\263\130\126\307\111\363\177\022 +\150\011\061\161\360\155\370\116\107\373\326\205\356\305\130\100 +\031\244\035\247\371\113\103\067\334\150\132\117\317\353\302\144 +\164\336\264\025\331\364\124\124\032\057\034\327\227\161\124\220 +\216\331\040\235\123\053\177\253\217\342\352\060\274\120\067\357 +\361\107\265\175\174\054\004\354\150\235\264\111\104\020\364\162 +\113\034\144\347\374\346\153\220\335\151\175\151\375\000\126\245 +\267\254\266\255\267\312\076\001\357\234 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "IdenTrust Public Sector Root CA 1" +# Issuer: CN=IdenTrust Public Sector Root CA 1,O=IdenTrust,C=US +# Serial Number:0a:01:42:80:00:00:01:45:23:cf:46:7c:00:00:00:02 +# Subject: CN=IdenTrust Public Sector Root CA 1,O=IdenTrust,C=US +# Not Valid Before: Thu Jan 16 17:53:32 2014 +# Not Valid After : Mon Jan 16 17:53:32 2034 +# Fingerprint (SHA-256): 30:D0:89:5A:9A:44:8A:26:20:91:63:55:22:D1:F5:20:10:B5:86:7A:CA:E1:2C:78:EF:95:8F:D4:F4:38:9F:2F +# Fingerprint (SHA1): BA:29:41:60:77:98:3F:F4:F3:EF:F2:31:05:3B:2E:EA:6D:4D:45:FD +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "IdenTrust Public Sector Root CA 1" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\272\051\101\140\167\230\077\364\363\357\362\061\005\073\056\352 +\155\115\105\375 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\067\006\245\260\374\211\235\272\364\153\214\032\144\315\325\272 +END +CKA_ISSUER MULTILINE_OCTAL +\060\115\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\022\060\020\006\003\125\004\012\023\011\111\144\145\156\124\162 +\165\163\164\061\052\060\050\006\003\125\004\003\023\041\111\144 +\145\156\124\162\165\163\164\040\120\165\142\154\151\143\040\123 +\145\143\164\157\162\040\122\157\157\164\040\103\101\040\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\012\001\102\200\000\000\001\105\043\317\106\174\000\000 +\000\002 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Entrust Root Certification Authority - G2" +# +# Issuer: CN=Entrust Root Certification Authority - G2,OU="(c) 2009 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US +# Serial Number: 1246989352 (0x4a538c28) +# Subject: CN=Entrust Root Certification Authority - G2,OU="(c) 2009 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US +# Not Valid Before: Tue Jul 07 17:25:54 2009 +# Not Valid After : Sat Dec 07 17:55:54 2030 +# Fingerprint (SHA-256): 43:DF:57:74:B0:3E:7F:EF:5F:E4:0D:93:1A:7B:ED:F1:BB:2E:6B:42:73:8C:4E:6D:38:41:10:3D:3A:A7:F3:39 +# Fingerprint (SHA1): 8C:F4:27:FD:79:0C:3A:D1:66:06:8D:E8:1E:57:EF:BB:93:22:72:D4 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Entrust Root Certification Authority - G2" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\276\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165 +\163\164\054\040\111\156\143\056\061\050\060\046\006\003\125\004 +\013\023\037\123\145\145\040\167\167\167\056\145\156\164\162\165 +\163\164\056\156\145\164\057\154\145\147\141\154\055\164\145\162 +\155\163\061\071\060\067\006\003\125\004\013\023\060\050\143\051 +\040\062\060\060\071\040\105\156\164\162\165\163\164\054\040\111 +\156\143\056\040\055\040\146\157\162\040\141\165\164\150\157\162 +\151\172\145\144\040\165\163\145\040\157\156\154\171\061\062\060 +\060\006\003\125\004\003\023\051\105\156\164\162\165\163\164\040 +\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164\151 +\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040\107 +\062 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\276\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165 +\163\164\054\040\111\156\143\056\061\050\060\046\006\003\125\004 +\013\023\037\123\145\145\040\167\167\167\056\145\156\164\162\165 +\163\164\056\156\145\164\057\154\145\147\141\154\055\164\145\162 +\155\163\061\071\060\067\006\003\125\004\013\023\060\050\143\051 +\040\062\060\060\071\040\105\156\164\162\165\163\164\054\040\111 +\156\143\056\040\055\040\146\157\162\040\141\165\164\150\157\162 +\151\172\145\144\040\165\163\145\040\157\156\154\171\061\062\060 +\060\006\003\125\004\003\023\051\105\156\164\162\165\163\164\040 +\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164\151 +\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040\107 +\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\112\123\214\050 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\076\060\202\003\046\240\003\002\001\002\002\004\112 +\123\214\050\060\015\006\011\052\206\110\206\367\015\001\001\013 +\005\000\060\201\276\061\013\060\011\006\003\125\004\006\023\002 +\125\123\061\026\060\024\006\003\125\004\012\023\015\105\156\164 +\162\165\163\164\054\040\111\156\143\056\061\050\060\046\006\003 +\125\004\013\023\037\123\145\145\040\167\167\167\056\145\156\164 +\162\165\163\164\056\156\145\164\057\154\145\147\141\154\055\164 +\145\162\155\163\061\071\060\067\006\003\125\004\013\023\060\050 +\143\051\040\062\060\060\071\040\105\156\164\162\165\163\164\054 +\040\111\156\143\056\040\055\040\146\157\162\040\141\165\164\150 +\157\162\151\172\145\144\040\165\163\145\040\157\156\154\171\061 +\062\060\060\006\003\125\004\003\023\051\105\156\164\162\165\163 +\164\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141 +\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040\055 +\040\107\062\060\036\027\015\060\071\060\067\060\067\061\067\062 +\065\065\064\132\027\015\063\060\061\062\060\067\061\067\065\065 +\065\064\132\060\201\276\061\013\060\011\006\003\125\004\006\023 +\002\125\123\061\026\060\024\006\003\125\004\012\023\015\105\156 +\164\162\165\163\164\054\040\111\156\143\056\061\050\060\046\006 +\003\125\004\013\023\037\123\145\145\040\167\167\167\056\145\156 +\164\162\165\163\164\056\156\145\164\057\154\145\147\141\154\055 +\164\145\162\155\163\061\071\060\067\006\003\125\004\013\023\060 +\050\143\051\040\062\060\060\071\040\105\156\164\162\165\163\164 +\054\040\111\156\143\056\040\055\040\146\157\162\040\141\165\164 +\150\157\162\151\172\145\144\040\165\163\145\040\157\156\154\171 +\061\062\060\060\006\003\125\004\003\023\051\105\156\164\162\165 +\163\164\040\122\157\157\164\040\103\145\162\164\151\146\151\143 +\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040 +\055\040\107\062\060\202\001\042\060\015\006\011\052\206\110\206 +\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001\012 +\002\202\001\001\000\272\204\266\162\333\236\014\153\342\231\351 +\060\001\247\166\352\062\270\225\101\032\311\332\141\116\130\162 +\317\376\366\202\171\277\163\141\006\012\245\047\330\263\137\323 +\105\116\034\162\326\116\062\362\162\212\017\367\203\031\320\152 +\200\200\000\105\036\260\307\347\232\277\022\127\047\034\243\150 +\057\012\207\275\152\153\016\136\145\363\034\167\325\324\205\215 +\160\041\264\263\062\347\213\242\325\206\071\002\261\270\322\107 +\316\344\311\111\304\073\247\336\373\124\175\127\276\360\350\156 +\302\171\262\072\013\125\342\120\230\026\062\023\134\057\170\126 +\301\302\224\263\362\132\344\047\232\237\044\327\306\354\320\233 +\045\202\343\314\302\304\105\305\214\227\172\006\153\052\021\237 +\251\012\156\110\073\157\333\324\021\031\102\367\217\007\277\365 +\123\137\234\076\364\027\054\346\151\254\116\062\114\142\167\352 +\267\350\345\273\064\274\031\213\256\234\121\347\267\176\265\123 +\261\063\042\345\155\317\160\074\032\372\342\233\147\266\203\364 +\215\245\257\142\114\115\340\130\254\144\064\022\003\370\266\215 +\224\143\044\244\161\002\003\001\000\001\243\102\060\100\060\016 +\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060\017 +\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060 +\035\006\003\125\035\016\004\026\004\024\152\162\046\172\320\036 +\357\175\347\073\151\121\324\154\215\237\220\022\146\253\060\015 +\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202\001 +\001\000\171\237\035\226\306\266\171\077\042\215\207\323\207\003 +\004\140\152\153\232\056\131\211\163\021\254\103\321\365\023\377 +\215\071\053\300\362\275\117\160\214\251\057\352\027\304\013\124 +\236\324\033\226\230\063\074\250\255\142\242\000\166\253\131\151 +\156\006\035\176\304\271\104\215\230\257\022\324\141\333\012\031 +\106\107\363\353\367\143\301\100\005\100\245\322\267\364\265\232 +\066\277\251\210\166\210\004\125\004\053\234\207\177\032\067\074 +\176\055\245\032\330\324\211\136\312\275\254\075\154\330\155\257 +\325\363\166\017\315\073\210\070\042\235\154\223\232\304\075\277 +\202\033\145\077\246\017\135\252\374\345\262\025\312\265\255\306 +\274\075\320\204\350\352\006\162\260\115\071\062\170\277\076\021 +\234\013\244\235\232\041\363\360\233\013\060\170\333\301\334\207 +\103\376\274\143\232\312\305\302\034\311\307\215\377\073\022\130 +\010\346\266\075\354\172\054\116\373\203\226\316\014\074\151\207 +\124\163\244\163\302\223\377\121\020\254\025\124\001\330\374\005 +\261\211\241\177\164\203\232\111\327\334\116\173\212\110\157\213 +\105\366 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "Entrust Root Certification Authority - G2" +# Issuer: CN=Entrust Root Certification Authority - G2,OU="(c) 2009 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US +# Serial Number: 1246989352 (0x4a538c28) +# Subject: CN=Entrust Root Certification Authority - G2,OU="(c) 2009 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US +# Not Valid Before: Tue Jul 07 17:25:54 2009 +# Not Valid After : Sat Dec 07 17:55:54 2030 +# Fingerprint (SHA-256): 43:DF:57:74:B0:3E:7F:EF:5F:E4:0D:93:1A:7B:ED:F1:BB:2E:6B:42:73:8C:4E:6D:38:41:10:3D:3A:A7:F3:39 +# Fingerprint (SHA1): 8C:F4:27:FD:79:0C:3A:D1:66:06:8D:E8:1E:57:EF:BB:93:22:72:D4 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Entrust Root Certification Authority - G2" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\214\364\047\375\171\014\072\321\146\006\215\350\036\127\357\273 +\223\042\162\324 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\113\342\311\221\226\145\014\364\016\132\223\222\240\012\376\262 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\276\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165 +\163\164\054\040\111\156\143\056\061\050\060\046\006\003\125\004 +\013\023\037\123\145\145\040\167\167\167\056\145\156\164\162\165 +\163\164\056\156\145\164\057\154\145\147\141\154\055\164\145\162 +\155\163\061\071\060\067\006\003\125\004\013\023\060\050\143\051 +\040\062\060\060\071\040\105\156\164\162\165\163\164\054\040\111 +\156\143\056\040\055\040\146\157\162\040\141\165\164\150\157\162 +\151\172\145\144\040\165\163\145\040\157\156\154\171\061\062\060 +\060\006\003\125\004\003\023\051\105\156\164\162\165\163\164\040 +\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164\151 +\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040\107 +\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\112\123\214\050 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Entrust Root Certification Authority - EC1" +# +# Issuer: CN=Entrust Root Certification Authority - EC1,OU="(c) 2012 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US +# Serial Number:00:a6:8b:79:29:00:00:00:00:50:d0:91:f9 +# Subject: CN=Entrust Root Certification Authority - EC1,OU="(c) 2012 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US +# Not Valid Before: Tue Dec 18 15:25:36 2012 +# Not Valid After : Fri Dec 18 15:55:36 2037 +# Fingerprint (SHA-256): 02:ED:0E:B2:8C:14:DA:45:16:5C:56:67:91:70:0D:64:51:D7:FB:56:F0:B2:AB:1D:3B:8E:B0:70:E5:6E:DF:F5 +# Fingerprint (SHA1): 20:D8:06:40:DF:9B:25:F5:12:25:3A:11:EA:F7:59:8A:EB:14:B5:47 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Entrust Root Certification Authority - EC1" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\277\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165 +\163\164\054\040\111\156\143\056\061\050\060\046\006\003\125\004 +\013\023\037\123\145\145\040\167\167\167\056\145\156\164\162\165 +\163\164\056\156\145\164\057\154\145\147\141\154\055\164\145\162 +\155\163\061\071\060\067\006\003\125\004\013\023\060\050\143\051 +\040\062\060\061\062\040\105\156\164\162\165\163\164\054\040\111 +\156\143\056\040\055\040\146\157\162\040\141\165\164\150\157\162 +\151\172\145\144\040\165\163\145\040\157\156\154\171\061\063\060 +\061\006\003\125\004\003\023\052\105\156\164\162\165\163\164\040 +\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164\151 +\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040\105 +\103\061 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\277\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165 +\163\164\054\040\111\156\143\056\061\050\060\046\006\003\125\004 +\013\023\037\123\145\145\040\167\167\167\056\145\156\164\162\165 +\163\164\056\156\145\164\057\154\145\147\141\154\055\164\145\162 +\155\163\061\071\060\067\006\003\125\004\013\023\060\050\143\051 +\040\062\060\061\062\040\105\156\164\162\165\163\164\054\040\111 +\156\143\056\040\055\040\146\157\162\040\141\165\164\150\157\162 +\151\172\145\144\040\165\163\145\040\157\156\154\171\061\063\060 +\061\006\003\125\004\003\023\052\105\156\164\162\165\163\164\040 +\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164\151 +\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040\105 +\103\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\015\000\246\213\171\051\000\000\000\000\120\320\221\371 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\002\371\060\202\002\200\240\003\002\001\002\002\015\000 +\246\213\171\051\000\000\000\000\120\320\221\371\060\012\006\010 +\052\206\110\316\075\004\003\003\060\201\277\061\013\060\011\006 +\003\125\004\006\023\002\125\123\061\026\060\024\006\003\125\004 +\012\023\015\105\156\164\162\165\163\164\054\040\111\156\143\056 +\061\050\060\046\006\003\125\004\013\023\037\123\145\145\040\167 +\167\167\056\145\156\164\162\165\163\164\056\156\145\164\057\154 +\145\147\141\154\055\164\145\162\155\163\061\071\060\067\006\003 +\125\004\013\023\060\050\143\051\040\062\060\061\062\040\105\156 +\164\162\165\163\164\054\040\111\156\143\056\040\055\040\146\157 +\162\040\141\165\164\150\157\162\151\172\145\144\040\165\163\145 +\040\157\156\154\171\061\063\060\061\006\003\125\004\003\023\052 +\105\156\164\162\165\163\164\040\122\157\157\164\040\103\145\162 +\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157 +\162\151\164\171\040\055\040\105\103\061\060\036\027\015\061\062 +\061\062\061\070\061\065\062\065\063\066\132\027\015\063\067\061 +\062\061\070\061\065\065\065\063\066\132\060\201\277\061\013\060 +\011\006\003\125\004\006\023\002\125\123\061\026\060\024\006\003 +\125\004\012\023\015\105\156\164\162\165\163\164\054\040\111\156 +\143\056\061\050\060\046\006\003\125\004\013\023\037\123\145\145 +\040\167\167\167\056\145\156\164\162\165\163\164\056\156\145\164 +\057\154\145\147\141\154\055\164\145\162\155\163\061\071\060\067 +\006\003\125\004\013\023\060\050\143\051\040\062\060\061\062\040 +\105\156\164\162\165\163\164\054\040\111\156\143\056\040\055\040 +\146\157\162\040\141\165\164\150\157\162\151\172\145\144\040\165 +\163\145\040\157\156\154\171\061\063\060\061\006\003\125\004\003 +\023\052\105\156\164\162\165\163\164\040\122\157\157\164\040\103 +\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165\164 +\150\157\162\151\164\171\040\055\040\105\103\061\060\166\060\020 +\006\007\052\206\110\316\075\002\001\006\005\053\201\004\000\042 +\003\142\000\004\204\023\311\320\272\155\101\173\342\154\320\353 +\125\137\146\002\032\044\364\133\211\151\107\343\270\302\175\361 +\362\002\305\237\240\366\133\325\213\006\031\206\117\123\020\155 +\007\044\047\241\240\370\325\107\031\141\114\175\312\223\047\352 +\164\014\357\157\226\011\376\143\354\160\135\066\255\147\167\256 +\311\235\174\125\104\072\242\143\121\037\365\343\142\324\251\107 +\007\076\314\040\243\102\060\100\060\016\006\003\125\035\017\001 +\001\377\004\004\003\002\001\006\060\017\006\003\125\035\023\001 +\001\377\004\005\060\003\001\001\377\060\035\006\003\125\035\016 +\004\026\004\024\267\143\347\032\335\215\351\010\246\125\203\244 +\340\152\120\101\145\021\102\111\060\012\006\010\052\206\110\316 +\075\004\003\003\003\147\000\060\144\002\060\141\171\330\345\102 +\107\337\034\256\123\231\027\266\157\034\175\341\277\021\224\321 +\003\210\165\344\215\211\244\212\167\106\336\155\141\357\002\365 +\373\265\337\314\376\116\377\376\251\346\247\002\060\133\231\327 +\205\067\006\265\173\010\375\353\047\213\112\224\371\341\372\247 +\216\046\010\350\174\222\150\155\163\330\157\046\254\041\002\270 +\231\267\046\101\133\045\140\256\320\110\032\356\006 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "Entrust Root Certification Authority - EC1" +# Issuer: CN=Entrust Root Certification Authority - EC1,OU="(c) 2012 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US +# Serial Number:00:a6:8b:79:29:00:00:00:00:50:d0:91:f9 +# Subject: CN=Entrust Root Certification Authority - EC1,OU="(c) 2012 Entrust, Inc. - for authorized use only",OU=See www.entrust.net/legal-terms,O="Entrust, Inc.",C=US +# Not Valid Before: Tue Dec 18 15:25:36 2012 +# Not Valid After : Fri Dec 18 15:55:36 2037 +# Fingerprint (SHA-256): 02:ED:0E:B2:8C:14:DA:45:16:5C:56:67:91:70:0D:64:51:D7:FB:56:F0:B2:AB:1D:3B:8E:B0:70:E5:6E:DF:F5 +# Fingerprint (SHA1): 20:D8:06:40:DF:9B:25:F5:12:25:3A:11:EA:F7:59:8A:EB:14:B5:47 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Entrust Root Certification Authority - EC1" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\040\330\006\100\337\233\045\365\022\045\072\021\352\367\131\212 +\353\024\265\107 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\266\176\035\360\130\305\111\154\044\073\075\355\230\030\355\274 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\277\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\026\060\024\006\003\125\004\012\023\015\105\156\164\162\165 +\163\164\054\040\111\156\143\056\061\050\060\046\006\003\125\004 +\013\023\037\123\145\145\040\167\167\167\056\145\156\164\162\165 +\163\164\056\156\145\164\057\154\145\147\141\154\055\164\145\162 +\155\163\061\071\060\067\006\003\125\004\013\023\060\050\143\051 +\040\062\060\061\062\040\105\156\164\162\165\163\164\054\040\111 +\156\143\056\040\055\040\146\157\162\040\141\165\164\150\157\162 +\151\172\145\144\040\165\163\145\040\157\156\154\171\061\063\060 +\061\006\003\125\004\003\023\052\105\156\164\162\165\163\164\040 +\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164\151 +\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040\105 +\103\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\015\000\246\213\171\051\000\000\000\000\120\320\221\371 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "CFCA EV ROOT" +# +# Issuer: CN=CFCA EV ROOT,O=China Financial Certification Authority,C=CN +# Serial Number: 407555286 (0x184accd6) +# Subject: CN=CFCA EV ROOT,O=China Financial Certification Authority,C=CN +# Not Valid Before: Wed Aug 08 03:07:01 2012 +# Not Valid After : Mon Dec 31 03:07:01 2029 +# Fingerprint (SHA-256): 5C:C3:D7:8E:4E:1D:5E:45:54:7A:04:E6:87:3E:64:F9:0C:F9:53:6D:1C:CC:2E:F8:00:F3:55:C4:C5:FD:70:FD +# Fingerprint (SHA1): E2:B8:29:4B:55:84:AB:6B:58:C2:90:46:6C:AC:3F:B8:39:8F:84:83 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "CFCA EV ROOT" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\126\061\013\060\011\006\003\125\004\006\023\002\103\116\061 +\060\060\056\006\003\125\004\012\014\047\103\150\151\156\141\040 +\106\151\156\141\156\143\151\141\154\040\103\145\162\164\151\146 +\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 +\171\061\025\060\023\006\003\125\004\003\014\014\103\106\103\101 +\040\105\126\040\122\117\117\124 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\126\061\013\060\011\006\003\125\004\006\023\002\103\116\061 +\060\060\056\006\003\125\004\012\014\047\103\150\151\156\141\040 +\106\151\156\141\156\143\151\141\154\040\103\145\162\164\151\146 +\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 +\171\061\025\060\023\006\003\125\004\003\014\014\103\106\103\101 +\040\105\126\040\122\117\117\124 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\030\112\314\326 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\215\060\202\003\165\240\003\002\001\002\002\004\030 +\112\314\326\060\015\006\011\052\206\110\206\367\015\001\001\013 +\005\000\060\126\061\013\060\011\006\003\125\004\006\023\002\103 +\116\061\060\060\056\006\003\125\004\012\014\047\103\150\151\156 +\141\040\106\151\156\141\156\143\151\141\154\040\103\145\162\164 +\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162 +\151\164\171\061\025\060\023\006\003\125\004\003\014\014\103\106 +\103\101\040\105\126\040\122\117\117\124\060\036\027\015\061\062 +\060\070\060\070\060\063\060\067\060\061\132\027\015\062\071\061 +\062\063\061\060\063\060\067\060\061\132\060\126\061\013\060\011 +\006\003\125\004\006\023\002\103\116\061\060\060\056\006\003\125 +\004\012\014\047\103\150\151\156\141\040\106\151\156\141\156\143 +\151\141\154\040\103\145\162\164\151\146\151\143\141\164\151\157 +\156\040\101\165\164\150\157\162\151\164\171\061\025\060\023\006 +\003\125\004\003\014\014\103\106\103\101\040\105\126\040\122\117 +\117\124\060\202\002\042\060\015\006\011\052\206\110\206\367\015 +\001\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202 +\002\001\000\327\135\153\315\020\077\037\005\131\325\005\115\067 +\261\016\354\230\053\216\025\035\372\223\113\027\202\041\161\020 +\122\327\121\144\160\026\302\125\151\115\216\025\155\237\277\014 +\033\302\340\243\147\326\014\254\317\042\256\257\167\124\052\113 +\114\212\123\122\172\303\356\056\336\263\161\045\301\351\135\075 +\356\241\057\243\367\052\074\311\043\035\152\253\035\241\247\361 +\363\354\240\325\104\317\025\317\162\057\035\143\227\350\231\371 +\375\223\244\124\200\114\122\324\122\253\056\111\337\220\315\270 +\137\276\077\336\241\312\115\040\324\045\350\204\051\123\267\261 +\210\037\377\372\332\220\237\012\251\055\101\077\261\361\030\051 +\356\026\131\054\064\111\032\250\006\327\250\210\322\003\162\172 +\062\342\352\150\115\156\054\226\145\173\312\131\372\362\342\335 +\356\060\054\373\314\106\254\304\143\353\157\177\066\053\064\163 +\022\224\177\337\314\046\236\361\162\135\120\145\131\217\151\263 +\207\136\062\157\303\030\212\265\225\217\260\172\067\336\132\105 +\073\307\066\341\357\147\321\071\323\227\133\163\142\031\110\055 +\207\034\006\373\164\230\040\111\163\360\005\322\033\261\240\243 +\267\033\160\323\210\151\271\132\326\070\364\142\334\045\213\170 +\277\370\350\176\270\134\311\225\117\137\247\055\271\040\153\317 +\153\335\365\015\364\202\267\364\262\146\056\020\050\366\227\132 +\173\226\026\217\001\031\055\154\156\177\071\130\006\144\203\001 +\203\203\303\115\222\335\062\306\207\244\067\351\026\316\252\055 +\150\257\012\201\145\072\160\301\233\255\115\155\124\312\052\055 +\113\205\033\263\200\346\160\105\015\153\136\065\360\177\073\270 +\234\344\004\160\211\022\045\223\332\012\231\042\140\152\143\140 +\116\166\006\230\116\275\203\255\035\130\212\045\205\322\307\145 +\036\055\216\306\337\266\306\341\177\212\004\041\025\051\164\360 +\076\234\220\235\014\056\361\212\076\132\252\014\011\036\307\325 +\074\243\355\227\303\036\064\372\070\371\010\016\343\300\135\053 +\203\321\126\152\311\266\250\124\123\056\170\062\147\075\202\177 +\164\320\373\341\266\005\140\271\160\333\216\013\371\023\130\157 +\161\140\020\122\020\271\301\101\011\357\162\037\147\061\170\377 +\226\005\215\002\003\001\000\001\243\143\060\141\060\037\006\003 +\125\035\043\004\030\060\026\200\024\343\376\055\375\050\320\013 +\265\272\266\242\304\277\006\252\005\214\223\373\057\060\017\006 +\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\016 +\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060\035 +\006\003\125\035\016\004\026\004\024\343\376\055\375\050\320\013 +\265\272\266\242\304\277\006\252\005\214\223\373\057\060\015\006 +\011\052\206\110\206\367\015\001\001\013\005\000\003\202\002\001 +\000\045\306\272\153\353\207\313\336\202\071\226\075\360\104\247 +\153\204\163\003\336\235\053\117\272\040\177\274\170\262\317\227 +\260\033\234\363\327\171\056\365\110\266\322\373\027\210\346\323 +\172\077\355\123\023\320\342\057\152\171\313\000\043\050\346\036 +\067\127\065\211\204\302\166\117\064\066\255\147\303\316\101\006 +\210\305\367\356\330\032\270\326\013\177\120\377\223\252\027\113 +\214\354\355\122\140\262\244\006\352\116\353\364\153\031\375\353 +\365\032\340\045\052\232\334\307\101\066\367\310\164\005\204\071 +\225\071\326\013\073\244\047\372\010\330\134\036\370\004\140\122 +\021\050\050\003\377\357\123\146\000\245\112\064\026\146\174\375 +\011\244\256\236\147\032\157\101\013\153\006\023\233\217\206\161 +\005\264\057\215\211\146\063\051\166\124\232\021\370\047\372\262 +\077\221\340\316\015\033\363\060\032\255\277\042\135\033\323\277 +\045\005\115\341\222\032\177\231\237\074\104\223\312\324\100\111 +\154\200\207\327\004\072\303\062\122\065\016\126\370\245\335\175 +\304\213\015\021\037\123\313\036\262\027\266\150\167\132\340\324 +\313\310\007\256\365\072\056\216\067\267\320\001\113\103\051\167 +\214\071\227\217\202\132\370\121\345\211\240\030\347\150\177\135 +\012\056\373\243\107\016\075\246\043\172\306\001\307\217\310\136 +\277\155\200\126\276\212\044\272\063\352\237\341\062\021\236\361 +\322\117\200\366\033\100\257\070\236\021\120\171\163\022\022\315 +\346\154\235\054\210\162\074\060\201\006\221\042\352\131\255\332 +\031\056\042\302\215\271\214\207\340\146\274\163\043\137\041\144 +\143\200\110\365\240\074\030\075\224\310\110\101\035\100\272\136 +\376\376\126\071\241\310\317\136\236\031\144\106\020\332\027\221 +\267\005\200\254\213\231\222\175\347\242\330\007\013\066\047\347 +\110\171\140\212\303\327\023\134\370\162\100\337\112\313\317\231 +\000\012\000\013\021\225\332\126\105\003\210\012\237\147\320\325 +\171\261\250\215\100\155\015\302\172\100\372\363\137\144\107\222 +\313\123\271\273\131\316\117\375\320\025\123\001\330\337\353\331 +\346\166\357\320\043\273\073\251\171\263\325\002\051\315\211\243 +\226\017\112\065\347\116\102\300\165\315\007\317\346\054\353\173 +\056 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "CFCA EV ROOT" +# Issuer: CN=CFCA EV ROOT,O=China Financial Certification Authority,C=CN +# Serial Number: 407555286 (0x184accd6) +# Subject: CN=CFCA EV ROOT,O=China Financial Certification Authority,C=CN +# Not Valid Before: Wed Aug 08 03:07:01 2012 +# Not Valid After : Mon Dec 31 03:07:01 2029 +# Fingerprint (SHA-256): 5C:C3:D7:8E:4E:1D:5E:45:54:7A:04:E6:87:3E:64:F9:0C:F9:53:6D:1C:CC:2E:F8:00:F3:55:C4:C5:FD:70:FD +# Fingerprint (SHA1): E2:B8:29:4B:55:84:AB:6B:58:C2:90:46:6C:AC:3F:B8:39:8F:84:83 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "CFCA EV ROOT" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\342\270\051\113\125\204\253\153\130\302\220\106\154\254\077\270 +\071\217\204\203 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\164\341\266\355\046\172\172\104\060\063\224\253\173\047\201\060 +END +CKA_ISSUER MULTILINE_OCTAL +\060\126\061\013\060\011\006\003\125\004\006\023\002\103\116\061 +\060\060\056\006\003\125\004\012\014\047\103\150\151\156\141\040 +\106\151\156\141\156\143\151\141\154\040\103\145\162\164\151\146 +\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 +\171\061\025\060\023\006\003\125\004\003\014\014\103\106\103\101 +\040\105\126\040\122\117\117\124 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\030\112\314\326 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "OISTE WISeKey Global Root GB CA" +# +# Issuer: CN=OISTE WISeKey Global Root GB CA,OU=OISTE Foundation Endorsed,O=WISeKey,C=CH +# Serial Number:76:b1:20:52:74:f0:85:87:46:b3:f8:23:1a:f6:c2:c0 +# Subject: CN=OISTE WISeKey Global Root GB CA,OU=OISTE Foundation Endorsed,O=WISeKey,C=CH +# Not Valid Before: Mon Dec 01 15:00:32 2014 +# Not Valid After : Thu Dec 01 15:10:31 2039 +# Fingerprint (SHA-256): 6B:9C:08:E8:6E:B0:F7:67:CF:AD:65:CD:98:B6:21:49:E5:49:4A:67:F5:84:5E:7B:D1:ED:01:9F:27:B8:6B:D6 +# Fingerprint (SHA1): 0F:F9:40:76:18:D3:D7:6A:4B:98:F0:A8:35:9E:0C:FD:27:AC:CC:ED +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "OISTE WISeKey Global Root GB CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\155\061\013\060\011\006\003\125\004\006\023\002\103\110\061 +\020\060\016\006\003\125\004\012\023\007\127\111\123\145\113\145 +\171\061\042\060\040\006\003\125\004\013\023\031\117\111\123\124 +\105\040\106\157\165\156\144\141\164\151\157\156\040\105\156\144 +\157\162\163\145\144\061\050\060\046\006\003\125\004\003\023\037 +\117\111\123\124\105\040\127\111\123\145\113\145\171\040\107\154 +\157\142\141\154\040\122\157\157\164\040\107\102\040\103\101 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\155\061\013\060\011\006\003\125\004\006\023\002\103\110\061 +\020\060\016\006\003\125\004\012\023\007\127\111\123\145\113\145 +\171\061\042\060\040\006\003\125\004\013\023\031\117\111\123\124 +\105\040\106\157\165\156\144\141\164\151\157\156\040\105\156\144 +\157\162\163\145\144\061\050\060\046\006\003\125\004\003\023\037 +\117\111\123\124\105\040\127\111\123\145\113\145\171\040\107\154 +\157\142\141\154\040\122\157\157\164\040\107\102\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\166\261\040\122\164\360\205\207\106\263\370\043\032\366 +\302\300 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\265\060\202\002\235\240\003\002\001\002\002\020\166 +\261\040\122\164\360\205\207\106\263\370\043\032\366\302\300\060 +\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\155 +\061\013\060\011\006\003\125\004\006\023\002\103\110\061\020\060 +\016\006\003\125\004\012\023\007\127\111\123\145\113\145\171\061 +\042\060\040\006\003\125\004\013\023\031\117\111\123\124\105\040 +\106\157\165\156\144\141\164\151\157\156\040\105\156\144\157\162 +\163\145\144\061\050\060\046\006\003\125\004\003\023\037\117\111 +\123\124\105\040\127\111\123\145\113\145\171\040\107\154\157\142 +\141\154\040\122\157\157\164\040\107\102\040\103\101\060\036\027 +\015\061\064\061\062\060\061\061\065\060\060\063\062\132\027\015 +\063\071\061\062\060\061\061\065\061\060\063\061\132\060\155\061 +\013\060\011\006\003\125\004\006\023\002\103\110\061\020\060\016 +\006\003\125\004\012\023\007\127\111\123\145\113\145\171\061\042 +\060\040\006\003\125\004\013\023\031\117\111\123\124\105\040\106 +\157\165\156\144\141\164\151\157\156\040\105\156\144\157\162\163 +\145\144\061\050\060\046\006\003\125\004\003\023\037\117\111\123 +\124\105\040\127\111\123\145\113\145\171\040\107\154\157\142\141 +\154\040\122\157\157\164\040\107\102\040\103\101\060\202\001\042 +\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003 +\202\001\017\000\060\202\001\012\002\202\001\001\000\330\027\267 +\034\112\044\052\326\227\261\312\342\036\373\175\070\357\230\365 +\262\071\230\116\047\270\021\135\173\322\045\224\210\202\025\046 +\152\033\061\273\250\133\041\041\053\330\017\116\237\132\361\261 +\132\344\171\326\062\043\053\341\123\314\231\105\134\173\117\255 +\274\277\207\112\013\113\227\132\250\366\110\354\175\173\015\315 +\041\006\337\236\025\375\101\212\110\267\040\364\241\172\033\127 +\324\135\120\377\272\147\330\043\231\037\310\077\343\336\377\157 +\133\167\261\153\156\270\311\144\367\341\312\101\106\016\051\161 +\320\271\043\374\311\201\137\116\367\157\337\277\204\255\163\144 +\273\267\102\216\151\366\324\166\035\176\235\247\270\127\212\121 +\147\162\327\324\250\270\225\124\100\163\003\366\352\364\353\376 +\050\102\167\077\235\043\033\262\266\075\200\024\007\114\056\117 +\367\325\012\026\015\275\146\103\067\176\043\103\171\303\100\206 +\365\114\051\332\216\232\255\015\245\004\207\210\036\205\343\351 +\123\325\233\310\213\003\143\170\353\340\031\112\156\273\057\153 +\063\144\130\223\255\151\277\217\033\357\202\110\307\002\003\001 +\000\001\243\121\060\117\060\013\006\003\125\035\017\004\004\003 +\002\001\206\060\017\006\003\125\035\023\001\001\377\004\005\060 +\003\001\001\377\060\035\006\003\125\035\016\004\026\004\024\065 +\017\310\066\143\136\342\243\354\371\073\146\025\316\121\122\343 +\221\232\075\060\020\006\011\053\006\001\004\001\202\067\025\001 +\004\003\002\001\000\060\015\006\011\052\206\110\206\367\015\001 +\001\013\005\000\003\202\001\001\000\100\114\373\207\262\231\201 +\220\176\235\305\260\260\046\315\210\173\053\062\215\156\270\041 +\161\130\227\175\256\067\024\257\076\347\367\232\342\175\366\161 +\230\231\004\252\103\164\170\243\343\111\141\076\163\214\115\224 +\340\371\161\304\266\026\016\123\170\037\326\242\207\057\002\071 +\201\051\074\257\025\230\041\060\376\050\220\000\214\321\341\313 +\372\136\310\375\370\020\106\073\242\170\102\221\027\164\125\012 +\336\120\147\115\146\321\247\377\375\331\300\265\250\243\212\316 +\146\365\017\103\315\247\053\127\173\143\106\152\252\056\122\330 +\364\355\341\155\255\051\220\170\110\272\341\043\252\243\211\354 +\265\253\226\300\264\113\242\035\227\236\172\362\156\100\161\337 +\150\361\145\115\316\174\005\337\123\145\251\245\360\261\227\004 +\160\025\106\003\230\324\322\277\124\264\240\130\175\122\157\332 +\126\046\142\324\330\333\211\061\157\034\360\042\302\323\142\034 +\065\315\114\151\025\124\032\220\230\336\353\036\137\312\167\307 +\313\216\075\103\151\234\232\130\320\044\073\337\033\100\226\176 +\065\255\201\307\116\161\272\210\023 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "OISTE WISeKey Global Root GB CA" +# Issuer: CN=OISTE WISeKey Global Root GB CA,OU=OISTE Foundation Endorsed,O=WISeKey,C=CH +# Serial Number:76:b1:20:52:74:f0:85:87:46:b3:f8:23:1a:f6:c2:c0 +# Subject: CN=OISTE WISeKey Global Root GB CA,OU=OISTE Foundation Endorsed,O=WISeKey,C=CH +# Not Valid Before: Mon Dec 01 15:00:32 2014 +# Not Valid After : Thu Dec 01 15:10:31 2039 +# Fingerprint (SHA-256): 6B:9C:08:E8:6E:B0:F7:67:CF:AD:65:CD:98:B6:21:49:E5:49:4A:67:F5:84:5E:7B:D1:ED:01:9F:27:B8:6B:D6 +# Fingerprint (SHA1): 0F:F9:40:76:18:D3:D7:6A:4B:98:F0:A8:35:9E:0C:FD:27:AC:CC:ED +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "OISTE WISeKey Global Root GB CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\017\371\100\166\030\323\327\152\113\230\360\250\065\236\014\375 +\047\254\314\355 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\244\353\271\141\050\056\267\057\230\260\065\046\220\231\121\035 +END +CKA_ISSUER MULTILINE_OCTAL +\060\155\061\013\060\011\006\003\125\004\006\023\002\103\110\061 +\020\060\016\006\003\125\004\012\023\007\127\111\123\145\113\145 +\171\061\042\060\040\006\003\125\004\013\023\031\117\111\123\124 +\105\040\106\157\165\156\144\141\164\151\157\156\040\105\156\144 +\157\162\163\145\144\061\050\060\046\006\003\125\004\003\023\037 +\117\111\123\124\105\040\127\111\123\145\113\145\171\040\107\154 +\157\142\141\154\040\122\157\157\164\040\107\102\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\166\261\040\122\164\360\205\207\106\263\370\043\032\366 +\302\300 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "SZAFIR ROOT CA2" +# +# Issuer: CN=SZAFIR ROOT CA2,O=Krajowa Izba Rozliczeniowa S.A.,C=PL +# Serial Number:3e:8a:5d:07:ec:55:d2:32:d5:b7:e3:b6:5f:01:eb:2d:dc:e4:d6:e4 +# Subject: CN=SZAFIR ROOT CA2,O=Krajowa Izba Rozliczeniowa S.A.,C=PL +# Not Valid Before: Mon Oct 19 07:43:30 2015 +# Not Valid After : Fri Oct 19 07:43:30 2035 +# Fingerprint (SHA-256): A1:33:9D:33:28:1A:0B:56:E5:57:D3:D3:2B:1C:E7:F9:36:7E:B0:94:BD:5F:A7:2A:7E:50:04:C8:DE:D7:CA:FE +# Fingerprint (SHA1): E2:52:FA:95:3F:ED:DB:24:60:BD:6E:28:F3:9C:CC:CF:5E:B3:3F:DE +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "SZAFIR ROOT CA2" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\121\061\013\060\011\006\003\125\004\006\023\002\120\114\061 +\050\060\046\006\003\125\004\012\014\037\113\162\141\152\157\167 +\141\040\111\172\142\141\040\122\157\172\154\151\143\172\145\156 +\151\157\167\141\040\123\056\101\056\061\030\060\026\006\003\125 +\004\003\014\017\123\132\101\106\111\122\040\122\117\117\124\040 +\103\101\062 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\121\061\013\060\011\006\003\125\004\006\023\002\120\114\061 +\050\060\046\006\003\125\004\012\014\037\113\162\141\152\157\167 +\141\040\111\172\142\141\040\122\157\172\154\151\143\172\145\156 +\151\157\167\141\040\123\056\101\056\061\030\060\026\006\003\125 +\004\003\014\017\123\132\101\106\111\122\040\122\117\117\124\040 +\103\101\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\024\076\212\135\007\354\125\322\062\325\267\343\266\137\001 +\353\055\334\344\326\344 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\162\060\202\002\132\240\003\002\001\002\002\024\076 +\212\135\007\354\125\322\062\325\267\343\266\137\001\353\055\334 +\344\326\344\060\015\006\011\052\206\110\206\367\015\001\001\013 +\005\000\060\121\061\013\060\011\006\003\125\004\006\023\002\120 +\114\061\050\060\046\006\003\125\004\012\014\037\113\162\141\152 +\157\167\141\040\111\172\142\141\040\122\157\172\154\151\143\172 +\145\156\151\157\167\141\040\123\056\101\056\061\030\060\026\006 +\003\125\004\003\014\017\123\132\101\106\111\122\040\122\117\117 +\124\040\103\101\062\060\036\027\015\061\065\061\060\061\071\060 +\067\064\063\063\060\132\027\015\063\065\061\060\061\071\060\067 +\064\063\063\060\132\060\121\061\013\060\011\006\003\125\004\006 +\023\002\120\114\061\050\060\046\006\003\125\004\012\014\037\113 +\162\141\152\157\167\141\040\111\172\142\141\040\122\157\172\154 +\151\143\172\145\156\151\157\167\141\040\123\056\101\056\061\030 +\060\026\006\003\125\004\003\014\017\123\132\101\106\111\122\040 +\122\117\117\124\040\103\101\062\060\202\001\042\060\015\006\011 +\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017\000 +\060\202\001\012\002\202\001\001\000\267\274\076\120\250\113\315 +\100\265\316\141\347\226\312\264\241\332\014\042\260\372\265\173 +\166\000\167\214\013\317\175\250\206\314\046\121\344\040\075\205 +\014\326\130\343\347\364\052\030\235\332\321\256\046\356\353\123 +\334\364\220\326\023\112\014\220\074\303\364\332\322\216\015\222 +\072\334\261\261\377\070\336\303\272\055\137\200\271\002\275\112 +\235\033\017\264\303\302\301\147\003\335\334\033\234\075\263\260 +\336\000\036\250\064\107\273\232\353\376\013\024\275\066\204\332 +\015\040\277\372\133\313\251\026\040\255\071\140\356\057\165\266 +\347\227\234\371\076\375\176\115\157\115\057\357\210\015\152\372 +\335\361\075\156\040\245\240\022\264\115\160\271\316\327\162\073 +\211\223\247\200\204\034\047\111\162\111\265\377\073\225\236\301 +\314\310\001\354\350\016\212\012\226\347\263\246\207\345\326\371 +\005\053\015\227\100\160\074\272\254\165\132\234\325\115\235\002 +\012\322\113\233\146\113\106\007\027\145\255\237\154\210\000\334 +\042\211\340\341\144\324\147\274\061\171\141\074\273\312\101\315 +\134\152\000\310\074\070\216\130\257\002\003\001\000\001\243\102 +\060\100\060\017\006\003\125\035\023\001\001\377\004\005\060\003 +\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004\003 +\002\001\006\060\035\006\003\125\035\016\004\026\004\024\056\026 +\251\112\030\265\313\314\365\157\120\363\043\137\370\135\347\254 +\360\310\060\015\006\011\052\206\110\206\367\015\001\001\013\005 +\000\003\202\001\001\000\265\163\370\003\334\131\133\035\166\351 +\243\052\173\220\050\262\115\300\063\117\252\232\261\324\270\344 +\047\377\251\226\231\316\106\340\155\174\114\242\070\244\006\160 +\360\364\101\021\354\077\107\215\077\162\207\371\073\375\244\157 +\053\123\000\340\377\071\271\152\007\016\353\035\034\366\242\162 +\220\313\202\075\021\202\213\322\273\237\052\257\041\346\143\206 +\235\171\031\357\367\273\014\065\220\303\212\355\117\017\365\314 +\022\331\244\076\273\240\374\040\225\137\117\046\057\021\043\203 +\116\165\007\017\277\233\321\264\035\351\020\004\376\312\140\217 +\242\114\270\255\317\341\220\017\315\256\012\307\135\173\267\120 +\322\324\141\372\325\025\333\327\237\207\121\124\353\245\343\353 +\311\205\240\045\040\067\373\216\316\014\064\204\341\074\201\262 +\167\116\103\245\210\137\206\147\241\075\346\264\134\141\266\076 +\333\376\267\050\305\242\007\256\265\312\312\215\052\022\357\227 +\355\302\060\244\311\052\172\373\363\115\043\033\231\063\064\240 +\056\365\251\013\077\324\135\341\317\204\237\342\031\302\137\212 +\326\040\036\343\163\267 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "SZAFIR ROOT CA2" +# Issuer: CN=SZAFIR ROOT CA2,O=Krajowa Izba Rozliczeniowa S.A.,C=PL +# Serial Number:3e:8a:5d:07:ec:55:d2:32:d5:b7:e3:b6:5f:01:eb:2d:dc:e4:d6:e4 +# Subject: CN=SZAFIR ROOT CA2,O=Krajowa Izba Rozliczeniowa S.A.,C=PL +# Not Valid Before: Mon Oct 19 07:43:30 2015 +# Not Valid After : Fri Oct 19 07:43:30 2035 +# Fingerprint (SHA-256): A1:33:9D:33:28:1A:0B:56:E5:57:D3:D3:2B:1C:E7:F9:36:7E:B0:94:BD:5F:A7:2A:7E:50:04:C8:DE:D7:CA:FE +# Fingerprint (SHA1): E2:52:FA:95:3F:ED:DB:24:60:BD:6E:28:F3:9C:CC:CF:5E:B3:3F:DE +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "SZAFIR ROOT CA2" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\342\122\372\225\077\355\333\044\140\275\156\050\363\234\314\317 +\136\263\077\336 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\021\144\301\211\260\044\261\214\261\007\176\211\236\121\236\231 +END +CKA_ISSUER MULTILINE_OCTAL +\060\121\061\013\060\011\006\003\125\004\006\023\002\120\114\061 +\050\060\046\006\003\125\004\012\014\037\113\162\141\152\157\167 +\141\040\111\172\142\141\040\122\157\172\154\151\143\172\145\156 +\151\157\167\141\040\123\056\101\056\061\030\060\026\006\003\125 +\004\003\014\017\123\132\101\106\111\122\040\122\117\117\124\040 +\103\101\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\024\076\212\135\007\354\125\322\062\325\267\343\266\137\001 +\353\055\334\344\326\344 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Certum Trusted Network CA 2" +# +# Issuer: CN=Certum Trusted Network CA 2,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL +# Serial Number:21:d6:d0:4a:4f:25:0f:c9:32:37:fc:aa:5e:12:8d:e9 +# Subject: CN=Certum Trusted Network CA 2,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL +# Not Valid Before: Thu Oct 06 08:39:56 2011 +# Not Valid After : Sat Oct 06 08:39:56 2046 +# Fingerprint (SHA-256): B6:76:F2:ED:DA:E8:77:5C:D3:6C:B0:F6:3C:D1:D4:60:39:61:F4:9E:62:65:BA:01:3A:2F:03:07:B6:D0:B8:04 +# Fingerprint (SHA1): D3:DD:48:3E:2B:BF:4C:05:E8:AF:10:F5:FA:76:26:CF:D3:DC:30:92 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Certum Trusted Network CA 2" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\200\061\013\060\011\006\003\125\004\006\023\002\120\114 +\061\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145 +\164\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040 +\123\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103 +\145\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164 +\151\157\156\040\101\165\164\150\157\162\151\164\171\061\044\060 +\042\006\003\125\004\003\023\033\103\145\162\164\165\155\040\124 +\162\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103 +\101\040\062 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\200\061\013\060\011\006\003\125\004\006\023\002\120\114 +\061\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145 +\164\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040 +\123\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103 +\145\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164 +\151\157\156\040\101\165\164\150\157\162\151\164\171\061\044\060 +\042\006\003\125\004\003\023\033\103\145\162\164\165\155\040\124 +\162\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103 +\101\040\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\041\326\320\112\117\045\017\311\062\067\374\252\136\022 +\215\351 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\322\060\202\003\272\240\003\002\001\002\002\020\041 +\326\320\112\117\045\017\311\062\067\374\252\136\022\215\351\060 +\015\006\011\052\206\110\206\367\015\001\001\015\005\000\060\201 +\200\061\013\060\011\006\003\125\004\006\023\002\120\114\061\042 +\060\040\006\003\125\004\012\023\031\125\156\151\172\145\164\157 +\040\124\145\143\150\156\157\154\157\147\151\145\163\040\123\056 +\101\056\061\047\060\045\006\003\125\004\013\023\036\103\145\162 +\164\165\155\040\103\145\162\164\151\146\151\143\141\164\151\157 +\156\040\101\165\164\150\157\162\151\164\171\061\044\060\042\006 +\003\125\004\003\023\033\103\145\162\164\165\155\040\124\162\165 +\163\164\145\144\040\116\145\164\167\157\162\153\040\103\101\040 +\062\060\042\030\017\062\060\061\061\061\060\060\066\060\070\063 +\071\065\066\132\030\017\062\060\064\066\061\060\060\066\060\070 +\063\071\065\066\132\060\201\200\061\013\060\011\006\003\125\004 +\006\023\002\120\114\061\042\060\040\006\003\125\004\012\023\031 +\125\156\151\172\145\164\157\040\124\145\143\150\156\157\154\157 +\147\151\145\163\040\123\056\101\056\061\047\060\045\006\003\125 +\004\013\023\036\103\145\162\164\165\155\040\103\145\162\164\151 +\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 +\164\171\061\044\060\042\006\003\125\004\003\023\033\103\145\162 +\164\165\155\040\124\162\165\163\164\145\144\040\116\145\164\167 +\157\162\153\040\103\101\040\062\060\202\002\042\060\015\006\011 +\052\206\110\206\367\015\001\001\001\005\000\003\202\002\017\000 +\060\202\002\012\002\202\002\001\000\275\371\170\370\346\325\200 +\014\144\235\206\033\226\144\147\077\042\072\036\165\001\175\357 +\373\134\147\214\311\314\134\153\251\221\346\271\102\345\040\113 +\233\332\233\173\271\231\135\331\233\200\113\327\204\100\053\047 +\323\350\272\060\273\076\011\032\247\111\225\357\053\100\044\302 +\227\307\247\356\233\045\357\250\012\000\227\205\132\252\235\334 +\051\311\342\065\007\353\160\115\112\326\301\263\126\270\241\101 +\070\233\321\373\061\177\217\340\137\341\261\077\017\216\026\111 +\140\327\006\215\030\371\252\046\020\253\052\323\320\321\147\215 +\033\106\276\107\060\325\056\162\321\305\143\332\347\143\171\104 +\176\113\143\044\211\206\056\064\077\051\114\122\213\052\247\300 +\342\221\050\211\271\300\133\371\035\331\347\047\255\377\232\002 +\227\301\306\120\222\233\002\054\275\251\271\064\131\012\277\204 +\112\377\337\376\263\237\353\331\236\340\230\043\354\246\153\167 +\026\052\333\314\255\073\034\244\207\334\106\163\136\031\142\150 +\105\127\344\220\202\102\273\102\326\360\141\340\301\243\075\146 +\243\135\364\030\356\210\311\215\027\105\051\231\062\165\002\061 +\356\051\046\310\153\002\346\265\142\105\177\067\025\132\043\150 +\211\324\076\336\116\047\260\360\100\014\274\115\027\313\115\242 +\263\036\320\006\132\335\366\223\317\127\165\231\365\372\206\032 +\147\170\263\277\226\376\064\334\275\347\122\126\345\263\345\165 +\173\327\101\221\005\334\135\151\343\225\015\103\271\374\203\226 +\071\225\173\154\200\132\117\023\162\306\327\175\051\172\104\272 +\122\244\052\325\101\106\011\040\376\042\240\266\133\060\215\274 +\211\014\325\327\160\370\207\122\375\332\357\254\121\056\007\263 +\116\376\320\011\332\160\357\230\372\126\346\155\333\265\127\113 +\334\345\054\045\025\310\236\056\170\116\370\332\234\236\206\054 +\312\127\363\032\345\310\222\213\032\202\226\172\303\274\120\022 +\151\330\016\132\106\213\072\353\046\372\043\311\266\260\201\276 +\102\000\244\370\326\376\060\056\307\322\106\366\345\216\165\375 +\362\314\271\320\207\133\314\006\020\140\273\203\065\267\136\147 +\336\107\354\231\110\361\244\241\025\376\255\214\142\216\071\125 +\117\071\026\271\261\143\235\377\267\002\003\001\000\001\243\102 +\060\100\060\017\006\003\125\035\023\001\001\377\004\005\060\003 +\001\001\377\060\035\006\003\125\035\016\004\026\004\024\266\241 +\124\071\002\303\240\077\216\212\274\372\324\370\034\246\321\072 +\016\375\060\016\006\003\125\035\017\001\001\377\004\004\003\002 +\001\006\060\015\006\011\052\206\110\206\367\015\001\001\015\005 +\000\003\202\002\001\000\161\245\016\316\344\351\277\077\070\325 +\211\132\304\002\141\373\114\305\024\027\055\213\117\123\153\020 +\027\374\145\204\307\020\111\220\336\333\307\046\223\210\046\157 +\160\326\002\136\071\240\367\217\253\226\265\245\023\134\201\024 +\155\016\201\202\021\033\212\116\306\117\245\335\142\036\104\337 +\011\131\364\133\167\013\067\351\213\040\306\370\012\116\056\130 +\034\353\063\320\317\206\140\311\332\373\200\057\236\114\140\204 +\170\075\041\144\326\373\101\037\030\017\347\311\165\161\275\275 +\134\336\064\207\076\101\260\016\366\271\326\077\011\023\226\024 +\057\336\232\035\132\271\126\316\065\072\260\137\160\115\136\343 +\051\361\043\050\162\131\266\253\302\214\146\046\034\167\054\046 +\166\065\213\050\247\151\240\371\073\365\043\335\205\020\164\311 +\220\003\126\221\347\257\272\107\324\022\227\021\042\343\242\111 +\224\154\347\267\224\113\272\055\244\332\063\213\114\246\104\377 +\132\074\306\035\144\330\265\061\344\246\074\172\250\127\013\333 +\355\141\032\313\361\316\163\167\143\244\207\157\114\121\070\326 +\344\137\307\237\266\201\052\344\205\110\171\130\136\073\370\333 +\002\202\147\301\071\333\303\164\113\075\066\036\371\051\223\210 +\150\133\250\104\031\041\360\247\350\201\015\054\350\223\066\264 +\067\262\312\260\033\046\172\232\045\037\232\232\200\236\113\052 +\077\373\243\232\376\163\062\161\302\236\306\162\341\212\150\047 +\361\344\017\264\304\114\245\141\223\370\227\020\007\052\060\045 +\251\271\310\161\270\357\150\314\055\176\365\340\176\017\202\250 +\157\266\272\154\203\103\167\315\212\222\027\241\236\133\170\026 +\075\105\342\063\162\335\341\146\312\231\323\311\305\046\375\015 +\150\004\106\256\266\331\233\214\276\031\276\261\306\362\031\343 +\134\002\312\054\330\157\112\007\331\311\065\332\100\165\362\304 +\247\031\157\236\102\020\230\165\346\225\213\140\274\355\305\022 +\327\212\316\325\230\134\126\226\003\305\356\167\006\065\377\317 +\344\356\077\023\141\356\333\332\055\205\360\315\256\235\262\030 +\011\105\303\222\241\162\027\374\107\266\240\013\054\361\304\336 +\103\150\010\152\137\073\360\166\143\373\314\006\054\246\306\342 +\016\265\271\276\044\217 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "Certum Trusted Network CA 2" +# Issuer: CN=Certum Trusted Network CA 2,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL +# Serial Number:21:d6:d0:4a:4f:25:0f:c9:32:37:fc:aa:5e:12:8d:e9 +# Subject: CN=Certum Trusted Network CA 2,OU=Certum Certification Authority,O=Unizeto Technologies S.A.,C=PL +# Not Valid Before: Thu Oct 06 08:39:56 2011 +# Not Valid After : Sat Oct 06 08:39:56 2046 +# Fingerprint (SHA-256): B6:76:F2:ED:DA:E8:77:5C:D3:6C:B0:F6:3C:D1:D4:60:39:61:F4:9E:62:65:BA:01:3A:2F:03:07:B6:D0:B8:04 +# Fingerprint (SHA1): D3:DD:48:3E:2B:BF:4C:05:E8:AF:10:F5:FA:76:26:CF:D3:DC:30:92 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Certum Trusted Network CA 2" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\323\335\110\076\053\277\114\005\350\257\020\365\372\166\046\317 +\323\334\060\222 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\155\106\236\331\045\155\010\043\133\136\164\175\036\047\333\362 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\200\061\013\060\011\006\003\125\004\006\023\002\120\114 +\061\042\060\040\006\003\125\004\012\023\031\125\156\151\172\145 +\164\157\040\124\145\143\150\156\157\154\157\147\151\145\163\040 +\123\056\101\056\061\047\060\045\006\003\125\004\013\023\036\103 +\145\162\164\165\155\040\103\145\162\164\151\146\151\143\141\164 +\151\157\156\040\101\165\164\150\157\162\151\164\171\061\044\060 +\042\006\003\125\004\003\023\033\103\145\162\164\165\155\040\124 +\162\165\163\164\145\144\040\116\145\164\167\157\162\153\040\103 +\101\040\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\041\326\320\112\117\045\017\311\062\067\374\252\136\022 +\215\351 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Hellenic Academic and Research Institutions RootCA 2015" +# +# Issuer: CN=Hellenic Academic and Research Institutions RootCA 2015,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR +# Serial Number: 0 (0x0) +# Subject: CN=Hellenic Academic and Research Institutions RootCA 2015,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR +# Not Valid Before: Tue Jul 07 10:11:21 2015 +# Not Valid After : Sat Jun 30 10:11:21 2040 +# Fingerprint (SHA-256): A0:40:92:9A:02:CE:53:B4:AC:F4:F2:FF:C6:98:1C:E4:49:6F:75:5E:6D:45:FE:0B:2A:69:2B:CD:52:52:3F:36 +# Fingerprint (SHA1): 01:0C:06:95:A6:98:19:14:FF:BF:5F:C6:B0:B6:95:EA:29:E9:12:A6 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Hellenic Academic and Research Institutions RootCA 2015" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\246\061\013\060\011\006\003\125\004\006\023\002\107\122 +\061\017\060\015\006\003\125\004\007\023\006\101\164\150\145\156 +\163\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154 +\145\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156 +\144\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151 +\164\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165 +\164\150\157\162\151\164\171\061\100\060\076\006\003\125\004\003 +\023\067\110\145\154\154\145\156\151\143\040\101\143\141\144\145 +\155\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150 +\040\111\156\163\164\151\164\165\164\151\157\156\163\040\122\157 +\157\164\103\101\040\062\060\061\065 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\246\061\013\060\011\006\003\125\004\006\023\002\107\122 +\061\017\060\015\006\003\125\004\007\023\006\101\164\150\145\156 +\163\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154 +\145\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156 +\144\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151 +\164\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165 +\164\150\157\162\151\164\171\061\100\060\076\006\003\125\004\003 +\023\067\110\145\154\154\145\156\151\143\040\101\143\141\144\145 +\155\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150 +\040\111\156\163\164\151\164\165\164\151\157\156\163\040\122\157 +\157\164\103\101\040\062\060\061\065 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\000 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\006\013\060\202\003\363\240\003\002\001\002\002\001\000 +\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060 +\201\246\061\013\060\011\006\003\125\004\006\023\002\107\122\061 +\017\060\015\006\003\125\004\007\023\006\101\164\150\145\156\163 +\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154\145 +\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144 +\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164 +\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165\164 +\150\157\162\151\164\171\061\100\060\076\006\003\125\004\003\023 +\067\110\145\154\154\145\156\151\143\040\101\143\141\144\145\155 +\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150\040 +\111\156\163\164\151\164\165\164\151\157\156\163\040\122\157\157 +\164\103\101\040\062\060\061\065\060\036\027\015\061\065\060\067 +\060\067\061\060\061\061\062\061\132\027\015\064\060\060\066\063 +\060\061\060\061\061\062\061\132\060\201\246\061\013\060\011\006 +\003\125\004\006\023\002\107\122\061\017\060\015\006\003\125\004 +\007\023\006\101\164\150\145\156\163\061\104\060\102\006\003\125 +\004\012\023\073\110\145\154\154\145\156\151\143\040\101\143\141 +\144\145\155\151\143\040\141\156\144\040\122\145\163\145\141\162 +\143\150\040\111\156\163\164\151\164\165\164\151\157\156\163\040 +\103\145\162\164\056\040\101\165\164\150\157\162\151\164\171\061 +\100\060\076\006\003\125\004\003\023\067\110\145\154\154\145\156 +\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144\040 +\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164\165 +\164\151\157\156\163\040\122\157\157\164\103\101\040\062\060\061 +\065\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001 +\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002 +\001\000\302\370\251\077\033\211\374\074\074\004\135\075\220\066 +\260\221\072\171\074\146\132\357\155\071\001\111\032\264\267\317 +\177\115\043\123\267\220\000\343\023\052\050\246\061\361\221\000 +\343\050\354\256\041\101\316\037\332\375\175\022\133\001\203\017 +\271\260\137\231\341\362\022\203\200\115\006\076\337\254\257\347 +\241\210\153\061\257\360\213\320\030\063\270\333\105\152\064\364 +\002\200\044\050\012\002\025\225\136\166\052\015\231\072\024\133 +\366\313\313\123\274\023\115\001\210\067\224\045\033\102\274\042 +\330\216\243\226\136\072\331\062\333\076\350\360\020\145\355\164 +\341\057\247\174\257\047\064\273\051\175\233\266\317\011\310\345 +\323\012\374\210\145\145\164\012\334\163\034\134\315\100\261\034 +\324\266\204\214\114\120\317\150\216\250\131\256\302\047\116\202 +\242\065\335\024\364\037\377\262\167\325\207\057\252\156\175\044 +\047\347\306\313\046\346\345\376\147\007\143\330\105\015\335\072 +\131\145\071\130\172\222\231\162\075\234\204\136\210\041\270\325 +\364\054\374\331\160\122\117\170\270\275\074\053\213\225\230\365 +\263\321\150\317\040\024\176\114\134\137\347\213\345\365\065\201 +\031\067\327\021\010\267\146\276\323\112\316\203\127\000\072\303 +\201\370\027\313\222\066\135\321\243\330\165\033\341\213\047\352 +\172\110\101\375\105\031\006\255\047\231\116\301\160\107\335\265 +\237\201\123\022\345\261\214\110\135\061\103\027\343\214\306\172 +\143\226\113\051\060\116\204\116\142\031\136\074\316\227\220\245 +\177\001\353\235\340\370\213\211\335\045\230\075\222\266\176\357 +\331\361\121\121\175\055\046\310\151\131\141\340\254\152\270\052 +\066\021\004\172\120\275\062\204\276\057\334\162\325\327\035\026 +\107\344\107\146\040\077\364\226\305\257\216\001\172\245\017\172 +\144\365\015\030\207\331\256\210\325\372\204\301\072\300\151\050 +\055\362\015\150\121\252\343\245\167\306\244\220\016\241\067\213 +\061\043\107\301\011\010\353\156\367\170\233\327\202\374\204\040 +\231\111\031\266\022\106\261\373\105\125\026\251\243\145\254\234 +\007\017\352\153\334\037\056\006\162\354\206\210\022\344\055\333 +\137\005\057\344\360\003\323\046\063\347\200\302\315\102\241\027 +\064\013\002\003\001\000\001\243\102\060\100\060\017\006\003\125 +\035\023\001\001\377\004\005\060\003\001\001\377\060\016\006\003 +\125\035\017\001\001\377\004\004\003\002\001\006\060\035\006\003 +\125\035\016\004\026\004\024\161\025\147\310\310\311\275\165\135 +\162\320\070\030\152\235\363\161\044\124\013\060\015\006\011\052 +\206\110\206\367\015\001\001\013\005\000\003\202\002\001\000\165 +\273\155\124\113\252\020\130\106\064\362\142\327\026\066\135\010 +\136\325\154\310\207\275\264\056\106\362\061\370\174\352\102\265 +\223\026\125\334\241\014\022\240\332\141\176\017\130\130\163\144 +\162\307\350\105\216\334\251\362\046\077\306\171\214\261\123\010 +\063\201\260\126\023\276\346\121\134\330\233\012\117\113\234\126 +\123\002\351\117\366\015\140\352\115\102\125\350\174\033\041\041 +\323\033\072\314\167\362\270\220\361\150\307\371\132\376\372\055 +\364\277\311\365\105\033\316\070\020\052\067\212\171\243\264\343 +\011\154\205\206\223\377\211\226\047\170\201\217\147\343\106\164 +\124\216\331\015\151\342\112\364\115\164\003\377\262\167\355\225 +\147\227\344\261\305\253\277\152\043\350\324\224\342\104\050\142 +\304\113\342\360\330\342\051\153\032\160\176\044\141\223\173\117 +\003\062\045\015\105\044\053\226\264\106\152\277\112\013\367\232 +\217\301\254\032\305\147\363\157\064\322\372\163\143\214\357\026 +\260\250\244\106\052\370\353\022\354\162\264\357\370\053\176\214 +\122\300\213\204\124\371\057\076\343\125\250\334\146\261\331\341 +\137\330\263\214\131\064\131\244\253\117\154\273\037\030\333\165 +\253\330\313\222\315\224\070\141\016\007\006\037\113\106\020\361 +\025\276\215\205\134\073\112\053\201\171\017\264\151\237\111\120 +\227\115\367\016\126\135\300\225\152\302\066\303\033\150\311\365 +\052\334\107\232\276\262\316\305\045\350\372\003\271\332\371\026 +\156\221\204\365\034\050\310\374\046\314\327\034\220\126\247\137 +\157\072\004\274\315\170\211\013\216\017\057\243\252\117\242\033 +\022\075\026\010\100\017\361\106\114\327\252\173\010\301\012\365 +\155\047\336\002\217\312\303\265\053\312\351\353\310\041\123\070 +\245\314\073\330\167\067\060\242\117\331\157\321\362\100\255\101 +\172\027\305\326\112\065\211\267\101\325\174\206\177\125\115\203 +\112\245\163\040\300\072\257\220\361\232\044\216\331\216\161\312 +\173\270\206\332\262\217\231\076\035\023\015\022\021\356\324\253 +\360\351\025\166\002\344\340\337\252\040\036\133\141\205\144\100 +\251\220\227\015\255\123\322\132\035\207\152\000\227\145\142\264 +\276\157\152\247\365\054\102\355\062\255\266\041\236\276\274 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "Hellenic Academic and Research Institutions RootCA 2015" +# Issuer: CN=Hellenic Academic and Research Institutions RootCA 2015,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR +# Serial Number: 0 (0x0) +# Subject: CN=Hellenic Academic and Research Institutions RootCA 2015,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR +# Not Valid Before: Tue Jul 07 10:11:21 2015 +# Not Valid After : Sat Jun 30 10:11:21 2040 +# Fingerprint (SHA-256): A0:40:92:9A:02:CE:53:B4:AC:F4:F2:FF:C6:98:1C:E4:49:6F:75:5E:6D:45:FE:0B:2A:69:2B:CD:52:52:3F:36 +# Fingerprint (SHA1): 01:0C:06:95:A6:98:19:14:FF:BF:5F:C6:B0:B6:95:EA:29:E9:12:A6 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Hellenic Academic and Research Institutions RootCA 2015" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\001\014\006\225\246\230\031\024\377\277\137\306\260\266\225\352 +\051\351\022\246 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\312\377\342\333\003\331\313\113\351\017\255\204\375\173\030\316 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\246\061\013\060\011\006\003\125\004\006\023\002\107\122 +\061\017\060\015\006\003\125\004\007\023\006\101\164\150\145\156 +\163\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154 +\145\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156 +\144\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151 +\164\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165 +\164\150\157\162\151\164\171\061\100\060\076\006\003\125\004\003 +\023\067\110\145\154\154\145\156\151\143\040\101\143\141\144\145 +\155\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150 +\040\111\156\163\164\151\164\165\164\151\157\156\163\040\122\157 +\157\164\103\101\040\062\060\061\065 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\000 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Hellenic Academic and Research Institutions ECC RootCA 2015" +# +# Issuer: CN=Hellenic Academic and Research Institutions ECC RootCA 2015,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR +# Serial Number: 0 (0x0) +# Subject: CN=Hellenic Academic and Research Institutions ECC RootCA 2015,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR +# Not Valid Before: Tue Jul 07 10:37:12 2015 +# Not Valid After : Sat Jun 30 10:37:12 2040 +# Fingerprint (SHA-256): 44:B5:45:AA:8A:25:E6:5A:73:CA:15:DC:27:FC:36:D2:4C:1C:B9:95:3A:06:65:39:B1:15:82:DC:48:7B:48:33 +# Fingerprint (SHA1): 9F:F1:71:8D:92:D5:9A:F3:7D:74:97:B4:BC:6F:84:68:0B:BA:B6:66 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Hellenic Academic and Research Institutions ECC RootCA 2015" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\252\061\013\060\011\006\003\125\004\006\023\002\107\122 +\061\017\060\015\006\003\125\004\007\023\006\101\164\150\145\156 +\163\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154 +\145\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156 +\144\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151 +\164\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165 +\164\150\157\162\151\164\171\061\104\060\102\006\003\125\004\003 +\023\073\110\145\154\154\145\156\151\143\040\101\143\141\144\145 +\155\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150 +\040\111\156\163\164\151\164\165\164\151\157\156\163\040\105\103 +\103\040\122\157\157\164\103\101\040\062\060\061\065 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\252\061\013\060\011\006\003\125\004\006\023\002\107\122 +\061\017\060\015\006\003\125\004\007\023\006\101\164\150\145\156 +\163\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154 +\145\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156 +\144\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151 +\164\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165 +\164\150\157\162\151\164\171\061\104\060\102\006\003\125\004\003 +\023\073\110\145\154\154\145\156\151\143\040\101\143\141\144\145 +\155\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150 +\040\111\156\163\164\151\164\165\164\151\157\156\163\040\105\103 +\103\040\122\157\157\164\103\101\040\062\060\061\065 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\000 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\002\303\060\202\002\112\240\003\002\001\002\002\001\000 +\060\012\006\010\052\206\110\316\075\004\003\002\060\201\252\061 +\013\060\011\006\003\125\004\006\023\002\107\122\061\017\060\015 +\006\003\125\004\007\023\006\101\164\150\145\156\163\061\104\060 +\102\006\003\125\004\012\023\073\110\145\154\154\145\156\151\143 +\040\101\143\141\144\145\155\151\143\040\141\156\144\040\122\145 +\163\145\141\162\143\150\040\111\156\163\164\151\164\165\164\151 +\157\156\163\040\103\145\162\164\056\040\101\165\164\150\157\162 +\151\164\171\061\104\060\102\006\003\125\004\003\023\073\110\145 +\154\154\145\156\151\143\040\101\143\141\144\145\155\151\143\040 +\141\156\144\040\122\145\163\145\141\162\143\150\040\111\156\163 +\164\151\164\165\164\151\157\156\163\040\105\103\103\040\122\157 +\157\164\103\101\040\062\060\061\065\060\036\027\015\061\065\060 +\067\060\067\061\060\063\067\061\062\132\027\015\064\060\060\066 +\063\060\061\060\063\067\061\062\132\060\201\252\061\013\060\011 +\006\003\125\004\006\023\002\107\122\061\017\060\015\006\003\125 +\004\007\023\006\101\164\150\145\156\163\061\104\060\102\006\003 +\125\004\012\023\073\110\145\154\154\145\156\151\143\040\101\143 +\141\144\145\155\151\143\040\141\156\144\040\122\145\163\145\141 +\162\143\150\040\111\156\163\164\151\164\165\164\151\157\156\163 +\040\103\145\162\164\056\040\101\165\164\150\157\162\151\164\171 +\061\104\060\102\006\003\125\004\003\023\073\110\145\154\154\145 +\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156\144 +\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151\164 +\165\164\151\157\156\163\040\105\103\103\040\122\157\157\164\103 +\101\040\062\060\061\065\060\166\060\020\006\007\052\206\110\316 +\075\002\001\006\005\053\201\004\000\042\003\142\000\004\222\240 +\101\350\113\202\204\134\342\370\061\021\231\206\144\116\011\045 +\057\235\101\057\012\256\065\117\164\225\262\121\144\153\215\153 +\346\077\160\225\360\005\104\107\246\162\070\120\166\225\002\132 +\216\256\050\236\371\055\116\231\357\054\110\157\114\045\051\350 +\321\161\133\337\035\301\165\067\264\327\372\173\172\102\234\152 +\012\126\132\174\151\013\252\200\011\044\154\176\301\106\243\102 +\060\100\060\017\006\003\125\035\023\001\001\377\004\005\060\003 +\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004\003 +\002\001\006\060\035\006\003\125\035\016\004\026\004\024\264\042 +\013\202\231\044\001\016\234\273\344\016\375\277\373\227\040\223 +\231\052\060\012\006\010\052\206\110\316\075\004\003\002\003\147 +\000\060\144\002\060\147\316\026\142\070\242\254\142\105\247\251 +\225\044\300\032\047\234\062\073\300\300\325\272\251\347\370\004 +\103\123\205\356\122\041\336\235\365\045\203\076\236\130\113\057 +\327\147\023\016\041\002\060\005\341\165\001\336\150\355\052\037 +\115\114\011\010\015\354\113\255\144\027\050\347\165\316\105\145 +\162\041\027\313\042\101\016\214\023\230\070\232\124\155\233\312 +\342\174\352\002\130\042\221 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "Hellenic Academic and Research Institutions ECC RootCA 2015" +# Issuer: CN=Hellenic Academic and Research Institutions ECC RootCA 2015,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR +# Serial Number: 0 (0x0) +# Subject: CN=Hellenic Academic and Research Institutions ECC RootCA 2015,O=Hellenic Academic and Research Institutions Cert. Authority,L=Athens,C=GR +# Not Valid Before: Tue Jul 07 10:37:12 2015 +# Not Valid After : Sat Jun 30 10:37:12 2040 +# Fingerprint (SHA-256): 44:B5:45:AA:8A:25:E6:5A:73:CA:15:DC:27:FC:36:D2:4C:1C:B9:95:3A:06:65:39:B1:15:82:DC:48:7B:48:33 +# Fingerprint (SHA1): 9F:F1:71:8D:92:D5:9A:F3:7D:74:97:B4:BC:6F:84:68:0B:BA:B6:66 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Hellenic Academic and Research Institutions ECC RootCA 2015" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\237\361\161\215\222\325\232\363\175\164\227\264\274\157\204\150 +\013\272\266\146 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\201\345\264\027\353\302\365\341\113\015\101\173\111\222\376\357 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\252\061\013\060\011\006\003\125\004\006\023\002\107\122 +\061\017\060\015\006\003\125\004\007\023\006\101\164\150\145\156 +\163\061\104\060\102\006\003\125\004\012\023\073\110\145\154\154 +\145\156\151\143\040\101\143\141\144\145\155\151\143\040\141\156 +\144\040\122\145\163\145\141\162\143\150\040\111\156\163\164\151 +\164\165\164\151\157\156\163\040\103\145\162\164\056\040\101\165 +\164\150\157\162\151\164\171\061\104\060\102\006\003\125\004\003 +\023\073\110\145\154\154\145\156\151\143\040\101\143\141\144\145 +\155\151\143\040\141\156\144\040\122\145\163\145\141\162\143\150 +\040\111\156\163\164\151\164\165\164\151\157\156\163\040\105\103 +\103\040\122\157\157\164\103\101\040\062\060\061\065 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\000 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "ISRG Root X1" +# +# Issuer: CN=ISRG Root X1,O=Internet Security Research Group,C=US +# Serial Number:00:82:10:cf:b0:d2:40:e3:59:44:63:e0:bb:63:82:8b:00 +# Subject: CN=ISRG Root X1,O=Internet Security Research Group,C=US +# Not Valid Before: Thu Jun 04 11:04:38 2015 +# Not Valid After : Mon Jun 04 11:04:38 2035 +# Fingerprint (SHA-256): 96:BC:EC:06:26:49:76:F3:74:60:77:9A:CF:28:C5:A7:CF:E8:A3:C0:AA:E1:1A:8F:FC:EE:05:C0:BD:DF:08:C6 +# Fingerprint (SHA1): CA:BD:2A:79:A1:07:6A:31:F2:1D:25:36:35:CB:03:9D:43:29:A5:E8 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "ISRG Root X1" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\117\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\051\060\047\006\003\125\004\012\023\040\111\156\164\145\162\156 +\145\164\040\123\145\143\165\162\151\164\171\040\122\145\163\145 +\141\162\143\150\040\107\162\157\165\160\061\025\060\023\006\003 +\125\004\003\023\014\111\123\122\107\040\122\157\157\164\040\130 +\061 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\117\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\051\060\047\006\003\125\004\012\023\040\111\156\164\145\162\156 +\145\164\040\123\145\143\165\162\151\164\171\040\122\145\163\145 +\141\162\143\150\040\107\162\157\165\160\061\025\060\023\006\003 +\125\004\003\023\014\111\123\122\107\040\122\157\157\164\040\130 +\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\021\000\202\020\317\260\322\100\343\131\104\143\340\273\143 +\202\213\000 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\153\060\202\003\123\240\003\002\001\002\002\021\000 +\202\020\317\260\322\100\343\131\104\143\340\273\143\202\213\000 +\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060 +\117\061\013\060\011\006\003\125\004\006\023\002\125\123\061\051 +\060\047\006\003\125\004\012\023\040\111\156\164\145\162\156\145 +\164\040\123\145\143\165\162\151\164\171\040\122\145\163\145\141 +\162\143\150\040\107\162\157\165\160\061\025\060\023\006\003\125 +\004\003\023\014\111\123\122\107\040\122\157\157\164\040\130\061 +\060\036\027\015\061\065\060\066\060\064\061\061\060\064\063\070 +\132\027\015\063\065\060\066\060\064\061\061\060\064\063\070\132 +\060\117\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\051\060\047\006\003\125\004\012\023\040\111\156\164\145\162\156 +\145\164\040\123\145\143\165\162\151\164\171\040\122\145\163\145 +\141\162\143\150\040\107\162\157\165\160\061\025\060\023\006\003 +\125\004\003\023\014\111\123\122\107\040\122\157\157\164\040\130 +\061\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001 +\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002 +\001\000\255\350\044\163\364\024\067\363\233\236\053\127\050\034 +\207\276\334\267\337\070\220\214\156\074\346\127\240\170\367\165 +\302\242\376\365\152\156\366\000\117\050\333\336\150\206\154\104 +\223\266\261\143\375\024\022\153\277\037\322\352\061\233\041\176 +\321\063\074\272\110\365\335\171\337\263\270\377\022\361\041\232 +\113\301\212\206\161\151\112\146\146\154\217\176\074\160\277\255 +\051\042\006\363\344\300\346\200\256\342\113\217\267\231\176\224 +\003\237\323\107\227\174\231\110\043\123\350\070\256\117\012\157 +\203\056\321\111\127\214\200\164\266\332\057\320\070\215\173\003 +\160\041\033\165\362\060\074\372\217\256\335\332\143\253\353\026 +\117\302\216\021\113\176\317\013\350\377\265\167\056\364\262\173 +\112\340\114\022\045\014\160\215\003\051\240\341\123\044\354\023 +\331\356\031\277\020\263\112\214\077\211\243\141\121\336\254\207 +\007\224\364\143\161\354\056\342\157\133\230\201\341\211\134\064 +\171\154\166\357\073\220\142\171\346\333\244\232\057\046\305\320 +\020\341\016\336\331\020\216\026\373\267\367\250\367\307\345\002 +\007\230\217\066\010\225\347\342\067\226\015\066\165\236\373\016 +\162\261\035\233\274\003\371\111\005\330\201\335\005\264\052\326 +\101\351\254\001\166\225\012\017\330\337\325\275\022\037\065\057 +\050\027\154\322\230\301\250\011\144\167\156\107\067\272\316\254 +\131\136\150\235\177\162\326\211\305\006\101\051\076\131\076\335 +\046\365\044\311\021\247\132\243\114\100\037\106\241\231\265\247 +\072\121\156\206\073\236\175\162\247\022\005\170\131\355\076\121 +\170\025\013\003\217\215\320\057\005\262\076\173\112\034\113\163 +\005\022\374\306\352\340\120\023\174\103\223\164\263\312\164\347 +\216\037\001\010\320\060\324\133\161\066\264\007\272\301\060\060 +\134\110\267\202\073\230\246\175\140\212\242\243\051\202\314\272 +\275\203\004\033\242\203\003\101\241\326\005\361\033\302\266\360 +\250\174\206\073\106\250\110\052\210\334\166\232\166\277\037\152 +\245\075\031\217\353\070\363\144\336\310\053\015\012\050\377\367 +\333\342\025\102\324\042\320\047\135\341\171\376\030\347\160\210 +\255\116\346\331\213\072\306\335\047\121\156\377\274\144\365\063 +\103\117\002\003\001\000\001\243\102\060\100\060\016\006\003\125 +\035\017\001\001\377\004\004\003\002\001\006\060\017\006\003\125 +\035\023\001\001\377\004\005\060\003\001\001\377\060\035\006\003 +\125\035\016\004\026\004\024\171\264\131\346\173\266\345\344\001 +\163\200\010\210\310\032\130\366\351\233\156\060\015\006\011\052 +\206\110\206\367\015\001\001\013\005\000\003\202\002\001\000\125 +\037\130\251\274\262\250\120\320\014\261\330\032\151\040\047\051 +\010\254\141\165\134\212\156\370\202\345\151\057\325\366\126\113 +\271\270\163\020\131\323\041\227\176\347\114\161\373\262\322\140 +\255\071\250\013\352\027\041\126\205\361\120\016\131\353\316\340 +\131\351\272\311\025\357\206\235\217\204\200\366\344\351\221\220 +\334\027\233\142\033\105\360\146\225\322\174\157\302\352\073\357 +\037\317\313\326\256\047\361\251\260\310\256\375\175\176\232\372 +\042\004\353\377\331\177\352\221\053\042\261\027\016\217\362\212 +\064\133\130\330\374\001\311\124\271\270\046\314\212\210\063\211 +\114\055\204\074\202\337\356\226\127\005\272\054\273\367\304\267 +\307\116\073\202\276\061\310\042\163\163\222\321\302\200\244\071 +\071\020\063\043\202\114\074\237\206\262\125\230\035\276\051\206 +\214\042\233\236\342\153\073\127\072\202\160\115\334\011\307\211 +\313\012\007\115\154\350\135\216\311\357\316\253\307\273\265\053 +\116\105\326\112\320\046\314\345\162\312\010\152\245\225\343\025 +\241\367\244\355\311\054\137\245\373\377\254\050\002\056\276\327 +\173\273\343\161\173\220\026\323\007\136\106\123\174\067\007\102 +\214\323\304\226\234\325\231\265\052\340\225\032\200\110\256\114 +\071\007\316\314\107\244\122\225\053\272\270\373\255\322\063\123 +\175\345\035\115\155\325\241\261\307\102\157\346\100\047\065\134 +\243\050\267\007\215\347\215\063\220\347\043\237\373\120\234\171 +\154\106\325\264\025\263\226\156\176\233\014\226\072\270\122\055 +\077\326\133\341\373\010\302\204\376\044\250\243\211\332\254\152 +\341\030\052\261\250\103\141\133\323\037\334\073\215\166\362\055 +\350\215\165\337\027\063\154\075\123\373\173\313\101\137\377\334 +\242\320\141\070\341\226\270\254\135\213\067\327\165\325\063\300 +\231\021\256\235\101\301\162\165\204\276\002\101\102\137\147\044 +\110\224\321\233\047\276\007\077\271\270\117\201\164\121\341\172 +\267\355\235\043\342\276\340\325\050\004\023\074\061\003\236\335 +\172\154\217\306\007\030\306\177\336\107\216\077\050\236\004\006 +\317\245\124\064\167\275\354\211\233\351\027\103\337\133\333\137 +\376\216\036\127\242\315\100\235\176\142\042\332\336\030\047 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "ISRG Root X1" +# Issuer: CN=ISRG Root X1,O=Internet Security Research Group,C=US +# Serial Number:00:82:10:cf:b0:d2:40:e3:59:44:63:e0:bb:63:82:8b:00 +# Subject: CN=ISRG Root X1,O=Internet Security Research Group,C=US +# Not Valid Before: Thu Jun 04 11:04:38 2015 +# Not Valid After : Mon Jun 04 11:04:38 2035 +# Fingerprint (SHA-256): 96:BC:EC:06:26:49:76:F3:74:60:77:9A:CF:28:C5:A7:CF:E8:A3:C0:AA:E1:1A:8F:FC:EE:05:C0:BD:DF:08:C6 +# Fingerprint (SHA1): CA:BD:2A:79:A1:07:6A:31:F2:1D:25:36:35:CB:03:9D:43:29:A5:E8 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "ISRG Root X1" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\312\275\052\171\241\007\152\061\362\035\045\066\065\313\003\235 +\103\051\245\350 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\014\322\371\340\332\027\163\351\355\206\115\245\343\160\347\116 +END +CKA_ISSUER MULTILINE_OCTAL +\060\117\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\051\060\047\006\003\125\004\012\023\040\111\156\164\145\162\156 +\145\164\040\123\145\143\165\162\151\164\171\040\122\145\163\145 +\141\162\143\150\040\107\162\157\165\160\061\025\060\023\006\003 +\125\004\003\023\014\111\123\122\107\040\122\157\157\164\040\130 +\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\021\000\202\020\317\260\322\100\343\131\104\143\340\273\143 +\202\213\000 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "AC RAIZ FNMT-RCM" +# +# Issuer: OU=AC RAIZ FNMT-RCM,O=FNMT-RCM,C=ES +# Serial Number:5d:93:8d:30:67:36:c8:06:1d:1a:c7:54:84:69:07 +# Subject: OU=AC RAIZ FNMT-RCM,O=FNMT-RCM,C=ES +# Not Valid Before: Wed Oct 29 15:59:56 2008 +# Not Valid After : Tue Jan 01 00:00:00 2030 +# Fingerprint (SHA-256): EB:C5:57:0C:29:01:8C:4D:67:B1:AA:12:7B:AF:12:F7:03:B4:61:1E:BC:17:B7:DA:B5:57:38:94:17:9B:93:FA +# Fingerprint (SHA1): EC:50:35:07:B2:15:C4:95:62:19:E2:A8:9A:5B:42:99:2C:4C:2C:20 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "AC RAIZ FNMT-RCM" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\073\061\013\060\011\006\003\125\004\006\023\002\105\123\061 +\021\060\017\006\003\125\004\012\014\010\106\116\115\124\055\122 +\103\115\061\031\060\027\006\003\125\004\013\014\020\101\103\040 +\122\101\111\132\040\106\116\115\124\055\122\103\115 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\073\061\013\060\011\006\003\125\004\006\023\002\105\123\061 +\021\060\017\006\003\125\004\012\014\010\106\116\115\124\055\122 +\103\115\061\031\060\027\006\003\125\004\013\014\020\101\103\040 +\122\101\111\132\040\106\116\115\124\055\122\103\115 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\017\135\223\215\060\147\066\310\006\035\032\307\124\204\151 +\007 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\203\060\202\003\153\240\003\002\001\002\002\017\135 +\223\215\060\147\066\310\006\035\032\307\124\204\151\007\060\015 +\006\011\052\206\110\206\367\015\001\001\013\005\000\060\073\061 +\013\060\011\006\003\125\004\006\023\002\105\123\061\021\060\017 +\006\003\125\004\012\014\010\106\116\115\124\055\122\103\115\061 +\031\060\027\006\003\125\004\013\014\020\101\103\040\122\101\111 +\132\040\106\116\115\124\055\122\103\115\060\036\027\015\060\070 +\061\060\062\071\061\065\065\071\065\066\132\027\015\063\060\060 +\061\060\061\060\060\060\060\060\060\132\060\073\061\013\060\011 +\006\003\125\004\006\023\002\105\123\061\021\060\017\006\003\125 +\004\012\014\010\106\116\115\124\055\122\103\115\061\031\060\027 +\006\003\125\004\013\014\020\101\103\040\122\101\111\132\040\106 +\116\115\124\055\122\103\115\060\202\002\042\060\015\006\011\052 +\206\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060 +\202\002\012\002\202\002\001\000\272\161\200\172\114\206\156\177 +\310\023\155\300\306\175\034\000\227\217\054\014\043\273\020\232 +\100\251\032\267\207\210\370\233\126\152\373\346\173\216\213\222 +\216\247\045\135\131\021\333\066\056\267\121\027\037\251\010\037 +\004\027\044\130\252\067\112\030\337\345\071\324\127\375\327\301 +\054\221\001\221\342\042\324\003\300\130\374\167\107\354\217\076 +\164\103\272\254\064\215\115\070\166\147\216\260\310\157\060\063 +\130\161\134\264\365\153\156\324\001\120\270\023\176\154\112\243 +\111\321\040\031\356\274\300\051\030\145\247\336\376\357\335\012 +\220\041\347\032\147\222\102\020\230\137\117\060\274\076\034\105 +\264\020\327\150\100\024\300\100\372\347\167\027\172\346\013\217 +\145\133\074\331\232\122\333\265\275\236\106\317\075\353\221\005 +\002\300\226\262\166\114\115\020\226\073\222\372\234\177\017\231 +\337\276\043\065\105\036\002\134\376\265\250\233\231\045\332\136 +\363\042\303\071\365\344\052\056\323\306\037\304\154\252\305\034 +\152\001\005\112\057\322\305\301\250\064\046\135\146\245\322\002 +\041\371\030\267\006\365\116\231\157\250\253\114\121\350\317\120 +\030\305\167\310\071\011\054\111\222\062\231\250\273\027\027\171 +\260\132\305\346\243\304\131\145\107\065\203\136\251\350\065\013 +\231\273\344\315\040\306\233\112\006\071\265\150\374\042\272\356 +\125\214\053\116\352\363\261\343\374\266\231\232\325\102\372\161 +\115\010\317\207\036\152\161\175\371\323\264\351\245\161\201\173 +\302\116\107\226\245\366\166\205\243\050\217\351\200\156\201\123 +\245\155\137\270\110\371\302\371\066\246\056\111\377\270\226\302 +\214\007\263\233\210\130\374\353\033\034\336\055\160\342\227\222 +\060\241\211\343\274\125\250\047\326\113\355\220\255\213\372\143 +\045\131\055\250\065\335\312\227\063\274\345\315\307\235\321\354 +\357\136\016\112\220\006\046\143\255\271\331\065\055\007\272\166 +\145\054\254\127\217\175\364\007\224\327\201\002\226\135\243\007 +\111\325\172\320\127\371\033\347\123\106\165\252\260\171\102\313 +\150\161\010\351\140\275\071\151\316\364\257\303\126\100\307\255 +\122\242\011\344\157\206\107\212\037\353\050\047\135\203\040\257 +\004\311\154\126\232\213\106\365\002\003\001\000\001\243\201\203 +\060\201\200\060\017\006\003\125\035\023\001\001\377\004\005\060 +\003\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004 +\003\002\001\006\060\035\006\003\125\035\016\004\026\004\024\367 +\175\305\375\304\350\232\033\167\144\247\365\035\240\314\277\207 +\140\232\155\060\076\006\003\125\035\040\004\067\060\065\060\063 +\006\004\125\035\040\000\060\053\060\051\006\010\053\006\001\005 +\005\007\002\001\026\035\150\164\164\160\072\057\057\167\167\167 +\056\143\145\162\164\056\146\156\155\164\056\145\163\057\144\160 +\143\163\057\060\015\006\011\052\206\110\206\367\015\001\001\013 +\005\000\003\202\002\001\000\007\220\112\337\363\043\116\360\303 +\234\121\145\233\234\042\242\212\014\205\363\163\051\153\115\376 +\001\342\251\014\143\001\277\004\147\245\235\230\137\375\001\023 +\372\354\232\142\351\206\376\266\142\322\156\114\224\373\300\165 +\105\174\145\014\370\262\067\317\254\017\317\215\157\371\031\367 +\217\354\036\362\160\236\360\312\270\357\267\377\166\067\166\133 +\366\156\210\363\257\142\062\042\223\015\072\152\216\024\146\014 +\055\123\164\127\145\036\325\262\335\043\201\073\245\146\043\047 +\147\011\217\341\167\252\103\315\145\121\010\355\121\130\376\346 +\071\371\313\107\204\244\025\361\166\273\244\356\244\073\304\137 +\357\262\063\226\021\030\267\311\145\276\030\341\243\244\334\372 +\030\371\323\274\023\233\071\172\064\272\323\101\373\372\062\212 +\052\267\053\206\013\151\203\070\276\315\212\056\013\160\255\215 +\046\222\356\036\365\001\053\012\331\326\227\233\156\340\250\031 +\034\072\041\213\014\036\100\255\003\347\335\146\176\365\271\040 +\015\003\350\226\371\202\105\324\071\340\240\000\135\327\230\346 +\175\236\147\163\303\232\052\367\253\213\241\072\024\357\064\274 +\122\016\211\230\232\004\100\204\035\176\105\151\223\127\316\353 +\316\370\120\174\117\034\156\004\103\233\371\326\073\043\030\351 +\352\216\321\115\106\215\361\073\344\152\312\272\373\043\267\233 +\372\231\001\051\132\130\132\055\343\371\324\155\016\046\255\301 +\156\064\274\062\370\014\005\372\145\243\333\073\067\203\042\351 +\326\334\162\063\375\135\362\040\275\166\074\043\332\050\367\371 +\033\353\131\144\325\334\137\162\176\040\374\315\211\265\220\147 +\115\142\172\077\116\255\035\303\071\376\172\364\050\026\337\101 +\366\110\200\005\327\017\121\171\254\020\253\324\354\003\146\346 +\152\260\272\061\222\102\100\152\276\072\323\162\341\152\067\125 +\274\254\035\225\267\151\141\362\103\221\164\346\240\323\012\044 +\106\241\010\257\326\332\105\031\226\324\123\035\133\204\171\360 +\300\367\107\357\213\217\305\006\256\235\114\142\235\377\106\004 +\370\323\311\266\020\045\100\165\376\026\252\311\112\140\206\057 +\272\357\060\167\344\124\342\270\204\231\130\200\252\023\213\121 +\072\117\110\366\213\266\263 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "AC RAIZ FNMT-RCM" +# Issuer: OU=AC RAIZ FNMT-RCM,O=FNMT-RCM,C=ES +# Serial Number:5d:93:8d:30:67:36:c8:06:1d:1a:c7:54:84:69:07 +# Subject: OU=AC RAIZ FNMT-RCM,O=FNMT-RCM,C=ES +# Not Valid Before: Wed Oct 29 15:59:56 2008 +# Not Valid After : Tue Jan 01 00:00:00 2030 +# Fingerprint (SHA-256): EB:C5:57:0C:29:01:8C:4D:67:B1:AA:12:7B:AF:12:F7:03:B4:61:1E:BC:17:B7:DA:B5:57:38:94:17:9B:93:FA +# Fingerprint (SHA1): EC:50:35:07:B2:15:C4:95:62:19:E2:A8:9A:5B:42:99:2C:4C:2C:20 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "AC RAIZ FNMT-RCM" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\354\120\065\007\262\025\304\225\142\031\342\250\232\133\102\231 +\054\114\054\040 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\342\011\004\264\323\275\321\240\024\375\032\322\107\304\127\035 +END +CKA_ISSUER MULTILINE_OCTAL +\060\073\061\013\060\011\006\003\125\004\006\023\002\105\123\061 +\021\060\017\006\003\125\004\012\014\010\106\116\115\124\055\122 +\103\115\061\031\060\027\006\003\125\004\013\014\020\101\103\040 +\122\101\111\132\040\106\116\115\124\055\122\103\115 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\017\135\223\215\060\147\066\310\006\035\032\307\124\204\151 +\007 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Amazon Root CA 1" +# +# Issuer: CN=Amazon Root CA 1,O=Amazon,C=US +# Serial Number:06:6c:9f:cf:99:bf:8c:0a:39:e2:f0:78:8a:43:e6:96:36:5b:ca +# Subject: CN=Amazon Root CA 1,O=Amazon,C=US +# Not Valid Before: Tue May 26 00:00:00 2015 +# Not Valid After : Sun Jan 17 00:00:00 2038 +# Fingerprint (SHA-256): 8E:CD:E6:88:4F:3D:87:B1:12:5B:A3:1A:C3:FC:B1:3D:70:16:DE:7F:57:CC:90:4F:E1:CB:97:C6:AE:98:19:6E +# Fingerprint (SHA1): 8D:A7:F9:65:EC:5E:FC:37:91:0F:1C:6E:59:FD:C1:CC:6A:6E:DE:16 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Amazon Root CA 1" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156 +\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157 +\156\040\122\157\157\164\040\103\101\040\061 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156 +\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157 +\156\040\122\157\157\164\040\103\101\040\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\023\006\154\237\317\231\277\214\012\071\342\360\170\212\103 +\346\226\066\133\312 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\101\060\202\002\051\240\003\002\001\002\002\023\006 +\154\237\317\231\277\214\012\071\342\360\170\212\103\346\226\066 +\133\312\060\015\006\011\052\206\110\206\367\015\001\001\013\005 +\000\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157 +\156\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172 +\157\156\040\122\157\157\164\040\103\101\040\061\060\036\027\015 +\061\065\060\065\062\066\060\060\060\060\060\060\132\027\015\063 +\070\060\061\061\067\060\060\060\060\060\060\132\060\071\061\013 +\060\011\006\003\125\004\006\023\002\125\123\061\017\060\015\006 +\003\125\004\012\023\006\101\155\141\172\157\156\061\031\060\027 +\006\003\125\004\003\023\020\101\155\141\172\157\156\040\122\157 +\157\164\040\103\101\040\061\060\202\001\042\060\015\006\011\052 +\206\110\206\367\015\001\001\001\005\000\003\202\001\017\000\060 +\202\001\012\002\202\001\001\000\262\170\200\161\312\170\325\343 +\161\257\107\200\120\164\175\156\330\327\210\166\364\231\150\367 +\130\041\140\371\164\204\001\057\254\002\055\206\323\240\103\172 +\116\262\244\320\066\272\001\276\215\333\110\310\007\027\066\114 +\364\356\210\043\307\076\353\067\365\265\031\370\111\150\260\336 +\327\271\166\070\035\141\236\244\376\202\066\245\345\112\126\344 +\105\341\371\375\264\026\372\164\332\234\233\065\071\057\372\260 +\040\120\006\154\172\320\200\262\246\371\257\354\107\031\217\120 +\070\007\334\242\207\071\130\370\272\325\251\371\110\147\060\226 +\356\224\170\136\157\211\243\121\300\060\206\146\241\105\146\272 +\124\353\243\303\221\371\110\334\377\321\350\060\055\175\055\164 +\160\065\327\210\044\367\236\304\131\156\273\163\207\027\362\062 +\106\050\270\103\372\267\035\252\312\264\362\237\044\016\055\113 +\367\161\134\136\151\377\352\225\002\313\070\212\256\120\070\157 +\333\373\055\142\033\305\307\036\124\341\167\340\147\310\017\234 +\207\043\326\077\100\040\177\040\200\304\200\114\076\073\044\046 +\216\004\256\154\232\310\252\015\002\003\001\000\001\243\102\060 +\100\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001 +\001\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002 +\001\206\060\035\006\003\125\035\016\004\026\004\024\204\030\314 +\205\064\354\274\014\224\224\056\010\131\234\307\262\020\116\012 +\010\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000 +\003\202\001\001\000\230\362\067\132\101\220\241\032\305\166\121 +\050\040\066\043\016\256\346\050\273\252\370\224\256\110\244\060 +\177\033\374\044\215\113\264\310\241\227\366\266\361\172\160\310 +\123\223\314\010\050\343\230\045\317\043\244\371\336\041\323\174 +\205\011\255\116\232\165\072\302\013\152\211\170\166\104\107\030 +\145\154\215\101\216\073\177\232\313\364\265\247\120\327\005\054 +\067\350\003\113\255\351\141\240\002\156\365\362\360\305\262\355 +\133\267\334\372\224\134\167\236\023\245\177\122\255\225\362\370 +\223\073\336\213\134\133\312\132\122\133\140\257\024\367\113\357 +\243\373\237\100\225\155\061\124\374\102\323\307\106\037\043\255 +\331\017\110\160\232\331\165\170\161\321\162\103\064\165\156\127 +\131\302\002\134\046\140\051\317\043\031\026\216\210\103\245\324 +\344\313\010\373\043\021\103\350\103\051\162\142\241\251\135\136 +\010\324\220\256\270\330\316\024\302\320\125\362\206\366\304\223 +\103\167\146\141\300\271\350\101\327\227\170\140\003\156\112\162 +\256\245\321\175\272\020\236\206\154\033\212\271\131\063\370\353 +\304\220\276\361\271 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "Amazon Root CA 1" +# Issuer: CN=Amazon Root CA 1,O=Amazon,C=US +# Serial Number:06:6c:9f:cf:99:bf:8c:0a:39:e2:f0:78:8a:43:e6:96:36:5b:ca +# Subject: CN=Amazon Root CA 1,O=Amazon,C=US +# Not Valid Before: Tue May 26 00:00:00 2015 +# Not Valid After : Sun Jan 17 00:00:00 2038 +# Fingerprint (SHA-256): 8E:CD:E6:88:4F:3D:87:B1:12:5B:A3:1A:C3:FC:B1:3D:70:16:DE:7F:57:CC:90:4F:E1:CB:97:C6:AE:98:19:6E +# Fingerprint (SHA1): 8D:A7:F9:65:EC:5E:FC:37:91:0F:1C:6E:59:FD:C1:CC:6A:6E:DE:16 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Amazon Root CA 1" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\215\247\371\145\354\136\374\067\221\017\034\156\131\375\301\314 +\152\156\336\026 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\103\306\277\256\354\376\255\057\030\306\210\150\060\374\310\346 +END +CKA_ISSUER MULTILINE_OCTAL +\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156 +\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157 +\156\040\122\157\157\164\040\103\101\040\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\023\006\154\237\317\231\277\214\012\071\342\360\170\212\103 +\346\226\066\133\312 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Amazon Root CA 2" +# +# Issuer: CN=Amazon Root CA 2,O=Amazon,C=US +# Serial Number:06:6c:9f:d2:96:35:86:9f:0a:0f:e5:86:78:f8:5b:26:bb:8a:37 +# Subject: CN=Amazon Root CA 2,O=Amazon,C=US +# Not Valid Before: Tue May 26 00:00:00 2015 +# Not Valid After : Sat May 26 00:00:00 2040 +# Fingerprint (SHA-256): 1B:A5:B2:AA:8C:65:40:1A:82:96:01:18:F8:0B:EC:4F:62:30:4D:83:CE:C4:71:3A:19:C3:9C:01:1E:A4:6D:B4 +# Fingerprint (SHA1): 5A:8C:EF:45:D7:A6:98:59:76:7A:8C:8B:44:96:B5:78:CF:47:4B:1A +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Amazon Root CA 2" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156 +\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157 +\156\040\122\157\157\164\040\103\101\040\062 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156 +\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157 +\156\040\122\157\157\164\040\103\101\040\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\023\006\154\237\322\226\065\206\237\012\017\345\206\170\370 +\133\046\273\212\067 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\101\060\202\003\051\240\003\002\001\002\002\023\006 +\154\237\322\226\065\206\237\012\017\345\206\170\370\133\046\273 +\212\067\060\015\006\011\052\206\110\206\367\015\001\001\014\005 +\000\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157 +\156\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172 +\157\156\040\122\157\157\164\040\103\101\040\062\060\036\027\015 +\061\065\060\065\062\066\060\060\060\060\060\060\132\027\015\064 +\060\060\065\062\066\060\060\060\060\060\060\132\060\071\061\013 +\060\011\006\003\125\004\006\023\002\125\123\061\017\060\015\006 +\003\125\004\012\023\006\101\155\141\172\157\156\061\031\060\027 +\006\003\125\004\003\023\020\101\155\141\172\157\156\040\122\157 +\157\164\040\103\101\040\062\060\202\002\042\060\015\006\011\052 +\206\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060 +\202\002\012\002\202\002\001\000\255\226\237\055\234\112\114\112 +\201\171\121\231\354\212\313\153\140\121\023\274\115\155\006\374 +\260\010\215\335\031\020\152\307\046\014\065\330\300\157\040\204 +\351\224\261\233\205\003\303\133\333\112\350\310\370\220\166\331 +\133\117\343\114\350\006\066\115\314\232\254\075\014\220\053\222 +\324\006\031\140\254\067\104\171\205\201\202\255\132\067\340\015 +\314\235\246\114\122\166\352\103\235\267\004\321\120\366\125\340 +\325\322\246\111\205\351\067\351\312\176\256\134\225\115\110\232 +\077\256\040\132\155\210\225\331\064\270\122\032\103\220\260\277 +\154\005\271\266\170\267\352\320\344\072\074\022\123\142\377\112 +\362\173\276\065\005\251\022\064\343\363\144\164\142\054\075\000 +\111\132\050\376\062\104\273\207\335\145\047\002\161\073\332\112 +\367\037\332\315\367\041\125\220\117\017\354\256\202\341\237\153 +\331\105\323\273\360\137\207\355\074\054\071\206\332\077\336\354 +\162\125\353\171\243\255\333\335\174\260\272\034\316\374\336\117 +\065\166\317\017\370\170\037\152\066\121\106\047\141\133\351\236 +\317\360\242\125\175\174\045\212\157\057\264\305\317\204\056\053 +\375\015\121\020\154\373\137\033\274\033\176\305\256\073\230\001 +\061\222\377\013\127\364\232\262\271\127\351\253\357\015\166\321 +\360\356\364\316\206\247\340\156\351\264\151\241\337\151\366\063 +\306\151\056\227\023\236\245\207\260\127\020\201\067\311\123\263 +\273\177\366\222\321\234\320\030\364\222\156\332\203\117\246\143 +\231\114\245\373\136\357\041\144\172\040\137\154\144\205\025\313 +\067\351\142\014\013\052\026\334\001\056\062\332\076\113\365\236 +\072\366\027\100\224\357\236\221\010\206\372\276\143\250\132\063 +\354\313\164\103\225\371\154\151\122\066\307\051\157\374\125\003 +\134\037\373\237\275\107\353\347\111\107\225\013\116\211\042\011 +\111\340\365\141\036\361\277\056\212\162\156\200\131\377\127\072 +\371\165\062\243\116\137\354\355\050\142\331\115\163\362\314\201 +\027\140\355\315\353\334\333\247\312\305\176\002\275\362\124\010 +\124\375\264\055\011\054\027\124\112\230\321\124\341\121\147\010 +\322\355\156\176\157\077\322\055\201\131\051\146\313\220\071\225 +\021\036\164\047\376\335\353\257\002\003\001\000\001\243\102\060 +\100\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001 +\001\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002 +\001\206\060\035\006\003\125\035\016\004\026\004\024\260\014\360 +\114\060\364\005\130\002\110\375\063\345\122\257\113\204\343\146 +\122\060\015\006\011\052\206\110\206\367\015\001\001\014\005\000 +\003\202\002\001\000\252\250\200\217\016\170\243\340\242\324\315 +\346\365\230\172\073\352\000\003\260\227\016\223\274\132\250\366 +\054\214\162\207\251\261\374\177\163\375\143\161\170\245\207\131 +\317\060\341\015\020\262\023\132\155\202\365\152\346\200\237\240 +\005\013\150\344\107\153\307\152\337\266\375\167\062\162\345\030 +\372\011\364\240\223\054\135\322\214\165\205\166\145\220\014\003 +\171\267\061\043\143\255\170\203\011\206\150\204\312\377\371\317 +\046\232\222\171\347\315\113\305\347\141\247\027\313\363\251\022 +\223\223\153\247\350\057\123\222\304\140\130\260\314\002\121\030 +\133\205\215\142\131\143\266\255\264\336\232\373\046\367\000\047 +\300\135\125\067\164\231\311\120\177\343\131\056\104\343\054\045 +\356\354\114\062\167\264\237\032\351\113\135\040\305\332\375\034 +\207\026\306\103\350\324\273\046\232\105\160\136\251\013\067\123 +\342\106\173\047\375\340\106\362\211\267\314\102\266\313\050\046 +\156\331\245\311\072\310\101\023\140\367\120\214\025\256\262\155 +\032\025\032\127\170\346\222\052\331\145\220\202\077\154\002\257 +\256\022\072\047\226\066\004\327\035\242\200\143\251\233\361\345 +\272\264\174\024\260\116\311\261\037\164\137\070\366\121\352\233 +\372\054\242\021\324\251\055\047\032\105\261\257\262\116\161\015 +\300\130\106\326\151\006\313\123\313\263\376\153\101\315\101\176 +\175\114\017\174\162\171\172\131\315\136\112\016\254\233\251\230 +\163\171\174\264\364\314\271\270\007\014\262\164\134\270\307\157 +\210\241\220\247\364\252\371\277\147\072\364\032\025\142\036\267 +\237\276\075\261\051\257\147\241\022\362\130\020\031\123\003\060 +\033\270\032\211\366\234\275\227\003\216\243\011\363\035\213\041 +\361\264\337\344\034\321\237\145\002\006\352\134\326\023\263\204 +\357\242\245\134\214\167\051\247\150\300\153\256\100\322\250\264 +\352\315\360\215\113\070\234\031\232\033\050\124\270\211\220\357 +\312\165\201\076\036\362\144\044\307\030\257\116\377\107\236\007 +\366\065\145\244\323\012\126\377\365\027\144\154\357\250\042\045 +\111\223\266\337\000\027\332\130\176\135\356\305\033\260\321\321 +\137\041\020\307\371\363\272\002\012\047\007\305\361\326\307\323 +\340\373\011\140\154 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "Amazon Root CA 2" +# Issuer: CN=Amazon Root CA 2,O=Amazon,C=US +# Serial Number:06:6c:9f:d2:96:35:86:9f:0a:0f:e5:86:78:f8:5b:26:bb:8a:37 +# Subject: CN=Amazon Root CA 2,O=Amazon,C=US +# Not Valid Before: Tue May 26 00:00:00 2015 +# Not Valid After : Sat May 26 00:00:00 2040 +# Fingerprint (SHA-256): 1B:A5:B2:AA:8C:65:40:1A:82:96:01:18:F8:0B:EC:4F:62:30:4D:83:CE:C4:71:3A:19:C3:9C:01:1E:A4:6D:B4 +# Fingerprint (SHA1): 5A:8C:EF:45:D7:A6:98:59:76:7A:8C:8B:44:96:B5:78:CF:47:4B:1A +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Amazon Root CA 2" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\132\214\357\105\327\246\230\131\166\172\214\213\104\226\265\170 +\317\107\113\032 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\310\345\215\316\250\102\342\172\300\052\134\174\236\046\277\146 +END +CKA_ISSUER MULTILINE_OCTAL +\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156 +\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157 +\156\040\122\157\157\164\040\103\101\040\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\023\006\154\237\322\226\065\206\237\012\017\345\206\170\370 +\133\046\273\212\067 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Amazon Root CA 3" +# +# Issuer: CN=Amazon Root CA 3,O=Amazon,C=US +# Serial Number:06:6c:9f:d5:74:97:36:66:3f:3b:0b:9a:d9:e8:9e:76:03:f2:4a +# Subject: CN=Amazon Root CA 3,O=Amazon,C=US +# Not Valid Before: Tue May 26 00:00:00 2015 +# Not Valid After : Sat May 26 00:00:00 2040 +# Fingerprint (SHA-256): 18:CE:6C:FE:7B:F1:4E:60:B2:E3:47:B8:DF:E8:68:CB:31:D0:2E:BB:3A:DA:27:15:69:F5:03:43:B4:6D:B3:A4 +# Fingerprint (SHA1): 0D:44:DD:8C:3C:8C:1A:1A:58:75:64:81:E9:0F:2E:2A:FF:B3:D2:6E +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Amazon Root CA 3" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156 +\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157 +\156\040\122\157\157\164\040\103\101\040\063 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156 +\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157 +\156\040\122\157\157\164\040\103\101\040\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\023\006\154\237\325\164\227\066\146\077\073\013\232\331\350 +\236\166\003\362\112 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\001\266\060\202\001\133\240\003\002\001\002\002\023\006 +\154\237\325\164\227\066\146\077\073\013\232\331\350\236\166\003 +\362\112\060\012\006\010\052\206\110\316\075\004\003\002\060\071 +\061\013\060\011\006\003\125\004\006\023\002\125\123\061\017\060 +\015\006\003\125\004\012\023\006\101\155\141\172\157\156\061\031 +\060\027\006\003\125\004\003\023\020\101\155\141\172\157\156\040 +\122\157\157\164\040\103\101\040\063\060\036\027\015\061\065\060 +\065\062\066\060\060\060\060\060\060\132\027\015\064\060\060\065 +\062\066\060\060\060\060\060\060\132\060\071\061\013\060\011\006 +\003\125\004\006\023\002\125\123\061\017\060\015\006\003\125\004 +\012\023\006\101\155\141\172\157\156\061\031\060\027\006\003\125 +\004\003\023\020\101\155\141\172\157\156\040\122\157\157\164\040 +\103\101\040\063\060\131\060\023\006\007\052\206\110\316\075\002 +\001\006\010\052\206\110\316\075\003\001\007\003\102\000\004\051 +\227\247\306\101\177\300\015\233\350\001\033\126\306\362\122\245 +\272\055\262\022\350\322\056\327\372\311\305\330\252\155\037\163 +\201\073\073\230\153\071\174\063\245\305\116\206\216\200\027\150 +\142\105\127\175\104\130\035\263\067\345\147\010\353\146\336\243 +\102\060\100\060\017\006\003\125\035\023\001\001\377\004\005\060 +\003\001\001\377\060\016\006\003\125\035\017\001\001\377\004\004 +\003\002\001\206\060\035\006\003\125\035\016\004\026\004\024\253 +\266\333\327\006\236\067\254\060\206\007\221\160\307\234\304\031 +\261\170\300\060\012\006\010\052\206\110\316\075\004\003\002\003 +\111\000\060\106\002\041\000\340\205\222\243\027\267\215\371\053 +\006\245\223\254\032\230\150\141\162\372\341\241\320\373\034\170 +\140\246\103\231\305\270\304\002\041\000\234\002\357\361\224\234 +\263\226\371\353\306\052\370\266\054\376\072\220\024\026\327\214 +\143\044\110\034\337\060\175\325\150\073 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "Amazon Root CA 3" +# Issuer: CN=Amazon Root CA 3,O=Amazon,C=US +# Serial Number:06:6c:9f:d5:74:97:36:66:3f:3b:0b:9a:d9:e8:9e:76:03:f2:4a +# Subject: CN=Amazon Root CA 3,O=Amazon,C=US +# Not Valid Before: Tue May 26 00:00:00 2015 +# Not Valid After : Sat May 26 00:00:00 2040 +# Fingerprint (SHA-256): 18:CE:6C:FE:7B:F1:4E:60:B2:E3:47:B8:DF:E8:68:CB:31:D0:2E:BB:3A:DA:27:15:69:F5:03:43:B4:6D:B3:A4 +# Fingerprint (SHA1): 0D:44:DD:8C:3C:8C:1A:1A:58:75:64:81:E9:0F:2E:2A:FF:B3:D2:6E +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Amazon Root CA 3" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\015\104\335\214\074\214\032\032\130\165\144\201\351\017\056\052 +\377\263\322\156 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\240\324\357\013\367\265\330\111\225\052\354\365\304\374\201\207 +END +CKA_ISSUER MULTILINE_OCTAL +\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156 +\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157 +\156\040\122\157\157\164\040\103\101\040\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\023\006\154\237\325\164\227\066\146\077\073\013\232\331\350 +\236\166\003\362\112 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Amazon Root CA 4" +# +# Issuer: CN=Amazon Root CA 4,O=Amazon,C=US +# Serial Number:06:6c:9f:d7:c1:bb:10:4c:29:43:e5:71:7b:7b:2c:c8:1a:c1:0e +# Subject: CN=Amazon Root CA 4,O=Amazon,C=US +# Not Valid Before: Tue May 26 00:00:00 2015 +# Not Valid After : Sat May 26 00:00:00 2040 +# Fingerprint (SHA-256): E3:5D:28:41:9E:D0:20:25:CF:A6:90:38:CD:62:39:62:45:8D:A5:C6:95:FB:DE:A3:C2:2B:0B:FB:25:89:70:92 +# Fingerprint (SHA1): F6:10:84:07:D6:F8:BB:67:98:0C:C2:E2:44:C2:EB:AE:1C:EF:63:BE +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Amazon Root CA 4" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156 +\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157 +\156\040\122\157\157\164\040\103\101\040\064 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156 +\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157 +\156\040\122\157\157\164\040\103\101\040\064 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\023\006\154\237\327\301\273\020\114\051\103\345\161\173\173 +\054\310\032\301\016 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\001\362\060\202\001\170\240\003\002\001\002\002\023\006 +\154\237\327\301\273\020\114\051\103\345\161\173\173\054\310\032 +\301\016\060\012\006\010\052\206\110\316\075\004\003\003\060\071 +\061\013\060\011\006\003\125\004\006\023\002\125\123\061\017\060 +\015\006\003\125\004\012\023\006\101\155\141\172\157\156\061\031 +\060\027\006\003\125\004\003\023\020\101\155\141\172\157\156\040 +\122\157\157\164\040\103\101\040\064\060\036\027\015\061\065\060 +\065\062\066\060\060\060\060\060\060\132\027\015\064\060\060\065 +\062\066\060\060\060\060\060\060\132\060\071\061\013\060\011\006 +\003\125\004\006\023\002\125\123\061\017\060\015\006\003\125\004 +\012\023\006\101\155\141\172\157\156\061\031\060\027\006\003\125 +\004\003\023\020\101\155\141\172\157\156\040\122\157\157\164\040 +\103\101\040\064\060\166\060\020\006\007\052\206\110\316\075\002 +\001\006\005\053\201\004\000\042\003\142\000\004\322\253\212\067 +\117\243\123\015\376\301\212\173\113\250\173\106\113\143\260\142 +\366\055\033\333\010\161\041\322\000\350\143\275\232\047\373\360 +\071\156\135\352\075\245\311\201\252\243\133\040\230\105\135\026 +\333\375\350\020\155\343\234\340\343\275\137\204\142\363\160\144 +\063\240\313\044\057\160\272\210\241\052\240\165\370\201\256\142 +\006\304\201\333\071\156\051\260\036\372\056\134\243\102\060\100 +\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001 +\377\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001 +\206\060\035\006\003\125\035\016\004\026\004\024\323\354\307\072 +\145\156\314\341\332\166\232\126\373\234\363\206\155\127\345\201 +\060\012\006\010\052\206\110\316\075\004\003\003\003\150\000\060 +\145\002\060\072\213\041\361\275\176\021\255\320\357\130\226\057 +\326\353\235\176\220\215\053\317\146\125\303\054\343\050\251\160 +\012\107\016\360\067\131\022\377\055\231\224\050\116\052\117\065 +\115\063\132\002\061\000\352\165\000\116\073\304\072\224\022\221 +\311\130\106\235\041\023\162\247\210\234\212\344\114\112\333\226 +\324\254\213\153\153\111\022\123\063\255\327\344\276\044\374\265 +\012\166\324\245\274\020 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "Amazon Root CA 4" +# Issuer: CN=Amazon Root CA 4,O=Amazon,C=US +# Serial Number:06:6c:9f:d7:c1:bb:10:4c:29:43:e5:71:7b:7b:2c:c8:1a:c1:0e +# Subject: CN=Amazon Root CA 4,O=Amazon,C=US +# Not Valid Before: Tue May 26 00:00:00 2015 +# Not Valid After : Sat May 26 00:00:00 2040 +# Fingerprint (SHA-256): E3:5D:28:41:9E:D0:20:25:CF:A6:90:38:CD:62:39:62:45:8D:A5:C6:95:FB:DE:A3:C2:2B:0B:FB:25:89:70:92 +# Fingerprint (SHA1): F6:10:84:07:D6:F8:BB:67:98:0C:C2:E2:44:C2:EB:AE:1C:EF:63:BE +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Amazon Root CA 4" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\366\020\204\007\326\370\273\147\230\014\302\342\104\302\353\256 +\034\357\143\276 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\211\274\047\325\353\027\215\006\152\151\325\375\211\107\264\315 +END +CKA_ISSUER MULTILINE_OCTAL +\060\071\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\017\060\015\006\003\125\004\012\023\006\101\155\141\172\157\156 +\061\031\060\027\006\003\125\004\003\023\020\101\155\141\172\157 +\156\040\122\157\157\164\040\103\101\040\064 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\023\006\154\237\327\301\273\020\114\051\103\345\161\173\173 +\054\310\032\301\016 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "LuxTrust Global Root 2" +# +# Issuer: CN=LuxTrust Global Root 2,O=LuxTrust S.A.,C=LU +# Serial Number:0a:7e:a6:df:4b:44:9e:da:6a:24:85:9e:e6:b8:15:d3:16:7f:bb:b1 +# Subject: CN=LuxTrust Global Root 2,O=LuxTrust S.A.,C=LU +# Not Valid Before: Thu Mar 05 13:21:57 2015 +# Not Valid After : Mon Mar 05 13:21:57 2035 +# Fingerprint (SHA-256): 54:45:5F:71:29:C2:0B:14:47:C4:18:F9:97:16:8F:24:C5:8F:C5:02:3B:F5:DA:5B:E2:EB:6E:1D:D8:90:2E:D5 +# Fingerprint (SHA1): 1E:0E:56:19:0A:D1:8B:25:98:B2:04:44:FF:66:8A:04:17:99:5F:3F +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "LuxTrust Global Root 2" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\106\061\013\060\011\006\003\125\004\006\023\002\114\125\061 +\026\060\024\006\003\125\004\012\014\015\114\165\170\124\162\165 +\163\164\040\123\056\101\056\061\037\060\035\006\003\125\004\003 +\014\026\114\165\170\124\162\165\163\164\040\107\154\157\142\141 +\154\040\122\157\157\164\040\062 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\106\061\013\060\011\006\003\125\004\006\023\002\114\125\061 +\026\060\024\006\003\125\004\012\014\015\114\165\170\124\162\165 +\163\164\040\123\056\101\056\061\037\060\035\006\003\125\004\003 +\014\026\114\165\170\124\162\165\163\164\040\107\154\157\142\141 +\154\040\122\157\157\164\040\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\024\012\176\246\337\113\104\236\332\152\044\205\236\346\270 +\025\323\026\177\273\261 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\303\060\202\003\253\240\003\002\001\002\002\024\012 +\176\246\337\113\104\236\332\152\044\205\236\346\270\025\323\026 +\177\273\261\060\015\006\011\052\206\110\206\367\015\001\001\013 +\005\000\060\106\061\013\060\011\006\003\125\004\006\023\002\114 +\125\061\026\060\024\006\003\125\004\012\014\015\114\165\170\124 +\162\165\163\164\040\123\056\101\056\061\037\060\035\006\003\125 +\004\003\014\026\114\165\170\124\162\165\163\164\040\107\154\157 +\142\141\154\040\122\157\157\164\040\062\060\036\027\015\061\065 +\060\063\060\065\061\063\062\061\065\067\132\027\015\063\065\060 +\063\060\065\061\063\062\061\065\067\132\060\106\061\013\060\011 +\006\003\125\004\006\023\002\114\125\061\026\060\024\006\003\125 +\004\012\014\015\114\165\170\124\162\165\163\164\040\123\056\101 +\056\061\037\060\035\006\003\125\004\003\014\026\114\165\170\124 +\162\165\163\164\040\107\154\157\142\141\154\040\122\157\157\164 +\040\062\060\202\002\042\060\015\006\011\052\206\110\206\367\015 +\001\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202 +\002\001\000\327\205\227\277\021\230\351\360\142\203\114\074\207 +\371\123\152\067\013\362\017\074\207\316\157\334\046\051\275\305 +\211\272\311\203\075\367\356\312\133\306\155\111\163\264\311\106 +\243\033\064\023\077\301\211\105\127\364\331\261\373\066\145\113 +\373\010\342\110\161\021\310\156\073\236\235\337\211\145\067\246 +\205\366\073\104\030\266\306\067\060\142\104\222\227\151\175\102 +\060\044\344\015\014\211\153\143\336\305\341\337\116\251\024\154 +\123\340\141\316\366\027\057\035\074\275\346\042\114\035\223\365 +\020\304\241\166\354\152\336\305\154\337\226\264\126\100\102\300 +\142\222\060\241\055\025\224\240\322\040\006\011\156\152\155\345 +\353\267\276\324\360\361\025\174\213\346\116\272\023\314\113\047 +\136\231\074\027\135\217\201\177\063\075\117\323\077\033\354\134 +\077\360\074\114\165\156\362\246\325\235\332\055\007\143\002\306 +\162\351\224\274\114\111\225\117\210\122\310\333\350\151\202\370 +\314\064\133\042\360\206\247\211\275\110\012\155\146\201\155\310 +\310\144\373\001\341\364\341\336\331\236\335\333\133\324\052\231 +\046\025\033\036\114\222\051\202\236\325\222\201\222\101\160\031 +\367\244\345\223\113\274\167\147\061\335\034\375\061\160\015\027 +\231\014\371\014\071\031\052\027\265\060\161\125\325\017\256\130 +\341\075\057\064\233\317\237\366\170\205\302\223\172\162\076\146 +\217\234\026\021\140\217\236\211\157\147\276\340\107\132\073\014 +\232\147\213\317\106\306\256\070\243\362\247\274\346\326\205\153 +\063\044\160\042\113\313\010\233\273\310\370\002\051\035\276\040 +\014\106\277\153\207\233\263\052\146\102\065\106\154\252\272\255 +\371\230\173\351\120\125\024\061\277\261\332\055\355\200\255\150 +\044\373\151\253\330\161\023\060\346\147\263\207\100\375\211\176 +\362\103\321\021\337\057\145\057\144\316\137\024\271\261\277\061 +\275\207\170\132\131\145\210\252\374\131\062\110\206\326\114\271 +\051\113\225\323\166\363\167\045\155\102\034\070\203\115\375\243 +\137\233\177\055\254\171\033\016\102\061\227\143\244\373\212\151 +\325\042\015\064\220\060\056\250\264\340\155\266\224\254\274\213 +\116\327\160\374\305\070\216\144\045\341\115\071\220\316\311\207 +\204\130\161\002\003\001\000\001\243\201\250\060\201\245\060\017 +\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060 +\102\006\003\125\035\040\004\073\060\071\060\067\006\007\053\201 +\053\001\001\001\012\060\054\060\052\006\010\053\006\001\005\005 +\007\002\001\026\036\150\164\164\160\163\072\057\057\162\145\160 +\157\163\151\164\157\162\171\056\154\165\170\164\162\165\163\164 +\056\154\165\060\016\006\003\125\035\017\001\001\377\004\004\003 +\002\001\006\060\037\006\003\125\035\043\004\030\060\026\200\024 +\377\030\050\166\371\110\005\054\241\256\361\053\033\053\262\123 +\370\113\174\263\060\035\006\003\125\035\016\004\026\004\024\377 +\030\050\166\371\110\005\054\241\256\361\053\033\053\262\123\370 +\113\174\263\060\015\006\011\052\206\110\206\367\015\001\001\013 +\005\000\003\202\002\001\000\152\031\024\355\156\171\301\054\207 +\324\015\160\176\327\366\170\311\013\004\116\304\261\316\223\160 +\376\260\124\300\062\315\231\060\144\027\277\017\345\342\063\375 +\007\066\100\162\016\032\266\152\131\326\000\345\150\040\335\056 +\162\015\037\152\144\061\040\204\175\111\246\132\067\353\105\311 +\205\365\324\307\027\231\007\346\233\125\344\014\350\251\264\316 +\214\133\265\021\134\317\212\016\015\326\254\167\201\376\062\234 +\044\236\162\316\124\363\320\157\242\126\326\354\303\067\054\145 +\130\276\127\000\032\362\065\372\353\173\061\135\302\301\022\075 +\226\201\210\226\211\301\131\134\172\346\177\160\064\347\203\342 +\261\341\341\270\130\357\324\225\344\140\234\360\226\227\162\214 +\353\204\002\056\145\217\244\267\322\177\147\335\310\323\236\134 +\252\251\244\240\045\024\006\233\354\117\176\055\013\177\035\165 +\361\063\330\355\316\270\165\155\076\133\271\230\035\061\015\126 +\330\103\017\060\221\262\004\153\335\126\276\225\200\125\147\276 +\330\315\203\331\030\356\056\017\206\055\222\236\160\023\354\336 +\121\311\103\170\002\245\115\310\371\137\304\221\130\106\026\167 +\132\164\252\100\274\007\237\060\271\261\367\022\027\335\343\377 +\044\100\035\172\152\321\117\030\012\252\220\035\353\100\036\337 +\241\036\104\222\020\232\362\215\341\321\113\106\236\350\105\102 +\227\352\105\231\363\354\146\325\002\372\362\246\112\044\252\336 +\316\271\312\371\077\223\157\371\243\272\352\245\076\231\255\375 +\377\173\231\365\145\356\360\131\050\147\327\220\225\244\023\204 +\251\204\301\350\316\316\165\223\143\032\274\074\352\325\144\037 +\055\052\022\071\306\303\132\062\355\107\221\026\016\274\070\301 +\120\336\217\312\052\220\064\034\356\101\224\234\136\031\056\370 +\105\111\231\164\221\260\004\157\343\004\132\261\253\052\253\376 +\307\320\226\266\332\341\112\144\006\156\140\115\275\102\116\377 +\170\332\044\312\033\264\327\226\071\154\256\361\016\252\247\175 +\110\213\040\114\317\144\326\270\227\106\260\116\321\052\126\072 +\240\223\275\257\200\044\340\012\176\347\312\325\312\350\205\125 +\334\066\052\341\224\150\223\307\146\162\104\017\200\041\062\154 +\045\307\043\200\203\012\353 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "LuxTrust Global Root 2" +# Issuer: CN=LuxTrust Global Root 2,O=LuxTrust S.A.,C=LU +# Serial Number:0a:7e:a6:df:4b:44:9e:da:6a:24:85:9e:e6:b8:15:d3:16:7f:bb:b1 +# Subject: CN=LuxTrust Global Root 2,O=LuxTrust S.A.,C=LU +# Not Valid Before: Thu Mar 05 13:21:57 2015 +# Not Valid After : Mon Mar 05 13:21:57 2035 +# Fingerprint (SHA-256): 54:45:5F:71:29:C2:0B:14:47:C4:18:F9:97:16:8F:24:C5:8F:C5:02:3B:F5:DA:5B:E2:EB:6E:1D:D8:90:2E:D5 +# Fingerprint (SHA1): 1E:0E:56:19:0A:D1:8B:25:98:B2:04:44:FF:66:8A:04:17:99:5F:3F +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "LuxTrust Global Root 2" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\036\016\126\031\012\321\213\045\230\262\004\104\377\146\212\004 +\027\231\137\077 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\262\341\011\000\141\257\367\361\221\157\304\255\215\136\073\174 +END +CKA_ISSUER MULTILINE_OCTAL +\060\106\061\013\060\011\006\003\125\004\006\023\002\114\125\061 +\026\060\024\006\003\125\004\012\014\015\114\165\170\124\162\165 +\163\164\040\123\056\101\056\061\037\060\035\006\003\125\004\003 +\014\026\114\165\170\124\162\165\163\164\040\107\154\157\142\141 +\154\040\122\157\157\164\040\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\024\012\176\246\337\113\104\236\332\152\044\205\236\346\270 +\025\323\026\177\273\261 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Symantec Class 1 Public Primary Certification Authority - G6" +# +# Issuer: CN=Symantec Class 1 Public Primary Certification Authority - G6,OU=Symantec Trust Network,O=Symantec Corporation,C=US +# Serial Number:24:32:75:f2:1d:2f:d2:09:33:f7:b4:6a:ca:d0:f3:98 +# Subject: CN=Symantec Class 1 Public Primary Certification Authority - G6,OU=Symantec Trust Network,O=Symantec Corporation,C=US +# Not Valid Before: Tue Oct 18 00:00:00 2011 +# Not Valid After : Tue Dec 01 23:59:59 2037 +# Fingerprint (SHA-256): 9D:19:0B:2E:31:45:66:68:5B:E8:A8:89:E2:7A:A8:C7:D7:AE:1D:8A:AD:DB:A3:C1:EC:F9:D2:48:63:CD:34:B9 +# Fingerprint (SHA1): 51:7F:61:1E:29:91:6B:53:82:FB:72:E7:44:D9:8D:C3:CC:53:6D:64 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Symantec Class 1 Public Primary Certification Authority - G6" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156 +\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061 +\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164 +\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153 +\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156 +\164\145\143\040\103\154\141\163\163\040\061\040\120\165\142\154 +\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 +\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 +\164\171\040\055\040\107\066 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156 +\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061 +\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164 +\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153 +\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156 +\164\145\143\040\103\154\141\163\163\040\061\040\120\165\142\154 +\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 +\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 +\164\171\040\055\040\107\066 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\044\062\165\362\035\057\322\011\063\367\264\152\312\320 +\363\230 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\366\060\202\002\336\240\003\002\001\002\002\020\044 +\062\165\362\035\057\322\011\063\367\264\152\312\320\363\230\060 +\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\201 +\224\061\013\060\011\006\003\125\004\006\023\002\125\123\061\035 +\060\033\006\003\125\004\012\023\024\123\171\155\141\156\164\145 +\143\040\103\157\162\160\157\162\141\164\151\157\156\061\037\060 +\035\006\003\125\004\013\023\026\123\171\155\141\156\164\145\143 +\040\124\162\165\163\164\040\116\145\164\167\157\162\153\061\105 +\060\103\006\003\125\004\003\023\074\123\171\155\141\156\164\145 +\143\040\103\154\141\163\163\040\061\040\120\165\142\154\151\143 +\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151 +\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 +\040\055\040\107\066\060\036\027\015\061\061\061\060\061\070\060 +\060\060\060\060\060\132\027\015\063\067\061\062\060\061\062\063 +\065\071\065\071\132\060\201\224\061\013\060\011\006\003\125\004 +\006\023\002\125\123\061\035\060\033\006\003\125\004\012\023\024 +\123\171\155\141\156\164\145\143\040\103\157\162\160\157\162\141 +\164\151\157\156\061\037\060\035\006\003\125\004\013\023\026\123 +\171\155\141\156\164\145\143\040\124\162\165\163\164\040\116\145 +\164\167\157\162\153\061\105\060\103\006\003\125\004\003\023\074 +\123\171\155\141\156\164\145\143\040\103\154\141\163\163\040\061 +\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171\040 +\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165 +\164\150\157\162\151\164\171\040\055\040\107\066\060\202\001\042 +\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003 +\202\001\017\000\060\202\001\012\002\202\001\001\000\307\071\327 +\111\144\251\231\202\042\114\352\105\331\007\026\343\173\364\203 +\350\231\163\372\153\261\066\340\232\167\240\100\302\201\215\001 +\307\314\214\275\217\175\367\171\343\172\114\003\115\331\373\375 +\207\070\050\054\335\232\213\124\010\333\147\373\033\214\376\050 +\222\057\276\267\262\110\247\201\241\330\136\210\303\314\071\100 +\101\132\321\334\345\332\020\237\057\332\001\115\375\056\106\174 +\371\056\047\012\151\067\356\221\243\033\152\314\104\277\033\307 +\303\324\021\262\120\140\227\011\275\056\042\365\101\204\146\237 +\315\100\246\251\000\200\301\037\225\222\237\336\363\110\357\333 +\035\167\141\374\177\337\356\226\244\162\320\266\076\377\170\047 +\257\313\222\025\151\010\333\143\020\342\346\227\254\156\334\254 +\366\242\316\036\107\231\271\211\267\022\346\241\324\315\131\021 +\147\303\157\205\330\102\116\050\276\131\125\131\004\225\253\217 +\067\200\277\015\360\374\037\072\144\061\130\201\170\327\342\065 +\366\040\077\051\270\217\026\156\076\110\334\265\114\007\341\362 +\032\352\176\012\171\326\250\275\353\135\206\053\115\002\003\001 +\000\001\243\102\060\100\060\016\006\003\125\035\017\001\001\377 +\004\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377 +\004\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026 +\004\024\063\101\350\310\071\022\025\223\110\362\226\062\056\132 +\365\332\224\137\123\140\060\015\006\011\052\206\110\206\367\015 +\001\001\013\005\000\003\202\001\001\000\025\343\163\127\261\027 +\266\137\111\151\104\246\366\136\172\147\254\322\336\165\111\253 +\376\045\125\307\072\311\104\025\020\156\277\061\153\313\331\007 +\223\177\034\205\143\000\343\062\022\340\314\313\373\071\154\217 +\342\123\342\074\100\063\331\244\214\107\346\255\130\373\211\257 +\343\336\206\051\126\064\054\105\270\022\372\104\211\156\055\024 +\045\050\044\001\145\326\352\122\254\005\156\126\022\011\075\320 +\164\364\327\275\006\312\250\072\215\126\102\372\215\162\076\164 +\361\003\162\337\207\033\136\016\172\125\226\054\070\267\230\205 +\315\115\063\104\311\224\217\132\061\060\067\113\243\072\022\263 +\347\066\321\041\150\113\055\070\346\123\256\034\045\126\010\126 +\003\147\204\235\306\303\316\044\142\307\114\066\317\260\006\104 +\267\365\137\002\335\331\124\351\057\220\116\172\310\116\203\100 +\014\232\227\074\067\277\277\354\366\360\264\205\167\050\301\013 +\310\147\202\020\027\070\242\267\006\352\233\277\072\370\351\043 +\007\277\164\340\230\070\025\125\170\356\162\000\134\031\243\364 +\322\063\340\377\275\321\124\071\051\017 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "Symantec Class 1 Public Primary Certification Authority - G6" +# Issuer: CN=Symantec Class 1 Public Primary Certification Authority - G6,OU=Symantec Trust Network,O=Symantec Corporation,C=US +# Serial Number:24:32:75:f2:1d:2f:d2:09:33:f7:b4:6a:ca:d0:f3:98 +# Subject: CN=Symantec Class 1 Public Primary Certification Authority - G6,OU=Symantec Trust Network,O=Symantec Corporation,C=US +# Not Valid Before: Tue Oct 18 00:00:00 2011 +# Not Valid After : Tue Dec 01 23:59:59 2037 +# Fingerprint (SHA-256): 9D:19:0B:2E:31:45:66:68:5B:E8:A8:89:E2:7A:A8:C7:D7:AE:1D:8A:AD:DB:A3:C1:EC:F9:D2:48:63:CD:34:B9 +# Fingerprint (SHA1): 51:7F:61:1E:29:91:6B:53:82:FB:72:E7:44:D9:8D:C3:CC:53:6D:64 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Symantec Class 1 Public Primary Certification Authority - G6" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\121\177\141\036\051\221\153\123\202\373\162\347\104\331\215\303 +\314\123\155\144 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\057\250\264\332\366\144\113\036\202\371\106\075\124\032\174\260 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156 +\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061 +\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164 +\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153 +\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156 +\164\145\143\040\103\154\141\163\163\040\061\040\120\165\142\154 +\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 +\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 +\164\171\040\055\040\107\066 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\044\062\165\362\035\057\322\011\063\367\264\152\312\320 +\363\230 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Symantec Class 2 Public Primary Certification Authority - G6" +# +# Issuer: CN=Symantec Class 2 Public Primary Certification Authority - G6,OU=Symantec Trust Network,O=Symantec Corporation,C=US +# Serial Number:64:82:9e:fc:37:1e:74:5d:fc:97:ff:97:c8:b1:ff:41 +# Subject: CN=Symantec Class 2 Public Primary Certification Authority - G6,OU=Symantec Trust Network,O=Symantec Corporation,C=US +# Not Valid Before: Tue Oct 18 00:00:00 2011 +# Not Valid After : Tue Dec 01 23:59:59 2037 +# Fingerprint (SHA-256): CB:62:7D:18:B5:8A:D5:6D:DE:33:1A:30:45:6B:C6:5C:60:1A:4E:9B:18:DE:DC:EA:08:E7:DA:AA:07:81:5F:F0 +# Fingerprint (SHA1): 40:B3:31:A0:E9:BF:E8:55:BC:39:93:CA:70:4F:4E:C2:51:D4:1D:8F +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Symantec Class 2 Public Primary Certification Authority - G6" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156 +\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061 +\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164 +\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153 +\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156 +\164\145\143\040\103\154\141\163\163\040\062\040\120\165\142\154 +\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 +\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 +\164\171\040\055\040\107\066 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156 +\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061 +\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164 +\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153 +\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156 +\164\145\143\040\103\154\141\163\163\040\062\040\120\165\142\154 +\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 +\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 +\164\171\040\055\040\107\066 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\144\202\236\374\067\036\164\135\374\227\377\227\310\261 +\377\101 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\366\060\202\002\336\240\003\002\001\002\002\020\144 +\202\236\374\067\036\164\135\374\227\377\227\310\261\377\101\060 +\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\201 +\224\061\013\060\011\006\003\125\004\006\023\002\125\123\061\035 +\060\033\006\003\125\004\012\023\024\123\171\155\141\156\164\145 +\143\040\103\157\162\160\157\162\141\164\151\157\156\061\037\060 +\035\006\003\125\004\013\023\026\123\171\155\141\156\164\145\143 +\040\124\162\165\163\164\040\116\145\164\167\157\162\153\061\105 +\060\103\006\003\125\004\003\023\074\123\171\155\141\156\164\145 +\143\040\103\154\141\163\163\040\062\040\120\165\142\154\151\143 +\040\120\162\151\155\141\162\171\040\103\145\162\164\151\146\151 +\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 +\040\055\040\107\066\060\036\027\015\061\061\061\060\061\070\060 +\060\060\060\060\060\132\027\015\063\067\061\062\060\061\062\063 +\065\071\065\071\132\060\201\224\061\013\060\011\006\003\125\004 +\006\023\002\125\123\061\035\060\033\006\003\125\004\012\023\024 +\123\171\155\141\156\164\145\143\040\103\157\162\160\157\162\141 +\164\151\157\156\061\037\060\035\006\003\125\004\013\023\026\123 +\171\155\141\156\164\145\143\040\124\162\165\163\164\040\116\145 +\164\167\157\162\153\061\105\060\103\006\003\125\004\003\023\074 +\123\171\155\141\156\164\145\143\040\103\154\141\163\163\040\062 +\040\120\165\142\154\151\143\040\120\162\151\155\141\162\171\040 +\103\145\162\164\151\146\151\143\141\164\151\157\156\040\101\165 +\164\150\157\162\151\164\171\040\055\040\107\066\060\202\001\042 +\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003 +\202\001\017\000\060\202\001\012\002\202\001\001\000\315\314\351 +\005\310\143\205\313\077\100\143\027\275\030\372\065\346\004\147 +\127\145\230\051\244\117\311\134\217\017\064\322\370\332\250\023 +\142\252\270\036\120\147\170\260\026\114\240\071\251\025\172\256 +\355\322\242\300\360\220\067\051\030\046\134\350\015\074\266\154 +\111\077\301\340\334\331\113\266\024\031\013\246\323\226\341\326 +\011\343\031\046\034\371\037\145\113\371\032\103\034\000\203\326 +\320\252\111\242\324\333\346\142\070\272\120\024\103\155\371\061 +\370\126\026\331\070\002\221\317\353\154\335\273\071\116\231\341 +\060\147\105\361\324\360\215\303\337\376\362\070\007\041\175\000 +\136\126\104\263\344\140\275\221\053\234\253\133\004\162\017\262 +\050\331\162\253\005\040\102\045\251\133\003\152\040\020\314\061 +\360\053\332\065\054\320\373\232\227\116\360\202\113\053\330\137 +\066\243\013\055\257\143\015\035\045\177\241\156\134\142\241\215 +\050\076\241\374\034\040\370\001\057\272\125\232\021\260\031\322 +\310\120\171\153\016\152\005\327\252\004\066\262\243\362\341\137 +\167\247\167\234\345\036\334\351\337\152\301\145\135\002\003\001 +\000\001\243\102\060\100\060\016\006\003\125\035\017\001\001\377 +\004\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377 +\004\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026 +\004\024\207\214\040\225\310\230\112\321\326\200\006\112\220\064 +\104\337\034\115\277\260\060\015\006\011\052\206\110\206\367\015 +\001\001\013\005\000\003\202\001\001\000\201\216\262\245\146\226 +\267\041\245\266\357\157\043\132\137\333\201\305\102\245\170\301 +\151\375\364\074\327\371\134\153\160\162\032\374\132\227\115\000 +\200\210\210\202\212\303\161\015\216\305\211\233\054\355\215\013 +\322\162\124\365\175\324\134\103\127\351\363\256\245\002\021\366 +\166\053\201\127\335\175\332\164\060\375\124\107\366\340\026\156 +\246\264\012\110\346\347\165\007\017\051\031\071\316\171\364\266 +\154\305\137\231\325\037\113\372\337\155\054\074\015\124\200\160 +\360\210\013\200\317\306\150\242\270\035\160\331\166\214\374\356 +\245\311\317\255\035\317\231\045\127\132\142\105\313\026\153\275 +\111\315\245\243\214\151\171\045\256\270\114\154\213\100\146\113 +\026\077\317\002\032\335\341\154\153\007\141\152\166\025\051\231 +\177\033\335\210\200\301\277\265\217\163\305\246\226\043\204\246 +\050\206\044\063\152\001\056\127\163\045\266\136\277\217\346\035 +\141\250\100\051\147\035\207\233\035\177\233\237\231\315\061\326 +\124\276\142\273\071\254\150\022\110\221\040\245\313\261\335\376 +\157\374\132\344\202\125\131\257\061\251 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "Symantec Class 2 Public Primary Certification Authority - G6" +# Issuer: CN=Symantec Class 2 Public Primary Certification Authority - G6,OU=Symantec Trust Network,O=Symantec Corporation,C=US +# Serial Number:64:82:9e:fc:37:1e:74:5d:fc:97:ff:97:c8:b1:ff:41 +# Subject: CN=Symantec Class 2 Public Primary Certification Authority - G6,OU=Symantec Trust Network,O=Symantec Corporation,C=US +# Not Valid Before: Tue Oct 18 00:00:00 2011 +# Not Valid After : Tue Dec 01 23:59:59 2037 +# Fingerprint (SHA-256): CB:62:7D:18:B5:8A:D5:6D:DE:33:1A:30:45:6B:C6:5C:60:1A:4E:9B:18:DE:DC:EA:08:E7:DA:AA:07:81:5F:F0 +# Fingerprint (SHA1): 40:B3:31:A0:E9:BF:E8:55:BC:39:93:CA:70:4F:4E:C2:51:D4:1D:8F +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Symantec Class 2 Public Primary Certification Authority - G6" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\100\263\061\240\351\277\350\125\274\071\223\312\160\117\116\302 +\121\324\035\217 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\175\013\203\345\373\174\255\007\117\040\251\265\337\143\355\171 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156 +\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061 +\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164 +\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153 +\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156 +\164\145\143\040\103\154\141\163\163\040\062\040\120\165\142\154 +\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 +\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 +\164\171\040\055\040\107\066 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\144\202\236\374\067\036\164\135\374\227\377\227\310\261 +\377\101 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Symantec Class 1 Public Primary Certification Authority - G4" +# +# Issuer: CN=Symantec Class 1 Public Primary Certification Authority - G4,OU=Symantec Trust Network,O=Symantec Corporation,C=US +# Serial Number:21:6e:33:a5:cb:d3:88:a4:6f:29:07:b4:27:3c:c4:d8 +# Subject: CN=Symantec Class 1 Public Primary Certification Authority - G4,OU=Symantec Trust Network,O=Symantec Corporation,C=US +# Not Valid Before: Wed Oct 05 00:00:00 2011 +# Not Valid After : Mon Jan 18 23:59:59 2038 +# Fingerprint (SHA-256): 36:3F:3C:84:9E:AB:03:B0:A2:A0:F6:36:D7:B8:6D:04:D3:AC:7F:CF:E2:6A:0A:91:21:AB:97:95:F6:E1:76:DF +# Fingerprint (SHA1): 84:F2:E3:DD:83:13:3E:A9:1D:19:52:7F:02:D7:29:BF:C1:5F:E6:67 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Symantec Class 1 Public Primary Certification Authority - G4" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156 +\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061 +\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164 +\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153 +\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156 +\164\145\143\040\103\154\141\163\163\040\061\040\120\165\142\154 +\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 +\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 +\164\171\040\055\040\107\064 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156 +\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061 +\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164 +\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153 +\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156 +\164\145\143\040\103\154\141\163\163\040\061\040\120\165\142\154 +\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 +\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 +\164\171\040\055\040\107\064 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\041\156\063\245\313\323\210\244\157\051\007\264\047\074 +\304\330 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\002\250\060\202\002\055\240\003\002\001\002\002\020\041 +\156\063\245\313\323\210\244\157\051\007\264\047\074\304\330\060 +\012\006\010\052\206\110\316\075\004\003\003\060\201\224\061\013 +\060\011\006\003\125\004\006\023\002\125\123\061\035\060\033\006 +\003\125\004\012\023\024\123\171\155\141\156\164\145\143\040\103 +\157\162\160\157\162\141\164\151\157\156\061\037\060\035\006\003 +\125\004\013\023\026\123\171\155\141\156\164\145\143\040\124\162 +\165\163\164\040\116\145\164\167\157\162\153\061\105\060\103\006 +\003\125\004\003\023\074\123\171\155\141\156\164\145\143\040\103 +\154\141\163\163\040\061\040\120\165\142\154\151\143\040\120\162 +\151\155\141\162\171\040\103\145\162\164\151\146\151\143\141\164 +\151\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040 +\107\064\060\036\027\015\061\061\061\060\060\065\060\060\060\060 +\060\060\132\027\015\063\070\060\061\061\070\062\063\065\071\065 +\071\132\060\201\224\061\013\060\011\006\003\125\004\006\023\002 +\125\123\061\035\060\033\006\003\125\004\012\023\024\123\171\155 +\141\156\164\145\143\040\103\157\162\160\157\162\141\164\151\157 +\156\061\037\060\035\006\003\125\004\013\023\026\123\171\155\141 +\156\164\145\143\040\124\162\165\163\164\040\116\145\164\167\157 +\162\153\061\105\060\103\006\003\125\004\003\023\074\123\171\155 +\141\156\164\145\143\040\103\154\141\163\163\040\061\040\120\165 +\142\154\151\143\040\120\162\151\155\141\162\171\040\103\145\162 +\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157 +\162\151\164\171\040\055\040\107\064\060\166\060\020\006\007\052 +\206\110\316\075\002\001\006\005\053\201\004\000\042\003\142\000 +\004\327\146\265\033\333\256\263\140\356\106\352\210\143\165\073 +\052\224\155\363\137\022\366\343\017\236\266\012\024\123\110\122 +\310\334\072\263\313\110\040\046\022\116\372\211\204\324\337\221 +\344\051\175\050\001\331\333\030\103\151\241\037\265\323\206\026 +\334\307\177\147\043\337\337\061\061\203\003\065\160\261\113\267 +\310\027\273\121\313\334\224\027\333\352\011\073\166\022\336\252 +\265\243\102\060\100\060\016\006\003\125\035\017\001\001\377\004 +\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377\004 +\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026\004 +\024\145\300\215\045\365\014\272\227\167\220\077\236\056\340\132 +\365\316\325\341\344\060\012\006\010\052\206\110\316\075\004\003 +\003\003\151\000\060\146\002\061\000\245\256\343\106\123\370\230 +\066\343\042\372\056\050\111\015\356\060\176\063\363\354\077\161 +\136\314\125\211\170\231\254\262\375\334\034\134\063\216\051\271 +\153\027\310\021\150\265\334\203\007\002\061\000\234\310\104\332 +\151\302\066\303\124\031\020\205\002\332\235\107\357\101\347\154 +\046\235\011\075\367\155\220\321\005\104\057\260\274\203\223\150 +\362\014\105\111\071\277\231\004\034\323\020\240 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "Symantec Class 1 Public Primary Certification Authority - G4" +# Issuer: CN=Symantec Class 1 Public Primary Certification Authority - G4,OU=Symantec Trust Network,O=Symantec Corporation,C=US +# Serial Number:21:6e:33:a5:cb:d3:88:a4:6f:29:07:b4:27:3c:c4:d8 +# Subject: CN=Symantec Class 1 Public Primary Certification Authority - G4,OU=Symantec Trust Network,O=Symantec Corporation,C=US +# Not Valid Before: Wed Oct 05 00:00:00 2011 +# Not Valid After : Mon Jan 18 23:59:59 2038 +# Fingerprint (SHA-256): 36:3F:3C:84:9E:AB:03:B0:A2:A0:F6:36:D7:B8:6D:04:D3:AC:7F:CF:E2:6A:0A:91:21:AB:97:95:F6:E1:76:DF +# Fingerprint (SHA1): 84:F2:E3:DD:83:13:3E:A9:1D:19:52:7F:02:D7:29:BF:C1:5F:E6:67 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Symantec Class 1 Public Primary Certification Authority - G4" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\204\362\343\335\203\023\076\251\035\031\122\177\002\327\051\277 +\301\137\346\147 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\004\345\200\077\125\377\131\207\244\062\322\025\245\345\252\346 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156 +\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061 +\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164 +\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153 +\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156 +\164\145\143\040\103\154\141\163\163\040\061\040\120\165\142\154 +\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 +\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 +\164\171\040\055\040\107\064 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\041\156\063\245\313\323\210\244\157\051\007\264\047\074 +\304\330 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Symantec Class 2 Public Primary Certification Authority - G4" +# +# Issuer: CN=Symantec Class 2 Public Primary Certification Authority - G4,OU=Symantec Trust Network,O=Symantec Corporation,C=US +# Serial Number:34:17:65:12:40:3b:b7:56:80:2d:80:cb:79:55:a6:1e +# Subject: CN=Symantec Class 2 Public Primary Certification Authority - G4,OU=Symantec Trust Network,O=Symantec Corporation,C=US +# Not Valid Before: Wed Oct 05 00:00:00 2011 +# Not Valid After : Mon Jan 18 23:59:59 2038 +# Fingerprint (SHA-256): FE:86:3D:08:22:FE:7A:23:53:FA:48:4D:59:24:E8:75:65:6D:3D:C9:FB:58:77:1F:6F:61:6F:9D:57:1B:C5:92 +# Fingerprint (SHA1): 67:24:90:2E:48:01:B0:22:96:40:10:46:B4:B1:67:2C:A9:75:FD:2B +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Symantec Class 2 Public Primary Certification Authority - G4" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156 +\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061 +\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164 +\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153 +\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156 +\164\145\143\040\103\154\141\163\163\040\062\040\120\165\142\154 +\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 +\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 +\164\171\040\055\040\107\064 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156 +\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061 +\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164 +\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153 +\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156 +\164\145\143\040\103\154\141\163\163\040\062\040\120\165\142\154 +\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 +\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 +\164\171\040\055\040\107\064 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\064\027\145\022\100\073\267\126\200\055\200\313\171\125 +\246\036 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\002\250\060\202\002\055\240\003\002\001\002\002\020\064 +\027\145\022\100\073\267\126\200\055\200\313\171\125\246\036\060 +\012\006\010\052\206\110\316\075\004\003\003\060\201\224\061\013 +\060\011\006\003\125\004\006\023\002\125\123\061\035\060\033\006 +\003\125\004\012\023\024\123\171\155\141\156\164\145\143\040\103 +\157\162\160\157\162\141\164\151\157\156\061\037\060\035\006\003 +\125\004\013\023\026\123\171\155\141\156\164\145\143\040\124\162 +\165\163\164\040\116\145\164\167\157\162\153\061\105\060\103\006 +\003\125\004\003\023\074\123\171\155\141\156\164\145\143\040\103 +\154\141\163\163\040\062\040\120\165\142\154\151\143\040\120\162 +\151\155\141\162\171\040\103\145\162\164\151\146\151\143\141\164 +\151\157\156\040\101\165\164\150\157\162\151\164\171\040\055\040 +\107\064\060\036\027\015\061\061\061\060\060\065\060\060\060\060 +\060\060\132\027\015\063\070\060\061\061\070\062\063\065\071\065 +\071\132\060\201\224\061\013\060\011\006\003\125\004\006\023\002 +\125\123\061\035\060\033\006\003\125\004\012\023\024\123\171\155 +\141\156\164\145\143\040\103\157\162\160\157\162\141\164\151\157 +\156\061\037\060\035\006\003\125\004\013\023\026\123\171\155\141 +\156\164\145\143\040\124\162\165\163\164\040\116\145\164\167\157 +\162\153\061\105\060\103\006\003\125\004\003\023\074\123\171\155 +\141\156\164\145\143\040\103\154\141\163\163\040\062\040\120\165 +\142\154\151\143\040\120\162\151\155\141\162\171\040\103\145\162 +\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157 +\162\151\164\171\040\055\040\107\064\060\166\060\020\006\007\052 +\206\110\316\075\002\001\006\005\053\201\004\000\042\003\142\000 +\004\321\331\112\216\114\015\204\112\121\272\174\357\323\314\372 +\072\232\265\247\143\023\075\001\340\111\076\372\301\107\311\222 +\263\072\327\376\157\234\367\232\072\017\365\016\012\012\303\077 +\310\347\022\024\216\325\325\155\230\054\263\161\062\012\353\052 +\275\366\327\152\040\013\147\105\234\322\262\277\123\042\146\011 +\135\333\021\363\361\005\063\130\243\342\270\317\174\315\202\233 +\275\243\102\060\100\060\016\006\003\125\035\017\001\001\377\004 +\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377\004 +\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026\004 +\024\075\062\363\072\251\014\220\204\371\242\214\151\006\141\124 +\057\207\162\376\005\060\012\006\010\052\206\110\316\075\004\003 +\003\003\151\000\060\146\002\061\000\310\246\251\257\101\177\265 +\311\021\102\026\150\151\114\134\270\047\030\266\230\361\300\177 +\220\155\207\323\214\106\027\360\076\117\374\352\260\010\304\172 +\113\274\010\057\307\342\247\157\145\002\061\000\326\131\336\206 +\316\137\016\312\124\325\306\320\025\016\374\213\224\162\324\216 +\000\130\123\317\176\261\113\015\345\120\206\353\236\153\337\377 +\051\246\330\107\331\240\226\030\333\362\105\263 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "Symantec Class 2 Public Primary Certification Authority - G4" +# Issuer: CN=Symantec Class 2 Public Primary Certification Authority - G4,OU=Symantec Trust Network,O=Symantec Corporation,C=US +# Serial Number:34:17:65:12:40:3b:b7:56:80:2d:80:cb:79:55:a6:1e +# Subject: CN=Symantec Class 2 Public Primary Certification Authority - G4,OU=Symantec Trust Network,O=Symantec Corporation,C=US +# Not Valid Before: Wed Oct 05 00:00:00 2011 +# Not Valid After : Mon Jan 18 23:59:59 2038 +# Fingerprint (SHA-256): FE:86:3D:08:22:FE:7A:23:53:FA:48:4D:59:24:E8:75:65:6D:3D:C9:FB:58:77:1F:6F:61:6F:9D:57:1B:C5:92 +# Fingerprint (SHA1): 67:24:90:2E:48:01:B0:22:96:40:10:46:B4:B1:67:2C:A9:75:FD:2B +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Symantec Class 2 Public Primary Certification Authority - G4" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\147\044\220\056\110\001\260\042\226\100\020\106\264\261\147\054 +\251\165\375\053 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\160\325\060\361\332\224\227\324\327\164\337\276\355\150\336\226 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\224\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\035\060\033\006\003\125\004\012\023\024\123\171\155\141\156 +\164\145\143\040\103\157\162\160\157\162\141\164\151\157\156\061 +\037\060\035\006\003\125\004\013\023\026\123\171\155\141\156\164 +\145\143\040\124\162\165\163\164\040\116\145\164\167\157\162\153 +\061\105\060\103\006\003\125\004\003\023\074\123\171\155\141\156 +\164\145\143\040\103\154\141\163\163\040\062\040\120\165\142\154 +\151\143\040\120\162\151\155\141\162\171\040\103\145\162\164\151 +\146\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151 +\164\171\040\055\040\107\064 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\064\027\145\022\100\073\267\126\200\055\200\313\171\125 +\246\036 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "D-TRUST Root CA 3 2013" +# +# Issuer: CN=D-TRUST Root CA 3 2013,O=D-Trust GmbH,C=DE +# Serial Number: 1039788 (0xfddac) +# Subject: CN=D-TRUST Root CA 3 2013,O=D-Trust GmbH,C=DE +# Not Valid Before: Fri Sep 20 08:25:51 2013 +# Not Valid After : Wed Sep 20 08:25:51 2028 +# Fingerprint (SHA-256): A1:A8:6D:04:12:1E:B8:7F:02:7C:66:F5:33:03:C2:8E:57:39:F9:43:FC:84:B3:8A:D6:AF:00:90:35:DD:94:57 +# Fingerprint (SHA1): 6C:7C:CC:E7:D4:AE:51:5F:99:08:CD:3F:F6:E8:C3:78:DF:6F:EF:97 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "D-TRUST Root CA 3 2013" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\105\061\013\060\011\006\003\125\004\006\023\002\104\105\061 +\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163 +\164\040\107\155\142\110\061\037\060\035\006\003\125\004\003\014 +\026\104\055\124\122\125\123\124\040\122\157\157\164\040\103\101 +\040\063\040\062\060\061\063 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\105\061\013\060\011\006\003\125\004\006\023\002\104\105\061 +\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163 +\164\040\107\155\142\110\061\037\060\035\006\003\125\004\003\014 +\026\104\055\124\122\125\123\124\040\122\157\157\164\040\103\101 +\040\063\040\062\060\061\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\003\017\335\254 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\016\060\202\002\366\240\003\002\001\002\002\003\017 +\335\254\060\015\006\011\052\206\110\206\367\015\001\001\013\005 +\000\060\105\061\013\060\011\006\003\125\004\006\023\002\104\105 +\061\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165 +\163\164\040\107\155\142\110\061\037\060\035\006\003\125\004\003 +\014\026\104\055\124\122\125\123\124\040\122\157\157\164\040\103 +\101\040\063\040\062\060\061\063\060\036\027\015\061\063\060\071 +\062\060\060\070\062\065\065\061\132\027\015\062\070\060\071\062 +\060\060\070\062\065\065\061\132\060\105\061\013\060\011\006\003 +\125\004\006\023\002\104\105\061\025\060\023\006\003\125\004\012 +\014\014\104\055\124\162\165\163\164\040\107\155\142\110\061\037 +\060\035\006\003\125\004\003\014\026\104\055\124\122\125\123\124 +\040\122\157\157\164\040\103\101\040\063\040\062\060\061\063\060 +\202\001\042\060\015\006\011\052\206\110\206\367\015\001\001\001 +\005\000\003\202\001\017\000\060\202\001\012\002\202\001\001\000 +\304\173\102\222\202\037\354\355\124\230\216\022\300\312\011\337 +\223\156\072\223\134\033\344\020\167\236\116\151\210\154\366\341 +\151\362\366\233\242\141\261\275\007\040\164\230\145\361\214\046 +\010\315\250\065\312\200\066\321\143\155\350\104\172\202\303\154 +\136\336\273\350\066\322\304\150\066\214\237\062\275\204\042\340 +\334\302\356\020\106\071\155\257\223\071\256\207\346\303\274\011 +\311\054\153\147\133\331\233\166\165\114\013\340\273\305\327\274 +\076\171\362\137\276\321\220\127\371\256\366\146\137\061\277\323 +\155\217\247\272\112\363\043\145\273\267\357\243\045\327\012\352 +\130\266\357\210\372\372\171\262\122\130\325\360\254\214\241\121 +\164\051\225\252\121\073\220\062\003\237\034\162\164\220\336\075 +\355\141\322\345\343\375\144\107\345\271\267\112\251\367\037\256 +\226\206\004\254\057\343\244\201\167\267\132\026\377\330\017\077 +\366\267\170\314\244\257\372\133\074\022\133\250\122\211\162\357 +\210\363\325\104\201\206\225\043\237\173\335\274\331\064\357\174 +\224\074\252\300\101\302\343\235\120\032\300\344\031\042\374\263 +\002\003\001\000\001\243\202\001\005\060\202\001\001\060\017\006 +\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\035 +\006\003\125\035\016\004\026\004\024\077\220\310\175\307\025\157 +\363\044\217\251\303\057\113\242\017\041\262\057\347\060\016\006 +\003\125\035\017\001\001\377\004\004\003\002\001\006\060\201\276 +\006\003\125\035\037\004\201\266\060\201\263\060\164\240\162\240 +\160\206\156\154\144\141\160\072\057\057\144\151\162\145\143\164 +\157\162\171\056\144\055\164\162\165\163\164\056\156\145\164\057 +\103\116\075\104\055\124\122\125\123\124\045\062\060\122\157\157 +\164\045\062\060\103\101\045\062\060\063\045\062\060\062\060\061 +\063\054\117\075\104\055\124\162\165\163\164\045\062\060\107\155 +\142\110\054\103\075\104\105\077\143\145\162\164\151\146\151\143 +\141\164\145\162\145\166\157\143\141\164\151\157\156\154\151\163 +\164\060\073\240\071\240\067\206\065\150\164\164\160\072\057\057 +\143\162\154\056\144\055\164\162\165\163\164\056\156\145\164\057 +\143\162\154\057\144\055\164\162\165\163\164\137\162\157\157\164 +\137\143\141\137\063\137\062\060\061\063\056\143\162\154\060\015 +\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202\001 +\001\000\016\131\016\130\344\164\110\043\104\317\064\041\265\234 +\024\032\255\232\113\267\263\210\155\134\251\027\160\360\052\237 +\215\173\371\173\205\372\307\071\350\020\010\260\065\053\137\317 +\002\322\323\234\310\013\036\356\005\124\256\067\223\004\011\175 +\154\217\302\164\274\370\034\224\276\061\001\100\055\363\044\040 +\267\204\125\054\134\310\365\164\112\020\031\213\243\307\355\065 +\326\011\110\323\016\300\272\071\250\260\106\002\260\333\306\210 +\131\302\276\374\173\261\053\317\176\142\207\125\226\314\001\157 +\233\147\041\225\065\213\370\020\374\161\033\267\113\067\151\246 +\073\326\354\213\356\301\260\363\045\311\217\222\175\241\352\303 +\312\104\277\046\245\164\222\234\343\164\353\235\164\331\313\115 +\207\330\374\264\151\154\213\240\103\007\140\170\227\351\331\223 +\174\302\106\274\233\067\122\243\355\212\074\023\251\173\123\113 +\111\232\021\005\054\013\156\126\254\037\056\202\154\340\151\147 +\265\016\155\055\331\344\300\025\361\077\372\030\162\341\025\155 +\047\133\055\060\050\053\237\110\232\144\053\231\357\362\165\111 +\137\134 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "D-TRUST Root CA 3 2013" +# Issuer: CN=D-TRUST Root CA 3 2013,O=D-Trust GmbH,C=DE +# Serial Number: 1039788 (0xfddac) +# Subject: CN=D-TRUST Root CA 3 2013,O=D-Trust GmbH,C=DE +# Not Valid Before: Fri Sep 20 08:25:51 2013 +# Not Valid After : Wed Sep 20 08:25:51 2028 +# Fingerprint (SHA-256): A1:A8:6D:04:12:1E:B8:7F:02:7C:66:F5:33:03:C2:8E:57:39:F9:43:FC:84:B3:8A:D6:AF:00:90:35:DD:94:57 +# Fingerprint (SHA1): 6C:7C:CC:E7:D4:AE:51:5F:99:08:CD:3F:F6:E8:C3:78:DF:6F:EF:97 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "D-TRUST Root CA 3 2013" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\154\174\314\347\324\256\121\137\231\010\315\077\366\350\303\170 +\337\157\357\227 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\267\042\146\230\176\326\003\340\301\161\346\165\315\126\105\277 +END +CKA_ISSUER MULTILINE_OCTAL +\060\105\061\013\060\011\006\003\125\004\006\023\002\104\105\061 +\025\060\023\006\003\125\004\012\014\014\104\055\124\162\165\163 +\164\040\107\155\142\110\061\037\060\035\006\003\125\004\003\014 +\026\104\055\124\122\125\123\124\040\122\157\157\164\040\103\101 +\040\063\040\062\060\061\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\003\017\335\254 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" +# +# Issuer: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1,OU=Kamu Sertifikasyon Merkezi - Kamu SM,O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK,L=Gebze - Kocaeli,C=TR +# Serial Number: 1 (0x1) +# Subject: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1,OU=Kamu Sertifikasyon Merkezi - Kamu SM,O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK,L=Gebze - Kocaeli,C=TR +# Not Valid Before: Mon Nov 25 08:25:55 2013 +# Not Valid After : Sun Oct 25 08:25:55 2043 +# Fingerprint (SHA-256): 46:ED:C3:68:90:46:D5:3A:45:3F:B3:10:4A:B8:0D:CA:EC:65:8B:26:60:EA:16:29:DD:7E:86:79:90:64:87:16 +# Fingerprint (SHA1): 31:43:64:9B:EC:CE:27:EC:ED:3A:3F:0B:8F:0D:E4:E8:91:DD:EE:CA +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\322\061\013\060\011\006\003\125\004\006\023\002\124\122 +\061\030\060\026\006\003\125\004\007\023\017\107\145\142\172\145 +\040\055\040\113\157\143\141\145\154\151\061\102\060\100\006\003 +\125\004\012\023\071\124\165\162\153\151\171\145\040\102\151\154 +\151\155\163\145\154\040\166\145\040\124\145\153\156\157\154\157 +\152\151\153\040\101\162\141\163\164\151\162\155\141\040\113\165 +\162\165\155\165\040\055\040\124\125\102\111\124\101\113\061\055 +\060\053\006\003\125\004\013\023\044\113\141\155\165\040\123\145 +\162\164\151\146\151\153\141\163\171\157\156\040\115\145\162\153 +\145\172\151\040\055\040\113\141\155\165\040\123\115\061\066\060 +\064\006\003\125\004\003\023\055\124\125\102\111\124\101\113\040 +\113\141\155\165\040\123\115\040\123\123\114\040\113\157\153\040 +\123\145\162\164\151\146\151\153\141\163\151\040\055\040\123\165 +\162\165\155\040\061 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\322\061\013\060\011\006\003\125\004\006\023\002\124\122 +\061\030\060\026\006\003\125\004\007\023\017\107\145\142\172\145 +\040\055\040\113\157\143\141\145\154\151\061\102\060\100\006\003 +\125\004\012\023\071\124\165\162\153\151\171\145\040\102\151\154 +\151\155\163\145\154\040\166\145\040\124\145\153\156\157\154\157 +\152\151\153\040\101\162\141\163\164\151\162\155\141\040\113\165 +\162\165\155\165\040\055\040\124\125\102\111\124\101\113\061\055 +\060\053\006\003\125\004\013\023\044\113\141\155\165\040\123\145 +\162\164\151\146\151\153\141\163\171\157\156\040\115\145\162\153 +\145\172\151\040\055\040\113\141\155\165\040\123\115\061\066\060 +\064\006\003\125\004\003\023\055\124\125\102\111\124\101\113\040 +\113\141\155\165\040\123\115\040\123\123\114\040\113\157\153\040 +\123\145\162\164\151\146\151\153\141\163\151\040\055\040\123\165 +\162\165\155\040\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\143\060\202\003\113\240\003\002\001\002\002\001\001 +\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060 +\201\322\061\013\060\011\006\003\125\004\006\023\002\124\122\061 +\030\060\026\006\003\125\004\007\023\017\107\145\142\172\145\040 +\055\040\113\157\143\141\145\154\151\061\102\060\100\006\003\125 +\004\012\023\071\124\165\162\153\151\171\145\040\102\151\154\151 +\155\163\145\154\040\166\145\040\124\145\153\156\157\154\157\152 +\151\153\040\101\162\141\163\164\151\162\155\141\040\113\165\162 +\165\155\165\040\055\040\124\125\102\111\124\101\113\061\055\060 +\053\006\003\125\004\013\023\044\113\141\155\165\040\123\145\162 +\164\151\146\151\153\141\163\171\157\156\040\115\145\162\153\145 +\172\151\040\055\040\113\141\155\165\040\123\115\061\066\060\064 +\006\003\125\004\003\023\055\124\125\102\111\124\101\113\040\113 +\141\155\165\040\123\115\040\123\123\114\040\113\157\153\040\123 +\145\162\164\151\146\151\153\141\163\151\040\055\040\123\165\162 +\165\155\040\061\060\036\027\015\061\063\061\061\062\065\060\070 +\062\065\065\065\132\027\015\064\063\061\060\062\065\060\070\062 +\065\065\065\132\060\201\322\061\013\060\011\006\003\125\004\006 +\023\002\124\122\061\030\060\026\006\003\125\004\007\023\017\107 +\145\142\172\145\040\055\040\113\157\143\141\145\154\151\061\102 +\060\100\006\003\125\004\012\023\071\124\165\162\153\151\171\145 +\040\102\151\154\151\155\163\145\154\040\166\145\040\124\145\153 +\156\157\154\157\152\151\153\040\101\162\141\163\164\151\162\155 +\141\040\113\165\162\165\155\165\040\055\040\124\125\102\111\124 +\101\113\061\055\060\053\006\003\125\004\013\023\044\113\141\155 +\165\040\123\145\162\164\151\146\151\153\141\163\171\157\156\040 +\115\145\162\153\145\172\151\040\055\040\113\141\155\165\040\123 +\115\061\066\060\064\006\003\125\004\003\023\055\124\125\102\111 +\124\101\113\040\113\141\155\165\040\123\115\040\123\123\114\040 +\113\157\153\040\123\145\162\164\151\146\151\153\141\163\151\040 +\055\040\123\165\162\165\155\040\061\060\202\001\042\060\015\006 +\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017 +\000\060\202\001\012\002\202\001\001\000\257\165\060\063\252\273 +\153\323\231\054\022\067\204\331\215\173\227\200\323\156\347\377 +\233\120\225\076\220\225\126\102\327\031\174\046\204\215\222\372 +\001\035\072\017\342\144\070\267\214\274\350\210\371\213\044\253 +\056\243\365\067\344\100\216\030\045\171\203\165\037\073\377\154 +\250\305\306\126\370\264\355\212\104\243\253\154\114\374\035\320 +\334\357\150\275\317\344\252\316\360\125\367\242\064\324\203\153 +\067\174\034\302\376\265\003\354\127\316\274\264\265\305\355\000 +\017\123\067\052\115\364\117\014\203\373\206\317\313\376\214\116 +\275\207\371\247\213\041\127\234\172\337\003\147\211\054\235\227 +\141\247\020\270\125\220\177\016\055\047\070\164\337\347\375\332 +\116\022\343\115\025\042\002\310\340\340\374\017\255\212\327\311 +\124\120\314\073\017\312\026\200\204\320\121\126\303\216\126\177 +\211\042\063\057\346\205\012\275\245\250\033\066\336\323\334\054 +\155\073\307\023\275\131\043\054\346\345\244\367\330\013\355\352 +\220\100\104\250\225\273\223\325\320\200\064\266\106\170\016\037 +\000\223\106\341\356\351\371\354\117\027\002\003\001\000\001\243 +\102\060\100\060\035\006\003\125\035\016\004\026\004\024\145\077 +\307\212\206\306\074\335\074\124\134\065\370\072\355\122\014\107 +\127\310\060\016\006\003\125\035\017\001\001\377\004\004\003\002 +\001\006\060\017\006\003\125\035\023\001\001\377\004\005\060\003 +\001\001\377\060\015\006\011\052\206\110\206\367\015\001\001\013 +\005\000\003\202\001\001\000\052\077\341\361\062\216\256\341\230 +\134\113\136\317\153\036\152\011\322\042\251\022\307\136\127\175 +\163\126\144\200\204\172\223\344\011\271\020\315\237\052\047\341 +\000\167\276\110\310\065\250\201\237\344\270\054\311\177\016\260 +\322\113\067\135\352\271\325\013\136\064\275\364\163\051\303\355 +\046\025\234\176\010\123\212\130\215\320\113\050\337\301\263\337 +\040\363\371\343\343\072\337\314\234\224\330\116\117\303\153\027 +\267\367\162\350\255\146\063\265\045\123\253\340\370\114\251\235 +\375\362\015\272\256\271\331\252\306\153\371\223\273\256\253\270 +\227\074\003\032\272\103\306\226\271\105\162\070\263\247\241\226 +\075\221\173\176\300\041\123\114\207\355\362\013\124\225\121\223 +\325\042\245\015\212\361\223\016\076\124\016\260\330\311\116\334 +\362\061\062\126\352\144\371\352\265\235\026\146\102\162\363\177 +\323\261\061\103\374\244\216\027\361\155\043\253\224\146\370\255 +\373\017\010\156\046\055\177\027\007\011\262\214\373\120\300\237 +\226\215\317\266\375\000\235\132\024\232\277\002\104\365\301\302 +\237\042\136\242\017\241\343 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" +# Issuer: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1,OU=Kamu Sertifikasyon Merkezi - Kamu SM,O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK,L=Gebze - Kocaeli,C=TR +# Serial Number: 1 (0x1) +# Subject: CN=TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1,OU=Kamu Sertifikasyon Merkezi - Kamu SM,O=Turkiye Bilimsel ve Teknolojik Arastirma Kurumu - TUBITAK,L=Gebze - Kocaeli,C=TR +# Not Valid Before: Mon Nov 25 08:25:55 2013 +# Not Valid After : Sun Oct 25 08:25:55 2043 +# Fingerprint (SHA-256): 46:ED:C3:68:90:46:D5:3A:45:3F:B3:10:4A:B8:0D:CA:EC:65:8B:26:60:EA:16:29:DD:7E:86:79:90:64:87:16 +# Fingerprint (SHA1): 31:43:64:9B:EC:CE:27:EC:ED:3A:3F:0B:8F:0D:E4:E8:91:DD:EE:CA +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\061\103\144\233\354\316\047\354\355\072\077\013\217\015\344\350 +\221\335\356\312 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\334\000\201\334\151\057\076\057\260\073\366\075\132\221\216\111 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\322\061\013\060\011\006\003\125\004\006\023\002\124\122 +\061\030\060\026\006\003\125\004\007\023\017\107\145\142\172\145 +\040\055\040\113\157\143\141\145\154\151\061\102\060\100\006\003 +\125\004\012\023\071\124\165\162\153\151\171\145\040\102\151\154 +\151\155\163\145\154\040\166\145\040\124\145\153\156\157\154\157 +\152\151\153\040\101\162\141\163\164\151\162\155\141\040\113\165 +\162\165\155\165\040\055\040\124\125\102\111\124\101\113\061\055 +\060\053\006\003\125\004\013\023\044\113\141\155\165\040\123\145 +\162\164\151\146\151\153\141\163\171\157\156\040\115\145\162\153 +\145\172\151\040\055\040\113\141\155\165\040\123\115\061\066\060 +\064\006\003\125\004\003\023\055\124\125\102\111\124\101\113\040 +\113\141\155\165\040\123\115\040\123\123\114\040\113\157\153\040 +\123\145\162\164\151\146\151\153\141\163\151\040\055\040\123\165 +\162\165\155\040\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "GDCA TrustAUTH R5 ROOT" +# +# Issuer: CN=GDCA TrustAUTH R5 ROOT,O="GUANG DONG CERTIFICATE AUTHORITY CO.,LTD.",C=CN +# Serial Number:7d:09:97:fe:f0:47:ea:7a +# Subject: CN=GDCA TrustAUTH R5 ROOT,O="GUANG DONG CERTIFICATE AUTHORITY CO.,LTD.",C=CN +# Not Valid Before: Wed Nov 26 05:13:15 2014 +# Not Valid After : Mon Dec 31 15:59:59 2040 +# Fingerprint (SHA-256): BF:FF:8F:D0:44:33:48:7D:6A:8A:A6:0C:1A:29:76:7A:9F:C2:BB:B0:5E:42:0F:71:3A:13:B9:92:89:1D:38:93 +# Fingerprint (SHA1): 0F:36:38:5B:81:1A:25:C3:9B:31:4E:83:CA:E9:34:66:70:CC:74:B4 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "GDCA TrustAUTH R5 ROOT" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\142\061\013\060\011\006\003\125\004\006\023\002\103\116\061 +\062\060\060\006\003\125\004\012\014\051\107\125\101\116\107\040 +\104\117\116\107\040\103\105\122\124\111\106\111\103\101\124\105 +\040\101\125\124\110\117\122\111\124\131\040\103\117\056\054\114 +\124\104\056\061\037\060\035\006\003\125\004\003\014\026\107\104 +\103\101\040\124\162\165\163\164\101\125\124\110\040\122\065\040 +\122\117\117\124 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\142\061\013\060\011\006\003\125\004\006\023\002\103\116\061 +\062\060\060\006\003\125\004\012\014\051\107\125\101\116\107\040 +\104\117\116\107\040\103\105\122\124\111\106\111\103\101\124\105 +\040\101\125\124\110\117\122\111\124\131\040\103\117\056\054\114 +\124\104\056\061\037\060\035\006\003\125\004\003\014\026\107\104 +\103\101\040\124\162\165\163\164\101\125\124\110\040\122\065\040 +\122\117\117\124 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\175\011\227\376\360\107\352\172 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\210\060\202\003\160\240\003\002\001\002\002\010\175 +\011\227\376\360\107\352\172\060\015\006\011\052\206\110\206\367 +\015\001\001\013\005\000\060\142\061\013\060\011\006\003\125\004 +\006\023\002\103\116\061\062\060\060\006\003\125\004\012\014\051 +\107\125\101\116\107\040\104\117\116\107\040\103\105\122\124\111 +\106\111\103\101\124\105\040\101\125\124\110\117\122\111\124\131 +\040\103\117\056\054\114\124\104\056\061\037\060\035\006\003\125 +\004\003\014\026\107\104\103\101\040\124\162\165\163\164\101\125 +\124\110\040\122\065\040\122\117\117\124\060\036\027\015\061\064 +\061\061\062\066\060\065\061\063\061\065\132\027\015\064\060\061 +\062\063\061\061\065\065\071\065\071\132\060\142\061\013\060\011 +\006\003\125\004\006\023\002\103\116\061\062\060\060\006\003\125 +\004\012\014\051\107\125\101\116\107\040\104\117\116\107\040\103 +\105\122\124\111\106\111\103\101\124\105\040\101\125\124\110\117 +\122\111\124\131\040\103\117\056\054\114\124\104\056\061\037\060 +\035\006\003\125\004\003\014\026\107\104\103\101\040\124\162\165 +\163\164\101\125\124\110\040\122\065\040\122\117\117\124\060\202 +\002\042\060\015\006\011\052\206\110\206\367\015\001\001\001\005 +\000\003\202\002\017\000\060\202\002\012\002\202\002\001\000\331 +\243\026\360\310\164\164\167\233\357\063\015\073\006\176\125\374 +\265\140\217\166\206\022\102\175\126\146\076\210\202\355\162\143 +\016\236\213\335\064\054\002\121\121\303\031\375\131\124\204\311 +\361\153\263\114\260\351\350\106\135\070\306\242\247\056\021\127 +\272\202\025\242\234\217\155\260\231\112\012\362\353\211\160\143 +\116\171\304\267\133\275\242\135\261\362\101\002\053\255\251\072 +\243\354\171\012\354\137\072\343\375\357\200\074\255\064\233\032 +\253\210\046\173\126\242\202\206\037\353\065\211\203\177\137\256 +\051\116\075\266\156\354\256\301\360\047\233\256\343\364\354\357 +\256\177\367\206\075\162\172\353\245\373\131\116\247\353\225\214 +\042\071\171\341\055\010\217\314\274\221\270\101\367\024\301\043 +\251\303\255\232\105\104\263\262\327\054\315\306\051\342\120\020 +\256\134\313\202\216\027\030\066\175\227\346\210\232\260\115\064 +\011\364\054\271\132\146\052\260\027\233\236\036\166\235\112\146 +\061\101\337\077\373\305\006\357\033\266\176\032\106\066\367\144 +\143\073\343\071\030\043\347\147\165\024\325\165\127\222\067\275 +\276\152\033\046\120\362\066\046\006\220\305\160\001\144\155\166 +\146\341\221\333\156\007\300\141\200\056\262\056\057\214\160\247 +\321\073\074\263\221\344\156\266\304\073\160\362\154\222\227\011 +\315\107\175\030\300\363\273\236\017\326\213\256\007\266\132\017 +\316\013\014\107\247\345\076\270\275\175\307\233\065\240\141\227 +\072\101\165\027\314\053\226\167\052\222\041\036\331\225\166\040 +\147\150\317\015\275\337\326\037\011\152\232\342\314\163\161\244 +\057\175\022\200\267\123\060\106\136\113\124\231\017\147\311\245 +\310\362\040\301\202\354\235\021\337\302\002\373\032\073\321\355 +\040\232\357\145\144\222\020\015\052\342\336\160\361\030\147\202 +\214\141\336\270\274\321\057\234\373\017\320\053\355\033\166\271 +\344\071\125\370\370\241\035\270\252\200\000\114\202\347\262\177 +\011\270\274\060\240\057\015\365\122\236\216\367\222\263\012\000 +\035\000\124\227\006\340\261\007\331\307\017\134\145\175\074\155 +\131\127\344\355\245\215\351\100\123\237\025\113\240\161\366\032 +\041\343\332\160\006\041\130\024\207\205\167\171\252\202\171\002 +\003\001\000\001\243\102\060\100\060\035\006\003\125\035\016\004 +\026\004\024\342\311\100\237\115\316\350\232\241\174\317\016\077 +\145\305\051\210\152\031\121\060\017\006\003\125\035\023\001\001 +\377\004\005\060\003\001\001\377\060\016\006\003\125\035\017\001 +\001\377\004\004\003\002\001\206\060\015\006\011\052\206\110\206 +\367\015\001\001\013\005\000\003\202\002\001\000\321\111\127\340 +\247\314\150\130\272\001\017\053\031\315\215\260\141\105\254\021 +\355\143\120\151\370\037\177\276\026\217\375\235\353\013\252\062 +\107\166\322\147\044\355\275\174\063\062\227\052\307\005\206\146 +\015\027\175\024\025\033\324\353\375\037\232\366\136\227\151\267 +\032\045\244\012\263\221\077\137\066\254\213\354\127\250\076\347 +\201\212\030\127\071\205\164\032\102\307\351\133\023\137\217\371 +\010\351\222\164\215\365\107\322\253\073\326\373\170\146\116\066 +\175\371\351\222\351\004\336\375\111\143\374\155\373\024\161\223 +\147\057\107\112\267\271\377\036\052\163\160\106\060\277\132\362 +\057\171\245\341\215\014\331\371\262\143\067\214\067\145\205\160 +\152\134\133\011\162\271\255\143\074\261\335\370\374\062\277\067 +\206\344\273\216\230\047\176\272\037\026\341\160\021\362\003\337 +\045\142\062\047\046\030\062\204\237\377\000\072\023\272\232\115 +\364\117\270\024\160\042\261\312\053\220\316\051\301\160\364\057 +\235\177\362\220\036\326\132\337\267\106\374\346\206\372\313\340 +\040\166\172\272\246\313\365\174\336\142\245\261\213\356\336\202 +\146\212\116\072\060\037\077\200\313\255\047\272\014\136\327\320 +\261\126\312\167\161\262\265\165\241\120\251\100\103\027\302\050 +\331\317\122\213\133\310\143\324\102\076\240\063\172\106\056\367 +\012\040\106\124\176\152\117\061\361\201\176\102\164\070\145\163 +\047\356\306\174\270\216\327\245\072\327\230\241\234\214\020\125 +\323\333\113\354\100\220\362\315\156\127\322\142\016\174\127\223 +\261\247\155\315\235\203\273\052\347\345\266\073\161\130\255\375 +\321\105\274\132\221\356\123\025\157\323\105\011\165\156\272\220 +\135\036\004\317\067\337\036\250\146\261\214\346\040\152\357\374 +\110\116\164\230\102\257\051\157\056\152\307\373\175\321\146\061 +\042\314\206\000\176\146\203\014\102\364\275\064\222\303\032\352 +\117\312\176\162\115\013\160\214\246\110\273\246\241\024\366\373 +\130\104\231\024\256\252\013\223\151\240\051\045\112\245\313\053 +\335\212\146\007\026\170\025\127\161\033\354\365\107\204\363\236 +\061\067\172\325\177\044\255\344\274\375\375\314\156\203\350\014 +\250\267\101\154\007\335\275\074\206\227\057\322 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "GDCA TrustAUTH R5 ROOT" +# Issuer: CN=GDCA TrustAUTH R5 ROOT,O="GUANG DONG CERTIFICATE AUTHORITY CO.,LTD.",C=CN +# Serial Number:7d:09:97:fe:f0:47:ea:7a +# Subject: CN=GDCA TrustAUTH R5 ROOT,O="GUANG DONG CERTIFICATE AUTHORITY CO.,LTD.",C=CN +# Not Valid Before: Wed Nov 26 05:13:15 2014 +# Not Valid After : Mon Dec 31 15:59:59 2040 +# Fingerprint (SHA-256): BF:FF:8F:D0:44:33:48:7D:6A:8A:A6:0C:1A:29:76:7A:9F:C2:BB:B0:5E:42:0F:71:3A:13:B9:92:89:1D:38:93 +# Fingerprint (SHA1): 0F:36:38:5B:81:1A:25:C3:9B:31:4E:83:CA:E9:34:66:70:CC:74:B4 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "GDCA TrustAUTH R5 ROOT" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\017\066\070\133\201\032\045\303\233\061\116\203\312\351\064\146 +\160\314\164\264 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\143\314\331\075\064\065\134\157\123\243\342\010\160\110\037\264 +END +CKA_ISSUER MULTILINE_OCTAL +\060\142\061\013\060\011\006\003\125\004\006\023\002\103\116\061 +\062\060\060\006\003\125\004\012\014\051\107\125\101\116\107\040 +\104\117\116\107\040\103\105\122\124\111\106\111\103\101\124\105 +\040\101\125\124\110\117\122\111\124\131\040\103\117\056\054\114 +\124\104\056\061\037\060\035\006\003\125\004\003\014\026\107\104 +\103\101\040\124\162\165\163\164\101\125\124\110\040\122\065\040 +\122\117\117\124 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\175\011\227\376\360\107\352\172 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "TrustCor RootCert CA-1" +# +# Issuer: CN=TrustCor RootCert CA-1,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA +# Serial Number:00:da:9b:ec:71:f3:03:b0:19 +# Subject: CN=TrustCor RootCert CA-1,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA +# Not Valid Before: Thu Feb 04 12:32:16 2016 +# Not Valid After : Mon Dec 31 17:23:16 2029 +# Fingerprint (SHA-256): D4:0E:9C:86:CD:8F:E4:68:C1:77:69:59:F4:9E:A7:74:FA:54:86:84:B6:C4:06:F3:90:92:61:F4:DC:E2:57:5C +# Fingerprint (SHA1): FF:BD:CD:E7:82:C8:43:5E:3C:6F:26:86:5C:CA:A8:3A:45:5B:C3:0A +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "TrustCor RootCert CA-1" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\244\061\013\060\011\006\003\125\004\006\023\002\120\101 +\061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155 +\141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141 +\155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012 +\014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145 +\155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060 +\045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162 +\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164 +\150\157\162\151\164\171\061\037\060\035\006\003\125\004\003\014 +\026\124\162\165\163\164\103\157\162\040\122\157\157\164\103\145 +\162\164\040\103\101\055\061 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\244\061\013\060\011\006\003\125\004\006\023\002\120\101 +\061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155 +\141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141 +\155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012 +\014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145 +\155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060 +\045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162 +\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164 +\150\157\162\151\164\171\061\037\060\035\006\003\125\004\003\014 +\026\124\162\165\163\164\103\157\162\040\122\157\157\164\103\145 +\162\164\040\103\101\055\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\011\000\332\233\354\161\363\003\260\031 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\060\060\202\003\030\240\003\002\001\002\002\011\000 +\332\233\354\161\363\003\260\031\060\015\006\011\052\206\110\206 +\367\015\001\001\013\005\000\060\201\244\061\013\060\011\006\003 +\125\004\006\023\002\120\101\061\017\060\015\006\003\125\004\010 +\014\006\120\141\156\141\155\141\061\024\060\022\006\003\125\004 +\007\014\013\120\141\156\141\155\141\040\103\151\164\171\061\044 +\060\042\006\003\125\004\012\014\033\124\162\165\163\164\103\157 +\162\040\123\171\163\164\145\155\163\040\123\056\040\144\145\040 +\122\056\114\056\061\047\060\045\006\003\125\004\013\014\036\124 +\162\165\163\164\103\157\162\040\103\145\162\164\151\146\151\143 +\141\164\145\040\101\165\164\150\157\162\151\164\171\061\037\060 +\035\006\003\125\004\003\014\026\124\162\165\163\164\103\157\162 +\040\122\157\157\164\103\145\162\164\040\103\101\055\061\060\036 +\027\015\061\066\060\062\060\064\061\062\063\062\061\066\132\027 +\015\062\071\061\062\063\061\061\067\062\063\061\066\132\060\201 +\244\061\013\060\011\006\003\125\004\006\023\002\120\101\061\017 +\060\015\006\003\125\004\010\014\006\120\141\156\141\155\141\061 +\024\060\022\006\003\125\004\007\014\013\120\141\156\141\155\141 +\040\103\151\164\171\061\044\060\042\006\003\125\004\012\014\033 +\124\162\165\163\164\103\157\162\040\123\171\163\164\145\155\163 +\040\123\056\040\144\145\040\122\056\114\056\061\047\060\045\006 +\003\125\004\013\014\036\124\162\165\163\164\103\157\162\040\103 +\145\162\164\151\146\151\143\141\164\145\040\101\165\164\150\157 +\162\151\164\171\061\037\060\035\006\003\125\004\003\014\026\124 +\162\165\163\164\103\157\162\040\122\157\157\164\103\145\162\164 +\040\103\101\055\061\060\202\001\042\060\015\006\011\052\206\110 +\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001 +\012\002\202\001\001\000\277\216\267\225\342\302\046\022\153\063 +\031\307\100\130\012\253\131\252\215\000\243\374\200\307\120\173 +\216\324\040\046\272\062\022\330\043\124\111\045\020\042\230\235 +\106\322\301\311\236\116\033\056\054\016\070\363\032\045\150\034 +\246\132\005\346\036\213\110\277\230\226\164\076\151\312\351\265 +\170\245\006\274\325\000\136\011\012\362\047\172\122\374\055\325 +\261\352\264\211\141\044\363\032\023\333\251\317\122\355\014\044 +\272\271\236\354\176\000\164\372\223\255\154\051\222\256\121\264 +\273\323\127\277\263\363\250\215\234\364\044\113\052\326\231\236 +\364\236\376\300\176\102\072\347\013\225\123\332\267\150\016\220 +\114\373\160\077\217\112\054\224\363\046\335\143\151\251\224\330 +\020\116\305\107\010\220\231\033\027\115\271\154\156\357\140\225 +\021\216\041\200\265\275\240\163\330\320\262\167\304\105\352\132 +\046\373\146\166\166\370\006\037\141\155\017\125\305\203\267\020 +\126\162\006\007\245\363\261\032\003\005\144\016\235\132\212\326 +\206\160\033\044\336\376\050\212\053\320\152\260\374\172\242\334 +\262\171\016\213\145\017\002\003\001\000\001\243\143\060\141\060 +\035\006\003\125\035\016\004\026\004\024\356\153\111\074\172\077 +\015\343\261\011\267\212\310\253\031\237\163\063\120\347\060\037 +\006\003\125\035\043\004\030\060\026\200\024\356\153\111\074\172 +\077\015\343\261\011\267\212\310\253\031\237\163\063\120\347\060 +\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377 +\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\206 +\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003 +\202\001\001\000\045\030\324\221\217\023\356\217\036\035\021\123 +\332\055\104\051\031\240\036\153\061\236\115\016\236\255\075\134 +\101\157\225\053\044\241\171\230\072\070\066\373\273\146\236\110 +\377\220\220\357\075\324\270\233\264\207\165\077\040\233\316\162 +\317\241\125\301\115\144\242\031\006\241\007\063\014\013\051\345 +\361\352\253\243\354\265\012\164\220\307\175\162\362\327\134\237 +\221\357\221\213\267\334\355\146\242\317\216\146\073\274\237\072 +\002\340\047\335\026\230\300\225\324\012\244\344\201\232\165\224 +\065\234\220\137\210\067\006\255\131\225\012\260\321\147\323\031 +\312\211\347\062\132\066\034\076\202\250\132\223\276\306\320\144 +\221\266\317\331\266\030\317\333\176\322\145\243\246\304\216\027 +\061\301\373\176\166\333\323\205\343\130\262\167\172\166\073\154 +\057\120\034\347\333\366\147\171\037\365\202\225\232\007\247\024 +\257\217\334\050\041\147\011\322\326\115\132\034\031\034\216\167 +\134\303\224\044\075\062\153\113\176\324\170\224\203\276\067\115 +\316\137\307\036\116\074\340\211\063\225\013\017\245\062\326\074 +\132\171\054\031 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "TrustCor RootCert CA-1" +# Issuer: CN=TrustCor RootCert CA-1,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA +# Serial Number:00:da:9b:ec:71:f3:03:b0:19 +# Subject: CN=TrustCor RootCert CA-1,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA +# Not Valid Before: Thu Feb 04 12:32:16 2016 +# Not Valid After : Mon Dec 31 17:23:16 2029 +# Fingerprint (SHA-256): D4:0E:9C:86:CD:8F:E4:68:C1:77:69:59:F4:9E:A7:74:FA:54:86:84:B6:C4:06:F3:90:92:61:F4:DC:E2:57:5C +# Fingerprint (SHA1): FF:BD:CD:E7:82:C8:43:5E:3C:6F:26:86:5C:CA:A8:3A:45:5B:C3:0A +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "TrustCor RootCert CA-1" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\377\275\315\347\202\310\103\136\074\157\046\206\134\312\250\072 +\105\133\303\012 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\156\205\361\334\032\000\323\042\325\262\262\254\153\067\005\105 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\244\061\013\060\011\006\003\125\004\006\023\002\120\101 +\061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155 +\141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141 +\155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012 +\014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145 +\155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060 +\045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162 +\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164 +\150\157\162\151\164\171\061\037\060\035\006\003\125\004\003\014 +\026\124\162\165\163\164\103\157\162\040\122\157\157\164\103\145 +\162\164\040\103\101\055\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\011\000\332\233\354\161\363\003\260\031 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "TrustCor RootCert CA-2" +# +# Issuer: CN=TrustCor RootCert CA-2,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA +# Serial Number:25:a1:df:ca:33:cb:59:02 +# Subject: CN=TrustCor RootCert CA-2,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA +# Not Valid Before: Thu Feb 04 12:32:23 2016 +# Not Valid After : Sun Dec 31 17:26:39 2034 +# Fingerprint (SHA-256): 07:53:E9:40:37:8C:1B:D5:E3:83:6E:39:5D:AE:A5:CB:83:9E:50:46:F1:BD:0E:AE:19:51:CF:10:FE:C7:C9:65 +# Fingerprint (SHA1): B8:BE:6D:CB:56:F1:55:B9:63:D4:12:CA:4E:06:34:C7:94:B2:1C:C0 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "TrustCor RootCert CA-2" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\244\061\013\060\011\006\003\125\004\006\023\002\120\101 +\061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155 +\141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141 +\155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012 +\014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145 +\155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060 +\045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162 +\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164 +\150\157\162\151\164\171\061\037\060\035\006\003\125\004\003\014 +\026\124\162\165\163\164\103\157\162\040\122\157\157\164\103\145 +\162\164\040\103\101\055\062 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\244\061\013\060\011\006\003\125\004\006\023\002\120\101 +\061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155 +\141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141 +\155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012 +\014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145 +\155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060 +\045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162 +\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164 +\150\157\162\151\164\171\061\037\060\035\006\003\125\004\003\014 +\026\124\162\165\163\164\103\157\162\040\122\157\157\164\103\145 +\162\164\040\103\101\055\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\045\241\337\312\063\313\131\002 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\006\057\060\202\004\027\240\003\002\001\002\002\010\045 +\241\337\312\063\313\131\002\060\015\006\011\052\206\110\206\367 +\015\001\001\013\005\000\060\201\244\061\013\060\011\006\003\125 +\004\006\023\002\120\101\061\017\060\015\006\003\125\004\010\014 +\006\120\141\156\141\155\141\061\024\060\022\006\003\125\004\007 +\014\013\120\141\156\141\155\141\040\103\151\164\171\061\044\060 +\042\006\003\125\004\012\014\033\124\162\165\163\164\103\157\162 +\040\123\171\163\164\145\155\163\040\123\056\040\144\145\040\122 +\056\114\056\061\047\060\045\006\003\125\004\013\014\036\124\162 +\165\163\164\103\157\162\040\103\145\162\164\151\146\151\143\141 +\164\145\040\101\165\164\150\157\162\151\164\171\061\037\060\035 +\006\003\125\004\003\014\026\124\162\165\163\164\103\157\162\040 +\122\157\157\164\103\145\162\164\040\103\101\055\062\060\036\027 +\015\061\066\060\062\060\064\061\062\063\062\062\063\132\027\015 +\063\064\061\062\063\061\061\067\062\066\063\071\132\060\201\244 +\061\013\060\011\006\003\125\004\006\023\002\120\101\061\017\060 +\015\006\003\125\004\010\014\006\120\141\156\141\155\141\061\024 +\060\022\006\003\125\004\007\014\013\120\141\156\141\155\141\040 +\103\151\164\171\061\044\060\042\006\003\125\004\012\014\033\124 +\162\165\163\164\103\157\162\040\123\171\163\164\145\155\163\040 +\123\056\040\144\145\040\122\056\114\056\061\047\060\045\006\003 +\125\004\013\014\036\124\162\165\163\164\103\157\162\040\103\145 +\162\164\151\146\151\143\141\164\145\040\101\165\164\150\157\162 +\151\164\171\061\037\060\035\006\003\125\004\003\014\026\124\162 +\165\163\164\103\157\162\040\122\157\157\164\103\145\162\164\040 +\103\101\055\062\060\202\002\042\060\015\006\011\052\206\110\206 +\367\015\001\001\001\005\000\003\202\002\017\000\060\202\002\012 +\002\202\002\001\000\247\040\156\302\052\242\142\044\225\220\166 +\310\070\176\200\322\253\301\233\145\005\224\364\301\012\020\325 +\002\254\355\237\223\307\207\310\260\047\053\102\014\075\012\076 +\101\132\236\165\335\215\312\340\233\354\150\062\244\151\222\150 +\214\013\201\016\126\240\076\032\335\054\045\024\202\057\227\323 +\144\106\364\124\251\334\072\124\055\061\053\231\202\362\331\052 +\327\357\161\000\270\061\244\276\172\044\007\303\102\040\362\212 +\324\222\004\033\145\126\114\154\324\373\266\141\132\107\043\264 +\330\151\264\267\072\320\164\074\014\165\241\214\116\166\241\351 +\333\052\245\073\372\316\260\377\176\152\050\375\047\034\310\261 +\351\051\361\127\156\144\264\320\301\025\155\016\276\056\016\106 +\310\136\364\121\376\357\016\143\072\073\161\272\317\157\131\312 +\014\343\233\135\111\270\114\342\127\261\230\212\102\127\234\166 +\357\357\275\321\150\250\322\364\011\273\167\065\276\045\202\010 +\304\026\054\104\040\126\251\104\021\167\357\135\264\035\252\136 +\153\076\213\062\366\007\057\127\004\222\312\365\376\235\302\351 +\350\263\216\114\113\002\061\331\344\074\110\202\047\367\030\202 +\166\110\072\161\261\023\241\071\325\056\305\064\302\035\142\205 +\337\003\376\115\364\257\075\337\134\133\215\372\160\341\245\176 +\047\307\206\056\152\217\022\306\204\136\103\121\120\234\031\233 +\170\346\374\366\355\107\176\173\075\146\357\023\023\210\137\074 +\241\143\373\371\254\207\065\237\363\202\236\244\077\012\234\061 +\151\213\231\244\210\112\216\156\146\115\357\026\304\017\171\050 +\041\140\015\205\026\175\327\124\070\361\222\126\375\265\063\114 +\203\334\327\020\237\113\375\306\370\102\275\272\174\163\002\340 +\377\175\315\133\341\324\254\141\173\127\325\112\173\133\324\205 +\130\047\135\277\370\053\140\254\240\046\256\024\041\047\306\167 +\232\063\200\074\136\106\077\367\303\261\243\206\063\306\350\136 +\015\271\065\054\252\106\301\205\002\165\200\240\353\044\373\025 +\252\344\147\177\156\167\077\364\004\212\057\174\173\343\027\141 +\360\335\011\251\040\310\276\011\244\320\176\104\303\262\060\112 +\070\252\251\354\030\232\007\202\053\333\270\234\030\255\332\340 +\106\027\254\317\135\002\003\001\000\001\243\143\060\141\060\035 +\006\003\125\035\016\004\026\004\024\331\376\041\100\156\224\236 +\274\233\075\234\175\230\040\031\345\214\060\142\262\060\037\006 +\003\125\035\043\004\030\060\026\200\024\331\376\041\100\156\224 +\236\274\233\075\234\175\230\040\031\345\214\060\142\262\060\017 +\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060 +\016\006\003\125\035\017\001\001\377\004\004\003\002\001\206\060 +\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202 +\002\001\000\236\105\236\014\073\266\357\341\072\310\174\321\000 +\075\317\342\352\006\265\262\072\273\006\113\150\172\320\043\227 +\164\247\054\360\010\330\171\132\327\132\204\212\330\022\232\033 +\331\175\134\115\160\305\245\371\253\345\243\211\211\335\001\372 +\354\335\371\351\222\227\333\260\106\102\363\323\142\252\225\376 +\061\147\024\151\130\220\012\252\013\356\067\043\307\120\121\264 +\365\176\236\343\173\367\344\314\102\062\055\111\014\313\377\111 +\014\233\036\064\375\156\156\226\212\171\003\266\157\333\011\313 +\375\137\145\024\067\341\070\365\363\141\026\130\344\265\155\015 +\013\004\033\077\120\055\177\263\307\172\032\026\200\140\370\212 +\037\351\033\052\306\371\272\001\032\151\277\322\130\307\124\127 +\010\217\341\071\140\167\113\254\131\204\032\210\361\335\313\117 +\170\327\347\341\063\055\374\356\101\372\040\260\276\313\367\070 +\224\300\341\320\205\017\273\355\054\163\253\355\376\222\166\032 +\144\177\133\015\063\011\007\063\173\006\077\021\244\134\160\074 +\205\300\317\343\220\250\203\167\372\333\346\305\214\150\147\020 +\147\245\122\055\360\304\231\217\177\277\321\153\342\265\107\326 +\331\320\205\231\115\224\233\017\113\215\356\000\132\107\035\021 +\003\254\101\030\257\207\267\157\014\072\217\312\317\334\003\301 +\242\011\310\345\375\200\136\310\140\102\001\033\032\123\132\273 +\067\246\267\274\272\204\351\036\154\032\324\144\332\324\103\376 +\223\213\113\362\054\171\026\020\324\223\013\210\217\241\330\206 +\024\106\221\107\233\050\044\357\127\122\116\134\102\234\252\367 +\111\354\047\350\100\036\263\246\211\042\162\234\365\015\063\264 +\130\243\060\073\335\324\152\124\223\276\032\115\363\223\224\367 +\374\204\013\077\204\040\134\064\003\104\305\332\255\274\012\301 +\002\317\036\345\224\331\363\216\133\330\114\360\235\354\141\027 +\273\024\062\124\014\002\051\223\036\222\206\366\177\357\347\222 +\005\016\131\335\231\010\056\056\372\234\000\122\323\305\146\051 +\344\247\227\104\244\016\050\201\023\065\305\366\157\144\346\101 +\304\325\057\314\064\105\045\317\101\000\226\075\112\056\302\226 +\230\117\116\112\234\227\267\333\037\222\062\310\377\017\121\156 +\326\354\011 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "TrustCor RootCert CA-2" +# Issuer: CN=TrustCor RootCert CA-2,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA +# Serial Number:25:a1:df:ca:33:cb:59:02 +# Subject: CN=TrustCor RootCert CA-2,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA +# Not Valid Before: Thu Feb 04 12:32:23 2016 +# Not Valid After : Sun Dec 31 17:26:39 2034 +# Fingerprint (SHA-256): 07:53:E9:40:37:8C:1B:D5:E3:83:6E:39:5D:AE:A5:CB:83:9E:50:46:F1:BD:0E:AE:19:51:CF:10:FE:C7:C9:65 +# Fingerprint (SHA1): B8:BE:6D:CB:56:F1:55:B9:63:D4:12:CA:4E:06:34:C7:94:B2:1C:C0 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "TrustCor RootCert CA-2" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\270\276\155\313\126\361\125\271\143\324\022\312\116\006\064\307 +\224\262\034\300 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\242\341\370\030\013\272\105\325\307\101\052\273\067\122\105\144 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\244\061\013\060\011\006\003\125\004\006\023\002\120\101 +\061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155 +\141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141 +\155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012 +\014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145 +\155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060 +\045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162 +\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164 +\150\157\162\151\164\171\061\037\060\035\006\003\125\004\003\014 +\026\124\162\165\163\164\103\157\162\040\122\157\157\164\103\145 +\162\164\040\103\101\055\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\045\241\337\312\063\313\131\002 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "TrustCor ECA-1" +# +# Issuer: CN=TrustCor ECA-1,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA +# Serial Number:00:84:82:2c:5f:1c:62:d0:40 +# Subject: CN=TrustCor ECA-1,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA +# Not Valid Before: Thu Feb 04 12:32:33 2016 +# Not Valid After : Mon Dec 31 17:28:07 2029 +# Fingerprint (SHA-256): 5A:88:5D:B1:9C:01:D9:12:C5:75:93:88:93:8C:AF:BB:DF:03:1A:B2:D4:8E:91:EE:15:58:9B:42:97:1D:03:9C +# Fingerprint (SHA1): 58:D1:DF:95:95:67:6B:63:C0:F0:5B:1C:17:4D:8B:84:0B:C8:78:BD +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "TrustCor ECA-1" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\234\061\013\060\011\006\003\125\004\006\023\002\120\101 +\061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155 +\141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141 +\155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012 +\014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145 +\155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060 +\045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162 +\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164 +\150\157\162\151\164\171\061\027\060\025\006\003\125\004\003\014 +\016\124\162\165\163\164\103\157\162\040\105\103\101\055\061 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\234\061\013\060\011\006\003\125\004\006\023\002\120\101 +\061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155 +\141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141 +\155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012 +\014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145 +\155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060 +\045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162 +\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164 +\150\157\162\151\164\171\061\027\060\025\006\003\125\004\003\014 +\016\124\162\165\163\164\103\157\162\040\105\103\101\055\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\011\000\204\202\054\137\034\142\320\100 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\040\060\202\003\010\240\003\002\001\002\002\011\000 +\204\202\054\137\034\142\320\100\060\015\006\011\052\206\110\206 +\367\015\001\001\013\005\000\060\201\234\061\013\060\011\006\003 +\125\004\006\023\002\120\101\061\017\060\015\006\003\125\004\010 +\014\006\120\141\156\141\155\141\061\024\060\022\006\003\125\004 +\007\014\013\120\141\156\141\155\141\040\103\151\164\171\061\044 +\060\042\006\003\125\004\012\014\033\124\162\165\163\164\103\157 +\162\040\123\171\163\164\145\155\163\040\123\056\040\144\145\040 +\122\056\114\056\061\047\060\045\006\003\125\004\013\014\036\124 +\162\165\163\164\103\157\162\040\103\145\162\164\151\146\151\143 +\141\164\145\040\101\165\164\150\157\162\151\164\171\061\027\060 +\025\006\003\125\004\003\014\016\124\162\165\163\164\103\157\162 +\040\105\103\101\055\061\060\036\027\015\061\066\060\062\060\064 +\061\062\063\062\063\063\132\027\015\062\071\061\062\063\061\061 +\067\062\070\060\067\132\060\201\234\061\013\060\011\006\003\125 +\004\006\023\002\120\101\061\017\060\015\006\003\125\004\010\014 +\006\120\141\156\141\155\141\061\024\060\022\006\003\125\004\007 +\014\013\120\141\156\141\155\141\040\103\151\164\171\061\044\060 +\042\006\003\125\004\012\014\033\124\162\165\163\164\103\157\162 +\040\123\171\163\164\145\155\163\040\123\056\040\144\145\040\122 +\056\114\056\061\047\060\045\006\003\125\004\013\014\036\124\162 +\165\163\164\103\157\162\040\103\145\162\164\151\146\151\143\141 +\164\145\040\101\165\164\150\157\162\151\164\171\061\027\060\025 +\006\003\125\004\003\014\016\124\162\165\163\164\103\157\162\040 +\105\103\101\055\061\060\202\001\042\060\015\006\011\052\206\110 +\206\367\015\001\001\001\005\000\003\202\001\017\000\060\202\001 +\012\002\202\001\001\000\317\217\340\021\265\237\250\166\166\333 +\337\017\124\357\163\143\051\202\255\107\306\243\153\355\376\137 +\063\370\103\121\351\032\063\221\061\027\240\164\304\324\247\001 +\346\262\222\076\152\235\355\016\371\164\230\100\323\077\003\200 +\006\202\100\350\261\342\247\121\247\035\203\046\153\253\336\372 +\027\221\053\330\306\254\036\261\236\031\001\325\227\246\352\015 +\267\304\125\037\047\174\322\010\325\166\037\051\025\207\100\071 +\335\070\105\021\165\320\232\247\064\340\277\315\310\122\035\271 +\107\176\015\270\273\306\014\366\163\127\026\132\176\103\221\037 +\125\072\306\155\104\004\252\234\251\234\247\114\211\027\203\256 +\243\004\136\122\200\213\036\022\045\021\031\327\014\175\175\061 +\104\101\352\333\257\260\034\357\201\320\054\305\232\041\233\075 +\355\102\073\120\046\362\354\316\161\141\006\142\041\124\116\177 +\301\235\076\177\040\214\200\313\052\330\227\142\310\203\063\221 +\175\260\242\132\017\127\350\073\314\362\045\262\324\174\057\354 +\115\306\241\072\025\172\347\266\135\065\365\366\110\112\066\105 +\146\324\272\230\130\301\002\003\001\000\001\243\143\060\141\060 +\035\006\003\125\035\016\004\026\004\024\104\236\110\365\314\155 +\110\324\240\113\177\376\131\044\057\203\227\231\232\206\060\037 +\006\003\125\035\043\004\030\060\026\200\024\104\236\110\365\314 +\155\110\324\240\113\177\376\131\044\057\203\227\231\232\206\060 +\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377 +\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\206 +\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003 +\202\001\001\000\005\076\065\134\025\160\233\311\307\163\141\157 +\162\053\324\302\217\362\103\135\002\316\304\224\271\224\021\203 +\147\135\342\147\154\165\166\277\273\014\252\066\306\255\107\223 +\143\334\036\176\326\336\056\376\351\031\062\070\003\177\024\366 +\000\163\054\131\261\041\006\341\373\254\030\225\014\243\377\231 +\226\367\053\047\233\325\044\314\035\335\301\072\340\230\104\260 +\304\344\076\167\261\163\251\144\054\366\034\001\174\077\135\105 +\205\300\205\347\045\217\225\334\027\363\074\237\032\156\260\312 +\343\035\052\351\114\143\372\044\141\142\326\332\176\266\034\154 +\365\002\035\324\052\335\125\220\353\052\021\107\074\056\136\164 +\262\202\042\245\175\123\037\105\354\047\221\175\347\042\026\350 +\300\150\066\330\306\361\117\200\104\062\371\341\321\321\035\252 +\336\250\253\234\004\257\255\040\016\144\230\115\245\153\300\110 +\130\226\151\115\334\007\214\121\223\242\337\237\017\075\213\140 +\264\202\215\252\010\116\142\105\340\371\013\322\340\340\074\133 +\336\134\161\047\045\302\346\003\201\213\020\123\343\307\125\242 +\264\237\327\346 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "TrustCor ECA-1" +# Issuer: CN=TrustCor ECA-1,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA +# Serial Number:00:84:82:2c:5f:1c:62:d0:40 +# Subject: CN=TrustCor ECA-1,OU=TrustCor Certificate Authority,O=TrustCor Systems S. de R.L.,L=Panama City,ST=Panama,C=PA +# Not Valid Before: Thu Feb 04 12:32:33 2016 +# Not Valid After : Mon Dec 31 17:28:07 2029 +# Fingerprint (SHA-256): 5A:88:5D:B1:9C:01:D9:12:C5:75:93:88:93:8C:AF:BB:DF:03:1A:B2:D4:8E:91:EE:15:58:9B:42:97:1D:03:9C +# Fingerprint (SHA1): 58:D1:DF:95:95:67:6B:63:C0:F0:5B:1C:17:4D:8B:84:0B:C8:78:BD +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "TrustCor ECA-1" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\130\321\337\225\225\147\153\143\300\360\133\034\027\115\213\204 +\013\310\170\275 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\047\222\043\035\012\365\100\174\351\346\153\235\330\365\347\154 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\234\061\013\060\011\006\003\125\004\006\023\002\120\101 +\061\017\060\015\006\003\125\004\010\014\006\120\141\156\141\155 +\141\061\024\060\022\006\003\125\004\007\014\013\120\141\156\141 +\155\141\040\103\151\164\171\061\044\060\042\006\003\125\004\012 +\014\033\124\162\165\163\164\103\157\162\040\123\171\163\164\145 +\155\163\040\123\056\040\144\145\040\122\056\114\056\061\047\060 +\045\006\003\125\004\013\014\036\124\162\165\163\164\103\157\162 +\040\103\145\162\164\151\146\151\143\141\164\145\040\101\165\164 +\150\157\162\151\164\171\061\027\060\025\006\003\125\004\003\014 +\016\124\162\165\163\164\103\157\162\040\105\103\101\055\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\011\000\204\202\054\137\034\142\320\100 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "SSL.com Root Certification Authority RSA" +# +# Issuer: CN=SSL.com Root Certification Authority RSA,O=SSL Corporation,L=Houston,ST=Texas,C=US +# Serial Number:7b:2c:9b:d3:16:80:32:99 +# Subject: CN=SSL.com Root Certification Authority RSA,O=SSL Corporation,L=Houston,ST=Texas,C=US +# Not Valid Before: Fri Feb 12 17:39:39 2016 +# Not Valid After : Tue Feb 12 17:39:39 2041 +# Fingerprint (SHA-256): 85:66:6A:56:2E:E0:BE:5C:E9:25:C1:D8:89:0A:6F:76:A8:7E:C1:6D:4D:7D:5F:29:EA:74:19:CF:20:12:3B:69 +# Fingerprint (SHA1): B7:AB:33:08:D1:EA:44:77:BA:14:80:12:5A:6F:BD:A9:36:49:0C:BB +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "SSL.com Root Certification Authority RSA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\174\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163\061 +\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164\157 +\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040 +\103\157\162\160\157\162\141\164\151\157\156\061\061\060\057\006 +\003\125\004\003\014\050\123\123\114\056\143\157\155\040\122\157 +\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156 +\040\101\165\164\150\157\162\151\164\171\040\122\123\101 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\174\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163\061 +\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164\157 +\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040 +\103\157\162\160\157\162\141\164\151\157\156\061\061\060\057\006 +\003\125\004\003\014\050\123\123\114\056\143\157\155\040\122\157 +\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156 +\040\101\165\164\150\157\162\151\164\171\040\122\123\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\173\054\233\323\026\200\062\231 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\335\060\202\003\305\240\003\002\001\002\002\010\173 +\054\233\323\026\200\062\231\060\015\006\011\052\206\110\206\367 +\015\001\001\013\005\000\060\174\061\013\060\011\006\003\125\004 +\006\023\002\125\123\061\016\060\014\006\003\125\004\010\014\005 +\124\145\170\141\163\061\020\060\016\006\003\125\004\007\014\007 +\110\157\165\163\164\157\156\061\030\060\026\006\003\125\004\012 +\014\017\123\123\114\040\103\157\162\160\157\162\141\164\151\157 +\156\061\061\060\057\006\003\125\004\003\014\050\123\123\114\056 +\143\157\155\040\122\157\157\164\040\103\145\162\164\151\146\151 +\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 +\040\122\123\101\060\036\027\015\061\066\060\062\061\062\061\067 +\063\071\063\071\132\027\015\064\061\060\062\061\062\061\067\063 +\071\063\071\132\060\174\061\013\060\011\006\003\125\004\006\023 +\002\125\123\061\016\060\014\006\003\125\004\010\014\005\124\145 +\170\141\163\061\020\060\016\006\003\125\004\007\014\007\110\157 +\165\163\164\157\156\061\030\060\026\006\003\125\004\012\014\017 +\123\123\114\040\103\157\162\160\157\162\141\164\151\157\156\061 +\061\060\057\006\003\125\004\003\014\050\123\123\114\056\143\157 +\155\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141 +\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040\122 +\123\101\060\202\002\042\060\015\006\011\052\206\110\206\367\015 +\001\001\001\005\000\003\202\002\017\000\060\202\002\012\002\202 +\002\001\000\371\017\335\243\053\175\313\320\052\376\354\147\205 +\246\347\056\033\272\167\341\343\365\257\244\354\372\112\135\221 +\304\127\107\153\030\167\153\166\362\375\223\344\075\017\302\026 +\236\013\146\303\126\224\236\027\203\205\316\126\357\362\026\375 +\000\142\365\042\011\124\350\145\027\116\101\271\340\117\106\227 +\252\033\310\270\156\142\136\151\261\137\333\052\002\176\374\154 +\312\363\101\330\355\320\350\374\077\141\110\355\260\003\024\035 +\020\016\113\031\340\273\116\354\206\145\377\066\363\136\147\002 +\013\235\206\125\141\375\172\070\355\376\342\031\000\267\157\241 +\120\142\165\164\074\240\372\310\045\222\264\156\172\042\307\370 +\036\241\343\262\335\221\061\253\053\035\004\377\245\112\004\067 +\351\205\244\063\053\375\342\326\125\064\174\031\244\112\150\307 +\262\250\323\267\312\241\223\210\353\301\227\274\214\371\035\331 +\042\204\044\164\307\004\075\152\251\051\223\314\353\270\133\341 +\376\137\045\252\064\130\310\301\043\124\235\033\230\021\303\070 +\234\176\075\206\154\245\017\100\206\174\002\364\134\002\117\050 +\313\256\161\237\017\072\310\063\376\021\045\065\352\374\272\305 +\140\075\331\174\030\325\262\251\323\165\170\003\162\042\312\072 +\303\037\357\054\345\056\251\372\236\054\266\121\106\375\257\003 +\326\352\140\150\352\205\026\066\153\205\351\036\300\263\335\304 +\044\334\200\052\201\101\155\224\076\310\340\311\201\101\000\236 +\136\277\177\305\010\230\242\030\054\102\100\263\371\157\070\047 +\113\116\200\364\075\201\107\340\210\174\352\034\316\265\165\134 +\121\056\034\053\177\032\162\050\347\000\265\321\164\306\327\344 +\237\255\007\223\266\123\065\065\374\067\344\303\366\135\026\276 +\041\163\336\222\012\370\240\143\152\274\226\222\152\076\370\274 +\145\125\233\336\365\015\211\046\004\374\045\032\246\045\151\313 +\302\155\312\174\342\131\137\227\254\353\357\056\310\274\327\033 +\131\074\053\314\362\031\310\223\153\047\143\031\317\374\351\046 +\370\312\161\233\177\223\376\064\147\204\116\231\353\374\263\170 +\011\063\160\272\146\246\166\355\033\163\353\032\245\015\304\042 +\023\040\224\126\012\116\054\154\116\261\375\317\234\011\272\242 +\063\355\207\002\003\001\000\001\243\143\060\141\060\035\006\003 +\125\035\016\004\026\004\024\335\004\011\007\242\365\172\175\122 +\123\022\222\225\356\070\200\045\015\246\131\060\017\006\003\125 +\035\023\001\001\377\004\005\060\003\001\001\377\060\037\006\003 +\125\035\043\004\030\060\026\200\024\335\004\011\007\242\365\172 +\175\122\123\022\222\225\356\070\200\045\015\246\131\060\016\006 +\003\125\035\017\001\001\377\004\004\003\002\001\206\060\015\006 +\011\052\206\110\206\367\015\001\001\013\005\000\003\202\002\001 +\000\040\030\021\224\051\373\046\235\034\036\036\160\141\361\225 +\162\223\161\044\255\150\223\130\216\062\257\033\263\160\003\374 +\045\053\164\205\220\075\170\152\364\271\213\245\227\073\265\030 +\221\273\036\247\371\100\133\221\371\125\231\257\036\021\320\134 +\035\247\146\343\261\224\007\014\062\071\246\352\033\260\171\330 +\035\234\160\104\343\212\335\304\371\225\037\212\070\103\077\001 +\205\245\107\247\075\106\262\274\345\042\150\367\173\234\330\054 +\076\012\041\310\055\063\254\277\305\201\231\061\164\301\165\161 +\305\276\261\360\043\105\364\235\153\374\031\143\235\243\274\004 +\306\030\013\045\273\123\211\017\263\200\120\336\105\356\104\177 +\253\224\170\144\230\323\366\050\335\207\330\160\145\164\373\016 +\271\023\353\247\017\141\251\062\226\314\336\273\355\143\114\030 +\273\251\100\367\240\124\156\040\210\161\165\030\352\172\264\064 +\162\340\043\047\167\134\266\220\352\206\045\100\253\357\063\017 +\313\237\202\276\242\040\373\366\265\055\032\346\302\205\261\164 +\017\373\310\145\002\244\122\001\107\335\111\042\301\277\330\353 +\153\254\176\336\354\143\063\025\267\043\010\217\306\017\215\101 +\132\335\216\305\271\217\345\105\077\170\333\272\322\033\100\261 +\376\161\115\077\340\201\242\272\136\264\354\025\340\223\335\010 +\037\176\341\125\231\013\041\336\223\236\012\373\346\243\111\275 +\066\060\376\347\167\262\240\165\227\265\055\201\210\027\145\040 +\367\332\220\000\237\311\122\314\062\312\065\174\365\075\017\330 +\053\327\365\046\154\311\006\064\226\026\352\160\131\032\062\171 +\171\013\266\210\177\017\122\110\075\277\154\330\242\104\056\321 +\116\267\162\130\323\211\023\225\376\104\253\370\327\213\033\156 +\234\274\054\240\133\325\152\000\257\137\067\341\325\372\020\013 +\230\234\206\347\046\217\316\360\354\156\212\127\013\200\343\116 +\262\300\240\143\141\220\272\125\150\067\164\152\266\222\333\237 +\241\206\042\266\145\047\016\354\266\237\102\140\344\147\302\265 +\332\101\013\304\323\213\141\033\274\372\037\221\053\327\104\007 +\136\272\051\254\331\305\351\357\123\110\132\353\200\361\050\130 +\041\315\260\006\125\373\047\077\123\220\160\251\004\036\127\047 +\271 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "SSL.com Root Certification Authority RSA" +# Issuer: CN=SSL.com Root Certification Authority RSA,O=SSL Corporation,L=Houston,ST=Texas,C=US +# Serial Number:7b:2c:9b:d3:16:80:32:99 +# Subject: CN=SSL.com Root Certification Authority RSA,O=SSL Corporation,L=Houston,ST=Texas,C=US +# Not Valid Before: Fri Feb 12 17:39:39 2016 +# Not Valid After : Tue Feb 12 17:39:39 2041 +# Fingerprint (SHA-256): 85:66:6A:56:2E:E0:BE:5C:E9:25:C1:D8:89:0A:6F:76:A8:7E:C1:6D:4D:7D:5F:29:EA:74:19:CF:20:12:3B:69 +# Fingerprint (SHA1): B7:AB:33:08:D1:EA:44:77:BA:14:80:12:5A:6F:BD:A9:36:49:0C:BB +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "SSL.com Root Certification Authority RSA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\267\253\063\010\321\352\104\167\272\024\200\022\132\157\275\251 +\066\111\014\273 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\206\151\022\300\160\361\354\254\254\302\325\274\245\133\241\051 +END +CKA_ISSUER MULTILINE_OCTAL +\060\174\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163\061 +\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164\157 +\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040 +\103\157\162\160\157\162\141\164\151\157\156\061\061\060\057\006 +\003\125\004\003\014\050\123\123\114\056\143\157\155\040\122\157 +\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156 +\040\101\165\164\150\157\162\151\164\171\040\122\123\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\173\054\233\323\026\200\062\231 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "SSL.com Root Certification Authority ECC" +# +# Issuer: CN=SSL.com Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US +# Serial Number:75:e6:df:cb:c1:68:5b:a8 +# Subject: CN=SSL.com Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US +# Not Valid Before: Fri Feb 12 18:14:03 2016 +# Not Valid After : Tue Feb 12 18:14:03 2041 +# Fingerprint (SHA-256): 34:17:BB:06:CC:60:07:DA:1B:96:1C:92:0B:8A:B4:CE:3F:AD:82:0E:4A:A3:0B:9A:CB:C4:A7:4E:BD:CE:BC:65 +# Fingerprint (SHA1): C3:19:7C:39:24:E6:54:AF:1B:C4:AB:20:95:7A:E2:C3:0E:13:02:6A +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "SSL.com Root Certification Authority ECC" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\174\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163\061 +\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164\157 +\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040 +\103\157\162\160\157\162\141\164\151\157\156\061\061\060\057\006 +\003\125\004\003\014\050\123\123\114\056\143\157\155\040\122\157 +\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156 +\040\101\165\164\150\157\162\151\164\171\040\105\103\103 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\174\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163\061 +\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164\157 +\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040 +\103\157\162\160\157\162\141\164\151\157\156\061\061\060\057\006 +\003\125\004\003\014\050\123\123\114\056\143\157\155\040\122\157 +\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156 +\040\101\165\164\150\157\162\151\164\171\040\105\103\103 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\165\346\337\313\301\150\133\250 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\002\215\060\202\002\024\240\003\002\001\002\002\010\165 +\346\337\313\301\150\133\250\060\012\006\010\052\206\110\316\075 +\004\003\002\060\174\061\013\060\011\006\003\125\004\006\023\002 +\125\123\061\016\060\014\006\003\125\004\010\014\005\124\145\170 +\141\163\061\020\060\016\006\003\125\004\007\014\007\110\157\165 +\163\164\157\156\061\030\060\026\006\003\125\004\012\014\017\123 +\123\114\040\103\157\162\160\157\162\141\164\151\157\156\061\061 +\060\057\006\003\125\004\003\014\050\123\123\114\056\143\157\155 +\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164 +\151\157\156\040\101\165\164\150\157\162\151\164\171\040\105\103 +\103\060\036\027\015\061\066\060\062\061\062\061\070\061\064\060 +\063\132\027\015\064\061\060\062\061\062\061\070\061\064\060\063 +\132\060\174\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163 +\061\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164 +\157\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114 +\040\103\157\162\160\157\162\141\164\151\157\156\061\061\060\057 +\006\003\125\004\003\014\050\123\123\114\056\143\157\155\040\122 +\157\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157 +\156\040\101\165\164\150\157\162\151\164\171\040\105\103\103\060 +\166\060\020\006\007\052\206\110\316\075\002\001\006\005\053\201 +\004\000\042\003\142\000\004\105\156\251\120\304\246\043\066\236 +\137\050\215\027\313\226\042\144\077\334\172\216\035\314\010\263 +\242\161\044\272\216\111\271\004\033\107\226\130\253\055\225\310 +\355\236\010\065\310\047\353\211\214\123\130\353\142\212\376\360 +\133\017\153\061\122\143\101\073\211\315\354\354\266\215\031\323 +\064\007\334\273\306\006\177\302\105\225\354\313\177\250\043\340 +\011\351\201\372\363\107\323\243\143\060\141\060\035\006\003\125 +\035\016\004\026\004\024\202\321\205\163\060\347\065\004\323\216 +\002\222\373\345\244\321\304\041\350\315\060\017\006\003\125\035 +\023\001\001\377\004\005\060\003\001\001\377\060\037\006\003\125 +\035\043\004\030\060\026\200\024\202\321\205\163\060\347\065\004 +\323\216\002\222\373\345\244\321\304\041\350\315\060\016\006\003 +\125\035\017\001\001\377\004\004\003\002\001\206\060\012\006\010 +\052\206\110\316\075\004\003\002\003\147\000\060\144\002\060\157 +\347\353\131\021\244\140\317\141\260\226\173\355\005\371\057\023 +\221\334\355\345\374\120\153\021\106\106\263\034\041\000\142\273 +\276\303\347\350\315\007\231\371\015\013\135\162\076\304\252\002 +\060\037\274\272\013\342\060\044\373\174\155\200\125\012\231\076 +\200\015\063\345\146\243\263\243\273\245\325\213\217\011\054\246 +\135\176\342\360\007\010\150\155\322\174\151\156\137\337\345\152 +\145 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "SSL.com Root Certification Authority ECC" +# Issuer: CN=SSL.com Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US +# Serial Number:75:e6:df:cb:c1:68:5b:a8 +# Subject: CN=SSL.com Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US +# Not Valid Before: Fri Feb 12 18:14:03 2016 +# Not Valid After : Tue Feb 12 18:14:03 2041 +# Fingerprint (SHA-256): 34:17:BB:06:CC:60:07:DA:1B:96:1C:92:0B:8A:B4:CE:3F:AD:82:0E:4A:A3:0B:9A:CB:C4:A7:4E:BD:CE:BC:65 +# Fingerprint (SHA1): C3:19:7C:39:24:E6:54:AF:1B:C4:AB:20:95:7A:E2:C3:0E:13:02:6A +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "SSL.com Root Certification Authority ECC" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\303\031\174\071\044\346\124\257\033\304\253\040\225\172\342\303 +\016\023\002\152 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\056\332\344\071\177\234\217\067\321\160\237\046\027\121\072\216 +END +CKA_ISSUER MULTILINE_OCTAL +\060\174\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163\061 +\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164\157 +\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040 +\103\157\162\160\157\162\141\164\151\157\156\061\061\060\057\006 +\003\125\004\003\014\050\123\123\114\056\143\157\155\040\122\157 +\157\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156 +\040\101\165\164\150\157\162\151\164\171\040\105\103\103 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\165\346\337\313\301\150\133\250 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "SSL.com EV Root Certification Authority RSA R2" +# +# Issuer: CN=SSL.com EV Root Certification Authority RSA R2,O=SSL Corporation,L=Houston,ST=Texas,C=US +# Serial Number:56:b6:29:cd:34:bc:78:f6 +# Subject: CN=SSL.com EV Root Certification Authority RSA R2,O=SSL Corporation,L=Houston,ST=Texas,C=US +# Not Valid Before: Wed May 31 18:14:37 2017 +# Not Valid After : Fri May 30 18:14:37 2042 +# Fingerprint (SHA-256): 2E:7B:F1:6C:C2:24:85:A7:BB:E2:AA:86:96:75:07:61:B0:AE:39:BE:3B:2F:E9:D0:CC:6D:4E:F7:34:91:42:5C +# Fingerprint (SHA1): 74:3A:F0:52:9B:D0:32:A0:F4:4A:83:CD:D4:BA:A9:7B:7C:2E:C4:9A +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "SSL.com EV Root Certification Authority RSA R2" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\202\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163 +\061\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164 +\157\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114 +\040\103\157\162\160\157\162\141\164\151\157\156\061\067\060\065 +\006\003\125\004\003\014\056\123\123\114\056\143\157\155\040\105 +\126\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141 +\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040\122 +\123\101\040\122\062 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\202\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163 +\061\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164 +\157\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114 +\040\103\157\162\160\157\162\141\164\151\157\156\061\067\060\065 +\006\003\125\004\003\014\056\123\123\114\056\143\157\155\040\105 +\126\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141 +\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040\122 +\123\101\040\122\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\126\266\051\315\064\274\170\366 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\353\060\202\003\323\240\003\002\001\002\002\010\126 +\266\051\315\064\274\170\366\060\015\006\011\052\206\110\206\367 +\015\001\001\013\005\000\060\201\202\061\013\060\011\006\003\125 +\004\006\023\002\125\123\061\016\060\014\006\003\125\004\010\014 +\005\124\145\170\141\163\061\020\060\016\006\003\125\004\007\014 +\007\110\157\165\163\164\157\156\061\030\060\026\006\003\125\004 +\012\014\017\123\123\114\040\103\157\162\160\157\162\141\164\151 +\157\156\061\067\060\065\006\003\125\004\003\014\056\123\123\114 +\056\143\157\155\040\105\126\040\122\157\157\164\040\103\145\162 +\164\151\146\151\143\141\164\151\157\156\040\101\165\164\150\157 +\162\151\164\171\040\122\123\101\040\122\062\060\036\027\015\061 +\067\060\065\063\061\061\070\061\064\063\067\132\027\015\064\062 +\060\065\063\060\061\070\061\064\063\067\132\060\201\202\061\013 +\060\011\006\003\125\004\006\023\002\125\123\061\016\060\014\006 +\003\125\004\010\014\005\124\145\170\141\163\061\020\060\016\006 +\003\125\004\007\014\007\110\157\165\163\164\157\156\061\030\060 +\026\006\003\125\004\012\014\017\123\123\114\040\103\157\162\160 +\157\162\141\164\151\157\156\061\067\060\065\006\003\125\004\003 +\014\056\123\123\114\056\143\157\155\040\105\126\040\122\157\157 +\164\040\103\145\162\164\151\146\151\143\141\164\151\157\156\040 +\101\165\164\150\157\162\151\164\171\040\122\123\101\040\122\062 +\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001 +\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001 +\000\217\066\145\100\341\326\115\300\327\264\351\106\332\153\352 +\063\107\315\114\371\175\175\276\275\055\075\360\333\170\341\206 +\245\331\272\011\127\150\355\127\076\240\320\010\101\203\347\050 +\101\044\037\343\162\025\320\001\032\373\136\160\043\262\313\237 +\071\343\317\305\116\306\222\155\046\306\173\273\263\332\047\235 +\012\206\351\201\067\005\376\360\161\161\354\303\034\351\143\242 +\027\024\235\357\033\147\323\205\125\002\002\326\111\311\314\132 +\341\261\367\157\062\237\311\324\073\210\101\250\234\275\313\253 +\333\155\173\011\037\242\114\162\220\332\053\010\374\317\074\124 +\316\147\017\250\317\135\226\031\013\304\343\162\353\255\321\175 +\035\047\357\222\353\020\277\133\353\073\257\317\200\335\301\322 +\226\004\133\172\176\244\251\074\070\166\244\142\216\240\071\136 +\352\167\317\135\000\131\217\146\054\076\007\242\243\005\046\021 +\151\227\352\205\267\017\226\013\113\310\100\341\120\272\056\212 +\313\367\017\232\042\347\177\232\067\023\315\362\115\023\153\041 +\321\300\314\042\362\241\106\366\104\151\234\312\141\065\007\000 +\157\326\141\010\021\352\272\270\366\351\263\140\345\115\271\354 +\237\024\146\311\127\130\333\315\207\151\370\212\206\022\003\107 +\277\146\023\166\254\167\175\064\044\205\203\315\327\252\234\220 +\032\237\041\054\177\170\267\144\270\330\350\246\364\170\263\125 +\313\204\322\062\304\170\256\243\217\141\335\316\010\123\255\354 +\210\374\025\344\232\015\346\237\032\167\316\114\217\270\024\025 +\075\142\234\206\070\006\000\146\022\344\131\166\132\123\300\002 +\230\242\020\053\150\104\173\216\171\316\063\112\166\252\133\201 +\026\033\265\212\330\320\000\173\136\142\264\011\326\206\143\016 +\246\005\225\111\272\050\213\210\223\262\064\034\330\244\125\156 +\267\034\320\336\231\125\073\043\364\042\340\371\051\146\046\354 +\040\120\167\333\112\013\217\276\345\002\140\160\101\136\324\256 +\120\071\042\024\046\313\262\073\163\164\125\107\007\171\201\071 +\250\060\023\104\345\004\212\256\226\023\045\102\017\271\123\304 +\233\374\315\344\034\336\074\372\253\326\006\112\037\147\246\230 +\060\034\335\054\333\334\030\225\127\146\306\377\134\213\126\365 +\167\002\003\001\000\001\243\143\060\141\060\017\006\003\125\035 +\023\001\001\377\004\005\060\003\001\001\377\060\037\006\003\125 +\035\043\004\030\060\026\200\024\371\140\273\324\343\325\064\366 +\270\365\006\200\045\247\163\333\106\151\250\236\060\035\006\003 +\125\035\016\004\026\004\024\371\140\273\324\343\325\064\366\270 +\365\006\200\045\247\163\333\106\151\250\236\060\016\006\003\125 +\035\017\001\001\377\004\004\003\002\001\206\060\015\006\011\052 +\206\110\206\367\015\001\001\013\005\000\003\202\002\001\000\126 +\263\216\313\012\235\111\216\277\244\304\221\273\146\027\005\121 +\230\165\373\345\120\054\172\236\361\024\372\253\323\212\076\377 +\221\051\217\143\213\330\264\251\124\001\015\276\223\206\057\371 +\112\155\307\136\365\127\371\312\125\034\022\276\107\017\066\305 +\337\152\267\333\165\302\107\045\177\271\361\143\370\150\055\125 +\004\321\362\215\260\244\317\274\074\136\037\170\347\245\240\040 +\160\260\004\305\267\367\162\247\336\042\015\275\063\045\106\214 +\144\222\046\343\076\056\143\226\332\233\214\075\370\030\011\327 +\003\314\175\206\202\340\312\004\007\121\120\327\377\222\325\014 +\357\332\206\237\231\327\353\267\257\150\342\071\046\224\272\150 +\267\277\203\323\352\172\147\075\142\147\256\045\345\162\350\342 +\344\354\256\022\366\113\053\074\237\351\260\100\363\070\124\263 +\375\267\150\310\332\306\217\121\074\262\373\221\334\034\347\233 +\235\341\267\015\162\217\342\244\304\251\170\371\353\024\254\306 +\103\005\302\145\071\050\030\002\303\202\262\235\005\276\145\355 +\226\137\145\164\074\373\011\065\056\173\234\023\375\033\017\135 +\307\155\201\072\126\017\314\073\341\257\002\057\042\254\106\312 +\106\074\240\034\114\326\104\264\136\056\134\025\146\011\341\046 +\051\376\306\122\141\272\261\163\377\303\014\234\345\154\152\224 +\077\024\312\100\026\225\204\363\131\251\254\137\114\141\223\155 +\321\073\314\242\225\014\042\246\147\147\104\056\271\331\322\212 +\101\263\146\013\132\373\175\043\245\362\032\260\377\336\233\203 +\224\056\321\077\337\222\267\221\257\005\073\145\307\240\154\261 +\315\142\022\303\220\033\343\045\316\064\274\157\167\166\261\020 +\303\367\005\032\300\326\257\164\142\110\027\167\222\151\220\141 +\034\336\225\200\164\124\217\030\034\303\363\003\320\277\244\103 +\165\206\123\030\172\012\056\011\034\066\237\221\375\202\212\042 +\113\321\016\120\045\335\313\003\014\027\311\203\000\010\116\065 +\115\212\213\355\360\002\224\146\054\104\177\313\225\047\226\027 +\255\011\060\254\266\161\027\156\213\027\366\034\011\324\055\073 +\230\245\161\323\124\023\331\140\363\365\113\146\117\372\361\356 +\040\022\215\264\254\127\261\105\143\241\254\166\251\302\373 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "SSL.com EV Root Certification Authority RSA R2" +# Issuer: CN=SSL.com EV Root Certification Authority RSA R2,O=SSL Corporation,L=Houston,ST=Texas,C=US +# Serial Number:56:b6:29:cd:34:bc:78:f6 +# Subject: CN=SSL.com EV Root Certification Authority RSA R2,O=SSL Corporation,L=Houston,ST=Texas,C=US +# Not Valid Before: Wed May 31 18:14:37 2017 +# Not Valid After : Fri May 30 18:14:37 2042 +# Fingerprint (SHA-256): 2E:7B:F1:6C:C2:24:85:A7:BB:E2:AA:86:96:75:07:61:B0:AE:39:BE:3B:2F:E9:D0:CC:6D:4E:F7:34:91:42:5C +# Fingerprint (SHA1): 74:3A:F0:52:9B:D0:32:A0:F4:4A:83:CD:D4:BA:A9:7B:7C:2E:C4:9A +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "SSL.com EV Root Certification Authority RSA R2" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\164\072\360\122\233\320\062\240\364\112\203\315\324\272\251\173 +\174\056\304\232 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\341\036\061\130\032\256\124\123\002\366\027\152\021\173\115\225 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\202\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163 +\061\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164 +\157\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114 +\040\103\157\162\160\157\162\141\164\151\157\156\061\067\060\065 +\006\003\125\004\003\014\056\123\123\114\056\143\157\155\040\105 +\126\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141 +\164\151\157\156\040\101\165\164\150\157\162\151\164\171\040\122 +\123\101\040\122\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\126\266\051\315\064\274\170\366 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "SSL.com EV Root Certification Authority ECC" +# +# Issuer: CN=SSL.com EV Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US +# Serial Number:2c:29:9c:5b:16:ed:05:95 +# Subject: CN=SSL.com EV Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US +# Not Valid Before: Fri Feb 12 18:15:23 2016 +# Not Valid After : Tue Feb 12 18:15:23 2041 +# Fingerprint (SHA-256): 22:A2:C1:F7:BD:ED:70:4C:C1:E7:01:B5:F4:08:C3:10:88:0F:E9:56:B5:DE:2A:4A:44:F9:9C:87:3A:25:A7:C8 +# Fingerprint (SHA1): 4C:DD:51:A3:D1:F5:20:32:14:B0:C6:C5:32:23:03:91:C7:46:42:6D +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "SSL.com EV Root Certification Authority ECC" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\177\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163\061 +\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164\157 +\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040 +\103\157\162\160\157\162\141\164\151\157\156\061\064\060\062\006 +\003\125\004\003\014\053\123\123\114\056\143\157\155\040\105\126 +\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164 +\151\157\156\040\101\165\164\150\157\162\151\164\171\040\105\103 +\103 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\177\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163\061 +\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164\157 +\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040 +\103\157\162\160\157\162\141\164\151\157\156\061\064\060\062\006 +\003\125\004\003\014\053\123\123\114\056\143\157\155\040\105\126 +\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164 +\151\157\156\040\101\165\164\150\157\162\151\164\171\040\105\103 +\103 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\054\051\234\133\026\355\005\225 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\002\224\060\202\002\032\240\003\002\001\002\002\010\054 +\051\234\133\026\355\005\225\060\012\006\010\052\206\110\316\075 +\004\003\002\060\177\061\013\060\011\006\003\125\004\006\023\002 +\125\123\061\016\060\014\006\003\125\004\010\014\005\124\145\170 +\141\163\061\020\060\016\006\003\125\004\007\014\007\110\157\165 +\163\164\157\156\061\030\060\026\006\003\125\004\012\014\017\123 +\123\114\040\103\157\162\160\157\162\141\164\151\157\156\061\064 +\060\062\006\003\125\004\003\014\053\123\123\114\056\143\157\155 +\040\105\126\040\122\157\157\164\040\103\145\162\164\151\146\151 +\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164\171 +\040\105\103\103\060\036\027\015\061\066\060\062\061\062\061\070 +\061\065\062\063\132\027\015\064\061\060\062\061\062\061\070\061 +\065\062\063\132\060\177\061\013\060\011\006\003\125\004\006\023 +\002\125\123\061\016\060\014\006\003\125\004\010\014\005\124\145 +\170\141\163\061\020\060\016\006\003\125\004\007\014\007\110\157 +\165\163\164\157\156\061\030\060\026\006\003\125\004\012\014\017 +\123\123\114\040\103\157\162\160\157\162\141\164\151\157\156\061 +\064\060\062\006\003\125\004\003\014\053\123\123\114\056\143\157 +\155\040\105\126\040\122\157\157\164\040\103\145\162\164\151\146 +\151\143\141\164\151\157\156\040\101\165\164\150\157\162\151\164 +\171\040\105\103\103\060\166\060\020\006\007\052\206\110\316\075 +\002\001\006\005\053\201\004\000\042\003\142\000\004\252\022\107 +\220\230\033\373\357\303\100\007\203\040\116\361\060\202\242\006 +\321\362\222\206\141\362\366\041\150\312\000\304\307\352\103\000 +\124\206\334\375\037\337\000\270\101\142\134\334\160\026\062\336 +\037\231\324\314\305\007\310\010\037\141\026\007\121\075\175\134 +\007\123\343\065\070\214\337\315\237\331\056\015\112\266\031\056 +\132\160\132\006\355\276\360\241\260\312\320\011\051\243\143\060 +\141\060\035\006\003\125\035\016\004\026\004\024\133\312\136\345 +\336\322\201\252\315\250\055\144\121\266\331\162\233\227\346\117 +\060\017\006\003\125\035\023\001\001\377\004\005\060\003\001\001 +\377\060\037\006\003\125\035\043\004\030\060\026\200\024\133\312 +\136\345\336\322\201\252\315\250\055\144\121\266\331\162\233\227 +\346\117\060\016\006\003\125\035\017\001\001\377\004\004\003\002 +\001\206\060\012\006\010\052\206\110\316\075\004\003\002\003\150 +\000\060\145\002\061\000\212\346\100\211\067\353\351\325\023\331 +\312\324\153\044\363\260\075\207\106\130\032\354\261\337\157\373 +\126\272\160\153\307\070\314\350\261\214\117\017\367\361\147\166 +\016\203\320\036\121\217\002\060\075\366\043\050\046\114\306\140 +\207\223\046\233\262\065\036\272\326\367\074\321\034\316\372\045 +\074\246\032\201\025\133\363\022\017\154\356\145\212\311\207\250 +\371\007\340\142\232\214\134\112 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "SSL.com EV Root Certification Authority ECC" +# Issuer: CN=SSL.com EV Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US +# Serial Number:2c:29:9c:5b:16:ed:05:95 +# Subject: CN=SSL.com EV Root Certification Authority ECC,O=SSL Corporation,L=Houston,ST=Texas,C=US +# Not Valid Before: Fri Feb 12 18:15:23 2016 +# Not Valid After : Tue Feb 12 18:15:23 2041 +# Fingerprint (SHA-256): 22:A2:C1:F7:BD:ED:70:4C:C1:E7:01:B5:F4:08:C3:10:88:0F:E9:56:B5:DE:2A:4A:44:F9:9C:87:3A:25:A7:C8 +# Fingerprint (SHA1): 4C:DD:51:A3:D1:F5:20:32:14:B0:C6:C5:32:23:03:91:C7:46:42:6D +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "SSL.com EV Root Certification Authority ECC" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\114\335\121\243\321\365\040\062\024\260\306\305\062\043\003\221 +\307\106\102\155 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\131\123\042\145\203\102\001\124\300\316\102\271\132\174\362\220 +END +CKA_ISSUER MULTILINE_OCTAL +\060\177\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\016\060\014\006\003\125\004\010\014\005\124\145\170\141\163\061 +\020\060\016\006\003\125\004\007\014\007\110\157\165\163\164\157 +\156\061\030\060\026\006\003\125\004\012\014\017\123\123\114\040 +\103\157\162\160\157\162\141\164\151\157\156\061\064\060\062\006 +\003\125\004\003\014\053\123\123\114\056\143\157\155\040\105\126 +\040\122\157\157\164\040\103\145\162\164\151\146\151\143\141\164 +\151\157\156\040\101\165\164\150\157\162\151\164\171\040\105\103 +\103 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\054\051\234\133\026\355\005\225 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "GlobalSign Root CA - R6" +# +# Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R6 +# Serial Number:45:e6:bb:03:83:33:c3:85:65:48:e6:ff:45:51 +# Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R6 +# Not Valid Before: Wed Dec 10 00:00:00 2014 +# Not Valid After : Sun Dec 10 00:00:00 2034 +# Fingerprint (SHA-256): 2C:AB:EA:FE:37:D0:6C:A2:2A:BA:73:91:C0:03:3D:25:98:29:52:C4:53:64:73:49:76:3A:3A:B5:AD:6C:CF:69 +# Fingerprint (SHA1): 80:94:64:0E:B5:A7:A1:CA:11:9C:1F:DD:D5:9F:81:02:63:A7:FB:D1 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "GlobalSign Root CA - R6" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157 +\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040 +\055\040\122\066\061\023\060\021\006\003\125\004\012\023\012\107 +\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125 +\004\003\023\012\107\154\157\142\141\154\123\151\147\156 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157 +\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040 +\055\040\122\066\061\023\060\021\006\003\125\004\012\023\012\107 +\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125 +\004\003\023\012\107\154\157\142\141\154\123\151\147\156 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\016\105\346\273\003\203\063\303\205\145\110\346\377\105\121 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\203\060\202\003\153\240\003\002\001\002\002\016\105 +\346\273\003\203\063\303\205\145\110\346\377\105\121\060\015\006 +\011\052\206\110\206\367\015\001\001\014\005\000\060\114\061\040 +\060\036\006\003\125\004\013\023\027\107\154\157\142\141\154\123 +\151\147\156\040\122\157\157\164\040\103\101\040\055\040\122\066 +\061\023\060\021\006\003\125\004\012\023\012\107\154\157\142\141 +\154\123\151\147\156\061\023\060\021\006\003\125\004\003\023\012 +\107\154\157\142\141\154\123\151\147\156\060\036\027\015\061\064 +\061\062\061\060\060\060\060\060\060\060\132\027\015\063\064\061 +\062\061\060\060\060\060\060\060\060\132\060\114\061\040\060\036 +\006\003\125\004\013\023\027\107\154\157\142\141\154\123\151\147 +\156\040\122\157\157\164\040\103\101\040\055\040\122\066\061\023 +\060\021\006\003\125\004\012\023\012\107\154\157\142\141\154\123 +\151\147\156\061\023\060\021\006\003\125\004\003\023\012\107\154 +\157\142\141\154\123\151\147\156\060\202\002\042\060\015\006\011 +\052\206\110\206\367\015\001\001\001\005\000\003\202\002\017\000 +\060\202\002\012\002\202\002\001\000\225\007\350\163\312\146\371 +\354\024\312\173\074\367\015\010\361\264\105\013\054\202\264\110 +\306\353\133\074\256\203\270\101\222\063\024\244\157\177\351\052 +\314\306\260\210\153\305\266\211\321\306\262\377\024\316\121\024 +\041\354\112\335\033\132\306\326\207\356\115\072\025\006\355\144 +\146\013\222\200\312\104\336\163\224\116\363\247\211\177\117\170 +\143\010\310\022\120\155\102\146\057\115\271\171\050\115\122\032 +\212\032\200\267\031\201\016\176\304\212\274\144\114\041\034\103 +\150\327\075\074\212\305\262\146\325\220\232\267\061\006\305\276 +\342\155\062\006\246\036\371\271\353\252\243\270\277\276\202\143 +\120\320\360\030\211\337\344\017\171\365\352\242\037\052\322\160 +\056\173\347\274\223\273\155\123\342\110\174\214\020\007\070\377 +\146\262\167\141\176\340\352\214\074\252\264\244\366\363\225\112 +\022\007\155\375\214\262\211\317\320\240\141\167\310\130\164\260 +\324\043\072\367\135\072\312\242\333\235\011\336\135\104\055\220 +\361\201\315\127\222\372\176\274\120\004\143\064\337\153\223\030 +\276\153\066\262\071\344\254\044\066\267\360\357\266\034\023\127 +\223\266\336\262\370\342\205\267\163\242\270\065\252\105\362\340 +\235\066\241\157\124\212\361\162\126\156\056\210\305\121\102\104 +\025\224\356\243\305\070\226\233\116\116\132\013\107\363\006\066 +\111\167\060\274\161\067\345\246\354\041\010\165\374\346\141\026 +\077\167\325\331\221\227\204\012\154\324\002\115\164\300\024\355 +\375\071\373\203\362\136\024\241\004\260\013\351\376\356\217\341 +\156\013\262\010\263\141\146\011\152\261\006\072\145\226\131\300 +\360\065\375\311\332\050\215\032\021\207\160\201\012\250\232\165 +\035\236\072\206\005\000\236\333\200\326\045\371\334\005\236\047 +\131\114\166\071\133\352\371\245\241\330\203\017\321\377\337\060 +\021\371\205\317\063\110\365\312\155\144\024\054\172\130\117\323 +\113\010\111\305\225\144\032\143\016\171\075\365\263\214\312\130 +\255\234\102\105\171\156\016\207\031\134\124\261\145\266\277\214 +\233\334\023\351\015\157\270\056\334\147\156\311\213\021\265\204 +\024\212\000\031\160\203\171\221\227\221\324\032\047\277\067\036 +\062\007\330\024\143\074\050\114\257\002\003\001\000\001\243\143 +\060\141\060\016\006\003\125\035\017\001\001\377\004\004\003\002 +\001\006\060\017\006\003\125\035\023\001\001\377\004\005\060\003 +\001\001\377\060\035\006\003\125\035\016\004\026\004\024\256\154 +\005\243\223\023\342\242\347\342\327\034\326\307\360\177\310\147 +\123\240\060\037\006\003\125\035\043\004\030\060\026\200\024\256 +\154\005\243\223\023\342\242\347\342\327\034\326\307\360\177\310 +\147\123\240\060\015\006\011\052\206\110\206\367\015\001\001\014 +\005\000\003\202\002\001\000\203\045\355\350\321\375\225\122\315 +\236\300\004\240\221\151\346\134\320\204\336\334\255\242\117\350 +\107\170\326\145\230\251\133\250\074\207\174\002\212\321\156\267 +\026\163\346\137\300\124\230\325\164\276\301\315\342\021\221\255 +\043\030\075\335\341\162\104\226\264\225\136\300\173\216\231\170 +\026\103\023\126\127\263\242\263\073\265\167\334\100\162\254\243 +\353\233\065\076\261\010\041\241\347\304\103\067\171\062\276\265 +\347\234\054\114\274\103\051\231\216\060\323\254\041\340\343\035 +\372\330\007\063\166\124\000\042\052\271\115\040\056\160\150\332 +\345\123\374\203\134\323\235\362\377\104\014\104\146\362\322\343 +\275\106\000\032\155\002\272\045\135\215\241\061\121\335\124\106 +\034\115\333\231\226\357\032\034\004\134\246\025\357\170\340\171 +\376\135\333\076\252\114\125\375\232\025\251\157\341\246\373\337 +\160\060\351\303\356\102\106\355\302\223\005\211\372\175\143\173 +\077\320\161\201\174\000\350\230\256\016\170\064\303\045\373\257 +\012\237\040\153\335\073\023\217\022\214\342\101\032\110\172\163 +\240\167\151\307\266\134\177\202\310\036\376\130\033\050\053\250 +\154\255\136\155\300\005\322\173\267\353\200\376\045\067\376\002 +\233\150\254\102\135\303\356\365\314\334\360\120\165\322\066\151 +\234\346\173\004\337\156\006\151\266\336\012\011\110\131\207\353 +\173\024\140\172\144\252\151\103\357\221\307\114\354\030\335\154 +\357\123\055\214\231\341\136\362\162\076\317\124\310\275\147\354 +\244\017\114\105\377\323\271\060\043\007\114\217\020\277\206\226 +\331\231\132\264\231\127\034\244\314\273\025\211\123\272\054\005 +\017\344\304\236\031\261\030\064\325\114\235\272\355\367\037\257 +\044\225\004\170\250\003\273\356\201\345\332\137\174\213\112\241 +\220\164\045\247\263\076\113\310\054\126\275\307\310\357\070\342 +\134\222\360\171\367\234\204\272\164\055\141\001\040\176\176\321 +\362\117\007\131\137\213\055\103\122\353\106\014\224\341\365\146 +\107\171\167\325\124\133\037\255\044\067\313\105\132\116\240\104 +\110\310\330\260\231\305\025\204\011\366\326\111\111\300\145\270 +\346\032\161\156\240\250\361\202\350\105\076\154\326\002\327\012 +\147\203\005\132\311\244\020 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "GlobalSign Root CA - R6" +# Issuer: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R6 +# Serial Number:45:e6:bb:03:83:33:c3:85:65:48:e6:ff:45:51 +# Subject: CN=GlobalSign,O=GlobalSign,OU=GlobalSign Root CA - R6 +# Not Valid Before: Wed Dec 10 00:00:00 2014 +# Not Valid After : Sun Dec 10 00:00:00 2034 +# Fingerprint (SHA-256): 2C:AB:EA:FE:37:D0:6C:A2:2A:BA:73:91:C0:03:3D:25:98:29:52:C4:53:64:73:49:76:3A:3A:B5:AD:6C:CF:69 +# Fingerprint (SHA1): 80:94:64:0E:B5:A7:A1:CA:11:9C:1F:DD:D5:9F:81:02:63:A7:FB:D1 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "GlobalSign Root CA - R6" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\200\224\144\016\265\247\241\312\021\234\037\335\325\237\201\002 +\143\247\373\321 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\117\335\007\344\324\042\144\071\036\014\067\102\352\321\306\256 +END +CKA_ISSUER MULTILINE_OCTAL +\060\114\061\040\060\036\006\003\125\004\013\023\027\107\154\157 +\142\141\154\123\151\147\156\040\122\157\157\164\040\103\101\040 +\055\040\122\066\061\023\060\021\006\003\125\004\012\023\012\107 +\154\157\142\141\154\123\151\147\156\061\023\060\021\006\003\125 +\004\003\023\012\107\154\157\142\141\154\123\151\147\156 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\016\105\346\273\003\203\063\303\205\145\110\346\377\105\121 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "OISTE WISeKey Global Root GC CA" +# +# Issuer: CN=OISTE WISeKey Global Root GC CA,OU=OISTE Foundation Endorsed,O=WISeKey,C=CH +# Serial Number:21:2a:56:0c:ae:da:0c:ab:40:45:bf:2b:a2:2d:3a:ea +# Subject: CN=OISTE WISeKey Global Root GC CA,OU=OISTE Foundation Endorsed,O=WISeKey,C=CH +# Not Valid Before: Tue May 09 09:48:34 2017 +# Not Valid After : Fri May 09 09:58:33 2042 +# Fingerprint (SHA-256): 85:60:F9:1C:36:24:DA:BA:95:70:B5:FE:A0:DB:E3:6F:F1:1A:83:23:BE:94:86:85:4F:B3:F3:4A:55:71:19:8D +# Fingerprint (SHA1): E0:11:84:5E:34:DE:BE:88:81:B9:9C:F6:16:26:D1:96:1F:C3:B9:31 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "OISTE WISeKey Global Root GC CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\155\061\013\060\011\006\003\125\004\006\023\002\103\110\061 +\020\060\016\006\003\125\004\012\023\007\127\111\123\145\113\145 +\171\061\042\060\040\006\003\125\004\013\023\031\117\111\123\124 +\105\040\106\157\165\156\144\141\164\151\157\156\040\105\156\144 +\157\162\163\145\144\061\050\060\046\006\003\125\004\003\023\037 +\117\111\123\124\105\040\127\111\123\145\113\145\171\040\107\154 +\157\142\141\154\040\122\157\157\164\040\107\103\040\103\101 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\155\061\013\060\011\006\003\125\004\006\023\002\103\110\061 +\020\060\016\006\003\125\004\012\023\007\127\111\123\145\113\145 +\171\061\042\060\040\006\003\125\004\013\023\031\117\111\123\124 +\105\040\106\157\165\156\144\141\164\151\157\156\040\105\156\144 +\157\162\163\145\144\061\050\060\046\006\003\125\004\003\023\037 +\117\111\123\124\105\040\127\111\123\145\113\145\171\040\107\154 +\157\142\141\154\040\122\157\157\164\040\107\103\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\041\052\126\014\256\332\014\253\100\105\277\053\242\055 +\072\352 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\002\151\060\202\001\357\240\003\002\001\002\002\020\041 +\052\126\014\256\332\014\253\100\105\277\053\242\055\072\352\060 +\012\006\010\052\206\110\316\075\004\003\003\060\155\061\013\060 +\011\006\003\125\004\006\023\002\103\110\061\020\060\016\006\003 +\125\004\012\023\007\127\111\123\145\113\145\171\061\042\060\040 +\006\003\125\004\013\023\031\117\111\123\124\105\040\106\157\165 +\156\144\141\164\151\157\156\040\105\156\144\157\162\163\145\144 +\061\050\060\046\006\003\125\004\003\023\037\117\111\123\124\105 +\040\127\111\123\145\113\145\171\040\107\154\157\142\141\154\040 +\122\157\157\164\040\107\103\040\103\101\060\036\027\015\061\067 +\060\065\060\071\060\071\064\070\063\064\132\027\015\064\062\060 +\065\060\071\060\071\065\070\063\063\132\060\155\061\013\060\011 +\006\003\125\004\006\023\002\103\110\061\020\060\016\006\003\125 +\004\012\023\007\127\111\123\145\113\145\171\061\042\060\040\006 +\003\125\004\013\023\031\117\111\123\124\105\040\106\157\165\156 +\144\141\164\151\157\156\040\105\156\144\157\162\163\145\144\061 +\050\060\046\006\003\125\004\003\023\037\117\111\123\124\105\040 +\127\111\123\145\113\145\171\040\107\154\157\142\141\154\040\122 +\157\157\164\040\107\103\040\103\101\060\166\060\020\006\007\052 +\206\110\316\075\002\001\006\005\053\201\004\000\042\003\142\000 +\004\114\351\120\300\306\017\162\030\274\330\361\272\263\211\342 +\171\112\243\026\247\153\124\044\333\121\377\352\364\011\044\303 +\013\042\237\313\152\047\202\201\015\322\300\257\061\344\164\202 +\156\312\045\331\214\165\235\361\333\320\232\242\113\041\176\026 +\247\143\220\322\071\324\261\207\170\137\030\226\017\120\033\065 +\067\017\152\306\334\331\023\115\244\216\220\067\346\275\133\061 +\221\243\124\060\122\060\016\006\003\125\035\017\001\001\377\004 +\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377\004 +\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026\004 +\024\110\207\024\254\343\303\236\220\140\072\327\312\211\356\323 +\255\214\264\120\146\060\020\006\011\053\006\001\004\001\202\067 +\025\001\004\003\002\001\000\060\012\006\010\052\206\110\316\075 +\004\003\003\003\150\000\060\145\002\060\046\307\151\133\334\325 +\347\262\347\310\014\214\214\303\335\171\214\033\143\325\311\122 +\224\116\115\202\112\163\036\262\200\204\251\045\300\114\132\155 +\111\051\140\170\023\342\176\110\353\144\002\061\000\333\064\040 +\062\010\377\232\111\002\266\210\336\024\257\135\154\231\161\215 +\032\077\213\327\340\242\066\206\034\007\202\072\166\123\375\302 +\242\355\357\173\260\200\117\130\017\113\123\071\275 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "OISTE WISeKey Global Root GC CA" +# Issuer: CN=OISTE WISeKey Global Root GC CA,OU=OISTE Foundation Endorsed,O=WISeKey,C=CH +# Serial Number:21:2a:56:0c:ae:da:0c:ab:40:45:bf:2b:a2:2d:3a:ea +# Subject: CN=OISTE WISeKey Global Root GC CA,OU=OISTE Foundation Endorsed,O=WISeKey,C=CH +# Not Valid Before: Tue May 09 09:48:34 2017 +# Not Valid After : Fri May 09 09:58:33 2042 +# Fingerprint (SHA-256): 85:60:F9:1C:36:24:DA:BA:95:70:B5:FE:A0:DB:E3:6F:F1:1A:83:23:BE:94:86:85:4F:B3:F3:4A:55:71:19:8D +# Fingerprint (SHA1): E0:11:84:5E:34:DE:BE:88:81:B9:9C:F6:16:26:D1:96:1F:C3:B9:31 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "OISTE WISeKey Global Root GC CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\340\021\204\136\064\336\276\210\201\271\234\366\026\046\321\226 +\037\303\271\061 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\251\326\271\055\057\223\144\370\245\151\312\221\351\150\007\043 +END +CKA_ISSUER MULTILINE_OCTAL +\060\155\061\013\060\011\006\003\125\004\006\023\002\103\110\061 +\020\060\016\006\003\125\004\012\023\007\127\111\123\145\113\145 +\171\061\042\060\040\006\003\125\004\013\023\031\117\111\123\124 +\105\040\106\157\165\156\144\141\164\151\157\156\040\105\156\144 +\157\162\163\145\144\061\050\060\046\006\003\125\004\003\023\037 +\117\111\123\124\105\040\127\111\123\145\113\145\171\040\107\154 +\157\142\141\154\040\122\157\157\164\040\107\103\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\041\052\126\014\256\332\014\253\100\105\277\053\242\055 +\072\352 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "GTS Root R1" +# +# Issuer: CN=GTS Root R1,O=Google Trust Services LLC,C=US +# Serial Number:6e:47:a9:c5:4b:47:0c:0d:ec:33:d0:89:b9:1c:f4:e1 +# Subject: CN=GTS Root R1,O=Google Trust Services LLC,C=US +# Not Valid Before: Wed Jun 22 00:00:00 2016 +# Not Valid After : Sun Jun 22 00:00:00 2036 +# Fingerprint (SHA-256): 2A:57:54:71:E3:13:40:BC:21:58:1C:BD:2C:F1:3E:15:84:63:20:3E:CE:94:BC:F9:D3:CC:19:6B:F0:9A:54:72 +# Fingerprint (SHA1): E1:C9:50:E6:EF:22:F8:4C:56:45:72:8B:92:20:60:D7:D5:A7:A3:E8 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "GTS Root R1" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145 +\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040 +\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124 +\123\040\122\157\157\164\040\122\061 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145 +\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040 +\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124 +\123\040\122\157\157\164\040\122\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\156\107\251\305\113\107\014\015\354\063\320\211\271\034 +\364\341 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\132\060\202\003\102\240\003\002\001\002\002\020\156 +\107\251\305\113\107\014\015\354\063\320\211\271\034\364\341\060 +\015\006\011\052\206\110\206\367\015\001\001\014\005\000\060\107 +\061\013\060\011\006\003\125\004\006\023\002\125\123\061\042\060 +\040\006\003\125\004\012\023\031\107\157\157\147\154\145\040\124 +\162\165\163\164\040\123\145\162\166\151\143\145\163\040\114\114 +\103\061\024\060\022\006\003\125\004\003\023\013\107\124\123\040 +\122\157\157\164\040\122\061\060\036\027\015\061\066\060\066\062 +\062\060\060\060\060\060\060\132\027\015\063\066\060\066\062\062 +\060\060\060\060\060\060\132\060\107\061\013\060\011\006\003\125 +\004\006\023\002\125\123\061\042\060\040\006\003\125\004\012\023 +\031\107\157\157\147\154\145\040\124\162\165\163\164\040\123\145 +\162\166\151\143\145\163\040\114\114\103\061\024\060\022\006\003 +\125\004\003\023\013\107\124\123\040\122\157\157\164\040\122\061 +\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001 +\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001 +\000\266\021\002\213\036\343\241\167\233\073\334\277\224\076\267 +\225\247\100\074\241\375\202\371\175\062\006\202\161\366\366\214 +\177\373\350\333\274\152\056\227\227\243\214\113\371\053\366\261 +\371\316\204\035\261\371\305\227\336\357\271\362\243\351\274\022 +\211\136\247\252\122\253\370\043\047\313\244\261\234\143\333\327 +\231\176\360\012\136\353\150\246\364\306\132\107\015\115\020\063 +\343\116\261\023\243\310\030\154\113\354\374\011\220\337\235\144 +\051\045\043\007\241\264\322\075\056\140\340\317\322\011\207\273 +\315\110\360\115\302\302\172\210\212\273\272\317\131\031\326\257 +\217\260\007\260\236\061\361\202\301\300\337\056\246\155\154\031 +\016\265\330\176\046\032\105\003\075\260\171\244\224\050\255\017 +\177\046\345\250\010\376\226\350\074\150\224\123\356\203\072\210 +\053\025\226\011\262\340\172\214\056\165\326\234\353\247\126\144 +\217\226\117\150\256\075\227\302\204\217\300\274\100\300\013\134 +\275\366\207\263\065\154\254\030\120\177\204\340\114\315\222\323 +\040\351\063\274\122\231\257\062\265\051\263\045\052\264\110\371 +\162\341\312\144\367\346\202\020\215\350\235\302\212\210\372\070 +\146\212\374\143\371\001\371\170\375\173\134\167\372\166\207\372 +\354\337\261\016\171\225\127\264\275\046\357\326\001\321\353\026 +\012\273\216\013\265\305\305\212\125\253\323\254\352\221\113\051 +\314\031\244\062\045\116\052\361\145\104\320\002\316\252\316\111 +\264\352\237\174\203\260\100\173\347\103\253\247\154\243\217\175 +\211\201\372\114\245\377\325\216\303\316\113\340\265\330\263\216 +\105\317\166\300\355\100\053\375\123\017\260\247\325\073\015\261 +\212\242\003\336\061\255\314\167\352\157\173\076\326\337\221\042 +\022\346\276\372\330\062\374\020\143\024\121\162\336\135\326\026 +\223\275\051\150\063\357\072\146\354\007\212\046\337\023\327\127 +\145\170\047\336\136\111\024\000\242\000\177\232\250\041\266\251 +\261\225\260\245\271\015\026\021\332\307\154\110\074\100\340\176 +\015\132\315\126\074\321\227\005\271\313\113\355\071\113\234\304 +\077\322\125\023\156\044\260\326\161\372\364\301\272\314\355\033 +\365\376\201\101\330\000\230\075\072\310\256\172\230\067\030\005 +\225\002\003\001\000\001\243\102\060\100\060\016\006\003\125\035 +\017\001\001\377\004\004\003\002\001\006\060\017\006\003\125\035 +\023\001\001\377\004\005\060\003\001\001\377\060\035\006\003\125 +\035\016\004\026\004\024\344\257\053\046\161\032\053\110\047\205 +\057\122\146\054\357\360\211\023\161\076\060\015\006\011\052\206 +\110\206\367\015\001\001\014\005\000\003\202\002\001\000\070\226 +\012\356\075\264\226\036\137\357\235\234\013\063\237\053\340\312 +\375\322\216\012\037\101\164\245\174\252\204\324\345\362\036\346 +\067\122\062\234\013\321\141\035\277\050\301\266\104\051\065\165 +\167\230\262\174\331\275\164\254\212\150\343\251\061\011\051\001 +\140\163\343\107\174\123\250\220\112\047\357\113\327\237\223\347 +\202\066\316\232\150\014\202\347\317\324\020\026\157\137\016\231 +\134\366\037\161\175\357\357\173\057\176\352\066\326\227\160\013 +\025\356\327\134\126\152\063\245\343\111\070\014\270\175\373\215 +\205\244\261\131\136\364\152\341\335\241\366\144\104\256\346\121 +\203\041\146\306\021\076\363\316\107\356\234\050\037\045\332\377 +\254\146\225\335\065\017\134\357\040\054\142\375\221\272\251\314 +\374\132\234\223\201\203\051\227\112\174\132\162\264\071\320\267 +\167\313\171\375\151\072\222\067\355\156\070\145\106\176\351\140 +\275\171\210\227\137\070\022\364\356\257\133\202\310\206\325\341 +\231\155\214\004\362\166\272\111\366\156\351\155\036\137\240\357 +\047\202\166\100\370\246\323\130\134\017\054\102\332\102\306\173 +\210\064\307\301\330\105\233\301\076\305\141\035\331\143\120\111 +\366\064\205\152\340\030\305\156\107\253\101\102\051\233\366\140 +\015\322\061\323\143\230\043\223\132\000\201\110\264\357\315\212 +\315\311\317\231\356\331\236\252\066\341\150\113\161\111\024\066 +\050\072\075\035\316\232\217\045\346\200\161\141\053\265\173\314 +\371\045\026\201\341\061\137\241\243\176\026\244\234\026\152\227 +\030\275\166\162\245\013\236\035\066\346\057\241\057\276\160\221 +\017\250\346\332\370\304\222\100\154\045\176\173\263\011\334\262 +\027\255\200\104\360\150\245\217\224\165\377\164\132\350\250\002 +\174\014\011\342\251\113\013\240\205\013\142\271\357\241\061\222 +\373\357\366\121\004\211\154\350\251\164\241\273\027\263\265\375 +\111\017\174\074\354\203\030\040\103\116\325\223\272\264\064\261 +\037\026\066\037\014\346\144\071\026\114\334\340\376\035\310\251 +\142\075\100\352\312\305\064\002\264\256\211\210\063\065\334\054 +\023\163\330\047\361\320\162\356\165\073\042\336\230\150\146\133 +\361\306\143\107\125\034\272\245\010\121\165\246\110\045 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "GTS Root R1" +# Issuer: CN=GTS Root R1,O=Google Trust Services LLC,C=US +# Serial Number:6e:47:a9:c5:4b:47:0c:0d:ec:33:d0:89:b9:1c:f4:e1 +# Subject: CN=GTS Root R1,O=Google Trust Services LLC,C=US +# Not Valid Before: Wed Jun 22 00:00:00 2016 +# Not Valid After : Sun Jun 22 00:00:00 2036 +# Fingerprint (SHA-256): 2A:57:54:71:E3:13:40:BC:21:58:1C:BD:2C:F1:3E:15:84:63:20:3E:CE:94:BC:F9:D3:CC:19:6B:F0:9A:54:72 +# Fingerprint (SHA1): E1:C9:50:E6:EF:22:F8:4C:56:45:72:8B:92:20:60:D7:D5:A7:A3:E8 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "GTS Root R1" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\341\311\120\346\357\042\370\114\126\105\162\213\222\040\140\327 +\325\247\243\350 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\202\032\357\324\322\112\362\237\342\075\227\006\024\160\162\205 +END +CKA_ISSUER MULTILINE_OCTAL +\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145 +\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040 +\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124 +\123\040\122\157\157\164\040\122\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\156\107\251\305\113\107\014\015\354\063\320\211\271\034 +\364\341 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "GTS Root R2" +# +# Issuer: CN=GTS Root R2,O=Google Trust Services LLC,C=US +# Serial Number:6e:47:a9:c6:5a:b3:e7:20:c5:30:9a:3f:68:52:f2:6f +# Subject: CN=GTS Root R2,O=Google Trust Services LLC,C=US +# Not Valid Before: Wed Jun 22 00:00:00 2016 +# Not Valid After : Sun Jun 22 00:00:00 2036 +# Fingerprint (SHA-256): C4:5D:7B:B0:8E:6D:67:E6:2E:42:35:11:0B:56:4E:5F:78:FD:92:EF:05:8C:84:0A:EA:4E:64:55:D7:58:5C:60 +# Fingerprint (SHA1): D2:73:96:2A:2A:5E:39:9F:73:3F:E1:C7:1E:64:3F:03:38:34:FC:4D +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "GTS Root R2" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145 +\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040 +\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124 +\123\040\122\157\157\164\040\122\062 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145 +\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040 +\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124 +\123\040\122\157\157\164\040\122\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\156\107\251\306\132\263\347\040\305\060\232\077\150\122 +\362\157 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\132\060\202\003\102\240\003\002\001\002\002\020\156 +\107\251\306\132\263\347\040\305\060\232\077\150\122\362\157\060 +\015\006\011\052\206\110\206\367\015\001\001\014\005\000\060\107 +\061\013\060\011\006\003\125\004\006\023\002\125\123\061\042\060 +\040\006\003\125\004\012\023\031\107\157\157\147\154\145\040\124 +\162\165\163\164\040\123\145\162\166\151\143\145\163\040\114\114 +\103\061\024\060\022\006\003\125\004\003\023\013\107\124\123\040 +\122\157\157\164\040\122\062\060\036\027\015\061\066\060\066\062 +\062\060\060\060\060\060\060\132\027\015\063\066\060\066\062\062 +\060\060\060\060\060\060\132\060\107\061\013\060\011\006\003\125 +\004\006\023\002\125\123\061\042\060\040\006\003\125\004\012\023 +\031\107\157\157\147\154\145\040\124\162\165\163\164\040\123\145 +\162\166\151\143\145\163\040\114\114\103\061\024\060\022\006\003 +\125\004\003\023\013\107\124\123\040\122\157\157\164\040\122\062 +\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001 +\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001 +\000\316\336\375\246\373\354\354\024\064\074\007\006\132\154\131 +\367\031\065\335\367\301\235\125\252\323\315\073\244\223\162\357 +\012\372\155\235\366\360\205\200\133\241\110\122\237\071\305\267 +\356\050\254\357\313\166\150\024\271\337\255\001\154\231\037\304 +\042\035\237\376\162\167\340\054\133\257\344\004\277\117\162\240 +\032\064\230\350\071\150\354\225\045\173\166\241\346\151\271\205 +\031\275\211\214\376\255\355\066\352\163\274\377\203\342\313\175 +\301\322\316\112\263\215\005\236\213\111\223\337\301\133\320\156 +\136\360\056\060\056\202\374\372\274\264\027\012\110\345\210\233 +\305\233\153\336\260\312\264\003\360\332\364\220\270\145\144\367 +\134\114\255\350\176\146\136\231\327\270\302\076\310\320\023\235 +\255\356\344\105\173\211\125\367\212\037\142\122\204\022\263\302 +\100\227\343\212\037\107\221\246\164\132\322\370\261\143\050\020 +\270\263\011\270\126\167\100\242\046\230\171\306\376\337\045\356 +\076\345\240\177\324\141\017\121\113\074\077\214\332\341\160\164 +\330\302\150\241\371\301\014\351\241\342\177\273\125\074\166\006 +\356\152\116\314\222\210\060\115\232\275\117\013\110\232\204\265 +\230\243\325\373\163\301\127\141\335\050\126\165\023\256\207\216 +\347\014\121\011\020\165\210\114\274\215\371\173\074\324\042\110 +\037\052\334\353\153\273\104\261\313\063\161\062\106\257\255\112 +\361\214\350\164\072\254\347\032\042\163\200\322\060\367\045\102 +\307\042\073\073\022\255\226\056\306\303\166\007\252\040\267\065 +\111\127\351\222\111\350\166\026\162\061\147\053\226\176\212\243 +\307\224\126\042\277\152\113\176\001\041\262\043\062\337\344\232 +\104\155\131\133\135\365\000\240\034\233\306\170\227\215\220\377 +\233\310\252\264\257\021\121\071\136\331\373\147\255\325\133\021 +\235\062\232\033\275\325\272\133\245\311\313\045\151\123\125\047 +\134\340\312\066\313\210\141\373\036\267\320\313\356\026\373\323 +\246\114\336\222\245\324\342\337\365\006\124\336\056\235\113\264 +\223\060\252\201\316\335\032\334\121\163\015\117\160\351\345\266 +\026\041\031\171\262\346\211\013\165\144\312\325\253\274\011\301 +\030\241\377\324\124\241\205\074\375\024\044\003\262\207\323\244 +\267\002\003\001\000\001\243\102\060\100\060\016\006\003\125\035 +\017\001\001\377\004\004\003\002\001\006\060\017\006\003\125\035 +\023\001\001\377\004\005\060\003\001\001\377\060\035\006\003\125 +\035\016\004\026\004\024\273\377\312\216\043\237\117\231\312\333 +\342\150\246\245\025\047\027\036\331\016\060\015\006\011\052\206 +\110\206\367\015\001\001\014\005\000\003\202\002\001\000\266\151 +\360\246\167\376\236\356\013\201\255\341\300\251\307\371\065\035 +\100\202\253\346\004\264\337\313\367\035\017\203\360\176\023\115 +\215\214\356\343\063\042\303\071\374\100\337\156\101\113\102\123 +\276\026\210\361\322\070\136\304\150\231\034\230\122\223\214\347 +\150\355\033\152\163\172\005\100\115\177\145\073\326\130\361\316 +\203\107\140\343\377\227\251\234\140\167\030\125\265\176\010\223 +\317\320\366\074\147\003\025\141\011\371\201\171\365\354\123\244 +\237\311\217\001\213\163\304\167\166\334\203\242\365\014\111\032 +\250\166\336\222\233\144\370\263\054\305\047\323\007\300\010\200 +\244\230\222\343\001\226\002\252\002\356\217\073\305\321\155\012 +\063\060\163\170\271\117\124\026\277\013\007\241\244\134\346\313 +\311\134\204\217\017\340\025\167\054\176\046\176\332\304\113\333 +\247\026\167\007\260\315\165\350\162\102\326\225\204\235\206\203 +\362\344\220\315\011\107\324\213\003\160\332\132\306\003\102\364 +\355\067\242\360\033\120\124\113\016\330\204\336\031\050\231\201 +\107\256\011\033\077\110\321\303\157\342\260\140\027\365\356\043 +\002\245\332\000\133\155\220\253\356\242\351\033\073\351\307\104 +\047\105\216\153\237\365\244\204\274\167\371\153\227\254\076\121 +\105\242\021\246\314\205\356\012\150\362\076\120\070\172\044\142 +\036\027\040\067\155\152\115\267\011\233\311\374\244\130\365\266 +\373\234\116\030\273\225\002\347\241\255\233\007\356\066\153\044 +\322\071\206\301\223\203\120\322\201\106\250\137\142\127\054\273 +\154\144\210\010\156\357\023\124\137\335\055\304\147\143\323\317 +\211\067\277\235\040\364\373\172\203\233\240\036\201\000\120\302 +\344\014\042\131\122\020\355\103\126\207\000\370\024\122\247\035 +\213\223\214\242\115\106\177\047\306\161\233\044\336\344\332\206 +\213\015\176\153\040\301\300\236\341\145\330\152\243\246\350\205 +\213\072\007\010\034\272\365\217\125\232\030\165\176\345\354\201 +\146\321\041\163\241\065\104\013\200\075\133\234\136\157\052\027 +\226\321\203\043\210\146\155\346\206\342\160\062\057\122\042\347 +\310\347\177\304\054\140\135\057\303\257\236\105\005\303\204\002 +\267\375\054\010\122\117\202\335\243\360\324\206\011\002 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "GTS Root R2" +# Issuer: CN=GTS Root R2,O=Google Trust Services LLC,C=US +# Serial Number:6e:47:a9:c6:5a:b3:e7:20:c5:30:9a:3f:68:52:f2:6f +# Subject: CN=GTS Root R2,O=Google Trust Services LLC,C=US +# Not Valid Before: Wed Jun 22 00:00:00 2016 +# Not Valid After : Sun Jun 22 00:00:00 2036 +# Fingerprint (SHA-256): C4:5D:7B:B0:8E:6D:67:E6:2E:42:35:11:0B:56:4E:5F:78:FD:92:EF:05:8C:84:0A:EA:4E:64:55:D7:58:5C:60 +# Fingerprint (SHA1): D2:73:96:2A:2A:5E:39:9F:73:3F:E1:C7:1E:64:3F:03:38:34:FC:4D +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "GTS Root R2" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\322\163\226\052\052\136\071\237\163\077\341\307\036\144\077\003 +\070\064\374\115 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\104\355\232\016\244\011\073\000\362\256\114\243\306\141\260\213 +END +CKA_ISSUER MULTILINE_OCTAL +\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145 +\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040 +\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124 +\123\040\122\157\157\164\040\122\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\156\107\251\306\132\263\347\040\305\060\232\077\150\122 +\362\157 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "GTS Root R3" +# +# Issuer: CN=GTS Root R3,O=Google Trust Services LLC,C=US +# Serial Number:6e:47:a9:c7:6c:a9:73:24:40:89:0f:03:55:dd:8d:1d +# Subject: CN=GTS Root R3,O=Google Trust Services LLC,C=US +# Not Valid Before: Wed Jun 22 00:00:00 2016 +# Not Valid After : Sun Jun 22 00:00:00 2036 +# Fingerprint (SHA-256): 15:D5:B8:77:46:19:EA:7D:54:CE:1C:A6:D0:B0:C4:03:E0:37:A9:17:F1:31:E8:A0:4E:1E:6B:7A:71:BA:BC:E5 +# Fingerprint (SHA1): 30:D4:24:6F:07:FF:DB:91:89:8A:0B:E9:49:66:11:EB:8C:5E:46:E5 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "GTS Root R3" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145 +\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040 +\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124 +\123\040\122\157\157\164\040\122\063 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145 +\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040 +\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124 +\123\040\122\157\157\164\040\122\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\156\107\251\307\154\251\163\044\100\211\017\003\125\335 +\215\035 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\002\014\060\202\001\221\240\003\002\001\002\002\020\156 +\107\251\307\154\251\163\044\100\211\017\003\125\335\215\035\060 +\012\006\010\052\206\110\316\075\004\003\003\060\107\061\013\060 +\011\006\003\125\004\006\023\002\125\123\061\042\060\040\006\003 +\125\004\012\023\031\107\157\157\147\154\145\040\124\162\165\163 +\164\040\123\145\162\166\151\143\145\163\040\114\114\103\061\024 +\060\022\006\003\125\004\003\023\013\107\124\123\040\122\157\157 +\164\040\122\063\060\036\027\015\061\066\060\066\062\062\060\060 +\060\060\060\060\132\027\015\063\066\060\066\062\062\060\060\060 +\060\060\060\132\060\107\061\013\060\011\006\003\125\004\006\023 +\002\125\123\061\042\060\040\006\003\125\004\012\023\031\107\157 +\157\147\154\145\040\124\162\165\163\164\040\123\145\162\166\151 +\143\145\163\040\114\114\103\061\024\060\022\006\003\125\004\003 +\023\013\107\124\123\040\122\157\157\164\040\122\063\060\166\060 +\020\006\007\052\206\110\316\075\002\001\006\005\053\201\004\000 +\042\003\142\000\004\037\117\063\207\063\051\212\241\204\336\313 +\307\041\130\101\211\352\126\235\053\113\205\306\035\114\047\274 +\177\046\121\162\157\342\237\326\243\312\314\105\024\106\213\255 +\357\176\206\214\354\261\176\057\377\251\161\235\030\204\105\004 +\101\125\156\053\352\046\177\273\220\001\343\113\031\272\344\124 +\226\105\011\261\325\154\221\104\255\204\023\216\232\214\015\200 +\014\062\366\340\047\243\102\060\100\060\016\006\003\125\035\017 +\001\001\377\004\004\003\002\001\006\060\017\006\003\125\035\023 +\001\001\377\004\005\060\003\001\001\377\060\035\006\003\125\035 +\016\004\026\004\024\301\361\046\272\240\055\256\205\201\317\323 +\361\052\022\275\270\012\147\375\274\060\012\006\010\052\206\110 +\316\075\004\003\003\003\151\000\060\146\002\061\000\200\133\244 +\174\043\300\225\245\054\334\276\211\157\043\271\243\335\145\000 +\122\136\221\254\310\235\162\164\202\123\013\175\251\100\275\150 +\140\305\341\270\124\073\301\066\027\045\330\301\275\002\061\000 +\236\065\222\164\205\045\121\365\044\354\144\122\044\120\245\037 +\333\350\313\311\166\354\354\202\156\365\205\030\123\350\270\343 +\232\051\252\226\323\203\043\311\244\173\141\263\314\002\350\135 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "GTS Root R3" +# Issuer: CN=GTS Root R3,O=Google Trust Services LLC,C=US +# Serial Number:6e:47:a9:c7:6c:a9:73:24:40:89:0f:03:55:dd:8d:1d +# Subject: CN=GTS Root R3,O=Google Trust Services LLC,C=US +# Not Valid Before: Wed Jun 22 00:00:00 2016 +# Not Valid After : Sun Jun 22 00:00:00 2036 +# Fingerprint (SHA-256): 15:D5:B8:77:46:19:EA:7D:54:CE:1C:A6:D0:B0:C4:03:E0:37:A9:17:F1:31:E8:A0:4E:1E:6B:7A:71:BA:BC:E5 +# Fingerprint (SHA1): 30:D4:24:6F:07:FF:DB:91:89:8A:0B:E9:49:66:11:EB:8C:5E:46:E5 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "GTS Root R3" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\060\324\044\157\007\377\333\221\211\212\013\351\111\146\021\353 +\214\136\106\345 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\032\171\133\153\004\122\234\135\307\164\063\033\045\232\371\045 +END +CKA_ISSUER MULTILINE_OCTAL +\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145 +\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040 +\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124 +\123\040\122\157\157\164\040\122\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\156\107\251\307\154\251\163\044\100\211\017\003\125\335 +\215\035 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "GTS Root R4" +# +# Issuer: CN=GTS Root R4,O=Google Trust Services LLC,C=US +# Serial Number:6e:47:a9:c8:8b:94:b6:e8:bb:3b:2a:d8:a2:b2:c1:99 +# Subject: CN=GTS Root R4,O=Google Trust Services LLC,C=US +# Not Valid Before: Wed Jun 22 00:00:00 2016 +# Not Valid After : Sun Jun 22 00:00:00 2036 +# Fingerprint (SHA-256): 71:CC:A5:39:1F:9E:79:4B:04:80:25:30:B3:63:E1:21:DA:8A:30:43:BB:26:66:2F:EA:4D:CA:7F:C9:51:A4:BD +# Fingerprint (SHA1): 2A:1D:60:27:D9:4A:B1:0A:1C:4D:91:5C:CD:33:A0:CB:3E:2D:54:CB +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "GTS Root R4" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145 +\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040 +\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124 +\123\040\122\157\157\164\040\122\064 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145 +\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040 +\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124 +\123\040\122\157\157\164\040\122\064 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\156\107\251\310\213\224\266\350\273\073\052\330\242\262 +\301\231 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\002\012\060\202\001\221\240\003\002\001\002\002\020\156 +\107\251\310\213\224\266\350\273\073\052\330\242\262\301\231\060 +\012\006\010\052\206\110\316\075\004\003\003\060\107\061\013\060 +\011\006\003\125\004\006\023\002\125\123\061\042\060\040\006\003 +\125\004\012\023\031\107\157\157\147\154\145\040\124\162\165\163 +\164\040\123\145\162\166\151\143\145\163\040\114\114\103\061\024 +\060\022\006\003\125\004\003\023\013\107\124\123\040\122\157\157 +\164\040\122\064\060\036\027\015\061\066\060\066\062\062\060\060 +\060\060\060\060\132\027\015\063\066\060\066\062\062\060\060\060 +\060\060\060\132\060\107\061\013\060\011\006\003\125\004\006\023 +\002\125\123\061\042\060\040\006\003\125\004\012\023\031\107\157 +\157\147\154\145\040\124\162\165\163\164\040\123\145\162\166\151 +\143\145\163\040\114\114\103\061\024\060\022\006\003\125\004\003 +\023\013\107\124\123\040\122\157\157\164\040\122\064\060\166\060 +\020\006\007\052\206\110\316\075\002\001\006\005\053\201\004\000 +\042\003\142\000\004\363\164\163\247\150\213\140\256\103\270\065 +\305\201\060\173\113\111\235\373\301\141\316\346\336\106\275\153 +\325\141\030\065\256\100\335\163\367\211\221\060\132\353\074\356 +\205\174\242\100\166\073\251\306\270\107\330\052\347\222\221\152 +\163\351\261\162\071\237\051\237\242\230\323\137\136\130\206\145 +\017\241\204\145\006\321\334\213\311\307\163\310\214\152\057\345 +\304\253\321\035\212\243\102\060\100\060\016\006\003\125\035\017 +\001\001\377\004\004\003\002\001\006\060\017\006\003\125\035\023 +\001\001\377\004\005\060\003\001\001\377\060\035\006\003\125\035 +\016\004\026\004\024\200\114\326\353\164\377\111\066\243\325\330 +\374\265\076\305\152\360\224\035\214\060\012\006\010\052\206\110 +\316\075\004\003\003\003\147\000\060\144\002\060\152\120\122\164 +\010\304\160\334\236\120\164\041\350\215\172\041\303\117\226\156 +\025\321\042\065\141\055\372\010\067\356\031\155\255\333\262\314 +\175\007\064\365\140\031\054\265\064\331\157\040\002\060\003\161 +\261\272\243\140\013\206\355\232\010\152\225\150\237\342\263\341 +\223\144\174\136\223\246\337\171\055\215\205\343\224\317\043\135 +\161\314\362\260\115\326\376\231\310\224\251\165\242\343 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "GTS Root R4" +# Issuer: CN=GTS Root R4,O=Google Trust Services LLC,C=US +# Serial Number:6e:47:a9:c8:8b:94:b6:e8:bb:3b:2a:d8:a2:b2:c1:99 +# Subject: CN=GTS Root R4,O=Google Trust Services LLC,C=US +# Not Valid Before: Wed Jun 22 00:00:00 2016 +# Not Valid After : Sun Jun 22 00:00:00 2036 +# Fingerprint (SHA-256): 71:CC:A5:39:1F:9E:79:4B:04:80:25:30:B3:63:E1:21:DA:8A:30:43:BB:26:66:2F:EA:4D:CA:7F:C9:51:A4:BD +# Fingerprint (SHA1): 2A:1D:60:27:D9:4A:B1:0A:1C:4D:91:5C:CD:33:A0:CB:3E:2D:54:CB +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "GTS Root R4" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\052\035\140\047\331\112\261\012\034\115\221\134\315\063\240\313 +\076\055\124\313 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\135\266\152\304\140\027\044\152\032\231\250\113\356\136\264\046 +END +CKA_ISSUER MULTILINE_OCTAL +\060\107\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\042\060\040\006\003\125\004\012\023\031\107\157\157\147\154\145 +\040\124\162\165\163\164\040\123\145\162\166\151\143\145\163\040 +\114\114\103\061\024\060\022\006\003\125\004\003\023\013\107\124 +\123\040\122\157\157\164\040\122\064 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\156\107\251\310\213\224\266\350\273\073\052\330\242\262 +\301\231 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "UCA Global G2 Root" +# +# Issuer: CN=UCA Global G2 Root,O=UniTrust,C=CN +# Serial Number:5d:df:b1:da:5a:a3:ed:5d:be:5a:65:20:65:03:90:ef +# Subject: CN=UCA Global G2 Root,O=UniTrust,C=CN +# Not Valid Before: Fri Mar 11 00:00:00 2016 +# Not Valid After : Mon Dec 31 00:00:00 2040 +# Fingerprint (SHA-256): 9B:EA:11:C9:76:FE:01:47:64:C1:BE:56:A6:F9:14:B5:A5:60:31:7A:BD:99:88:39:33:82:E5:16:1A:A0:49:3C +# Fingerprint (SHA1): 28:F9:78:16:19:7A:FF:18:25:18:AA:44:FE:C1:A0:CE:5C:B6:4C:8A +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "UCA Global G2 Root" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\075\061\013\060\011\006\003\125\004\006\023\002\103\116\061 +\021\060\017\006\003\125\004\012\014\010\125\156\151\124\162\165 +\163\164\061\033\060\031\006\003\125\004\003\014\022\125\103\101 +\040\107\154\157\142\141\154\040\107\062\040\122\157\157\164 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\075\061\013\060\011\006\003\125\004\006\023\002\103\116\061 +\021\060\017\006\003\125\004\012\014\010\125\156\151\124\162\165 +\163\164\061\033\060\031\006\003\125\004\003\014\022\125\103\101 +\040\107\154\157\142\141\154\040\107\062\040\122\157\157\164 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\135\337\261\332\132\243\355\135\276\132\145\040\145\003 +\220\357 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\106\060\202\003\056\240\003\002\001\002\002\020\135 +\337\261\332\132\243\355\135\276\132\145\040\145\003\220\357\060 +\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\075 +\061\013\060\011\006\003\125\004\006\023\002\103\116\061\021\060 +\017\006\003\125\004\012\014\010\125\156\151\124\162\165\163\164 +\061\033\060\031\006\003\125\004\003\014\022\125\103\101\040\107 +\154\157\142\141\154\040\107\062\040\122\157\157\164\060\036\027 +\015\061\066\060\063\061\061\060\060\060\060\060\060\132\027\015 +\064\060\061\062\063\061\060\060\060\060\060\060\132\060\075\061 +\013\060\011\006\003\125\004\006\023\002\103\116\061\021\060\017 +\006\003\125\004\012\014\010\125\156\151\124\162\165\163\164\061 +\033\060\031\006\003\125\004\003\014\022\125\103\101\040\107\154 +\157\142\141\154\040\107\062\040\122\157\157\164\060\202\002\042 +\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003 +\202\002\017\000\060\202\002\012\002\202\002\001\000\305\346\053 +\157\174\357\046\005\047\243\201\044\332\157\313\001\371\231\232 +\251\062\302\042\207\141\101\221\073\313\303\150\033\006\305\114 +\251\053\301\147\027\042\035\053\355\371\051\211\223\242\170\275 +\222\153\240\243\015\242\176\312\223\263\246\321\214\065\325\165 +\371\027\366\317\105\305\345\172\354\167\223\240\217\043\256\016 +\032\003\177\276\324\320\355\056\173\253\106\043\133\377\054\346 +\124\172\224\300\052\025\360\311\215\260\172\073\044\341\327\150 +\342\061\074\006\063\106\266\124\021\246\245\057\042\124\052\130 +\015\001\002\361\372\025\121\147\154\300\372\327\266\033\177\321 +\126\210\057\032\072\215\073\273\202\021\340\107\000\320\122\207 +\253\373\206\176\017\044\153\100\235\064\147\274\215\307\055\206 +\157\171\076\216\251\074\027\113\177\260\231\343\260\161\140\334 +\013\365\144\303\316\103\274\155\161\271\322\336\047\133\212\350 +\330\306\256\341\131\175\317\050\055\065\270\225\126\032\361\262 +\130\113\267\022\067\310\174\263\355\113\200\341\215\372\062\043 +\266\157\267\110\225\010\261\104\116\205\214\072\002\124\040\057 +\337\277\127\117\073\072\220\041\327\301\046\065\124\040\354\307 +\077\107\354\357\132\277\113\172\301\255\073\027\120\134\142\330 +\017\113\112\334\053\372\156\274\163\222\315\354\307\120\350\101 +\226\327\251\176\155\330\351\035\217\212\265\271\130\222\272\112 +\222\053\014\126\375\200\353\010\360\136\051\156\033\034\014\257 +\217\223\211\255\333\275\243\236\041\312\211\031\354\337\265\303 +\032\353\026\376\170\066\114\326\156\320\076\027\034\220\027\153 +\046\272\373\172\057\277\021\034\030\016\055\163\003\217\240\345 +\065\240\132\342\114\165\035\161\341\071\070\123\170\100\314\203 +\223\327\012\236\235\133\217\212\344\345\340\110\344\110\262\107 +\315\116\052\165\052\173\362\042\366\311\276\011\221\226\127\172 +\210\210\254\356\160\254\371\334\051\343\014\034\073\022\116\104 +\326\247\116\260\046\310\363\331\032\227\221\150\352\357\215\106 +\006\322\126\105\130\232\074\014\017\203\270\005\045\303\071\317 +\073\244\064\211\267\171\022\057\107\305\347\251\227\151\374\246 +\167\147\265\337\173\361\172\145\025\344\141\126\145\002\003\001 +\000\001\243\102\060\100\060\016\006\003\125\035\017\001\001\377 +\004\004\003\002\001\006\060\017\006\003\125\035\023\001\001\377 +\004\005\060\003\001\001\377\060\035\006\003\125\035\016\004\026 +\004\024\201\304\214\314\365\344\060\377\245\014\010\137\214\025 +\147\041\164\001\337\337\060\015\006\011\052\206\110\206\367\015 +\001\001\013\005\000\003\202\002\001\000\023\145\042\365\216\053 +\255\104\344\313\377\271\150\346\303\200\110\075\004\173\372\043 +\057\172\355\066\332\262\316\155\366\346\236\345\137\130\217\313 +\067\062\241\310\145\266\256\070\075\065\033\076\274\073\266\004 +\320\274\371\111\365\233\367\205\305\066\266\313\274\370\310\071 +\325\344\137\007\275\025\124\227\164\312\312\355\117\272\272\144 +\166\237\201\270\204\105\111\114\215\157\242\353\261\314\321\303 +\224\332\104\302\346\342\352\030\350\242\037\047\005\272\327\345 +\326\251\315\335\357\166\230\215\000\016\315\033\372\003\267\216 +\200\130\016\047\077\122\373\224\242\312\136\145\311\326\204\332 +\271\065\161\363\046\300\117\167\346\201\047\322\167\073\232\024 +\157\171\364\366\320\341\323\224\272\320\127\121\275\047\005\015 +\301\375\310\022\060\356\157\215\021\053\010\235\324\324\277\200 +\105\024\232\210\104\332\060\352\264\247\343\356\357\133\202\325 +\076\326\255\170\222\333\134\074\363\330\255\372\270\153\177\304 +\066\050\266\002\025\212\124\054\234\260\027\163\216\320\067\243 +\024\074\230\225\000\014\051\005\133\236\111\111\261\137\307\343 +\313\317\047\145\216\065\027\267\127\310\060\331\101\133\271\024 +\266\350\302\017\224\061\247\224\230\314\152\353\265\341\047\365 +\020\250\001\350\216\022\142\350\210\314\265\177\106\227\300\233 +\020\146\070\032\066\106\137\042\150\075\337\311\306\023\047\253 +\123\006\254\242\074\206\006\145\157\261\176\261\051\104\232\243 +\272\111\151\050\151\217\327\345\137\255\004\206\144\157\032\240 +\014\305\010\142\316\200\243\320\363\354\150\336\276\063\307\027 +\133\177\200\304\114\114\261\246\204\212\303\073\270\011\315\024 +\201\272\030\343\124\127\066\376\333\057\174\107\241\072\063\310 +\371\130\073\104\117\261\312\002\211\004\226\050\150\305\113\270 +\046\211\273\326\063\057\120\325\376\232\211\272\030\062\222\124 +\306\133\340\235\371\136\345\015\042\233\366\332\342\310\041\262 +\142\041\252\206\100\262\056\144\323\137\310\343\176\021\147\105 +\037\005\376\343\242\357\263\250\263\363\175\217\370\014\037\042 +\037\055\160\264\270\001\064\166\060\000\345\043\170\247\126\327 +\120\037\212\373\006\365\302\031\360\320 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "UCA Global G2 Root" +# Issuer: CN=UCA Global G2 Root,O=UniTrust,C=CN +# Serial Number:5d:df:b1:da:5a:a3:ed:5d:be:5a:65:20:65:03:90:ef +# Subject: CN=UCA Global G2 Root,O=UniTrust,C=CN +# Not Valid Before: Fri Mar 11 00:00:00 2016 +# Not Valid After : Mon Dec 31 00:00:00 2040 +# Fingerprint (SHA-256): 9B:EA:11:C9:76:FE:01:47:64:C1:BE:56:A6:F9:14:B5:A5:60:31:7A:BD:99:88:39:33:82:E5:16:1A:A0:49:3C +# Fingerprint (SHA1): 28:F9:78:16:19:7A:FF:18:25:18:AA:44:FE:C1:A0:CE:5C:B6:4C:8A +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "UCA Global G2 Root" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\050\371\170\026\031\172\377\030\045\030\252\104\376\301\240\316 +\134\266\114\212 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\200\376\360\304\112\360\134\142\062\237\034\272\170\251\120\370 +END +CKA_ISSUER MULTILINE_OCTAL +\060\075\061\013\060\011\006\003\125\004\006\023\002\103\116\061 +\021\060\017\006\003\125\004\012\014\010\125\156\151\124\162\165 +\163\164\061\033\060\031\006\003\125\004\003\014\022\125\103\101 +\040\107\154\157\142\141\154\040\107\062\040\122\157\157\164 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\135\337\261\332\132\243\355\135\276\132\145\040\145\003 +\220\357 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "UCA Extended Validation Root" +# +# Issuer: CN=UCA Extended Validation Root,O=UniTrust,C=CN +# Serial Number:4f:d2:2b:8f:f5:64:c8:33:9e:4f:34:58:66:23:70:60 +# Subject: CN=UCA Extended Validation Root,O=UniTrust,C=CN +# Not Valid Before: Fri Mar 13 00:00:00 2015 +# Not Valid After : Fri Dec 31 00:00:00 2038 +# Fingerprint (SHA-256): D4:3A:F9:B3:54:73:75:5C:96:84:FC:06:D7:D8:CB:70:EE:5C:28:E7:73:FB:29:4E:B4:1E:E7:17:22:92:4D:24 +# Fingerprint (SHA1): A3:A1:B0:6F:24:61:23:4A:E3:36:A5:C2:37:FC:A6:FF:DD:F0:D7:3A +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "UCA Extended Validation Root" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\107\061\013\060\011\006\003\125\004\006\023\002\103\116\061 +\021\060\017\006\003\125\004\012\014\010\125\156\151\124\162\165 +\163\164\061\045\060\043\006\003\125\004\003\014\034\125\103\101 +\040\105\170\164\145\156\144\145\144\040\126\141\154\151\144\141 +\164\151\157\156\040\122\157\157\164 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\107\061\013\060\011\006\003\125\004\006\023\002\103\116\061 +\021\060\017\006\003\125\004\012\014\010\125\156\151\124\162\165 +\163\164\061\045\060\043\006\003\125\004\003\014\034\125\103\101 +\040\105\170\164\145\156\144\145\144\040\126\141\154\151\144\141 +\164\151\157\156\040\122\157\157\164 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\117\322\053\217\365\144\310\063\236\117\064\130\146\043 +\160\140 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\132\060\202\003\102\240\003\002\001\002\002\020\117 +\322\053\217\365\144\310\063\236\117\064\130\146\043\160\140\060 +\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060\107 +\061\013\060\011\006\003\125\004\006\023\002\103\116\061\021\060 +\017\006\003\125\004\012\014\010\125\156\151\124\162\165\163\164 +\061\045\060\043\006\003\125\004\003\014\034\125\103\101\040\105 +\170\164\145\156\144\145\144\040\126\141\154\151\144\141\164\151 +\157\156\040\122\157\157\164\060\036\027\015\061\065\060\063\061 +\063\060\060\060\060\060\060\132\027\015\063\070\061\062\063\061 +\060\060\060\060\060\060\132\060\107\061\013\060\011\006\003\125 +\004\006\023\002\103\116\061\021\060\017\006\003\125\004\012\014 +\010\125\156\151\124\162\165\163\164\061\045\060\043\006\003\125 +\004\003\014\034\125\103\101\040\105\170\164\145\156\144\145\144 +\040\126\141\154\151\144\141\164\151\157\156\040\122\157\157\164 +\060\202\002\042\060\015\006\011\052\206\110\206\367\015\001\001 +\001\005\000\003\202\002\017\000\060\202\002\012\002\202\002\001 +\000\251\011\007\050\023\002\260\231\340\144\252\036\103\026\172 +\163\261\221\240\165\076\250\372\343\070\000\172\354\211\152\040 +\017\213\305\260\233\063\003\132\206\306\130\206\325\301\205\273 +\117\306\234\100\115\312\276\356\151\226\270\255\201\060\232\174 +\222\005\353\005\053\232\110\320\270\166\076\226\310\040\273\322 +\260\361\217\330\254\105\106\377\252\147\140\264\167\176\152\037 +\074\032\122\172\004\075\007\074\205\015\204\320\037\166\012\367 +\152\024\337\162\343\064\174\127\116\126\001\076\171\361\252\051 +\073\154\372\370\217\155\115\310\065\337\256\353\334\044\356\171 +\105\247\205\266\005\210\336\210\135\045\174\227\144\147\011\331 +\277\132\025\005\206\363\011\036\354\130\062\063\021\363\167\144 +\260\166\037\344\020\065\027\033\362\016\261\154\244\052\243\163 +\374\011\037\036\062\031\123\021\347\331\263\054\056\166\056\241 +\243\336\176\152\210\011\350\362\007\212\370\262\315\020\347\342 +\163\100\223\273\010\321\077\341\374\013\224\263\045\357\174\246 +\327\321\257\237\377\226\232\365\221\173\230\013\167\324\176\350 +\007\322\142\265\225\071\343\363\361\155\017\016\145\204\212\143 +\124\305\200\266\340\236\113\175\107\046\247\001\010\135\321\210 +\236\327\303\062\104\372\202\112\012\150\124\177\070\123\003\314 +\244\000\063\144\121\131\013\243\202\221\172\136\354\026\302\363 +\052\346\142\332\052\333\131\142\020\045\112\052\201\013\107\007 +\103\006\160\207\322\372\223\021\051\172\110\115\353\224\307\160 +\115\257\147\325\121\261\200\040\001\001\264\172\010\246\220\177 +\116\340\357\007\101\207\257\152\245\136\213\373\317\120\262\232 +\124\257\303\211\272\130\055\365\060\230\261\066\162\071\176\111 +\004\375\051\247\114\171\344\005\127\333\224\271\026\123\215\106 +\263\035\225\141\127\126\177\257\360\026\133\141\130\157\066\120 +\021\013\330\254\053\225\026\032\016\037\010\315\066\064\145\020 +\142\146\325\200\137\024\040\137\055\014\240\170\012\150\326\054 +\327\351\157\053\322\112\005\223\374\236\157\153\147\377\210\361 +\116\245\151\112\122\067\005\352\306\026\215\322\304\231\321\202 +\053\073\272\065\165\367\121\121\130\363\310\007\335\344\264\003 +\177\002\003\001\000\001\243\102\060\100\060\035\006\003\125\035 +\016\004\026\004\024\331\164\072\344\060\075\015\367\022\334\176 +\132\005\237\036\064\232\367\341\024\060\017\006\003\125\035\023 +\001\001\377\004\005\060\003\001\001\377\060\016\006\003\125\035 +\017\001\001\377\004\004\003\002\001\206\060\015\006\011\052\206 +\110\206\367\015\001\001\013\005\000\003\202\002\001\000\066\215 +\227\314\102\025\144\051\067\233\046\054\326\373\256\025\151\054 +\153\032\032\367\137\266\371\007\114\131\352\363\311\310\271\256 +\314\272\056\172\334\300\365\260\055\300\073\257\237\160\005\021 +\152\237\045\117\001\051\160\343\345\014\341\352\132\174\334\111 +\273\301\036\052\201\365\026\113\162\221\310\242\061\271\252\332 +\374\235\037\363\135\100\002\023\374\116\034\006\312\263\024\220 +\124\027\031\022\032\361\037\327\014\151\132\366\161\170\364\224 +\175\221\013\216\354\220\124\216\274\157\241\114\253\374\164\144 +\375\161\232\370\101\007\241\315\221\344\074\232\340\233\062\071 +\163\253\052\325\151\310\170\221\046\061\175\342\307\060\361\374 +\024\170\167\022\016\023\364\335\026\224\277\113\147\173\160\123 +\205\312\260\273\363\070\115\054\220\071\300\015\302\135\153\351 +\342\345\325\210\215\326\054\277\253\033\276\265\050\207\022\027 +\164\156\374\175\374\217\320\207\046\260\033\373\271\154\253\342 +\236\075\025\301\073\056\147\002\130\221\237\357\370\102\037\054 +\267\150\365\165\255\317\265\366\377\021\175\302\360\044\245\255 +\323\372\240\074\251\372\135\334\245\240\357\104\244\276\326\350 +\345\344\023\226\027\173\006\076\062\355\307\267\102\274\166\243 +\330\145\070\053\070\065\121\041\016\016\157\056\064\023\100\341 +\053\147\014\155\112\101\060\030\043\132\062\125\231\311\027\340 +\074\336\366\354\171\255\053\130\031\242\255\054\042\032\225\216 +\276\226\220\135\102\127\304\371\024\003\065\053\034\055\121\127 +\010\247\072\336\077\344\310\264\003\163\302\301\046\200\273\013 +\102\037\255\015\257\046\162\332\314\276\263\243\203\130\015\202 +\305\037\106\121\343\234\030\314\215\233\215\354\111\353\165\120 +\325\214\050\131\312\164\064\332\214\013\041\253\036\352\033\345 +\307\375\025\076\300\027\252\373\043\156\046\106\313\372\371\261 +\162\153\151\317\042\204\013\142\017\254\331\031\000\224\242\166 +\074\324\055\232\355\004\236\055\006\142\020\067\122\034\205\162 +\033\047\345\314\306\061\354\067\354\143\131\233\013\035\166\314 +\176\062\232\210\225\010\066\122\273\336\166\137\166\111\111\255 +\177\275\145\040\262\311\301\053\166\030\166\237\126\261 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "UCA Extended Validation Root" +# Issuer: CN=UCA Extended Validation Root,O=UniTrust,C=CN +# Serial Number:4f:d2:2b:8f:f5:64:c8:33:9e:4f:34:58:66:23:70:60 +# Subject: CN=UCA Extended Validation Root,O=UniTrust,C=CN +# Not Valid Before: Fri Mar 13 00:00:00 2015 +# Not Valid After : Fri Dec 31 00:00:00 2038 +# Fingerprint (SHA-256): D4:3A:F9:B3:54:73:75:5C:96:84:FC:06:D7:D8:CB:70:EE:5C:28:E7:73:FB:29:4E:B4:1E:E7:17:22:92:4D:24 +# Fingerprint (SHA1): A3:A1:B0:6F:24:61:23:4A:E3:36:A5:C2:37:FC:A6:FF:DD:F0:D7:3A +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "UCA Extended Validation Root" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\243\241\260\157\044\141\043\112\343\066\245\302\067\374\246\377 +\335\360\327\072 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\241\363\137\103\306\064\233\332\277\214\176\005\123\255\226\342 +END +CKA_ISSUER MULTILINE_OCTAL +\060\107\061\013\060\011\006\003\125\004\006\023\002\103\116\061 +\021\060\017\006\003\125\004\012\014\010\125\156\151\124\162\165 +\163\164\061\045\060\043\006\003\125\004\003\014\034\125\103\101 +\040\105\170\164\145\156\144\145\144\040\126\141\154\151\144\141 +\164\151\157\156\040\122\157\157\164 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\117\322\053\217\365\144\310\063\236\117\064\130\146\043 +\160\140 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Certigna Root CA" +# +# Issuer: CN=Certigna Root CA,OU=0002 48146308100036,O=Dhimyotis,C=FR +# Serial Number:00:ca:e9:1b:89:f1:55:03:0d:a3:e6:41:6d:c4:e3:a6:e1 +# Subject: CN=Certigna Root CA,OU=0002 48146308100036,O=Dhimyotis,C=FR +# Not Valid Before: Tue Oct 01 08:32:27 2013 +# Not Valid After : Sat Oct 01 08:32:27 2033 +# Fingerprint (SHA-256): D4:8D:3D:23:EE:DB:50:A4:59:E5:51:97:60:1C:27:77:4B:9D:7B:18:C9:4D:5A:05:95:11:A1:02:50:B9:31:68 +# Fingerprint (SHA1): 2D:0D:52:14:FF:9E:AD:99:24:01:74:20:47:6E:6C:85:27:27:F5:43 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Certigna Root CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\132\061\013\060\011\006\003\125\004\006\023\002\106\122\061 +\022\060\020\006\003\125\004\012\014\011\104\150\151\155\171\157 +\164\151\163\061\034\060\032\006\003\125\004\013\014\023\060\060 +\060\062\040\064\070\061\064\066\063\060\070\061\060\060\060\063 +\066\061\031\060\027\006\003\125\004\003\014\020\103\145\162\164 +\151\147\156\141\040\122\157\157\164\040\103\101 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\132\061\013\060\011\006\003\125\004\006\023\002\106\122\061 +\022\060\020\006\003\125\004\012\014\011\104\150\151\155\171\157 +\164\151\163\061\034\060\032\006\003\125\004\013\014\023\060\060 +\060\062\040\064\070\061\064\066\063\060\070\061\060\060\060\063 +\066\061\031\060\027\006\003\125\004\003\014\020\103\145\162\164 +\151\147\156\141\040\122\157\157\164\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\021\000\312\351\033\211\361\125\003\015\243\346\101\155\304 +\343\246\341 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\006\133\060\202\004\103\240\003\002\001\002\002\021\000 +\312\351\033\211\361\125\003\015\243\346\101\155\304\343\246\341 +\060\015\006\011\052\206\110\206\367\015\001\001\013\005\000\060 +\132\061\013\060\011\006\003\125\004\006\023\002\106\122\061\022 +\060\020\006\003\125\004\012\014\011\104\150\151\155\171\157\164 +\151\163\061\034\060\032\006\003\125\004\013\014\023\060\060\060 +\062\040\064\070\061\064\066\063\060\070\061\060\060\060\063\066 +\061\031\060\027\006\003\125\004\003\014\020\103\145\162\164\151 +\147\156\141\040\122\157\157\164\040\103\101\060\036\027\015\061 +\063\061\060\060\061\060\070\063\062\062\067\132\027\015\063\063 +\061\060\060\061\060\070\063\062\062\067\132\060\132\061\013\060 +\011\006\003\125\004\006\023\002\106\122\061\022\060\020\006\003 +\125\004\012\014\011\104\150\151\155\171\157\164\151\163\061\034 +\060\032\006\003\125\004\013\014\023\060\060\060\062\040\064\070 +\061\064\066\063\060\070\061\060\060\060\063\066\061\031\060\027 +\006\003\125\004\003\014\020\103\145\162\164\151\147\156\141\040 +\122\157\157\164\040\103\101\060\202\002\042\060\015\006\011\052 +\206\110\206\367\015\001\001\001\005\000\003\202\002\017\000\060 +\202\002\012\002\202\002\001\000\315\030\071\145\032\131\261\352 +\144\026\016\214\224\044\225\174\203\323\305\071\046\334\014\357 +\026\127\215\327\330\254\243\102\177\202\312\355\315\133\333\016 +\267\055\355\105\010\027\262\331\263\313\326\027\122\162\050\333 +\216\116\236\212\266\013\371\236\204\232\115\166\336\042\051\134 +\322\263\322\006\076\060\071\251\164\243\222\126\034\241\157\114 +\012\040\155\237\043\172\264\306\332\054\344\035\054\334\263\050 +\320\023\362\114\116\002\111\241\124\100\236\346\345\005\240\055 +\204\310\377\230\154\320\353\212\032\204\010\036\267\150\043\356 +\043\325\160\316\155\121\151\020\356\241\172\302\321\042\061\302 +\202\205\322\362\125\166\120\174\045\172\311\204\134\013\254\335 +\102\116\053\347\202\242\044\211\313\220\262\320\356\043\272\146 +\114\273\142\244\371\123\132\144\173\174\230\372\243\110\236\017 +\225\256\247\030\364\152\354\056\003\105\257\360\164\370\052\315 +\172\135\321\276\104\046\062\051\361\361\365\154\314\176\002\041 +\013\237\157\244\077\276\235\123\342\317\175\251\054\174\130\032 +\227\341\075\067\067\030\146\050\322\100\305\121\212\214\303\055 +\316\123\210\044\130\144\060\026\305\252\340\326\012\246\100\337 +\170\366\365\004\174\151\023\204\274\321\321\247\006\317\001\367 +\150\300\250\127\273\072\141\255\004\214\223\343\255\374\360\333 +\104\155\131\334\111\131\256\254\232\231\066\060\101\173\166\063 +\042\207\243\302\222\206\156\371\160\356\256\207\207\225\033\304 +\172\275\061\363\324\322\345\231\377\276\110\354\165\365\170\026 +\035\246\160\301\177\074\033\241\222\373\317\310\074\326\305\223 +\012\217\365\125\072\166\225\316\131\230\212\011\225\167\062\232 +\203\272\054\004\072\227\275\324\057\276\327\154\233\242\312\175 +\155\046\311\125\325\317\303\171\122\010\011\231\007\044\055\144 +\045\153\246\041\151\233\152\335\164\115\153\227\172\101\275\253 +\027\371\220\027\110\217\066\371\055\325\305\333\356\252\205\105 +\101\372\315\072\105\261\150\346\066\114\233\220\127\354\043\271 +\207\010\302\304\011\361\227\206\052\050\115\342\164\300\332\304 +\214\333\337\342\241\027\131\316\044\131\164\061\332\177\375\060 +\155\331\334\341\152\341\374\137\002\003\001\000\001\243\202\001 +\032\060\202\001\026\060\017\006\003\125\035\023\001\001\377\004 +\005\060\003\001\001\377\060\016\006\003\125\035\017\001\001\377 +\004\004\003\002\001\006\060\035\006\003\125\035\016\004\026\004 +\024\030\207\126\340\156\167\356\044\065\074\116\163\232\037\326 +\341\342\171\176\053\060\037\006\003\125\035\043\004\030\060\026 +\200\024\030\207\126\340\156\167\356\044\065\074\116\163\232\037 +\326\341\342\171\176\053\060\104\006\003\125\035\040\004\075\060 +\073\060\071\006\004\125\035\040\000\060\061\060\057\006\010\053 +\006\001\005\005\007\002\001\026\043\150\164\164\160\163\072\057 +\057\167\167\167\167\056\143\145\162\164\151\147\156\141\056\146 +\162\057\141\165\164\157\162\151\164\145\163\057\060\155\006\003 +\125\035\037\004\146\060\144\060\057\240\055\240\053\206\051\150 +\164\164\160\072\057\057\143\162\154\056\143\145\162\164\151\147 +\156\141\056\146\162\057\143\145\162\164\151\147\156\141\162\157 +\157\164\143\141\056\143\162\154\060\061\240\057\240\055\206\053 +\150\164\164\160\072\057\057\143\162\154\056\144\150\151\155\171 +\157\164\151\163\056\143\157\155\057\143\145\162\164\151\147\156 +\141\162\157\157\164\143\141\056\143\162\154\060\015\006\011\052 +\206\110\206\367\015\001\001\013\005\000\003\202\002\001\000\224 +\270\236\117\360\343\225\010\042\347\315\150\101\367\034\125\325 +\174\000\342\055\072\211\135\150\070\057\121\042\013\112\215\313 +\351\273\135\076\273\134\075\261\050\376\344\123\125\023\317\241 +\220\033\002\035\137\146\106\011\063\050\341\015\044\227\160\323 +\020\037\352\144\127\226\273\135\332\347\304\214\117\114\144\106 +\035\134\207\343\131\336\102\321\233\250\176\246\211\335\217\034 +\311\060\202\355\073\234\315\300\351\031\340\152\330\002\165\067 +\253\367\064\050\050\221\362\004\012\117\065\343\140\046\001\372 +\320\021\214\371\021\152\356\257\075\303\120\323\217\137\063\171 +\074\206\250\163\105\220\214\040\266\162\163\027\043\276\007\145 +\345\170\222\015\272\001\300\353\214\034\146\277\254\206\167\001 +\224\015\234\346\351\071\215\037\246\121\214\231\014\071\167\341 +\264\233\372\034\147\127\157\152\152\216\251\053\114\127\171\172 +\127\042\317\315\137\143\106\215\134\131\072\206\370\062\107\142 +\243\147\015\030\221\334\373\246\153\365\110\141\163\043\131\216 +\002\247\274\104\352\364\111\235\361\124\130\371\140\257\332\030 +\244\057\050\105\334\172\240\210\206\135\363\073\347\377\051\065 +\200\374\144\103\224\346\343\034\157\276\255\016\052\143\231\053 +\311\176\205\366\161\350\006\003\225\376\336\217\110\034\132\324 +\222\350\053\356\347\061\333\272\004\152\207\230\347\305\137\357 +\175\247\042\367\001\330\115\371\211\320\016\232\005\131\244\236 +\230\331\157\053\312\160\276\144\302\125\243\364\351\257\303\222 +\051\334\210\026\044\231\074\215\046\230\266\133\267\314\316\267 +\067\007\375\046\331\230\205\044\377\131\043\003\232\355\235\235 +\250\344\136\070\316\327\122\015\157\322\077\155\261\005\153\111 +\316\212\221\106\163\364\366\057\360\250\163\167\016\145\254\241 +\215\146\122\151\176\113\150\014\307\036\067\047\203\245\214\307 +\002\344\024\315\111\001\260\163\263\375\306\220\072\157\322\154 +\355\073\356\354\221\276\242\103\135\213\000\112\146\045\104\160 +\336\100\017\370\174\025\367\242\316\074\327\136\023\214\201\027 +\030\027\321\275\361\167\020\072\324\145\071\301\047\254\127\054 +\045\124\377\242\332\117\212\141\071\136\256\075\112\214\275 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "Certigna Root CA" +# Issuer: CN=Certigna Root CA,OU=0002 48146308100036,O=Dhimyotis,C=FR +# Serial Number:00:ca:e9:1b:89:f1:55:03:0d:a3:e6:41:6d:c4:e3:a6:e1 +# Subject: CN=Certigna Root CA,OU=0002 48146308100036,O=Dhimyotis,C=FR +# Not Valid Before: Tue Oct 01 08:32:27 2013 +# Not Valid After : Sat Oct 01 08:32:27 2033 +# Fingerprint (SHA-256): D4:8D:3D:23:EE:DB:50:A4:59:E5:51:97:60:1C:27:77:4B:9D:7B:18:C9:4D:5A:05:95:11:A1:02:50:B9:31:68 +# Fingerprint (SHA1): 2D:0D:52:14:FF:9E:AD:99:24:01:74:20:47:6E:6C:85:27:27:F5:43 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Certigna Root CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\055\015\122\024\377\236\255\231\044\001\164\040\107\156\154\205 +\047\047\365\103 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\016\134\060\142\047\353\133\274\327\256\142\272\351\325\337\167 +END +CKA_ISSUER MULTILINE_OCTAL +\060\132\061\013\060\011\006\003\125\004\006\023\002\106\122\061 +\022\060\020\006\003\125\004\012\014\011\104\150\151\155\171\157 +\164\151\163\061\034\060\032\006\003\125\004\013\014\023\060\060 +\060\062\040\064\070\061\064\066\063\060\070\061\060\060\060\063 +\066\061\031\060\027\006\003\125\004\003\014\020\103\145\162\164 +\151\147\156\141\040\122\157\157\164\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\021\000\312\351\033\211\361\125\003\015\243\346\101\155\304 +\343\246\341 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "emSign Root CA - G1" +# +# Issuer: CN=emSign Root CA - G1,O=eMudhra Technologies Limited,OU=emSign PKI,C=IN +# Serial Number:31:f5:e4:62:0c:6c:58:ed:d6:d8 +# Subject: CN=emSign Root CA - G1,O=eMudhra Technologies Limited,OU=emSign PKI,C=IN +# Not Valid Before: Sun Feb 18 18:30:00 2018 +# Not Valid After : Wed Feb 18 18:30:00 2043 +# Fingerprint (SHA-256): 40:F6:AF:03:46:A9:9A:A1:CD:1D:55:5A:4E:9C:CE:62:C7:F9:63:46:03:EE:40:66:15:83:3D:C8:C8:D0:03:67 +# Fingerprint (SHA1): 8A:C7:AD:8F:73:AC:4E:C1:B5:75:4D:A5:40:F4:FC:CF:7C:B5:8E:8C +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "emSign Root CA - G1" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\147\061\013\060\011\006\003\125\004\006\023\002\111\116\061 +\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156 +\040\120\113\111\061\045\060\043\006\003\125\004\012\023\034\145 +\115\165\144\150\162\141\040\124\145\143\150\156\157\154\157\147 +\151\145\163\040\114\151\155\151\164\145\144\061\034\060\032\006 +\003\125\004\003\023\023\145\155\123\151\147\156\040\122\157\157 +\164\040\103\101\040\055\040\107\061 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\147\061\013\060\011\006\003\125\004\006\023\002\111\116\061 +\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156 +\040\120\113\111\061\045\060\043\006\003\125\004\012\023\034\145 +\115\165\144\150\162\141\040\124\145\143\150\156\157\154\157\147 +\151\145\163\040\114\151\155\151\164\145\144\061\034\060\032\006 +\003\125\004\003\023\023\145\155\123\151\147\156\040\122\157\157 +\164\040\103\101\040\055\040\107\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\012\061\365\344\142\014\154\130\355\326\330 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\224\060\202\002\174\240\003\002\001\002\002\012\061 +\365\344\142\014\154\130\355\326\330\060\015\006\011\052\206\110 +\206\367\015\001\001\013\005\000\060\147\061\013\060\011\006\003 +\125\004\006\023\002\111\116\061\023\060\021\006\003\125\004\013 +\023\012\145\155\123\151\147\156\040\120\113\111\061\045\060\043 +\006\003\125\004\012\023\034\145\115\165\144\150\162\141\040\124 +\145\143\150\156\157\154\157\147\151\145\163\040\114\151\155\151 +\164\145\144\061\034\060\032\006\003\125\004\003\023\023\145\155 +\123\151\147\156\040\122\157\157\164\040\103\101\040\055\040\107 +\061\060\036\027\015\061\070\060\062\061\070\061\070\063\060\060 +\060\132\027\015\064\063\060\062\061\070\061\070\063\060\060\060 +\132\060\147\061\013\060\011\006\003\125\004\006\023\002\111\116 +\061\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147 +\156\040\120\113\111\061\045\060\043\006\003\125\004\012\023\034 +\145\115\165\144\150\162\141\040\124\145\143\150\156\157\154\157 +\147\151\145\163\040\114\151\155\151\164\145\144\061\034\060\032 +\006\003\125\004\003\023\023\145\155\123\151\147\156\040\122\157 +\157\164\040\103\101\040\055\040\107\061\060\202\001\042\060\015 +\006\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001 +\017\000\060\202\001\012\002\202\001\001\000\223\113\273\351\146 +\212\356\235\133\325\064\223\320\033\036\303\347\236\270\144\063 +\177\143\170\150\264\315\056\161\165\327\233\040\306\115\051\274 +\266\150\140\212\367\041\232\126\065\132\363\166\275\330\315\232 +\377\223\126\113\245\131\006\241\223\064\051\335\026\064\165\116 +\362\201\264\307\226\116\255\031\025\122\112\376\074\160\165\160 +\315\257\053\253\025\232\063\074\252\263\213\252\315\103\375\365 +\352\160\377\355\317\021\073\224\316\116\062\026\323\043\100\052 +\167\263\257\074\001\054\154\355\231\054\213\331\116\151\230\262 +\367\217\101\260\062\170\141\326\015\137\303\372\242\100\222\035 +\134\027\346\160\076\065\347\242\267\302\142\342\253\244\070\114 +\265\071\065\157\352\003\151\372\072\124\150\205\155\326\362\057 +\103\125\036\221\015\016\330\325\152\244\226\321\023\074\054\170 +\120\350\072\222\322\027\126\345\065\032\100\034\076\215\054\355 +\071\337\102\340\203\101\164\337\243\315\302\206\140\110\150\343 +\151\013\124\000\213\344\166\151\041\015\171\116\064\010\136\024 +\302\314\261\267\255\327\174\160\212\307\205\002\003\001\000\001 +\243\102\060\100\060\035\006\003\125\035\016\004\026\004\024\373 +\357\015\206\236\260\343\335\251\271\361\041\027\177\076\374\360 +\167\053\032\060\016\006\003\125\035\017\001\001\377\004\004\003 +\002\001\006\060\017\006\003\125\035\023\001\001\377\004\005\060 +\003\001\001\377\060\015\006\011\052\206\110\206\367\015\001\001 +\013\005\000\003\202\001\001\000\131\377\362\214\365\207\175\161 +\075\243\237\033\133\321\332\370\323\234\153\066\275\233\251\141 +\353\336\026\054\164\075\236\346\165\332\327\272\247\274\102\027 +\347\075\221\353\345\175\335\076\234\361\317\222\254\154\110\314 +\302\042\077\151\073\305\266\025\057\243\065\306\150\052\034\127 +\257\071\357\215\320\065\303\030\014\173\000\126\034\315\213\031 +\164\336\276\017\022\340\320\252\241\077\002\064\261\160\316\235 +\030\326\010\003\011\106\356\140\340\176\266\304\111\004\121\175 +\160\140\274\252\262\377\171\162\172\246\035\075\137\052\370\312 +\342\375\071\267\107\271\353\176\337\004\043\257\372\234\006\007 +\351\373\143\223\200\100\265\306\154\012\061\050\316\014\237\317 +\263\043\065\200\101\215\154\304\067\173\201\057\200\241\100\102 +\205\351\331\070\215\350\241\123\315\001\277\151\350\132\006\362 +\105\013\220\372\256\341\277\235\362\256\127\074\245\256\262\126 +\364\213\145\100\351\375\061\201\054\364\071\011\330\356\153\247 +\264\246\035\025\245\230\367\001\201\330\205\175\363\121\134\161 +\210\336\272\314\037\200\176\112 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "emSign Root CA - G1" +# Issuer: CN=emSign Root CA - G1,O=eMudhra Technologies Limited,OU=emSign PKI,C=IN +# Serial Number:31:f5:e4:62:0c:6c:58:ed:d6:d8 +# Subject: CN=emSign Root CA - G1,O=eMudhra Technologies Limited,OU=emSign PKI,C=IN +# Not Valid Before: Sun Feb 18 18:30:00 2018 +# Not Valid After : Wed Feb 18 18:30:00 2043 +# Fingerprint (SHA-256): 40:F6:AF:03:46:A9:9A:A1:CD:1D:55:5A:4E:9C:CE:62:C7:F9:63:46:03:EE:40:66:15:83:3D:C8:C8:D0:03:67 +# Fingerprint (SHA1): 8A:C7:AD:8F:73:AC:4E:C1:B5:75:4D:A5:40:F4:FC:CF:7C:B5:8E:8C +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "emSign Root CA - G1" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\212\307\255\217\163\254\116\301\265\165\115\245\100\364\374\317 +\174\265\216\214 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\234\102\204\127\335\313\013\247\056\225\255\266\363\332\274\254 +END +CKA_ISSUER MULTILINE_OCTAL +\060\147\061\013\060\011\006\003\125\004\006\023\002\111\116\061 +\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156 +\040\120\113\111\061\045\060\043\006\003\125\004\012\023\034\145 +\115\165\144\150\162\141\040\124\145\143\150\156\157\154\157\147 +\151\145\163\040\114\151\155\151\164\145\144\061\034\060\032\006 +\003\125\004\003\023\023\145\155\123\151\147\156\040\122\157\157 +\164\040\103\101\040\055\040\107\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\012\061\365\344\142\014\154\130\355\326\330 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "emSign ECC Root CA - G3" +# +# Issuer: CN=emSign ECC Root CA - G3,O=eMudhra Technologies Limited,OU=emSign PKI,C=IN +# Serial Number:3c:f6:07:a9:68:70:0e:da:8b:84 +# Subject: CN=emSign ECC Root CA - G3,O=eMudhra Technologies Limited,OU=emSign PKI,C=IN +# Not Valid Before: Sun Feb 18 18:30:00 2018 +# Not Valid After : Wed Feb 18 18:30:00 2043 +# Fingerprint (SHA-256): 86:A1:EC:BA:08:9C:4A:8D:3B:BE:27:34:C6:12:BA:34:1D:81:3E:04:3C:F9:E8:A8:62:CD:5C:57:A3:6B:BE:6B +# Fingerprint (SHA1): 30:43:FA:4F:F2:57:DC:A0:C3:80:EE:2E:58:EA:78:B2:3F:E6:BB:C1 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "emSign ECC Root CA - G3" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\153\061\013\060\011\006\003\125\004\006\023\002\111\116\061 +\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156 +\040\120\113\111\061\045\060\043\006\003\125\004\012\023\034\145 +\115\165\144\150\162\141\040\124\145\143\150\156\157\154\157\147 +\151\145\163\040\114\151\155\151\164\145\144\061\040\060\036\006 +\003\125\004\003\023\027\145\155\123\151\147\156\040\105\103\103 +\040\122\157\157\164\040\103\101\040\055\040\107\063 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\153\061\013\060\011\006\003\125\004\006\023\002\111\116\061 +\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156 +\040\120\113\111\061\045\060\043\006\003\125\004\012\023\034\145 +\115\165\144\150\162\141\040\124\145\143\150\156\157\154\157\147 +\151\145\163\040\114\151\155\151\164\145\144\061\040\060\036\006 +\003\125\004\003\023\027\145\155\123\151\147\156\040\105\103\103 +\040\122\157\157\164\040\103\101\040\055\040\107\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\012\074\366\007\251\150\160\016\332\213\204 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\002\116\060\202\001\323\240\003\002\001\002\002\012\074 +\366\007\251\150\160\016\332\213\204\060\012\006\010\052\206\110 +\316\075\004\003\003\060\153\061\013\060\011\006\003\125\004\006 +\023\002\111\116\061\023\060\021\006\003\125\004\013\023\012\145 +\155\123\151\147\156\040\120\113\111\061\045\060\043\006\003\125 +\004\012\023\034\145\115\165\144\150\162\141\040\124\145\143\150 +\156\157\154\157\147\151\145\163\040\114\151\155\151\164\145\144 +\061\040\060\036\006\003\125\004\003\023\027\145\155\123\151\147 +\156\040\105\103\103\040\122\157\157\164\040\103\101\040\055\040 +\107\063\060\036\027\015\061\070\060\062\061\070\061\070\063\060 +\060\060\132\027\015\064\063\060\062\061\070\061\070\063\060\060 +\060\132\060\153\061\013\060\011\006\003\125\004\006\023\002\111 +\116\061\023\060\021\006\003\125\004\013\023\012\145\155\123\151 +\147\156\040\120\113\111\061\045\060\043\006\003\125\004\012\023 +\034\145\115\165\144\150\162\141\040\124\145\143\150\156\157\154 +\157\147\151\145\163\040\114\151\155\151\164\145\144\061\040\060 +\036\006\003\125\004\003\023\027\145\155\123\151\147\156\040\105 +\103\103\040\122\157\157\164\040\103\101\040\055\040\107\063\060 +\166\060\020\006\007\052\206\110\316\075\002\001\006\005\053\201 +\004\000\042\003\142\000\004\043\245\014\270\055\022\365\050\363 +\261\262\335\342\002\022\200\236\071\137\111\115\237\311\045\064 +\131\164\354\273\006\034\347\300\162\257\350\256\057\341\101\124 +\207\024\250\112\262\350\174\202\346\133\152\265\334\263\165\316 +\213\006\320\206\043\277\106\325\216\017\077\004\364\327\034\222 +\176\366\245\143\302\365\137\216\056\117\241\030\031\002\053\062 +\012\202\144\175\026\223\321\243\102\060\100\060\035\006\003\125 +\035\016\004\026\004\024\174\135\002\204\023\324\314\212\233\201 +\316\027\034\056\051\036\234\110\143\102\060\016\006\003\125\035 +\017\001\001\377\004\004\003\002\001\006\060\017\006\003\125\035 +\023\001\001\377\004\005\060\003\001\001\377\060\012\006\010\052 +\206\110\316\075\004\003\003\003\151\000\060\146\002\061\000\276 +\363\141\317\002\020\035\144\225\007\270\030\156\210\205\005\057 +\203\010\027\220\312\037\212\114\350\015\033\172\261\255\325\201 +\011\107\357\073\254\010\004\174\134\231\261\355\107\007\322\002 +\061\000\235\272\125\374\251\112\350\355\355\346\166\001\102\173 +\310\370\140\331\215\121\213\125\073\373\214\173\353\145\011\303 +\370\226\315\107\250\202\362\026\125\167\044\176\022\020\225\004 +\054\243 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "emSign ECC Root CA - G3" +# Issuer: CN=emSign ECC Root CA - G3,O=eMudhra Technologies Limited,OU=emSign PKI,C=IN +# Serial Number:3c:f6:07:a9:68:70:0e:da:8b:84 +# Subject: CN=emSign ECC Root CA - G3,O=eMudhra Technologies Limited,OU=emSign PKI,C=IN +# Not Valid Before: Sun Feb 18 18:30:00 2018 +# Not Valid After : Wed Feb 18 18:30:00 2043 +# Fingerprint (SHA-256): 86:A1:EC:BA:08:9C:4A:8D:3B:BE:27:34:C6:12:BA:34:1D:81:3E:04:3C:F9:E8:A8:62:CD:5C:57:A3:6B:BE:6B +# Fingerprint (SHA1): 30:43:FA:4F:F2:57:DC:A0:C3:80:EE:2E:58:EA:78:B2:3F:E6:BB:C1 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "emSign ECC Root CA - G3" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\060\103\372\117\362\127\334\240\303\200\356\056\130\352\170\262 +\077\346\273\301 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\316\013\162\321\237\210\216\320\120\003\350\343\270\213\147\100 +END +CKA_ISSUER MULTILINE_OCTAL +\060\153\061\013\060\011\006\003\125\004\006\023\002\111\116\061 +\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156 +\040\120\113\111\061\045\060\043\006\003\125\004\012\023\034\145 +\115\165\144\150\162\141\040\124\145\143\150\156\157\154\157\147 +\151\145\163\040\114\151\155\151\164\145\144\061\040\060\036\006 +\003\125\004\003\023\027\145\155\123\151\147\156\040\105\103\103 +\040\122\157\157\164\040\103\101\040\055\040\107\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\012\074\366\007\251\150\160\016\332\213\204 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "emSign Root CA - C1" +# +# Issuer: CN=emSign Root CA - C1,O=eMudhra Inc,OU=emSign PKI,C=US +# Serial Number:00:ae:cf:00:ba:c4:cf:32:f8:43:b2 +# Subject: CN=emSign Root CA - C1,O=eMudhra Inc,OU=emSign PKI,C=US +# Not Valid Before: Sun Feb 18 18:30:00 2018 +# Not Valid After : Wed Feb 18 18:30:00 2043 +# Fingerprint (SHA-256): 12:56:09:AA:30:1D:A0:A2:49:B9:7A:82:39:CB:6A:34:21:6F:44:DC:AC:9F:39:54:B1:42:92:F2:E8:C8:60:8F +# Fingerprint (SHA1): E7:2E:F1:DF:FC:B2:09:28:CF:5D:D4:D5:67:37:B1:51:CB:86:4F:01 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "emSign Root CA - C1" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\126\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156 +\040\120\113\111\061\024\060\022\006\003\125\004\012\023\013\145 +\115\165\144\150\162\141\040\111\156\143\061\034\060\032\006\003 +\125\004\003\023\023\145\155\123\151\147\156\040\122\157\157\164 +\040\103\101\040\055\040\103\061 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\126\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156 +\040\120\113\111\061\024\060\022\006\003\125\004\012\023\013\145 +\115\165\144\150\162\141\040\111\156\143\061\034\060\032\006\003 +\125\004\003\023\023\145\155\123\151\147\156\040\122\157\157\164 +\040\103\101\040\055\040\103\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\013\000\256\317\000\272\304\317\062\370\103\262 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\163\060\202\002\133\240\003\002\001\002\002\013\000 +\256\317\000\272\304\317\062\370\103\262\060\015\006\011\052\206 +\110\206\367\015\001\001\013\005\000\060\126\061\013\060\011\006 +\003\125\004\006\023\002\125\123\061\023\060\021\006\003\125\004 +\013\023\012\145\155\123\151\147\156\040\120\113\111\061\024\060 +\022\006\003\125\004\012\023\013\145\115\165\144\150\162\141\040 +\111\156\143\061\034\060\032\006\003\125\004\003\023\023\145\155 +\123\151\147\156\040\122\157\157\164\040\103\101\040\055\040\103 +\061\060\036\027\015\061\070\060\062\061\070\061\070\063\060\060 +\060\132\027\015\064\063\060\062\061\070\061\070\063\060\060\060 +\132\060\126\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147 +\156\040\120\113\111\061\024\060\022\006\003\125\004\012\023\013 +\145\115\165\144\150\162\141\040\111\156\143\061\034\060\032\006 +\003\125\004\003\023\023\145\155\123\151\147\156\040\122\157\157 +\164\040\103\101\040\055\040\103\061\060\202\001\042\060\015\006 +\011\052\206\110\206\367\015\001\001\001\005\000\003\202\001\017 +\000\060\202\001\012\002\202\001\001\000\317\353\251\271\361\231 +\005\314\330\050\041\112\363\163\064\121\204\126\020\365\240\117 +\054\022\343\372\023\232\047\320\317\371\171\032\164\137\035\171 +\071\374\133\370\160\216\340\222\122\367\344\045\371\124\203\331 +\035\323\310\132\205\077\136\307\266\007\356\076\300\316\232\257 +\254\126\102\052\071\045\160\326\277\265\173\066\255\254\366\163 +\334\315\327\035\212\203\245\373\053\220\025\067\153\034\046\107 +\334\073\051\126\223\152\263\301\152\072\235\075\365\301\227\070 +\130\005\213\034\021\343\344\264\270\135\205\035\203\376\170\137 +\013\105\150\030\110\245\106\163\064\073\376\017\310\166\273\307 +\030\363\005\321\206\363\205\355\347\271\331\062\255\125\210\316 +\246\266\221\260\117\254\176\025\043\226\366\077\360\040\064\026 +\336\012\306\304\004\105\171\177\247\375\276\322\251\245\257\234 +\305\043\052\367\074\041\154\275\257\217\116\305\072\262\363\064 +\022\374\337\200\032\111\244\324\251\225\367\236\211\136\242\211 +\254\224\313\250\150\233\257\212\145\047\315\211\356\335\214\265 +\153\051\160\103\240\151\013\344\271\017\002\003\001\000\001\243 +\102\060\100\060\035\006\003\125\035\016\004\026\004\024\376\241 +\340\160\036\052\003\071\122\132\102\276\134\221\205\172\030\252 +\115\265\060\016\006\003\125\035\017\001\001\377\004\004\003\002 +\001\006\060\017\006\003\125\035\023\001\001\377\004\005\060\003 +\001\001\377\060\015\006\011\052\206\110\206\367\015\001\001\013 +\005\000\003\202\001\001\000\302\112\126\372\025\041\173\050\242 +\351\345\035\373\370\055\304\071\226\101\114\073\047\054\304\154 +\030\025\200\306\254\257\107\131\057\046\013\343\066\260\357\073 +\376\103\227\111\062\231\022\025\133\337\021\051\377\253\123\370 +\273\301\170\017\254\234\123\257\127\275\150\214\075\151\063\360 +\243\240\043\143\073\144\147\042\104\255\325\161\313\126\052\170 +\222\243\117\022\061\066\066\342\336\376\000\304\243\140\017\047 +\255\240\260\212\265\066\172\122\241\275\047\364\040\047\142\350 +\115\224\044\023\344\012\004\351\074\253\056\310\103\011\112\306 +\141\004\345\111\064\176\323\304\310\365\017\300\252\351\272\124 +\136\363\143\053\117\117\120\324\376\271\173\231\214\075\300\056 +\274\002\053\323\304\100\344\212\007\061\036\233\316\046\231\023 +\373\021\352\232\042\014\021\031\307\136\033\201\120\060\310\226 +\022\156\347\313\101\177\221\073\242\107\267\124\200\033\334\000 +\314\232\220\352\303\303\120\006\142\014\060\300\025\110\247\250 +\131\174\341\256\042\242\342\012\172\017\372\142\253\122\114\341 +\361\337\312\276\203\015\102 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "emSign Root CA - C1" +# Issuer: CN=emSign Root CA - C1,O=eMudhra Inc,OU=emSign PKI,C=US +# Serial Number:00:ae:cf:00:ba:c4:cf:32:f8:43:b2 +# Subject: CN=emSign Root CA - C1,O=eMudhra Inc,OU=emSign PKI,C=US +# Not Valid Before: Sun Feb 18 18:30:00 2018 +# Not Valid After : Wed Feb 18 18:30:00 2043 +# Fingerprint (SHA-256): 12:56:09:AA:30:1D:A0:A2:49:B9:7A:82:39:CB:6A:34:21:6F:44:DC:AC:9F:39:54:B1:42:92:F2:E8:C8:60:8F +# Fingerprint (SHA1): E7:2E:F1:DF:FC:B2:09:28:CF:5D:D4:D5:67:37:B1:51:CB:86:4F:01 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "emSign Root CA - C1" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\347\056\361\337\374\262\011\050\317\135\324\325\147\067\261\121 +\313\206\117\001 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\330\343\135\001\041\372\170\132\260\337\272\322\356\052\137\150 +END +CKA_ISSUER MULTILINE_OCTAL +\060\126\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156 +\040\120\113\111\061\024\060\022\006\003\125\004\012\023\013\145 +\115\165\144\150\162\141\040\111\156\143\061\034\060\032\006\003 +\125\004\003\023\023\145\155\123\151\147\156\040\122\157\157\164 +\040\103\101\040\055\040\103\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\013\000\256\317\000\272\304\317\062\370\103\262 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "emSign ECC Root CA - C3" +# +# Issuer: CN=emSign ECC Root CA - C3,O=eMudhra Inc,OU=emSign PKI,C=US +# Serial Number:7b:71:b6:82:56:b8:12:7c:9c:a8 +# Subject: CN=emSign ECC Root CA - C3,O=eMudhra Inc,OU=emSign PKI,C=US +# Not Valid Before: Sun Feb 18 18:30:00 2018 +# Not Valid After : Wed Feb 18 18:30:00 2043 +# Fingerprint (SHA-256): BC:4D:80:9B:15:18:9D:78:DB:3E:1D:8C:F4:F9:72:6A:79:5D:A1:64:3C:A5:F1:35:8E:1D:DB:0E:DC:0D:7E:B3 +# Fingerprint (SHA1): B6:AF:43:C2:9B:81:53:7D:F6:EF:6B:C3:1F:1F:60:15:0C:EE:48:66 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "emSign ECC Root CA - C3" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\132\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156 +\040\120\113\111\061\024\060\022\006\003\125\004\012\023\013\145 +\115\165\144\150\162\141\040\111\156\143\061\040\060\036\006\003 +\125\004\003\023\027\145\155\123\151\147\156\040\105\103\103\040 +\122\157\157\164\040\103\101\040\055\040\103\063 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\132\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156 +\040\120\113\111\061\024\060\022\006\003\125\004\012\023\013\145 +\115\165\144\150\162\141\040\111\156\143\061\040\060\036\006\003 +\125\004\003\023\027\145\155\123\151\147\156\040\105\103\103\040 +\122\157\157\164\040\103\101\040\055\040\103\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\012\173\161\266\202\126\270\022\174\234\250 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\002\053\060\202\001\261\240\003\002\001\002\002\012\173 +\161\266\202\126\270\022\174\234\250\060\012\006\010\052\206\110 +\316\075\004\003\003\060\132\061\013\060\011\006\003\125\004\006 +\023\002\125\123\061\023\060\021\006\003\125\004\013\023\012\145 +\155\123\151\147\156\040\120\113\111\061\024\060\022\006\003\125 +\004\012\023\013\145\115\165\144\150\162\141\040\111\156\143\061 +\040\060\036\006\003\125\004\003\023\027\145\155\123\151\147\156 +\040\105\103\103\040\122\157\157\164\040\103\101\040\055\040\103 +\063\060\036\027\015\061\070\060\062\061\070\061\070\063\060\060 +\060\132\027\015\064\063\060\062\061\070\061\070\063\060\060\060 +\132\060\132\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147 +\156\040\120\113\111\061\024\060\022\006\003\125\004\012\023\013 +\145\115\165\144\150\162\141\040\111\156\143\061\040\060\036\006 +\003\125\004\003\023\027\145\155\123\151\147\156\040\105\103\103 +\040\122\157\157\164\040\103\101\040\055\040\103\063\060\166\060 +\020\006\007\052\206\110\316\075\002\001\006\005\053\201\004\000 +\042\003\142\000\004\375\245\141\256\173\046\020\035\351\267\042 +\060\256\006\364\201\263\261\102\161\225\071\274\323\122\343\257 +\257\371\362\227\065\222\066\106\016\207\225\215\271\071\132\351 +\273\337\320\376\310\007\101\074\273\125\157\203\243\152\373\142 +\260\201\211\002\160\175\110\305\112\343\351\042\124\042\115\223 +\273\102\014\257\167\234\043\246\175\327\141\021\316\145\307\370 +\177\376\365\362\251\243\102\060\100\060\035\006\003\125\035\016 +\004\026\004\024\373\132\110\320\200\040\100\362\250\351\000\007 +\151\031\167\247\346\303\364\317\060\016\006\003\125\035\017\001 +\001\377\004\004\003\002\001\006\060\017\006\003\125\035\023\001 +\001\377\004\005\060\003\001\001\377\060\012\006\010\052\206\110 +\316\075\004\003\003\003\150\000\060\145\002\061\000\264\330\057 +\002\211\375\266\114\142\272\103\116\023\204\162\265\256\335\034 +\336\326\265\334\126\217\130\100\132\055\336\040\114\042\203\312 +\223\250\176\356\022\100\307\326\207\117\370\337\205\002\060\034 +\024\144\344\174\226\203\021\234\260\321\132\141\113\246\017\111 +\323\000\374\241\374\344\245\377\177\255\327\060\320\307\167\177 +\276\201\007\125\060\120\040\024\365\127\070\012\250\061\121 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "emSign ECC Root CA - C3" +# Issuer: CN=emSign ECC Root CA - C3,O=eMudhra Inc,OU=emSign PKI,C=US +# Serial Number:7b:71:b6:82:56:b8:12:7c:9c:a8 +# Subject: CN=emSign ECC Root CA - C3,O=eMudhra Inc,OU=emSign PKI,C=US +# Not Valid Before: Sun Feb 18 18:30:00 2018 +# Not Valid After : Wed Feb 18 18:30:00 2043 +# Fingerprint (SHA-256): BC:4D:80:9B:15:18:9D:78:DB:3E:1D:8C:F4:F9:72:6A:79:5D:A1:64:3C:A5:F1:35:8E:1D:DB:0E:DC:0D:7E:B3 +# Fingerprint (SHA1): B6:AF:43:C2:9B:81:53:7D:F6:EF:6B:C3:1F:1F:60:15:0C:EE:48:66 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "emSign ECC Root CA - C3" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\266\257\103\302\233\201\123\175\366\357\153\303\037\037\140\025 +\014\356\110\146 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\076\123\263\243\201\356\327\020\370\323\260\035\027\222\365\325 +END +CKA_ISSUER MULTILINE_OCTAL +\060\132\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\023\060\021\006\003\125\004\013\023\012\145\155\123\151\147\156 +\040\120\113\111\061\024\060\022\006\003\125\004\012\023\013\145 +\115\165\144\150\162\141\040\111\156\143\061\040\060\036\006\003 +\125\004\003\023\027\145\155\123\151\147\156\040\105\103\103\040 +\122\157\157\164\040\103\101\040\055\040\103\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\012\173\161\266\202\126\270\022\174\234\250 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Hongkong Post Root CA 3" +# +# Issuer: CN=Hongkong Post Root CA 3,O=Hongkong Post,L=Hong Kong,ST=Hong Kong,C=HK +# Serial Number:08:16:5f:8a:4c:a5:ec:00:c9:93:40:df:c4:c6:ae:23:b8:1c:5a:a4 +# Subject: CN=Hongkong Post Root CA 3,O=Hongkong Post,L=Hong Kong,ST=Hong Kong,C=HK +# Not Valid Before: Sat Jun 03 02:29:46 2017 +# Not Valid After : Tue Jun 03 02:29:46 2042 +# Fingerprint (SHA-256): 5A:2F:C0:3F:0C:83:B0:90:BB:FA:40:60:4B:09:88:44:6C:76:36:18:3D:F9:84:6E:17:10:1A:44:7F:B8:EF:D6 +# Fingerprint (SHA1): 58:A2:D0:EC:20:52:81:5B:C1:F3:F8:64:02:24:4E:C2:8E:02:4B:02 +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Hongkong Post Root CA 3" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\157\061\013\060\011\006\003\125\004\006\023\002\110\113\061 +\022\060\020\006\003\125\004\010\023\011\110\157\156\147\040\113 +\157\156\147\061\022\060\020\006\003\125\004\007\023\011\110\157 +\156\147\040\113\157\156\147\061\026\060\024\006\003\125\004\012 +\023\015\110\157\156\147\153\157\156\147\040\120\157\163\164\061 +\040\060\036\006\003\125\004\003\023\027\110\157\156\147\153\157 +\156\147\040\120\157\163\164\040\122\157\157\164\040\103\101\040 +\063 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\157\061\013\060\011\006\003\125\004\006\023\002\110\113\061 +\022\060\020\006\003\125\004\010\023\011\110\157\156\147\040\113 +\157\156\147\061\022\060\020\006\003\125\004\007\023\011\110\157 +\156\147\040\113\157\156\147\061\026\060\024\006\003\125\004\012 +\023\015\110\157\156\147\153\157\156\147\040\120\157\163\164\061 +\040\060\036\006\003\125\004\003\023\027\110\157\156\147\153\157 +\156\147\040\120\157\163\164\040\122\157\157\164\040\103\101\040 +\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\024\010\026\137\212\114\245\354\000\311\223\100\337\304\306 +\256\043\270\034\132\244 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\317\060\202\003\267\240\003\002\001\002\002\024\010 +\026\137\212\114\245\354\000\311\223\100\337\304\306\256\043\270 +\034\132\244\060\015\006\011\052\206\110\206\367\015\001\001\013 +\005\000\060\157\061\013\060\011\006\003\125\004\006\023\002\110 +\113\061\022\060\020\006\003\125\004\010\023\011\110\157\156\147 +\040\113\157\156\147\061\022\060\020\006\003\125\004\007\023\011 +\110\157\156\147\040\113\157\156\147\061\026\060\024\006\003\125 +\004\012\023\015\110\157\156\147\153\157\156\147\040\120\157\163 +\164\061\040\060\036\006\003\125\004\003\023\027\110\157\156\147 +\153\157\156\147\040\120\157\163\164\040\122\157\157\164\040\103 +\101\040\063\060\036\027\015\061\067\060\066\060\063\060\062\062 +\071\064\066\132\027\015\064\062\060\066\060\063\060\062\062\071 +\064\066\132\060\157\061\013\060\011\006\003\125\004\006\023\002 +\110\113\061\022\060\020\006\003\125\004\010\023\011\110\157\156 +\147\040\113\157\156\147\061\022\060\020\006\003\125\004\007\023 +\011\110\157\156\147\040\113\157\156\147\061\026\060\024\006\003 +\125\004\012\023\015\110\157\156\147\153\157\156\147\040\120\157 +\163\164\061\040\060\036\006\003\125\004\003\023\027\110\157\156 +\147\153\157\156\147\040\120\157\163\164\040\122\157\157\164\040 +\103\101\040\063\060\202\002\042\060\015\006\011\052\206\110\206 +\367\015\001\001\001\005\000\003\202\002\017\000\060\202\002\012 +\002\202\002\001\000\263\210\327\352\316\017\040\116\276\346\326 +\003\155\356\131\374\302\127\337\051\150\241\203\016\076\150\307 +\150\130\234\034\140\113\211\103\014\271\324\025\262\356\301\116 +\165\351\265\247\357\345\351\065\231\344\314\034\347\113\137\215 +\063\060\040\063\123\331\246\273\325\076\023\216\351\037\207\111 +\255\120\055\120\312\030\276\001\130\242\023\160\226\273\211\210 +\126\200\134\370\275\054\074\341\114\127\210\273\323\271\225\357 +\313\307\366\332\061\164\050\246\346\124\211\365\101\061\312\345 +\046\032\315\202\340\160\332\073\051\273\325\003\365\231\272\125 +\365\144\321\140\016\263\211\111\270\212\057\005\322\204\105\050 +\174\217\150\120\022\170\374\013\265\123\313\302\230\034\204\243 +\236\260\276\043\244\332\334\310\053\036\332\156\105\036\211\230 +\332\371\000\056\006\351\014\073\160\325\120\045\210\231\313\315 +\163\140\367\325\377\065\147\305\241\274\136\253\315\112\270\105 +\353\310\150\036\015\015\024\106\022\343\322\144\142\212\102\230 +\274\264\306\010\010\370\375\250\114\144\234\166\001\275\057\251 +\154\063\017\330\077\050\270\074\151\001\102\206\176\151\301\311 +\006\312\345\172\106\145\351\302\326\120\101\056\077\267\344\355 +\154\327\277\046\001\021\242\026\051\112\153\064\006\220\354\023 +\322\266\373\152\166\322\074\355\360\326\055\335\341\025\354\243 +\233\057\054\311\076\053\344\151\073\377\162\045\261\066\206\133 +\307\177\153\213\125\033\112\305\040\141\075\256\313\120\341\010 +\072\276\260\217\143\101\123\060\010\131\074\230\035\167\272\143 +\221\172\312\020\120\140\277\360\327\274\225\207\217\227\305\376 +\227\152\001\224\243\174\133\205\035\052\071\072\320\124\241\321 +\071\161\235\375\041\371\265\173\360\342\340\002\217\156\226\044 +\045\054\240\036\054\250\304\211\247\357\355\231\006\057\266\012 +\114\117\333\242\314\067\032\257\107\205\055\212\137\304\064\064 +\114\000\375\030\223\147\023\321\067\346\110\264\213\006\305\127 +\173\031\206\012\171\313\000\311\122\257\102\377\067\217\341\243 +\036\172\075\120\253\143\006\347\025\265\077\266\105\067\224\067 +\261\176\362\110\303\177\305\165\376\227\215\105\217\032\247\032 +\162\050\032\100\017\002\003\001\000\001\243\143\060\141\060\017 +\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060 +\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006\060 +\037\006\003\125\035\043\004\030\060\026\200\024\027\235\315\036 +\213\326\071\053\160\323\134\324\240\270\037\260\000\374\305\141 +\060\035\006\003\125\035\016\004\026\004\024\027\235\315\036\213 +\326\071\053\160\323\134\324\240\270\037\260\000\374\305\141\060 +\015\006\011\052\206\110\206\367\015\001\001\013\005\000\003\202 +\002\001\000\126\325\173\156\346\042\001\322\102\233\030\325\016 +\327\146\043\134\343\376\240\307\222\322\351\224\255\113\242\306 +\354\022\174\164\325\110\322\131\024\231\300\353\271\321\353\364 +\110\060\133\255\247\127\163\231\251\323\345\267\321\056\131\044 +\130\334\150\056\056\142\330\152\344\160\013\055\040\120\040\244 +\062\225\321\000\230\273\323\375\367\062\362\111\256\306\172\340 +\107\276\156\316\313\243\162\072\055\151\135\313\310\350\105\071 +\324\372\102\301\021\114\167\135\222\373\152\377\130\104\345\353 +\201\236\257\240\231\255\276\251\001\146\313\070\035\074\337\103 +\037\364\115\156\264\272\027\106\374\175\375\207\201\171\152\015 +\063\017\372\057\370\024\271\200\263\135\115\252\227\341\371\344 +\030\305\370\325\070\214\046\074\375\362\050\342\356\132\111\210 +\054\337\171\075\216\236\220\074\275\101\112\072\335\133\366\232 +\264\316\077\045\060\177\062\175\242\003\224\320\334\172\241\122 +\336\156\223\215\030\046\375\125\254\275\217\233\322\317\257\347 +\206\054\313\037\011\157\243\157\251\204\324\163\277\115\241\164 +\033\116\043\140\362\314\016\252\177\244\234\114\045\250\262\146 +\073\070\377\331\224\060\366\162\204\276\150\125\020\017\306\163 +\054\026\151\223\007\376\261\105\355\273\242\125\152\260\332\265 +\112\002\045\047\205\327\267\267\206\104\026\211\154\200\053\076 +\227\251\234\325\176\125\114\306\336\105\020\034\352\351\073\237 +\003\123\356\356\172\001\002\026\170\324\350\302\276\106\166\210 +\023\077\042\273\110\022\035\122\000\264\002\176\041\032\036\234 +\045\364\363\075\136\036\322\034\371\263\055\266\367\067\134\306 +\313\041\116\260\367\231\107\030\205\301\053\272\125\256\006\352 +\320\007\262\334\253\320\202\226\165\316\322\120\376\231\347\317 +\057\237\347\166\321\141\052\373\041\273\061\320\252\237\107\244 +\262\042\312\026\072\120\127\304\133\103\147\305\145\142\003\111 +\001\353\103\331\330\370\236\255\317\261\143\016\105\364\240\132 +\054\233\055\305\246\300\255\250\107\364\047\114\070\015\056\033 +\111\073\122\364\350\210\203\053\124\050\324\362\065\122\264\062 +\203\142\151\144\014\221\234\237\227\352\164\026\375\037\021\006 +\232\233\364 +END +CKA_NSS_MOZILLA_CA_POLICY CK_BBOOL CK_TRUE +CKA_NSS_SERVER_DISTRUST_AFTER CK_BBOOL CK_FALSE +CKA_NSS_EMAIL_DISTRUST_AFTER CK_BBOOL CK_FALSE + +# Trust for "Hongkong Post Root CA 3" +# Issuer: CN=Hongkong Post Root CA 3,O=Hongkong Post,L=Hong Kong,ST=Hong Kong,C=HK +# Serial Number:08:16:5f:8a:4c:a5:ec:00:c9:93:40:df:c4:c6:ae:23:b8:1c:5a:a4 +# Subject: CN=Hongkong Post Root CA 3,O=Hongkong Post,L=Hong Kong,ST=Hong Kong,C=HK +# Not Valid Before: Sat Jun 03 02:29:46 2017 +# Not Valid After : Tue Jun 03 02:29:46 2042 +# Fingerprint (SHA-256): 5A:2F:C0:3F:0C:83:B0:90:BB:FA:40:60:4B:09:88:44:6C:76:36:18:3D:F9:84:6E:17:10:1A:44:7F:B8:EF:D6 +# Fingerprint (SHA1): 58:A2:D0:EC:20:52:81:5B:C1:F3:F8:64:02:24:4E:C2:8E:02:4B:02 +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Hongkong Post Root CA 3" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\130\242\320\354\040\122\201\133\301\363\370\144\002\044\116\302 +\216\002\113\002 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\021\374\237\275\163\060\002\212\375\077\363\130\271\313\040\360 +END +CKA_ISSUER MULTILINE_OCTAL +\060\157\061\013\060\011\006\003\125\004\006\023\002\110\113\061 +\022\060\020\006\003\125\004\010\023\011\110\157\156\147\040\113 +\157\156\147\061\022\060\020\006\003\125\004\007\023\011\110\157 +\156\147\040\113\157\156\147\061\026\060\024\006\003\125\004\012 +\023\015\110\157\156\147\153\157\156\147\040\120\157\163\164\061 +\040\060\036\006\003\125\004\003\023\027\110\157\156\147\153\157 +\156\147\040\120\157\163\164\040\122\157\157\164\040\103\101\040 +\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\024\010\026\137\212\114\245\354\000\311\223\100\337\304\306 +\256\043\270\034\132\244 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_MUST_VERIFY_TRUST +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE diff --git a/source/n/samba/samba.url b/source/n/samba/samba.url index b9895f64b..bd4b3b186 100644 --- a/source/n/samba/samba.url +++ b/source/n/samba/samba.url @@ -1,2 +1,2 @@ -https://download.samba.org/pub/samba/stable/samba-4.11.0.tar.gz -https://download.samba.org/pub/samba/stable/samba-4.11.0.tar.asc +https://download.samba.org/pub/samba/stable/samba-4.11.1.tar.gz +https://download.samba.org/pub/samba/stable/samba-4.11.1.tar.asc diff --git a/source/xap/xfractint/slack-desc b/source/xap/xfractint/slack-desc deleted file mode 100644 index 876eca71e..000000000 --- a/source/xap/xfractint/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. Line -# up the first '|' above the ':' following the base package name, and the '|' -# on the right side marks the last column you can put a character in. You must -# make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':'. - - |-----handy-ruler------------------------------------------------------| -xfractint: xfractint (fractal generation program) -xfractint: -xfractint: Xfractint draws a wide variety of fractals. Xfractint is a port of the -xfractint: DOS program Fractint. -xfractint: -xfractint: The primary original authors of Fractint are Bert Tyler, Timothy -xfractint: Wegner, Mark Peterson, and Pieter Branderhorst. Fractint was ported -xfractint: to X by Ken Shirriff. -xfractint: -xfractint: -xfractint: diff --git a/source/xap/xfractint/xfractint.SlackBuild b/source/xap/xfractint/xfractint.SlackBuild deleted file mode 100755 index 7a4b05382..000000000 --- a/source/xap/xfractint/xfractint.SlackBuild +++ /dev/null @@ -1,147 +0,0 @@ -#!/bin/bash - -# Copyright 2007, 2008, 2009, 2012, 2018 Patrick Volkerding, Sebeka, MN, USA -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -cd $(dirname $0) ; CWD=$(pwd) - -PKGNAM=xfractint -VERSION=${VERSION:-20.04p13} -BUILD=${BUILD:-2} - -# Automatically determine the architecture we're building on: -if [ -z "$ARCH" ]; then - case "$(uname -m)" in - i?86) ARCH=i586 ;; - arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;; - # Unless $ARCH is already set, use uname -m for all other archs: - *) ARCH=$(uname -m) ;; - esac - export ARCH -fi - -# If the variable PRINT_PACKAGE_NAME is set, then this script will report what -# the name of the created package would be, and then exit. This information -# could be useful to other scripts. -if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then - echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz" - exit 0 -fi - -NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} - -if [ "$ARCH" = "i386" ]; then - SLKCFLAGS="-O2 -march=i386 -mcpu=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i586" ]; then - SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i686" ]; then - SLKCFLAGS="-O2 -march=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "s390" ]; then - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -elif [ "$ARCH" = "armv7hl" ]; then - SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16" - LIBDIRSUFFIX="" -else - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -fi - -TMP=${TMP:-/tmp} -PKG=$TMP/package-${PKGNAM} -rm -rf $PKG -mkdir -p $TMP $PKG - -cd $TMP -rm -rf ${PKGNAM}-${VERSION} -tar xvf $CWD/xfractint-${VERSION}.tar.xz || exit 1 -cd ${PKGNAM}-${VERSION} || exit 1 - -rm -f unix/calmanfx.o # contains i386 code - -# Make sure ownerships and permissions are sane: -chown -R root:root . -find . \ - \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ - -exec chmod 755 {} \+ -o \ - \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ - -exec chmod 644 {} \+ - -make OPT="$SLKCFLAGS" SRCDIR=/usr/share/xfractint SHRDIR=/usr/share/xfractint BINDIR=/usr/bin MANDIR=/usr/man/man1 || exit 1 - -mkdir -p $PKG/usr/{bin,man/man1,share/xfractint} -make install SRCDIR=$PKG/usr/share/xfractint SHRDIR=$PKG/usr/share/xfractint BINDIR=$PKG/usr/bin MANDIR=$PKG/usr/man/man1 || exit 1 - -# Strip binaries: -find $PKG | xargs file | grep -e "executable" -e "shared object" \ - | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null - -# Compress and link manpages, if any: -if [ -d $PKG/usr/man ]; then - ( cd $PKG/usr/man - for manpagedir in $(find . -type d -name "man*") ; do - ( cd $manpagedir - for eachpage in $( find . -type l -maxdepth 1) ; do - ln -s $( readlink $eachpage ).gz $eachpage.gz - rm $eachpage - done - gzip -9 *.* - ) - done - ) -fi - -# Compress info files, if any: -if [ -d $PKG/usr/info ]; then - ( cd $PKG/usr/info - rm -f dir - gzip -9 * - ) -fi - -# Add palette maps missing from latest sources: -( cd $PKG/usr/share/${PKGNAM}/maps ; tar xf $CWD/palette.maps.tar.gz ) - -# Fix all wrong permissions in /usr/share/xfractint -( cd $PKG/usr/share - find . -perm 777 -exec chmod 755 {} \+ - find . -perm 666 -exec chmod 644 {} \+ -) - -# Add a documentation directory: -mkdir -p ${PKG}/usr/doc/${PKGNAM}-$VERSION -cp -a *.txt read.me $PKG/usr/doc/${PKGNAM}-$VERSION - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -# Build the package: -cd $PKG -/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz - diff --git a/source/xap/xv/slack-desc b/source/xap/xv/slack-desc deleted file mode 100644 index 5fce75a4f..000000000 --- a/source/xap/xv/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. Line -# up the first '|' above the ':' following the base package name, and the '|' -# on the right side marks the last column you can put a character in. You must -# make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':'. - - |-----handy-ruler------------------------------------------------------| -xv: xv (John Bradley's interactive image viewer) -xv: -xv: xv is an interactive image manipulation program. -xv: -xv: NOTICE: This program is unregistered shareware. Please read the -xv: license information included. -xv: -xv: -xv: -xv: -xv: diff --git a/source/xap/xv/xv-3.10a-enhancements.20070520-20081216.diff b/source/xap/xv/xv-3.10a-enhancements.20070520-20081216.diff deleted file mode 100644 index c9b5528f5..000000000 --- a/source/xap/xv/xv-3.10a-enhancements.20070520-20081216.diff +++ /dev/null @@ -1,293 +0,0 @@ - 20070621 - fixed improper ClearCode termination condition in GIF decoder (JZ); fixed - some minor inconsistencies in Makefile (GRR) - - xv-joe-zbiciak-20070621-gif-decoder-bugfix.dif - - 20080121 - removed duplicate "XDestroyWindow(theDisp, pngW);" in xvmisc.c (IMC); fixed - empty-filename click-and-crash bug in xvdir.c (IMC, DB) - - xv-ian-collier-20080118-crash-fixes.msg - - xv-david-bath-20080901-empty-filename-save-crash-fix.dif - - 20081205 - reverted xvxwd.c to SJT's version (bug reported by Jari Ruusu) - - 20081216 - fixed crash-bug in IFF decoder (EP) - - xv-elmar-plischke-20081216-xviff-crash-fix.dif - - - -diff -ru ../test3.20070520.stock/xv-3.10a/xv.h ./xv.h ---- ../test3.20070520.stock/xv-3.10a/xv.h 2007-05-20 22:23:33.000000000 -0700 -+++ ./xv.h 2008-12-16 09:45:00.000000000 -0800 -@@ -16,8 +16,9 @@ - /* GRR 2nd public jumbo F+E patches: 20050410 */ - /* GRR 3rd public jumbo F+E patches: 20050501 */ - /* GRR 4th public jumbo F+E patch: 20070520 */ --#define REVDATE "version 3.10a-jumboFix+Enh of 20070520" --#define VERSTR "3.10a-20070520" -+/* GRR 5th public jumbo F+E patch: 200xxxxx (probably mid-2009) */ -+#define REVDATE "version 3.10a-jumboFix+Enh of 20081216 (interim!)" -+#define VERSTR "3.10a-20081216" - - /* - * uncomment the following, and modify for your site, but only if you've - - - -diff -ru ../test3.20070520.stock/xv-3.10a/xvdir.c ./xvdir.c ---- ../test3.20070520.stock/xv-3.10a/xvdir.c 2007-05-20 22:23:33.000000000 -0700 -+++ ./xvdir.c 2008-01-21 13:02:38.000000000 -0800 -@@ -539,8 +539,9 @@ - return -1; - } - -- /* handle clicks inside the filename box */ -- if (x > 80 && -+ /* handle clicks inside the filename box, but only when box is not empty */ -+ if (enPos > stPos && -+ x > 80 && - y > dList.y + (int) dList.h + 30 && - x < 80 + DNAMWIDE+6 && - y < dList.y + (int) dList.h + 30 + LINEHIGH+5) { - - - -diff -ru ../test3.20070520.stock/xv-3.10a/xvgif.c ./xvgif.c ---- ../test3.20070520.stock/xv-3.10a/xvgif.c 2007-05-20 22:23:33.000000000 -0700 -+++ ./xvgif.c 2007-06-21 09:36:40.000000000 -0700 -@@ -700,7 +700,7 @@ - * associated output code on the output queue. - */ - -- while (CurCode > BitMask) { -+ while (CurCode >= ClearCode) { /* Joe Zbiciak fix, 20070621 */ - if (OutCount > 4096) break; /* corrupt file */ - OutCode[OutCount++] = Suffix[CurCode]; - CurCode = Prefix[CurCode]; - - - -diff -ru ../test3.20070520.stock/xv-3.10a/xvmisc.c ./xvmisc.c ---- ../test3.20070520.stock/xv-3.10a/xvmisc.c 2007-05-20 22:23:33.000000000 -0700 -+++ ./xvmisc.c 2008-01-21 12:57:29.000000000 -0800 -@@ -561,10 +561,6 @@ - if (mgcsfxW) XDestroyWindow(theDisp, mgcsfxW); - #endif - --#ifdef HAVE_PNG -- if (pngW) XDestroyWindow(theDisp, pngW); --#endif -- - /* if NOT using stdcmap for images, free stdcmap */ - if (colorMapMode != CM_STDCMAP) { - int j; - - - -[This one reverts xvxwd.c to the pre-2007 SJT version, which actually worked...] - -diff -ru ../test3.20070520.stock/xv-3.10a/xvxwd.c ./xvxwd.c ---- ../test3.20070520.stock/xv-3.10a/xvxwd.c 2007-05-20 22:23:33.000000000 -0700 -+++ ./xvxwd.c 2008-12-06 00:30:44.000000000 -0800 -@@ -19,6 +19,12 @@ - */ - - #include "xv.h" -+#include /* for CHAR_BIT */ -+ -+/* SJT: just in case ... */ -+#ifndef CHAR_BIT -+# define CHAR_BIT 8 -+#endif - - - /***************************** x11wd.h *****************************/ -@@ -83,9 +89,14 @@ - static int writebiglong PARM((FILE *, CARD32)); - #endif - -+static void getcolorshift PARM((CARD32, int *, int *)); /* SJT */ -+ -+/* SJT: for 16bpp and 24bpp shifts */ -+static int red_shift_right, red_justify_left, -+ grn_shift_right, grn_justify_left, -+ blu_shift_right, blu_justify_left; - static byte *pic8, *pic24; --static CARD32 red_mask, green_mask, blue_mask; --static int red_shift, green_shift, blue_shift; -+static CARD32 red_mask, grn_mask, blu_mask; - static int bits_per_item, bits_used, bit_shift, - bits_per_pixel, bits_per_rgb; - static char buf[4]; -@@ -189,38 +200,34 @@ - return 0; - } - -- switch (bits_per_pixel) { -- case 16: -- case 24: -- case 32: -- ; -- default: -- xwdError("True/Direct supports only 16, 24, and 32 bits"); -- return 0; -- } -+ for (row=0; row> red_shift & red_mask ; -- *xP++ = ul >> green_shift & green_mask; -- *xP++ = ul >> blue_shift & blue_mask ; -- }; -- for (col=0; col> blue_shift & blue_mask ; -- *xP++ = ul >> green_shift & green_mask; -- *xP++ = ul >> red_shift & red_mask ; -- }; -- for (col=0; col> red_shift_right) << red_justify_left; -+ *xP++ = ((ul & grn_mask) >> grn_shift_right) << grn_justify_left; -+ *xP++ = ((ul & blu_mask) >> blu_shift_right) << blu_justify_left; -+ break; -+ -+ default: -+ xwdError("True/Direct supports only 16, 24, and 32 bits"); -+ return 0; -+ } - } -+ -+ for (col=0; coltype = PIC24; -@@ -445,28 +452,18 @@ - (i.e., 3 bytes, no alpha/padding) */ - - -- bits_used = bits_per_item; -+ bits_used = bits_per_item; - - if (bits_per_pixel == sizeof(pixel_mask) * 8) pixel_mask = (CARD32) -1; - else pixel_mask = (1 << bits_per_pixel) - 1; - -- red_mask = h11P->red_mask; -- green_mask = h11P->grn_mask; -- blue_mask = h11P->blu_mask; -- -- red_shift = blue_shift = green_shift = 0; -- while (!(red_mask & 1)) { -- red_mask >>= 1; -- ++red_shift; -- } -- while (!(blue_mask & 1)) { -- blue_mask >>= 1; -- ++blue_shift; -- } -- while (!(green_mask & 1)) { -- green_mask >>= 1; -- ++green_shift; -- } -+ red_mask = h11P->red_mask; -+ grn_mask = h11P->grn_mask; -+ blu_mask = h11P->blu_mask; -+ -+ getcolorshift(red_mask, &red_shift_right, &red_justify_left); -+ getcolorshift(grn_mask, &grn_shift_right, &grn_justify_left); -+ getcolorshift(blu_mask, &blu_shift_right, &blu_justify_left); - - byteP = (char *) buf; - shortP = (CARD16 *) buf; -@@ -476,6 +473,45 @@ - } - - -+/* SJT: figure out the proper shifts */ -+static void getcolorshift (CARD32 mask, int *rightshift, int *leftshift) -+{ -+ int lshift, rshift; -+ unsigned int uu; -+ -+ if (mask == 0) -+ { -+ *rightshift = *leftshift = 0; -+ return; -+ } -+ -+ uu = mask; -+ lshift = rshift = 0; -+ while ((uu & 0xf) == 0) -+ { -+ rshift += 4; -+ uu >>= 4; -+ } -+ while ((uu & 1) == 0) -+ { -+ rshift++; -+ uu >>= 1; -+ } -+ -+ while (uu != 0) -+ { -+ if (uu & 1) -+ { -+ lshift++; -+ uu >>= 1; -+ } -+ } -+ *rightshift = rshift; -+ *leftshift = CHAR_BIT * sizeof(pixel) - lshift; -+ return; -+} -+ -+ - /******************************/ - static CARD32 getpixnum(file) - FILE* file; - - - -diff -ru ../test3.20070520.stock/xv-3.10a/xviff.c ./xviff.c ---- ../test3.20070520.stock/xv-3.10a/xviff.c 2007-05-13 17:50:59.000000000 -0700 -+++ ./xviff.c 2008-12-16 09:20:25.000000000 -0800 -@@ -73,6 +73,7 @@ - int BMHDok, CMAPok, CAMGok; - int bmhd_width, bmhd_height, bmhd_bitplanes, bmhd_transcol; - int i, j, k, lineskip, colors, fmt; -+ int npixels = 0; /* needs to be initialized _outside_ while-loop */ - byte bmhd_masking, bmhd_compression; - long chunkLen, camg_viewmode; - byte *databuf, *dataptr, *cmapptr, *picptr, *pic, *bodyptr; -@@ -138,7 +139,6 @@ - BODY chunk was found or dataptr ran over end of file */ - - while ((rv<0) && (dataptr < (databuf + filesize))) { -- int npixels = 0; - chunkLen = (iff_getlong(dataptr + 4) + 1) & 0xfffffffe; /* make even */ - - if (strncmp((char *) dataptr, "BMHD", (size_t) 4)==0) { /* BMHD chunk? */ diff --git a/source/xap/xv/xv-3.10a-jumbo-README.txt b/source/xap/xv/xv-3.10a-jumbo-README.txt deleted file mode 100644 index 00b1c3e4e..000000000 --- a/source/xap/xv/xv-3.10a-jumbo-README.txt +++ /dev/null @@ -1,559 +0,0 @@ -This is the latest version of the XV jumbo patches I originally created in -February 2000 (but never distributed) and eventually updated and released in -May 2004, prompted by a discussion on LWN (http://lwn.net/Articles/76391/). -Information about the patches, updates to the patches, and the patches -themselves can all be found here: - - http://pobox.com/~newt/greg_xv.html - http://freshmeat.net/projects/xvjumbopatches/ - -(Use the "Subscribe to new releases" link on the latter page if you want to -be notified of new versions automatically; trivial registration required.) - -These patches incorporate all of the fix- and enhancement-patches available -from John's XV site (http://www.trilon.com/xv/downloads.html and -ftp://ftp.trilon.com/pub/xv/patches/), plus a number of my own fixes and -additions (security-related and otherwise), plus quite a few from other -people. They're still not fully complete, and it's probable they never -will be, but I do plan to continue tinkering with them whenever the mood -strikes--and I may even release them publicly on rare occasions. (At the -current rate, once every few years may be the best we can hope for....) - -Also be aware that several other people have had the same idea over the -years. Ones I've found, more or less by accident, include: - - - Landon Curt "chongo" Noll (http://www.isthe.com/chongo/) - http://www.isthe.com/chongo/src/xv-patch/ - - Mark Ashley - http://www.ibiblio.org/pub/packages/solaris/sparc/html/xv.3.10a.p19.html - - Peter Jordan - http://www.ibiblio.org/pub/Linux/apps/graphics/viewers/X/xv-3.10a.patch.* - - Uwe F. Mayer (http://www.tux.org/~mayer/) - http://www.tux.org/~mayer/linux/book/node311.html - - Kurt Wall - http://www.kurtwerks.com/software/xv.html - - Chisato Yamauchi (http://phe.phyas.aichi-edu.ac.jp/~cyamauch/index_en.html) - http://phe.phyas.aichi-edu.ac.jp/~cyamauch/xv.html - - Daisuke Yabuki - http://www.optix.org/~dxy/solaris/xv/ - - Pekoe (http://pekoe.lair.net/) - http://pekoe.lair.net/diary/xv.html - - FreeBSD FreshPorts - http://www.freshports.org/graphics/xv/ - - Kyoichiro Suda - http://www.coara.or.jp/~sudakyo/XV_jp.html - -This is not an exhaustive list (e.g., Jörgen Grahn also had one). So far, -most of the other patch-sets appear not to be as extensive or as up-to-date -as my own, particularly now that the (very large) "Japanese extension" patches -are incorporated--big thanks to Werner Fink of SuSE for that! - -Below I summarize the component patches that are encompassed by my jumbo -bugfixes and jumbo enhancements patches, circa 2005. (As of 2007, they're -distributed as a single monster-patch, and the "component patches" are now -listed in the changelog section at the bottom of this file.) Unfortunately, -some of my own additions never saw the light of day as standalone patches, -but considering the number of overlaps (collisions) already implicit in the -list, that would have been difficult to accomplish even if I'd had the time. - -Here's a quick guide to the "third-party" credits in the lists and changelog -below: - - AAC = Andrey A. Chernov [ache] - (http://cvsweb.freebsd.org/ports/graphics/xv/files/patch-ab) - AD = Andreas Dilger (adilger clusterfs.com) - AL = Alexander Lehmann (lehmann usa.net) - AS = Alexey Spiridonov (http://www-math.mit.edu/~lesha/) - AT = Anthony Thyssen (http://www.cit.gu.edu.au/~anthony/) - BR = Bruno Rohee (http://bruno.rohee.com/) - DAC = David A. Clunie (http://www.dclunie.com/xv-pcd.html) - EAJ = Erling A. Jacobsen (linuxcub email.dk) - EK = Egmont Koblinger (egmont users.sourceforge.net) - FG = Fabian Greffrath (fabian debian-unofficial.org) - GRR = Greg Roelofs (http://pobox.com/~newt/greg_contact.html) - GV = Guido Vollbeding (http://sylvana.net/guido/) - IM = IKEMOTO Masahiro (ikeyan airlab.cs.ritsumei.ac.jp) - JC = John Cooper (john.cooper third-harmonic.com) - JCE = John C. Elliott (http://www.seasip.demon.co.uk/ZX/zxdload.html) - JDB = John D. Baker (http://mylinuxisp.com/~jdbaker/) - JG = Jörgen Grahn (jgrahn algonet.se) - JHB = John H. Bradley, of course (http://www.trilon.com/xv/) - JPD = Jean-Pierre Demailly (http://www-fourier.ujf-grenoble.fr/~demailly/) - JR = John Rochester (http://www.freebsd.org/cgi/query-pr.cgi?pr=2920) - (also http://cvsweb.freebsd.org/ports/graphics/xv/files/patch-af, -ag) - JRK = James Roberts Kirkpatrick (uwyo.edu) - JZ = Joe Zbiciak (http://spatula-city.org/~im14u2c/) - KS = Kyoichiro Suda (http://www.coara.or.jp/~sudakyo/XV_jp.html) - LCN = Landon Curt "chongo" Noll (http://www.isthe.com/chongo/) - LJ = Larry Jones (lawrence.jones ugs.com) - PBJ = Peter Jordan (http://www.ibiblio.org/pub/Linux/apps/graphics/viewers/X/) - PSV = Pawel S. Veselov (http://manticore.2y.net/wbmp.html) - RAC = Ross Combs (rocombs cs.nmsu.edu) - RJH = Robin Humble (http://www.cita.utoronto.ca/~rjh/) - SB = Sean Borman (http://www.nd.edu/~sborman/software/xvwheelmouse.html) - SJT = TenThumbs (tenthumbs cybernex.net) - SBM = Scott B. Marovich (formerly marovich hpl.hp.com) - TA = Tim Adye (http://hepwww.rl.ac.uk/Adye/xv-psnewstyle.html) - TAR = Tim Ramsey (tar pobox.com) - TI = Tetsuya INOUE (tin329 chino.it.okayama-u.ac.jp) - TO = Tavis Ormandy (taviso gentoo.org) - WF = Werner Fink (http://www.suse.de/~werner/) - -Other credits are as listed on the XV Downloads page or in the respective -patches (e.g., the jp-extension patches or within the PNG patch). - -Finally, please note that these patches have not been blessed by John Bradley -in any way (although I copied him on the May 2004 announcement and wrote to -him again in May 2005), unless you count Debian's redistribution permission -(Daniel Kirchheimer, 5 Dec 2005). Nor have I personally tested every change -and feature! (See the BIG SCARY WARNING below for further caveats.) In other -words, they're both completely unofficial and completely unguaranteed. But -they seem to work for me. (And when they don't, I try to fix 'em--eventually, -anyway... ;-) ) - -Greg Roelofs, 20070520 -http://pobox.com/~newt/greg_contact.html - - -How to build ------------- - -The following assumes you, the user, already have the libtiff,[1] libjpeg,[2] -libpng,[3] zlib,[4] and JasPer[5] libraries downloaded, patched (if necessary), -compiled, and installed, not to mention a C compiler and the bzip2,[6] tar,[7] -patch,[8] and make[9] utilities. You should also have downloaded the original -XV 3.10a source distribution from the XV Downloads page[10] and be able to edit -its Makefile and config.h files as indicated in the INSTALL file. (Editing -the Makefile will also allow you to disable some of the third-party libraries -if you wish.) Finally, you should know what a Unix(-style) command line is, -where to find one, and how to wield it with abandon (or at least with adult -supervision)--and preferably not as the root user until the "make install" -step. (A filesystem is a terrible thing to waste.) - - [1] http://www.remotesensing.org/libtiff/ - [2] http://www.ijg.org/ - [3] http://www.libpng.org/pub/png/libpng.html - [4] http://www.zlib.net/ - [5] http://www.ece.uvic.ca/~mdadams/jasper/ - [6] http://sources.redhat.com/bzip2/ - [7] http://www.gnu.org/directory/devel/specific/tar.html - [8] http://www.gnu.org/directory/devel/specific/patch.html - [9] http://www.gnu.org/directory/devel/specific/make.html - [10] http://www.trilon.com/xv/downloads.html#src-distrib - -+-------------------------------------------------------------------------+ -| | -| BIG SCARY WARNING | -| | -| These patches work for Greg (and parts of them reportedly work for | -| various other people), and so far Greg's CPU still computes and his | -| hard disks haven't been wiped. But there's no guarantee that this | -| will be the case for you! In particular, not every incorporated patch | -| has been explicitly tested, nor has every possible subcase of the | -| explicitly tested subset. (Read that again; it's grammatical.) Nor | -| are these patches officially blessed by John Bradley in any way. In | -| other words, if you use these patches, you do so at your own risk. | -| (Greg doesn't believe there are any serious problems remaining, but | -| then, what programmer ever does? Bugs happen.) | -| | -+-------------------------------------------------------------------------+ - -Assuming you have the prerequisites out of the way and aren't scared -off by the Big Scary Warning, here's the build procedure: - - tar xvzf xv-3.10a-jumbo-patches-20070520.tar.gz - (or: gzip -dc xv-3.10a-jumbo-patches-20070520.tar.gz | tar xvf - ) - - tar xvzf xv-3.10a.tar.gz - - cd xv-3.10a - - patch -p1 < ../xv-3.10a-jumbo-fix-enh-patch-20070520.txt - - edit Makefile and config.h as directed in INSTALL file (in particular, - ensure paths to external libraries and header files are correct) - - make - - ./xv your_favorite_image your_other_favorite_image etc. - -If everything seems to be working to your satisfaction, go ahead and install: - - make -n install (and double-check that things will be installed - where you want them to be) - - become root if necessary (e.g., type su) - - make install - (or: sudo make install) - -That wasn't so hard, was it? - - -Summary of incorporated and unincorporated patches (through 20050501) ---------------------------------------------------------------------- -(See the ChangeLog at the bottom for more recent incorporated patches.) - -fixes ((*) = listed on XV Downloads page, (f) = on ftp site only): - -20040516: - - grabpatch (*) [obsoleted by new-xvgrab.c below] - - vispatch (*) - - mp-tiff-patch (*) [technically an enhancement, but JHB says...] - - longname.patch (*) [*SECURITY*] - - xpm.patch (*) - - deepcolor.patch (*) [slightly modified for language conformance] - - gifpatch (*) - - exceed_grab.patch (*) - - xv-redhat6-readme.txt (*) [slightly modified for portability] - - beos.patch (*) [modified for portability] - - croppad.patch (f) - - epsfpatch (f) - - tiff1200.patch (*) - - gssafer.patch (*) [*SECURITY*] - - new-xvgrab.c (f) [includes grabpatch but not exceed_grab.patch] - - xcmap.diff (AD) [part of xv-3.10a-png-1.2d.tar.gz] - - fixes for huge number gcc -Wall warnings--including two bugs (GRR) - - fix for cleandir script when no makefile exists (GRR) - - *SECURITY* fix for gets() in vdcomp.c (GRR, LCN vdcomp-security.patch) - - *SECURITY* fix for getwd() on Linux (GRR, LCN Linux-compile.patch) - - fix for "no fuss" Linux compiles (LCN Linux-compile.patch) - - partial *SECURITY* fix for mktemp() in xv.c and xvdir.c (GRR) - (remaining instances in xv.c (2), xvimage.c, xvfits.c, xvpds.c, xvps.c, and - possibly xvtiff.c--most involve system()) - - freebsd-vdcomp-newline.patch (AAC) - - xv-3.10a.patch.linux (PBJ) [/bin/sh versions of cleandir, RANLIB.sh only] - - removed trailing white space (GRR) [purely cosmetic] -20040523: - - fixed compilation error in registered versions (GRR) -20050410: - - fix for YCbCr oversaturated-green bug(s) in TIFF decoder (GRR) - - provisional fix for contiguous tiled TIFFs with bottom-* orientation (GRR) - - fixes for gcc 3.3 -Wall warnings (GRR) - - fix for incorrect 16/24-bit display of xwd dumps (SJT) - - *SECURITY* fix for multiple input-validation bugs (OpenBSD/SuSE, Gentoo, GRR) - (this also completes the partial mktemp() security fix listed above) - - fix for (probable) 24-bit endianness bug in fixpix code (GRR) - - -enhancements ((*) = listed on XV Downloads page, () = third-party): - -20040516: - - xv-3.10a.JPEG-patch (*) - (xv-3.10a.JPEG-patch.old differs only in ftp site listed in comments at top) - - xv-3.10a.TIFF-patch (*) - - xv-3.10a-png-1.2d.tar.gz (AL, AD) (*) - (xvjpeg.diff and xvtiff.diff ignored; xcmap.diff included in fixes) - - xvpng-1.2d-fix3.patch (GRR, SJT) (*) - - pdf.patch (*) - - windowid.patch + windowid.patch.readme (*) - - bmp32.patch (*) - - fixpix-20000610.tar.gz (GV) - (identical to 19961127 version except for README updates and new Win32 file) - [modified to be runtime-selectable via -/+fixpix option] - - browse-remember.patch (JZ) - - faster-smooth.patch (JZ) - - PAM support (GRR) - - PNG/GIF -ibg ("image background") transparency option (GRR) - (does not yet support TIFF, XPM or TGA) - - VersionInfo* in help screen (GRR) - - minor grammar/spelling fixes (GRR) - - floating-point support for -wait when USE_TICKS enabled (GRR) - - wheelmouse.patch (SB) - - freebsd-gravity-hints-patch (JR) - - xv-zx.patch (JCE) - - xv3.10a.wapbmp.patch (PSV) - - xv-3.10a-pcd.patch.20010708 (DAC) - - jp-ext-bzip2-1.1.patch - (from ftp://ftp.freebsd.org/pub/FreeBSD/ports/local-distfiles/shige/xv/) -20050410: - - boosted maximum number of files from 4096 to 32768 (GRR) - (note that OS kernel limits may also apply; for example, in Linux see - MAX_ARG_PAGES in linux-/include/linux/binfmts.h) - - xv-3.10a-bmp16.patch (KS) - - final-image delay (e.g., "-wait 0.2,3" : pause 3 secs on final image) (GRR) - - xv-numpad.patch (EK) - - xv-delete-is-not-backspace.patch (EK) - - made browser window (schnauzer) and icons configurable (AT, GRR) -20050501: - - xv-3.10a-bmpfix.patch (WF) [*SECURITY*] - - xv310a-jp-extension-rev5.3.3.tar.gz (TI, IM, ..., WF) - (adds support for MAG, MAKI, Pi, PIC, and PIC2 formats[!]; "magic suffix" - detection/conversion; MacBinary prefixes; archives as virtual filesystems; - multilingual text viewer [though not Unicode]; etc.) - - xv-3.10a-yaos.dif (WF, TO) [*SECURITY*] - (fixes a number of format-string issues and system() calls) - - xv-3.10a.dif (WF) [*SECURITY*] - (fixes more format-string issues, mktemp() and open() calls, and compilation - warnings [mostly from jp-extension patch]) - - xv-3.10a-jumbo-jpd_startgrab-patch-20050420.txt (JPD) - - PATCH.alwaysnever (LJ) - - PATCH.bsd (LJ) - - PATCH.linedraw (LJ) - - PATCH.multipage (LJ) - - PATCH.multipageGIF (LJ) - - PATCH.random (LJ) - - PATCH.stat (LJ) - - PATCH.thumbs (LJ) - - xv-startgrab-imake-hips.patch (JPD) - ("hips" portion only; adds support for HIPS image format[!]) - - xv-3.10a-formatstr.patch (KS) - - xv-3.10a-shortsleep.patch (KS) - - xv-3.10a-locale-linux.patch (KS) - - xv-3.10a-printkey.patch (KS) - - xv-3.10a-sysconfdir.patch (KS) - - added PREFIX and DESTDIR support to Makefile (KS, GRR) - - xv-3.10a-xvexecpath.patch (but disabled pending fixes) (KS) - - xv-3.10a-zeroquit.patch (KS, GRR) - -[!] Note that all six of these formats may still suffer from exploitable heap - overflows [*SECURITY*] when decoding images with large (possibly invalid) - dimensions; as a result, they are DISABLED by default. (Search for "GRR - POSSIBLE OVERFLOW / FIXME" comments in xvmag.c, xvmaki.c, xvpi.c, xvpic.c, - xvpic2.c, and xvhips.c, but keep in mind that these may not be exhaustive.) - Users who choose to overlook these security issues can enable any or all - of them by editing config.h. - - -not (yet?) included: - - - others from http://www.coara.or.jp/~sudakyo/XV_jp.html (some are duplicates): - -rw-r--r-- 4644 Mar 11 2004 xv-3.10a-directory.patch - -rw-r--r-- 462 Mar 11 2004 xv-3.10a-dirwkey.patch - -rw-r--r-- 688 Mar 11 2004 xv-3.10a-docdir.patch - -rw-r--r-- 11952 Mar 11 2004 xv-3.10a-download-test0.patch - -rw-r--r-- 41786 Mar 11 2004 xv-3.10a-download-test1.patch - -rw-r--r-- 42397 Mar 11 2004 xv-3.10a-download-test2.patch - -rw-r--r-- 47679 Mar 11 2004 xv-3.10a-download-test3.patch - -rw-r--r-- 52745 Mar 11 2004 xv-3.10a-download-test4.patch - -rw-r--r-- 3423 Apr 24 2004 xv-3.10a-keyzoom.patch - -rw-r--r-- 12387 Mar 15 2004 xv-3.10a-menubutton.patch - -rw-r--r-- 1178 Apr 24 2004 xv-3.10a-noblink.patch - -rw-r--r-- 57092 Jul 9 2004 xv-3.10a-resolution.patch - -rw-r--r-- 4645 Apr 24 2004 xv-3.10a-selall.patch - -rw-r--r-- 702 Apr 24 2004 xv-3.10a-showlongname.patch - -rw-r--r-- 1205 Apr 24 2004 xv-3.10a-staytoppdir.patch - -rw-r--r-- 4228 Apr 24 2004 xv-3.10a-wheelmouse.patch - -rw-r--r-- 744 Apr 24 2004 xv-3.10a-xvbutt_wait.patch - -rw-r--r-- 3757 Jul 9 2004 xv-3.10a-xvscrl_button2.patch - -rw-r--r-- 1494 Jul 9 2004 xv-3.10a-xvscrl_wait.patch - -rw-r--r-- 19352 Jul 9 2004 xv-3.10a-xvzoom.patch - - - xv-3.10a+jp-extension-rev5.3.3+FLmask.v2.1+png+misc.patch ["mask" support] - - - xv-psnewstyle.patch (TA) [coming "soon"?] - - xv-3.10a.patch.linux (PBJ) [maybe use vdcomp.c changes?] - - xvxpm-anthony-thyssen.c (AT) ["slate grey" bug already gone?] - - xv-geoff-kuenning-iconsize-slideshow.patch [var. icons; full-screen slides] - - xv-scott-marovich-20070214-xvtiff.c.patch6.unified [TIFF CMYK support] - - - stuff in xv/unsupt: - -rw-r--r-- 30527 Dec 22 1994 FITS.rite - -rw-r--r-- 49152 Dec 22 1994 FITS.tar - -rw-r--r-- 3753 Dec 22 1994 G3.patch1 - -rw-r--r-- 24576 Dec 22 1994 G3.tar - -rw-r--r-- 1098 Dec 22 1994 INFO.cgm - -rw-r--r-- 1941 Dec 22 1994 README - -rwxr-xr-x 1059 Dec 22 1994 getweather - -rwxr-xr-x 2186 Dec 22 1994 getweather.ksh - -rw-r--r-- 856 Dec 22 1994 twm.fix - -rw-r--r-- 844 Dec 22 1994 vargs.c - -rw-r--r-- 47626 Dec 22 1994 vis - -rw-r--r-- 21097 Dec 22 1994 xscm - - - -not finished (and/or even started ;-) ): - - - fix xvpng.c not to use direct struct access - - (better) fix for never-ending pile of SLOW popups when viewing TIFFs with - unknown tags (or truncated/corrupted images) - - fix for minor .Z inefficiency in xv.c ("FIXME") - - fix for filename entry-field mouse/cursor deficiencies - (positioning fixed 20070104 by Ross Combs; would like select/cut/paste, too) - - fix for .ppm.gz "disk leak" [can't reproduce...already fixed?] - (maybe occurs only if filesystem is already nearly full? bad .gz?) - - - transparency support for TIFF, XPM and TGA images - - support for tiled background image (with transparent foreground image) - - MNG/JNG support - - SVG support - - -ChangeLog ---------- - - 20000220 - original pair of jumbo patches, comprising perhaps 16 fix-patches and a - dozen enhancement-patches; never publicly released - - 20040516 - first public release, incorporating 25 fix-patches and 21 enhancement- - patches - - 20040523 - minor fix to xvctrl.c to support registered versions (GRR warnings-patch - was slightly overzealous); switched to tarball packaging - - 20040531 - fixed undefined CLK_TCK with gcc -ansi (enh/USE_TICKS option); made - libjpeg, libtiff, libpng and zlib sections of makefile more consistent - (enh) - - 20040606 - added freshmeat link, build instructions, and changelog to jumbo README - (this file) - - 20050213 - increased max number of files from 4096 to 32768 (enh) - - 20050320-20050410 - fixed two very long-standing YCbCr bugs in TIFF decoder (fix); - provisionally fixed bug in TIFF decoder for contiguous tiled TIFFs with - bottom-* orientation (fix/USE_TILED_TIFF_BOTLEFT_FIX option); fixed new - gcc 3.3 warnings (fix); fixed incorrect 16/24-bit display of xwd dumps - (fix); fixed multiple input-validation bugs (potential heap overflows) - and mktemp() dependencies (*SECURITY* fixes: CAN-2004-1725, CAN-2004- - 1726, CAN-2005-0665, CERT VU#622622, and others); added support for 16- - and 32-bit BMPs using bitfields "compression" (enh); fixed probable byte- - sex bug in 24-bit FixPix display code (enh/USE_24BIT_ENDIAN_FIX option); - fixed numerical-keypad NumLock behavior and delete-key behavior in file- - load/save window (enh); made schnauzer window and icons configurable (enh) - - 20050417 - incorporated "Japanese extension" patches, revision 5.3.3 (enh); fixed - additional *SECURITY* issues (format-string vulnerabilities, system() - and mktemp() calls, etc., but NOT heap overflows in new decoders) both - in existing code and in jp-extension additions (enh) - - 20050425 - added support for -startgrab option (enh); added support for a "Never" - button to file-overwrite popups (enh); added NetBSD and BSDI to list of - mkstemp()-supporting systems (enh); improved line-drawing code to set the - correct pixels for lines of all slopes (enh); added "Page n of m" to Info - window for multipage images (enh); added support for multipage (animated) - GIFs (enh); fixed -random support so randomized file list can be traversed - normally in forward or backward direction (enh); added typecasts to stat() - printfs for portability (enh); fixed erroneous use of "creation" time and - forced unlink prior to overwrite in schnauzer thumbnail code (enh); added - HIPS support (enh/HAVE_HIPS option) - - 20050501 - extended multipage keyboard support (PgUp/PgDn) to all windows except - control ("console") and directory (enh); fixed minor (non-security) - format-string issue in xv.c (enh); shortened delay on popup error windows - from 3 seconds to 1 second (enh); tweaked text-viewer localization support - (TV_L10N) for Linux (enh); added keyboard short cuts for Color and - Grayscale buttons in print dialog (enh); added support for separate "magic - suffix" (xv_mgcsfx) config dir (enh); added PREFIX and DESTDIR support to - Makefile (enh); fixed handling of zero-length files and other text-viewer - failures (enh) - - 20050528 - conditionally added missing alloca.h to xvpcd.c (required if alloca() is - a macro and alloca.h not included in stdlib.h, for example); fixed bogus - __S_IWRITE introduced in 20050501 release; fixed Makefile "install" target - (mkdir, chmod); fixed bug in MUST macro in xvwbmp.c; fixed prototype - warnings in xvevent.c, xvpcd.c (JRK, GRR) - - xv-3.10a-jimkirk-fixes.patch - - 20050630 - fixed broken mkdir(.xvpics) introduced in 20050501 release (RJH, GRR); - tweaked GUNZIP config for OpenBSD (GRR) - - xv-3.10a-xvpics-mkdir-fix.patch - - 20051014 - fixed longstanding xvevent.c typo (wasJpegUp -> wasPngUp) that caused build - failure if no JPEG support (TAR) - - 20051019 - fixed Darwin (Mac OS X) build error in xv.h and vdcomp.c due to lack of - malloc.h (JDB) - - 20070210 - fixed minor grammos (GRR); promoted PNG to first position, demoted GIF to - third (GRR); changed internal type of default image to PNG (GRR); increased - max files again, to 65536 (GRR) - - 20070310 - incorporated JPEG-2000 patch (SBM, GRR); added manual fax options for - unrecognized G3 images (SBM); relaxed 30-byte minimum file size (SBM) - - http://www.ece.uvic.ca/~mdadams/jasper/software/xv-patches - - 20070318 - incorporated 16bps raw (binary) PPM patch (define ASSUME_RAW_PPM_LSB_FIRST - for old behavior) (RAC, GRR); updated format list, web sites in xv man page - (GRR); fixed Makefile "install" target to create any necessary directories - (RAC, GRR); fixed GIF decoder bug (sizes of global, local color tables - different) (GRR) - - xv-ross-combs-ppm-16bps-rawbits.patch - - 20070325 - fixed invalid gamma assumption in PNG decoder (=> progressive color changes - over load/save cycles) (GRR) - - 20070328 - fixed animated-GIF /tmp/xvpgXXXXXX droppings (GRR) - - 20070331 - fixed PNG duplicate-palette-entries bug (GRR) - - 20070415 - incorporated EXIF-preserve patch (GHK); added missing JP2/JPC VS bits code - (GRR); added extended-warning options to CCOPTS (RAC); added "const" to - huge number of function args (RAC, GRR); made more effectively static - functions officially static (RAC); added mouse-clickability (but not - selectability) to text-entry fields (RAC); fixed window positioning (race - conditions?) under some virtual window managers (e.g., tvtwm) (RAC); - removed explicit paths for external (de)compressors (GRR, RAC) - - xv-geoff-kuenning-jpeg-exif-preserve.patch - - xv-ross-combs-20070104.diff - - 20070422 - incorporated function-key-scripts patch (see contrib/fnkey-scripts) (AS); - fixed man-page-section extensions ("1", not "l" or "1X") (FG); switched to - more sensible install paths for docs (FG); added Fedora Core build script - (see contrib/fedora) (JC); fixed VS to switch from move-mode to copy-mode - if source dir is read-only (EAJ); extended VS incremental-search mode (EAJ) - - xv-alexey-spiridonov-20070116-fnkey-scripts.tar.bz2 - - xv-fabian-greffrath-20070215-debian-04-manpages.dpatch - - xv-fabian-greffrath-20070215-debian-03-makefiles.dpatch - - xv-john-cooper-Build-FC5-script.sh - - xv-erling-jacobsen-20060617-incr-search.patch - - 20070428 - modified install to include README.jumbo in docs (GRR); incorporated PNG - no-stdio patch (SBM); fixed XWD endianness support, improved performance - (replaces SJT 16/24-bit fix) (SBM) - - xv-scott-marovich-20070214-xvpng.diff - - xv-scott-marovich-20070214-xvxwd.c.patch - - 20070506 - added JPEG CMYK support (SBM); fixed TIFF (and others?) /tmp/xvpgXXXXXX - droppings (GRR); added VS clipboard support (JG) - - xv-scott-marovich-20070214-xvjpeg.c.patch - - xv-jurgen-grahn-20051127-schnauzer-clip.patch - - 20070512 - inverted handling of malloc.h header file to require NEED_MALLOC_H macro - for those few systems that actually need it (GRR) - - 20070513 - fixed GCC 4.1.x warnings (GRR); next round of const cleanup (GRR); fixed - minor TIFF memleak (GRR) - - 20070514 - fixed TIFF YCbCr reference black/white levels (SBM); added option to use - libjpeg YCbCr-to-RGB conversion for TIFF images (SBM, GRR) - - xv-scott-marovich-20070214-xvtiff.c.patch2.unified - - xv-scott-marovich-20070214-xvtiff.c.patch3.unified - - 20070519 - fixed handling of multi-page JPEG-compressed TIFFs (old or new) (SBM); - added TIFF YCbCr separated-color-plane support (may require libtiff - patch(es) to tif_ojpeg.c and/or tif_jpeg.c) (SBM) - - xv-scott-marovich-20070214-xvtiff.c.patch4.unified - - xv-scott-marovich-20070214-xvtiff.c.patch5.unified - - 20070520 - updated README.jumbo diff --git a/source/xap/xv/xv-3.10a-jumbo-additions.diff b/source/xap/xv/xv-3.10a-jumbo-additions.diff deleted file mode 100644 index 8f398ddf2..000000000 --- a/source/xap/xv/xv-3.10a-jumbo-additions.diff +++ /dev/null @@ -1,18743 +0,0 @@ -diff -u -r --new-file xv-3.10a.orig/README.jumbo xv-3.10a/README.jumbo ---- xv-3.10a.orig/README.jumbo 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/README.jumbo 2007-05-21 00:19:20.000000000 -0500 -@@ -0,0 +1,559 @@ -+This is the latest version of the XV jumbo patches I originally created in -+February 2000 (but never distributed) and eventually updated and released in -+May 2004, prompted by a discussion on LWN (http://lwn.net/Articles/76391/). -+Information about the patches, updates to the patches, and the patches -+themselves can all be found here: -+ -+ http://pobox.com/~newt/greg_xv.html -+ http://freshmeat.net/projects/xvjumbopatches/ -+ -+(Use the "Subscribe to new releases" link on the latter page if you want to -+be notified of new versions automatically; trivial registration required.) -+ -+These patches incorporate all of the fix- and enhancement-patches available -+from John's XV site (http://www.trilon.com/xv/downloads.html and -+ftp://ftp.trilon.com/pub/xv/patches/), plus a number of my own fixes and -+additions (security-related and otherwise), plus quite a few from other -+people. They're still not fully complete, and it's probable they never -+will be, but I do plan to continue tinkering with them whenever the mood -+strikes--and I may even release them publicly on rare occasions. (At the -+current rate, once every few years may be the best we can hope for....) -+ -+Also be aware that several other people have had the same idea over the -+years. Ones I've found, more or less by accident, include: -+ -+ - Landon Curt "chongo" Noll (http://www.isthe.com/chongo/) -+ http://www.isthe.com/chongo/src/xv-patch/ -+ - Mark Ashley -+ http://www.ibiblio.org/pub/packages/solaris/sparc/html/xv.3.10a.p19.html -+ - Peter Jordan -+ http://www.ibiblio.org/pub/Linux/apps/graphics/viewers/X/xv-3.10a.patch.* -+ - Uwe F. Mayer (http://www.tux.org/~mayer/) -+ http://www.tux.org/~mayer/linux/book/node311.html -+ - Kurt Wall -+ http://www.kurtwerks.com/software/xv.html -+ - Chisato Yamauchi (http://phe.phyas.aichi-edu.ac.jp/~cyamauch/index_en.html) -+ http://phe.phyas.aichi-edu.ac.jp/~cyamauch/xv.html -+ - Daisuke Yabuki -+ http://www.optix.org/~dxy/solaris/xv/ -+ - Pekoe (http://pekoe.lair.net/) -+ http://pekoe.lair.net/diary/xv.html -+ - FreeBSD FreshPorts -+ http://www.freshports.org/graphics/xv/ -+ - Kyoichiro Suda -+ http://www.coara.or.jp/~sudakyo/XV_jp.html -+ -+This is not an exhaustive list (e.g., Jörgen Grahn also had one). So far, -+most of the other patch-sets appear not to be as extensive or as up-to-date -+as my own, particularly now that the (very large) "Japanese extension" patches -+are incorporated--big thanks to Werner Fink of SuSE for that! -+ -+Below I summarize the component patches that are encompassed by my jumbo -+bugfixes and jumbo enhancements patches, circa 2005. (As of 2007, they're -+distributed as a single monster-patch, and the "component patches" are now -+listed in the changelog section at the bottom of this file.) Unfortunately, -+some of my own additions never saw the light of day as standalone patches, -+but considering the number of overlaps (collisions) already implicit in the -+list, that would have been difficult to accomplish even if I'd had the time. -+ -+Here's a quick guide to the "third-party" credits in the lists and changelog -+below: -+ -+ AAC = Andrey A. Chernov [ache] -+ (http://cvsweb.freebsd.org/ports/graphics/xv/files/patch-ab) -+ AD = Andreas Dilger (adilger clusterfs.com) -+ AL = Alexander Lehmann (lehmann usa.net) -+ AS = Alexey Spiridonov (http://www-math.mit.edu/~lesha/) -+ AT = Anthony Thyssen (http://www.cit.gu.edu.au/~anthony/) -+ BR = Bruno Rohee (http://bruno.rohee.com/) -+ DAC = David A. Clunie (http://www.dclunie.com/xv-pcd.html) -+ EAJ = Erling A. Jacobsen (linuxcub email.dk) -+ EK = Egmont Koblinger (egmont users.sourceforge.net) -+ FG = Fabian Greffrath (fabian debian-unofficial.org) -+ GRR = Greg Roelofs (http://pobox.com/~newt/greg_contact.html) -+ GV = Guido Vollbeding (http://sylvana.net/guido/) -+ IM = IKEMOTO Masahiro (ikeyan airlab.cs.ritsumei.ac.jp) -+ JC = John Cooper (john.cooper third-harmonic.com) -+ JCE = John C. Elliott (http://www.seasip.demon.co.uk/ZX/zxdload.html) -+ JDB = John D. Baker (http://mylinuxisp.com/~jdbaker/) -+ JG = Jörgen Grahn (jgrahn algonet.se) -+ JHB = John H. Bradley, of course (http://www.trilon.com/xv/) -+ JPD = Jean-Pierre Demailly (http://www-fourier.ujf-grenoble.fr/~demailly/) -+ JR = John Rochester (http://www.freebsd.org/cgi/query-pr.cgi?pr=2920) -+ (also http://cvsweb.freebsd.org/ports/graphics/xv/files/patch-af, -ag) -+ JRK = James Roberts Kirkpatrick (uwyo.edu) -+ JZ = Joe Zbiciak (http://spatula-city.org/~im14u2c/) -+ KS = Kyoichiro Suda (http://www.coara.or.jp/~sudakyo/XV_jp.html) -+ LCN = Landon Curt "chongo" Noll (http://www.isthe.com/chongo/) -+ LJ = Larry Jones (lawrence.jones ugs.com) -+ PBJ = Peter Jordan (http://www.ibiblio.org/pub/Linux/apps/graphics/viewers/X/) -+ PSV = Pawel S. Veselov (http://manticore.2y.net/wbmp.html) -+ RAC = Ross Combs (rocombs cs.nmsu.edu) -+ RJH = Robin Humble (http://www.cita.utoronto.ca/~rjh/) -+ SB = Sean Borman (http://www.nd.edu/~sborman/software/xvwheelmouse.html) -+ SJT = TenThumbs (tenthumbs cybernex.net) -+ SBM = Scott B. Marovich (formerly marovich hpl.hp.com) -+ TA = Tim Adye (http://hepwww.rl.ac.uk/Adye/xv-psnewstyle.html) -+ TAR = Tim Ramsey (tar pobox.com) -+ TI = Tetsuya INOUE (tin329 chino.it.okayama-u.ac.jp) -+ TO = Tavis Ormandy (taviso gentoo.org) -+ WF = Werner Fink (http://www.suse.de/~werner/) -+ -+Other credits are as listed on the XV Downloads page or in the respective -+patches (e.g., the jp-extension patches or within the PNG patch). -+ -+Finally, please note that these patches have not been blessed by John Bradley -+in any way (although I copied him on the May 2004 announcement and wrote to -+him again in May 2005), unless you count Debian's redistribution permission -+(Daniel Kirchheimer, 5 Dec 2005). Nor have I personally tested every change -+and feature! (See the BIG SCARY WARNING below for further caveats.) In other -+words, they're both completely unofficial and completely unguaranteed. But -+they seem to work for me. (And when they don't, I try to fix 'em--eventually, -+anyway... ;-) ) -+ -+Greg Roelofs, 20070520 -+http://pobox.com/~newt/greg_contact.html -+ -+ -+How to build -+------------ -+ -+The following assumes you, the user, already have the libtiff,[1] libjpeg,[2] -+libpng,[3] zlib,[4] and JasPer[5] libraries downloaded, patched (if necessary), -+compiled, and installed, not to mention a C compiler and the bzip2,[6] tar,[7] -+patch,[8] and make[9] utilities. You should also have downloaded the original -+XV 3.10a source distribution from the XV Downloads page[10] and be able to edit -+its Makefile and config.h files as indicated in the INSTALL file. (Editing -+the Makefile will also allow you to disable some of the third-party libraries -+if you wish.) Finally, you should know what a Unix(-style) command line is, -+where to find one, and how to wield it with abandon (or at least with adult -+supervision)--and preferably not as the root user until the "make install" -+step. (A filesystem is a terrible thing to waste.) -+ -+ [1] http://www.remotesensing.org/libtiff/ -+ [2] http://www.ijg.org/ -+ [3] http://www.libpng.org/pub/png/libpng.html -+ [4] http://www.zlib.net/ -+ [5] http://www.ece.uvic.ca/~mdadams/jasper/ -+ [6] http://sources.redhat.com/bzip2/ -+ [7] http://www.gnu.org/directory/devel/specific/tar.html -+ [8] http://www.gnu.org/directory/devel/specific/patch.html -+ [9] http://www.gnu.org/directory/devel/specific/make.html -+ [10] http://www.trilon.com/xv/downloads.html#src-distrib -+ -++-------------------------------------------------------------------------+ -+| | -+| BIG SCARY WARNING | -+| | -+| These patches work for Greg (and parts of them reportedly work for | -+| various other people), and so far Greg's CPU still computes and his | -+| hard disks haven't been wiped. But there's no guarantee that this | -+| will be the case for you! In particular, not every incorporated patch | -+| has been explicitly tested, nor has every possible subcase of the | -+| explicitly tested subset. (Read that again; it's grammatical.) Nor | -+| are these patches officially blessed by John Bradley in any way. In | -+| other words, if you use these patches, you do so at your own risk. | -+| (Greg doesn't believe there are any serious problems remaining, but | -+| then, what programmer ever does? Bugs happen.) | -+| | -++-------------------------------------------------------------------------+ -+ -+Assuming you have the prerequisites out of the way and aren't scared -+off by the Big Scary Warning, here's the build procedure: -+ -+ tar xvzf xv-3.10a-jumbo-patches-20070520.tar.gz -+ (or: gzip -dc xv-3.10a-jumbo-patches-20070520.tar.gz | tar xvf - ) -+ -+ tar xvzf xv-3.10a.tar.gz -+ -+ cd xv-3.10a -+ -+ patch -p1 < ../xv-3.10a-jumbo-fix-enh-patch-20070520.txt -+ -+ edit Makefile and config.h as directed in INSTALL file (in particular, -+ ensure paths to external libraries and header files are correct) -+ -+ make -+ -+ ./xv your_favorite_image your_other_favorite_image etc. -+ -+If everything seems to be working to your satisfaction, go ahead and install: -+ -+ make -n install (and double-check that things will be installed -+ where you want them to be) -+ -+ become root if necessary (e.g., type su) -+ -+ make install -+ (or: sudo make install) -+ -+That wasn't so hard, was it? -+ -+ -+Summary of incorporated and unincorporated patches (through 20050501) -+--------------------------------------------------------------------- -+(See the ChangeLog at the bottom for more recent incorporated patches.) -+ -+fixes ((*) = listed on XV Downloads page, (f) = on ftp site only): -+ -+20040516: -+ - grabpatch (*) [obsoleted by new-xvgrab.c below] -+ - vispatch (*) -+ - mp-tiff-patch (*) [technically an enhancement, but JHB says...] -+ - longname.patch (*) [*SECURITY*] -+ - xpm.patch (*) -+ - deepcolor.patch (*) [slightly modified for language conformance] -+ - gifpatch (*) -+ - exceed_grab.patch (*) -+ - xv-redhat6-readme.txt (*) [slightly modified for portability] -+ - beos.patch (*) [modified for portability] -+ - croppad.patch (f) -+ - epsfpatch (f) -+ - tiff1200.patch (*) -+ - gssafer.patch (*) [*SECURITY*] -+ - new-xvgrab.c (f) [includes grabpatch but not exceed_grab.patch] -+ - xcmap.diff (AD) [part of xv-3.10a-png-1.2d.tar.gz] -+ - fixes for huge number gcc -Wall warnings--including two bugs (GRR) -+ - fix for cleandir script when no makefile exists (GRR) -+ - *SECURITY* fix for gets() in vdcomp.c (GRR, LCN vdcomp-security.patch) -+ - *SECURITY* fix for getwd() on Linux (GRR, LCN Linux-compile.patch) -+ - fix for "no fuss" Linux compiles (LCN Linux-compile.patch) -+ - partial *SECURITY* fix for mktemp() in xv.c and xvdir.c (GRR) -+ (remaining instances in xv.c (2), xvimage.c, xvfits.c, xvpds.c, xvps.c, and -+ possibly xvtiff.c--most involve system()) -+ - freebsd-vdcomp-newline.patch (AAC) -+ - xv-3.10a.patch.linux (PBJ) [/bin/sh versions of cleandir, RANLIB.sh only] -+ - removed trailing white space (GRR) [purely cosmetic] -+20040523: -+ - fixed compilation error in registered versions (GRR) -+20050410: -+ - fix for YCbCr oversaturated-green bug(s) in TIFF decoder (GRR) -+ - provisional fix for contiguous tiled TIFFs with bottom-* orientation (GRR) -+ - fixes for gcc 3.3 -Wall warnings (GRR) -+ - fix for incorrect 16/24-bit display of xwd dumps (SJT) -+ - *SECURITY* fix for multiple input-validation bugs (OpenBSD/SuSE, Gentoo, GRR) -+ (this also completes the partial mktemp() security fix listed above) -+ - fix for (probable) 24-bit endianness bug in fixpix code (GRR) -+ -+ -+enhancements ((*) = listed on XV Downloads page, () = third-party): -+ -+20040516: -+ - xv-3.10a.JPEG-patch (*) -+ (xv-3.10a.JPEG-patch.old differs only in ftp site listed in comments at top) -+ - xv-3.10a.TIFF-patch (*) -+ - xv-3.10a-png-1.2d.tar.gz (AL, AD) (*) -+ (xvjpeg.diff and xvtiff.diff ignored; xcmap.diff included in fixes) -+ - xvpng-1.2d-fix3.patch (GRR, SJT) (*) -+ - pdf.patch (*) -+ - windowid.patch + windowid.patch.readme (*) -+ - bmp32.patch (*) -+ - fixpix-20000610.tar.gz (GV) -+ (identical to 19961127 version except for README updates and new Win32 file) -+ [modified to be runtime-selectable via -/+fixpix option] -+ - browse-remember.patch (JZ) -+ - faster-smooth.patch (JZ) -+ - PAM support (GRR) -+ - PNG/GIF -ibg ("image background") transparency option (GRR) -+ (does not yet support TIFF, XPM or TGA) -+ - VersionInfo* in help screen (GRR) -+ - minor grammar/spelling fixes (GRR) -+ - floating-point support for -wait when USE_TICKS enabled (GRR) -+ - wheelmouse.patch (SB) -+ - freebsd-gravity-hints-patch (JR) -+ - xv-zx.patch (JCE) -+ - xv3.10a.wapbmp.patch (PSV) -+ - xv-3.10a-pcd.patch.20010708 (DAC) -+ - jp-ext-bzip2-1.1.patch -+ (from ftp://ftp.freebsd.org/pub/FreeBSD/ports/local-distfiles/shige/xv/) -+20050410: -+ - boosted maximum number of files from 4096 to 32768 (GRR) -+ (note that OS kernel limits may also apply; for example, in Linux see -+ MAX_ARG_PAGES in linux-/include/linux/binfmts.h) -+ - xv-3.10a-bmp16.patch (KS) -+ - final-image delay (e.g., "-wait 0.2,3" : pause 3 secs on final image) (GRR) -+ - xv-numpad.patch (EK) -+ - xv-delete-is-not-backspace.patch (EK) -+ - made browser window (schnauzer) and icons configurable (AT, GRR) -+20050501: -+ - xv-3.10a-bmpfix.patch (WF) [*SECURITY*] -+ - xv310a-jp-extension-rev5.3.3.tar.gz (TI, IM, ..., WF) -+ (adds support for MAG, MAKI, Pi, PIC, and PIC2 formats[!]; "magic suffix" -+ detection/conversion; MacBinary prefixes; archives as virtual filesystems; -+ multilingual text viewer [though not Unicode]; etc.) -+ - xv-3.10a-yaos.dif (WF, TO) [*SECURITY*] -+ (fixes a number of format-string issues and system() calls) -+ - xv-3.10a.dif (WF) [*SECURITY*] -+ (fixes more format-string issues, mktemp() and open() calls, and compilation -+ warnings [mostly from jp-extension patch]) -+ - xv-3.10a-jumbo-jpd_startgrab-patch-20050420.txt (JPD) -+ - PATCH.alwaysnever (LJ) -+ - PATCH.bsd (LJ) -+ - PATCH.linedraw (LJ) -+ - PATCH.multipage (LJ) -+ - PATCH.multipageGIF (LJ) -+ - PATCH.random (LJ) -+ - PATCH.stat (LJ) -+ - PATCH.thumbs (LJ) -+ - xv-startgrab-imake-hips.patch (JPD) -+ ("hips" portion only; adds support for HIPS image format[!]) -+ - xv-3.10a-formatstr.patch (KS) -+ - xv-3.10a-shortsleep.patch (KS) -+ - xv-3.10a-locale-linux.patch (KS) -+ - xv-3.10a-printkey.patch (KS) -+ - xv-3.10a-sysconfdir.patch (KS) -+ - added PREFIX and DESTDIR support to Makefile (KS, GRR) -+ - xv-3.10a-xvexecpath.patch (but disabled pending fixes) (KS) -+ - xv-3.10a-zeroquit.patch (KS, GRR) -+ -+[!] Note that all six of these formats may still suffer from exploitable heap -+ overflows [*SECURITY*] when decoding images with large (possibly invalid) -+ dimensions; as a result, they are DISABLED by default. (Search for "GRR -+ POSSIBLE OVERFLOW / FIXME" comments in xvmag.c, xvmaki.c, xvpi.c, xvpic.c, -+ xvpic2.c, and xvhips.c, but keep in mind that these may not be exhaustive.) -+ Users who choose to overlook these security issues can enable any or all -+ of them by editing config.h. -+ -+ -+not (yet?) included: -+ -+ - others from http://www.coara.or.jp/~sudakyo/XV_jp.html (some are duplicates): -+ -rw-r--r-- 4644 Mar 11 2004 xv-3.10a-directory.patch -+ -rw-r--r-- 462 Mar 11 2004 xv-3.10a-dirwkey.patch -+ -rw-r--r-- 688 Mar 11 2004 xv-3.10a-docdir.patch -+ -rw-r--r-- 11952 Mar 11 2004 xv-3.10a-download-test0.patch -+ -rw-r--r-- 41786 Mar 11 2004 xv-3.10a-download-test1.patch -+ -rw-r--r-- 42397 Mar 11 2004 xv-3.10a-download-test2.patch -+ -rw-r--r-- 47679 Mar 11 2004 xv-3.10a-download-test3.patch -+ -rw-r--r-- 52745 Mar 11 2004 xv-3.10a-download-test4.patch -+ -rw-r--r-- 3423 Apr 24 2004 xv-3.10a-keyzoom.patch -+ -rw-r--r-- 12387 Mar 15 2004 xv-3.10a-menubutton.patch -+ -rw-r--r-- 1178 Apr 24 2004 xv-3.10a-noblink.patch -+ -rw-r--r-- 57092 Jul 9 2004 xv-3.10a-resolution.patch -+ -rw-r--r-- 4645 Apr 24 2004 xv-3.10a-selall.patch -+ -rw-r--r-- 702 Apr 24 2004 xv-3.10a-showlongname.patch -+ -rw-r--r-- 1205 Apr 24 2004 xv-3.10a-staytoppdir.patch -+ -rw-r--r-- 4228 Apr 24 2004 xv-3.10a-wheelmouse.patch -+ -rw-r--r-- 744 Apr 24 2004 xv-3.10a-xvbutt_wait.patch -+ -rw-r--r-- 3757 Jul 9 2004 xv-3.10a-xvscrl_button2.patch -+ -rw-r--r-- 1494 Jul 9 2004 xv-3.10a-xvscrl_wait.patch -+ -rw-r--r-- 19352 Jul 9 2004 xv-3.10a-xvzoom.patch -+ -+ - xv-3.10a+jp-extension-rev5.3.3+FLmask.v2.1+png+misc.patch ["mask" support] -+ -+ - xv-psnewstyle.patch (TA) [coming "soon"?] -+ - xv-3.10a.patch.linux (PBJ) [maybe use vdcomp.c changes?] -+ - xvxpm-anthony-thyssen.c (AT) ["slate grey" bug already gone?] -+ - xv-geoff-kuenning-iconsize-slideshow.patch [var. icons; full-screen slides] -+ - xv-scott-marovich-20070214-xvtiff.c.patch6.unified [TIFF CMYK support] -+ -+ - stuff in xv/unsupt: -+ -rw-r--r-- 30527 Dec 22 1994 FITS.rite -+ -rw-r--r-- 49152 Dec 22 1994 FITS.tar -+ -rw-r--r-- 3753 Dec 22 1994 G3.patch1 -+ -rw-r--r-- 24576 Dec 22 1994 G3.tar -+ -rw-r--r-- 1098 Dec 22 1994 INFO.cgm -+ -rw-r--r-- 1941 Dec 22 1994 README -+ -rwxr-xr-x 1059 Dec 22 1994 getweather -+ -rwxr-xr-x 2186 Dec 22 1994 getweather.ksh -+ -rw-r--r-- 856 Dec 22 1994 twm.fix -+ -rw-r--r-- 844 Dec 22 1994 vargs.c -+ -rw-r--r-- 47626 Dec 22 1994 vis -+ -rw-r--r-- 21097 Dec 22 1994 xscm -+ -+ -+ -+not finished (and/or even started ;-) ): -+ -+ - fix xvpng.c not to use direct struct access -+ - (better) fix for never-ending pile of SLOW popups when viewing TIFFs with -+ unknown tags (or truncated/corrupted images) -+ - fix for minor .Z inefficiency in xv.c ("FIXME") -+ - fix for filename entry-field mouse/cursor deficiencies -+ (positioning fixed 20070104 by Ross Combs; would like select/cut/paste, too) -+ - fix for .ppm.gz "disk leak" [can't reproduce...already fixed?] -+ (maybe occurs only if filesystem is already nearly full? bad .gz?) -+ -+ - transparency support for TIFF, XPM and TGA images -+ - support for tiled background image (with transparent foreground image) -+ - MNG/JNG support -+ - SVG support -+ -+ -+ChangeLog -+--------- -+ -+ 20000220 -+ original pair of jumbo patches, comprising perhaps 16 fix-patches and a -+ dozen enhancement-patches; never publicly released -+ -+ 20040516 -+ first public release, incorporating 25 fix-patches and 21 enhancement- -+ patches -+ -+ 20040523 -+ minor fix to xvctrl.c to support registered versions (GRR warnings-patch -+ was slightly overzealous); switched to tarball packaging -+ -+ 20040531 -+ fixed undefined CLK_TCK with gcc -ansi (enh/USE_TICKS option); made -+ libjpeg, libtiff, libpng and zlib sections of makefile more consistent -+ (enh) -+ -+ 20040606 -+ added freshmeat link, build instructions, and changelog to jumbo README -+ (this file) -+ -+ 20050213 -+ increased max number of files from 4096 to 32768 (enh) -+ -+ 20050320-20050410 -+ fixed two very long-standing YCbCr bugs in TIFF decoder (fix); -+ provisionally fixed bug in TIFF decoder for contiguous tiled TIFFs with -+ bottom-* orientation (fix/USE_TILED_TIFF_BOTLEFT_FIX option); fixed new -+ gcc 3.3 warnings (fix); fixed incorrect 16/24-bit display of xwd dumps -+ (fix); fixed multiple input-validation bugs (potential heap overflows) -+ and mktemp() dependencies (*SECURITY* fixes: CAN-2004-1725, CAN-2004- -+ 1726, CAN-2005-0665, CERT VU#622622, and others); added support for 16- -+ and 32-bit BMPs using bitfields "compression" (enh); fixed probable byte- -+ sex bug in 24-bit FixPix display code (enh/USE_24BIT_ENDIAN_FIX option); -+ fixed numerical-keypad NumLock behavior and delete-key behavior in file- -+ load/save window (enh); made schnauzer window and icons configurable (enh) -+ -+ 20050417 -+ incorporated "Japanese extension" patches, revision 5.3.3 (enh); fixed -+ additional *SECURITY* issues (format-string vulnerabilities, system() -+ and mktemp() calls, etc., but NOT heap overflows in new decoders) both -+ in existing code and in jp-extension additions (enh) -+ -+ 20050425 -+ added support for -startgrab option (enh); added support for a "Never" -+ button to file-overwrite popups (enh); added NetBSD and BSDI to list of -+ mkstemp()-supporting systems (enh); improved line-drawing code to set the -+ correct pixels for lines of all slopes (enh); added "Page n of m" to Info -+ window for multipage images (enh); added support for multipage (animated) -+ GIFs (enh); fixed -random support so randomized file list can be traversed -+ normally in forward or backward direction (enh); added typecasts to stat() -+ printfs for portability (enh); fixed erroneous use of "creation" time and -+ forced unlink prior to overwrite in schnauzer thumbnail code (enh); added -+ HIPS support (enh/HAVE_HIPS option) -+ -+ 20050501 -+ extended multipage keyboard support (PgUp/PgDn) to all windows except -+ control ("console") and directory (enh); fixed minor (non-security) -+ format-string issue in xv.c (enh); shortened delay on popup error windows -+ from 3 seconds to 1 second (enh); tweaked text-viewer localization support -+ (TV_L10N) for Linux (enh); added keyboard short cuts for Color and -+ Grayscale buttons in print dialog (enh); added support for separate "magic -+ suffix" (xv_mgcsfx) config dir (enh); added PREFIX and DESTDIR support to -+ Makefile (enh); fixed handling of zero-length files and other text-viewer -+ failures (enh) -+ -+ 20050528 -+ conditionally added missing alloca.h to xvpcd.c (required if alloca() is -+ a macro and alloca.h not included in stdlib.h, for example); fixed bogus -+ __S_IWRITE introduced in 20050501 release; fixed Makefile "install" target -+ (mkdir, chmod); fixed bug in MUST macro in xvwbmp.c; fixed prototype -+ warnings in xvevent.c, xvpcd.c (JRK, GRR) -+ - xv-3.10a-jimkirk-fixes.patch -+ -+ 20050630 -+ fixed broken mkdir(.xvpics) introduced in 20050501 release (RJH, GRR); -+ tweaked GUNZIP config for OpenBSD (GRR) -+ - xv-3.10a-xvpics-mkdir-fix.patch -+ -+ 20051014 -+ fixed longstanding xvevent.c typo (wasJpegUp -> wasPngUp) that caused build -+ failure if no JPEG support (TAR) -+ -+ 20051019 -+ fixed Darwin (Mac OS X) build error in xv.h and vdcomp.c due to lack of -+ malloc.h (JDB) -+ -+ 20070210 -+ fixed minor grammos (GRR); promoted PNG to first position, demoted GIF to -+ third (GRR); changed internal type of default image to PNG (GRR); increased -+ max files again, to 65536 (GRR) -+ -+ 20070310 -+ incorporated JPEG-2000 patch (SBM, GRR); added manual fax options for -+ unrecognized G3 images (SBM); relaxed 30-byte minimum file size (SBM) -+ - http://www.ece.uvic.ca/~mdadams/jasper/software/xv-patches -+ -+ 20070318 -+ incorporated 16bps raw (binary) PPM patch (define ASSUME_RAW_PPM_LSB_FIRST -+ for old behavior) (RAC, GRR); updated format list, web sites in xv man page -+ (GRR); fixed Makefile "install" target to create any necessary directories -+ (RAC, GRR); fixed GIF decoder bug (sizes of global, local color tables -+ different) (GRR) -+ - xv-ross-combs-ppm-16bps-rawbits.patch -+ -+ 20070325 -+ fixed invalid gamma assumption in PNG decoder (=> progressive color changes -+ over load/save cycles) (GRR) -+ -+ 20070328 -+ fixed animated-GIF /tmp/xvpgXXXXXX droppings (GRR) -+ -+ 20070331 -+ fixed PNG duplicate-palette-entries bug (GRR) -+ -+ 20070415 -+ incorporated EXIF-preserve patch (GHK); added missing JP2/JPC VS bits code -+ (GRR); added extended-warning options to CCOPTS (RAC); added "const" to -+ huge number of function args (RAC, GRR); made more effectively static -+ functions officially static (RAC); added mouse-clickability (but not -+ selectability) to text-entry fields (RAC); fixed window positioning (race -+ conditions?) under some virtual window managers (e.g., tvtwm) (RAC); -+ removed explicit paths for external (de)compressors (GRR, RAC) -+ - xv-geoff-kuenning-jpeg-exif-preserve.patch -+ - xv-ross-combs-20070104.diff -+ -+ 20070422 -+ incorporated function-key-scripts patch (see contrib/fnkey-scripts) (AS); -+ fixed man-page-section extensions ("1", not "l" or "1X") (FG); switched to -+ more sensible install paths for docs (FG); added Fedora Core build script -+ (see contrib/fedora) (JC); fixed VS to switch from move-mode to copy-mode -+ if source dir is read-only (EAJ); extended VS incremental-search mode (EAJ) -+ - xv-alexey-spiridonov-20070116-fnkey-scripts.tar.bz2 -+ - xv-fabian-greffrath-20070215-debian-04-manpages.dpatch -+ - xv-fabian-greffrath-20070215-debian-03-makefiles.dpatch -+ - xv-john-cooper-Build-FC5-script.sh -+ - xv-erling-jacobsen-20060617-incr-search.patch -+ -+ 20070428 -+ modified install to include README.jumbo in docs (GRR); incorporated PNG -+ no-stdio patch (SBM); fixed XWD endianness support, improved performance -+ (replaces SJT 16/24-bit fix) (SBM) -+ - xv-scott-marovich-20070214-xvpng.diff -+ - xv-scott-marovich-20070214-xvxwd.c.patch -+ -+ 20070506 -+ added JPEG CMYK support (SBM); fixed TIFF (and others?) /tmp/xvpgXXXXXX -+ droppings (GRR); added VS clipboard support (JG) -+ - xv-scott-marovich-20070214-xvjpeg.c.patch -+ - xv-jurgen-grahn-20051127-schnauzer-clip.patch -+ -+ 20070512 -+ inverted handling of malloc.h header file to require NEED_MALLOC_H macro -+ for those few systems that actually need it (GRR) -+ -+ 20070513 -+ fixed GCC 4.1.x warnings (GRR); next round of const cleanup (GRR); fixed -+ minor TIFF memleak (GRR) -+ -+ 20070514 -+ fixed TIFF YCbCr reference black/white levels (SBM); added option to use -+ libjpeg YCbCr-to-RGB conversion for TIFF images (SBM, GRR) -+ - xv-scott-marovich-20070214-xvtiff.c.patch2.unified -+ - xv-scott-marovich-20070214-xvtiff.c.patch3.unified -+ -+ 20070519 -+ fixed handling of multi-page JPEG-compressed TIFFs (old or new) (SBM); -+ added TIFF YCbCr separated-color-plane support (may require libtiff -+ patch(es) to tif_ojpeg.c and/or tif_jpeg.c) (SBM) -+ - xv-scott-marovich-20070214-xvtiff.c.patch4.unified -+ - xv-scott-marovich-20070214-xvtiff.c.patch5.unified -+ -+ 20070520 -+ updated README.jumbo -diff -u -r --new-file xv-3.10a.orig/README.pcd xv-3.10a/README.pcd ---- xv-3.10a.orig/README.pcd 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/README.pcd 2001-07-08 13:21:19.000000000 -0500 -@@ -0,0 +1,159 @@ -+Copyright 1993-2001 David Clunie. -+ -+PCD patch for XV 3.10a Release Notes 2001/07/08. -+ -+See also the progress notes at the end of this file. Thanks to all those -+contributors who have substantially improved this patch. -+ -+These patches allow xv to read Kodak photocd files and choose which of the -+5 available resolutions one wants to view. -+ -+When a photocd file is loaded, a dialog box asks which resolution you -+would like. The visual schnauzer builds thumbnails by reading the lowest -+resolution image. The selected resolution can be selected from the -+command line with the -pcd option: -+ -+ [-pcd 0|1|2|3|4] -+ -+where: -+ -+ 0=192*128, base/16 resolution -+ 1=384*256, base/4 resolution -+ 2=768*512, base resolution -+ 3=1536*1024, 4base resolution -+ 4=3072*2048 16base resolution. -+ -+Note that the Pro format is not supported. -+ -+The command line option allows loops without the dialog box popping up, eg.: -+ -+ xv -pcd 1 -wloop -wait 10 *.pcd -+ -+The code is pretty crude and was written quickly for a specific purpose and -+has not really been cleaned up. It is poorly structured, full of debugging -+codes and verbose comments, and there is very little attempt at optimizing -+things. No profiling has been done. -+ -+There is not yet support for overview files, nor is there a facility to -+use the higher resolution chroma planes from when viewing lower resolution -+images. -+ -+It's only claim to fame is that it works and produces reasonable looking -+images. -+ -+The outline of this is shamelessly derived from xvpbm.c to read the -+file, and xvtiffwr.c to handle the popup window and X stuff (X never -+has been my forte !), and the PhotoCD format information (though not -+the code) was found in Hadmut Danisch's (danisch@ira.uka.de) hpcdtoppm -+program in which he has reverse engineered the format by studying -+hex dumps of PhotoCDs ! The color stuff and Huffman decding were -+extensively revised by Matthew Francey. -+ -+Feel free to send me comments or improvements, or even better, more -+information about the photo CD format ... hopefully someone who really -+knows what they are doing will tidy it up or do a neater job. -+ -+david (dclunie@dclunie.com) -+ -+--------- -+ -+The trace #define in xvpcd.c is now in the right place, and the ansi -+prototype for the magnify function has been fixed. Colin made me switch to -+xvbcopy() which seems like a good idea for System V victims. -+ -+--------- -+ -+Date: Wed, 22 Dec 1993 16:09:52 --1000 -+From: colinc@fitmail.fit.qut.edu.au (Colin Canfield ) -+ -+I have done some more work using your patch I thought you might be intested in. -+The major change was adding a size parameter to the LoadPCD; either -1 to mean -+the popup or else the size you desired. This allows batch mode processing, -+specifically xv -pcd , and the visual schnauzer can work in -+quick mode (ie. you don't have to select each image size when it is building -+the icons) -+ -+I have added an xbm file for the file type but haven't drawn an icon for it, -+this is in bitmaps/br_pcd.xbm. I will just send you the new files. -+ -+--------- -+ -+From: andrew@andrew.triumf.ca (Andrew Daviel) -+Date: 16 Feb 1995 23:32:21 GMT -+ -+This is David Clunie's patch for xv-3.00 tuned a bit to work -+on xv-3.10. The code's all the same except for replacing -+"trace" with "fprintf" in xvpcd.c and adding an "unsigned" qualifier to -+keep my compiler (gcc) happy. Oh yes, changed RFT_PCD to 20 as -+John Bradley has now used 15 through 19. -+ -+--------- -+ -+From: dclunie@flash.us.com (David A. Clunie) -+Date: Thu Jun 15 14:43:46 GMT+0300 1995 -+ -+Andrew's patch didn't include Colin's browser changes, so I redid the -+xv-3.10 update from scratch ... it seems pretty much the same as -+Andrew's changes. I also edited the Imakefile and Makefiles in order -+to support the PCD changes, as well as make the install process a -+little more flexible, with options to strip and set modes and so on. -+Also made RFT_PCD 25 so as not to conflict with magpic patch from Japan -+by Ikemoto Masahiro , and used his -+bitmap icon for pcd files. -+ -+Now there are two versions of the patch, one which should be applied -+to the xv-3.10 distribution. -+ -+The other should be applied to xv-3.10 AFTER Ikemoto Masahiro's -+Patch.magpic2.PhotoCD.XV319a, in order to add the browser features to -+the latter, as well as fixing a Makefile typo (was xcpcd.c not xvpcd.c) -+and including unistd.h for the SEEK_xxx constants in the magicpic -+stuff. -+ -+--------- -+ -+Subject: Re: photo-cd patch for xv -+From: Matthew Francey -+Date: Mon, 26 Mar 2001 15:37:55 +0000 -+ -+Attached is a revised version of xvpcd.c; the areas that I have -+re-written or changed are in a different coding style so you can tell -+what has changed. The GNU 'indent' program can be run against the file -+to enforce a consistent style .. -+ -+Here is what I've done though: -+ -+a) huffman table reader re-written, because it would fail on some -+ photocd files with "unusual" huffman codes. -+ -+b) the huffman-coded corrections are now properly applied -+ -+c) the corrections can sometimes over or underflow; clipping has been -+ introduced and effectively fixes the problem, but I suspect that -+ there is something deeper going on. -+ -+d) the "official" YCC->sRGB transform is done. a "beyond 100% white" -+ mapping table was snarfed from ImageMagick. an option for using a -+ flat linear LUT was added -- this can make somewhat over-exposed images -+ look alot nicer. -+ -+e) there were strange problems where the code wouldn't be able to find -+ the huffman tables and data for the 16base image (the bit-buffering -+ code was starting mid-sector, instead of at a sector boundary). Looking -+ at a pcd file with a hex editor suggests to me that it is possible to -+ just skip directly to these huffman tables -- no special "+12" and such -+ constants necessary. But I haven't tried this yet. -+ -+The results: I've been able to read about 50 or 60 .pcd files [scattered -+in age from 6 years old to scans done last week] with this code without -+incident. Image quality at the high resolution is excellent. Even the -+trivial amount of LUT control is useful when dealing with over-exposed -+images. -+ -+If I get around to it: finer LUT control to take advantage of the -+slightly extended dynamic range of PhotoCD scans, especially in regards to -+dark or somewhat underexposed scenes. -+ -+ -+ -+ -diff -u -r --new-file xv-3.10a.orig/bits/br_bzip2 xv-3.10a/bits/br_bzip2 ---- xv-3.10a.orig/bits/br_bzip2 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/bits/br_bzip2 1998-04-12 21:23:39.000000000 -0500 -@@ -0,0 +1,27 @@ -+#define br_bzip2_width 48 -+#define br_bzip2_height 48 -+static unsigned char br_bzip2_bits[] = { -+ 0xe0, 0xff, 0xff, 0xff, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x03, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x05, 0x00, 0x20, 0x00, 0x00, 0x00, 0x09, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x11, 0x00, 0x20, 0x00, 0x00, 0x00, 0x21, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x41, 0x00, 0x20, 0x00, 0x00, 0x00, 0x81, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x01, 0x01, 0x20, 0x00, 0x00, 0x00, 0xff, 0x03, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x7f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x7f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x7c, 0xbe, 0x3d, 0x0e, 0x02, 0x20, 0xfc, 0xbe, 0x7d, 0x1f, 0x02, -+ 0x20, 0xcc, 0xb0, 0x6d, 0x1b, 0x02, 0x20, 0xcc, 0x98, 0x6d, 0x1b, 0x02, -+ 0x20, 0xfc, 0x98, 0x6d, 0x18, 0x02, 0x20, 0x7c, 0x8c, 0x7d, 0x0c, 0x02, -+ 0x20, 0xcc, 0x8c, 0x3d, 0x0e, 0x02, 0x20, 0xcc, 0x84, 0x0d, 0x06, 0x02, -+ 0x20, 0xcc, 0x86, 0x0d, 0x03, 0x02, 0x20, 0xfc, 0xbe, 0x0d, 0x1f, 0x02, -+ 0x20, 0x7c, 0xbe, 0x0d, 0x1f, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x7f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x7f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x03}; -diff -u -r --new-file xv-3.10a.orig/bits/br_jp2 xv-3.10a/bits/br_jp2 ---- xv-3.10a.orig/bits/br_jp2 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/bits/br_jp2 2005-05-09 00:00:27.000000000 -0500 -@@ -0,0 +1,27 @@ -+#define br_jp2_width 48 -+#define br_jp2_height 48 -+static unsigned char br_jp2_bits[] = { -+ 0xe0, 0xff, 0xff, 0xff, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x03, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x05, 0x00, 0x20, 0x00, 0x00, 0x00, 0x09, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x11, 0x00, 0x20, 0x00, 0x00, 0x00, 0x21, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x41, 0x00, 0x20, 0x00, 0x00, 0x00, 0x81, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x01, 0x01, 0x20, 0x00, 0x00, 0x00, 0xff, 0x03, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x7f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x7f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0xfb, 0xf1, 0x01, 0x02, -+ 0x20, 0x00, 0xfb, 0xfb, 0x03, 0x02, 0x20, 0x00, 0x1b, 0x1b, 0x03, 0x02, -+ 0x20, 0x00, 0x1b, 0x1b, 0x00, 0x02, 0x20, 0x00, 0x1b, 0x1b, 0x00, 0x02, -+ 0x20, 0x00, 0x9b, 0x1b, 0x00, 0x02, 0x20, 0x00, 0xfb, 0x19, 0x00, 0x02, -+ 0x20, 0x00, 0xfb, 0x18, 0x00, 0x02, 0x20, 0x18, 0x1b, 0x18, 0x00, 0x02, -+ 0x20, 0x18, 0x1b, 0x18, 0x00, 0x02, 0x20, 0xb8, 0x1b, 0x18, 0x03, 0x02, -+ 0x20, 0xf0, 0x19, 0xf8, 0x03, 0x02, 0x20, 0xe0, 0x18, 0xf0, 0x01, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x7f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x7f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x03}; -diff -u -r --new-file xv-3.10a.orig/bits/br_jpc xv-3.10a/bits/br_jpc ---- xv-3.10a.orig/bits/br_jpc 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/bits/br_jpc 2005-05-09 00:00:27.000000000 -0500 -@@ -0,0 +1,27 @@ -+#define br_jpc_width 48 -+#define br_jpc_height 48 -+static unsigned char br_jpc_bits[] = { -+ 0xe0, 0xff, 0xff, 0xff, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x03, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x05, 0x00, 0x20, 0x00, 0x00, 0x00, 0x09, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x11, 0x00, 0x20, 0x00, 0x00, 0x00, 0x21, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x41, 0x00, 0x20, 0x00, 0x00, 0x00, 0x81, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x01, 0x01, 0x20, 0x00, 0x00, 0x00, 0xff, 0x03, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x7f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x7f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0xfb, 0xf1, 0x01, 0x02, -+ 0x20, 0x00, 0xfb, 0xfb, 0x03, 0x02, 0x20, 0x00, 0x1b, 0x1b, 0x03, 0x02, -+ 0x20, 0x00, 0x1b, 0x03, 0x03, 0x02, 0x20, 0x00, 0x1b, 0x03, 0x03, 0x02, -+ 0x20, 0x00, 0x9b, 0x83, 0x01, 0x02, 0x20, 0x00, 0xfb, 0xc1, 0x01, 0x02, -+ 0x20, 0x00, 0xfb, 0xe0, 0x00, 0x02, 0x20, 0x18, 0x1b, 0x70, 0x00, 0x02, -+ 0x20, 0x18, 0x1b, 0x38, 0x00, 0x02, 0x20, 0xb8, 0x1b, 0x18, 0x00, 0x02, -+ 0x20, 0xf0, 0x19, 0xf8, 0x03, 0x02, 0x20, 0xe0, 0x18, 0xf8, 0x03, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x7f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x7f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x03}; -diff -u -r --new-file xv-3.10a.orig/bits/br_mag xv-3.10a/bits/br_mag ---- xv-3.10a.orig/bits/br_mag 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/bits/br_mag 2005-04-17 16:04:22.000000000 -0500 -@@ -0,0 +1,27 @@ -+#define br_mag_width 48 -+#define br_mag_height 48 -+static unsigned char br_mag_bits[] = { -+ 0xe0, 0xff, 0xff, 0xff, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x03, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x05, 0x00, 0x20, 0x00, 0x00, 0x00, 0x09, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x11, 0x00, 0x20, 0x00, 0x00, 0x00, 0x21, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x41, 0x00, 0x20, 0x00, 0x00, 0x00, 0x81, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x01, 0x01, 0x20, 0x00, 0x00, 0x00, 0xff, 0x03, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x7f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x7f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x0c, 0x86, 0xc1, 0x0f, 0x02, -+ 0x20, 0x0c, 0xc6, 0xe3, 0x1f, 0x02, 0x20, 0x1c, 0xe7, 0x67, 0x18, 0x02, -+ 0x20, 0x1c, 0x77, 0x6e, 0x18, 0x02, 0x20, 0xbc, 0x37, 0x6c, 0x00, 0x02, -+ 0x20, 0xbc, 0x37, 0x6c, 0x00, 0x02, 0x20, 0xec, 0x36, 0x6c, 0x1e, 0x02, -+ 0x20, 0xec, 0xf6, 0x6f, 0x1e, 0x02, 0x20, 0x4c, 0xf6, 0x6f, 0x18, 0x02, -+ 0x20, 0x4c, 0x36, 0x6c, 0x18, 0x02, 0x20, 0x0c, 0x36, 0x6c, 0x18, 0x02, -+ 0x20, 0x0c, 0x36, 0xec, 0x1f, 0x02, 0x20, 0x0c, 0x36, 0xcc, 0x0f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x7f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x7f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x03}; -diff -u -r --new-file xv-3.10a.orig/bits/br_maki xv-3.10a/bits/br_maki ---- xv-3.10a.orig/bits/br_maki 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/bits/br_maki 2005-04-17 16:04:22.000000000 -0500 -@@ -0,0 +1,27 @@ -+#define br_maki_width 48 -+#define br_maki_height 48 -+static unsigned char br_maki_bits[] = { -+ 0xe0, 0xff, 0xff, 0xff, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x03, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x05, 0x00, 0x20, 0x00, 0x00, 0x00, 0x09, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x11, 0x00, 0x20, 0x00, 0x00, 0x00, 0x21, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x41, 0x00, 0x20, 0x00, 0x00, 0x00, 0x81, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x01, 0x01, 0x20, 0x00, 0x00, 0x00, 0xff, 0x03, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x7f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x7f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x83, 0x61, 0x18, 0x33, 0x02, -+ 0x20, 0x83, 0xf1, 0x98, 0x33, 0x02, 0x20, 0xc7, 0xf9, 0x99, 0x31, 0x02, -+ 0x20, 0xc7, 0x9d, 0xdb, 0x30, 0x02, 0x20, 0xef, 0x0d, 0xfb, 0x30, 0x02, -+ 0x20, 0xef, 0x0d, 0x7b, 0x30, 0x02, 0x20, 0xbb, 0x0d, 0x7b, 0x30, 0x02, -+ 0x20, 0xbb, 0xfd, 0xdb, 0x30, 0x02, 0x20, 0x93, 0xfd, 0xdb, 0x30, 0x02, -+ 0x20, 0x93, 0x0d, 0x9b, 0x31, 0x02, 0x20, 0x83, 0x0d, 0x9b, 0x31, 0x02, -+ 0x20, 0x83, 0x0d, 0x1b, 0x33, 0x02, 0x20, 0x83, 0x0d, 0x1b, 0x33, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x7f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x7f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x03}; -diff -u -r --new-file xv-3.10a.orig/bits/br_mgcsfx xv-3.10a/bits/br_mgcsfx ---- xv-3.10a.orig/bits/br_mgcsfx 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/bits/br_mgcsfx 2005-04-17 16:04:22.000000000 -0500 -@@ -0,0 +1,27 @@ -+#define br_mgcsfx_width 48 -+#define br_mgcsfx_height 48 -+static unsigned char br_mgcsfx_bits[] = { -+ 0xe0, 0xff, 0xff, 0xff, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x03, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x05, 0x00, 0x20, 0x00, 0x00, 0x00, 0x09, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x11, 0x00, 0x20, 0x00, 0x00, 0x00, 0x21, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x41, 0x00, 0x20, 0x00, 0x00, 0x00, 0x81, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x01, 0x01, 0x20, 0x00, 0x00, 0x00, 0xff, 0x03, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x7f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x7f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x3c, 0xcf, 0x71, 0x00, 0x02, -+ 0x20, 0x6c, 0x61, 0xda, 0x00, 0x02, 0x20, 0x6c, 0x67, 0xd8, 0x1e, 0x02, -+ 0x20, 0x3c, 0x61, 0xd8, 0x1e, 0x02, 0x20, 0x6c, 0x61, 0xda, 0x00, 0x02, -+ 0x20, 0x6c, 0xcf, 0x71, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x4e, 0x7a, 0xef, 0x3d, 0x02, 0x20, 0xd3, 0x32, 0x68, 0x6c, 0x02, -+ 0x20, 0xc3, 0x32, 0xe4, 0x6c, 0x02, 0x20, 0x5b, 0x33, 0x62, 0x6c, 0x02, -+ 0x20, 0x53, 0x33, 0x61, 0x6c, 0x02, 0x20, 0x4e, 0x7a, 0xef, 0x3d, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x7f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x7f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x03}; -diff -u -r --new-file xv-3.10a.orig/bits/br_pcd xv-3.10a/bits/br_pcd ---- xv-3.10a.orig/bits/br_pcd 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/bits/br_pcd 1995-06-15 23:31:53.000000000 -0500 -@@ -0,0 +1,27 @@ -+#define br_pcd_width 48 -+#define br_pcd_height 48 -+static unsigned char br_pcd_bits[] = { -+ 0xe0, 0xff, 0xff, 0xff, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x03, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x05, 0x00, 0x20, 0x00, 0x00, 0x00, 0x09, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x11, 0x00, 0x20, 0x00, 0x00, 0x00, 0x21, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x41, 0x00, 0x20, 0x00, 0x00, 0x00, 0x81, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x01, 0x01, 0x20, 0x00, 0x00, 0x00, 0xff, 0x03, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x3f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x3f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x67, 0x00, 0xe0, 0x1c, 0x02, -+ 0x20, 0x6f, 0x00, 0xf0, 0x3d, 0x02, 0x20, 0x6b, 0x00, 0xb0, 0x2d, 0x02, -+ 0x20, 0x6b, 0x00, 0x33, 0x2c, 0x02, 0x20, 0x6b, 0x00, 0x33, 0x2c, 0x02, -+ 0x20, 0xeb, 0x98, 0x37, 0x2c, 0x02, 0x20, 0xef, 0xbd, 0x37, 0x2c, 0x02, -+ 0x20, 0x67, 0x2d, 0x33, 0x2c, 0x02, 0x20, 0x63, 0x2d, 0x33, 0x2c, 0x02, -+ 0x20, 0x63, 0x2d, 0x33, 0x2c, 0x02, 0x20, 0x63, 0x2d, 0xb3, 0x2d, 0x02, -+ 0x20, 0x63, 0x3d, 0xf7, 0x3d, 0x02, 0x20, 0x63, 0x19, 0xe6, 0x1c, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x3f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x3f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x03}; -diff -u -r --new-file xv-3.10a.orig/bits/br_pi xv-3.10a/bits/br_pi ---- xv-3.10a.orig/bits/br_pi 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/bits/br_pi 2005-04-17 16:04:22.000000000 -0500 -@@ -0,0 +1,27 @@ -+#define br_pi_width 48 -+#define br_pi_height 48 -+static unsigned char br_pi_bits[] = { -+ 0xe0, 0xff, 0xff, 0xff, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x03, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x05, 0x00, 0x20, 0x00, 0x00, 0x00, 0x09, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x11, 0x00, 0x20, 0x00, 0x00, 0x00, 0x21, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x41, 0x00, 0x20, 0x00, 0x00, 0x00, 0x81, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x01, 0x01, 0x20, 0x00, 0x00, 0x00, 0xff, 0x03, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x3f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x3f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x80, 0x1f, 0x7e, 0x00, 0x02, -+ 0x20, 0x80, 0x3f, 0x7e, 0x00, 0x02, 0x20, 0x80, 0x31, 0x18, 0x00, 0x02, -+ 0x20, 0x80, 0x31, 0x18, 0x00, 0x02, 0x20, 0x80, 0x31, 0x18, 0x00, 0x02, -+ 0x20, 0x80, 0x39, 0x18, 0x00, 0x02, 0x20, 0x80, 0x1f, 0x18, 0x00, 0x02, -+ 0x20, 0x80, 0x0f, 0x18, 0x00, 0x02, 0x20, 0x80, 0x01, 0x18, 0x00, 0x02, -+ 0x20, 0x80, 0x01, 0x18, 0x00, 0x02, 0x20, 0x80, 0x01, 0x18, 0x00, 0x02, -+ 0x20, 0x80, 0x01, 0x7e, 0x00, 0x02, 0x20, 0x80, 0x01, 0x7e, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x3f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x3f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x03}; -diff -u -r --new-file xv-3.10a.orig/bits/br_pic xv-3.10a/bits/br_pic ---- xv-3.10a.orig/bits/br_pic 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/bits/br_pic 2005-04-17 16:04:22.000000000 -0500 -@@ -0,0 +1,27 @@ -+#define br_pic_width 48 -+#define br_pic_height 48 -+static unsigned char br_pic_bits[] = { -+ 0xe0, 0xff, 0xff, 0xff, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x03, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x05, 0x00, 0x20, 0x00, 0x00, 0x00, 0x09, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x11, 0x00, 0x20, 0x00, 0x00, 0x00, 0x21, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x41, 0x00, 0x20, 0x00, 0x00, 0x00, 0x81, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x01, 0x01, 0x20, 0x00, 0x00, 0x00, 0xff, 0x03, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x3f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x3f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xf0, 0xf3, 0xf3, 0x01, 0x02, -+ 0x20, 0xf0, 0xf7, 0xfb, 0x03, 0x02, 0x20, 0x30, 0xc6, 0x18, 0x03, 0x02, -+ 0x20, 0x30, 0xc6, 0x18, 0x00, 0x02, 0x20, 0x30, 0xc6, 0x18, 0x00, 0x02, -+ 0x20, 0x30, 0xc7, 0x18, 0x00, 0x02, 0x20, 0xf0, 0xc3, 0x18, 0x00, 0x02, -+ 0x20, 0xf0, 0xc1, 0x18, 0x00, 0x02, 0x20, 0x30, 0xc0, 0x18, 0x00, 0x02, -+ 0x20, 0x30, 0xc0, 0x18, 0x00, 0x02, 0x20, 0x30, 0xc0, 0x18, 0x03, 0x02, -+ 0x20, 0x30, 0xf0, 0xfb, 0x03, 0x02, 0x20, 0x30, 0xf0, 0xf3, 0x01, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x3f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x3f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x03}; -diff -u -r --new-file xv-3.10a.orig/bits/br_pic2 xv-3.10a/bits/br_pic2 ---- xv-3.10a.orig/bits/br_pic2 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/bits/br_pic2 2005-04-17 16:04:22.000000000 -0500 -@@ -0,0 +1,27 @@ -+#define br_pic2_width 48 -+#define br_pic2_height 48 -+static unsigned char br_pic2_bits[] = { -+ 0xe0, 0xff, 0xff, 0xff, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x03, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x05, 0x00, 0x20, 0x00, 0x00, 0x00, 0x09, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x11, 0x00, 0x20, 0x00, 0x00, 0x00, 0x21, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x41, 0x00, 0x20, 0x00, 0x00, 0x00, 0x81, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x01, 0x01, 0x20, 0x00, 0x00, 0x00, 0xff, 0x03, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x3f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x3f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x3f, 0x3f, 0x1f, 0x1f, 0x02, -+ 0x20, 0x7f, 0xbf, 0xbf, 0x3f, 0x02, 0x20, 0x63, 0x8c, 0xb1, 0x31, 0x02, -+ 0x20, 0x63, 0x8c, 0x01, 0x30, 0x02, 0x20, 0x63, 0x8c, 0x01, 0x30, 0x02, -+ 0x20, 0x73, 0x8c, 0x01, 0x30, 0x02, 0x20, 0x3f, 0x8c, 0x01, 0x18, 0x02, -+ 0x20, 0x1f, 0x8c, 0x01, 0x0c, 0x02, 0x20, 0x03, 0x8c, 0x01, 0x06, 0x02, -+ 0x20, 0x03, 0x8c, 0x01, 0x03, 0x02, 0x20, 0x03, 0x8c, 0xb1, 0x01, 0x02, -+ 0x20, 0x03, 0xbf, 0xbf, 0x3f, 0x02, 0x20, 0x03, 0x3f, 0x9f, 0x3f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x3f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x3f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x03}; -diff -u -r --new-file xv-3.10a.orig/bits/br_png xv-3.10a/bits/br_png ---- xv-3.10a.orig/bits/br_png 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/bits/br_png 1996-06-13 16:32:08.000000000 -0500 -@@ -0,0 +1,28 @@ -+#define br_png_width 48 -+#define br_png_height 48 -+static unsigned char br_png_bits[] = { -+ 0xe0, 0xff, 0xff, 0xff, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x03, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x05, 0x00, 0x20, 0x00, 0x00, 0x00, 0x09, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x11, 0x00, 0x20, 0x00, 0x00, 0x00, 0x21, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x41, 0x00, 0x20, 0x00, 0x00, 0x00, 0x81, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x01, 0x01, 0x20, 0x00, 0x00, 0x00, 0xff, 0x03, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x3f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x3f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0xf8, 0x19, 0xc3, 0x07, 0x02, 0x20, 0x18, 0x3b, 0x63, 0x0c, 0x02, -+ 0x20, 0x18, 0x3b, 0x33, 0x00, 0x02, 0x20, 0x18, 0x5b, 0x33, 0x00, 0x02, -+ 0x20, 0xf8, 0x59, 0x33, 0x0f, 0x02, 0x20, 0x18, 0x98, 0x33, 0x0c, 0x02, -+ 0x20, 0x18, 0x98, 0x33, 0x0c, 0x02, 0x20, 0x18, 0x18, 0x63, 0x0c, 0x02, -+ 0x20, 0x18, 0x18, 0xc3, 0x0b, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x3f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x3f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x03, -+ }; -diff -u -r --new-file xv-3.10a.orig/bits/br_zx xv-3.10a/bits/br_zx ---- xv-3.10a.orig/bits/br_zx 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/bits/br_zx 1998-08-06 15:00:03.000000000 -0500 -@@ -0,0 +1,28 @@ -+#define br_zx_width 48 -+#define br_zx_height 48 -+static unsigned char br_zx_bits[] = { -+ 0xe0, 0xff, 0xff, 0xff, 0x01, 0x00, 0x20, 0x00, 0x00, 0x00, 0x03, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x05, 0x00, 0x20, 0x00, 0x00, 0x00, 0x09, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x11, 0x00, 0x20, 0x00, 0x00, 0x00, 0x21, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x41, 0x00, 0x20, 0x00, 0x00, 0x00, 0x81, 0x00, -+ 0x20, 0x00, 0x00, 0x00, 0x01, 0x01, 0x20, 0x00, 0x00, 0x00, 0xff, 0x03, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x7f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0xff, 0xff, 0xff, 0x7f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x7f, 0xce, 0x01, 0x0e, 0x02, 0x20, 0x61, 0x84, 0x00, 0x11, 0x02, -+ 0x20, 0x30, 0x48, 0x00, 0x10, 0x02, 0x20, 0x18, 0x38, 0x10, 0x08, 0x02, -+ 0x20, 0x0c, 0x30, 0x10, 0x0e, 0x02, 0x20, 0x06, 0x68, 0x7c, 0x10, 0x02, -+ 0x20, 0x03, 0x48, 0x10, 0x10, 0x02, 0x20, 0x41, 0x84, 0x10, 0x11, 0x02, -+ 0x20, 0x7f, 0xce, 0x01, 0x0e, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x00, 0x00, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x00, 0x03, 0x20, 0xff, 0xff, 0xff, 0xff, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x40, 0x02, 0x20, 0xff, 0xff, 0xff, 0x3f, 0x02, -+ 0x20, 0x00, 0x00, 0x00, 0x10, 0x02, 0x20, 0x00, 0x00, 0x00, 0x08, 0x03, -+ 0x20, 0x00, 0x00, 0x00, 0x84, 0x03, 0x20, 0x00, 0x00, 0x00, 0xc2, 0x03, -+ 0x20, 0x00, 0x00, 0x00, 0xe1, 0x03, 0x20, 0x00, 0x00, 0x80, 0xf0, 0x02, -+ 0x20, 0x00, 0x00, 0x40, 0x78, 0x02, 0x20, 0x00, 0x00, 0x20, 0x3c, 0x02, -+ 0x20, 0x00, 0x00, 0x10, 0x1e, 0x02, 0x20, 0x00, 0x00, 0x08, 0x0f, 0x03, -+ 0x20, 0x00, 0x00, 0x84, 0x87, 0x03, 0x20, 0x00, 0x00, 0xc2, 0xc3, 0x03, -+ 0x20, 0x00, 0x00, 0xe1, 0xe1, 0x03, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x03, -+ }; -diff -u -r --new-file xv-3.10a.orig/contrib/fedora/Build-FC5 xv-3.10a/contrib/fedora/Build-FC5 ---- xv-3.10a.orig/contrib/fedora/Build-FC5 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/contrib/fedora/Build-FC5 2006-06-01 10:12:47.000000000 -0500 -@@ -0,0 +1,56 @@ -+#!/bin/bash -+# -+# prep and build XV for FC5 -+# -+# adapted from Slackware 10.2 -- john.cooper@third-harmonic.com -+# -+ -+if [ ${1}foo == "__LOGGED__foo" ]; then -+ shift -+else -+ for i in `seq 0 9` -+ do -+ if [ -e ${0}.log.$((9-i)) ]; then -+ mv ${0}.log.$((9-i)) ${0}.log.$((9-i+1)) -+ fi -+ done -+ -+ exec $0 __LOGGED__ $@ 2>&1 | tee $BUILDDIR/$0.log.0 -+ exit $? -+fi -+ -+SOURCE=`pwd` -+if [ "$BUILD" = "" ]; then -+ BUILD=./build -+fi -+ -+if [ ! -d $BUILD ]; then -+ mkdir -p $BUILD -+fi -+ -+PFLAGS="--verbose --backup --suffix=.orig" -+ -+function bail() -+ { -+ echo "$0: failed $1" -+ exit 1 -+ } -+ -+cd $BUILD -+rm -rf xv-3.10 -+tar xzvf $SOURCE/xv-3.10.tar.gz -+cd xv-3.10 -+zcat $SOURCE/xv-3.10a.patch.gz | patch -p0 $PFLAGS || \ -+ bail $SOURCE/xv-3.10a.patch.gz -+bzcat $SOURCE/xv-3.10a-jumbo-fix-patch-20050410.txt.bz2 | patch -p1 $PFLAGS || \ -+ bail $SOURCE/xv-3.10a-jumbo-fix-patch-20050410.txt.bz2 -+bzcat $SOURCE/xv-3.10a-jumbo-enh-patch-20050501.txt.bz2 | patch -p1 $PFLAGS || \ -+ bail $SOURCE/xv-3.10a-jumbo-enh-patch-20050501.txt.bz2 -+zcat $SOURCE/xv.prefix.diff.gz | patch -p1 $PFLAGS || \ -+ bail $SOURCE/xv.prefix.diff.gz -+make -f Makefile.std || bail make -+strip --strip-unneeded bggen vdcomp xcmap xv xvpictoppm || bail strip -+ -+exit $? -+ -+# vi:set ts=4: -diff -u -r --new-file xv-3.10a.orig/contrib/fedora/README xv-3.10a/contrib/fedora/README ---- xv-3.10a.orig/contrib/fedora/README 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/contrib/fedora/README 2006-06-01 10:12:47.000000000 -0500 -@@ -0,0 +1,16 @@ -+Greg, -+ After winding up in dark lonely places trying to -+get xv-3.10a to build on FC5 I suspected I was missing -+something. Then I happened on your patch manifest -+in Slackware 10.2. -+ -+I bandsawed the script a bit to use in propagating XV -+to a handful of personal FC5 machines. Attached for -+reference. -+ -+Thanks for your effort! -+ -+-john -+ -+-- -+john.cooper@third-harmonic.com -diff -u -r --new-file xv-3.10a.orig/contrib/fnkey-scripts/README xv-3.10a/contrib/fnkey-scripts/README ---- xv-3.10a.orig/contrib/fnkey-scripts/README 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/contrib/fnkey-scripts/README 2007-01-16 02:41:51.000000000 -0600 -@@ -0,0 +1,111 @@ -+-- License and Disclaimer -- -+ -+This patch & script package was written by Alexey Spiridonov, and is -+licensed under the GNU GPLv2. There is NO WARRANTY. -+ -+XV is copyrighted by John Bradley. -+ -+-- What is this? -- -+ -+This is a small patch for XV that allows you to run scripts by pressing -+a key from F1 through F12 (or more, just change 12 to your number in the -+patch file). -+ -+The patch enables a number of useful features. Here is a my set-up: -+ -+F1: Losslessly rotate JPEG 90 degrees to the right. -+F2: Losslessly rotate JPEG 90 degrees to the left. -+ -+F3: Print the current selection rectangle (on the terminal where xv was -+ launched). This is useful for quickly recording a bunch of positions in -+ an image. Use case: -+ I'm annotating face positions. -+ 1) Select Joe in picture, hit F3, type "Joe" in the terminal. -+ 2) Select Jane in the picture, ... -+ ... -+ n) Copy the text visible in the terminal, and paste it into the -+ JPEG comment. -+ Of course, i would write a more convenient script if I annotated faces -+ with any any frequency. -+ -+F4: Edit JPEG comment (I use it for annotations/tags). -+ -+F5: Log a 'losslessly rotate right' command for batch processing. This -+ writes the rotation command for the current file into a shell script -+ somewhere ("~/photos/bin/rotscript" by default). This is great for -+ slower computers because you don't have to wait for each image to -+ rotate; instead, you just rotate them all at once by running the -+ resulting script. -+F6: Log a 'losslessly rotate left' batch command. -+ -+F8: Crop image on disk, but back-up the uncropped version. You can make -+ a succession of crops this way, with a backup made at every step. -+ This wastes disk space, so be sure to clean up once you get a crop you -+ like. -+F7: Undo the last crop done on this image. This can be repeated until you're -+ back at the original. -+ -+-- Installation -- -+ -+I'll tell you how to get the set-up I described above. Of course, you can -+customize it to your heart's content. -+ -+(( 1 )) -+ -+Go to: -+ -+ http://www.sonic.net/~roelofs/greg_xv.html -+ -+and follow the XV install instructions there. If you are okay with -+reading shell scripts, you might also give this a shot: -+ -+ http://sources.gentoo.org/viewcvs.py/*checkout*/gentoo-x86/media-gfx/xv/xv-3.10a-r12.ebuild -+ -+When you're ready to type "make install", do the following to apply my patch: -+ -+ $ cd WHEREVER_YOU_COMPILED_XV -+ $ patch -p1 --dry-run < PATH/TO/xv-3.10a-fkey-command-patch.greg-xv -+ -+Hopefully, the above command won't complain; if it does, Greg Roelofs -+probably changed his patchset, and my patch has become out of date -- let me -+know. If that went well, run: -+ -+ $ patch -p1 < PATH/TO/xv-3.10a-fkey-command-patch.greg-xv -+ -+Now, simply recompile and install as described in the other instructions. -+ -+(( 2 )) -+ -+Copy 'jpegcrop.sh', 'jpegeditcom.sh', 'jpegundocrop.sh', 'jpegrot.sh', -+'jpeglogrot.sh' to some convenient directory. -+ -+Suggestions: ~/photos/bin, /usr/local/bin, etc... -+ -+Edit 'jpeglogrot.sh' and 'jpegeditcom.sh'. In the former, you need to -+customize the path to 'jpegrot.sh'. In the latter, you should make set -+your favorite editor. The spots to customize are marked as such. -+ -+(( 3 )) -+ -+Open .Xdefaults in your favorite text editor, and paste the following lines -+there: -+ -+xv.F1command: ~/photos/bin/jpegrot.sh 90 %s -+xv.F2command: ~/photos/bin/jpegrot.sh 270 %s -+xv.F3command: @echo "The selection rect for '%s' is at (%d, %d) of size %dx%d." -+xv.F4command: @~/photos/bin/jpegeditcom.sh %s & -+xv.F5command: @~/photos/bin/jpeglogrot.sh 90 %s -+xv.F6command: @~/photos/bin/jpeglogrot.sh 270 %s -+xv.F7command: ~/photos/bin/jpegundocrop.sh %s -+xv.F8command: ~/photos/bin/jpegcrop.sh %s %d %d %d %d -+ -+Change '~/photos/bin/' to the directory you chose in (( 2 )). In case you're -+wondering what the '@' symbol means, it tells XV not to reload the file -+after running this command. The default is to reload the file. -+ -+-- Apologies -- -+ -+I didn't get a chance to run through the above instructions and check -+that they work. I know they're right in spirit, but I might've made a typo -+or two. Even if it's obvious to you, would you please let me know by writing -+to lesha at mit dot edu? -diff -u -r --new-file xv-3.10a.orig/contrib/fnkey-scripts/jpegcrop.sh xv-3.10a/contrib/fnkey-scripts/jpegcrop.sh ---- xv-3.10a.orig/contrib/fnkey-scripts/jpegcrop.sh 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/contrib/fnkey-scripts/jpegcrop.sh 2006-03-11 21:30:03.000000000 -0600 -@@ -0,0 +1,33 @@ -+#!/bin/bash -+FILE=$1 -+WIDTH=$4 -+HEIGHT=$5 -+XPOS=$2 -+YPOS=$3 -+if [[ $XPOS -lt 0 ]]; then -+ echo "Negative x position $XPOS converted to zero, width adjusted." -+ WIDTH=$((WIDTH+XPOS)) -+ XPOS=0 -+fi -+if [[ $YPOS -lt 0 ]]; then -+ echo "Negative y position $YPOS converted to zero, height adjusted." -+ HEIGHT=$((HEIGHT+YPOS)) -+ YPOS=0 -+fi -+if [[ $(($WIDTH+$HEIGHT)) == 0 ]]; then -+ echo "Refusing to crop $FILE with an empty rectangle." -+ exit 1 -+fi -+ -+TMPFILE=`mktemp $FILE.tmp-jpeg-rot-XXXXXXXX` -+if jpegtran -optimize -progressive -crop ${WIDTH}x${HEIGHT}+${XPOS}+${YPOS} \ -+ -copy all $FILE > $TMPFILE; then -+ COUNT=`echo $FILE-uncropped | wc -c` -+ NEXT=$((`ls $FILE-uncropped* | cut -b $COUNT- | grep '^[0-9]*$' \ -+ | sed 's/^0*/'/ | sort -n | tail -n 1`+1)) -+ # the targets shouldn't exist, but -i just in case -+ mv -i $FILE $FILE-uncropped$NEXT -+ mv -i $TMPFILE $FILE -+else -+ rm $TMPFILE -+fi -diff -u -r --new-file xv-3.10a.orig/contrib/fnkey-scripts/jpegeditcom.sh xv-3.10a/contrib/fnkey-scripts/jpegeditcom.sh ---- xv-3.10a.orig/contrib/fnkey-scripts/jpegeditcom.sh 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/contrib/fnkey-scripts/jpegeditcom.sh 2007-01-16 00:23:04.000000000 -0600 -@@ -0,0 +1,12 @@ -+#!/bin/bash -+CFILE=`mktemp $1.tmp-jpeg-comments-XXXXXXXX` -+TMPFILE=`mktemp $1.tmp-jpeg-XXXXXXXX` -+rdjpgcom $1 > $CFILE -+INITIAL=`md5sum $CFILE` -+xterm -e "$EDITOR" "$CFILE" # customize your editor here -+MODIFIED=`md5sum $CFILE` -+if [[ "$INITIAL" != "$MODIFIED" ]]; then -+ mv $1 $TMPFILE -+ wrjpgcom -replace -cfile $CFILE $TMPFILE > $1 -+fi -+rm $TMPFILE $CFILE $CFILE~ -diff -u -r --new-file xv-3.10a.orig/contrib/fnkey-scripts/jpeglogrot.sh xv-3.10a/contrib/fnkey-scripts/jpeglogrot.sh ---- xv-3.10a.orig/contrib/fnkey-scripts/jpeglogrot.sh 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/contrib/fnkey-scripts/jpeglogrot.sh 2007-01-16 00:55:18.000000000 -0600 -@@ -0,0 +1,10 @@ -+#!/bin/bash -+curdir="`pwd`" -+LOG=~/photos/bin/rotscript # customize your install dir here -+if [[ ! -e "$LOG" ]]; then -+ echo '#!/bin/bash' >> "$LOG" -+ chmod u+x "$LOG" -+fi -+echo "# following entry made on `date`" >> "$LOG" -+# also customize the following line -+echo ~/photos/bin/jpegrot \""$1"\" \""$curdir/$2"\" >> "$LOG" -diff -u -r --new-file xv-3.10a.orig/contrib/fnkey-scripts/jpegrot.sh xv-3.10a/contrib/fnkey-scripts/jpegrot.sh ---- xv-3.10a.orig/contrib/fnkey-scripts/jpegrot.sh 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/contrib/fnkey-scripts/jpegrot.sh 2006-07-18 23:10:43.000000000 -0500 -@@ -0,0 +1,7 @@ -+#!/bin/bash -+TMPFILE="`mktemp "$2".tmp-jpeg-rot-XXXXXXXX`" -+if jpegtran -perfect -optimize -progressive -rotate "$1" -copy all "$2" > "$TMPFILE"; then -+ mv "$TMPFILE" "$2" -+else -+ rm "$TMPFILE" -+fi -diff -u -r --new-file xv-3.10a.orig/contrib/fnkey-scripts/jpegundocrop.sh xv-3.10a/contrib/fnkey-scripts/jpegundocrop.sh ---- xv-3.10a.orig/contrib/fnkey-scripts/jpegundocrop.sh 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/contrib/fnkey-scripts/jpegundocrop.sh 2006-03-11 21:30:04.000000000 -0600 -@@ -0,0 +1,8 @@ -+#!/bin/bash -+FILE=$1 -+COUNT=`echo $FILE-uncropped | wc -c` -+LATEST=$((`ls $FILE-uncropped* | cut -b $COUNT- | grep '^[0-9]*$' \ -+ | sed 's/^0*/'/ | sort -n | tail -n 1`)) -+if [[ -f $FILE-uncropped$LATEST ]]; then -+ mv $FILE-uncropped$LATEST $FILE -+fi -diff -u -r --new-file xv-3.10a.orig/tiff/RANLIB.sh xv-3.10a/tiff/RANLIB.sh ---- xv-3.10a.orig/tiff/RANLIB.sh 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/tiff/RANLIB.sh 2004-05-11 01:31:38.000000000 -0500 -@@ -0,0 +1,22 @@ -+#!/bin/sh -f -+# -+# tests to see if the program 'ranlib' exists. If it does, runs ranlib on -+# the first argument (a library name). Otherwise, does nothing, and returns -+# -+# written by John Bradley for the XV 3.00 release -+# thanks to John Hagan for shell-script hackery -+# -+ -+echo "executing 'ranlib $1'..." -+ -+# Is there a ranlib? Let's try and then suffer the consequences... -+ranlib $1 >& /dev/null -+ -+if [ $? -ne 0 ]; then -+ echo "There doesn't seem to be a ranlib on this system..." -+ echo "Don't worry about it." -+fi -+ -+echo "" -+echo "" -+ -diff -u -r --new-file xv-3.10a.orig/xv_mgcsfx.sample xv-3.10a/xv_mgcsfx.sample ---- xv-3.10a.orig/xv_mgcsfx.sample 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/xv_mgcsfx.sample 2005-04-17 16:04:22.000000000 -0500 -@@ -0,0 +1,125 @@ -+#/* -+# Configuration file for XV with recognition of 'Magic and Suffix' -+# -+# -+# $Id: xv_mgcsfx.sample,v 1.11 95/10/03 17:00:05 tin329 Exp Locker: tin329 $ -+# -+# Author: Tetsuya INOUE -+# -+# -+# MgcSfx definition should write in one line. -+# Format: -+# :::::::: -+# If you decide to not use preprocessor, comment style is allowed. -+# # -+# -+# Description of your recognized image format. -+# Type ID for recognition. (You should use 'magic'.) -+# * magic Data of string style. -+# `\' escape for special characters: -+# \b \f \n \r \t \v \\ \' \" \a \? -+# \0 ...\377 octal value -+# \x0 ...\xff hexadecimal value -+# * suffix Suffix of file name. -+# This type check instead -+# of . -+# * [b|l]eint16 2 byte integer of [big|little] endian. -+# * [b|l]eint32 4 byte integer of [big|little] endian. -+# Offset of magic number in the target image file. -+# Data(magic number) of to match at . -+# Suffix of filename with '.'start. -+# -+# Input image format type (output from ). -+# * PNM (PPM, PGM, PBM) -+# * AUTO Recognized by xv management, and load. -+# This is different from others, because -+# this write file to temporary. -+# Output image format type (input to ). -+# * PNM_RAW (PPM_RAW, PGM_RAW, PBM_RAW) -+# * PNM_ASCII (PPM_ASCII, PGM_ASCII, PBM_ASCII) -+# -+# Command to get the input image. -+# * Command mast read stdin or file(specified by -+# argument), and write to stdout. -+# * Use %s to represent the file name. Without %s, -+# get file on stdin. -+# Command to put the output image. -+# * Command mast read stdin and write to stdout. -+# -+# Any message. -+#*/ -+ -+#/*############################################################################ -+# -+# definition of the rule with Magic and Suffix -+# -+#*/ -+ -+# /* Canon View Station Image Format */ -+ViewStation(std):magic:0:VsStdImf V0.2:.vs:PNM:VStopnm %s:PNM_RAW:pnmtoVS -+ViewStation(obj):magic:0:VsObjFormat V1.0:.vs:PNM:VSobjtopnm -:PNM_RAW:pnmtoVSobj -+ -+# /* CERN httpd cache */ -+# /* unchc skip header of CERN httpd cache file, and write data to stdout. */ -+CERN httpd cache:magic:0:HTTP/1.0::AUTO:unchc %s:: -+ -+# /* XLD4(Q4) image format */ -+XLD(Q4):magic:11:MAJYO:.q4:PNM:q4toppm:: -+ -+# /* ML1 image format */ -+ML1:magic:0:\1\0\0\x1a:.ml1:PNM:ml1toppm %s:: -+ -+# /* Pict image format, 256 color only */ -+PICT:suffix:::.pict:PNM:picttoppm:PNM_RAW:ppmquant 256 | ppmtopict -+PICT(gzip):suffix:::.pict.gz:PNM:gzip -dc | picttoppm:PNM_RAW:ppmquant 256 | ppmtopict | gzip -+PICT(compress):suffix:::.pict.Z:PNM:compress -dc | picttoppm:PNM_RAW:ppmquant 256 | ppmtopict | compress -+ -+# /* Tim image format(used by SONY PlayStation) */ -+TIM:magic:0:\x10\x00\x00\x00:.tim:PNM:timtoppm:: -+ -+# /* Cam image format(used by CASIO QV-10) */ -+# /* CAM:magic:0:\x07\x20\x4d\x4d:.cam:AUTO:camtoppm -j:PNM_RAW */ -+CAM:magic:0:\x07\x20\x4d\x4d:.cam:PNM:camtoppm:: -+ -+# /* Portable Network Graphics (PNG) format : magic is "0x89 PNG" */ -+PNG:magic:0:\x89\x50\x4e\x47:.png:PNM:pngtopnm %s:PNM_RAW:pnmtopng -+# /* PNG(interlace):magic:0:\x89\x50\x4e\x47:.png:PNM:pngtopnm %s:PNM_RAW:pnmtopng -interlace */ -+ -+# /* DB-Z, SAURUS Freehand Memo, PV-F1 Action Board, Wiz Quick Memo format */ -+# /* Use xbm2free-1.10 or later. Old version is NOT a filter. */ -+# /* To show version of xbm2free, type "xbm2free" (with no argument). */ -+ZAURUS:magic:19:IMG1:.zau:PBM_ASCII:free2pbm:PBM:pbmtoxbm|xbm2free -s - -+DBZ:magic:19:IMG1:.dbz:::PBM:pbmtoxbm|xbm2free -d - -+PVF1:magic:12:IMG1:.pvf1:PBM_ASCII:free2pbm:PBM:pbmtoxbm|xbm2free -v - -+# /* WIZ:magic:19:IMG1:.wiz:::PBM:pbmtoxbm|xbm2free -w - */ -+ -+ -+ -+# /* Compress:magic:0:\037\235:.Z:AUTO:uncompress %s:: */ -+# /* Gzip:magic:0:\037\213:.gz:AUTO:gunzip %s:: */ -+# /* Gzip(old):magic:0:\037\236:.z:AUTO:gunzip %s:: */ -+ -+# /* MAKI:magic:0:MAKI01A\040:.mki:::: */ -+# /* MAKI:magic:0:MAKI01B\040:.mki:::: */ -+# /* MAG:magic:0:MAKI02\040\040:.mag:::: */ -+# /* Pi:magic:0:Pi:.pi:::: */ -+# /* PIC:magic:0:PIC:.pic:::: */ -+# /* PIC2:magic:0:P2DT:.p2:::: */ -+# /* PhotoCD:magic:0:\xff\xff\xff\xff:.pcd:::: */ -+ -+# /* PBM(ascii):magic:0:P1:.pbm:::: */ -+# /* PGM(ascii):magic:0:P2:.pgm:::: */ -+# /* PPM(ascii):magic:0:P3:.ppm:::: */ -+# /* PBM(raw):magic:0:P4:.pbm:::: */ -+# /* PGM(raw):magic:0:P5:.pgm:::: */ -+# /* PPM(raw):magic:0:P6:.ppm:::: */ -+ -+# /* Sun raster:magic:0:\131\246\152\225:.sun:::: */ -+# /* JFIF(JPEG):magic:0:\xff\xd8\xff:.jpg:::: */ -+# /* TIFF big-endian:magic:0:\115\115:.tif:::: */ -+# /* TIFF little-endian:magic:0:\111\111:.tif:::: */ -+# /* GIF(87):magic:0:GIF87a:.gif:::: */ -+# /* GIF(89):magic:0:GIF89a:.gif:::: */ -+# /* SGI(1):magic:0:\x01\xda:.rgb:::: */ -+# /* SGI(2):magic:0:\xda\x01:.rgb:::: */ -+# /* XWD:magic:0:\0\0\0\7: :::: */ -diff -u -r --new-file xv-3.10a.orig/xvhips.c xv-3.10a/xvhips.c ---- xv-3.10a.orig/xvhips.c 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/xvhips.c 2005-05-01 01:49:14.000000000 -0500 -@@ -0,0 +1,406 @@ -+/* -+ * xvhips.c - load routine for 'HIPS' format pictures -+ * -+ * LoadHIPS(fname, numcols) -+ */ -+ -+/* -+ * Copyright 1989, 1990 by the University of Pennsylvania -+ * -+ * Permission to use, copy, and distribute for non-commercial purposes, -+ * is hereby granted without fee, providing that the above copyright -+ * notice appear in all copies and that both the copyright notice and this -+ * permission notice appear in supporting documentation. -+ * -+ * The software may be modified for your own purposes, but modified versions -+ * may not be distributed. -+ * -+ * This software is provided "as is" without any express or implied warranty. -+ */ -+ -+#include "xv.h" -+ -+#ifdef HAVE_HIPS -+ -+#define Boolean FREDDIE -+#include "xvhips.h" -+#undef Boolean -+ -+#include -+ -+#define LINES 100 -+#define LINELENGTH 132 -+ -+static int fread_header(int fd, struct header *hd); -+static char *getline(int fd, char **s, int *l); -+static int dfscanf(int fd); -+static void make_grayscale(char *r, char *g, char *b); -+static float hls_value (float n1, float n2, float hue); -+static void hls_to_rgb(float h, float l, float s, -+ float *r, float *g, float *b); -+static void make_huescale(char *r, char *g, char *b); -+static void make_heatscale(char *r, char *g, char *b); -+static int load_colourmap(char *filestem, int max_colours, -+ char *r, char *g, char *b); -+ -+/************************************************************************ -+ * -+ * Read Header routines -+ * -+ ************************************************************************/ -+ -+static char *ssave[LINES]; -+static int slmax[LINES]; -+static int lalloc = 0; -+//extern char *calloc(); -+ -+ -+ -+static int fread_header(fd, hd) -+ int fd; -+ struct header *hd; -+{ -+ int lineno, len, i; -+ char *s; -+ -+/*fprintf(stderr,"fread_header: entered\n");*/ -+ if(lalloc<1) { -+ ssave[0] = calloc(LINELENGTH, sizeof (char)); -+ slmax[0] = LINELENGTH; -+ lalloc = 1; -+ } -+/*fprintf(stderr,"fread_header: ssave allocated\n");*/ -+ getline(fd,&ssave[0],&slmax[0]); -+ hd->orig_name = calloc(strlen(ssave[0])+1, sizeof (char)); -+ strcpy(hd->orig_name,ssave[0]); -+ getline(fd,&ssave[0],&slmax[0]); -+ hd->seq_name = calloc(strlen(ssave[0])+1, sizeof (char)); -+ strcpy(hd->seq_name,ssave[0]); -+ hd->num_frame = dfscanf(fd); -+ getline(fd,&ssave[0],&slmax[0]); -+ hd->orig_date = calloc(strlen(ssave[0])+1, sizeof (char)); -+ strcpy(hd->orig_date,ssave[0]); -+ hd->rows = dfscanf(fd); -+ hd->cols = dfscanf(fd); -+ hd->bits_per_pixel = dfscanf(fd); -+ hd->bit_packing = dfscanf(fd); -+ hd->pixel_format = dfscanf(fd); -+ lineno = 0; -+ len = 1; -+ getline(fd,&ssave[0],&slmax[0]); -+ s = ssave[0]; -+ while(*(s += strlen(s)-3) == '|') { -+ len += strlen(ssave[lineno]); -+ lineno++; -+ if (lineno >= LINES) -+ fprintf(stderr, "Too many lines in header history"); -+ if(lineno >= lalloc) { -+ ssave[lineno] = calloc(LINELENGTH, sizeof (char)); -+ slmax[lineno] = LINELENGTH; -+ lalloc++; -+ } -+ getline(fd,&ssave[lineno],&slmax[lineno]); -+ s = ssave[lineno]; -+ } -+ len += strlen(ssave[lineno]); -+ hd->seq_history = calloc(len, sizeof (char)); -+ hd->seq_history[0] = '\0'; -+ for (i=0;i<=lineno;i++) -+ strcat(hd->seq_history,ssave[i]); -+ lineno = 0; -+ len = 1; -+ while(strcmp(getline(fd,&ssave[lineno],&slmax[lineno]),".\n")) { -+ len += strlen(ssave[lineno]); -+ lineno++; -+ if (lineno >= LINES) -+ fprintf(stderr, "Too many lines in header desc."); -+ if(lineno >= lalloc) { -+ ssave[lineno] = calloc(LINELENGTH, sizeof (char)); -+ slmax[lineno] = LINELENGTH; -+ lalloc++; -+ } -+ } -+ hd->seq_desc = calloc(len, sizeof (char)); -+ *hd->seq_desc = '\0'; -+ for (i=0;iseq_desc,ssave[i]); -+/*fprintf(stderr,"fread_header: exiting\n");*/ -+ return 0; -+} -+ -+ -+ -+static char *getline(fd,s,l) -+ int fd; -+ char **s; -+ int *l; -+{ -+ int i,m; -+ char c,*s1,*s2; -+ -+ i = 0; -+ s1 = *s; -+ m = *l; -+ while(read(fd,&c,1) == 1 && c != '\n') { -+ if (m-- <= 2) { -+ s2 = calloc(LINELENGTH+*l,sizeof (char)); -+ strcpy(s2,*s); -+ *s = s2; -+ *l += LINELENGTH; -+ m = LINELENGTH; -+ s1 = s2 + strlen(s2); -+ } -+ *s1++ = c; -+ } -+ if (c == '\n') { -+ *s1++ = '\n'; -+ *s1 = '\0'; -+ return *s; -+ } -+ fprintf(stderr, "Unexpected EOF while reading header."); -+ return NULL; -+} -+ -+ -+ -+static int dfscanf(fd) -+ int fd; -+{ -+ int i; -+ -+ getline(fd,&ssave[0],&slmax[0]); -+ sscanf(ssave[0],"%d",&i); -+ return(i); -+} -+ -+ -+ -+/*******************************************/ -+int LoadHIPS(fname,pinfo) -+ char *fname; -+ PICINFO * pinfo; -+/*******************************************/ -+{ -+ FILE *fp; -+ struct header h; -+ char * pic; -+ -+ /* open the stream, if necesary */ -+ fp=fopen(fname,"r"); -+ if (!fp) return 0; -+ -+ if (!fread_header(fileno(fp), &h)) { -+ SetISTR(ISTR_WARNING,"Can't read HIPS header"); -+ return 0; -+ } -+ -+ pinfo->w = h.cols; -+ pinfo->h = h.rows; -+ pic = pinfo->pic = (byte *) malloc(h.rows * h.cols); // GRR POSSIBLE OVERFLOW / FIXME -+ if (!pic) FatalError("couldn't malloc HIPS file"); -+ -+ if (!fread(pic, 1, h.cols*h.rows, fp)) { -+ SetISTR(ISTR_WARNING,"Error reading HIPS data.\n"); -+ return 0; -+ } -+ fclose (fp); -+ -+ pinfo->frmType = F_SUNRAS; -+ pinfo->colType = F_FULLCOLOR; -+ sprintf(pinfo->fullInfo, "HIPS file (%d bytes)", h.cols*h.rows); -+ sprintf(pinfo->shrtInfo, "HIPS file."); -+ pinfo->comment = (char *) NULL; -+ -+ { -+ char cmapname[256]; -+ /* Check header for colormap spec */ -+ char * s = h.seq_desc - 1; -+ char * cmaptag = "+COLORMAP"; -+ int sl = strlen(cmaptag); -+ cmapname[0] = 0; -+ while (*++s) -+ if (*s == '+') -+ if (strncmp(s, cmaptag, sl) == 0) { -+ char * p = s + sl; -+ while (*p && (*p == ' ' || *p == '\n' || *p == '\t')) p++; -+ sscanf(p, "%s", cmapname); -+ SetISTR(ISTR_INFO, cmapname); -+ fprintf(stderr, "Colormap = [%s]\n", cmapname); -+ } -+ -+ if (strcmp(cmapname, "gray") == 0 || strcmp(cmapname, "grey") == 0) -+ make_grayscale(pinfo->r, pinfo->g, pinfo->b); -+ else if (strcmp(cmapname, "heat") == 0) -+ make_heatscale(pinfo->r, pinfo->g, pinfo->b); -+ else if (strcmp(cmapname, "hues") == 0) -+ make_huescale(pinfo->r, pinfo->g, pinfo->b); -+ else if (!cmapname[0] || !load_colourmap(cmapname, 256, pinfo->r, pinfo->g, pinfo->b)) -+ make_grayscale(pinfo->r, pinfo->g, pinfo->b); -+ sprintf(pinfo->fullInfo, "HIPS file (%d x %d), Colormap = [%s]", h.cols, h.rows, cmapname); -+ } -+ -+ return 1; -+} -+ -+ -+ -+static void make_grayscale(char * r, char * g, char * b) -+{ -+ int i; -+ /* default grayscale colors */ -+ r[0] = 40; g[0] = 150; b[0] = 100; /* "green4" background */ -+ for(i = 1; i < 256; i++) -+ r[i] = g[i] = b[i] = i; -+} -+ -+ -+ -+static float hls_value (n1, n2, hue) -+ float n1,n2,hue; -+{ -+ if (hue>360.0) -+ hue-=360.0 ; -+ else if (hue<0.0) -+ hue+=360.0 ; -+ -+ if (hue<60.0) -+ return( n1+(n2-n1)*hue/60.0 ) ; -+ else if (hue<180.0) -+ return ( n2 ) ; -+ else if (hue<240.0) -+ return ( n1+(n2-n1)*(240.0-hue)/60.0 ) ; -+ else -+ return (n1) ; -+} -+ -+ -+ -+static void hls_to_rgb(h,l,s, r,g,b) -+ float h, l, s; -+ float *r, *g, *b; -+{ -+ static float m1, m2 ; -+ -+ if (l<=0.5) -+ m2=l*(1+s) ; -+ else -+ m2=l+s-l*s ; -+ m1=2.0*l-m2 ; -+ if (s==0.0) *r=*g=*b=l ; -+ else { -+ *r=hls_value(m1,m2,h+120.0) ; -+ *g=hls_value(m1,m2,h) ; -+ *b=hls_value(m1,m2,h-120.0) ; -+ } -+ -+} -+ -+ -+ -+static void make_huescale(char * r, char * g, char * b) -+{ -+ int j; -+ r[0] = g[0] = b[0] = 0; -+ for (j = 1; j<256; j++) -+ { -+ float fr, fg, fb; -+ hls_to_rgb((double)(256.0-j)*360.0/256.0, 0.5, 1.0, &fr, &fg, &fb); -+ r[j] = rint(255*fr); -+ g[j] = rint(255*fg); -+ b[j] = rint(255*fb); -+ } -+} -+ -+ -+ -+static void make_heatscale(char * r, char * g, char * b) -+{ -+ int j; -+ r[0] = g[0] = b[0] = 0; -+ for (j = 1; j<256; j++) -+ { -+ if(j<255/2) -+ r[j] = j*255/(255/2-1); -+ else -+ r[j]=255; -+ if (j>=255/2+255/3) -+ g[j] = 255; -+ else if (j>255/3) -+ g[j] = (j-255/3)*255/(255/2-1); -+ else -+ g[j] = 0; -+ if (j>255/2) -+ b[j] = (j-255/2)*255/(255-255/2-1); -+ else -+ b[j] = 0; -+ } -+} -+ -+ -+ -+static int load_colourmap(char *filestem, int max_colours, -+ char *r, char *g, char *b) -+{ -+ FILE * fp; -+ int numread=0; -+ char * filename; -+ char str[200]; -+ int num_colors; -+ /* -+ * Look for palette file in local directory -+ */ -+ -+ filename = (char*)alloca(strlen(filestem) + 5); -+ strcpy(filename, filestem); -+ strcat(filename, ".PAL"); /* Add the PAL suffix to the name specified */ -+ fp = fopen(filename,"r"); -+ if (!fp) { -+ /* -+ * If not found, try in $IM2HOME/etc/palettes -+ */ -+ char * im2home = (char*)getenv("IM2HOME"); -+ char * palette_subdirectory = "etc/palettes"; -+ char * fullfilename; -+ if (!im2home) -+ { -+ im2home = "/home/jewel/imagine2"; -+ fprintf(stderr,"IM2HOME environment variable not set -- using [%s]\n",im2home); -+ } -+ fullfilename = alloca(strlen(im2home)+strlen(palette_subdirectory)+strlen(filename)+5); -+ sprintf(fullfilename, "%s/%s/%s",im2home,palette_subdirectory,filename); -+ fp = fopen(fullfilename,"r"); -+ if (!fp) -+ { -+ fprintf(stderr,"Couldn't find any palette file -- looked for [%s] and [%s].\n", -+ filename,fullfilename); -+ perror("Last system error message was"); -+ return 0; -+ } -+ } -+ -+ strcpy(str,"(null)"); -+ if (!fscanf(fp,"%s\n",str) || strncmp(str,"Palette",7) != 0) { -+ fprintf(stderr,"error: First line of palette file should be `Palette', not [%s]\n", str); -+ return 0; -+ } -+ -+ fscanf(fp,"%[^\n]",str) ; /* Scan to end of line */ -+ fscanf (fp,"%d",&num_colors);/* Read the number of colours in the file */ -+ fgets(str,120,fp) ; /* Skip the text description, and general info lines */ -+ fgets(str,120,fp) ; -+ -+ while ((numread (B) ? (A) : (B)) -+#endif /* MAX */ -+#ifndef MIN -+# define MIN(A,B) ((A) < (B) ? (A) : (B)) -+#endif /* MIN */ -+#ifndef ABS -+# define ABS(A) ((A) > 0 ? (A) : (-(A))) -+#endif /* ABS */ -+#ifndef BETWEEN -+# define BETWEEN(A,B,C) (((A) < (B)) ? (B) : (((A) > (C)) ? (C) : (A))) -+#endif /* BETWEEN */ -+#ifndef SIGN -+# define SIGN(A,B) (((B) > 0) ? (A) : (-(A))) -+#endif /* SIGN */ -diff -u -r --new-file xv-3.10a.orig/xvjp2k.c xv-3.10a/xvjp2k.c ---- xv-3.10a.orig/xvjp2k.c 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/xvjp2k.c 2007-05-13 20:04:37.000000000 -0500 -@@ -0,0 +1,1326 @@ -+/* -+ * xvjp2k.c - I/O subroutines for JPEG 2000 format pictures -+ * -+ * This module is a "shim" between XV and a JPEG 2000 CODEC in the open-source -+ * JasPer Library created by Michael D. Adams; for more information, see the URL -+ * "http://www.ece.uvic.ca/~mdadams/jasper". We don't use most of the other -+ * facilities in this library, so it's better to link XV with a UNIX "archive" -+ * representation of it, not a DLL. -+ * -+ * JPEG 2000 files can be represented in either of two general ways: The -+ * simplest representation is a "code stream", which often has a ".jpc" file -+ * name suffix and is organized much like a classical JPEG file, except that -+ * unfortunately, JPEG 2000 code streams indicate the no. of colors in an image -+ * but no longer give any clues about its color space (e.g., RGB or YCbCr). -+ * Instead, there is now a semantically higher-level representation, which often -+ * has a ".jp2" file name suffix and encapsulates a "code stream" with (possibly -+ * a lot of) color-space information, optionally including things like ICC -+ * correction tables. -+ * -+ * Compared to the IJG JPEG Library used in file "xvjpeg.c", one must solve -+ * several problems for color images when marrying JasPer to XV. -+ * -+ * 1. JPEG 2000 files can represent a wide range of image sizes, resolutions, -+ * and color spaces, not all of which can be easily rendered "as is" on a -+ * normal "X Windows" display, so we must carefully check a decoded image's -+ * parameters in order to reject anything that we can't handle gracefully. -+ * -+ * 2. JasPer prefers to decode/encode images using color-plane "slices", instead -+ * of interleaved pixels needed by "X Windows", so we must (de)interleave -+ * copies of the image buffer here. -+ * -+ * XXX Things to do: -+ * -+ * 1. In "LoadJP{2,C}()" try to handle the "quick" option, which requests -+ * faster loading of a reduced-size image for the visual schnauzer. The -+ * schnauzer's icon size is currently 80x60, so the old "xvjpeg.c" module tries -+ * to produce a 2X (160x120) image. Can we do the same? -+ * -+ * 2. In "StoreJP2K()", JasPer Library Version 1.701 apparently has no API to -+ * let the XV global "picComments" string be inserted in a JPEG 2000 comment -+ * record. If the library ever gets fixed, enhance our code accordingly. -+ * -+ * --Scott Marovich , Hewlett-Packard Laboratories, -+ * January 2005. -+ */ -+#include "copyright.h" -+ -+#define NEEDSARGS -+#include "xv.h" -+ -+#ifdef HAVE_JP2K -+ -+#include -+/* missing prototype in 1.701.0, sigh: */ -+jas_stream_t *jas_stream_freopen PARM((const char *, const char *, FILE *)); -+ -+static const char *fbasename, /* File's base name, for error/warning msgs */ -+ bad_samp[] = "%s: can't read %d-plane %s file!", -+ fmode[] = "rb", -+ full_msg[] = "%s %s. (%ld bytes)", -+ jp2_kind[] = "JP2", -+ jpc_kind[] = "JPEG 2000", -+ load_msg[] = "Loading %dx%d %s %s (%ld bytes)...", -+ no_mem[] = "%s: can't read %s file - out of memory", -+ pixel_size[] = "%s: can't display %d-bit pixels!", -+ shrt_msg[] = "%dx%d %s %s. ", -+ truncated[] = "%s: Unexpected end of %s file", -+ read_err[] = "%s: I/O error reading %s file", -+ bad_dims[] = "%s: error in JPEG-2000 header (bad image size)"; -+ -+/* We only want to override the JasPer Library's "jas_eprintf()" subroutine in -+ order to make it a "wrapper" around XV's own error-reporting subroutine, but -+ because of the way the former is currently packaged in JasPer Library Version -+ 1.701, we must override everything else packaged in the "jas_debug.o" module -+ with it, otherwise we get "duplicate definition" messages from the linker. -+*/ -+int jas_getdbglevel(void) {return 0;} -+int jas_setdbglevel(int n) {return 0;} -+int jas_memdump(FILE *fp,void *data,size_t len) {return 0;} -+ -+int jas_eprintf(const char *fmt,...) /* Handle JasPer Library message */ -+{ -+ static char error[] = "error: ", warning[]= "warning: "; -+ va_list ap; -+ int kind = ISTR_WARNING; -+ char buffer[512]; -+ register char *p; -+ -+ /* Unlike the IJG JPEG Library, the JasPer Library current has no graceful way -+ for an application (= us!) to intercept its diagnostic messages and output -+ them using our own subroutines, so this ugly replacement for its output -+ subroutine will have to suffice. At Version 1.701, lthough the library's -+ own "jas_eprintf()" is a varargs subroutine, all calls currently pass just -+ 1 string with a Line Feed at the end and no "printf(3C)" arguments. Most -+ strings begin with "error: " or "warning: ", although a few have neither. -+ We try to translate these into the format preferred by XV, trimming any -+ trailing Line Feed character (ugh!). -+ */ -+ va_start(ap, fmt); -+ vsnprintf(p = buffer,512,fmt,ap); -+ va_end(ap); -+ while (*p++); -+ if (p[-2] == '\n') p[-2] = '\0'; -+ p = buffer; -+ if (strncmp(p,error,sizeof error) == 0) /* "error: ... " */ -+ { -+ kind = ISTR_WARNING; -+ p += sizeof error; -+ } -+ else /* "warning: ... " */ -+ if (strncmp(p,warning,sizeof warning) == 0) -+ { -+ kind = ISTR_INFO; -+ p += sizeof warning; -+ }; -+ SetISTR(kind,"%s: %s",fbasename,p); -+ return strlen(fmt); -+} -+ -+static char *SetBuf(FILE *f) -+{ -+ char *buf; -+ register char *p; -+ -+ /* JPEG 2000 image files are apt to be large, but the buffer size allocated by -+ most implementations of the "C" Standard I/O Library is still ridiculously -+ small, typically 1 KB. We want to allocate a much larger buffer for higher -+ I/O efficiency, but the details are unfortunately a bit platform-specific. -+ Under UNIX systems with virtual memory, we want to encourage its internal -+ "physio()" subroutine by making the buffer an integral number of pages, -+ aligned on a page-multiple memory address boundary. Under HP-UX 11.1+ and -+ perhaps other operating-systems, a Standard I/O buffer is preceded by a -+ header whose size must also be taken into account. -+ */ -+# ifndef IOBUFSIZ -+# define IOBUFSIZ 65536 -+# endif /* IOBUFSIZ */ -+# ifdef __hpux -+# define OVERHEAD sizeof(mbstate_t) -+# endif /* __hpux */ -+# ifndef OVERHEAD -+# define OVERHEAD 0 -+# endif /* OVERHEAD */ -+ -+# ifdef NBPG -+ if (!(buf = p = malloc(NBPG+OVERHEAD+IOBUFSIZ))) return 0; -+ p = (char *)((unsigned long)p+NBPG-1 & ~(NBPG-1)); -+ p -= OVERHEAD; -+# else /* not NBPG */ -+ if (!(buf = p = malloc(OVERHEAD+IOBUFSIZ))) return 0; -+ p += OVERHEAD; -+# endif /* NBPG */ -+ setvbuf(f,p,_IOFBF,OVERHEAD+IOBUFSIZ); -+ return buf; -+# undef OVERHEAD -+# undef IOBUFSIZ -+} -+ -+int LoadJPC(char *fname,register PICINFO *pinfo,int quick) -+{ -+ jas_image_t *img; -+ jas_stream_t *str; -+ FILE *fp; -+ char *iobuf; -+ const char *s; -+ unsigned long filesize; -+ long w, h, npixels, bufsize; -+ int ok = 0, vstride; -+ register int i; -+ -+ /* Load a JPEG 2000 "code stream" image file into a pixel buffer for XV. -+ Unlike classical JPEG files, they have no clue about the image's color -+ space, so we check for 8-bit data samples but make no effort to check or -+ convert color spaces, and "what you see is what you get". For now, ignore -+ the "quick" option to return a reduced-resolution or -size image. Return 1 -+ on success, or 0 on failure. -+ */ -+ if (!(fp = xv_fopen(fname,fmode))) return 0; -+ fbasename = BaseName(fname); /* Input file's base name, for message(s) */ -+ if (!(iobuf = SetBuf(fp))) -+ { -+ (void)fclose(fp); -+ SetISTR(ISTR_WARNING,no_mem,fbasename,jpc_kind); -+ goto L3; -+ } -+ -+ /* Before telling the JasPer Library about this file, get its size for display -+ purposes. Non-UNIX systems don't necessarily simulate "stat(2)", so do it -+ crudely but portably by seeking to the end, then back to the beginning. -+ */ -+ fseek(fp,0L,2); -+ filesize = ftell(fp); -+ fseek(fp,0L,0); -+ -+ /* "jas_stream_close()" will eventually close the input file, so only do it -+ explicitly if no stream can be created: -+ */ -+ if (!(str = jas_stream_freopen(fname,fmode,fp))) /* nice if prototype... */ -+ { -+ (void)fclose(fp); -+ goto L3; -+ } -+ -+ /* It's not clear to me whether the following represents a JasPer Library "bug" -+ but it sure looks goofy: Unless a stream buffer is marked "read only", -+ which only happens when the stream's "fillbuf" method is called, even though -+ our buffers are always "read only", the library will try to flush out buffer -+ contents when the stream is destroyed, which makes it die a horrible death. -+ So, mark the stream buffer proactively: -+ */ -+ str->bufmode_ |= JAS_STREAM_RDBUF; /* We will only read the stream buffer */ -+ if (!(img = jpc_decode(str,0))) goto L2; -+ if ((vstride = jas_image_numcmpts(img))) /* num. color planes */ -+ { -+ -+ /* After the image-component streams created, they are left in a "write" -+ state with the streams' cursors positioned at their ends, so "seek" in -+ order to "read" each stream from its beginning. -+ */ -+ i = vstride; -+ while (--i >= 0) -+ if (jas_stream_seek(img->cmpts_[i]->stream_,0L,0)) -+ { -+ SetISTR(ISTR_WARNING,read_err,fbasename,jpc_kind); -+ goto L1; -+ } -+ } -+ w = jas_image_width(img); -+ h = jas_image_height(img); -+ -+ /* avoid buffer overflow */ -+ npixels = w * h; -+ bufsize = vstride * npixels; -+ if (w <= 0 || h <= 0 || npixels/w != h || bufsize/vstride != npixels) -+ { -+ (void)fclose(fp); -+ SetISTR(ISTR_WARNING,bad_dims,fbasename); -+ goto L1; -+ } -+ pinfo->normw = pinfo->w = w; -+ pinfo->normh = pinfo->h = h; -+ -+ /* Sanity-check the image's color space and no. of colors. For now, accept -+ only "generic" color spaces, not files needing image-specific color -+ correction, but fix that someday... -+ */ -+ switch (vstride) -+ { -+ default: -+ SetISTR(ISTR_WARNING,bad_samp,fbasename,vstride,jpc_kind); -+ goto L1; -+ case 1: -+ if ((i = jas_image_cmptprec(img,0)) != 8) /* not 8-bit pixels */ -+ { -+ SetISTR(ISTR_WARNING,pixel_size,fbasename,i); -+ goto L1; -+ } -+ s = "Greyscale"; -+ pinfo->type = PIC8; -+ pinfo->colType = F_GREYSCALE; -+ i = 256; /* Return fake indexed-color "map" */ -+ while (--i >= 0) pinfo->r[i] = pinfo->g[i] = pinfo->b[i] = i; -+ break; -+ case 3: -+ -+ /* BEWARE OF KLUDGE: If the image's color space is RGB, assume that the -+ data-sample precision for all color planes is the -+ same. If the color space is YCbCr, assume the luminance (Y = 0th) -+ component has the greatest precision, although the chrominance -+ (Cr = 1st, Cb = 2nd) components are usually sub-sampled. -+ */ -+ if ((i = jas_image_cmptprec(img,0)) != 8) /* not 24-bit pixels */ -+ { -+ SetISTR(ISTR_WARNING,pixel_size,fbasename,i*3); -+ goto L1; -+ } -+ s = "Color"; -+ pinfo->type = PIC24; -+ pinfo->colType = F_FULLCOLOR; -+ -+ /* XXX Unlike the IJG JPEG Library, the JasPer Library is apparently -+ unable to quantize colors or tell us whether the image's colors -+ were quantized by its creator, so it seems that we can't return a -+ color map for XV to potentially use 8-bit indexed color. If there -+ *is* an easy way to do it that escapes me, put the code here someday. -+ */ -+ } -+ if (!(pinfo->pic = (byte *)malloc(bufsize))) /* image buffer for XV */ -+ { -+ SetISTR(ISTR_WARNING,no_mem,fbasename,jpc_kind); -+ goto L1; -+ } -+ pinfo->frmType = F_JPC; -+ sprintf(pinfo->fullInfo,full_msg,s,jpc_kind,filesize); -+ sprintf(pinfo->shrtInfo,shrt_msg,pinfo->w,pinfo->h,s,jpc_kind); -+ SetISTR(ISTR_INFO,load_msg,pinfo->normw,pinfo->normh,s,jpc_kind,filesize); -+ if (vstride == 1) /* gray-scale image */ -+ { register jas_stream_t *c = img->cmpts_[0]->stream_; -+ register byte *p = pinfo->pic; -+ -+ /* Since this is a 1-plane image, avoid a lot of errant nonsense in the -+ JasPer Library by sequentially reading all of the data into our buffer -+ directly. -+ */ -+ do if ((i = (*c->ops_->read_)(c->obj_,(char *)p,bufsize)) <= 0) -+ { -+ SetISTR(ISTR_WARNING,i < 0 ? read_err : truncated,fbasename, -+ jpc_kind); -+ goto L1; -+ } -+ while ((p += i),(bufsize -= i) > 0); -+ } -+ else /* RGB color image */ -+ { -+ -+ /* Reading color images is inefficient because JPEG 2000 wants to partition -+ file data into separate image planes (colors), while XV wants data -+ samples from each plane to be interleaved as 3-byte pixels. Apparently -+ the fastest method consists of 3 passes through the XV image buffer, -+ into which we insert the bytes of each component. -+ */ -+ i = 0; -+ do /* each color component */ -+ { long npix = npixels; -+ register jas_stream_t *c = img->cmpts_[i]->stream_; -+ register byte *p = pinfo->pic + i; -+ -+ do /* each pixel */ -+ { register int b; -+ -+ if ((b = jas_stream_getc(c)) < 0) -+ { -+ SetISTR(ISTR_WARNING, -+ (c->flags_ & JAS_STREAM_EOF) ? truncated : read_err, -+ fbasename,jpc_kind); -+ goto L1; -+ } -+ *p = b; -+ } -+ while ((p += 3),--npix > 0); -+ } -+ while (++i <= 2); -+ } -+ ok = 1; /* Success! */ -+L1: jas_image_destroy(img); -+L2: (void)jas_stream_close(str); -+ free(iobuf); -+L3: return ok; -+} -+ -+int LoadJP2(char *fname,register PICINFO *pinfo,int quick) -+{ -+ jas_image_t *img; -+ jas_stream_t *str; -+ FILE *fp; -+ char *iobuf; -+ const char *s; -+ unsigned long filesize; -+ long w, h, npixels, bufsize; -+ int ok = 0, vstride; -+ register int i; -+ -+ /* Load a JPEG 2000 JP2 image file into a pixel buffer for XV, doing any -+ necessary color-space conversion to end up with 8-bit gray scale or 24-bit -+ RGB. For now, ignore the "quick" option to return a reduced-resolution -+ or -size image. Return 1 on success, or 0 on failure. -+ */ -+ if (!(fp = xv_fopen(fname,fmode))) return 0; -+ fbasename = BaseName(fname); /* Input file's base name, for message(s) */ -+ if (!(iobuf = SetBuf(fp))) -+ { -+ (void)fclose(fp); -+ SetISTR(ISTR_WARNING,no_mem,fbasename,jpc_kind); -+ goto L3; -+ } -+ -+ /* Before telling the JasPer Library about this file, get its size for display -+ purposes. Non-UNIX systems don't necessarily simulate "stat(2)", so do it -+ crudely but portably by seeking to the end, then back to the beginning. -+ */ -+ fseek(fp,0L,2); -+ filesize = ftell(fp); -+ fseek(fp,0L,0); -+ -+ /* "jas_stream_close()" will eventually close the input file, so only do it -+ explicitly if no stream can be created: -+ */ -+ if (!(str = jas_stream_freopen(fname,fmode,fp))) -+ { -+ (void)fclose(fp); -+ goto L3; -+ } -+ -+ /* It's not clear to me whether the following represents a JasPer Library "bug" -+ but it sure looks goofy: Unless a stream buffer is marked "read only", -+ which only happens when the stream's "fillbuf" method is called, even though -+ our buffers are always "read only", the library will try to flush out buffer -+ contents when the stream is destroyed, which makes it die a horrible death. -+ So, mark the stream buffer proactively: -+ */ -+ str->bufmode_ |= JAS_STREAM_RDBUF; /* We will only read the stream buffer */ -+ if (!(img = jp2_decode(str,0))) goto L2; -+ if ((vstride = jas_image_numcmpts(img))) /* num. color planes */ -+ { -+ -+ /* After the image-component streams created, they are left in a "write" -+ state with the streams' cursors positioned at their ends, so "seek" in -+ order to "read" each stream from its beginning. -+ */ -+ i = vstride; -+ while (--i >= 0) -+ if (jas_stream_seek(img->cmpts_[i]->stream_,0L,0)) -+ { -+ SetISTR(ISTR_WARNING,read_err,fbasename,jp2_kind); -+ goto L1; -+ } -+ } -+ w = jas_image_width(img); -+ h = jas_image_height(img); -+ -+ /* avoid buffer overflow */ -+ npixels = w * h; -+ bufsize = vstride * npixels; -+ if (w <= 0 || h <= 0 || npixels/w != h || bufsize/vstride != npixels) -+ { -+ (void)fclose(fp); -+ SetISTR(ISTR_WARNING,bad_dims,fbasename); -+ goto L1; -+ } -+ pinfo->normw = pinfo->w = w; -+ pinfo->normh = pinfo->h = h; -+ -+ /* Sanity-check the image's color space and no. of colors. For now, accept -+ only "generic" color spaces, not files needing image-specific color -+ correction, but fix that someday... -+ */ -+ switch (vstride) -+ { static char color_space[]={"%s: invalid color space!"}; -+ -+ default: -+ SetISTR(ISTR_WARNING,bad_samp,fbasename,vstride,jp2_kind); -+ goto L1; -+ case 1: -+ if ( !jas_clrspc_isunknown(i = jas_image_clrspc(img)) -+ && jas_clrspc_fam(i) != JAS_CLRSPC_FAM_GRAY -+ ) -+ { -+ SetISTR(ISTR_WARNING,color_space,fbasename); -+ goto L1; -+ } -+ if ((i = jas_image_cmptprec(img,0)) != 8) /* not 8-bit pixels */ -+ { -+ SetISTR(ISTR_WARNING,pixel_size,fbasename,i); -+ goto L1; -+ } -+ s = "Greyscale"; -+ pinfo->type = PIC8; -+ pinfo->colType = F_GREYSCALE; -+ i = 256; /* Return fake indexed-color "map" */ -+ while (--i >= 0) pinfo->r[i] = pinfo->g[i] = pinfo->b[i] = i; -+ break; -+ case 3: -+ if (jas_clrspc_isunknown(i = jas_image_clrspc(img))) -+ { -+ SetISTR(ISTR_WARNING,color_space,fbasename); -+ goto L1; -+ } -+ if (jas_clrspc_fam(i) != JAS_CLRSPC_FAM_RGB) -+ { jas_image_t *oimg; -+ jas_cmprof_t *profile; -+ -+ /* Here's where the JasPer Library really shines. The only color -+ space that XV handles is RGB, so if that's not what our image -+ uses, then to quote Capt. Kirk: "Make it so!" -+ */ -+ if (!(profile = jas_cmprof_createfromclrspc(JAS_CLRSPC_SRGB))) -+ { -+ SetISTR(ISTR_WARNING,"%s: can't create RGB profile", -+ fbasename); -+ goto L1; -+ } -+ img = jas_image_chclrspc( oimg = img -+ , profile -+ , JAS_CMXFORM_INTENT_PER -+ ); -+ jas_cmprof_destroy(profile); -+ if (!img) /* Oops! We failed, so restore original image */ -+ { -+ img = oimg; -+ SetISTR(ISTR_WARNING,"%s: can't convert to RGB",fbasename); -+ goto L1; -+ } -+ jas_image_destroy(oimg); -+ } -+ -+ /* BEWARE OF KLUDGE: If the image's color space is RGB, assume that the -+ data-sample precision for all color planes is the -+ same. If the color space is YCbCr, assume the luminance (Y = 0th) -+ component has the greatest precision, although the chrominance -+ (Cr = 1st, Cb = 2nd) components are usually sub-sampled. -+ */ -+ if ((i = jas_image_cmptprec(img,0)) != 8) /* not 24-bit pixels */ -+ { -+ SetISTR(ISTR_WARNING,pixel_size,fbasename,i*3); -+ goto L1; -+ } -+ s = "Color"; -+ pinfo->type = PIC24; -+ pinfo->colType = F_FULLCOLOR; -+ -+ /* XXX Unlike the IJG JPEG Library, the JasPer Library is apparently -+ unable to quantize colors or tell us whether the image's colors -+ were quantized by its creator, so it seems that we can't return a -+ color map for XV to potentially use 8-bit indexed color. If there -+ *is* an easy way to do it that escapes me, put the code here someday. -+ */ -+ } -+ if (!(pinfo->pic = (byte *)malloc(bufsize))) /* image buffer for XV */ -+ { -+ SetISTR(ISTR_WARNING,no_mem,fbasename,jp2_kind); -+ goto L1; -+ } -+ pinfo->frmType = F_JP2; -+ sprintf(pinfo->fullInfo,full_msg,s,jp2_kind,filesize); -+ sprintf(pinfo->shrtInfo,shrt_msg,pinfo->w,pinfo->h,s,jp2_kind); -+ SetISTR(ISTR_INFO,load_msg,pinfo->normw,pinfo->normh,s,jp2_kind,filesize); -+ if (vstride == 1) /* gray-scale image */ -+ { register jas_stream_t *c = img->cmpts_[0]->stream_; -+ register byte *p = pinfo->pic; -+ -+ /* Since this is a 1-plane image, avoid a lot of errant nonsense in the -+ JasPer Library by sequentially reading all of the data into our buffer -+ directly. -+ */ -+ do if ((i = (*c->ops_->read_)(c->obj_,(char *)p,bufsize)) <= 0) -+ { -+ SetISTR(ISTR_WARNING,i < 0 ? read_err : truncated,fbasename, -+ jp2_kind); -+ goto L1; -+ } -+ while ((p += i),(bufsize -= i) > 0); -+ } -+ else /* RGB color image */ -+ { -+ -+ /* Reading color images is inefficient because JPEG 2000 wants to partition -+ file data into separate image planes (colors), while XV wants data -+ samples from each plane to be interleaved as 3-byte pixels. Apparently -+ the fastest method consists of 3 passes through the XV image buffer, -+ into which we insert the bytes of each component. -+ */ -+ i = 0; -+ do /* each color component */ -+ { long npix = npixels; -+ register jas_stream_t *c = img->cmpts_[i]->stream_; -+ register byte *p = pinfo->pic + i; -+ -+ do /* each pixel */ -+ { register int b; -+ -+ if ((b = jas_stream_getc(c)) < 0) -+ { -+ SetISTR(ISTR_WARNING, -+ (c->flags_ & JAS_STREAM_EOF) ? truncated : read_err, -+ fbasename,jp2_kind); -+ goto L1; -+ } -+ *p = b; -+ } -+ while ((p += 3),--npix > 0); -+ } -+ while (++i <= 2); -+ } -+ ok = 1; /* Success! */ -+L1: jas_image_destroy(img); -+L2: (void)jas_stream_close(str); -+ free(iobuf); -+L3: return ok; -+} -+ -+/* The following variables and subroutines are used when writing a JPEG 2000 -+ file, which is done mainly using call-backs from "X Windows" widgets. The -+ most complicated part of this interface is: managing interactions with a -+ window to request the boat-loads of options that the JasPer Library supports. -+ Start by defining subwindow sizes, plus indices into several arrays of -+ corresponding widget-state variables. -+ -+ IMPLEMENTATION NOTES: The following dimensions create a tall, thin window -+ which appears to have considerable empty space at the -+ bottom. Before you complain, click the Precinct Height menu button in order -+ to the tall pop-up subwindow that it generates. If the parent window is made -+ shorter, then this pop-up will be clipped, which is an ugly nuisance. I -+ don't know how to make the pop-up visible outside its parent's borders; do -+ you? If there's some way to make "X Windows" do this, then we might consider -+ making the parent shorter. -+ -+ Note that there is currently no mechanism to program the no. of intermediate -+ layers used by the encoder, or their rates. This is potentially a large and -+ complicated data-entry problem, and perhaps someday we can invent a clever -+ solution using the rest of the parent window's space. -+*/ -+# define JP2KW 275 /* Window width, in pixels */ -+# define JP2KH 400 /* Window height, in pixels */ -+# define BUTTW 51 /* Button width, in pixels (odd for half-toning) */ -+# define BUTTH 20 /* Button height, in pixels */ -+# define MENUW 75 /* Menu-button width, in pixels (odd for half-toning) */ -+# define MENUH 24 /* Menu-button height, in pixels */ -+# define RBUTH 20 /* Radio button height, in pixels */ -+# define RBUTW 51 /* Radio button width, in pixels (odd for half-toning) */ -+# define TEXTH (LINEHIGH+5) /* Text subwindow height, in pixels */ -+# define TEXTW 75 /* Text subwindow width, in pixels */ -+ -+# define J_BOK 0 /* Boolean "Ok" button */ -+# define J_BCANC 1 /* Boolean "Cancel" button */ -+# define J_NBUTT 2 /* No. of regular button widgets */ -+ -+# define J_CSOP 0 /* Boolean encoding-style option buttons */ -+# define J_CEPH 1 -+# define J_CLAZY 2 -+# define J_CTERM 3 -+# define J_CSEGS 4 -+# define J_CVCAU 5 -+# define J_CPTRM 6 -+# define J_CRSTP 7 -+# define J_NCHKB 8 /* No. of check-box button widgets */ -+ -+# define J_MCBXW 0 /* 1-of-N menu-selection buttons */ -+# define J_MCBXH 1 -+# define J_MPREW 2 -+# define J_MPREH 3 -+# define J_MPROG 4 -+# define J_NMENU 5 /* No. of menu-button widgets */ -+ -+# define J_TGBIT 0 /* (Unsigned numeric) string subwindows */ -+# define J_TRES 1 -+# define J_TRATE 2 -+# define J_NTEXT 3 /* No. of text subwindows */ -+ -+static BUTT button[J_NBUTT]; -+static CBUTT chkbut[J_NCHKB]; -+static MBUTT menu[J_NMENU]; -+static RBUTT *radio; -+static Window text[J_NTEXT]; -+static int colorType, format, textval[J_NTEXT]; -+static const char *ProgList[]={"lrcp","rlcp","rpcl","pcrl","cprl"}; -+ -+void CreateJP2KW(void) -+{ -+ static const char EXP2_0[] ={ "1"}, /* Successive powers of 2 */ -+ EXP2_1[] ={ "2"}, -+ EXP2_2[] ={ "4"}, -+ EXP2_3[] ={ "8"}, -+ EXP2_4[] ={ "16"}, -+ EXP2_5[] ={ "32"}, -+ EXP2_6[] ={ "64"}, -+ EXP2_7[] ={ "128"}, -+ EXP2_8[] ={ "256"}, -+ EXP2_9[] ={ "512"}, -+ EXP2_10[]={ "1024"}, -+ EXP2_11[]={ "2048"}, -+ EXP2_12[]={ "4096"}, -+ EXP2_13[]={ "8192"}, -+ EXP2_14[]={"16384"}, -+ EXP2_15[]={"32768"}; -+ static const char *CBoxList[]= -+ { -+ EXP2_1 ,EXP2_2 ,EXP2_3 ,EXP2_4 ,EXP2_5,EXP2_6 ,EXP2_7 ,EXP2_8 ,EXP2_9, -+ EXP2_10,EXP2_11 -+ }; -+ static const char *PrecList[]= -+ { -+ EXP2_0,EXP2_1,EXP2_2 ,EXP2_3 ,EXP2_4 ,EXP2_5 ,EXP2_6 ,EXP2_7 , -+ EXP2_8,EXP2_9,EXP2_10,EXP2_11,EXP2_12,EXP2_13,EXP2_14,EXP2_15 -+ }; -+ static const char hstr[]={"Height"}, wstr[]={"Width"}; -+ -+ if (!(jp2kW = CreateWindow( "xvjp2k" -+ , "XVjp2k" -+ , 0 -+ , JP2KW -+ , JP2KH -+ , infofg -+ , infobg -+ , 0 -+ ) -+ ) -+ ) FatalError("can't create JPEG 2000 window!"); -+ XSelectInput(theDisp,jp2kW,ExposureMask|ButtonPressMask|KeyPressMask); -+ -+ /* Create a row of 2 boolean-valued, regular buttons ("Ok" and "Cancel") in the -+ window's bottom right corner. -+ */ -+ BTCreate(&button[J_BOK ],jp2kW, -+ JP2KW-2*BUTTW-20,JP2KH-10-BUTTH-1,BUTTW,BUTTH, -+ "Ok" ,infofg,infobg,hicol,locol); -+ BTCreate(&button[J_BCANC],jp2kW, -+ JP2KW- BUTTW-10,JP2KH-10-BUTTH-1,BUTTW,BUTTH, -+ "Cancel",infofg,infobg,hicol,locol); -+ -+ /* Create a vertical column of 8 boolean-valued, check-box buttons (for -+ encoding-style options) down the window's left side. -+ */ -+ CBCreate(&chkbut[J_CSOP] ,jp2kW, -+ 10,10+ASCENT+SPACING+2*LINEHIGH+0*BUTTH, -+ "sop" ,infofg,infobg,hicol,locol); -+ CBCreate(&chkbut[J_CEPH] ,jp2kW, -+ 10,10+ASCENT+SPACING+2*LINEHIGH+1*BUTTH, -+ "eph" ,infofg,infobg,hicol,locol); -+ CBCreate(&chkbut[J_CLAZY],jp2kW, -+ 10,10+ASCENT+SPACING+2*LINEHIGH+2*BUTTH, -+ "lazy" ,infofg,infobg,hicol,locol); -+ CBCreate(&chkbut[J_CTERM],jp2kW, -+ 10,10+ASCENT+SPACING+2*LINEHIGH+3*BUTTH, -+ "termall" ,infofg,infobg,hicol,locol); -+ CBCreate(&chkbut[J_CSEGS],jp2kW, -+ 10,10+ASCENT+SPACING+2*LINEHIGH+4*BUTTH, -+ "segsym" ,infofg,infobg,hicol,locol); -+ CBCreate(&chkbut[J_CVCAU],jp2kW, -+ 10,10+ASCENT+SPACING+2*LINEHIGH+5*BUTTH, -+ "vcausal" ,infofg,infobg,hicol,locol); -+ CBCreate(&chkbut[J_CPTRM],jp2kW, -+ 10,10+ASCENT+SPACING+2*LINEHIGH+6*BUTTH, -+ "pterm" ,infofg,infobg,hicol,locol); -+ CBCreate(&chkbut[J_CRSTP],jp2kW, -+ 10,10+ASCENT+SPACING+2*LINEHIGH+7*BUTTH, -+ "resetprob",infofg,infobg,hicol,locol); -+ /* Create text subwindows for unsigned decimal integer values. */ -+ -+ text[J_TGBIT] = XCreateSimpleWindow(theDisp,jp2kW, -+ JP2KW-TEXTW-10,10+ASCENT+SPACING+2*LINEHIGH+3*MENUH+0*TEXTH,TEXTW,TEXTH, -+ 1,infofg,infobg); -+ XSelectInput(theDisp,text[J_TGBIT],ExposureMask|KeyPressMask); -+ text[J_TRES ] = XCreateSimpleWindow(theDisp,jp2kW, -+ JP2KW-TEXTW-10,10+ASCENT+SPACING+2*LINEHIGH+3*MENUH+1*TEXTH,TEXTW,TEXTH, -+ 1,infofg,infobg); -+ XSelectInput(theDisp,text[J_TRES ],ExposureMask|KeyPressMask); -+ text[J_TRATE] = XCreateSimpleWindow(theDisp,jp2kW, -+ JP2KW-TEXTW-10,10+ASCENT+SPACING+2*LINEHIGH+3*MENUH+2*TEXTH,TEXTW,TEXTH, -+ 1,infofg,infobg); -+ XSelectInput(theDisp,text[J_TRATE],ExposureMask|KeyPressMask); -+ -+ /* Create a row of 2 boolean-valued radio buttons (for the "Rate" subwindow -+ value's unit of measure). The 1st button is "selected" by default. -+ */ -+ radio = RBCreate(0,jp2kW, -+ JP2KW-19*RBUTW/8-10,10+ASCENT+SPACING+2*LINEHIGH+3*MENUH+3*TEXTH+4, -+ "Percent",infofg,infobg,hicol,locol); -+ (void)RBCreate(radio,jp2kW, -+ JP2KW-1*RBUTW-10 ,10+ASCENT+SPACING+2*LINEHIGH+3*MENUH+3*TEXTH+4, -+ "Bytes",infofg,infobg,hicol,locol); -+ -+ /* Create pop-up menu-selection buttons after mapping the above subwindows, -+ since we don't want the pop-up menus mapped unless the corresponding button -+ is selected. -+ */ -+ XMapSubwindows(theDisp,jp2kW); -+ MBCreate(&menu[J_MCBXW],jp2kW, -+ JP2KW-2*MENUW-10,10+ASCENT+SPACING+2*LINEHIGH+0*MENUH,MENUW,MENUH, -+ wstr ,CBoxList,sizeof CBoxList/sizeof *CBoxList,infofg,infobg, -+ hicol,locol); -+ MBCreate(&menu[J_MCBXH],jp2kW, -+ JP2KW-2*MENUW-10,10+ASCENT+SPACING+2*LINEHIGH+1*MENUH,MENUW,MENUH, -+ hstr ,CBoxList,sizeof CBoxList/sizeof *CBoxList,infofg,infobg, -+ hicol,locol); -+ MBCreate(&menu[J_MPREW],jp2kW, -+ JP2KW-1*MENUW-10,10+ASCENT+SPACING+2*LINEHIGH+0*MENUH,MENUW,MENUH, -+ wstr ,PrecList,sizeof PrecList/sizeof *PrecList,infofg,infobg, -+ hicol,locol); -+ MBCreate(&menu[J_MPREH],jp2kW, -+ JP2KW-1*MENUW-10,10+ASCENT+SPACING+2*LINEHIGH+1*MENUH,MENUW,MENUH, -+ hstr ,PrecList,sizeof PrecList/sizeof *PrecList,infofg,infobg, -+ hicol,locol); -+ MBCreate(&menu[J_MPROG],jp2kW, -+ JP2KW-1*MENUW-10,10+ASCENT+SPACING+2*LINEHIGH+2*MENUH,MENUW,MENUH, -+ "Order",ProgList,sizeof ProgList/sizeof *ProgList,infofg,infobg, -+ hicol,locol); -+ -+ /* Initialize values represented by widgets, which should correspond to default -+ compiled into the JasPer Library. Unfortunately, as of Version 1.701 there -+ is no easy way for an application to extract these from the library, so the -+ following code might get out of sync over time: -+ */ -+ menu[J_MCBXW].hascheck = 1; menu[J_MCBXW].flags[ 5] = 1; -+ menu[J_MCBXH].hascheck = 1; menu[J_MCBXH].flags[ 5] = 1; -+ menu[J_MPREW].hascheck = 1; menu[J_MPREW].flags[15] = 1; -+ menu[J_MPREH].hascheck = 1; menu[J_MPREH].flags[15] = 1; -+ menu[J_MPROG].hascheck = 1; menu[J_MPROG].flags[ 0] = 1; -+ textval[J_TGBIT] = 2; /* No. of guard bits */ -+ textval[J_TRES ] = 6; /* Max. no. of resolution levels */ -+ textval[J_TRATE] = 100; /* Rate = 100% */ -+} -+ -+void JP2KSaveParams(int fmt,char *fname,int col) /* Save output-file parms */ -+{ -+ format = fmt; /* Desired file format: F_JPC|F_JP2 */ -+ fbasename = fname; /* ->Output file path */ -+ colorType = col; /* Desired color space: F_GREYSCALE|... */ -+} -+ -+static void StoreJP2K(char *options) -+{ -+ static jas_image_cmptparm_t parm[3]= /* Image parameters */ -+ {{0,0,1,1,0,0,8,0},{0,0,1,1,0,0,8,0},{0,0,1,1,0,0,8,0}}; -+ static char nomem[]={"StoreJP2K: out of memory\n"}, -+ write[]={"w"}; -+ jas_image_t *img; -+ jas_stream_t *str; -+ FILE *fp, *fp2; -+ byte *pic, *r, *g, *b; -+ const char *filename; -+ char *iobuf = 0; -+ unsigned long imagesize; -+ jas_clrspc_t color_space; -+ int nc, w, h, pfree, ptype, error = 1; -+ register int i; -+ -+ /* This is a generic subroutine for writing JPEG 2000 image files using the -+ JasPer Library. Our argument is an ASCII string, containing a Space (" ")- -+ separated sequence of encoder options that currently aren't well documented. -+ Most of the work is identical for both ".jpc" and ".jp2" files. Start by -+ verifying that the output file can be opened, then get an image buffer from -+ XV and begin crunching it into a suitable form for the JasPer Library. -+ */ -+ if (!(fp = OpenOutFile(filename = fbasename))) return; /* Oops! */ -+ setbuf(fp,0); /* We don't really use this file pointer for I/O; see below */ -+ fbasename = BaseName(filename); -+ WaitCursor(); -+ pic = GenSavePic(&ptype,&w,&h,&pfree,&nc,&r,&g,&b); -+ imagesize = w*h; -+ if (ptype == PIC24) imagesize *= 3; -+ -+ /* As an optimization to save file space, even if our user didn't ask to store -+ a gray-scale image, check whether we could and, if so, do it anyway. -+ */ -+ if (colorType != F_GREYSCALE) /* can we force a gray-scale image? */ -+ { -+ if (ptype == PIC8) -+ { -+ i = nc; -+ while (--i >= 0 && r[i] == g[i] && r[i] == b[i]); -+ } -+ else /* PIC24 */ -+ { register byte *p = pic + imagesize; -+ -+ while ((p -= 3) >= pic && p[0] == p[1] && p[0] == p[2]); -+ i = p-pic; -+ }; -+ if (i < 0) colorType = F_GREYSCALE; /* We made it all the way through */ -+ }; -+ -+ /* If XV is currently color-mapping the image, make a color-mapped copy so that -+ the map needn't be transmitted in the output file. -+ */ -+ if ((i = (colorType != F_GREYSCALE) << 1 | (ptype != PIC8)) != 3) -+ { byte *tmp = pic, *last = pic + imagesize; -+ register byte *from = tmp, *to = pic; -+ -+ if (!(pic = (byte *)malloc(imagesize))) FatalError(nomem); -+ switch (i) -+ { -+ -+ /* Color-map 8->8 bit image. */ -+ -+ case 0: do -+ { -+ i = *from; -+ *to++ = MONO(r[i],g[i],b[i]); -+ } -+ while (++from < last); -+ break; -+ -+ /* Color-map 24->8 bit image. */ -+ -+ case 1: do *to++ = MONO(from[0],from[1],from[2]); -+ while ((from += 3) < last); -+ break; -+ -+ /* Color-map 8->24 bit image. */ -+ -+ case 2: do -+ { -+ i = *from; -+ *to++ = r[i]; *to++ = g[i]; *to++ = b[i]; -+ } -+ while (++from < last); -+ break; -+ }; -+ if (pfree) free(tmp); /* Release the original image buffer if we can */ -+ pfree = 1; /* Let the modified buffer be released later */ -+ }; -+ -+ /* Initialize various image-file parameter variables. */ -+ -+ parm[0].width = w; -+ parm[0].height = h; -+ if (colorType == F_GREYSCALE) /* gray-scale image */ -+ { -+ ptype = 1; /* No. of color planes */ -+ color_space = JAS_CLRSPC_SGRAY; -+ } -+ else /* RGB color image */ -+ { -+ ptype = 3; /* No. of color planes */ -+ color_space = JAS_CLRSPC_SRGB; -+ parm[2].width = parm[1].width = parm[0].width; -+ parm[2].height = parm[1].height = parm[0].height; -+ }; -+ -+ /* Now comes a egregious hack: The JasPer Library will eventually want to -+ close the output file that it writes, but since XV opened the file, XV also -+ thinks it has the right to close the file! In order to pacify them both, -+ we duplicate the file pointer and let the JasPer Library have it, while we -+ retain the original for XV. -+ -+ XXX This code is very UNIX-specific; what's an equivalent hack for Windows? -+ */ -+ if (!(fp2 = (i = dup(fileno(fp))) >= 0 ? fdopen(i,write) : 0)) -+ FatalError("StoreJP2K: can't duplicate output file pointer\n"); -+ if (!(iobuf = SetBuf(fp2))) -+ { -+ (void)fclose(fp2); -+ FatalError(nomem); -+ }; -+ -+ /* Hand our output file to the JasPer Library and create an image object. -+ "jas_stream_close()" will eventually close our output file, so only do it -+ explicitly if no stream can be created. If everything looks copacetic, -+ then write our buffer contents to the image components' streams. -+ */ -+ if (!(str = jas_stream_freopen(filename,write,fp2))) -+ { -+ (void)fclose(fp2); -+ FatalError("StoreJP2K: can't open output stream\n"); -+ }; -+ if (!(img = jas_image_create(ptype,parm,color_space))) goto L2; -+ if (ptype == 1) -+ { register jas_stream_t *c = img->cmpts_[0]->stream_; -+ register byte *p = pic; -+ -+ /* Since this is a 1-plane image, avoid a lot of errant nonsense in the -+ JasPer Library by sequentially writing all of the data directly from our -+ buffer. -+ */ -+ jas_image_setcmpttype(img,0,JAS_IMAGE_CT_GRAY_Y); -+ img->cmpts_[0]->type_ = JAS_IMAGE_CT_GRAY_Y; -+ do if ((i = (*c->ops_->write_)(c->obj_,(char *)p,imagesize)) <= 0) -+ goto L1; -+ while ((p += i),(imagesize -= i) > 0); -+ if (jas_stream_flush(c) < 0) goto L1; -+ } -+ else /* RGB color image */ -+ { -+ -+ /* Writing color images is inefficient because JPEG 2000 wants to partition -+ file data into separate image planes (colors), while XV wants data -+ samples from each plane to be interleaved as 3-byte pixels. Apparently -+ the fastest method consists of 3 passes through the XV image buffer, -+ from which we extract the bytes of each component. -+ */ -+ i = 0; -+ do /* each color component */ -+ { long npix = imagesize/3; -+ register jas_stream_t *c = img->cmpts_[i]->stream_; -+ register byte *p = pic + i; -+ -+ jas_image_setcmpttype(img,i,i+JAS_IMAGE_CT_RGB_R); -+ do if (jas_stream_putc(c,*p) < 0) goto L1; -+ while ((p += 3),--npix > 0); -+ if (jas_stream_flush(c) < 0) goto L1; -+ } -+ while (++i <= 2); -+ }; -+ if ( (*(format == F_JPC ? jpc_encode : jp2_encode))(img,str,options) >= 0 -+ && jas_stream_flush(str) >= 0 -+ ) error = 0; /* Success! */ -+L1: jas_image_destroy(img); -+L2: (void)jas_stream_close(str); -+ if (iobuf) free(iobuf); -+ if (pfree) free(pic); -+ if (!CloseOutFile(fp,filename,error)) DirBox(0); -+ SetCursors(-1); -+} -+ -+void JP2KDialog(int vis) -+{ -+ if ((jp2kUp = vis)) CenterMapWindow(jp2kW,0,0,JP2KW,JP2KH); -+ else XUnmapWindow(theDisp,jp2kW); -+} -+ -+static void TWRedraw(Window w,unsigned int val) -+{ -+ char buf[11]; -+ register int i; -+ -+ /* Draw a 1-line numeric text string in the specified window, representing the -+ argument value as a left-justified unsigned decimal integer, followed by a -+ "cursor" icon. -+ */ -+ sprintf(buf,"%u",val); -+ if (ctrlColor) XClearArea(theDisp,w,2,2,TEXTW-4,TEXTH-4,False); -+ else XClearWindow(theDisp,w); -+ Draw3dRect(w,0,0,TEXTW-1,TEXTH-1,R3D_IN,2,hicol,locol,infobg); -+ XSetForeground(theDisp,theGC,infofg); -+ XDrawString(theDisp,w,theGC,3,ASCENT+3,buf,i = strlen(buf)); -+ -+ /* Draw a "cursor" icon after the numeric string. */ -+ -+ i = XTextWidth(mfinfo,buf,i); -+ XDrawLine(theDisp,w,theGC,i+3,2 ,i+3,2+CHIGH+1); -+ XDrawLine(theDisp,w,theGC,i+3,2+CHIGH+1,i+5,2+CHIGH+3); -+ XDrawLine(theDisp,w,theGC,i+3,2+CHIGH+1,i+1,2+CHIGH+3); -+} -+ -+int JP2KCheckEvent(register XEvent *xev) -+{ -+ int ok = 0; -+ -+ /* Check whether the argument "X Windows" event is for one of our subwindows. -+ If it is, handle the event and return 1; otherwise, return 0. -+ */ -+ if (!jp2kUp) return 0; -+ switch (xev->type) -+ { KeySym ks; -+ int len; -+ char buf[128]; -+ register int i; -+ -+ /* Throw away excess "expose" events for "dumb" windows. */ -+ -+ case Expose : -+# define E ((XExposeEvent *)xev) -+ if (E->window == jp2kW) -+ { XRectangle rect; -+ -+ rect.x = E->x ; rect.y = E->y ; -+ rect.width = E->width; rect.height = E->height; -+ XSetClipRectangles(theDisp,theGC,0,0,&rect,1,Unsorted); -+ XSetForeground(theDisp,theGC,infofg); -+ XSetBackground(theDisp,theGC,infobg); -+ i = sizeof button/sizeof *button; -+ while (--i >= 0) BTRedraw(&button[i]); -+ i = sizeof chkbut/sizeof *chkbut; -+ while (--i >= 0) CBRedraw(&chkbut[i]); -+ i = sizeof menu/sizeof *menu; -+ while (--i >= 0) MBRedraw(&menu[i]); -+ RBRedraw(radio,-1); -+ DrawString(jp2kW,10,10+ASCENT,"Save JPEG 2000 File..."); -+ DrawString(jp2kW,10,10+ASCENT+2*LINEHIGH,"Style options:"); -+ DrawString(jp2kW,JP2KW-2*MENUW-10,10+ASCENT+2*LINEHIGH, -+ "Coding Blk"); -+ DrawString(jp2kW,JP2KW-1*MENUW-10,10+ASCENT+2*LINEHIGH, -+ " Precinct"); -+ DrawString(jp2kW, -+ JP2KW-2*MENUW-10,10+ASCENT+SPACING+3*LINEHIGH+2*MENUH, -+ "Progression:"); -+ DrawString(jp2kW, -+ JP2KW-2*TEXTW-10,10+ASCENT+SPACING+3*LINEHIGH+3*MENUH+0*TEXTH, -+ "Guard bits:"); -+ DrawString(jp2kW, -+ JP2KW-2*TEXTW-10,10+ASCENT+SPACING+3*LINEHIGH+3*MENUH+1*TEXTH, -+ "Res levels:"); -+ DrawString(jp2kW, -+ JP2KW-2*TEXTW-10,10+ASCENT+SPACING+3*LINEHIGH+3*MENUH+2*TEXTH, -+ "Rate:"); -+ XSetClipMask(theDisp,theGC,None); -+ ok = 1; -+ break; -+ }; -+ i = sizeof text/sizeof *text; -+ while (--i >= 0 && E->window != text[i]); -+ if (i >= 0) -+ { -+ TWRedraw(E->window,textval[i]); -+ ok = 1; -+ }; -+ break; -+# undef E -+ -+ /* Check whether the user pressed one of our buttons. */ -+ -+ case ButtonPress: -+# define E ((XButtonEvent *)xev) -+ if (E->button == Button1 && E->window == jp2kW) -+ { register int j; -+ -+ ok = 1; /* Check whether a regular button was pressed */ -+ i = sizeof button/sizeof *button; -+ while ( --i >= 0 -+ && !PTINRECT(E->x,E->y,button[i].x,button[i].y,button[i].w,button[i].h) -+ ); -+ if (i >= 0) /* our button was pressed */ -+ { char options[1024]; -+ register char *p; -+ register const char *q; -+ -+ if (!BTTrack(&button[i])) break; /* Ignore it */ -+ if (i != J_BOK) /* must be "Cancel" button */ -+ { -+ JP2KDialog(0); -+ break; -+ }; -+ -+ /* Our user hit the "Ok" button. At this point, we have an ugly -+ job to do: JasPer Library encoder options must be specified -+ as an ASCII string of Space (" ")-separated [=] -+ entries, so we must collect the values of all of our widgets -+ and subwindows, determine whether our user has requested any -+ non-default values, then build the string only for the JasPer -+ Library to immediately tear it apart again. Yechh! -+ */ -+ if ((unsigned)textval[J_TGBIT]-1 > 7) -+ { -+ OpenAlert("No. of guard bits must be 1-8"); -+ sleep(3); -+ CloseAlert(); -+ break; -+ }; -+ if ((unsigned)textval[J_TRES ] <= 0) -+ { -+ OpenAlert("Maximum resolution levels must be >= 1"); -+ sleep(3); -+ CloseAlert(); -+ break; -+ }; -+ -+ /* XXX Should we check and complain if the rate is zero? -+ JasPer Library Version 1.701 apparently accepts that -+ value, even though it seems kinda weird. -+ */ -+ p = options; -+ i = 0; -+ do if ((j = MBWhich(&menu[i])) != 5) -+ { static const char *parm[2] = -+ {"cblkwidth=%u", "cblkheight=%u"}; -+ -+ if (p > options) *p++ = ' '; -+ sprintf(p,parm[i-J_MCBXW],++j); -+ while (*++p); -+ } -+ while (++i <= J_MCBXH); -+ do if ((j = MBWhich(&menu[i])) < 15) -+ { static const char *parm[2] = -+ {"prcwidth=%u", "prcheight=%u"}; -+ -+ if (p > options) *p++ = ' '; -+ sprintf(p,parm[i-J_MPREW],j); -+ while (*++p); -+ } -+ while (++i <= J_MPREH); -+ if ((j = MBWhich(&menu[i]))) -+ { -+ if (p > options) *p++ = ' '; -+ *p++ = 'p'; *p++ = 'r'; *p++ = 'g'; *p = '='; -+ q = ProgList[j]; -+ while ((*++p = *q++)); -+ }; -+ if ((i = textval[J_TRES ]) != 6) -+ { -+ if (p > options) *p++ = ' '; -+ sprintf(p,"numrlvls=%u",i); -+ while (*++p); -+ }; -+ i = 0; -+ do if (chkbut[i].val) /* append this encoding option */ -+ { -+ if (p > options) *p++ = ' '; -+ q = chkbut[i].str; -+ while ((*p++ = *q++)); -+ *--p = '\000'; -+ } -+ while (++i < sizeof chkbut/sizeof *chkbut); -+ if ((i = textval[J_TGBIT]) != 2) -+ { -+ if (p > options) *p++ = ' '; -+ sprintf(p,"numgbits=%u",i); -+ while (*++p); -+ }; -+ if ((i = textval[J_TRATE]) != 100) -+ { -+ if (p > options) *p++ = ' '; -+ *p++ = 'r'; *p++ = 'a'; *p++ = 't'; *p++ = 'e'; -+ *p++ = '='; -+ if (i) /* non-zero rate */ -+ { -+ if (RBWhich(radio)) sprintf(p,"%uB",i); /* # Bytes */ -+ else /* the value is a percentage */ -+ { -+ if (i > 100) i = 200; /* => Raw size + 1 */ -+ sprintf(p,"%u.%.2u",i/100,i%100); -+ } -+ while (*++p); -+ } -+ else /* rate = 0 */ -+ { -+ -+ /* XXX This is apparently valid, since JasPer Library -+ Version 1.701 doesn't complain about it. -+ */ -+ *p++ = '0'; -+ *p = '\000'; -+ } -+ }; -+ StoreJP2K(options); /* Finally, do the *real* work! */ -+ JP2KDialog(0); -+ p = GetDirFullName(); -+ if (!ISPIPE(*p)) -+ { -+ XVCreatedFile(p); -+ StickInCtrlList(0); -+ }; -+ break; -+ }; -+ -+ /* See whether a check-box button was pressed. */ -+ -+ i = sizeof chkbut/sizeof *chkbut; -+ while (--i >= 0 && !CBClick(&chkbut[i],E->x,E->y)); -+ if (i >= 0) /* our button was pressed */ -+ { -+ (void)CBTrack(&chkbut[i]); -+ break; -+ }; -+ -+ /* See whether a menu button was pressed. */ -+ -+ i = sizeof menu/sizeof *menu; -+ while (--i >= 0 && !MBClick(&menu[i],E->x,E->y)); -+ if (i >= 0) /* our button was pressed */ -+ { register int j; -+ -+ if ((j = MBTrack(&menu[i])) >= 0) -+ { -+ switch (i) -+ { -+ -+ /* The JasPer Library constrains a coding box's area -+ (width x height) to be <= 4096 pixels, so if this -+ button-press would violate that condition, then -+ quietly limit the box's orthogonal dimension by just -+ enough to compensate. -+ */ -+ case J_MCBXH: -+ case J_MCBXW: if (MBWhich(&menu[!i]) + j >= 10) -+ MBSelect(&menu[!i],10 - j); -+ }; -+ MBSelect(&menu[i],j); -+ MBSetActive(&menu[i],1); -+ }; -+ break; -+ }; -+ -+ /* See whether a radio button was pressed. */ -+ -+ if ( (i = RBClick(radio,E->x,E->y)) >= 0 /* button pressed */ -+ && RBTrack(radio,i) -+ ) -+ { -+ RBSelect(radio,i); -+ RBSetActive(radio,i,1); -+ }; -+ break; -+ }; -+ XBell(theDisp,50); -+ break; -+# undef E -+ -+ /* Translate a few key-press events into simulated button events. */ -+ -+ case KeyPress : -+# define E ((XKeyEvent *)xev) -+ buf[len = XLookupString(E,buf,sizeof buf,&ks,0)] = '\000'; -+ RemapKeyCheck(ks,buf,&len); -+ if (E->window == jp2kW) -+ { -+ ok = 1; -+ if (len > 0) -+ switch (buf[0]) -+ { -+ case '\r' : -+ case '\n' : FakeButtonPress(&button[J_BOK ]); -+ break; -+ case '\033': FakeButtonPress(&button[J_BCANC]); -+ }; -+ break; -+ }; -+ i = sizeof text/sizeof *text; -+ while (--i >= 0 && E->window != text[i]); -+ if (i >= 0) /* a key was pressed in our text window */ -+ { int oldval = textval[i]; /* Save this subwindow's old value */ -+ register int c, j = 0; -+ -+ /* This is a *very* simple text-input editing loop that assembles an -+ an unsigned integer from successive ASCII decimal digits, typed -+ into one of our 1-line subwindows. For convenience, the only -+ character recognized is Backspace. -+ */ -+ ok = 1; -+ L: if (j >= len) break; -+ if ((unsigned)(c = buf[j++] - '0') <= 9) -+ { -+ TWRedraw(text[i],textval[i] = textval[i]*10 + c); -+ goto L; -+ }; -+ if ((c += '0') == '\b') -+ { -+ TWRedraw(text[i],textval[i] = textval[i]/10); -+ goto L; -+ }; -+ textval[i] = oldval; -+ }; -+ XBell(theDisp,50); -+# undef E -+ }; -+ return ok; -+} -+ -+ -+/*******************************************/ -+void -+VersionInfoJP2K() /* GRR 20070304 */ -+{ -+ fprintf(stderr, " Compiled with libjasper %s; using libjasper %s.\n", -+ JAS_VERSION, jas_getversion()); -+} -+ -+#endif /* HAVE_JP2K */ -diff -u -r --new-file xv-3.10a.orig/xvmag.c xv-3.10a/xvmag.c ---- xv-3.10a.orig/xvmag.c 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/xvmag.c 2005-04-18 00:56:58.000000000 -0500 -@@ -0,0 +1,866 @@ -+/* -+ * xvmag.c - load routine for `MAG' format pictures. -+ * -+ * The `MAG' format is used by many Japanese personal computer users. -+ * This program is based on MAGBIBLE.DOC which is the specification -+ * for `MAG' format written by Woody RINN. It is written in Japanese, -+ * and exists in some anon-ftp sites. -+ */ -+ -+#include "xv.h" -+#include -+ -+#ifdef HAVE_MAG -+ -+typedef unsigned short data16; -+ -+struct mag { -+ jmp_buf jmp; -+ FILE *fp; -+ long fsize; -+ int m_256, m_dig, m_8, m_200; -+ int x1, y1, x2, y2, left_pad, right_pad; -+ int p_width, p_height, width, height; -+ long h_off, a_off, a_size, b_off, b_size, p_off, p_size; -+ byte *a, *b, *p; -+}; -+ -+static void mag_open_file PARM((struct mag*, char*)); -+static void mag_read_check_data PARM((struct mag*)); -+static void mag_read_comment PARM((struct mag*, char**)); -+static void mag_read_header PARM((struct mag*)); -+static void mag_read_palette PARM((struct mag*, byte*, byte*, byte*)); -+static void mag_read_flags PARM((struct mag*)); -+static void mag_read_pixel_data PARM((struct mag*)); -+static void mag_expand_body PARM((struct mag*, byte**)); -+ -+static void mag_compress_data PARM((struct mag*, byte*)); -+static void mag_write_check_data PARM((struct mag*)); -+static void mag_write_comment PARM((struct mag*, char *)); -+static void mag_write_palette PARM((struct mag*, int, -+ byte*, byte*, byte*, int)); -+static void mag_write_flags PARM((struct mag*)); -+static void mag_write_pixel_data PARM((struct mag*)); -+static void mag_write_header PARM((struct mag*)); -+static void mag_set_double_word PARM((long, byte *)); -+ -+static void mag_init_info PARM((struct mag*)); -+static void mag_cleanup_mag_info PARM((struct mag*, int)); -+static void mag_cleanup_pinfo PARM((PICINFO*)); -+static void mag_memory_error PARM((char*, char*)); -+static void mag_error PARM((struct mag*, int)); -+static void mag_file_error PARM((struct mag*, int)); -+static void mag_file_warning PARM((struct mag*, int)); -+static void mag_show_struct PARM((struct mag*)); -+static void *mag_malloc PARM((size_t, char*)); -+static void *mag_realloc PARM((void*, size_t, char*)); -+ -+ -+static char *mag_id = "MAKI02 "; -+static struct{ -+ int dx, dy; -+}points[16] = { -+ { 0, 0}, { 1, 0}, { 2, 0}, { 4, 0}, -+ { 0, 1}, { 1, 1}, -+ { 0, 2}, { 1, 2}, { 2, 2}, -+ { 0, 4}, { 1, 4}, { 2, 4}, -+ { 0, 8}, { 1, 8}, { 2, 8}, -+ { 0, 16}, -+}; -+static int try[15] = {1, 4, 5, 6, 7, 9, 10, 2, 8, 11, 12, 13, 14, 3, 15}; -+ -+static char *mag_msgs[] = { -+ NULL, -+#define MAG_OPEN 1 -+ "can't open file", -+#define MAG_CORRUPT 2 -+ "file currupted.", -+#define MAG_FORMAT 3 -+ "not MAG format.", -+#define MAG_WRITE 4 -+ "write failed.", -+}; -+ -+ -+#define H4(x) (((int) (x) >> 4) & 0x0f) /* operates on a byte */ -+#define L4(x) ((x) & 0x0f) -+#define H8(x) (((x) >> 8) & 0xff) /* operates on a data16 */ -+#define L8(x) ((x) & 0xff) -+ -+#define error(msgnum) longjmp(mi->jmp, msgnum) -+ -+ -+/* The main routine to load a MAG file. */ -+int LoadMAG(fname, pinfo) -+ char *fname; -+ PICINFO *pinfo; -+{ -+ struct mag mag; -+ int e; -+ -+ if(DEBUG) fputs("LoadMAG:\n", stderr); -+ -+ pinfo->comment = NULL; -+ mag_init_info(&mag); -+ if((e = setjmp(mag.jmp)) != 0){ -+ /* When an error occurs, comes here. */ -+ mag_cleanup_mag_info(&mag, 0); -+ mag_cleanup_pinfo(pinfo); -+ return 0; -+ } -+ -+ mag_open_file(&mag, fname); -+ mag_read_check_data(&mag); -+ mag_read_comment(&mag, &pinfo->comment); -+ mag_read_header(&mag); -+ mag_read_palette(&mag, pinfo->r, pinfo->g, pinfo->b); -+ mag_read_flags(&mag); -+ mag_read_pixel_data(&mag); -+ mag_expand_body(&mag, &pinfo->pic); -+ -+ pinfo->w = pinfo->normw = mag.width; -+ pinfo->h = pinfo->normh = mag.height; -+ pinfo->type = PIC8; -+ pinfo->frmType = F_MAG; -+ pinfo->colType = F_FULLCOLOR; -+ sprintf(pinfo->fullInfo, "MAG, %d colors%s (%ld bytes)", -+ mag.m_256 ? 256 : (mag.m_8 ? 8 : 16), -+ mag.m_200 ? ", aspect 0.5" : "", mag.fsize); -+ sprintf(pinfo->shrtInfo, "%dx%d MAG", mag.width, mag.height); -+ if(mag.m_200) -+ normaspect = 0.5; -+ -+ mag_cleanup_mag_info(&mag, 0); -+ return 1; -+} -+ -+static void mag_open_file(mi, fname) -+ struct mag *mi; -+ char *fname; -+{ -+ if((mi->fp = fopen(fname, "rb")) == NULL) -+ mag_file_error(mi, MAG_OPEN); -+ fseek(mi->fp, (size_t) 0, SEEK_END); -+ mi->fsize = ftell(mi->fp); -+ fseek(mi->fp, (size_t) 0, SEEK_SET); -+} -+ -+static void mag_read_check_data(mi) -+ struct mag *mi; -+{ -+ char buffer[8]; -+ -+ if(fread(buffer, (size_t) 8, (size_t) 1, mi->fp) != 1) -+ mag_file_error(mi, MAG_CORRUPT); -+ if(strncmp(buffer, mag_id, (size_t) 8) != 0) -+ mag_error(mi, MAG_FORMAT); -+} -+ -+static void mag_read_comment(mi, p) -+ struct mag *mi; -+ char **p; -+{ -+ int max = -1, i = 0; -+ int c; -+ -+ while((c = fgetc(mi->fp)) != EOF){ -+ if(c == 0x1a) -+ break; -+ if(max < i){ -+ max += 16; -+ *p = mag_realloc(*p, (size_t) max + 1, "mag_read_comment#1"); -+ } -+ (*p)[i++] = c; -+ } -+ -+ if(c == EOF) -+ mag_file_error(mi, MAG_CORRUPT); -+ -+ if(max < i){ -+ *p = mag_realloc(*p, (size_t) max + 2, "mag_read_comment#2"); -+ } -+ if(i > 24){ -+ (*p)[i] = '\0'; -+ strcpy(*p, &(*p)[24]); -+ }else{ -+ (*p)[0] = '\0'; -+ } -+} -+ -+static void mag_read_header(mi) -+ struct mag *mi; -+{ -+ byte buf[32]; -+ -+ mi->h_off = ftell(mi->fp); -+ -+ if(fread(buf, (size_t) 32, (size_t) 1, mi->fp) != 1) -+ mag_file_error(mi, MAG_CORRUPT); -+ -+ mi->m_256 = buf[3] & 0x80; -+ mi->m_dig = buf[3] & 0x04; -+ mi->m_8 = buf[3] & 0x02; -+ mi->m_200 = buf[3] & 0x01; -+ -+ mi->x1 = buf[ 4] + buf[ 5] * 256; -+ mi->y1 = buf[ 6] + buf[ 7] * 256; -+ mi->x2 = buf[ 8] + buf[ 9] * 256; -+ mi->y2 = buf[10] + buf[11] * 256; -+ -+#define get_dword(a, b, c, d) \ -+ ((long)(a) << 24 | (long)(b) << 16 | (long)(c) << 8 | (long)(d)) -+ -+ mi->a_off = get_dword(buf[15], buf[14], buf[13], buf[12]); -+ mi->b_off = get_dword(buf[19], buf[18], buf[17], buf[16]); -+ mi->b_size = get_dword(buf[23], buf[22], buf[21], buf[20]); -+ mi->p_off = get_dword(buf[27], buf[26], buf[25], buf[24]); -+ mi->p_size = get_dword(buf[31], buf[30], buf[29], buf[28]); -+#undef get_dword -+ -+ mi->a_size = mi->b_off - mi->a_off; -+ mi->a_off += mi->h_off; -+ mi->b_off += mi->h_off; -+ mi->p_off += mi->h_off; -+ -+ mi->width = mi->x2 - mi->x1 + 1; -+ mi->height = mi->y2 - mi->y1 + 1; -+ mi->left_pad = mi->x1 & 07; -+ mi->right_pad = 07 - (mi->x2 & 07); -+ mi->x1 -= mi->left_pad; /* x1 = 8m */ -+ mi->x2 += mi->right_pad; /* x2 = 8n+7 */ -+ mi->p_width = ((mi->x2 + 1) - mi->x1) / (mi->m_256 ? 2 : 4); -+ mi->p_height = (mi->y2 + 1) - mi->y1; -+ -+ if(DEBUG) mag_show_struct(mi); -+} -+ -+static void mag_read_palette(mi, r, g, b) -+ struct mag *mi; -+ byte *r, *g, *b; -+{ -+ int num_palettes; -+ byte *buf; -+ -+ if(mi->m_256) -+ num_palettes = 256; -+ else -+ num_palettes = 16; -+ -+ buf = mag_malloc((size_t)num_palettes * 3, "mag_read_palette"); -+ -+ if(fread(buf, (size_t) 3, (size_t) num_palettes, mi->fp) != num_palettes){ -+ free(buf); -+ mag_file_error(mi, MAG_CORRUPT); -+ } -+ -+ for(num_palettes--; num_palettes >= 0; num_palettes--){ -+ g[num_palettes] = buf[num_palettes * 3 ]; -+ r[num_palettes] = buf[num_palettes * 3 + 1]; -+ b[num_palettes] = buf[num_palettes * 3 + 2]; -+ } -+ -+ free(buf); -+} -+ -+static void mag_read_flags(mi) -+ struct mag *mi; -+{ -+ mi->a = mag_malloc((size_t) mi->a_size, "mag_read_flags#1"); -+ mi->b = mag_malloc((size_t) mi->b_size, "mag_read_flags#2"); -+ -+ fseek(mi->fp, mi->a_off, SEEK_SET); -+ if(fread(mi->a, (size_t) mi->a_size, (size_t) 1, mi->fp) != 1) -+ mag_file_warning(mi, MAG_CORRUPT); -+ if(fread(mi->b, (size_t) mi->b_size, (size_t) 1, mi->fp) != 1) -+ mag_file_warning(mi, MAG_CORRUPT); -+} -+ -+static void mag_read_pixel_data(mi) -+ struct mag *mi; -+{ -+ mi->p = mag_malloc((size_t) mi->p_size, "mag_read_pixel_data"); -+ -+ fseek(mi->fp, mi->p_off, SEEK_SET); -+ if(fread(mi->p, (size_t) mi->p_size, (size_t) 1, mi->fp) != 1) -+ mag_file_warning(mi, MAG_CORRUPT); -+} -+ -+/* MAG expanding routine */ -+static void mag_expand_body(mi, pic0) -+ struct mag *mi; -+ byte **pic0; -+{ -+ int ai, bi, fi, pi; -+ int px, py, x, y; -+ byte *flag; -+ byte mask; -+ data16 *pixel0; -+ -+ flag = mag_malloc((size_t) mi->p_width / 2, "mag_expand_body#1"); -+ *pic0 = mag_malloc((size_t) mi->width * mi->height, "mag_expand_body#2"); // GRR POSSIBLE OVERFLOW / FIXME -+ pixel0 = mag_malloc((size_t) 2 * mi->p_width * 17, "mag_expand_body#3"); // GRR POSSIBLE OVERFLOW / FIXME -+ -+#define pixel(x, y) pixel0[(y) % 17 * mi->p_width + (x)] -+ -+ ai = bi = pi = 0; -+ mask = 0x80; -+ for(y = py = 0; py < mi->p_height; py++){ -+ for(fi = 0; fi < mi->p_width / 2; fi++){ -+ if(py == 0){ -+ if(mi->a[ai] & mask) -+ flag[fi] = mi->b[bi++]; -+ else -+ flag[fi] = 0; -+ }else{ -+ if(mi->a[ai] & mask) -+ flag[fi] ^= mi->b[bi++]; -+ } -+ if((mask >>= 1) == 0){ -+ mask = 0x80; -+ ai++; -+ } -+ } -+ -+ for(px = fi = 0; fi < mi->p_width / 2; fi++){ -+ int f = H4(flag[fi]); -+ if(f == 0){ -+ pixel(px, py) = mi->p[pi] + mi->p[pi + 1] * 256; -+ px++; -+ pi+=2; -+ }else{ -+ int dx = points[f].dx, dy = points[f].dy; -+ pixel(px, py) = pixel(px - dx, py - dy); -+ px++; -+ } -+ -+ f = L4(flag[fi]); -+ if(f == 0){ -+ pixel(px, py) = mi->p[pi] + mi->p[pi + 1] * 256; -+ px++; -+ pi+=2; -+ }else{ -+ int dx = points[f].dx, dy = points[f].dy; -+ pixel(px, py) = pixel(px - dx, py - dy); -+ px++; -+ } -+ } -+ -+#define inside(x) ((unsigned int)(x) < mi->width) -+#define pic(x, y) (*pic0)[(y) * mi->width + (x)] -+ for(x = -mi->left_pad, px = 0; px < mi->p_width; px++){ -+ data16 p = pixel(px, py); -+ if(mi->m_256){ -+ if(inside(x)) -+ pic(x, y) = L8(p); -+ x++; -+ if(inside(x)) -+ pic(x, y) = H8(p); -+ x++; -+ }else{ -+ if(inside(x)) -+ pic(x, y) = H4(L8(p)); -+ x++; -+ if(inside(x)) -+ pic(x, y) = L4(L8(p)); -+ x++; -+ if(inside(x)) -+ pic(x, y) = H4(H8(p)); -+ x++; -+ if(inside(x)) -+ pic(x, y) = L4(H8(p)); -+ x++; -+ } -+ } -+ y++; -+ } -+#undef pic -+#undef inside -+#undef pixel -+ -+ free(flag); -+ free(pixel0); -+} -+ -+ -+/* The main routine to write a MAG file. */ -+int WriteMAG(fp, pic, ptype, w, h, rmap, gmap, bmap, numcols, colorstyle, -+ comment) -+ FILE *fp; -+ byte *pic; -+ int ptype, w, h; -+ byte *rmap, *gmap, *bmap; -+ int numcols, colorstyle; -+ char *comment; -+{ -+ byte rtemp[256], gtemp[256], btemp[256]; -+ struct mag mag; -+ int e; -+ -+ if(DEBUG) fputs("WriteMag\n", stderr); -+ -+ mag_init_info(&mag); -+ mag.fp = fp; -+ -+ if(ptype == PIC24){ -+ if(!(pic = Conv24to8(pic, w, h, 256, rtemp, gtemp, btemp))) -+ mag_memory_error("Conv24to8", "WriteMAG"); -+ rmap = rtemp; -+ gmap = gtemp; -+ bmap = btemp; -+ numcols = 256; -+ mag.m_256 = 1; -+ }else{ -+ if(numcols > 16) -+ mag.m_256 = 1; -+ } -+ -+ if((e = setjmp(mag.jmp)) != 0){ -+ /* When an error occurs, comes here. */ -+ mag_cleanup_mag_info(&mag, 1); -+ return -1; -+ } -+ -+ mag.x2 = w - 1; -+ mag.y2 = h - 1; -+ mag.right_pad = 07 - (mag.x2 & 07); -+ mag.p_width = (w + mag.right_pad) / (mag.m_256 ? 2 : 4); -+ mag.p_height = h; -+ mag.width = w; -+ mag.height = h; -+ mag.a_size = (mag.p_width * mag.p_height + 15) / 16; /* x/2/8 */ // GRR POSSIBLE OVERFLOW / FIXME -+ if(mag.a_size % 2) -+ mag.a_size++; -+ -+ mag_compress_data(&mag, pic); -+ mag_write_check_data(&mag); -+ mag_write_comment(&mag, comment); -+ -+ mag.h_off = ftell(mag.fp); -+ -+ mag_write_palette(&mag, numcols, rmap, gmap, bmap, -+ colorstyle == F_GREYSCALE); -+ mag_write_flags(&mag); -+ mag_write_pixel_data(&mag); -+ mag_write_header(&mag); -+ -+ mag_cleanup_mag_info(&mag, 1); -+ return 0; -+} -+ -+/* MAG compressing routine */ -+static void mag_compress_data(mi, pic0) -+ struct mag *mi; -+ byte *pic0; -+{ -+ int ai, bi, pi, i; -+ int bmax, pmax; -+ byte mask; -+ byte *flag0; -+ data16 *pixel0; -+ int px, py, x, y; -+ -+ pixel0 = mag_malloc((size_t) 2 * mi->p_width * mi->p_height, // GRR POSSIBLE OVERFLOW / FIXME -+ "mag_compress_data#1"); -+ flag0 = mag_malloc((size_t) mi->p_width * mi->p_height, // GRR POSSIBLE OVERFLOW / FIXME -+ "mag_compress_data#2"); -+ -+#define pic(x, y) pic0[(y) * mi->width + (x)] -+ /* convert dots to pixels */ -+ i = 0; -+ for(y = py = 0; py < mi->p_height; py++){ -+ for(x = px = 0; px < mi->p_width; px++){ -+ data16 p = 0; -+ if(mi->m_256){ -+ if(x < mi->width) -+ p += pic(x, y); -+ x++; -+ if(x < mi->width) -+ p += pic(x, y) * 256; -+ x++; -+ }else{ -+ if(x < mi->width) -+ p += pic(x, y) * 16; -+ x++; -+ if(x < mi->width) -+ p += pic(x, y); -+ x++; -+ if(x < mi->width) -+ p += pic(x, y) * 4096; -+ x++; -+ if(x < mi->width) -+ p += pic(x, y) * 256; -+ x++; -+ } -+ pixel0[i++] = p; -+ } -+ y++; -+ } -+#undef pic -+ -+#define pixel(x, y) pixel0[(y) * mi->p_width + (x)] -+#define flag(x, y) flag0[(y) * mi->p_width + (x)] -+ /* get flags */ -+ pmax = pi = 0; -+ for(py = 0; py < mi->p_height; py++){ -+ for(px = 0; px < mi->p_width; px++){ -+ int t; -+ for(t = 0; t < 15; t++){ -+ int dx = points[try[t]].dx, dy = points[try[t]].dy; -+ if(dx <= px && dy <= py){ -+ if(pixel(px - dx, py - dy) == pixel(px, py)) -+ break; -+ } -+ } -+ if(t < 15){ -+ flag(px, py) = try[t]; -+ }else{ -+ flag(px, py) = 0; -+ if(pmax <= pi + 1){ -+ pmax += 128; -+ mi->p = mag_realloc(mi->p, (size_t) pmax, -+ "mag_compress_data#3"); -+ } -+ mi->p[pi++] = L8(pixel(px, py)); -+ mi->p[pi++] = H8(pixel(px, py)); -+ } -+ } -+ } -+#undef flag -+#undef pixel -+ -+ /* pack 2 flags into 1 byte */ -+ for(i = 0; i < mi->p_width / 2 * mi->p_height; i++) -+ flag0[i] = flag0[i * 2] * 16 + flag0[i * 2 + 1]; -+ -+#define flag(x, y) flag0[(y) * mi->p_width / 2 + (x)] -+ for(py = mi->p_height - 1; py >= 1; py--){ -+ for(px = 0; px < mi->p_width / 2; px++) -+ flag(px, py) ^= flag(px, py - 1); -+ } -+#undef flag -+ -+ mask = 0x80; -+ ai = bi = bmax = 0; -+ mi->a = mag_malloc((size_t) mi->a_size, "mag_compress_data#4"); // GRR POSSIBLE OVERFLOW / FIXME -+ for(i = 0; i < mi->p_width / 2 * mi->p_height; i++){ -+ if(flag0[i] == 0){ -+ mi->a[ai] &= ~mask; -+ }else{ -+ if(bmax == bi){ -+ bmax += 128; -+ mi->b = mag_realloc(mi->b, (size_t) bmax, -+ "mag_compress_data#4"); -+ } -+ mi->b[bi++] = flag0[i]; -+ mi->a[ai] |= mask; -+ } -+ -+ if((mask >>= 1) == 0){ -+ mask = 0x80; -+ ai++; -+ } -+ } -+ -+ if(bi % 2) -+ bi++; -+ mi->b_size = bi; -+ -+ mi->p_size = pi; -+ -+ free(pixel0); -+ free(flag0); -+} -+ -+static void mag_write_check_data(mi) -+ struct mag *mi; -+{ -+ if(fwrite(mag_id, (size_t) 8, (size_t) 1, mi->fp) != 1) -+ mag_file_error(mi, MAG_WRITE); -+} -+ -+static void mag_write_comment(mi, comment) -+ struct mag *mi; -+ char *comment; -+{ -+ char *p; -+ int i; -+ -+ if(fputs("XV ", mi->fp) == EOF) -+ mag_file_error(mi, MAG_WRITE); -+ -+ if((p = (char *) getenv("USER")) == NULL) -+ p = "????????"; -+ for(i = 5; i < 24; i++){ -+ if(*p == '\0') -+ break; -+ if(fputc(*p++, mi->fp) == EOF) -+ mag_file_error(mi, MAG_WRITE); -+ } -+ for( ; i < 24; i++){ -+ if(fputc(' ', mi->fp) == EOF) -+ mag_file_error(mi, MAG_WRITE); -+ } -+ -+ if(comment){ -+ int l = strlen(comment); -+ if(l > 0){ -+ int i; -+ for(i = 0; i < l; i++){ -+ if(comment[i] == 0x1a) -+ comment[i] = ' '; -+ } -+ if(fwrite(comment, (size_t) l, (size_t) 1, mi->fp) != 1) -+ mag_file_error(mi, MAG_WRITE); -+ } -+ } -+ -+ if(fputc(0x1a, mi->fp) == EOF) -+ mag_file_error(mi, MAG_WRITE); -+} -+ -+static void mag_write_palette(mi, num, r, g, b, grey) -+ struct mag *mi; -+ int num; -+ byte *r, *g, *b; -+ int grey; -+{ -+ int i, left; -+ char buf[3]; -+ -+ fseek(mi->fp, 32L, SEEK_CUR); /* skip header area */ -+ for(i = 0; i < num; i++){ -+ buf[0] = *g++; -+ buf[1] = *r++; -+ buf[2] = *b++; -+ if(grey) -+ buf[0] = buf[1] = buf[2] = MONO(buf[1], buf[0], buf[2]); -+ if(fwrite(buf, (size_t) 3, (size_t) 1, mi->fp) != 1) -+ mag_file_error(mi, MAG_WRITE); -+ } -+ if(num < 16){ -+ left = 16 - num; -+ }else if(num == 16){ -+ left = 0; -+ }else if(num < 256){ -+ left = 256 - num; -+ }else if(num == 256){ -+ left = 0; -+ }else -+ left = 0; /* shouldn't happen */ -+ -+ if(left > 0){ -+ for(i = 0; i < left; i++){ -+ if(fwrite(buf, (size_t) 3, (size_t) 1, mi->fp) != 1) -+ mag_file_error(mi, MAG_WRITE); -+ } -+ } -+} -+ -+static void mag_write_flags(mi) -+ struct mag *mi; -+{ -+ int i; -+ -+ mi->a_off = ftell(mi->fp); -+ for(i = 0; i < mi->a_size; i++){ -+ if(fputc(mi->a[i], mi->fp) == EOF) -+ mag_file_error(mi, MAG_WRITE); -+ } -+ -+ mi->b_off = ftell(mi->fp); -+ for(i = 0; i < mi->b_size; i++){ -+ if(fputc(mi->b[i], mi->fp) == EOF) -+ mag_file_error(mi, MAG_WRITE); -+ } -+} -+ -+static void mag_write_pixel_data(mi) -+ struct mag *mi; -+{ -+ int i; -+ -+ mi->p_off = ftell(mi->fp); -+ for(i = 0; i < mi->p_size; i++){ -+ if(fputc(mi->p[i], mi->fp) == EOF) -+ mag_file_error(mi, MAG_WRITE); -+ } -+} -+ -+static void mag_write_header(mi) -+ struct mag *mi; -+{ -+ byte buf[32]; -+ -+ if(DEBUG) mag_show_struct(mi); -+ -+ mi->a_off -= mi->h_off; -+ mi->b_off -= mi->h_off; -+ mi->p_off -= mi->h_off; -+ -+ buf[ 0] = buf[1] = buf[2] = 0; -+ buf[ 3] = (mi->m_256 ? 0x80 : 0); -+ buf[ 4] = buf[5] = 0; -+ buf[ 6] = buf[7] = 0; -+ buf[ 8] = L8(mi->x2); -+ buf[ 9] = H8(mi->x2); -+ buf[10] = L8(mi->y2); -+ buf[11] = H8(mi->y2); -+ mag_set_double_word(mi->a_off, &buf[12]); -+ mag_set_double_word(mi->b_off, &buf[16]); -+ mag_set_double_word(mi->b_size, &buf[20]); -+ mag_set_double_word(mi->p_off, &buf[24]); -+ mag_set_double_word(mi->p_size, &buf[28]); -+ -+ fseek(mi->fp, mi->h_off, SEEK_SET); -+ if(fwrite(buf, (size_t) 32, (size_t) 1, mi->fp) != 1) -+ mag_file_error(mi, MAG_WRITE); -+} -+ -+static void mag_set_double_word(n, p) -+ long n; -+ byte *p; -+{ -+ p[0] = n % 256; /* ugly...anything wrong with shift/mask operations? */ -+ p[1] = n / 256 % 256; /* (n >> 8) & 0xff */ -+ p[2] = n / 256 / 256 % 256; /* (n >> 16) & 0xff */ -+ p[3] = n / 256 / 256 / 256 % 256; /* (n >> 24) & 0xff */ -+} -+ -+/* -+ * The routines to initialize or clean up. -+ * mag_init_info: -+ * initializes a mag structure. -+ * mag_cleanup_mag_info: -+ * cleans up a mag structure. -+ * mag_cleanup_pinfo: -+ * cleans up a PICINFO structure. -+ */ -+static void mag_init_info(mi) -+ struct mag *mi; -+{ -+ mi->fp = NULL; -+ mi->fsize = 0; -+ mi->m_256 = mi->m_dig = mi->m_8 = mi->m_200 = 0; -+ mi->x1 = mi->y1 = mi->x2 = mi->y2 = 0; -+ mi->left_pad = mi->right_pad = 0; -+ mi->p_width = mi->p_height = mi->width = mi->height = 0; -+ mi->h_off = mi->p_off = mi->p_size = 0; -+ mi->a_off = mi->a_size = mi->b_off = mi->b_size = 0; -+ mi->a = NULL; -+ mi->b = NULL; -+ mi->p = NULL; -+} -+ -+static void mag_cleanup_mag_info(mi, writing) -+ struct mag *mi; -+ int writing; -+{ -+ if(mi->fp && !writing) -+ fclose(mi->fp); -+ if(mi->a) -+ free(mi->a); -+ if(mi->b) -+ free(mi->b); -+ if(mi->p) -+ free(mi->p); -+} -+ -+static void mag_cleanup_pinfo(pinfo) -+ PICINFO *pinfo; -+{ -+ if(pinfo->comment){ -+ free(pinfo->comment); -+ pinfo->comment = NULL; -+ } -+ if(pinfo->pic){ -+ free(pinfo->pic); -+ pinfo->pic = NULL; -+ } -+} -+ -+/* -+ * Error handler. -+ * mag_memory_error: -+ * shows an error message, and terminates. -+ * mag_error: -+ * shows an non-file error message, and jumps to the entry for errors. -+ * mag_file_error: -+ * shows an file error message, and jumps to the entry for errors. -+ * mag_file_warning: -+ * shows an file warning message. -+ */ -+static void mag_memory_error(scm, fn) -+ char *scm, *fn; -+{ -+ char buf[128]; -+ sprintf(buf, "%s: can't allocate memory. (%s)", scm, fn); -+ FatalError(buf); -+} -+ -+static void mag_error(mi, mn) -+ struct mag *mi; -+ int mn; -+{ -+ SetISTR(ISTR_WARNING, "%s", mag_msgs[mn]); -+ longjmp(mi->jmp, 1); -+} -+ -+static void mag_file_error(mi, mn) -+ struct mag *mi; -+ int mn; -+{ -+ if(feof(mi->fp)) -+ SetISTR(ISTR_WARNING, "%s (end of file)", mag_msgs[mn]); -+ else -+ SetISTR(ISTR_WARNING, "%s (%s)", mag_msgs[mn], ERRSTR(errno)); -+ longjmp(mi->jmp, 1); -+} -+ -+static void mag_file_warning(mi, mn) -+ struct mag *mi; -+ int mn; -+{ -+ if(feof(mi->fp)) -+ SetISTR(ISTR_WARNING, "%s (end of file)", mag_msgs[mn]); -+ else -+ SetISTR(ISTR_WARNING, "%s (%s)", mag_msgs[mn], ERRSTR(errno)); -+} -+ -+static void mag_show_struct (mi) -+ struct mag *mi; -+{ -+ fprintf(stderr, " 256 colors: %s\n", mi->m_256 ? "true" : "false"); -+ fprintf(stderr, " 8 colors: %s\n", mi->m_8 ? "true" : "false"); -+ fprintf(stderr, " digital colors: %s\n", mi->m_dig ? "true" : "false"); -+ fprintf(stderr, " aspect ratio: %f\n", mi->m_200 ? 0.5 : 1.0); -+ fprintf(stderr, " image size: %dx%d\n", mi->width, mi->height); -+ fprintf(stderr, " left pad: %d\n", mi->left_pad); -+ fprintf(stderr, " right pad: %d\n", mi->right_pad); -+ fprintf(stderr, " h_off: %ld\n", mi->h_off); -+ fprintf(stderr, " A: off:%ld, size:%ld\n", mi->a_off, mi->a_size); -+ fprintf(stderr, " B: off:%ld, size:%ld\n", mi->b_off, mi->b_size); -+ fprintf(stderr, " P: off:%ld, size:%ld\n", mi->p_off, mi->p_size); -+} -+ -+/* Memory related routines. */ -+static void *mag_malloc(n, fn) -+ size_t n; -+ char *fn; -+{ -+ void *r = (void *) malloc(n); -+ if(r == NULL) -+ mag_memory_error("malloc", fn); -+ return r; -+} -+ -+static void *mag_realloc(p, n, fn) -+ void *p; -+ size_t n; -+ char *fn; -+{ -+ void *r = (p == NULL) ? (void *) malloc(n) : (void *) realloc(p, n); -+ if(r == NULL) -+ mag_memory_error("realloc", fn); -+ return r; -+} -+#endif /* HAVE_MAG */ -diff -u -r --new-file xv-3.10a.orig/xvmaki.c xv-3.10a/xvmaki.c ---- xv-3.10a.orig/xvmaki.c 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/xvmaki.c 2005-04-18 00:57:01.000000000 -0500 -@@ -0,0 +1,794 @@ -+/* -+ * xvmaki.c - load routine for `MAKI' format pictures. -+ * -+ * The `MAKI' format was used by some Japanese personal computer users. -+ */ -+ -+#include "xv.h" -+#include -+ -+#ifdef HAVE_MAKI -+ -+typedef unsigned short data16; -+typedef unsigned int data32; -+ -+struct maki_info { -+ jmp_buf jmp; -+ FILE *fp; -+ long fsize; -+ int x0, y0, x1, y1; -+ int width, height; -+ float aspect; -+ long fb_size; -+ long pa_size, pb_size; -+ int m_maki01b, m_200, m_dig8; -+ data16 ext_flag; -+ byte *fa, *fb, *pa, *pb; -+ byte *vs; -+ int numcols; -+ byte *forma, *formb; -+}; -+ -+ -+static void maki_open_file PARM((struct maki_info*, char*)); -+static void maki_check_id PARM((struct maki_info*)); -+static void maki_skip_comment PARM((struct maki_info*)); -+static void maki_read_header PARM((struct maki_info*)); -+static void maki_read_palette PARM((struct maki_info*, -+ byte*, byte*, byte*)); -+static void maki_read_flags PARM((struct maki_info*)); -+static void maki_read_pixel_data PARM((struct maki_info*)); -+static void maki_expand_virtual_screen PARM((struct maki_info*)); -+static void maki_expand_pixel_data PARM((struct maki_info*, byte**)); -+static void maki_init_info PARM((struct maki_info*)); -+ -+static void maki_make_pixel_data PARM((struct maki_info*, byte*)); -+static void maki_make_virtual_screen PARM((struct maki_info*)); -+static void maki_make_flags PARM((struct maki_info*)); -+static void maki_write_check_id PARM((struct maki_info*)); -+static void maki_write_comment PARM((struct maki_info*)); -+static void maki_write_header PARM((struct maki_info*)); -+static void maki_write_palette PARM((struct maki_info*, -+ byte*, byte*, byte*, int)); -+static void maki_write_flags PARM((struct maki_info*)); -+static void maki_write_pixel_data PARM((struct maki_info*)); -+ -+static void maki_cleanup_maki_info PARM((struct maki_info*, int)); -+static void maki_cleanup_pinfo PARM((PICINFO*)); -+static void maki_memory_error PARM((char*, char*)); -+static void maki_error PARM((struct maki_info*, int)); -+static void maki_file_error PARM((struct maki_info*, int)); -+static void maki_file_warning PARM((struct maki_info*, int)); -+static void maki_show_maki_info PARM((struct maki_info*)); -+static void *maki_malloc PARM((size_t, char*)); -+static void *maki_realloc PARM((void *, size_t, char*)); -+ -+static char maki_id_a[] = "MAKI01A "; -+static char maki_id_b[] = "MAKI01B "; -+ -+static char *maki_msgs[] = { -+ NULL, -+#define MAKI_OPEN 1 -+ "can't open file.", -+#define MAKI_CORRUPT 2 -+ "file corrupted.", -+#define MAKI_FORMAT 3 -+ "not MAKI format.", -+#define MAKI_BAD_DATA 4 -+ "bad data.", -+#define MAKI_COMMENT 5 -+ "no '^Z' after comment.", -+#define MAKI_SIZE 6 -+ "bad size.", -+#define MAKI_WRITE 7 -+ "write failed.", -+}; -+ -+#define H4(b) ((b) >> 4 & 0xf) -+#define L4(b) ((b) & 0xf) -+#define error(msg_num) longjmp(mi->jmp, msg_num) -+ -+int LoadMAKI(fname, pinfo) -+ char *fname; -+ PICINFO *pinfo; -+{ -+ struct maki_info maki; -+ int e; -+ -+ if(DEBUG) fputs("LoadMAKI:\n", stderr); -+ -+ pinfo->comment = NULL; -+ maki_init_info(&maki); -+ if((e = setjmp(maki.jmp)) != 0){ -+ /* When an error occurs, comes here. */ -+ maki_cleanup_maki_info(&maki, 0); -+ maki_cleanup_pinfo(pinfo); -+ return 0; -+ } -+ -+ maki_open_file(&maki, fname); -+ maki_check_id(&maki); -+ maki_skip_comment(&maki); -+ maki_read_header(&maki); -+ maki_read_palette(&maki, pinfo->r, pinfo->g, pinfo->b); -+ maki_read_flags(&maki); -+ maki_read_pixel_data(&maki); -+ maki_expand_virtual_screen(&maki); -+ maki_expand_pixel_data(&maki, &pinfo->pic); -+ -+ pinfo->w = pinfo->normw = maki.width; -+ pinfo->h = pinfo->normh = maki.height; -+ pinfo->type = PIC8; -+ pinfo->frmType = F_MAKI; -+ pinfo->colType = F_FULLCOLOR; -+ sprintf(pinfo->fullInfo, "MAKI, 16 colors (%ld bytes)", maki.fsize); -+ sprintf(pinfo->shrtInfo, "%dx%d MAKI", maki.width, maki.height); -+ normaspect = maki.aspect; -+ -+ maki_cleanup_maki_info(&maki, 0); -+ return 1; -+} -+ -+static void maki_open_file(mi, fname) -+ struct maki_info *mi; -+ char *fname; -+{ -+ if((mi->fp = fopen(fname, "rb")) == NULL) -+ maki_file_error(mi, MAKI_OPEN); -+ fseek(mi->fp, (size_t) 0, SEEK_END); -+ mi->fsize = ftell(mi->fp); -+ fseek(mi->fp, (size_t) 0, SEEK_SET); -+} -+ -+static void maki_check_id(mi) -+ struct maki_info *mi; -+{ -+ char buf[8]; -+ if(fread(buf, (size_t) 8, (size_t) 1, mi->fp) != 1) -+ maki_file_error(mi, MAKI_CORRUPT); -+ if(strncmp(buf, maki_id_a, (size_t) 8) != 0 && -+ strncmp(buf, maki_id_b, (size_t) 8) != 0) -+ maki_error(mi, MAKI_FORMAT); -+ mi->m_maki01b = (buf[6] == 'B'); -+} -+ -+static void maki_skip_comment(mi) -+ struct maki_info *mi; -+{ -+ int i; -+ int c; -+ -+ for(i = 0; i < 24; i++){ -+ if((c = fgetc(mi->fp)) == EOF) -+ maki_file_error(mi, MAKI_CORRUPT); -+ if(c == '\032') /* ^Z, 0x1a */ -+ break; -+ } -+ if(c != '\032') -+ maki_file_error(mi, MAKI_COMMENT); -+ -+ fseek(mi->fp, 32L, SEEK_SET); -+} -+ -+static void maki_read_header(mi) -+ struct maki_info *mi; -+{ -+ byte buf[16]; -+ -+ if(fread(buf, (size_t) 16, (size_t) 1, mi->fp) != 1) -+ maki_file_error(mi, MAKI_CORRUPT); -+ -+ mi->fb_size = (long)buf[ 0] << 8 | (long)buf[ 1]; -+ mi->pa_size = (long)buf[ 2] << 8 | (long)buf[ 3]; -+ mi->pb_size = (long)buf[ 4] << 8 | (long)buf[ 5]; -+ mi->ext_flag = (long)buf[ 6] << 8 | (long)buf[ 7]; -+ mi->x0 = (long)buf[ 8] << 8 | (long)buf[ 9]; -+ mi->y0 = (long)buf[10] << 8 | (long)buf[11]; -+ mi->x1 = (long)buf[12] << 8 | (long)buf[13]; -+ mi->y1 = (long)buf[14] << 8 | (long)buf[15]; -+ -+ mi->width = mi->x1-- - mi->x0; -+ mi->height = mi->y1-- - mi->y0; -+ mi->m_200 = mi->ext_flag & 1; -+ mi->m_dig8 = mi->ext_flag & 2; -+ mi->aspect = mi->m_200 ? 0.5 : 1.0; -+ -+ if(DEBUG) maki_show_maki_info(mi); -+} -+ -+static void maki_read_palette(mi, r, g, b) -+ struct maki_info *mi; -+ byte *r, *g, *b; -+{ -+ byte buf[48], *p; -+ -+ if(fread(buf, (size_t) 48, (size_t) 1, mi->fp) != 1) -+ maki_file_error(mi, MAKI_CORRUPT); -+ -+ for(p = buf; p < &buf[48]; ){ -+ *g++ = *p++; -+ *r++ = *p++; -+ *b++ = *p++; -+ } -+} -+ -+static void maki_read_flags(mi) -+ struct maki_info *mi; -+{ -+ mi->fa = maki_malloc((size_t) 1000 , "maki_read_flags#1"); -+ mi->fb = maki_malloc((size_t) mi->fb_size, "maki_read_flags#2"); -+ -+ if(fread(mi->fa, (size_t) 1000, (size_t) 1, mi->fp) != 1) -+ maki_file_warning(mi, MAKI_CORRUPT); -+ if(fread(mi->fb, (size_t) mi->fb_size, (size_t) 1, mi->fp) != 1) -+ maki_file_warning(mi, MAKI_CORRUPT); -+} -+ -+static void maki_read_pixel_data(mi) -+ struct maki_info *mi; -+{ -+ mi->pa = maki_malloc((size_t) mi->pa_size, "maki_read_pixel_data#1"); -+ mi->pb = maki_malloc((size_t) mi->pb_size, "maki_read_pixel_data#2"); -+ -+ if(fread(mi->pa, (size_t) mi->pa_size, (size_t) 1, mi->fp) != 1) -+ maki_file_warning(mi, MAKI_CORRUPT); -+ if(fread(mi->pb, (size_t) mi->pb_size, (size_t) 1, mi->fp) != 1) -+ maki_file_warning(mi, MAKI_CORRUPT); -+} -+ -+static void maki_expand_virtual_screen(mi) -+ struct maki_info *mi; -+{ -+ int x, y, fai, fbi; -+ int bpl = mi->width / 2 / 8; /* bytes per line */ -+ byte mask; -+ mi->vs = maki_malloc((size_t) bpl * mi->height, // GRR POSSIBLE OVERFLOW / FIXME -+ "maki_expand_virtual_screen"); -+ -+ fai = fbi = 0; -+ mask = 0x80; -+ for(y = 0; y < mi->height; y += 4){ -+ for(x = 0; x < mi->width / 2; x += 4){ -+ if(mi->fa[fai] & mask){ -+ byte bh, bl; -+ bh = mi->fb[fbi++]; -+ bl = mi->fb[fbi++]; -+ if(x % 8 == 0){ -+ mi->vs[ y * bpl + x / 8] = H4(bh) << 4; -+ mi->vs[(y + 1) * bpl + x / 8] = L4(bh) << 4; -+ mi->vs[(y + 2) * bpl + x / 8] = H4(bl) << 4; -+ mi->vs[(y + 3) * bpl + x / 8] = L4(bl) << 4; -+ }else{ -+ mi->vs[ y * bpl + x / 8] |= H4(bh); -+ mi->vs[(y + 1) * bpl + x / 8] |= L4(bh); -+ mi->vs[(y + 2) * bpl + x / 8] |= H4(bl); -+ mi->vs[(y + 3) * bpl + x / 8] |= L4(bl); -+ } -+ }else{ -+ if(x % 8 == 0){ -+ mi->vs[ y * bpl + x / 8] = 0; -+ mi->vs[(y + 1) * bpl + x / 8] = 0; -+ mi->vs[(y + 2) * bpl + x / 8] = 0; -+ mi->vs[(y + 3) * bpl + x / 8] = 0; -+ }else{ -+/* mi->vs[ y * bpl + x / 8] |= 0; -+ mi->vs[(y + 1) * bpl + x / 8] |= 0; -+ mi->vs[(y + 2) * bpl + x / 8] |= 0; -+ mi->vs[(y + 3) * bpl + x / 8] |= 0; */ -+ } -+ } -+ -+ if((mask >>= 1) == 0){ -+ mask = 0x80; -+ fai++; -+ } -+ } -+ } -+} -+ -+static void maki_expand_pixel_data(mi, pic) -+ struct maki_info *mi; -+ byte **pic; -+{ -+ int x, y; -+ int vsi, pi, max_pi; -+ byte *p; -+ byte mask; -+ int gap; -+ *pic = maki_malloc((size_t) mi->width * mi->height, // GRR POSSIBLE OVERFLOW / FIXME -+ "maki_expand_pixel_data"); -+ -+ vsi = pi = 0; -+ p = mi->pa; -+ max_pi = mi->pa_size - 1; -+ mask = 0x80; -+ for(y = 0; y < mi->height; y++){ -+ for(x = 0; x < mi->width; x += 2){ -+ if(mi->vs[vsi] & mask){ -+ if(pi > max_pi){ -+ if(p == mi->pb) -+ maki_error(mi, MAKI_BAD_DATA); -+ pi = 0; -+ p = mi->pb; -+ max_pi = mi->pb_size - 1; -+ } -+ (*pic)[y * mi->width + x ] = H4(p[pi]); -+ (*pic)[y * mi->width + x + 1] = L4(p[pi]); -+ pi++; -+ }else{ -+ (*pic)[y * mi->width + x ] = 0; -+ (*pic)[y * mi->width + x + 1] = 0; -+ } -+ -+ if((mask >>= 1) == 0){ -+ mask = 0x80; -+ vsi++; -+ } -+ } -+ } -+ -+ gap = mi->m_maki01b ? 4 : 2; -+ -+ for(y = gap; y < mi->height; y++){ -+ for(x = 0; x < mi->width; x++) -+ (*pic)[y * mi->width + x] ^= (*pic)[(y - gap) * mi->width + x]; -+ } -+} -+ -+ -+int WriteMAKI(fp, pic, ptype, w, h, rmap, gmap, bmap, numcols, colorstyle) -+ FILE *fp; -+ byte *pic; -+ int ptype, w, h; -+ byte *rmap, *gmap, *bmap; -+ int numcols, colorstyle; -+{ -+ byte rtemp[256], gtemp[256], btemp[256]; -+ struct maki_info maki, *mi = &maki; -+ int e; -+ -+ if(DEBUG) fputs("WriteMAKI:\n", stderr); -+ -+ maki_init_info(&maki); -+ if((e = setjmp(maki.jmp)) != 0){ -+ /* An error occurs */ -+ maki_cleanup_maki_info(&maki, 1); -+ return -1; -+ } -+ -+ if(w != 640 || h != 400) { -+ char str[512]; -+ sprintf(str,"MAKI: %s Should be 640x400", maki_msgs[MAKI_SIZE]); -+ ErrPopUp(str, "\nBummer!"); -+ maki_error(mi, MAKI_SIZE); -+ } -+ -+ maki.fp = fp; -+ maki.width = w; -+ maki.height = h; -+ maki.x1 = w - 1; -+ maki.y1 = h - 1; -+ -+ if(ptype == PIC24){ -+ if(!(pic = Conv24to8(pic, w, h, 16, rtemp, gtemp, btemp))) -+ maki_memory_error("Conv24to8#1", "WriteMAKI"); -+ rmap = rtemp; -+ gmap = gtemp; -+ bmap = btemp; -+ }else if(numcols > 16){ -+ if(!(pic = Conv8to24(pic, w, h, rmap, gmap, bmap))) -+ maki_memory_error("Conv8to24", "WriteMAKI"); -+ if(!(pic = Conv24to8(pic, w, h, 16, rtemp, gtemp, btemp))) -+ maki_memory_error("Conv24to8#2", "WriteMAKI"); -+ rmap = rtemp; -+ gmap = gtemp; -+ bmap = btemp; -+ }else -+ maki.numcols = numcols; -+ -+ maki_make_pixel_data(&maki, pic); -+ maki_make_virtual_screen(&maki); -+ maki_make_flags(&maki); -+ maki_write_check_id(&maki); -+ maki_write_comment(&maki); -+ maki_write_header(&maki); -+ maki_write_palette(&maki, rmap, gmap, bmap, colorstyle == F_GREYSCALE); -+ maki_write_flags(&maki); -+ maki_write_pixel_data(&maki); -+ -+ maki_cleanup_maki_info(&maki, 1); -+ return 0; -+} -+ -+static void maki_make_pixel_data(mi, pic) -+ struct maki_info *mi; -+ byte *pic; -+{ -+ int x, y, i; -+ int nza, nzb; -+ -+ mi->forma = maki_malloc((size_t) mi->width / 2 * mi->height, // GRR POSSIBLE OVERFLOW / FIXME -+ "maki_make_pixel_data#1"); -+ mi->formb = maki_malloc((size_t) mi->width / 2 * mi->height, // GRR POSSIBLE OVERFLOW / FIXME -+ "maki_make_pixel_data#2"); -+ -+ for(y = 0; y < mi->height; y++){ -+ for(x = 0; x < mi->width; x += 2){ -+ byte b; -+ b = pic[y * mi->width + x] << 4 | pic[y * mi->width + x + 1]; -+ mi->forma[y * mi->width / 2 + x / 2] = b; -+ mi->formb[y * mi->width / 2 + x / 2] = b; -+ } -+ } -+ -+ for(y = mi->height - 1; y >= 2; y--){ -+ for(x = 0; x < mi->width / 2; x++){ -+ mi->forma[y * mi->width / 2 + x] ^= -+ mi->forma[(y - 2) * mi->width / 2 + x]; -+ } -+ } -+ -+ for(y = mi->height - 1; y >= 4; y--){ -+ for(x = 0; x < mi->width / 2; x++){ -+ mi->formb[y * mi->width / 2 + x] ^= -+ mi->formb[(y - 4) * mi->width / 2 + x]; -+ } -+ } -+ -+ nza = nzb = 0; -+ for(i = 0; i < mi->width / 2 * mi->height; i++){ -+ if(mi->forma[i] != 0) -+ nza++; -+ if(mi->formb[i] != 0) -+ nzb++; -+ } -+ if(nza > nzb){ -+ mi->m_maki01b = 1; -+ free(mi->forma); -+ mi->forma = NULL; -+ }else{ -+ mi->m_maki01b = 0; -+ free(mi->formb); -+ mi->formb = NULL; -+ } -+} -+ -+static void maki_make_virtual_screen(mi) -+ struct maki_info *mi; -+{ -+ int bpl = mi->width / 2 / 8; -+ int vsi, pai, pbi, max_pai, max_pbi; -+ byte mask; -+ byte *pixels; -+ int x, y; -+ -+ mi->vs = maki_malloc((size_t) bpl * mi->height, // GRR POSSIBLE OVERFLOW / FIXME -+ "maki_make_virtual_screen#1"); -+ -+ if(mi->m_maki01b) -+ pixels = mi->formb; -+ else -+ pixels = mi->forma; -+ -+ vsi = pai = pbi = 0; -+ max_pai = max_pbi = -1; -+ mask = 0x80; -+ for(y = 0; y < mi->height; y++){ -+ for(x = 0; x < mi->width / 2; x++){ -+ if(pixels[y * mi->width / 2 + x] == 0){ -+ mi->vs[vsi] &= ~mask; -+ }else{ -+ mi->vs[vsi] |= mask; -+ if(y < 200){ -+ if(pai > max_pai){ -+ max_pai += 1024; -+ mi->pa = maki_realloc(mi->pa, (size_t) max_pai + 1, -+ "maki_make_virtual_screen#2"); -+ } -+ mi->pa[pai++] = pixels[y * mi->width / 2 + x]; -+ }else{ -+ if(pbi > max_pbi){ -+ max_pbi += 1024; -+ mi->pb = maki_realloc(mi->pb, (size_t) max_pbi + 2, -+ "maki_make_virtual_screen#3"); -+ } -+ mi->pb[pbi++] = pixels[y * mi->width / 2 + x]; -+ } -+ } -+ -+ if((mask >>= 1) == 0){ -+ mask = 0x80; -+ vsi++; -+ } -+ } -+ } -+ -+ mi->pa_size = pai; -+ mi->pb_size = pbi; -+} -+ -+static void maki_make_flags(mi) -+ struct maki_info *mi; -+{ -+ int bpl = mi->width / 2 / 8; -+ int fbi, max_fbi; -+ int fai; -+ int x, y; -+ byte mask; -+ -+ mi->fa = maki_malloc((size_t) bpl * mi->height, "maki_make_flags#1"); // GRR POSSIBLE OVERFLOW / FIXME -+ -+ fbi = fai = 0; -+ max_fbi = -1; -+ mask = 0x80; -+ for(y = 0; y < mi->height; y += 4){ -+ for(x = 0; x < mi->width / 2; x += 4){ -+ if(x % 8 == 0){ -+ if(H4(mi->vs[ y * bpl + x / 8]) == 0 && -+ H4(mi->vs[(y + 1) * bpl + x / 8]) == 0 && -+ H4(mi->vs[(y + 2) * bpl + x / 8]) == 0 && -+ H4(mi->vs[(y + 3) * bpl + x / 8]) == 0){ -+ mi->fa[fai] &= ~mask; -+ }else{ -+ mi->fa[fai] |= mask; -+ if(fbi + 1 > max_fbi){ -+ max_fbi += 1024; -+ mi->fb = maki_realloc(mi->fb, (size_t) max_fbi + 1, -+ "maki_make_flags#2"); -+ } -+ mi->fb[fbi++] = H4(mi->vs[ y * bpl + x / 8]) << 4 -+ | H4(mi->vs[(y + 1) * bpl + x / 8]); -+ mi->fb[fbi++] = H4(mi->vs[(y + 2) * bpl + x / 8]) << 4 -+ | H4(mi->vs[(y + 3) * bpl + x / 8]); -+ } -+ }else{ -+ if(L4(mi->vs[ y * bpl + x / 8]) == 0 && -+ L4(mi->vs[(y + 1) * bpl + x / 8]) == 0 && -+ L4(mi->vs[(y + 2) * bpl + x / 8]) == 0 && -+ L4(mi->vs[(y + 3) * bpl + x / 8]) == 0){ -+ mi->fa[fai] &= ~mask; -+ }else{ -+ mi->fa[fai] |= mask; -+ if(fbi + 1 > max_fbi){ -+ max_fbi += 1024; -+ mi->fb = maki_realloc(mi->fb, (size_t) max_fbi + 1, -+ "maki_make_flags#3"); -+ } -+ mi->fb[fbi++] = L4(mi->vs[ y * bpl + x / 8]) << 4 -+ | L4(mi->vs[(y + 1) * bpl + x / 8]); -+ mi->fb[fbi++] = L4(mi->vs[(y + 2) * bpl + x / 8]) << 4 -+ | L4(mi->vs[(y + 3) * bpl + x / 8]); -+ } -+ } -+ -+ if((mask >>= 1) == 0){ -+ mask = 0x80; -+ fai++; -+ } -+ } -+ } -+ -+ mi->fb_size = fbi; -+} -+ -+static void maki_write_check_id(mi) -+ struct maki_info *mi; -+{ -+ char *id = mi->m_maki01b ? maki_id_b : maki_id_a; -+ if(fwrite(id, (size_t) 8, (size_t) 1, mi->fp) != 1) -+ maki_file_error(mi, MAKI_WRITE); -+} -+ -+static void maki_write_comment(mi) -+ struct maki_info *mi; -+{ -+ char buf[24]; -+ char *p; -+ int i = 0; -+ -+ strcpy(buf, "XV "); -+ -+ if((p = (char *) getenv("USER")) == NULL) -+ p = "????????"; -+ for(i = 5; i < 23; i++){ -+ if(*p == '\0') -+ break; -+ buf[i] = *p++; -+ } -+ for( ; i < 23; i++) -+ buf[i] = ' '; -+ -+ buf[i] = '\032'; /* ^Z, 0x1a */ -+ -+ if(fwrite(buf, (size_t) 24, (size_t) 1, mi->fp) != 1) -+ maki_file_error(mi, MAKI_WRITE); -+} -+ -+static void maki_write_header(mi) -+ struct maki_info *mi; -+{ -+ byte buf[16]; -+ -+ if(DEBUG) maki_show_maki_info(mi); -+ -+#define set_word(i, v) {buf[i]=(v)>>8&0xff;buf[i+1]=(v)&0xff;} -+ set_word(0, mi->fb_size); -+ set_word(2, mi->pa_size); -+ set_word(4, mi->pb_size); -+ set_word(6, mi->ext_flag); -+ set_word(8, mi->x0); -+ set_word(10, mi->y0); -+ set_word(12, mi->x1 + 1); -+ set_word(14, mi->y1 + 1); -+#undef set_word -+ -+ if(fwrite(buf, (size_t) 16, (size_t) 1, mi->fp) != 1) -+ maki_file_error(mi, MAKI_WRITE); -+} -+ -+static void maki_write_palette(mi, r, g, b, grey) -+ struct maki_info *mi; -+ byte *r, *g, *b; -+ int grey; -+{ -+ int i; -+ char buf[3]; -+ for(i = 0; i < mi->numcols; i++){ -+ buf[0] = *g++; -+ buf[1] = *r++; -+ buf[2] = *b++; -+ if(grey) -+ buf[0] = buf[1] = buf[2] = MONO(buf[1], buf[0], buf[2]); -+ if(fwrite(buf, (size_t) 3, (size_t) 1, mi->fp) != 1) -+ maki_file_error(mi, MAKI_WRITE); -+ } -+ for( ; i < 16; i++){ -+ if(fwrite(buf, (size_t) 3, (size_t) 1, mi->fp) != 1) -+ maki_file_error(mi, MAKI_WRITE); -+ } -+} -+ -+static void maki_write_flags(mi) -+ struct maki_info *mi; -+{ -+ int bpl = mi->width / 2 / 8; -+ if(fwrite(mi->fa, (size_t) bpl * mi->height / 16, (size_t) 1, mi->fp) != 1) -+ maki_file_error(mi, MAKI_WRITE); -+ -+ if(fwrite(mi->fb, (size_t) mi->fb_size, (size_t) 1, mi->fp) != 1) -+ maki_file_error(mi, MAKI_WRITE); -+} -+ -+static void maki_write_pixel_data(mi) -+ struct maki_info *mi; -+{ -+ if(fwrite(mi->pa, (size_t) mi->pa_size, (size_t) 1, mi->fp) != 1) -+ maki_file_error(mi, MAKI_WRITE); -+ -+ if(fwrite(mi->pb, (size_t) mi->pb_size, (size_t) 1, mi->fp) != 1) -+ maki_file_error(mi, MAKI_WRITE); -+} -+ -+ -+ -+static void maki_init_info(mi) -+ struct maki_info *mi; -+{ -+ xvbzero((char *)mi, sizeof(struct maki_info)); -+ mi->fp = NULL; -+ mi->fsize = 0; -+ mi->x0 = mi->y0 = mi->x1 = mi->y1 = 0; -+ mi->width = mi->height = 0; -+ mi->aspect = 1.0; -+ mi->fb_size = mi->pa_size = mi->pb_size = 0; -+ mi->m_maki01b = mi->m_200 = mi->m_dig8 = 0; -+ mi->ext_flag = 0; -+ mi->fa = mi->fb = mi->pa = mi->pb = NULL; -+ mi->vs = NULL; -+ mi->numcols = 16; -+ mi->forma = mi->formb = NULL; -+} -+ -+static void maki_cleanup_maki_info(mi, writing) -+ struct maki_info *mi; -+ int writing; -+{ -+ if(mi->fp && !writing) -+ fclose(mi->fp); -+ if(mi->fa) -+ free(mi->fa); -+ if(mi->fb) -+ free(mi->fb); -+ if(mi->pa) -+ free(mi->pa); -+ if(mi->pb) -+ free(mi->pb); -+ if(mi->vs) -+ free(mi->vs); -+ if(mi->forma) -+ free(mi->forma); -+ if(mi->formb) -+ free(mi->formb); -+} -+ -+static void maki_cleanup_pinfo(pi) -+ PICINFO *pi; -+{ -+ if(pi->pic){ -+ free(pi->pic); -+ pi->pic = NULL; -+ } -+} -+ -+static void maki_memory_error(scm, fn) -+ char *scm, *fn; -+{ -+ char buf[128]; -+ sprintf(buf, "%s: coulndn't allocate memory. (%s)", scm, fn); -+ FatalError(buf); -+} -+ -+static void maki_error(mi, mn) -+ struct maki_info *mi; -+ int mn; -+{ -+ SetISTR(ISTR_WARNING, "%s", maki_msgs[mn]); -+ longjmp(mi->jmp, 1); -+} -+ -+static void maki_file_error(mi, mn) -+ struct maki_info *mi; -+ int mn; -+{ -+ if(feof(mi->fp)) -+ SetISTR(ISTR_WARNING, "%s (end of file)", maki_msgs[mn]); -+ else -+ SetISTR(ISTR_WARNING, "%s (%s)", maki_msgs[mn], ERRSTR(errno)); -+ longjmp(mi->jmp, 1); -+} -+ -+static void maki_file_warning(mi, mn) -+ struct maki_info *mi; -+ int mn; -+{ -+ if(feof(mi->fp)) -+ SetISTR(ISTR_WARNING, "%s (end of file)", maki_msgs[mn]); -+ else -+ SetISTR(ISTR_WARNING, "%s (%s)", maki_msgs[mn], ERRSTR(errno)); -+} -+ -+static void maki_show_maki_info(mi) -+ struct maki_info *mi; -+{ -+ fprintf(stderr, " file size: %ld.\n", mi->fsize); -+ fprintf(stderr, " image size: %dx%d.\n", mi->width, mi->height); -+ fprintf(stderr, " aspect: %f.\n", mi->aspect); -+ fprintf(stderr, " flag B size: %ld.\n", mi->fb_size); -+ fprintf(stderr, " pixel data size: A:%ld, B:%ld.\n", -+ mi->pa_size, mi->pb_size); -+ fprintf(stderr, " MAKI01B: %s.\n", mi->m_maki01b ? "true" : "false"); -+ fprintf(stderr, " 200 line mode: %s.\n", mi->m_200 ? "true" : "false"); -+ fprintf(stderr, " digital 8 colors: %s.\n", mi->m_dig8 ? "true" : "false"); -+} -+ -+static void *maki_malloc(n, fn) -+ size_t n; -+ char *fn; -+{ -+ void *r = (void *) malloc(n); -+ if(r == NULL) -+ maki_memory_error("malloc", fn); -+ return r; -+} -+ -+static void *maki_realloc(p, n, fn) -+ void *p; -+ size_t n; -+ char *fn; -+{ -+ void *r = (p == NULL) ? (void *) malloc(n) : (void *) realloc(p, n); -+ if(r == NULL) -+ maki_memory_error("realloc", fn); -+ return r; -+} -+#endif /* HAVE_MAKI */ -diff -u -r --new-file xv-3.10a.orig/xvmgcsfx.c xv-3.10a/xvmgcsfx.c ---- xv-3.10a.orig/xvmgcsfx.c 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/xvmgcsfx.c 2007-04-15 17:02:32.000000000 -0500 -@@ -0,0 +1,2276 @@ -+/* -+ * $Id: xvmgcsfx.c,v 1.23 95/11/27 19:03:36 tin329 Exp Locker: tin329 $ -+ * xvmgcsfx.c - Use the filters as input and output method. -+ * -+ * Features -+ * ======== -+ * Use the filters as input and output method for load and save unsupported -+ * image format file. The filter command is recognized by definition of -+ * magic number or suffix in "~/.xv_mgcsfx" . -+ * -+ * Bugs -+ * ==== -+ * There are many bugs. -+ * Let's go hunting for insects with an insect net. (it's all joke.) -+ * -+ * Author -+ * ====== -+ * Tetsuya INOUE -+ */ -+ -+/* -+ * Known Bugs and Todo / $B$"$l$3$l5$$K$J$k$3$H(B -+ * -+ * ~/.xv_mgcsfx $BFb(B -+ * $B!&Dj5A$,IT40A4$@$H%(%i!<(B (':'$B$N?t(B)$B!#(B -+ * $B!&%G%j%_%?$H$7$F(B ':' $B$r;H$&$N$G!"%9%?!<%H%"%C%W%U%!%$%kFb$G(B -+ * ':' $B$rMQ$$$FDj5A$O$G$-$J$$!#(B'\:'$B$G$b%@%a!#(B -+ * $B!&(B magic $B%?%$%W$G!"#8?J?t$O#37eJ,#0!A#7$rD4$Y!"#1#6?J?t$O(B -+ * isxdigit $B$,??$rJV$94VCf=hM}$5$l$k!#$7$+$7!"#1#b#y#t#e$H(B -+ * $B$7$F$7$+I>2A$5$l$J$$!#(B -+ * $B!&%W%j%W%m%;%C%5$r;H$&$H$-$O!"%3%a%s%H$N=q$-J}$KCm0U$7$J$1$l$P$J(B -+ * $B$i$J$$!#%W%j%W%m%;%C%5$K$h$C$F$O%3%a%s%H$,%(%i!<$K$J$k!#(B -+ * $B!&%Q%$%W$X$NF~=PNO$N%U%)!<%^%C%H$Nl9g$rG'$a$k$+!)(B -+ * $B!&(Bcompress(gzip)$B$N%U%!%$%k$O%F%s%]%i%j$G$O(B xvtmp??? $B$H$$$&L>A0$J(B -+ * $B$N$G(B suffix $B$G$O<1JL$G$-$J$$!#(B -+ * -+ * $BG'<1$9$k;~$K(B MACBINARY $B$K$OIi$1$k(B(in xv.c)$B!#(B -+ * -+ * $BB?=E$K(B pipe $B$rDL$9$3$H$,$G$-$J$$!#(B(pipe $B$,(B seek $B$G$-$J$$$+$i(B) -+ * $B!&(Bsocketpair $B$G!"(Brecv $B$K(B MSG_PEEK $B%U%i%0$r$D$+$C$F6uFI$_$9$k!#(B -+ * $B!&$3$l$r$d$k$H%U%!%$%k$NG'<1$,$a$A$c$a$A$cCY$/$J$k!#(B -+ * -+ * $B%j%=!<%9$G@_Dj(B -+ * $B!&%j%=!<%9$G@_Dj$9$kJ}$,LLE]$/$5$$(B -+ * -+ * $B%^%8%C%/%J%s%P!<$N@_Dj$K@55,I=8=(B -+ * -+ * $B%;!<%VMQ%W%m%;%9$,<:GT$9$k>l9g$NBP:v$,:#0l$D(B -+ * -+ * DEC OSF/1 V3.0 $B$G$O!"%Q%$%W$K%G!<%?$,$^$@$J$$;~$KFI$_9~$b$&$H$9$k$H!"(B -+ * read $B$,IT40A4$K$J$k!#(B(in xvpbm.c) -+ * $BF1MM$K=q$-9~$_;~$K$bLdBj$,@8$8$k$+$b$7$l$J$$!#(B -+ */ -+ -+#define NEEDSDIR /* for stat() */ -+#include "xv.h" -+ -+ -+#ifdef HAVE_MGCSFX -+ -+ -+#ifdef __osf__ -+# ifdef __alpha -+# define ARCHITECTURE64 1 -+# endif /* __alpha */ -+#endif /* __osf__ */ -+ -+#ifdef ARCHITECTURE64 -+typedef short int16; -+typedef int int32; -+typedef long int64; -+#else -+typedef short int16; -+typedef long int32; -+#endif /* ARCHITECTURE64 */ -+ -+#ifdef sgi -+# define vfork fork -+#endif -+ -+#define USE_SIGCHLD -+#if 0 -+# undef USE_SIGCHLD -+#endif -+ -+#ifdef USE_SIGCHLD -+# include -+#endif -+ -+typedef struct _mgcsfxtab -+{ -+ struct _mgcsfxtab *next; -+ char *description; -+ int mgcsfx_type; -+ int offset; -+ union{ -+ int16 int16_data; -+ int32 int32_data; -+ char *string_data; -+ } dt; -+ int string_len; -+ char *suffix; -+ int input_image_type; -+ char *input_command; -+ int output_image_type; -+ char *output_command; -+} mgcsfxtab; -+ -+ -+#ifndef MGCSFXDIR -+# define MGCSFXDIR "/usr/local/lib" -+#endif -+#ifndef SYSCONFDIR -+# define SYSCONFDIR MGCSFXDIR -+#endif -+#ifndef MGCSFX_SITE_RC -+# define MGCSFX_SITE_RC "xv_mgcsfx" -+#endif -+#ifndef MGCSFX_RC -+# define MGCSFX_RC ".xv_mgcsfx" -+#endif -+ -+#ifdef USE_MGCSFX_PREPROCESSOR -+# ifndef MGCSFX_PREPROCESSOR -+# define MGCSFX_PREPROCESSOR "/usr/lib/cpp" -+# endif -+#endif -+ -+ -+/* Check type for Magic number and Suffix */ -+enum {T_UNKNOWN, -+ T_MAGIC, T_SUFFIX, -+ T_BEINT16, T_BEINT32, T_BEINT64, -+ T_LEINT16, T_LEINT32, T_LEINT64}; -+ -+/* Image Type for input and output format */ -+enum {IT_UNKNOWN, -+#ifdef HAVE_MGCSFX_AUTO -+ IT_AUTO, -+#endif /* HAVE_MGCSFX_AUTO */ -+ IT_PNM, IT_PPM, IT_PGM, IT_PBM, -+ IT_PNM_RAW, IT_PPM_RAW, IT_PGM_RAW, IT_PBM_RAW, -+ IT_PNM_ASCII, IT_PPM_ASCII, IT_PGM_ASCII, IT_PBM_ASCII, -+ IT_GIF, IT_JPEG, IT_TIFF, IT_JFIF, /* IT_PS, IT_COMPRESS,*/ -+ IT_XBM, IT_XPM, IT_BMP, IT_SUNRAS, IT_IRIS, IT_XWD, -+ /* IT_TARGA, IT_FITS, IT_PM, IT_UTAHRLE, IT_PCX, IT_PDSVICAR, IT_IFF, */ -+ IT_MAG, IT_MAKI, IT_PI, IT_PIC, IT_PIC2 /* , IT_PCD */}; -+ -+ -+/*--------------------------------------------------------------------------*/ -+void mgcsfx_handler PARM((int)); -+void mgcsfx_handler_setup PARM((void)); -+ -+#ifdef USE_MGCSFX_PREPROCESSOR -+static char *get_tmp_fname PARM((void)); -+static char *make_preprocessed_file PARM((char *)); -+#endif /* USE_MGCSFX_PREPROCESSOR */ -+ -+int is_mgcsfx PARM((char *, unsigned char *, int)); -+ -+char *mgcsfx_auto_input_com PARM((char *)); -+ -+ -+static mgcsfxtab *free_mgcsfx PARM((mgcsfxtab *)); -+static char *fgettoken PARM((FILE*, int)); -+static int string_fin PARM((char *)); -+static int type_mgcsfx PARM((char *)); -+static int type_image PARM((char *)); -+ -+static void read_mgcsfx PARM((mgcsfxtab **, char *)); -+static void init_mgcsfx PARM((void)); -+static mgcsfxtab *find_mgcsfx PARM((char *, unsigned char *, int)); -+ -+int LoadMGCSFX PARM((char *, PICINFO *)); -+ -+#ifdef SVR4 -+typedef void Sigfunc(int); -+static Sigfunc *xv_signal PARM((int , Sigfunc *)); -+#endif -+ -+/*--------------------------------------------------------------------------*/ -+mgcsfxtab *mgcsfx_table = NULL; -+int mgcsfx_setup_flag = 0; -+ -+int nitem_mgcsfx = 0; -+int desc_width = 0; -+ -+int max_offset_mgcsfx = 0; -+int max_length_mgcsfx = 0; -+int need_buf_size = 0; -+ -+static char input_command_ex[1024]; -+static int input_command_ex_flag = 0; -+ -+#ifdef USE_SIGCHLD -+static int w_p_fail=0; -+#endif -+ -+/*--------------------------------------------------------------------------*/ -+ -+/***************************************************/ -+void mgcsfx_handler(sig) -+ int sig; -+{ -+#ifdef USE_SIGCHLD -+ int pid, pst; -+#endif -+ -+#if defined(SYSV) || defined(SVR4) -+ sighold(sig); -+#else -+ sigblock(sigmask(sig)); -+#endif -+ -+#ifdef USE_SIGCHLD -+ if(w_p_fail == 1){ -+ /* -+ * At this point, process write to broken pipe. -+ * Probably external command was can't exec. -+ */ -+ w_p_fail = 2; -+ pid = wait(&pst); -+ } -+#endif -+ -+ return; -+ -+ /* Quit(1); */ /*exit(1);*/ -+} -+ -+void mgcsfx_handler_setup() -+{ -+#ifdef SVR4 -+ xv_signal(SIGPIPE, (void (*)PARM((int))) mgcsfx_handler); -+ xv_signal(SIGCHLD, (void (*)PARM((int))) mgcsfx_handler); -+#else -+# ifdef SYSV -+ sigset(SIGPIPE, (void (*)PARM((int))) mgcsfx_handler); -+ sigset(SIGCHLD, (void (*)PARM((int))) mgcsfx_handler); -+# else -+ signal(SIGPIPE, (void (*)PARM((int))) mgcsfx_handler); -+ signal(SIGCHLD, (void (*)PARM((int))) mgcsfx_handler); -+# endif -+#endif -+} -+ -+/***************************************************/ -+#ifdef USE_MGCSFX_PREPROCESSOR -+static char *get_tmp_fname() -+{ -+ static char tmp[MAXPATHLEN+1]; -+ -+#ifndef VMS -+ sprintf(tmp, "%s/xvmgcsfxXXXXXX",tmpdir); -+#else -+ /* sprintf(tmp, "Sys$Scratch:xvmgcsfxXXXXXX"); */ -+ strcpy(tmp, "[]xvmgcsfxXXXXXX"); -+#endif /* VMS */ -+ -+#ifdef USE_MKSTEMP -+ close(mkstemp(tmp)); -+#else -+ mktemp(tmp); -+#endif -+ -+ return tmp; -+} -+ -+static char *make_preprocessed_file(fname) -+ char *fname; -+{ -+ char buf[512]; -+ char *tmp_name; -+ -+ tmp_name = get_tmp_fname(); -+ -+#ifndef VMS -+ sprintf(buf,"%s %s > %s", MGCSFX_PREPROCESSOR, fname, tmp_name); -+#else -+ sprintf(buf,"%s %s > %s", MGCSFX_PREPROCESSOR, fname, tmp_name); /* really OK? */ -+#endif -+ -+ SetISTR(ISTR_INFO, "Preprocessing '%s'...", BaseName(fname)); -+#ifndef VMS -+ if (system(buf)) -+#else -+ if (!system(buf)) -+#endif -+ { -+ SetISTR(ISTR_INFO, "Unable to preprocess '%s'.", BaseName(fname)); -+ Warning(); -+ return NULL; -+ } -+ -+ return tmp_name; -+} -+#endif /* USE_MGCSFX_PREPROCESSOR */ -+ -+/***************************************************/ -+/* $BG'<1$G$-$k%U%!%$%k$+$I$&$+D4$Y$k(B */ -+int is_mgcsfx(fname,buffer,size) -+ char *fname; -+ unsigned char *buffer; -+ int size; -+{ -+ mgcsfxtab *magic; -+ FILE *fp; -+ unsigned char *buf; -+ int s; -+ -+ if(nomgcsfx){ -+ return 0; -+ }else{ -+ if(size < need_buf_size){ -+ if((buf = (unsigned char *)calloc(need_buf_size, sizeof(char)))==NULL){ -+ fprintf(stderr,"Can't allocate memory\n"); -+ return 0; -+ } -+ if((fp = xv_fopen(fname, "r"))==NULL){ -+ fprintf(stderr,"Can't open file %s\n", fname); -+ free(buf); -+ return 0; -+ } -+ s = fread(buf, 1, need_buf_size, fp); -+ if((magic = find_mgcsfx(fname, buf, s))!=NULL && -+ magic->input_command != NULL){ -+ free(buf); -+ fclose(fp); -+ return 1; -+ }else{ -+ free(buf); -+ fclose(fp); -+ return 0; -+ } -+ }else{ -+ if((magic = find_mgcsfx(fname, buffer, size))!=NULL && -+ magic->input_command != NULL){ -+ return 1; -+ }else{ -+ return 0; -+ } -+ } -+ } -+} -+ -+#ifdef HAVE_MGCSFX_AUTO -+char *mgcsfx_auto_input_com(fname) -+char *fname; -+{ -+ static char command[1024]; -+ mgcsfxtab *magic; -+ char *ptr; -+ -+ FILE *fp; -+ unsigned char *buf; -+ int s; -+ -+ if((buf = (unsigned char *)calloc(need_buf_size, sizeof(char)))==NULL){ -+ fprintf(stderr,"Can't allocate memory\n"); -+ return NULL; -+ } -+ if((fp = xv_fopen(fname, "r"))==NULL){ -+ fprintf(stderr,"Can't open file %s\n", fname); -+ free(buf); -+ return NULL; -+ } -+ s = fread(buf, 1, need_buf_size, fp); -+ if((magic = find_mgcsfx(fname, buf, s))!=NULL && -+ magic->input_command != NULL && magic->input_image_type == IT_AUTO){ -+ if ((ptr = strstr(magic->input_command, "%s"))){ -+ sprintf(command, magic->input_command, fname); -+ }else{ -+ sprintf(command, "%s < %s", magic->input_command, fname); -+ } -+ free(buf); -+ fclose(fp); -+ return command; -+ }else{ -+ free(buf); -+ fclose(fp); -+ return NULL; -+ } -+} -+#endif /* HAVE_MGCSFX_AUTO */ -+ -+/***************************************************/ -+static mgcsfxtab *free_mgcsfx(m) -+ mgcsfxtab *m; -+{ -+ mgcsfxtab *next; -+ if(m == NULL) return NULL; -+ next = m->next; -+ if(m->description != NULL) free(m->description); -+ if(m->mgcsfx_type == T_MAGIC && m->dt.string_data != NULL) -+ free(m->dt.string_data); -+ if(m->suffix != NULL) free(m->suffix); -+ if(m->input_command != NULL) free(m->input_command); -+ if(m->output_command != NULL) free(m->output_command); -+ free(m); -+ return next; -+} -+ -+ -+ -+/***************************************************/ -+/* char c $B$^$?$O(B '\n' $B$G6h@Z$i$l$?J8;zNs$rl9g$O(B '\n' $B$r%9%H%j!<%`$KLa$9(B) -+ */ -+#define CBUF_SIZE 1024 -+static char *fgettoken(fp, c) -+ FILE *fp; -+ int c; /* Real mean is char */ -+{ -+ char *buf; -+ char *buf2; -+ int i; -+ int n=0; -+ int max=0; -+ int count = 1; -+ -+ char *ss; -+ char *se; -+ -+ if((buf = (char *)calloc(CBUF_SIZE, sizeof(char))) == NULL){ -+ fprintf(stderr,"Can't allocate memory\n"); -+ exit(1); -+ } -+ max = CBUF_SIZE; -+ count = 2; -+ -+ do{ -+ if((i = getc(fp))==EOF || i == '\n' || i == c) break; -+ -+ buf[n] = (char)i; -+ -+ if(i != c && n == max-1){ -+ buf[max] = '\0'; -+ if((buf2 = (char *)calloc(CBUF_SIZE * count, sizeof(char))) == NULL){ -+ fprintf(stderr,"Can't allocate memory\n"); -+ exit(1); -+ } -+ strcpy(buf2, buf); -+ free(buf); -+ buf = buf2; -+ buf2 = NULL; -+ max = CBUF_SIZE * count; -+ count++; -+ } -+ -+ n++; -+ }while(i != c); -+ -+ buf[n] = '\0'; -+ -+ /* $B:G=i$H:G8e$N6uGrJ8;z$r@Z$j5M$a$k(B */ -+ ss = buf + strspn(buf, " \t\b\r\n"); /* find the first non-white space */ -+ se = buf + strlen(buf); /* find the end of the string */ -+ -+ /* strip from the end first */ -+ while ((--se >= ss) && strchr(" \t\b\r\n", *se)); -+ *(++se) = '\0'; -+ -+ if(i == EOF && strlen(ss)==0){ /* EOF $B$J$i(B NULL $B$rJV$9(B */ -+ free(buf); -+ return NULL; -+ }else if(i == '\n' && strlen(ss)==0){ /* $B2~9T$N$_$N>l9g(B */ -+ static char cr[2] = {'\n','\0'}; -+ buf2 = strdup(cr); -+ free(buf); -+ return buf2; -+ }else{ /* $BDL>o(B */ -+ if(i == '\n' && strlen(ss)>0) ungetc(i,fp); -+ buf2 = strdup(ss); -+ free(buf); -+ return buf2; -+ } -+} -+ -+ -+ -+/***************************************************/ -+/* $BJ8;zNsCf$NFC= '0') && (ptr[1] <= '7')){ -+ if ((ptr[2] >= '0') && (ptr[2] <= '7')){ /* \000 ...\377 */ -+ *cptr = ((*ptr - '0') * 64) +((ptr[1] - '0') * 8) +(ptr[1] - '0'); -+ ptr += 2; -+ }else{ /* \00 ...\77 */ -+ *cptr = ((*ptr - '0') * 8) + (ptr[1] - '0'); -+ ++ptr; -+ } -+ }else{ /* \0 ...\7 */ -+ *cptr = *ptr - '0'; -+ } -+ break; -+ case 'x': /* Hexadecimal constant \x0 .. \xff */ -+ if (isxdigit (ptr[1])){ -+ *cptr = 0; -+ while (isxdigit (*(++ptr))) -+ *cptr = (*cptr * 16) + -+ (*ptr > '9' ? tolower (*ptr) - ('a' - 10) : *ptr - '0'); -+ --ptr; -+ break; -+ } -+ default: -+ /* *(cptr++) = '\\'; No use for treat '\z' as 'z' */ -+ *cptr = *ptr; -+ break; -+ } -+ } -+ ++cptr; -+ } -+ *cptr = '\0'; -+ length = cptr - string_data; -+ return length; -+} -+ -+/***************************************************/ -+static int type_mgcsfx(str) -+ char *str; -+{ -+ if(str == NULL){ -+ return T_UNKNOWN; -+ }else if(!strcmp(str, "magic") || !strcmp(str, "MAGIC")){ -+ return T_MAGIC; -+ }else if(!strcmp(str, "string") || !strcmp(str, "STRING")){ -+ return T_MAGIC; -+ }else if(!strcmp(str, "suffix") || !strcmp(str, "SUFFIX")){ -+ return T_SUFFIX; -+ }else if(!strcmp(str, "beint16") || !strcmp(str, "BEINT16")){ -+ return T_BEINT16; -+ }else if(!strcmp(str, "leint16") || !strcmp(str, "LEINT16")){ -+ return T_LEINT16; -+ }else if(!strcmp(str, "beint32") || !strcmp(str, "BEINT32")){ -+ return T_BEINT32; -+ }else if(!strcmp(str, "leint32") || !strcmp(str, "LEINT32")){ -+ return T_LEINT32; -+ }else{ -+ return T_UNKNOWN; -+ } -+} -+ -+/***************************************************/ -+static int type_image(str) -+ char *str; -+{ -+ if(str == NULL){ -+ return IT_UNKNOWN; -+#ifdef HAVE_MGCSFX_AUTO -+ }else if(!strcmp(str, "auto") || !strcmp(str, "AUTO")){ -+ return IT_AUTO; -+#endif /* HAVE_MGCSFX_AUTO */ -+ }else if(!strcmp(str, "pnm") || !strcmp(str, "PNM")){ -+ return IT_PNM; -+ }else if(!strcmp(str, "ppm") || !strcmp(str, "PPM")){ -+ return IT_PPM; -+ }else if(!strcmp(str, "pgm") || !strcmp(str, "PGM")){ -+ return IT_PGM; -+ }else if(!strcmp(str, "pbm") || !strcmp(str, "PBM")){ -+ return IT_PBM; -+ }else if(!strcmp(str, "pnm_raw") || !strcmp(str, "PNM_RAW")){ -+ return IT_PNM_RAW; -+ }else if(!strcmp(str, "ppm_raw") || !strcmp(str, "PPM_RAW")){ -+ return IT_PPM_RAW; -+ }else if(!strcmp(str, "pgm_raw") || !strcmp(str, "PGM_RAW")){ -+ return IT_PGM_RAW; -+ }else if(!strcmp(str, "pbm_raw") || !strcmp(str, "PBM_RAW")){ -+ return IT_PBM_RAW; -+ }else if(!strcmp(str, "pnm_ascii") || !strcmp(str, "PNM_ASCII")){ -+ return IT_PNM_ASCII; -+ }else if(!strcmp(str, "ppm_ascii") || !strcmp(str, "PPM_ASCII")){ -+ return IT_PPM_ASCII; -+ }else if(!strcmp(str, "pgm_ascii") || !strcmp(str, "PGM_ASCII")){ -+ return IT_PGM_ASCII; -+ }else if(!strcmp(str, "pbm_ascii") || !strcmp(str, "PBM_ASCII")){ -+ return IT_PBM_ASCII; -+ -+ }else if(!strcmp(str, "gif") || !strcmp(str, "GIF")){ -+ return IT_GIF; -+ }else if(!strcmp(str, "jpeg") || !strcmp(str, "JPEG")){ -+ return IT_JPEG; -+ }else if(!strcmp(str, "tiff") || !strcmp(str, "TIFF")){ -+ return IT_TIFF; -+ }else if(!strcmp(str, "jfif") || !strcmp(str, "JFIF")){ -+ return IT_JFIF; -+ -+ }else if(!strcmp(str, "xbm") || !strcmp(str, "XBM")){ -+ return IT_XBM; -+ }else if(!strcmp(str, "xpm") || !strcmp(str, "XPM")){ -+ return IT_XPM; -+ }else if(!strcmp(str, "bmp") || !strcmp(str, "BMP")){ -+ return IT_BMP; -+ }else if(!strcmp(str, "sunras") || !strcmp(str, "SUNRAS")){ -+ return IT_SUNRAS; -+ }else if(!strcmp(str, "iris") || !strcmp(str, "IRIS")){ -+ return IT_IRIS; -+ }else if(!strcmp(str, "xwd") || !strcmp(str, "XWD")){ -+ return IT_XWD; -+ -+ }else if(!strcmp(str, "mag") || !strcmp(str, "MAG")){ -+ return IT_MAG; -+ }else if(!strcmp(str, "maki") || !strcmp(str, "MAKI")){ -+ return IT_MAKI; -+ }else if(!strcmp(str, "pi") || !strcmp(str, "PI")){ -+ return IT_PI; -+ }else if(!strcmp(str, "pic") || !strcmp(str, "PIC")){ -+ return IT_PIC; -+ }else if(!strcmp(str, "pic2") || !strcmp(str, "PIC2")){ -+ return IT_PIC2; -+ -+ }else{ -+ return IT_UNKNOWN; -+ } -+} -+ -+/*--------------------------------------------------------------------------*/ -+#define mgcsfx_read_error(FILENAME, LINENUM, AFTERFIELD) \ -+fprintf (stderr,\ -+"%s: line %d: missing fields of %s field\n",\ -+FILENAME, LINENUM, AFTERFIELD); -+ -+#define magic_type_error(FILENAME, LINENUM, MAGICNUMBER) \ -+fprintf (stderr,\ -+"%s: line %d: invalid field '%s'\n",\ -+FILENAME, LINENUM, MAGICNUMBER); -+/*--------------------------------------------------------------------------*/ -+ -+/***************************************************/ -+static void read_mgcsfx(mgcsfx_table, fname) -+ mgcsfxtab **mgcsfx_table; -+ char *fname; -+{ -+ FILE *fp; -+ char *s; -+ int line_number = 0; -+ int str_len; -+ int reach_end; -+ int def_err; -+ -+ char *description; -+ char *mgcsfx_type; -+ char *offset; -+ char *magic; -+ char *suffix; -+ char *i_img; -+ char *i_com; -+ char *o_img; -+ char *o_com; -+ -+ mgcsfxtab *ent; -+ mgcsfxtab **entry; -+ -+ -+ if((fp=fopen(fname, "r"))==NULL){ -+ /* fprintf(stderr, "Can't open %s\n",fname); */ -+ return; -+ } -+ -+ while(1){ -+retry: -+ line_number++; -+ def_err = 0; -+ -+ s= NULL; -+ description = mgcsfx_type = offset = magic = suffix -+ = i_img = i_com = o_img = o_com = NULL; -+ reach_end = 0; -+ -+ if((s = fgettoken(fp, ':'))==NULL) break; /* EOF $B$J$i=*$j(B */ -+ if(*s == '#'){/* $B@hF,$,(B '#' $B$J$iFI$_$H$P$9(B */ -+ while((s = fgettoken(fp, '\n'))!=NULL){ -+ if(*s == '\n'){ -+ free(s); -+ goto retry; -+ } -+ free(s); -+ } -+ if(s == NULL) break; -+ }else if(*s == '\n'){/* $B6u9T$OL5;k(B */ -+ free(s); -+ goto retry; -+ } -+ if(strlen(s) > 0) description = s; -+ else free(s); -+ -+ if((s = fgettoken(fp, ':'))==NULL || *s == '\n'){/* $B2?$b$J$$$J$i@_Dj%_%9(B */ -+ if(s != NULL) free(s); -+ mgcsfx_read_error(fname, line_number, "data type"); -+ goto next; -+ } -+ if(strlen(s) > 0) mgcsfx_type = s; -+ else free(s); -+ -+ if((s = fgettoken(fp, ':'))==NULL || *s == '\n'){/* $B2?$b$J$$$J$i@_Dj%_%9(B */ -+ if(s != NULL) free(s); -+ mgcsfx_read_error(fname, line_number, "byte offset"); -+ goto next; -+ } -+ if(strlen(s) > 0) offset = s; -+ else free(s); -+ -+ if((s = fgettoken(fp, ':'))==NULL || *s == '\n'){/* $B2?$b$J$$$J$i@_Dj%_%9(B */ -+ if(s != NULL) free(s); -+ mgcsfx_read_error(fname, line_number, "magic number"); -+ goto next; -+ } -+ if(strlen(s) > 0) magic = s; -+ else free(s); -+ -+ if((s = fgettoken(fp, ':'))==NULL || *s == '\n'){/* $B2?$b$J$$$J$i@_Dj%_%9(B */ -+ if(s != NULL) free(s); -+ mgcsfx_read_error(fname, line_number, "suffix"); -+ goto next; -+ } -+ if(strlen(s) > 0) suffix = s; -+ else free(s); -+ -+ if((s = fgettoken(fp, ':'))==NULL || *s == '\n'){/* $B2?$b$J$$$J$i@_Dj%_%9(B */ -+ if(s != NULL) free(s); -+ mgcsfx_read_error(fname, line_number, "input image type"); -+ goto next; -+ } -+ if(strlen(s) > 0) i_img = s; -+ else free(s); -+ -+ if((s = fgettoken(fp, ':'))==NULL || *s == '\n'){/* $B2?$b$J$$$J$i@_Dj%_%9(B */ -+ if(s != NULL) free(s); -+ mgcsfx_read_error(fname, line_number, "input command"); -+ goto next; -+ } -+ if(strlen(s) > 0) i_com = s; -+ else free(s); -+ -+ if((s = fgettoken(fp, ':'))==NULL || *s == '\n'){/* $B2?$b$J$$$J$i@_Dj%_%9(B */ -+ if(s != NULL) free(s); -+ mgcsfx_read_error(fname, line_number, "output image type"); -+ goto next; -+ } -+ if(strlen(s) > 0) o_img = s; -+ else free(s); -+ -+ if((s = fgettoken(fp, '#'))==NULL || *s == '\n'){/* $B2?$b$J$$$J$i@_Dj%_%9(B */ -+ /* -+ free(s); -+ mgcsfx_read_error(fname, line_number, "output command"); -+ goto next; -+ */ -+ if(s != NULL){ -+ *s = '\0'; -+ reach_end = 1; -+ } -+ } -+ if(s != NULL){ -+ if(strlen(s) > 0) o_com = s; -+ else free(s); -+ } -+ -+ if(reach_end == 0){ -+ while((s = fgettoken(fp, '\n'))!=NULL){/* $B9TKv$N%4%_$rnext = NULL; -+ ent->description = NULL; -+ ent->mgcsfx_type = T_UNKNOWN; -+ ent->offset = 0; -+ ent->string_len = 0; -+ ent->suffix = NULL; -+ ent->input_image_type = IT_UNKNOWN; -+ ent->input_command = NULL; -+ ent->output_image_type = IT_UNKNOWN; -+ ent->output_command = NULL; -+ -+ if(description != NULL){ -+ ent->description = description; -+ description = NULL; -+ }else{ -+ fprintf (stderr,"%s: line %d: undefined field.\n", -+ fname, line_number); -+ def_err ++; -+ goto next2; -+ } -+ -+ if(mgcsfx_type == NULL){ -+ fprintf (stderr,"%s: line %d: undefined field.\n", -+ fname, line_number); -+ def_err ++; -+ goto next2; -+ } -+ ent->mgcsfx_type = type_mgcsfx(mgcsfx_type); -+ switch(ent->mgcsfx_type){ -+ case T_SUFFIX: -+ if(suffix == NULL){ -+ fprintf (stderr, -+ "%s: line %d: conflict definition : undefined field.\n", -+ fname, line_number); -+ def_err ++; -+ goto next2; -+ } -+ break; -+ case T_BEINT16: -+ if (sscanf(magic, "%hi", &(ent->dt.int16_data)) != 1){ -+ magic_type_error(fname, line_number, magic); -+ def_err ++; -+ goto next2; -+ } -+ break; -+ case T_LEINT16: -+ if (sscanf(magic, "%hi", &(ent->dt.int16_data)) != 1){ -+ magic_type_error(fname, line_number, magic); -+ def_err ++; -+ goto next2; -+ } -+ break; -+#ifdef ARCHITECTURE64 -+ case T_BEINT32: -+ if (sscanf(magic, "%i", &(ent->dt.int32_data)) != 1){ -+ magic_type_error(fname, line_number, magic); -+ def_err ++; -+ goto next2; -+ } -+ break; -+ case T_LEINT32: -+ if (sscanf(magic, "%i", &(ent->dt.int32_data)) != 1){ -+ magic_type_error(fname, line_number, magic); -+ def_err ++; -+ goto next2; -+ } -+ break; -+#else -+ case T_BEINT32: -+ if (sscanf(magic, "%li", &(ent->dt.int32_data)) != 1){ -+ magic_type_error(fname, line_number, magic); -+ def_err ++; -+ goto next2; -+ } -+ break; -+ case T_LEINT32: -+ if (sscanf(magic, "%li", &(ent->dt.int32_data)) != 1){ -+ magic_type_error(fname, line_number, magic); -+ def_err ++; -+ goto next2; -+ } -+ break; -+#endif /* ARCHITECTURE64 */ -+ case T_MAGIC: -+ if(magic == NULL){ -+ fprintf (stderr,"%s: line %d: undefined field.\n", -+ fname, line_number); -+ def_err ++; -+ goto next2; -+ } -+ if((str_len = string_fin(magic))<=0){ -+ fprintf (stderr,"%s: line %d: invalid field.\n", -+ fname, line_number); -+ def_err ++; -+ goto next2; -+ } -+ -+ ent->string_len = str_len; -+ if((ent->dt.string_data = (char *)malloc(str_len + 1))==NULL){ -+ fprintf(stderr,"Can't allocate memory\n"); -+ exit(1); -+ } -+ memcpy(ent->dt.string_data, magic, str_len + 1); -+ break; -+ case T_UNKNOWN: -+ default: -+ fprintf (stderr,"%s: line %d: invalid field.\n", -+ fname, line_number); -+ def_err ++; -+ goto next2; -+ break; -+ }; -+ -+ -+ if(offset == NULL){ -+ if(ent->mgcsfx_type == T_MAGIC || -+ ent->mgcsfx_type == T_BEINT16 || -+ ent->mgcsfx_type == T_LEINT16 || -+ ent->mgcsfx_type == T_BEINT32 || -+ ent->mgcsfx_type == T_LEINT32){ -+ fprintf (stderr, -+ "%s: line %d: conflict definition : undefined field.\n", -+ fname, line_number); -+ def_err ++; -+ goto next2; -+ } -+ }else{ -+ if(ent->mgcsfx_type != T_SUFFIX) sscanf(offset, "%i", &(ent->offset)); -+ } -+ -+ if(suffix != NULL){ -+ ent->suffix = suffix; -+ suffix = NULL; -+ } -+ -+ if((i_img == NULL && i_com == NULL) && (o_img == NULL || o_com == NULL)){ -+ fprintf (stderr,"%s: line %d: invalid definition.\n", -+ fname, line_number); -+ def_err ++; -+ goto next2; -+ } -+ if((o_img == NULL && o_com == NULL) && (i_img == NULL || i_com == NULL)){ -+ fprintf (stderr,"%s: line %d: invalid definition.\n", -+ fname, line_number); -+ def_err ++; -+ goto next2; -+ } -+ -+ if(i_img != NULL && i_com != NULL){ -+ ent->input_image_type = type_image(i_img); -+ ent->input_command = i_com; -+ i_com = NULL; -+ }else{ -+ ent->input_image_type = IT_UNKNOWN; -+ ent->input_command = NULL; -+ } -+ -+ if(o_img != NULL && o_com != NULL){ -+ ent->output_image_type = type_image(o_img); -+ ent->output_command = o_com; -+ o_com = NULL; -+ }else{ -+ ent->output_image_type = IT_UNKNOWN; -+ ent->output_command = NULL; -+ } -+ /* end of create mgcsfxtab */ -+ -+ -+next2:; -+ -+ if(def_err != 0 || DEBUG){ -+ fprintf(stderr,"Description : %s \t -> %s\n", -+ description ? description : "--+--", -+ ent->description ? ent->description : "-- error --"); -+ fprintf(stderr,"Type : %s \t -> %d\n", -+ mgcsfx_type ? mgcsfx_type : "--+--", -+ ent->mgcsfx_type); -+ fprintf(stderr,"Offset : %s \t -> %d\n", -+ offset ? offset : "--+--", -+ ent->offset); -+ -+ fprintf(stderr,"Magic : %s", magic ? magic : "--+--"); -+ switch(ent->mgcsfx_type){ -+ case T_BEINT16: -+ case T_LEINT16: -+ fprintf(stderr," \t -> %d\n",ent->dt.int16_data); -+ break; -+ case T_BEINT32: -+ case T_LEINT32: -+ fprintf(stderr," \t -> %ld\n",ent->dt.int32_data); -+ break; -+ case T_MAGIC: -+ fprintf(stderr," \t -> %s\n",ent->dt.string_data); -+ break; -+ default: -+ fprintf(stderr,"\n"); -+ break; -+ }; -+ -+ fprintf(stderr,"Suffix : %s \t -> %s\n", -+ suffix ? suffix : "--+--", -+ ent->suffix ? ent->suffix : "--+--"); -+ fprintf(stderr,"i Image : %s \t -> %d\n", -+ i_img ? i_img : "--+--", -+ ent->input_image_type); -+ fprintf(stderr,"i Command : %s \t -> %s\n", -+ i_com ? i_com : "--+--", -+ ent->input_command ? ent->input_command : "--+--"); -+ fprintf(stderr,"o Image : %s \t -> %d\n", -+ o_img ? o_img : "--+--", -+ ent->output_image_type); -+ fprintf(stderr,"o Command : %s \t -> %s\n", -+ o_com ? o_com : "--+--", -+ ent->output_command ? ent->output_command : "--+--"); -+ fprintf(stderr,"\n"); -+ } -+ -+ if(description != NULL) free(description); -+ if(mgcsfx_type != NULL) free(mgcsfx_type); -+ if(offset != NULL) free(offset); -+ if(magic != NULL) free(magic); -+ if(suffix != NULL) free(suffix); -+ if(i_img != NULL) free(i_img); -+ if(i_com != NULL) free(i_com); -+ if(o_img != NULL) free(o_img); -+ if(o_com != NULL) free(o_com); -+ -+ -+ if(def_err != 0) goto next3; -+ -+ /* Override any existing entry for this magic number/file type */ -+ for(entry = mgcsfx_table; *entry; entry = &((*entry)->next)){ -+ if((ent->mgcsfx_type == (*entry)->mgcsfx_type) && -+ ( -+ ((ent->offset == (*entry)->offset) && -+ (((ent->mgcsfx_type == T_BEINT16) && -+ (ent->dt.int16_data == (*entry)->dt.int16_data)) || -+ ((ent->mgcsfx_type == T_BEINT32) && -+ (ent->dt.int32_data == (*entry)->dt.int32_data)) || -+ ((ent->mgcsfx_type == T_LEINT16) && -+ (ent->dt.int16_data == (*entry)->dt.int16_data)) || -+ ((ent->mgcsfx_type == T_LEINT32) && -+ (ent->dt.int32_data == (*entry)->dt.int32_data)) || -+ -+ ((ent->mgcsfx_type == T_MAGIC) && -+ !memcmp(ent->dt.string_data, (*entry)->dt.string_data, -+ ent->string_len)) -+ )) || -+ ((ent->mgcsfx_type == T_SUFFIX) && -+ !strcmp(ent->suffix, (*entry)->suffix)) -+ ) -+ ){ -+ -+ free ((*entry)->description); -+ (*entry)->description = ent->description; -+ ent->description = NULL; -+ -+ (*entry)->input_image_type = ent->input_image_type; -+ if ((*entry)->input_command) free ((*entry)->input_command); -+ (*entry)->input_command = ent->input_command; -+ ent->input_command = NULL; -+ -+ (*entry)->output_image_type = ent->output_image_type; -+ if ((*entry)->output_command) free ((*entry)->output_command); -+ (*entry)->output_command = ent->output_command; -+ ent->output_command = NULL; -+ -+ free_mgcsfx(ent); -+ break; -+ } -+ } -+ if (!*entry){ -+ ent->next = NULL; -+ *entry = ent; -+ } -+ -+ /* if(s == NULL) break; */ -+next3:; -+ if(def_err != 0) free_mgcsfx(ent); -+ } /* end of while(1) */ -+} -+ -+ -+/***************************************************/ -+/* $B%^%8%C%/%J%s%P!$rF@$F!"FI$_9~$^$;$k(B */ -+static void init_mgcsfx () -+{ -+ extern char *getenv (); -+ -+ char *home_dir; -+ char fname[1024]; -+ mgcsfxtab *entry; -+ int len; -+ struct stat st; -+ -+#ifdef USE_MGCSFX_PREPROCESSOR -+ char *pp_fname; -+#endif /* USE_MGCSFX_PREPROCESSOR */ -+ -+ mgcsfx_table = NULL; -+ -+ mgcsfx_handler_setup(); -+ -+ if(nomgcsfx){ -+ mgcsfx_setup_flag = 1; -+ nitem_mgcsfx = 0; -+ desc_width = 0; -+ }else{ -+ sprintf (fname, "%s/%s", SYSCONFDIR, MGCSFX_SITE_RC); -+ if(stat(fname, &st) == 0 && S_ISREG(st.st_mode)){ -+ /* Read the site MagicSuffix table into a linked list */ -+#ifdef USE_MGCSFX_PREPROCESSOR -+ if((pp_fname = make_preprocessed_file(fname)) != NULL){ -+ read_mgcsfx (&mgcsfx_table, pp_fname); -+ } -+ unlink(pp_fname); -+#else -+ read_mgcsfx (&mgcsfx_table, fname); -+#endif /* USE_MGCSFX_PREPROCESSOR */ -+ } -+ -+ /* Read the personal MgcSfx table into the list overriding site entries */ -+ if ((home_dir = getenv ("HOME"))){ -+ sprintf (fname, "%s/%s", home_dir, MGCSFX_RC); -+ if(stat(fname, &st) == 0 && S_ISREG(st.st_mode)){ -+#ifdef USE_MGCSFX_PREPROCESSOR -+ if((pp_fname = make_preprocessed_file(fname)) != NULL){ -+ read_mgcsfx (&mgcsfx_table, pp_fname); -+ } -+ unlink(pp_fname); -+#else -+ read_mgcsfx (&mgcsfx_table, fname); -+#endif /* USE_MGCSFX_PREPROCESSOR */ -+ } -+ } -+ -+ mgcsfx_setup_flag = 1; -+ -+ nitem_mgcsfx = 0; -+ desc_width = 0; -+ for (entry = mgcsfx_table; entry; entry = entry->next){ -+ nitem_mgcsfx ++; -+ len = strlen(entry->description); -+ if(len > desc_width) desc_width = len; -+ if(max_offset_mgcsfx < entry->offset) max_offset_mgcsfx = entry->offset; -+ if(entry->mgcsfx_type == T_MAGIC && -+ max_length_mgcsfx < entry->string_len) -+ max_length_mgcsfx = entry->string_len; -+ } -+ if(max_length_mgcsfx == 0) max_length_mgcsfx = sizeof(int32); -+ need_buf_size = max_offset_mgcsfx + max_length_mgcsfx + 1;/* 1 is safety */ -+ } -+} -+ -+/***************************************************/ -+/* $B%^%8%C%/%J%s%P!<$rD4$Y$F!"Dj5A$7$F$$$k%F!<%V%k$r8!:w$9$k(B -+ $B%^%8%C%/%J%s%P!<$N%F!<%V%k$rFI$_9~$s$G$$$J$$$J$iFI$_9~$`(B */ -+static mgcsfxtab *find_mgcsfx (fname, buffer, buffer_size) -+ char *fname; -+ unsigned char *buffer; -+ int buffer_size; -+{ -+ mgcsfxtab *entry; -+ int16 buf16; -+ int32 buf32; -+ char *suf; -+ -+ if (mgcsfx_setup_flag == 0) init_mgcsfx (); -+ -+ for (entry = mgcsfx_table; entry; entry = entry->next){ -+ switch (entry->mgcsfx_type){ -+ case T_BEINT16: -+ if ((buffer_size > 0) && -+ ((entry->offset + sizeof (int16)) <= buffer_size)){ -+ buf16 = ((char)*(buffer + entry->offset) << 8) | -+ ((char)*(buffer + entry->offset +1)); -+ if(entry->dt.int16_data == buf16) return entry; -+ } -+ break; -+ case T_LEINT16: -+ if ((buffer_size > 0) && -+ ((entry->offset + sizeof (int16)) <= buffer_size)){ -+ buf16 = ((char)*(buffer + entry->offset +1) << 8) | -+ ((char)*(buffer + entry->offset)); -+ if(entry->dt.int16_data == buf16) return entry; -+ } -+ break; -+ case T_BEINT32: -+ if ((buffer_size > 0) && -+ ((entry->offset + sizeof (int32)) <= buffer_size)){ -+ buf32 = ((char)*(buffer + entry->offset) << 24) | -+ ((char)*(buffer + entry->offset +1) << 16) | -+ ((char)*(buffer + entry->offset +2) << 8) | -+ ((char)*(buffer + entry->offset +3)); -+ if(entry->dt.int32_data == buf32) return entry; -+ } -+ break; -+ case T_LEINT32: -+ if ((buffer_size > 0) && -+ ((entry->offset + sizeof (int32)) <= buffer_size)){ -+ buf32 = ((char)*(buffer + entry->offset +3) << 24) | -+ ((char)*(buffer + entry->offset +2) << 16) | -+ ((char)*(buffer + entry->offset +1) << 8) | -+ ((char)*(buffer + entry->offset)); -+ if(entry->dt.int32_data == buf32) return entry; -+ } -+ break; -+ case T_MAGIC: -+ if ((buffer_size > 0) && -+ ((entry->offset + entry->string_len) -+ <= buffer_size) && -+ !memcmp (entry->dt.string_data, buffer + entry->offset, -+ entry->string_len )) -+ return entry; -+ break; -+ case T_SUFFIX: -+ if(fname != NULL && entry->suffix != NULL){ -+ if(strlen(fname) - strlen(entry->suffix) > 0){ -+ suf = fname + (strlen(fname) - strlen(entry->suffix)); -+ if(!strcmp(suf, entry->suffix)) return entry; -+ } -+ } -+ break; -+ case T_UNKNOWN: -+ default: -+ return NULL; -+ break; -+ } -+ } -+ return NULL; -+} -+ -+ -+ -+ -+ -+/***************************************************/ -+/* $B%^%8%C%/%J%s%P!<$NDj5A$rD4$Y$F!"$=$l$K$"$o$;$?%3%^%s%I$rinput_command) || -+ (magic == NULL && mgcsfx && input_command_ex_flag)){ -+ -+ if(magic == NULL){ -+ if (fname != NULL && (ptr = strstr(input_command_ex, "%s"))){ -+ sprintf (command, input_command_ex, fname); -+ }else{ -+ strcpy (command, input_command_ex); -+ fname=NULL; -+ } -+ }else{ -+ /* Use stdin or give file name */ -+ if (fname != NULL && (ptr = strstr(magic->input_command, "%s"))){ -+ sprintf (command, magic->input_command, fname); -+ }else{ -+ strcpy (command, magic->input_command); -+ fname=NULL; -+ } -+ } -+ -+ /* Do the pipe/fork/exec here */ -+ if (pipe (fd) < 0){ -+ fprintf (stderr, "Can't pipe : %s\n", file_name); -+ close(file); -+ return 0; -+ } -+ -+ if ((pid = vfork ()) < 0){ -+ fprintf (stderr, "Can't vfork : %s\n", file_name); -+ close (fd[0]); -+ close (fd[1]); -+ close(file); -+ return 0; -+ } -+ -+ if (!pid){ -+ close(0); -+ if (fname == NULL || (open ("/dev/null", O_RDONLY) < 0)){ -+ dup(file); -+ } -+ close(file); -+ close(1); -+ dup(fd[1]); -+ close(2); -+ open("/dev/null", O_WRONLY); -+ close(fd[0]); -+ execl("/bin/sh", "/bin/sh", "-c", command, 0); -+ _exit(127); -+ } -+ -+ close (fd[1]); -+ dup2(fd[0], file); -+ close (fd[0]); -+ fname = NULL; -+ magic_cur = magic; -+ } -+/* } while(magic != NULL); */ -+ -+ free(buffer); -+ -+ if(magic_cur == NULL && mgcsfx && input_command_ex_flag){ -+ i_it = IT_PNM; -+ i_com = input_command_ex; -+ }else{ -+ i_it = magic_cur->input_image_type; -+ i_com = magic_cur->input_command; -+ } -+ -+ if((magic_cur != NULL && i_com) || -+ (magic_cur == NULL && mgcsfx && input_command_ex_flag)){ -+ switch(i_it){ -+ case IT_PNM: -+ case IT_PPM: -+ case IT_PGM: -+ case IT_PBM: -+ case IT_PNM_RAW: -+ case IT_PPM_RAW: -+ case IT_PGM_RAW: -+ case IT_PBM_RAW: -+ case IT_PNM_ASCII: -+ case IT_PPM_ASCII: -+ case IT_PGM_ASCII: -+ case IT_PBM_ASCII: -+ rv = LoadPBM(file_name, pinfo, file); -+ break; -+ case IT_GIF: -+ case IT_JPEG: -+ case IT_TIFF: -+ case IT_JFIF: -+ case IT_XBM: -+ case IT_XPM: -+ case IT_BMP: -+ case IT_SUNRAS: -+ case IT_IRIS: -+ case IT_XWD: -+ case IT_MAG: -+ case IT_MAKI: -+ case IT_PI: -+ case IT_PIC: -+ case IT_PIC2: -+ SetISTR(ISTR_WARNING, "Yet supported input image type (from filter output)"); -+ rv = 0; -+ break; -+ case IT_UNKNOWN: -+ SetISTR(ISTR_WARNING, "Unknown input image type (from filter output)"); -+ rv = 0; -+ break; -+#ifdef HAVE_MGCSFX_AUTO -+ case IT_AUTO: -+#endif -+ default: -+ SetISTR(ISTR_WARNING, "Error in input image type (from filter output)"); -+ rv = 0; -+ break; -+ } -+ }else{ -+ rv = 0; -+ } -+ -+ /* fail if pid still == -2? */ -+ while(wait(&pst) != pid); /* FIXME? pid isn't necessarily initialized... */ -+ if( *((char *)&pst) != 0 ) rv = 0; -+ -+ input_command_ex_flag = 0; -+ -+ return rv; -+ -+ /* fclose(fp); close in Load??? */ -+ /* return 0; error */ -+ /* return 1; ok */ -+} -+ -+ -+ -+ -+ -+/*--------------------------------------------------------------------------*/ -+#ifndef MGCSFX_DEFAULT_INPUT_COMMAND -+# define MGCSFX_DEFAULT_INPUT_COMMAND "tifftopnm" -+#endif -+#ifndef MGCSFX_DEFAULT_OUTPUT_COMMAND -+# define MGCSFX_DEFAULT_OUTPUT_COMMAND "pnmtotiff" -+#endif -+ -+int MSWIDE = 0; -+int MSHIGH = 0; -+ -+#define MS_NBUTTS 2 -+#define MS_BOK 0 -+#define MS_BCANC 1 -+#define BUTTW 60 /* width of buttons (OK or Cancel) */ -+#define BUTTH 24 /* height of buttons (OK or Cancel) */ -+#define RBSIZE 15 /* width and height of RB button (select, ON or OFF)*/ -+#define CWIDE 8 /* width of character */ -+/* #define CHIGH height of character defined in xv.h */ -+#define MARGIN 3 /* margin of button and label SPACING */ -+ -+#define MSD_TITLE "Save file with external command..." -+#define MSD_RBTITLE "Type of Magic and Suffix" -+#define MSD_IC_TITLE "input command" -+ -+static BUTT msbut[MS_NBUTTS]; -+static RBUTT *typeRB; -+ -+static char output_command_ex[1024]; -+static int output_command_ex_flag = 0; -+ -+static int colorType; -+ -+static int w_pid; -+static int w_pstatus; -+ -+#define MSNAMWIDE 252 /* width of 'file name' entry window */ -+#define MAXFNLEN 256 /* max len of filename being entered */ -+static char DialogFileName[MAXFNLEN+100]; /* filename being entered */ -+static int curPos, stPos, enPos; /* filename textedit stuff */ -+ -+ -+static mgcsfxtab *get_mgcsfx PARM((int)); -+static void changeSuffix PARM((int)); -+ -+static int WriteMGCSFX PARM((FILE**,byte*,int,int,int, -+ byte*,byte*,byte*,int,int,char*, -+ int, int, char*)); -+void CreateMGCSFXW PARM((void)); -+void MGCSFXDialog PARM((int)); -+int MGCSFXCheckEvent PARM((XEvent *)); -+int MGCSFXSaveParams PARM((char *, int)); -+ -+static void drawMSD PARM((int,int,int,int)); -+static void clickMSD PARM((int,int)); -+static void doCmd PARM((int)); -+static int writeMGCSFX PARM((void)); -+ -+static void changeSuffix PARM((int)); -+static void redrawNamMSD PARM((void)); -+static void showFNamMSD PARM((void)); -+static int keyinMSD PARM((int)); -+ -+int getInputCom PARM((void)); -+int getOutputCom PARM((void)); -+/*--------------------------------------------------------------------------*/ -+ -+/***************************************************/ -+/* $B$I$l$rA*$s$@$+D4$Y$k!##0$O%3%^%s%I$rF~NO$9$k$b$N$H$9$k(B */ -+static mgcsfxtab *get_mgcsfx(ms_type) -+ int ms_type; -+{ -+ mgcsfxtab *magic; -+ int i; -+ -+ magic = NULL; -+ if(ms_type != 0){ -+ i = 1; -+ for(magic = mgcsfx_table; (magic && inext){i++;} -+ } -+ return magic; -+} -+ -+/***************************************************/ -+/* $B30It%3%^%s%I$routput_command)){ -+ -+ /* Do the pipe/fork/exec here */ -+ if (pipe (fd) < 0){ -+ fprintf (stderr, "Can't pipe : %s\n", file_name); -+ return -1; -+ } -+ -+ if ((pid = vfork ()) < 0){ -+ fprintf (stderr, "Can't vfork : %s\n", file_name); -+ close (fd[0]); -+ close (fd[1]); -+ return -1; -+ } -+ -+ if (!pid){ -+ close(1); -+ dup(file); -+ close(file); -+ close(0); -+ dup(fd[0]); -+ close(2); -+ open("/dev/null", O_WRONLY); -+ close(fd[1]); -+ if(ms_type == 0){ -+ execl("/bin/sh", "/bin/sh", "-c", output_command_ex, 0); -+ }else{ -+ execl("/bin/sh", "/bin/sh", "-c", magic->output_command, 0); -+ } -+ _exit(127); -+ } -+ -+ close (fd[0]); -+ dup2(fd[1], file); -+ close (fd[1]); -+ -+ }else{ -+ return -1; -+ } -+ -+ -+ *fp = fdopen(file, "w"); -+ -+ /* sleep(1); Best way is wait for checking SIGCHLD, but it's feel waist.*/ -+ -+#ifdef USE_SIGCHLD -+ if(w_p_fail != 2){ -+#endif -+ if(ms_type == 0){ -+ rv = WritePBM(*fp,pic,ptype,w,h,rmap,gmap,bmap,numcols,colorstyle, -+ 1, comment); -+ }else{ -+ switch(magic -> output_image_type){ -+ case IT_PNM: -+ case IT_PPM: -+ case IT_PGM: -+ case IT_PBM: -+ case IT_PNM_RAW: -+ case IT_PPM_RAW: -+ case IT_PGM_RAW: -+ case IT_PBM_RAW: -+ rv = WritePBM(*fp,pic,ptype,w,h,rmap,gmap,bmap,numcols,colorstyle, -+ 1, comment); -+ break; -+ case IT_PNM_ASCII: -+ case IT_PPM_ASCII: -+ case IT_PGM_ASCII: -+ case IT_PBM_ASCII: -+ rv = WritePBM(*fp,pic,ptype,w,h,rmap,gmap,bmap,numcols,colorstyle, -+ 0, comment); -+ break; -+ case IT_GIF: -+ case IT_JPEG: -+ case IT_TIFF: -+ case IT_JFIF: -+ case IT_XBM: -+ case IT_XPM: -+ case IT_BMP: -+ case IT_SUNRAS: -+ case IT_IRIS: -+ case IT_XWD: -+ case IT_MAG: -+ case IT_MAKI: -+ case IT_PI: -+ case IT_PIC: -+ case IT_PIC2: -+ SetISTR(ISTR_WARNING, "Yet supported output image type (to filter input)"); -+ rv = -1; -+ break; -+ case IT_UNKNOWN: -+ SetISTR(ISTR_WARNING, "Unknown output image type (to filter input)"); -+ rv = -1; -+ break; -+#ifdef HAVE_MGCSFX_AUTO -+ case IT_AUTO: -+#endif -+ default: -+ SetISTR(ISTR_WARNING, "Error in output image type (to filter input)"); -+ rv = -1; -+ break; -+ } -+ } -+#ifdef USE_SIGCHLD -+ }else{ -+ rv = -1; -+ } -+#endif -+ -+#ifdef USE_SIGCHLD -+ if(w_p_fail != 2){ -+#endif -+ w_pid = pid; -+#ifdef USE_SIGCHLD -+ w_p_fail = 0; -+ }else{ -+ rv = -1; -+ } -+#endif -+ -+ output_command_ex_flag = 0; -+ -+ return rv; -+ -+ /* fclose(*fp); close in CloseOutFile in writeMGCSFX */ -+ /* return 0; ok */ -+ /* return -1; error */ -+} -+ -+/***************************************************/ -+void CreateMGCSFXW() -+{ -+ int y; -+ int type_num; -+ mgcsfxtab *entry; -+ -+ if (mgcsfx_setup_flag == 0) init_mgcsfx (); -+ -+ if(desc_width < strlen(MSD_IC_TITLE)) desc_width = strlen(MSD_IC_TITLE); -+ nitem_mgcsfx ++; -+ -+ MSWIDE = desc_width * CWIDE + RBSIZE + 36; /* 36 is start of RB button */ -+ MSHIGH = nitem_mgcsfx * (RBSIZE + MARGIN); -+ -+ if(MSWIDE < strlen(MSD_TITLE) + 20) MSWIDE = strlen(MSD_TITLE) + 20; -+ if(MSWIDE < strlen(MSD_RBTITLE) + 16) MSWIDE = strlen(MSD_RBTITLE) + 16; -+ if(MSWIDE < MSNAMWIDE + 10) MSWIDE = MSNAMWIDE + 10; -+ if(MSWIDE < BUTTW * 2 + 10) MSWIDE = BUTTW * 2 + 10; -+ -+ MSHIGH += 55 + LINEHIGH + 10 + BUTTH + 10; -+ -+ MSWIDE += 20; /* right side margin */ -+ MSHIGH += 10; /* RB buttun down side margin */ -+ -+ -+ mgcsfxW = CreateWindow("xv mgcsfx", "XVmgcsfx", NULL, -+ MSWIDE, MSHIGH, infofg, infobg, 0); -+ if (!mgcsfxW) FatalError("can't create mgcsfx window!"); -+ -+ XSelectInput(theDisp, mgcsfxW, -+ ExposureMask | ButtonPressMask | KeyPressMask); -+ -+ mgcsfxNameW = XCreateSimpleWindow(theDisp, mgcsfxW, -+ 10, MSHIGH-LINEHIGH-10-BUTTH-10-1, -+ (u_int) MSNAMWIDE+6, (u_int) LINEHIGH+5, -+ 1, infofg, infobg); -+ if (!mgcsfxNameW) FatalError("can't create mgcsfx name window"); -+ XSelectInput(theDisp, mgcsfxNameW, ExposureMask); -+ -+ /* Ok $B%\%?%s(B */ -+ BTCreate(&msbut[MS_BOK], mgcsfxW, -+ MSWIDE-BUTTW-10-BUTTW-10-1, MSHIGH-BUTTH-10-1, -+ BUTTW, BUTTH, -+ "Ok", infofg, infobg, hicol, locol); -+ /* Cancel $B%\%?%s(B*/ -+ BTCreate(&msbut[MS_BCANC], mgcsfxW, -+ MSWIDE-BUTTW-10-1, MSHIGH-BUTTH-10-1, -+ BUTTW, BUTTH, -+ "Cancel", infofg, infobg, hicol, locol); -+ -+ y = 55; -+ /* User should input command to exec external command */ -+ typeRB = RBCreate(NULL, mgcsfxW, 36, y, MSD_IC_TITLE, -+ infofg, infobg,hicol,locol); -+ y += (RBSIZE + MARGIN); /* 18 */ -+ -+ type_num = 1; -+ for (entry = mgcsfx_table; entry; entry = entry->next){ -+ RBCreate(typeRB, mgcsfxW, 36, y, entry->description, -+ infofg, infobg,hicol,locol); -+ y += (RBSIZE + MARGIN); /* 18 */ -+ if(entry->output_command == NULL){ -+ RBSetActive(typeRB, type_num, 0); /* if no command, off */ -+ } -+ type_num++; -+ } -+ -+ XMapSubwindows(theDisp, mgcsfxW); -+} -+ -+ -+/***************************************************/ -+void MGCSFXDialog(vis) -+ int vis; -+{ -+ if (vis) { -+ CenterMapWindow(mgcsfxW, msbut[MS_BOK].x + msbut[MS_BOK].w/2, -+ msbut[MS_BOK].y + msbut[MS_BOK].h/2, MSWIDE, MSHIGH); -+ } -+ else XUnmapWindow(theDisp, mgcsfxW); -+ mgcsfxUp = vis; -+} -+ -+ -+/***************************************************/ -+int MGCSFXCheckEvent(xev) -+ XEvent *xev; -+{ -+ /* check event to see if it's for one of our subwindows. If it is, -+ deal accordingly, and return '1'. Otherwise, return '0' */ -+ -+ int rv; -+ rv = 1; -+ -+ if (!mgcsfxUp) return (0); -+ -+ if (xev->type == Expose) { -+ int x,y,w,h; -+ XExposeEvent *e = (XExposeEvent *) xev; -+ x = e->x; y = e->y; w = e->width; h = e->height; -+ -+ if (e->window == mgcsfxW) drawMSD(x, y, w, h); -+ else rv = 0; -+ } -+ -+ else if (xev->type == ButtonPress) { -+ XButtonEvent *e = (XButtonEvent *) xev; -+ int x,y; -+ x = e->x; y = e->y; -+ -+ if (e->button == Button1) { -+ if (e->window == mgcsfxW) clickMSD(x,y); -+ else rv = 0; -+ } /* button1 */ -+ else rv = 0; -+ } /* button press */ -+ -+ else if (xev->type == KeyPress) { -+ XKeyEvent *e = (XKeyEvent *) xev; -+ char buf[128]; KeySym ks; XComposeStatus status; -+ int stlen; -+ -+ stlen = XLookupString(e,buf,128,&ks,&status); -+ buf[stlen] = '\0'; -+ -+ if (e->window == mgcsfxW) { -+ if (stlen) { -+ keyinMSD(buf[0]); -+ } -+ } -+ else rv = 0; -+ } -+ else rv = 0; -+ -+ if (rv == 0 && (xev->type == ButtonPress || xev->type == KeyPress)) { -+ XBell(theDisp, 50); -+ rv = 1; /* eat it */ -+ } -+ -+ return (rv); -+} -+ -+ -+/***************************************************/ -+int MGCSFXSaveParams(fname, col) -+ char *fname; -+ int col; -+{ -+ colorType = col; -+ strcpy(DialogFileName, GetDirFName()); -+ return (0); -+} -+ -+/***************************************************/ -+/* $B%@%$%"%m%0$rI=<($9$k$H$-$N=hM}(B */ -+static void drawMSD(x,y,w,h) -+ int x,y,w,h; -+{ -+ int i; -+ XRectangle xr; -+ -+ xr.x = x; xr.y = y; xr.width = w; xr.height = h; -+ XSetClipRectangles(theDisp, theGC, 0,0, &xr, 1, Unsorted); -+ -+ XSetForeground(theDisp, theGC, infofg); -+ XSetBackground(theDisp, theGC, infobg); -+ -+ for (i = 0; i < MS_NBUTTS; i++) BTRedraw(&msbut[i]); -+ -+ ULineString(mgcsfxW, typeRB->x-16, typeRB->y-3-DESCENT, -+ MSD_RBTITLE); -+ RBRedraw(typeRB, -1); -+ -+ DrawString(mgcsfxW, 20, 29, MSD_TITLE); -+ -+ XSetClipMask(theDisp, theGC, None); -+ -+ showFNamMSD(); -+} -+ -+/***************************************************/ -+/* $B%@%$%"%m%0$r%/%j%C%/$7$?$H$-$N=hM}(B */ -+static void clickMSD(x,y) -+ int x,y; -+{ -+ int i; -+ BUTT *bp; -+ -+ /* check BUTTs */ -+ -+ /* check the RBUTTS first, since they don't DO anything */ -+ if ((i = RBClick(typeRB, x,y)) >= 0) { /* $BA*Br(B(type)$B%\%?%s$N=hM}(B */ -+ (void) RBTrack(typeRB, i); /* $BA*Br(B(type)$B%\%?%s$r2!$7$?$H$-(B */ -+ changeSuffix(i); -+ return; -+ } -+ -+ for (i = 0; i < MS_NBUTTS; i++) { /* Ok,Cancel $B%\%?%s$N=hM}(B */ -+ bp = &msbut[i]; -+ if (PTINRECT(x, y, bp->x, bp->y, bp->w, bp->h)) -+ break; -+ } -+ if (i < MS_NBUTTS) /* found one */ /* Ok,Cancel $B%\%?%s$r2!$7$?$H$-(B */ -+ if (BTTrack(bp)) doCmd(i); -+} -+ -+/***************************************************/ -+/* $B%\%?%s(B(Ok, Cancel) $B$N=hM}(B */ -+static void doCmd(cmd) -+ int cmd; -+{ -+ int rv; -+ -+ switch (cmd) { -+ case MS_BOK: /* Ok button */ { -+ char *fullname; -+ -+ rv = writeMGCSFX(); /* Save with filter(MGCSFX) */ -+ MGCSFXDialog(0); -+ -+ fullname = GetDirFullName(); -+ if (!ISPIPE(fullname[0])) { -+ XVCreatedFile(fullname); -+ if(!rv) StickInCtrlList(0); -+ } -+ } -+ break; -+ case MS_BCANC: /* Cancel button */ -+ DialogFileName[0] = '\0'; -+ curPos = stPos = enPos = 0; -+ MGCSFXDialog(0); -+ break; -+ default: -+ break; -+ } -+} -+ -+/*******************************************/ -+static int writeMGCSFX() -+{ -+ int rv, type; -+ int ptype, w, h, pfree, nc; -+ byte *inpix, *rmap, *gmap, *bmap; -+ -+ FILE *fp = NULL; -+ int file; -+ char *fullname; -+ -+ rv = -1; -+ type = RBWhich(typeRB); -+ -+ SetDirFName(DialogFileName); /* change filename in dir dialog */ -+ fullname = GetDirFullName(); -+ -+ if(type == 0){ -+ if(getOutputCom() == 0) return rv; -+ } -+ -+ file = OpenOutFileDesc(fullname); -+ if(file < 0) return rv; -+ -+ WaitCursor(); -+ inpix = GenSavePic(&ptype, &w, &h, &pfree, &nc, &rmap, &gmap, &bmap); -+ -+ rv = WriteMGCSFX(&fp, inpix, ptype, w, h, -+ rmap, gmap, bmap, nc, colorType, fullname, -+ type, file, picComments); -+ -+ SetCursors(-1); -+ -+ if (CloseOutFile(fp, fullname, rv) == 0) DirBox(0); -+ -+ WaitCursor(); -+#ifdef USE_SIGCHLD -+ if(w_p_fail == 0){ -+#endif -+ while(wait(&w_pstatus) != w_pid); /* if( *((char *)&w_pstatus) != 0 ) ; */ -+#ifdef USE_SIGCHLD -+ }else{ -+ w_p_fail = 0; -+ } -+#endif -+ w_pid = 0; -+ w_pstatus = 0; -+ -+ if (pfree) free(inpix); -+ return rv; -+} -+ -+ -+/***************************************/ -+static void changeSuffix(ms_type) -+ int ms_type; -+{ -+ /* see if there's a common suffix at the end of the DialogFileName. -+ if there is, remember what case it was (all caps or all lower), lop -+ it off, and replace it with a new appropriate suffix, in the -+ same case */ -+ -+ int allcaps; -+ char *suffix, *sp, *dp, lowsuf[512]; -+ mgcsfxtab *magic; -+ -+ /* find the last '.' in the DialogFileName */ -+ suffix = (char *) rindex(DialogFileName, '.'); -+ if (!suffix) return; -+ suffix++; /* point to first letter of the suffix */ -+ -+ /* check for all-caposity */ -+ for (sp = suffix, allcaps=1; *sp; sp++) -+ if (islower(*sp)) allcaps = 0; -+ -+ /* copy the suffix into an all-lower-case buffer */ -+ for (sp=suffix, dp=lowsuf; *sp; sp++, dp++) { -+ *dp = (isupper(*sp)) ? tolower(*sp) : *sp; -+ } -+ *dp = '\0'; -+ -+ -+ magic = get_mgcsfx(ms_type); -+ if(magic != NULL && magic->suffix != NULL){ -+ strcpy(lowsuf,(magic->suffix)+1); -+ -+ if (allcaps) { /* upper-caseify lowsuf */ -+ for (sp=lowsuf; *sp; sp++) -+ *sp = (islower(*sp)) ? toupper(*sp) : *sp; -+ } -+ -+ /* one other case: if the original suffix started with a single -+ capital letter, make the new suffix start with a single cap */ -+ if (isupper(suffix[0])) lowsuf[0] = toupper(lowsuf[0]); -+ -+ strcpy(suffix, lowsuf); /* tack onto DialogFileName */ -+ showFNamMSD(); -+ } -+} -+ -+/***************************************************/ -+/* $B%@%$%"%m%0Fb$K%U%!%$%k%M!<%`$rI=<($9$k$H$-$N=hM}(B ($B2<@A$1(B)*/ -+static void redrawNamMSD() -+{ -+ int cpos; -+ -+ /* draw substring DialogFileName[stPos:enPos] and cursor */ -+ -+ Draw3dRect(mgcsfxNameW, 0, 0, (u_int) MSNAMWIDE+5, (u_int) LINEHIGH+4, R3D_IN, 2, -+ hicol, locol, infobg); -+ -+ XSetForeground(theDisp, theGC, infofg); -+ -+ if (stPos>0) { /* draw a "there's more over here" doowah */ -+ XDrawLine(theDisp, mgcsfxNameW, theGC, 0,0,0,LINEHIGH+5); -+ XDrawLine(theDisp, mgcsfxNameW, theGC, 1,0,1,LINEHIGH+5); -+ XDrawLine(theDisp, mgcsfxNameW, theGC, 2,0,2,LINEHIGH+5); -+ } -+ -+ if ((size_t) enPos < strlen(DialogFileName)) { -+ /* draw a "there's more over here" doowah */ -+ XDrawLine(theDisp, mgcsfxNameW, theGC, MSNAMWIDE+5,0,MSNAMWIDE+5,LINEHIGH+5); -+ XDrawLine(theDisp, mgcsfxNameW, theGC, MSNAMWIDE+4,0,MSNAMWIDE+4,LINEHIGH+5); -+ XDrawLine(theDisp, mgcsfxNameW, theGC, MSNAMWIDE+3,0,MSNAMWIDE+3,LINEHIGH+5); -+ } -+ -+ XDrawString(theDisp, mgcsfxNameW, theGC,3,ASCENT+3,DialogFileName+stPos, enPos-stPos); -+ -+ cpos = XTextWidth(mfinfo, &DialogFileName[stPos], curPos-stPos); -+ XDrawLine(theDisp, mgcsfxNameW, theGC, 3+cpos, 2, 3+cpos, 2+CHIGH+1); -+ XDrawLine(theDisp, mgcsfxNameW, theGC, 3+cpos, 2+CHIGH+1, 5+cpos, 2+CHIGH+3); -+ XDrawLine(theDisp, mgcsfxNameW, theGC, 3+cpos, 2+CHIGH+1, 1+cpos, 2+CHIGH+3); -+} -+ -+/***************************************************/ -+/* $B%@%$%"%m%0Fb$K%U%!%$%k%M!<%`$rI=<($9$k(B */ -+static void showFNamMSD() -+{ -+ int len; -+ -+ len = strlen(DialogFileName); -+ -+ if (curPosenPos) enPos = curPos; -+ -+ if (stPos>len) stPos = (len>0) ? len-1 : 0; -+ if (enPos>len) enPos = (len>0) ? len-1 : 0; -+ -+ /* while substring is shorter than window, inc enPos */ -+ -+ while (XTextWidth(mfinfo, &DialogFileName[stPos], enPos-stPos) < MSNAMWIDE -+ && enPos MSNAMWIDE) { -+ if (enPos != curPos) enPos--; -+ else stPos++; -+ } -+ -+ -+ if (ctrlColor) XClearArea(theDisp, mgcsfxNameW, 2,2, (u_int) MSNAMWIDE+5-3, -+ (u_int) LINEHIGH+4-3, False); -+ else XClearWindow(theDisp, mgcsfxNameW); -+ -+ redrawNamMSD(); -+ BTSetActive(&msbut[MS_BOK], strlen(DialogFileName)!=0); -+} -+ -+/***************************************************/ -+/* $B%-!=' ' && c<'\177') { /* printable characters */ -+ /* note: only allow 'piped commands' in savemode... */ -+ -+ /* only allow spaces in 'piped commands', not filenames */ -+ if (c==' ' && (!ISPIPE(DialogFileName[0]) || curPos==0)) return (-1); -+ -+ /* only allow vertbars in 'piped commands', not filenames */ -+ if (c=='|' && curPos!=0 && !ISPIPE(DialogFileName[0])) return(-1); -+ -+ if (len >= MAXFNLEN-1) return(-1); /* max length of string */ -+ xvbcopy(&DialogFileName[curPos], &DialogFileName[curPos+1], (size_t) (len-curPos+1)); -+ DialogFileName[curPos]=c; curPos++; -+ } -+ -+ else if (c=='\010' || c=='\177') { /* BS or DEL */ -+ if (curPos==0) return(-1); /* at beginning of str */ -+ xvbcopy(&DialogFileName[curPos], &DialogFileName[curPos-1], (size_t) (len-curPos+1)); -+ curPos--; -+ } -+ -+ else if (c=='\025') { /* ^U: clear entire line */ -+ DialogFileName[0] = '\0'; -+ curPos = 0; -+ } -+ -+ else if (c=='\013') { /* ^K: clear to end of line */ -+ DialogFileName[curPos] = '\0'; -+ } -+ -+ else if (c=='\001') { /* ^A: move to beginning */ -+ curPos = 0; -+ } -+ -+ else if (c=='\005') { /* ^E: move to end */ -+ curPos = len; -+ } -+ -+ else if (c=='\004') { /* ^D: delete character at curPos */ -+ if (curPos==len) return(-1); -+ xvbcopy(&DialogFileName[curPos+1], &DialogFileName[curPos], (size_t) (len-curPos)); -+ } -+ -+ else if (c=='\002') { /* ^B: move backwards char */ -+ if (curPos==0) return(-1); -+ curPos--; -+ } -+ -+ else if (c=='\006') { /* ^F: move forwards char */ -+ if (curPos==len) return(-1); -+ curPos++; -+ } -+ -+ else if (c=='\012' || c=='\015') { /* CR(\r) or LF(\n) */ -+ FakeButtonPress(&msbut[MS_BOK]); -+ } -+ -+ else if (c=='\033') { /* ESC = Cancel */ -+ FakeButtonPress(&msbut[MS_BCANC]); -+ } -+ -+ else if (c=='\011') { /* tab = filename expansion */ -+ if (1 /* !autoComplete() */) XBell(theDisp, 0); -+ else { -+ curPos = strlen(DialogFileName); -+ } -+ } -+ -+ else return(-1); /* unhandled character */ -+ -+ showFNamMSD(); -+ -+ return(0); -+} -+ -+ -+/*******************************************/ -+int getInputCom() -+{ -+ static const char *labels[] = { "\nOk", "\033Cancel" }; -+ int i; -+ -+ strcpy(input_command_ex, MGCSFX_DEFAULT_INPUT_COMMAND); -+ i = GetStrPopUp("Input External Command (Input is PNM):", labels, 2, -+ input_command_ex, 1024, "",0); -+ if (i == 0 && strlen(input_command_ex) != 0){ -+ input_command_ex_flag = 1; -+ return 1; -+ }else{ -+ input_command_ex_flag = 0; -+ return 0; -+ } -+} -+ -+int getOutputCom() -+{ -+ static const char *labels[] = { "\nOk", "\033Cancel" }; -+ int i; -+ -+ strcpy(output_command_ex, MGCSFX_DEFAULT_OUTPUT_COMMAND); -+ i = GetStrPopUp("Input External Command (Output is PNM_RAW):", labels, 2, -+ output_command_ex, 1024, "",0); -+ if (i == 0 && strlen(output_command_ex) != 0){ -+ output_command_ex_flag = 1; -+ return 1; -+ }else{ -+ output_command_ex_flag = 0; -+ return 0; -+ } -+} -+ -+#ifdef SVR4 -+Sigfunc * -+xv_signal(signo, func) -+ int signo; -+ Sigfunc *func; -+{ -+ struct sigaction act, oact; -+ -+ act.sa_handler = func; -+ sigemptyset(&act.sa_mask); -+ act.sa_flags = 0; -+ act.sa_flags |= SA_RESTART; -+ -+ if (sigaction(signo, &act, &oact) < 0) -+ return SIG_ERR; -+ -+ return oact.sa_handler; -+} -+#endif -+ -+#endif /* HAVE_MGCSFX */ -diff -u -r --new-file xv-3.10a.orig/xvml.c xv-3.10a/xvml.c ---- xv-3.10a.orig/xvml.c 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/xvml.c 2005-04-18 00:57:34.000000000 -0500 -@@ -0,0 +1,989 @@ -+/* -+ * xvml.c - makes text item structure for multi-lingual textviewer. -+ * -+ * Entry Points: -+ * struct ml_text *ml_draw_text() -+ * struct context *ml_create_context() -+ * int ml_set_charsets() -+ * void get_monofont_size() -+ */ -+ -+#include "xv.h" -+#include -+ -+#ifdef TV_MULTILINGUAL /* whole this file. */ -+ -+#include "xvml.h" -+#define HAVE_STRDUP 1 -+#define USE_MULE_EXTENSION -+ -+#ifndef __STDC__ -+#define CHAR char -+#else -+#define CHAR int -+#endif -+ -+#define CODE_SI 0x0e /* LS0 */ -+#define CODE_SO 0x0f /* LS1 */ -+#define CODE_SS2 ((unsigned char) 0x8e) -+#define CODE_SS3 ((unsigned char) 0x8f) -+ -+int ml_tab_width = 64; /* dots */ -+ -+struct charset { -+ int bpc; /* bytes per char */ -+ int noc; /* number of chars */ -+ char designator; -+ char *registry; -+ int bit7; -+ -+ int loaded; -+ char *fontname; -+ -+ XFontStruct *fs; -+} charset[] = { -+ { 1, 94, 'B', "iso8859-1", 0, 0, NULL, NULL}, -+ { 1, 96, 'A', "iso8859-1", 1, 0, NULL, NULL}, -+ { 1, 94, '0', "omron_udc_zh-0", 0, 0, NULL, NULL}, -+ { 1, 94, '2', "mulearabic-0", 0, 0, NULL, NULL}, -+ { 1, 94, '3', "mulearabic-1", 0, 0, NULL, NULL}, -+ { 1, 94, '4', "mulearabic-2", 0, 0, NULL, NULL}, -+ { 1, 94, 'J', "jisx0201.1976-0", 0, 0, NULL, NULL}, -+ { 1, 96, '0', "muleipa-1", 1, 0, NULL, NULL}, -+ { 1, 96, '1', "viscii1.1-1", 1, 0, NULL, NULL}, -+ { 1, 96, '2', "viscii1.1-1", 1, 0, NULL, NULL}, -+ { 1, 96, 'B', "iso8859-2", 1, 0, NULL, NULL}, -+ { 1, 96, 'C', "iso8859-3", 1, 0, NULL, NULL}, -+ { 1, 96, 'D', "iso8859-4", 1, 0, NULL, NULL}, -+ { 1, 96, 'T', "tis620.1986-0", 1, 0, NULL, NULL}, -+ { 1, 96, 'F', "iso8859-7", 1, 0, NULL, NULL}, -+ { 1, 96, 'G', "iso8859-6", 1, 0, NULL, NULL}, -+ { 1, 96, 'H', "iso8859-8", 1, 0, NULL, NULL}, -+ { 1, 94, 'I', "jisx0201.1976-0", 1, 0, NULL, NULL}, -+ { 1, 96, 'L', "iso8859-5", 1, 0, NULL, NULL}, -+ { 1, 96, 'M', "iso8859-9", 1, 0, NULL, NULL}, -+ { 2, 94, '2', "ethio-0", 0, 0, NULL, NULL}, -+ { 2, 94, '@', "jisx0208.1978", 0, 0, NULL, NULL}, -+ { 2, 94, 'A', "gb2312.1980-0", 0, 0, NULL, NULL}, -+ { 2, 94, 'B', "jisx0208.1983-0", 0, 0, NULL, NULL}, -+ { 2, 94, 'C', "ksc5601.1987-0", 0, 0, NULL, NULL}, -+ { 2, 94, 'D', "jisx0212.1990-0", 0, 0, NULL, NULL}, -+ { 2, 94, '0', "big5.eten-0", 0, 0, NULL, NULL}, -+ { 2, 94, '1', "big5.hku-0", 0, 0, NULL, NULL}, -+ /* End Mark */ -+ { 0, 0, 0, NULL, 0, 0, NULL, NULL}, -+}; -+#define NR_CHARSETS ((int) (sizeof charset / sizeof charset[0])) -+ -+static struct charset *ascii = NULL; -+ -+struct context { -+ struct charset *g[4]; -+ struct charset **gl, **gr; -+ struct charset **ss; -+ int eol; /* 0: \n, 1: \r\n, 2: \r, 3: any */ -+ int valid[4]; /* g[i] is valid? */ -+ int short_form; /* allow shortened designator sequence? */ -+ int lock_shift; /* allow locking shift? */ -+ -+ unsigned char *cbuf, *cbp; -+ struct ml_text text; -+ int line; -+ int delta; -+ int toolong; -+ -+ Display *dpy; -+ Screen *scr; -+ Window root_win; -+}; -+#define DPY (context->dpy) -+#define SCR (context->scr) -+#define ROOT_WIN (context->root_win) -+ -+static unsigned char *escape_sequence PARM((unsigned char *)); -+static unsigned char *designator_sequence PARM((unsigned char *)); -+static void locking_shift PARM((unsigned CHAR)); -+static void single_shift PARM((unsigned CHAR)); -+static void put_unknown_char PARM((unsigned CHAR)); -+static struct charset *search_charset PARM((int, int, int)); -+static void pack_string PARM((struct charset *, -+ unsigned char *, int)); -+static void init_xrm PARM((void)); -+static void init_xrm_fonts PARM((void)); -+static void init_xrm_tab PARM((void)); -+#ifndef HAVE_STRDUP -+static char *strdup PARM((char *)); -+#endif -+ -+static char *default_fonts[] = { /* default for xrm_fonts */ -+ "-sony-fixed-medium-r-normal--16-*-*-*-*-*-iso8859-1", -+ "-jis-fixed-medium-r-normal--16-*-*-*-*-*-jisx0208.1983-0", -+}; -+static int xrm_nfonts; -+static char **xrm_fonts; -+ -+static struct context *context; /* current context */ -+ -+struct ml_text *ml_draw_text(ctx, string, len) -+ struct context *ctx; -+ char *string; -+ int len; -+{ -+ unsigned char *str = (unsigned char *) string; -+ unsigned char *estr = str + len; -+ -+ context = ctx; -+ -+ if(ascii == NULL){ -+ fputs("ml_draw_text: call ml_set_charsets, first.\n", stderr); -+ return NULL; -+ } -+ -+ if(!str) -+ return &context->text; -+ -+ WaitCursor(); -+ -+ if (context->text.maxlines != 0) { -+ struct ml_text *tp = &context->text; -+ struct ml_line *lp; -+ int i; -+ for (i = tp->nlines, lp = tp->lines; i > 0; i--, lp++) { -+ if (lp->maxitems != 0) -+ free((char *) lp->items); -+ } -+ free((char *) tp->lines); -+ tp->maxlines = tp->nlines = 0; -+ } -+ if (context->cbuf != NULL) -+ free((char *) context->cbuf); -+ context->cbp = (unsigned char *) malloc((size_t) len * 8);/* all \xxx */ -+ context->cbuf = context->cbp; -+ context->line = 0; -+ context->delta = 0; -+ context->ss = NULL; -+ -+ while(str < estr){ -+ if((*str & 0x80) == 0){ /* left half */ -+ struct charset *cs = context->ss ? *context->ss : *context->gl; -+ unsigned char min_char, max_char; -+ if (cs != NULL) { -+ if(cs->noc == 94){ -+ min_char = 0x21; -+ max_char = 0x7e; -+ }else{ -+ min_char = 0x20; -+ max_char = 0x7f; -+ } -+ } -+ -+ if (cs == NULL) -+ put_unknown_char(*str++); -+ else if(*str < min_char || *str > max_char){ /* C1 */ -+ switch(*str){ -+ case ' ': -+ { -+ unsigned char *p = str + 1; -+ while (*p == ' ' && p < estr) -+ p++; -+ pack_string(ascii, str, (int) (p - str)); -+ str = p; -+ } -+ break; -+ -+ case '\t': -+ pack_string(ascii, str++, 0); -+ break; -+ -+ case '\n': -+ switch (context->eol) { -+ case 0: /* unix type eol */ -+ pack_string(ascii, str, 0); -+ WaitCursor(); -+ str++; -+ break; -+ case 1: /* dos type eol */ -+ case 2: /* mac type eol */ -+ put_unknown_char('\n'); -+ str++; -+ break; -+ case 3: /* any type eol */ -+ pack_string(ascii, str++, 0); -+ while (*str == '\n' || *str == '\r') -+ str++; -+ WaitCursor(); -+ break; -+ } -+ break; -+ -+ case '\r': -+ switch (context->eol) { -+ case 0: -+ put_unknown_char('\r'); -+ str++; -+ break; -+ case 1: -+ str++; -+ if (*str == '\n') -+ pack_string(ascii, str++, 0); -+ else -+ put_unknown_char('\r'); -+ break; -+ case 2: -+ pack_string(ascii, str, 0); -+ WaitCursor(); -+ str++; -+ break; -+ case 3: -+ pack_string(ascii, str++, 0); -+ while (*str == '\n' || *str == '\r') -+ str++; -+ WaitCursor(); -+ break; -+ } -+ break; -+ -+ case '\033': -+ { -+ unsigned char *p; -+ str++; -+ if((p = escape_sequence(str)) == str) -+ put_unknown_char('\033'); -+ else -+ str = p; -+ } -+ break; -+ -+ case CODE_SI: -+ case CODE_SO: -+ if (!context->lock_shift) -+ put_unknown_char((unsigned int) *str++); -+ else -+ locking_shift((unsigned int) *str++); -+ break; -+ -+ default: -+ put_unknown_char((unsigned int) *str++); -+ } -+ }else{ /* GL */ -+ if (context->ss != NULL) { -+ pack_string(cs, str, 1); -+ str += cs->bpc; -+ context->ss = NULL; -+ } else { -+ int n; -+ -+ if (cs->bpc == 1) { -+ unsigned char *p = str; -+ for (n = 0; p < estr; n++) { -+ if (*p < min_char || *p > max_char) -+ break; -+ p++; -+ } -+ pack_string(cs, str, n); -+ str = p; -+ } else { -+ unsigned char *p = str; -+ for (n = 0; p < estr - 1; n++) { -+ if (*p < min_char || *p > max_char || -+ *(p + 1) < min_char || *(p + 1) > max_char) -+ break; -+ p += 2; -+ } -+ if (n > 0) -+ pack_string(cs, str, n); -+ else -+ put_unknown_char(*p++); -+ str = p; -+ } -+ } -+ } -+ }else{ /* right half */ -+ struct charset *cs = context->ss ? *context->ss : *context->gr; -+ unsigned char min_char, max_char; -+ if (cs != NULL) { -+ if(cs->noc == 94){ -+ min_char = 0xa1; -+ max_char = 0xfe; -+ }else{ -+ min_char = 0xa0; -+ max_char = 0xff; -+ } -+ } -+ -+ if (cs == NULL) -+ put_unknown_char(*str++); -+ else if(*str < min_char || *str > max_char){ /* C2 */ -+ unsigned char c = *str++; -+ switch(c){ -+ case CODE_SS2: -+ case CODE_SS3: -+ single_shift((unsigned CHAR) c); -+ break; -+ default: -+ put_unknown_char(c); -+ } -+ }else{ /* GR */ -+ if (context->ss != NULL) { -+ pack_string(cs, str, 1); -+ str += cs->bpc; -+ context->ss = NULL; -+ } else { -+ int n; -+ -+ if (cs->bpc == 1) { -+ unsigned char *p = str; -+ for (n = 0; p < estr; n++) { -+ if (*p < min_char || *p > max_char) -+ break; -+ p++; -+ } -+ pack_string(cs, str, n); -+ str = p; -+ } else { -+ unsigned char *p = str; -+ for (n = 0; p < estr - 1; n++) { -+ if (*p < min_char || *p > max_char || -+ *(p + 1) < min_char || *(p + 1) > max_char) -+ break; -+ p += 2; -+ } -+ if (n > 0) -+ pack_string(cs, str, n); -+ else -+ put_unknown_char(*p++); -+ str = p; -+ } -+ } -+ } -+ } -+ } -+ -+ { -+ struct ml_text *tp = &context->text; -+ struct ml_line *lp; -+ int i; -+ -+ tp->width = 0; -+ tp->height = 0; -+ for (lp = tp->lines, i = tp->nlines; i > 0; lp++, i--) { -+ if (lp->nitems == 0) { -+ lp->ascent = ascii->fs->ascent; -+ lp->descent = ascii->fs->descent; -+ } -+ if (tp->width < lp->width) -+ tp->width = lp->width; -+ tp->height += lp->ascent + lp->descent; -+ } -+ } -+ -+ SetCursors(-1); -+ return &context->text; -+} -+ -+static unsigned char *escape_sequence(str) -+ unsigned char *str; -+{ -+ unsigned char *p; -+ switch(*str){ -+ case '$': -+ case '(': case ')': case '*': case '+': -+ case '-': case '.': case '/': case ',': -+ if((p = designator_sequence(str)) == NULL) -+ return str; -+ return p; -+ case 'n': case 'o': case '~': case '}': case '|': -+ if (!context->lock_shift) -+ return str; -+ locking_shift(*str); -+ return str + 1; -+ case 'N': case 'O': -+ single_shift(*str); -+ return str + 1; -+ } -+ return str; -+ -+} -+ -+static unsigned char *designator_sequence(str) -+ unsigned char *str; -+{ -+ unsigned char *p = str; -+ int noc, bpc, n_g, shortened; -+ unsigned char des; -+ struct charset *cs; -+ -+ if(*p == '$'){ -+ bpc = 2; -+ p++; -+ }else -+ bpc = 1; -+ -+ switch(*p++){ -+ case '(': noc = 94; n_g = 0; des = *p++; shortened = 0; break; -+ case ')': noc = 94; n_g = 1; des = *p++; shortened = 0; break; -+ case '*': noc = 94; n_g = 2; des = *p++; shortened = 0; break; -+ case '+': noc = 94; n_g = 3; des = *p++; shortened = 0; break; -+#ifdef USE_MULE_EXTENSION -+ case ',': noc = 96; n_g = 0; des = *p++; shortened = 0; break; -+#endif -+ case '-': noc = 96; n_g = 1; des = *p++; shortened = 0; break; -+ case '.': noc = 96; n_g = 2; des = *p++; shortened = 0; break; -+ case '/': noc = 96; n_g = 3; des = *p++; shortened = 0; break; -+ case '@': noc = 94; n_g = 0; des = 'B'; shortened = 0; break; -+ case 'A': noc = 94; n_g = 0; des = 'A'; shortened = 1; break; -+ case 'B': noc = 94; n_g = 0; des = 'B'; shortened = 1; break; -+ default: return NULL; -+ } -+ if (!context->short_form && shortened) -+ return NULL; -+ -+ if((cs = search_charset(bpc, noc, des)) == NULL){ -+ if(DEBUG){ -+ fprintf(stderr, "designator_sequence: (%d,%d,%c) not found.\n", -+ bpc, noc, des); -+ } -+ return NULL; -+ } -+ if (!context->valid[n_g]) -+ return NULL; -+ context->g[n_g] = cs; -+ if(DEBUG){ -+ fprintf(stderr, -+ "designator_sequence: G%d is `%s'.\n", n_g, cs->registry); -+ } -+ return p; -+} -+ -+static void locking_shift(c) -+ unsigned CHAR c; -+{ -+ switch((unsigned char) c){ -+ case CODE_SI: context->gl = &context->g[0]; break; -+ case CODE_SO: context->gl = &context->g[1]; break; -+ case 'n': context->gl = &context->g[2]; break; -+ case 'o': context->gl = &context->g[3]; break; -+ case '~': context->gr = &context->g[1]; break; -+ case '}': context->gr = &context->g[2]; break; -+ case '|': context->gr = &context->g[3]; break; -+ } -+ if(DEBUG){ -+ fprintf(stderr, "locking_shift: (%d,%d).\n", -+ (int)(context->gl - context->g), -+ (int)(context->gr - context->g)); -+ } -+} -+ -+static void single_shift(c) -+ unsigned CHAR c; -+{ -+ switch((unsigned char) c){ -+ case CODE_SS2: context->ss = &context->g[2]; break; -+ case CODE_SS3: context->ss = &context->g[3]; break; -+ } -+} -+ -+ -+static void put_unknown_char(chr) -+ unsigned CHAR chr; -+{ -+ unsigned char c = chr; -+ -+ if(c < 0x20){ -+ unsigned char buf[2]; -+ buf[0] = '^'; -+ buf[1] = c + 0x40; -+ pack_string(ascii, buf, 2); -+ }else{ -+ unsigned char buf[4]; -+ buf[0] = '\\'; -+ buf[1] = ((c >> 6) & 07) + '0'; -+ buf[2] = ((c >> 3) & 07) + '0'; -+ buf[3] = ((c ) & 07) + '0'; -+ pack_string(ascii, buf, 4); -+ } -+} -+ -+struct context *ml_create_context(s) -+ Screen *s; -+{ -+ context = (struct context *) malloc(sizeof *context); -+ -+ context->g[0] = NULL; -+ context->g[1] = NULL; -+ context->g[2] = NULL; -+ context->g[3] = NULL; -+ context->gl = NULL; -+ context->gr = NULL; -+ context->ss = NULL; -+ -+ context->cbuf = NULL; -+ context->text.maxlines = context->text.nlines = 0; -+ context->line = 0; -+ context->delta = 0; -+ context->toolong = 0; -+ -+ DPY = DisplayOfScreen(s); -+ SCR = s; -+ ROOT_WIN = RootWindowOfScreen(s); -+ -+ return context; -+} -+ -+ -+int ml_set_charsets(ctx, sys) -+ struct context *ctx; -+ struct coding_system *sys; -+{ -+ int retval = 0; -+ int i; -+ -+ context = ctx; -+ -+ if(ascii == NULL){ -+ init_xrm(); -+ if((ascii = search_charset(1, 94, 'B')) == NULL){ -+ fputs("ml_set_charsets: ascii charset not found.\n", stderr); -+ Quit(1); -+ } -+ if (ascii->fs == NULL) { -+ fputs("ml_set_charsets: iso8859-1 font not found.\n", stderr); -+ Quit(1); -+ } -+ } -+ for(i = 0; i < 4; i++){ -+ switch(sys->design[i].bpc){ -+ case -1: /* make G[i] invalid */ -+ context->valid[i] = 0; -+ break; -+ -+ case 0: /* don't change */ -+ break; -+ -+ case 1: case 2: /* change it */ -+ if((context->g[i] = search_charset(sys->design[i].bpc, -+ sys->design[i].noc, -+ sys->design[i].des)) == NULL){ -+ fputs("ml_set_charsets: ", stderr); -+ fprintf(stderr, "(%d,%d,%c) is specified as G%d, ", -+ sys->design[i].bpc, sys->design[i].noc, -+ sys->design[i].des, i); -+ fputs("but not found. using `iso8859-1'.\n", stderr); -+ context->g[i] = ascii; -+ retval++; -+ } -+ context->valid[i] = 1; -+ break; -+ -+ default: /* error */ -+ fprintf(stderr,"ml_set_charsets: bad arguments of G%d. ", i); -+ fputs("using `iso8859-1'.\n", stderr); -+ context->g[i] = ascii; -+ retval++; -+ } -+ } -+ if((unsigned int) sys->gl < 4) -+ context->gl = &context->g[sys->gl]; -+ else{ -+ fprintf(stderr, "ml_set_charsets: bad number as GL. using G0.\n"); -+ context->gl = &context->g[0]; -+ } -+ if((unsigned int) sys->gr < 4) -+ context->gr = &context->g[sys->gr]; -+ else{ -+ fprintf(stderr, "ml_set_charsets: bad number as GR. using G0.\n"); -+ context->gr = &context->g[0]; -+ } -+ context->eol = sys->eol; -+ context->short_form = sys->short_form; -+ context->lock_shift = sys->lock_shift; -+ return retval; -+} -+ -+static struct charset *search_charset(bpc, noc, des) -+ int bpc, noc; -+ int des; -+{ -+ struct charset *cset; -+ for(cset = charset; cset->bpc != 0; cset++){ -+ if(cset->bpc == bpc && -+ cset->noc == noc && -+ cset->designator == (char) des){ -+ if(!cset->loaded){ -+#if 0 -+ int i, l; -+ l = strlen(cset->registry); -+ for (i = 0; i < xrm_nfonts; i++) { -+ int li = strlen(xrm_fonts[i]); -+ if (li > l) { -+ if (xrm_fonts[i][li - l - 1] == '-' && -+ strcmp(xrm_fonts[i] + li - l, -+ cset->registry) == 0) { -+ if ((cset->fs = XLoadQueryFont(DPY, xrm_fonts[i])) -+ != NULL) { -+ if (DEBUG) { -+ fprintf(stderr, "%s for %s\n", -+ xrm_fonts[i], cset->registry); -+ } -+ cset->fontname = xrm_fonts[i]; -+ break; -+ } else -+ SetISTR(ISTR_WARNING, -+ "%s: font not found.", xrm_fonts[i]); -+ } -+ } -+ } -+#else -+ int i, l; -+ l = strlen(cset->registry); -+ for (i = 0; i < xrm_nfonts && cset->fs == NULL; i++) { -+ int j, nfnts = 0; -+ char **fnts = XListFonts(DPY, xrm_fonts[i], -+ 65535, &nfnts); -+ for (j = 0 ; j < nfnts; j++) { -+ int ll = strlen(fnts[j]); -+ if (*(fnts[j] + ll - l - 1) == '-' && -+ strcmp(fnts[j] + ll - l, cset->registry)== 0) { -+ if ((cset->fs = XLoadQueryFont(DPY, fnts[j])) -+ != NULL) { -+ if (DEBUG) { -+ fprintf(stderr, "%s for %s\n", -+ fnts[j], cset->registry); -+ } -+ cset->fontname = strdup(fnts[j]); -+ break; -+ } else -+ SetISTR(ISTR_WARNING, -+ "%s: font not found", fnts[j]); -+ } -+ } -+ if (fnts != NULL) -+ XFreeFontNames(fnts); -+ } -+#endif -+ if(cset->fs == NULL){ -+ SetISTR(ISTR_WARNING, -+ "font for %s not found.\nusing ascii font.", -+ cset->registry); -+ if (ascii != NULL) -+ cset->fs = ascii->fs; -+ } -+ -+ cset->loaded = 1; -+ } -+ return cset; -+ } -+ } -+ return NULL; -+} -+ -+static void pack_string(cs, str, len) -+ struct charset *cs; -+ unsigned char *str; -+ int len; /* number of chars(not bytes) */ -+{ -+ struct ml_text *mt = &context->text; -+ struct ml_line *lp; -+ XTextItem16 *ip; -+ -+ if (context->line == mt->maxlines) { -+ int oldmax = mt->maxlines; -+ if (mt->maxlines < 1) -+ mt->maxlines = 1; -+ else -+ mt->maxlines = 2 * mt->maxlines; -+ if (oldmax == 0) -+ mt->lines = (struct ml_line *) -+ malloc(sizeof(struct ml_line) * mt->maxlines); -+ else { -+ mt->lines = (struct ml_line *) -+ realloc(mt->lines, -+ sizeof(struct ml_line) * mt->maxlines); -+ } -+ } -+ lp = &mt->lines[context->line]; -+ if (mt->nlines == context->line) { -+ mt->nlines++; -+ lp->maxitems = 0; -+ lp->nitems = 0; -+ lp->width = 0; -+ lp->ascent = lp->descent = 0; -+ } -+ -+ if (len == 0) { -+ switch (*str) { -+ case '\n': -+ context->line++; -+ context->delta = 0; -+ context->toolong = 0; -+ break; -+ case '\t': -+ { -+ int nx, x = lp->width + context->delta; -+ nx = (x + ml_tab_width) / ml_tab_width * ml_tab_width; -+ context->delta += nx - x; -+ } -+ break; -+ } -+ return; -+ } -+ -+ if (context->toolong) -+ return; -+ if (lp->width > 30000) { -+ context->toolong = 1; -+ cs = ascii; -+ str = (unsigned char *) "..."; -+ len = 3; -+ } -+ -+ if (lp->nitems == lp->maxitems) { -+ int oldmax = lp->maxitems; -+ if (lp->maxitems < 1) -+ lp->maxitems = 1; -+ else -+ lp->maxitems = 2 * lp->maxitems; -+ if (oldmax == 0) -+ lp->items = (XTextItem16 *) -+ malloc(sizeof(XTextItem16) * lp->maxitems); -+ else -+ lp->items = (XTextItem16 *) -+ realloc(lp->items, -+ sizeof(XTextItem16) * lp->maxitems); -+ } -+ ip = &lp->items[lp->nitems++]; -+ ip->chars = (XChar2b *) context->cbp; -+ ip->nchars = len; -+ ip->delta = context->delta; -+ ip->font = cs->fs->fid; -+ context->cbp += 2 * len; -+ context->delta = 0; -+ -+ if (cs->bpc == 1) { -+ XChar2b *p; -+ unsigned char b7 = cs->bit7 ? 0x80 : 0; -+ int i; -+ for (i = len, p = ip->chars; i > 0; i--, p++) { -+ p->byte1 = '\0'; -+ p->byte2 = (*str++ & 0x7f) | b7; -+ } -+ } else { -+ XChar2b *p; -+ unsigned char b7 = cs->bit7 ? 0x80 : 0; -+ int i; -+ for (i = len, p = ip->chars; i > 0; i--, p++) { -+ p->byte1 = (*str++ & 0x7f) | b7; -+ p->byte2 = (*str++ & 0x7f) | b7; -+ } -+ } -+ -+ lp->width += XTextWidth16(cs->fs, ip->chars, ip->nchars); -+ if (lp->ascent < cs->fs->ascent) -+ lp->ascent = cs->fs->ascent; -+ if (lp->descent < cs->fs->descent) -+ lp->descent = cs->fs->descent; -+} -+ -+void get_monofont_size(wide, high) -+ int *wide, *high; -+{ -+ if (ascii == NULL) { -+ fputs("ml_draw_text: call ml_set_charsets, first.\n", stderr); -+ return; -+ } -+ *wide = ascii->fs->max_bounds.width; -+ *high = ascii->fs->ascent + ascii->fs->descent; -+} -+ -+static void init_xrm() -+{ -+ init_xrm_fonts(); -+ init_xrm_tab(); -+} -+ -+static void init_xrm_fonts() -+{ -+ char *p, *fns = XGetDefault(theDisp, "xv", "fontSet"); -+ int n; -+ if (fns == NULL) { -+ xrm_fonts = default_fonts; -+ xrm_nfonts = sizeof default_fonts / sizeof *default_fonts; -+ return; -+ } -+ while(*fns == ' ' || *fns == '\t') -+ fns++; -+ if (*fns == '\0') { -+ xrm_fonts = default_fonts; -+ xrm_nfonts = sizeof default_fonts / sizeof *default_fonts; -+ return; -+ } -+ fns = strdup(fns); -+ -+ n = 1; -+ for (p = fns; *p != '\0'; p++) { -+ if (*p == ',') -+ n++; -+ } -+ xrm_nfonts = n; -+ xrm_fonts = (char **) malloc(sizeof (char *) * xrm_nfonts); -+ for (n = 0, p = fns; n < xrm_nfonts && *p != '\0'; ) { -+ while (*p == ' ' || *p == '\t') -+ p++; -+ xrm_fonts[n++] = p; -+ while (1) { -+ char *q; -+ while (*p != ' ' && *p != '\t' && *p != ',' && *p != '\0') -+ p++; -+ q = p; -+ while (*q == ' ' || *q == '\t') -+ q++; -+ if (*q == ',' || *q == '\0') { -+ *p = '\0'; -+ p = q + 1; -+ break; -+ } else -+ p = q; -+ } -+ } -+ for ( ; n < xrm_nfonts; n++) -+ xrm_fonts[n] = ""; -+} -+ -+static void init_xrm_tab() -+{ -+ char *ts = XGetDefault(theDisp, "xv", "tabWidth"); -+ unsigned short tab; -+ if (ts == NULL) -+ tab = 64; -+ else { -+ char *ep; -+ long t; -+ int bad = 0; -+ t = strtol(ts, &ep, 0); -+ tab = (unsigned short) t; -+ if (ep != NULL) { -+ while (*ep == ' ' && *ep == '\t') -+ ep++; -+ if (*ep != '\0') -+ bad = 1; -+ } -+ if (tab != (long) (unsigned long) t) -+ bad = 1; -+ if (bad) { -+ SetISTR(ISTR_WARNING, "bad tab width."); -+ tab = 64; -+ } -+ } -+ ml_tab_width = tab; -+} -+ -+ -+#ifndef HAVE_STRDUP -+static char *strdup(str) -+ char *str; -+{ -+ return strcpy(malloc(strlen(str) + 1), str); -+} -+#endif -+ -+char *lookup_registry(d, b7) -+ struct design d; -+ int *b7; -+{ -+ int i; -+ for (i = 0; i < NR_CHARSETS; i++) { -+ if (charset[i].bpc == d.bpc && charset[i].noc == d.noc && -+ charset[i].designator == d.des) { -+ *b7 = charset[i].bit7; -+ return charset[i].registry; -+ } -+ } -+ return NULL; -+} -+ -+struct design lookup_design(registry, b7) -+ char *registry; -+ int b7; -+{ -+ struct design d; -+ int i; -+ d.bpc = 0; -+ d.noc = 0; -+ d.des = '\0'; -+ for (i = 0; i < NR_CHARSETS; i++) { -+ if (strcmp(charset[i].registry, registry) == 0 && -+ charset[i].bit7 == b7) { -+ d.bpc = charset[i].bpc; -+ d.noc = charset[i].noc; -+ d.des = charset[i].designator; -+ break; -+ } -+ } -+ return d; -+} -+ -+char *sjis_to_jis(orig, len, newlen) -+ char *orig; -+ int len, *newlen; -+{ -+ unsigned char *new; -+ unsigned char *p, *q, *endp; -+ if (len == 0) { -+ *newlen = 0; -+ return (char *) malloc((size_t) 1); -+ } -+ new = (unsigned char *) malloc((size_t) len * 4); /* big enough */ -+ for (p = (unsigned char *) orig, endp = p + len, q = new; p < endp; ) { -+ if ((*p & 0x80) == 0) /* 1 byte char */ -+ *q++ = *p++; -+ else if (*p >= 0x81 && *p <= 0x9f) { /* kanji 1st byte */ -+ unsigned char c1 = *p++; -+ unsigned char c2 = *p++; -+ if (c2 < 0x40 || c2 > 0xfc) { /* bad 2nd byte */ -+ *q++ = CODE_SS2; -+ *q++ = c1; -+ *q++ = CODE_SS2; -+ *q++ = c2; -+ } else { /* right 2nd byte */ -+ if (c2 <= 0x9e) { -+ if (c2 > 0x7f) -+ c2--; -+ c1 = (c1 - 0x81) * 2 + 1 + 0xa0; -+ c2 = (c2 - 0x40) + 1 + 0xa0; -+ } else { -+ c1 = (c1 - 0x81) * 2 + 2 + 0xa0; -+ c2 = (c2 - 0x9f) + 1 + 0xa0; -+ } -+ *q++ = c1; -+ *q++ = c2; -+ } -+ } else if (*p >= 0xe0 && *p <= 0xef) { /* kanji 1st byte */ -+ unsigned char c1 = *p++; -+ unsigned char c2 = *p++; -+ if (c2 < 0x40 || c2 > 0xfc) { /* bad 2nd byte */ -+ *q++ = CODE_SS2; -+ *q++ = c1; -+ *q++ = CODE_SS2; -+ *q++ = c2; -+ } else { /* right 2nd byte */ -+ if (c2 <= 0x9e) { -+ c1 = (c1 - 0xe0) * 2 + 63 + 0xa0; -+ c2 = (c2 - 0x40) + 1 + 0xa0; -+ } else { -+ c1 = (c1 - 0xe0) * 2 + 64 + 0xa0; -+ c2 = (c2 - 0x9f) + 1 + 0xa0; -+ } -+ *q++ = c1; -+ *q++ = c2; -+ } -+ } else { /* katakana or something */ -+ *q++ = CODE_SS2; -+ *q++ = *p++; -+ } -+ } -+ *newlen = q - new; -+ -+ return (char *) realloc(new, (size_t) *newlen); -+} -+ -+#endif /* TV_MULTILINGUAL */ -diff -u -r --new-file xv-3.10a.orig/xvml.h xv-3.10a/xvml.h ---- xv-3.10a.orig/xvml.h 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/xvml.h 2005-04-18 00:57:45.000000000 -0500 -@@ -0,0 +1,96 @@ -+#ifndef MLVIEW_H -+#define MLVIEW_H -+ -+/* -+ * What is this? -+ * -+ * It is a package to show multi-lingual text. -+ * -+ * How to use? -+ * -+ * 1. Call ml_set_screen(Screen *scr); -+ * Tell this package the screen you use. -+ * -+ * 2. Call ml_set_charsets(struct char_spec spec[4], int gl, int gr); -+ * Tell this package the initial charsets. -+ * Gn is set to the charset specified by spec[n], respectively. -+ * GL and GR are set to G[gl] and G[gr], respectively. -+ * If first call, iso8859-1 font is loaded. -+ * -+ * 3. Call ml_draw_text(char *string); -+ * It Creates a bitmap, and returns it to you. -+ * If something goes wrong, it returns None. -+ * DON'T free the returned pixmaps!! -+ * -+ * BUGS: -+ * - Amharic and Tigrigna characters are strange. -+ * - Big5 is not supported. -+ * - Reverse direction is not supported. -+ * - Composing is not supported. -+ * - Cantonese can't be shown. -+ * - Texts which have many lines are buggy. -+ * -+ * NOTE: -+ * - Shifted JIS and Shifted GB must be converted to iso2022 in advance. -+ * -+ * Example of parameters to ml_set_charsets: -+ * - EUC-Japan -+ * spec = { {1, 94, 'B'}, G0 is US-ASCII -+ * {2, 94, 'B'}, G1 is JIS X0208 -+ * {1, 94, 'J'}, G2 is (right-half of)JIS X0201 -+ * {2, 94, 'D'} }; G3 is JIS X0212 -+ * gl = 0; GL is G0 -+ * gr = 1; GR is G1 -+ * -+ * - Compound Text -+ * spec = { {1, 94, 'B'}, G0 is US-ASCII -+ * {1, 96, 'A'}, G1 is Latin-1 -+ * {1, 94, 'B'}, G2 is US-ASCII (maybe unused) -+ * {1, 94, 'B'} }; G3 is US-ASCII (maybe unused) -+ * gl = 0; GL is G0 -+ * gr = 1; GR is G1 -+ * -+ * - Korean Mail -+ * spec = { {1, 94, 'B'}, G0 is US-ASCII -+ * {2, 94, 'C'}, G1 is KSC5601 -+ * {1, 94, 'B'}, G2 is US-ASCII (maybe unused) -+ * {1, 94, 'B'} }; G3 is US-ASCII (maybe unused) -+ * gl = 0; GL is G0 -+ * gl = 1; GR is G1 -+ */ -+ -+struct coding_system { -+ struct design { -+ int bpc; /* byte per char if 1 or 2, -+ don't touch if 0, or -+ don't use if -1.*/ -+ int noc; /* number of chars (94 or 96) */ -+ char des; /* designator ('A', 'B', ...) */ -+ } design[4]; -+ int gl, gr; -+ int eol; -+ int short_form; -+ int lock_shift; -+}; -+ -+struct ml_text { -+ int maxlines, nlines; -+ struct ml_line { -+ int maxitems, nitems; -+ int width, ascent, descent; -+ XTextItem16 *items; -+ } *lines; -+ int width, height; -+}; -+ -+struct context; -+struct ml_text *ml_draw_text PARM((struct context *, char *, int)); -+struct context *ml_create_context PARM((Screen *)); -+int ml_set_charsets PARM((struct context *, -+ struct coding_system *)); -+void get_monofont_size PARM((int *, int *)); -+char *sjis_to_jis PARM((char *, int, int *)); -+char *lookup_registry PARM((struct design, int *)); -+struct design lookup_design PARM((char *, int)); -+ -+#endif -diff -u -r --new-file xv-3.10a.orig/xvpcd.c xv-3.10a/xvpcd.c ---- xv-3.10a.orig/xvpcd.c 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/xvpcd.c 2007-05-13 20:02:13.000000000 -0500 -@@ -0,0 +1,1311 @@ -+/* -+ * xvpcd.c - load routine for 'PhotoCD' format pictures -+ * -+ * LoadPCD(fname, pinfo, size) - loads a PhotoCD file -+ * -+ * This routine will popup a choice of which of the 5 available resolutions -+ * the user wants to choose, then load it as a 24 bit image. -+ * -+ * Copyright 1993 David Clunie, Melbourne, Australia. -+ * -+ * The outline of this is shamelessly derived from xvpbm.c to read the -+ * file, and xvtiffwr.c to handle the popup window and X stuff (X never -+ * has been my forte !), and the PhotoCD format information (though not -+ * the code) was found in Hadmut Danisch's (danisch@ira.uka.de) hpcdtoppm -+ * program in which he has reverse engineered the format by studying -+ * hex dumps of PhotoCDs ! After all who can afford the Kodak developer's -+ * kit, which none of us have seen yet ? Am I even allowed to mention these -+ * words (Kodak, PhotoCD) ? I presume they are registered trade marks. -+ * -+ * PS. I have no idea how Halmut worked out the YCC <-> RGB conversion -+ * factors, but I have calculated them from his tables and the results -+ * look good enough to me. -+ * -+ * Added size parameter to allow the schnautzer to create thumnails -+ * without requesting the size every time. -+ */ -+ -+#include "xv.h" -+ -+#ifdef HAVE_PCD -+ -+#include -+#ifndef alloca -+# include /* "not in POSIX or SUSv3" according to Linux man page */ -+#endif /* ...but required for Sun C compiler (alloca = macro) */ -+ -+#define TRACE 0 -+#if TRACE -+# define trace(x) fprintf x -+#else -+# define trace(x) -+#endif -+ -+/* Comments on error-handling: -+ A truncated file is not considered a Major Error. The file is loaded, -+ and the rest of the pic is filled with 0's. -+ -+ Not being able to malloc is a Fatal Error. The program is aborted. */ -+ -+ -+#ifdef __STDC__ -+static void magnify(int, int, int, int, int, byte *); -+static int pcdError(const char *, const char *); -+static int gethuffdata(byte *, byte *, byte *, int, int); -+#else -+static void magnify(); -+static int pcdError(); -+static int gethuffdata(); -+#endif -+ -+#define wcurfactor 16 /* Call WaitCursor() every n rows */ -+ -+static int size; /* Set by window routines */ -+static int leaveitup;/* Cleared by docmd() when OK or CANCEL pressed */ -+static int goforit; /* Set to 1 if OK or 0 if CANCEL */ -+static FILE *fp; -+static CBUTT lutCB; -+ -+/* -+ * This "beyond 100%" table is taken from ImageMagick (gamma 2.2). -+ * Why there are 351 entries and not 346 as per Kodak documentation -+ * is a mystery. -+ */ -+static double rscale = 1.00, -+ gscale = 1.00, -+ bscale = 1.00; -+ -+static byte Y[351] = { -+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, -+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, -+ 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, -+ 41, 42, 43, 45, 46, 47, 48, 49, 50, 51, -+ 52, 53, 54, 56, 57, 58, 59, 60, 61, 62, -+ 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, -+ 74, 76, 77, 78, 79, 80, 81, 82, 83, 84, -+ 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, -+ 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, -+ 107, 108, 110, 111, 112, 113, 114, 115, 116, 117, -+ 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, -+ 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, -+ 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, -+ 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, -+ 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, -+ 169, 170, 171, 172, 173, 174, 175, 176, 176, 177, -+ 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, -+ 188, 189, 190, 191, 192, 193, 193, 194, 195, 196, -+ 197, 198, 199, 200, 201, 201, 202, 203, 204, 205, -+ 206, 207, 207, 208, 209, 210, 211, 211, 212, 213, -+ 214, 215, 215, 216, 217, 218, 218, 219, 220, 221, -+ 221, 222, 223, 224, 224, 225, 226, 226, 227, 228, -+ 228, 229, 230, 230, 231, 232, 232, 233, 234, 234, -+ 235, 236, 236, 237, 237, 238, 238, 239, 240, 240, -+ 241, 241, 242, 242, 243, 243, 244, 244, 245, 245, -+ 245, 246, 246, 247, 247, 247, 248, 248, 248, 249, -+ 249, 249, 249, 250, 250, 250, 250, 251, 251, 251, -+ 251, 251, 252, 252, 252, 252, 252, 253, 253, 253, -+ 253, 253, 253, 253, 253, 253, 253, 253, 253, 253, -+ 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, -+ 254, 254, 254, 254, 254, 254, 254, 254, 254, 255, -+ 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, -+ 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, -+ 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, -+ 255 -+}; -+ -+/*******************************************/ -+/* The size should be -1 for the popup to ask otherwise fast is assumed */ -+/* returns '1' on success */ -+/*******************************************/ -+int -+LoadPCD(char *fname, PICINFO *pinfo, int theSize) -+{ -+ long offset; -+ int mag; -+ int rotate; -+ byte header[3*0x800]; -+ byte *pic24, *luma, *chroma1, *chroma2, *ptr, *lptr, *c1ptr, *c2ptr; -+ int w, h, npixels, bufsize; -+ int row, col; -+ int huffplanes; -+ const char *bname; -+ -+ bname = BaseName(fname); -+ pinfo->pic = NULL; -+ pinfo->comment = NULL; -+ -+ -+ /* -+ * open the file -+ */ -+ if((fp=fopen(fname,"r")) == NULL) -+ return pcdError(bname, "can't open file"); -+ -+ /* -+ * inspect the header -+ */ -+ if(fread(&header[0], 1, sizeof(header), fp) != sizeof(header)) -+ return pcdError(bname, "could not load PCD header"); -+ if(strncmp((char *)&header[0x800], "PCD_", 4) != 0) -+ return pcdError(bname, "not a PCD file"); -+ rotate = header[0x0E02] & 0x03; -+ -+/* base/16 -+ - plain data starts at sector 1+2+1=4 -+ (numbered from 0, ie. the 5th sector) -+ - luma 192*128 = 24576 bytes (12 sectors) -+ + chroma1 96*64 = 6144 bytes (3 sectors) -+ + chroma2 96*64 = 6144 bytes (3 sectors) -+ = total 18 sectors -+ -+ - NB. "Plain" data is interleaved - 2 luma rows 192 wide, -+ then 1 of each of the chroma rows 96 wide ! -+ -+ base/4 -+ - plain data starts at sector 1+2+1+18+1=23 -+ - luma 384*256 = 98304 bytes (48 sectors) -+ + chroma1 192*128 = 24576 bytes (12 sectors) -+ + chroma2 192*128 = 24576 bytes (12 sectors) -+ = total 72 sectors -+ -+ - NB. "Plain" data is interleaved - 2 luma rows 384 wide, -+ then 1 of each of the chroma rows 192 wide ! -+ -+ base -+ - plain data starts at sector 1+2+1+18+1+72+1=96 -+ -+ - luma 768*512 = 393216 bytes (192 sectors) -+ + chroma1 384*256 = 98304 bytes (48 sectors) -+ + chroma2 384*256 = 98304 bytes (48 sectors) -+ = total 288 sectors -+ -+ - NB. "Plain" data is interleaved - 2 luma rows 768 wide, -+ then 1 of each of the chroma rows 384 wide ! -+ -+ 4base -+ - plain data for base is read -+ - luma data interpolated *2 -+ - chroma data interpolated *4 -+ -+ - cd_offset is 1+2+1+18+1+72+1+288=384 -+ - at cd_offset+4 (388) is huffman table -+ - at cd_offset+5 (389) is 4base luma plane -+ -+ (the sector at cd_offset+3 seems to contain 256 words each of -+ which is an offset presumably to the sector containing certain -+ rows ? rows/4 given 1024 possible rows. The rest of this sector -+ is filled with zeroes) -+ -+ -+ 16base -+ - plain data for base is read -+ - luma data interpolated *2 -+ - chroma data interpolated *4 -+ -+ - cd_offset is 1+2+1+18+1+72+1+288=384 -+ - at cd_offset+4 (388) is huffman table for 4 base -+ - at cd_offset+5 (389) is 4base luma plane -+ - luma plane interpolated *2 -+ -+ - cd_offset is set to current position (should be start of sector) -+ - at cd_offset+12 is huffman table for 16 base -+ - at cd_offset+14 is 16 base luma & 2 chroma planes which are read -+ (note that the luma plane comes first, with a sync pattern -+ announcing each row from 0 to 2047, then the two chroma planes -+ are interleaved by row, the row # being even from 0 to 2046, with -+ each row containing 1536 values, the chroma1 row coming first, -+ finally followed by a sync pattern with a row of 2048 announcing -+ the end (its plane seems to be set to 3, ie. chroma2) -+ - chroma planes interpolated *2 -+ -+ (the sector at cd_offset+10 & 11 seem to contain 1024 pairs of words -+ the first for luma and the second for chroma, each of -+ which is an offset presumably to the sector containing certain -+ rows ? rows/2 given 2048 possible rows) -+ -+Not yet implemented: -+ -+In order to do overskip for base and 4base, one has to reach the chroma -+data for 16 base: -+ -+ - for 4base, after reading the 4base luma plane (and presumably -+ skipping the chroma planes) one sets cd_offset to the start of -+ the "current" sector -+ -+ - for base, one has to skip the 4base data first: -+ - cd_offset is set to 384 -+ - at (cd_offset+3 sectors)[510] is a 16 bit word high byte 1st -+ containing an offset to the beginning of the 16base stuff -+ though there is then a loop until >30 0xff's start a sector ! -+ -+ - being now positioned after the end of the 4base stuff, -+ - at (cd_offset+10 sectors)[2] is a 16 bit word high byte 1st -+ containing an offset to the chroma planes. -+ - at cd_offset+12 is the set of huffman tables -+ -+ - for base, the 16base chroma planes are then halved -+*/ -+ -+ PCDSetParamOptions(bname); -+ if (theSize == -1) -+ { -+ PCDDialog(1); /* Open PCD Dialog box */ -+ SetCursors(-1); /* Somebody has already set it to wait :( */ -+ leaveitup=1; -+ goforit=0; -+ size = 1; -+ /* block until the popup window gets closed */ -+ while (leaveitup) { -+ int i; -+ XEvent event; -+ XNextEvent(theDisp, &event); -+ HandleEvent(&event, &i); -+ } -+ /* At this point goforit and size will have been set */ -+ if (!goforit) { -+ /* nothing allocated so nothing needs freeing */ -+ return 0; -+ } -+ WaitCursor(); -+ } -+ else -+ { -+ size = theSize; -+ goforit = 1; -+ } -+ -+ if(lutCB.val) -+ rscale = gscale = bscale = 255.0/346.0; -+ else -+ rscale = gscale = bscale = 1.0; -+ -+ switch (size) { -+ case 0: -+ pinfo->w = 192; -+ pinfo->h = 128; -+ offset=4*0x800; -+ mag=1; -+ huffplanes=0; -+ sprintf(pinfo->fullInfo, "PhotoCD, base/16 resolution"); -+ break; -+ -+ case 1: -+ pinfo->w = 384; -+ pinfo->h = 256; -+ offset=23*0x800; -+ mag=1; -+ huffplanes=0; -+ sprintf(pinfo->fullInfo, "PhotoCD, base/4 resolution"); -+ break; -+ -+ case 2: -+ default: -+ pinfo->w = 768; -+ pinfo->h = 512; -+ offset=96*0x800; -+ mag=1; -+ huffplanes=0; -+ sprintf(pinfo->fullInfo, "PhotoCD, base resolution"); -+ break; -+ -+ case 3: -+ pinfo->w = 1536; -+ pinfo->h = 1024; -+ offset=96*0x800; -+ mag=2; -+ huffplanes=1; -+ sprintf(pinfo->fullInfo, "PhotoCD, 4base resolution"); -+ break; -+ -+ case 4: -+ pinfo->w=3072; -+ pinfo->h=2048; -+ offset=96*0x800; -+ mag=4; -+ huffplanes=2; -+ sprintf(pinfo->fullInfo, "PhotoCD, 16base resolution"); -+ break; -+ } -+ -+ /* -+ * rotate? -+ */ -+ w = pinfo->w; -+ h = pinfo->h; -+ switch(rotate) { -+ case 0: -+ break; -+ -+ case 1: -+ case 3: -+ pinfo->w = h; -+ pinfo->h = w; -+ break; -+ -+ default: -+ fprintf(stderr, "unknown image rotate %d; assuming none\n", -+ rotate); -+ rotate = 0; -+ } -+ -+ /* -+ * allocate 24-bit image -+ */ -+ npixels = pinfo->w * pinfo->h; -+ bufsize = 3 * npixels; -+ if (pinfo->w <= 0 || pinfo->h <= 0 || npixels/pinfo->w != pinfo->h || -+ bufsize/3 != npixels) -+ FatalError("image dimensions out of range"); -+ -+ pinfo->pic = (byte *)malloc((size_t) bufsize); -+ if(!pinfo->pic) -+ FatalError("couldn't malloc '24-bit RGB plane'"); -+ -+ pinfo->type = PIC24; -+ sprintf(pinfo->shrtInfo, "%dx%d PhotoCD.", pinfo->w, pinfo->h); -+ pinfo->colType = F_FULLCOLOR; -+ pinfo->frmType = -1; -+ -+ if(fseek(fp, offset, SEEK_SET) == -1) { -+ free(pinfo->pic); -+ return pcdError(bname,"Can't find start of data."); -+ } -+ -+ pic24 = pinfo->pic; -+ -+ luma=(byte *)calloc(npixels,1); -+ if(!luma) { -+ free(pinfo->pic); -+ FatalError("couldn't malloc 'luma plane'"); -+ } -+ -+ chroma1=(byte *)calloc(npixels/4,1); -+ if(!chroma1) { -+ free(pinfo->pic); -+ free(luma); -+ FatalError("couldn't malloc 'chroma1 plane'"); -+ } -+ -+ chroma2=(byte *)calloc(npixels/4,1); -+ if(!chroma2) { -+ free(pinfo->pic); -+ free(luma); -+ free(chroma1); -+ FatalError("couldn't malloc 'chroma2 plane'"); -+ } -+ -+ /* Read 2 luma rows length w, then one of each chroma rows w/2 */ -+ /* If a mag factor is active, the small image is read into the */ -+ /* top right hand corner of the larger allocated image */ -+ -+ trace((stderr, "base image: start @ 0x%08lx (sector %ld.%ld)\n", -+ ftell(fp), ftell(fp)/0x800, ftell(fp) % 0x800)); -+ for(row=0,lptr=luma,c1ptr=chroma1,c2ptr=chroma2; row R'G'B' and image rotate -+ */ -+ ptr=pic24; -+ lptr=luma; c1ptr=chroma1; c2ptr=chroma2; -+ for(row = 0; row < h; ++row) { -+ byte *rowc1ptr = c1ptr, -+ *rowc2ptr = c2ptr; -+ int k = 0; -+ -+ switch(rotate) { -+ case 1: -+ ptr = &pic24[row*3 + (w - 1)*h*3]; -+ k = -3*(h + 1); -+ break; -+ -+ case 3: -+ ptr = &pic24[(h - 1 - row)*3]; -+ k = 3*(h - 1); -+ break; -+ -+ default: -+ ptr = &pic24[row*w*3]; -+ k = 0; -+ break; -+ } -+ for(col = 0; col < w; ++col) { -+ double L = 1.3584*(double) *lptr++, -+ C1 = 2.2179*(double) (*c1ptr - 156), -+ C2 = 1.8215*(double) (*c2ptr - 137); -+ int r = rscale*(L + C2), -+ g = gscale*(L - 0.194*C1 - 0.509*C2), -+ b = bscale*(L + C1); -+ -+ if(lutCB.val) { -+ if(r < 0) r = 0; else if(r >= 255) r = 255; -+ if(g < 0) g = 0; else if(g >= 255) g = 255; -+ if(b < 0) b = 0; else if(b >= 255) b = 255; -+ } else { -+ if(r < 0) r = 0; else if(r >= 351) r = 350; -+ if(g < 0) g = 0; else if(g >= 351) g = 350; -+ if(b < 0) b = 0; else if(b >= 351) b = 350; -+ r = Y[r]; g = Y[g]; b = Y[b]; -+ } -+ *ptr++ = r; -+ *ptr++ = g; -+ *ptr++ = b; -+ ptr += k; -+ if(col & 1) { -+ ++c1ptr; -+ ++c2ptr; -+ } -+ } -+ if((row & 1) == 0) { -+ c1ptr = rowc1ptr; -+ c2ptr = rowc2ptr; -+ } -+ if(row%wcurfactor == 0) -+ WaitCursor(); -+ } -+ free(luma); free(chroma1); free(chroma2); -+ return 1; -+} -+ -+/* -+ * derived from Hadmut Danisch's interpolate() -+ */ -+static void -+magnify(int mag, /* power of 2 by which to magnify in place */ -+ int h, int w, /* the "start" unmag'd dimensions of the array */ -+ int mh, int mw, /* the real (maximum) dimensions of the array */ -+ byte *p) /* pointer to the data */ -+{ -+ int x,y,yi; -+ byte *optr,*nptr,*uptr; /* MUST be unsigned, else averaging fails */ -+ -+ while (mag > 1) { -+ -+ /* create every 2nd new row from 0 */ -+ /* even pixels being equal to the old, odd ones averaged with successor */ -+ /* special case being the last column which is just set equal to the */ -+ /* second last) ... */ -+ -+ for(y=0;y>1; /* odd averaged */ -+ } -+ } -+ -+ /* Fill in odd rows, as average of prior & succeeding rows, with */ -+ /* even pixels average of one column, odd pixels average of two */ -+ -+ for(y=0;y>1; /* even pixels */ -+ nptr[1]=(((int)optr[0])+ -+ ((int)optr[2])+ -+ ((int)uptr[0])+ -+ ((int)uptr[2])+2)>>2; /* odd pixels */ -+ nptr+=2; optr+=2; uptr+=2; -+ } -+ *(nptr++)=(((int)*(optr++))+ -+ ((int)*(uptr++))+1)>>1; /* 2nd last pixel */ -+ *(nptr++)=(((int)*(optr++))+ -+ ((int)*(uptr++))+1)>>1; /* last pixel */ -+ } -+ -+ xvbcopy((char *)(p + (2*h-2)*mw), /* 2nd last row */ -+ (char *)(p + (2*h-1)*mw), /* the last row */ -+ 2*w); /* length of a new row */ -+ -+ h*=2; w*=2; -+ mag>>=1; /* Obviously mag must be a power of 2 ! */ -+ } -+} -+ -+/*******************************************/ -+static int -+pcdError(const char *fname, const char *st) -+{ -+ SetISTR(ISTR_WARNING,"%s: %s", fname, st); -+ return 0; -+} -+ -+ -+/**** Stuff for PCDDialog box ****/ -+ -+#define TWIDE 380 -+#define THIGH 160 -+#define T_NBUTTS 2 -+#define T_BOK 0 -+#define T_BCANC 1 -+#define BUTTH 24 -+ -+static void drawTD PARM((int, int, int, int)); -+static void clickTD PARM((int, int)); -+static void doCmd PARM((int)); -+static void PCDSetParams PARM((void)); -+ -+/* local variables */ -+static BUTT tbut[T_NBUTTS]; -+static RBUTT *resnRB; -+ -+ -+ -+/***************************************************/ -+void CreatePCDW() -+{ -+ int y; -+ -+ pcdW = CreateWindow("xv pcd", "XVpcd", NULL, -+ TWIDE, THIGH, infofg, infobg, 0); -+ if (!pcdW) FatalError("can't create pcd window!"); -+ -+ XSelectInput(theDisp, pcdW, ExposureMask | ButtonPressMask | KeyPressMask); -+ -+ BTCreate(&tbut[T_BOK], pcdW, TWIDE-140-1, THIGH-10-BUTTH-1, 60, BUTTH, -+ "Ok", infofg, infobg, hicol, locol); -+ -+ BTCreate(&tbut[T_BCANC], pcdW, TWIDE-70-1, THIGH-10-BUTTH-1, 60, BUTTH, -+ "Cancel", infofg, infobg, hicol, locol); -+ -+ y = 55; -+ resnRB = RBCreate(NULL, pcdW, 36, y, "192*128 Base/16", -+ infofg, infobg,hicol,locol); -+ RBCreate(resnRB, pcdW, 36, y+18, "384*256 Base/4", -+ infofg, infobg,hicol,locol); -+ RBCreate(resnRB, pcdW, 36, y+36, "768*512 Base", -+ infofg, infobg, hicol, locol); -+ RBCreate(resnRB, pcdW, TWIDE/2, y, "1536*1024 4Base", -+ infofg, infobg, hicol, locol); -+ RBCreate(resnRB, pcdW, TWIDE/2, y+18, "3072*2048 16Base", -+ infofg, infobg, hicol, locol); -+ -+ CBCreate(&lutCB, pcdW, TWIDE/2, y+36, "Linear LUT", -+ infofg, infobg, hicol, locol); -+ -+ RBSelect(resnRB, 2); -+ -+ XMapSubwindows(theDisp, pcdW); -+} -+ -+ -+/***************************************************/ -+void PCDDialog(vis) -+int vis; -+{ -+ if (vis) { -+ CenterMapWindow(pcdW, tbut[T_BOK].x + tbut[T_BOK].w/2, -+ tbut[T_BOK].y + tbut[T_BOK].h/2, TWIDE, THIGH); -+ } -+ else XUnmapWindow(theDisp, pcdW); -+ pcdUp = vis; -+} -+ -+ -+/***************************************************/ -+int PCDCheckEvent(xev) -+XEvent *xev; -+{ -+ /* check event to see if it's for one of our subwindows. If it is, -+ deal accordingly, and return '1'. Otherwise, return '0' */ -+ -+ int rv; -+ rv = 1; -+ -+ if (!pcdUp) return 0; -+ -+ if (xev->type == Expose) { -+ int x,y,w,h; -+ XExposeEvent *e = (XExposeEvent *) xev; -+ x = e->x; y = e->y; w = e->width; h = e->height; -+ -+ if (e->window == pcdW) drawTD(x, y, w, h); -+ else rv = 0; -+ } -+ -+ else if (xev->type == ButtonPress) { -+ XButtonEvent *e = (XButtonEvent *) xev; -+ int x,y; -+ x = e->x; y = e->y; -+ -+ if (e->button == Button1) { -+ if (e->window == pcdW) clickTD(x,y); -+ else rv = 0; -+ } /* button1 */ -+ else rv = 0; -+ } /* button press */ -+ -+ -+ else if (xev->type == KeyPress) { -+ XKeyEvent *e = (XKeyEvent *) xev; -+ char buf[128]; KeySym ks; XComposeStatus status; -+ int stlen; -+ -+ stlen = XLookupString(e,buf,128,&ks,&status); -+ buf[stlen] = '\0'; -+ -+ RemapKeyCheck(ks, buf, &stlen); -+ -+ if (e->window == pcdW) { -+ if (stlen) { -+ if (buf[0] == '\r' || buf[0] == '\n') { /* enter */ -+ FakeButtonPress(&tbut[T_BOK]); -+ } -+ else if (buf[0] == '\033') { /* ESC */ -+ FakeButtonPress(&tbut[T_BCANC]); -+ } -+ } -+ } -+ else rv = 0; -+ } -+ else rv = 0; -+ -+ if (rv==0 && (xev->type == ButtonPress || xev->type == KeyPress)) { -+ XBell(theDisp, 50); -+ rv = 1; /* eat it */ -+ } -+ -+ return rv; -+} -+ -+ -+/***************************************************/ -+void -+PCDSetParamOptions(const char *fname) -+{ -+ int cur; -+ cur = RBWhich(resnRB); -+ -+ RBSetActive(resnRB,0,1); -+ RBSetActive(resnRB,1,1); -+ RBSetActive(resnRB,2,1); -+ RBSetActive(resnRB,3,1); -+ RBSetActive(resnRB,4,1); -+ CBSetActive(&lutCB,1); -+} -+ -+ -+/***************************************************/ -+static void -+drawTD(int x, int y, int w, int h) -+{ -+ const char *title = "Load PhotoCD file..."; -+ int i; -+ XRectangle xr; -+ -+ xr.x = x; xr.y = y; xr.width = w; xr.height = h; -+ XSetClipRectangles(theDisp, theGC, 0,0, &xr, 1, Unsorted); -+ -+ XSetForeground(theDisp, theGC, infofg); -+ XSetBackground(theDisp, theGC, infobg); -+ -+ for (i=0; ix-16, resnRB->y-10-DESCENT, "Resolution"); -+ RBRedraw(resnRB, -1); -+ CBRedraw(&lutCB); -+ -+ XDrawString(theDisp, pcdW, theGC, 20, 19, title, strlen(title)); -+ -+ XSetClipMask(theDisp, theGC, None); -+} -+ -+ -+/***************************************************/ -+static void clickTD(x,y) -+int x,y; -+{ -+ int i; -+ BUTT *bp; -+ -+ /* check BUTTs */ -+ -+ /* check the RBUTTS first, since they don't DO anything */ -+ if ( (i=RBClick(resnRB, x,y)) >= 0) { -+ (void) RBTrack(resnRB, i); -+ return; -+ } -+ -+ if(CBClick(&lutCB, x, y)) { -+ (void) CBTrack(&lutCB); -+ return; -+ } -+ -+ for (i=0; ix, bp->y, bp->w, bp->h)) break; -+ } -+ -+ if (i= 16) { -+ fprintf(stderr, -+ "gethufftable: improbable length @ %d/%d\n", -+ i, num); -+ dumphufftab(num, huf, hufftop/2, hufftab); -+ free(hufftab); -+ return NULL; -+ } -+ -+ /* -+ * walk the whole set of codes -+ */ -+ huffptr = 0; -+ for(j = 0; j < 16; ++j, codeword *= 2) { -+ /* -+ * choose the child node -+ */ -+ if(codeword & 0x8000) -+ ++huffptr; -+ -+ /* -+ * store value at end-of-code -+ */ -+ if(j == length) { -+ /* -+ * more sanity -+ */ -+ if((codeword *= 2) & 0xffff) { -+ fprintf(stderr, -+ "gethufftable: " -+ ":probable invalid code @ %d\n", -+ i); -+ dumphufftab(num, huf, -+ hufftop/2, hufftab); -+ free(hufftab); -+ return NULL; -+ } -+ hufftab[huffptr] = 1 + (int) huf[4*i + 3]; -+ break; -+ } -+ -+ /* -+ * otherwise, follow the tree to date -+ */ -+ if(hufftab[huffptr] < 0) { -+ huffptr -= hufftab[huffptr]; -+ continue; -+ } else if(hufftab[huffptr] > 0) { -+ fprintf(stderr, "duplicate code %d %d/%d\n", -+ huffptr, i, num); -+ dumphufftab(num, huf, hufftop/2, hufftab); -+ free(hufftab); -+ return NULL; -+ } -+ -+ /* -+ * and if necessary, make the tree bigger -+ */ -+ if((hufftop += 2) >= N) { -+ int oldN = N; -+#if TRACE -+ dumphufftab(num, huf, hufftop/2, hufftab); -+#endif -+ N *= 2; -+ bufsize = N*sizeof(int); -+ if (N/2 != oldN || bufsize/N != sizeof(int)) { -+ SetISTR(ISTR_WARNING, -+ "new Huffman table is too large"); -+ free(hufftab); -+ return NULL; -+ } -+ h = (int *)realloc(hufftab, bufsize); -+ if(h == NULL) { -+ fprintf(stderr, -+ "Table overflow %d/%d\n", -+ i, num); -+ dumphufftab(num, huf, -+ hufftop/2, hufftab); -+ free(hufftab); -+ FatalError( -+ "couldn't realloc Huffman table"); -+ } -+ hufftab = h; -+ } -+ -+ /* -+ * then add new ptr -+ */ -+ hufftab[huffptr] = huffptr - hufftop; -+ huffptr = hufftop; -+ hufftab[huffptr + 0] = -+ hufftab[huffptr + 1] = 0; -+ } -+ } -+ return hufftab; -+} -+ -+/* WORDTYPE & char buffer must be unsigned else */ -+/* fills with sign bit not 0 on right shifts */ -+typedef unsigned int WORDTYPE; -+typedef int SWORDTYPE; -+#define WORDSIZE sizeof(WORDTYPE) -+#define NBYTESINBUF 0x800 -+ -+static byte buffer[NBYTESINBUF]; -+static int bitsleft=0; -+static int bytesleft=0; -+static byte *bufptr; -+static WORDTYPE word; -+ -+#if 0 -+static void -+dumpbuffer(void) -+{ -+ int i,left; -+ byte *ptr=buffer; -+ -+ fprintf(stderr,"dumpbuffer: bytesleft=%d bitsleft= %d word=0x%08lx\n", -+ bytesleft,bitsleft,(unsigned long)word); -+ for (left=NBYTESINBUF; left>0; left-=16) { -+ fprintf(stderr,"%05d ",left); -+ for (i=0; i<8; i++) { -+ fprintf(stderr,"%02x",*ptr++); -+ fprintf(stderr,"%02x ",*ptr++); -+ } -+ fprintf(stderr,"\n"); -+ } -+} -+#endif /* 0 */ -+ -+static void -+loadbuffer(void) -+{ -+ if ((bytesleft=fread(buffer,1,NBYTESINBUF,fp)) == 0) { -+ fprintf(stderr,"Truncation error\n"); -+ exit(1); -+ } -+ bufptr=buffer; -+ /* dumpbuffer(); */ -+} -+ -+static void -+loadbyte(void) -+{ -+ if (bytesleft <= 0) loadbuffer(); -+ --bytesleft; -+ word|=(WORDTYPE)(*bufptr++)<<(sizeof(WORDTYPE)*8-8-bitsleft); -+ bitsleft+=8; -+} -+ -+static int -+getbit(void) -+{ -+ int bit; -+ -+ while (bitsleft <= 0) loadbyte(); -+ --bitsleft; -+ bit=(SWORDTYPE)(word)<0; /* assumes word is signed */ -+ /* bit=word>>(sizeof(WORDTYPE)*8-1); */ -+ word<<=1; -+ return bit; -+} -+ -+static WORDTYPE -+getnn(int nn) -+{ -+ WORDTYPE value; -+ -+ while (bitsleft <= nn) loadbyte(); -+ bitsleft-=nn; -+ value=word>>(sizeof(WORDTYPE)*8-nn); -+ word<<=nn; -+ return value; -+} -+ -+static WORDTYPE -+isnn(int nn) -+{ -+ WORDTYPE value; -+ -+ while (bitsleft <= nn) loadbyte(); -+ value=word>>(sizeof(WORDTYPE)*8-nn); -+ return value; -+} -+ -+static void -+skipnn(int nn) -+{ -+ while (bitsleft <= nn) loadbyte(); -+ bitsleft-=nn; -+ word<<=nn; -+} -+ -+#define get1() (getbit()) -+#define get2() (getnn(2)) -+#define get8() (getnn(8)) -+#define get13() (getnn(13)) -+#define get16() (getnn(16)) -+#define get24() (getnn(24)) -+ -+#define is24() (isnn(24)) -+ -+#define skip1() (skipnn(1)) -+#define skip24() (skipnn(24)) -+ -+static int -+gethuffdata( byte *luma, -+ byte *chroma1, -+ byte *chroma2, -+ int realrowwidth, -+ int maxrownumber) -+{ -+static byte clip[3*256]; -+ int *hufftable[3], *huffstart = NULL, *huffptr = NULL; -+ int row, col, plane, i, result = 1; -+#if TRACE -+ int uflow = 0, oflow = 0; -+#endif -+ byte *pixelptr = NULL; -+ -+ trace((stderr,"gethuffdata: start @ 0x%08lx (sector %ld.%ld)\n", -+ ftell(fp), ftell(fp)/0x800, ftell(fp) % 0x800)); -+ -+ /* -+ * correction clipping -+ */ -+ if(clip[256+255] == 0) { -+ for(i = 0; i < 256; ++i) -+ clip[i + 0] = 0x00, -+ clip[i + 256] = (byte) i, -+ clip[i + 512] = 0xff; -+ } -+ -+ /* -+ * should really only look for luma plane for 4base, but the -+ * there are zeroes in the rest of the sector that give both -+ * chroma tables 0 length -+ */ -+ for(i = 0; i < 3; ++i) -+ hufftable[i] = NULL; -+ for(i = 0; i < 3; ++i) { -+ if((hufftable[i] = gethufftable()) == NULL) { -+ result = 0; -+ break; -+ } -+ } -+ if(result == 0) -+ goto oops; -+ -+ /* -+ * skip remainder of current sector -+ */ -+ i = (ftell(fp) | 0x7ff) + 1; -+ if(fseek(fp, i, SEEK_SET) < 0) { -+ fprintf(stderr, "gethuffdata: sector skip failed\n"); -+ return 0; -+ } -+ -+ /* -+ * skip remainder of "sector" -+ */ -+ i = 0; -+ while (is24() != 0xfffffe) { -+ (void)get24(); -+ if(++i == 1) -+ trace((stderr,"gethuffdata: skipping for sync ...")); -+ } -+ if(i != 0) -+ trace((stderr, " %d times\n", i)); -+ -+ while(result) { -+ if(is24() == 0xfffffe) { -+ skip24(); -+ plane = get2(); -+ row = get13(); col = 0; -+ skip1(); -+ if(row >= maxrownumber) { -+ trace((stderr, -+ "gethuffdata: stopping at row %d\n", -+ row)); -+ break; -+ } -+ switch (plane) { -+ case 0: -+ huffstart = hufftable[0]; -+ pixelptr = luma + row*realrowwidth; -+ break; -+ -+ case 2: -+ huffstart = hufftable[1]; -+ pixelptr = chroma1 + row/2*realrowwidth/2; -+ break; -+ -+ case 3: -+ huffstart = hufftable[2]; -+ pixelptr = chroma2 + row/2*realrowwidth/2; -+ break; -+ -+ default: -+ fprintf(stderr, "gethuffdata: bad plane %d\n", -+ plane); -+ result = 0; -+ break; -+ } -+ WaitCursor(); -+ continue; -+ } -+ -+ /* -+ * locate correction in huffman tree -+ */ -+ for(huffptr = huffstart;;) { -+ huffptr += get1(); -+ if(*huffptr < 0) { -+ huffptr -= *huffptr; -+ } else if(*huffptr == 0) { -+ fprintf(stderr, -+ "gethuffdata: invalid code: " -+ "image quality reduced\n"); -+ result = 0; -+ break; -+ } else -+ break; -+ } -+ if(!result) -+ break; -+ -+ /* -+ * apply correction to the pixel -+ * -+ * eeeek!! the corrections can sometimes over or underflow! -+ * this strongly suggested that the 'magnify' method was in -+ * some way wrong. however, experiments showed that the -+ * over/under flows even occured for the pixels that are -+ * copied through magnify without change (ie, the even -+ * row/even column case). curiously, though, the odd -+ * column and odd row cases were about 3x more likely to have -+ * the over/underflow, and the odd row/odd column case was -+ * about 5x higher, so maybe the use of a bi-linear -+ * interpolation is not correct -- just *close*? -+ * -+ * the other clue in this area is that the overflows are -+ * by far most frequenct along edges of very bright -+ * areas -- rarely in the interior of such regions. -+ */ -+ i = (int) *pixelptr + (signed char) (*huffptr - 1); -+#if TRACE -+ if(i > 255) -+ ++oflow; -+/* trace((stderr, -+ "gethuffdata: oflow %d %d %d\n", row, col, i));*/ -+ else if(i < 0) -+ ++uflow; -+/* trace((stderr, -+ "gethuffdata: uflow %d %d %d\n", row, col, i));*/ -+ ++col; -+#endif -+ *pixelptr++ = clip[i + 256]; -+ } -+ -+oops: -+ for(i = 0; i < 3; ++i) -+ free(hufftable[i]); -+ trace((stderr, "gethuffdata: uflow=%d oflow=%d\n", uflow, oflow)); -+ trace((stderr, "gethuffdata: done @ 0x%08lx (sector %ld.%d)\n", -+ ftell(fp), ftell(fp)/0x800, 0x800 - bytesleft)); -+ return result; -+} -+ -+#endif /* HAVE_PCD */ -diff -u -r --new-file xv-3.10a.orig/xvpi.c xv-3.10a/xvpi.c ---- xv-3.10a.orig/xvpi.c 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/xvpi.c 2005-04-18 00:57:04.000000000 -0500 -@@ -0,0 +1,1060 @@ -+/* -+ * xvpi.c - load routine for `Pi' format pictures. -+ * -+ * The `Pi' format is made by Yanagisawa. -+ * It is common among many Japanese personal computer users. -+ * -+ */ -+ -+#include "xv.h" -+#include -+ -+#ifdef HAVE_PI -+ -+typedef unsigned short data16; -+typedef unsigned int data32; -+ -+struct pi_info { -+ jmp_buf jmp; -+ FILE *fp; -+ struct { -+ int rest; -+ byte cur; -+ }bs; -+ long fsize; -+ byte mode; -+ int width, height; -+ float aspect; -+ int cbits; -+ int numcols; -+ byte *cmap; -+ struct ct_t{ -+ struct elt_t *top; -+ struct elt_t{ -+ struct elt_t *old, *recent; -+ byte val; -+ } *elt; -+ }*ct; -+ int defcmap; -+ int writing_grey; -+}; -+ -+static void pi_open_file PARM((struct pi_info*, char*)); -+static void pi_read_header PARM((struct pi_info*, char**)); -+static void pi_check_id PARM((struct pi_info*)); -+static void pi_read_comment PARM((struct pi_info*, char**)); -+static void pi_read_palette PARM((struct pi_info*)); -+static void pi_expand PARM((struct pi_info*, byte**)); -+static byte pi_read_color PARM((struct pi_info*, int)); -+static int pi_read_position PARM((struct pi_info*)); -+static data32 pi_read_length PARM((struct pi_info*)); -+static int pi_copy_pixels PARM((struct pi_info*, -+ byte*, int, int, data32)); -+ -+static void pi_write_header PARM((struct pi_info*, -+ char*, byte*, byte*, byte*)); -+static void pi_write_id PARM((struct pi_info*)); -+static void pi_write_comment PARM((struct pi_info*, char*)); -+static void pi_write_palette PARM((struct pi_info*, byte*, byte*, byte*)); -+static void pi_compress PARM((struct pi_info*, byte*)); -+static void pi_write_gabage PARM((struct pi_info*)); -+static void pi_write_color PARM((struct pi_info*, int, int)); -+static int pi_test_matching PARM((struct pi_info*, -+ byte*, int, int, data32*)); -+static void pi_write_position PARM((struct pi_info*, int)); -+static void pi_write_length PARM((struct pi_info*, data32)); -+ -+static void pi_table_create PARM((struct pi_info*)); -+static byte pi_table_get_value PARM((struct pi_info*, int, int)); -+static int pi_table_lookup_value PARM((struct pi_info*, int, int)); -+static data32 pi_read_bits PARM((struct pi_info*, int)); -+static void pi_write_bits PARM((struct pi_info*, data32, int)); -+static void pi_init_pi_info PARM((struct pi_info*)); -+static void pi_cleanup_pi_info PARM((struct pi_info*, int)); -+static void pi_cleanup_pinfo PARM((PICINFO*)); -+static void pi_memory_error PARM((char*, char*)); -+static void pi_error PARM((struct pi_info*, int)); -+static void pi_file_error PARM((struct pi_info*, int)); -+static void pi_file_warning PARM((struct pi_info*, int)); -+static void pi_show_pi_info PARM((struct pi_info*)); -+static void *pi_malloc PARM((size_t, char*)); -+static void *pi_realloc PARM((void*, size_t, char*)); -+ -+ -+static char *pi_id = "Pi"; -+static char *pi_msgs[] = { -+ NULL, -+#define PI_OPEN 1 -+ "couldn't open.", -+#define PI_CORRUPT 2 -+ "file corrupted.", -+#define PI_FORMAT 3 -+ "not PI format.", -+#define PI_PLANES 4 -+ "bad number of planes.", -+#define PI_WRITE 5 -+ "write failed.", -+}; -+ -+ -+/* The main routine of `Pi' loader. */ -+int LoadPi(fname, pinfo) -+ char *fname; -+ PICINFO *pinfo; -+{ -+ struct pi_info pi; -+ int e; -+ int i; -+ if(DEBUG) fputs("LoadPi:\n", stderr); -+ -+ pinfo->comment = NULL; -+ pi_init_pi_info(&pi); -+ if((e = setjmp(pi.jmp)) != 0){ -+ /* When an error occurs, comes here. */ -+ pi_cleanup_pi_info(&pi, 0); -+ pi_cleanup_pinfo(pinfo); -+ if(DEBUG) fputs("\n", stderr); -+ return 0; -+ } -+ -+ pi_open_file(&pi, fname); -+ pi_read_header(&pi, &pinfo->comment); -+ pi_expand(&pi, &pinfo->pic); -+ -+ pinfo->normw = pinfo->w = pi.width; -+ pinfo->normh = pinfo->h = pi.height; -+ pinfo->type = PIC8; -+ if(pi.numcols > 256) /* shouldn't happen. */ -+ pi.numcols = 256; -+ for(i = 0; i < pi.numcols; i++){ -+ pinfo->r[i] = pi.cmap[i * 3 ]; -+ pinfo->g[i] = pi.cmap[i * 3 + 1]; -+ pinfo->b[i] = pi.cmap[i * 3 + 2]; -+ } -+ pinfo->frmType = F_PI; -+ pinfo->colType = F_FULLCOLOR; -+ sprintf(pinfo->fullInfo, "Pi, %d colors (%ld bytes)", -+ pi.numcols, pi.fsize); -+ sprintf(pinfo->shrtInfo, "%dx%d Pi.", pi.width, pi.height); -+ normaspect = pi.aspect; -+ -+ pi_cleanup_pi_info(&pi, 0); -+ if(DEBUG) fputs("\n", stderr); -+ return 1; -+} -+ -+static void pi_open_file(pi, fname) -+ struct pi_info *pi; -+ char *fname; -+{ -+ if((pi->fp = fopen(fname, "rb")) == NULL) -+ pi_file_error(pi, PI_OPEN); -+ fseek(pi->fp, (size_t) 0, SEEK_END); -+ pi->fsize = ftell(pi->fp); -+ fseek(pi->fp, (size_t) 0, SEEK_SET); -+} -+ -+static void pi_read_header(pi, comm) -+ struct pi_info *pi; -+ char **comm; -+{ -+ byte buf[10]; -+ int mda; -+ int i; -+ -+ pi_check_id(pi); -+ pi_read_comment(pi, comm); -+ -+ if(fread(buf, (size_t) 10, (size_t) 1, pi->fp) != 1) -+ pi_file_error(pi, PI_CORRUPT); -+ -+ pi->mode = buf[0]; -+ pi->defcmap = pi->mode & 0x80; -+ if(buf[1] != 0 && buf[2] != 0) -+ pi->aspect = (float) buf[2] / (int) buf[1]; -+ pi->cbits = buf[3]; -+ pi->numcols = 1 << pi->cbits; -+ -+ if(pi->cbits != 4 && pi->cbits != 8) -+ pi_error(pi, PI_PLANES); -+ -+ mda = (int) buf[8] << 8 | (int) buf[9]; -+ for(i = 0; i < mda; i++){ -+ if(fgetc(pi->fp) == EOF) -+ pi_file_error(pi, PI_CORRUPT); -+ } -+ -+ if(fread(buf, (size_t) 4, (size_t) 1, pi->fp) != 1) -+ pi_file_error(pi, PI_CORRUPT); -+ pi->width = (int) buf[0] << 8 | (int) buf[1]; -+ pi->height = (int) buf[2] << 8 | (int) buf[3]; -+ -+ pi_read_palette(pi); -+ -+ if(DEBUG) pi_show_pi_info(pi); -+} -+ -+static void pi_check_id(pi) -+ struct pi_info *pi; -+{ -+ char buf[2]; -+ -+ if(fread(buf, (size_t) 2, (size_t) 1, pi->fp) != 1) -+ pi_file_error(pi, PI_CORRUPT); -+ if(strncmp(buf, pi_id, (size_t) 2) != 0) -+ pi_error(pi, PI_FORMAT); -+} -+ -+static void pi_read_comment(pi, comm) -+ struct pi_info *pi; -+ char **comm; -+{ -+/* -+ * The comment format is like: -+ * comment string `^Z' dummy string `\0' -+ */ -+ int max = -1, i = 0; -+ int c; -+ -+ while(1){ -+ if((c = fgetc(pi->fp)) == EOF) -+ pi_file_error(pi, PI_CORRUPT); -+ if(c == '\032') /* 0x1a, '^Z' */ -+ break; -+ if(max < i){ -+ max += 32; -+ *comm = pi_realloc(*comm, (size_t) max + 1, "pi_read_comment(1)"); -+ } -+ (*comm)[i++] = c; -+ } -+ if(max < i){ -+ max++; -+ *comm = pi_realloc(*comm, (size_t) max + 1, "pi_read_comment(2)"); -+ } -+ (*comm)[i] = '\0'; -+ -+ while((c = fgetc(pi->fp)) != '\0'){ /* skip the dummy area */ -+ if(c == EOF) -+ pi_file_error(pi, PI_CORRUPT); -+ } -+} -+ -+static void pi_read_palette(pi) -+ struct pi_info *pi; -+{ -+ pi->cmap = pi_malloc((size_t) pi->numcols * 3, "pi_read_palette"); -+ if(pi->mode & 0x80){ -+ if(pi->numcols == 16){ -+ int i; -+ byte on; -+ -+ on = 0x77; -+ for(i = 0; i < 8; i++){ -+ pi->cmap[i * 3 ] = i & 2 ? on : 0; -+ pi->cmap[i * 3 + 1] = i & 4 ? on : 0; -+ pi->cmap[i * 3 + 2] = i & 1 ? on : 0; -+ } -+ on = 0xff; -+ for(; i < 16; i++){ -+ pi->cmap[i * 3 ] = i & 2 ? on : 0; -+ pi->cmap[i * 3 + 1] = i & 4 ? on : 0; -+ pi->cmap[i * 3 + 2] = i & 1 ? on : 0; -+ } -+ }else{ /* pi->numcols == 256 */ -+ int i; -+ byte r, g, b; -+ r = g = b = 0; -+ for(i = 0; i < 256; i++){ -+ pi->cmap[i * 3 ] = r; -+ pi->cmap[i * 3 + 1] = g; -+ pi->cmap[i * 3 + 2] = b; -+ if((b += 0x40) == 0){ -+ if((r += 0x20) == 0) -+ g += 0x20; -+ } -+ } -+ } -+ }else{ -+ if(fread(pi->cmap, (size_t) pi->numcols * 3, (size_t) 1, pi->fp) != 1) -+ pi_file_error(pi, PI_CORRUPT); -+ } -+} -+ -+/* The main routine to expand `Pi' file. */ -+static void pi_expand(pi, pic) -+ struct pi_info *pi; -+ byte **pic; -+{ -+ byte prev_col = 0; -+ int prev_pos = -1; -+ int cnt = 0, max_cnt = pi->width * pi->height; -+ -+ *pic = pi_malloc((size_t) max_cnt, "pi_expand"); // GRR POSSIBLE OVERFLOW / FIXME -+ -+ pi_table_create(pi); -+ -+ if(pi->width > 2){ -+ (*pic)[0] = pi_read_color(pi, 0); -+ (*pic)[1] = pi_read_color(pi, (*pic)[0]); -+ -+ while(cnt < max_cnt){ -+ int pos = pi_read_position(pi); -+ if(pos != prev_pos){ -+ data32 len = pi_read_length(pi); -+ cnt = pi_copy_pixels(pi, *pic, cnt, pos, len); -+ prev_col = (*pic)[cnt - 1]; -+ prev_pos = pos; -+ }else{ -+ do{ -+ prev_col = pi_read_color(pi, (int) prev_col); -+ (*pic)[cnt++] = prev_col; -+ prev_col = pi_read_color(pi, (int) prev_col); -+ (*pic)[cnt++] = prev_col; -+ }while(pi_read_bits(pi, 1) == 1); -+ -+ prev_pos = -1; -+ } -+ } -+ }else{ -+ while(cnt < max_cnt){ -+ prev_col = pi_read_color(pi, (int) prev_col); -+ (*pic)[cnt++] = prev_col; -+ } -+ } -+} -+ -+static byte pi_read_color(pi, prev) -+ struct pi_info *pi; -+ int prev; -+{ -+ byte n; -+ if(pi->cbits == 4){ -+ if(pi_read_bits(pi, 1) == 1) -+ n = pi_read_bits(pi, 1); /* 1x */ -+ else{ -+ if(pi_read_bits(pi, 1) == 0) -+ n = pi_read_bits(pi, 1) + 2; /* 00x */ -+ else{ -+ if(pi_read_bits(pi, 1) == 0) -+ n = pi_read_bits(pi, 2) + 4; /* 010xx */ -+ else -+ n = pi_read_bits(pi, 3) + 8; /* 011xxx */ -+ } -+ } -+ }else{ /* cbits == 8 */ -+ if(pi_read_bits(pi, 1) == 1) -+ n = pi_read_bits(pi, 1); -+ else{ -+ int bits = 0; -+ byte base = 2; -+ while(bits < 6){ -+ if(pi_read_bits(pi, 1) == 0) -+ break; -+ bits++; -+ base <<= 1; -+ } -+ n = pi_read_bits(pi, bits + 1) + base; -+ } -+ } -+ -+ return pi_table_get_value(pi, prev, (int) n); -+} -+ -+static int pi_read_position(pi) -+ struct pi_info *pi; -+{ -+ byte r; -+ if((r = pi_read_bits(pi, 2)) != 3) -+ return (int) r; -+ else -+ return (int) pi_read_bits(pi, 1) + 3; -+} -+ -+static data32 pi_read_length(pi) -+ struct pi_info *pi; -+{ -+ data32 r = 1; -+ int bits = 0; -+ while(pi_read_bits(pi, 1) == 1){ -+ r <<= 1; -+ bits++; -+ } -+ if(bits > 0) -+ return r + pi_read_bits(pi, bits); -+ return 1; -+} -+ -+static int pi_copy_pixels(pi, pic, cnt, pos, len) -+ struct pi_info *pi; -+ byte *pic; -+ int cnt, pos; -+ data32 len; -+{ -+ int s = 0, d = cnt; -+ int max = pi->width * pi->height; -+ switch(pos){ -+ case 0: -+ if(cnt < 2){ -+ if(pic[0] == pic[1]) -+ s = cnt - 2; -+ else -+ s = cnt - 4; -+ }else{ -+ if(pic[cnt - 2] == pic[cnt - 1]) -+ s = cnt - 2; -+ else -+ s = cnt - 4; -+ } -+ break; -+ case 1: -+ s = cnt - pi->width; -+ break; -+ case 2: -+ s = cnt - pi->width * 2; -+ break; -+ case 3: -+ s = cnt - pi->width + 1; -+ break; -+ case 4: -+ s = cnt - pi->width - 1; -+ } -+ -+ len *= 2; -+ while(s < 0 && len != 0 && d < max){ -+ pic[d++] = pic[-(s++) % 2]; -+ len--; -+ } -+ while(len != 0 && d < max){ -+ pic[d++] = pic[s++]; -+ len--; -+ } -+ return d; -+} -+ -+/* The main routine of `Pi' saver. */ -+int WritePi(fp, pic, ptype, w, h, rmap, gmap, bmap, numcols, colorstyle, -+ comment) -+ FILE *fp; -+ byte *pic; -+ int ptype, w, h; -+ byte *rmap, *gmap, *bmap; -+ int numcols, colorstyle; -+ char *comment; -+{ -+ byte rtemp[256], gtemp[256], btemp[256]; -+ struct pi_info pi; -+ int e; -+ -+ if(DEBUG) fputs("WritePi\n", stderr); -+ pi_init_pi_info(&pi); -+ pi.fp = fp; -+ pi.width = w; -+ pi.height = h; -+ pi.writing_grey = (colorstyle == F_GREYSCALE); -+ if(ptype == PIC24){ -+ if(!(pic = Conv24to8(pic, w, h, 256, rtemp, gtemp, btemp))) -+ pi_memory_error("Conv24to8", "WritePi"); -+ rmap = rtemp; -+ gmap = gtemp; -+ bmap = btemp; -+ numcols = 256; -+ } -+ -+ if((e = setjmp(pi.jmp)) != 0){ -+ /* When an error occurs, comes here. */ -+ pi_cleanup_pi_info(&pi, 1); -+ if(DEBUG) fputs("\n", stderr); -+ return -1; -+ } -+ -+ pi.numcols = numcols; -+ pi_write_header(&pi, comment, rmap, gmap, bmap); -+ pi_compress(&pi, pic); -+ pi_write_gabage(&pi); -+ -+ pi_cleanup_pi_info(&pi, 1); -+ if(DEBUG) fputs("\n", stderr); -+ return 0; -+} -+ -+static void pi_write_header(pi, comm, r, g, b) -+ struct pi_info *pi; -+ char *comm; -+ byte *r, *g, *b; -+{ -+ byte buf[14]; -+ -+ if(DEBUG) pi_show_pi_info(pi); -+ -+ pi_write_id(pi); -+ pi_write_comment(pi, comm); -+ -+ buf[0] = buf[1] = buf[2] = 0; -+ buf[3] = pi->cbits = pi->numcols > 16 ? 8 : 4; -+ buf[4] = 'X'; -+ buf[5] = 'V'; -+ buf[6] = ' '; -+ buf[7] = ' '; -+ buf[8] = buf[9] = 0; -+ buf[10] = pi->width >> 8; -+ buf[11] = pi->width; -+ buf[12] = pi->height >> 8; -+ buf[13] = pi->height; -+ if(fwrite(buf, (size_t) 14, (size_t) 1, pi->fp) != 1) -+ pi_file_error(pi, PI_WRITE); -+ -+ pi_write_palette(pi, r, g, b); -+} -+ -+static void pi_write_id(pi) -+ struct pi_info *pi; -+{ -+ if(fwrite(pi_id, (size_t) 2, (size_t) 1, pi->fp) != 1) -+ pi_file_error(pi, PI_WRITE); -+} -+ -+static void pi_write_comment(pi, comm) -+ struct pi_info *pi; -+ char *comm; -+{ -+ if(comm){ -+ int i; -+ for(i = 0; comm[i]; i++){ -+ if(comm[i] == '\032') /* 0x1a, '^Z' */ -+ comm[i] = ' '; -+ } -+ if(i > 0){ -+ if(fwrite(comm, (size_t) i, (size_t) 1, pi->fp) != 1) -+ pi_file_error(pi, PI_WRITE); -+ } -+ } -+ -+ if(fwrite("\032\0", (size_t) 2, (size_t) 1, pi->fp) != 1) -+ pi_file_error(pi, PI_WRITE); -+} -+ -+static void pi_write_palette(pi, r, g, b) -+ struct pi_info *pi; -+ byte *r, *g, *b; -+{ -+ int i; -+ int pinum = 1 << pi->cbits; -+ char buf[3]; -+ -+ for(i = 0; i < pi->numcols; i++){ -+ buf[0] = *r++; -+ buf[1] = *g++; -+ buf[2] = *b++; -+ if(pi->writing_grey) -+ buf[0] = buf[1] = buf[2] = MONO(buf[0], buf[1], buf[2]); -+ if(fwrite(buf, (size_t) 3, (size_t) 1, pi->fp) != 1) -+ pi_file_error(pi, PI_WRITE); -+ } -+ for( ; i < pinum; i++){ -+ if(fwrite(buf, (size_t) 3, (size_t) 1, pi->fp) != 1) -+ pi_file_error(pi, PI_WRITE); -+ } -+ pi->numcols = pinum; -+} -+ -+/* The main routine to compress `Pi' format. */ -+static void pi_compress(pi, pic) -+ struct pi_info *pi; -+ byte *pic; -+{ -+ byte prev_col = 0; -+ int prev_pos = -1; -+ int cnt = 0, max_cnt = pi->width * pi->height; -+ pi_table_create(pi); -+ -+ if(pi->width > 2){ -+ int pos; -+ data32 len; -+ -+ pi_write_color(pi, 0, pic[0]); -+ pi_write_color(pi, pic[0], pic[1]); -+ pos = pi_test_matching(pi, pic, prev_pos, cnt, &len); -+ while(cnt < max_cnt){ -+ if(pos >= 0){ -+ pi_write_position(pi, pos); -+ pi_write_length(pi, len); -+ if((cnt += len * 2) >= max_cnt) -+ break; -+ prev_col = pic[cnt - 1]; -+ prev_pos = pos; -+ pos = pi_test_matching(pi, pic, prev_pos, cnt, &len); -+ }else{ -+ pi_write_position(pi, prev_pos); -+ prev_pos = -1; -+ while(pos < 0){ -+ pi_write_color(pi, (int) prev_col, pic[cnt]); -+ prev_col = pic[cnt]; -+ if(++cnt >= max_cnt) -+ break; -+ pi_write_color(pi, (int) prev_col, pic[cnt]); -+ prev_col = pic[cnt]; -+ if(++cnt >= max_cnt) -+ break; -+ pos = pi_test_matching(pi, pic, -1, cnt, &len); -+ if(pos < 0) -+ pi_write_bits(pi, 1, 1); -+ else -+ pi_write_bits(pi, 0, 1); -+ } -+ } -+ } -+ }else{ -+ while(cnt < max_cnt){ -+ pi_write_color(pi, (int) prev_col, pic[cnt]); -+ prev_col = pic[cnt++]; -+ } -+ } -+} -+ -+static void pi_write_gabage(pi) -+ struct pi_info *pi; -+{ -+ pi_write_bits(pi, 0, 32); -+} -+ -+static void pi_write_color(pi, prev, col) -+ struct pi_info *pi; -+ int prev, col; -+{ -+ int n = pi_table_lookup_value(pi, prev, col); -+ -+ if(pi->cbits == 4){ -+ if(n < 2) -+ pi_write_bits(pi, (data32) n | 2, 2); -+ else if(n < 4) -+ pi_write_bits(pi, (data32) n - 2, 3); -+ else if(n < 8) -+ pi_write_bits(pi, (data32) (n - 4) | 8, 5); -+ else -+ pi_write_bits(pi, (data32) (n - 8) | 24, 6); -+ }else{ /* cbits == 8 */ -+ if(n < 2){ -+ pi_write_bits(pi, (data32) n | 2, 2); -+ }else{ -+ int bits = 0; -+ byte base = 2; -+ while(bits < 6){ -+ if(n < (int) base * 2) -+ break; -+ bits++; -+ base <<= 1; -+ } -+ pi_write_bits(pi, 0, 1); -+ if(bits > 0) -+ pi_write_bits(pi, 0xffffffff, bits); -+ if(bits < 6) -+ pi_write_bits(pi, 0, 1); -+ pi_write_bits(pi, (data32) n - base, bits + 1); -+ } -+ } -+} -+ -+static int pi_test_matching(pi, pic, prev, cnt, len) -+ struct pi_info *pi; -+ byte *pic; -+ int prev, cnt; -+ data32 *len; -+{ -+ data32 lens[5]; -+ int pos, p; -+ int s, d = 0; -+ int max = pi->width * pi->height; -+ -+ for(pos = 0; pos < 5; pos++){ -+ switch(pos){ -+ case 0: -+ if(cnt < 2){ -+ if(pic[0] == pic[1]) -+ d = cnt - 2; -+ else -+ d = cnt - 4; -+ }else{ -+ if(pic[cnt - 2] == pic[cnt - 1]) -+ d = cnt - 2; -+ else -+ d = cnt - 4; -+ } -+ break; -+ case 1: -+ d = cnt - pi->width; -+ break; -+ case 2: -+ d = cnt - pi->width * 2; -+ break; -+ case 3: -+ d = cnt - pi->width + 1; -+ break; -+ case 4: -+ d = cnt - pi->width - 1; -+ } -+ s = cnt; -+ lens[pos] = 0; -+ -+ if(prev == 0 && pos == 0) -+ continue; -+ -+ while(d < max){ -+ if(pic[(d < 0) ? (-d) % 2 : d] != pic[s]) -+ break; -+ lens[pos]++; -+ d++; -+ s++; -+ } -+ -+ } -+ -+ for(pos = 0, p = 1; p < 5; p++){ -+ if(lens[p] >= lens[pos]) -+ pos = p; -+ } -+ -+ if(lens[pos] / 2 == 0) -+ return -1; -+ *len = lens[pos] / 2; -+ return pos; -+} -+ -+static void pi_write_position(pi, pos) -+ struct pi_info *pi; -+ int pos; -+{ -+ switch(pos){ -+ case 0: -+ pi_write_bits(pi, 0, 2); -+ break; -+ case 1: -+ pi_write_bits(pi, 1, 2); -+ break; -+ case 2: -+ pi_write_bits(pi, 2, 2); -+ break; -+ case 3: -+ pi_write_bits(pi, 6, 3); -+ break; -+ case 4: -+ pi_write_bits(pi, 7, 3); -+ break; -+ } -+} -+ -+static void pi_write_length(pi, len) -+ struct pi_info *pi; -+ data32 len; -+{ -+ int bits = 0; -+ data32 base = 1; -+ -+ while(len >= base * 2){ -+ bits++; -+ base <<= 1; -+ } -+ if(bits > 0){ -+ pi_write_bits(pi, 0xffffffff, bits); -+ pi_write_bits(pi, 0, 1); -+ pi_write_bits(pi, len - base, bits); -+ }else -+ pi_write_bits(pi, 0, 1); -+} -+ -+/* -+ * These pi_table_* functions manipulate the color table. -+ * pi_table_create: -+ * allocates and initializes a color table. -+ * pi_table_get_value: -+ * get the specified value, and move it to the top of the list. -+ * pi_table_lookup_value: -+ * look up the specified value, and move it to the top of the list. -+ */ -+static void pi_table_create(pi) -+ struct pi_info *pi; -+{ -+ struct ct_t *t; -+ int i; -+ byte mask = pi->numcols - 1; -+ pi->ct = pi_malloc(sizeof *pi->ct * pi->numcols, "pi_table_create(1)"); -+ for(i = 0, t = pi->ct; i < pi->numcols; i++, t++){ -+ int j; -+ byte v = i; -+ t->elt = pi_malloc(sizeof *t->elt * pi->numcols, "pi_table_create(2)"); -+ t->top = &t->elt[pi->numcols - 1]; -+ for(j = 0; j < pi->numcols; j++){ -+ v = (v + 1) & mask; -+ if(j > 0) -+ t->elt[j].old = &t->elt[j - 1]; -+ else -+ t->elt[0].old = t->top; -+ if(j < pi->numcols - 1) -+ t->elt[j].recent = &t->elt[j + 1]; -+ else -+ t->elt[j].recent = &t->elt[0]; -+ t->elt[j].val = v; -+ } -+ t->elt[0].old = t->top; -+ t->top->recent = &t->elt[0]; -+ } -+} -+ -+static byte pi_table_get_value(pi, left, num) -+ struct pi_info *pi; -+ int left, num; -+{ -+ struct ct_t *t = &pi->ct[left]; -+ struct elt_t *e = t->top; -+ if(left >= pi->numcols || num >= pi->numcols) -+ abort(); -+ if(num != 0){ -+ do { -+ e = e->old; -+ }while(--num != 0); -+ -+ e->old->recent = e->recent; -+ e->recent->old = e->old; -+ -+ e->recent = t->top->recent; -+ e->recent->old = e; -+ e->old = t->top; -+ t->top->recent = e; -+ -+ t->top = e; -+ } -+ return e->val; -+} -+ -+static int pi_table_lookup_value(pi, left, v) -+ struct pi_info *pi; -+ int left, v; -+{ -+ struct ct_t *t = &pi->ct[left]; -+ struct elt_t *e = t->top; -+ int num = 0; -+ -+ if(left >= pi->numcols || v >= pi->numcols) -+ abort(); -+ -+ while(e->val != v){ -+ e = e->old; -+ num++; -+ } -+ -+ if(num != 0){ -+ e->old->recent = e->recent; -+ e->recent->old = e->old; -+ -+ e->recent = t->top->recent; -+ e->recent->old = e; -+ e->old = t->top; -+ t->top->recent = e; -+ -+ t->top = e; -+ } -+ -+ return num; -+} -+ -+/* -+ * These 2 functions read or write to a bit stream. -+ * pi_read_bits: -+ * reads a specified-bit data from the bit stream. -+ * pi_write_bits: -+ * writes a specified-bit data to the bit stream. -+ */ -+static data32 pi_read_bits(pi, numbits) -+ struct pi_info *pi; -+ int numbits; -+{ -+ data32 r = 0; -+ -+ while(numbits > 0){ -+ while(pi->bs.rest > 0 && numbits > 0){ -+ r = (r << 1) | (pi->bs.cur & 0x80 ? 1 : 0); -+ pi->bs.cur <<= 1; -+ pi->bs.rest--; -+ numbits--; -+ } -+ if(numbits > 0){ -+ int c; -+ if((c = fgetc(pi->fp)) == EOF) -+ pi_file_warning(pi, PI_CORRUPT); -+ pi->bs.cur = c; -+ pi->bs.rest = 8; -+ } -+ } -+ -+ return r; -+} -+ -+static void pi_write_bits(pi, dat, bits) -+ struct pi_info *pi; -+ data32 dat; -+ int bits; -+{ -+ data32 dat_mask = 1 << (bits - 1); -+ while(bits > 0){ -+ while(pi->bs.rest < 8 && bits > 0){ -+ pi->bs.cur <<= 1; -+ if(dat & dat_mask) -+ pi->bs.cur |= 1; -+ pi->bs.rest++; -+ bits--; -+ dat_mask >>= 1; -+ } -+ if(pi->bs.rest >= 8){ -+ if(fputc((int)pi->bs.cur, pi->fp) == EOF) -+ pi_file_error(pi, PI_WRITE); -+ pi->bs.cur = 0; -+ pi->bs.rest = 0; -+ } -+ } -+} -+ -+/* -+ * The routines to initialize or clean up. -+ * pi_inif_pi_info: -+ * initializes a pi_info structure. -+ * pi_cleanup_pi_info: -+ * cleanup pi_info structure. It frees allocated memories. -+ * pi_cleanup_pinfo: -+ * cleanup PICINFO structure when an error occurs. -+ */ -+static void pi_init_pi_info(pi) -+ struct pi_info *pi; -+{ -+ pi->fp = NULL; -+ pi->bs.rest = 0; -+ pi->bs.cur = 0; -+ pi->fsize = 0; -+ pi->mode = 0; -+ pi->width = pi->mode = 0; -+ pi->aspect = 1.0; -+ pi->cbits = 0; -+ pi->numcols = 0; -+ pi->cmap = NULL; -+ pi->ct = NULL; -+ pi->defcmap = 0; -+ pi->writing_grey = 0; -+} -+ -+static void pi_cleanup_pi_info(pi, writing) -+ struct pi_info *pi; -+ int writing; -+{ -+ if(pi->fp && !writing){ -+ fclose(pi->fp); -+ pi->fp = NULL; -+ } -+ if(pi->cmap){ -+ free(pi->cmap); -+ pi->cmap = NULL; -+ } -+ if(pi->ct){ -+ int i; -+ for(i = 0; i < pi->numcols; i++) -+ free(pi->ct[i].elt); -+ free(pi->ct); -+ pi->ct = NULL; -+ } -+} -+ -+static void pi_cleanup_pinfo(pinfo) -+ PICINFO *pinfo; -+{ -+ if(pinfo->pic){ -+ free(pinfo->pic); -+ pinfo->pic = NULL; -+ } -+ if(pinfo->comment){ -+ free(pinfo->comment); -+ pinfo->comment = NULL; -+ } -+} -+ -+/* -+ * Error handling routins. -+ * pi_memory_error: -+ * shows a error message, and terminates. -+ * pi_error: -+ * shows a non-file error message. -+ * pi_file_error: -+ * shows a file error message. -+ */ -+static void pi_memory_error(scm, fn) -+ char *scm, *fn; -+{ -+ char buf[128]; -+ sprintf(buf, "%s: couldn't allocate memory. (%s)", scm ,fn); -+ FatalError(buf); -+} -+ -+static void pi_error(pi, mn) -+ struct pi_info *pi; -+ int mn; -+{ -+ SetISTR(ISTR_WARNING, "%s", pi_msgs[mn]); -+ longjmp(pi->jmp, 1); -+} -+ -+static void pi_file_error(pi, mn) -+ struct pi_info *pi; -+ int mn; -+{ -+ if(feof(pi->fp)) -+ SetISTR(ISTR_WARNING, "%s (end of file)", pi_msgs[mn]); -+ else -+ SetISTR(ISTR_WARNING, "%s (%s)", pi_msgs[mn], ERRSTR(errno)); -+ longjmp(pi->jmp, 1); -+} -+ -+static void pi_file_warning(pi, mn) -+ struct pi_info *pi; -+ int mn; -+{ -+ if(feof(pi->fp)) -+ SetISTR(ISTR_WARNING, "%s (end of file)", pi_msgs[mn]); -+ else -+ SetISTR(ISTR_WARNING, "%s (%s)", pi_msgs[mn], ERRSTR(errno)); -+} -+ -+static void pi_show_pi_info(pi) -+ struct pi_info *pi; -+{ -+ fprintf(stderr, " file size: %ld.\n", pi->fsize); -+ fprintf(stderr, " mode: 0x%02x.\n", pi->mode); -+ fprintf(stderr, " image size: %dx%d.\n", pi->width, pi->height); -+ fprintf(stderr, " aspect: %f.\n", pi->aspect); -+ fprintf(stderr, " number of color bits: %d.\n", pi->cbits); -+ fprintf(stderr, " number of colors: %d.\n", pi->numcols); -+ fprintf(stderr, " using default colormap: %s.\n", -+ pi->defcmap ? "true" : "false"); -+ fprintf(stderr, " writing greyscale image: %s.\n", -+ pi->writing_grey ? "true" : "false"); -+} -+ -+/* -+ * Memory related routines. If failed, they calls pi_memory_error. -+ */ -+static void *pi_malloc(n, fn) -+ size_t n; -+ char *fn; -+{ -+ void *r = (void *) malloc(n); -+ if(r == NULL) -+ pi_memory_error("malloc", fn); -+ return r; -+} -+ -+static void *pi_realloc(p, n, fn) -+ void *p; -+ size_t n; -+ char *fn; -+{ -+ void *r = (p == NULL) ? (void *) malloc(n) : (void *) realloc(p, n); -+ if(r == NULL) -+ pi_memory_error("realloc", fn); -+ return r; -+} -+#endif /* HAVE_PI */ -diff -u -r --new-file xv-3.10a.orig/xvpic.c xv-3.10a/xvpic.c ---- xv-3.10a.orig/xvpic.c 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/xvpic.c 2005-04-18 00:57:08.000000000 -0500 -@@ -0,0 +1,1285 @@ -+/* -+ * xvpic.c - load routine for `PIC' format pictures. -+ * -+ * The `PIC' format is used by many Japanese personal computer users. -+ */ -+ -+#include "xv.h" -+#include -+ -+#ifdef HAVE_PIC -+ -+typedef unsigned short data16; -+typedef unsigned int data32; -+ -+struct pic_info { -+ jmp_buf jmp; -+ FILE *fp; -+ struct { -+ int rest; -+ byte cur; -+ }bs; -+ long fsize; -+ int type, mode; -+ int width, height; -+ float aspect; -+ int cbits; -+ int cmapped; -+ byte *cmap; -+ int cached; -+ struct cache_t { -+ int newest; -+ struct cachenode_t { -+ data32 dat; -+ int newer, older; -+ } *node; -+ } cache; -+ int g_bits, r_bits, b_bits, i_bits; -+ int inv_gr; -+ int tiled256; -+ int numcols; -+ int writing_grey; -+ data32 *data; -+}; -+ -+static void pic_open_file PARM((struct pic_info*,char*)); -+static void pic_check_id PARM((struct pic_info*)); -+static void pic_read_comment PARM((struct pic_info*, char**)); -+static void pic_read_header PARM((struct pic_info*)); -+static void pic_expand_data PARM((struct pic_info*)); -+static int pic_expanding_read_len PARM((struct pic_info*)); -+static data32 pic_expanding_read_color PARM((struct pic_info*)); -+static void pic_expanding_read_chain -+ PARM((struct pic_info*, int, int, data32)); -+static void pic_make_xvpic -+ PARM((struct pic_info*, byte**, byte*, byte*, byte*)); -+ -+static void pic_write_id PARM((struct pic_info*)); -+static void pic_write_comment PARM((struct pic_info*, char*)); -+static void pic_write_header PARM((struct pic_info*)); -+static void pic_write_palette -+ PARM((struct pic_info*, byte*, byte*, byte*)); -+static void pic_make_sparse_data PARM((struct pic_info*, byte*)); -+static void pic_write_data PARM((struct pic_info*)); -+static void pic_write_length PARM((struct pic_info*, data32)); -+static void pic_write_color PARM((struct pic_info*, data32)); -+static void pic_write_chain -+ PARM((struct pic_info*, int, int, data32)); -+ -+static data32 pic_read_rgb PARM((struct pic_info*)); -+static data32 pic_read_color_code PARM((struct pic_info*)); -+static void pic_write_rgb PARM((struct pic_info*, data32)); -+static void pic_write_color_code PARM((struct pic_info*, data32)); -+ -+static void pic_cache_init PARM((struct pic_info*)); -+static data32 pic_cache_get_value PARM((struct pic_info*, int)); -+static void pic_cache_add_value PARM((struct pic_info*, data32)); -+static int pic_cache_lookup PARM((struct pic_info*, data32)); -+ -+static data32 pic_read_bits PARM((struct pic_info*, int)); -+static void pic_write_bits PARM((struct pic_info*, data32, int)); -+static byte pic_pad_bit PARM((int, data32)); -+ -+static void pic_init_info PARM((struct pic_info*)); -+static void pic_cleanup_pic_info PARM((struct pic_info*, int)); -+static void pic_cleanup_pinfo PARM((PICINFO*)); -+static void pic_memory_error PARM((char*, char*)); -+static void pic_error PARM((struct pic_info*, int)); -+static void pic_file_error PARM((struct pic_info*, int)); -+static void pic_file_warning PARM((struct pic_info*, int)); -+static void pic_show_pic_info PARM((struct pic_info*)); -+static void *pic_malloc PARM((size_t, char*)); -+static void *pic_realloc PARM((void*, size_t, char*)); -+ -+ -+static char *pic_id = "PIC"; -+ -+/* Error Messages */ -+static char *pic_msgs[] = { -+ NULL, -+#define PIC_OPEN 1 -+ "can't open file.", -+#define PIC_CORRUPT 2 -+ "file corrupted.", -+#define PIC_FORMAT 3 -+ "not PIC format.", -+#define PIC_SUPPORT 4 -+ "unsupported type.", -+#define PIC_COMMENT 5 -+ "can't read comment.", -+#define PIC_TYPE 6 -+ "bad machine type.", -+#define PIC_MODE 7 -+ "bad machine-dependent mode.", -+#define PIC_NUM_COLORS 8 -+ "bad number of colors.", -+#define PIC_SIZE 9 -+ "bad size.", -+#define PIC_ASPECT 10 -+ "bad aspect.", -+#define PIC_WRITE 11 -+ "write failed.", -+}; -+ -+#define H4(b) (((b) >> 4) & 0x0f) -+#define L4(b) ( (b) & 0x0f) -+ -+ -+/* The main routine to load a PIC file. */ -+int LoadPIC(fname, pinfo) -+ char *fname; -+ PICINFO *pinfo; -+{ -+ int e; -+ struct pic_info pic; -+ char buf[128]; -+ -+ if(DEBUG) fputs("LoadPIC:\n", stderr); -+ -+ pic_init_info(&pic); -+ -+ pinfo->comment = NULL; -+ if((e = setjmp(pic.jmp)) != 0){ -+ /* When an error occurs, comes here. */ -+ pic_cleanup_pic_info(&pic, 0); -+ pic_cleanup_pinfo(pinfo); -+ if(DEBUG) fputs("\n", stderr); -+ return 0; -+ } -+ -+ pic_open_file(&pic, fname); -+ pic_check_id(&pic); -+ pic_read_comment(&pic, &pinfo->comment); -+ pic_read_header(&pic); -+ pic_expand_data(&pic); -+ pic_make_xvpic(&pic, &pinfo->pic, pinfo->r, pinfo->g, pinfo->b); -+ -+ pinfo->w = pic.width; -+ if(pic.tiled256) -+ pinfo->h = pic.height * 2; -+ else -+ pinfo->h = pic.height; -+ pinfo->normw = pinfo->w; -+ pinfo->normh = pinfo->h; -+ pinfo->type = pic.cmapped ? PIC8 : PIC24; -+ pinfo->frmType = F_PIC; -+ pinfo->colType = F_FULLCOLOR; -+ strcpy(pinfo->fullInfo, "PIC"); -+ switch(pic.type){ -+ case 0x0: -+ strcat(pinfo->fullInfo, ", X68k"); -+ break; -+ case 0x1: -+ strcat(pinfo->fullInfo, ", PC-88VA"); -+ if(pic.mode & 1) -+ strcat(pinfo->fullInfo, ", HR"); -+ if(pic.mode & 2) -+ strcat(pinfo->fullInfo, ", tiled 256"); -+ break; -+ case 0x2: -+ strcat(pinfo->fullInfo, ", FM-TOWNS"); -+ if(pic.mode == 0x5){ -+ strcat(pinfo->fullInfo, ", low-resolution"); -+ }else{ -+ strcat(pinfo->fullInfo, ", high-resolution"); -+ } -+ break; -+ case 0x3: -+ strcat(pinfo->fullInfo, ", Macintosh"); -+ break; -+ case 0xf: -+ ; -+ } -+ sprintf(buf, " (%ld bytes)", pic.fsize); -+ strcat(pinfo->fullInfo, buf); -+ sprintf(pinfo->shrtInfo, "%dx%d(aspect %4.2f) PIC.", -+ pinfo->w, pinfo->h, pic.aspect); -+ if (!nopicadjust) -+ normaspect = pic.aspect; -+ -+ pic_cleanup_pic_info(&pic, 0); -+ if(DEBUG) fputs("\n", stderr); -+ return 1; -+} -+ -+static void pic_open_file(pi, fname) -+ struct pic_info *pi; -+ char *fname; -+{ -+ if((pi->fp = fopen(fname, "rb")) == NULL) -+ pic_file_error(pi, PIC_OPEN); -+ fseek(pi->fp, (size_t) 0, SEEK_END); -+ pi->fsize = ftell(pi->fp); -+ fseek(pi->fp, (size_t) 0, SEEK_SET); -+} -+ -+static void pic_check_id(pi) -+ struct pic_info *pi; -+{ -+ char buf[3]; -+ if(fread(buf, (size_t) 3, (size_t) 1, pi->fp) != 1) -+ pic_file_error(pi, PIC_CORRUPT); -+ if(strncmp(buf, pic_id, (size_t) 3) != 0) -+ pic_error(pi, PIC_FORMAT); -+} -+ -+static void pic_read_comment(pi, comm) -+ struct pic_info *pi; -+ char **comm; -+{ -+ /* The comment field is like: -+ * comment-string ^Z dummy \0 \0 -+ */ -+ int max = -1, i = 0; -+ int c; -+ -+ while(1){ -+ if((c = fgetc(pi->fp)) == EOF) -+ pic_file_error(pi, PIC_CORRUPT); -+ if(c == '\032') /* 0x1a, '^Z' */ -+ break; -+ if(max < i){ -+ max += 32; -+ *comm = pic_realloc(*comm, (size_t) max + 1, "pic_read_comment#1"); -+ } -+ (*comm)[i++] = c; -+ } -+ -+ if(max < i){ -+ max++; -+ *comm = pic_realloc(*comm, (size_t) max + 1, "pic_read_comment#2"); -+ } -+ (*comm)[i] = '\0'; -+ -+ while((c = fgetc(pi->fp)) != '\0'){ /* skip the dummy area */ -+ if(c == EOF) -+ pic_file_error(pi, PIC_CORRUPT); -+ } -+ -+ if(fgetc(pi->fp) != '\0') /* check the reserved byte */ -+ pic_error(pi, PIC_SUPPORT); -+} -+ -+static void pic_read_header(pi) -+ struct pic_info *pi; -+{ -+ pi->mode = pic_read_bits(pi, 4); -+ pi->type = pic_read_bits(pi, 4); -+ pi->cbits = pic_read_bits(pi, 16); -+ pi->width = pic_read_bits(pi, 16); -+ pi->height = pic_read_bits(pi, 16); -+ -+ /* machine-dependent setup. */ -+ switch(pi->type){ -+ case 0x0: /* X68K */ -+ if(pi->mode != 0) -+ pic_error(pi, PIC_MODE); -+ switch(pi->cbits){ -+ case 4: -+ pi->aspect = 1.0; -+ pi->g_bits = pi->r_bits = pi->b_bits = 5; -+ pi->i_bits = 1; -+ pi->cmapped = 1; -+ break; -+ -+ case 8: -+ pi->aspect = 4.0 / 3.0; -+ pi->g_bits = pi->r_bits = pi->b_bits = 5; -+ pi->i_bits = 1; -+ pi->cmapped = 1; -+ break; -+ -+ case 15: -+ pi->aspect = 4.0 / 3.0; -+ pi->g_bits = pi->r_bits = pi->b_bits = 5; -+ pi->cached = 1; -+ break; -+ -+ case 16: -+ pi->aspect = 4.0 / 3.0; -+ pi->g_bits = pi->r_bits = pi->b_bits = 5; -+ pi->i_bits = 1; -+ pi->cached = 1; -+ break; -+ -+ default: -+ pic_error(pi, PIC_NUM_COLORS); -+ } -+ break; -+ -+ case 0x1: /* PC-88VA */ -+ if(pi->height > 1000) -+ pic_error(pi, PIC_SIZE); -+ switch(pi->width * 1000 + pi->height){ -+ case 640400: -+ case 640204: -+ case 640200: -+ case 320408: -+ case 320400: -+ case 320200: -+ break; -+ default: -+ pic_error(pi, PIC_SIZE); -+ } -+ pi->aspect = 400.0 / pi->height; -+ pi->aspect *= pi->width / 640.0; -+ if(pi->mode & 0x1) /* HR mode */ -+ pi->aspect *= 2.0; -+ if(pi->mode & 0x2){ /* tiled 256 format */ -+ if(pi->cbits != 16) -+ pic_error(pi, PIC_NUM_COLORS); -+ pi->tiled256 = 1; -+ } -+ switch(pi->cbits){ -+ case 8: -+ pi->g_bits = pi->r_bits = 3; -+ pi->b_bits = 2; -+ break; -+ -+ case 12: -+ pi->g_bits = pi->r_bits = pi->b_bits = 4; -+ pi->cached = 1; -+ break; -+ -+ case 16: -+ pi->g_bits = 6; -+ pi->r_bits = pi->b_bits = 5; -+ pi->cached = 1; -+ break; -+ -+ default: -+ pic_error(pi, PIC_NUM_COLORS); -+ } -+ break; -+ -+ case 0x2: /* FM-TOWNS */ -+ if(pi->cbits != 15) -+ pic_error(pi, PIC_NUM_COLORS); -+ switch(pi->mode){ -+ case 0x5: -+ case 0xc: -+ break; -+ default: -+ pic_error(pi, PIC_MODE); -+ } -+ pi->g_bits = pi->r_bits = pi->b_bits = 5; -+ pi->cached = 1; -+ break; -+ -+ case 0x3: /* MAC */ -+ if(pi->cbits != 15) -+ pic_error(pi, PIC_NUM_COLORS); -+ pi->r_bits = pi->g_bits = pi->b_bits = 5; -+ pi->inv_gr = 1; -+ break; -+ -+ case 0xf: /* misc */ -+ { -+ byte ah, al; -+ -+ switch(pi->mode){ -+ case 0x0: -+ break; -+ case 0x1: -+ pi->aspect = 4.0 / 3.0; -+ break; -+ case 0xf: -+ break; -+ default: -+ pic_error(pi, PIC_MODE); -+ } -+ pic_read_bits(pi, 16); /* x */ -+ pic_read_bits(pi, 16); /* y */ -+ ah = pic_read_bits(pi, 8); -+ al = pic_read_bits(pi, 8); -+ if(ah > 0 && al > 0) -+ pi->aspect = (float) al / (int) ah; -+ else if(pi->mode == 0xf) -+ pic_error(pi, PIC_ASPECT); -+ switch(pi->cbits){ -+ case 4: -+ case 8: -+ pi->g_bits = pi->r_bits = pi->b_bits = pic_read_bits(pi, 8); -+ pi->cmapped = 1; -+ break; -+ -+ case 12: -+ pi->g_bits = pi->r_bits = pi->b_bits = 4; -+ pi->cached = 1; -+ break; -+ -+ case 15: -+ pi->g_bits = pi->r_bits = pi->b_bits = 5; -+ pi->cached = 1; -+ break; -+ -+ case 16: -+ pi->g_bits = pi->r_bits = pi->b_bits = 5; -+ pi->i_bits = 1; -+ pi->cached = 1; -+ break; -+ -+ case 24: -+ pi->g_bits = pi->r_bits = pi->b_bits = 8; -+ pi->cached = 1; -+ break; -+ -+ case 32: -+ pic_error(pi, PIC_SUPPORT); -+ break; -+ -+ default: -+ pic_error(pi, PIC_NUM_COLORS); -+ } -+ } -+ break; -+ -+ default: -+ pic_error(pi, PIC_TYPE); -+ } -+ -+ pi->numcols = 1 << pi->cbits; -+ -+ /* read palette data */ -+ if(pi->cmapped){ -+ int i; -+ pi->cmap = pic_malloc((size_t) 3 * pi->numcols, "pic_read_header#1"); -+ for(i = 0; i < pi->numcols; i++){ -+ data32 c = pic_read_rgb(pi); -+ pi->cmap[i * 3 ] = c >> 16 & 0xff; -+ pi->cmap[i * 3 + 1] = c >> 8 & 0xff; -+ pi->cmap[i * 3 + 2] = c & 0xff; -+ } -+ } -+ -+ /* setup color code cache */ -+ if(pi->cached) -+ pic_cache_init(pi); -+ -+ -+ pi->data = pic_malloc(sizeof(data32) * pi->width * pi->height, // GRR POSSIBLE OVERFLOW / FIXME -+ "pic_read_header#2"); -+ { -+ int i; -+ for(i = 0; i < pi->width * pi->height; i++) -+ pi->data[i] = 0xffffffff; -+ } -+ -+ if(DEBUG) -+ pic_show_pic_info(pi); -+} -+ -+/* The main routine to expand a PIC file. */ -+static void pic_expand_data(pi) -+ struct pic_info *pi; -+{ -+ int cnt; -+ data32 c; -+ pi->data[0] = c = 0; -+ for(cnt = -1; cnt < pi->width * pi->height; ){ -+ int len = pic_expanding_read_len(pi); -+ cnt += len; -+ if(cnt < pi->width * pi->height){ -+ int x = cnt % pi->width; -+ int y = cnt / pi->width; -+ data32 c = pic_expanding_read_color(pi); -+ pic_expanding_read_chain(pi, x, y, c); -+ } -+ } -+} -+ -+static int pic_expanding_read_len(pi) -+ struct pic_info *pi; -+{ -+ int len; -+ byte bits; -+ for(len = 2, bits = 1; pic_read_bits(pi, 1) == 1; bits++) -+ len <<= 1; -+ return len - 1 + pic_read_bits(pi, bits); -+} -+ -+static data32 pic_expanding_read_color(pi) -+ struct pic_info *pi; -+{ -+ if(pi->cached){ -+ byte b = pic_read_bits(pi, 1); -+ if(b){ -+ return pic_cache_get_value(pi, (int) pic_read_bits(pi, 7)); -+ }else{ -+ data32 c = pic_read_color_code(pi); -+ pic_cache_add_value(pi, c); -+ return c; -+ } -+ } -+ return pic_read_color_code(pi); -+} -+ -+static void pic_expanding_read_chain(pi, x, y, c) -+ struct pic_info *pi; -+ int x, y; -+ data32 c; -+{ -+ pi->data[y * pi->width + x] = c; -+ if(pic_read_bits(pi, 1) == 1){ -+ int fin = 0; -+ while(!fin){ -+ switch(pic_read_bits(pi, 2)){ -+ case 1: /* left */ -+ pi->data[(++y) * pi->width + (--x)] = c; -+ break; -+ case 2: /* middle */ -+ pi->data[(++y) * pi->width + x ] = c; -+ break; -+ case 3: /* right */ -+ pi->data[(++y) * pi->width + (++x)] = c; -+ break; -+ case 0: /* far or nothing */ -+ if(pic_read_bits(pi, 1) == 0) -+ fin = 1; -+ else{ -+ if(pic_read_bits(pi, 1) == 0) -+ pi->data[(++y) * pi->width + (x -= 2)] = c; -+ else -+ pi->data[(++y) * pi->width + (x += 2)] = c; -+ } -+ } -+ } -+ } -+} -+ -+/* -+ * Make a picture from the expanded data. -+ */ -+static void pic_make_xvpic(pi, xp, rp, gp, bp) -+ struct pic_info *pi; -+ byte **xp, *rp, *gp, *bp; -+{ -+ if(pi->cmapped){ -+ if(pi->tiled256) -+ *xp = pic_malloc((size_t) pi->width * pi->height * 2, // GRR POSSIBLE OVERFLOW / FIXME -+ "pic_make_xvpic#1"); -+ else -+ *xp = pic_malloc((size_t) pi->width * pi->height, // GRR POSSIBLE OVERFLOW / FIXME -+ "pic_make_xvpic#2"); -+ }else -+ *xp = pic_malloc((size_t) pi->width * pi->height * 3, // GRR POSSIBLE OVERFLOW / FIXME -+ "pic_make_xvpic#3"); -+ -+ if(pi->cmapped){ -+ int i; -+ -+ for(i = 0; i < pi->numcols; i++){ -+ rp[i] = pi->cmap[i * 3 ]; -+ gp[i] = pi->cmap[i * 3 + 1]; -+ bp[i] = pi->cmap[i * 3 + 2]; -+ } -+ -+ if(pi->tiled256){ -+ int pic_idx = 0, dat_idx; -+ data16 col = 0; -+ for(dat_idx = 0; dat_idx < pi->width * pi->height; dat_idx++){ -+ if(pi->data[dat_idx] != 0xffffffff) -+ col = pi->data[dat_idx]; -+ (*xp)[pic_idx++] = col & 0xff; -+ (*xp)[pic_idx++] = col >> 8 & 0xff; -+ dat_idx++; -+ } -+ }else{ -+ int pic_idx = 0, dat_idx; -+ byte col = 0; -+ for(dat_idx = 0; dat_idx < pi->width * pi->height; dat_idx++){ -+ if(pi->data[dat_idx] != 0xffffffff) -+ col = pi->data[dat_idx]; -+ (*xp)[pic_idx++] = col; -+ } -+ } -+ }else{ -+ int pic_idx = 0, dat_idx; -+ byte r = 0, g = 0, b = 0; -+ for(dat_idx = 0; dat_idx < pi->width * pi->height; dat_idx++){ -+ if(pi->data[dat_idx] != 0xffffffff){ -+ data32 col = pi->data[dat_idx]; -+ r = col >> 16 & 0xff; -+ g = col >> 8 & 0xff; -+ b = col & 0xff; -+ } -+ (*xp)[pic_idx++] = r; -+ (*xp)[pic_idx++] = g; -+ (*xp)[pic_idx++] = b; -+ } -+ } -+} -+ -+ -+/* The main routine to write PIC file. */ -+int WritePIC(fp, pic0, ptype, w, h, rmap, gmap, bmap, numcols, colorstyle, -+ comment) -+ FILE *fp; -+ byte *pic0; -+ int ptype, w, h; -+ byte *rmap, *gmap, *bmap; -+ int numcols, colorstyle; -+ char *comment; -+{ -+ struct pic_info pic; -+ int e; -+ -+ if(DEBUG) fputs("WritePIC:\n", stderr); -+ -+ pic_init_info(&pic); -+ pic.fp = fp; -+ pic.width = w; -+ pic.height = h; -+ pic.writing_grey = (colorstyle == F_GREYSCALE); -+ if(ptype != PIC24){ /* PIC8 */ -+ pic.cmapped = 1; -+ pic.cached = 0; -+ pic.cbits = 8; -+ pic.g_bits = -+ pic.r_bits = -+ pic.b_bits = 8; -+ pic.i_bits = 0; -+ pic.numcols = numcols; -+ }else{ /* PIC24 */ -+ pic.cmapped = 0; -+ pic.cached = 1; -+ pic.cbits = 24; -+ pic.g_bits = -+ pic.r_bits = -+ pic.b_bits = 8; -+ pic.i_bits = 0; -+ pic.numcols = 1 << 24; -+ pic_cache_init(&pic); -+ } -+ -+ if((e = setjmp(pic.jmp)) != 0){ -+ /* When an error occurs while writing, comes here. */ -+ pic_cleanup_pic_info(&pic, 1); -+ if(DEBUG) fputs("\n", stderr); -+ return -1; -+ } -+ -+ pic_write_id(&pic); -+ pic_write_comment(&pic, comment); -+ pic_write_header(&pic); -+ if(pic.cmapped) -+ pic_write_palette(&pic, rmap, gmap, bmap); -+ pic_make_sparse_data(&pic, pic0); -+ pic_write_data(&pic); -+ pic_write_bits(&pic, 0, 8); -+ -+ pic_cleanup_pic_info(&pic, 1); -+ if(DEBUG) fputs("\n", stderr); -+ return 0; -+} -+ -+static void pic_write_id(pi) -+ struct pic_info *pi; -+{ -+ if(fwrite("PIC", (size_t) 3, (size_t) 1, pi->fp) != 1) -+ pic_file_error(pi, PIC_WRITE); -+} -+ -+static void pic_write_comment(pi, comm) -+ struct pic_info *pi; -+ char *comm; -+{ -+ if(comm){ -+ while(*comm){ -+ int c = *comm; -+ if(c == '\032') -+ c = ' '; -+ if(fputc(*comm, pi->fp) == EOF) -+ pic_file_error(pi, PIC_WRITE); -+ comm++; -+ } -+ } -+ /* write ^Z, 0, and reserved. */ -+ if(fwrite("\032\0\0", (size_t)3, (size_t) 1, pi->fp) != 1) -+ pic_file_error(pi, PIC_WRITE); -+} -+ -+static void pic_write_header(pi) -+ struct pic_info *pi; -+{ -+ if(DEBUG) pic_show_pic_info(pi); -+ pic_write_bits(pi, (data32) 0, 4); /* mode: 1:1 */ -+ pic_write_bits(pi, (data32) 0xf, 4); /* type: misc */ -+ pic_write_bits(pi, (data32) pi->cbits, 16); /* bits */ -+ pic_write_bits(pi, (data32) pi->width, 16); /* width */ -+ pic_write_bits(pi, (data32) pi->height, 16); /* height */ -+ pic_write_bits(pi, (data32) 0xffff, 16); /* x: unused */ -+ pic_write_bits(pi, (data32) 0xffff, 16); /* y: unused */ -+ pic_write_bits(pi, (data32) 0x0101, 16); /* real aspect */ -+} -+ -+static void pic_write_palette(pi, r, g, b) -+ struct pic_info *pi; -+ byte *r, *g, *b; -+{ -+ int i; -+ data32 rgb = 0; -+ pic_write_bits(pi, (data32) pi->g_bits, 8); -+ for(i = 0; i < pi->numcols; i++){ -+ rgb = (data32) *r++ << 16 | (data32) *g++ << 8 | (data32) *b++; -+ pic_write_rgb(pi, rgb); -+ } -+ for( ; i < 256; i++) -+ pic_write_rgb(pi, rgb); -+} -+ -+static void pic_make_sparse_data(pi, dat) -+ struct pic_info *pi; -+ byte *dat; -+{ -+ int i; -+ data32 c; -+ -+ pi->data = pic_malloc(sizeof(data32) * pi->width * pi->height, // GRR POSSIBLE OVERFLOW / FIXME -+ "pic_make_sparse_data"); -+ -+ if(pi->cmapped){ -+ c = 0; -+ for(i = 0; i < pi->width * pi->height; i++){ -+ if(c != dat[i]) -+ c = pi->data[i] = dat[i]; -+ else -+ pi->data[i] = 0xffffffff; -+ } -+ }else{ -+ int j = 0; -+ c = 0; -+ for(i = 0; i < pi->width * pi->height; i++){ -+ data32 r, g, b, t; -+ r = dat[j++]; -+ g = dat[j++]; -+ b = dat[j++]; -+ t = r << 16 | g << 8 | b; -+ if(c != t) -+ c = pi->data[i] = t; -+ else -+ pi->data[i] = 0xffffffff; -+ } -+ } -+} -+ -+static void pic_write_data(pi) -+ struct pic_info *pi; -+{ -+ int i; -+ int max = pi->width * pi->height; -+ data32 c = 0; -+ -+ i = -1; -+ while(i < max){ -+ int j; -+ for(j = i + 1; j < max; j++){ -+ if(pi->data[j] != 0xffffffff) -+ break; -+ } -+ pic_write_length(pi, (data32) j - i); -+ i = j; -+ if(i < max){ -+ pic_write_color(pi, c = pi->data[i]); -+ pic_write_chain(pi, i % pi->width, i / pi->width, c); -+ } -+ } -+} -+ -+static void pic_write_length(pi, len) -+ struct pic_info *pi; -+ data32 len; -+{ -+ int bits = 0; /* leading 1's */ -+ int max = 2; -+ -+ while(len > max){ -+ max = (max + 1) * 2; -+ bits++; -+ } -+ pic_write_bits(pi, 0xffffffff, bits); -+ pic_write_bits(pi, 0, 1); -+ pic_write_bits(pi, len - max / 2, bits + 1); -+} -+ -+static void pic_write_color(pi, c) -+ struct pic_info *pi; -+ data32 c; -+{ -+ if(pi->cached){ -+ int idx = pic_cache_lookup(pi, c); -+ if(idx < 0){ /* not found */ -+ pic_write_bits(pi, 0, 1); -+ pic_write_color_code(pi, c); -+ pic_cache_add_value(pi, c); -+ }else{ /* found */ -+ pic_write_bits(pi, (data32) 0xffffffff, 1); -+ pic_write_bits(pi, (data32) idx, 7); -+ } -+ }else -+ pic_write_color_code(pi, c); -+} -+ -+static void pic_write_chain(pi, x, y, c) -+ struct pic_info *pi; -+ int x, y; -+ data32 c; -+{ -+ int ctr = (y + 1) * pi->width + x; -+ -+ if(y < pi->height - 1 && -+ ( pi->data[ctr ] == c || -+ (x > 0 && pi->data[ctr - 1] == c) || -+ (x < pi->width - 1 && pi->data[ctr + 1] == c) || -+ (x > 1 && pi->data[ctr - 2] == c) || -+ (x < pi->width - 2 && pi->data[ctr + 2] == c))){ -+ pic_write_bits(pi, 1, 1); -+ while(++y < pi->height){ -+ if(pi->data[ctr] == c){ /* center */ -+ pic_write_bits(pi, 2, 2); -+ pi->data[ctr] = 0xffffffff; -+ ctr += pi->width; -+ }else if(x > 0 && pi->data[ctr - 1] == c){ /* left */ -+ pic_write_bits(pi, 1, 2); -+ pi->data[ctr - 1] = 0xffffffff; -+ ctr += pi->width - 1; -+ }else if(x < pi->width - 1 && pi->data[ctr + 1] == c){/* right */ -+ pic_write_bits(pi, 3, 2); -+ pi->data[ctr + 1] = 0xffffffff; -+ ctr += pi->width + 1; -+ }else if(x > 1 && pi->data[ctr - 2] == c){ /* 2-left */ -+ pic_write_bits(pi, 2, 4); -+ pi->data[ctr - 2] = 0xffffffff; -+ ctr += pi->width - 2; -+ }else if(x < pi->width - 2 && pi->data[ctr + 2] == c){/* 2-right */ -+ pic_write_bits(pi, 3, 4); -+ pi->data[ctr + 2] = 0xffffffff; -+ ctr += pi->width + 2; -+ }else /* nothing */ -+ break; -+ } -+ pic_write_bits(pi, 0, 3); -+ }else -+ pic_write_bits(pi, 0, 1); -+} -+ -+ -+/* -+ * These 4 functions read or write a color. -+ * -+ * pic_read_rgb: -+ * reads an RGB. Each bit length is [rgb]_bits, but -+ * it is expanded to 8bits when returned. -+ * -+ * pic_read_color_code: -+ * reads a color code, whose length is cbits. -+ * It is the index to the colormap or RGB itself. -+ * -+ * pic_write_rgb: -+ * writes an RGB value. -+ * -+ * pic_write_color_code: -+ * writes a color code. -+ */ -+static data32 pic_read_rgb(pi) -+ struct pic_info *pi; -+{ -+ int rb = pi->r_bits, gb = pi->g_bits, bb = pi->b_bits; -+ byte r, g, b; -+ if(pi->inv_gr){ -+ r = pic_read_bits(pi, rb); -+ g = pic_read_bits(pi, gb); -+ }else{ -+ g = pic_read_bits(pi, gb); -+ r = pic_read_bits(pi, rb); -+ } -+ b = pic_read_bits(pi, bb); -+ if(pi->i_bits){ -+ byte i; -+ i = pic_read_bits(pi, pi->i_bits); -+ r = r << pi->i_bits | i; -+ g = g << pi->i_bits | i; -+ b = b << pi->i_bits | i; -+ rb += pi->i_bits; -+ gb += pi->i_bits; -+ bb += pi->i_bits; -+ } -+ r = pic_pad_bit(rb, r); -+ g = pic_pad_bit(gb, g); -+ b = pic_pad_bit(bb, b); -+ -+ return (data32) r << 16 | (data32) g << 8 | (data32) b; -+} -+ -+static data32 pic_read_color_code(pi) -+ struct pic_info *pi; -+{ -+ if(pi->cmapped) -+ return pic_read_bits(pi, pi->cbits); -+ return pic_read_rgb(pi); -+} -+ -+static void pic_write_rgb(pi, rgb) -+ struct pic_info *pi; -+ data32 rgb; -+{ -+ byte r = rgb >> 16; -+ byte g = rgb >> 8; -+ byte b = rgb; -+ if(pi->writing_grey) -+ r = g = b = MONO(r, g, b); -+ pic_write_bits(pi, g, pi->g_bits); -+ pic_write_bits(pi, r, pi->r_bits); -+ pic_write_bits(pi, b, pi->b_bits); -+} -+ -+static void pic_write_color_code(pi, code) -+ struct pic_info *pi; -+ data32 code; -+{ -+ if(pi->cmapped){ -+ pic_write_bits(pi, code, pi->cbits); -+ }else{ -+ pic_write_rgb(pi, code); -+ } -+} -+ -+ -+/* -+ * These pic_cache_* functions are an implementation of the color cache. -+ * -+ * pic_cache_init: -+ * initializes the cache. -+ * -+ * pic_cache_get_value: -+ * gets a color indexed by the argument `idx'. -+ * It updates the `most recently used' time. -+ * -+ * pic_cache_add_value: -+ * adds a color to the top of the cache list. -+ */ -+static void pic_cache_init(pi) -+ struct pic_info *pi; -+{ -+ int i; -+ pi->cache.node = pic_malloc(sizeof(struct cachenode_t) * 128, -+ "pic_cache_init"); -+ for(i = 0; i < 128; i++){ -+ pi->cache.node[i].newer = i + 1; -+ pi->cache.node[i].older = i - 1; -+ pi->cache.node[i].dat = 0; -+ } -+ pi->cache.node[ 0].older = 127; -+ pi->cache.node[127].newer = 0; -+ pi->cache.newest = 0; -+} -+ -+static data32 pic_cache_get_value(pi, idx) -+ struct pic_info *pi; -+ int idx; -+{ -+ struct cachenode_t *p = pi->cache.node; -+ int n = pi->cache.newest; -+ if(n != idx){ -+ p[p[idx].newer].older = p[idx].older; -+ p[p[idx].older].newer = p[idx].newer; -+ -+ p[p[n].newer].older = idx; -+ p[idx].newer = p[n].newer; -+ p[n].newer = idx; -+ p[idx].older = n; -+ -+ pi->cache.newest = idx; -+ } -+ return pi->cache.node[idx].dat; -+} -+ -+static void pic_cache_add_value(pi, dat) -+ struct pic_info *pi; -+ data32 dat; -+{ -+ pi->cache.newest = pi->cache.node[pi->cache.newest].newer; -+ pi->cache.node[pi->cache.newest].dat = dat; -+} -+ -+static int pic_cache_lookup(pi, dat) -+ struct pic_info *pi; -+ data32 dat; -+{ -+ int i; -+ for(i = 0; i < 128; i++){ -+ if(pi->cache.node[i].dat == dat){ -+ pic_cache_get_value(pi, i); -+ return i; -+ } -+ } -+ return -1; -+} -+ -+ -+/* -+ * These pic_{read,write}_bits functions access the bit stream. -+ * pic_read_bits: -+ * reads the specified bits from the file. -+ * -+ * pic_write_bits: -+ * writes the specified bits to the file. -+ */ -+static data32 pic_read_bits(pi, bits) -+ struct pic_info *pi; -+ int bits; -+{ -+ data32 r = 0; -+ -+ while(bits > 0){ -+ while(pi->bs.rest > 0 && bits > 0){ -+ r = (r << 1) | (pi->bs.cur & 0x80 ? 1 : 0); -+ pi->bs.cur <<= 1; -+ pi->bs.rest--; -+ bits--; -+ } -+ if(bits > 0){ -+ int c; -+ if((c = fgetc(pi->fp)) == EOF){ -+ pic_file_warning(pi, PIC_CORRUPT); -+ c = 0; -+ } -+ pi->bs.cur = c; -+ pi->bs.rest = 8; -+ } -+ } -+ -+ return r; -+} -+ -+static void pic_write_bits(pi, dat, bits) -+ struct pic_info *pi; -+ data32 dat; -+ int bits; -+{ -+ data32 dat_mask = 1 << (bits - 1); -+ while(bits > 0){ -+ while(pi->bs.rest < 8 && bits > 0){ -+ pi->bs.cur <<= 1; -+ if(dat & dat_mask) -+ pi->bs.cur |= 1; -+ pi->bs.rest++; -+ bits--; -+ dat_mask >>= 1; -+ } -+ if(pi->bs.rest >= 8){ -+ if(fputc((int)pi->bs.cur, pi->fp) == EOF) -+ pic_error(pi, PIC_WRITE); -+ pi->bs.cur = 0; -+ pi->bs.rest = 0; -+ } -+ } -+} -+ -+ -+/* -+ * This function extends sub-8-bit data to 8-bit data using bit-replication. -+ */ -+static byte pic_pad_bit(bits, dat) -+ int bits; -+ data32 dat; -+{ -+ switch(bits){ -+ case 1: -+ if(dat & 1) -+ dat = 0xff; -+ else -+ dat = 0; -+ break; -+ case 2: -+ dat = dat << 6 | dat << 4 | dat << 2 | dat; -+ break; -+ case 3: -+ dat = dat << 5 | dat << 2 | dat >> 1; -+ break; -+ case 4: -+ dat = dat << 4 | dat; -+ break; -+ case 5: -+ dat = dat << 3 | dat >> 2; -+ break; -+ case 6: -+ dat = dat << 2 | dat >> 4; -+ break; -+ case 7: -+ dat = dat << 1 | dat >> 6; -+ } -+ -+ return dat; -+} -+ -+/* -+ * These functions initialize or clean up structures. -+ * pic_init_info: -+ * initializes a pic_info structure. -+ * pic_cleanup_pic_info: -+ * cleans up a pic_info structure. -+ * pic_cleanup_pinfo: -+ * cleans up a PICINFO structure. -+ */ -+static void pic_init_info(pi) -+ struct pic_info *pi; -+{ -+ pi->fp = NULL; -+ pi->bs.rest = 0; -+ pi->bs.cur = '\0'; -+ pi->type = pi->mode = 0; -+ pi->width = pi->height = 0; -+ pi->aspect = 1.0; -+ pi->cbits = 0; -+ pi->cmapped = pi->cached = 0; -+ pi->cache.node = NULL; -+ pi->cmap = NULL; -+ pi->g_bits = pi->r_bits = pi->b_bits = pi->i_bits = 0; -+ pi->inv_gr = 0; -+ pi->tiled256 = 0; -+ pi->numcols = 0; -+ pi->writing_grey = 0; -+} -+ -+static void pic_cleanup_pic_info(pi, writing) -+ struct pic_info *pi; -+ int writing; -+{ -+ if(!writing && pi->fp) -+ fclose(pi->fp); -+ if(pi->cmap) -+ free(pi->cmap); -+ if(pi->cache.node) -+ free(pi->cache.node); -+ if(pi->data) -+ free(pi->data); -+ pi->fp = NULL; -+ pi->cmap = NULL; -+ pi->cache.node = NULL; -+ pi->data = NULL; -+} -+ -+static void pic_cleanup_pinfo(pinfo) -+ PICINFO *pinfo; -+{ -+ if(pinfo->pic){ -+ free(pinfo->pic); -+ pinfo->pic = NULL; -+ } -+ if(pinfo->comment){ -+ free(pinfo->comment); -+ pinfo->comment = NULL; -+ } -+} -+ -+/* -+ * Error Handlers. -+ * pic_memory_error: -+ * shows an error message and terminates. -+ * pic_error: -+ * shows a non-file error message and jumps to the entry for errors. -+ * pic_file_error: -+ * shows a file error message and jumps to the entry for errors. -+ * pic_file_warning: -+ * shows a file warning message. -+ */ -+static void pic_memory_error(scm, fn) -+ char *scm, *fn; -+{ -+ char buf[128]; -+ sprintf(buf, "%s: can't allocate memory. (%s)", scm, fn); -+ FatalError(buf); -+} -+ -+static void pic_error(pi, mn) -+ struct pic_info *pi; -+ int mn; -+{ -+ SetISTR(ISTR_WARNING, "%s", pic_msgs[mn]); -+ longjmp(pi->jmp, 1); -+} -+ -+static void pic_file_error(pi, mn) -+ struct pic_info *pi; -+ int mn; -+{ -+ if(feof(pi->fp)) -+ SetISTR(ISTR_WARNING, "%s (end of file)", pic_msgs[mn]); -+ else -+ SetISTR(ISTR_WARNING, "%s (%s)", pic_msgs[mn], ERRSTR(errno)); -+ longjmp(pi->jmp, 1); -+} -+ -+static void pic_file_warning(pi, mn) -+ struct pic_info *pi; -+ int mn; -+{ -+ if(feof(pi->fp)) -+ SetISTR(ISTR_WARNING, "%s (end of file)", pic_msgs[mn]); -+ else -+ SetISTR(ISTR_WARNING, "%s (%s)", pic_msgs[mn], ERRSTR(errno)); -+} -+ -+static void pic_show_pic_info(pi) -+ struct pic_info *pi; -+{ -+ fprintf(stderr, " file size: %ld.\n", pi->fsize); -+ -+ fputs(" machine: ", stderr); -+ switch(pi->type){ -+ case 0x0: -+ fputs("X68k", stderr); -+ break; -+ case 0x1: -+ fputs("PC-88VA", stderr); -+ if(pi->mode & 1) -+ fputs(",HR", stderr); -+ if(pi->mode & 2) -+ fputs(",tiled256", stderr); -+ break; -+ case 0x2: -+ fprintf(stderr, -+ "FM-TOWNS,%s-resolution", pi->mode == 5 ? "low" : "high"); -+ break; -+ case 0x3: -+ fputs("Macintosh", stderr); -+ break; -+ case 0xf: -+ fputs("misc", stderr); -+ } -+ fputs("\n", stderr); -+ -+ fprintf(stderr, " image size: %dx%d\n", pi->width, pi->height); -+ fprintf(stderr, " aspect: %f\n", pi->aspect); -+ fprintf(stderr, " cache: %s\n", pi->cached ? "on" : "off"); -+ fprintf(stderr, " colormap: %s\n", pi->cmapped ? "on" : "off"); -+ fprintf(stderr, " number of color bits: %d\n", pi->cbits); -+ fprintf(stderr, " number of RGB bits: R%d,G%d,B%d,I%d\n", -+ pi->r_bits, pi->g_bits, pi->b_bits, pi->i_bits); -+ fprintf(stderr, " inverted G&R: %s\n", pi->inv_gr ? "true" : "false"); -+ fprintf(stderr, " number of colors: %d\n", pi->numcols); -+} -+ -+/* Memory related routines. */ -+static void *pic_malloc(n, fn) -+ size_t n; -+ char *fn; -+{ -+ void *r = (void *) malloc(n); -+ if(r == NULL) -+ pic_memory_error("malloc", fn); -+ return r; -+} -+ -+static void *pic_realloc(p, n, fn) -+ void *p; -+ size_t n; -+ char *fn; -+{ -+ void *r = (p == NULL) ? (void *) malloc(n) : (void *) realloc(p, n); -+ if(r == NULL) -+ pic_memory_error("realloc", fn); -+ return r; -+} -+#endif /* HAVE_PIC */ -diff -u -r --new-file xv-3.10a.orig/xvpic2.c xv-3.10a/xvpic2.c ---- xv-3.10a.orig/xvpic2.c 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/xvpic2.c 2007-04-15 17:02:32.000000000 -0500 -@@ -0,0 +1,3608 @@ -+/* -+ * $Id: xvpic2.c,v 2.9.1.14 1995/04/24 15:34:15 ikeyan Exp $ -+ * xvpic2.c - load and save routines for `PIC2' format pictures. -+ * -+ * -+ * Outline -+ * ======= -+ * xvpic2.c supports the PIC2 format image file. It is used some -+ * Japanese personal computer users. -+ * -+ * The PIC2 format is designed by A.Yanagisawa. It is an excellent -+ * format except for its encode/decode speed. ;-) -+ * -+ * The features of the PIC2 format: -+ * - Powerful header information (included author, filename, title, -+ * saver, product number, created date and comment). -+ * - Reversible compression, and very high compression ratio (in many -+ * cases, a higher compression ratio than the JPEG compression; -+ * because of its compression method, PIC2 is especially good at -+ * pictures like cell animation). -+ * - Can handle full-color (24 bits) image. -+ * - Can include multi image blocks into one PIC2 file. -+ * - Have four different block format (P2SS, P2SF, P2BM and -+ * P2BI). P2SS format uses arithmetic compression for storing -+ * data. P2SF uses normal run-length compression. P2BM and P2BI is -+ * raw image format. Select any one according to the situation. -+ * -+ * Explanation of the PIC2 compression: -+ -+ * - In the first place, try to record pixel color, uses color caches -+ * which keep some recent colors, and formed according to color's -+ * frequency. PIC2 has some color cache spaces that are switched by -+ * upper pixel value of current pixel. If cache is hit, record -+ * that. -+ * - Unfortunately, in the case of color cache didn't hit, record the -+ * difference from the value estimated with the value of upper and -+ * left pixel of current pixel (similar to PNG's AVG predictor). -+ * - And extract image's color chain if exist, and record that (it -+ * results in image's outline). -+ * - In all cases, arithmetic compression is used in the final stage -+ * before writing the file, which in theory produces the ideal -+ * compression ratio (P2SS). -+ * -+ * Features -+ * ======== -+ * - Support 3,6,9,12,15,18,21,24bit PIC2 format (Load/Save). -+ * - Support all image block formats of PIC2 (Load/Save). -+ * - Support multi block PIC2 file (Load/Save). -+ * -+ * -+ * Bugs -+ * ==== -+ * - Unsupport 8bit PIC2 image file. -+ * -+ * If you find other bugs (surely exist :-)), send me bug-report. -+ * -+ * -+ * Author -+ * ====== -+ * IKEMOTO Masahiro -+ */ -+ -+#define PIC2_IGNORE_UNUSED_FUNCTIONS -+#define NEEDSDIR -+ -+#include "xv.h" -+#include -+ -+#ifdef HAVE_PIC2 -+ -+typedef unsigned long pixel; -+ -+#define pic2_cextoshort(addr) ( \ -+ (((short) (((byte *) addr)[0])) << 8) | \ -+ ( (short) (((byte *) addr)[1])) \ -+) -+#define pic2_cextolong(addr) ( \ -+ (((long) (((byte *) addr)[0])) << 24) | \ -+ (((long) (((byte *) addr)[1])) << 16) | \ -+ (((long) (((byte *) addr)[2])) << 8) | \ -+ ( (long) (((byte *) addr)[3])) \ -+) -+#define pic2_shorttocex(addr, n) { \ -+ ((byte *) addr)[0] = (((unsigned short) (n) >> 8) & 0xff); \ -+ ((byte *) addr)[1] = ( (unsigned short) (n) & 0xff); \ -+} -+#define pic2_longtocex(addr, n) { \ -+ ((byte *) addr)[0] = (((unsigned long) (n) >> 24) & 0xff); \ -+ ((byte *) addr)[1] = (((unsigned long) (n) >> 16) & 0xff); \ -+ ((byte *) addr)[2] = (((unsigned long) (n) >> 8) & 0xff); \ -+ ((byte *) addr)[3] = ( (unsigned long) (n) & 0xff); \ -+} -+#define pic2_shift_bits(b, n) (((n) > 0) ? ((b) << (n)) : ((b) >> -(n))) -+ -+#define PIC2_READ_MODE 0 -+#define PIC2_WRITE_MODE 1 -+ -+#define PIC2_ARITH_CACHE 32 -+#define PIC2_ARITH_CONTEXT 128 -+#define PIC2_FAST_CACHE 64 -+ -+#define PIC2_HEADER_SIZE 124 -+#define PIC2_BLOCK_HEADER_SIZE 26 -+ -+struct pic2_header { -+ char magic[4]; -+ char name[18]; -+ char subtitle[8]; -+ char crlf0[2]; -+ char title[30]; -+ char crlf1[2]; -+ char saver[30]; -+ char crlf2[2]; -+ char eof[1]; -+ char reserve0[1]; -+ short flag; -+ short no; -+ long time; -+ long size; -+ short depth; -+ short x_aspect; -+ short y_aspect; -+ short x_max; -+ short y_max; -+ long reserve1; -+}; -+ -+struct pic2_block { -+ char id[4]; -+ long size; -+ short flag; -+ short x_wid; -+ short y_wid; -+ short x_offset; -+ short y_offset; -+ long opaque; -+ long reserve; -+}; -+ -+struct pic2_info { -+ jmp_buf jmp; -+ FILE *fp; -+ struct { -+ int rest; -+ byte cur; -+ int bits; -+ char zero; -+ }bs; -+ long fsize; -+ struct pic2_header *header; -+ struct pic2_block *block; -+ int n_pal; -+ int pal_bits; -+ byte pal[256][3]; -+ char *comment; -+ char mode; -+ long next_pos; -+ long block_pos; -+ short x_max; -+ short y_max; -+ int ynow; -+ byte *buf; -+ pixel *vram_prev; -+ pixel *vram_now; -+ pixel *vram_next; -+ short *flag_now; -+ short *flag_next; -+ short *flag2_now; -+ short *flag2_next; -+ short *flag2_next2; -+ pixel (*cache)[PIC2_ARITH_CACHE]; -+ unsigned short *cache_pos; -+ unsigned short *mulu_tab; -+ long aa; -+ long cc; -+ long dd; -+ char cache_hit_c; -+ int (*next_line) PARM((struct pic2_info *, pixel **)); -+ char writing_grey; -+ char pagebname[64]; -+ int pnum; -+}; -+ -+static void pic2_open_file PARM((struct pic2_info*,char*)); -+static void pic2_read_header PARM((struct pic2_info*)); -+static void pic2_read_block_header1 PARM((struct pic2_info*)); -+static void pic2_read_block_header2 PARM((struct pic2_info*)); -+static short pic2_arith_decode_bit PARM((struct pic2_info*,int)); -+static short pic2_arith_decode_nn PARM((struct pic2_info*,int)); -+static void pic2_arith_expand_chain PARM((struct pic2_info*,int,int,pixel)); -+static short pic2_arith_get_number PARM((struct pic2_info*,int,int)); -+static pixel pic2_arith_read_color PARM((struct pic2_info*,int)); -+static int pic2_arith_expand_line PARM((struct pic2_info*,pixel**)); -+static int pic2_arith_loader_init PARM((struct pic2_info*)); -+static int pic2_fast_read_length PARM((struct pic2_info*)); -+static void pic2_fast_expand_chain PARM((struct pic2_info*,int,pixel)); -+static pixel pic2_fast_read_color PARM((struct pic2_info*,pixel)); -+static int pic2_fast_expand_line PARM((struct pic2_info*,pixel**)); -+static int pic2_fast_loader_init PARM((struct pic2_info*)); -+static int pic2_beta_expand_line PARM((struct pic2_info*,pixel**)); -+static int pic2_beta_loader_init PARM((struct pic2_info*)); -+static void pic2_make_xvpic PARM((struct pic2_info*,byte**, -+ byte*,byte*,byte*)); -+static void pic2_make_pagefile PARM((struct pic2_info*,char*,int)); -+static void pic2_setup_pic2_info PARM((struct pic2_info*, -+ char*,char*,char*,char*, -+ int,int,int,int,int,int,char *)); -+static void pic2_append PARM((struct pic2_info*)); -+static void pic2_write_header1 PARM((struct pic2_info*)); -+static void pic2_write_header2 PARM((struct pic2_info*)); -+static void pic2_write_block_header PARM((struct pic2_info*)); -+static void pic2_arith_write_zero_bit PARM((struct pic2_info*)); -+static void pic2_arith_flush_bit_buf PARM((struct pic2_info*)); -+static void pic2_arith_carry_bit PARM((struct pic2_info*)); -+static void pic2_arith_encode_bit PARM((struct pic2_info*,int,int)); -+static void pic2_arith_encode_nbyte PARM((struct pic2_info*,int,int,int)); -+static void pic2_arith_encode_nn PARM((struct pic2_info*,int,int)); -+static void pic2_arith_press_chain PARM((struct pic2_info*,int)); -+static void pic2_arith_put_number PARM((struct pic2_info*,int,int,int)); -+static void pic2_arith_write_color PARM((struct pic2_info*,int)); -+static void pic2_arith_press_line2 PARM((struct pic2_info*)); -+static int pic2_arith_press_line PARM((struct pic2_info*,pixel**)); -+static int pic2_arith_saver_init PARM((struct pic2_info*,pixel**)); -+static void pic2_fast_write_length PARM((struct pic2_info*,int)); -+static void pic2_fast_press_chain PARM((struct pic2_info*,int)); -+static void pic2_fast_press_chain2 PARM((struct pic2_info*,int)); -+static void pic2_fast_flush_chain PARM((struct pic2_info*)); -+static void pic2_fast_write_color PARM((struct pic2_info*,int)); -+static void pic2_fast_press_line2 PARM((struct pic2_info*)); -+static int pic2_fast_press_line PARM((struct pic2_info*,pixel**)); -+static int pic2_fast_saver_init PARM((struct pic2_info*,pixel**)); -+static int pic2_beta_press_line PARM((struct pic2_info*,pixel**)); -+static int pic2_beta_saver_init PARM((struct pic2_info*,pixel**)); -+static void pic2_write_data PARM((struct pic2_info*,byte*, -+ int,int,int,int,int, -+ byte*,byte*,byte*,int,int)); -+static int pic2_next_line PARM((struct pic2_info*,pixel**)); -+static int pic2_next_block PARM((struct pic2_info*)); -+static int pic2_find_block PARM((struct pic2_info*)); -+static int pic2_load_block PARM((struct pic2_info*)); -+static int pic2_save_block PARM((struct pic2_info*,pixel**, -+ int,int,int,int,char*,pixel)); -+#ifndef PIC2_IGNORE_UNUSED_FUNCTIONS -+static void pic2_read_palette PARM((struct pic2_info*, -+ byte*,byte*,byte*)); -+static void pic2_write_palette PARM((struct pic2_info*,int,int, -+ byte*,byte*,byte*)); -+#endif /* !PIC2_IGNORE_UNUSED_FUNCTIONS */ -+static byte pic2_convert_color_bits PARM((int,int,int)); -+static byte pic2_pad_color_bits PARM((int,int,int)); -+static byte pic2_reduce_color_bits PARM((int,int,int)); -+static pixel pic2_exchange_rg PARM((pixel,int)); -+static void pic2_handle_para PARM((struct pic2_info*,int)); -+static int pic2_alloc_buffer PARM((struct pic2_info*)); -+static void pic2_free_buffer PARM((struct pic2_info*)); -+static long pic2_seek_file PARM((struct pic2_info*,long,int)); -+static long pic2_tell_file PARM((struct pic2_info*)); -+static int pic2_read_file PARM((struct pic2_info*,void*,size_t)); -+static long pic2_read_long PARM((struct pic2_info*)); -+static short pic2_read_short PARM((struct pic2_info*)); -+static char pic2_read_char PARM((struct pic2_info*)); -+static int pic2_write_file PARM((struct pic2_info*,void*,size_t)); -+static int pic2_write_long PARM((struct pic2_info*,long)); -+static int pic2_write_short PARM((struct pic2_info*,int)); -+static int pic2_write_char PARM((struct pic2_info*,int)); -+static unsigned long pic2_read_bits PARM((struct pic2_info*,int)); -+static void pic2_write_bits PARM((struct pic2_info*, -+ unsigned long,int)); -+static void pic2_flush_bits PARM((struct pic2_info*)); -+static void pic2_memory_error PARM((char*,char*)); -+static void pic2_error PARM((struct pic2_info*,int)); -+static void pic2_file_error PARM((struct pic2_info*,int)); -+static void pic2_init_info PARM((struct pic2_info*)); -+static void pic2_cleanup_pic2_info PARM((struct pic2_info*,int)); -+static void pic2_cleanup_pinfo PARM((PICINFO*)); -+static void pic2_show_pic2_info PARM((struct pic2_info*)); -+static char *pic2_strncpy PARM((char*,char*,size_t)); -+static void *pic2_malloc PARM((size_t,char*)); -+static void *pic2_new PARM((size_t,char*)); -+ -+static int WritePIC2 PARM((FILE*,byte*,int,int,int, -+ byte*,byte*,byte*,int,int,char*, -+ int,int,int,int,int,char*)); -+ -+static char *pic2_id = "P2DT"; -+ -+/* Error Messages */ -+static char *pic2_msgs[] = { -+ NULL, -+#define PIC2_OPEN 1 -+ "can't open file.", -+#define PIC2_CORRUPT 2 -+ "file corrupted.", -+#define PIC2_FORMAT 3 -+ "not PIC2 format.", -+#define PIC2_DEPTH 4 -+ "bit depths not divisible by 3 are unsupported.", -+#define PIC2_TMPFILE 5 -+ "unable to create temporary filename???", -+#define PIC2_PAGE 6 -+ "couldn't load the page.", -+#define PIC2_APPEND 7 -+ "cannot append.", -+#define PIC2_WRITE 8 -+ "write failed.", -+}; -+ -+struct _form_tab { -+ char *id; -+ int (*loader_init) PARM((struct pic2_info *)); -+ int (*saver_init) PARM((struct pic2_info *, pixel **)); -+} form_tab[] = { -+ { "P2SS", pic2_arith_loader_init, pic2_arith_saver_init}, -+ { "P2SF", pic2_fast_loader_init, pic2_fast_saver_init}, -+ { "P2BM", pic2_beta_loader_init, pic2_beta_saver_init}, -+ { "P2BI", pic2_beta_loader_init, pic2_beta_saver_init}, -+}; -+#define n_form_tab (sizeof(form_tab) / sizeof(struct _form_tab)) -+#define P2SS 0 -+#define P2SF 1 -+#define P2BM 2 -+#define P2BI 3 -+ -+/* The main routine to load a PIC2 file. */ -+int LoadPIC2(fname, pinfo, quick) -+char *fname; -+PICINFO *pinfo; -+int quick; -+{ -+ int e, i, block; -+ struct pic2_info pic2; -+ -+ if (DEBUG) -+ fputs("LoadPIC2:\n", stderr); -+ -+ pic2_init_info(&pic2); -+ -+ if ((e = setjmp(pic2.jmp)) != 0){ -+ /* When an error occurs, comes here. */ -+ pic2_free_buffer(&pic2); -+ pic2_cleanup_pic2_info(&pic2, 0); -+ pic2_cleanup_pinfo(pinfo); -+ if (pic2split) -+ KillPageFiles(pic2.pagebname, pic2.pnum); -+ SetCursors(-1); -+ if (DEBUG) -+ fputs("\n", stderr); -+ return (0); -+ } -+ pic2_open_file(&pic2, fname); -+ pic2_read_header(&pic2); -+ -+ if ((i = pic2_find_block(&pic2)) == 0) -+ pic2_file_error(&pic2, PIC2_CORRUPT); -+ -+ block = 1; -+ while(i == 2) { -+ SetISTR(ISTR_WARNING, "unknown or invalid block #%d.", block); -+ i = pic2_next_block(&pic2); -+ block++; -+ } -+ -+ if (pic2split && !quick) { -+ char firstpage[512]; -+ struct stat st; -+#ifndef USE_MKSTEMP -+ int tmpfd; -+#endif -+ -+#ifndef VMS -+ sprintf(pic2.pagebname, "%s/xvpic2XXXXXX", tmpdir); -+#else -+ sprintf(pic2.pagebname, "Sys$Scratch:xvpic2XXXXXX"); -+#endif -+#ifdef USE_MKSTEMP -+ close(mkstemp(pic2.pagebname)); -+#else -+ mktemp(pic2.pagebname); -+ tmpfd = open(pic2.pagebname, O_WRONLY|O_CREAT|O_EXCL, S_IRWUSR); -+ if (tmpfd < 0) FatalError("LoadPIC2(): can't create temporary file"); -+ close(tmpfd); -+#endif -+ if (pic2.pagebname[0] == '\0') -+ pic2_error(&pic2, PIC2_TMPFILE); -+ strcat(pic2.pagebname, "."); -+ -+ sprintf(firstpage, "%s%d", pic2.pagebname, 1); -+ if (stat(firstpage, &st)) { -+ for (pic2.pnum = 1; i >= 1; pic2.pnum++) { -+ pic2_load_block(&pic2); -+ pic2_make_pagefile(&pic2, pic2.pagebname, pic2.pnum); -+ while(block++, (i = pic2_next_block(&pic2)) == 2) -+ SetISTR(ISTR_WARNING, -+ "unknown or invalid block #%d.", block); -+ } -+ pinfo->numpages = --pic2.pnum; -+ if (!LoadPIC2(firstpage, pinfo, 1)) -+ pic2_error(&pic2, PIC2_PAGE); -+ if (pic2.pnum == 1) -+ unlink(firstpage); -+ else -+ strcpy(pinfo->pagebname, pic2.pagebname); -+ } else -+ if (!LoadPIC2(fname, pinfo, 1)) -+ pic2_error(&pic2, PIC2_PAGE); -+ } else { -+ char buf[128], format[64]; -+ int j; -+ -+ pinfo->w = pic2.x_max; -+ pinfo->h = pic2.y_max; -+ pinfo->normw = pinfo->w; -+ pinfo->normh = pinfo->h; -+ pinfo->type = PIC24; -+ for (j = 0; j < n_form_tab; j++) { -+ if (xvbcmp(pic2.block->id, form_tab[j].id, (size_t) 4) == 0) -+ break; -+ } -+ pinfo->frmType = F_PIC2; -+ pinfo->colType = F_FULLCOLOR; -+ pinfo->comment = pic2.comment; -+ -+ if (pic2split) { -+ pic2_make_xvpic(&pic2, &pinfo->pic, pinfo->r, pinfo->g, pinfo->b); -+ strcpy(format, form_tab[j].id); -+ } else { -+ for (pic2.pnum = 1; i >= 1; pic2.pnum++) { -+ SetISTR(ISTR_INFO, "composing block #%d", block); -+ pic2_make_xvpic(&pic2, &pinfo->pic, -+ pinfo->r, pinfo->g, pinfo->b); -+ while(block++, (i = pic2_next_block(&pic2)) == 2) -+ SetISTR(ISTR_WARNING, -+ "unknown or invalid block #%d.", block); -+ } -+ if (--block > 1) -+ if (block != --pic2.pnum) -+ sprintf(format, "MultiBlock[%d/%d]", block, pic2.pnum); -+ else -+ sprintf(format, "MultiBlock[%d]", block); -+ else -+ strcpy(format, form_tab[j].id); -+ } -+ sprintf(buf, "PIC2(%s). %d colors (%ld bytes)", format, -+ (int) 1 << pic2.header->depth, pic2.fsize); -+ strcat(pinfo->fullInfo, buf); -+ sprintf(pinfo->shrtInfo, "%dx%d(aspect %4.2f) PIC2(%s).", -+ pinfo->w, pinfo->h, -+ (float) pic2.header->x_aspect / (float) pic2.header->y_aspect, -+ format); -+ if (!nopicadjust) -+ normaspect = (float) pic2.header->x_aspect -+ / (float) pic2.header->y_aspect; -+ } -+ pic2_cleanup_pic2_info(&pic2, 0); -+ SetCursors(-1); -+ if (DEBUG) -+ fputs("\n", stderr); -+ return (1); -+} -+ -+/* -+ * This function opens the file, and set its size. -+ */ -+static void pic2_open_file(pi, fname) -+ struct pic2_info *pi; -+ char *fname; -+{ -+ if ((pi->fp = fopen(fname, "rb")) == NULL) -+ pic2_file_error(pi, PIC2_OPEN); -+ fseek(pi->fp, (size_t) 0, SEEK_END); -+ pi->fsize = ftell(pi->fp); -+ fseek(pi->fp, (size_t) 0, SEEK_SET); -+} -+ -+/* -+ * These functions read the PIC2 header informations. -+ * pic2_read_header: -+ * reads the PIC2 header. -+ * pic2_read_block_header1: -+ * reads the id number of block header and the size of block. -+ * pic2_read_block_header2: -+ * reads the rest of block header. -+ */ -+static void pic2_read_header(pi) -+struct pic2_info *pi; -+{ -+ long s_comment; -+ -+ pi->mode = PIC2_READ_MODE; -+ -+ /* read header image */ -+ pic2_read_file(pi, pi->header->magic, 4); -+ pic2_read_file(pi, pi->header->name, 18); -+ pic2_read_file(pi, pi->header->subtitle, 8); -+ pic2_read_file(pi, pi->header->crlf0, 2); -+ pic2_read_file(pi, pi->header->title, 30); -+ pic2_read_file(pi, pi->header->crlf1, 2); -+ pic2_read_file(pi, pi->header->saver, 30); -+ pic2_read_file(pi, pi->header->crlf2, 2); -+ pic2_read_file(pi, pi->header->eof, 1); -+ pic2_read_file(pi, pi->header->reserve0, 1); -+ pi->header->flag = pic2_read_short(pi); -+ pi->header->no = pic2_read_short(pi); -+ pi->header->time = pic2_read_long(pi); -+ pi->header->size = pic2_read_long(pi); -+ pi->header->depth = pic2_read_short(pi); -+ pi->header->x_aspect = pic2_read_short(pi); -+ pi->header->y_aspect = pic2_read_short(pi); -+ pi->header->x_max = pic2_read_short(pi); -+ pi->header->y_max = pic2_read_short(pi); -+ pi->header->reserve1 = pic2_read_long(pi); -+ -+ /* check magic number */ -+ if (strncmp(pi->header->magic, pic2_id, (size_t) 4) != 0) -+ pic2_error(pi, PIC2_FORMAT); -+ -+ /* read palette data, if exists */ -+ if (pi->header->flag & 1) { -+ pi->pal_bits = pic2_read_char(pi); -+ pi->n_pal = pic2_read_short(pi); -+ pic2_read_file(pi, pi->pal, (size_t) (pi->n_pal * 3)); -+ } -+ -+ /* read comments */ -+ s_comment = pi->header->size - pic2_tell_file(pi); -+ pi->comment = pic2_new(s_comment + 1, "pic2_read_header"); -+ pic2_read_file(pi, pi->comment, (size_t) s_comment); -+ pi->comment[s_comment] = '\0'; -+ -+ pi->x_max = pi->header->x_max; -+ pi->y_max = pi->header->y_max; -+ -+ /* set initial block point */ -+ pi->next_pos = pic2_tell_file(pi); -+} -+ -+static void pic2_read_block_header1(pi) -+struct pic2_info *pi; -+{ -+ pic2_read_file(pi, pi->block->id, 4); -+ pi->block->size = pic2_read_long(pi); -+} -+ -+static void pic2_read_block_header2(pi) -+struct pic2_info *pi; -+{ -+ pi->block->flag = pic2_read_short(pi); -+ pi->block->x_wid = pic2_read_short(pi); -+ pi->block->y_wid = pic2_read_short(pi); -+ pi->block->x_offset = pic2_read_short(pi); -+ pi->block->y_offset = pic2_read_short(pi); -+ pi->block->opaque = pic2_read_long(pi); -+ pi->block->reserve = pic2_read_long(pi); -+} -+ -+/* -+ * These functions are arithmetic pic2 format extractor. -+ */ -+static short pic2_arith_decode_bit(pi, c) -+struct pic2_info *pi; -+int c; -+{ -+ unsigned short pp; -+ -+ pp = pi->mulu_tab[(pi->aa & 0x7f00) / 2 + c]; -+ if (pi->dd >= (int) pp) { -+ pi->dd -= pp; -+ pi->aa -= pp; -+ -+ while ((short) pi->aa >= 0) { -+ pi->dd *= 2; -+ if (pic2_read_bits(pi, 1)) -+ pi->dd++; -+ pi->aa *= 2; -+ } -+ return (1); -+ } else { -+ pi->aa = pp; -+ -+ while ((short) pi->aa >= 0) { -+ pi->dd *= 2; -+ if (pic2_read_bits(pi, 1)) -+ pi->dd++; -+ pi->aa *= 2; -+ } -+ return (0); -+ } -+} -+ -+static short pic2_arith_decode_nn(pi, c) -+struct pic2_info *pi; -+int c; -+{ -+ int n; -+ -+ if (pic2_arith_decode_bit(pi, c)) { -+ /* n < 1 */ -+ n = 0; -+ } else if (pic2_arith_decode_bit(pi, c + 1)) { -+ /* n < 1 + 2 */ -+ n = 1; -+ if (pic2_arith_decode_bit(pi, c + 8)) -+ n += 1; -+ } else if (pic2_arith_decode_bit(pi, c + 2)) { -+ /* n < 1 + 2 + 4 */ -+ n = 1 + 2; -+ if (pic2_arith_decode_bit(pi, c + 8)) -+ n += 1; -+ if (pic2_arith_decode_bit(pi, c + 9)) -+ n += 2; -+ } else if (pic2_arith_decode_bit(pi, c + 3)) { -+ /* n < 1 + 2 + 4 + 8 */ -+ n = 1 + 2 + 4; -+ if (pic2_arith_decode_bit(pi, c + 8)) -+ n += 1; -+ if (pic2_arith_decode_bit(pi, c + 9)) -+ n += 2; -+ if (pic2_arith_decode_bit(pi, c + 10)) -+ n += 4; -+ } else if (pic2_arith_decode_bit(pi, c + 4)) { -+ /* n < 1 + 2 + 4 + 8 + 16 */ -+ n = 1 + 2 + 4 + 8; -+ if (pic2_arith_decode_bit(pi, c + 8)) -+ n += 1; -+ if (pic2_arith_decode_bit(pi, c + 9)) -+ n += 2; -+ if (pic2_arith_decode_bit(pi, c + 10)) -+ n += 4; -+ if (pic2_arith_decode_bit(pi, c + 11)) -+ n += 8; -+ } else if (pic2_arith_decode_bit(pi, c + 5)) { -+ /* n < 1 + 2 + 4 + 8 + 16 + 32 */ -+ n = 1 + 2 + 4 + 8 + 16; -+ if (pic2_arith_decode_bit(pi, c + 8)) -+ n += 1; -+ if (pic2_arith_decode_bit(pi, c + 9)) -+ n += 2; -+ if (pic2_arith_decode_bit(pi, c + 10)) -+ n += 4; -+ if (pic2_arith_decode_bit(pi, c + 11)) -+ n += 8; -+ if (pic2_arith_decode_bit(pi, c + 12)) -+ n += 16; -+ -+ } else if (pic2_arith_decode_bit(pi, c + 6)) { -+ /* n < 1 + 2 + 4 + 8 + 16 + 32 + 64 */ -+ n = 1 + 2 + 4 + 8 + 16 + 32; -+ if (pic2_arith_decode_bit(pi, c + 8)) -+ n += 1; -+ if (pic2_arith_decode_bit(pi, c + 9)) -+ n += 2; -+ if (pic2_arith_decode_bit(pi, c + 10)) -+ n += 4; -+ if (pic2_arith_decode_bit(pi, c + 11)) -+ n += 8; -+ if (pic2_arith_decode_bit(pi, c + 12)) -+ n += 16; -+ if (pic2_arith_decode_bit(pi, c + 13)) -+ n += 32; -+ -+ } else if (pic2_arith_decode_bit(pi, c + 7)) { -+ /* n < 1 + 2 + 4 + 8 + 16 + 32 + 64 + 128 */ -+ n = 1 + 2 + 4 + 8 + 16 + 32 + 64; -+ if (pic2_arith_decode_bit(pi, c + 8)) -+ n += 1; -+ if (pic2_arith_decode_bit(pi, c + 9)) -+ n += 2; -+ if (pic2_arith_decode_bit(pi, c + 10)) -+ n += 4; -+ if (pic2_arith_decode_bit(pi, c + 11)) -+ n += 8; -+ if (pic2_arith_decode_bit(pi, c + 12)) -+ n += 16; -+ if (pic2_arith_decode_bit(pi, c + 13)) -+ n += 32; -+ if (pic2_arith_decode_bit(pi, c + 14)) -+ n += 64; -+ -+ } else { -+ n = 1 + 2 + 4 + 8 + 16 + 32 + 64 + 128; -+ } -+ return (n); -+} -+ -+static void pic2_arith_expand_chain(pi, x, y, cc) -+struct pic2_info *pi; -+int x, y; -+pixel cc; -+{ -+ static const unsigned short c_tab[] = { -+ 80 + 6 * 5, /* -5 */ -+ 80 + 6 * 4, -+ 80 + 6 * 3, -+ 80 + 6 * 2, -+ 80 + 6 * 1, -+ 80 + 6 * 0, /* 0 */ -+ 80 + 6 * 0, /* 1 */ -+ }; -+ unsigned short b; -+ -+ b = c_tab[pi->flag_now[x] + 5]; -+ if (!pic2_arith_decode_bit(pi, b++)) { -+ if (pic2_arith_decode_bit(pi, b++)) { /* down */ -+ pi->vram_next[x ] = cc; -+ pi->flag_next[x ] = -1; -+ } else if (pic2_arith_decode_bit(pi, b++)) { /* left */ -+ pi->vram_next[x - 1] = cc; -+ pi->flag_next[x - 1] = -2; -+ } else if (pic2_arith_decode_bit(pi, b++)) { /* right */ -+ pi->vram_next[x + 1] = cc; -+ pi->flag_next[x + 1] = -3; -+ } else if (pic2_arith_decode_bit(pi, b++)) { /* left2 */ -+ pi->vram_next[x - 2] = cc; -+ pi->flag_next[x - 2] = -4; -+ } else { /* right2 */ -+ pi->vram_next[x + 2] = cc; -+ pi->flag_next[x + 2] = -5; -+ } -+ } -+} -+ -+static short pic2_arith_get_number(pi, c, bef) -+struct pic2_info *pi; -+int c, bef; -+{ -+ unsigned short n; -+ byte maxcol; -+ -+ maxcol = 0xff >> (8 - pi->header->depth / 3); -+ -+ n = pic2_arith_decode_nn(pi, c); -+ if (bef > ((int) maxcol >> 1)) { -+ if (n > ((int) maxcol - bef) * 2) -+ n = maxcol - n; -+ else if (n & 1) -+ n = n / 2 + bef + 1; -+ else -+ n = bef - n / 2; -+ } else { -+ if ((int) n > (bef * 2)) -+ n = n; -+ else if (n & 1) -+ n = n / 2 + bef + 1; -+ else -+ n = bef - n / 2; -+ } -+ return (n); -+} -+ -+static pixel pic2_arith_read_color(pi, x) -+struct pic2_info *pi; -+int x; -+{ -+ pixel c1, c2, cc; -+ unsigned short i, j, k, m; -+ short r, g, b, r0, g0, b0; -+ short colbits; -+ pixel rmask, gmask, bmask; -+ byte maxcol; -+ -+ colbits = pi->header->depth / 3; -+ rmask = (0xff >> (8 - colbits)) << (colbits * 2); -+ gmask = (0xff >> (8 - colbits)) << colbits; -+ bmask = (0xff >> (8 - colbits)); -+ maxcol = (byte) bmask; -+ -+ c1 = pi->vram_prev[x]; -+ k = ((c1 >> ((colbits - 3) * 3)) & 0x1c0) -+ | ((c1 >> ((colbits - 3) * 2)) & 0x038) -+ | ((c1 >> (colbits - 3) ) & 0x007); -+ if (colbits == 5) -+ k = pic2_exchange_rg(k, 3); -+ -+ if (pic2_arith_decode_bit(pi, pi->cache_hit_c)) { /* ouch */ -+ pi->cache_hit_c = 16; -+ -+ c2 = pi->vram_now[x - 1]; -+ r = ((c1 & rmask) + (c2 & rmask)) >> (colbits * 2 + 1); -+ g = ((c1 & gmask) + (c2 & gmask)) >> (colbits + 1); -+ b = ((c1 & bmask) + (c2 & bmask)) >> ( 1); -+ -+ g0 = pic2_arith_get_number(pi, 32, g); -+ r = r + g0 - g; -+ if (r > (short) maxcol) -+ r = maxcol; -+ else if (r < 0) -+ r = 0; -+ -+ b = b + g0 - g; -+ if (b > (short) maxcol) -+ b = maxcol; -+ else if (b < 0) -+ b = 0; -+ -+ r0 = pic2_arith_get_number(pi, 48, r); -+ b0 = pic2_arith_get_number(pi, 64, b); -+ -+ pi->cache_pos[k] = j = (pi->cache_pos[k] - 1) & (PIC2_ARITH_CACHE - 1); -+ pi->cache[k][j] = cc = (r0 << (colbits * 2)) | (g0 << colbits) | b0; -+ } else { -+ pi->cache_hit_c = 15; -+ -+ j = pic2_arith_decode_nn(pi, 17); -+ m = pi->cache_pos[k]; -+ i = (m + j / 2) & (PIC2_ARITH_CACHE - 1); -+ j = (m + j) & (PIC2_ARITH_CACHE - 1); -+ -+ cc = pi->cache[k][j]; -+ pi->cache[k][j] = pi->cache[k][i]; -+ pi->cache[k][i] = pi->cache[k][m]; -+ pi->cache[k][m] = cc; -+ } -+ return (cc); -+} -+ -+static int pic2_arith_expand_line(pi, line) -+struct pic2_info *pi; -+pixel **line; -+{ -+ int ymax; -+ int x, xw; -+ pixel cc; -+ -+ pic2_handle_para(pi, 0); -+ -+ xw = pi->block->x_wid; -+ ymax = pi->block->y_wid - 1; -+ -+ if (pi->ynow > ymax) -+ return (-2); /* end */ -+ -+ /* set right end of previous line before left end of current line. */ -+ if (pi->ynow == 0) { -+ cc = 0; -+ } else -+ cc = pi->vram_prev[xw - 1]; -+ pi->vram_now[-1] = cc; -+ -+ /* clear flag for change point */ -+ xvbzero((char *) pi->flag_next, xw * sizeof(pi->flag_next[0])); -+ -+ /* clear flag for position probability space */ -+ xvbzero((char *) pi->flag2_next2, xw * sizeof(pi->flag2_next2[0])); -+ -+ for (x = 0; x < xw; x++) { -+ if (pi->flag_now[x] < 0) { -+ cc = pi->vram_now[x]; -+ if (pi->ynow < ymax) -+ pic2_arith_expand_chain(pi, x, pi->ynow, cc); -+ } else if (pic2_arith_decode_bit(pi, pi->flag2_now[x])) { -+ /* ajust probability space around of change point */ -+ pi->flag2_now [x + 1]++; -+ pi->flag2_now [x + 2]++; -+ pi->flag2_next [x - 1]++; -+ pi->flag2_next [x ]++; -+ pi->flag2_next [x + 1]++; -+ pi->flag2_next2[x - 1]++; -+ pi->flag2_next2[x ]++; -+ pi->flag2_next2[x + 1]++; -+ -+ pi->vram_now[x] = cc = pic2_arith_read_color(pi, x); -+ if (pi->ynow < ymax) -+ pic2_arith_expand_chain(pi, x, pi->ynow, cc); -+ } else -+ pi->vram_now[x] = cc; -+ } -+ if (line != NULL) -+ *line = pi->vram_now; -+ pi->ynow++; -+ -+ pic2_handle_para(pi, 1); -+ -+ return (pi->ynow - 1); -+} -+ -+static int pic2_arith_loader_init(pi) -+struct pic2_info *pi; -+{ -+ unsigned short p2b[256]; -+ int i, xw; -+ -+ pi->ynow = 0; -+ -+ /* check the color depth */ -+ if (pi->header->depth % 3) -+ pic2_error(pi, PIC2_DEPTH); -+ -+ /* set function for extract next line */ -+ pi->next_line = pic2_arith_expand_line; -+ -+ /* clear cache and flags */ -+ xw = pi->block->x_wid; -+ xvbzero((char *) pi->cache, 8 * 8 * 8 * sizeof(pi->cache[0])); -+ xvbzero((char *) pi->cache_pos, 8 * 8 * 8 * sizeof(pi->cache_pos[0])); -+ -+ xvbzero((char *) pi->flag_now, xw * sizeof(pi->flag_now[0])); -+ xvbzero((char *) pi->flag2_now, 8 + xw * sizeof(pi->flag2_now[0])); -+ xvbzero((char *) pi->flag2_next, 8 + xw * sizeof(pi->flag2_next[0])); -+ -+ /* go to picture data field */ -+ pic2_seek_file(pi, pi->block_pos + PIC2_BLOCK_HEADER_SIZE, SEEK_SET); -+ -+ /* clear bit field marker */ -+ pi->bs.rest = 0; -+ pi->bs.cur = 0; -+ -+ /* read probability table */ -+ for (i = 0; i < PIC2_ARITH_CONTEXT; i++) -+ p2b[i] = pic2_read_short(pi); -+ -+ /* make multiplication table */ -+ for (i = 0; i < 16384; i++) { -+ pi->mulu_tab[i] = (long) (i / 128 + 128) * (int) p2b[i & 127] / 256; -+ if (pi->mulu_tab[i] == 0) pi->mulu_tab[i] = 1; -+ } -+ /* initialize some valuables */ -+ pi->aa = 0xffff; -+ pi->dd = 0; -+ for (i = 0; i < 16; i++) { -+ pi->dd *= 2; -+ if (pic2_read_bits(pi, 1)) -+ pi->dd |= 1; -+ } -+ pi->cache_hit_c = 16; -+ -+ return (0); -+} -+ -+/* -+ * These functions are fast pic2 compression extractor. -+ */ -+static int pic2_fast_read_length(pi) -+struct pic2_info *pi; -+{ -+ int a; -+ -+ a = 0; -+ while (pic2_read_bits(pi, 1)) { -+ a++; -+ } -+ if (a == 0) -+ return (0); -+ return (pic2_read_bits(pi, a) + (1 << a) - 1); -+} -+ -+static void pic2_fast_expand_chain(pi, x, cc) -+struct pic2_info *pi; -+int x; -+pixel cc; -+{ -+ if (pic2_read_bits(pi, 1) != 0) { -+ if (pic2_read_bits(pi, 1) != 0) { /* down */ -+ pi->vram_next[x] = cc; -+ pi->flag_next[x] = -1; -+ } else if (pic2_read_bits(pi, 1) != 0) { -+ if (pic2_read_bits(pi, 1) == 0) { /* left2down */ -+ pi->vram_next[x - 2] = cc; -+ pi->flag_next[x - 2] = -1; -+ } else { /* left1down */ -+ pi->vram_next[x - 1] = cc; -+ pi->flag_next[x - 1] = -1; -+ } -+ } else { -+ if (pic2_read_bits(pi, 1) == 0) { /* right2down */ -+ pi->vram_next[x + 2] = cc; -+ pi->flag_next[x + 2] = -1; -+ } else { /* left1down */ -+ pi->vram_next[x + 1] = cc; -+ pi->flag_next[x + 1] = -1; -+ } -+ } -+ } -+} -+ -+static pixel pic2_fast_read_color(pi, bc) -+struct pic2_info *pi; -+pixel bc; -+{ -+ pixel cc; -+ unsigned short j, k, m; -+ short depth, colbits; -+ pixel (*cache)[PIC2_FAST_CACHE]; -+ -+ depth = pi->header->depth; -+ colbits = depth / 3; -+ cache = (pixel (*)[PIC2_FAST_CACHE]) pi->cache; -+ -+ bc = pic2_exchange_rg(bc, colbits); -+ k = pic2_shift_bits(bc, 8 - depth); -+ if (pic2_read_bits(pi, 1) == 0) { -+ pi->cache_pos[k] = m = (pi->cache_pos[k] - 1) & (PIC2_FAST_CACHE - 1); -+ cc = pic2_read_bits(pi, depth); -+ cc = pic2_exchange_rg(cc, colbits); -+ cache[k][m] = cc; -+ } else { -+ j = pic2_read_bits(pi, 6); /* 6= log2(PIC2_FAST_CACHE) */ -+ m = pi->cache_pos[k]; -+ cc = cache[k][(m + j) & (PIC2_FAST_CACHE - 1)]; -+ } -+ return (cc); -+} -+ -+static int pic2_fast_expand_line(pi, line) -+struct pic2_info *pi; -+pixel **line; -+{ -+ int ymax; -+ int x, xw; -+ pixel cc; -+ -+ pic2_handle_para(pi, 0); -+ -+ xw = pi->block->x_wid; -+ ymax = pi->block->y_wid - 1; -+ -+ if (pi->ynow > ymax) -+ return (-2); -+ -+ if (pi->ynow == 0) { -+ pi->dd = 0; -+ pi->aa = pic2_fast_read_length(pi); -+ if (pi->aa == 1023) -+ pi->dd = 1023; -+ else if (pi->aa > 1023) -+ pi->aa--; -+ cc = 0; -+ } else -+ cc = pi->vram_prev[xw - 1]; -+ -+ xvbzero((char *) pi->flag_next, xw * sizeof(pi->flag_next[0])); -+ -+ for (x = 0; x < xw; x++) { -+ if (pi->dd > 0) { -+ if (pi->flag_now[x] < 0) { /* on chain ? */ -+ cc = pi->vram_now[x]; -+ pic2_fast_expand_chain(pi, x, cc); -+ if (--pi->dd == 0) { -+ pi->aa = pic2_fast_read_length(pi); -+ if (pi->aa == 1023) -+ pi->dd = 1023; -+ else if (pi->aa > 1023) -+ pi->aa--; -+ } -+ } else -+ pi->vram_now[x] = cc; -+ } else { -+ if (pi->flag_now[x] < 0) { /* on chain ? */ -+ cc = pi->vram_now[x]; -+ pic2_fast_expand_chain(pi, x, cc); -+ } else if (--pi->aa < 0) { -+ cc = pi->vram_now[x] = pic2_fast_read_color(pi, cc); -+ pic2_fast_expand_chain(pi, x, cc); -+ pi->aa = pic2_fast_read_length(pi); -+ if (pi->aa == 1023) -+ pi->dd = 1023; -+ else if (pi->aa > 1023) -+ pi->aa--; -+ } else -+ pi->vram_now[x] = cc; -+ } -+ } -+ if (line != NULL) -+ *line = pi->vram_now; -+ pi->ynow++; -+ -+ pic2_handle_para(pi, 1); -+ -+ return (pi->ynow - 1); -+} -+ -+static int pic2_fast_loader_init(pi) -+struct pic2_info *pi; -+{ -+ int xw; -+ -+ pi->ynow = 0; -+ -+ /* check the color depth */ -+ if (pi->header->depth % 3) -+ pic2_error(pi, PIC2_DEPTH); -+ -+ /* set function for extract next line */ -+ pi->next_line = pic2_fast_expand_line; -+ -+ /* clear cache and flags */ -+ xw = pi->block->x_wid; -+ xvbzero((char *) pi->cache, sizeof(pi->cache[0]) * 256); -+ xvbzero((char *) pi->cache_pos, sizeof(pi->cache_pos[0]) * 8 * 8 * 8); -+ xvbzero((char *) pi->flag_now, (xw + 8) * sizeof(pi->flag_now[0])); -+ xvbzero((char *) pi->flag_next, (xw + 8) * sizeof(pi->flag_next[0])); -+ -+ /* go to picture data field */ -+ pic2_seek_file(pi, pi->block_pos + PIC2_BLOCK_HEADER_SIZE, SEEK_SET); -+ -+ /* clear bit field marker */ -+ pi->bs.rest = 0; -+ pi->bs.cur = 0; -+ -+ return (0); -+} -+ -+/* -+ * These functions are beta pic2 format extractor. -+ */ -+static int pic2_beta_expand_line(pi, line) -+struct pic2_info *pi; -+pixel **line; -+{ -+ int i, xw, ymax; -+ byte a, b, c, *p; -+ pixel *pc; -+ short depth, pixbyte, colbits; -+ -+ depth = pi->header->depth; -+ pixbyte = depth / 8 + ((depth % 8) > 0); -+ colbits = depth / 3; -+ -+ xw = pi->block->x_wid; -+ ymax = pi->block->y_wid - 1; -+ -+ if (pi->ynow > ymax) -+ return (-2); /* end */ -+ -+ pc = pi->vram_now; -+ p = (byte *) pi->vram_prev; -+ if (pixbyte == 3) { -+ pic2_read_file(pi, pi->vram_prev, (size_t) (xw * pixbyte)); -+ for (i = 0; i < xw; i++, pc++) { -+ a = *p++; -+ b = *p++; -+ c = *p++; -+ *pc = ((pixel) a << 16) | ((pixel) b << 8) | (pixel) c; -+ } -+ } else if (pixbyte == 2) { -+ pic2_read_file(pi, pi->vram_prev, (size_t) (xw * 2)); -+ if (strncmp(pi->block->id, "P2BM", 4) == 0) { -+ for (i = 0; i < xw; i++, pc++) { -+ a = *p++; -+ b = *p++; -+ *pc = ((pixel) a << 8) | (pixel) b; -+ if (colbits == 5) { -+ *pc >>= 1; -+ *pc = pic2_exchange_rg(*pc, colbits); -+ } -+ } -+ } else { -+ for (i = 0; i < xw; i++, pc++) { -+ a = *p++; -+ b = *p++; -+ *pc = ((pixel) b << 8) | (pixel) a; -+ if (colbits == 5) { -+ *pc >>= 1; -+ *pc = pic2_exchange_rg(*pc, colbits); -+ } -+ } -+ } -+ } else { -+ pic2_read_file(pi, pi->vram_prev, (size_t) xw); -+ for (i = 0; i < xw; i++) -+ *pc++ = *p++; -+ } -+ if (line != NULL) -+ *line = pi->vram_now; -+ -+ pc = pi->vram_prev; -+ pi->vram_prev = pi->vram_now; -+ pi->vram_now = pi->vram_next; -+ pi->vram_next = pc; -+ -+ pi->ynow++; -+ return (pi->ynow - 1); -+} -+ -+static int pic2_beta_loader_init(pi) -+struct pic2_info *pi; -+{ -+ pi->ynow = 0; -+ pi->next_line = pic2_beta_expand_line; -+ pic2_seek_file(pi, pi->block_pos + PIC2_BLOCK_HEADER_SIZE, SEEK_SET); -+ return (0); -+} -+ -+/* -+ * Make a picture from the expanded data. -+ */ -+static void pic2_make_xvpic(pi, xp, rp, gp, bp) -+struct pic2_info *pi; -+byte **xp, *rp, *gp, *bp; -+{ -+ int line, i; -+ pixel *linep, opaque; -+ short colbits; -+ byte colmask; -+ -+ if (*xp == NULL) -+ *xp = pic2_new((size_t) pi->x_max * pi->y_max * 3, "pic2_make_xvpic"); // GRR POSSIBLE OVERFLOW / FIXME -+ -+ if (pi->block->flag & 1) -+ opaque = pi->block->opaque; -+ else -+ opaque = 0xffffffff; -+ -+ colbits = pi->header->depth / 3; -+ colmask = 0xff >> (8 - colbits); -+ -+ line = pic2_load_block(pi); -+ for (;;) { -+ int pic_idx; -+ -+ line = pic2_next_line(pi, &linep); -+ if (line < 0) -+ break; -+ pic_idx = ((line + pi->block->y_offset) * pi->x_max -+ + pi->block->x_offset) * 3; -+ -+ for (i = 0; i < pi->block->x_wid; i++, linep++) { -+ byte r, g, b; -+ -+ if (*linep != opaque) { -+ r = ((*linep >> (colbits * 2)) & colmask); -+ r = pic2_convert_color_bits(r, colbits, 8); -+ g = ((*linep >> colbits ) & colmask); -+ g = pic2_convert_color_bits(g, colbits, 8); -+ b = ( *linep & colmask); -+ b = pic2_convert_color_bits(b, colbits, 8); -+ (*xp)[pic_idx++] = r; -+ (*xp)[pic_idx++] = g; -+ (*xp)[pic_idx++] = b; -+ } else -+ pic_idx += 3; -+ -+ WaitCursor(); -+ } -+ } -+} -+ -+/* -+ * This function splits a multiblock PIC2 file into several pages. -+ */ -+static void pic2_make_pagefile(pi, pagebname, pnum) -+struct pic2_info *pi; -+char *pagebname; -+int pnum; -+{ -+ struct pic2_info pic2; -+ FILE *fp; -+ char pagefile[64], *buf; -+ size_t imagesize; -+ -+ sprintf(pagefile, "%s%d", pagebname, pnum); -+ if ((fp = fopen(pagefile, "wb")) == NULL) -+ pic2_error(pi, PIC2_WRITE); -+ -+ xvbcopy((char *) pi, (char *) &pic2, sizeof(struct pic2_info)); -+ pic2.fp = fp; -+ -+ pic2_write_header1(&pic2); -+ -+ pic2_write_block_header(&pic2); -+ -+ imagesize = pi->block->size - PIC2_BLOCK_HEADER_SIZE; -+ buf = (char *) pic2_malloc(imagesize, "pic2_make_pagefile"); -+ -+ pic2_seek_file(pi, pi->block_pos + PIC2_BLOCK_HEADER_SIZE, SEEK_SET); -+ if (fread(buf, (size_t) 1, imagesize, pi->fp) < imagesize) { -+ free(buf); -+ pic2_file_error(pi, PIC2_CORRUPT); -+ } -+ if (fwrite(buf, (size_t) 1, imagesize, fp) < imagesize) { -+ free(buf); -+ pic2_error(pi, PIC2_WRITE); -+ } -+ free(buf); -+ -+ pic2.next_pos = pic2_tell_file(&pic2); -+ pic2_write_header2(&pic2); -+ -+ fclose(fp); -+} -+ -+/* The main routine to save a PIC2 file. */ -+static int WritePIC2(fp, pic0, ptype, w, h, rmap, gmap, bmap, numcols, -+ colorstyle, fname, type, depth, x_offset, y_offset, -+ append, comment) -+FILE *fp; -+byte *pic0; -+int ptype, w, h; -+byte *rmap, *gmap, *bmap; -+int numcols, colorstyle; -+char *fname; -+int type, depth; -+int x_offset, y_offset; -+int append; -+char *comment; -+{ -+ struct pic2_info pic2; -+ char creator[256], title[256], saver[256]; -+ int e; -+ -+ if (DEBUG) -+ fputs("WritePIC2:\n", stderr); -+ -+ pic2_init_info(&pic2); -+ pic2.fp = fp; -+ pic2.writing_grey = (colorstyle == F_GREYSCALE); -+ -+ if ((e = setjmp(pic2.jmp)) != 0){ -+ /* When an error occurs while writing, comes here. */ -+ pic2_free_buffer(&pic2); -+ pic2_cleanup_pic2_info(&pic2, 1); -+ SetCursors(-1); -+ if (DEBUG) -+ fputs("\n", stderr); -+ return (-1); -+ } -+ sprintf(creator, "XV Version %s", VERSTR); -+ pic2_strncpy(title, comment, 30); -+ sprintf(saver, "XV %s/UNIX/Bradley", VERSTR); -+ -+ if (!append) { -+ pic2_setup_pic2_info(&pic2, creator, fname, title, saver, -+ 0, depth, 1, 1, w, h, comment); -+ pic2_write_header1(&pic2); -+ } else { -+ pic2_read_header(&pic2); -+ pic2_append(&pic2); -+ free(pic2.comment); -+ pic2_setup_pic2_info(&pic2, creator, fname, title, saver, -+ 0, depth, 1, 1, w, h, comment); -+ } -+ -+ pic2_write_data(&pic2, pic0, ptype, x_offset, y_offset, w, h, -+ rmap, gmap, bmap, type, depth); -+ pic2_write_header2(&pic2); -+ -+ pic2_cleanup_pic2_info(&pic2, 1); -+ SetCursors(-1); -+ if (DEBUG) -+ fputs("\n", stderr); -+ return (0); -+} -+ -+/* -+ * This function initializes pic2_info. -+ */ -+static void pic2_setup_pic2_info(pi, name, fname, title, saver, no, depth, -+ x_aspect, y_aspect, x_max, y_max, comment) -+struct pic2_info *pi; -+char *name, *fname, *title, *saver; -+int no, depth; -+int x_aspect, y_aspect; -+int x_max, y_max; -+char *comment; -+{ -+ char basename[256], *suffix; -+ -+ pi->mode = PIC2_WRITE_MODE; -+ -+ /* set magic number */ -+ strncpy(pi->header->magic, pic2_id, 4); -+ -+ /* set creator's name */ -+ pic2_strncpy(pi->header->name, (char *) name, 18); -+ -+ /* set title and subtitle */ -+ pic2_strncpy(pi->header->title, (char *) title, 30); -+ strcpy(basename, BaseName(fname)); -+ suffix = (char *) rindex(basename, '.'); -+ if (suffix) { -+ suffix++; -+ if (!strcmp(suffix, "p2") || !strcmp(suffix, "P2")) -+ *(suffix - 1) = '\0'; -+ } -+ pic2_strncpy(pi->header->subtitle, basename, 8); -+ -+ /* set saver */ -+ pic2_strncpy(pi->header->saver, saver, 30); -+ -+ /* set picture number */ -+ pi->header->no = no; -+ -+ /* import comment */ -+ pi->comment = comment; -+ -+ /* set some picture's info */ -+ pi->header->depth = depth; -+ pi->header->x_aspect = x_aspect; -+ pi->header->y_aspect = y_aspect; -+ pi->header->x_max = x_max; -+ pi->header->y_max = y_max; -+ -+ /* set some gaps */ -+ pi->header->crlf0[0] = pi->header->crlf1[0] = pi->header->crlf2[0] = 0x0d; -+ pi->header->crlf0[1] = pi->header->crlf1[1] = pi->header->crlf2[1] = 0x0a; -+ -+ pi->header->eof[0] = 0x1a; -+ pi->header->reserve0[0] = 0; -+ pi->header->reserve1 = 0; -+ -+ /* set palettes */ -+ if (pi->n_pal > 0) -+ pi->header->flag = 1; -+ else -+ pi->header->flag = 0; -+} -+ -+/* -+ * This function appends to existing pic2 file. -+ */ -+static void pic2_append(pi) -+struct pic2_info *pi; -+{ -+ int block; -+ -+ block = pic2_find_block(pi); -+ while (block > 0) -+ block = pic2_next_block(pi); -+ -+ if (block != 0) -+ pic2_error(pi, PIC2_APPEND); -+} -+ -+/* -+ * These functions write the PIC2 header. -+ * pic2_write_header1: -+ * write palette data and comment. -+ * pic2_write_header2: -+ * write the terminate block and rest header. -+ * pic2_write_block_header: -+ * write the block header. -+ */ -+static void pic2_write_header1(pi) -+struct pic2_info *pi; -+{ -+ char *comment; -+ -+ /* seek to block start position */ -+ pic2_seek_file(pi, PIC2_HEADER_SIZE, SEEK_SET); -+ -+ /* write palette */ -+ if (pi->n_pal > 0) { -+ pic2_write_char(pi, pi->pal_bits); -+ pic2_write_short(pi, pi->n_pal); -+ pic2_write_file(pi, pi->pal, (size_t) (pi->n_pal * 3)); -+ } -+ /* save comment */ -+ comment = pi->comment; -+ if (pi->comment != NULL) { -+ for (comment = pi->comment; *comment; comment++) { -+ if (*comment == '\n') { -+ pic2_write_char(pi, '\r'); -+ pic2_write_char(pi, '\n'); -+ } else if (*comment != '\r') -+ pic2_write_char(pi, *comment); -+ } -+ pic2_write_char(pi, 0); -+ } -+ /* set the next block position */ -+ pi->next_pos = pic2_tell_file(pi); -+ pi->header->size = pi->next_pos; -+} -+ -+static void pic2_write_header2(pi) -+struct pic2_info *pi; -+{ -+ pic2_seek_file(pi, pi->next_pos, SEEK_SET); -+ -+ /* write terminate block */ -+ pic2_write_long(pi, 0); -+ pic2_write_long(pi, 0); -+ -+ /* set some header information */ -+ if (pi->header->x_max < pi->x_max) -+ pi->header->x_max = pi->x_max; -+ if (pi->header->y_max < pi->x_max) -+ pi->header->y_max = pi->y_max; -+ -+ pi->header->time = time(NULL); -+ pic2_seek_file(pi, 0, SEEK_SET); -+ -+ /* write header image */ -+ pic2_write_file(pi, pi->header->magic, 4); -+ pic2_write_file(pi, pi->header->name, 18); -+ pic2_write_file(pi, pi->header->subtitle, 8); -+ pic2_write_file(pi, pi->header->crlf0, 2); -+ pic2_write_file(pi, pi->header->title, 30); -+ pic2_write_file(pi, pi->header->crlf1, 2); -+ pic2_write_file(pi, pi->header->saver, 30); -+ pic2_write_file(pi, pi->header->crlf2, 2); -+ pic2_write_file(pi, pi->header->eof, 1); -+ pic2_write_file(pi, pi->header->reserve0, 1); -+ pic2_write_short(pi, pi->header->flag); -+ pic2_write_short(pi, pi->header->no); -+ pic2_write_long(pi, pi->header->time); -+ pic2_write_long(pi, pi->header->size); -+ pic2_write_short(pi, pi->header->depth); -+ pic2_write_short(pi, pi->header->x_aspect); -+ pic2_write_short(pi, pi->header->y_aspect); -+ pic2_write_short(pi, pi->header->x_max); -+ pic2_write_short(pi, pi->header->y_max); -+ pic2_write_long(pi, pi->header->reserve1); -+} -+ -+static void pic2_write_block_header(pi) -+struct pic2_info *pi; -+{ -+ pic2_write_file(pi, pi->block->id, 4); -+ pic2_write_long(pi, pi->block->size); -+ pic2_write_short(pi, pi->block->flag); -+ pic2_write_short(pi, pi->block->x_wid); -+ pic2_write_short(pi, pi->block->y_wid); -+ pic2_write_short(pi, pi->block->x_offset); -+ pic2_write_short(pi, pi->block->y_offset); -+ pic2_write_long(pi, pi->block->opaque); -+ pic2_write_long(pi, pi->block->reserve); -+} -+ -+/* -+ * These functions implement the arithmetic-format compressor. -+ */ -+#define pic2_arith_write_one_bit(pi) (pi->bs.bits++) -+ -+static void pic2_arith_write_zero_bit(pi) -+struct pic2_info *pi; -+{ -+ if (pi->bs.zero) -+ pic2_write_bits(pi, 0, 1); -+ -+ while (pi->bs.bits--) -+ pic2_write_bits(pi, 1, 1); -+ -+ pi->bs.bits = 0; -+ pi->bs.zero = 1; -+} -+ -+static void pic2_arith_flush_bit_buf(pi) -+struct pic2_info *pi; -+{ -+ int i; -+ -+ for (i = 0; i < 16; i++) { -+ if (pi->cc & 0x8000) -+ pic2_arith_write_one_bit(pi); -+ else -+ pic2_arith_write_zero_bit(pi); -+ pi->cc <<= 1; -+ } -+ pic2_arith_write_zero_bit(pi); -+ pic2_flush_bits(pi); -+} -+ -+static void pic2_arith_carry_bit(pi) -+struct pic2_info *pi; -+{ -+ pic2_write_bits(pi, 1, 1); -+ -+ if (pi->bs.bits == 0) { -+ pi->bs.zero = 0; -+ } else { -+ while (--pi->bs.bits) -+ pic2_write_bits(pi, 0, 1); -+ pi->bs.zero = 1; -+ } -+} -+ -+static void pic2_arith_encode_bit(pi, n, c) -+struct pic2_info *pi; -+int n, c; -+{ -+ int pp; -+ long *c_sum, *c_0_sum; -+ -+ c_sum = (long *) pi->mulu_tab; -+ c_0_sum = c_sum + PIC2_ARITH_CONTEXT + 1; -+ -+ if (pi->dd == 0) { -+ c_sum[c]++; -+ if (n == 0) -+ c_0_sum[c]++; -+ return; -+ } -+ pp = pi->mulu_tab[(pi->aa & 0x7f00) / 2 + c]; -+ if (n != 0) { -+ pi->cc = pi->cc + pp; -+ if (pi->cc > 0xffff) { -+ pic2_arith_carry_bit(pi); -+ pi->cc = pi->cc & 0xffff; -+ } -+ pi->aa = pi->aa - pp; -+ while (pi->aa < 0x8000) { -+ if (pi->cc & 0x8000) -+ pic2_arith_write_one_bit(pi); -+ else -+ pic2_arith_write_zero_bit(pi); -+ pi->cc = (pi->cc * 2) & 0xffff; -+ pi->aa = pi->aa * 2; -+ } -+ } else { -+ pi->aa = pp; -+ -+ while (pi->aa < 0x8000) { -+ if (pi->cc & 0x8000) -+ pic2_arith_write_one_bit(pi); -+ else -+ pic2_arith_write_zero_bit(pi); -+ pi->cc = (pi->cc * 2) & 0xffff; -+ pi->aa = pi->aa * 2; -+ } -+ } -+} -+ -+static void pic2_arith_encode_nbyte(pi, n, c, max) -+struct pic2_info *pi; -+int n, c, max; -+{ -+ short i; -+ -+ for (i = 0; i < n; i++) { -+ pic2_arith_encode_bit(pi, 0, c + i); -+ } -+ if (n < max) -+ pic2_arith_encode_bit(pi, 1, c + n); -+} -+ -+static void pic2_arith_encode_nn(pi, n, c) -+struct pic2_info *pi; -+int n, c; -+{ -+ if (n < 1) { -+ pic2_arith_encode_bit(pi, 1, c); -+ } else if (n < 1 + 2) { -+ pic2_arith_encode_bit(pi, 0, c); -+ pic2_arith_encode_bit(pi, 1, c + 1); -+ n -= 1; -+ pic2_arith_encode_bit(pi, n & 1, c + 8); -+ } else if (n < 1 + 2 + 4) { -+ pic2_arith_encode_bit(pi, 0, c); -+ pic2_arith_encode_bit(pi, 0, c + 1); -+ pic2_arith_encode_bit(pi, 1, c + 2); -+ n -= 1 + 2; -+ pic2_arith_encode_bit(pi, n & 1, c + 8); -+ pic2_arith_encode_bit(pi, n & 2, c + 9); -+ } else if (n < 1 + 2 + 4 + 8) { -+ pic2_arith_encode_bit(pi, 0, c); -+ pic2_arith_encode_bit(pi, 0, c + 1); -+ pic2_arith_encode_bit(pi, 0, c + 2); -+ pic2_arith_encode_bit(pi, 1, c + 3); -+ n -= 1 + 2 + 4; -+ pic2_arith_encode_bit(pi, n & 1, c + 8); -+ pic2_arith_encode_bit(pi, n & 2, c + 9); -+ pic2_arith_encode_bit(pi, n & 4, c + 10); -+ } else if (n < 1 + 2 + 4 + 8 + 16) { -+ pic2_arith_encode_bit(pi, 0, c); -+ pic2_arith_encode_bit(pi, 0, c + 1); -+ pic2_arith_encode_bit(pi, 0, c + 2); -+ pic2_arith_encode_bit(pi, 0, c + 3); -+ pic2_arith_encode_bit(pi, 1, c + 4); -+ n -= 1 + 2 + 4 + 8; -+ pic2_arith_encode_bit(pi, n & 1, c + 8); -+ pic2_arith_encode_bit(pi, n & 2, c + 9); -+ pic2_arith_encode_bit(pi, n & 4, c + 10); -+ pic2_arith_encode_bit(pi, n & 8, c + 11); -+ } else if (n < 1 + 2 + 4 + 8 + 16 + 32) { -+ pic2_arith_encode_bit(pi, 0, c); -+ pic2_arith_encode_bit(pi, 0, c + 1); -+ pic2_arith_encode_bit(pi, 0, c + 2); -+ pic2_arith_encode_bit(pi, 0, c + 3); -+ pic2_arith_encode_bit(pi, 0, c + 4); -+ pic2_arith_encode_bit(pi, 1, c + 5); -+ n -= 1 + 2 + 4 + 8 + 16; -+ pic2_arith_encode_bit(pi, n & 1, c + 8); -+ pic2_arith_encode_bit(pi, n & 2, c + 9); -+ pic2_arith_encode_bit(pi, n & 4, c + 10); -+ pic2_arith_encode_bit(pi, n & 8, c + 11); -+ pic2_arith_encode_bit(pi, n & 16, c + 12); -+ } else if (n < 1 + 2 + 4 + 8 + 16 + 32 + 64) { -+ pic2_arith_encode_bit(pi, 0, c); -+ pic2_arith_encode_bit(pi, 0, c + 1); -+ pic2_arith_encode_bit(pi, 0, c + 2); -+ pic2_arith_encode_bit(pi, 0, c + 3); -+ pic2_arith_encode_bit(pi, 0, c + 4); -+ pic2_arith_encode_bit(pi, 0, c + 5); -+ pic2_arith_encode_bit(pi, 1, c + 6); -+ n -= 1 + 2 + 4 + 8 + 16 + 32; -+ pic2_arith_encode_bit(pi, n & 1, c + 8); -+ pic2_arith_encode_bit(pi, n & 2, c + 9); -+ pic2_arith_encode_bit(pi, n & 4, c + 10); -+ pic2_arith_encode_bit(pi, n & 8, c + 11); -+ pic2_arith_encode_bit(pi, n & 16, c + 12); -+ pic2_arith_encode_bit(pi, n & 32, c + 13); -+ } else if (n < 1 + 2 + 4 + 8 + 16 + 32 + 64 + 128) { -+ pic2_arith_encode_bit(pi, 0, c); -+ pic2_arith_encode_bit(pi, 0, c + 1); -+ pic2_arith_encode_bit(pi, 0, c + 2); -+ pic2_arith_encode_bit(pi, 0, c + 3); -+ pic2_arith_encode_bit(pi, 0, c + 4); -+ pic2_arith_encode_bit(pi, 0, c + 5); -+ pic2_arith_encode_bit(pi, 0, c + 6); -+ pic2_arith_encode_bit(pi, 1, c + 7); -+ n -= 1 + 2 + 4 + 8 + 16 + 32 + 64; -+ pic2_arith_encode_bit(pi, n & 1, c + 8); -+ pic2_arith_encode_bit(pi, n & 2, c + 9); -+ pic2_arith_encode_bit(pi, n & 4, c + 10); -+ pic2_arith_encode_bit(pi, n & 8, c + 11); -+ pic2_arith_encode_bit(pi, n & 16, c + 12); -+ pic2_arith_encode_bit(pi, n & 32, c + 13); -+ pic2_arith_encode_bit(pi, n & 64, c + 14); -+ } else { -+ pic2_arith_encode_bit(pi, 0, c); -+ pic2_arith_encode_bit(pi, 0, c + 1); -+ pic2_arith_encode_bit(pi, 0, c + 2); -+ pic2_arith_encode_bit(pi, 0, c + 3); -+ pic2_arith_encode_bit(pi, 0, c + 4); -+ pic2_arith_encode_bit(pi, 0, c + 5); -+ pic2_arith_encode_bit(pi, 0, c + 6); -+ pic2_arith_encode_bit(pi, 0, c + 7); -+ } -+} -+ -+static void pic2_arith_press_chain(pi, x) -+struct pic2_info *pi; -+int x; -+{ -+ int b, d; -+ pixel c; -+ -+ b = -(pi->flag_now[x]); -+ c = pi->vram_now[x]; -+ d = 0; -+ -+ if (b < 0) -+ b = 0; -+ -+ if (pi->flag_next[x] == 1 && pi->vram_next[x] == c) { -+ d = 1; -+ pi->flag_next[x] = -1; -+ } else if (pi->flag_next[x - 1] == 1 && pi->vram_next[x - 1] == c) { -+ d = 2; -+ pi->flag_next[x - 1] = -2; -+ } else if (pi->flag_next[x + 1] == 1 && pi->vram_next[x + 1] == c) { -+ d = 3; -+ pi->flag_next[x + 1] = -3; -+ } else if (pi->flag_next[x - 2] == 1 && pi->vram_next[x - 2] == c) { -+ d = 4; -+ pi->flag_next[x - 2] = -4; -+ } else if (pi->flag_next[x + 2] == 1 && pi->vram_next[x + 2] == c) { -+ if ((pi->flag_now[x + 2] != 0 && pi->vram_now[x + 2] == c) -+ || (pi->flag_now[x + 1] != 0 && pi->vram_now[x + 1] == c) -+ || (pi->flag_now[x + 3] != 0 && pi->vram_now[x + 3] == c)) { -+ pic2_arith_encode_nbyte(pi, 0, 80 + 6 * b, 5); -+ return; -+ } -+ d = 5; -+ pi->flag_next[x + 2] = -5; -+ } -+ pic2_arith_encode_nbyte(pi, d, 80 + 6 * b, 5); -+} -+ -+static void pic2_arith_put_number(pi, xn, xa, xb) -+struct pic2_info *pi; -+int xn, xa, xb; -+{ -+ short n; -+ byte maxcol; -+ -+ maxcol = 0xff >> (8 - pi->header->depth / 3); -+ -+ if (xa > ((int) maxcol >> 1)) { -+ if (xb > xa) -+ n = (xb - xa) * 2 - 1; -+ else if (xa - ((int) maxcol - xa) > xb) -+ n = maxcol - xb; -+ else -+ n = (xa - xb) * 2; -+ } else { -+ if (xb <= xa) -+ n = (xa - xb) * 2; -+ else if (2 * xa < xb) -+ n = xb; -+ else -+ n = (xb - xa) * 2 - 1; -+ } -+ pic2_arith_encode_nn(pi, n, xn); -+} -+ -+static void pic2_arith_write_color(pi, x) -+struct pic2_info *pi; -+int x; -+{ -+ pixel c1, c2, cc; -+ short g0, r0, b0, r, g, b; -+ int i, j; -+ unsigned short k; -+ pixel *p, *pp; -+ short colbits; -+ pixel rmask, gmask, bmask; -+ byte maxcol; -+ -+ colbits = pi->header->depth / 3; -+ rmask = (0xff >> (8 - colbits)) << (colbits * 2); -+ gmask = (0xff >> (8 - colbits)) << colbits; -+ bmask = (0xff >> (8 - colbits)); -+ maxcol = (byte) bmask; -+ -+ cc = pi->vram_now[x]; -+ c1 = pi->vram_prev[x]; -+ k = ((c1 >> ((colbits - 3) * 3)) & 0x1c0) -+ | ((c1 >> ((colbits - 3) * 2)) & 0x038) -+ | ((c1 >> (colbits - 3) ) & 0x007); -+ if (colbits == 5) -+ k = pic2_exchange_rg(k, 3); -+ -+ p = pi->cache[k]; -+ for (i = 0; i < (PIC2_ARITH_CACHE - 1); i++) { -+ if (cc == *p++) -+ break; -+ } -+ if (i == (PIC2_ARITH_CACHE - 1)) { -+ pp = p - 1; -+ for (j = i; j > 0; j--) { -+ *--p = *--pp; -+ } -+ pi->cache[k][0] = cc; -+ pic2_arith_encode_bit(pi, 1, pi->cache_hit_c); -+ pi->cache_hit_c = 16; -+ -+ c2 = pi->vram_now[x - 1]; -+ r = ((c1 & rmask) + (c2 & rmask)) >> (colbits * 2 + 1); -+ g = ((c1 & gmask) + (c2 & gmask)) >> (colbits + 1); -+ b = ((c1 & bmask) + (c2 & bmask)) >> ( 1); -+ -+ r0 = (cc >> (colbits * 2)) & maxcol; -+ g0 = (cc >> colbits ) & maxcol; -+ b0 = cc & maxcol; -+ -+ r = r + g0 - g; -+ if (r < 0) -+ r = 0; -+ else if (r > (short) maxcol) -+ r = maxcol; -+ -+ b = b + g0 - g; -+ if (b < 0) -+ b = 0; -+ else if (b > (short) maxcol) -+ b = maxcol; -+ -+ pic2_arith_put_number(pi, 32, g, g0); -+ pic2_arith_put_number(pi, 48, r, r0); -+ pic2_arith_put_number(pi, 64, b, b0); -+ } else { -+ *--p = pi->cache[k][i / 2]; -+ pi->cache[k][i / 2] = pi->cache[k][0]; -+ pi->cache[k][0] = cc; -+ -+ pic2_arith_encode_bit(pi, 0, pi->cache_hit_c); -+ pi->cache_hit_c = 15; -+ pic2_arith_encode_nn(pi, i, 17); -+ } -+} -+ -+static void pic2_arith_press_line2(pi) -+struct pic2_info *pi; -+{ -+ int x, xw, ymax; -+ pixel cc; -+ -+ xw = pi->block->x_wid; -+ ymax = pi->block->y_wid -1; -+ cc = pi->vram_now[xw - 1]; /* last color */ -+ pi->vram_next[-1] = cc; -+ -+ /* mark change point */ -+ for (x = 0; x < xw; x++) -+ if (cc != pi->vram_next[x]) { -+ pi->flag_next[x] = 1; -+ cc = pi->vram_next[x]; -+ } else -+ pi->flag_next[x] = 0; -+ -+ for (x = 0; x < xw; x++) { -+ if (pi->flag_now[x] == 1) { /* change point */ -+ pi->flag2_now [x + 1]++; -+ pi->flag2_now [x + 2]++; -+ pi->flag2_next [x - 1]++; -+ pi->flag2_next [x ]++; -+ pi->flag2_next [x + 1]++; -+ pi->flag2_next2[x - 1]++; -+ pi->flag2_next2[x ]++; -+ pi->flag2_next2[x + 1]++; -+ -+ /* write change point */ -+ pic2_arith_encode_bit(pi, 1, pi->flag2_now[x]); -+ -+ /* write color */ -+ pic2_arith_write_color(pi, x); -+ -+ /* if not last line, write chain */ -+ if (pi->ynow - 1 < ymax) -+ pic2_arith_press_chain(pi, x); -+ } else if (pi->flag_now[x] == 0) /* not on chain */ -+ /* write change point */ -+ pic2_arith_encode_bit(pi, 0, pi->flag2_now[x]); -+ else /* on chain */ -+ /* if not on last line, write next chain */ -+ if (pi->ynow - 1 < ymax) -+ pic2_arith_press_chain(pi, x); -+ } -+} -+ -+static int pic2_arith_press_line(pi, line) -+struct pic2_info *pi; -+pixel **line; -+{ -+ int i, xw, ymax; -+ long *c_sum, *c_0_sum; -+ -+ xw = pi->block->x_wid; -+ ymax = pi->block->y_wid -1; -+ c_sum = (long *) pi->mulu_tab; -+ c_0_sum = c_sum + PIC2_ARITH_CONTEXT +1; -+ -+ pic2_handle_para(pi, 0); -+ -+ xvbzero((char *) pi->flag2_next2 - 4, -+ (8 + xw) * sizeof(pi->flag2_next2[0])); -+ -+ if (pi->ynow == 0) { /* first line */ -+ int x; -+ pixel cc = 0; -+ -+ if (pi->dd != 0) { /* compress pass */ -+ unsigned short c_tab[PIC2_ARITH_CONTEXT]; -+ -+ for (i = 0; i < PIC2_ARITH_CONTEXT; i++) { -+ unsigned long a, b; -+ a = c_0_sum[i]; -+ b = c_sum[i]; -+ while (a > 32767) { -+ a /= 2; -+ b /= 2; -+ } -+ if (a == b) -+ c_tab[i] = 0xffff; /* b==0 here, too */ -+ else -+ c_tab[i] = (65536 * a) / b; /* a < b, so less 65536 */ -+ } -+ for (i = 0; i < 16384; i++) { -+ pi->mulu_tab[i] = (long) (i / 128 + 128) * (int) c_tab[i & 127] / 256; -+ if (pi->mulu_tab[i] == 0) -+ pi->mulu_tab[i] = 1; /* 0 is wrong */ -+ } -+ for (i = 0; i < PIC2_ARITH_CONTEXT; i++) -+ pic2_write_short(pi, c_tab[i]); -+ -+ xvbzero((char *) pi->vram_now, xw * sizeof(pi->vram_now[0])); -+ } else { /* statistical pass */ -+ xvbzero((char *) c_0_sum, PIC2_ARITH_CONTEXT * sizeof(c_0_sum[0])); -+ xvbzero((char *) c_sum, PIC2_ARITH_CONTEXT * sizeof(c_sum[0])); -+ } -+ -+ /* initialize flags */ -+ xvbzero((char *) pi->cache, 8 * 8 * 8 * sizeof(pi->cache[0])); -+ xvbzero((char *) pi->cache_pos, 8 * 8 * 8 * sizeof(pi->cache_pos[0])); -+ -+ xvbzero((char *) pi->flag2_next - 4, -+ (8 + xw) * sizeof(pi->flag2_next[0])); -+ xvbzero((char *) pi->flag2_next2 - 4, -+ (8 + xw) * sizeof(pi->flag2_next2[0])); -+ -+ pi->vram_next[-1] = cc; -+ for (x = 0; x < xw; x++) -+ if (cc != pi->vram_next[x]) { -+ pi->flag_next[x] = 1; -+ cc = pi->vram_next[x]; -+ } else -+ pi->flag_next[x] = 0; -+ -+ pi->aa = 0xffff; -+ cc = 0; -+ pi->cache_hit_c = 16; -+ } else /* after second line */ -+ pic2_arith_press_line2(pi); -+ -+ if (pi->ynow == ymax) { -+ pi->ynow++; -+ pic2_handle_para(pi, 1); -+ pic2_handle_para(pi, 0); -+ pic2_arith_press_line2(pi); -+ } -+ /* line buffer for next data */ -+ if (line != NULL) -+ *line = pi->vram_prev; -+ -+ pi->ynow++; -+ -+ if (pi->ynow - 1 < ymax) { -+ pic2_handle_para(pi, 1); -+ return (pi->ynow); -+ } else { /* end */ -+ if (pi->dd == 0) { /* statistical pass */ -+ pi->dd = 1; -+ pi->ynow = 0; -+ pic2_handle_para(pi, 1); -+ return (0); -+ } else { -+ pic2_handle_para(pi, 1); -+ pic2_arith_flush_bit_buf(pi); -+ return (-2); /* end */ -+ } -+ } -+} -+ -+static int pic2_arith_saver_init(pi, line) -+struct pic2_info *pi; -+pixel **line; -+{ -+ pi->ynow = 0; -+ -+ /* check the color depth */ -+ if (pi->header->depth % 3) -+ pic2_error(pi, PIC2_DEPTH); -+ -+ /* set next line function */ -+ pi->next_line = pic2_arith_press_line; -+ -+ if (line != NULL) -+ *line = pi->vram_next + 4; -+ -+ pic2_seek_file(pi, pi->next_pos + PIC2_BLOCK_HEADER_SIZE, SEEK_SET); -+ -+ /* clear bit field marker */ -+ pi->bs.rest = 0; -+ pi->bs.cur = 0; -+ pi->bs.zero = 0; -+ pi->bs.bits = 0; -+ -+ return (0); -+} -+ -+/* -+ * These functions are fast pic2 format compressor. -+ */ -+static void pic2_fast_write_length(pi, n) -+struct pic2_info *pi; -+int n; -+{ -+ int a, b; -+ static const unsigned short len_data[8][2] = { -+ {1, 0}, -+ {1, 0}, -+ {3, 4}, -+ {3, 5}, -+ {5, 24}, -+ {5, 25}, -+ {5, 26}, -+ {5, 27}, -+ }; -+ -+ n++; -+ if (n < 8) -+ pic2_write_bits(pi, len_data[n][1], len_data[n][0]); -+ else { -+ a = 0; -+ b = 2; -+ while (n > b - 1) { -+ a = a + 1; -+ b = b * 2; -+ } -+ pic2_write_bits(pi, 0xfffffffe, a + 1); -+ if (a > 0) -+ pic2_write_bits(pi, n - b / 2, a); -+ } -+} -+ -+static void pic2_fast_press_chain(pi, x) -+struct pic2_info *pi; -+int x; -+{ -+ int ymax; -+ pixel cc; -+ -+ ymax = pi->block->y_wid -1; -+ cc = pi->vram_now[x]; -+ -+ if (pi->ynow - 1 == ymax) { -+ pic2_write_bits(pi, 0, 1); -+ return; -+ } -+ if (pi->flag_next[x] == 1 && pi->vram_next[x] == cc) { -+ pi->flag_next[x] = -1; -+ pic2_write_bits(pi, 3, 2); -+ } else if (pi->flag_next[x - 1] == 1 && pi->vram_next[x - 1] == cc) { -+ pi->flag_next[x - 1] = -1; -+ pic2_write_bits(pi, 11, 4); -+ } else if (pi->flag_next[x + 1] == 1 && pi->vram_next[x + 1] == cc) { -+ pi->flag_next[x + 1] = -1; -+ pic2_write_bits(pi, 9, 4); -+ } else if (pi->flag_next[x - 2] == 1 && pi->vram_next[x - 2] == cc) { -+ pi->flag_next[x - 2] = -1; -+ pic2_write_bits(pi, 10, 4); -+ } else if ((pi->flag_next[x + 2] == 1 && pi->vram_next[x + 2] == cc) -+ && !(pi->flag_now[x + 2] != 0 && pi->vram_now[x + 2] == cc)) { -+ pi->flag_next[x + 2] = -1; -+ pic2_write_bits(pi, 8, 4); -+ } else -+ pic2_write_bits(pi, 0, 1); -+} -+ -+static void pic2_fast_press_chain2(pi, x) -+struct pic2_info *pi; -+int x; -+{ -+ int ymax; -+ pixel cc; -+ char *chain_buff; -+ -+ ymax = pi->block->y_wid -1; -+ chain_buff = (char *) pi->mulu_tab; -+ cc = pi->vram_now[x]; -+ -+ if (pi->ynow - 1 == ymax) { -+ chain_buff[pi->cc++] = 0; -+ return; -+ } -+ if (pi->flag_next[x] == 1 && pi->vram_next[x] == cc) { -+ pi->flag_next[x] = -1; -+ chain_buff[pi->cc++] = 1; -+ } else if (pi->flag_next[x - 1] == 1 && pi->vram_next[x - 1] == cc) { -+ pi->flag_next[x - 1] = -1; -+ chain_buff[pi->cc++] = 2; -+ } else if (pi->flag_next[x + 1] == 1 && pi->vram_next[x + 1] == cc) { -+ pi->flag_next[x + 1] = -1; -+ chain_buff[pi->cc++] = 3; -+ } else if (pi->flag_next[x - 2] == 1 && pi->vram_next[x - 2] == cc) { -+ pi->flag_next[x - 2] = -1; -+ chain_buff[pi->cc++] = 4; -+ } else if ((pi->flag_next[x + 2] == 1 && pi->vram_next[x + 2] == cc) -+ && !(pi->flag_now[x + 2] != 0 && pi->vram_now[x + 2] == cc)) { -+ pi->flag_next[x + 2] = -1; -+ chain_buff[pi->cc++] = 5; -+ } else -+ chain_buff[pi->cc++] = 0; -+} -+ -+static void pic2_fast_flush_chain(pi) -+struct pic2_info *pi; -+{ -+ int i; -+ char *chain_buf; -+ -+ chain_buf = (char *) pi->mulu_tab; -+ for (i = 0; i < pi->cc; i++){ -+ switch (chain_buf[i]) { -+ case 0: -+ pic2_write_bits(pi, 0, 1); -+ break; -+ case 1: -+ pic2_write_bits(pi, 3, 2); -+ break; -+ case 2: -+ pic2_write_bits(pi, 11, 4); -+ break; -+ case 3: -+ pic2_write_bits(pi, 9, 4); -+ break; -+ case 4: -+ pic2_write_bits(pi, 10, 4); -+ break; -+ case 5: -+ pic2_write_bits(pi, 8, 4); -+ break; -+ } -+ } -+ pi->cc = 0; -+} -+ -+static void pic2_fast_write_color(pi, x) -+struct pic2_info *pi; -+int x; -+{ -+ pixel cc, bc; -+ unsigned short j, k, m; -+ short depth, colbits; -+ pixel (*cache)[PIC2_FAST_CACHE]; -+ -+ depth = pi->header->depth; -+ colbits = depth / 3; -+ cache = (pixel (*)[PIC2_FAST_CACHE]) pi->cache; -+ -+ bc = pi->vram_now[x - 1]; -+ bc = pic2_exchange_rg(bc, colbits); -+ k = pic2_shift_bits(bc, 8 - depth); -+ cc = pi->vram_now[x]; -+ m = pi->cache_pos[k]; -+ -+ for (j = 0; j < PIC2_FAST_CACHE; j++) -+ if (cache[k][(m + j) & (PIC2_FAST_CACHE - 1)] == cc) -+ break; -+ -+ if (j == PIC2_FAST_CACHE) { -+ m = (m - 1) & (PIC2_FAST_CACHE - 1); -+ pi->cache_pos[k] = m; -+ cache[k][m] = cc; -+ -+ cc = pic2_exchange_rg(cc, colbits); -+ pic2_write_bits(pi, 0, 1); -+ pic2_write_bits(pi, cc, depth); -+ } else { -+ pic2_write_bits(pi, 1, 1); -+ pic2_write_bits(pi, j, 6); -+ } -+} -+ -+static void pic2_fast_press_line2(pi) -+struct pic2_info *pi; -+{ -+ int x, xw; -+ pixel cc; -+ -+ xw = pi->block->x_wid; -+ cc = pi->vram_now[xw - 1]; /* last color */ -+ pi->vram_next[-1] = cc; -+ -+ /* mark change point */ -+ for (x = 0; x < xw; x++) -+ if (cc != pi->vram_next[x]) { -+ pi->flag_next[x] = 1; -+ cc = pi->vram_next[x]; -+ } else -+ pi->flag_next[x] = 0; -+ -+ for (x = 0; x < xw; x++) -+ if (pi->flag_now[x] == 1) { /* change point */ -+ if (pi->aa >= 1023) -+ pi->aa++; -+ pic2_fast_write_length(pi, pi->aa); -+ pic2_fast_flush_chain(pi); -+ pi->aa = 0; -+ pic2_fast_write_color(pi, x); -+ pic2_fast_press_chain(pi, x); -+ } else if (pi->flag_now[x] == 0) { -+ pi->aa++; -+ } else { -+ pic2_fast_press_chain2(pi, x); -+ if (pi->cc == 1023) { -+ pic2_fast_write_length(pi, 1023); -+ pic2_fast_flush_chain(pi); -+ pi->aa = 0; -+ } -+ } -+} -+ -+static int pic2_fast_press_line(pi, line) -+struct pic2_info *pi; -+pixel **line; -+{ -+ int xw, ymax; -+ -+ xw = pi->block->x_wid; -+ ymax = pi->block->y_wid -1; -+ -+ pic2_handle_para(pi, 0); -+ -+ if (pi->ynow == 0) { /* first line */ -+ int x; -+ pixel cc = 0; -+ -+ /* initialize flags */ -+ xvbzero((char *) pi->cache, 256 * sizeof(pi->cache[0])); -+ xvbzero((char *) pi->cache_pos, -+ PIC2_FAST_CACHE * sizeof(pi->cache_pos[0])); -+ -+ /* mark change point */ -+ pi->vram_next[-1] = cc; -+ for (x = 0; x < xw; x++) -+ if (cc != pi->vram_next[x]) { -+ pi->flag_next[x] = 1; -+ cc = pi->vram_next[x]; -+ } else -+ pi->flag_next[x] = 0; -+ -+ pi->cc = 0; -+ pi->aa = 0; -+ } else /* after second line */ -+ pic2_fast_press_line2(pi); -+ -+ if (pi->ynow == ymax) { -+ pi->ynow++; -+ pic2_handle_para(pi, 1); -+ pic2_handle_para(pi, 0); -+ pic2_fast_press_line2(pi); -+ } -+ /* line buffer for next data */ -+ if (line != NULL) -+ *line = pi->vram_prev; -+ -+ pi->ynow++; -+ -+ if (pi->ynow - 1 < ymax) { -+ pic2_handle_para(pi, 1); -+ return (pi->ynow); -+ } else { /* end */ -+ pic2_handle_para(pi, 1); -+ if (pi->aa >= 1023) -+ pi->aa++; -+ pic2_fast_write_length(pi, pi->aa); -+ pic2_fast_flush_chain(pi); -+ return (-2); /* end */ -+ } -+} -+ -+static int pic2_fast_saver_init(pi, line) -+struct pic2_info *pi; -+pixel **line; -+{ -+ pi->ynow = 0; -+ -+ /* check the color depth */ -+ if (pi->header->depth % 3) -+ pic2_error(pi, PIC2_DEPTH); -+ -+ /* set next line function */ -+ pi->next_line = pic2_fast_press_line; -+ if (line != NULL) -+ *line = pi->vram_next + 4; -+ -+ pic2_seek_file(pi, pi->next_pos + PIC2_BLOCK_HEADER_SIZE, SEEK_SET); -+ -+ /* clear bit field marker */ -+ pi->bs.rest = 0; -+ pi->bs.cur = 0; -+ -+ return (0); -+} -+ -+/* -+ * These functions are beta pic2 format compressor. -+ */ -+static int pic2_beta_press_line(pi, line) -+struct pic2_info *pi; -+pixel **line; -+{ -+ int i, xw, ymax; -+ byte *p; -+ pixel *pc; -+ short depth, pixbyte, colbits; -+ -+ depth = pi->header->depth; -+ pixbyte = depth / 8 + ((depth % 8) > 0); -+ colbits = depth / 3; -+ -+ xw = pi->block->x_wid; -+ ymax = pi->block->y_wid - 1; -+ -+ pc = pi->vram_now; -+ p = (byte *) pi->vram_prev; -+ if (pixbyte == 3) { -+ for (i = 0; i < xw; i++, pc++) { -+ *p++ = *pc >> 16; -+ *p++ = *pc >> 8; -+ *p++ = *pc; -+ } -+ pic2_write_file(pi, pi->vram_prev, (size_t) (xw * 3)); -+ } else if (pixbyte == 2) { -+ if (strncmp(pi->block->id, "P2BM", 4) == 0) -+ for (i = 0; i < xw; i++, pc++) { -+ if (colbits == 5) { -+ *pc = pic2_exchange_rg(*pc, colbits); -+ *pc <<= 1; -+ } -+ *p++ = *pc >> 8; -+ *p++ = *pc; -+ } -+ else -+ for (i = 0; i < xw; i++, pc++) { -+ if (colbits == 5) { -+ *pc = pic2_exchange_rg(*pc, colbits); -+ *pc <<= 1; -+ } -+ *p++ = *pc; -+ *p++ = *pc >> 8; -+ } -+ pic2_write_file(pi, pi->vram_prev, (size_t) (xw * 2)); -+ } else { -+ for (i = 0; i < xw; i++, pc++) -+ *p++ = *pc; -+ pic2_write_file(pi, pi->vram_prev, (size_t) xw); -+ } -+ if (line != NULL) -+ *line = pi->vram_now; -+ -+ pi->ynow++; -+ if (pi->ynow > ymax) -+ return (-2); -+ return (pi->ynow); -+} -+ -+static int pic2_beta_saver_init(pi, line) -+struct pic2_info *pi; -+pixel **line; -+{ -+ pi->ynow = 0; -+ -+ *line = pi->vram_now; -+ pi->next_line = pic2_beta_press_line; -+ pic2_seek_file(pi, pi->next_pos + PIC2_BLOCK_HEADER_SIZE, SEEK_SET); -+ return (0); -+} -+ -+/* -+ * This function saves compressed data. -+ */ -+static void pic2_write_data(pi, data, ptype, x_offset, y_offset, w, h, -+ rmap, gmap, bmap, type, depth) -+struct pic2_info *pi; -+byte *data; -+int ptype; -+int x_offset, y_offset; -+int w, h; -+byte *rmap, *gmap, *bmap; -+int type, depth; -+{ -+ int i, line; -+ pixel *linep; -+ short colbits; -+ -+ colbits = pi->header->depth / 3; -+ -+ line = pic2_save_block(pi, &linep, x_offset, y_offset, w, h, -+ form_tab[type].id, 0xffffffff); -+ while (line >= 0) { -+ byte r, g, b; -+ int pic_idx; -+ -+ pic_idx = line * w * ((ptype == PIC24) ? 3 : 1); -+ -+ for (i = 0; i < w; i++) { -+ if (ptype != PIC24) { -+ r = rmap[data[pic_idx]]; -+ g = gmap[data[pic_idx]]; -+ b = bmap[data[pic_idx]]; -+ pic_idx++; -+ } else { -+ r = data[pic_idx++]; -+ g = data[pic_idx++]; -+ b = data[pic_idx++]; -+ } -+ if (pi->writing_grey) -+ r = g = b = MONO(r, g, b); -+ -+ r = pic2_convert_color_bits(r, 8, colbits); -+ g = pic2_convert_color_bits(g, 8, colbits); -+ b = pic2_convert_color_bits(b, 8, colbits); -+ -+ linep[i] = ((pixel) r << (colbits * 2)) -+ | ((pixel) g << colbits ) -+ | ((pixel) b ); -+ } -+ line = pic2_next_line(pi, &linep); -+ WaitCursor(); -+ } -+} -+ -+/* -+ * This function compresses/extracts one line buffer. -+ */ -+static int pic2_next_line(pi, line) -+struct pic2_info *pi; -+pixel **line; -+{ -+ int res; -+ -+ res = pi->next_line(pi, line); -+ if (res == -2) { -+ if (pi->mode == PIC2_WRITE_MODE) { -+ long new_pos; -+ -+ new_pos = pic2_tell_file(pi); -+ pi->block->size = new_pos - pi->next_pos; -+ pic2_seek_file(pi, pi->next_pos, SEEK_SET); -+ pic2_write_block_header(pi); -+ pi->next_pos = new_pos; -+ if (DEBUG) -+ pic2_show_pic2_info(pi); -+ } -+ pic2_free_buffer(pi); -+ } -+ return (res); -+} -+ -+/* -+ * These functions find the pic2 image block. -+ * pic2_next_block: -+ * moves the file pointer to the next image block. -+ * pic2_find_block: -+ * finds the first image block and moves the file pointer there. -+ */ -+static int pic2_next_block(pi) -+struct pic2_info *pi; -+{ -+ int i; -+ -+ if (pi->mode != PIC2_READ_MODE) -+ return (-1); -+ -+ /* go to block for read */ -+ pic2_seek_file(pi, pi->next_pos, SEEK_SET); -+ -+ /* read the head of block header */ -+ pic2_read_block_header1(pi); -+ -+ /* end block ? */ -+ if (pi->block->id[0] == 0) -+ return (0); -+ -+ /* set current block */ -+ pi->block_pos = pi->next_pos; -+ -+ /* set next block */ -+ pi->next_pos += pi->block->size; -+ -+ /* check block id */ -+ for (i = 0; i < n_form_tab; i++) { -+ if (xvbcmp(pi->block->id, form_tab[i].id, (size_t) 4) == 0) -+ break; -+ } -+ if (i == n_form_tab) -+ return (2); -+ -+ /* read the rest of block header */ -+ pic2_read_block_header2(pi); -+ -+ if (pi->block->x_offset + pi->block->x_wid > pi->x_max) -+ pi->x_max = pi->block->x_offset + pi->block->x_wid; -+ -+ if (pi->block->y_offset + pi->block->y_wid > pi->y_max) -+ pi->y_max = pi->block->y_offset + pi->block->y_wid; -+ -+ if (DEBUG) -+ pic2_show_pic2_info(pi); -+ return (1); -+} -+ -+static int pic2_find_block(pi) -+struct pic2_info *pi; -+{ -+ if (pi->mode != PIC2_READ_MODE) -+ return (-1); -+ -+ pi->next_pos = pi->header->size; -+ return (pic2_next_block(pi)); -+} -+ -+/* -+ * These functions load/save the pic2 image block. -+ * pic2_load_block: -+ * initializes loader information with current block information. -+ * pic2_save_block: -+ * initializes saver information. -+ */ -+static int pic2_load_block(pi) -+struct pic2_info *pi; -+{ -+ int i; -+ -+ for (i = 0; i < n_form_tab; i++) { -+ if (xvbcmp(pi->block->id, form_tab[i].id, (size_t) 4) == 0) -+ break; -+ } -+ if (i == n_form_tab) -+ return (2); -+ -+ pic2_alloc_buffer(pi); -+ return (form_tab[i].loader_init(pi)); -+} -+ -+static int pic2_save_block(pi, line, x, y, xw, yw, id, opaque) -+struct pic2_info *pi; -+pixel **line; -+int x, y, xw, yw; -+char *id; -+pixel opaque; -+{ -+ int i; -+ -+ for (i = 0; i < n_form_tab; i++) { -+ if (xvbcmp(id, form_tab[i].id, (size_t) 4) == 0) -+ break; -+ } -+ if (i == n_form_tab) -+ return (2); -+ -+ strncpy(pi->block->id, id, 4); -+ pi->block->x_wid = xw; -+ pi->block->y_wid = yw; -+ pi->block->x_offset = x; -+ pi->block->y_offset = y; -+ pi->block->reserve = 0; -+ -+ if (x < 0) -+ x = 0; -+ if (y < 0) -+ y = 0; -+ if (x + xw > pi->x_max) -+ pi->x_max = x + xw; -+ if (y + yw > pi->y_max) -+ pi->y_max = y + yw; -+ -+ if (opaque != 0xffffffff) { -+ pi->block->flag = 1; -+ pi->block->opaque = opaque; -+ } else { -+ pi->block->flag = 0; -+ pi->block->opaque = 0; -+ } -+ pic2_alloc_buffer(pi); -+ -+ return (form_tab[i].saver_init(pi, line)); -+} -+ -+/* -+ * These functions set/get palettes. -+ * pic2_read_palette: -+ * copy the palettes from pic2_info to PICINFO. -+ * pic2_write_palette: -+ * copy the palettes from PICINFO to pic2_info. -+ */ -+#ifndef PIC2_IGNORE_UNUSED_FUNCTIONS -+static void pic2_read_palette(pi, r, g, b) -+struct pic2_info *pi; -+byte *r, *g, *b; -+{ -+ int i; -+ -+ if (pi->n_pal > 256) -+ pi->n_pal = 256; -+ -+ if (pi->pal_bits > 8) -+ pi->pal_bits = 8; -+ -+ for (i = 0; i < pi->n_pal; i++) { -+ *r++ =pic2_convert_color_bits(pi->pal[i][0] >> (8 - pi->pal_bits), -+ pi->pal_bits, 8); -+ *g++ =pic2_convert_color_bits(pi->pal[i][1] >> (8 - pi->pal_bits), -+ pi->pal_bits, 8); -+ *b++ =pic2_convert_color_bits(pi->pal[i][2] >> (8 - pi->pal_bits), -+ pi->pal_bits, 8); -+ } -+} -+ -+static void pic2_write_palette(pi, n_pal, pal_bits, r, g, b) -+struct pic2_info *pi; -+int n_pal, pal_bits; -+byte *r, *g, *b; -+{ -+ int i; -+ -+ if (n_pal > 256) -+ pi->n_pal = 256; -+ else -+ pi->n_pal = n_pal; -+ -+ if (pal_bits > 8) -+ pi->pal_bits = 8; -+ else -+ pi->pal_bits = pal_bits; -+ -+ for (i = 0; i < n_pal; i++) { -+ pi->pal[i][0] = pic2_convert_color_bits(*r++, 8, pal_bits) -+ << (8 - pal_bits); -+ pi->pal[i][1] = pic2_convert_color_bits(*g++, 8, pal_bits) -+ << (8 - pal_bits); -+ pi->pal[i][2] = pic2_convert_color_bits(*b++, 8, pal_bits) -+ << (8 - pal_bits); -+ } -+} -+#endif /* PIC2_IGNORE_UNUSED_FUNCTIONS */ -+ -+/* -+ * These functions handle color bits. -+ * pic2_convert_color_bits: -+ * converts color bits. -+ * pic2_pad_color_bits: -+ * pads color bits. -+ * pic2_reduce_color_bits: -+ * reduces color bits. -+ * pic2_exchange_rg: -+ * exchanges red and green values. -+ */ -+static byte pic2_convert_color_bits(c, from, to) -+int c, from, to; -+{ -+ if (from == to) -+ return ((byte) c); -+ else if (from < to) -+ return (pic2_pad_color_bits(c, from, to)); -+ else -+ return (pic2_reduce_color_bits(c, from, to)); -+} -+ -+static byte pic2_pad_color_bits(c, from, to) -+int c, from, to; -+{ -+ byte p = 0; -+ -+ do { -+ to -= from; -+ p |= pic2_shift_bits(c, to); -+ } while (to >= 0); -+ return (p); -+} -+ -+static byte pic2_reduce_color_bits(c, from, to) -+int c, from, to; -+{ -+ return ((byte) (c >> (from - to))); -+} -+ -+static pixel pic2_exchange_rg(p, colbits) -+pixel p; -+int colbits; -+{ -+ pixel rmask, gmask, bmask; -+ -+ rmask = (0xff >> (8 - colbits)) << (colbits * 2); -+ gmask = (0xff >> (8 - colbits)) << colbits; -+ bmask = (0xff >> (8 - colbits)); -+ -+ p = ((p << colbits) & rmask) -+ | ((p >> colbits) & gmask) -+ | ( p & bmask); -+ return (p); -+} -+ -+/* -+ * This function handles work memory buffer. -+ */ -+static void pic2_handle_para(pi, mode) -+struct pic2_info *pi; -+int mode; -+{ -+ static pixel *vram_prev, *vram_now, *vram_next; -+ static short *flag_now, *flag_next; -+ static short *flag2_now, *flag2_next, *flag2_next2; -+ -+ switch (mode) { -+ case 0: -+ vram_prev = pi->vram_prev; -+ vram_now = pi->vram_now; -+ vram_next = pi->vram_next; -+ flag_now = pi->flag_now; -+ flag_next = pi->flag_next; -+ flag2_now = pi->flag2_now; -+ flag2_next = pi->flag2_next; -+ flag2_next2 = pi->flag2_next2; -+ pi->vram_prev += 4; -+ pi->vram_now += 4; -+ pi->vram_next += 4; -+ pi->flag_now += 4; -+ pi->flag_next += 4; -+ pi->flag2_now += 4; -+ pi->flag2_next += 4; -+ pi->flag2_next2 += 4; -+ break; -+ case 1: -+ pi->vram_prev = vram_now; -+ pi->vram_now = vram_next; -+ pi->vram_next = vram_prev; -+ pi->flag_now = flag_next; -+ pi->flag_next = flag_now; -+ pi->flag2_now = flag2_next; -+ pi->flag2_next = flag2_next2; -+ pi->flag2_next2 = flag2_now; -+ break; -+ } -+} -+ -+/* -+ * These functions alloc/free work memory. -+ * pic2_alloc_buffer: -+ * alloc work memory buffer. -+ * pic2_free_buffer: -+ * free work memory buffer. -+ */ -+static int pic2_alloc_buffer(pi) -+struct pic2_info *pi; -+{ -+ int wid; -+ byte *p; -+ -+ if (pi->buf != NULL) -+ return (-1); -+ -+ wid = pi->block->x_wid; -+ -+ p = pi->buf = (byte *) pic2_new((wid + 8) * sizeof(pixel) * 3 // GRR POSSIBLE OVERFLOW / FIXME -+ + sizeof(pi->cache[0]) * 8 * 8 * 8 -+ + sizeof(pi->cache_pos[0]) * 8 * 8 * 8 -+ + sizeof(pi->mulu_tab[0]) * 16384 -+ + sizeof(pi->flag_now[0]) * ((wid+8) * 5), -+ "pic2_alloc_buffer"); -+ -+ pi->vram_prev = (pixel *) p; -+ p += (wid + 8) * sizeof(pixel); -+ pi->vram_now = (pixel *) p; -+ p += (wid + 8) * sizeof(pixel); -+ pi->vram_next = (pixel *) p; -+ p += (wid + 8) * sizeof(pixel); -+ pi->cache = (pixel (*)[PIC2_ARITH_CACHE]) p; -+ p += sizeof(pi->cache[0]) * 8 * 8 * 8; -+ pi->cache_pos = (unsigned short *) p; -+ p += sizeof(pi->cache_pos[0]) * 8 * 8 * 8; -+ pi->mulu_tab = (unsigned short *) p; -+ p += sizeof(pi->mulu_tab[0]) * 16384; -+ pi->flag_now = (short *) p; -+ p += sizeof(pi->flag_now[0]) * (wid + 8); -+ pi->flag_next = (short *) p; -+ p += sizeof(pi->flag_next[0]) * (wid + 8); -+ pi->flag2_now = (short *) p; -+ p += sizeof(pi->flag2_now[0]) * (wid + 8); -+ pi->flag2_next = (short *) p; -+ p += sizeof(pi->flag2_next[0]) * (wid + 8); -+ pi->flag2_next2 = (short *) p; -+ p += sizeof(pi->flag2_next2[0]) * (wid + 8); -+ return (0); -+} -+ -+static void pic2_free_buffer(pi) -+struct pic2_info *pi; -+{ -+ free(pi->buf); -+ pi->buf = NULL; -+} -+ -+/* -+ * These functions handle the file pointer. -+ * pic2_seek_file: -+ * moves the file pointer. -+ * pic2_tell_file: -+ * tells the location of the file pointer. -+ */ -+static long pic2_seek_file(pi, offset, whence) -+struct pic2_info *pi; -+long offset; -+int whence; -+{ -+ long n; -+ -+ n = fseek(pi->fp, offset, whence); -+ if (n < 0) -+ pic2_file_error(pi, PIC2_CORRUPT); -+ -+ return (n); -+} -+ -+static long pic2_tell_file(pi) -+struct pic2_info *pi; -+{ -+ return (ftell(pi->fp)); -+} -+ -+/* -+ * These functions handle file. -+ * pic2_read_file: -+ * reads data from the file. -+ * pic2_read_long: -+ * reads long word data from the file and converts to internal expression. -+ * pic2_read_short: -+ * reads word data from the file and converts to internal expression. -+ * pic2_read_char: -+ * reads byte data from the file. -+ * pic2_write_file: -+ * writes data to the file. -+ * pic2_write_long: -+ * converts long word data to common expression and writes to the file. -+ * pic2_write_short: -+ * converts word data to common expression and writes to the file. -+ * pic2_write_char: -+ * writes byte data to the file. -+ */ -+static int pic2_read_file(pi, buf, size) -+struct pic2_info *pi; -+void *buf; -+size_t size; -+{ -+ if (fread(buf, (size_t) 1, size, pi->fp) < size) -+ pic2_file_error(pi, PIC2_CORRUPT); -+ return (0); -+} -+ -+static long pic2_read_long(pi) -+struct pic2_info *pi; -+{ -+ byte buf[4]; -+ -+ if (fread(buf, (size_t) 4, (size_t) 1, pi->fp) < 1) -+ pic2_file_error(pi, PIC2_CORRUPT); -+ return (pic2_cextolong(buf)); -+} -+ -+static short pic2_read_short(pi) -+struct pic2_info *pi; -+{ -+ byte buf[2]; -+ -+ if (fread(buf, (size_t) 2, (size_t) 1, pi->fp) < 1) -+ pic2_file_error(pi, PIC2_CORRUPT); -+ return (pic2_cextoshort(buf)); -+} -+ -+static char pic2_read_char(pi) -+struct pic2_info *pi; -+{ -+ int c; -+ -+ if ((c = fgetc(pi->fp)) == EOF) -+ pic2_file_error(pi, PIC2_CORRUPT); -+ return ((char) c); -+} -+ -+static int pic2_write_file(pi, buf, size) -+struct pic2_info *pi; -+void *buf; -+size_t size; -+{ -+ if (fwrite(buf, (size_t) 1, size, pi->fp) < size) -+ pic2_error(pi, PIC2_WRITE); -+ return (0); -+} -+ -+static int pic2_write_long(pi, n) -+struct pic2_info *pi; -+long n; -+{ -+ byte buf[4]; -+ -+ pic2_longtocex(buf, n); -+ if (fwrite(buf, (size_t) 4, (size_t) 1, pi->fp) < 1) -+ pic2_error(pi, PIC2_WRITE); -+ return (0); -+} -+ -+static int pic2_write_short(pi, n) -+struct pic2_info *pi; -+int n; -+{ -+ byte buf[2]; -+ -+ pic2_shorttocex(buf, n); -+ if (fwrite(buf, (size_t) 2, (size_t) 1, pi->fp) < 1) -+ pic2_error(pi, PIC2_WRITE); -+ return (0); -+} -+ -+static int pic2_write_char(pi, c) -+struct pic2_info *pi; -+int c; -+{ -+ if (fputc(c, pi->fp) == EOF) -+ pic2_error(pi, PIC2_WRITE); -+ return (0); -+} -+ -+/* -+ * These functions access the bit stream. -+ * pic2_read_bits: -+ * reads the specified bits from the file. -+ * pic2_write_bits: -+ * writes the specified bits to the file. -+ * pic2_flush_bits: -+ * flushes bit buffer to the file. -+ */ -+static unsigned long pic2_read_bits(pi, bits) -+struct pic2_info *pi; -+int bits; -+{ -+ unsigned long r = 0; -+ -+ while (bits > 0) { -+ while (pi->bs.rest > 0 && bits > 0) { -+ r = (r << 1) | (pi->bs.cur & 0x80 ? 1 : 0); -+ pi->bs.cur <<= 1; -+ pi->bs.rest--; -+ bits--; -+ } -+ if (bits > 0) { -+ int c; -+ if ((c = fgetc(pi->fp)) == EOF) -+ pic2_file_error(pi, PIC2_CORRUPT); -+ pi->bs.cur = (byte) c; -+ pi->bs.rest = 8; -+ } -+ } -+ return r; -+} -+ -+static void pic2_write_bits(pi, dat, bits) -+struct pic2_info *pi; -+unsigned long dat; -+int bits; -+{ -+ unsigned long dat_mask = 1 << (bits - 1); -+ -+ while (bits > 0) { -+ while (pi->bs.rest < 8 && bits > 0) { -+ pi->bs.cur <<= 1; -+ if (dat & dat_mask) -+ pi->bs.cur |= 1; -+ pi->bs.rest++; -+ bits--; -+ dat_mask >>= 1; -+ } -+ if (pi->bs.rest >= 8) { -+ if ((fputc((int) pi->bs.cur, pi->fp)) == EOF) -+ pic2_error(pi, PIC2_WRITE); -+ pi->bs.cur = 0; -+ pi->bs.rest = 0; -+ } -+ } -+} -+ -+static void pic2_flush_bits(pi) -+struct pic2_info *pi; -+{ -+ if (pi->bs.rest < 8) { -+ pi->bs.cur <<= 8 - pi->bs.rest; -+ if (fputc((int) pi->bs.cur, pi->fp) == EOF) -+ pic2_error(pi, PIC2_WRITE); -+ pi->bs.cur = 0; -+ pi->bs.rest = 0; -+ } -+} -+ -+/* -+ * These functions initialize or clean up structures. -+ * pic2_init_info: -+ * initializes a pic2_info structure. -+ * pic2_cleanup_pic2_info: -+ * cleans up a pic_info structure. -+ * pic2_cleanup_pinfo: -+ * cleans up a PICINFO structure. -+ */ -+static void pic2_init_info(pi) -+struct pic2_info *pi; -+{ -+ xvbzero((char *) pi, sizeof(struct pic2_info)); -+ pi->header = pic2_new(sizeof(struct pic2_header), "pic2_init_info#1"); -+ pi->block = pic2_new(sizeof(struct pic2_block), "pic2_init_info#2"); -+} -+ -+static void pic2_cleanup_pic2_info(pi, writing) -+struct pic2_info *pi; -+int writing; -+{ -+ if (!writing && pi->fp) -+ fclose(pi->fp); -+ if (pi->header) -+ free(pi->header); -+ if (pi->block) -+ free(pi->block); -+ pi->fp = NULL; -+ pi->header = NULL; -+ pi->block = NULL; -+ pi->comment = NULL; -+} -+ -+static void pic2_cleanup_pinfo(pinfo) -+PICINFO *pinfo; -+{ -+ if (pinfo->pic){ -+ free(pinfo->pic); -+ pinfo->pic = NULL; -+ } -+ if (pinfo->comment){ -+ free(pinfo->comment); -+ pinfo->comment = NULL; -+ } -+} -+ -+/* -+ * Error Handlers. -+ * pic2_memory_error: -+ * shows an error message and terminates. -+ * pic2_error: -+ * shows a non-file error message and jumps to the entry for errors. -+ * pic2_file_error: -+ * shows a file error message and jumps to the entry for errors. -+ */ -+static void pic2_memory_error(scm, fn) -+char *scm, *fn; -+{ -+ char buf[128]; -+ sprintf(buf, "%s: can't allocate memory. (%s)", scm, fn); -+ FatalError(buf); -+} -+ -+static void pic2_error(pi, mn) -+struct pic2_info *pi; -+int mn; -+{ -+ SetISTR(ISTR_WARNING, "%s", pic2_msgs[mn]); -+ longjmp(pi->jmp, 1); -+} -+ -+static void pic2_file_error(pi, mn) -+ struct pic2_info *pi; -+ int mn; -+{ -+ if (feof(pi->fp)) -+ SetISTR(ISTR_WARNING, "%s (end of file)", pic2_msgs[mn]); -+ else -+ SetISTR(ISTR_WARNING, "%s (%s)", pic2_msgs[mn], ERRSTR(errno)); -+ longjmp(pi->jmp, 1); -+} -+ -+static void pic2_show_pic2_info(pi) -+ struct pic2_info *pi; -+{ -+ fprintf(stderr, "file size: %ld.\n", pi->fsize); -+ fprintf(stderr, "full image size: %dx%d\n", pi->x_max, pi->y_max); -+ fprintf(stderr, "number of palettes: %d\n", pi->n_pal); -+ fprintf(stderr, "depth of palettes: %d\n", pi->pal_bits); -+ fprintf(stderr, "current block position: %ld\n", pi->block_pos); -+ fprintf(stderr, "next block position: %ld\n\n", pi->next_pos); -+ -+ fprintf(stderr, "header flag: %x\n", pi->header->flag); -+ fprintf(stderr, "header size: %ld\n", pi->header->size); -+ fprintf(stderr, "x_aspect: %d, y_aspect: %d\n", -+ pi->header->x_aspect, pi->header->y_aspect); -+ fprintf(stderr, "number of color bits: %d\n\n", pi->header->depth); -+ -+ fprintf(stderr, "image block id: %s\n", pi->block->id); -+ fprintf(stderr, "image block size: %ld\n", pi->block->size); -+ fprintf(stderr, "block flag: %x\n", pi->block->flag); -+ -+ fprintf(stderr, "block image size: %dx%d\n", -+ pi->block->x_wid, pi->block->y_wid); -+ fprintf(stderr, "x_offset: %d\n", pi->block->x_offset); -+ fprintf(stderr, "y_offset: %d\n", pi->block->y_offset); -+ fprintf(stderr, "opaque color: %lx\n\n", pi->block->opaque); -+} -+ -+/* -+ * This function is similar to strncpy. -+ * But this pads with whitespace after the null character. -+ */ -+static char *pic2_strncpy(dest, src, n) -+char *dest, *src; -+size_t n; -+{ -+ char *r; -+ -+ r = dest; -+ while (n--) -+ if ((src != NULL) && (*src != '\r') && (*src != '\n') && *src) -+ *dest++ = *src++; -+ else -+ *dest++ = ' '; -+ return (r); -+} -+ -+/* -+ * These functions create a memory block. -+ */ -+static void *pic2_malloc(size, fn) -+size_t size; -+char *fn; -+{ -+ void *p; -+ -+ p = (void *) malloc(size); -+ if (p == NULL) -+ pic2_memory_error("malloc", fn); -+ return (p); -+} -+ -+static void *pic2_new(size, fn) -+size_t size; -+char *fn; -+{ -+ void *p; -+ -+ p = (void *) pic2_malloc(size, fn); -+ xvbzero((char *) p, size); -+ return (p); -+} -+ -+ -+ -+ -+/**** Stuff for PIC2Dialog box ****/ -+ -+#define TWIDE 320 -+#define THIGH 178 -+#define T_NBUTTS 2 -+#define T_BOK 0 -+#define T_BCANC 1 -+#define BUTTH 24 -+ -+static void drawTD PARM((int,int,int,int)); -+static void clickTD PARM((int,int)); -+static void doCmd PARM((int)); -+static void writePIC2 PARM((void)); -+ -+/* local variables */ -+static FILE *fp; -+static char *filename; -+static int colorType; -+static int append; -+static int x_offset; -+static int y_offset; -+static BUTT tbut[T_NBUTTS]; -+static RBUTT *typeRB; -+static RBUTT *depthRB; -+ -+ -+ -+/***************************************************/ -+void CreatePIC2W() -+{ -+ int y; -+ -+ pic2W = CreateWindow("xv pic2", "XVpic2", NULL, -+ TWIDE, THIGH, infofg, infobg, 0); -+ if (!pic2W) -+ FatalError("can't create pic2 window!"); -+ -+ XSelectInput(theDisp, pic2W, -+ ExposureMask | ButtonPressMask | KeyPressMask); -+ -+ BTCreate(&tbut[T_BOK], pic2W, TWIDE-140-1, THIGH-10-BUTTH-1, 60, BUTTH, -+ "Ok", infofg, infobg, hicol, locol); -+ -+ BTCreate(&tbut[T_BCANC], pic2W, TWIDE-70-1, THIGH-10-BUTTH-1, 60, BUTTH, -+ "Cancel", infofg, infobg, hicol, locol); -+ -+ y = 55; -+ typeRB = RBCreate(NULL, pic2W, 36, y, "P2SS", -+ infofg, infobg,hicol,locol); -+ RBCreate(typeRB, pic2W, 36, y+18, "P2SF", -+ infofg, infobg,hicol,locol); -+ RBCreate(typeRB, pic2W, 36, y+36, "P2BM", -+ infofg, infobg, hicol, locol); -+ RBCreate(typeRB, pic2W, 36, y+54, "P2BI", -+ infofg, infobg, hicol, locol); -+ -+ depthRB = RBCreate(NULL, pic2W, TWIDE/2-16, y, " 3bit", -+ infofg, infobg,hicol,locol); -+ RBCreate(depthRB, pic2W, TWIDE/2-16, y+18, " 6bit", -+ infofg, infobg,hicol,locol); -+ RBCreate(depthRB, pic2W, TWIDE/2-16, y+36, " 9bit", -+ infofg, infobg, hicol, locol); -+ RBCreate(depthRB, pic2W, TWIDE/2-16, y+54, "12bit", -+ infofg, infobg, hicol, locol); -+ RBCreate(depthRB, pic2W, TWIDE/4*3-16, y, "15bit", -+ infofg, infobg, hicol, locol); -+ RBCreate(depthRB, pic2W, TWIDE/4*3-16, y+18, "18bit", -+ infofg, infobg, hicol, locol); -+ RBCreate(depthRB, pic2W, TWIDE/4*3-16, y+36, "21bit", -+ infofg, infobg, hicol, locol); -+ RBCreate(depthRB, pic2W, TWIDE/4*3-16, y+54, "24bit", -+ infofg, infobg, hicol, locol); -+ -+ XMapSubwindows(theDisp, pic2W); -+} -+ -+ -+/***************************************************/ -+void PIC2Dialog(vis) -+int vis; -+{ -+ if (vis) { -+ CenterMapWindow(pic2W, tbut[T_BOK].x + tbut[T_BOK].w/2, -+ tbut[T_BOK].y + tbut[T_BOK].h/2, TWIDE, THIGH); -+ } -+ else XUnmapWindow(theDisp, pic2W); -+ pic2Up = vis; -+} -+ -+ -+/***************************************************/ -+int PIC2CheckEvent(xev) -+XEvent *xev; -+{ -+ /* check event to see if it's for one of our subwindows. If it is, -+ deal accordingly and return '1'. Otherwise, return '0'. */ -+ -+ int rv; -+ rv = 1; -+ -+ if (!pic2Up) -+ return (0); -+ -+ if (xev->type == Expose) { -+ int x,y,w,h; -+ XExposeEvent *e = (XExposeEvent *) xev; -+ x = e->x; y = e->y; w = e->width; h = e->height; -+ -+ if (e->window == pic2W) drawTD(x, y, w, h); -+ else rv = 0; -+ } -+ -+ else if (xev->type == ButtonPress) { -+ XButtonEvent *e = (XButtonEvent *) xev; -+ int x,y; -+ x = e->x; y = e->y; -+ -+ if (e->button == Button1) { -+ if (e->window == pic2W) clickTD(x,y); -+ else rv = 0; -+ } /* button1 */ -+ else rv = 0; -+ } /* button press */ -+ -+ -+ else if (xev->type == KeyPress) { -+ XKeyEvent *e = (XKeyEvent *) xev; -+ char buf[128]; KeySym ks; XComposeStatus status; -+ int stlen; -+ -+ stlen = XLookupString(e,buf,128,&ks,&status); -+ buf[stlen] = '\0'; -+ -+ if (e->window == pic2W) { -+ if (stlen) { -+ if (buf[0] == '\r' || buf[0] == '\n') { /* enter */ -+ FakeButtonPress(&tbut[T_BOK]); -+ } -+ else if (buf[0] == '\033') { /* ESC */ -+ FakeButtonPress(&tbut[T_BCANC]); -+ } -+ } -+ } -+ else rv = 0; -+ } -+ else rv = 0; -+ -+ if (rv == 0 && (xev->type == ButtonPress || xev->type == KeyPress)) { -+ XBell(theDisp, 50); -+ rv = 1; /* eat it */ -+ } -+ -+ return (rv); -+} -+ -+ -+/***************************************************/ -+int PIC2SaveParams(fname, col) -+char *fname; -+int col; -+{ -+ filename = fname; -+ colorType = col; -+ -+ /* see if we can open the output file before proceeding */ -+ fp = pic2_OpenOutFile(filename, &append); -+ if (!fp) -+ return (-1); -+ -+ RBSetActive(typeRB,0,1); -+ RBSetActive(typeRB,1,1); -+ RBSetActive(typeRB,2,1); -+ RBSetActive(typeRB,3,1); -+ RBSelect(typeRB,0); -+ -+ -+ if (append) { -+ struct pic2_info pic2; -+ -+ pic2_init_info(&pic2); -+ pic2.fp = fp; -+ pic2_read_header(&pic2); -+ -+ RBSetActive(depthRB,0,0); -+ RBSetActive(depthRB,1,0); -+ RBSetActive(depthRB,2,0); -+ RBSetActive(depthRB,3,0); -+ RBSetActive(depthRB,4,0); -+ RBSetActive(depthRB,5,0); -+ RBSetActive(depthRB,6,0); -+ RBSetActive(depthRB,7,0); -+ -+ switch (pic2.header->depth) { -+ case 3: -+ RBSetActive(depthRB,0,1); -+ RBSelect(depthRB,0); -+ RBSetActive(typeRB,3,0); -+ break; -+ case 6: -+ RBSetActive(depthRB,1,1); -+ RBSelect(depthRB,1); -+ RBSetActive(typeRB,3,0); -+ break; -+ case 9: -+ RBSetActive(depthRB,2,1); -+ RBSelect(depthRB,2); -+ break; -+ case 12: -+ RBSetActive(depthRB,3,1); -+ RBSelect(depthRB,3); -+ break; -+ case 15: -+ RBSetActive(depthRB,4,1); -+ RBSelect(depthRB,4); -+ break; -+ case 18: -+ RBSetActive(depthRB,5,1); -+ RBSelect(depthRB,5); -+ RBSetActive(typeRB,3,0); -+ break; -+ case 21: -+ RBSetActive(depthRB,6,1); -+ RBSelect(depthRB,6); -+ RBSetActive(typeRB,3,0); -+ break; -+ case 24: -+ RBSetActive(depthRB,7,1); -+ RBSelect(depthRB,7); -+ RBSetActive(typeRB,3,0); -+ break; -+ default: { -+ char str[512]; -+ sprintf(str, "unsupported PIC2 file '%s'.", filename); -+ ErrPopUp(str, "\nBummer"); -+ CloseOutFile(fp, filename, 0); -+ fp = OpenOutFile(fname); -+ if (!fp) -+ return (-1); -+ break; -+ } -+ } -+ pic2_seek_file(&pic2, 0, SEEK_SET); -+ pic2_cleanup_pic2_info(&pic2, 1); -+ } else { -+ RBSetActive(depthRB,0,1); -+ RBSetActive(depthRB,1,1); -+ RBSetActive(depthRB,2,1); -+ RBSetActive(depthRB,3,1); -+ RBSetActive(depthRB,4,1); -+ RBSetActive(depthRB,5,1); -+ RBSetActive(depthRB,6,1); -+ RBSetActive(depthRB,7,1); -+ RBSelect(depthRB,7); -+ RBSetActive(typeRB,3,0); -+ } -+ return (0); -+} -+ -+ -+/***************************************************/ -+static void drawTD(x,y,w,h) -+int x,y,w,h; -+{ -+ char *title = "Save PIC2 file..."; -+ int i; -+ XRectangle xr; -+ -+ xr.x = x; xr.y = y; xr.width = w; xr.height = h; -+ XSetClipRectangles(theDisp, theGC, 0,0, &xr, 1, Unsorted); -+ -+ XSetForeground(theDisp, theGC, infofg); -+ XSetBackground(theDisp, theGC, infobg); -+ -+ for (i = 0; i < T_NBUTTS; i++) -+ BTRedraw(&tbut[i]); -+ -+ ULineString(pic2W, typeRB->x-16, typeRB->y-3-DESCENT, "FormatType"); -+ ULineString(pic2W, depthRB->x-16, depthRB->y-3-DESCENT, "ColorDepth"); -+ RBRedraw(typeRB, -1); -+ RBRedraw(depthRB, -1); -+ -+ DrawString(pic2W, 20, 29, title); -+ -+ XSetClipMask(theDisp, theGC, None); -+} -+ -+static void clickTD(x,y) -+int x,y; -+{ -+ int i; -+ BUTT *bp; -+ -+ /* check BUTTs */ -+ -+ /* check the RBUTTS first, since they don't DO anything */ -+ if ((i = RBClick(typeRB, x,y)) >= 0) { -+ (void) RBTrack(typeRB, i); -+ return; -+ } else if ((i = RBClick(depthRB, x,y)) >= 0) { -+ (void) RBTrack(depthRB, i); -+ if ((2 <= i) && (i <= 4)) -+ RBSetActive(typeRB,3,1); -+ else { -+ RBSetActive(typeRB,3,0); -+ if (RBWhich(typeRB) == 3) -+ RBSelect(typeRB,0); -+ return; -+ } -+ } -+ for (i = 0; i < T_NBUTTS; i++) { -+ bp = &tbut[i]; -+ if (PTINRECT(x, y, bp->x, bp->y, bp->w, bp->h)) -+ break; -+ } -+ if (i < T_NBUTTS) /* found one */ -+ if (BTTrack(bp)) -+ doCmd(i); -+} -+ -+ -+ -+/***************************************************/ -+static void doCmd(cmd) -+int cmd; -+{ -+ switch (cmd) { -+ case T_BOK: { -+ char *fullname; -+ char buf[64], *x_offsetp, *y_offsetp; -+ static const char *labels[] = { "\nOk", "\033Cancel" }; -+ XEvent event; -+ int i; -+ -+ strcpy(buf, "0,0"); -+ i = GetStrPopUp("Enter offset (x,y):", labels, 2, buf, 64, -+ "01234567890,", 1); -+ -+ if (i) -+ return; -+ if (strlen(buf)==0) -+ return; -+ -+ x_offsetp = buf; -+ y_offsetp = index(buf, ','); -+ if (!y_offsetp) -+ return; -+ *(y_offsetp++) = '\0'; -+ if ((*x_offsetp == '\0') || (*y_offsetp == '\0')) -+ return; -+ x_offset = atoi(x_offsetp); -+ y_offset = atoi(y_offsetp); -+ -+ XNextEvent(theDisp, &event); -+ HandleEvent(&event, &i); -+ -+ writePIC2(); -+ PIC2Dialog(0); -+ -+ fullname = GetDirFullName(); -+ if (!ISPIPE(fullname[0])) { -+ XVCreatedFile(fullname); -+ StickInCtrlList(0); -+ } -+ } -+ break; -+ case T_BCANC: -+ pic2_KillNullFile(fp); -+ PIC2Dialog(0); -+ break; -+ default: -+ break; -+ } -+} -+ -+ -+/*******************************************/ -+static void writePIC2() -+{ -+ int w, h, nc, rv, type, depth, ptype, pfree; -+ byte *inpix, *rmap, *gmap, *bmap; -+ -+ -+ WaitCursor(); -+ inpix = GenSavePic(&ptype, &w, &h, &pfree, &nc, &rmap, &gmap, &bmap); -+ -+ if (colorType == F_REDUCED) -+ colorType = F_FULLCOLOR; -+ -+ switch (RBWhich(typeRB)) { -+ case 0: type = P2SS; break; -+ case 1: type = P2SF; break; -+ case 2: type = P2BM; break; -+ case 3: type = P2BI; break; -+ default: type = P2SS; break; -+ } -+ switch (RBWhich(depthRB)) { -+ case 0: depth = 3; break; -+ case 1: depth = 6; break; -+ case 2: depth = 9; break; -+ case 3: depth = 12; break; -+ case 4: depth = 15; break; -+ case 5: depth = 18; break; -+ case 6: depth = 21; break; -+ case 7: depth = 24; break; -+ default: depth = 24; break; -+ } -+ rv = WritePIC2(fp, inpix, ptype, w, h, -+ rmap, gmap, bmap, nc, colorType, filename, -+ type, depth, x_offset, y_offset, append, picComments); -+ -+ if (CloseOutFile(fp, filename, rv) == 0) -+ DirBox(0); -+ -+ if (pfree) -+ free(inpix); -+} -+#endif /* HAVE_PIC2 */ -diff -u -r --new-file xv-3.10a.orig/xvpng.c xv-3.10a/xvpng.c ---- xv-3.10a.orig/xvpng.c 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/xvpng.c 2007-05-13 19:53:28.000000000 -0500 -@@ -0,0 +1,1173 @@ -+/* -+ * xvpng.c - load and write routines for 'PNG' format pictures -+ * -+ * callable functions -+ * -+ * CreatePNGW() -+ * PNGDialog(vis) -+ * PNGCheckEvent(xev) -+ * PNGSaveParams(fname, col) -+ * LoadPNG(fname, pinfo) -+ * VersionInfoPNG() -+ */ -+ -+/*#include "copyright.h"*/ -+ -+/* (c) 1995 by Alexander Lehmann -+ * This file is a suplement to xv and is supplied under the same copying -+ * conditions (except the shareware part). -+ * The copyright will be passed on to JB at some future point if he -+ * so desires. -+ * -+ * Modified by Andreas Dilger to fix -+ * error handling for bad PNGs, add dialogs for interlacing and -+ * compression selection, and upgrade to libpng-0.89. -+ * -+ * Modified by Greg Roelofs, TenThumbs and others to fix bugs and add -+ * features. See README.jumbo for details. -+ */ -+ -+#include "xv.h" -+ -+#ifdef HAVE_PNG -+ -+#include "png.h" -+ -+/*** Stuff for PNG Dialog box ***/ -+#define PWIDE 318 -+#define PHIGH 215 -+ -+#define DISPLAY_GAMMA 2.20 /* default display gamma */ -+#define COMPRESSION 6 /* default zlib compression level, not max -+ (Z_BEST_COMPRESSION) */ -+ -+#define HAVE_tRNS (info_ptr->valid & PNG_INFO_tRNS) -+ -+#define DWIDE 86 -+#define DHIGH 104 -+#define PFX (PWIDE-93) -+#define PFY 44 -+#define PFH 20 -+ -+#define P_BOK 0 -+#define P_BCANC 1 -+#define P_NBUTTS 2 -+ -+#define BUTTH 24 -+ -+#define LF 10 /* a.k.a. '\n' on ASCII machines */ -+#define CR 13 /* a.k.a. '\r' on ASCII machines */ -+ -+/*** local functions ***/ -+static void drawPD PARM((int, int, int, int)); -+static void clickPD PARM((int, int)); -+static void doCmd PARM((int)); -+static void writePNG PARM((void)); -+static int WritePNG PARM((FILE *, byte *, int, int, int, -+ byte *, byte *, byte *, int)); -+ -+static void png_xv_error PARM((png_structp png_ptr, -+ png_const_charp message)); -+static void png_xv_warning PARM((png_structp png_ptr, -+ png_const_charp message)); -+ -+/*** local variables ***/ -+static char *filename; -+static const char *fbasename; -+static int colorType; -+static int read_anything; -+static double Display_Gamma = DISPLAY_GAMMA; -+ -+static DIAL cDial, gDial; -+static BUTT pbut[P_NBUTTS]; -+static CBUTT interCB; -+static CBUTT FdefCB, FnoneCB, FsubCB, FupCB, FavgCB, FPaethCB; -+ -+ -+#ifdef PNG_NO_STDIO -+/* NOTE: Some sites configure their version of the PNG Library without -+ * Standard I/O Library interfaces in order to avoid unnecessary inter- -+ * library dependencies at link time for applications that don't need Standard -+ * I/O. If your site is one of these, the following skeletal stubs, copied -+ * from libpng code, should be enough for this module. --Scott B. Marovich, -+ * Hewlett-Packard Laboratories, March 2001. -+ */ -+static void -+png_default_read_data(png_structp png_ptr, png_bytep data, png_size_t length) -+{ -+ -+ /* fread() returns 0 on error, so it is OK to store this in a png_size_t -+ * instead of an int, which is what fread() actually returns. -+ */ -+ if (fread(data,1,length,(FILE *)png_ptr->io_ptr) != length) -+ png_error(png_ptr, "Read Error"); -+} -+ -+static void -+png_default_write_data(png_structp png_ptr, png_bytep data, png_size_t length) -+{ -+ if (fwrite(data, 1, length, (FILE *)png_ptr->io_ptr) != length) -+ png_error(png_ptr, "Write Error"); -+} -+#endif /* PNG_NO_STDIO */ -+ -+ -+/**************************************************************************/ -+/* PNG SAVE DIALOG ROUTINES ***********************************************/ -+/**************************************************************************/ -+ -+ -+/*******************************************/ -+void CreatePNGW() -+{ -+ pngW = CreateWindow("xv png", "XVPNG", NULL, -+ PWIDE, PHIGH, infofg, infobg, 0); -+ if (!pngW) FatalError("can't create PNG window!"); -+ -+ XSelectInput(theDisp, pngW, ExposureMask | ButtonPressMask | KeyPressMask); -+ -+ DCreate(&cDial, pngW, 12, 25, DWIDE, DHIGH, (double)Z_NO_COMPRESSION, -+ (double)Z_BEST_COMPRESSION, COMPRESSION, 1.0, 3.0, -+ infofg, infobg, hicol, locol, "Compression", NULL); -+ -+ DCreate(&gDial, pngW, DWIDE+27, 25, DWIDE, DHIGH, 1.0, 3.5,DISPLAY_GAMMA,0.01,0.2, -+ infofg, infobg, hicol, locol, "Disp. Gamma", NULL); -+ -+ CBCreate(&interCB, pngW, DWIDE+30, DHIGH+3*LINEHIGH+2, "interlace", -+ infofg, infobg, hicol, locol); -+ -+ CBCreate(&FdefCB, pngW, PFX, PFY, "Default", -+ infofg, infobg, hicol, locol); -+ FdefCB.val = 1; -+ -+ CBCreate(&FnoneCB, pngW, PFX, FdefCB.y + PFH + 4, "none", -+ infofg, infobg, hicol, locol); -+ CBCreate(&FsubCB, pngW, PFX, FnoneCB.y + PFH, "sub", -+ infofg, infobg, hicol, locol); -+ CBCreate(&FupCB, pngW, PFX, FsubCB.y + PFH, "up", -+ infofg, infobg, hicol, locol); -+ CBCreate(&FavgCB, pngW, PFX, FupCB.y + PFH, "average", -+ infofg, infobg, hicol, locol); -+ CBCreate(&FPaethCB, pngW, PFX, FavgCB.y + PFH, "Paeth", -+ infofg, infobg, hicol, locol); -+ -+ FnoneCB.val = FsubCB.val = FupCB.val = FavgCB.val = FPaethCB.val = 1; -+ CBSetActive(&FnoneCB, !FdefCB.val); -+ CBSetActive(&FsubCB, !FdefCB.val); -+ CBSetActive(&FupCB, !FdefCB.val); -+ CBSetActive(&FavgCB, !FdefCB.val); -+ CBSetActive(&FPaethCB, !FdefCB.val); -+ -+ BTCreate(&pbut[P_BOK], pngW, PWIDE-180-1, PHIGH-10-BUTTH-1, 80, BUTTH, -+ "Ok", infofg, infobg, hicol, locol); -+ BTCreate(&pbut[P_BCANC], pngW, PWIDE-90-1, PHIGH-10-BUTTH-1, 80, BUTTH, -+ "Cancel", infofg, infobg, hicol, locol); -+ -+ XMapSubwindows(theDisp, pngW); -+} -+ -+ -+/*******************************************/ -+void PNGDialog(vis) -+ int vis; -+{ -+ if (vis) { -+ CenterMapWindow(pngW, pbut[P_BOK].x + (int) pbut[P_BOK].w/2, -+ pbut[P_BOK].y + (int) pbut[P_BOK].h/2, -+ PWIDE, PHIGH); -+ } -+ else XUnmapWindow(theDisp, pngW); -+ pngUp = vis; -+} -+ -+ -+/*******************************************/ -+int PNGCheckEvent(xev) -+ XEvent *xev; -+{ -+ /* check event to see if it's for one of our subwindows. If it is, -+ deal accordingly, and return '1'. Otherwise, return '0' */ -+ -+ int rv; -+ rv = 1; -+ -+ if (!pngUp) return 0; -+ -+ if (xev->type == Expose) { -+ int x,y,w,h; -+ XExposeEvent *e = (XExposeEvent *) xev; -+ x = e->x; y = e->y; w = e->width; h = e->height; -+ -+ /* throw away excess expose events for 'dumb' windows */ -+ if (e->count > 0 && (e->window == cDial.win)) {} -+ -+ else if (e->window == pngW) drawPD(x, y, w, h); -+ else if (e->window == cDial.win) DRedraw(&cDial); -+ else if (e->window == gDial.win) DRedraw(&gDial); -+ else rv = 0; -+ } -+ -+ else if (xev->type == ButtonPress) { -+ XButtonEvent *e = (XButtonEvent *) xev; -+ int x,y; -+ x = e->x; y = e->y; -+ -+ if (e->button == Button1) { -+ if (e->window == pngW) clickPD(x,y); -+ else if (e->window == cDial.win) DTrack(&cDial,x,y); -+ else if (e->window == gDial.win) DTrack(&gDial,x,y); -+ else rv = 0; -+ } /* button1 */ -+ else rv = 0; -+ } /* button press */ -+ -+ else if (xev->type == KeyPress) { -+ XKeyEvent *e = (XKeyEvent *) xev; -+ char buf[128]; KeySym ks; -+ int stlen; -+ -+ stlen = XLookupString(e,buf,128,&ks,(XComposeStatus *) NULL); -+ buf[stlen] = '\0'; -+ -+ RemapKeyCheck(ks, buf, &stlen); -+ -+ if (e->window == pngW) { -+ if (stlen) { -+ if (buf[0] == '\r' || buf[0] == '\n') { /* enter */ -+ FakeButtonPress(&pbut[P_BOK]); -+ } -+ else if (buf[0] == '\033') { /* ESC */ -+ FakeButtonPress(&pbut[P_BCANC]); -+ } -+ } -+ } -+ else rv = 0; -+ } -+ else rv = 0; -+ -+ if (rv==0 && (xev->type == ButtonPress || xev->type == KeyPress)) { -+ XBell(theDisp, 50); -+ rv = 1; /* eat it */ -+ } -+ -+ return rv; -+} -+ -+ -+/*******************************************/ -+void PNGSaveParams(fname, col) -+ char *fname; -+ int col; -+{ -+ filename = fname; -+ colorType = col; -+} -+ -+ -+/*******************************************/ -+static void drawPD(x, y, w, h) -+ int x, y, w, h; -+{ -+ const char *title = "Save PNG file..."; -+ -+ char ctitle1[20]; -+ const char *ctitle2 = "Useful range"; -+ const char *ctitle3 = "is 2 - 7."; -+ const char *ctitle4 = "Uncompressed = 0"; -+ -+ const char *ftitle = "Row Filters:"; -+ -+ char gtitle[20]; -+ -+ int i; -+ XRectangle xr; -+ -+ xr.x = x; xr.y = y; xr.width = w; xr.height = h; -+ XSetClipRectangles(theDisp, theGC, 0,0, &xr, 1, Unsorted); -+ -+ XSetForeground(theDisp, theGC, infofg); -+ XSetBackground(theDisp, theGC, infobg); -+ -+ for (i=0; ix, bp->y, bp->w, bp->h)) break; -+ } -+ -+ if (ijmpbuf)) { -+ png_destroy_write_struct(&png_ptr, &info_ptr); -+ return -1; -+ } -+ -+#ifdef PNG_NO_STDIO -+ png_set_write_fn(png_ptr, fp, png_default_write_data, NULL); -+ png_set_error_fn(png_ptr, NULL, png_xv_error, png_xv_warning); -+#else -+ png_init_io(png_ptr, fp); -+#endif -+ -+ png_set_compression_level(png_ptr, (int)cDial.val); -+ -+ /* Don't bother filtering if we aren't compressing the image */ -+ if (FdefCB.val) -+ { -+ if ((int)cDial.val == 0) -+ png_set_filter(png_ptr, 0, PNG_FILTER_NONE); -+ } -+ else -+ { -+ filter = FnoneCB.val ? PNG_FILTER_NONE : 0; -+ filter |= FsubCB.val ? PNG_FILTER_SUB : 0; -+ filter |= FupCB.val ? PNG_FILTER_UP : 0; -+ filter |= FavgCB.val ? PNG_FILTER_AVG : 0; -+ filter |= FPaethCB.val ? PNG_FILTER_PAETH : 0; -+ -+ png_set_filter(png_ptr, 0, filter); -+ } -+ -+ info_ptr->width = w; -+ info_ptr->height = h; -+ if (w <= 0 || h <= 0) { -+ SetISTR(ISTR_WARNING, "%s: image dimensions out of range (%dx%d)", -+ fbasename, w, h); -+ png_destroy_write_struct(&png_ptr, &info_ptr); -+ return -1; -+ } -+ -+ info_ptr->interlace_type = interCB.val ? 1 : 0; -+ -+ linesize = 0; /* quiet a compiler warning */ -+ -+ -+ /* GRR 20070331: remap palette to eliminate duplicated colors (as in -+ * xvgifwr.c) */ -+ if (ptype == PIC8) { -+ for (i=0; i<256; ++i) { -+ pc2nc[i] = r1[i] = g1[i] = b1[i] = 0; -+ } -+ -+ /* compute number of unique colors */ -+ numuniqcols = 0; -+ -+ for (i=0; icolor_type = PNG_COLOR_TYPE_RGB; -+ info_ptr->bit_depth = 8; -+ } else /* ptype == PIC8 */ { -+ linesize = w; -+ info_ptr->color_type = PNG_COLOR_TYPE_PALETTE; -+ if (numuniqcols <= 2) -+ info_ptr->bit_depth = 1; -+ else -+ if (numuniqcols <= 4) -+ info_ptr->bit_depth = 2; -+ else -+ if (numuniqcols <= 16) -+ info_ptr->bit_depth = 4; -+ else -+ info_ptr->bit_depth = 8; -+ -+ for (i = 0; i < numuniqcols; i++) { -+ palette[i].red = r1[i]; -+ palette[i].green = g1[i]; -+ palette[i].blue = b1[i]; -+ } -+ info_ptr->num_palette = numuniqcols; -+ info_ptr->palette = palette; -+ info_ptr->valid |= PNG_INFO_PLTE; -+ } -+ } -+ -+ else if (colorType == F_GREYSCALE || colorType == F_BWDITHER) { -+ info_ptr->color_type = PNG_COLOR_TYPE_GRAY; -+ if (colorType == F_BWDITHER) { -+ /* shouldn't happen */ -+ if (ptype == PIC24) FatalError("PIC24 and B/W Stipple in WritePNG()"); -+ -+ info_ptr->bit_depth = 1; -+ if (MONO(r1[0], g1[0], b1[0]) > MONO(r1[1], g1[1], b1[1])) { -+ remap[0] = 1; -+ remap[1] = 0; -+ } -+ else { -+ remap[0] = 0; -+ remap[1] = 1; -+ } -+ linesize = w; -+ } -+ else /* F_GREYSCALE */ { -+ if (ptype == PIC24) { -+ linesize = 3*w; -+ if (linesize/3 < w) { -+ SetISTR(ISTR_WARNING, "%s: image dimensions too large (%dx%d)", -+ fbasename, w, h); -+ png_destroy_write_struct(&png_ptr, &info_ptr); -+ return -1; -+ } -+ info_ptr->bit_depth = 8; -+ } -+ else /* ptype == PIC8 */ { -+ int low_precision; -+ -+ linesize = w; -+ -+ /* NOTE: currently remap[] is the _secondary_ remapping of "palette" -+ * colors; its values are the final color/grayscale values, and, -+ * like r1/g1/b1[], it is _indexed_ by pc2nc[] (which is why its -+ * values come from r1/g1/b1[] and not from rmap/gmap/bmap[]). -+ * -+ * FIXME (probably): MONO() will create new duplicates; ideally should -+ * do extra round of dup-detection (and preferably collapse all -+ * remapping levels into single LUT). This stuff is a tad confusing. -+ */ -+ for (i = 0; i < numuniqcols; i++) -+ remap[i] = MONO(r1[i], g1[i], b1[i]); -+ -+ for (; i < 256; i++) -+ remap[i]=0; /* shouldn't be necessary, but... */ -+ -+ info_ptr->bit_depth = 8; -+ -+ /* Note that this fails most of the time because of gamma */ -+ /* (and that would be a bug: GRR FIXME) */ -+ /* try to adjust to 4-bit precision grayscale */ -+ -+ low_precision=1; -+ -+ for (i = 0; i < numuniqcols; i++) { -+ if ((remap[i] & 0x0f) * 0x11 != remap[i]) { -+ low_precision = 0; -+ break; -+ } -+ } -+ -+ if (low_precision) { -+ for (i = 0; i < numuniqcols; i++) { -+ remap[i] &= 0xf; -+ } -+ info_ptr->bit_depth = 4; -+ -+ /* try to adjust to 2-bit precision grayscale */ -+ -+ for (i = 0; i < numuniqcols; i++) { -+ if ((remap[i] & 0x03) * 0x05 != remap[i]) { -+ low_precision = 0; -+ break; -+ } -+ } -+ } -+ -+ if (low_precision) { -+ for (i = 0; i < numuniqcols; i++) { -+ remap[i] &= 3; -+ } -+ info_ptr->bit_depth = 2; -+ -+ /* try to adjust to 1-bit precision grayscale */ -+ -+ for (i = 0; i < numuniqcols; i++) { -+ if ((remap[i] & 0x01) * 0x03 != remap[i]) { -+ low_precision = 0; -+ break; -+ } -+ } -+ } -+ -+ if (low_precision) { -+ for (i = 0; i < numuniqcols; i++) { -+ remap[i] &= 1; -+ } -+ info_ptr->bit_depth = 1; -+ } -+ } -+ } -+ } -+ -+ else -+ png_error(png_ptr, "Unknown colorstyle in WritePNG"); -+ -+ if ((text = (png_textp)malloc(sizeof(png_text)))) { -+ sprintf(software, "XV %s", REVDATE); -+ -+ text->compression = -1; -+ text->key = "Software"; -+ text->text = software; -+ text->text_length = strlen(text->text); -+ -+ info_ptr->max_text = 1; -+ info_ptr->num_text = 1; -+ info_ptr->text = text; -+ } -+ -+ Display_Gamma = gDial.val; /* Save the current gamma for loading */ -+ -+// GRR FIXME: add .Xdefaults option to omit writing gamma (size, cumulative errors when editing)--alternatively, modify save box to include "omit" checkbox -+ info_ptr->gamma = 1.0/gDial.val; -+ info_ptr->valid |= PNG_INFO_gAMA; -+ -+ png_write_info(png_ptr, info_ptr); -+ -+ if (info_ptr->bit_depth < 8) -+ png_set_packing(png_ptr); -+ -+ pass=png_set_interlace_handling(png_ptr); -+ -+ if ((png_line = malloc(linesize)) == NULL) -+ png_error(png_ptr, "cannot allocate temp image line"); -+ /* FIXME: should be FatalError() */ -+ -+ for (i = 0; i < pass; ++i) { -+ int j; -+ p = pic; -+ for (j = 0; j < h; ++j) { -+ if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY) { -+ int k; -+ for (k = 0; k < w; ++k) -+ png_line[k] = ptype==PIC24 ? MONO(p[k*3], p[k*3+1], p[k*3+2]) : -+ remap[pc2nc[p[k]]]; -+ png_write_row(png_ptr, png_line); -+ } else if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) { -+ int k; -+ for (k = 0; k < w; ++k) -+ png_line[k] = pc2nc[p[k]]; -+ png_write_row(png_ptr, png_line); -+ } else { /* PNG_COLOR_TYPE_RGB */ -+ png_write_row(png_ptr, p); -+ } -+ if ((j & 0x1f) == 0) WaitCursor(); -+ p += linesize; -+ } -+ } -+ -+ free(png_line); -+ -+ savecmnt = NULL; /* quiet a compiler warning */ -+ -+ if (text) { -+ if (picComments && strlen(picComments) && -+ (savecmnt = (char *)malloc((strlen(picComments) + 1)*sizeof(char)))) { -+ png_textp tp; -+ char *comment, *key; -+ -+ strcpy(savecmnt, picComments); -+ key = savecmnt; -+ tp = text; -+ info_ptr->num_text = 0; -+ -+ comment = strchr(key, ':'); -+ -+ do { -+ /* Allocate a larger structure for comments if necessary */ -+ if (info_ptr->num_text >= info_ptr->max_text) -+ { -+ if ((tp = -+ realloc(text, (info_ptr->num_text + 2)*sizeof(png_text))) == NULL) -+ { -+ break; -+ } -+ else -+ { -+ text = tp; -+ tp = &text[info_ptr->num_text]; -+ info_ptr->max_text += 2; -+ } -+ } -+ -+ /* See if it looks like a PNG keyword from LoadPNG */ -+ /* GRR: should test for strictly < 80, right? (key = 1-79 chars only) */ -+ if (comment && comment[1] == ':' && comment - key <= 80) { -+ *(comment++) = '\0'; -+ *(comment++) = '\0'; -+ -+ /* If the comment is the 'Software' chunk XV writes, we remove it, -+ since we have already stored one */ -+ if (strcmp(key, "Software") == 0 && strncmp(comment, "XV", 2) == 0) { -+ key = strchr(comment, '\n'); -+ if (key) -+ key++; /* skip \n */ -+ comment = strchr(key, ':'); -+ } -+ /* We have another keyword and/or comment to write out */ -+ else { -+ tp->key = key; -+ tp->text = comment; -+ -+ /* We have to find the end of this comment, and the next keyword -+ if there is one */ -+ for (; NULL != (key = comment = strchr(comment, ':')); comment++) -+ if (key[1] == ':') -+ break; -+ -+ /* It looks like another keyword, go backward to the beginning */ -+ if (key) { -+ while (key > tp->text && *key != '\n') -+ key--; -+ -+ if (key > tp->text && comment - key <= 80) { -+ *key = '\0'; -+ key++; -+ } -+ } -+ -+ tp->text_length = strlen(tp->text); -+ -+ /* We don't have another keyword, so remove the last newline */ -+ if (!key && tp->text[tp->text_length - 1] == '\n') -+ { -+ tp->text[tp->text_length] = '\0'; -+ tp->text_length--; -+ } -+ -+ tp->compression = tp->text_length > 640 ? 0 : -1; -+ info_ptr->num_text++; -+ tp++; -+ } -+ } -+ /* Just a generic comment: make sure line-endings are valid for PNG */ -+ else { -+ char *p=key, *q=key; /* only deleting chars, not adding any */ -+ -+ while (*p) { -+ if (*p == CR) { /* lone CR or CR/LF: EOL either way */ -+ *q++ = LF; /* LF is the only allowed PNG line-ending */ -+ if (p[1] == LF) /* get rid of any original LF */ -+ ++p; -+ } else if (*p == LF) /* lone LF */ -+ *q++ = LF; -+ else -+ *q++ = *p; -+ ++p; -+ } -+ *q = '\0'; /* unnecessary...but what the heck */ -+ tp->key = "Comment"; -+ tp->text = key; -+ tp->text_length = q - key; -+ tp->compression = tp->text_length > 750 ? 0 : -1; -+ info_ptr->num_text++; -+ key = NULL; -+ } -+ } while (key && *key); -+ } -+ else { -+ info_ptr->num_text = 0; -+ } -+ } -+ info_ptr->text = text; -+ -+ png_convert_from_time_t(&(info_ptr->mod_time), time(NULL)); -+ info_ptr->valid |= PNG_INFO_tIME; -+ -+ png_write_end(png_ptr, info_ptr); -+ fflush(fp); /* just in case we core-dump before finishing... */ -+ -+ if (text) { -+ free(text); -+ /* must do this or png_destroy_write_struct() 0.97+ will free text again: */ -+ info_ptr->text = (png_textp)NULL; -+ if (savecmnt) -+ { -+ free(savecmnt); -+ savecmnt = (char *)NULL; -+ } -+ } -+ -+ png_destroy_write_struct(&png_ptr, &info_ptr); -+ -+ return 0; -+} -+ -+ -+/*******************************************/ -+int LoadPNG(fname, pinfo) -+ char *fname; -+ PICINFO *pinfo; -+/*******************************************/ -+{ -+ /* returns '1' on success */ -+ -+ FILE *fp; -+ png_struct *png_ptr; -+ png_info *info_ptr; -+ png_color_16 my_background; -+ int i,j; -+ int linesize, bufsize; -+ int filesize; -+ int pass; -+ int gray_to_rgb; -+ size_t commentsize; -+ -+ fbasename = BaseName(fname); -+ -+ pinfo->pic = (byte *) NULL; -+ pinfo->comment = (char *) NULL; -+ -+ read_anything=0; -+ -+ /* open the file */ -+ fp = xv_fopen(fname,"r"); -+ if (!fp) { -+ SetISTR(ISTR_WARNING,"%s: can't open file", fname); -+ return 0; -+ } -+ -+ /* find the size of the file */ -+ fseek(fp, 0L, 2); -+ filesize = ftell(fp); -+ fseek(fp, 0L, 0); -+ -+ png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, -+ png_xv_error, png_xv_warning); -+ if (!png_ptr) { -+ fclose(fp); -+ FatalError("malloc failure in LoadPNG"); -+ } -+ -+ info_ptr = png_create_info_struct(png_ptr); -+ -+ if (!info_ptr) { -+ fclose(fp); -+ png_destroy_read_struct(&png_ptr, (png_infopp)NULL, (png_infopp)NULL); -+ FatalError("malloc failure in LoadPNG"); -+ } -+ -+ if (setjmp(png_ptr->jmpbuf)) { -+ fclose(fp); -+ png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)NULL); -+ if (!read_anything) { -+ if (pinfo->pic) { -+ free(pinfo->pic); -+ pinfo->pic = NULL; -+ } -+ if (pinfo->comment) { -+ free(pinfo->comment); -+ pinfo->comment = NULL; -+ } -+ } -+ return read_anything; -+ } -+ -+#ifdef PNG_NO_STDIO -+ png_set_read_fn(png_ptr, fp, png_default_read_data); -+ png_set_error_fn(png_ptr, NULL, png_xv_error, png_xv_warning); -+#else -+ png_init_io(png_ptr, fp); -+#endif -+ png_read_info(png_ptr, info_ptr); -+ -+ pinfo->w = pinfo->normw = info_ptr->width; -+ pinfo->h = pinfo->normh = info_ptr->height; -+ if (pinfo->w <= 0 || pinfo->h <= 0) { -+ SetISTR(ISTR_WARNING, "%s: image dimensions out of range (%dx%d)", -+ fbasename, pinfo->w, pinfo->h); -+ png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)NULL); -+ return read_anything; -+ } -+ -+ pinfo->frmType = F_PNG; -+ -+ sprintf(pinfo->fullInfo, "PNG, %d bit ", -+ info_ptr->bit_depth * info_ptr->channels); -+ -+ switch(info_ptr->color_type) { -+ case PNG_COLOR_TYPE_PALETTE: -+ strcat(pinfo->fullInfo, "palette color"); -+ break; -+ -+ case PNG_COLOR_TYPE_GRAY: -+ strcat(pinfo->fullInfo, "grayscale"); -+ break; -+ -+ case PNG_COLOR_TYPE_GRAY_ALPHA: -+ strcat(pinfo->fullInfo, "grayscale+alpha"); -+ break; -+ -+ case PNG_COLOR_TYPE_RGB: -+ strcat(pinfo->fullInfo, "truecolor"); -+ break; -+ -+ case PNG_COLOR_TYPE_RGB_ALPHA: -+ strcat(pinfo->fullInfo, "truecolor+alpha"); -+ break; -+ } -+ -+ sprintf(pinfo->fullInfo + strlen(pinfo->fullInfo), -+ ", %sinterlaced. (%d bytes)", -+ info_ptr->interlace_type ? "" : "non-", filesize); -+ -+ sprintf(pinfo->shrtInfo, "%lux%lu PNG", info_ptr->width, info_ptr->height); -+ -+ if (info_ptr->bit_depth < 8) -+ png_set_packing(png_ptr); -+ -+ if (info_ptr->valid & PNG_INFO_gAMA) -+ png_set_gamma(png_ptr, Display_Gamma, info_ptr->gamma); -+/* -+ *else -+ * png_set_gamma(png_ptr, Display_Gamma, 0.45); -+ */ -+ -+ gray_to_rgb = 0; /* quiet a compiler warning */ -+ -+ if (have_imagebg) { -+ if (info_ptr->bit_depth == 16) { -+ my_background.red = imagebgR; -+ my_background.green = imagebgG; -+ my_background.blue = imagebgB; -+ my_background.gray = imagebgG; /* used only if all three equal... */ -+ } else { -+ my_background.red = (imagebgR >> 8); -+ my_background.green = (imagebgG >> 8); -+ my_background.blue = (imagebgB >> 8); -+ my_background.gray = my_background.green; -+ } -+ png_set_background(png_ptr, &my_background, PNG_BACKGROUND_GAMMA_SCREEN, -+ 0, Display_Gamma); -+ if ((info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA || -+ (info_ptr->color_type == PNG_COLOR_TYPE_GRAY && HAVE_tRNS)) && -+ (imagebgR != imagebgG || imagebgR != imagebgB)) /* i.e., colored bg */ -+ { -+ png_set_gray_to_rgb(png_ptr); -+ png_set_expand(png_ptr); -+ gray_to_rgb = 1; -+ } -+ } else { -+ if (info_ptr->valid & PNG_INFO_bKGD) { -+ png_set_background(png_ptr, &info_ptr->background, -+ PNG_BACKGROUND_GAMMA_FILE, 1, 1.0); -+ } else { -+ my_background.red = my_background.green = my_background.blue = -+ my_background.gray = 0; -+ png_set_background(png_ptr, &my_background, PNG_BACKGROUND_GAMMA_SCREEN, -+ 0, Display_Gamma); -+ } -+ } -+ -+ if (info_ptr->bit_depth == 16) -+ png_set_strip_16(png_ptr); -+ -+ if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY || -+ info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA) -+ { -+ if (info_ptr->bit_depth == 1) -+ pinfo->colType = F_BWDITHER; -+ else -+ pinfo->colType = F_GREYSCALE; -+ png_set_expand(png_ptr); -+ } -+ -+ pass=png_set_interlace_handling(png_ptr); -+ -+ png_read_update_info(png_ptr, info_ptr); -+ -+ if (info_ptr->color_type == PNG_COLOR_TYPE_RGB || -+ info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA || gray_to_rgb) -+ { -+ linesize = 3 * pinfo->w; -+ if (linesize/3 < pinfo->w) { /* know pinfo->w > 0 (see above) */ -+ SetISTR(ISTR_WARNING, "%s: image dimensions too large (%dx%d)", -+ fbasename, pinfo->w, pinfo->h); -+ png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)NULL); -+ return read_anything; -+ } -+ pinfo->colType = F_FULLCOLOR; -+ pinfo->type = PIC24; -+ } else { -+ linesize = pinfo->w; -+ pinfo->type = PIC8; -+ if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY || -+ info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA) { -+ for (i = 0; i < 256; i++) -+ pinfo->r[i] = pinfo->g[i] = pinfo->b[i] = i; -+ } else { -+ pinfo->colType = F_FULLCOLOR; -+ for (i = 0; i < info_ptr->num_palette; i++) { -+ pinfo->r[i] = info_ptr->palette[i].red; -+ pinfo->g[i] = info_ptr->palette[i].green; -+ pinfo->b[i] = info_ptr->palette[i].blue; -+ } -+ } -+ } -+ -+ bufsize = linesize * pinfo->h; -+ if (bufsize/linesize < pinfo->h) { /* know linesize, pinfo->h > 0 (above) */ -+ SetISTR(ISTR_WARNING, "%s: image dimensions too large (%dx%d)", -+ fbasename, pinfo->w, pinfo->h); -+ png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)NULL); -+ return read_anything; -+ } -+ pinfo->pic = calloc((size_t)bufsize, (size_t)1); -+ -+ if (!pinfo->pic) { -+ png_error(png_ptr, "can't allocate space for PNG image"); -+ } -+ -+ png_start_read_image(png_ptr); -+ -+ for (i = 0; i < pass; i++) { -+ byte *p = pinfo->pic; -+ for (j = 0; j < pinfo->h; j++) { -+ png_read_row(png_ptr, p, NULL); -+ read_anything = 1; -+ if ((j & 0x1f) == 0) WaitCursor(); -+ p += linesize; -+ } -+ } -+ -+ png_read_end(png_ptr, info_ptr); -+ -+ if (info_ptr->num_text > 0) { -+ commentsize = 1; -+ -+ for (i = 0; i < info_ptr->num_text; i++) -+ commentsize += strlen(info_ptr->text[i].key) + 1 + -+ info_ptr->text[i].text_length + 2; -+ -+ if ((pinfo->comment = malloc(commentsize)) == NULL) { -+ png_warning(png_ptr,"can't allocate comment string"); -+ } -+ else { -+ pinfo->comment[0] = '\0'; -+ for (i = 0; i < info_ptr->num_text; i++) { -+ strcat(pinfo->comment, info_ptr->text[i].key); -+ strcat(pinfo->comment, "::"); -+ strcat(pinfo->comment, info_ptr->text[i].text); -+ strcat(pinfo->comment, "\n"); -+ } -+ } -+ } -+ -+ png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)NULL); -+ -+ fclose(fp); -+ -+ return 1; -+} -+ -+ -+/*******************************************/ -+static void -+png_xv_error(png_ptr, message) -+ png_structp png_ptr; -+ png_const_charp message; -+{ -+ SetISTR(ISTR_WARNING,"%s: libpng error: %s", fbasename, message); -+ -+ longjmp(png_ptr->jmpbuf, 1); -+} -+ -+ -+/*******************************************/ -+static void -+png_xv_warning(png_ptr, message) -+ png_structp png_ptr; -+ png_const_charp message; -+{ -+ if (!png_ptr) -+ return; -+ -+ SetISTR(ISTR_WARNING,"%s: libpng warning: %s", fbasename, message); -+} -+ -+ -+/*******************************************/ -+void -+VersionInfoPNG() /* GRR 19980605 */ -+{ -+ fprintf(stderr, " Compiled with libpng %s; using libpng %s.\n", -+ PNG_LIBPNG_VER_STRING, png_libpng_ver); -+ fprintf(stderr, " Compiled with zlib %s; using zlib %s.\n", -+ ZLIB_VERSION, zlib_version); -+} -+ -+#endif /* HAVE_PNG */ -diff -u -r --new-file xv-3.10a.orig/xvvd.c xv-3.10a/xvvd.c ---- xv-3.10a.orig/xvvd.c 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/xvvd.c 2007-04-15 23:30:19.000000000 -0500 -@@ -0,0 +1,1101 @@ -+ -+/* -+ * xvvd.c - extract archived file automatically and regard it as a -+ * (virtual) directory. -+ */ -+ -+#define NEEDSDIR -+ -+#include "xv.h" -+ -+#ifdef AUTO_EXPAND -+ -+static void vd_Dirtovd PARM((char *)); -+static void vd_Vdtodir PARM((char *)); -+static int vd_Mkvdir PARM((char *)); -+static int vd_Rmvdir PARM((char *)); -+static int vd_Movevdir PARM((char *, char *)); -+static void vd_addvdtable PARM((char *)); -+static void vd_packvdtable PARM((void)); -+static int vd_recursive_mkdir PARM((char *)); -+static int vd_recursive_rmdir PARM((char *)); -+static void vd_optimize_path PARM((char *)); -+static int vd_ftype PARM((char *)); -+static int vd_compp PARM((char *, char *)); -+static int vd_UncompressFile PARM((char *, char *)); -+static int vd_tarc PARM((char *)); -+static u_int vd_tar_sumchk PARM((char *)); -+ -+#define VD_VDTABLESIZE 100 -+ -+#define VD_ERR -2 -+#define VD_UKN -1 -+ -+static char *ext_command[] = { -+/* KEEP 0 */ -+ NULL, -+#define VD_ARC 1 -+ "arc xo %s", -+#define VD_ARJ 2 -+ "unarj x %s", -+#define VD_LZH 3 -+ "lha -xf %s", -+#define VD_TAR 4 -+ "tar xvf %s", -+#define VD_ZIP 5 -+ "unzip -xo %s", -+#define VD_ZOO 6 -+ "zoo xOS %s", -+}; -+ -+int vdcount = 0; -+ -+static char vdroot[MAXPATHLEN+1]; -+static char *vdtable[VD_VDTABLESIZE]; -+ -+/* -+ * These functions initialize and settle virtual directory system. -+ * Vdinit: -+ * creates root of virtual directory. -+ * Vdsettle: -+ * sweeps virtual directories. -+ */ -+void Vdinit() -+{ -+#ifndef VMS -+ char tmp[MAXPATHLEN+1]; -+ -+ xv_getwd(tmp, MAXPATHLEN+1); -+ if (chdir(tmpdir)) { -+ fprintf(stderr, "Warning: cannot chdir to tmpdir = '%s'.\n", tmpdir); -+ fprintf(stderr, -+ " I will use current directory '%s' instead of tmpdir.\n", -+ tmp); -+ } -+ xv_getwd(vdroot, MAXPATHLEN+1); -+ strcat(vdroot, "/.xvvdXXXXXX"); -+ chdir(tmp); -+#else -+ sprintf(vdroot, "Sys$Scratch:xvvdXXXXXX"); -+#endif /* VMS */ -+#ifdef USE_MKSTEMP -+ close(mkstemp(vdroot)); -+#else -+ mktemp(vdroot); -+#endif -+ -+ if (!vd_recursive_mkdir(vdroot)) -+ tmpdir = vdroot; -+} -+ -+void Vdsettle() -+{ -+ int i; -+ -+ for (i = 0; i < vdcount; i++) -+ free(vdtable[i]); -+ -+ vdcount = 0; -+ -+ vd_recursive_rmdir(vdroot); -+} -+ -+/* -+ * This function chdir to virtual directory, if specified path is in -+ * virtual directlry. -+ */ -+int Chvdir(dir) -+char *dir; -+{ -+ char buf[MAXPATHLEN+1]; -+ -+ if (Mkvdir(dir) == VD_ERR) -+ return -1; -+ -+ strcpy(buf, dir); -+ Dirtovd(buf); -+ -+ return (chdir(buf)); -+} -+ -+/* -+ * These functions convert directory <-> virtual directory. -+ * Dirtovd: -+ * front interface of vd_Dirtovd. -+ * vd_Dirtovd: -+ * converts directory to virtual directory. -+ * Vdtodir: -+ * front interface of vd_Vdtodir. -+ * vd_Vdtodir: -+ * converts virtual directory to normal directory. -+ * Dirtosubst: -+ * converts directory to substance of archive. -+ */ -+void Dirtovd(dir) -+char *dir; -+{ -+ vd_optimize_path(dir); -+ -+ vd_Dirtovd(dir); -+} -+ -+static void vd_Dirtovd(dir) -+char *dir; -+{ -+ int i; -+ -+ for (i = 0; i < vdcount; i++) -+ if (!strncmp(dir, vdtable[i], strlen(vdtable[i]))) { -+ char tmp[MAXPATHLEN+1]; -+ -+ sprintf(tmp, "%s%s", vdroot, dir); -+ strcpy(dir, tmp); -+ Dirtovd(dir); -+ } -+} -+ -+void Vdtodir(dir) -+char *dir; -+{ -+ vd_optimize_path(dir); -+ -+ vd_Vdtodir(dir); -+} -+ -+static void vd_Vdtodir(vd) -+char *vd; -+{ -+ int i; -+ char tmp[MAXPATHLEN+1]; -+ -+ for (i = vdcount-1; i >= 0; i--) { -+ sprintf(tmp, "%s%s", vdroot, vdtable[i]); -+ if(!strncmp(vd, tmp, strlen(tmp))) { -+ strcpy(tmp, vd+strlen(vdroot)); -+ strcpy(vd, tmp); -+ Vdtodir(vd); -+ } -+ } -+} -+ -+void Dirtosubst(dir) -+char *dir; -+{ -+ char tmp[MAXPATHLEN+1]; -+ -+ Dirtovd(dir); -+ -+ strcpy(tmp, dir+strlen(vdroot)); -+ -+ if (Isarchive(tmp)) -+ strcpy(dir, tmp); -+} -+ -+/* -+ * These functions make virtual directory and extracts archive, if -+ * specified path is archive. -+ * Mkvdir: -+ * front interface of vd_Mkvdir. -+ * vd_Mkvdir: -+ * does real work. -+ * Mkvdir_force: (used by makeThumbDir(in xvbrowse.c) only) -+ * make virtual directory by force. -+ */ -+int Mkvdir(dir) -+char *dir; -+{ -+ char dir1[MAXPATHLEN+1], dir2[MAXPATHLEN+1]; -+ char *d1, *d2; -+ int rv; -+ -+#if defined(SYSV) || defined(SVR4) || defined(__USE_XOPEN_EXTENDED) -+ sighold(SIGHUP); -+ sighold(SIGCHLD); -+#else -+ int mask; -+ mask = sigblock(sigmask(SIGHUP)|sigmask(SIGCHLD)); -+#endif -+ -+ strcpy(dir1, dir); -+ vd_optimize_path(dir1); -+ -+ if ((rv = vd_Mkvdir(dir1)) != VD_ERR) -+ goto MKVDIR_END; -+ -+ strcpy(dir2, dir1); -+ d2 = dir2 + strlen(dir2); -+ while (rv == VD_ERR) { -+ d2--; -+ while (*d2 != '/') -+ d2--; -+ *d2 = '\0'; -+ rv = vd_Mkvdir(dir2); -+ } -+ d1 = dir1 + strlen(dir2); -+ while ((rv != VD_ERR) && (*d1 != '\0')) { -+ *d2++ = *d1++; -+ while ((*d1 != '/') && (*d1 != '\0')) -+ *d2++ = *d1++; -+ *d2 = '\0'; -+ rv = vd_Mkvdir(dir2); -+ } -+ -+MKVDIR_END: -+#if defined(SYSV) || defined(SVR4) || defined(__USE_XOPEN_EXTENDED) -+ sigrelse(SIGHUP); -+ sigrelse(SIGCHLD); -+#else -+ sigsetmask(mask); -+#endif -+ -+ return rv; -+} -+ -+static int vd_Mkvdir(dir) -+char *dir; -+{ -+ char dir1[MAXPATHLEN+1], dir2[MAXPATHLEN+1], tmp[MAXPATHLEN+1]; -+ int ftype, i; -+ struct stat st; -+ FILE *pfp; -+ -+ strcpy(dir1, dir); -+ Dirtovd(dir1); -+ strcpy(dir2, dir1); -+ -+ WaitCursor(); -+ -+ if ((ftype = vd_ftype(dir1)) < 0) { -+ SetCursors(-1); -+ return ftype; -+ } -+ if (ftype == RFT_COMPRESS) { -+ if (!(ftype = vd_compp(dir1, tmp))) { -+ SetCursors(-1); -+ return ftype; -+ } -+ strcpy(dir1, tmp); -+ } -+ -+ if (!stat(dir1, &st)) { -+ for(i = 0; i < vdcount; i++) -+ if (!strcmp(vdtable[i], dir2)) { -+ SetCursors(-1); -+ return 0; -+ } -+ -+ if (!S_ISDIR(st.st_mode)) { -+ char origdir[MAXPATHLEN+1], buf[MAXPATHLEN+10], buf1[100]; -+ -+ if (vdcount >= VD_VDTABLESIZE) { -+ ErrPopUp("Sorry, you can't make virtual directory any more.", -+ "\nBummer!"); -+ goto VD_MKVDIR_ERR; -+ } -+ -+ WaitCursor(); -+ -+ xv_getwd(origdir, MAXPATHLEN+1); -+ -+ sprintf(tmp, "%s%s", vdroot, dir2); -+ if (vd_recursive_mkdir(tmp) || chdir(tmp)) { -+ SetISTR(ISTR_INFO, "fail to make virtual directory."); -+ Warning(); -+ goto VD_MKVDIR_ERR; -+ } -+ sprintf(buf, ext_command[ftype], dir1); -+ -+ WaitCursor(); -+ -+ if((pfp = popen(buf, "r")) == NULL) { -+ SetISTR(ISTR_INFO, "fail to extract archive '%s'.", -+ BaseName(dir2)); -+ Warning(); -+ goto VD_MKVDIR_ERR; -+ } -+ while (1) { -+ if (fread(buf1, 1, sizeof(buf1), pfp) < sizeof(buf1)) -+ break; -+ WaitCursor(); -+ } -+ if (!feof(pfp)) { -+ SetISTR(ISTR_INFO, "Pipe was broken."); -+ Warning(); -+ pclose(pfp); -+ goto VD_MKVDIR_ERR; -+ } -+ pclose(pfp); -+ -+ if (strcmp(dir1, dir2)) -+ unlink(dir1); -+ -+ vd_addvdtable(dir2); -+ Dirtovd(origdir); -+ chdir(origdir); -+ SetCursors(-1); -+ return 0; -+ -+VD_MKVDIR_ERR: -+ if (strcmp(dir1, dir2)) -+ unlink(dir1); -+ SetCursors(-1); -+ return VD_ERR; -+ } -+ } -+ SetCursors(-1); -+ return VD_ERR; -+} -+ -+#ifdef VIRTUAL_TD -+void Mkvdir_force(dir) -+char *dir; -+{ -+ char tmp[MAXPATHLEN+1]; -+ -+ if (vdcount >= VD_VDTABLESIZE) { -+ ErrPopUp("Sorry, you can't make virtual directory any more.", -+ "\nBummer!"); -+ return; -+ } -+ -+ sprintf(tmp, "%s%s", vdroot, dir); -+ if (vd_recursive_mkdir(tmp)) { -+ SetISTR(ISTR_INFO, "Failed to make virtual directory."); -+ Warning(); -+ return; -+ } -+ -+ vd_addvdtable(dir); -+} -+#endif /* VIRTUAL_TD */ -+ -+/* -+ * These functions remove virtual directory, if exists. -+ * Rmvdir: -+ * front interface of vd_Rmvdir. -+ * vd_Rmvdir: -+ * remove virtual directory function. -+ */ -+int Rmvdir(dir) -+char *dir; -+{ -+ int rv; -+ char buf[MAXPATHLEN+1]; -+ -+ strcpy(buf, dir); -+ vd_optimize_path(buf); -+ -+ rv = vd_Rmvdir(buf); -+ vd_packvdtable(); -+ return rv; -+} -+ -+static int vd_Rmvdir(dir) -+char *dir; -+{ -+ int i; -+ char tmp[MAXPATHLEN+1]; -+ -+ for(i = 0; i < vdcount; i++) -+ if (!strncmp(dir, vdtable[i], strlen(dir))) { -+ sprintf(tmp, "%s%s", vdroot, vdtable[i]); -+ if (vd_Rmvdir(tmp)) -+ return 1; -+ if (vd_recursive_rmdir(tmp)) -+ return 1; -+ vdtable[i][0] = '\0'; -+ } -+ return 0; -+} -+ -+/* -+ * These functions move virtual directory, if exists. -+ * Movevdir: -+ * front interface of move virtual directory function. -+ * vd_Movevdir: -+ * does real work. -+ */ -+int Movevdir(src, dst) -+char *src, *dst; -+{ -+/* -+ char sbuf[MAXPATHLEN+1], dbuf[MAXPATHLEN+1]; -+ -+ strcpy(sbuf, src); -+ vd_optimize_path(sbuf); -+ -+ strcpy(dbuf, dst); -+ vd_optimize_path(dbuf); -+ -+ return (vd_Movevdir(sbuf, dbuf)); -+*/ -+ return (vd_Movevdir(src, dst)); -+} -+ -+static int vd_Movevdir(src, dst) -+char *src, *dst; -+{ -+ int i; -+ char *p, *pp; -+ char tmp[MAXPATHLEN+1], tmps[MAXPATHLEN+1], tmpd[MAXPATHLEN+1]; -+ -+ for (i = 0; i < vdcount; i++) -+ if (!strncmp(src, vdtable[i], strlen(src))) { -+ sprintf(tmps, "%s%s", vdroot, vdtable[i]); -+ sprintf(tmp, "%s%s", dst, vdtable[i]+strlen(src)); -+ sprintf(tmpd, "%s%s", vdroot, tmp); -+ -+ if (vd_Movevdir(tmps, tmpd)) -+ return 1; -+ -+ pp = vdtable[i]; -+ p = (char *) malloc(strlen(tmp)+1); -+ strcpy(p, tmp); -+ vdtable[i] = p; -+ -+ strcpy(tmp, tmpd); -+ for (p = tmp+strlen(tmp); *p != '/'; p--) -+ ; -+ *p = '\0'; -+ -+ if (vd_recursive_mkdir(tmp)) -+ goto VD_MOVEVDIR_ERR; -+ -+ if (rename(tmps, tmpd) < 0) -+ goto VD_MOVEVDIR_ERR; -+ -+ free(pp); -+ } -+ return 0; -+ -+VD_MOVEVDIR_ERR: -+ free(vdtable[i]); -+ vdtable[i] = pp; -+ return 1; -+} -+ -+/* -+ * These functions handle table of virtual directories. -+ * vd_addvdtable: -+ * adds virtual directory to table. -+ * vd_packvdtable: -+ * removes disused virtual directories from table. -+ */ -+static void vd_addvdtable(vd) -+char *vd; -+{ -+ char *p; -+ p = (char *) malloc(strlen(vd)+1); -+ strcpy(p, vd); -+ vdtable[vdcount] = p; -+ vdcount++; -+} -+ -+static void vd_packvdtable() -+{ -+ int i, j; -+ -+ for (i = j = 0; i < vdcount; i++) -+ if (vdtable[i][0] != '\0') -+ vdtable[j++] = vdtable[i]; -+ else -+ free(vdtable[i]); -+ -+ vdcount = j; -+} -+ -+/* -+ * These are utility functions. -+ * vd_recursive_mkdir: -+ * makes directories recursively. -+ * vd_recursive_rmdir -+ * removes directories recursively. -+ */ -+static int vd_recursive_mkdir(dir) -+char *dir; -+{ -+ char buf[MAXPATHLEN+1], *p; -+ struct stat st; -+ -+ strcpy(buf, dir); -+ -+ if (buf[strlen(buf) - 1] == '/') -+ buf[strlen(buf) - 1] = '\0'; -+ -+ p = rindex(buf, '/'); -+ *p = '\0'; -+ -+ if (stat(buf, &st) < 0) -+ if (vd_recursive_mkdir(buf) < 0) -+ return (-1); -+ -+ *p = '/'; -+ if (mkdir(buf, 0700) < 0) -+ return (-1); -+ -+ return (0); -+} -+ -+static int vd_recursive_rmdir(dir) -+char *dir; -+{ -+ char buf[MAXPATHLEN+1], buf2[MAXPATHLEN+1]; -+ DIR *dp; -+ struct dirent *di; -+ -+ strcpy(buf, dir); -+ -+ if (buf[strlen(buf) - 1] == '/') -+ buf[strlen(buf) - 1] = '\0'; -+ -+ if ((dp = opendir(buf)) == NULL) -+ return (-1); -+ -+ while ((di = readdir(dp)) != NULL) { -+ struct stat st; -+ -+ if (!strcmp(di->d_name, ".") || !strcmp(di->d_name, "..")) -+ continue; -+ -+ sprintf(buf2, "%s/%s", dir, di->d_name); -+ -+ stat(buf2, &st); -+ if (S_ISDIR(st.st_mode)) { -+ if (vd_recursive_rmdir(buf2) < 0) -+ goto VD_RECURSIVE_RMDIR_ERR; -+ } else -+ unlink(buf2); -+ } -+ if (rmdir(buf) < 0) -+ goto VD_RECURSIVE_RMDIR_ERR; -+ -+ closedir(dp); -+ return (0); -+ -+VD_RECURSIVE_RMDIR_ERR: -+ closedir(dp); -+ return (-1); -+} -+ -+/* -+ * These functions test specified path. -+ * Isarchive: -+ * tests whether it's an archive? -+ * Isvdir: -+ * tests whether it's in the virtual directory? -+ */ -+int Isarchive(path) -+char *path; -+{ -+ int ftype; -+ -+ if ((ftype = vd_ftype(path)) < 0) -+ return 0; -+ -+ if (ftype == RFT_COMPRESS) -+ if (!(ftype = vd_compp(path, NULL))) -+ return 0; -+ -+ return ftype; -+} -+ -+int Isvdir(path) -+char *path; -+{ -+ int rv = 0; -+ char tmp1[MAXPATHLEN+1], tmp2[MAXPATHLEN+1]; -+ int archive1, archive2; -+ -+ strcpy(tmp1, path); -+ strcpy(tmp2, path); -+ -+ vd_optimize_path(tmp1); -+ Dirtovd(tmp2); -+ -+ archive1 = Isarchive(tmp1); -+ archive2 = Isarchive(tmp2); -+ -+ if (strcmp(tmp1, tmp2)) { -+ char tmp3[MAXPATHLEN+1], tmp4[MAXPATHLEN+1]; -+ int archive3, archive4; -+ -+ sprintf(tmp3, "%s%s", vdroot, tmp1); -+ strcpy(tmp4, tmp2+strlen(vdroot)); -+ -+ archive3 = Isarchive(tmp3); -+ archive4 = Isarchive(tmp4); -+ -+ if (archive4 && !strcmp(tmp1, tmp4)) { -+ rv |= 06; -+ return rv; -+ } -+ rv |= 01; -+ if (archive2) -+ rv |= 02; -+ else if (archive4) -+ rv |= 06; -+ return rv; -+ } -+ if (archive1) -+ rv |= 02; -+ -+ return rv; -+} -+ -+/* -+ * This function optimizes given path. -+ * Expand '~' to home directory and removes '.', and treat '..'. -+ */ -+static void vd_optimize_path(path) -+char *path; -+{ -+ char *tmp, *reserve; -+ -+ if (!strcmp(path, STDINSTR)) -+ return; -+ -+ if (*path == '\0') { -+ xv_getwd(path, MAXPATHLEN+1); -+ return; -+ } -+ if (*path == '~') -+ Globify(path); -+ if (*path != '/') { -+ char tmp[MAXPATHLEN+1]; -+ -+ strcpy(tmp, path); -+ xv_getwd(path, MAXPATHLEN+1); -+ strcat(path, "/"); -+ strcat(path, tmp); -+ } -+ -+ reserve = tmp = path; -+ while(*path != '\0') { -+ if (*path == '/') { -+ *tmp++ = *path; -+ while (*++path == '/') -+ ; -+ continue; -+ } -+ if ((*path == '.') && (*(path-1) == '/')) { -+ if (*(path+1) == '/') { -+ tmp--; -+ path++; -+ continue; -+ } else if (*(path+1) == '\0') { -+ tmp--; -+ break; -+ } else if (*(path+1) == '.') { -+ if (*(path+2) == '/') { -+ if ((tmp - reserve) > 1) -+ for (tmp-=2; (*tmp != '/'); tmp--) -+ ; -+ else -+ tmp = reserve; -+ path+=2; -+ continue; -+ } else if (*(path+2) == '\0') { -+ if ((tmp - reserve) > 1) -+ for (tmp-=2; (*tmp != '/'); tmp--) -+ ; -+ else -+ tmp = reserve+1; -+ break; -+ } -+ } -+ } -+ *tmp++ = *path++; -+ } -+ if (((tmp - reserve) > 1) && *(tmp-1) == '/') -+ tmp--; -+ if (tmp == reserve) -+ *tmp++ = '/'; -+ -+ *tmp = '\0'; -+} -+ -+/* -+ * These functions detect file type. -+ */ -+static int vd_ftype(fname) -+char *fname; -+{ -+ /* check archive type */ -+ -+ FILE *fp; -+ byte magicno[30]; /* first 30 bytes of file */ -+ int rv, n; -+ struct stat st; -+ -+ if (!fname) return VD_ERR; /* shouldn't happen */ -+ -+ if ((!stat(fname, &st)) && (st.st_mode & S_IFMT) == S_IFDIR) -+ return VD_UKN; -+ fp = xv_fopen(fname, "r"); -+ if (!fp) return VD_ERR; -+ -+ n = fread(magicno, (size_t) 1, (size_t) 30, fp); -+ fclose(fp); -+ -+ if (n<30) return VD_UKN; /* files less than 30 bytes long... */ -+ -+ rv = VD_UKN; -+ -+ if (magicno[0] == 0x60 && magicno[1]==0xea) rv = VD_ARJ; -+ -+ else if (magicno[2] == '-' && magicno[3] == 'l' && -+ magicno[4] == 'h') rv = VD_LZH; -+ -+ else if (strncmp((char *) magicno,"PK", (size_t) 2)==0) rv = VD_ZIP; -+ -+ else if (magicno[20]==0xdc && magicno[21]==0xa7 && -+ magicno[22]==0xc4 && magicno[23]==0xfd) rv = VD_ZOO; -+ -+ else if (vd_tarc(fname)) rv = VD_TAR; -+ -+ else if (magicno[0]==0x1f && magicno[1]==0x9d) rv = RFT_COMPRESS; -+ -+ else if (!strncmp((char *) &magicno[11], "MAJYO", (size_t) 5)) -+ rv = VD_UKN; /* XXX */ -+ -+ else if (magicno[0] == 26) rv = VD_ARC; -+ -+#ifdef GUNZIP -+ else if (magicno[0]==0x1f && magicno[1]==0x8b) rv = RFT_COMPRESS;/* gzip */ -+ else if (magicno[0]==0x1f && magicno[1]==0x9e) rv = RFT_COMPRESS;/* old */ -+ else if (magicno[0]==0x1f && magicno[1]==0x1e) rv = RFT_COMPRESS;/* pack */ -+#endif -+ -+ return rv; -+} -+ -+static int vd_compp(path, newpath) -+char *path, *newpath; -+{ -+ /* -+ * uncompress and check archive type. -+ * -+ * If newpath is NULL, uncompress only 512 byte of 'path' and -+ * check archive type, so it is for SPEED-UP strategy. -+ * In this case, caller this function does not have to unlink -+ * tempoary file. -+ * Unfortunately it does not work in VMS system. -+ */ -+ -+ int file_type, r; -+ char uncompname[128], basename[128]; -+ int comptype; -+ -+ if (newpath) *newpath = '\0'; -+ strncpy(basename, path, 127); -+ comptype = ReadFileType(path); -+#if (defined(VMS) && !defined(GUNZIP)) -+ /* VMS decompress doesn't like the file to have a trailing .Z in fname -+ however, GUnZip is OK with it, which we are calling UnCompress */ -+ *rindex (basename, '.') = '\0'; -+#endif -+#ifdef VMS -+ if (UncompressFile(basename, uncompname)) { -+#else -+ if (newpath == NULL) -+ r = vd_UncompressFile(basename, uncompname); -+ else -+ r = UncompressFile(basename, uncompname, comptype); -+ if (r) { -+#endif -+ if ((file_type = vd_ftype(uncompname)) < 0) { -+ unlink(uncompname); -+ return 0; -+ } -+ if (newpath) strcpy(newpath, uncompname); -+ else unlink(uncompname); -+ } else { -+ return 0; -+ } -+ return file_type; -+} -+ -+#define HEADERSIZE 512 -+ -+static void vd_Dirtovd PARM((char *)); -+static int stderr_on PARM((void)); -+static int stderr_off PARM((void)); -+static FILE *popen_nul PARM((char *, char *)); -+ -+static int vd_UncompressFile(name, uncompname) -+char *name, *uncompname; -+{ -+ /* Yap, I`m nearly same as original `UncompnameFile' function, but, -+ 1) I extract `name' file ONLY first 512 byte. -+ 2) I'm called only from UNIX and UNIX like OS, *NOT* VMS */ -+ /* returns '1' on success, with name of uncompressed file in uncompname -+ returns '0' on failure */ -+ -+ char namez[128], *fname, buf[512], tmp[HEADERSIZE]; -+ int n, tmpfd; -+ FILE *pfp, *tfp; -+ -+ fname = name; -+ namez[0] = '\0'; -+ -+ -+#ifndef GUNZIP -+ /* see if compressed file name ends with '.Z'. If it *doesn't*, we need -+ to temporarily rename it so it *does*, uncompress it, and rename it -+ *back* to what it was. necessary because uncompress doesn't handle -+ files that don't end with '.Z' */ -+ -+ if (strlen(name) >= (size_t) 2 && -+ strcmp(name + strlen(name)-2,".Z")!=0 && -+ strcmp(name + strlen(name)-2,".z")!=0) { -+ strcpy(namez, name); -+ strcat(namez,".Z"); -+ -+ if (rename(name, namez) < 0) { -+ sprintf(buf, "Error renaming '%s' to '%s': %s", -+ name, namez, ERRSTR(errno)); -+ ErrPopUp(buf, "\nBummer!"); -+ return 0; -+ } -+ -+ fname = namez; -+ } -+#endif /* not GUNZIP */ -+ -+ sprintf(uncompname, "%s/xvuXXXXXX", tmpdir); -+#ifdef USE_MKSTEMP -+ tmpfd = mkstemp(uncompname); -+#else -+ mktemp(uncompname); -+#endif -+ -+ sprintf(buf,"%s -c %s", UNCOMPRESS, fname); -+ SetISTR(ISTR_INFO, "Uncompressing Header '%s'...", BaseName(fname)); -+ if ((pfp = popen_nul(buf, "r")) == NULL) { -+ SetISTR(ISTR_INFO, "Cannot extract for archive '%s'.", -+ BaseName(fname)); -+ Warning(); -+#ifdef USE_MKSTEMP -+ if (tmpfd >= 0) -+ close(tmpfd); -+#endif -+ return 0; -+ } -+#ifdef USE_MKSTEMP -+ if (tmpfd < 0) -+#else -+ if ((tmpfd = open(uncompname,O_WRONLY|O_CREAT|O_EXCL,S_IRWUSR)) < 0) -+#endif -+ { -+ SetISTR(ISTR_INFO, "Unable to create temporary file.", -+ BaseName(uncompname)); -+ Warning(); -+ pclose(pfp); -+ } -+ if ((tfp = fdopen(tmpfd, "w")) == NULL) { -+ SetISTR(ISTR_INFO, "Unable to create temporary file.", -+ BaseName(uncompname)); -+ Warning(); -+ close(tmpfd); -+ pclose(pfp); -+ return 0; -+ } -+ if ((n = fread(tmp, 1, sizeof(tmp), pfp)) != HEADERSIZE) { -+ SetISTR(ISTR_INFO, "Unable to read '%s'.", -+ BaseName(fname)); -+ Warning(); -+ pclose(pfp); -+ fflush(tfp); -+ fclose(tfp); -+ close(tmpfd); -+ return 0; -+ } -+ fwrite(tmp, 1, n, tfp); -+ fflush(tfp); -+ fclose(tfp); -+ close(tmpfd); -+ pclose(pfp); -+ -+ /* if we renamed the file to end with a .Z for the sake of 'uncompress', -+ rename it back to what it once was... */ -+ -+ if (strlen(namez)) { -+ if (rename(namez, name) < 0) { -+ sprintf(buf, "Error renaming '%s' to '%s': %s", -+ namez, name, ERRSTR(errno)); -+ ErrPopUp(buf, "\nBummer!"); -+ } -+ } -+ -+ return 1; -+} -+ -+#define TARBLOCK 512 -+#define CKSTART 148 /* XXX */ -+#define CKSIZE 8 -+ -+/* -+ * Tar file: 1, other: 0 -+ */ -+static int vd_tarc(fname) -+char *fname; -+{ -+ FILE *fp; -+ unsigned int sum; -+ char *ckp, buf[TARBLOCK]; -+ -+ if ((fp = fopen(fname, "r")) == NULL) -+ return 0; -+ -+ fread(buf, TARBLOCK, 1, fp); -+ fclose(fp); -+ -+ for (sum = 0, ckp = buf + CKSTART; -+ (ckp < buf + CKSTART + CKSIZE) && *ckp != '\0'; -+ ckp++) { -+ sum *= 8; -+ if (*ckp == ' ') -+ continue; -+ if (*ckp < '0' || '7' < *ckp) -+ return 0; -+ sum += *ckp - '0'; -+ } -+ if (sum != vd_tar_sumchk(buf)) -+ return 0; -+ -+ return 1; -+} -+ -+static unsigned int vd_tar_sumchk(buf) -+char *buf; -+{ -+ int i; -+ unsigned int sum = 0; -+ -+ for (i = 0; i < CKSTART; i++) { -+ sum += *(buf + i); -+ } -+ sum += ' ' * 8; -+ for (i += 8; i < TARBLOCK; i++) { -+ sum += *(buf + i); -+ } -+ return sum; -+} -+ -+ -+static int stde = -1; /* fd of stderr */ -+static int nul = -1; /* fd of /dev/null */ -+ -+/* -+ * switch off the output to stderr(bypass to /dev/null). -+ */ -+static int stderr_off() -+{ -+ if (nul < 0) -+ nul = open("/dev/null", O_RDONLY); -+ if (nul < 0) { -+ fprintf(stderr, "/dev/null open failure\n"); -+ return -1; -+ } -+ if (stde < 0) -+ stde = dup(2); -+ if (stde < 0) { -+ fprintf(stderr, "duplicate stderr failure\n"); -+ return -1; -+ } -+ close(2); -+ dup(nul); -+ return 0; -+} -+ -+/* -+ * turn on stderr output. -+ */ -+static int stderr_on() -+{ -+ if ((stde < 0) || (nul < 0)) { -+ fprintf(stderr, "stderr_on should call after stderr_off\n"); -+ return -1; -+ } -+ close(2); -+ dup(stde); -+ return 0; -+} -+ -+/* -+ * popen with no output to stderr. -+ */ -+static FILE *popen_nul(prog, mode) -+char *prog, *mode; -+{ -+ FILE *fp; -+ -+ stderr_off(); -+ fp = popen(prog, mode); -+ stderr_on(); -+ return fp; -+} -+ -+/* -+ * These functions are for SIGNAL. -+ * If XV end by C-c, there are dust of directory which name is .xvvd???, -+ * made by xvvd. Then, I handle SIGINT, and add good finish. -+ */ -+void vd_HUPhandler() -+{ -+#if defined(SYSV) || defined(SVR4) || defined(__USE_XOPEN_EXTENDED) -+ sighold(SIGHUP); -+#else -+ int mask; -+ mask = sigblock(sigmask(SIGHUP)); -+#endif -+ -+ Vdsettle(); -+ -+#if defined(SYSV) || defined(SVR4) || defined(__USE_XOPEN_EXTENDED) -+ sigrelse(SIGHUP); -+ signal(SIGHUP, (void (*)PARM((int))) vd_HUPhandler); -+#else -+ sigsetmask(mask); -+#endif -+} -+ -+void vd_handler(sig) -+int sig; -+{ -+#if defined(SYSV) || defined(SVR4) || defined(__USE_XOPEN_EXTENDED) -+ sighold(sig); -+#else -+ sigblock(sigmask(sig)); -+#endif -+ -+ Quit(1); /*exit(1);*/ -+} -+ -+int vd_Xhandler(disp,event) -+Display *disp; -+XErrorEvent *event; -+{ -+ Quit(1); /*exit(1);*/ -+ return (1); /* Not reached */ -+} -+ -+int vd_XIOhandler(disp) -+Display *disp; -+{ -+ fprintf(stderr, "XIO fatal IO error ? (?) on X server\n"); -+ fprintf(stderr, "You must exit normally in xv usage.\n"); -+ Quit(1); /*exit(1);*/ -+ return (1); /* Not reached */ -+} -+ -+void vd_handler_setup() -+{ -+ signal(SIGHUP, (void (*)PARM((int))) vd_HUPhandler); -+ signal(SIGINT, (void (*)PARM((int))) vd_handler); -+ signal(SIGTERM,(void (*)PARM((int))) vd_handler); -+ -+ (void)XSetErrorHandler(vd_Xhandler); -+ (void)XSetIOErrorHandler(vd_XIOhandler); -+} -+#endif /* AUTO_EXPAND */ -diff -u -r --new-file xv-3.10a.orig/xvwbmp.c xv-3.10a/xvwbmp.c ---- xv-3.10a.orig/xvwbmp.c 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/xvwbmp.c 2007-04-15 23:38:05.000000000 -0500 -@@ -0,0 +1,345 @@ -+/* -+ * xvwbmp.c - i/o routings for WBMP files -+ * defined by OMA (http://www.openmobilealliance.com) -+ * as a standard for images for micro devices. -+ * -+ * exports : -+ * -+ * LoadWBMP(fname, numcols); -+ * WriteWBMP(fp, pic, ptype, w, h, r, g, b, numcols, style); -+ * -+ * author: Pawel S. Veselov -+ * http://manticore.2y.net/ -+ * -+ */ -+ -+#include "xv.h" -+ -+typedef short int16; -+typedef unsigned char uint8; -+typedef unsigned short uint16; /* sizeof (uint16) must == 2 */ -+#if defined(__alpha) || _MIPS_SZLONG == 64 -+typedef int int32; -+typedef unsigned int uint32; /* sizeof (uint32) must == 4 */ -+#else -+typedef long int32; -+typedef unsigned long uint32; /* sizeof (uint32) must == 4 */ -+#endif -+ -+#define MUST(a) if (!(a)) {\ -+ close(fd); \ -+ return fail(st_fname, st_err); } -+#define READU8(fd,u) if ((read(fd, &u, 1)<1)) {\ -+ myfree(); \ -+ close(fd); \ -+ return fail(st_fname, err_ueof); } -+#define SREADU8(fd, u) if ((read(fd, &u, 1,)<1)) {\ -+ { st_err = err_ueof; return 0; } -+ -+#define SREADC(fd, str, l) { \ -+ str = (char*)mymalloc(l); \ -+ if (!str) { \ -+ myfree(); \ -+ FatalError("LoadWBMP: can't malloc extension buffer"); \ -+ } \ -+ if (read(fd, str, l)r[0] = 0; -+ pinfo->g[0] = 0; -+ pinfo->b[0] = 0; -+ pinfo->r[1] = 255; -+ pinfo->g[1] = 255; -+ pinfo->b[1] = 255; -+ -+ pinfo->pic = render1(raw, raw_size, npixels); -+ pinfo->type = PIC8; -+ -+ pinfo->w = pinfo->normw = width; -+ pinfo->h = pinfo->normh = height; -+ pinfo->frmType = F_BWDITHER; -+ -+ sprintf(pinfo->fullInfo, "WBMP, 1 bit per pixel, %d bytes", raw_size); -+ sprintf(pinfo->shrtInfo, "%dx%d WBMP (WAP/OMA).", width, height); -+ pinfo->comment = (char*)NULL; -+ -+ close(fd); -+ -+ myfree(); -+ return 1; -+} -+ -+ -+int WriteWBMP(fp, pic, ptype, w, h, rmap, gmap, bmap, numcols, colorstyle) -+ FILE *fp; -+ byte *pic; -+ int ptype, w, h; -+ byte *rmap, *gmap, *bmap; -+ int numcols, colorstyle; -+{ -+ int count = 0; -+ uint8 bit = 0; -+ int i; -+ -+ write_mb(0, fp); /* type : always 0 */ -+ putc(0, fp); /* fixed header : always 0 for type 0 */ -+ write_mb((uint32)w, fp); -+ write_mb((uint32)h, fp); -+ -+ /* ready to write data */ -+ -+ for (i=0; i> (no*7)) & 0x7f); -+ putc(value, f); -+ } while ((no--)>0); -+ -+} -+ -+ -+static int read_mb(dst, fd) -+ int *dst, fd; -+{ -+ int ac = 0; -+ int ct = 0; -+ -+ while (1) { -+ uint8 bt; -+ if ((ct++)==6) { -+ st_err = err_inmb; -+ return 0; -+ } -+ -+ if ((read(fd, &bt, 1)) < 1) { -+ st_err = err_ueof; -+ return 0; -+ } -+ ac = (ac << 7) | (bt & 0x7f); /* accumulates up to 42 bits?? FIXME */ -+ if (!(bt & 0x80)) -+ break; -+ } -+ *dst = ac; -+ return 1; -+} -+ -+ -+static int read_ext(fd, fixed) -+ int fd; -+ uint8 fixed; -+{ -+ if (!(fixed&0x7f)) { /* no extensions */ -+ return 1; -+ } -+ -+ /* -+ * The only described type is WBMP 0, that must not -+ * have extensions. -+ */ -+ -+ st_err = err_extf; -+ return 0; -+ -+ /* -+ -+ fixed = (fixed >> 5)&0x3; -+ -+ switch (fixed) { -+ case 0: -+ while (true) { -+ SREADU8(fd, fixed); -+ if (!(fixed & 0x7f)) { break; } -+ } -+ break; -+ case 0x3: -+ { -+ char * par; -+ char * val; -+ SREADU8(fd, fixed); -+ SREADC(fd, par, (fixed>>4)&0x6); -+ SREADC(fd, val, fixed&0xf); -+ } -+ break; -+ } -+ */ -+} -+ -+ -+static void *mymalloc(numbytes) -+ int numbytes; -+{ -+ mymem = (void**)realloc(mymem, mymems+1); -+ if (!mymem) -+ FatalError("LoadWBMP: can't realloc buffer"); -+ return (mymem[mymems++] = malloc(numbytes)); -+} -+ -+ -+static void myfree() -+{ -+ int i; -+ -+ if (mymem) { -+ for (i=0; i>7)&1; -+ -+ if ((++cnt)==8) { -+ cb = *(++data); -+ cnt = 0; -+ } else { -+ cb <<=1; -+ } -+ } -+ return pic; -+} -diff -u -r --new-file xv-3.10a.orig/xvzx.c xv-3.10a/xvzx.c ---- xv-3.10a.orig/xvzx.c 1969-12-31 18:00:00.000000000 -0600 -+++ xv-3.10a/xvzx.c 2007-05-13 19:53:46.000000000 -0500 -@@ -0,0 +1,349 @@ -+/* -+ * xvzx.c - load routine for Spectrum screen$ -+ * -+ * John Elliott, 7 August 1998 -+ * -+ * LoadZX(fname, pinfo) - load file -+ * WriteZX(fp,pic,ptype,w,h,r,g,b,numcols,style,cmt,comment) - convert to -+ * 256x192 SCREEN$ and save. -+ */ -+ -+#include "copyright.h" -+ -+#include "xv.h" -+ -+ -+ -+/* -+ * comments on error handling: -+ * a file with a bad header checksum is a warning error. -+ * -+ * not being able to malloc is a Fatal Error. The program is aborted. -+ */ -+ -+ -+#define TRUNCSTR "File appears to be truncated." -+ -+static int zxError PARM((const char *, const char *)); -+ -+static const char *bname; -+ -+/*******************************************/ -+int LoadZX(fname, pinfo) -+ char *fname; -+ PICINFO *pinfo; -+/*******************************************/ -+{ -+ /* returns '1' on success */ -+ -+ FILE *fp; -+ unsigned int c, c1; -+ int x,y, trunc; -+ byte *zxfile; -+ -+ bname = BaseName(fname); -+ -+ pinfo->pic = (byte *) NULL; -+ pinfo->comment = (char *) NULL; -+ -+ /* Allocate memory for a 256x192x8bit image */ -+ -+ pinfo->pic = (byte *)malloc(256*192); -+ if (!pinfo->pic) FatalError("malloc failure in xvzx.c LoadZX"); -+ -+ /* Allocate 1B80h bytes and slurp the whole file into memory */ -+ -+ zxfile = (byte *)malloc(7040); -+ if (!zxfile) FatalError("malloc failure in xvzx.c LoadZX"); -+ -+ /* open the file */ -+ fp = xv_fopen(fname,"r"); -+ if (!fp) return (zxError(bname, "can't open file")); -+ -+ /* Load it in en bloc */ -+ memset(zxfile, 0, 7040); -+ if (fread(zxfile, 1, 7040, fp) < 7040) trunc = 1; -+ -+ /* Transform to 8-bit */ -+ -+ for (y = 0; y < 192; y++) for (x = 0; x < 256; x++) -+ { -+ /* Spectrum screen layout: three 2k segments at y=0, y=64, y=128 */ -+ /* In each segment: Scan lines 0,8,16,...,56,1,9,...,57 etc. Each -+ scanline is 32 bytes, so line 1 is 256 bytes after line 0 -+ -+ So address of line start is ((y>>6) * 2048) + ((y & 7) * 256) -+ + ((y & 0x38) * 4) -+ -+ The colour byte for a cell is at screen + 6k + (y >> 3)*32 + (x>>3) -+ -+ */ -+ -+ int offset; -+ byte *dst = pinfo->pic + 256*y + x; -+ byte attr, pt, mask; -+ -+ offset = (y >> 6) * 2048; -+ offset += (y & 7) * 256; -+ offset += (y & 0x38) * 4; -+ offset += (x >> 3); -+ -+ pt = zxfile[offset + 128]; /* Ink/paper map */ -+ -+ offset = 0x1880; -+ offset += (y >> 3) * 32; -+ offset += (x >> 3); -+ -+ attr = zxfile[offset]; /* Colours for cell */ -+ -+ mask = 0x80; -+ -+ if (x & 7) mask >>= (x & 7); -+ -+ if (pt & mask) *dst = attr & 7; /* Ink */ -+ else *dst = (attr >> 3) & 7; /* Paper */ -+ -+ if (attr & 0x40) *dst |= 8; /* High intensity */ -+ } -+ -+ /* Picture bytes converted; now build the colour maps */ -+ -+ pinfo->normw = pinfo->w = 256; -+ pinfo->normh = pinfo->h = 192; -+ pinfo->type = PIC8; -+ -+ for (c = 0; c < 16; c++) -+ { -+ if (c < 8) c1 = 192; else c1 = 255; /* low-intensity colours use 192 */ -+ /* high-intensity colours use 255 */ -+ pinfo->b[c] = (c & 1 ? c1 : 0); -+ pinfo->r[c] = (c & 2 ? c1 : 0); -+ pinfo->g[c] = (c & 4 ? c1 : 0); -+ } -+ -+ pinfo->colType = F_FULLCOLOR; -+ pinfo->frmType = F_ZX; /* Save as SCREEN$ */ -+ sprintf(pinfo->fullInfo, "Spectrum SCREEN$, load address %04x", -+ zxfile[16]+256*zxfile[17]); -+ strcpy(pinfo->shrtInfo, "Spectrum SCREEN$."); -+ -+ /* Almost as an afterthought, check that the +3DOS header is valid. -+ -+ If it isn't, then odds are that the file isn't a graphic. But it -+ had the right magic number, so it might be. Let them see it anyway. -+ -+ The check is: Byte 127 of the header should be the 8-bit sum of bytes -+ 0-126 of the header. The header should also have the -+ +3DOS magic number, but we know it does or we wouldn't -+ have got this far. -+ */ -+ -+ c1 = 0; -+ for (c1 = c = 0; c < 127; c++) c1 = ((c1 + zxfile[c]) & 0xFF); -+ if (c1 != zxfile[127]) zxError(bname, "Bad header checksum."); -+ -+ fclose(fp); -+ free(zxfile); -+ return 1; -+} -+ -+ -+ -+ -+ -+/*******************************************/ -+static int zxError(fname, st) -+ const char *fname, *st; -+{ -+ SetISTR(ISTR_WARNING,"%s: %s", fname, st); -+ return 0; -+} -+ -+ -+/* Spectrum screen file header. The first 18 bytes are used in the magic -+ number test */ -+ -+byte ZXheader[128] = -+{ -+ 'P', 'L', 'U', 'S', '3', 'D', 'O', 'S', 26, /* Spectrum +3DOS file */ -+ 1, 0, /* Header type 1.0 */ -+ 128, 27, 0, 0, /* 7040 bytes */ -+ 3, /* Binary format */ -+ 0, 27, /* 6912 data bytes */ -+ 0, 64 /* load address 0x4000 */ -+}; -+ -+ -+ -+/* Get the Spectrum colour/bright byte (0-15) from a pixel */ -+ -+static int PointZX(pic, w, h, rmap, gmap, bmap, x, y) -+ byte *pic; -+ int w,h; -+ byte *rmap, *gmap, *bmap; -+ int x,y; -+{ -+ int index, r, g, b, zxc; -+ -+ /* If the picture is smaller than the screen, pad out the edges -+ with "bright black" - a colour not otherwise returned */ -+ -+ if (x >= w || y >= h) return 8; -+ -+ /* Get colour index */ -+ -+ index = pic[y*w + x]; -+ -+ /* Convert to rgb */ -+ -+ r = rmap[index]; -+ g = gmap[index]; -+ b = bmap[index]; -+ zxc = 0; -+ -+ /* Work out Spectrum colour by a simplistic "nearest colour" method */ -+ -+ if (b >= 160) zxc |= 1; /* Blue */ -+ if (r >= 160) zxc |= 2; /* Red */ -+ if (g >= 160) zxc |= 4; /* Green */ -+ if (r > 208 || g >= 208 || b >= 208) zxc |= 8; /* High intensity */ -+ -+ return zxc; -+} -+ -+ -+/* Work out what colours should be used in a cell */ -+ -+static void CellZX(pic, w, h, rmap, gmap, bmap, cx, cy, zxfile) -+ byte *pic; -+ int w,h; -+ byte *rmap, *gmap, *bmap; -+ int cx,cy; -+ byte *zxfile; -+{ -+ byte counts[16]; /* Count of no. of colours */ -+ int offset, ink, paper, n, m, x, y, x0, y0, di, dp; -+ -+ x0 = cx * 8; /* Convert from cell to pixel coords */ -+ y0 = cy * 8; -+ -+ for (n = 0; n < 16; n++) counts[n] = 0; /* Reset all counts */ -+ -+ /* Count no. of pixels of various colours */ -+ -+ for (y = y0; y < y0+8; y++) for (x = x0; x < x0+8; x++) -+ { -+ m = PointZX(pic, w, h, rmap, gmap, bmap, x, y); -+ -+ counts[m]++; -+ } -+ counts[8] = 0; /* Discard Bright Black (pixels not in the picture area) -+ */ -+ -+ /* Assign the most popular colour as ink */ -+ for (n = m = ink = 0; n < 16; n++) if (counts[n] > m) -+ { -+ ink = n; -+ m = counts[n]; -+ } -+ counts[ink] = 0; -+ -+ /* Assign the next most popular colour as paper */ -+ for (n = m = paper = 0; n < 16; n++) if (counts[n] > m) -+ { -+ paper = n; -+ m = counts[n]; -+ } -+ /* We have ink and paper. Set cell's attributes */ -+ -+ offset = cy*32 + cx + 0x1880; -+ -+ /* Set the high-intensity bit if ink is high-intensity */ -+ if (ink & 8) zxfile[offset] = 0x40; else zxfile[offset] = 0; -+ zxfile[offset] |= ((paper & 7) << 3); -+ zxfile[offset] |= (ink & 7); -+ -+ /* Plot the points */ -+ for (y = y0; y < y0+8; y++) -+ { -+ byte mask = 0x80; -+ -+ offset = (y >> 6) * 2048; -+ offset += (y & 7) * 256; -+ offset += (y & 0x38) * 4; -+ offset += (x0 >> 3); -+ -+ for (x = x0; x < x0+8; x++) -+ { -+ /* Work out whether the point should be plotted as ink or -+ paper */ -+ m = PointZX(pic, w, h, rmap, gmap, bmap, x, y); -+ -+ di = (ink & 7) - (m & 7); /* "Difference" from ink */ -+ dp = (paper & 7) - (m & 7); /* "Difference" from paper */ -+ -+ if (di < 0) di = -di; -+ if (dp < 0) dp = -dp; -+ -+ if (di < dp) /* Point is more like ink */ -+ zxfile[offset+128] |= mask; -+ -+ mask = (mask >> 1); -+ } -+ } -+ -+} -+ -+ -+ -+/*******************************************/ -+int WriteZX(fp,pic,ptype,w,h,rmap,gmap,bmap,numcols,colorstyle,comment) -+ FILE *fp; -+ byte *pic; -+ int ptype, w,h; -+ byte *rmap, *gmap, *bmap; -+ int numcols, colorstyle; -+ char *comment; -+{ -+ int rv, x, y; -+ byte *zxfile; -+ byte *pic8; -+ byte rtemp[256],gtemp[256],btemp[256]; -+ -+ /* To simplify matters, reduce 24-bit to 8-bit. Since the Spectrum -+ screen is 3.5-bit anyway, it doesn't make much difference */ -+ -+ if (ptype == PIC24) -+ { -+ pic8 = Conv24to8(pic, w, h, 256, rtemp,gtemp,btemp); -+ if (!pic8) FatalError("Unable to malloc in WriteZX()"); -+ rmap = rtemp; gmap = gtemp; bmap = btemp; numcols=256; -+ } -+ else pic8 = pic; -+ -+ ZXheader[127] = 0x71; /* The correct checksum. */ -+ -+ /* Create a memory image of the SCREEN$ */ -+ -+ zxfile = (byte *)malloc(7040); -+ if (!zxfile) FatalError("malloc failure in xvzx.c WriteZX"); -+ -+ memset(zxfile, 0, 7040); /* Reset all points to black */ -+ memcpy(zxfile, ZXheader, 128); /* Create +3DOS header */ -+ -+ /* Convert the image, character cell by character cell */ -+ for (y = 0; y < 24; y++) for (x = 0; x < 32; x++) -+ { -+ CellZX(pic8, w, h, rmap, gmap, bmap, x, y, zxfile); -+ } -+ rv = 0; -+ if (fwrite(zxfile, 1, 7040, fp) < 7040) rv = -1; -+ -+ if (ptype == PIC24) free(pic8); -+ free(zxfile); -+ -+ if (ferror(fp)) rv = -1; -+ -+ return rv; -+} -+ diff --git a/source/xap/xv/xv-3.10a-jumbo-fix-enh-patch-20070520.txt b/source/xap/xv/xv-3.10a-jumbo-fix-enh-patch-20070520.txt deleted file mode 100644 index 51ff30a98..000000000 --- a/source/xap/xv/xv-3.10a-jumbo-fix-enh-patch-20070520.txt +++ /dev/null @@ -1,42401 +0,0 @@ -diff : xv-3.10a-jumbo-fix-enh-patch-20070520.txt - -This is a unified diff. It should be applied (using Larry Wall's "patch" -program) to the stock XV 3.10a sources. See the "How to build" section of -README.jumbo, which, along with roughly 40 other new files and 3 new sub- -directories, should have been unpacked along with this jumbo patch: - - README.jumbo - README.pcd - bits/br_bzip2 - bits/br_jp2 - bits/br_jpc - bits/br_mag - bits/br_maki - bits/br_mgcsfx - bits/br_pcd - bits/br_pi - bits/br_pic - bits/br_pic2 - bits/br_png - bits/br_zx - contrib/ - contrib/fnkey-scripts/ - contrib/fnkey-scripts/README - contrib/fnkey-scripts/jpegcrop.sh - contrib/fnkey-scripts/jpegeditcom.sh - contrib/fnkey-scripts/jpeglogrot.sh - contrib/fnkey-scripts/jpegrot.sh - contrib/fnkey-scripts/jpegundocrop.sh - contrib/fedora/ - contrib/fedora/README - contrib/fedora/Build-FC5 - docs/xvdocs.pdf - tiff/RANLIB.sh - xv_mgcsfx.sample - xvhips.c - xvhips.h - xvjp2k.c - xvmag.c - xvmaki.c - xvmgcsfx.c - xvml.c - xvml.h - xvpcd.c - xvpi.c - xvpic.c - xvpic2.c - xvpng.c - xvvd.c - xvwbmp.c - xvzx.c - - -diffs below: - - Imakefile - Makefile - Makefile.std - bggen.c - bits/br_targa - bits/icon - cleandir - config.h - copyright.h - docs/bggen.man - docs/xcmap.man - docs/xv.man - docs/xvp2p.man - tiff/Makefile - tiff/Makefile.std - vdcomp.c - xcmap.c - xv.c - xv.h - xv24to8.c - xvalg.c - xvbmp.c - xvbrowse.c - xvbutt.c - xvcolor.c - xvctrl.c - xvcut.c - xvdflt.c - xvdflt.h - xvdial.c - xvdir.c - xvevent.c - xvfits.c - xvgam.c - xvgif.c - xvgifwr.c - xvgrab.c - xvgraf.c - xviff.c - xvimage.c - xvinfo.c - xviris.c - xvjpeg.c - xvmisc.c - xvpbm.c - xvpcx.c - xvpds.c - xvpictoppm.c - xvpm.c - xvpopup.c - xvps.c - xvrle.c - xvroot.c - xvscrl.c - xvsmooth.c - xvsunras.c - xvtarga.c - xvtext.c - xvtiff.c - xvtiffwr.c - xvxbm.c - xvxpm.c - xvxwd.c - - -diff -ru xv-3.10a/Imakefile xv-3.10a-enhancements/Imakefile ---- xv-3.10a/Imakefile 1995-01-13 12:24:01.000000000 -0800 -+++ xv-3.10a-enhancements/Imakefile 2005-04-17 14:04:22.000000000 -0700 -@@ -104,6 +104,11 @@ - SGI = -Dsgi - #endif - -+/* install directory of xv_mgcsfx.sample. */ -+MGCSFXDIR = $(LIBDIR) -+/* Directory of default configuration file. */ -+MGCSFX = -DMGCSFXDIR=\"$(MGCSFXDIR)\" -+ - - - -@@ -137,6 +142,8 @@ - #if defined(SCOArchitecture) - SCO= -Dsco -DPOSIX -DNO_RANDOM - SYS_LIBRARIES= -lm -lc -lx -+#elif defined(HPArchitecture) -+SYS_LIBRARIES= -lm -lV3 - #else - SYS_LIBRARIES= -lm - #endif -@@ -147,7 +154,7 @@ - - DEFINES= $(SCO) $(UNIX) $(NODIRENT) $(VPRINTF) $(TIMERS) \ - $(HPUX7) $(JPEG) $(TIFF) $(PDS) $(DXWM) $(RAND) \ -- $(BACKING_STORE) $(BSDTYPES) $(SGI) -+ $(BACKING_STORE) $(BSDTYPES) $(SGI) $(MGCSFX) - - INCLUDES = $(JPEGINCLUDE) $(TIFFINCLUDE) - -@@ -157,7 +164,9 @@ - xvdial.c xvgraf.c xvsunras.c xvjpeg.c xvps.c xvpopup.c xvdflt.c \ - xvtiff.c xvtiffwr.c xvpds.c xvrle.c xviris.c xvgrab.c vprintf.c \ - xvbrowse.c xvtext.c xvpcx.c xviff.c xvtarga.c xvxpm.c xvcut.c \ -- xvxwd.c xvfits.c -+ xvxwd.c xvfits.c xvpng.c xvzx.c xvwbmp.c xvpcd.c \ -+ xvmag.c xvpic.c xvmaki.c xvpi.c xvpic2.c xvvd.c xvmgcsfx.c \ -+ xvml.c - - OBJS1 = xv.o xvevent.o xvroot.o xvmisc.o xvimage.o xvcolor.o xvsmooth.o \ - xv24to8.o xvgif.o xvpm.o xvinfo.o xvctrl.o xvscrl.o xvalg.o \ -@@ -165,7 +174,9 @@ - xvdial.o xvgraf.o xvsunras.o xvjpeg.o xvps.o xvpopup.o xvdflt.o \ - xvtiff.o xvtiffwr.o xvpds.o xvrle.o xviris.o xvgrab.o vprintf.o \ - xvbrowse.o xvtext.o xvpcx.o xviff.o xvtarga.o xvxpm.o xvcut.o \ -- xvxwd.o xvfits.o -+ xvxwd.o xvfits.o xvpng.o xvzx.o xvwbmp.o xvpcd.o \ -+ xvmag.o xvpic.o xvmaki.o xvpi.o xvpic2.o xvvd.o xvmgcsfx.o \ -+ xvml.o - - SRCS2= bggen.c - OBJS2= bggen.o -@@ -266,6 +277,8 @@ - InstallManPageLong(docs/xvp2p,$(MANDIR),xvpictoppm) - InstallManPageLong(docs/vdcomp,$(MANDIR),vdcomp) - -+InstallNonExecFile(xv_mgcsfx.sample,$(MGCSFXDIR)) -+ - tar: - tar cf xv.tar Makefile* Imakefile *.c *.h bits docs \ - docs unsupt vms $(JPEGDIR) $(TIFFDIR) $(MISC) -diff -ru xv-3.10a/Makefile xv-3.10a-enhancements/Makefile ---- xv-3.10a/Makefile 1995-01-23 12:20:54.000000000 -0800 -+++ xv-3.10a-enhancements/Makefile 2007-05-20 21:17:35.000000000 -0700 -@@ -2,7 +2,11 @@ - - # your C compiler (and options) of choice - CC = cc --# CC = gcc -ansi -+#CC = gcc -ansi -+# note that -ansi kills __USE_MISC (gcc 2.95.3), which, at least on Linux, -+# determines whether stdlib.h includes prototypes for mktemp(), random(), etc. -+# (i.e., if you use it, you will get unnecessary compiler warnings) -+#CC = gcc - - # use this if you're using 'cc' on a DEC Alpha (OSF/1) or MIPS (Ultrix) system: - # CC = cc -std1 -Olimit 750 -@@ -14,8 +18,20 @@ - # -Wuninitialized -Wparentheses - - --CCOPTS = -O -- -+CCOPTS = -O -+# -+# these are the usual optimization and warning options for gcc; all such -+# warnings but one (mktemp() use) have been eliminated (at least on Linux): -+#CCOPTS = -O3 -Wall -+# -+# slightly more warnings... older code often made non-const pointers to -+# static strings (nothing should blow up unless something tries to write -+# to them): -+#CCOPTS = -O3 -Wall -Wpointer-arith -Wcast-align -Wwrite-strings -Wnested-externs -+# -+# for the next step up in gcc noise, try adding -W (but note that it adds a -+# huge number of unused-parameter and signed/unsigned comparison warnings): -+#CCOPTS = -O3 -Wall -W - - ### NOTE: Sun running OpenWindows: - ### if you're using a SUN running OPENWINDOWS, you need to add these two -@@ -27,50 +43,155 @@ - ### '-I' options on the CCOPTS line to tell the compiler where said files are. - - -+# older Unixen don't support the -p option, but its lack may mean installation -+# will fail (if more than one directory level is missing) -+MKDIR = mkdir -p -+ -+ -+# BeOS _may_ need to use a different version (below), but probably not -+CLEANDIR = cleandir -+ -+ - ### Installation locations --BINDIR = /usr/local/bin --MANDIR = /usr/local/man/man1 -+### NOTE: Users of old K&R compilers (i.e., any version not supporting C89 -+### string concatenation, such as "fub" "ar" => "fubar") should update -+### xvtext.c:1831 (or thereabouts) if either PREFIX or DOCDIR changes: -+PREFIX = /usr/local -+BINDIR = $(PREFIX)/bin -+MANDIR = $(PREFIX)/share/man/man1 - MANSUF = 1 --LIBDIR = /usr/local/lib -+DOCDIR = $(PREFIX)/share/doc/xv -+LIBDIR = $(PREFIX)/lib/xv -+SYSCONFDIR = /etc -+DESTDIR = - - - buildit: all - - - ########################### CONFIGURATION OPTIONS ############################ --### NOTE: be sure to check 'config.h', for a few other configuration options -+### NOTE: be sure to check 'config.h', for a few other configuration options - ############################################################################## - - ### -+### if, for whatever reason, you're unable to get the TIFF library to compile -+### on your machine, *COMMENT OUT* the following lines -+### -+### GRR 20050319: USE_TILED_TIFF_BOTLEFT_FIX enables an experimental fix for -+### tiled TIFFs with ORIENTATION_BOTLEFT. It may break other tiled TIFFs, -+### or it may be required for certain other TIFF types (e.g., strips with -+### ORIENTATION_BOTLEFT). I don't have a sufficient variety of TIFF test -+### images at hand. -+### -+#TIFF = -DDOTIFF -+TIFF = -DDOTIFF -DUSE_TILED_TIFF_BOTLEFT_FIX -+### -+#TIFFDIR = tiff -+TIFFDIR = /usr -+#TIFFDIR = /usr/local -+#TIFFDIR = ../../libtiff -+### -+TIFFINC = -I$(TIFFDIR)/include -+#TIFFINC = -I$(TIFFDIR) -+### -+### libtiff 3.5 and up may be compiled with zlib and libjpeg, but the -+### dependency is properly handled in LIBS line ~247 lines below -+### -+TIFFLIB = -L$(TIFFDIR)/lib -ltiff -+#TIFFLIB = $(TIFFDIR)/lib/libtiff.a -+#TIFFLIB = -L$(TIFFDIR) -ltiff -+#TIFFLIB = $(TIFFDIR)/libtiff.a -+### -+### this is intended to build the ancient version (3.3.016 beta) that's -+### included in the "tiff" subdir of XV, not an arbitrary copy of libtiff: -+### -+#$(TIFFLIB): -+# ( cd $(TIFFDIR) ; make CC='$(CC)' COPTS='$(CCOPTS) $(MCHN)' ) -+ -+ -+### - ### if, for whatever reason, you're unable to get the JPEG library to compile - ### on your machine, *COMMENT OUT* the following lines - ### -+### NOTE: /usr/sfw can be used on Solaris with "Sun freeware" installed -+### - JPEG = -DDOJPEG --JPEGDIR = jpeg --JPEGINC = -I$(JPEGDIR) --JPEGLIB = $(JPEGDIR)/libjpeg.a --$(JPEGDIR)/jconfig.h: -- cd $(JPEGDIR) ; ./configure CC='$(CC)' --$(JPEGLIB): $(JPEGDIR)/jconfig.h -- cd $(JPEGDIR) ; make -+#JPEGDIR = jpeg -+JPEGDIR = /usr -+#JPEGDIR = /usr/local -+#JPEGDIR = ../../libjpeg -+#JPEGDIR = /usr/sfw -+### -+JPEGINC = -I$(JPEGDIR)/include -+#JPEGINC = -I$(JPEGDIR) -+### -+JPEGLIB = -L$(JPEGDIR)/lib -ljpeg -+#JPEGLIB = -L$(JPEGDIR) -ljpeg -+#JPEGLIB = $(JPEGDIR)/libjpeg.a -+### -+### this is intended to build the ancient version (5a) that's included in the -+### "jpeg" subdir of XV, not an arbitrary copy of libjpeg: -+### -+#$(JPEGDIR)/jconfig.h: -+# cd $(JPEGDIR) ; ./configure CC='$(CC)' -+#$(JPEGLIB): $(JPEGDIR)/jconfig.h -+# cd $(JPEGDIR) ; make - - - ### --### if, for whatever reason, you're unable to get the TIFF library to compile -+### if, for whatever reason, you're unable to get the PNG library to compile - ### on your machine, *COMMENT OUT* the following lines - ### --TIFF = -DDOTIFF --TIFFDIR = tiff --TIFFINC = -I$(TIFFDIR) --TIFFLIB = $(TIFFDIR)/libtiff.a --$(TIFFLIB): -- ( cd $(TIFFDIR) ; make CC='$(CC)' ) -+PNG = -DDOPNG -+PNGDIR = /usr -+#PNGDIR = /usr/local -+#PNGDIR = ../../libpng -+### -+PNGINC = -I$(PNGDIR)/include -+#PNGINC = -I$(PNGDIR) -+### -+PNGLIB = -L$(PNGDIR)/lib -lpng -+#PNGLIB = -L$(PNGDIR) -lpng -+#PNGLIB = $(PNGDIR)/libpng.a -+ -+ -+### -+### if, for whatever reason, you're unable to get both the PNG library and -+### (newer versions of) the TIFF library to compile on your machine, *COMMENT -+### OUT* the following lines -+### -+ZLIBDIR = /usr -+#ZLIBDIR = /usr/local -+#ZLIBDIR = ../../zlib -+### -+ZLIBINC = -I$(ZLIBDIR)/include -+#ZLIBINC = -I$(ZLIBDIR) -+### -+ZLIBLIB = -L$(ZLIBDIR)/lib -lz -+#ZLIBLIB = -L$(ZLIBDIR) -lz -+#ZLIBLIB = $(ZLIBDIR)/libz.a -+ -+ -+### -+### if, for whatever reason, you're unable to get the JasPer JPEG-2000 library -+### to compile on your machine, *COMMENT OUT* the following lines -+### -+JP2K = -DDOJP2K -+### -+#JP2KDIR = ../../jasper -+JP2KDIR = /usr/local/lib -+### -+#JP2KINC = -I$(JP2KDIR) -+JP2KINC = -I/usr/local/include -+### -+#JP2KLIB = -L$(JP2KDIR) -ljasper -+JP2KLIB = $(JP2KDIR)/libjasper.a - - - ### - ### if, for whatever reason, you're unable to get the PDS/VICAR support - ### to compile (xvpds.c, and vdcomp.c), *COMMENT OUT* the following line, --### and also remove 'vdcomp' from the 'all:' dependancy -+### and also remove 'vdcomp' from the 'all:' dependency - ### - PDS = -DDOPDS - -@@ -78,46 +199,60 @@ - #----------System V---------- - - # if you are running on a SysV-based machine, such as HP, Silicon Graphics, --# Solaris, etc., uncomment the following line to get mostly there. --#UNIX = -DSVR4 -+# Solaris, etc.; uncomment one of the following lines to get you *most* of -+# the way there. SYSV means System V R3. -+# UNIX = -DSVR4 -+# UNIX = -DSYSV -+ - -+#----------Machine-Specific Configurations---------- -+ -+### If you are using a BeOS system, uncomment the following line -+#MCHN = -DUSE_GETCWD -I/usr/X11/include -L/usr/X11/lib -+### -+### The stock version of cleandir now should work for BeOS, too, so try -+### leaving this commented out: -+#CLEANDIR = cleandir.BeOS - --#----------Machine Specific Configurations---------- - - ### If you are using an SGI system, uncomment the following line - #MCHN = -Dsgi - - --### For HP-UX, uncomment the following line: -+### For HP-UX, uncomment the following line - #MCHN= -Dhpux -D_HPUX_SOURCE - # To use old HP compilers (HPUX 7.0 or so), you may need - #MCHN= -Dhpux -D_HPUX_SOURCE +Ns4000 - # --# also, if you're using HP's compiler, add '-Aa' to whichever of those -+# Also, if you're using HP's compiler, add '-Aa' to whichever of those - # two lines you're using, to turn on ANSI C mode. Or so I'm told. - # --# note: You may need to add '-I/usr/include/X11R5' (or R6, or whatever) -+# Note: You may need to add '-I/usr/include/X11R5' (or R6, or whatever) - # to whichever of those lines you used, as HP tends to store their X11 - # include files in a non-standard place... -+# -+# And you probably have to add '-lV3' to the end of the LIBS def when -+# using XV's AUTO_EXPAND option. - - --### for LINUX, uncomment the following line --#MCHN = -DLINUX -+### for Linux, uncomment one of the following lines: -+#MCHN = -DLINUX -L/usr/X11R6/lib -+#MCHN = -DLINUX -L/usr/X11R6/lib64 - - - # For SCO 1.1 (UNIX 3.2v2) machines, uncomment the following: - #MCHN = -Dsco -DPOSIX - # - # For ODT 2.0 (UNIX 3.2v4) machines, uncomment the following: --#MCHN= -Dsco -DPOSIX -DNO_RANDOM -+#MCHN= -Dsco -DPOSIX -DNO_RANDOM - # - # Also, you should add '-lc -lx' to the end of the LIBS def below - # -lx must be after -lc so you get the right directory routines. - - - # for UMAX V by Encore Computers uncomment the following line for --# the portable c compiler, system specific definitions and --# location of local X11 library(if site specific, modify -L option) -+# the portable C compiler, system-specific definitions and -+# location of local X11 library (if site-specific, modify -L option) - # No other switches should be necessary, or so I'm told... - # - #MCHN = -q extensions=pcc_c -D__UMAXV__ -L/usr2/usr/lib/X11 -DSVR4 -@@ -147,8 +282,8 @@ - #TIMERS = -DUSLEEP - - --# if XV locks up whenever you click on *any* of the buttons, the Timer() --# function in xvmisc.c is going out to lunch. A simple workaround is to -+# if XV locks up whenever you click on *any* of the buttons, the Timer() -+# function in xvmisc.c is going out to lunch. A simple workaround is to - # uncomment the following line: - #TIMERS = -DNOTIMER - -@@ -160,7 +295,7 @@ - #DXWM = -DDXWM - - --# if, during compilation, your system complains about the types -+# if, during compilation, your system complains about the types - # 'u_long', 'u_short', 'u_int', etc. as being undefined, uncomment the - # following line: - #BSDTYPES = -DBSDTYPES -@@ -177,18 +312,38 @@ - #VPRINTF = -DNEED_VPRINTF -DLONGINT -DNOSTDHDRS - - -+# if your machine puts the prototype for 'malloc()' in malloc.h rather than -+# stdlib.h, uncomment the following line: -+# -+#MALLOC = -DNEED_MALLOC_H - - --################ END OF CONFIGURATION OPTIONS ################# -+# if your X Window System compiled with -DX_LOCALE, -+# uncomment the following line: -+# TVL10N = -DX_LOCALE -+ -+# Install directory of xv_mgcsfx.sample. -+MGCSFXDIR = $(LIBDIR) -+# Directory of default configuration file. -+MGCSFX = -DMGCSFXDIR=\"$(MGCSFXDIR)\" -+ - - - -+################ END OF CONFIGURATION OPTIONS ################# -+ - --CFLAGS = $(CCOPTS) $(JPEG) $(JPEGINC) $(TIFF) $(TIFFINC) $(PDS) \ -- $(NODIRENT) $(VPRINTF) $(TIMERS) $(UNIX) $(BSDTYPES) $(RAND) \ -- $(DXWM) $(MCHN) - --LIBS = -lX11 $(JPEGLIB) $(TIFFLIB) -lm -+ -+CFLAGS = $(CCOPTS) $(PNG) $(PNGINC) $(ZLIBINC) $(JPEG) $(JPEGINC) \ -+ $(TIFF) $(TIFFINC) $(PDS) $(JP2K) $(JP2KINC) $(TVL10N) $(MGCSFX) \ -+ $(UNIX) $(BSDTYPES) $(RAND) $(MALLOC) $(DXWM) $(MCHN) $(NODIRENT) \ -+ $(VPRINTF) $(TIMERS) -DDOCDIR=\"$(DOCDIR)\" \ -+ -DSYSCONFDIR=\"$(SYSCONFDIR)\" -DXVEXECPATH=\"$(LIBDIR)\" -+ -+### remove -lm for BeOS: -+LIBS = $(TIFFLIB) $(JPEGLIB) $(PNGLIB) $(ZLIBLIB) $(JP2KLIB) -L/usr/X11R6/lib -lX11 -lm -+#LIBS = $(TIFFLIB) $(JPEGLIB) $(PNGLIB) $(ZLIBLIB) $(JP2KLIB) -lX11 - - OBJS = xv.o xvevent.o xvroot.o xvmisc.o xvimage.o xvcolor.o xvsmooth.o \ - xv24to8.o xvgif.o xvpm.o xvinfo.o xvctrl.o xvscrl.o xvalg.o \ -@@ -196,7 +351,9 @@ - xvdial.o xvgraf.o xvsunras.o xvjpeg.o xvps.o xvpopup.o xvdflt.o \ - xvtiff.o xvtiffwr.o xvpds.o xvrle.o xviris.o xvgrab.o vprintf.o \ - xvbrowse.o xvtext.o xvpcx.o xviff.o xvtarga.o xvxpm.o xvcut.o \ -- xvxwd.o xvfits.o -+ xvxwd.o xvfits.o xvpng.o xvzx.o xvwbmp.o xvpcd.o xvhips.o \ -+ xvmag.o xvpic.o xvmaki.o xvpi.o xvpic2.o xvvd.o xvmgcsfx.o \ -+ xvml.o xvjp2k.o - - MISC = README INSTALL CHANGELOG IDEAS - -@@ -206,10 +363,12 @@ - - - --all: $(JPEGLIB) $(TIFFLIB) xv bggen vdcomp xcmap xvpictoppm -+#all: $(JPEGLIB) $(TIFFLIB) xv bggen vdcomp xcmap xvpictoppm -+all: xv bggen vdcomp xcmap xvpictoppm - - --xv: $(OBJS) $(JPEGLIB) $(TIFFLIB) -+#xv: $(OBJS) $(JPEGLIB) $(TIFFLIB) -+xv: $(OBJS) - $(CC) -o xv $(CFLAGS) $(OBJS) $(LIBS) - - bggen: bggen.c -@@ -231,23 +390,47 @@ - - clean: xvclean - rm -f bggen vdcomp xcmap xvpictoppm -- ./cleandir $(JPEGDIR) -- rm -f $(JPEGDIR)/jconfig.h $(JPEGDIR)/Makefile -- ./cleandir $(TIFFDIR) -+# clean only local jpeg and tiff dirs, not user's or system's copies: -+ ./$(CLEANDIR) jpeg -+ rm -f jpeg/jconfig.h jpeg/Makefile -+ ./$(CLEANDIR) tiff - - -+# could also do some shell trickery here to attempt mkdir only if dir is -+# missing (e.g., "test -d || $(MKDIR) ") - install: all -- cp xv bggen vdcomp xcmap xvpictoppm $(BINDIR) -- cp docs/xv.man $(MANDIR)/xv.$(MANSUF) -- cp docs/bggen.man $(MANDIR)/bggen.$(MANSUF) -- cp docs/xcmap.man $(MANDIR)/xcmap.$(MANSUF) -- cp docs/xvp2p.man $(MANDIR)/xvpictoppm.$(MANSUF) -- cp docs/vdcomp.man $(MANDIR)/vdcomp.$(MANSUF) -- cp docs/xvdocs.ps* $(LIBDIR) -+ $(MKDIR) $(DESTDIR)$(BINDIR) -+ cp xv bggen vdcomp xcmap xvpictoppm $(DESTDIR)$(BINDIR)/. -+ chmod 755 $(DESTDIR)$(BINDIR)/xv $(DESTDIR)$(BINDIR)/bggen \ -+ $(DESTDIR)$(BINDIR)/vdcomp $(DESTDIR)$(BINDIR)/xcmap \ -+ $(DESTDIR)$(BINDIR)/xvpictoppm -+# -+ $(MKDIR) $(DESTDIR)$(MANDIR) -+ cp docs/xv.man $(DESTDIR)$(MANDIR)/xv.$(MANSUF) -+ cp docs/bggen.man $(DESTDIR)$(MANDIR)/bggen.$(MANSUF) -+ cp docs/xcmap.man $(DESTDIR)$(MANDIR)/xcmap.$(MANSUF) -+ cp docs/xvp2p.man $(DESTDIR)$(MANDIR)/xvpictoppm.$(MANSUF) -+ cp docs/vdcomp.man $(DESTDIR)$(MANDIR)/vdcomp.$(MANSUF) -+ chmod 644 $(DESTDIR)$(MANDIR)/xv.$(MANSUF) \ -+ $(DESTDIR)$(MANDIR)/bggen.$(MANSUF) \ -+ $(DESTDIR)$(MANDIR)/xcmap.$(MANSUF) \ -+ $(DESTDIR)$(MANDIR)/xvpictoppm.$(MANSUF) \ -+ $(DESTDIR)$(MANDIR)/vdcomp.$(MANSUF) -+# -+ $(MKDIR) $(DESTDIR)$(DOCDIR) # or $(DESTDIR)$(LIBDIR) -+ cp README.jumbo docs/xvdocs.pdf docs/xvdocs.ps $(DESTDIR)$(DOCDIR)/. -+ chmod 644 $(DESTDIR)$(DOCDIR)/README.jumbo \ -+ $(DESTDIR)$(DOCDIR)/xvdocs.pdf $(DESTDIR)$(DOCDIR)/xvdocs.ps -+# -+ #$(MKDIR) $(DESTDIR)$(SYSCONFDIR) -+ #cp xv_mgcsfx.sample $(DESTDIR)$(SYSCONFDIR)/xv_mgcsfx -+ #chmod 644 $(DESTDIR)$(SYSCONFDIR)/xv_mgcsfx -+ - - tar: -+# tar only local jpeg and tiff dirs, not user's or system's copies: - tar cvf xv.tar Makefile* Imakefile *.c *.h bits \ -- docs unsupt vms $(JPEGDIR) $(TIFFDIR) $(MISC) -+ docs unsupt vms jpeg tiff $(MISC) - - xvtar: - tar cvf xv.tar Makefile* Imakefile *.c *.h bits -@@ -257,26 +440,28 @@ - - ################# bitmap dependencies #################### - --xv.o: bits/icon bits/iconmask bits/runicon bits/runiconm --xv.o: bits/cboard50 bits/gray25 -+xv.o: bits/icon bits/iconmask bits/runicon bits/runiconm -+xv.o: bits/cboard50 bits/gray25 - - xvbrowse.o: bits/br_file bits/br_dir bits/br_exe bits/br_chr bits/br_blk --xvbrowse.o: bits/br_sock bits/br_fifo bits/br_error bits/br_unknown --xvbrowse.o: bits/br_cmpres bits/br_gif bits/br_pm bits/br_pbm -+xvbrowse.o: bits/br_sock bits/br_fifo bits/br_error # bits/br_unknown -+xvbrowse.o: bits/br_cmpres bits/br_bzip2 bits/br_gif bits/br_pm bits/br_pbm - xvbrowse.o: bits/br_sunras bits/br_bmp bits/br_utah bits/br_iris --xvbrowse.o: bits/br_pcx bits/br_jfif bits/br_tiff bits/br_pds --xvbrowse.o: bits/br_ps bits/br_iff bits/br_targa bits/br_xpm -+xvbrowse.o: bits/br_pcx bits/br_jfif bits/br_tiff bits/br_pds bits/br_pcd -+xvbrowse.o: bits/br_ps bits/br_iff bits/br_targa bits/br_xpm bits/br_xwd -+xvbrowse.o: bits/br_fits bits/br_png bits/br_zx bits/br_mag bits/br_maki -+xvbrowse.o: bits/br_pic bits/br_pi bits/br_pic2 bits/br_mgcsfx -+xvbrowse.o: bits/br_jp2 bits/br_jpc - xvbrowse.o: bits/br_trash bits/fcurs bits/fccurs bits/fdcurs bits/fcursm --xvbrowse.o: bits/br_xwd - - xvbutt.o: bits/cboard50 bits/rb_frame bits/rb_frame1 bits/rb_top - xvbutt.o: bits/rb_bot bits/rb_dtop bits/rb_dbot bits/rb_body - xvbutt.o: bits/rb_dot bits/cb_check bits/mb_chk - - xvctrl.o: bits/gray25 bits/gray50 bits/i_fifo bits/i_chr bits/i_dir --xvctrl.o: bits/i_blk bits/i_lnk bits/i_sock bits/i_exe bits/i_reg -+xvctrl.o: bits/i_blk bits/i_lnk bits/i_sock bits/i_exe bits/i_reg - xvctrl.o: bits/h_rotl bits/h_rotr bits/fliph bits/flipv bits/p10 --xvctrl.o: bits/m10 bits/cut bits/copy bits/paste bits/clear -+xvctrl.o: bits/m10 bits/cut bits/copy bits/paste bits/clear - xvctrl.o: bits/uicon bits/oicon1 bits/oicon2 bits/icon - xvctrl.o: bits/padimg bits/annot - -@@ -285,13 +470,13 @@ - xvdflt.o: bits/logo_top bits/logo_bot bits/logo_out bits/xv_jhb - xvdflt.o: bits/xv_cpyrt bits/xv_rev bits/xv_ver - xvdflt.o: bits/xf_left bits/xf_right bits/font5x9.h --xvdflt.o: xvdflt.h -+xvdflt.o: xvdflt.h - - xvdial.o: bits/dial_cw1 bits/dial_ccw1 bits/dial_cw2 bits/dial_ccw2 - - xvdir.o: bits/d_load bits/d_save - --xvevent.o: bits/dropper bits/dropperm bits/pen bits/penm -+xvevent.o: bits/dropper bits/dropperm bits/pen bits/penm - xvevent.o: bits/blur bits/blurm - - xvgam.o: bits/h_rotl bits/h_rotr bits/h_flip bits/h_sinc bits/h_sdec -diff -ru xv-3.10a/Makefile.std xv-3.10a-enhancements/Makefile.std ---- xv-3.10a/Makefile.std 1995-01-23 17:06:26.000000000 -0800 -+++ xv-3.10a-enhancements/Makefile.std 2007-05-20 21:17:35.000000000 -0700 -@@ -2,7 +2,11 @@ - - # your C compiler (and options) of choice - CC = cc --# CC = gcc -ansi -+#CC = gcc -ansi -+# note that -ansi kills __USE_MISC (gcc 2.95.3), which, at least on Linux, -+# determines whether stdlib.h includes prototypes for mktemp(), random(), etc. -+# (i.e., if you use it, you will get unnecessary compiler warnings) -+#CC = gcc - - # use this if you're using 'cc' on a DEC Alpha (OSF/1) or MIPS (Ultrix) system: - # CC = cc -std1 -Olimit 750 -@@ -14,8 +18,20 @@ - # -Wuninitialized -Wparentheses - - --CCOPTS = -O -- -+CCOPTS = -O -+# -+# these are the usual optimization and warning options for gcc; all such -+# warnings but one (mktemp() use) have been eliminated (at least on Linux): -+#CCOPTS = -O3 -Wall -+# -+# slightly more warnings... older code often made non-const pointers to -+# static strings (nothing should blow up unless something tries to write -+# to them): -+#CCOPTS = -O3 -Wall -Wpointer-arith -Wcast-align -Wwrite-strings -Wnested-externs -+# -+# for the next step up in gcc noise, try adding -W (but note that it adds a -+# huge number of unused-parameter and signed/unsigned comparison warnings): -+#CCOPTS = -O3 -Wall -W - - ### NOTE: Sun running OpenWindows: - ### if you're using a SUN running OPENWINDOWS, you need to add these two -@@ -27,50 +43,155 @@ - ### '-I' options on the CCOPTS line to tell the compiler where said files are. - - -+# older Unixen don't support the -p option, but its lack may mean installation -+# will fail (if more than one directory level is missing) -+MKDIR = mkdir -p -+ -+ -+# BeOS _may_ need to use a different version (below), but probably not -+CLEANDIR = cleandir -+ -+ - ### Installation locations --BINDIR = /usr/local/bin --MANDIR = /usr/local/man/man1 -+### NOTE: Users of old K&R compilers (i.e., any version not supporting C89 -+### string concatenation, such as "fub" "ar" => "fubar") should update -+### xvtext.c:1831 (or thereabouts) if either PREFIX or DOCDIR changes: -+PREFIX = /usr/local -+BINDIR = $(PREFIX)/bin -+MANDIR = $(PREFIX)/share/man/man1 - MANSUF = 1 --LIBDIR = /usr/local/lib -+DOCDIR = $(PREFIX)/share/doc/xv -+LIBDIR = $(PREFIX)/lib/xv -+SYSCONFDIR = /etc -+DESTDIR = - - - buildit: all - - - ########################### CONFIGURATION OPTIONS ############################ --### NOTE: be sure to check 'config.h', for a few other configuration options -+### NOTE: be sure to check 'config.h', for a few other configuration options - ############################################################################## - - ### -+### if, for whatever reason, you're unable to get the TIFF library to compile -+### on your machine, *COMMENT OUT* the following lines -+### -+### GRR 20050319: USE_TILED_TIFF_BOTLEFT_FIX enables an experimental fix for -+### tiled TIFFs with ORIENTATION_BOTLEFT. It may break other tiled TIFFs, -+### or it may be required for certain other TIFF types (e.g., strips with -+### ORIENTATION_BOTLEFT). I don't have a sufficient variety of TIFF test -+### images at hand. -+### -+#TIFF = -DDOTIFF -+TIFF = -DDOTIFF -DUSE_TILED_TIFF_BOTLEFT_FIX -+### -+#TIFFDIR = tiff -+TIFFDIR = /usr -+#TIFFDIR = /usr/local -+#TIFFDIR = ../../libtiff -+### -+TIFFINC = -I$(TIFFDIR)/include -+#TIFFINC = -I$(TIFFDIR) -+### -+### libtiff 3.5 and up may be compiled with zlib and libjpeg, but the -+### dependency is properly handled in LIBS line ~247 lines below -+### -+TIFFLIB = -L$(TIFFDIR)/lib -ltiff -+#TIFFLIB = $(TIFFDIR)/lib/libtiff.a -+#TIFFLIB = -L$(TIFFDIR) -ltiff -+#TIFFLIB = $(TIFFDIR)/libtiff.a -+### -+### this is intended to build the ancient version (3.3.016 beta) that's -+### included in the "tiff" subdir of XV, not an arbitrary copy of libtiff: -+### -+#$(TIFFLIB): -+# ( cd $(TIFFDIR) ; make CC='$(CC)' COPTS='$(CCOPTS) $(MCHN)' ) -+ -+ -+### - ### if, for whatever reason, you're unable to get the JPEG library to compile - ### on your machine, *COMMENT OUT* the following lines - ### -+### NOTE: /usr/sfw can be used on Solaris with "Sun freeware" installed -+### - JPEG = -DDOJPEG --JPEGDIR = jpeg --JPEGINC = -I$(JPEGDIR) --JPEGLIB = $(JPEGDIR)/libjpeg.a --$(JPEGDIR)/jconfig.h: -- cd $(JPEGDIR) ; ./configure CC='$(CC)' --$(JPEGLIB): $(JPEGDIR)/jconfig.h -- cd $(JPEGDIR) ; make -+#JPEGDIR = jpeg -+JPEGDIR = /usr -+#JPEGDIR = /usr/local -+#JPEGDIR = ../../libjpeg -+#JPEGDIR = /usr/sfw -+### -+JPEGINC = -I$(JPEGDIR)/include -+#JPEGINC = -I$(JPEGDIR) -+### -+JPEGLIB = -L$(JPEGDIR)/lib -ljpeg -+#JPEGLIB = -L$(JPEGDIR) -ljpeg -+#JPEGLIB = $(JPEGDIR)/libjpeg.a -+### -+### this is intended to build the ancient version (5a) that's included in the -+### "jpeg" subdir of XV, not an arbitrary copy of libjpeg: -+### -+#$(JPEGDIR)/jconfig.h: -+# cd $(JPEGDIR) ; ./configure CC='$(CC)' -+#$(JPEGLIB): $(JPEGDIR)/jconfig.h -+# cd $(JPEGDIR) ; make - - - ### --### if, for whatever reason, you're unable to get the TIFF library to compile -+### if, for whatever reason, you're unable to get the PNG library to compile - ### on your machine, *COMMENT OUT* the following lines - ### --TIFF = -DDOTIFF --TIFFDIR = tiff --TIFFINC = -I$(TIFFDIR) --TIFFLIB = $(TIFFDIR)/libtiff.a --$(TIFFLIB): -- ( cd $(TIFFDIR) ; make CC='$(CC)' ) -+PNG = -DDOPNG -+PNGDIR = /usr -+#PNGDIR = /usr/local -+#PNGDIR = ../../libpng -+### -+PNGINC = -I$(PNGDIR)/include -+#PNGINC = -I$(PNGDIR) -+### -+PNGLIB = -L$(PNGDIR)/lib -lpng -+#PNGLIB = -L$(PNGDIR) -lpng -+#PNGLIB = $(PNGDIR)/libpng.a -+ -+ -+### -+### if, for whatever reason, you're unable to get both the PNG library and -+### (newer versions of) the TIFF library to compile on your machine, *COMMENT -+### OUT* the following lines -+### -+ZLIBDIR = /usr -+#ZLIBDIR = /usr/local -+#ZLIBDIR = ../../zlib -+### -+ZLIBINC = -I$(ZLIBDIR)/include -+#ZLIBINC = -I$(ZLIBDIR) -+### -+ZLIBLIB = -L$(ZLIBDIR)/lib -lz -+#ZLIBLIB = -L$(ZLIBDIR) -lz -+#ZLIBLIB = $(ZLIBDIR)/libz.a -+ -+ -+### -+### if, for whatever reason, you're unable to get the JasPer JPEG-2000 library -+### to compile on your machine, *COMMENT OUT* the following lines -+### -+JP2K = -DDOJP2K -+### -+#JP2KDIR = ../../jasper -+JP2KDIR = /usr/local/lib -+### -+#JP2KINC = -I$(JP2KDIR) -+JP2KINC = -I/usr/local/include -+### -+#JP2KLIB = -L$(JP2KDIR) -ljasper -+JP2KLIB = $(JP2KDIR)/libjasper.a - - - ### - ### if, for whatever reason, you're unable to get the PDS/VICAR support - ### to compile (xvpds.c, and vdcomp.c), *COMMENT OUT* the following line, --### and also remove 'vdcomp' from the 'all:' dependancy -+### and also remove 'vdcomp' from the 'all:' dependency - ### - PDS = -DDOPDS - -@@ -78,46 +199,60 @@ - #----------System V---------- - - # if you are running on a SysV-based machine, such as HP, Silicon Graphics, --# Solaris, etc., uncomment the following line to get mostly there. --#UNIX = -DSVR4 -+# Solaris, etc.; uncomment one of the following lines to get you *most* of -+# the way there. SYSV means System V R3. -+# UNIX = -DSVR4 -+# UNIX = -DSYSV -+ - -+#----------Machine-Specific Configurations---------- -+ -+### If you are using a BeOS system, uncomment the following line -+#MCHN = -DUSE_GETCWD -I/usr/X11/include -L/usr/X11/lib -+### -+### The stock version of cleandir now should work for BeOS, too, so try -+### leaving this commented out: -+#CLEANDIR = cleandir.BeOS - --#----------Machine Specific Configurations---------- - - ### If you are using an SGI system, uncomment the following line - #MCHN = -Dsgi - - --### For HP-UX, uncomment the following line: -+### For HP-UX, uncomment the following line - #MCHN= -Dhpux -D_HPUX_SOURCE - # To use old HP compilers (HPUX 7.0 or so), you may need - #MCHN= -Dhpux -D_HPUX_SOURCE +Ns4000 - # --# also, if you're using HP's compiler, add '-Aa' to whichever of those -+# Also, if you're using HP's compiler, add '-Aa' to whichever of those - # two lines you're using, to turn on ANSI C mode. Or so I'm told. - # --# note: You may need to add '-I/usr/include/X11R5' (or R6, or whatever) -+# Note: You may need to add '-I/usr/include/X11R5' (or R6, or whatever) - # to whichever of those lines you used, as HP tends to store their X11 - # include files in a non-standard place... -+# -+# And you probably have to add '-lV3' to the end of the LIBS def when -+# using XV's AUTO_EXPAND option. - - --### for LINUX, uncomment the following line --#MCHN = -DLINUX -+### for Linux, uncomment one of the following lines: -+#MCHN = -DLINUX -L/usr/X11R6/lib -+#MCHN = -DLINUX -L/usr/X11R6/lib64 - - - # For SCO 1.1 (UNIX 3.2v2) machines, uncomment the following: - #MCHN = -Dsco -DPOSIX - # - # For ODT 2.0 (UNIX 3.2v4) machines, uncomment the following: --#MCHN= -Dsco -DPOSIX -DNO_RANDOM -+#MCHN= -Dsco -DPOSIX -DNO_RANDOM - # - # Also, you should add '-lc -lx' to the end of the LIBS def below - # -lx must be after -lc so you get the right directory routines. - - - # for UMAX V by Encore Computers uncomment the following line for --# the portable c compiler, system specific definitions and --# location of local X11 library(if site specific, modify -L option) -+# the portable C compiler, system-specific definitions and -+# location of local X11 library (if site-specific, modify -L option) - # No other switches should be necessary, or so I'm told... - # - #MCHN = -q extensions=pcc_c -D__UMAXV__ -L/usr2/usr/lib/X11 -DSVR4 -@@ -147,8 +282,8 @@ - #TIMERS = -DUSLEEP - - --# if XV locks up whenever you click on *any* of the buttons, the Timer() --# function in xvmisc.c is going out to lunch. A simple workaround is to -+# if XV locks up whenever you click on *any* of the buttons, the Timer() -+# function in xvmisc.c is going out to lunch. A simple workaround is to - # uncomment the following line: - #TIMERS = -DNOTIMER - -@@ -160,7 +295,7 @@ - #DXWM = -DDXWM - - --# if, during compilation, your system complains about the types -+# if, during compilation, your system complains about the types - # 'u_long', 'u_short', 'u_int', etc. as being undefined, uncomment the - # following line: - #BSDTYPES = -DBSDTYPES -@@ -177,18 +312,38 @@ - #VPRINTF = -DNEED_VPRINTF -DLONGINT -DNOSTDHDRS - - -+# if your machine puts the prototype for 'malloc()' in malloc.h rather than -+# stdlib.h, uncomment the following line: -+# -+#MALLOC = -DNEED_MALLOC_H - - --################ END OF CONFIGURATION OPTIONS ################# -+# if your X Window System compiled with -DX_LOCALE, -+# uncomment the following line: -+# TVL10N = -DX_LOCALE -+ -+# Install directory of xv_mgcsfx.sample. -+MGCSFXDIR = $(LIBDIR) -+# Directory of default configuration file. -+MGCSFX = -DMGCSFXDIR=\"$(MGCSFXDIR)\" -+ - - - -+################ END OF CONFIGURATION OPTIONS ################# -+ - --CFLAGS = $(CCOPTS) $(JPEG) $(JPEGINC) $(TIFF) $(TIFFINC) $(PDS) \ -- $(NODIRENT) $(VPRINTF) $(TIMERS) $(UNIX) $(BSDTYPES) $(RAND) \ -- $(DXWM) $(MCHN) - --LIBS = -lX11 $(JPEGLIB) $(TIFFLIB) -lm -+ -+CFLAGS = $(CCOPTS) $(PNG) $(PNGINC) $(ZLIBINC) $(JPEG) $(JPEGINC) \ -+ $(TIFF) $(TIFFINC) $(PDS) $(JP2K) $(JP2KINC) $(TVL10N) $(MGCSFX) \ -+ $(UNIX) $(BSDTYPES) $(RAND) $(MALLOC) $(DXWM) $(MCHN) $(NODIRENT) \ -+ $(VPRINTF) $(TIMERS) -DDOCDIR=\"$(DOCDIR)\" \ -+ -DSYSCONFDIR=\"$(SYSCONFDIR)\" -DXVEXECPATH=\"$(LIBDIR)\" -+ -+### remove -lm for BeOS: -+LIBS = $(TIFFLIB) $(JPEGLIB) $(PNGLIB) $(ZLIBLIB) $(JP2KLIB) -L/usr/X11R6/lib -lX11 -lm -+#LIBS = $(TIFFLIB) $(JPEGLIB) $(PNGLIB) $(ZLIBLIB) $(JP2KLIB) -lX11 - - OBJS = xv.o xvevent.o xvroot.o xvmisc.o xvimage.o xvcolor.o xvsmooth.o \ - xv24to8.o xvgif.o xvpm.o xvinfo.o xvctrl.o xvscrl.o xvalg.o \ -@@ -196,7 +351,9 @@ - xvdial.o xvgraf.o xvsunras.o xvjpeg.o xvps.o xvpopup.o xvdflt.o \ - xvtiff.o xvtiffwr.o xvpds.o xvrle.o xviris.o xvgrab.o vprintf.o \ - xvbrowse.o xvtext.o xvpcx.o xviff.o xvtarga.o xvxpm.o xvcut.o \ -- xvxwd.o xvfits.o -+ xvxwd.o xvfits.o xvpng.o xvzx.o xvwbmp.o xvpcd.o xvhips.o \ -+ xvmag.o xvpic.o xvmaki.o xvpi.o xvpic2.o xvvd.o xvmgcsfx.o \ -+ xvml.o xvjp2k.o - - MISC = README INSTALL CHANGELOG IDEAS - -@@ -206,10 +363,12 @@ - - - --all: $(JPEGLIB) $(TIFFLIB) xv bggen vdcomp xcmap xvpictoppm -+#all: $(JPEGLIB) $(TIFFLIB) xv bggen vdcomp xcmap xvpictoppm -+all: xv bggen vdcomp xcmap xvpictoppm - - --xv: $(OBJS) $(JPEGLIB) $(TIFFLIB) -+#xv: $(OBJS) $(JPEGLIB) $(TIFFLIB) -+xv: $(OBJS) - $(CC) -o xv $(CFLAGS) $(OBJS) $(LIBS) - - bggen: bggen.c -@@ -231,23 +390,47 @@ - - clean: xvclean - rm -f bggen vdcomp xcmap xvpictoppm -- ./cleandir $(JPEGDIR) -- rm -f $(JPEGDIR)/jconfig.h $(JPEGDIR)/Makefile -- ./cleandir $(TIFFDIR) -+# clean only local jpeg and tiff dirs, not user's or system's copies: -+ ./$(CLEANDIR) jpeg -+ rm -f jpeg/jconfig.h jpeg/Makefile -+ ./$(CLEANDIR) tiff - - -+# could also do some shell trickery here to attempt mkdir only if dir is -+# missing (e.g., "test -d || $(MKDIR) ") - install: all -- cp xv bggen vdcomp xcmap xvpictoppm $(BINDIR) -- cp docs/xv.man $(MANDIR)/xv.$(MANSUF) -- cp docs/bggen.man $(MANDIR)/bggen.$(MANSUF) -- cp docs/xcmap.man $(MANDIR)/xcmap.$(MANSUF) -- cp docs/xvp2p.man $(MANDIR)/xvpictoppm.$(MANSUF) -- cp docs/vdcomp.man $(MANDIR)/vdcomp.$(MANSUF) -- cp docs/xvdocs.ps* $(LIBDIR) -+ $(MKDIR) $(DESTDIR)$(BINDIR) -+ cp xv bggen vdcomp xcmap xvpictoppm $(DESTDIR)$(BINDIR)/. -+ chmod 755 $(DESTDIR)$(BINDIR)/xv $(DESTDIR)$(BINDIR)/bggen \ -+ $(DESTDIR)$(BINDIR)/vdcomp $(DESTDIR)$(BINDIR)/xcmap \ -+ $(DESTDIR)$(BINDIR)/xvpictoppm -+# -+ $(MKDIR) $(DESTDIR)$(MANDIR) -+ cp docs/xv.man $(DESTDIR)$(MANDIR)/xv.$(MANSUF) -+ cp docs/bggen.man $(DESTDIR)$(MANDIR)/bggen.$(MANSUF) -+ cp docs/xcmap.man $(DESTDIR)$(MANDIR)/xcmap.$(MANSUF) -+ cp docs/xvp2p.man $(DESTDIR)$(MANDIR)/xvpictoppm.$(MANSUF) -+ cp docs/vdcomp.man $(DESTDIR)$(MANDIR)/vdcomp.$(MANSUF) -+ chmod 644 $(DESTDIR)$(MANDIR)/xv.$(MANSUF) \ -+ $(DESTDIR)$(MANDIR)/bggen.$(MANSUF) \ -+ $(DESTDIR)$(MANDIR)/xcmap.$(MANSUF) \ -+ $(DESTDIR)$(MANDIR)/xvpictoppm.$(MANSUF) \ -+ $(DESTDIR)$(MANDIR)/vdcomp.$(MANSUF) -+# -+ $(MKDIR) $(DESTDIR)$(DOCDIR) # or $(DESTDIR)$(LIBDIR) -+ cp README.jumbo docs/xvdocs.pdf docs/xvdocs.ps $(DESTDIR)$(DOCDIR)/. -+ chmod 644 $(DESTDIR)$(DOCDIR)/README.jumbo \ -+ $(DESTDIR)$(DOCDIR)/xvdocs.pdf $(DESTDIR)$(DOCDIR)/xvdocs.ps -+# -+ #$(MKDIR) $(DESTDIR)$(SYSCONFDIR) -+ #cp xv_mgcsfx.sample $(DESTDIR)$(SYSCONFDIR)/xv_mgcsfx -+ #chmod 644 $(DESTDIR)$(SYSCONFDIR)/xv_mgcsfx -+ - - tar: -+# tar only local jpeg and tiff dirs, not user's or system's copies: - tar cvf xv.tar Makefile* Imakefile *.c *.h bits \ -- docs unsupt vms $(JPEGDIR) $(TIFFDIR) $(MISC) -+ docs unsupt vms jpeg tiff $(MISC) - - xvtar: - tar cvf xv.tar Makefile* Imakefile *.c *.h bits -@@ -257,26 +440,28 @@ - - ################# bitmap dependencies #################### - --xv.o: bits/icon bits/iconmask bits/runicon bits/runiconm --xv.o: bits/cboard50 bits/gray25 -+xv.o: bits/icon bits/iconmask bits/runicon bits/runiconm -+xv.o: bits/cboard50 bits/gray25 - - xvbrowse.o: bits/br_file bits/br_dir bits/br_exe bits/br_chr bits/br_blk --xvbrowse.o: bits/br_sock bits/br_fifo bits/br_error bits/br_unknown --xvbrowse.o: bits/br_cmpres bits/br_gif bits/br_pm bits/br_pbm -+xvbrowse.o: bits/br_sock bits/br_fifo bits/br_error # bits/br_unknown -+xvbrowse.o: bits/br_cmpres bits/br_bzip2 bits/br_gif bits/br_pm bits/br_pbm - xvbrowse.o: bits/br_sunras bits/br_bmp bits/br_utah bits/br_iris --xvbrowse.o: bits/br_pcx bits/br_jfif bits/br_tiff bits/br_pds --xvbrowse.o: bits/br_ps bits/br_iff bits/br_targa bits/br_xpm -+xvbrowse.o: bits/br_pcx bits/br_jfif bits/br_tiff bits/br_pds bits/br_pcd -+xvbrowse.o: bits/br_ps bits/br_iff bits/br_targa bits/br_xpm bits/br_xwd -+xvbrowse.o: bits/br_fits bits/br_png bits/br_zx bits/br_mag bits/br_maki -+xvbrowse.o: bits/br_pic bits/br_pi bits/br_pic2 bits/br_mgcsfx -+xvbrowse.o: bits/br_jp2 bits/br_jpc - xvbrowse.o: bits/br_trash bits/fcurs bits/fccurs bits/fdcurs bits/fcursm --xvbrowse.o: bits/br_xwd - - xvbutt.o: bits/cboard50 bits/rb_frame bits/rb_frame1 bits/rb_top - xvbutt.o: bits/rb_bot bits/rb_dtop bits/rb_dbot bits/rb_body - xvbutt.o: bits/rb_dot bits/cb_check bits/mb_chk - - xvctrl.o: bits/gray25 bits/gray50 bits/i_fifo bits/i_chr bits/i_dir --xvctrl.o: bits/i_blk bits/i_lnk bits/i_sock bits/i_exe bits/i_reg -+xvctrl.o: bits/i_blk bits/i_lnk bits/i_sock bits/i_exe bits/i_reg - xvctrl.o: bits/h_rotl bits/h_rotr bits/fliph bits/flipv bits/p10 --xvctrl.o: bits/m10 bits/cut bits/copy bits/paste bits/clear -+xvctrl.o: bits/m10 bits/cut bits/copy bits/paste bits/clear - xvctrl.o: bits/uicon bits/oicon1 bits/oicon2 bits/icon - xvctrl.o: bits/padimg bits/annot - -@@ -285,13 +470,13 @@ - xvdflt.o: bits/logo_top bits/logo_bot bits/logo_out bits/xv_jhb - xvdflt.o: bits/xv_cpyrt bits/xv_rev bits/xv_ver - xvdflt.o: bits/xf_left bits/xf_right bits/font5x9.h --xvdflt.o: xvdflt.h -+xvdflt.o: xvdflt.h - - xvdial.o: bits/dial_cw1 bits/dial_ccw1 bits/dial_cw2 bits/dial_ccw2 - - xvdir.o: bits/d_load bits/d_save - --xvevent.o: bits/dropper bits/dropperm bits/pen bits/penm -+xvevent.o: bits/dropper bits/dropperm bits/pen bits/penm - xvevent.o: bits/blur bits/blurm - - xvgam.o: bits/h_rotl bits/h_rotr bits/h_flip bits/h_sinc bits/h_sdec -diff -ru xv-3.10a/bggen.c xv-3.10a-enhancements/bggen.c ---- xv-3.10a/bggen.c 1994-12-22 14:34:41.000000000 -0800 -+++ xv-3.10a-enhancements/bggen.c 2005-04-17 14:04:22.000000000 -0700 -@@ -18,6 +18,11 @@ - #include - #include - -+#ifdef __STDC__ -+# include /* atoi() */ -+# include /* isdigit() */ -+#endif -+ - #ifndef M_PI - # define M_PI 3.1415926535897932385 - #endif -@@ -29,7 +34,7 @@ - #define MAXCOLS 128 - - /* some VMS thing... */ --#ifdef vax11c -+#if defined(vax11c) || (defined(__sony_news) && (defined(bsd43) || defined(__bsd43) || defined(SYSTYPE_BSD) || defined(__SYSTYPE_BSD))) - #include - #endif - -@@ -46,8 +51,8 @@ - - typedef unsigned char byte; - --struct color { int r,g,b; -- int y; -+struct color { int r,g,b; -+ int y; - } colors[MAXCOLS], *cur, *nex; - - int numcols; -@@ -62,7 +67,7 @@ - double computeDist PARM((int, int, int, int, int)); - void writePPM PARM((byte *, int, int, int)); - -- -+ - /*************************************/ - int main(argc,argv) - int argc; -@@ -80,18 +85,18 @@ - char *geom = NULL; - char *rptgeom = NULL; - -- -+ - #ifdef VMS - getredirection(&argc, &argv); - #endif -- -+ - - for (i=1; i8) usage(); -- -- -+ -+ - if (geom) { - int x,y; unsigned int w,h; - i = XParseGeometry(geom, &x, &y, &w, &h); - if (i&WidthValue) { wset++; wide = (int) w; } - if (i&HeightValue) { hset++; high = (int) h; } - } -- -- -+ -+ - /* attempt to connect to X server and get screen dimensions */ - if (theDisp) { - i = DefaultScreen(theDisp); - if (!wset) wide = DisplayWidth(theDisp, i); - if (!hset) high = DisplayHeight(theDisp, i); - } -- -- -+ -+ - /* normalize 'rot' */ - while (rot< 0) rot += 360; - while (rot>=360) rot -= 360; -- -- -+ -+ - rptwide = wide; rpthigh = high; - if (rptgeom) { - int x,y; unsigned int w,h; - i = XParseGeometry(rptgeom, &x, &y, &w, &h); - if (i&WidthValue) rptwide = (int) w; - if (i&HeightValue) rpthigh = (int) h; -- -+ - RANGE(rptwide, 1, wide); - RANGE(rpthigh, 1, high); - } -- -- - -- -+ -+ -+ - rpic24 = (byte *) malloc(rptwide * rpthigh * 3 * sizeof(byte)); -- if (rptwide != wide || rpthigh != high) -+ if (rptwide != wide || rpthigh != high) - pic24 = (byte *) malloc(wide * high * 3 * sizeof(byte)); - else pic24 = rpic24; - -@@ -229,7 +234,7 @@ - exit(1); - } - for (i=0, pp=pic24; iy < i) { cur++; nex++; } -- -+ - r = cur->r + ((nex->r - cur->r) * (i - cur->y)) / (nex->y - cur->y); - g = cur->g + ((nex->g - cur->g) * (i - cur->y)) / (nex->y - cur->y); - b = cur->b + ((nex->b - cur->b) * (i - cur->y)) / (nex->y - cur->y); -- -+ - r = r & bmask[bits-1]; - g = g & bmask[bits-1]; - b = b & bmask[bits-1]; -- -+ - for (j=0; j1.0) rat = 1.0; -- -+ - cval = rat * nc1; - bc = floor(cval); - crat = cval - bc; -- -+ - if (bc < nc1) { - r = colors[bc].r + crat * (colors[bc+1].r - colors[bc].r); - g = colors[bc].g + crat * (colors[bc+1].g - colors[bc].g); -@@ -383,7 +388,7 @@ - g = colors[nc1].g; - b = colors[nc1].b; - } -- -+ - *pp++ = (byte) r; *pp++ = (byte) g; *pp++ = (byte) b; - } - } -@@ -395,9 +400,9 @@ - int x,y,cx,cy,rot; - { - /* rot has to be in range 0-359 */ -- -- double x1, y1, x2, y2, x3, y3, d, d1, b, theta; -- -+ -+ double x1, y1, x2, y2, x3, y3, d, d1, b; -+ - if (rot == 0) return (double) (y - cy); - if (rot == 180) return (double) (cy - y); - -@@ -407,7 +412,7 @@ - /* x2,y2 = vertical projection onto a || line that runs through cx,cy */ - x2 = x1; - y2 = cy - (cx-x2)*tant1; -- -+ - d1 = y2 - y1; /* vertical distance between lines */ - b = d1 * cost1; - -@@ -435,11 +440,11 @@ - int w,h,doascii; - { - /* dumps a pic24 in PPM format to stdout */ -- -+ - int x,y; -- -+ - printf("P%s %d %d 255\n", (doascii) ? "3" : "6", w, h); -- -+ - for (y=0; y, which I don't know all -+ machine has or not. -+ */ - # undef UNCOMPRESS --# define UNCOMPRESS "/usr/bin/uncompress" -+# define UNCOMPRESS "uncompress" - #endif - - #if defined(sgi) -@@ -70,18 +94,18 @@ - * PostScript file input support: - * - * if you have the 'ghostscript' package installed (version 2.6 or later), -- * XV can use it to read and display PostScript files. To do so, -+ * XV can use it to read and display PostScript files. To do so, - * uncomment the '#define GS_PATH' line, below. You probably will not - * need to modify the GS_LIB or GS_DEV lines, but if you do modify them, - * be sure to uncomment them, as well. - * -- * the ghostscript package can be acquired via anonymous ftp on -+ * the ghostscript package can be acquired via anonymous ftp on - * prep.ai.mit.edu, in the 'pub/gnu' directory - * -- * GS_PATH specifies the complete path to your gs executable. -+ * GS_PATH specifies the complete path to your gs executable. - * -- * GS_LIB should be set if there's some other gs libs that should be -- * searched, but aren't by default. (In which case you should probably -+ * GS_LIB should be set if there's some other gs libs that should be -+ * searched, but aren't by default. (In which case you should probably - * just fix your 'gs' so it looks in the right places without being told...) - * - * GS_DEV is the file format that ghostscript will convert PS into. It -@@ -89,6 +113,7 @@ - */ - - /* #define GS_PATH "/usr/local/bin/gs" */ -+#define GS_PATH "gs" - /* #define GS_LIB "." */ - /* #define GS_DEV "ppmraw" */ - -@@ -97,10 +122,10 @@ - * 'old-style' XV logo image: - * - * XV now has a nifty, new logo image. The downside is that it increases -- * the size of the 'xv' executable by 250K or so, and it's possible that -- * your compiler may choke while compiling 'xvdflt.c'. If you're compiler -+ * the size of the 'xv' executable by 250K or so, and it's possible that -+ * your compiler may choke while compiling 'xvdflt.c'. If your compiler - * can't handle it, or you're running Linux on a system with minimal memory, -- * change 'undef' to 'define' in the following line -+ * change 'undef' to 'define' in the following line: - */ - - #undef USEOLDPIC -@@ -108,8 +133,8 @@ - - /*************************************************************************** - * Backing Store: -- * -- * XV can request that 'Backing Store' may be turned on ('WhenMapped') for -+ * -+ * XV can request that 'Backing Store' may be turned on ('WhenMapped') for - * several of its windows, which may help performance over a slow network - * connection. However, it has been known to behave strangely (or crash) - * on some X servers, so it's left here as an option. If you run into trouble -@@ -119,3 +144,218 @@ - - #define BACKING_STORE - -+ -+/*************************************************************************** -+ * TIFF YCbCr-to-RGB conversion: -+ * -+ * Newer versions of libtiff can be compiled with libjpeg for JPEG-in-TIFF -+ * support, and according to Scott Marovich, "the IJG JPEG Library...sometimes -+ * seems to produce slightly more accurate results" (one known example: the -+ * 'quad-jpeg.tif' test image). In addition, libtiff can be compiled with -+ * "old JPEG" support, although its configure script will not enable that by -+ * default. Change 'define' and 'undef' in the following lines as you wish, -+ * but note that defining LIBTIFF_HAS_OLDJPEG_SUPPORT when such is _not_ the -+ * case will result in crashes when encountering old-JPEG TIFFs: -+ */ -+ -+#define USE_LIBJPEG_FOR_TIFF_YCbCr_RGB_CONVERSION -+#undef LIBTIFF_HAS_OLDJPEG_SUPPORT -+ -+ -+/*************************************************************************** -+ * PhotoCD/MAG/PIC/MAKI/Pi/PIC2/HIPS format Support: -+ * -+ * if, for whatever reason--say, security concerns--you don't want to -+ * include support for one or more of the PhotoCD, MAG/MAKI/Pi/PIC/PIC2 -+ * (Japanese), or HIPS (astronomical) image formats, change the relevant -+ * 'define' to 'undef' in the following lines. Conversely, if you *do* -+ * want them, change 'undef' to 'define' as appropriate. -+ */ -+ -+#define HAVE_PCD /* believed to be reasonably safe */ -+ -+#undef HAVE_MAG /* probable security issues */ -+#undef HAVE_MAKI /* probable security issues */ -+#undef HAVE_PI /* probable security issues */ -+#undef HAVE_PIC /* probable security issues */ -+#undef HAVE_PIC2 /* probable security issues */ -+ -+#undef HAVE_HIPS /* probable security issues */ -+ -+ -+/*************************************************************************** -+ * MacBinary file support: -+ * -+ * if you want XV to be able to handle ``MacBinary'' files (which have -+ * 128 byte info file header at the head), change 'undef' to 'define' -+ * in the following line. -+ */ -+ -+#undef MACBINARY -+ -+ -+/*************************************************************************** -+ * Auto Expand support: -+ * -+ * if you want to extract archived file automatically and regard it as -+ * a directory, change 'undef' to 'define' in the AUTO_EXPAND line. -+ * -+ * Virtual Thumbdir support: -+ * -+ * if you want Virtual directory based Thumbdir(It means that XV -+ * doesn't forget builded Icons still be quited even if the directory -+ * is read-only), change 'undef' to 'define' the VIRTUAL_TD line. -+ */ -+ -+#undef AUTO_EXPAND -+#undef VIRTUAL_TD -+ -+#if defined(VIRTUAL_TD) && !defined(AUTO_EXPAND) -+# undef VIRTUAL_TD -+#endif -+ -+ -+/*************************************************************************** -+ * Adjust the aspect ratio of Icons: -+ * -+ * if you want to adjust the aspect ratio of the icons in Visual -+ * Schnauzer, change 'undef' to 'define' in the following line. -+ */ -+ -+#undef VS_ADJUST -+ -+ -+/*************************************************************************** -+ * Restore original colormap: -+ * -+ * if you want to restore original colormap when icons in Visual -+ * Shunauzer is double-clicked, change 'undef' to 'define' in the -+ * following line. -+ */ -+ -+#undef VS_RESCMAP -+ -+ -+/*************************************************************************** -+ * TextViewer l10n support: -+ * -+ * if you want XV to show the text in Japanese on TextViewer, change -+ * 'undef' to 'define' in the following line. -+ */ -+ -+#undef TV_L10N -+ -+#ifdef TV_L10N -+/* -+ * if you want to change the default code-set used in case that XV -+ * fails to select correct code-set, uncomment the '#define -+ * LOCALE_DEFAULT' line and change the 'LOCALE_DEFAULT' definition -+ * appropriately. -+ * (0:ASCII, 1:EUC-j, 2:JIS, 3:MS Kanji) */ -+ -+/* # define LOCALE_DEFAULT 0 */ -+ -+/* -+ * Uncomment and edit the following lines, if your X Window System was -+ * not compiled with -DX_LOCALE and you failed to display the Japanese -+ * text in TextViewer. You don't have to write locale name of JIS code-set -+ * and Microsoft code-set, if your system doesn't support those code-sets. -+ */ -+ -+/* -+# define LOCALE_NAME_EUC "ja_JP.EUC" -+# define LOCALE_NAME_JIS "ja_JP.JIS" -+# define LOCALE_NAME_MSCODE "ja_JP.SJIS" -+*/ -+ -+/* -+ * if your system doesn't have the Japanese fonts in the sizes, -+ * Uncomment and edit the following font size entries. -+ */ -+ -+/* # define TV_FONTSIZE 14,16,24 */ -+ -+/* -+ * If you need, uncomment and modify the following font name. -+ */ -+ -+/* # define TV_FONTSET "-*-fixed-medium-r-normal--%d-*" */ -+#endif /* TV_L10N */ -+ -+ -+/*************************************************************************** -+ * User definable filter support: -+ * -+ * Use the filters as input and output method for load and save unsupported -+ * image format file. The filter command is recognized by definition of -+ * magic number or suffix in "~/.xv_mgcsfx" . -+ * To enable this feature, change 'undef' to 'define' in the following line. -+ */ -+#undef HAVE_MGCSFX -+ -+#ifdef HAVE_MGCSFX -+/* -+ * Support symbol 'auto' as in startup file. This type -+ * cannot use pipe as input; it writes to a temporary file and recognizes -+ * the actual filetype by XV processing. -+ */ -+# define HAVE_MGCSFX_AUTO -+ -+/* -+ * The startup file of definition for MgcSfx. 'MGCSFX_SITE_RC' is read -+ * first and '~/MGCSFX_RC' is second. So same definitions in both files -+ * are overridden by '~/MGCSFX_RC' -+ * To define startup file, see the sample of startup file 'xv_mgcsfx.sample'. -+ */ -+# define MGCSFX_SITE_RC "xv_mgcsfx" -+# define MGCSFX_RC ".xv_mgcsfx" -+ -+/* -+ * If you want startup file to pass preprocessor in reading time, then -+ * change 'undef' to 'define' in the following line. -+ * -+ * WARNING : If you decide to use preprocessor, you must not write -+ * '# ' style comment in startup file. Because, -+ * preprocessor can't recognize. */ -+# undef USE_MGCSFX_PREPROCESSOR -+ -+# ifdef USE_MGCSFX_PREPROCESSOR -+/* -+ * This is used like "system("MGCSFX_PREPROCESSOR MGCSFX_RC > tmp_name");", -+ * and read tmp_name instead of MGCSFX_RC. -+ */ -+# define MGCSFX_PREPROCESSOR "/usr/lib/cpp" -+/* # define MGCSFX_PREPROCESSOR "cc -E" */ -+ -+# endif /* USE_MGCSFX_PREPROCESSOR */ -+ -+/* -+ * Default string of command. If input command is required for undefined file, -+ * dialog is popuped with 'MGCSFX_DEFAULT_INPUT_COMMAND'. And, if output -+ * command is required in save dialog of MgcSfx, dialog is popuped with -+ * 'MGCSFX_DEFAULT_OUTPUT_COMMAND'. -+ * -+ * WARNING : Now, supported only 'PNM' image format, when command input is -+ * required. You should define filter which use 'PNM' image format -+ * as input or output. -+ */ -+# define MGCSFX_DEFAULT_INPUT_COMMAND "tifftopnm" -+# define MGCSFX_DEFAULT_OUTPUT_COMMAND "pnmtotiff" -+ -+#endif /* HAVE_MGCSFX */ -+ -+ -+/*************************************************************************** -+ * Multi-Lingual TextViewer -+ * -+ * if you want XV to show the text in multi-lingual on TextViewer, change -+ * 'undef' to 'define' in the following line. -+ */ -+ -+#undef TV_MULTILINGUAL -+ -+#define TV_DEFAULT_CODESET TV_EUC_JAPAN -+ -+#ifdef TV_MULTILINGUAL -+# undef TV_L10N -+#endif -diff -ru xv-3.10a/copyright.h xv-3.10a-enhancements/copyright.h ---- xv-3.10a/copyright.h 1994-12-22 14:34:56.000000000 -0800 -+++ xv-3.10a-enhancements/copyright.h 2007-05-20 21:35:34.000000000 -0700 -@@ -1,11 +1,11 @@ - /* Copyright Notice - * ================ - * Copyright 1989, 1994 by John Bradley -- * -- * Permission to copy and distribute XV in its entirety, for non-commercial -- * purposes, is hereby granted without fee, provided that this license -+ * -+ * Permission to copy and distribute XV in its entirety, for non-commercial -+ * purposes, is hereby granted without fee, provided that this license - * information and copyright notice appear unmodified in all copies. -- * -+ * - * Note that distributing XV 'bundled' in with any product is considered - * to be a 'commercial purpose'. - * -@@ -13,16 +13,16 @@ - * and/or configured to be in their 'unregistered copy' mode, so that it - * is made obvious to the user that XV is shareware, and that they should - * consider donating, or at least reading this License Info. -- * -+ * - * The software may be modified for your own purposes, but modified - * versions may not be distributed without prior consent of the author. -- * -+ * - * This software is provided 'as-is', without any express or implied - * warranty. In no event will the author be held liable for any damages - * arising from the use of this software. -- * -+ * - * If you would like to do something with XV that this copyright -- * prohibits (such as distributing it with a commercial product, -+ * prohibits (such as distributing it with a commercial product, - * using portions of the source in some other program, etc.), please - * contact the author (preferably via email). Arrangements can - * probably be worked out. -@@ -34,13 +34,13 @@ - * larger donations are quite welcome. Folks who donate $25 or more - * can receive a Real Nice bound copy of the XV manual for no extra - * charge. -- * -+ * - * Commercial, government, and institutional users must register their - * copies of XV, for the price of $25 per workstation/X terminal or per - * XV user, whichever is less. Note that it does NOT say 'simultaneous user', -- * but rather, the total number of people who use XV on any sort of -- * recurring basis. Site licenses are available (and recommended) for those -- * who wish to run XV on a large (>10) number of machines. -+ * but rather, the total number of people who use XV on any sort of -+ * recurring basis. Site licenses are available (and recommended) for those -+ * who wish to run XV on a large (>10) number of machines. - * Contact the author for more details. - * - * The author may be contacted via: -@@ -56,3 +56,51 @@ - * The author may not be contacted by (voice) phone. Please don't try. - * - */ -+ -+/* -+ * Portions copyright 2000-2007 by Greg Roelofs and contributors: -+ * -+ * Andrey A. Chernov [ache] -+ * (http://cvsweb.freebsd.org/ports/graphics/xv/files/patch-ab) -+ * Andreas Dilger (adilger clusterfs.com) -+ * Alexander Lehmann (lehmann usa.net) -+ * Alexey Spiridonov (http://www-math.mit.edu/~lesha/) -+ * Anthony Thyssen (http://www.cit.gu.edu.au/~anthony/) -+ * Bruno Rohee (http://bruno.rohee.com/) -+ * David A. Clunie (http://www.dclunie.com/xv-pcd.html) -+ * Erling A. Jacobsen (linuxcub email.dk) -+ * Egmont Koblinger (egmont users.sourceforge.net) -+ * Fabian Greffrath (fabian debian-unofficial.org) -+ * Greg Roelofs (http://pobox.com/~newt/greg_contact.html) -+ * Guido Vollbeding (http://sylvana.net/guido/) -+ * IKEMOTO Masahiro (ikeyan airlab.cs.ritsumei.ac.jp) -+ * John Cooper (john.cooper third-harmonic.com) -+ * John C. Elliott (http://www.seasip.demon.co.uk/ZX/zxdload.html) -+ * John D. Baker (http://mylinuxisp.com/~jdbaker/) -+ * Jörgen Grahn (jgrahn algonet.se) -+ * John H. Bradley, of course (http://www.trilon.com/xv/) -+ * Jean-Pierre Demailly (http://www-fourier.ujf-grenoble.fr/~demailly/) -+ * John Rochester (http://www.freebsd.org/cgi/query-pr.cgi?pr=2920) -+ * (also http://cvsweb.freebsd.org/ports/graphics/xv/files/patch-af, -ag) -+ * James Roberts Kirkpatrick (uwyo.edu) -+ * Joe Zbiciak (http://spatula-city.org/~im14u2c/) -+ * Kyoichiro Suda (http://www.coara.or.jp/~sudakyo/XV_jp.html) -+ * Landon Curt "chongo" Noll (http://www.isthe.com/chongo/) -+ * Larry Jones (lawrence.jones ugs.com) -+ * Peter Jordan (http://www.ibiblio.org/pub/Linux/apps/graphics/viewers/X/) -+ * Pawel S. Veselov (http://manticore.2y.net/wbmp.html) -+ * Ross Combs (rocombs cs.nmsu.edu) -+ * Robin Humble (http://www.cita.utoronto.ca/~rjh/) -+ * Sean Borman (http://www.nd.edu/~sborman/software/xvwheelmouse.html) -+ * TenThumbs (tenthumbs cybernex.net) -+ * Scott B. Marovich (formerly marovich hpl.hp.com) -+ * Tim Adye (http://hepwww.rl.ac.uk/Adye/xv-psnewstyle.html) -+ * Tim Ramsey (tar pobox.com) -+ * Tetsuya INOUE (tin329 chino.it.okayama-u.ac.jp) -+ * Tavis Ormandy (taviso gentoo.org) -+ * Werner Fink (http://www.suse.de/~werner/) -+ * -+ * Other credits are as listed on the XV Downloads page or in the respective -+ * patches (e.g., the jp-extension patches or within the PNG patch). -+ * -+ */ -diff -ru xv-3.10a/docs/bggen.man xv-3.10a-enhancements/docs/bggen.man ---- xv-3.10a/docs/bggen.man 1994-12-22 14:35:22.000000000 -0800 -+++ xv-3.10a-enhancements/docs/bggen.man 2007-04-22 17:32:11.000000000 -0700 -@@ -1,4 +1,4 @@ --.TH bggen l -+.TH bggen 1 - .SH NAME - bggen \- generates colored backgrounds on X11 displays - .SH SYNTAX -diff -ru xv-3.10a/docs/xcmap.man xv-3.10a-enhancements/docs/xcmap.man ---- xv-3.10a/docs/xcmap.man 1994-12-22 14:35:23.000000000 -0800 -+++ xv-3.10a-enhancements/docs/xcmap.man 2007-04-22 17:32:31.000000000 -0700 -@@ -1,4 +1,4 @@ --.TH xcmap 1X -+.TH xcmap 1 - .SH NAME - xcmap \- displays the default colormap on X11 displays - .SH SYNTAX -diff -ru xv-3.10a/docs/xv.man xv-3.10a-enhancements/docs/xv.man ---- xv-3.10a/docs/xv.man 1994-12-22 14:35:22.000000000 -0800 -+++ xv-3.10a-enhancements/docs/xv.man 2007-04-22 17:32:53.000000000 -0700 -@@ -1,4 +1,4 @@ --.TH XV l "2 December 1994" "Rev. 3.10" -+.TH XV 1 "22 April 2007" "Rev. 3.10a-jumboFix+Enh" - .SH NAME - \fBxv\fP \- interactive image display for the X Window System - .SH SYNTAX -@@ -8,14 +8,17 @@ - .SH DESCRIPTION - The - .I xv --program displays images in the GIF, JPEG, TIFF, --PBM, PGM, PPM, X11 bitmap, Utah Raster Toolkit RLE, PDS/VICAR, Sun Rasterfile, --BMP, PCX, IRIS RGB, XPM, Targa, XWD, possibly PostScript, and PM formats on --workstations and terminals running the X Window System, Version 11. -+program displays images on workstations and terminals running the X Window -+System, Version 11. Supported image formats include -+PBM, PGM, PPM, X11 bitmap, XWD, XPM, Utah Raster Toolkit RLE, PDS/VICAR, -+FITS, Sun Rasterfile, GIF, PCX, Targa/TGA, BMP, WBMP, IRIS RGB, Spectrum -+SCREEN$, PM, and optionally PNG, JPEG, JPEG 2000, JP2, TIFF, PostScript, -+PDF, G3 fax, MAG, PIC, MAKI (640x400), PI, and PIC2. - .LP --The documentation for XV is now distributed -+Aside from the usage screen (available by typing 'xv -help' at the command -+line), documentation for XV is now distributed - .I only --as a PostScript file, as it has gotten enormous, -+as a PostScript (or PDF) file, as it has gotten enormous - and is no longer very well suited to the 'man' page format. - Print a copy of the (100-ish page) manual found in - .IR docs/xvdocs.ps . -@@ -26,9 +29,14 @@ - If you don't - .I have - the PostScript file, it is part of the standard XV distribution, the --latest version of which can be obtained via anonymous ftp from -+latest version of which can be obtained from -+.IR http://www.trilon.com/xv/ -+or via anonymous ftp from - .IR ftp.cis.upenn.edu --in the directory pub/xv -+in the directory pub/xv . -+.PP -+This version has been patched with the XV Jumbo Patches, available from -+.IR http://pobox.com/~newt/greg_xv.html . - .PP - .SH AUTHOR --John Bradley -+John Bradley (and many contributors) -diff -ru xv-3.10a/docs/xvp2p.man xv-3.10a-enhancements/docs/xvp2p.man ---- xv-3.10a/docs/xvp2p.man 1994-12-22 14:35:25.000000000 -0800 -+++ xv-3.10a-enhancements/docs/xvp2p.man 2007-04-22 17:33:23.000000000 -0700 -@@ -1,4 +1,4 @@ --.TH xvpictoppm 1X -+.TH xvpictoppm 1 - .SH NAME - xvpictoppm \- converts XV 'thumbnail' files to standard PPM format - .SH SYNTAX -diff -ru xv-3.10a/tiff/Makefile xv-3.10a-enhancements/tiff/Makefile ---- xv-3.10a/tiff/Makefile 1994-12-22 14:35:12.000000000 -0800 -+++ xv-3.10a-enhancements/tiff/Makefile 2005-04-17 14:45:28.000000000 -0700 -@@ -30,13 +30,15 @@ - # OF THIS SOFTWARE. - # - --AR= ar --RANLIB= ./RANLIB.csh -+AR= ar -+CHMOD= chmod -+#RANLIB= ./RANLIB.csh -+RANLIB= ./RANLIB.sh - - IPATH= -I. - - COPTS= -O --CFLAGS= ${COPTS} ${IPATH} -+CFLAGS= ${COPTS} ${IPATH} -D_BSD_SOURCE - - INCS= tiff.h tiffio.h - -@@ -60,6 +62,7 @@ - - ${ALL}: ${OBJS} - ${AR} rc libtiff.a $? -+ ${CHMOD} +x ${RANLIB} - ${RANLIB} libtiff.a - - ${OBJS}: tiffio.h tiff.h tiffcomp.h tiffiop.h tiffconf.h -diff -ru xv-3.10a/tiff/Makefile.std xv-3.10a-enhancements/tiff/Makefile.std ---- xv-3.10a/tiff/Makefile.std 1994-12-22 14:35:16.000000000 -0800 -+++ xv-3.10a-enhancements/tiff/Makefile.std 2004-05-16 18:50:39.000000000 -0700 -@@ -30,8 +30,10 @@ - # OF THIS SOFTWARE. - # - --AR= /bin/ar --RANLIB= ./RANLIB.csh -+AR= /bin/ar -+CHMOD= chmod -+#RANLIB= ./RANLIB.csh -+RANLIB= ./RANLIB.sh - - IPATH= -I. - -@@ -60,6 +62,7 @@ - - ${ALL}: ${OBJS} - ${AR} rc libtiff.a $? -+ ${CHMOD} +x ${RANLIB} - ${RANLIB} libtiff.a - - ${OBJS}: tiffio.h tiff.h tiffcomp.h tiffiop.h tiffconf.h -diff -ru xv-3.10a/vdcomp.c xv-3.10a-enhancements/vdcomp.c ---- xv-3.10a/vdcomp.c 1994-12-22 14:34:47.000000000 -0800 -+++ xv-3.10a-enhancements/vdcomp.c 2007-04-15 21:09:55.000000000 -0700 -@@ -5,8 +5,8 @@ - /* Decompresses images using Kris Becker's subroutine DECOMP.C */ - /* which is included in this program in a shortened version. */ - /* */ --/* Reads a variable length compressed PDS image and outputs a */ --/* fixed length uncompressed image file in PDS format with */ -+/* Reads a variable-length compressed PDS image and outputs a */ -+/* fixed-length uncompressed image file in PDS format with */ - /* labels, image histogram, engineering table, line header table */ - /* and an image with PDS, FITS, VICAR or no labels. If used on */ - /* a non-byte-swapped machine the image histogram is un-swapped. */ -@@ -96,40 +96,54 @@ - #include - #include - --/* include a malloc.h, of some sort... */ --#ifndef VMS /* VMS hates multi-line '#if's */ --# if !defined(ibm032) && \ -- !defined(__convex__) && \ -- !(defined(vax) && !defined(ultrix)) && \ -- !defined(mips) && \ -- !defined(apollo) && \ -- !defined(pyr) && \ -- !defined(__UMAXV__) && \ -- !defined(bsd43) && \ -- !defined(aux) && \ -- !defined(__bsdi__) && \ -- !defined(sequent) -- --# if defined(hp300) || defined(hp800) || defined(NeXT) --# include /* it's in 'sys' on HPs and NeXT */ --# else --# include --# endif --# endif -+/* include a malloc.h of some sort (if needed...most systems use stdlib.h) */ -+#ifndef VMS /* VMS hates multi-line "#if"s */ -+ /* -+ * I want to use BSD macro for checking if this OS is *BSD or not, -+ * but the macro is defined in , which I don't know all -+ * machine has or not. -+ */ -+# if !defined(ibm032) && \ -+ !defined(__convex__) && \ -+ !(defined(vax) && !defined(ultrix)) && \ -+ !defined(mips) && \ -+ !defined(apollo) && \ -+ !defined(pyr) && \ -+ !defined(sequent) && \ -+ !defined(__UMAXV__) && \ -+ !defined(aux) && \ -+ !defined(bsd43) && \ -+ !defined(__bsd43) && \ -+ !defined(__bsdi__) && \ -+ !defined(__386BSD__) && \ -+ !defined(__FreeBSD__) && \ -+ !defined(__OpenBSD__) && \ -+ !defined(__NetBSD__) && \ -+ !defined(__DARWIN__) -+ -+# if defined(hp300) || defined(hp800) || defined(NeXT) -+# include /* it's in "sys" on HPs and NeXT */ -+# else -+# include /* FIXME: should explicitly list systems that NEED this, not everyone that doesn't */ -+# endif -+ -+# endif /* !most modern systems */ - #endif /* !VMS */ - - - #include - --#define TRUE 1 --#define FALSE 0 -+#define TRUE 1 -+#define FALSE 0 -+ -+#define NAMELEN 1024 /* inname and outname sizes */ - -- /* pc i/o defines */ --#define O_BINARY 0x8000 /* file mode is binary */ -+ /* PC I/O defines */ -+#define O_BINARY 0x8000 /* file mode is binary */ - -- /* vax i/o defines */ --#define RECORD_TYPE "rfm=fix" /* VAX fixed length output */ --#define CTX "ctx=bin" /* no translation of \n */ -+ /* VAX/VMS I/O defines */ -+#define RECORD_TYPE "rfm=fix" /* VAX/VMS fixed-length output */ -+#define CTX "ctx=bin" /* no translation of \n */ - #define FOP "fop=cif,sup" /* file processing ops */ - - typedef struct leaf { struct leaf *right; -@@ -142,9 +156,9 @@ - once the tree is created by the accompanying routine huff_tree. - **************************************************************************/ - -- NODE *tree; -+static NODE *tree; - --/* subroutine definitions */ -+/* subroutine definitions */ - - #undef PARM - #ifdef __STDC__ -@@ -172,11 +186,11 @@ - void free_tree PARM((int *)); - int free_node PARM((NODE *, int)); - --/* global variables */ -+/* global variables */ - - int infile; - FILE *outfile; --char inname[1024],outname[1024]; -+char inname[NAMELEN], outname[NAMELEN]; - int output_format; - int record_bytes, max_lines; - int line_samples, fits_pad; -@@ -185,8 +199,8 @@ - - /*************************************************/ - int main(argc,argv) -- int argc; -- char **argv; -+ int argc; -+ char **argv; - { - unsigned char ibuf[2048],obuf[2048]; - unsigned char blank=32; -@@ -200,12 +214,12 @@ - /* */ - /*********************************************************************/ - -- strcpy(inname," "); -+ strcpy(inname," "); - strcpy(outname," "); - output_format = 0; - - if (argc == 1); /* prompt user for parameters */ -- else if (argc == 2 && (strncmp(argv[1],"help",(size_t) 4) == 0 || -+ else if (argc == 2 && (strncmp(argv[1],"help",(size_t) 4) == 0 || - strncmp(argv[1],"HELP",(size_t) 4) == 0 || - strncmp(argv[1],"?", (size_t) 1) == 0)) { - fprintf(stderr, -@@ -214,18 +228,22 @@ - fprintf(stderr," infile - name of compressed image file. \n"); - fprintf(stderr," outfile - name of uncompressed output file.\n"); - fprintf(stderr," output format - selected from the following list:\n"); -- fprintf(stderr,"\n"); -- fprintf(stderr," 1 SFDU/PDS format [DEFAULT].\n"); -- fprintf(stderr," 2 FITS format. \n"); -- fprintf(stderr," 3 VICAR format. \n"); -- fprintf(stderr," 4 Unlabelled binary array. \n\n"); -+ fprintf(stderr,"\n"); -+ fprintf(stderr," 1 SFDU/PDS format [DEFAULT].\n"); -+ fprintf(stderr," 2 FITS format. \n"); -+ fprintf(stderr," 3 VICAR format. \n"); -+ fprintf(stderr," 4 Unlabelled binary array. \n\n"); - exit(1); -- } -+ } - else { -- strcpy(inname,argv[1]); -- if (argc >= 3) strcpy(outname,argv[2]); -+ strncpy(inname, argv[1], sizeof(inname)-1); -+ inname[sizeof(inname)-1] = '\0'; -+ if (argc >= 3) { -+ strncpy(outname, argv[2], sizeof(outname)-1); -+ outname[sizeof(outname)-1] = '\0'; -+ } - if (argc == 3) output_format = 1; -- if (argc == 4) sscanf(argv[3],"%d",&output_format); -+ if (argc == 4) sscanf(argv[3],"%d",&output_format); - } - - host = check_host(); -@@ -244,13 +262,13 @@ - case 4: no_labels(host); break; - } - -- if (record_bytes == 836) { /* set up values for image sizes */ -+ if (record_bytes == 836) { /* set up values for image sizes */ - max_lines = 800; - fits_pad = 2240; - line_samples = 800; - } - else { -- max_lines = 1056; -+ max_lines = 1056; - fits_pad = 1536; - line_samples = 1204; - } -@@ -394,12 +412,12 @@ - if (record_bytes == 1204) /* do checksum for viking */ - for (i=0; i 0 && line < max_lines); - -- if (record_bytes == 1204 && (outfile != stdout)) -+ if (record_bytes == 1204 && (outfile != stdout)) - /* print checksum for viking */ - fprintf(stderr,"\n Image label checksum = %d computed checksum = %d\n", - label_checksum,checksum); -@@ -425,33 +443,36 @@ - /*********************************************************************/ - - int get_files(host) --int host; -+ int host; - { -- short shortint; - typedef long off_t; -+ short shortint; -+ char *s; - - if (inname[0] == ' ') { - printf("\nEnter name of file to be decompressed: "); -- gets (inname); -+ fgets(inname, sizeof(inname), stdin); -+ if ((s = strchr(inname, '\n')) != NULL) -+ *s = '\0'; - } - -- if (host == 1 | host == 2) { -- if ((infile = open(inname,O_RDONLY | O_BINARY)) <= 0) { -- fprintf(stderr,"\ncan't open input file: %s\n",inname); -+ if (host == 1 || host == 2) { -+ if ((infile = open(inname, O_RDONLY | O_BINARY)) <= 0) { -+ fprintf(stderr,"\ncan't open input file: %s\n", inname); - exit(1); - } - } -- else if (host == 3 | host == 5) { -- if ((infile = open(inname,O_RDONLY)) <= 0) { -- fprintf(stderr,"\ncan't open input file: %s\n",inname); -+ else if (host == 3 || host == 5) { -+ if ((infile = open(inname, O_RDONLY)) <= 0) { -+ fprintf(stderr,"\ncan't open input file: %s\n", inname); - exit(1); - } - - /****************************************************************/ -- /* If we are on a vax see if the file is in var length format. */ -- /* This logic is in here in case the vax file has been stored */ -+ /* If we are on a VAX see if the file is in var length format. */ -+ /* This logic is in here in case the VAX file has been stored */ - /* in fixed or undefined format. This might be necessary since */ -- /* vax variable length files can't be moved to other computer */ -+ /* VAX variable-length files can't be moved to other computer */ - /* systems with standard comm programs (kermit, for example). */ - /****************************************************************/ - -@@ -459,9 +480,9 @@ - read(infile,&shortint, (size_t) 2); - if (shortint > 0 && shortint < 80) { - host = 4; /* change host to 4 */ -- printf("This is not a VAX variable length file."); -+ printf("This is not a VAX variable-length file."); - } -- else printf("This is a VAX variable length file."); -+ else printf("This is a VAX variable-length file."); - lseek(infile,(off_t) 0,0); /* reposition to beginning of file */ - } - } -@@ -474,13 +495,17 @@ - printf("\n 3. VICAR format."); - printf("\n 4. Unlabelled binary array.\n"); - printf("\n Enter format number:"); -- gets(inname); -+ fgets(inname, sizeof(inname), stdin); -+ if ((s = strchr(inname, '\n')) != NULL) -+ *s = '\0'; - output_format = atoi(inname); - } while (output_format < 1 || output_format > 4); - - if (outname[0] == ' ') { - printf("\nEnter name of uncompressed output file: "); -- gets (outname); -+ fgets(outname, sizeof(outname), stdin); -+ if ((s = strchr(outname, '\n')) != NULL) -+ *s = '\0'; - } - - return(host); -@@ -495,68 +520,68 @@ - /*********************************************************************/ - - void open_files(host) --int *host; -+ int *host; - { - if (*host == 1 || *host == 2 || *host == 5) { - if (outname[0] == '-') outfile=stdout; -- else if ((outfile = fopen(outname,"wb"))==NULL) { -- fprintf(stderr,"\ncan't open output file: %s\n",outname); -+ else if ((outfile = fopen(outname, "wb"))==NULL) { -+ fprintf(stderr,"\ncan't open output file: %s\n", outname); - exit(1); - } - } - - else if (*host == 3 || *host == 4) { - if (output_format == 1) { /* write PDS format blocks */ -- if (record_bytes == 836) { -- if ((outfile=fopen(outname,"w" -+ if (record_bytes == 836) { -+ if ((outfile=fopen(outname, "w" - #ifdef VMS - ,"mrs=836",FOP,CTX,RECORD_TYPE - #endif - ))==NULL) { -- fprintf(stderr,"\ncan't open output file: %s\n",outname); -+ fprintf(stderr,"\ncan't open output file: %s\n", outname); - exit(1); - } - } - else { -- if ((outfile=fopen(outname,"w" -+ if ((outfile=fopen(outname, "w" - #ifdef VMS - ,"mrs=1204",FOP,CTX,RECORD_TYPE - #endif - ))==NULL) { -- fprintf(stderr,"\ncan't open output file: %s\n",outname); -+ fprintf(stderr,"\ncan't open output file: %s\n", outname); - exit(1); - } - } - } - else if (output_format == 2) { /* write FITS format blocks */ -- if ((outfile=fopen(outname,"w" -+ if ((outfile=fopen(outname, "w" - #ifdef VMS - ,"mrs=2880",FOP,CTX,RECORD_TYPE - #endif - ))==NULL) { -- fprintf(stderr,"\ncan't open output file: %s\n",outname); -+ fprintf(stderr,"\ncan't open output file: %s\n", outname); - exit(1); - } - } - -- else { /* write fixed length records */ -- if (record_bytes == 836) { -- if ((outfile=fopen(outname,"w" -+ else { /* write fixed-length records */ -+ if (record_bytes == 836) { -+ if ((outfile=fopen(outname, "w" - #ifdef VMS - ,"mrs=800",FOP,CTX,RECORD_TYPE - #endif - ))==NULL) { -- fprintf(stderr,"\ncan't open output file: %s\n",outname); -+ fprintf(stderr,"\ncan't open output file: %s\n", outname); - exit(1); - } - } - else { -- if ((outfile=fopen(outname,"w" -+ if ((outfile=fopen(outname, "w" - #ifdef VMS - ,"mrs=1204",FOP,CTX,RECORD_TYPE - #endif - ))==NULL) { -- fprintf(stderr,"\ncan't open output file: %s\n",outname); -+ fprintf(stderr,"\ncan't open output file: %s\n", outname); - exit(1); - } - } -@@ -572,11 +597,11 @@ - /*********************************************************************/ - - void pds_labels(host) -- int host; -+ int host; - { -- char outstring[80],ibuf[2048]; -+ char ibuf[2048]; - unsigned char cr=13,lf=10,blank=32; -- short length,nlen,total_bytes,line,i; -+ short length,total_bytes,i; - - - total_bytes = 0; -@@ -613,11 +638,11 @@ - (size_t) 53,(size_t) 1,outfile); - else - fwrite("CCSD3ZF0000100000001NJPL3IF0PDS200000001 = SFDU_LABEL", -- (size_t) 53,(size_t) 1,outfile); -+ (size_t) 53,(size_t) 1,outfile); - - fprintf(outfile,"%c%c",cr,lf); - fwrite("/* FILE FORMAT AND LENGTH */",(size_t) 37,(size_t) 1, -- outfile); -+ outfile); - fprintf(outfile,"%c%c",cr,lf); - fwrite("RECORD_TYPE = FIXED_LENGTH",(size_t) 47, - (size_t) 1,outfile); -@@ -710,7 +735,7 @@ - } - else { - strcpy(ibuf+35,"60"); -- length = length - 2; -+ length = length - 2; - } - - fwrite(ibuf,(size_t) length,(size_t) 1,outfile); -@@ -730,7 +755,7 @@ - } - - else if ((i = strncmp(ibuf," ENCODING",(size_t) 9)) == 0); -- -+ - /*****************************************************************/ - /* delete the encoding type label in the image object */ - /*****************************************************************/ -@@ -787,10 +812,10 @@ - /*********************************************************************/ - - void fits_labels(host) --int host; -+ int host; - { - char ibuf[2048],outstring[80]; -- short length,nlen,total_bytes,line,i; -+ short length,total_bytes,i; - unsigned char cr=13,lf=10,blank=32; - - do { -@@ -799,7 +824,7 @@ - /*****************************************************************/ - /* find the checksum and store in label_checksum */ - /*****************************************************************/ -- if ((i = strncmp(ibuf," CHECKSUM",(size_t) 9)) == 0) { -+ if ((i = strncmp(ibuf," CHECKSUM",(size_t) 9)) == 0) { - ibuf[length] = '\0'; - label_checksum = atol(ibuf+35); - } -@@ -842,7 +867,7 @@ - - if (record_bytes == 836) - strcpy(outstring,"NAXIS1 = 800"); -- else -+ else - strcpy(outstring,"NAXIS1 = 1204"); - - strcat(outstring," "); -@@ -862,7 +887,7 @@ - - strcpy(outstring,"END "); - strcat(outstring," "); -- -+ - fwrite(outstring,(size_t) 78,(size_t) 1,outfile); - fprintf(outfile,"%c%c",cr,lf); - total_bytes = total_bytes + 80; -@@ -871,6 +896,7 @@ - for (i=total_bytes; i<2880; i++) fputc(blank,outfile); - } - -+ - /*********************************************************************/ - /* */ - /* subroutine vicar_labels - write vicar labels to output file */ -@@ -878,11 +904,10 @@ - /*********************************************************************/ - - void vicar_labels(host) --int host; -- -+ int host; - { - char ibuf[2048],outstring[80]; -- short length,nlen,total_bytes,line,i; -+ short length,total_bytes,i; - unsigned char cr=13,lf=10,blank=32; - - do { -@@ -890,7 +915,7 @@ - /*****************************************************************/ - /* find the checksum and store in label_checksum */ - /*****************************************************************/ -- if ((i = strncmp(ibuf," CHECKSUM",(size_t) 9)) == 0) { -+ if ((i = strncmp(ibuf," CHECKSUM",(size_t) 9)) == 0) { - ibuf[length] = '\0'; - label_checksum = atol(ibuf+35); - } -@@ -950,10 +975,10 @@ - /*********************************************************************/ - - void no_labels(host) --int host; -+ int host; - { -- char ibuf[2048],outstring[80]; -- short length,nlen,total_bytes,line,i; -+ char ibuf[2048]; -+ short length,i; - - do { - length = read_var(ibuf,host); -@@ -961,7 +986,7 @@ - /*****************************************************************/ - /* find the checksum and store in label_checksum */ - /*****************************************************************/ -- if ((i = strncmp(ibuf," CHECKSUM",(size_t) 9)) == 0) { -+ if ((i = strncmp(ibuf," CHECKSUM",(size_t) 9)) == 0) { - ibuf[length] = '\0'; - label_checksum = atol(ibuf+35); - } -@@ -984,15 +1009,16 @@ - open_files(&host); - } - -+ - /*********************************************************************/ - /* */ --/* subroutine read_var - read variable length records from input file*/ -+/* subroutine read_var - read variable-length records from input file*/ - /* */ - /*********************************************************************/ - - int read_var(ibuf,host) --char *ibuf; --int host; -+ char *ibuf; -+ int host; - { - int length,result,nlen; - char temp; -@@ -1027,19 +1053,19 @@ - return (length); - - case 3: /*******************************************************/ -- /* VAX host with variable length support */ -+ /* VAX host with variable-length support */ - /*******************************************************/ - length = read(infile,ibuf,(size_t) 2048/* upper bound */); - return (length); - - case 4: /*******************************************************/ -- /* VAX host, but not a variable length file */ -+ /* VAX host, but not a variable-length file */ - /*******************************************************/ - length = 0; - result = read(infile,&length,(size_t) 2); - nlen = read(infile,ibuf,(size_t) length+(length%2)); - -- /* check to see if we crossed a vax record boundary */ -+ /* check to see if we crossed a VAX record boundary */ - while (nlen < length) - nlen += read(infile,ibuf+nlen,(size_t) length+(length%2)-nlen); - return (length); -@@ -1061,6 +1087,7 @@ - return 0; - } - -+ - /*********************************************************************/ - /* */ - /* subroutine check_host - find out what kind of machine we are on */ -@@ -1115,23 +1142,23 @@ - "Host 5 - 32 bit integers without swapping, no var len support."); - } - -- if ((*outname)!='-') fprintf(stderr,"%s\n",hostname); -+ if ((*outname) != '-') fprintf(stderr, "%s\n", hostname); - return(host); - } - - --int swap_int(inval) /* swap 4 byte integer */ -- int inval; -+int swap_int(inval) /* swap 4 byte integer */ -+ int inval; - { -- union /* this union is used to swap 16 and 32 bit integers */ -+ union /* this union is used to swap 16 and 32 bit integers */ - { - char ichar[4]; - short slen; - int llen; - } onion; - char temp; -- -- /* byte swap the input field */ -+ -+ /* byte swap the input field */ - onion.llen = inval; - temp = onion.ichar[0]; - onion.ichar[0]=onion.ichar[3]; -@@ -1146,17 +1173,13 @@ - /**************************************************************************** - *_TITLE decompress - decompresses image lines stored in compressed format * - *_ARGS TYPE NAME I/O DESCRIPTION */ -- char *ibuf; /* I Compressed data buffer */ -- char *obuf; /* O Decompressed image line */ -- int *nin; /* I Number of bytes on input buffer */ -- int *nout; /* I Number of bytes in output buffer */ -- -+ char *ibuf; /* I Compressed data buffer */ -+ char *obuf; /* O Decompressed image line */ -+ int *nin; /* I Number of bytes on input buffer */ -+ int *nout; /* I Number of bytes in output buffer */ - { -- /* The external root pointer to tree */ -- extern NODE *tree; -- - dcmprs(ibuf,obuf,nin,nout,tree); -- -+ - return; - } - -@@ -1165,10 +1188,8 @@ - /*************************************************************************** - *_TITLE decmpinit - initializes the Huffman tree * - *_ARGS TYPE NAME I/O DESCRIPTION */ -- int *hist; /* I First-difference histogram. */ -- -+ int *hist; /* I First-difference histogram. */ - { -- extern NODE *tree; /* Huffman tree root pointer */ - tree = huff_tree(hist); - return; - } -@@ -1178,8 +1199,7 @@ - /**************************************************************************** - *_TITLE huff_tree - constructs the Huffman tree; returns pointer to root * - *_ARGS TYPE NAME I/O DESCRIPTION */ -- int *hist; /* I First difference histogram */ -- -+ int *hist; /* I First difference histogram */ - { - /* Local variables used */ - int freq_list[512]; /* Histogram frequency list */ -@@ -1189,7 +1209,6 @@ - NODE **np; /* Node list pointer */ - - int num_freq; /* Number non-zero frequencies in histogram */ -- int sum; /* Sum of all frequencies */ - - short int num_nodes; /* Counter for DN initialization */ - short int cnt; /* Miscellaneous counter */ -@@ -1228,7 +1247,7 @@ - - j = 0; - for (i=4 ; --i >= 0 ; j = (j << 8) | *(cp+i)); -- -+ - /* Now make the assignment */ - *fp++ = j; - temp = new_node(num_nodes); -@@ -1341,7 +1360,7 @@ - l--; - if ( j <= freq_list) break; - } -- -+ - } - return; - } -@@ -1362,9 +1381,9 @@ - NODE *ptr = root; /* pointer to position in tree */ - unsigned char test; /* test byte for bit set */ - unsigned char idn; /* input compressed byte */ -- -+ - char odn; /* last dn value decompressed */ -- -+ - char *ilim = ibuf + *nin; /* end of compressed bytes */ - char *olim = obuf + *nout; /* end of output buffer */ - -@@ -1406,10 +1425,9 @@ - /**************************************************************************** - *_TITLE free_tree - free memory of all allocated nodes * - *_ARGS TYPE NAME I/O DESCRIPTION */ -- int *nfreed; /* O Return of total count of nodes * -+ int *nfreed; /* O Return of total count of nodes * - * freed. */ -- --/* -+/* * - *_DESCR This routine is supplied to the programmer to free up all the * - * allocated memory required to build the huffman tree. The count * - * of the nodes freed is returned in the parameter 'nfreed'. The * -@@ -1417,16 +1435,13 @@ - * than one file per run, the program will not keep allocating new * - * memory without first deallocating all previous nodes associated * - * with the previous file decompression. * -- -+* * - *_HIST 16-AUG-89 Kris Becker USGS, Flagstaff Original Version * - *_END * - ****************************************************************************/ -- - { - int total_free = 0; - -- extern NODE *tree; /* Huffman tree root pointer */ -- - *nfreed = free_node(tree,total_free); - - return; -@@ -1435,36 +1450,33 @@ - - int free_node(pnode,total_free) - /*************************************************************************** --*_TITLE free_node - deallocates an allocated NODE pointer -+*_TITLE free_node - deallocates an allocated NODE pointer * - *_ARGS TYPE NAME I/O DESCRIPTION */ - NODE *pnode; /* I Pointer to node to free */ -- int total_free; /* I Total number of freed nodes */ -- --/* -+ int total_free; /* I Total number of freed nodes */ -+/* * - *_DESCR free_node will check both right and left pointers of a node * - * and then free the current node using the free() C utility. * - * Note that all nodes attached to the node via right or left * - * pointers area also freed, so be sure that this is the desired * - * result when calling this routine. * -- -+* * - * This routine is supplied to allow successive calls to the * - * decmpinit routine. It will free up the memory allocated * - * by previous calls to the decmpinit routine. The call to free * --* a previous huffman tree is: total = free_node(tree,(int) 0); * -+* a previous huffman tree is: total = free_node(tree,(int) 0); * - * This call must be done by the programmer application routine * - * and is not done by any of these routines. * - *_HIST 16-AUG-89 Kris Becker U.S.G.S Flagstaff Original Version */ - { - if (pnode == (NODE *) NULL) return(total_free); -- -+ - if (pnode->right != (NODE *) NULL) - total_free = free_node(pnode->right,total_free); - if (pnode->left != (NODE *) NULL) - total_free = free_node(pnode->left,total_free); -- -+ - free((char *) pnode); - return(total_free + 1); - } - -- -- -diff -ru xv-3.10a/xcmap.c xv-3.10a-enhancements/xcmap.c ---- xv-3.10a/xcmap.c 1995-01-03 13:14:52.000000000 -0800 -+++ xv-3.10a-enhancements/xcmap.c 2007-04-15 13:12:41.000000000 -0700 -@@ -9,6 +9,9 @@ - - /* include files */ - #include -+#ifdef __STDC__ -+# include /* exit(), abs() */ -+#endif - #include - #include - -@@ -18,7 +21,7 @@ - #include - - #ifdef VMS --#define index strchr -+# define index strchr - #endif - - typedef unsigned char byte; -@@ -58,7 +61,7 @@ - int main PARM((int, char **)); - static void HandleEvent PARM((XEvent *)); - static void Syntax PARM((void)); --static void FatalError PARM((char *)); -+static void FatalError PARM((const char *)); - static void Quit PARM((void)); - static void CreateMainWindow PARM((char *, char *, int, char **)); - static void DrawWindow PARM((int,int,int,int)); -@@ -75,50 +78,50 @@ - int i; - char *display, *geom; - XEvent event; -- -+ - cmd = argv[0]; - display = geom = NULL; -- -- -+ -+ - /*********************Options*********************/ -- -+ - for (i = 1; i < argc; i++) { - char *strind; -- -+ - if (!strncmp(argv[i],"-g", (size_t)2)) { /* geometry */ - i++; - geom = argv[i]; - continue; - } -- -+ - if (argv[i][0] == '=') { /* old-style geometry */ - geom = argv[i]; - continue; - } -- -+ - if (!strncmp(argv[i],"-d",(size_t) 2)) { /* display */ - i++; - display = argv[i]; - continue; - } -- -+ - strind = (char *) index(argv[i], ':'); /* old-style display */ - if(strind != NULL) { - display = argv[i]; - continue; - } -- -+ - Syntax(); - } -- -- -+ -+ - /*****************************************************/ -- -+ - /* Open up the display. */ -- -+ - if ( (theDisp=XOpenDisplay(display)) == NULL) - FatalError("can't open display"); -- -+ - theScreen = DefaultScreen(theDisp); - theCmap = DefaultColormap(theDisp, theScreen); - rootW = RootWindow(theDisp,theScreen); -@@ -126,9 +129,9 @@ - fcol = WhitePixel(theDisp,theScreen); - bcol = BlackPixel(theDisp,theScreen); - theVisual = DefaultVisual(theDisp,theScreen); -- -+ - dispcells = DisplayCells(theDisp, theScreen); -- -+ - if (dispcells>256) { - sprintf(tmpstr,"dispcells = %d. %s", - dispcells, "This program can only deal with <= 8-bit displays."); -@@ -140,27 +143,32 @@ - nxcells = nycells = 8; - else if (dispcells>4) - nxcells = nycells = 4; -- else -+ else if (dispcells>2) - nxcells = nycells = 2; -- -+ else -+ { -+ nxcells = 2; -+ nycells = 1; -+ } -+ - /**************** Create/Open X Resources ***************/ - if ((mfinfo = XLoadQueryFont(theDisp,FONT))==NULL) { - sprintf(tmpstr,"couldn't open '%s' font",FONT); - FatalError(tmpstr); - } -- -+ - mfont=mfinfo->fid; - XSetFont(theDisp,theGC,mfont); - XSetForeground(theDisp,theGC,fcol); - XSetBackground(theDisp,theGC,bcol); -- -+ - CreateMainWindow(cmd,geom,argc,argv); -- Resize(WIDE,HIGH); -- -- XSelectInput(theDisp, mainW, ExposureMask | KeyPressMask -+ Resize((int)WIDE,(int)HIGH); -+ -+ XSelectInput(theDisp, mainW, ExposureMask | KeyPressMask - | StructureNotifyMask | ButtonPressMask); - XMapWindow(theDisp,mainW); -- -+ - /**************** Main loop *****************/ - while (1) { - XNextEvent(theDisp, &event); -@@ -177,41 +185,41 @@ - switch (event->type) { - case Expose: { - XExposeEvent *exp_event = (XExposeEvent *) event; -- -- if (exp_event->window==mainW) -+ -+ if (exp_event->window==mainW) - DrawWindow(exp_event->x,exp_event->y, - exp_event->width, exp_event->height); - } - break; -- -+ - case ButtonPress: { - XButtonEvent *but_event = (XButtonEvent *) event; -- -- if (but_event->window == mainW && but_event->button == Button1) -+ -+ if (but_event->window == mainW && but_event->button == Button1) - TrackMouse(but_event->x, but_event->y); - } - break; -- -+ - case KeyPress: { - XKeyEvent *key_event = (XKeyEvent *) event; - KeySym ks; - XComposeStatus status; -- -+ - XLookupString(key_event,tmpstr,128,&ks,&status); - if (tmpstr[0]=='q' || tmpstr[0]=='Q') Quit(); - } - break; -- -+ - case ConfigureNotify: { - XConfigureEvent *conf_event = (XConfigureEvent *) event; -- -- if (conf_event->window == mainW && -- (conf_event->width != WIDE || conf_event->height != HIGH)) -- Resize(conf_event->width, conf_event->height); -+ int w = conf_event->width, h = conf_event->height; -+ -+ if (conf_event->window == mainW && (w != WIDE || h != HIGH)) -+ Resize((int)(w ? w : WIDE), (int)(h ? h : HIGH)); - } - break; -- -- -+ -+ - case CirculateNotify: - case MapNotify: - case DestroyNotify: -@@ -220,7 +228,7 @@ - case UnmapNotify: - case MappingNotify: - case ClientMessage: break; -- -+ - default: /* ignore unexpected events */ - break; - } /* end of switch */ -@@ -237,10 +245,10 @@ - - - /***********************************/ --static void FatalError (identifier) -- char *identifier; -+static void FatalError(identifier) -+ const char *identifier; - { -- fprintf(stderr, "%s: %s\n",cmd, identifier); -+ fprintf(stderr, "%s: %s\n", cmd, identifier); - exit(-1); - } - -@@ -262,24 +270,33 @@ - XSizeHints hints; - int i,x,y; - unsigned int w,h; -- -+ - WIDE = HIGH = 256; /* default window size */ -- -+ - x=y=w=h=1; -+ hints.flags = 0; -+ - i=XParseGeometry(geom,&x,&y,&w,&h); -- if (i&WidthValue) WIDE = (int) w; -- if (i&HeightValue) HIGH = (int) h; -- -- if (i&XValue || i&YValue) hints.flags = USPosition; -- else hints.flags = PPosition; -- -- hints.flags |= USSize; -- -- if (i&XValue && i&XNegative) -- x = XDisplayWidth(theDisp,theScreen)-WIDE-abs(x); -- if (i&YValue && i&YNegative) -- y = XDisplayHeight(theDisp,theScreen)-HIGH-abs(y); -- -+ if (i&WidthValue) -+ { -+ WIDE = (int) w; -+ hints.flags |= USSize; -+ } -+ if (i&HeightValue) -+ { -+ HIGH = (int) h; -+ hints.flags |= USSize; -+ } -+ -+ if (i&XValue || i&YValue) -+ { -+ if (i&XNegative) -+ x = XDisplayWidth(theDisp,theScreen)-WIDE-abs(x); -+ if (i&YNegative) -+ y = XDisplayHeight(theDisp,theScreen)-HIGH-abs(y); -+ hints.flags |= USPosition; -+ } -+ - hints.x=x; hints.y=y; - hints.width = WIDE; hints.height = HIGH; - hints.max_width = DisplayWidth(theDisp,theScreen); -@@ -288,22 +305,22 @@ - hints.min_height = 16; - hints.width_inc = hints.height_inc = 16; - hints.flags |= PMaxSize | PMinSize | PResizeInc; -- -+ - xswa.background_pixel = bcol; - xswa.border_pixel = fcol; - xswa.cursor = XCreateFontCursor (theDisp, XC_top_left_arrow); - xswamask = CWBackPixel | CWBorderPixel | CWCursor; -- -+ - mainW = XCreateWindow(theDisp,rootW,x,y,(unsigned int) WIDE, -- (unsigned int) HIGH, 2, 0, -+ (unsigned int) HIGH, 2, 0, - (unsigned int) CopyFromParent, - CopyFromParent, xswamask, &xswa); -- -+ - XSetStandardProperties(theDisp,mainW,"xcmap","xcmap",None, - argv,argc,&hints); -- -+ - if (!mainW) FatalError("Can't open main window"); -- -+ - } - - -@@ -312,11 +329,11 @@ - int x,y,w,h; - { - int i,j,x1,y1,x2,y2; -- -+ - x1 = x / cWIDE; y1 = y / cHIGH; /* (x1,y1) (x2,y2): bounding */ - x2 = ((x+w) + cWIDE - 1) / cWIDE; /* rect in cell coords */ - y2 = ((y+h) + cHIGH - 1) / cHIGH; -- -+ - for (i=y1; i=WIDE) x=WIDE-1; - if (y<0) y=0; if (y>=HIGH) y=HIGH-1; -- -+ - if (!pvalup) { /* it's not up. make it so */ - if (y >= HIGH/2) pvaly = 0; else pvaly = HIGH - 12; - pvalup = 1; -@@ -378,30 +395,30 @@ - XClearArea(theDisp,mainW,0,pvaly, - (unsigned int) WIDE, (unsigned int) 13,True); - } -- -+ - x /= cWIDE; y /= cHIGH; -- -+ - pix = y * nxcells + x; -- -+ - if (pix != lastpix) { - XColor def; - char *sp; -- -+ - XSetForeground(theDisp,theGC,fcol); - lastpix = def.pixel = pix; - if (pix24-bit */ -+ for (i=0; i= 24)) best=i; -+ } -+ for (i=0; i24 && best<0) best = i; -+ } -+ for (i=0; i24-bit ? */ -+ if (vinfo[i].depth >= 24) best = i; - } - } - - if (best == -1) { /* look for a DirectColor, 24-bit or more (pref 24) */ - rvinfo.class = DirectColor; - if (vinfo) XFree((char *) vinfo); -+ - vinfo = XGetVisualInfo(theDisp, flags, &rvinfo, &numvis); - if (vinfo) { -- for (i=0, best = -1; i= 24)) best=i; -+ } -+ for (i=0; i24 && best<0) best = i; -+ } -+ for (i=0; i24-bit ? */ -+ if (vinfo[i].depth >= 24) best = i; - } - } - } -- -+ - if (best>=0 && best= 0) { -+ if (vclass >= 0) { - rvinfo.class = vclass; vinfomask = VisualClassMask; - } - else { rvinfo.visualid = vid; vinfomask = VisualIDMask; } -- -+ - rvinfo.screen = theScreen; - vinfomask |= VisualScreenMask; - -@@ -429,9 +539,9 @@ - /* make linear colormap for DirectColor visual */ - if (theVisual->class == DirectColor) makeDirectCmap(); - -- defaultVis = (XVisualIDFromVisual(theVisual) == -+ defaultVis = (XVisualIDFromVisual(theVisual) == - XVisualIDFromVisual(DefaultVisual(theDisp, DefaultScreen(theDisp)))); -- -+ - - /* turn GraphicsExposures OFF in the default GC */ - { -@@ -441,9 +551,6 @@ - } - - -- if (!useroot && limit2x) { maxWIDE *= 2; maxHIGH *= 2; } -- if (nolimits) { maxWIDE = 65000; maxHIGH = 65000; } -- - XSetErrorHandler(xvErrorHandler); - - /* always search for virtual root window */ -@@ -456,14 +563,14 @@ - Atom actual_type; - int actual_format; - unsigned long nitems, bytesafter; -- Window *newRoot = NULL; -+ byte *newRoot = NULL; /* byte instead of Window avoids type-pun warning */ - XWindowAttributes xwa; - if (XGetWindowProperty (theDisp, children[i], __SWM_VROOT, 0L, 1L, - False, XA_WINDOW, &actual_type, &actual_format, &nitems, - &bytesafter, (unsigned char **) &newRoot) == Success && newRoot) { -- vrootW = *newRoot; -+ vrootW = *(Window *)newRoot; - XGetWindowAttributes(theDisp, vrootW, &xwa); -- vrWIDE = xwa.width; vrHIGH = xwa.height; -+ maxWIDE = vrWIDE = xwa.width; maxHIGH = vrHIGH = xwa.height; - dispDEEP = xwa.depth; - break; - } -@@ -472,7 +579,8 @@ - vrootW = pseudo_root(theDisp, theScreen); - #endif - -- -+ if (!useroot && limit2x) { maxWIDE *= 2; maxHIGH *= 2; } -+ if (nolimits) { maxWIDE = 65000; maxHIGH = 65000; } - - - if (clrroot || useroot) { -@@ -486,13 +594,14 @@ - arrow = XCreateFontCursor(theDisp,(u_int) curstype); - cross = XCreateFontCursor(theDisp,XC_crosshair); - tcross = XCreateFontCursor(theDisp,XC_tcross); -+ tlcorner = XCreateFontCursor(theDisp,XC_top_left_corner); - zoom = XCreateFontCursor(theDisp,XC_sizing); - - { - XColor fc, bc; - fc.red = fc.green = fc.blue = 0xffff; - bc.red = bc.green = bc.blue = 0x0000; -- -+ - XRecolorCursor(theDisp, zoom, &fc, &bc); - } - -@@ -541,7 +650,7 @@ - - - /* set up fg,bg colors */ -- fg = black; bg = white; -+ fg = black; bg = white; - if (fgstr && XParseColor(theDisp, theCmap, fgstr, &ecdef) && - xvAllocColor(theDisp, theCmap, &ecdef)) { - fg = ecdef.pixel; -@@ -561,6 +670,18 @@ - xvAllocColor(theDisp, theCmap, &ecdef)) rootbg = ecdef.pixel; - - -+ /* GRR 19980308: set up image bg color (for transparent images) */ -+ have_imagebg = 0; -+ if (imagebgstr && XParseColor(theDisp, theCmap, imagebgstr, &ecdef) && -+ xvAllocColor(theDisp, theCmap, &ecdef)) { -+ /* imagebg = ecdef.pixel; */ -+ have_imagebg = 1; -+ imagebgR = ecdef.red; -+ imagebgG = ecdef.green; -+ imagebgB = ecdef.blue; -+ } -+ -+ - /* set up hi/lo colors */ - i=0; - if (dispDEEP > 1) { /* only if we're on a reasonable display */ -@@ -590,7 +711,7 @@ - if (theVisual->class == StaticGray || theVisual->class == GrayScale) - mono = 1; - } -- -+ - - - iconPix = MakePix1(rootW, icon_bits, icon_width, icon_height); -@@ -598,32 +719,32 @@ - riconPix = MakePix1(rootW, runicon_bits, runicon_width, runicon_height); - riconmask= MakePix1(rootW, runiconm_bits, runiconm_width,runiconm_height); - -- if (!iconPix || !iconmask || !riconPix || !riconmask) -+ if (!iconPix || !iconmask || !riconPix || !riconmask) - FatalError("Unable to create icon pixmaps\n"); - -- gray50Tile = XCreatePixmapFromBitmapData(theDisp, rootW, -+ gray50Tile = XCreatePixmapFromBitmapData(theDisp, rootW, - (char *) cboard50_bits, -- cboard50_width, cboard50_height, -+ cboard50_width, cboard50_height, - infofg, infobg, dispDEEP); - if (!gray50Tile) FatalError("Unable to create gray50Tile bitmap\n"); - -- gray25Tile = XCreatePixmapFromBitmapData(theDisp, rootW, -+ gray25Tile = XCreatePixmapFromBitmapData(theDisp, rootW, - (char *) gray25_bits, -- gray25_width, gray25_height, -+ gray25_width, gray25_height, - infofg, infobg, dispDEEP); - if (!gray25Tile) FatalError("Unable to create gray25Tile bitmap\n"); - - - /* try to load fonts */ -- if ( (mfinfo = XLoadQueryFont(theDisp,FONT1))==NULL && -- (mfinfo = XLoadQueryFont(theDisp,FONT2))==NULL && -- (mfinfo = XLoadQueryFont(theDisp,FONT3))==NULL && -- (mfinfo = XLoadQueryFont(theDisp,FONT4))==NULL && -+ if ( (mfinfo = XLoadQueryFont(theDisp,FONT1))==NULL && -+ (mfinfo = XLoadQueryFont(theDisp,FONT2))==NULL && -+ (mfinfo = XLoadQueryFont(theDisp,FONT3))==NULL && -+ (mfinfo = XLoadQueryFont(theDisp,FONT4))==NULL && - (mfinfo = XLoadQueryFont(theDisp,FONT5))==NULL) { -- sprintf(str, -+ sprintf(dummystr, - "couldn't open the following fonts:\n\t%s\n\t%s\n\t%s\n\t%s\n\t%s", - FONT1, FONT2, FONT3, FONT4, FONT5); -- FatalError(str); -+ FatalError(dummystr); - } - mfont=mfinfo->fid; - XSetFont(theDisp,theGC,mfont); -@@ -632,45 +753,100 @@ - - if (monofontname) { - monofinfo = XLoadQueryFont(theDisp, monofontname); -- if (!monofinfo) fprintf(stderr,"xv: unable to load font '%s'\n", -+ if (!monofinfo) fprintf(stderr,"xv: unable to load font '%s'\n", - monofontname); -- } -+ } - - if (!monofinfo) { -- if ((monofinfo = XLoadQueryFont(theDisp,MFONT1))==NULL && -- (monofinfo = XLoadQueryFont(theDisp,MFONT2))==NULL && -- (monofinfo = XLoadQueryFont(theDisp,MFONT3))==NULL && -+ if ((monofinfo = XLoadQueryFont(theDisp,MFONT1))==NULL && -+ (monofinfo = XLoadQueryFont(theDisp,MFONT2))==NULL && -+ (monofinfo = XLoadQueryFont(theDisp,MFONT3))==NULL && - (monofinfo = XLoadQueryFont(theDisp,MFONT4))==NULL) { -- sprintf(str,"couldn't open %s fonts:\n\t%s\n\t%s\n\t%s\n\t%s", -+ sprintf(dummystr,"couldn't open %s fonts:\n\t%s\n\t%s\n\t%s\n\t%s", - "any of the following", - MFONT1, MFONT2, MFONT3, MFONT4); -- FatalError(str); -+ FatalError(dummystr); - } - } - - monofont=monofinfo->fid; -- - -- -- -+#ifdef TV_L10N -+ if (xlocale) { -+ i = 0; -+ while (mfontsize[i]) { -+ xlocale = 1; /* True */ -+ -+ sprintf(mfontset, TV_FONTSET, mfontsize[i]); -+/*fprintf(stderr, "FontSet: %s\n", mfontset);*/ -+ -+ monofset = XCreateFontSet(theDisp, mfontset, -+ &misscharset, &nmisscharset, &defstr); -+# if 0 /* not useful */ -+ if (!monofset) { -+ /* the current locale is not supported */ -+/*fprintf(stderr, "Current locale `%s' is not supported.\n", localeList[i]);*/ -+ xlocale = 0; -+ break; -+ } -+# endif -+/*fprintf(stderr, "# of misscharset in mfontsize[%d]: %d\n", i,nmisscharset);*/ -+ -+ for (j = 0; j < nmisscharset; j++) { -+ if (!strncmp(misscharset[j], "jisx0208", 8)) { -+ /* font for JIS X 0208 is not found */ -+ xlocale = 0; -+ break; -+ } -+ } -+ -+ if (xlocale) { -+ monofsetinfo = XExtentsOfFontSet(monofset); -+ monofsetinfo->max_logical_extent.width = mfontsize[i]; -+ /* correct size of TextViewer -+ in case that JIS X 0208 is not found */ -+ break; -+ } -+ -+ i++; -+ } /* while (mfontsize[i]) */ -+ -+# if 0 -+ if (nmisscharset > 0) { -+ sprintf(dummystr,"missing %d charset:\n", nmisscharset); -+ for (i = 0; i < nmisscharset; i++) { -+ sprintf(dummystr, "%s\t%s\n", dummystr, misscharset[i]); -+ } -+# if 0 -+ FatalError(dummystr); -+# else -+ fprintf(stderr, "%s", dummystr); -+# endif -+ } -+# endif -+ } -+#endif /* TV_L10N */ -+ -+ -+ - /* if ncols wasn't set, set it to 2^dispDEEP, unless dispDEEP=1, in which - case ncols = 0; (ncols = max number of colors allocated. on 1-bit - displays, no colors are allocated */ -- -+ - if (ncols == -1) { - if (dispDEEP>1) ncols = 1 << ((dispDEEP>8) ? 8 : dispDEEP); - else ncols = 0; - } - else if (ncols>256) ncols = 256; /* so program doesn't blow up */ -- -- -+ -+ - GenerateFSGamma(); /* has to be done before 'OpenBrowse()' is called */ -- -- -- -+ -+ -+ - /* no filenames. build one-name (stdio) list (if stdinflag) */ - if (numnames==0) { -- if (stdinflag) { -+ if (stdinflag) { - /* have to malloc namelist[0] so we can free it in deleteFromList() */ - namelist[0] = (char *) malloc(strlen(STDINSTR) + 1); - if (!namelist[0]) FatalError("unable to to build namelist[0]"); -@@ -679,16 +855,28 @@ - } - else namelist[0] = NULL; - } -- -+ else if (randomShow) { -+ int i, j; -+ char *tmp; -+ -+ srandom((int)time((time_t *)0)); -+ for (i = numnames; i > 1; i--) { -+ j = random() % i; -+ tmp = namelist[i-1]; -+ namelist[i-1] = namelist[j]; -+ namelist[j] = tmp; -+ } -+ } -+ - if (numnames) makeDispNames(); -- -- -- if (viewonly || autoquit) { -- imap = ctrlmap = gmap = browmap = cmtmap = 0; -+ -+ -+ if (viewonly || autoquit) { -+ imap = ctrlmap = gmap = browmap = cmtmap = 0; - novbrowse = 1; - } -- -- -+ -+ - /* create the info box window */ - CreateInfo(infogeom); - XSelectInput(theDisp, infoW, ExposureMask | ButtonPressMask | KeyPressMask -@@ -698,12 +886,12 @@ - RedrawInfo(0,0,1000,1000); /* explicit draw if mapped */ - XFlush(theDisp); - } -- -- -+ -+ - /* create the control box window */ - CreateCtrl(ctrlgeom); - epicMode = EM_RAW; SetEpicMode(); -- -+ - XSelectInput(theDisp, ctrlW, ExposureMask | ButtonPressMask | KeyPressMask - | StructureNotifyMask); - if (ctrlmap < 0) { /* map iconified */ -@@ -719,22 +907,22 @@ - RedrawCtrl(0,0,1000,1000); /* explicit draw if mapped */ - XFlush(theDisp); - } -- -+ - fixDispNames(); - ChangedCtrlList(); -- -+ - /* disable root modes if using non-default visual */ - if (!defaultVis) { - for (i=RMB_ROOT; ired_mask; - gmask = theVisual->green_mask; -@@ -849,22 +1061,22 @@ - - if (rshift<0) rmask = rmask << (-rshift); - else rmask = rmask >> rshift; -- -+ - if (gshift<0) gmask = gmask << (-gshift); - else gmask = gmask >> gshift; -- -+ - if (bshift<0) bmask = bmask << (-bshift); - else bmask = bmask >> bshift; - - - cmaplen = theVisual->map_entries; - if (cmaplen>256) cmaplen=256; -- -+ - - /* try to alloc a 'cmaplen' long grayscale colormap. May not get all - entries for whatever reason. Build table 'directConv[]' that - maps range [0..(cmaplen-1)] into set of colors we did get */ -- -+ - for (i=0; i<256; i++) { origgot[i] = 0; directConv[i] = 0; } - - for (i=numgot=0; i= 0 && !origgot[i-numbak]) numbak++; - while ((i + numfwd) < cmaplen && !origgot[i+numfwd]) numfwd++; -- -+ - if (i-numbak<0 || !origgot[i-numbak]) numbak = 999; - if (i+numfwd>=cmaplen || !origgot[i+numfwd]) numfwd = 999; -- -+ - if (numbak-8 conv.*/ - conv24 = CONV24_SLOW; -- -+ - else if (!argcmp(argv[i],"-smooth",3,1,&autosmooth)); /* autosmooth */ -+ else if (!argcmp(argv[i],"-startgrab",3,1,&startGrab)); /* startGrab */ - else if (!argcmp(argv[i],"-stdcmap",3,1,&stdcmap)); /* use stdcmap */ - - else if (!argcmp(argv[i],"-tgeometry",2,0,&pm)) /* textview geom */ - { if (++i 15) { -@@ -1498,9 +1811,9 @@ - fprintf(stderr," (Valid values: 1, 2, 3, 4)\n"); - - preset = 0; -- } -+ } - -- if (waitsec < 0) noFreeCols = 0; /* disallow nfc if not doing slideshow */ -+ if (waitsec < 0.0) noFreeCols = 0; /* disallow nfc if not doing slideshow */ - if (noFreeCols && perfect) { perfect = 0; owncmap = 1; } - - /* decide what default color allocation stuff we've settled on */ -@@ -1512,24 +1825,24 @@ - - defaultCmapMode = colorMapMode; /* default mode for 8-bit images */ - -- if (nopos) { -- maingeom = infogeom = ctrlgeom = gamgeom = browgeom = textgeom = NULL; -- cmtgeom = NULL; -+ if (nopos) { -+ maingeom = infogeom = ctrlgeom = gamgeom = browgeom = textgeom = cmtgeom = -+ (const char *) NULL; - } - - /* if -root and -maxp, disallow 'integer' tiling modes */ -- if (useroot && fixedaspect && automax && !rmodeset && -+ if (useroot && fixedaspect && automax && !rmodeset && - (rootMode == RM_TILE || rootMode == RM_IMIRROR)) - rootMode = RM_CSOLID; - } - - - -+static int cpos = 0; - - /***********************************/ --static int cpos = 0; - static void printoption(st) -- char *st; -+ const char *st; - { - if (strlen(st) + cpos > 78) { - fprintf(stderr,"\n "); -@@ -1540,8 +1853,26 @@ - cpos = cpos + strlen(st) + 1; - } - -+ - static void cmdSyntax() - { -+ /* GRR 19980605: added version info for most common libraries */ -+ fprintf(stderr, "XV - %s.\n", REVDATE); -+#ifdef HAVE_JPEG -+ VersionInfoJPEG(); -+#endif -+#ifdef HAVE_JP2K -+ VersionInfoJP2K(); -+#endif -+#ifdef HAVE_TIFF -+ VersionInfoTIFF(); -+#endif -+#ifdef HAVE_PNG -+ VersionInfoPNG(); -+#endif -+ /* pbm/pgm/ppm support is native, not via pbmplus/netpbm libraries */ -+ fprintf(stderr, "\n"); -+ - fprintf(stderr, "Usage:\n"); - printoption(cmd); - printoption("[-]"); -@@ -1579,8 +1910,14 @@ - printoption("[-/+dither]"); - printoption("[-drift dx dy]"); - printoption("[-expand exp | hexp:vexp]"); -+#ifdef HAVE_G3 -+ printoption("[-fax]"); -+#endif - printoption("[-fg color]"); - printoption("[-/+fixed]"); -+#ifdef ENABLE_FIXPIX_SMOOTH -+ printoption("[-/+fixpix]"); -+#endif - printoption("[-flist fname]"); - printoption("[-gamma val]"); - printoption("[-geometry geom]"); -@@ -1591,8 +1928,12 @@ - printoption("[-help]"); - printoption("[-/+hflip]"); - printoption("[-hi color]"); -+#ifdef HAVE_G3 -+ printoption("[-highresfax]"); -+#endif - printoption("[-/+hist]"); - printoption("[-/+hsv]"); -+ printoption("[-ibg color]"); /* GRR 19980314 */ - printoption("[-icgeometry geom]"); - printoption("[-/+iconic]"); - printoption("[-igeometry geom]"); -@@ -1600,9 +1941,15 @@ - printoption("[-/+lbrowse]"); - printoption("[-lo color]"); - printoption("[-/+loadclear]"); -+#ifdef MACBINARY -+ printoption("[-/+macbinary]"); -+#endif - printoption("[-/+max]"); - printoption("[-/+maxpect]"); - printoption("[-mfn font]"); -+#ifdef HAVE_MGCSFX -+ printoption("[-/+mgcsfx]"); -+#endif - printoption("[-/+mono]"); - printoption("[-name str]"); - printoption("[-ncols #]"); -@@ -1610,13 +1957,25 @@ - printoption("[-/+nodecor]"); - printoption("[-/+nofreecols]"); - printoption("[-/+nolimits]"); -+#ifdef HAVE_MGCSFX -+ printoption("[-/+nomgcsfx]"); -+#endif -+#if defined(HAVE_PIC) || defined(HAVE_PIC2) -+ printoption("[-/+nopicadjust]"); -+#endif - printoption("[-/+nopos]"); - printoption("[-/+noqcheck]"); - printoption("[-/+noresetroot]"); - printoption("[-/+norm]"); - printoption("[-/+nostat]"); - printoption("[-/+owncmap]"); -+#ifdef HAVE_PCD -+ printoption("[-pcd size(0=192*128,1,2,3,4=3072*2048)]"); -+#endif - printoption("[-/+perfect]"); -+#ifdef HAVE_PIC2 -+ printoption("[-/+pic2split]"); -+#endif - printoption("[-/+pkludge]"); - printoption("[-/+poll]"); - printoption("[-preset #]"); -@@ -1635,17 +1994,22 @@ - printoption("[-/+rw]"); - printoption("[-slow24]"); - printoption("[-/+smooth]"); -+ printoption("[-/+startgrab]"); - printoption("[-/+stdcmap]"); - printoption("[-tgeometry geom]"); - printoption("[-/+vflip]"); - printoption("[-/+viewonly]"); - printoption("[-visual type]"); -+#ifdef VS_ADJUST -+ printoption("[-/+vsadjust]"); -+#endif - printoption("[-/+vsdisable]"); - printoption("[-vsgeometry geom]"); - printoption("[-/+vsmap]"); - printoption("[-/+vsperfect]"); -- printoption("[-wait seconds]"); -+ printoption("[-wait secs[,final_secs]]"); - printoption("[-white color]"); -+ printoption("[-windowid windowid]"); - printoption("[-/+wloop]"); - printoption("[filename ...]"); - fprintf(stderr,"\n\n"); -@@ -1656,7 +2020,7 @@ - /***********************************/ - static void rmodeSyntax() - { -- fprintf(stderr,"%s: unknown root mode '%d'. Valid modes are:\n", -+ fprintf(stderr,"%s: unknown root mode '%d'. Valid modes are:\n", - cmd, rootMode); - fprintf(stderr,"\t0: tiling\n"); - fprintf(stderr,"\t1: integer tiling\n"); -@@ -1668,6 +2032,7 @@ - fprintf(stderr,"\t7: centered on a 'brick' background\n"); - fprintf(stderr,"\t8: symmetrical tiling\n"); - fprintf(stderr,"\t9: symmetrical mirrored tiling\n"); -+ fprintf(stderr,"\t10: upper left corner\n"); - fprintf(stderr,"\n"); - Quit(1); - } -@@ -1675,17 +2040,15 @@ - - /***********************************/ - static int argcmp(a1, a2, minlen, plusallowed, plusminus) -- char *a1, *a2; -+ const char *a1, *a2; - int minlen, plusallowed; - int *plusminus; - { -- /* does a string compare between a1 and a2. To return '0', a1 and a2 -- must match to the length of a2, and that length has to -+ /* does a string compare between a1 and a2. To return '0', a1 and a2 -+ must match to the length of a1, and that length has to - be at least 'minlen'. Otherwise, return non-zero. plusminus set to '1' - if '-option', '0' if '+option' */ - -- int i; -- - if ((strlen(a1) < (size_t) minlen) || (strlen(a2) < (size_t) minlen)) - return 1; - if (strlen(a1) > strlen(a2)) return 1; -@@ -1694,7 +2057,7 @@ - - if (a1[0]=='-' || (plusallowed && a1[0]=='+')) { - /* only set if we match */ -- *plusminus = (a1[0] == '-'); -+ *plusminus = (a1[0] == '-'); - return 0; - } - -@@ -1721,8 +2084,11 @@ - int oldCXOFF, oldCYOFF, oldCWIDE, oldCHIGH, wascropped; - char *tmp; - char *fullname, /* full name of the original file */ -- filename[512], /* full name of file to load (could be /tmp/xxx)*/ -- globnm[512]; /* globbed version of fullname of orig file */ -+ filename[512]; /* full name of file to load (could be /tmp/xxx)*/ -+#ifdef MACBINARY -+ char origname[512]; /* file name of original file (NO processing) */ -+ origname[0] = '\0'; -+#endif - - xvbzero((char *) &pinfo, sizeof(PICINFO)); - -@@ -1748,7 +2114,7 @@ - - /* if we're not loading next or prev page in a multi-page doc, kill off - page files */ -- if (strlen(pageBaseName) && filenum!=OP_PAGEDN && filenum!=OP_PAGEUP) -+ if (strlen(pageBaseName) && filenum!=OP_PAGEDN && filenum!=OP_PAGEUP) - killpage = 1; - - -@@ -1799,14 +2165,13 @@ - } - - else if (filenum == PADDED) { -- /* need fullfname (used for window/icon name), -+ /* need fullfname (used for window/icon name), - basefname(compute from fullfname) */ - - i = LoadPad(&pinfo, fullfname); - fullname = fullfname; - strcpy(filename, fullfname); -- tmp = BaseName(fullfname); -- strcpy(basefname, tmp); -+ strcpy(basefname, BaseName(fullfname)); - - if (!i) goto FAILED; /* shouldn't happen */ - -@@ -1855,33 +2220,48 @@ - frompipe = 1; - } - } -+#ifdef AUTO_EXPAND -+ else { -+ fullname = (char *) malloc(MAXPATHLEN+2); -+ strcpy(fullname, namelist[filenum]); // 1 of 2 places fullname != const -+ freename = 1; -+ } -+ tmp = (char *) rindex(fullname, '/'); -+ if (tmp) { -+ *tmp = '\0'; // 2 of 2 places fullname != const -+ Mkvdir(fullname); -+ *tmp = '/'; -+ } -+ Dirtovd(fullname); -+#else - else fullname = namelist[filenum]; -- -+#endif - - strcpy(fullfname, fullname); -- tmp = BaseName(fullname); -- strcpy(basefname, tmp); -+ strcpy(basefname, BaseName(fullname)); - - - /* chop off trailing ".Z", ".z", or ".gz" from displayed basefname, if any */ -- if (strlen(basefname) > (size_t) 2 && -- strcmp(basefname+strlen(basefname)-2,".Z")==0) -+ if (strlen(basefname)>2 && strcmp(basefname+strlen(basefname)-2,".Z")==0) - basefname[strlen(basefname)-2]='\0'; - else { - #ifdef GUNZIP -- if (strlen(basefname)>2 && strcmp(basefname+strlen(basefname)-2,".Z")==0) -+ if (strlen(basefname)>2 && strcmp(basefname+strlen(basefname)-2,".z")==0) - basefname[strlen(basefname)-2]='\0'; -- -- else if (strlen(basefname)>3 && -- strcmp(basefname+strlen(basefname)-3,".gz")==0) -+ else -+ if (strlen(basefname)>3 && strcmp(basefname+strlen(basefname)-3,".gz")==0) - basefname[strlen(basefname)-3]='\0'; --#endif /* GUNZIP */ -+#endif -+#ifdef BUNZIP2 -+ if (strlen(basefname)>4 && strcmp(basefname+strlen(basefname)-4,".bz2")==0) -+ basefname[strlen(basefname)-4]='\0'; -+#endif - } - - - if (filenum == LOADPIC && ISPIPE(fullname[0])) { - /* if we're reading from a pipe, 'filename' will have the /tmp/xvXXXXXX -- filename, and we can skip a lot of stuff: (such as prepending -+ filename, and we can skip a lot of stuff: (such as prepending - 'initdir' to relative paths, dealing with reading from stdin, etc. */ - - /* at this point, fullname = "! do some commands", -@@ -1891,11 +2271,11 @@ - - else { /* NOT reading from a PIPE */ - -- /* if fullname doesn't start with a '/' (ie, it's a relative path), -- (and it's not LOADPIC and it's not the special case '') -+ /* if fullname doesn't start with a '/' (ie, it's a relative path), -+ (and it's not LOADPIC and it's not the special case '') - then we need to prepend a directory name to it: -- -- prepend 'initdir', -+ -+ prepend 'initdir', - if we have a searchdir (ie, we have multiple places to look), - see if such a file exists (via fopen()), - if it does, we're done. -@@ -1904,7 +2284,7 @@ - if it does, we're done. - if it doesn't, remove all prepended directories, and fall through - to error code below. */ -- -+ - if (filenum!=LOADPIC && fullname[0]!='/' && strcmp(fullname,STDINSTR)!=0) { - char *tmp1; - -@@ -1954,28 +2334,40 @@ - } - } - } -- -+ - strcpy(filename, fullname); -- -- -+ -+ - /* if the file is STDIN, write it out to a temp file */ - - if (strcmp(filename,STDINSTR)==0) { -- FILE *fp; -+ FILE *fp = NULL; -+#ifndef USE_MKSTEMP -+ int tmpfd; -+#endif - --#ifndef VMS -+#ifndef VMS - sprintf(filename,"%s/xvXXXXXX",tmpdir); - #else /* it is VMS */ - sprintf(filename, "[]xvXXXXXX"); - #endif -+ -+#ifdef USE_MKSTEMP -+ fp = fdopen(mkstemp(filename), "w"); -+#else - mktemp(filename); -+ tmpfd = open(filename,O_WRONLY|O_CREAT|O_EXCL,S_IRWUSR); -+ if (tmpfd < 0) FatalError("openPic(): can't create temporary file"); -+ fp = fdopen(tmpfd,"w"); -+#endif -+ if (!fp) FatalError("openPic(): can't write temporary file"); - - clearerr(stdin); -- fp = fopen(filename,"w"); -- if (!fp) FatalError("openPic(): can't write temporary file"); -- - while ( (i=getchar()) != EOF) putc(i,fp); - fclose(fp); -+#ifndef USE_MKSTEMP -+ close(tmpfd); -+#endif - - /* and remove it from list, since we can never reload from stdin */ - if (strcmp(namelist[0], STDINSTR)==0) deleteFromList(0); -@@ -1990,20 +2382,26 @@ - (no pipes or stdin, though it could be compressed) to be loaded */ - filetype = ReadFileType(filename); - -+#ifdef HAVE_MGCSFX -+ if (mgcsfx && filetype == RFT_UNKNOWN){ /* force use MgcSfx */ -+ if(getInputCom() != 0) filetype = RFT_MGCSFX; -+ } -+#endif - -- if (filetype == RFT_COMPRESS) { /* a compressed file. uncompress it */ -+ /* if it's a compressed file, uncompress it: */ -+ if ((filetype == RFT_COMPRESS) || (filetype == RFT_BZIP2)) { - char tmpname[128]; - - if ( - #ifndef VMS -- UncompressFile(filename, tmpname) -+ UncompressFile(filename, tmpname, filetype) - #else -- UncompressFile(basefname, tmpname) -+ UncompressFile(basefname, tmpname, filetype) - #endif - ) { - - filetype = ReadFileType(tmpname); /* and try again */ -- -+ - /* if we made a /tmp file (from stdin, etc.) won't need it any more */ - if (strcmp(fullname,filename)!=0) unlink(filename); - -@@ -2013,7 +2411,58 @@ - - WaitCursor(); - } -- -+ -+#ifdef MACBINARY -+ if (handlemacb && macb_file == True) { -+ char tmpname[128]; -+ -+ if (RemoveMacbinary(filename, tmpname)) { -+ if (strcmp(fullname,filename)!=0) unlink(filename); -+ strcpy(origname, filename); -+ strcpy(filename, tmpname); -+ } -+ else filetype = RFT_ERROR; -+ -+ WaitCursor(); -+ } -+#endif -+ -+#ifdef HAVE_MGCSFX_AUTO -+ if (filetype == RFT_MGCSFX) { -+ char tmpname[128], tmp[256]; -+ char *icom; -+ -+ if ((icom = mgcsfx_auto_input_com(filename)) != NULL) { -+ sprintf(tmpname, "%s/xvmsautoXXXXXX", tmpdir); -+#ifdef USE_MKSTEMP -+ close(mkstemp(tmpname)); -+#else -+ mktemp(tmpname); -+#endif -+ SetISTR(ISTR_INFO, "Converting to known format by MgcSfx auto..."); -+ sprintf(tmp,"%s >%s", icom, tmpname); -+ } -+ else goto ms_auto_no; -+ -+#ifndef VMS -+ if (system(tmp)) -+#else -+ if (!system(tmp)) -+#endif -+ { -+ SetISTR(ISTR_INFO, "Unable to convert '%s' by MgcSfx auto.", -+ BaseName(filename)); -+ Warning(); -+ filetype = RFT_ERROR; -+ goto ms_auto_no; -+ } -+ -+ filetype = ReadFileType(tmpname); -+ if (strcmp(fullname,filename)!=0) unlink(filename); -+ strcpy(filename, tmpname); -+ } -+ms_auto_no: -+#endif /* HAVE_MGCSFX_AUTO */ - - if (filetype == RFT_ERROR) { - char foostr[512]; -@@ -2027,10 +2476,16 @@ - - if (filetype == RFT_UNKNOWN) { - /* view as a text/hex file */ -- TextView(filename); -+#ifdef MACBINARY -+ if (origname[0]) -+ i = TextView(origname); -+ else -+#endif -+ i = TextView(filename); - SetISTR(ISTR_INFO,"'%s' not in a recognized format.", basefname); - /* Warning(); */ -- goto SHOWN_AS_TEXT; -+ if (i) goto SHOWN_AS_TEXT; -+ else goto FAILED; - } - - if (filetype < RFT_ERROR) { -@@ -2058,8 +2513,9 @@ - if (filetype == RFT_XBM && (!i || pinfo.w==0 || pinfo.h==0)) { - /* probably just a '.h' file or something... */ - SetISTR(ISTR_INFO," "); -- TextView(filename); -- goto SHOWN_AS_TEXT; -+ i = TextView(filename); -+ if (i) goto SHOWN_AS_TEXT; -+ else goto FAILED; - } - - if (!i) { -@@ -2084,7 +2540,7 @@ - /**************/ - /* SUCCESS!!! */ - /**************/ -- -+ - - GOTIMAGE: - /* successfully read this picture. No failures from here on out -@@ -2097,7 +2553,7 @@ - if (conv24MB.flags[CONV24_LOCK]) { /* locked */ - if (pinfo.type==PIC24 && picType==PIC8) { /* 24 -> 8 bit */ - byte *pic8; -- pic8 = Conv24to8(pinfo.pic, pinfo.w, pinfo.h, ncols, -+ pic8 = Conv24to8(pinfo.pic, pinfo.w, pinfo.h, ncols, - pinfo.r, pinfo.g, pinfo.b); - free(pinfo.pic); - pinfo.pic = pic8; -@@ -2108,7 +2564,7 @@ - - else if (pinfo.type!=PIC24 && picType==PIC24) { /* 8 -> 24 bit */ - byte *pic24; -- pic24 = Conv8to24(pinfo.pic, pinfo.w, pinfo.h, -+ pic24 = Conv8to24(pinfo.pic, pinfo.w, pinfo.h, - pinfo.r, pinfo.g, pinfo.b); - free(pinfo.pic); - pinfo.pic = pic24; -@@ -2144,7 +2600,7 @@ - - if (mainW && !useroot) { - /* avoid generating excess configure events while we resize the window */ -- XSelectInput(theDisp, mainW, ExposureMask | KeyPressMask -+ XSelectInput(theDisp, mainW, ExposureMask | KeyPressMask - | StructureNotifyMask - | ButtonPressMask | KeyReleaseMask - | EnterWindowMask | LeaveWindowMask); -@@ -2162,11 +2618,13 @@ - pHIGH = pinfo.h; - if (pinfo.frmType >=0) SetDirSaveMode(F_FORMAT, pinfo.frmType); - if (pinfo.colType >=0) SetDirSaveMode(F_COLORS, pinfo.colType); -- -+ - SetISTR(ISTR_FORMAT, pinfo.fullInfo); - strcpy(formatStr, pinfo.shrtInfo); - picComments = pinfo.comment; - ChangeCommentText(); -+ picExifInfo = pinfo.exifInfo; -+ picExifInfoSize = pinfo.exifInfoSize; - - for (i=0; i<256; i++) { - rMap[i] = pinfo.r[i]; -@@ -2194,12 +2652,15 @@ - if (fullname && strcmp(fullname,filename)!=0) unlink(filename); - - -- SetISTR(ISTR_INFO,formatStr); -- -+ SetISTR(ISTR_INFO, "%s", formatStr); -+ - SetInfoMode(INF_PART); -- SetISTR(ISTR_FILENAME, -- (filenum==DFLTPIC || filenum==GRABBED || frompipe) -- ? "" : basefname); -+ if (filenum==DFLTPIC || filenum==GRABBED || frompipe) -+ SetISTR(ISTR_FILENAME, ""); -+ else if (numPages > 1) -+ SetISTR(ISTR_FILENAME, "%s Page %d of %d", basefname, curPage+1, numPages); -+ else -+ SetISTR(ISTR_FILENAME, "%s", basefname); - - SetISTR(ISTR_RES,"%d x %d",pWIDE,pHIGH); - SetISTR(ISTR_COLOR, ""); -@@ -2219,7 +2680,7 @@ - - - /* handle various 'auto-whatever' command line options -- Note that if 'frompoll' is set, things that have to do with -+ Note that if 'frompoll' is set, things that have to do with - setting the expansion factor are skipped, as we'll want it to - display in the (already-existing) window at the same size */ - -@@ -2254,7 +2715,7 @@ - w = eWIDE; h = (w*3) / 4; - eWIDE = w; eHIGH = h; - } -- -+ - - if (eWIDE != cWIDE || eHIGH != cHIGH) epic = (byte *) NULL; - -@@ -2306,14 +2767,14 @@ - aspWIDE = eWIDE; aspHIGH = eHIGH; /* aspect-corrected eWIDE,eHIGH */ - - if (hexpand < 0.0) eWIDE=(int)(aspWIDE / -hexpand); /* neg: reciprocal */ -- else eWIDE=(int)(aspWIDE * hexpand); -+ else eWIDE=(int)(aspWIDE * hexpand); - if (vexpand < 0.0) eHIGH=(int)(aspHIGH / -vexpand); /* neg: reciprocal */ -- else eHIGH=(int)(aspHIGH * vexpand); -+ else eHIGH=(int)(aspHIGH * vexpand); - - if (maingeom) { - /* deal with geometry spec. Note, they shouldn't have given us - *both* an expansion factor and a geomsize. The geomsize wins out */ -- -+ - int i,x,y,gewide,gehigh; u_int w,h; - - gewide = eWIDE; gehigh = eHIGH; -@@ -2321,11 +2782,11 @@ - - if (i&WidthValue) gewide = (int) w; - if (i&HeightValue) gehigh = (int) h; -- -+ - /* handle case where the pinheads only specified width *or * height */ - if (( i&WidthValue && ~i&HeightValue) || - (~i&WidthValue && i&HeightValue)) { -- -+ - if (i&WidthValue) { gehigh = (aspHIGH * gewide) / pWIDE; } - else { gewide = (aspWIDE * gehigh) / pHIGH; } - } -@@ -2391,7 +2852,7 @@ - - /* if we're using an integer tiled root mode, truncate eWIDE/eHIGH to - be an integer divisor of the display size */ -- -+ - if (useroot && (rootMode == RM_TILE || rootMode == RM_IMIRROR)) { - /* make picture size a divisor of the rootW size. round down */ - i = (dispWIDE + eWIDE-1) / eWIDE; eWIDE = (dispWIDE + i-1) / i; -@@ -2409,7 +2870,7 @@ - if (autodither && ncols>0) epicMode = EM_DITH; - - /* if in CM_STDCMAP mode, and *not* in '-wait 0', then autodither */ -- if (colorMapMode == CM_STDCMAP && waitsec != 0) epicMode = EM_DITH; -+ if (colorMapMode == CM_STDCMAP && waitsec != 0.0) epicMode = EM_DITH; - - /* if -smooth or image has been shrunk to fit screen */ - if (autosmooth || (pWIDE >maxWIDE || pHIGH>maxHIGH) -@@ -2419,7 +2880,7 @@ - - /* 'dithering' makes no sense in 24-bit mode */ - if (picType == PIC24 && epicMode == EM_DITH) epicMode = EM_RAW; -- -+ - SetEpicMode(); - } /* end of !frompoll */ - -@@ -2450,7 +2911,7 @@ - if (useroot) mainW = vrootW; - if (eWIDE != cWIDE || eHIGH != cHIGH) epic = (byte *) NULL; - -- NewPicGetColors(autonorm, autohisteq); -+ NewPicGetColors(autonorm, autohisteq); - - GenerateEpic(eWIDE, eHIGH); /* want to dither *after* color allocs */ - CreateXImage(); -@@ -2474,7 +2935,7 @@ - SetISTR(ISTR_INFO,"%s %s %s", formatStr, - (picType==PIC8) ? "8-bit mode." : "24-bit mode.", - tmp); -- -+ - SetInfoMode(INF_FULL); - if (freename) free(fullname); - -@@ -2495,20 +2956,24 @@ - to generate the correct exposes (particularly with 'BitGravity' turned - on */ - -- if (mainW && !useroot) GenExpose(mainW, 0, 0, (u_int) eWIDE, (u_int) eHIGH); -+ /*Brian T. Schellenberger: fix for X 4.2 refresh problem*/ -+ if (mainW && !useroot) { -+ XSync(theDisp, False); -+ GenExpose(mainW, 0, 0, (u_int) eWIDE, (u_int) eHIGH); -+ } - - return 1; - -- -+ - FAILED: - SetCursors(-1); - KillPageFiles(pinfo.pagebname, pinfo.numpages); - -- if (fullname && strcmp(fullname,filename)!=0) -+ if (fullname && strcmp(fullname,filename)!=0) - unlink(filename); /* kill /tmp file */ - if (freename) free(fullname); - -- if (!fromint && !polling && filenum>=0 && filenum=0 && filenum 4 && -+ strcasecmp(fname+strlen(fname)-5, ".wbmp")==0) rv = RFT_WBMP; -+ -+ n = fread(magicno, (size_t) 1, sizeof(magicno), fp); - fclose(fp); - -- if (n<30) return RFT_UNKNOWN; /* files less than 30 bytes long... */ -+ if (n<=0) return RFT_UNKNOWN; -+ -+ /* it is just barely possible that a few files could legitimately be as small -+ as 30 bytes (e.g., binary P{B,G,P}M format), so zero out rest of "magic -+ number" buffer and don't quit immediately if we read something small but -+ not empty */ -+ if (n<30) memset(magicno+n, 0, sizeof(magicno)-n); - -- rv = RFT_UNKNOWN; -+#ifdef MACBINARY -+ macb_file = False; -+ while (1) { -+#endif - -- if (strncmp((char *) magicno,"GIF87a", (size_t) 6)==0 || -- strncmp((char *) magicno,"GIF89a", (size_t) 6)==0) rv = RFT_GIF; -+#ifdef HAVE_MGCSFX -+ if (is_mgcsfx(fname, magicno, 30) != 0) rv = RFT_MGCSFX; -+ else -+#endif -+ if (strncmp((char *) magicno,"GIF87a", (size_t) 6)==0 || -+ strncmp((char *) magicno,"GIF89a", (size_t) 6)==0) rv = RFT_GIF; - - else if (strncmp((char *) magicno,"VIEW", (size_t) 4)==0 || -- strncmp((char *) magicno,"WEIV", (size_t) 4)==0) rv = RFT_PM; -+ strncmp((char *) magicno,"WEIV", (size_t) 4)==0) rv = RFT_PM; -+ -+#ifdef HAVE_PIC2 -+ else if (magicno[0]=='P' && magicno[1]=='2' && -+ magicno[2]=='D' && magicno[3]=='T') rv = RFT_PIC2; -+#endif - -- else if (magicno[0] == 'P' && magicno[1]>='1' && -- magicno[1]<='6') rv = RFT_PBM; -+ else if (magicno[0] == 'P' && magicno[1]>='1' && -+ (magicno[1]<='6' || magicno[1]=='8')) rv = RFT_PBM; - - /* note: have to check XPM before XBM, as first 2 chars are the same */ - else if (strncmp((char *) magicno, "/* XPM */", (size_t) 9)==0) rv = RFT_XPM; - - else if (strncmp((char *) magicno,"#define", (size_t) 7)==0 || -- (magicno[0] == '/' && magicno[1] == '*')) rv = RFT_XBM; -+ (magicno[0] == '/' && magicno[1] == '*')) rv = RFT_XBM; - - else if (magicno[0]==0x59 && (magicno[1]&0x7f)==0x26 && -- magicno[2]==0x6a && (magicno[3]&0x7f)==0x15) rv = RFT_SUNRAS; -+ magicno[2]==0x6a && (magicno[3]&0x7f)==0x15) rv = RFT_SUNRAS; - -- else if (magicno[0] == 'B' && magicno[1] == 'M') rv = RFT_BMP; -+ else if (magicno[0] == 'B' && magicno[1] == 'M') rv = RFT_BMP; - -- else if (magicno[0]==0x52 && magicno[1]==0xcc) rv = RFT_UTAHRLE; -+ else if (magicno[0]==0x52 && magicno[1]==0xcc) rv = RFT_UTAHRLE; - - else if ((magicno[0]==0x01 && magicno[1]==0xda) || -- (magicno[0]==0xda && magicno[1]==0x01)) rv = RFT_IRIS; -+ (magicno[0]==0xda && magicno[1]==0x01)) rv = RFT_IRIS; - -- else if (magicno[0]==0x1f && magicno[1]==0x9d) rv = RFT_COMPRESS; -+ else if (magicno[0]==0x1f && magicno[1]==0x9d) rv = RFT_COMPRESS; - - #ifdef GUNZIP -- else if (magicno[0]==0x1f && magicno[1]==0x8b) rv = RFT_COMPRESS; -+ else if (magicno[0]==0x1f && magicno[1]==0x8b) rv = RFT_COMPRESS; -+#endif -+ -+#ifdef BUNZIP2 -+ else if (magicno[0]==0x42 && magicno[1]==0x5a) rv = RFT_BZIP2; - #endif - -- else if (magicno[0]==0x0a && magicno[1] <= 5) rv = RFT_PCX; -+ else if (magicno[0]==0x0a && magicno[1] <= 5) rv = RFT_PCX; - -- else if (strncmp((char *) magicno, "FORM", (size_t) 4)==0 && -- strncmp((char *) magicno+8, "ILBM", (size_t) 4)==0) rv = RFT_IFF; -+ else if (strncmp((char *) magicno, "FORM", (size_t) 4)==0 && -+ strncmp((char *) magicno+8, "ILBM", (size_t) 4)==0) rv = RFT_IFF; - - else if (magicno[0]==0 && magicno[1]==0 && - magicno[2]==2 && magicno[3]==0 && - magicno[4]==0 && magicno[5]==0 && -- magicno[6]==0 && magicno[7]==0) rv = RFT_TARGA; -+ magicno[6]==0 && magicno[7]==0) rv = RFT_TARGA; - - else if (magicno[4]==0x00 && magicno[5]==0x00 && -- magicno[6]==0x00 && magicno[7]==0x07) rv = RFT_XWD; -+ magicno[6]==0x00 && magicno[7]==0x07) rv = RFT_XWD; - -- else if (strncmp((char *) magicno,"SIMPLE ", (size_t) 8)==0 && -- magicno[29] == 'T') rv = RFT_FITS; -- -+ else if (strncmp((char *) magicno,"SIMPLE ", (size_t) 8)==0 && -+ magicno[29] == 'T') rv = RFT_FITS; -+ -+ /* [JCE] Spectrum screen */ -+ else if (memcmp(magicno, ZXheader, (size_t) 18)==0) rv = RFT_ZX; - - #ifdef HAVE_JPEG -- else if (magicno[0]==0xff && magicno[1]==0xd8 && -- magicno[2]==0xff) rv = RFT_JFIF; -+ else if (magicno[0]==0xff && magicno[1]==0xd8 && -+ magicno[2]==0xff) rv = RFT_JFIF; -+#endif -+ -+#ifdef HAVE_JP2K -+ else if (magicno[0]==0xff && magicno[1]==0x4f && -+ magicno[2]==0xff && magicno[3]==0x51) rv = RFT_JPC; -+ -+ else if (memcmp(magicno, jp2k_magic, sizeof(jp2k_magic))==0) rv = RFT_JP2; - #endif - - #ifdef HAVE_TIFF - else if ((magicno[0]=='M' && magicno[1]=='M') || -- (magicno[0]=='I' && magicno[1]=='I')) rv = RFT_TIFF; -+ (magicno[0]=='I' && magicno[1]=='I')) rv = RFT_TIFF; -+#endif -+ -+#ifdef HAVE_PNG -+ else if (magicno[0]==0x89 && magicno[1]=='P' && -+ magicno[2]=='N' && magicno[3]=='G') rv = RFT_PNG; - #endif - - #ifdef HAVE_PDS -@@ -2620,11 +3130,67 @@ - rv = RFT_PDSVICAR; - #endif - --#ifdef GS_PATH -+#ifdef GS_PATH /* Ghostscript handles both PostScript and PDF */ - else if (strncmp((char *) magicno, "%!", (size_t) 2)==0 || -- strncmp((char *) magicno, "\004%!", (size_t) 3)==0) rv = RFT_PS; -+ strncmp((char *) magicno, "\004%!", (size_t) 3)==0 || -+ strncmp((char *) magicno, "%PDF", (size_t) 4)==0) rv = RFT_PS; -+#endif -+ -+#ifdef HAVE_G3 -+ else if ((magicno[0]== 1 && magicno[1]== 1 && -+ magicno[2]== 77 && magicno[3]==154 && -+ magicno[4]==128 && magicno[5]== 0 && -+ magicno[6]== 1 && magicno[7]== 77) -+ || highresfax || fax) /* kludge! */ rv = RFT_G3; -+#endif -+ -+#ifdef HAVE_MAG -+ else if (strncmp((char *) magicno,"MAKI02 ", (size_t) 8)==0) rv = RFT_MAG; -+#endif -+ -+#ifdef HAVE_MAKI -+ else if (strncmp((char *) magicno,"MAKI01A ", (size_t) 8)==0 || -+ strncmp((char *) magicno,"MAKI01B ", (size_t) 8)==0) rv = RFT_MAKI; -+#endif -+ -+#ifdef HAVE_PIC -+ else if (magicno[0]=='P' && magicno[1]=='I'&&magicno[2]=='C') rv = RFT_PIC; -+#endif -+ -+#ifdef HAVE_PI -+ else if (magicno[0]=='P' && magicno[1]=='i') rv = RFT_PI; -+#endif -+ -+#ifdef HAVE_HIPS -+ else if (strstr((char *) magicno, "./digest")) rv = RFT_HIPS; -+#endif -+ -+#ifdef HAVE_PCD -+ else if (magicno[0]==0xff && magicno[1]==0xff && -+ magicno[2]==0xff && magicno[3]==0xff) rv = RFT_PCD; - #endif - -+#ifdef MACBINARY -+ /* Now we try to handle MacBinary files, but the method is VERY dirty... */ -+ if (macbin_alrchk == True) { -+ macb_file = True; -+ break; -+ } -+ -+ if (rv != RFT_UNKNOWN) -+ break; -+ -+ /* Skip MACBSIZE and recheck */ -+ macbin_alrchk = True; -+ fp = xv_fopen(fname, "r"); -+ if (!fp) return RFT_ERROR; -+ fseek(fp, MACBSIZE, SEEK_SET); -+ n = fread(magicno, (size_t) 1, (size_t) 30, fp); -+ fclose(fp); -+ -+ if (n<30) return RFT_UNKNOWN; /* files less than 30 bytes long... */ -+ } -+#endif - return rv; - } - -@@ -2637,9 +3203,10 @@ - PICINFO *pinfo; - { - /* if quick is set, we're being called to generate icons, or something -- like that. We should load the image as quickly as possible. Currently, -- this only affects the LoadPS routine, which, if quick is set, only -- generates the page file for the first page of the document */ -+ like that. We should load the image as quickly as possible. Previously, -+ this affected only the LoadPS routine, which, if quick is set, only -+ generates the page file for the first page of the document. Now it -+ also affects PCD, which loads only a thumbnail. */ - - int rv = 0; - -@@ -2650,7 +3217,11 @@ - switch (ftype) { - case RFT_GIF: rv = LoadGIF (fname, pinfo); break; - case RFT_PM: rv = LoadPM (fname, pinfo); break; -+#ifdef HAVE_MGCSFX -+ case RFT_PBM: rv = LoadPBM (fname, pinfo, -1); break; -+#else - case RFT_PBM: rv = LoadPBM (fname, pinfo); break; -+#endif - case RFT_XBM: rv = LoadXBM (fname, pinfo); break; - case RFT_SUNRAS: rv = LoadSunRas(fname, pinfo); break; - case RFT_BMP: rv = LoadBMP (fname, pinfo); break; -@@ -2662,21 +3233,69 @@ - case RFT_XPM: rv = LoadXPM (fname, pinfo); break; - case RFT_XWD: rv = LoadXWD (fname, pinfo); break; - case RFT_FITS: rv = LoadFITS (fname, pinfo, quick); break; -+ case RFT_ZX: rv = LoadZX (fname, pinfo); break; /* [JCE] */ -+ case RFT_WBMP: rv = LoadWBMP (fname, pinfo); break; -+ -+#ifdef HAVE_PCD -+ /* if quick is switched on, use the smallest image size; don't ask the user */ -+ case RFT_PCD: rv = LoadPCD (fname, pinfo, quick ? 0 : PcdSize); break; -+#endif - - #ifdef HAVE_JPEG -- case RFT_JFIF: rv = LoadJFIF (fname, pinfo, quick); break; -+ case RFT_JFIF: rv = LoadJFIF (fname, pinfo, quick); break; -+#endif -+ -+#ifdef HAVE_JP2K -+ case RFT_JPC: rv = LoadJPC (fname, pinfo, quick); break; -+ case RFT_JP2: rv = LoadJP2 (fname, pinfo, quick); break; - #endif - - #ifdef HAVE_TIFF -- case RFT_TIFF: rv = LoadTIFF (fname, pinfo); break; -+ case RFT_TIFF: rv = LoadTIFF (fname, pinfo, quick); break; -+#endif -+ -+#ifdef HAVE_PNG -+ case RFT_PNG: rv = LoadPNG (fname, pinfo); break; - #endif - - #ifdef HAVE_PDS -- case RFT_PDSVICAR: rv = LoadPDS (fname, pinfo); break; -+ case RFT_PDSVICAR: rv = LoadPDS (fname, pinfo); break; -+#endif -+ -+#ifdef HAVE_G3 -+ case RFT_G3: rv = LoadG3 (fname, pinfo); break; - #endif - - #ifdef GS_PATH -- case RFT_PS: rv = LoadPS (fname, pinfo, quick); break; -+ case RFT_PS: rv = LoadPS (fname, pinfo, quick); break; -+#endif -+ -+#ifdef HAVE_MAG -+ case RFT_MAG: rv = LoadMAG (fname, pinfo); break; -+#endif -+ -+#ifdef HAVE_MAKI -+ case RFT_MAKI: rv = LoadMAKI (fname, pinfo); break; -+#endif -+ -+#ifdef HAVE_PIC -+ case RFT_PIC: rv = LoadPIC (fname, pinfo); break; -+#endif -+ -+#ifdef HAVE_PI -+ case RFT_PI: rv = LoadPi (fname, pinfo); break; -+#endif -+ -+#ifdef HAVE_PIC2 -+ case RFT_PIC2: rv = LoadPIC2 (fname, pinfo, quick); break; -+#endif -+ -+#ifdef HAVE_HIPS -+ case RFT_HIPS: rv = LoadHIPS (fname, pinfo); break; -+#endif -+ -+#ifdef HAVE_MGCSFX -+ case RFT_MGCSFX: rv = LoadMGCSFX (fname, pinfo); break; - #endif - - } -@@ -2685,13 +3304,17 @@ - - - /********************************/ --int UncompressFile(name, uncompname) -+int UncompressFile(name, uncompname, filetype) - char *name, *uncompname; -+ int filetype; - { - /* returns '1' on success, with name of uncompressed file in uncompname - returns '0' on failure */ - - char namez[128], *fname, buf[512]; -+#ifndef USE_MKSTEMP -+ int tmpfd; -+#endif - - fname = name; - namez[0] = '\0'; -@@ -2703,7 +3326,7 @@ - to what it was. necessary because uncompress doesn't handle files - that don't end with '.Z' */ - -- if (strlen(name) >= (size_t) 2 && -+ if (strlen(name) >= (size_t) 2 && - strcmp(name + strlen(name)-2,".Z")!=0 && - strcmp(name + strlen(name)-2,".z")!=0) { - strcpy(namez, name); -@@ -2721,34 +3344,50 @@ - #endif /* not VMS and not GUNZIP */ - - -- - #ifndef VMS - sprintf(uncompname, "%s/xvuXXXXXX", tmpdir); -- mktemp(uncompname); -- sprintf(buf,"%s -c %s >%s", UNCOMPRESS, fname, uncompname); --#else /* it IS VMS */ -+#else - strcpy(uncompname, "[]xvuXXXXXX"); -+#endif -+ -+#ifdef USE_MKSTEMP -+ close(mkstemp(uncompname)); -+#else - mktemp(uncompname); --# ifdef GUNZIP -- sprintf(buf,"%s %s %s", UNCOMPRESS, fname, uncompname); --# else -- sprintf(buf,"%s %s", UNCOMPRESS, fname); --# endif -+ tmpfd = open(uncompname,O_WRONLY|O_CREAT|O_EXCL,S_IRWUSR); -+ if (tmpfd < 0) FatalError("UncompressFile(): can't create temporary file"); -+ close(tmpfd); -+#endif -+ -+#ifndef VMS -+ if (filetype == RFT_COMPRESS) -+ sprintf(buf,"%s -c '%s' > '%s'", UNCOMPRESS, fname, uncompname); -+# ifdef BUNZIP2 -+ else if (filetype == RFT_BZIP2) -+ sprintf(buf,"%s -c '%s' > '%s'", BUNZIP2, fname, uncompname); -+# endif -+#else /* it IS VMS */ -+# ifdef GUNZIP -+ sprintf(buf,"%s '%s' '%s'", UNCOMPRESS, fname, uncompname); -+# else -+ sprintf(buf,"%s '%s'", UNCOMPRESS, fname); -+# endif - #endif - - SetISTR(ISTR_INFO, "Uncompressing '%s'...", BaseName(fname)); - #ifndef VMS -- if (system(buf)) { -+ if (system(buf)) - #else -- if (!system(buf)) { -+ if (!system(buf)) - #endif -+ { - SetISTR(ISTR_INFO, "Unable to uncompress '%s'.", BaseName(fname)); - Warning(); - return 0; - } - --#ifndef VMS -- /* if we renamed the file to end with a .Z for the sake of 'uncompress', -+#ifndef VMS -+ /* if we renamed the file to end with a .Z for the sake of 'uncompress', - rename it back to what it once was... */ - - if (strlen(namez)) { -@@ -2769,9 +3408,65 @@ - } - */ - #endif /* not VMS */ -- -+ -+ return 1; -+} -+ -+ -+#ifdef MACBINARY -+/********************************/ -+int RemoveMacbinary(src, dst) -+ char *src, *dst; -+{ -+ char buffer[8192]; /* XXX */ -+ int n, eof; -+#ifndef USE_MKSTEMP -+ int tmpfd; -+#endif -+ FILE *sfp, *dfp; -+ -+ sprintf(dst, "%s/xvmXXXXXX", tmpdir); -+#ifdef USE_MKSTEMP -+ close(mkstemp(dst)); -+#else -+ mktemp(dst); -+ tmpfd = open(dst,O_WRONLY|O_CREAT|O_EXCL,S_IRWUSR); -+ if (tmpfd < 0) FatalError("RemoveMacbinary(): can't create temporary file"); -+#endif -+ -+ SetISTR(ISTR_INFO, "Removing MacBinary..."); -+ -+ sfp = xv_fopen(src, "r"); -+#ifdef USE_MKSTEMP -+ dfp = xv_fopen(dst, "w"); -+#else -+ dfp = fdopen(tmpfd, "w"); -+#endif -+ if (!sfp || !dfp) { -+ SetISTR(ISTR_INFO, "Unable to remove a InfoFile header form '%s'.", src); -+ Warning(); -+ return 0; -+ } -+ fseek(sfp, MACBSIZE, SEEK_SET); -+ while ((n = fread(buffer, 1, sizeof(buffer), sfp)) == 8192) /* XXX */ -+ fwrite(buffer, 1, n, dfp); -+ if ((eof = feof(sfp))) -+ fwrite(buffer, 1, n, dfp); -+ fclose(sfp); -+ fflush(dfp); -+ fclose(dfp); -+#ifndef USE_MKSTEMP -+ close(tmpfd); -+#endif -+ if (!eof) { -+ SetISTR(ISTR_INFO, "Unable to remove a InfoFile header form '%s'.", src); -+ Warning(); -+ return 0; -+ } -+ - return 1; - } -+#endif - - - /********************************/ -@@ -2789,6 +3484,10 @@ - sprintf(tmp, "%s%d", bname, i); - unlink(tmp); - } -+ -+ /* GRR 20070506: basename file doesn't go away, at least on Linux and for -+ * GIF and TIFF images, so explicitly unlink() it, too */ -+ unlink(bname); - } - - -@@ -2798,11 +3497,11 @@ - { - int i; - -- /* some stuff that necessary whenever running an algorithm or -+ /* some stuff that necessary whenever running an algorithm or - installing a new 'pic' (or switching 824 modes) */ - - numcols = 0; /* gets set by SortColormap: set to 0 for PIC24 images */ -- for (i=0; i<256; i++) cols[i]=infobg; -+ for (i=0; i<256; i++) cols[i]=infobg; - - if (picType == PIC8) { - byte trans[256]; -@@ -2811,18 +3510,18 @@ - } - - if (picType == PIC8) { -- /* see if image is a b/w bitmap. -+ /* see if image is a b/w bitmap. - If so, use '-black' and '-white' colors */ - if (numcols == 2) { - if ((rMap[0] == gMap[0] && rMap[0] == bMap[0] && rMap[0] == 255) && - (rMap[1] == gMap[1] && rMap[1] == bMap[1] && rMap[1] == 0)) { - /* 0=wht, 1=blk */ -- rMap[0] = (whtRGB>>16)&0xff; -- gMap[0] = (whtRGB>>8)&0xff; -+ rMap[0] = (whtRGB>>16)&0xff; -+ gMap[0] = (whtRGB>>8)&0xff; - bMap[0] = whtRGB&0xff; - - rMap[1] = (blkRGB>>16)&0xff; -- gMap[1] = (blkRGB>>8)&0xff; -+ gMap[1] = (blkRGB>>8)&0xff; - bMap[1] = blkRGB&0xff; - } - -@@ -2852,10 +3551,10 @@ - } - - /* save the desired RGB colormap (before dicking with it) */ -- for (i=0; i /tmp/xv******" appended). -+ * runs command (with "> /tmp/xv******" appended). - * returns "/tmp/xv******" in fname - * returns '0' if everything's cool, '1' on error - */ - - char fullcmd[512], tmpname[64], str[512]; - int i; -+#ifndef USE_MKSTEMP -+ int tmpfd; -+#endif - - if (!cmd || (strlen(cmd) < (size_t) 2)) return 1; - - sprintf(tmpname,"%s/xvXXXXXX", tmpdir); -+#ifdef USE_MKSTEMP -+ close(mkstemp(tmpname)); -+#else - mktemp(tmpname); -- if (tmpname[0] == '\0') { /* mktemp() blew up */ -+ tmpfd = open(tmpname,O_WRONLY|O_CREAT|O_EXCL,S_IRWUSR); -+ if (tmpfd < 0) FatalError("openPic(): can't create temporary file"); -+ close(tmpfd); -+#endif -+ if (tmpname[0] == '\0') { /* mktemp() or mkstemp() blew up */ - sprintf(str,"Unable to create temporary filename."); - ErrPopUp(str, "\nHow unlikely!"); - return 1; -@@ -2939,26 +3648,21 @@ - { - int i; - -+ waitsec = (numnames <= 1)? waitsec_final : waitsec_nonfinal; -+ - if (!numnames) { openPic(DFLTPIC); return; } - - i = 0; -- if (!randomShow) { -- while (numnames>0) { -- if (openPic(0)) return; /* success */ -- else { -- if (polling && !i) -- fprintf(stderr,"%s: POLLING: Waiting for file '%s' \n\tto %s\n", -- cmd, namelist[0], "be created, or whatever..."); -- i = 1; -- } -+ while (numnames>0) { -+ if (openPic(0)) return; /* success */ -+ else { -+ if (polling && !i) -+ fprintf(stderr,"%s: POLLING: Waiting for file '%s' \n\tto %s\n", -+ cmd, namelist[0], "be created, or whatever..."); -+ i = 1; - } - } - -- else { /* pick random first picture */ -- for (i=findRandomPic(); i>=0; i=findRandomPic()) -- if (openPic(i)) return; /* success */ -- } -- - if (numnames>1) FatalError("couldn't open any pictures"); - else Quit(-1); - } -@@ -2970,11 +3674,11 @@ - int i; - - if (curname>=0) i = curname+1; -- else if (nList.selected >= 0 && nList.selected < numnames) -+ else if (nList.selected >= 0 && nList.selected < numnames) - i = nList.selected; - else i = 0; - -- -+ - while (i=0) i = curname+1; -- else if (nList.selected >= 0 && nList.selected < numnames) -- i = nList.selected; -- else i = 0; -+ if (curname>=0) i = curname+1; -+ else if (nList.selected >= 0 && nList.selected < numnames) -+ i = nList.selected; -+ else i = 0; - -- while (i=0; i=findRandomPic()) -- if (openPic(i)) return; -- } -+ waitsec = (i == numnames-1)? waitsec_final : waitsec_nonfinal; -+ -+ while (i=0) i = curname+1; -- else if (nList.selected >= 0 && nList.selected < numnames) -- i = nList.selected; -- else i = 0; -+ if (curname>=0) i = curname+1; -+ else if (nList.selected >= 0 && nList.selected < numnames) -+ i = nList.selected; -+ else i = 0; -+ -+ if (loop) { i = 0; loop = 0; } - -- if (loop) { i = 0; loop = 0; } -+ waitsec = (i == numnames-1)? waitsec_final : waitsec_nonfinal; - -- while (i=0; i=findRandomPic()) -- if (openPic(i)) return; -- } -+ while (i0) i = curname-1; -- else if (nList.selected>0 && nList.selected < numnames) -+ else if (nList.selected>0 && nList.selected < numnames) - i = nList.selected - 1; - else i = numnames-1; - -@@ -3063,64 +3759,24 @@ - openPic(LOADPIC); - } - -- -- -- --/****************/ --static int findRandomPic() --/****************/ --{ -- static byte *loadList; -- static int left_to_load, listLen = -1; -- int k; -- time_t t; -- -- /* picks a random name out of the list, and returns it's index. If there -- are no more names to pick, it returns '-1' and resets itself */ -- -- if (!loadList || numnames!=listLen) { -- if (loadList) free(loadList); -- else { -- time(&t); -- srandom((unsigned int) t); /* seed the random */ -- } -- -- left_to_load = listLen = numnames; -- loadList = (byte *) malloc((size_t) listLen); -- for (k=0; k= 0, a filenum to GOTO */ - - int i; - -- /* if curname<0 (there is no 'current' file), 'Next' means view the -+ /* if curname<0 (there is no 'current' file), 'Next' means view the - selected file (or the 0th file, if no selection either), and 'Prev' means - view the one right before the selected file */ - -- openFirstPic(); /* find first displayable picture, exit if none */ -+ /* find first displayable picture, exit if none */ -+ if (!startGrab) openFirstPic(); - - if (!pic) { /* must've opened a text file... display dflt pic */ -- openPic(DFLTPIC); -+ if (!startGrab) openPic(DFLTPIC); - if (mainW && !useroot) RaiseTextWindows(); - } - -@@ -3133,7 +3789,7 @@ - } - - else if (i==PREVPIC) { -- if (curname>0 || (curname<0 && nList.selected>0)) -+ if (curname>0 || (curname<0 && nList.selected>0)) - openPrevPic(); - } - -@@ -3151,7 +3807,7 @@ - - else if (i==THISNEXT) { /* open current sel, 'next' until success */ - int j; -- j = nList.selected; -+ j = nList.selected; - if (j<0) j = 0; - while (j vrWIDE) x = vrWIDE - eWIDE; /* keep on screen */ -+ /* keep on screen */ -+ if (x+eWIDE > vrWIDE) x = vrWIDE - eWIDE; - if (y+eHIGH > vrHIGH) y = vrHIGH - eHIGH; -- -+ if (x < 0) x = 0; -+ if (y < 0) y = 0; - - #define VROOT_TRANS - #ifdef VROOT_TRANS -- if (vrootW != rootW) { /* virtual window manager running */ -+ if (vrootW != rootW && !(hints.flags & USPosition)) { /* virtual window manager running */ - int x1,y1; - Window child; -+ - XTranslateCoordinates(theDisp, rootW, vrootW, x, y, &x1, &y1, &child); -- if (DEBUG) fprintf(stderr,"translate: %d,%d -> %d,%d\n",x,y,x1,y1); -+ if (DEBUG) fprintf(stderr,"translate: %d,%d -> %d,%d\n", x, y, x1, y1); - x = x1; y = y1; - } - #endif -@@ -3218,13 +3887,13 @@ - hints.x = x; hints.y = y; - hints.width = eWIDE; hints.height = eHIGH; - hints.max_width = maxWIDE; hints.max_height = maxHIGH; -- hints.flags |= USSize | PMaxSize; -- -- xswa.bit_gravity = StaticGravity; -+ hints.flags |= PSize | PMaxSize; -+ -+ xswa.bit_gravity = StaticGravity; - xswa.background_pixel = bg; - xswa.border_pixel = fg; - xswa.colormap = theCmap; -- -+ - xswa.backing_store = WhenMapped; - - /* NOTE: I've turned 'backing-store' off on the image window, as some -@@ -3233,9 +3902,9 @@ - improvement anyway (for the image window), unless you're on a slow - network. In any event, I'm not *turning off* backing store, I'm - just not explicitly turning it *on*. If your X server is set up -- that windows, by default, have backing-store turned on, then the -+ that windows, by default, have backing-store turned on, then the - image window will, too */ -- -+ - xswamask = CWBackPixel | CWBorderPixel | CWColormap /* | CWBackingStore */; - if (!clearonload) xswamask |= CWBitGravity; - -@@ -3244,18 +3913,18 @@ - xwa.width = eWIDE; xwa.height = eHIGH; - - /* try to keep the damned thing on-screen, if possible */ -- if (xwa.x + xwa.width > dispWIDE) xwa.x = dispWIDE - xwa.width; -- if (xwa.y + xwa.height > dispHIGH) xwa.y = dispHIGH - xwa.height; -+ if (xwa.x + xwa.width > vrWIDE) xwa.x = vrWIDE - xwa.width; -+ if (xwa.y + xwa.height > vrHIGH) xwa.y = vrHIGH - xwa.height; - if (xwa.x < 0) xwa.x = 0; - if (xwa.y < 0) xwa.y = 0; - - SetWindowPos(&xwa); - hints.flags = PSize | PMaxSize; -- } -+ } - - else { - mainW = XCreateWindow(theDisp,rootW,x,y, (u_int) eWIDE, (u_int) eHIGH, -- (u_int) bwidth, (int) dispDEEP, InputOutput, -+ (u_int) bwidth, (int) dispDEEP, InputOutput, - theVisual, xswamask, &xswa); - if (!mainW) FatalError("can't create window!"); - -@@ -3267,15 +3936,11 @@ - } - } - -- -- XSetStandardProperties(theDisp,mainW,"","",None,NULL,0,&hints); -- setWinIconNames(name); -- - xwmh.input = True; - xwmh.flags = InputHint; - -- xwmh.icon_pixmap = iconPix; -- xwmh.icon_mask = iconmask; -+ xwmh.icon_pixmap = iconPix; -+ xwmh.icon_mask = iconmask; - xwmh.flags |= (IconPixmapHint | IconMaskHint); - - -@@ -3295,14 +3960,15 @@ - } - } - } -- XSetWMHints(theDisp, mainW, &xwmh); - - classh.res_name = "xv"; - classh.res_class = "XVroot"; -- XSetClassHint(theDisp, mainW, &classh); - -+ XmbSetWMProperties(theDisp, mainW, NULL, NULL, NULL, 0, &hints, &xwmh, -+ &classh); -+ setWinIconNames(name); - -- if (nodecor) { /* turn of image window decorations (in MWM) */ -+ if (nodecor) { /* turn of image window decorations (in MWM) */ - Atom mwm_wm_hints; - struct s_mwmhints { - long flags; -@@ -3311,7 +3977,7 @@ - u_long input_mode; - long status; - } mwmhints; -- -+ - mwm_wm_hints = XInternAtom(theDisp, "_MOTIF_WM_HINTS", False); - if (mwm_wm_hints != None) { - xvbzero((char *) &mwmhints, sizeof(mwmhints)); -@@ -3319,20 +3985,20 @@ - mwmhints.decorations = 4; - - XChangeProperty(theDisp, mainW, mwm_wm_hints, mwm_wm_hints, 32, -- PropModeReplace, (byte *) &mwmhints, -- (int) (sizeof(mwmhints))/4); -+ PropModeReplace, (byte *) &mwmhints, -+ (int) (sizeof(mwmhints))/4); - XSync(theDisp, False); - } - } - -- -+ - firstTime = 0; - } - - - /***********************************/ - static void setWinIconNames(name) -- char *name; -+ const char *name; - { - char winname[256], iconname[256]; - -@@ -3362,12 +4028,12 @@ - - /***********************************/ - void FixAspect(grow,w,h) --int grow; --int *w, *h; -+ int grow; -+ int *w, *h; - { - /* computes new values of eWIDE and eHIGH which will have aspect ratio -- 'normaspect'. If 'grow' it will preserve aspect by enlarging, -- otherwise, it will shrink to preserve aspect ratio. -+ 'normaspect'. If 'grow' it will preserve aspect by enlarging, -+ otherwise, it will shrink to preserve aspect ratio. - Returns these values in 'w' and 'h' */ - - float xr,yr,curaspect,a,exp; -@@ -3380,14 +4046,14 @@ - curaspect = xr / yr; - - /* if too narrow & shrink, shrink height. too wide and grow, grow height */ -- if ((curaspect < normaspect && !grow) || -+ if ((curaspect < normaspect && !grow) || - (curaspect > normaspect && grow)) { /* modify height */ - exp = curaspect / normaspect; - *h = (int) (eHIGH * exp + .5); - } - - /* if too narrow & grow, grow width. too wide and shrink, shrink width */ -- if ((curaspect < normaspect && grow) || -+ if ((curaspect < normaspect && grow) || - (curaspect > normaspect && !grow)) { /* modify width */ - exp = normaspect / curaspect; - *w = (int) (eWIDE * exp + .5); -@@ -3423,22 +4089,22 @@ - suffix = namelist[0]; - prelen = 0; /* length of prefix to be removed */ - n = i = 0; /* shut up pesky compiler warnings */ -- -+ - done = 0; - while (!done) { - suffix = (char *) index(suffix,'/'); /* find next '/' in file name */ - if (!suffix) break; -- -+ - suffix++; /* go past it */ - n = suffix - namelist[0]; - for (i=1; i (nList.w-10-16)) { /* have to trunc. */ - tmp = dname; - while (1) { - tmp = (char *) index(tmp,'/'); /* find next '/' in filename */ - if (!tmp) { tmp = dname; break; } -- -+ - tmp++; /* move to char following the '/' */ - if (StringWidth(tmp) <= (nList.w-10-16)) { /* is cool now */ - j++; break; -@@ -3484,9 +4150,9 @@ - - name = GetDirFName(); - GetDirPath(cwd); -- -+ - AddFNameToCtrlList(cwd, name); -- -+ - if (select) { - nList.selected = numnames-1; - curname = numnames - 1; -@@ -3498,35 +4164,35 @@ - - /***********************************/ - void AddFNameToCtrlList(fpath,fname) -- char *fpath, *fname; -+ const char *fpath, *fname; - { - /* stick given path/name into 'namelist'. Doesn't redraw list */ -- -- char *fullname, *dname; -+ -+ char *fullname; - char cwd[MAXPATHLEN], globnm[MAXPATHLEN+100]; - int i; -- -+ - if (!fpath) fpath = ""; /* bulletproofing... */ -- if (!fname) fname = ""; -- -+ if (!fname) fname = ""; -+ - if (numnames == MAXNAMES) return; /* full up */ -- -+ - /* handle globbing */ - if (fname[0] == '~') { - strcpy(globnm, fname); - Globify(globnm); - fname = globnm; - } -- -+ - if (fname[0] != '/') { /* prepend path */ - strcpy(cwd, fpath); /* copy it to a modifiable place */ -- -+ - /* make sure fpath has a trailing '/' char */ - if (strlen(cwd)==0 || cwd[strlen(cwd)-1]!='/') strcat(cwd, "/"); -- -+ - fullname = (char *) malloc(strlen(cwd) + strlen(fname) + 2); - if (!fullname) FatalError("couldn't alloc name in AddFNameToCtrlList()\n"); -- -+ - sprintf(fullname, "%s%s", cwd, fname); - } - else { /* copy name to fullname */ -@@ -3534,15 +4200,15 @@ - if (!fullname) FatalError("couldn't alloc name in AddFNameToCtrlList()\n"); - strcpy(fullname, fname); - } -- -- -+ -+ - /* see if this name is a duplicate. Don't add it if it is. */ - for (i=0; i0)); - } - } -- -+ - - /***********************************/ - int DeleteCmd() - { - /* 'delete' button was pressed. Pop up a dialog box to determine - what should be deleted, then do it. -- returns '1' if THE CURRENTLY VIEWED entry was deleted from the list, -- in which case the 'selected' filename on the ctrl list is now -+ returns '1' if THE CURRENTLY VIEWED entry was deleted from the list, -+ in which case the 'selected' filename on the ctrl list is now - different, and should be auto-loaded, or something */ - -- static char *bnames[] = { "\004Disk File", "\nList Entry", "\033Cancel" }; -+ static const char *bnames[] = -+ { "\004Disk File", "\nList Entry", "\033Cancel" }; - char str[512]; - int del, i, delnum, rv; - -@@ -3610,15 +4277,14 @@ - delnum = nList.selected; - if (delnum < 0 || delnum >= numnames) return 0; - -- sprintf(str,"Delete '%s'?\n\n%s%s", -- namelist[delnum], -+ sprintf(str, "Delete '%s'?\n\n%s%s", namelist[delnum], - "'List Entry' deletes selection from list.\n", - "'Disk File' deletes file associated with selection."); - - del = PopUp(str, bnames, 3); -- -+ - if (del == 2) return 0; /* cancel */ -- -+ - if (del == 0) { /* 'Disk File' */ - char *name; - if (namelist[delnum][0] != '/') { /* prepend 'initdir' */ -@@ -3669,13 +4335,13 @@ - - if (delnum != numnames-1) { - /* snip out of namelist and dispnames lists */ -- xvbcopy((char *) &namelist[delnum+1], (char *) &namelist[delnum], -+ xvbcopy((char *) &namelist[delnum+1], (char *) &namelist[delnum], - (numnames - delnum - 1) * sizeof(namelist[0])); - -- xvbcopy((char *) &dispnames[delnum+1], (char *) &dispnames[delnum], -+ xvbcopy((char *) &dispnames[delnum+1], (char *) &dispnames[delnum], - (numnames - delnum - 1) * sizeof(dispnames[0])); - } -- -+ - numnames--; - if (numnames==0) BTSetActive(&but[BDELETE],0); - windowMB.dim[WMB_TEXTVIEW] = (numnames==0); -@@ -3686,7 +4352,7 @@ - if (nList.selected >= numnames) nList.selected = numnames-1; - if (nList.selected < 0) nList.selected = 0; - -- SCSetRange(&nList.scrl, 0, numnames - nList.nlines, -+ SCSetRange(&nList.scrl, 0, numnames - nList.nlines, - nList.scrl.val, nList.nlines-1); - ScrollToCurrent(&nList); - DrawCtrlNumFiles(); -@@ -3753,7 +4419,7 @@ - if (useroot && resetroot) ClearRoot(); - - if (mainW == (Window) NULL || useroot) { /* window not visible */ -- useroot = 0; -+ useroot = 0; - - if (haveoldinfo) { /* just remap mainW and resize it */ - XWMHints xwmh; -@@ -3771,8 +4437,8 @@ - xwmh.input = True; - xwmh.flags = InputHint; - -- xwmh.icon_pixmap = iconPix; -- xwmh.icon_mask = iconmask; -+ xwmh.icon_pixmap = iconPix; -+ xwmh.icon_mask = iconmask; - xwmh.flags |= ( IconPixmapHint | IconMaskHint) ; - - xwmh.flags |= StateHint; -@@ -3787,7 +4453,7 @@ - else { /* first time. need to create mainW */ - mainW = (Window) NULL; - createMainWindow(maingeom, fnam); -- XSelectInput(theDisp, mainW, ExposureMask | KeyPressMask -+ XSelectInput(theDisp, mainW, ExposureMask | KeyPressMask - | StructureNotifyMask | ButtonPressMask - | KeyReleaseMask | ColormapChangeMask - | EnterWindowMask | LeaveWindowMask ); -@@ -3802,7 +4468,7 @@ - - else { /* mainW already visible */ - createMainWindow(maingeom, fnam); -- XSelectInput(theDisp, mainW, ExposureMask | KeyPressMask -+ XSelectInput(theDisp, mainW, ExposureMask | KeyPressMask - | StructureNotifyMask | ButtonPressMask - | KeyReleaseMask | ColormapChangeMask - | EnterWindowMask | LeaveWindowMask ); -@@ -3845,13 +4511,13 @@ - if (LocalCmap) regen=1; - - /* this reallocs the colors */ -- if (colorMapMode==CM_PERFECT || colorMapMode==CM_OWNCMAP) -+ if (colorMapMode==CM_PERFECT || colorMapMode==CM_OWNCMAP) - ChangeCmapMode(CM_NORMAL, 0, 0); -- -- -+ -+ - XUnmapWindow(theDisp, mainW); - mainW = vrootW; -- -+ - if (!ctrlUp) { /* make sure ctrl is up when going to 'root' mode */ - XWMHints xwmh; - xwmh.input = True; -@@ -3861,7 +4527,7 @@ - CtrlBox(1); - } - } -- -+ - useroot = 1; - rootMode = dispMode - RMB_ROOT; - ew = eWIDE; eh = eHIGH; -@@ -3877,7 +4543,7 @@ - GenerateEpic(ew, eh); - CreateXImage(); - } -- else if (regen) CreateXImage(); -+ else if (regen) CreateXImage(); - - KillOldRootInfo(); - MakeRootPic(); -@@ -3923,7 +4589,7 @@ - - - if (*numn == maxn) { -- fprintf(stderr, "%s: too many filenames. Only using first %d.\n", -+ fprintf(stderr, "%s: too many filenames. Using only first %d.\n", - flist, maxn); - } - -@@ -3947,14 +4613,14 @@ - - /***********************************/ - int rd_int(name) -- char *name; -+ const char *name; - { - /* returns '1' if successful. result in def_int */ - - if (rd_str_cl(name, "", 0)) { /* sets def_str */ - if (sscanf(def_str, "%d", &def_int) == 1) return 1; - else { -- fprintf(stderr, "%s: couldn't read integer value for %s resource\n", -+ fprintf(stderr, "%s: couldn't read integer value for %s resource\n", - cmd, name); - return 0; - } -@@ -3965,7 +4631,7 @@ - - /***********************************/ - int rd_str(name) -- char *name; -+ const char *name; - { - return rd_str_cl(name, "", 0); - } -@@ -3973,17 +4639,17 @@ - - /***********************************/ - int rd_flag(name) --char *name; -+ const char *name; - { - /* returns '1' if successful. result in def_int */ -- -+ - char buf[256]; - - if (rd_str_cl(name, "", 0)) { /* sets def_str */ - strcpy(buf, def_str); - lower_str(buf); - -- def_int = (strcmp(buf, "on")==0) || -+ def_int = (strcmp(buf, "on")==0) || - (strcmp(buf, "1")==0) || - (strcmp(buf, "true")==0) || - (strcmp(buf, "yes")==0); -@@ -3992,16 +4658,16 @@ - - else return 0; - } -- -+ - - - - static int xrm_initted = 0; -- -+ - /***********************************/ - int rd_str_cl (name_str, class_str, reinit) -- char *name_str; -- char *class_str; -+ const char *name_str; -+ const char *class_str; - int reinit; - { - /* note: *all* X resource reading goes through this routine... */ -@@ -4043,16 +4709,30 @@ - unsigned long nitems, nleft; - byte *data; - -- i = XGetWindowProperty(theDisp, RootWindow(theDisp, 0), -- resAtom, 0L, 1L, False, -- XA_STRING, &actType, &actFormat, &nitems, &nleft, -- (unsigned char **) &data); -+ if (spec_window) { -+ i = XGetWindowProperty(theDisp, spec_window, -+ resAtom, 0L, 1L, False, -+ XA_STRING, &actType, &actFormat, &nitems, &nleft, -+ (unsigned char **) &data); -+ } else { -+ i = XGetWindowProperty(theDisp, RootWindow(theDisp, 0), -+ resAtom, 0L, 1L, False, -+ XA_STRING, &actType, &actFormat, &nitems, &nleft, -+ (unsigned char **) &data); -+ } - if (i==Success && actType==XA_STRING && actFormat==8) { - if (nitems>0 && data) XFree(data); -- i = XGetWindowProperty(theDisp, RootWindow(theDisp, 0), resAtom, 0L, -- (long) ((nleft+4+3)/4), -- False, XA_STRING, &actType, &actFormat, -- &nitems, &nleft, (unsigned char **) &data); -+ if (spec_window) { -+ i = XGetWindowProperty(theDisp, spec_window, resAtom, 0L, -+ (long) ((nleft+4+3)/4), -+ False, XA_STRING, &actType, &actFormat, -+ &nitems, &nleft, (unsigned char **) &data); -+ } else { -+ i = XGetWindowProperty(theDisp, RootWindow(theDisp, 0), resAtom, 0L, -+ (long) ((nleft+4+3)/4), -+ False, XA_STRING, &actType, &actFormat, -+ &nitems, &nleft, (unsigned char **) &data); -+ } - if (i==Success && actType==XA_STRING && actFormat==8 && data) { - def_resource = XrmGetStringDatabase((char *) data); - XFree(data); -@@ -4064,50 +4744,51 @@ - - - if (!gotit) { -- xrm_str = XResourceManagerString(theDisp); -- -+ xrm_str = XResourceManagerString(theDisp); -+ - if (xrm_str) { - def_resource = XrmGetStringDatabase(xrm_str); - if (DEBUG) fprintf(stderr,"rd_str_cl: Using RESOURCE_MANAGER prop.\n"); - } - else { /* no RESOURCE_MANAGER prop. read from 'likely' file */ -- char foo[256], *homedir, *xenviron; -+ char foo[256], *xenviron; -+ const char *homedir; - XrmDatabase res1; -- -+ - #ifdef VMS - strcpy(foo, "SYS$LOGIN:DECW$XDEFAULTS.DAT"); - #else -- homedir = (char *) getenv("HOME"); -+ homedir = (const char *) getenv("HOME"); - if (!homedir) homedir = "."; - sprintf(foo,"%s/.Xdefaults", homedir); - #endif -- -+ - def_resource = XrmGetFileDatabase(foo); -- -+ - if (DEBUG) { - fprintf(stderr,"rd_str_cl: No RESOURCE_MANAGER prop.\n"); - fprintf(stderr,"rd_str_cl: Using file '%s' (%s) ", - foo, (def_resource) ? "success" : "failure"); - } -- -- -+ -+ - /* merge file pointed to by XENVIRONMENT */ - xenviron = (char *) getenv("XENVIRONMENT"); - if (xenviron) { - res1 = XrmGetFileDatabase(xenviron); -- -+ - if (DEBUG) { - fprintf(stderr,"merging XENVIRONMENT='%s' (%s) ", - xenviron, (res1) ? "success" : "failure"); - } -- -+ - if (res1) { /* merge databases */ - if (!def_resource) def_resource = res1; - else XrmMergeDatabases(res1, &def_resource); - } - } -- -- -+ -+ - if (DEBUG) fprintf(stderr,"\n\n"); - } - } -@@ -4120,16 +4801,15 @@ - strcpy (q_name, PROGNAME); - strcat (q_name, "."); - strcat (q_name, name_str); -- -+ - strcpy (q_class, "Program"); - strcat (q_class, "."); - strcat (q_class, class_str); - - (void) XrmGetResource(def_resource, q_name, q_class, &type, &result); -- -+ - def_str = result.addr; -- if (def_str) return (1); -- else return (0); -+ if (def_str) return 1; -+ else return 0; - } - -- -diff -ru xv-3.10a/xv.h xv-3.10a-enhancements/xv.h ---- xv-3.10a/xv.h 1995-01-23 12:22:23.000000000 -0800 -+++ xv-3.10a-enhancements/xv.h 2007-05-20 21:26:40.000000000 -0700 -@@ -1,6 +1,6 @@ - /* - * xv.h - header file for xv, but you probably guessed as much -- * -+ * - * Author: John Bradley (bradley@cis.upenn.edu) - */ - -@@ -8,8 +8,16 @@ - #include "config.h" - - --#define REVDATE "Version 3.10a Rev: 12/29/94" --#define VERSTR "3.10a" -+/* xv 3.10a: 19941229 */ -+/* PNG patch 1.2d: 19960731 */ -+/* GRR orig jumbo fixes patch: 20000213 */ -+/* GRR orig jumbo enhancements patch: 20000220 */ -+/* GRR 1st public jumbo F+E patches: 20040531 */ -+/* GRR 2nd public jumbo F+E patches: 20050410 */ -+/* GRR 3rd public jumbo F+E patches: 20050501 */ -+/* GRR 4th public jumbo F+E patch: 20070520 */ -+#define REVDATE "version 3.10a-jumboFix+Enh of 20070520" -+#define VERSTR "3.10a-20070520" - - /* - * uncomment the following, and modify for your site, but only if you've -@@ -43,6 +51,10 @@ - /* START OF MACHINE-DEPENDENT CONFIGURATION INFO */ - /*************************************************/ - -+ -+#define ENABLE_FIXPIX_SMOOTH /* GRR 19980607 */ -+ -+ - /* Things to make xv more likely to just build, without the user tweaking - the makefile */ - -@@ -61,16 +73,38 @@ - # define SVR4 - #endif - -+#if defined(__sony_news) && defined(bsd43) && !defined(__bsd43) -+# define __bsd43 -+#elif defined(__sony_news) && (defined(SYSTYPE_BSD) || defined(__SYSTYPE_BSD)) && !defined(bsd43) && !defined(__bsd43) -+# define bsd43 -+# define __bsd43 -+#endif -+ -+#include /* for interrupt handling */ -+ -+/* at least on Linux, the following file (1) includes sys/types.h and -+ * (2) defines __USE_BSD (which was not defined before here), so __linux__ -+ * block is now moved after this #include */ -+#include /* need type declarations immediately */ -+ - --#ifdef LINUX -+#ifdef __linux__ - # ifndef _LINUX_LIMITS_H - # include - # endif -+# ifndef USLEEP -+# define USLEEP -+# endif -+ /* want only one or the other defined, not both: */ -+# if !defined(BSDTYPES) && !defined(__USE_BSD) -+# define BSDTYPES -+# endif -+# if defined(BSDTYPES) && defined(__USE_BSD) -+# undef BSDTYPES -+# endif - #endif - - --#include /* need type declarations immediately */ -- - /*********************************************************/ - - -@@ -99,6 +133,16 @@ - #endif - - -+#if defined(__sony_news) && defined(__bsd43) -+# include -+#endif -+ -+ -+#if defined(__FreeBSD__) -+# include -+#endif -+ -+ - /* include files */ - #include - #include -@@ -114,18 +158,24 @@ - - #ifndef VMS - # include -- extern int errno; /* SHOULD be in errno.h, but often isn't */ - # ifndef __NetBSD__ -- extern char *sys_errlist[]; /* this too... */ -+# if !(defined __GLIBC__ && __GLIBC__ >= 2) -+ extern int errno; /* SHOULD be in errno.h, but often isn't */ -+ extern char *sys_errlist[]; /* this too... */ -+# endif - # endif - #endif - - - /* not everyone has the strerror() function, or so I'm told */ --#ifndef VMS --# define ERRSTR(x) sys_errlist[x] --#else -+#ifdef VMS - # define ERRSTR(x) strerror(x, vaxc$errno) -+#else -+# if defined(__BEOS__) || defined(__linux__) /* or all modern/glibc systems? */ -+# define ERRSTR(x) strerror(x) -+# else -+# define ERRSTR(x) sys_errlist[x] -+# endif - #endif - - -@@ -146,28 +196,20 @@ - #endif - - --/* lots of things don't have */ --/* A/UX systems include it from stdlib, from Xos.h */ --#ifndef VMS /* VMS hates multi-line '#if's */ --# if !defined(ibm032) && \ -- !defined(__convex__) && \ -- !(defined(vax) && !defined(ultrix)) && \ -- !defined(mips) && \ -- !defined(apollo) && \ -- !defined(pyr) && \ -- !defined(__UMAXV__) && \ -- !defined(bsd43) && \ -- !defined(aux) && \ -- !defined(__bsdi__) && \ -- !defined(sequent) -- -+/* GRR 20070512: Very few modern systems even have a malloc.h anymore; -+ * stdlib.h is, well, the standard. (Former explicitly listed -+ * "don't include" systems: ibm032, __convex__, non-ultrix vax, -+ * mips, apollo, pyr, sequent, __UMAXV__, aux, bsd43, __bsd43, -+ * __bsdi__, __386BSD__, __FreeBSD__, __OpenBSD__, __NetBSD__, -+ * __DARWIN__, VMS.) Anyone who _does_ need it can explicitly -+ * define NEED_MALLOC_H in the makefile. */ -+#ifdef NEED_MALLOC_H - # if defined(hp300) || defined(hp800) || defined(NeXT) --# include /* it's in 'sys' on HPs and NeXT */ -+# include /* it's in "sys" on HPs and NeXT */ - # else --# include -+# include - # endif --# endif --#endif /* !VMS */ -+#endif - - - -@@ -179,9 +221,10 @@ - #include - #include - -+#ifdef TV_L10N -+# include -+#endif - --#undef SIGCHLD /* defined in both Xos.h and signal.h */ --#include /* for interrupt handling */ - - #include - -@@ -205,6 +248,10 @@ - # include - # endif - -+# ifdef __BEOS__ -+# include -+# endif -+ - /*** for select() call ***/ - # ifdef __hpux - # define XV_FDTYPE (int *) -@@ -259,7 +306,7 @@ - * make them if missing, along with a few fictitious ones - * Cameron Simpson (cameron@cse.unsw.edu.au) - */ -- -+ - #ifndef S_ISDIR /* missing POSIX-type macros */ - # define S_ISDIR(mode) (((mode)&S_IFMT) == S_IFDIR) - # define S_ISBLK(mode) (((mode)&S_IFMT) == S_IFBLK) -@@ -288,7 +335,9 @@ - # endif - #endif - -- -+#ifndef S_IRWUSR -+# define S_IRWUSR (S_IRUSR|S_IWUSR) /* or (S_IREAD|S_IWRITE) */ -+#endif - - #ifndef MAXPATHLEN - # define MAXPATHLEN 256 -@@ -308,36 +357,90 @@ - - #ifndef VMS /* VMS hates multi-line definitions */ - # if defined(SVR4) || defined(SYSV) || defined(sco) || \ -- defined(XENIX) || defined(__osf__) -+ defined(XENIX) || defined(__osf__) || defined(__linux__) - # undef USE_GETCWD - # define USE_GETCWD /* use 'getcwd()' instead of 'getwd()' */ -+# endif /* >> SECURITY ISSUE << */ -+#endif -+ -+ -+/* GRR 20040430: This is new and still not fully deployed. No doubt there -+ * are other systems that have mkstemp() (SUSv3); we can add -+ * them later. */ -+#ifndef VMS /* VMS hates multi-line definitions */ -+# if defined(__linux__) || defined(__OpenBSD__) || defined(__NetBSD__) || \ -+ defined(__bsdi__) -+# ifndef USE_MKSTEMP -+# define USE_MKSTEMP /* use 'mkstemp()' instead of 'mktemp()' */ -+# endif /* >> SECURITY ISSUE << */ - # endif - #endif - - -+/* GRR 20040503: This is new and so far tested only under Linux. But it -+ * allows -wait to work with subsecond values as long as -+ * times() exists and clock_t is a long int (latter matters -+ * only if/when clocks wrap, which for Linux is multiples of -+ * 497.11 days since the last reboot). */ -+#if defined(__linux__) -+# define USE_TICKS /* use times()/Timer(), not time()/sleep() */ -+# include /* LONG_MAX (really want CLOCK_T_MAX) */ -+# include /* times() */ -+# ifndef CLK_TCK /* can be undefined in strict-ANSI mode */ -+# define CLK_TCK CLOCKS_PER_SEC /* claimed to be same thing in time.h */ -+# endif -+#endif -+ -+#if (defined(SYSV) || defined(SVR4) || defined(linux)) && !defined(USE_GETCWD) -+# define USE_GETCWD -+#endif -+ -+#ifndef SEEK_SET -+# define SEEK_SET 0 -+# define SEEK_CUR 1 -+# define SEEK_END 2 -+#endif -+ -+#if defined(__mips) && defined(__SYSTYPE_BSD43) -+# define strstr(A,B) pds_strstr((A),(B)) -+# undef S_IFIFO -+#endif /* !mips_bsd */ -+ - /*****************************/ - /* END OF CONFIGURATION INFO */ - /*****************************/ - -+ - #ifdef DOJPEG --#define HAVE_JPEG -+# define HAVE_JPEG -+#endif -+ -+#ifdef DOJP2K -+# define HAVE_JP2K - #endif - - #ifdef DOTIFF --#define HAVE_TIFF -+# define HAVE_TIFF -+#endif -+ -+#ifdef DOPNG -+# define HAVE_PNG - #endif - - #ifdef DOPDS --#define HAVE_PDS -+# define HAVE_PDS - #endif - -+#ifdef DOG3 -+# define HAVE_G3 -+#endif - - --#define PROGNAME "xv" /* used in resource database */ -+#define PROGNAME "xv" /* used in resource database */ - --#define MAXNAMES 4096 /* max # of files in ctrlW list */ -+#define MAXNAMES 65536 /* max # of files in ctrlW list */ - --#define MAXBRWIN 4 /* max # of vis browser windows */ -+#define MAXBRWIN 16 /* max # of vis browser windows */ - - /* strings in the INFOBOX (used in SetISTR and GetISTR) */ - #define NISTR 10 /* number of ISTRs */ -@@ -432,7 +535,7 @@ - #define F_COLORS 0 - #define F_FORMAT 1 - --/* the following list give indicies into saveColors[] array in xvdir.c */ -+/* the following list give indices into saveColors[] array in xvdir.c */ - #define F_FULLCOLOR 0 - #define F_GREYSCALE 1 - #define F_BWDITHER 2 -@@ -440,49 +543,115 @@ - #define F_MAXCOLORS 4 /* length of saveColors[] array */ - - --/* following list gives indicies into 'saveFormats[]' array in xvdir.c -- note that JPEG and TIFF entries may or may not exist, and following -- constants have to be adjusted accordingly. Also, don't worry about -- duplicate cases if JPGINC or TIFINC = 0. All code that references -- F_JPEG or F_TIFF is #ifdef'd, so it won't be a problem */ -+/* The following list gives indices into 'saveFormats[]' array in xvdir.c. -+ Note that JPEG, TIFF, and other entries may or may not exist, so the -+ following constants have to be adjusted accordingly. Also, don't worry -+ about duplicate cases if, e.g., JPGINC or TIFINC = 0. All code that -+ references F_JPEG, F_TIFF, etc., is #ifdef'd, so it won't be a problem. */ - - #ifdef HAVE_JPEG --#define F_JPGINC 1 -+# define F_JPGINC 1 - #else --#define F_JPGINC 0 -+# define F_JPGINC 0 -+#endif -+ -+#ifdef HAVE_JP2K -+# define F_JP2INC 1 /* provides both JPC and JP2 */ -+#else -+# define F_JP2INC 0 - #endif - - #ifdef HAVE_TIFF --#define F_TIFINC 1 -+# define F_TIFINC 1 -+#else -+# define F_TIFINC 0 -+#endif -+ -+#ifdef HAVE_PNG -+# define F_PNGINC 1 -+#else -+# define F_PNGINC 0 -+#endif -+ -+#ifdef HAVE_MAG -+# define F_MAGINC 1 -+#else -+# define F_MAGINC 0 -+#endif -+ -+#ifdef HAVE_PIC -+# define F_PICINC 1 -+#else -+# define F_PICINC 0 -+#endif -+ -+#ifdef HAVE_MAKI -+# define F_MAKINC 1 -+#else -+# define F_MAKINC 0 -+#endif -+ -+#ifdef HAVE_PI -+# define F_PAIINC 1 -+#else -+# define F_PAIINC 0 -+#endif -+ -+#ifdef HAVE_PIC2 -+# define F_PC2INC 1 - #else --#define F_TIFINC 0 -+# define F_PC2INC 0 - #endif - -+#ifdef HAVE_MGCSFX -+# define F_MGCSFXINC 1 -+#else -+# define F_MGCSFXINC 0 -+#endif - --#define F_GIF 0 --#define F_JPEG ( 0 + F_JPGINC) --#define F_TIFF ( 0 + F_JPGINC + F_TIFINC) --#define F_PS ( 1 + F_JPGINC + F_TIFINC) --#define F_PBMRAW ( 2 + F_JPGINC + F_TIFINC) --#define F_PBMASCII ( 3 + F_JPGINC + F_TIFINC) --#define F_XBM ( 4 + F_JPGINC + F_TIFINC) --#define F_XPM ( 5 + F_JPGINC + F_TIFINC) --#define F_BMP ( 6 + F_JPGINC + F_TIFINC) --#define F_SUNRAS ( 7 + F_JPGINC + F_TIFINC) --#define F_IRIS ( 8 + F_JPGINC + F_TIFINC) --#define F_TARGA ( 9 + F_JPGINC + F_TIFINC) --#define F_FITS (10 + F_JPGINC + F_TIFINC) --#define F_PM (11 + F_JPGINC + F_TIFINC) --#define F_DELIM1 (12 + F_JPGINC + F_TIFINC) /* ----- */ --#define F_FILELIST (13 + F_JPGINC + F_TIFINC) --#define F_MAXFMTS (14 + F_JPGINC + F_TIFINC) /* 15, normally */ -+#ifdef MACBINARY -+# define MACBSIZE 128 -+#endif -+ -+/* NOTE: order must match saveFormats[] in xvdir.c */ -+/* [this works best when first one is always present, but...we like PNG :-) ] */ -+#define F_PNG 0 -+#define F_JPEG ( 0 + F_PNGINC) -+#define F_JPC ( 0 + F_PNGINC + F_JPGINC) -+#define F_JP2 ( 0 + F_PNGINC + F_JPGINC + F_JP2INC) -+#define F_GIF ( 0 + F_PNGINC + F_JPGINC + F_JP2INC + F_JP2INC) /* always avail; index varies */ -+#define F_TIFF ( 0 + F_PNGINC + F_JPGINC + F_JP2INC + F_JP2INC + F_TIFINC) -+#define F_PS ( 1 + F_TIFF) -+#define F_PBMRAW ( 2 + F_TIFF) -+#define F_PBMASCII ( 3 + F_TIFF) -+#define F_XBM ( 4 + F_TIFF) -+#define F_XPM ( 5 + F_TIFF) -+#define F_BMP ( 6 + F_TIFF) -+#define F_SUNRAS ( 7 + F_TIFF) -+#define F_IRIS ( 8 + F_TIFF) -+#define F_TARGA ( 9 + F_TIFF) -+#define F_FITS (10 + F_TIFF) -+#define F_PM (11 + F_TIFF) -+#define F_ZX (12 + F_TIFF) /* [JCE] */ -+#define F_WBMP (13 + F_TIFF) -+#define JP_EXT_F (F_WBMP) -+#define F_MAG (JP_EXT_F + F_MAGINC) -+#define F_PIC (JP_EXT_F + F_MAGINC + F_PICINC) -+#define F_MAKI (JP_EXT_F + F_MAGINC + F_PICINC + F_MAKINC) -+#define F_PI (JP_EXT_F + F_MAGINC + F_PICINC + F_MAKINC + F_PAIINC) -+#define F_PIC2 (JP_EXT_F + F_MAGINC + F_PICINC + F_MAKINC + F_PAIINC + F_PC2INC) -+#define F_MGCSFX (JP_EXT_F + F_MAGINC + F_PICINC + F_MAKINC + F_PAIINC + F_PC2INC + F_MGCSFXINC) -+#define JP_EXT_F_END (F_MGCSFX) -+#define F_DELIM1 (JP_EXT_F_END + 1) /* ----- */ -+#define F_FILELIST (JP_EXT_F_END + 2) -+#define F_MAXFMTS (JP_EXT_F_END + 3) /* 27, normally (with all formats) */ - - - - /* return values from ReadFileType() - * positive values are *definitely* readable formats (HAVE_*** is defined) - * negative values are random files that XV can't read, but display as -- * different icons in the visual browser -+ * different icons in the visual browser - */ - #define RFT_ERROR -1 /* couldn't open file, or whatever... */ - #define RFT_UNKNOWN 0 -@@ -505,6 +674,22 @@ - #define RFT_XPM 17 - #define RFT_XWD 18 - #define RFT_FITS 19 -+#define RFT_PNG 20 -+#define RFT_ZX 21 /* [JCE] */ -+#define RFT_WBMP 22 -+#define RFT_PCD 23 -+#define RFT_HIPS 24 -+#define RFT_BZIP2 25 -+#define RFT_JPC 26 -+#define RFT_JP2 27 -+#define RFT_G3 28 -+#define JP_EXT_RFT (RFT_G3) -+#define RFT_MAG (JP_EXT_RFT + 1) -+#define RFT_MAKI (JP_EXT_RFT + 2) -+#define RFT_PIC (JP_EXT_RFT + 3) -+#define RFT_PI (JP_EXT_RFT + 4) -+#define RFT_PIC2 (JP_EXT_RFT + 5) -+#define RFT_MGCSFX (JP_EXT_RFT + 6) - - /* definitions for page up/down, arrow up/down list control */ - #define LS_PAGEUP 0 -@@ -563,7 +748,8 @@ - #define RM_CBRICK 7 /* centered on a 'brick' bg */ - #define RM_ECENTER 8 /* symmetrical tiled */ - #define RM_ECMIRR 9 /* symmetrical mirror tiled */ --#define RM_MAX RM_ECMIRR -+#define RM_UPLEFT 10 /* just in upper left corner */ -+#define RM_MAX RM_UPLEFT - - - /* values of colorMapMode */ -@@ -613,10 +799,11 @@ - #define RMB_CBRICK 8 - #define RMB_ECENTER 9 - #define RMB_ECMIRR 10 --#define RMB_MAX 11 -+#define RMB_UPLEFT 11 -+#define RMB_MAX 12 - - --/* indicies into conv24MB */ -+/* indices into conv24MB */ - #define CONV24_8BIT 0 - #define CONV24_24BIT 1 - #define CONV24_SEP1 2 -@@ -631,7 +818,7 @@ - #define PIC8 CONV24_8BIT - #define PIC24 CONV24_24BIT - --/* indicies into algMB */ -+/* indices into algMB */ - #define ALG_NONE 0 - #define ALG_SEP1 1 /* separator */ - #define ALG_BLUR 2 -@@ -648,7 +835,7 @@ - #define ALG_MAX 13 - - --/* indicies into sizeMB */ -+/* indices into sizeMB */ - #define SZMB_NORM 0 - #define SZMB_MAXPIC 1 - #define SZMB_MAXPECT 2 -@@ -663,7 +850,7 @@ - #define SZMB_INTEXP 11 - #define SZMB_MAX 12 - --/* indicies into windowMB */ -+/* indices into windowMB */ - #define WMB_BROWSE 0 - #define WMB_COLEDIT 1 - #define WMB_INFO 2 -@@ -742,15 +929,15 @@ - - typedef unsigned char byte; - --typedef struct scrl { -+typedef struct scrl { - Window win; /* window ID */ - int x,y,w,h; /* window coords in parent */ - int len; /* length of major axis */ - int vert; /* true if vertical, else horizontal */ - int active; /* true if scroll bar can do anything*/ -- int min,max; /* min/max values 'pos' can take */ -- int val; /* 'value' of scrollbar */ -- int page; /* amt val change on pageup/pagedown */ -+ double min,max; /* min/max values 'pos' can take */ -+ double val; /* 'value' of scrollbar */ -+ double page; /* amt val change on pageup/pagedown */ - int tpos; /* thumb pos. (pixels from tmin) */ - int tmin,tmax; /* min/max thumb offsets (from 0,0) */ - int tsize; /* size of thumb (in pixels) */ -@@ -765,11 +952,12 @@ - typedef struct { Window win; /* window ID */ - int x,y,w,h; /* window coords in parent */ - int active; /* true if can do anything*/ -- int min,max; /* min/max values 'pos' can take */ -- int val; /* 'value' of dial */ -- int page; /* amt val change on pageup/pagedown */ -- char *title; /* title for this guage */ -- char *units; /* string appended to value */ -+ double min,max; /* min/max values 'pos' can take */ -+ double val; /* 'value' of dial */ -+ double inc; /* amt val change on up/down */ -+ double page; /* amt val change on pageup/pagedown */ -+ const char *title; /* title for this gauge */ -+ const char *units; /* string appended to value */ - u_long fg,bg,hi,lo; /* colors */ - int rad, cx, cy; /* internals */ - int bx[4], by[4]; /* more internals */ -@@ -785,7 +973,7 @@ - int active; /* if false, stipple gray */ - int toggle; /* if true, clicking toggles state */ - u_long fg,bg,hi,lo; /* colors */ -- char *str; /* string in button */ -+ const char *str; /* string in button */ - Pixmap pix; /* use pixmap instead of string */ - u_int pw,ph; /* size of pixmap */ - int colorpix; /* multi-color pixmap */ -@@ -797,21 +985,23 @@ - typedef struct rbutt { - Window win; /* parent window */ - int x,y; /* position in parent */ -- char *str; /* the message string */ -+ const char *str; /* the message string */ - int selected; /* selected or not */ - int active; /* selectable? */ - struct rbutt *next; /* pointer to next in group */ -- u_long fg,bg,hi,lo; /* colors */ -+ u_long fg,bg; /* colors */ -+ u_long hi,lo; /* colors */ - } RBUTT; - - - - typedef struct { Window win; /* parent window */ - int x,y; /* position in parent */ -- char *str; /* the message string */ -+ const char *str; /* the message string */ - int val; /* 1=selected, 0=not */ - int active; /* selectable? */ -- u_long fg,bg,hi,lo; /* colors */ -+ u_long fg,bg; /* colors */ -+ u_long hi,lo; /* colors */ - } CBUTT; - - -@@ -819,11 +1009,11 @@ - typedef struct { Window win; /* parent window */ - int x,y; /* position in parent */ - unsigned int w,h; -- char *title; /* title string in norm state */ -+ const char *title; /* title string in norm state */ - int active; /* selectable? */ -- char **list; /* list of strings in menu */ -+ const char **list; /* list of strings in menu */ - int nlist; /* # of strings in menu */ -- byte flags[MAXMBLEN]; /* checkmarks on items */ -+ byte flags[MAXMBLEN]; /* checkmarks on items */ - int hascheck; /* leave room for checkmark? */ - byte dim[MAXMBLEN]; /* dim individual choices */ - Pixmap pix; /* use pixmap instd of string */ -@@ -833,17 +1023,18 @@ - } MBUTT; - - --typedef struct { Window win; /* window */ -- int x,y; /* size of window */ -+typedef struct { Window win; /* window */ -+ int x,y; /* size of window */ - unsigned int w,h; -- u_long fg,bg,hi,lo; /* colors */ -- char **str; /* ptr to list of strings */ -- int nstr; /* number of strings */ -- int selected; /* number of 'selected' string */ -- int nlines; /* number of lines shown at once */ -- SCRL scrl; /* scrollbar that controls list */ -- int filetypes; /* true if filetype icons to be drawn*/ -- int dirsonly; /* if true, only dirs selectable */ -+ u_long fg,bg; /* colors */ -+ u_long hi,lo; /* colors */ -+ /* const? */ char **str; /* ptr to list of strings */ -+ int nstr; /* number of strings */ -+ int selected; /* number of 'selected' string */ -+ int nlines; /* number of lines shown at once */ -+ SCRL scrl; /* scrollbar that controls list */ -+ int filetypes; /* true if filetype icons to be drawn*/ -+ int dirsonly; /* if true, only dirs selectable */ - } LIST; - - -@@ -865,6 +1056,9 @@ - char shrtInfo[128]; /* short format info */ - char *comment; /* comment text */ - -+ byte *exifInfo; /* image info from digicam */ -+ int exifInfoSize; /* size of image info */ -+ - int numpages; /* # of page files, if >1 */ - char pagebname[64]; /* basename of page files */ - } PICINFO; -@@ -881,18 +1075,18 @@ - - #define GVMAX 8 - --typedef struct { Window win; /* window ID */ -- Window gwin; /* graph subwindow */ -- int spline; /* spline curve or lines? */ -- int entergamma; /* currently entering gamma value */ -- int gammamode; /* currently using gamma function */ -- double gamma; /* gamma value (if gammamode) */ -- int nhands; /* current # of handles */ -- XPoint hands[MAX_GHANDS]; /* positions of handles */ -- byte func[256]; /* output function of GRAF */ -- BUTT butts[N_GFB]; /* control buttons */ -- u_long fg,bg; /* colors */ -- char *str; /* title string */ -+typedef struct { Window win; /* window ID */ -+ Window gwin; /* graph subwindow */ -+ int spline; /* spline curve or lines? */ -+ int entergamma; /* currently entering gamma value */ -+ int gammamode; /* currently using gamma function */ -+ double gamma; /* gamma value (if gammamode) */ -+ int nhands; /* current # of handles */ -+ XPoint hands[MAX_GHANDS]; /* positions of handles */ -+ byte func[256]; /* output function of GRAF */ -+ BUTT butts[N_GFB]; /* control buttons */ -+ u_long fg,bg; /* colors */ -+ const char *str; /* title string */ - char gvstr[GVMAX+1]; /* gamma value input string */ - void (*drawobj)PARM((void)); - } GRAF; -@@ -932,18 +1126,23 @@ - /* X stuff */ - WHERE Display *theDisp; - WHERE int theScreen; --WHERE unsigned int ncells, dispWIDE, dispHIGH, dispDEEP; --WHERE unsigned int vrWIDE, vrHIGH, maxWIDE, maxHIGH; -+WHERE unsigned int ncells, dispDEEP; /* root color sizes */ -+WHERE unsigned int dispWIDE, dispHIGH; /* screen sizes */ -+WHERE unsigned int vrWIDE, vrHIGH, maxWIDE, maxHIGH; /* virtual root and max image sizes */ - WHERE Colormap theCmap, LocalCmap; --WHERE Window rootW, mainW, vrootW; -+WHERE Window spec_window, rootW, mainW, vrootW; - WHERE GC theGC; - WHERE u_long black, white, fg, bg, infofg, infobg; - WHERE u_long hicol, locol; - WHERE u_long blkRGB, whtRGB; - WHERE Font mfont, monofont; - WHERE XFontStruct *mfinfo, *monofinfo; -+#ifdef TV_L10N -+WHERE XFontSet monofset; -+WHERE XFontSetExtents *monofsetinfo; -+#endif - WHERE Visual *theVisual; --WHERE Cursor arrow, cross, tcross, zoom, inviso; -+WHERE Cursor arrow, cross, tcross, zoom, inviso, tlcorner; - WHERE Pixmap iconPix, iconmask; - WHERE Pixmap riconPix, riconmask; - WHERE int showzoomcursor; -@@ -959,6 +1158,12 @@ - WHERE char formatStr[80]; /* short-form 'file format' */ - WHERE int picType; /* CONV24_8BIT,CONV24_24BIT,etc.*/ - WHERE char *picComments; /* text comments on current pic */ -+WHERE byte *picExifInfo; /* image info from digicam */ -+WHERE int picExifInfoSize; /* size of image info */ -+ -+#ifdef TV_L10N -+WHERE int xlocale; /* true if Xlib supports locale */ -+#endif - - WHERE int numPages, curPage; /* for multi-page files */ - WHERE char pageBaseName[64]; /* basename for multi-page files */ -@@ -972,12 +1177,12 @@ - /* this is converted to 'theImage' */ - WHERE int eWIDE, eHIGH; /* size of epic */ - --WHERE byte *egampic; /* expanded, gammified cpic -+WHERE byte *egampic; /* expanded, gammified cpic - (only used in 24-bit mode) */ - - WHERE int p_offx, p_offy; /* offset of reparented windows */ - WHERE int ch_offx,ch_offy; /* ChngAttr ofst for reparented windows */ --WHERE int kludge_offx, /* WM kludges for SetWindowPos routine */ -+WHERE int kludge_offx, /* WM kludges for SetWindowPos routine */ - kludge_offy; - WHERE int winCtrPosKludge; /* kludge for popup positioning... */ - -@@ -993,6 +1198,26 @@ - WHERE unsigned long cols[256]; /* maps pic pixel values to X pixel vals */ - WHERE int fc2pcol[256]; /* maps freecols into pic pixel values */ - WHERE int numcols; /* # of desired colors in picture */ -+#ifdef MACBINARY -+WHERE char macb_file; /* True if this file type is MacBinary */ -+WHERE int handlemacb; /* True if we want to handle MacBinary */ -+#endif -+#if defined(HAVE_PIC) || defined(HAVE_PIC2) -+WHERE int nopicadjust; /* True if we don't want to adjust aspect */ -+#endif -+#ifdef HAVE_PIC2 -+WHERE int pic2split; /* True if we want to split multiblocks */ -+#endif -+#ifdef VS_ADJUST -+WHERE int vsadjust; /* True if we want to adjust aspect of icons */ -+#endif -+#ifdef HAVE_MGCSFX -+WHERE int mgcsfx; /* True if we want to force use MgcSfx */ -+WHERE int nomgcsfx; /* True if we don't want to use MgcSfx */ -+#endif -+ -+#define FSTRMAX 12 /* Number of function keys to support. */ -+WHERE char *fkeycmds[FSTRMAX]; /* command to run when F# is pressed */ - - /* Std Cmap stuff */ - WHERE byte stdr[256], stdg[256], stdb[256]; /* std 3/3/2 cmap */ -@@ -1025,7 +1250,7 @@ - - WHERE int ncols; /* max # of (different) colors to alloc */ - --WHERE char str[128]; /* dummy string used for error messages */ -+WHERE char dummystr[128]; /* dummy string used for error messages */ - WHERE char initdir[MAXPATHLEN]; /* cwd when xv was started */ - WHERE char searchdir[MAXPATHLEN]; /* '-dir' option */ - WHERE char fullfname[MAXPATHLEN]; /* full name of current file */ -@@ -1047,42 +1272,47 @@ - noFreeCols, /* don't free colors when loading new pic */ - autoquit, /* quit in '-root' or when click on win */ - xerrcode, /* errorcode of last X error */ -- grabDelay; /* # of seconds to sleep at start of Grab */ -+ grabDelay, /* # of seconds to sleep at start of Grab */ -+ startGrab; /* start immediate grab ? */ - - WHERE int state824; /* displays warning when going 8->24 */ - - WHERE float defaspect, /* default aspect ratio to use */ - normaspect; /* normal aspect ratio of this picture */ - --WHERE unsigned long rootbg, rootfg; /* fg/bg for root border */ --WHERE int waitsec; /* secs btwn pics. -1=wait for event */ --WHERE int waitloop; /* loop at end of slide show? */ --WHERE int automax; /* maximize pic on open */ --WHERE int rootMode; /* mode used for -root images */ -+WHERE u_long rootbg, rootfg; /* fg/bg for root border */ -+WHERE u_short imagebgR; -+WHERE u_short imagebgG; /* GRR 19980308: bg for transpar. images */ -+WHERE u_short imagebgB; -+WHERE int have_imagebg; -+WHERE double waitsec; /* secs btwn pics. -1.0=wait for event */ -+WHERE int waitloop; /* loop at end of slide show? */ -+WHERE int automax; /* maximize pic on open */ -+WHERE int rootMode; /* mode used for -root images */ - --WHERE int nostat; /* if true, don't stat() in LdCurDir */ -+WHERE int nostat; /* if true, don't stat() in LdCurDir */ - --WHERE int ctrlColor; /* whether or not to use colored butts */ -+WHERE int ctrlColor; /* whether or not to use colored butts */ - --WHERE char *def_str; /* used by rd_*() routines */ -+WHERE char *def_str; /* used by rd_*() routines */ - WHERE int def_int; --WHERE char *tmpdir; /* equal to "/tmp" or $TMPDIR env var */ --WHERE Pixmap gray25Tile, /* used for 3d effect on 1-bit disp's */ -+WHERE char *tmpdir; /* equal to "/tmp" or $TMPDIR env var */ -+WHERE Pixmap gray25Tile, /* used for 3d effect on 1-bit disp's */ - gray50Tile; --WHERE int autoDelete; /* delete cmd-line files on exit? */ -+WHERE int autoDelete; /* delete cmd-line files on exit? */ - - #define PRINTCMDLEN 256 --WHERE char printCmd[PRINTCMDLEN]; -+WHERE char printCmd[PRINTCMDLEN]; - - /* stuff used for 'info' box */ - WHERE Window infoW; --WHERE int infoUp; /* boolean: whether infobox is visible */ -+WHERE int infoUp; /* boolean: whether infobox is visible */ - WHERE int infoMode; - - - /* stuff used for 'ctrl' box */ - WHERE Window ctrlW; --WHERE int ctrlUp; /* boolean: whether ctrlbox is visible */ -+WHERE int ctrlUp; /* boolean: whether ctrlbox is visible */ - WHERE char *namelist[MAXNAMES]; /* list of file names from argv */ - WHERE char *origlist[MAXNAMES]; /* only names from argv (autoDelete)*/ - WHERE int orignumnames; -@@ -1121,25 +1351,31 @@ - - - /* stuff used for 'browse' box */ --WHERE int anyBrowUp; /* whether *any* browser visible */ -+WHERE int anyBrowUp; /* whether *any* browser visible */ -+WHERE int incrementalSearchTimeout; - - /* stuff used for textview windows */ --WHERE int anyTextUp; /* are any text windows visible? */ --WHERE int commentUp; /* comment window up? */ -+WHERE int anyTextUp; /* are any text windows visible? */ -+WHERE int commentUp; /* comment window up? */ - - /* stuff used for xvcut.c */ --WHERE int forceClipFile; /* don't use property clipboard */ --WHERE int clearR, clearG, clearB; /* clear color in 24-bit mode */ -+WHERE int forceClipFile; /* don't use property clipboard */ -+WHERE int clearR, clearG, clearB; /* clear color in 24-bit mode */ - - - /* stuff used for 'ps' box */ - WHERE Window psW; --WHERE int psUp; /* is psW mapped, or what? */ --WHERE CBUTT encapsCB, pscompCB; --WHERE char *gsDev, *gsGeomStr; -+WHERE int psUp; /* is psW mapped, or what? */ -+WHERE CBUTT encapsCB, pscompCB; -+WHERE const char *gsDev, *gsGeomStr; - WHERE int gsRes; - - -+/* stuff used for 'pcd' box */ -+WHERE Window pcdW; -+WHERE int pcdUp; /* is pcdW mapped, or what? */ -+ -+ - #ifdef HAVE_JPEG - /* stuff used for 'jpeg' box */ - WHERE Window jpegW; -@@ -1147,6 +1383,13 @@ - #endif - - -+#ifdef HAVE_JP2K -+/* stuff used for 'jp2k' box */ -+WHERE Window jp2kW; -+WHERE int jp2kUp; /* is jp2kW mapped, or what? */ -+#endif -+ -+ - #ifdef HAVE_TIFF - /* stuff used for 'tiff' box */ - WHERE Window tiffW; -@@ -1154,6 +1397,91 @@ - #endif - - -+#ifdef HAVE_PNG -+/* stuff used for 'png' box */ -+WHERE Window pngW; -+WHERE int pngUp; /* is pngW mapped, or what? */ -+#endif -+ -+ -+#ifdef ENABLE_FIXPIX_SMOOTH -+WHERE int do_fixpix_smooth; /* GRR 19980607: runtime FS dithering */ -+#endif -+ -+#ifdef HAVE_PIC2 -+/* stuff used for 'pic2' box */ -+WHERE Window pic2W; -+WHERE int pic2Up; /* is pic2W mapped, or what? */ -+#endif /* HAVE_PIC2 */ -+ -+#ifdef HAVE_PCD -+/* stuff used for 'pcd' box */ -+WHERE Window pcdW; -+WHERE int pcdUp; /* is pcdW mapped, or what? */ -+#endif /* HAVE_PCD */ -+ -+#ifdef HAVE_MGCSFX -+/* stuff used for 'mgcsfx' box */ -+WHERE Window mgcsfxW; -+WHERE Window mgcsfxNameW; -+WHERE int mgcsfxUp; /* is mgcsfxW mapped, or what? */ -+#endif /* HAVE_MGCSFX */ -+ -+#ifdef TV_L10N -+/* stuff used for TextViewer Japanization */ -+# define LOCALE_USASCII 0 -+# define LOCALE_EUCJ 1 -+# define LOCALE_JIS 2 -+# define LOCALE_MSCODE 3 -+ -+# ifndef LOCALE_DEFAULT -+# define LOCALE_DEFAULT 0 -+# endif /* !LOCALE_DEFAULT */ -+ -+# ifndef MAIN -+ extern char *localeList[]; -+# else -+# ifndef LOCALE_NAME_EUC -+# ifndef X_LOCALE -+# if defined(__FreeBSD__) -+ char *localeList[] = {"", "ja_JP.EUC", "none", "none"}; -+# elif defined(__linux__) -+ char *localeList[] = {"", "ja_JP.eucJP", "none", "ja_JP.SJIS"}; -+# elif defined(__sun) || defined(sun) -+ char *localeList[] = {"", "ja", "none", "none"}; -+# elif defined(__sgi) /* sgi, __sgi, __sgi__ (gcc) */ -+ char *localeList[] = {"", "ja_JP.EUC", "none", "none"}; -+# elif defined(sony_news) -+ char *localeList[] = {"", "ja_JP.EUC", "none", "ja_JP.SJIS"}; -+# elif defined(nec) -+ char *localeList[] = {"", "japan", "none", "none"}; -+# elif defined(__hpux) -+ char *localeList[] = {"", "japanese.euc", "none", "japanese"}; -+# elif defined(__osf__) -+ char *localeList[] = {"", "ja_JP.deckanji", "none", "ja_JP.SJIS"}; -+# elif defined(_AIX) -+ char *localeList[] = {"", "ja_JP", "none", "Ja_JP" }; -+# elif defined(__bsdi) -+ char *localeList[] = {"", "Japanese-EUC", "none", "none" }; -+# else -+ char *localeList[] = {"", "ja_JP.EUC", "ja_JP.JIS", "ja_JP.SJIS"}; -+# endif -+# else -+# if (XlibSpecificationRelease > 5) -+ char *localeList[] = {"", "ja_JP.eucJP", "ja_JP.JIS7", -+ "ja_JP.SJIS"}; -+# else -+ char *localeList[] = {"", "ja_JP.ujis", "ja_JP.jis7", -+ "ja_JP.mscode"}; -+# endif -+# endif /* X_LOCALE */ -+# else -+ char *localeList[] = {"", LOCALE_NAME_EUC, -+ LOCALE_NAME_JIS, LOCALE_NAME_MSCODE}; -+# endif /* LOCALE_NAME_EUC */ -+# endif /* MAIN */ -+#endif /* TV_L10N */ -+ - #undef WHERE - - -@@ -1161,172 +1489,115 @@ - /* function declarations for externally-callable functions */ - - /****************************** XV.C ****************************/ --int ReadFileType PARM((char *)); --int ReadPicFile PARM((char *, int, PICINFO *, int)); --int UncompressFile PARM((char *, char *)); --void KillPageFiles PARM((char *, int)); -- --void NewPicGetColors PARM((int, int)); --void FixAspect PARM((int, int *, int *)); --void ActivePrevNext PARM((void)); --int DeleteCmd PARM((void)); --void StickInCtrlList PARM((int)); --void AddFNameToCtrlList PARM((char *, char *)); --void ChangedCtrlList PARM((void)); --void HandleDispMode PARM((void)); --char *lower_str PARM((char *)); --int rd_int PARM((char *)); --int rd_str PARM((char *)); --int rd_flag PARM((char *)); --int rd_str_cl PARM((char *, char *, int)); -+int ReadFileType PARM((char *)); -+int ReadPicFile PARM((char *, int, PICINFO *, int)); -+int UncompressFile PARM((char *, char *, int)); -+void KillPageFiles PARM((char *, int)); -+#ifdef MACBINARY -+int RemoveMacbinary PARM((char *, char *)); -+#endif -+ -+void NewPicGetColors PARM((int, int)); -+void FixAspect PARM((int, int *, int *)); -+void ActivePrevNext PARM((void)); -+int DeleteCmd PARM((void)); -+void StickInCtrlList PARM((int)); -+void AddFNameToCtrlList PARM((const char *, const char *)); -+void ChangedCtrlList PARM((void)); -+void HandleDispMode PARM((void)); -+char *lower_str PARM((char *)); -+int rd_int PARM((const char *)); -+int rd_str PARM((const char *)); -+int rd_flag PARM((const char *)); - --/****************************** XVEVENT.C ****************************/ --int EventLoop PARM((void)); --int HandleEvent PARM((XEvent *, int *)); - --void SelectDispMB PARM((int)); --void Select24to8MB PARM((int)); --void SelectRootMB PARM((int)); --void SelectWindowMB PARM((int)); --void SelectSizeMB PARM((int)); -- --void DoPrint PARM((void)); --void NewCutBuffer PARM((char *)); --void DrawWindow PARM((int,int,int,int)); --void WResize PARM((int, int)); --void WRotate PARM((void)); --void WCrop PARM((int, int, int, int)); --void WUnCrop PARM((void)); --void GetWindowPos PARM((XWindowAttributes *)); --void SetWindowPos PARM((XWindowAttributes *)); --void SetEpicMode PARM((void)); --int xvErrorHandler PARM((Display *, XErrorEvent *)); -- --/****************************** XVROOT.C ****************************/ --void MakeRootPic PARM((void)); --void ClearRoot PARM((void)); --void SaveRootInfo PARM((void)); --void KillOldRootInfo PARM((void)); -+/*************************** XV24TO8.C **************************/ -+void Init24to8 PARM((void)); -+byte *Conv24to8 PARM((byte *, int, int, int, -+ byte *, byte *, byte *)); - --/*************************** XVMISC.C ***************************/ --void StoreDeleteWindowProp PARM((Window)); --Window CreateWindow PARM((char *, char *, char *, int, int, -- u_long, u_long, int)); --void DrawString PARM((Window, int, int, char *)); --void CenterString PARM((Window, int, int, char *)); --void ULineString PARM((Window, int, int, char *)); --int StringWidth PARM((char *)); --int CursorKey PARM((KeySym, int, int)); --void FakeButtonPress PARM((BUTT *)); --void FakeKeyPress PARM((Window, KeySym)); --void GenExpose PARM((Window, int, int, u_int, u_int)); --void DimRect PARM((Window, int, int, u_int, u_int, u_long)); -- --void Draw3dRect PARM((Window, int, int, u_int, u_int, int, int, -- u_long, u_long, u_long)); -- --void RemapKeyCheck PARM((KeySym, char *, int *)); --void xvDestroyImage PARM((XImage *)); --void SetCropString PARM((void)); --void SetSelectionString PARM((void)); --void Warning PARM((void)); --void FatalError PARM((char *)); --void Quit PARM((int)); --void LoadFishCursors PARM((void)); --void WaitCursor PARM((void)); --void SetCursors PARM((int)); --char *BaseName PARM((char *)); -- --void DrawTempGauge PARM((Window, int, int, int, int, double, -- u_long, u_long, u_long, u_long, char *)); --void ProgressMeter PARM((int, int, int, char *)); --void XVDeletedFile PARM((char *)); --void XVCreatedFile PARM((char *)); --void xvbcopy PARM((char *, char *, size_t)); --int xvbcmp PARM((char *, char *, size_t)); --void xvbzero PARM((char *, size_t)); --void xv_getwd PARM((char *, size_t)); --char *xv_strstr PARM((char *, char *)); --FILE *xv_fopen PARM((char *, char *)); --void Timer PARM((int)); -+byte *Conv8to24 PARM((byte *, int, int, byte *, byte *, byte *)); - --/*************************** XVCOLOR.C ***************************/ --void SortColormap PARM((byte *, int, int, int *, byte*,byte*,byte*, -- byte *, byte *)); --void ColorCompress8 PARM((byte *)); --void AllocColors PARM((void)); --Status xvAllocColor PARM((Display *, Colormap, XColor *)); --void xvFreeColors PARM((Display *, Colormap, u_long *, int, u_long)); --void FreeColors PARM((void)); --void ApplyEditColor PARM((int)); --int MakeStdCmaps PARM((void)); --void MakeBrowCmap PARM((void)); --void ChangeCmapMode PARM((int, int, int)); - --/*************************** XVIMAGE.C ***************************/ --void Resize PARM((int, int)); --void GenerateCpic PARM((void)); --void GenerateEpic PARM((int, int)); --void DoZoom PARM((int, int, u_int)); --void Crop PARM((void)); --void UnCrop PARM((void)); --void AutoCrop PARM((void)); --int DoAutoCrop PARM((void)); --void DoCrop PARM((int, int, int, int)); --void Rotate PARM((int)); --void DoRotate PARM((int)); --void RotatePic PARM((byte *, int, int *, int *, int)); --void Flip PARM((int)); --void FlipPic PARM((byte *, int, int, int)); --void InstallNewPic PARM((void)); --void DrawEpic PARM((void)); --void KillOldPics PARM((void)); -- --byte *FSDither PARM((byte *, int, int, int, -- byte *, byte *, byte *, int, int)); -- --void CreateXImage PARM((void)); --XImage *Pic8ToXImage PARM((byte *, u_int, u_int, u_long *, -- byte *, byte *, byte *)); -- --XImage *Pic24ToXImage PARM((byte *, u_int, u_int)); -- --void Set824Menus PARM((int)); --void Change824Mode PARM((int)); --void FreeEpic PARM((void)); --void InvertPic24 PARM((byte *, int, int)); -+/*************************** XVALG.C ***************************/ -+void AlgInit PARM((void)); -+void DoAlg PARM((int)); - --byte *XVGetSubImage PARM((byte *, int, int,int, int,int,int,int)); - --int DoPad PARM((int, char *, int, int, int, int)); --int LoadPad PARM((PICINFO *, char *)); -+/*************************** XVBROWSE.C ************************/ -+void CreateBrowse PARM((const char *, const char *, const char *, -+ const char *, const char *)); -+void OpenBrowse PARM((void)); -+void HideBrowseWindows PARM((void)); -+void UnHideBrowseWindows PARM((void)); -+void SetBrowseCursor PARM((Cursor)); -+void KillBrowseWindows PARM((void)); -+int BrowseCheckEvent PARM((XEvent *, int *, int *)); -+int BrowseDelWin PARM((Window)); -+void SetBrowStr PARM((const char *)); -+void RegenBrowseIcons PARM((void)); -+void BRDeletedFile PARM((char *)); -+void BRCreatedFile PARM((char *)); - --/*************************** XVALG.C ***************************/ --void AlgInit PARM((void)); --void DoAlg PARM((int)); - --/*************************** XVSMOOTH.C ***************************/ --byte *SmoothResize PARM((byte *, int, int, int, int, byte *, byte *, -- byte *, byte *, byte *, byte *, int)); -+/**************************** XVBUTT.C ***************************/ -+void BTCreate PARM((BUTT *, Window, int, int, u_int, u_int, -+ const char *, u_long, u_long, u_long, u_long)); - --byte *Smooth24 PARM((byte *, int, int, int, int, int, -- byte *, byte *, byte *)); -+void BTSetActive PARM((BUTT *, int)); -+void BTRedraw PARM((BUTT *)); -+int BTTrack PARM((BUTT *)); - --byte *DoColorDither PARM((byte *, byte *, int, int, byte *, byte *, -- byte *, byte *, byte *, byte *, int)); - --byte *Do332ColorDither PARM((byte *, byte *, int, int, byte *, byte *, -- byte *, byte *, byte *, byte *, int)); -+RBUTT *RBCreate PARM((RBUTT *, Window, int, int, const char *, -+ u_long, u_long, u_long, u_long)); - --/*************************** XV24TO8.C **************************/ --void Init24to8 PARM((void)); --byte *Conv24to8 PARM((byte *, int, int, int, -- byte *, byte *, byte *)); -+void RBRedraw PARM((RBUTT *, int)); -+void RBSelect PARM((RBUTT *, int)); -+int RBWhich PARM((RBUTT *)); -+int RBCount PARM((RBUTT *)); -+void RBSetActive PARM((RBUTT *, int, int)); -+int RBClick PARM((RBUTT *, int, int)); -+int RBTrack PARM((RBUTT *, int)); -+ -+ -+void CBCreate PARM((CBUTT *, Window, int, int, const char *, -+ u_long, u_long, u_long, u_long)); -+ -+void CBRedraw PARM((CBUTT *)); -+void CBSetActive PARM((CBUTT *, int)); -+int CBClick PARM((CBUTT *,int,int)); -+int CBTrack PARM((CBUTT *)); -+ -+ -+void MBCreate PARM((MBUTT *, Window, int, int, u_int, u_int, -+ const char *, const char * const *, int, -+ u_long, u_long, u_long, u_long)); -+ -+void MBRedraw PARM((MBUTT *)); -+void MBSetActive PARM((MBUTT *, int)); -+int MBWhich PARM((MBUTT *)); -+void MBSelect PARM((MBUTT *, int)); -+int MBClick PARM((MBUTT *, int, int)); -+int MBTrack PARM((MBUTT *)); -+ -+ -+/*************************** XVCOLOR.C ***************************/ -+void SortColormap PARM((byte *, int, int, int *, byte*,byte*,byte*, -+ byte *, byte *)); -+void ColorCompress8 PARM((byte *)); -+void AllocColors PARM((void)); -+Status xvAllocColor PARM((Display *, Colormap, XColor *)); -+void xvFreeColors PARM((Display *, Colormap, u_long *, int, u_long)); -+void FreeColors PARM((void)); -+void ApplyEditColor PARM((int)); -+int MakeStdCmaps PARM((void)); -+void MakeBrowCmap PARM((void)); -+void ChangeCmapMode PARM((int, int, int)); - --byte *Conv8to24 PARM((byte *, int, int, byte *, byte *, byte *)); - - /**************************** XVCTRL.C **************************/ --void CreateCtrl PARM((char *)); -+void CreateCtrl PARM((const char *)); - void SetButtPix PARM((BUTT *, Pixmap, int, int)); - Pixmap MakePix1 PARM((Window, byte *, int, int)); - -@@ -1337,7 +1608,7 @@ - void DrawCtrlStr PARM((void)); - void ScrollToCurrent PARM((LIST *)); - --void LSCreate PARM((LIST *, Window, int, int, int, int, int, -+void LSCreate PARM((LIST *, Window, int, int, int, int, int, - char **, int, u_long, u_long, u_long, u_long, - void (*)(int, SCRL *), int, int)); - -@@ -1346,20 +1617,56 @@ - void LSChangeData PARM((LIST *, char **, int)); - void LSNewData PARM((LIST *, char **, int)); - void LSKey PARM((LIST *, int)); -+int rd_str_cl PARM((const char *, const char *, int)); - - --/*************************** XVINFO.C ***************************/ --void CreateInfo PARM((char *)); --void InfoBox PARM((int)); --void RedrawInfo PARM((int, int, int, int)); --void SetInfoMode PARM((int)); --char *GetISTR PARM((int)); -+/**************************** XVCUT.C ***************************/ -+int CutAllowed PARM((void)); -+int PasteAllowed PARM((void)); -+void DoImgCopy PARM((void)); -+void DoImgCut PARM((void)); -+void DoImgClear PARM((void)); -+void DoImgPaste PARM((void)); - --#if defined(__STDC__) && !defined(NOSTDHDRS) --void SetISTR(int, ...); --#else --void SetISTR(); --#endif -+void SaveToClip PARM((byte *)); -+void InitSelection PARM((void)); -+int HaveSelection PARM((void)); -+int GetSelType PARM((void)); -+void GetSelRCoords PARM((int *, int *, int *, int *)); -+void EnableSelection PARM((int)); -+void DrawSelection PARM((int)); -+int DoSelection PARM((XButtonEvent *)); -+void MoveGrowSelection PARM((int, int, int, int)); -+void BlinkSelection PARM((int)); -+void FlashSelection PARM((int)); -+ -+void CropRect2Rect PARM((int*,int*,int*,int*, int,int,int,int)); -+void CoordE2C PARM((int, int, int *, int *)); -+void CoordC2E PARM((int, int, int *, int *)); -+void CoordP2C PARM((int, int, int *, int *)); -+void CoordC2P PARM((int, int, int *, int *)); -+void CoordP2E PARM((int, int, int *, int *)); -+void CoordE2P PARM((int, int, int *, int *)); -+ -+ -+/*************************** XVDFLT.C ***************************/ -+void LoadDfltPic PARM((PICINFO *)); -+void xbm2pic PARM((byte *, int, int, byte *, int, int, int, int, -+ int)); -+void DrawStr2Pic PARM((char *, int, int, byte *, int, int, int)); -+ -+ -+/*************************** XVDIAL.C ***************************/ -+void DCreate PARM((DIAL *, Window, int, int, int, int, -+ double, double, double, double, double, -+ u_long, u_long, u_long, u_long, -+ const char *, const char *)); -+ -+void DSetRange PARM((DIAL *, double,double,double,double,double)); -+void DSetVal PARM((DIAL *, double)); -+void DSetActive PARM((DIAL *, int)); -+void DRedraw PARM((DIAL *)); -+int DTrack PARM((DIAL *, int, int)); - - - /**************************** XVDIR.C ***************************/ -@@ -1376,15 +1683,15 @@ - void TrackDDirW PARM((int,int)); - int DirKey PARM((int)); - int DoSave PARM((void)); --void SetDirFName PARM((char *)); -+void SetDirFName PARM((const char *)); - char *GetDirFName PARM((void)); - char *GetDirFullName PARM((void)); - void SetDirSaveMode PARM((int, int)); - int Globify PARM((char *)); --FILE *OpenOutFile PARM((char *)); --int CloseOutFile PARM((FILE *, char *, int)); -+FILE *OpenOutFile PARM((const char *)); -+int CloseOutFile PARM((FILE *, const char *, int)); - --byte *GenSavePic PARM((int*, int*,int*, int*, int*, -+byte *GenSavePic PARM((int*, int*,int*, int*, int*, - byte**, byte**, byte**)); - void GetSaveSize PARM((int *, int *)); - -@@ -1392,47 +1699,30 @@ - int CheckPoll PARM((int)); - void DIRDeletedFile PARM((char *)); - void DIRCreatedFile PARM((char *)); -+FILE *pic2_OpenOutFile PARM((char *, int *)); -+void pic2_KillNullFile PARM((FILE *)); -+int OpenOutFileDesc PARM((char *)); - - --/*************************** XVBROWSE.C ************************/ --void CreateBrowse PARM((char *, char *, char *, char *, char *)); --void OpenBrowse PARM((void)); --void HideBrowseWindows PARM((void)); --void UnHideBrowseWindows PARM((void)); --void SetBrowseCursor PARM((Cursor)); --void KillBrowseWindows PARM((void)); --int BrowseCheckEvent PARM((XEvent *, int *, int *)); --int BrowseDelWin PARM((Window)); --void SetBrowStr PARM((char *)); --void RegenBrowseIcons PARM((void)); --void BRDeletedFile PARM((char *)); --void BRCreatedFile PARM((char *)); -- -- --/*************************** XVTEXT.C ************************/ --void CreateTextWins PARM((char *, char *)); --void TextView PARM((char *)); --void OpenTextView PARM((char *, int, char *, int)); -- --void OpenCommentText PARM((void)); --void CloseCommentText PARM((void)); --void ChangeCommentText PARM((void)); -- --void ShowLicense PARM((void)); --void ShowKeyHelp PARM((void)); -- --void HideTextWindows PARM((void)); --void UnHideTextWindows PARM((void)); --void RaiseTextWindows PARM((void)); --void SetTextCursor PARM((Cursor)); --void KillTextWindows PARM((void)); --int TextCheckEvent PARM((XEvent *, int *, int *)); --int TextDelWin PARM((Window)); -+/****************************** XVEVENT.C ****************************/ -+int EventLoop PARM((void)); -+int HandleEvent PARM((XEvent *, int *)); - -+void NewCutBuffer PARM((char *)); -+void DrawWindow PARM((int,int,int,int)); -+void WResize PARM((int, int)); -+void WRotate PARM((void)); -+void WCrop PARM((int, int, int, int)); -+void WUnCrop PARM((void)); -+void GetWindowPos PARM((XWindowAttributes *)); -+void SetWindowPos PARM((XWindowAttributes *)); -+void SetEpicMode PARM((void)); -+int xvErrorHandler PARM((Display *, XErrorEvent *)); - - - /**************************** XVGAM.C **************************/ --void CreateGam PARM((char *, double, double, double, double, int)); -+void CreateGam PARM((const char *, double, double, double, double, -+ int)); - int GamCheckEvent PARM((XEvent *)); - void GamBox PARM((int)); - void NewCMap PARM((void)); -@@ -1450,173 +1740,344 @@ - byte *GammifyPic24 PARM((byte *, int, int)); - void GamSetAutoApply PARM((int)); - --/*************************** XVSCRL.C ***************************/ --void SCCreate PARM((SCRL *, Window, int, int, int, int, -- int, int, int, int, u_long, u_long, -- u_long, u_long, void (*)(int, SCRL *))); - --void SCChange PARM((SCRL *, int, int, int, int, int, -- int, int, int)); -+/**************************** XVGRAB.C ***************************/ -+int Grab PARM((void)); -+int LoadGrab PARM((PICINFO *)); - --void SCSetRange PARM((SCRL *, int, int, int, int)); --int SCSetVal PARM((SCRL *, int)); --void SCRedraw PARM((SCRL *)); --void SCTrack PARM((SCRL *, int, int)); - -+/**************************** XVGRAF.C ***************************/ -+void CreateGraf PARM((GRAF *, Window, int, int, -+ u_long, u_long, const char *)); - --/*************************** XVDIAL.C ***************************/ --void DCreate PARM((DIAL *, Window, int, int, int, int, int, -- int, int, int, u_long, u_long, u_long, -- u_long, char *, char *)); -+void InitGraf PARM((GRAF *)); -+void RedrawGraf PARM((GRAF *, int)); -+int ClickGraf PARM((GRAF *, Window, int, int)); -+int GrafKey PARM((GRAF *, char *)); -+void GenerateGrafFunc PARM((GRAF *, int)); -+void Graf2Str PARM((GRAF_STATE *, char *)); -+int Str2Graf PARM((GRAF_STATE *, const char *)); -+void GetGrafState PARM((GRAF *, GRAF_STATE *)); -+int SetGrafState PARM((GRAF *, GRAF_STATE *)); -+void InitSpline PARM((int *, int *, int, double *)); -+double EvalSpline PARM((int *, int *, double *, int, double)); - --void DSetRange PARM((DIAL *, int, int, int, int)); --void DSetVal PARM((DIAL *, int)); --void DSetActive PARM((DIAL *, int)); --void DRedraw PARM((DIAL *)); --int DTrack PARM((DIAL *, int, int)); - -+/*************************** XVIMAGE.C ***************************/ -+void Resize PARM((int, int)); -+void GenerateCpic PARM((void)); -+void GenerateEpic PARM((int, int)); -+void DoZoom PARM((int, int, u_int)); -+void Crop PARM((void)); -+void UnCrop PARM((void)); -+void AutoCrop PARM((void)); -+int DoAutoCrop PARM((void)); -+void DoCrop PARM((int, int, int, int)); -+void Rotate PARM((int)); -+void DoRotate PARM((int)); -+void RotatePic PARM((byte *, int, int *, int *, int)); -+void Flip PARM((int)); -+void FlipPic PARM((byte *, int, int, int)); -+void InstallNewPic PARM((void)); -+void DrawEpic PARM((void)); -+void KillOldPics PARM((void)); - --/**************************** XVBUTT.C ***************************/ --void BTCreate PARM((BUTT *, Window, int, int, u_int, u_int, -- char *, u_long, u_long, u_long, u_long)); -+byte *FSDither PARM((byte *, int, int, int, -+ byte *, byte *, byte *, int, int)); - --void BTSetActive PARM((BUTT *, int)); --void BTRedraw PARM((BUTT *)); --int BTTrack PARM((BUTT *)); -+void CreateXImage PARM((void)); -+XImage *Pic8ToXImage PARM((byte *, u_int, u_int, u_long *, -+ byte *, byte *, byte *)); - -+XImage *Pic24ToXImage PARM((byte *, u_int, u_int)); - --RBUTT *RBCreate PARM((RBUTT *, Window, int, int, char *, -- u_long, u_long, u_long, u_long)); -+void Set824Menus PARM((int)); -+void Change824Mode PARM((int)); -+void FreeEpic PARM((void)); -+void InvertPic24 PARM((byte *, int, int)); - --void RBRedraw PARM((RBUTT *, int)); --void RBSelect PARM((RBUTT *, int)); --int RBWhich PARM((RBUTT *)); --int RBCount PARM((RBUTT *)); --void RBSetActive PARM((RBUTT *, int, int)); --int RBClick PARM((RBUTT *, int, int)); --int RBTrack PARM((RBUTT *, int)); -+byte *XVGetSubImage PARM((byte *, int, int,int, int,int,int,int)); - -+int DoPad PARM((int, char *, int, int, int, int)); -+int LoadPad PARM((PICINFO *, char *)); - --void CBCreate PARM((CBUTT *, Window, int, int, char *, -- u_long, u_long, u_long, u_long)); - --void CBRedraw PARM((CBUTT *)); --void CBSetActive PARM((CBUTT *, int)); --int CBClick PARM((CBUTT *,int,int)); --int CBTrack PARM((CBUTT *)); -+/*************************** XVINFO.C ***************************/ -+void CreateInfo PARM((const char *)); -+void InfoBox PARM((int)); -+void RedrawInfo PARM((int, int, int, int)); -+void SetInfoMode PARM((int)); -+char *GetISTR PARM((int)); - -+#if defined(__STDC__) && !defined(NOSTDHDRS) -+void SetISTR(int, ...); -+#else -+void SetISTR(); -+#endif - --void MBCreate PARM((MBUTT *, Window, int, int, u_int, u_int, -- char *, -- char **, int,u_long,u_long, u_long, u_long)); - --void MBRedraw PARM((MBUTT *)); --void MBSetActive PARM((MBUTT *, int)); --int MBWhich PARM((MBUTT *)); --void MBSelect PARM((MBUTT *, int)); --int MBClick PARM((MBUTT *, int, int)); --int MBTrack PARM((MBUTT *)); -+/*************************** XVMISC.C ***************************/ -+void StoreDeleteWindowProp PARM((Window)); -+Window CreateWindow PARM((const char *, const char *, const char *, -+ int, int, u_long, u_long, int)); -+void DrawString PARM((Window, int, int, const char *)); -+void CenterString PARM((Window, int, int, const char *)); -+void ULineString PARM((Window, int, int, const char *)); -+int StringWidth PARM((const char *)); -+int CursorKey PARM((KeySym, int, int)); -+void FakeButtonPress PARM((BUTT *)); -+void FakeKeyPress PARM((Window, KeySym)); -+void GenExpose PARM((Window, int, int, u_int, u_int)); -+void DimRect PARM((Window, int, int, u_int, u_int, u_long)); -+ -+void Draw3dRect PARM((Window, int, int, u_int, u_int, int, int, -+ u_long, u_long, u_long)); -+ -+void RemapKeyCheck PARM((KeySym, char *, int *)); -+void xvDestroyImage PARM((XImage *)); -+void SetCropString PARM((void)); -+void SetSelectionString PARM((void)); -+void Warning PARM((void)); -+void FatalError PARM((const char *)); -+void Quit PARM((int)); -+void LoadFishCursors PARM((void)); -+void WaitCursor PARM((void)); -+void SetCursors PARM((int)); -+const char *BaseName PARM((const char *)); -+ -+void DrawTempGauge PARM((Window, int, int, int, int, double, u_long, -+ u_long, u_long, u_long, const char *)); -+void ProgressMeter PARM((int, int, int, const char *)); -+void XVDeletedFile PARM((char *)); -+void XVCreatedFile PARM((char *)); -+void xvbcopy PARM((const char *, char *, size_t)); -+int xvbcmp PARM((const char *, const char *, size_t)); -+void xvbzero PARM((char *, size_t)); -+void xv_getwd PARM((char *, size_t)); -+char *xv_strstr PARM((const char *, const char *)); -+FILE *xv_fopen PARM((const char *, const char *)); -+void xv_mktemp PARM((char *, const char *)); -+void Timer PARM((int)); - - --/**************************** XVGRAF.C ***************************/ --void CreateGraf PARM((GRAF *, Window, int, int, -- u_long, u_long, char *)); -+/*************************** XVPOPUP.C ***************************/ -+void CenterMapWindow PARM((Window, int, int, int, int)); -+int PopUp PARM((const char *, const char **, int)); -+void ErrPopUp PARM((const char *, const char *)); -+int GetStrPopUp PARM((const char *, const char **, int, char *, int, -+ const char *, int)); -+int GrabPopUp PARM((int *, int *)); -+int PadPopUp PARM((int *, char **, int *, int *, int *, int *)); -+void ClosePopUp PARM((void)); -+void OpenAlert PARM((const char *)); -+void CloseAlert PARM((void)); -+int PUCheckEvent PARM((XEvent *)); - --void InitGraf PARM((GRAF *)); --void RedrawGraf PARM((GRAF *, int)); --int ClickGraf PARM((GRAF *, Window, int, int)); --int GrafKey PARM((GRAF *, char *)); --void GenerateGrafFunc PARM((GRAF *, int)); --void Graf2Str PARM((GRAF_STATE *, char *)); --int Str2Graf PARM((GRAF_STATE *, char *)); --void GetGrafState PARM((GRAF *, GRAF_STATE *)); --int SetGrafState PARM((GRAF *, GRAF_STATE *)); --void InitSpline PARM((int *, int *, int, double *)); --double EvalSpline PARM((int *, int *, double *, int, double)); - -+/**************************** XVROOT.C ****************************/ -+void MakeRootPic PARM((void)); -+void ClearRoot PARM((void)); -+void SaveRootInfo PARM((void)); -+void KillOldRootInfo PARM((void)); - --/**************************** XVGIF.C ***************************/ --int LoadGIF PARM((char *, PICINFO *)); - --/*************************** XVGIFWR.C **************************/ --int WriteGIF PARM((FILE *, byte *, int, int, int, -- byte *, byte *, byte *, int, int, char *)); -+/*************************** XVSCRL.C ***************************/ -+void SCCreate PARM((SCRL *, Window, int, int, int, int, -+ int, int, int, int, u_long, u_long, -+ u_long, u_long, void (*)(int, SCRL *))); - --/**************************** XVPM.C ****************************/ --int LoadPM PARM((char *, PICINFO *)); --int WritePM PARM((FILE *, byte *, int, int, int, byte *, -- byte *, byte *, int, int, char *)); -+void SCChange PARM((SCRL *, int, int, int, int, int, -+ int, int, int)); - --/**************************** XVPBM.C ***************************/ --int LoadPBM PARM((char *, PICINFO *)); --int WritePBM PARM((FILE *, byte *, int, int, int, byte *, -- byte *, byte *, int, int, int, char *)); -+void SCSetRange PARM((SCRL *, int, int, int, int)); -+int SCSetVal PARM((SCRL *, int)); -+void SCRedraw PARM((SCRL *)); -+void SCTrack PARM((SCRL *, int, int)); - --/**************************** XVXBM.C ***************************/ --int LoadXBM PARM((char *, PICINFO *)); --int WriteXBM PARM((FILE *, byte *, int, int, byte *, byte *, -- byte *, char *)); - --/**************************** XVSUNRAS.C ***************************/ --int LoadSunRas PARM((char *, PICINFO *)); --int WriteSunRas PARM((FILE *, byte *, int, int, int, byte *, -- byte *, byte*, int, int, int)); -+/*************************** XVSMOOTH.C ***************************/ -+byte *SmoothResize PARM((byte *, int, int, int, int, byte *, byte *, -+ byte *, byte *, byte *, byte *, int)); - --/**************************** XVBMP.C ***************************/ --int LoadBMP PARM((char *, PICINFO *)); --int WriteBMP PARM((FILE *, byte *, int, int, int, byte *, -- byte *, byte *, int, int)); -+byte *Smooth24 PARM((byte *, int, int, int, int, int, -+ byte *, byte *, byte *)); - --/**************************** XVRLE.C ***************************/ --int LoadRLE PARM((char *, PICINFO *)); -+byte *DoColorDither PARM((byte *, byte *, int, int, byte *, byte *, -+ byte *, byte *, byte *, byte *, int)); - --/**************************** XVIRIS.C ***************************/ --int LoadIRIS PARM((char *, PICINFO *)); --int WriteIRIS PARM((FILE *, byte *, int, int, int, byte *, -- byte *, byte *, int, int)); -+byte *Do332ColorDither PARM((byte *, byte *, int, int, byte *, byte *, -+ byte *, byte *, byte *, byte *, int)); - --/**************************** XVPCX.C ***************************/ --int LoadPCX PARM((char *, PICINFO *)); - --/**************************** XVIFF.C ***************************/ --int LoadIFF PARM((char *, PICINFO *)); -+/*************************** XVTEXT.C ************************/ -+void CreateTextWins PARM((const char *, const char *)); -+int TextView PARM((const char *)); -+void OpenTextView PARM((const char *, int, const char *, int)); - --/**************************** XVTARGA.C ***************************/ --int LoadTarga PARM((char *, PICINFO *)); --int WriteTarga PARM((FILE *, byte *, int, int, int, byte *, -- byte *, byte *, int, int)); -+void OpenCommentText PARM((void)); -+void CloseCommentText PARM((void)); -+void ChangeCommentText PARM((void)); - --/**************************** XVXPM.C ***************************/ --int LoadXPM PARM((char *, PICINFO *)); --int WriteXPM PARM((FILE *, byte *, int, int, int, byte *, -- byte *, byte *, int, int, char *, char *)); -+void ShowLicense PARM((void)); -+void ShowKeyHelp PARM((void)); - --/**************************** XVXWD.C ***************************/ --int LoadXWD PARM((char *, PICINFO *)); -+void HideTextWindows PARM((void)); -+void UnHideTextWindows PARM((void)); -+void RaiseTextWindows PARM((void)); -+void SetTextCursor PARM((Cursor)); -+void KillTextWindows PARM((void)); -+int TextCheckEvent PARM((XEvent *, int *, int *)); -+int TextDelWin PARM((Window)); -+ -+int CharsetCheckEvent PARM((XEvent *)); -+int CharsetDelWin PARM((Window)); -+ -+ -+/**************************** XVVD.C ****************************/ -+void Vdinit PARM((void)); -+void Vdsettle PARM((void)); -+int Chvdir PARM((char *)); -+void Dirtovd PARM((char *)); -+void Vdtodir PARM((char *)); -+void Dirtosubst PARM((char *)); -+int Mkvdir PARM((char *)); -+void Mkvdir_force PARM((char *)); -+int Rmvdir PARM((char *)); -+int Movevdir PARM((char *, char *)); -+int Isarchive PARM((char *)); -+int Isvdir PARM((char *)); -+void vd_HUPhandler PARM((void)); -+void vd_handler PARM((int)); -+int vd_Xhandler PARM((Display *, XErrorEvent *)); -+int vd_XIOhandler PARM((Display *)); -+void vd_handler_setup PARM((void)); -+ -+ -+ -+/*=======================================================================*/ -+/* IMAGE FORMATS */ -+/*=======================================================================*/ -+ -+/**************************** XVBMP.C ***************************/ -+int LoadBMP PARM((char *, PICINFO *)); -+int WriteBMP PARM((FILE *, byte *, int, int, int, byte *, -+ byte *, byte *, int, int)); - - /**************************** XVFITS.C ***************************/ - int LoadFITS PARM((char *, PICINFO *, int)); - int WriteFITS PARM((FILE *, byte *, int, int, int, byte *, - byte *, byte *, int, int, char *)); - -+/**************************** XVGIF.C ***************************/ -+int LoadGIF PARM((char *, PICINFO *)); -+ -+/**************************** XVGIFWR.C **************************/ -+int WriteGIF PARM((FILE *, byte *, int, int, int, -+ byte *, byte *, byte *, int, int, char *)); -+ -+/**************************** XVHIPS.C ***************************/ -+int LoadHIPS PARM((char *, PICINFO *)); -+ -+/**************************** XVIFF.C ***************************/ -+int LoadIFF PARM((char *, PICINFO *)); -+ -+/**************************** XVIRIS.C ***************************/ -+int LoadIRIS PARM((char *, PICINFO *)); -+int WriteIRIS PARM((FILE *, byte *, int, int, int, byte *, -+ byte *, byte *, int, int)); -+ -+/**************************** XVJP2K.C ***************************/ -+int LoadJPC PARM((char *, register PICINFO *, int)); -+int LoadJP2 PARM((char *, register PICINFO *, int)); -+void CreateJP2KW PARM((void)); -+void JP2KSaveParams PARM((int, char *, int)); -+void JP2KDialog PARM((int vis)); -+int JP2KCheckEvent PARM((register XEvent *)); -+void VersionInfoJP2K PARM((void)); /* GRR 20070304 */ -+ - /**************************** XVJPEG.C ***************************/ - int LoadJFIF PARM((char *, PICINFO *, int)); - void CreateJPEGW PARM((void)); - void JPEGDialog PARM((int)); - int JPEGCheckEvent PARM((XEvent *)); - void JPEGSaveParams PARM((char *, int)); -+void VersionInfoJPEG PARM((void)); /* GRR 19980605 */ - --/**************************** XVTIFF.C ***************************/ --int LoadTIFF PARM((char *, PICINFO *)); --void CreateTIFFW PARM((void)); --void TIFFDialog PARM((int)); --int TIFFCheckEvent PARM((XEvent *)); --void TIFFSaveParams PARM((char *, int)); -+/**************************** XVMAG.C ***************************/ -+int LoadMAG PARM((char *, PICINFO *)); -+int WriteMAG PARM((FILE *, byte *, int, int, int, -+ byte *, byte *, byte *, int, int, char *)); -+ -+/**************************** XVMAKI.C ***************************/ -+int LoadMAKI PARM((char *, PICINFO *)); -+int WriteMAKI PARM((FILE *, byte *, int, int, int, -+ byte *, byte *, byte *, int, int)); -+ -+/**************************** XVMGCSFX.C ***************************/ -+int is_mgcsfx PARM((char *, unsigned char *, int)); -+char *mgcsfx_auto_input_com PARM((char *)); -+int LoadMGCSFX PARM((char *, PICINFO *)); -+void CreateMGCSFXW PARM((void)); -+void MGCSFXDialog PARM((int)); -+int MGCSFXCheckEvent PARM((XEvent *)); -+int MGCSFXSaveParams PARM((char *, int)); -+ -+int getInputCom PARM((void)); -+int getOutputCom PARM((void)); -+ -+/**************************** XVPBM.C ***************************/ -+#ifdef HAVE_MGCSFX -+int LoadPBM PARM((char *, PICINFO *, int)); -+#else -+int LoadPBM PARM((char *, PICINFO *)); -+#endif -+int WritePBM PARM((FILE *, byte *, int, int, int, byte *, -+ byte *, byte *, int, int, int, char *)); -+ -+/**************************** XVPCD.C ***************************/ -+int LoadPCD PARM((char *, PICINFO *, int)); -+void CreatePCDW PARM((void)); -+void PCDDialog PARM((int)); -+int PCDCheckEvent PARM((XEvent *)); -+void PCDSetParamOptions PARM((const char *)); -+ -+/**************************** XVPCX.C ***************************/ -+int LoadPCX PARM((char *, PICINFO *)); - - /**************************** XVPDS.C ***************************/ - int LoadPDS PARM((char *, PICINFO *)); - --/*************************** XVPS.C ***************************/ -+/**************************** XVPI.C ***************************/ -+int LoadPi PARM((char *, PICINFO *)); -+int WritePi PARM((FILE *, byte *, int, int, int, -+ byte *, byte *, byte *, int, int, char *)); -+ -+/**************************** XVPIC.C ***************************/ -+int LoadPIC PARM((char *, PICINFO *)); -+int WritePIC PARM((FILE *, byte *, int, int, int, -+ byte *, byte *, byte *, int, int, char *)); -+ -+/**************************** XVPIC2.C ***************************/ -+int LoadPIC2 PARM((char *, PICINFO *, int)); -+void CreatePIC2W PARM((void)); -+void PIC2Dialog PARM((int)); -+int PIC2CheckEvent PARM((XEvent *)); -+int PIC2SetParamOptions PARM((char *)); -+ -+/**************************** XVPM.C ****************************/ -+int LoadPM PARM((char *, PICINFO *)); -+int WritePM PARM((FILE *, byte *, int, int, int, byte *, -+ byte *, byte *, int, int, char *)); -+ -+/**************************** XVPNG.C ***************************/ -+int LoadPNG PARM((char *, PICINFO *)); -+void CreatePNGW PARM((void)); -+void PNGDialog PARM((int)); -+int PNGCheckEvent PARM((XEvent *)); -+void PNGSaveParams PARM((char *, int)); -+void VersionInfoPNG PARM((void)); /* GRR 19980605 */ -+ -+/**************************** XVPS.C ****************************/ - void CreatePSD PARM((char *)); - void PSDialog PARM((int)); - int PSCheckEvent PARM((XEvent *)); -@@ -1624,56 +2085,46 @@ - void PSResize PARM((void)); - int LoadPS PARM((char *, PICINFO *, int)); - --/*************************** XVPOPUP.C ***************************/ --void CenterMapWindow PARM((Window, int, int, int, int)); --int PopUp PARM((char *, char **, int)); --void ErrPopUp PARM((char *, char *)); --int GetStrPopUp PARM((char *, char **, int, char *, int, -- char *, int)); --int GrabPopUp PARM((int *, int *)); --int PadPopUp PARM((int *, char **, int *, int *, int *, int *)); --void ClosePopUp PARM((void)); --void OpenAlert PARM((char *)); --void CloseAlert PARM((void)); --int PUCheckEvent PARM((XEvent *)); --void TextRect PARM((Window, char *, int, int, int, int, u_long)); -+/**************************** XVRLE.C ***************************/ -+int LoadRLE PARM((char *, PICINFO *)); - --/*************************** XVDFLT.C ***************************/ --void LoadDfltPic PARM((PICINFO *)); --void xbm2pic PARM((byte *, int, int, byte *, int, int, int, int, -- int)); --void DrawStr2Pic PARM((char *, int, int, byte *, int, int, int)); -+/**************************** XVSUNRAS.C ***************************/ -+int LoadSunRas PARM((char *, PICINFO *)); -+int WriteSunRas PARM((FILE *, byte *, int, int, int, byte *, -+ byte *, byte*, int, int, int)); - --/**************************** XVGRAB.C ***************************/ --int Grab PARM((void)); --int LoadGrab PARM((PICINFO *)); -+/**************************** XVTARGA.C ***************************/ -+int LoadTarga PARM((char *, PICINFO *)); -+int WriteTarga PARM((FILE *, byte *, int, int, int, byte *, -+ byte *, byte *, int, int)); - -+/**************************** XVTIFF.C ***************************/ -+int LoadTIFF PARM((char *, PICINFO *, int)); -+void CreateTIFFW PARM((void)); -+void TIFFDialog PARM((int)); -+int TIFFCheckEvent PARM((XEvent *)); -+void TIFFSaveParams PARM((char *, int)); -+void VersionInfoTIFF PARM((void)); /* GRR 19980605 */ - --/**************************** XVCUT.C ***************************/ --int CutAllowed PARM((void)); --int PasteAllowed PARM((void)); --void DoImgCopy PARM((void)); --void DoImgCut PARM((void)); --void DoImgClear PARM((void)); --void DoImgPaste PARM((void)); -+/**************************** XVWBMP.C ***************************/ -+int LoadWBMP PARM((char *, PICINFO *)); -+int WriteWBMP PARM((FILE *, byte *, int, int, int, byte *, -+ byte *, byte *, int, int)); - --void SaveToClip PARM((byte *)); --void InitSelection PARM((void)); --int HaveSelection PARM((void)); --int GetSelType PARM((void)); --void GetSelRCoords PARM((int *, int *, int *, int *)); --void EnableSelection PARM((int)); --void DrawSelection PARM((int)); --int DoSelection PARM((XButtonEvent *)); --void MoveGrowSelection PARM((int, int, int, int)); --void BlinkSelection PARM((int)); --void FlashSelection PARM((int)); -+/**************************** XVXBM.C ***************************/ -+int LoadXBM PARM((char *, PICINFO *)); -+int WriteXBM PARM((FILE *, byte *, int, int, byte *, byte *, -+ byte *, char *)); - --void CropRect2Rect PARM((int*,int*,int*,int*, int,int,int,int)); --void CoordE2C PARM((int, int, int *, int *)); --void CoordC2E PARM((int, int, int *, int *)); --void CoordP2C PARM((int, int, int *, int *)); --void CoordC2P PARM((int, int, int *, int *)); --void CoordP2E PARM((int, int, int *, int *)); --void CoordE2P PARM((int, int, int *, int *)); -+/**************************** XVXPM.C ***************************/ -+int LoadXPM PARM((char *, PICINFO *)); -+int WriteXPM PARM((FILE *, byte *, int, int, int, byte *, -+ byte *, byte *, int, int, char *, char *)); - -+/**************************** XVXWD.C ***************************/ -+int LoadXWD PARM((char *, PICINFO *)); -+ -+/**************************** XVZX.C [JCE] **********************/ -+int LoadZX PARM((char *, PICINFO *)); -+int WriteZX PARM((FILE *, byte *, int, int, int, byte *, -+ byte *, byte *, int, int, char *)); -diff -ru xv-3.10a/xv24to8.c xv-3.10a-enhancements/xv24to8.c ---- xv-3.10a/xv24to8.c 1995-01-13 11:49:21.000000000 -0800 -+++ xv-3.10a-enhancements/xv24to8.c 2007-05-12 13:56:44.000000000 -0700 -@@ -14,15 +14,15 @@ - * - * The Conv24to8 procedure will set up the following: it will allocate, make - * & return 'pic8', a 'w' by 'h' (passed in values) 8-bit picture. -- * it will load up the rmap, gmap and bmap colormap arrays. it will NOT -+ * it will load up the rmap, gmap and bmap colormap arrays. it will NOT - * calculate numcols, since the cmap sort procedure has to be called anyway - * -- * Conv24to8 returns 'pic8' if successful, 'NULL' on failure (presumably on a -+ * Conv24to8 returns 'pic8' if successful, 'NULL' on failure (presumably on a - * malloc()) - * -- * The 'slow' code, while still based on Heckbert's Median Cut algorithm, -+ * The 'slow' code, while still based on Heckbert's Median Cut algorithm, - * has been shamelessly lifted from the Independent JPEG Group's software -- * (jquant2.c), as (for a variety of reasons) theirs was far better than -+ * (jquant2.c), as (for a variety of reasons) theirs was far better than - * the version I was previously using. Thanks guys! - * - * Also, as is my way, I've stripped out most of the IJG's well-written -@@ -65,10 +65,10 @@ - { - /* returns pointer to new 8-bit-per-pixel image (w*h) if successful, or - NULL if unsuccessful */ -- -+ - int i; - byte *pic8; -- -+ - if (!pic24) return NULL; - - pic8 = (byte *) malloc((size_t) (w * h)); -@@ -79,9 +79,9 @@ - - if (nc<=0) nc = 255; /* 'nc == 0' breaks code */ - -- if (!noqcheck && quick_check(pic24, w,h, pic8, rm,gm,bm, nc)) { -+ if (!noqcheck && quick_check(pic24, w,h, pic8, rm,gm,bm, nc)) { - SetISTR(ISTR_INFO,"No color compression was necessary.\n"); -- return pic8; -+ return pic8; - } - - switch (conv24) { -@@ -89,19 +89,19 @@ - SetISTR(ISTR_INFO,"Doing 'quick' 24-bit to 8-bit conversion."); - i = quick_quant(pic24, w, h, pic8, rm, gm, bm, nc); - break; -- -+ - case CONV24_BEST: - SetISTR(ISTR_INFO,"Doing 'best' 24-bit to 8-bit conversion."); - i = ppm_quant(pic24, w, h, pic8, rm, gm, bm, nc); - break; -- -+ - case CONV24_SLOW: - default: - SetISTR(ISTR_INFO,"Doing 'slow' 24-bit to 8-bit conversion."); - i = slow_quant(pic24, w, h, pic8, rm, gm, bm, nc); - break; - } -- -+ - if (i) { free(pic8); pic8 = NULL; } - return pic8; - } -@@ -134,7 +134,7 @@ - - return pic24; - } -- -+ - - /****************************/ - static int quick_check(pic24, w,h, pic8, rmap,gmap,bmap, maxcol) -@@ -154,10 +154,10 @@ - if (maxcol>256) maxcol = 256; - - /* put the first color in the table by hand */ -- nc = 0; mid = 0; -+ nc = 0; mid = 0; - - for (i=w*h,p=pic24; i; i--) { -- col = (((u_long) *p++) << 16); -+ col = (((u_long) *p++) << 16); - col += (((u_long) *p++) << 8); - col += *p++; - -@@ -184,7 +184,7 @@ - pic24 into colormap offsets into 'colors' */ - - for (i=w*h,p=pic24, pix=pic8; i; i--,pix++) { -- col = (((u_long) *p++) << 16); -+ col = (((u_long) *p++) << 16); - col += (((u_long) *p++) << 8); - col += *p++; - -@@ -206,7 +206,7 @@ - - /* and load up the 'desired colormap' */ - for (i=0; i>16; -+ rmap[i] = colors[i]>>16; - gmap[i] = (colors[i]>>8) & 0xff; - bmap[i] = colors[i] & 0xff; - } -@@ -224,7 +224,7 @@ - { - /* called after 'pic8' has been alloced, pWIDE,pHIGH set up, mono/1-bit - checked already */ -- -+ - /* up to 256 colors: 3 bits R, 3 bits G, 2 bits B (RRRGGGBB) */ - #define RMASK 0xe0 - #define RSHIFT 0 -@@ -252,7 +252,7 @@ - gmap[i] = (((i<>RSHIFT) | ((g1&GMASK)>>GSHIFT) | -+ val = (((r1&RMASK)>>RSHIFT) | ((g1&GMASK)>>GSHIFT) | - ((b1&BMASK)>>BSHIFT)); - *pp = val; -- -+ - /* compute color errors */ - r1 -= rmap[val]; - g1 -= gmap[val]; - b1 -= bmap[val]; -- -+ - /* Add fractions of errors to adjacent pixels */ - if (j!=jmax) { /* adjust RIGHT pixel */ - thisptr[0] += (r1*7) / 16; - thisptr[1] += (g1*7) / 16; - thisptr[2] += (b1*7) / 16; - } -- -+ - if (i!=imax) { /* do BOTTOM pixel */ - nextptr[0] += (r1*5) / 16; - nextptr[1] += (g1*5) / 16; -@@ -316,7 +316,7 @@ - } - } - } -- -+ - free(thisline); - free(nextline); - return 0; -@@ -329,7 +329,7 @@ - #undef BMASK - #undef BSHIFT - } -- -+ - - - -@@ -381,7 +381,7 @@ - - /* Luminance macro. */ - --/* -+/* - * #define PPM_LUMIN(p) \ - * ( 0.299 * PPM_GETR(p) + 0.587 * PPM_GETG(p) + 0.114 * PPM_GETB(p) ) - */ -@@ -449,18 +449,18 @@ - byte *pic24, *pic8, *rmap, *gmap, *bmap; - int cols, rows, newcolors; - { -- pixel** pixels; -- register pixel* pP; -- int row; -- register int col, limitcol; -- pixval maxval, newmaxval; -- int colors; -- register int index; -- chist_vec chv, colormap; -- chash_table cht; -- int i; -- unsigned char *picptr; -- static char *fn = "ppmquant()"; -+ pixel** pixels; -+ register pixel* pP; -+ int row; -+ register int col, limitcol; -+ pixval maxval, newmaxval; -+ int colors; -+ register int index; -+ chist_vec chv, colormap; -+ chash_table cht; -+ int i; -+ unsigned char *picptr; -+ static const char *fn = "ppmquant()"; - - index = 0; - maxval = 255; -@@ -472,7 +472,7 @@ - - if (DEBUG) fprintf(stderr,"%s: remapping to ppm-style internal fmt\n", fn); - WaitCursor(); -- -+ - pixels = (pixel **) malloc(rows * sizeof(pixel *)); - if (!pixels) FatalError("couldn't allocate 'pixels' array"); - for (row=0; row= bl) - qsort((char*) &(chv[indx]), (size_t) clrs, sizeof(struct chist_item), - greencompare ); -- else -+ else - qsort((char*) &(chv[indx]), (size_t) clrs, sizeof(struct chist_item), - bluecompare ); - } -@@ -750,7 +750,7 @@ - ++boxes; - qsort((char*) bv, (size_t) boxes, sizeof(struct box), sumcompare); - } /* while (boxes ... */ -- -+ - /* - ** Ok, we've got enough boxes. Now choose a representative color for - ** each box. There are a number of possible ways to make this choice. -@@ -761,7 +761,7 @@ - ** method is used by switching the commenting on the REP_ defines at - ** the beginning of this source file. - */ -- -+ - for (bi=0; bicolor ) - -+ return (int) PPM_GETR( ((chist_vec)p1)->color ) - - (int) PPM_GETR( ((chist_vec)p2)->color ); - } - -@@ -799,7 +799,7 @@ - static int greencompare(p1, p2) - const void *p1, *p2; - { -- return (int) PPM_GETG( ((chist_vec)p1)->color ) - -+ return (int) PPM_GETG( ((chist_vec)p1)->color ) - - (int) PPM_GETG( ((chist_vec)p2)->color ); - } - -@@ -807,7 +807,7 @@ - static int bluecompare(p1, p2) - const void *p1, *p2; - { -- return (int) PPM_GETB( ((chist_vec)p1)->color ) - -+ return (int) PPM_GETB( ((chist_vec)p1)->color ) - - (int) PPM_GETB( ((chist_vec)p2)->color ); - } - -@@ -821,7 +821,7 @@ - - - /****************************************************************************/ --static chist_vec -+static chist_vec - ppm_computechist(pixels, cols, rows, maxcolors, colorsP) - pixel** pixels; - int cols, rows, maxcolors; -@@ -840,7 +840,7 @@ - - - /****************************************************************************/ --static chash_table ppm_computechash(pixels, cols, rows, -+static chash_table ppm_computechash(pixels, cols, rows, - maxcolors, colorsP ) - pixel** pixels; - int cols, rows, maxcolors; -@@ -861,14 +861,14 @@ - - for (chl = cht[hash]; chl != (chist_list) 0; chl = chl->next) - if (PPM_EQUAL(chl->ch.color, *pP)) break; -- -+ - if (chl != (chist_list) 0) ++(chl->ch.value); - else { - if ((*colorsP)++ > maxcolors) { - ppm_freechash(cht); - return (chash_table) 0; - } -- -+ - chl = (chist_list) malloc(sizeof(struct chist_list_item)); - if (!chl) FatalError("ran out of memory computing hash table"); - -@@ -878,7 +878,7 @@ - cht[hash] = chl; - } - } -- -+ - return cht; - } - -@@ -1114,7 +1114,7 @@ - register int i; - register long maxc = 0; - boxptr which = NULL; -- -+ - for (i = 0, boxp = boxlist; i < numboxes; i++, boxp++) { - if (boxp->colorcount > maxc && boxp->volume > 0) { - which = boxp; -@@ -1133,7 +1133,7 @@ - register int i; - register INT32 maxv = 0; - boxptr which = NULL; -- -+ - for (i = 0, boxp = boxlist; i < numboxes; i++, boxp++) { - if (boxp->volume > maxv) { - which = boxp; -@@ -1153,11 +1153,11 @@ - int c0min,c0max,c1min,c1max,c2min,c2max; - INT32 dist0,dist1,dist2; - long ccount; -- -+ - c0min = boxp->c0min; c0max = boxp->c0max; - c1min = boxp->c1min; c1max = boxp->c1max; - c2min = boxp->c2min; c2max = boxp->c2max; -- -+ - if (c0max > c0min) - for (c0 = c0min; c0 <= c0max; c0++) - for (c1 = c1min; c1 <= c1max; c1++) { -@@ -1229,7 +1229,7 @@ - dist1 = ((c1max - c1min) << C1_SHIFT) * C1_SCALE; - dist2 = ((c2max - c2min) << C2_SHIFT) * C2_SCALE; - boxp->volume = dist0*dist0 + dist1*dist1 + dist2*dist2; -- -+ - ccount = 0; - for (c0 = c0min; c0 <= c0max; c0++) - for (c1 = c1min; c1 <= c1max; c1++) { -@@ -1315,11 +1315,11 @@ - long c0total = 0; - long c1total = 0; - long c2total = 0; -- -+ - c0min = boxp->c0min; c0max = boxp->c0max; - c1min = boxp->c1min; c1max = boxp->c1max; - c2min = boxp->c2min; c2max = boxp->c2max; -- -+ - for (c0 = c0min; c0 <= c0max; c0++) - for (c1 = c1min; c1 <= c1max; c1++) { - histp = & histogram[c0][c1][c2min]; -@@ -1332,7 +1332,7 @@ - } - } - } -- -+ - sl_colormap[0][icolor] = (JSAMPLE) ((c0total + (total>>1)) / total); - sl_colormap[1][icolor] = (JSAMPLE) ((c1total + (total>>1)) / total); - sl_colormap[2][icolor] = (JSAMPLE) ((c2total + (total>>1)) / total); -@@ -1505,12 +1505,12 @@ - bptr = bestdist; - for (i = BOX_C0_ELEMS*BOX_C1_ELEMS*BOX_C2_ELEMS-1; i >= 0; i--) - *bptr++ = 0x7FFFFFFFL; -- -+ - /* Nominal steps between cell centers ("x" in Thomas article) */ - #define STEP_C0 ((1 << C0_SHIFT) * C0_SCALE) - #define STEP_C1 ((1 << C1_SHIFT) * C1_SCALE) - #define STEP_C2 ((1 << C2_SHIFT) * C2_SCALE) -- -+ - for (i = 0; i < numcolors; i++) { - icolor = colorlist[i]; - /* Compute (square of) distance from minc0/c1/c2 to this color */ -@@ -1576,7 +1576,7 @@ - minc0 = (c0 << BOX_C0_SHIFT) + ((1 << C0_SHIFT) >> 1); - minc1 = (c1 << BOX_C1_SHIFT) + ((1 << C1_SHIFT) >> 1); - minc2 = (c2 << BOX_C2_SHIFT) + ((1 << C2_SHIFT) >> 1); -- -+ - numcolors = find_nearby_colors(minc0, minc1, minc2, colorlist); - - /* Determine the actually nearest colors. */ -diff -ru xv-3.10a/xvalg.c xv-3.10a-enhancements/xvalg.c ---- xv-3.10a/xvalg.c 1994-12-22 14:34:47.000000000 -0800 -+++ xv-3.10a-enhancements/xvalg.c 2007-05-12 16:07:37.000000000 -0700 -@@ -38,7 +38,7 @@ - double, int)); - static void doPixel PARM((byte *,int,int,byte *, int,int,int,int, - int, int)); --static void doSpread PARM((byte *,int,int,byte *, int,int,int,int, -+static void doSpread PARM((byte *,int,int,byte *, int,int,int,int, - int, int)); - static void doMedianFilter PARM((byte *,int,int,byte *, int,int,int,int, int)); - -@@ -53,7 +53,7 @@ - static int start24bitAlg PARM((byte **, byte **)); - static void end24bitAlg PARM((byte *, byte *)); - --static void printUTime PARM((char *)); -+static void printUTime PARM((const char *)); - - static byte *origPic = (byte *) NULL; - static int origPicType; -@@ -70,10 +70,11 @@ - - /***************************/ - static void printUTime(str) -- char *str; -+ const char *str; - { - #ifdef TIMING_TEST -- int i; struct rusage ru; -+ int i; -+ struct rusage ru; - - i = getrusage(RUSAGE_SELF, &ru); - fprintf(stderr,"%s: utime = %d.%d seconds\n", -@@ -89,7 +90,7 @@ - /************************************************************/ - void AlgInit() - { -- /* called whenver an image file is loaded. disposes of origPic -+ /* called whenver an image file is loaded. disposes of origPic - if neccessary, and points it to null */ - - if (origPic) free(origPic); -@@ -160,16 +161,16 @@ - { - /* runs a n*n convolution mask (all 1's) over 'pic', - producing a 24-bit version. Then calls 24to8 to generate a new 8-bit -- image, and installs it. -+ image, and installs it. - - Note that 'n' must be odd for things to work properly */ - -- byte *pic24, *tmpPic; -- int i, sx,sy,sw,sh, n; -- static char *labels[] = { "\nOk", "\033Cancel" }; -- char txt[256]; -- static char buf[64] = { '3', '\0' }; -- -+ byte *pic24, *tmpPic; -+ int i, sx,sy,sw,sh, n; -+ static const char *labels[] = { "\nOk", "\033Cancel" }; -+ char txt[256]; -+ static char buf[64] = { '3', '\0' }; -+ - sprintf(txt, "Blur: \n\n%s", - "Enter mask size (ex. 3, 5, 7, ...)"); - -@@ -178,7 +179,7 @@ - n = atoi(buf); - - if (n < 1 || (n&1)!=1) { -- ErrPopUp("Error: The value entered must be odd and greater than zero.", -+ ErrPopUp("Error: The value entered must be odd and greater than zero.", - "\nOh!"); - return; - } -@@ -194,7 +195,7 @@ - - if (start24bitAlg(&pic24, &tmpPic)) return; - xvbcopy((char *) pic24, (char *) tmpPic, (size_t) (pWIDE*pHIGH*3)); -- -+ - doBlurConvolv(pic24, pWIDE,pHIGH, tmpPic, sx,sy,sw,sh, n); - - end24bitAlg(pic24, tmpPic); -@@ -207,12 +208,12 @@ - { - /* runs an edge-enhancment algorithm */ - -- byte *pic24, *tmpPic; -- int i, sx,sy,sw,sh, n; -- static char *labels[] = { "\nOk", "\033Cancel" }; -- char txt[256]; -- static char buf[64] = { '7', '5', '\0' }; -- -+ byte *pic24, *tmpPic; -+ int i, sx,sy,sw,sh, n; -+ static const char *labels[] = { "\nOk", "\033Cancel" }; -+ char txt[256]; -+ static char buf[64] = { '7', '5', '\0' }; -+ - sprintf(txt, "Sharpen: \n\n%s", - "Enter enhancement factor (0-99%)"); - -@@ -236,7 +237,7 @@ - - if (start24bitAlg(&pic24, &tmpPic)) return; - xvbcopy((char *) pic24, (char *) tmpPic, (size_t) (pWIDE*pHIGH*3)); -- -+ - doSharpConvolv(pic24, pWIDE,pHIGH, tmpPic, sx,sy,sw,sh, n); - - end24bitAlg(pic24, tmpPic); -@@ -248,7 +249,7 @@ - static void EdgeDetect() - { - byte *pic24, *p24, *tmpPic, *tlp; -- char *str; -+ const char *str; - int i, j, v, maxv, sx,sy,sw,sh; - - WaitCursor(); -@@ -264,7 +265,7 @@ - xvbcopy((char *) pic24, (char *) tmpPic, (size_t) (pWIDE*pHIGH*3)); - - doEdgeConvolv(pic24, pWIDE, pHIGH, tmpPic, sx,sy,sw,sh); -- -+ - SetISTR(ISTR_INFO, "%snormalizing...", str); - - /* Normalize results */ -@@ -292,19 +293,19 @@ - /************************/ - static void TinFoil() - { -- byte *pic24, *p24, *tmpPic, *tp, *tlp; -- char *str; -- int i, j, v, maxv,sx,sy,sw,sh; -- -+ byte *pic24, *tmpPic, *tp, *tlp; -+ const char *str; -+ int i, j, v, sx,sy,sw,sh; -+ - WaitCursor(); -- -+ - str = "Doing cheesy embossing effect..."; - SetISTR(ISTR_INFO, str); -- -+ - if (HaveSelection()) GetSelRCoords(&sx,&sy,&sw,&sh); - else { sx = 0; sy = 0; sw = pWIDE; sh = pHIGH; } - CropRect2Rect(&sx,&sy,&sw,&sh, 0,0,pWIDE,pHIGH); -- -+ - if (start24bitAlg(&pic24, &tmpPic)) return; - xvbcopy((char *) pic24, (char *) tmpPic, (size_t) (pWIDE*pHIGH*3)); - -@@ -315,9 +316,9 @@ - *tp++ = 128; *tp++ = 128; *tp++ = 128; - } - } -- -+ - doAngleConvolv(pic24, pWIDE, pHIGH, tmpPic, sx,sy,sw,sh); -- -+ - /* mono-ify selected area of tmpPic */ - for (i=sy; i0 = CCW)", - (clr ? "Clear" : "Copy")); -@@ -396,12 +397,12 @@ - rotval = atof(buf); - - if (rotval == 0.0) return; -- -+ - - if (HaveSelection()) GetSelRCoords(&sx,&sy,&sw,&sh); - else { sx = 0; sy = 0; sw = pWIDE; sh = pHIGH; } - CropRect2Rect(&sx,&sy,&sw,&sh, 0,0,pWIDE,pHIGH); -- -+ - WaitCursor(); - - if (start24bitAlg(&pic24, &tmpPic)) return; -@@ -416,11 +417,11 @@ - /************************/ - static void Pixelize() - { -- byte *pic24, *tmpPic; -- int i,sx,sy,sw,sh, pixX,pixY,err; -- static char *labels[] = { "\nOk", "\033Cancel" }; -- char txt[256]; -- static char buf[64] = { '4', '\0' }; -+ byte *pic24, *tmpPic; -+ int i,sx,sy,sw,sh, pixX,pixY,err; -+ static const char *labels[] = { "\nOk", "\033Cancel" }; -+ char txt[256]; -+ static char buf[64] = { '4', '\0' }; - - sprintf(txt, "Pixelize:\n\nEnter new pixel size, in image pixels: %s", - "(ex. '3', '5x8')"); -@@ -443,11 +444,11 @@ - return; - } - -- -+ - if (HaveSelection()) GetSelRCoords(&sx,&sy,&sw,&sh); - else { sx = 0; sy = 0; sw = pWIDE; sh = pHIGH; } - CropRect2Rect(&sx,&sy,&sw,&sh, 0,0,pWIDE,pHIGH); -- -+ - WaitCursor(); - - if (start24bitAlg(&pic24, &tmpPic)) return; -@@ -463,11 +464,11 @@ - /************************/ - static void Spread() - { -- byte *pic24, *tmpPic; -- int i,sx,sy,sw,sh, pixX,pixY,err; -- static char *labels[] = { "\nOk", "\033Cancel" }; -- char txt[256]; -- static char buf[64] = { '5', '\0' }; -+ byte *pic24, *tmpPic; -+ int i,sx,sy,sw,sh, pixX,pixY,err; -+ static const char *labels[] = { "\nOk", "\033Cancel" }; -+ char txt[256]; -+ static char buf[64] = { '5', '\0' }; - - sprintf(txt, "Spread:\n\nEnter spread factor (or x,y factors): %s", - "(ex. '10', '1x5')"); -@@ -493,11 +494,11 @@ - return; - } - -- -+ - if (HaveSelection()) GetSelRCoords(&sx,&sy,&sw,&sh); - else { sx = 0; sy = 0; sw = pWIDE; sh = pHIGH; } - CropRect2Rect(&sx,&sy,&sw,&sh, 0,0,pWIDE,pHIGH); -- -+ - WaitCursor(); - - if (start24bitAlg(&pic24, &tmpPic)) return; -@@ -516,12 +517,12 @@ - /* runs median filter algorithm (for n*n rect centered around each pixel, - replace with median value */ - -- byte *pic24, *tmpPic; -- int i, sx,sy,sw,sh, n; -- static char *labels[] = { "\nOk", "\033Cancel" }; -- char txt[256]; -- static char buf[64] = { '3', '\0' }; -- -+ byte *pic24, *tmpPic; -+ int i, sx,sy,sw,sh, n; -+ static const char *labels[] = { "\nOk", "\033Cancel" }; -+ char txt[256]; -+ static char buf[64] = { '3', '\0' }; -+ - sprintf(txt, "DeSpeckle (median filter): \n\n%s", - "Enter mask size (ex. 3, 5, 7, ...)"); - -@@ -530,7 +531,7 @@ - n = atoi(buf); - - if (n < 1 || (n&1)!=1) { -- ErrPopUp("Error: The value entered must be odd and greater than zero.", -+ ErrPopUp("Error: The value entered must be odd and greater than zero.", - "\nOh!"); - return; - } -@@ -546,7 +547,7 @@ - - if (start24bitAlg(&pic24, &tmpPic)) return; - xvbcopy((char *) pic24, (char *) tmpPic, (size_t) (pWIDE*pHIGH*3)); -- -+ - doMedianFilter(pic24, pWIDE,pHIGH, tmpPic, sx,sy,sw,sh, n); - - end24bitAlg(pic24, tmpPic); -@@ -560,7 +561,7 @@ - int w,h, selx,sely,selw,selh, n; - { - -- /* convolves with an n*n array, consisting of only 1's. -+ /* convolves with an n*n array, consisting of only 1's. - Operates on rectangular region 'selx,sely,selw,selh' (in pic coords) - Region is guaranteed to be completely within pic boundaries - 'n' must be odd */ -@@ -568,7 +569,7 @@ - register byte *p24; - register int rsum,gsum,bsum; - byte *rp; -- int i,j,k,x,y,x1,y1,count,n2; -+ int x,y,x1,y1,count,n2; - - - printUTime("start of blurConvolv"); -@@ -589,7 +590,7 @@ - for (y1=y-n2; y1<=y+n2; y1++) { - - if (y1>=sely && y1=selx && x1=sely && i=selx && j=sely && i=selx && j fabs(dslope)) { /* y axis is major */ - ey = (dy<0) ? sely : sely+selh-1; -@@ -1092,7 +1093,7 @@ - printUTime("end of blend"); - } - -- -+ - - /************************/ - static void doRotate(pic24, w, h, results, selx,sely,selw,selh, rotval, clear) -@@ -1104,7 +1105,7 @@ - by the amount specified in degrees (rotval), and stores the result in - 'results', which is also a w*h 24-bit image. The rotated bits are - clipped to fit in 'results'. If 'clear', the (unrotated) rectangular -- region is cleared (in results) first. -+ region is cleared (in results) first. - sel[x,y,w,h] is guaranteed to be within image bounds */ - - byte *pp, *dp; -@@ -1118,7 +1119,7 @@ - printUTime("start of rotate"); - - /* -- * cfx,cfy - center point of sel rectangle (double) -+ * cfx,cfy - center point of sel rectangle (double) - * rx1,ry1 - top-left of sel, rotated - * rx2,ry2 - bot-left of sel, rotated - * rx3,ry3 - top-right of sel, rotated -@@ -1174,7 +1175,7 @@ - /* now, for each pixel in rb[x,y,w,h], do the inverse rotation to see if - it would be in the original unrotated selection rectangle. if it *is*, - compute and store an appropriate color, otherwise skip it */ -- -+ - for (y=rby; y %7.2f %7.2f (d=%f ang=%f)\n", -+ fprintf(stderr,"(%4d,%4d) -> %7.2f %7.2f (d=%f ang=%f)\n", - cx,cy, *rx,*ry, d, ang); - #endif - } -- -+ - - - /************************/ -@@ -1323,29 +1324,29 @@ - byte *pic24, *results; - int w, h, selx,sely,selw,selh, pixX,pixY; - { -- /* runs 'pixelization' algorithm. replaces each pixX-by-pixY region -+ /* runs 'pixelization' algorithm. replaces each pixX-by-pixY region - (smaller on edges) with the average color within that region */ -- -+ - byte *pp; - int nwide, nhigh, i,j, x,y, x1,y1, stx,sty; - int nsum, rsum, gsum, bsum; -- -+ - printUTime("start of pixelize"); -- -+ - /* center grid on selection */ - nwide = (selw + pixX-1) / pixX; - nhigh = (selh + pixY-1) / pixY; -- -+ - stx = selx - (nwide*pixX - selw)/2; - sty = sely - (nhigh*pixY - selh)/2; -- -+ - y = sty; - for (i=0; i0) { /* just to be safe... */ - rsum /= nsum; gsum /= nsum; bsum /= nsum; - RANGE(rsum,0,255); RANGE(gsum,0,255); RANGE(bsum,0,255); - } -- -- -+ -+ - /* STORE color in rect:[x,y,pixX,pixY] */ - for (y1=y; y1=sely && y1=selx && x10; d=d/2) { - for (i=d; i=0 && rtab[j]>rtab[j+d]; j-=d) { -@@ -1531,14 +1532,14 @@ - } - } - } -- -+ - c2 = count/2; - *rp++ = (byte) ( (count&1) ? rtab[c2] : (rtab[c2] + rtab[c2-1])/2); - *rp++ = (byte) ( (count&1) ? gtab[c2] : (gtab[c2] + gtab[c2-1])/2); - *rp++ = (byte) ( (count&1) ? btab[c2] : (btab[c2] + btab[c2-1])/2); - } - } -- -+ - free(rtab); free(gtab); free(btab); - printUTime("end of doMedianFilter"); - } -@@ -1549,7 +1550,7 @@ - static void intsort(a, n) - int *a, n; - { -- /* uses the shell-sort algorithm. for the relatively small data sets -+ /* uses the shell-sort algorithm. for the relatively small data sets - we'll be using, should be quicker than qsort() because of all the - function calling overhead associated with qsort(). */ - -@@ -1571,7 +1572,7 @@ - byte **pic24, **tmpPic; - { - /* generates a 24-bit version of 'pic', if neccessary, and also mallocs -- * a pWIDE*pHIGH*3 24-bit output pic. -+ * a pWIDE*pHIGH*3 24-bit output pic. - * - * Returns '1' if there's some sort of screwup, '0' if cool - */ -@@ -1588,7 +1589,7 @@ - *tmpPic = (byte *) calloc((size_t) (pWIDE * pHIGH * 3), (size_t) 1); - if (!(*tmpPic)) { - SetCursors(-1); -- ErrPopUp("Unable to malloc() tmp 24-bit image in start24bitAlg()", -+ ErrPopUp("Unable to malloc() tmp 24-bit image in start24bitAlg()", - "\nTough!"); - if (picType == PIC8) free(*pic24); - return 1; -@@ -1609,16 +1610,16 @@ - saveOrigPic(); /* also kills pic/cpic/epic/egampic/theImage, NOT pic24 */ - - /* copy results to pic24 */ -- xvbcopy((char *) outPic, (char *) pic24, (size_t) (pWIDE*pHIGH*3)); -+ xvbcopy((char *) outPic, (char *) pic24, (size_t) (pWIDE*pHIGH*3)); - free(outPic); - - if (picType == PIC8) { - pic = Conv24to8(pic24, pWIDE, pHIGH, ncols, rMap,gMap,bMap); - free(pic24); -- if (!pic) { -+ if (!pic) { - SetCursors(-1); - ErrPopUp("Some sort of failure occured in 24to8 conversion\n","\nDamn!"); -- NoAlg(); -+ NoAlg(); - return; - } - } -@@ -1632,7 +1633,7 @@ - static void saveOrigPic() - { - /* saves original picture into origPic, if it hasn't already been done. -- This allows us to undo algorithms... -+ This allows us to undo algorithms... - - Also, frees all pics, (except 'pic', if we're in PIC24 mode) */ - -@@ -1649,7 +1650,7 @@ - /* make a backup copy of 'pic' */ - origPic = (byte *) malloc((size_t)(pWIDE*pHIGH*((picType==PIC8) ? 1 : 3))); - if (!origPic) FatalError("out of memory in 'saveOrigPic()'"); -- xvbcopy((char *) pic, (char *) origPic, -+ xvbcopy((char *) pic, (char *) origPic, - (size_t) (pWIDE * pHIGH * ((picType==PIC8) ? 1 : 3))); - - origPicType = picType; -diff -ru xv-3.10a/xvbmp.c xv-3.10a-enhancements/xvbmp.c ---- xv-3.10a/xvbmp.c 1994-12-22 14:34:42.000000000 -0800 -+++ xv-3.10a-enhancements/xvbmp.c 2007-05-13 17:46:16.000000000 -0700 -@@ -1,5 +1,5 @@ - /* -- * xvbmp.c - i/o routines for .BMP files (MS Windows 3.x) -+ * xvbmp.c - I/O routines for .BMP files (MS Windows 3.x and later; OS/2) - * - * LoadBMP(fname, numcols) - * WriteBMP(fp, pic, ptype, w, h, r, g, b, numcols, style); -@@ -9,30 +9,39 @@ - - #include "xv.h" - --/* comments on error handling: -- a truncated file is not considered a Major Error. The file is loaded, the -- rest of the pic is filled with 0's. -- -- a file with garbage characters in it is an unloadable file. All allocated -- stuff is tossed, and LoadPBM returns non-zero -- -- not being able to malloc is a Fatal Error. The program is aborted. */ -- -- --#define BI_RGB 0 --#define BI_RLE8 1 --#define BI_RLE4 2 -+/* Comments on error-handling: -+ A truncated file is not considered a Major Error. The file is loaded, -+ and the rest of the pic is filled with 0's. -+ -+ A file with garbage characters in it is an unloadable file. All allocated -+ stuff is tossed, and LoadBMP returns non-zero. -+ -+ Not being able to malloc is a Fatal Error. The program is aborted. */ -+ -+ -+#define BI_RGB 0 /* a.k.a. uncompressed */ -+#define BI_RLE8 1 -+#define BI_RLE4 2 -+#define BI_BITFIELDS 3 /* BMP version 4 */ -+#define BI_JPEG 4 /* BMP version 5 (not yet supported) */ -+#define BI_PNG 5 /* BMP version 5 (not yet supported) */ - - #define WIN_OS2_OLD 12 - #define WIN_NEW 40 - #define OS2_NEW 64 - -+#if (defined(UINT_MAX) && UINT_MAX != 0xffffffffU) -+# error XV's BMP code requires 32-bit unsigned integer type, but u_int isn't -+#endif -+ - static long filesize; - - static int loadBMP1 PARM((FILE *, byte *, u_int, u_int)); - static int loadBMP4 PARM((FILE *, byte *, u_int, u_int, u_int)); - static int loadBMP8 PARM((FILE *, byte *, u_int, u_int, u_int)); --static int loadBMP24 PARM((FILE *, byte *, u_int, u_int)); -+static int loadBMP16 PARM((FILE *, byte *, u_int, u_int, u_int *)); -+static int loadBMP24 PARM((FILE *, byte *, u_int, u_int, u_int)); -+static int loadBMP32 PARM((FILE *, byte *, u_int, u_int, u_int *)); - static u_int getshort PARM((FILE *)); - static u_int getint PARM((FILE *)); - static void putshort PARM((FILE *, int)); -@@ -41,7 +50,7 @@ - static void writeBMP4 PARM((FILE *, byte *, int, int)); - static void writeBMP8 PARM((FILE *, byte *, int, int)); - static void writeBMP24 PARM((FILE *, byte *, int, int)); --static int bmpError PARM((char *, char *)); -+static int bmpError PARM((const char *, const char *)); - - - #define FERROR(fp) (ferror(fp) || feof(fp)) -@@ -52,15 +61,15 @@ - PICINFO *pinfo; - /*******************************************/ - { -- FILE *fp; -- int i, c, c1, rv; -- unsigned int bfSize, bfOffBits, biSize, biWidth, biHeight, biPlanes; -- unsigned int biBitCount, biCompression, biSizeImage, biXPelsPerMeter; -- unsigned int biYPelsPerMeter, biClrUsed, biClrImportant; -- int bPad; -- char *cmpstr; -- byte *pic24, *pic8; -- char buf[512], *bname; -+ FILE *fp; -+ int i, c, c1, rv, bPad; -+ u_int bfSize, bfOffBits, biSize, biWidth, biHeight, biPlanes; -+ u_int biBitCount, biCompression, biSizeImage, biXPelsPerMeter; -+ u_int biYPelsPerMeter, biClrUsed, biClrImportant; -+ u_int colormask[3]; -+ char buf[512], rgb_bits[16]; -+ const char *cmpstr, *bname; -+ byte *pic24, *pic8; - - /* returns '1' on success */ - -@@ -69,7 +78,7 @@ - - fp = xv_fopen(fname,"r"); - if (!fp) return (bmpError(bname, "couldn't open file")); -- -+ - fseek(fp, 0L, 2); /* figure out the file size */ - filesize = ftell(fp); - fseek(fp, 0L, 0); -@@ -98,17 +107,16 @@ - biClrUsed = getint(fp); - biClrImportant = getint(fp); - } -- - else { /* old bitmap format */ - biWidth = getshort(fp); /* Types have changed ! */ - biHeight = getshort(fp); - biPlanes = getshort(fp); - biBitCount = getshort(fp); -- -- /* Not in old versions so have to compute them*/ -+ -+ /* not in old versions, so have to compute them */ - biSizeImage = (((biPlanes * biBitCount*biWidth)+31)/32)*4*biHeight; -- -- biCompression = BI_RGB; -+ -+ biCompression = BI_RGB; - biXPelsPerMeter = biYPelsPerMeter = 0; - biClrUsed = biClrImportant = 0; - } -@@ -126,22 +134,39 @@ - if (FERROR(fp)) { bmpError(bname,"EOF reached in file header"); goto ERROR; } - - -- /* error checking */ -- if ((biBitCount!=1 && biBitCount!=4 && biBitCount!=8 && biBitCount!=24) || -- biPlanes!=1 || biCompression>BI_RLE4) { -+ /* error-checking */ -+ if ((biBitCount!=1 && biBitCount!=4 && biBitCount!=8 && -+ biBitCount!=16 && biBitCount!=24 && biBitCount!=32) || -+ biPlanes!=1 || biCompression>BI_PNG || -+ biWidth<=0 || biHeight<=0 || -+ (biClrUsed && biClrUsed > (1 << biBitCount))) { -+ -+ sprintf(buf, -+ "Unsupported BMP type (%dx%d, Bits=%d, Colors=%d, Planes=%d, " -+ "Compr=%d)", -+ biWidth, biHeight, biBitCount, biClrUsed, biPlanes, biCompression); - -- sprintf(buf,"Bogus BMP File! (bitCount=%d, Planes=%d, Compression=%d)", -- biBitCount, biPlanes, biCompression); -+ bmpError(bname, buf); -+ goto ERROR; -+ } -+ -+ if (biCompression>BI_BITFIELDS) { -+ sprintf(buf, "Unsupported BMP compression method (%s)", -+ biCompression == BI_JPEG? "JPEG" : -+ biCompression == BI_PNG? "PNG" : -+ "unknown/newer than v5"); - - bmpError(bname, buf); - goto ERROR; - } - - if (((biBitCount==1 || biBitCount==24) && biCompression != BI_RGB) || -- (biBitCount==4 && biCompression==BI_RLE8) || -- (biBitCount==8 && biCompression==BI_RLE4)) { -+ (biBitCount==4 && biCompression!=BI_RGB && biCompression!=BI_RLE4) || -+ (biBitCount==8 && biCompression!=BI_RGB && biCompression!=BI_RLE8) || -+ ((biBitCount==16 || biBitCount==32) && -+ biCompression!=BI_RGB && biCompression!=BI_BITFIELDS)) { - -- sprintf(buf,"Bogus BMP File! (bitCount=%d, Compression=%d)", -+ sprintf(buf,"Unsupported BMP type (bitCount=%d, Compression=%d)", - biBitCount, biCompression); - - bmpError(bname, buf); -@@ -153,13 +178,21 @@ - if (biSize != WIN_OS2_OLD) { - /* skip ahead to colormap, using biSize */ - c = biSize - 40; /* 40 bytes read from biSize to biClrImportant */ -- for (i=0; i1) { -@@ -188,7 +221,7 @@ - if (biSize != WIN_OS2_OLD) { - /* Waste any unused bytes between the colour map (if present) - and the start of the actual bitmap data. */ -- -+ - while (bPad > 0) { - (void) getc(fp); - bPad--; -@@ -197,31 +230,57 @@ - - /* create pic8 or pic24 */ - -- if (biBitCount==24) { -- pic24 = (byte *) calloc((size_t) biWidth * biHeight * 3, (size_t) 1); -+ if (biBitCount==16 || biBitCount==24 || biBitCount==32) { -+ u_int npixels = biWidth * biHeight; -+ u_int count = 3 * npixels; -+ -+ if (biWidth == 0 || biHeight == 0 || npixels/biWidth != biHeight || -+ count/3 != npixels) -+ return (bmpError(bname, "image dimensions too large")); -+ pic24 = (byte *) calloc((size_t) count, (size_t) 1); - if (!pic24) return (bmpError(bname, "couldn't malloc 'pic24'")); - } - else { -- pic8 = (byte *) calloc((size_t) biWidth * biHeight, (size_t) 1); -+ u_int npixels = biWidth * biHeight; -+ -+ if (biWidth == 0 || biHeight == 0 || npixels/biWidth != biHeight) -+ return (bmpError(bname, "image dimensions too large")); -+ pic8 = (byte *) calloc((size_t) npixels, (size_t) 1); - if (!pic8) return(bmpError(bname, "couldn't malloc 'pic8'")); - } - - WaitCursor(); - - /* load up the image */ -- if (biBitCount == 1) rv = loadBMP1(fp,pic8,biWidth,biHeight); -- else if (biBitCount == 4) rv = loadBMP4(fp,pic8,biWidth,biHeight, -- biCompression); -- else if (biBitCount == 8) rv = loadBMP8(fp,pic8,biWidth,biHeight, -- biCompression); -- else rv = loadBMP24(fp,pic24,biWidth,biHeight); -+ switch (biBitCount) { -+ case 1: -+ rv = loadBMP1(fp, pic8, biWidth, biHeight); -+ break; -+ case 4: -+ rv = loadBMP4(fp, pic8, biWidth, biHeight, biCompression); -+ break; -+ case 8: -+ rv = loadBMP8(fp, pic8, biWidth, biHeight, biCompression); -+ break; -+ case 16: -+ rv = loadBMP16(fp, pic24, biWidth, biHeight, /* v-- BI_RGB */ -+ biCompression == BI_BITFIELDS? colormask : NULL); -+ break; -+ default: -+ if (biBitCount == 32 && biCompression == BI_BITFIELDS) -+ rv = loadBMP32(fp, pic24, biWidth, biHeight, colormask); -+ else /* 24 or (32 and BI_RGB) */ -+ rv = loadBMP24(fp, pic24, biWidth, biHeight, biBitCount); -+ break; -+ } -+ -+ if (rv) bmpError(bname, "File appears truncated. Winging it."); - -- if (rv) bmpError(bname, "File appears truncated. Winging it.\n"); - - fclose(fp); - - -- if (biBitCount == 24) { -+ if (biBitCount > 8) { - pinfo->pic = pic24; - pinfo->type = PIC24; - } -@@ -233,6 +292,22 @@ - cmpstr = ""; - if (biCompression == BI_RLE4) cmpstr = ", RLE4 compressed"; - else if (biCompression == BI_RLE8) cmpstr = ", RLE8 compressed"; -+ else if (biCompression == BI_BITFIELDS) { -+ int bit, c[3], i; -+ u_int mask; -+ -+ for (i = 0; i < 3; ++i) { -+ mask = colormask[i]; -+ c[i] = 0; -+ for (bit = 0; bit < 32; ++bit) { -+ if (mask & 1) -+ ++c[i]; -+ mask >>= 1; -+ } -+ } -+ sprintf(rgb_bits, ", RGB%d%d%d", c[0], c[1], c[2]); -+ cmpstr = rgb_bits; -+ } - - pinfo->w = biWidth; pinfo->h = biHeight; - pinfo->normw = pinfo->w; pinfo->normh = pinfo->h; -@@ -254,7 +329,7 @@ - ERROR: - fclose(fp); - return 0; --} -+} - - - /*******************************************/ -@@ -264,12 +339,13 @@ - u_int w,h; - { - int i,j,c,bitnum,padw; -- byte *pp; -+ byte *pp = pic8 + ((h - 1) * w); -+ size_t l = w*h; - - c = 0; - padw = ((w + 31)/32) * 32; /* 'w', padded to be a multiple of 32 */ - -- for (i=h-1; i>=0; i--) { -+ for (i=h-1; i>=0 && (pp - pic8 <= l); i--) { - pp = pic8 + (i * w); - if ((i&0x3f)==0) WaitCursor(); - for (j=bitnum=0; j=0; i--) { -+ -+ for (i=h-1; i>=0 && (pp - pic8 <= l); i--) { - pp = pic8 + (i * w); - if ((i&0x3f)==0) WaitCursor(); -- -+ - for (j=nybnum=0; j> 4; - c <<= 4; -@@ -325,55 +401,55 @@ - if (FERROR(fp)) break; - } - } -- -+ - else if (comp == BI_RLE4) { /* read RLE4 compressed data */ -- x = y = 0; -+ x = y = 0; - pp = pic8 + x + (h-y-1)*w; -- -+ - while (y>4)&0x0f); - } -- -+ - else { /* c==0x00 : escape codes */ - c = getc(fp); if (c == EOF) { rv = 1; break; } -- -+ - if (c == 0x00) { /* end of line */ - x=0; y++; pp = pic8 + x + (h-y-1)*w; -- } -- -+ } -+ - else if (c == 0x01) break; /* end of pic8 */ -- -+ - else if (c == 0x02) { /* delta */ - c = getc(fp); x += c; - c = getc(fp); y += c; - pp = pic8 + x + (h-y-1)*w; - } -- -+ - else { /* absolute mode */ -- for (i=0; i>4)&0x0f); - } -- -+ - if (((c&3)==1) || ((c&3)==2)) getc(fp); /* read pad byte */ - } - } /* escape processing */ - if (FERROR(fp)) break; - } /* while */ - } -- -+ - else { - fprintf(stderr,"unknown BMP compression type 0x%0x\n", comp); - } -- -+ - if (FERROR(fp)) rv = 1; - return rv; --} -+} - - - -@@ -384,14 +460,18 @@ - u_int w,h,comp; - { - int i,j,c,c1,padw,x,y,rv; -- byte *pp; -- -+ byte *pp = pic8 + ((h - 1) * w); -+ size_t l = w*h; -+ byte *pend; -+ - rv = 0; - -+ pend = pic8 + w * h; -+ - if (comp == BI_RGB) { /* read uncompressed data */ - padw = ((w + 3)/4) * 4; /* 'w' padded to a multiple of 4pix (32 bits) */ - -- for (i=h-1; i>=0; i--) { -+ for (i=h-1; i>=0 && (pp - pic8 <= l); i--) { - pp = pic8 + (i * w); - if ((i&0x3f)==0) WaitCursor(); - -@@ -404,15 +484,15 @@ - } - - else if (comp == BI_RLE8) { /* read RLE8 compressed data */ -- x = y = 0; -+ x = y = 0; - pp = pic8 + x + (h-y-1)*w; - -- while (y>= 1; -+ } -+ bitshift[i+3] = bitshift[i] + 16; -+ -+ colorbits[i] = 0; -+ for (; bit < 32; ++bit) { -+ if (buf & 1) -+ ++colorbits[i]; -+ else -+ break; -+ buf >>= 1; -+ } -+ if (colorbits[i] > 8) { /* over 8-bit depth */ -+ bitshift[i] += (colorbits[i] - 8); -+ bitshift[i+3] = bitshift[i] + 16; -+ bitshift2[i] = bitshift2[i+3] = 0; -+ } else -+ bitshift2[i] = bitshift2[i+3] = 8 - colorbits[i]; -+ } -+ } -+ -+ if (DEBUG > 1) -+ fprintf(stderr, "loadBMP16: bitfields\n" -+ "\tR: bits = %2d, mask = %08x, shift >>%2d, <<%2d\n" -+ "\t (mask = %08x, shift >>%2d, <<%2d)\n" -+ "\tG: bits = %2d, mask = %08x, shift >>%2d, <<%2d\n" -+ "\t (mask = %08x, shift >>%2d, <<%2d)\n" -+ "\tB: bits = %2d, mask = %08x, shift >>%2d, <<%2d\n" -+ "\t (mask = %08x, shift >>%2d, <<%2d)\n", -+ colorbits[0], colormask[0], bitshift[0], bitshift2[0], -+ colormask[3], bitshift[3], bitshift2[3], -+ colorbits[1], colormask[1], bitshift[1], bitshift2[1], -+ colormask[4], bitshift[4], bitshift2[4], -+ colorbits[2], colormask[2], bitshift[2], bitshift2[2], -+ colormask[5], bitshift[5], bitshift2[5]); -+ -+ for (y = h-1; y >= 0 && (pp - pic24 <= l); y--) { -+ pp = pic24 + (3 * w * y); -+ if ((y&0x3f)==0) WaitCursor(); -+ -+ for (x = w; x > 1; x -= 2) { -+ buf = getint(fp); -+ *(pp++) = (buf & colormask[0]) >> bitshift[0] << bitshift2[0]; -+ *(pp++) = (buf & colormask[1]) >> bitshift[1] << bitshift2[1]; -+ *(pp++) = (buf & colormask[2]) >> bitshift[2] << bitshift2[2]; -+ *(pp++) = (buf & colormask[3]) >> bitshift[3] << bitshift2[3]; -+ *(pp++) = (buf & colormask[4]) >> bitshift[4] << bitshift2[4]; -+ *(pp++) = (buf & colormask[5]) >> bitshift[5] << bitshift2[5]; -+ } -+ if (w & 1) { /* padded to 2 pix */ -+ buf = getint(fp); -+ *(pp++) = (buf & colormask[0]) >> bitshift[0]; -+ *(pp++) = (buf & colormask[1]) >> bitshift[1]; -+ *(pp++) = (buf & colormask[2]) >> bitshift[2]; -+ } -+ } -+ -+ return FERROR(fp)? 1 : 0; -+} -+ -+ -+ -+/*******************************************/ -+static int loadBMP24(fp, pic24, w, h, bits) /* also handles 32-bit BI_RGB */ - FILE *fp; - byte *pic24; -- u_int w,h; -+ u_int w,h, bits; - { - int i,j,padb,rv; -- byte *pp; -+ byte *pp = pic24 + ((h - 1) * w * 3); -+ size_t l = w*h*3; - - rv = 0; - - padb = (4 - ((w*3) % 4)) & 0x03; /* # of pad bytes to read at EOscanline */ -+ if (bits==32) padb = 0; - - for (i=h-1; i>=0; i--) { - pp = pic24 + (i * w * 3); - if ((i&0x3f)==0) WaitCursor(); -- -- for (j=0; j>= 1; -+ } -+ -+ colorbits[i] = 0; -+ for (; bit < 32; ++bit) { -+ if (buf & 1) -+ ++colorbits[i]; -+ else -+ break; -+ buf >>= 1; -+ } -+ if (colorbits[i] > 8) { /* over 8-bit depth */ -+ bitshift[i] += (colorbits[i] - 8); -+ bitshift2[i] = 0; -+ } else -+ bitshift2[i] = 8 - colorbits[i]; -+ } -+ -+ if (DEBUG > 1) -+ fprintf(stderr, "loadBMP32: bitfields\n" -+ "\tR: bits = %2d, mask = %08x, shift >>%2d, <<%2d\n" -+ "\tG: bits = %2d, mask = %08x, shift >>%2d, <<%2d\n" -+ "\tB: bits = %2d, mask = %08x, shift >>%2d, <<%2d\n", -+ colorbits[0], colormask[0], bitshift[0], bitshift2[0], -+ colorbits[1], colormask[1], bitshift[1], bitshift2[1], -+ colorbits[2], colormask[2], bitshift[2], bitshift2[2]); -+ -+ for (y = h-1; y >= 0; y--) { -+ pp = pic24 + (3 * w * y); -+ if ((y&0x3f)==0) WaitCursor(); -+ -+ for(x = w; x > 0; x --) { -+ buf = getint(fp); -+ *(pp++) = (buf & colormask[0]) >> bitshift[0] << bitshift2[0]; -+ *(pp++) = (buf & colormask[1]) >> bitshift[1] << bitshift2[1]; -+ *(pp++) = (buf & colormask[2]) >> bitshift[2] << bitshift2[2]; -+ } -+ } -+ -+ return FERROR(fp)? 1 : 0; -+} - - - - /*******************************************/ --static unsigned int getshort(fp) -+static u_int getshort(fp) - FILE *fp; - { - int c, c1; - c = getc(fp); c1 = getc(fp); -- return ((unsigned int) c) + (((unsigned int) c1) << 8); -+ return ((u_int) c) + (((u_int) c1) << 8); - } - - - /*******************************************/ --static unsigned int getint(fp) -+static u_int getint(fp) - FILE *fp; - { - int c, c1, c2, c3; - c = getc(fp); c1 = getc(fp); c2 = getc(fp); c3 = getc(fp); -- return ((unsigned int) c) + -- (((unsigned int) c1) << 8) + -- (((unsigned int) c2) << 16) + -- (((unsigned int) c3) << 24); -+ return ((u_int) c) + -+ (((u_int) c1) << 8) + -+ (((u_int) c2) << 16) + -+ (((u_int) c3) << 24); - } - - -@@ -518,7 +769,7 @@ - { - int c, c1; - -- c = ((unsigned int ) i) & 0xff; c1 = (((unsigned int) i)>>8) & 0xff; -+ c = ((u_int) i) & 0xff; c1 = (((u_int) i)>>8) & 0xff; - putc(c, fp); putc(c1,fp); - } - -@@ -529,10 +780,10 @@ - int i; - { - int c, c1, c2, c3; -- c = ((unsigned int ) i) & 0xff; -- c1 = (((unsigned int) i)>>8) & 0xff; -- c2 = (((unsigned int) i)>>16) & 0xff; -- c3 = (((unsigned int) i)>>24) & 0xff; -+ c = ((u_int) i) & 0xff; -+ c1 = (((u_int) i)>>8) & 0xff; -+ c2 = (((u_int) i)>>16) & 0xff; -+ c3 = (((u_int) i)>>24) & 0xff; - - putc(c, fp); putc(c1,fp); putc(c2,fp); putc(c3,fp); - } -@@ -562,11 +813,11 @@ - * 8-bit image - * note that PIC24 and F_BWDITHER/F_REDUCED won't happen - * -- * if colorstyle == F_BWDITHER, it writes a 1-bit image -+ * if colorstyle == F_BWDITHER, it writes a 1-bit image - * - */ - -- int i,j, nc, nbits, bperlin, cmaplen; -+ int i,j, nc, nbits, bperlin, cmaplen, npixels; - byte *graypic, *sp, *dp, graymap[256]; - - nc = nbits = cmaplen = 0; -@@ -576,10 +827,16 @@ - /* generate a faked 8-bit per pixel image with a grayscale cmap, - so that it can just fall through existing 8-bit code */ - -- graypic = (byte *) malloc((size_t) w*h); -+ npixels = w * h; -+ if (w <= 0 || h <= 0 || npixels/w != h) { -+ SetISTR(ISTR_WARNING, "image dimensions too large"); -+ return -1; -+ } -+ -+ graypic = (byte *) malloc((size_t) npixels); - if (!graypic) FatalError("unable to malloc in WriteBMP()"); - -- for (i=0,sp=pic824,dp=graypic; i=0; i--) { -- pp = pic8 + (i * w); -+ pp = pic8 + (i * w); - if ((i&0x3f)==0) WaitCursor(); - - for (j=bitnum=c=0; j<=padw; j++,bitnum++) { -@@ -716,7 +973,7 @@ - putc(c,fp); - bitnum = c = 0; - } -- -+ - c <<= 1; - - if (j /* access() */ - - #if defined(VMS) || defined(isc) - typedef unsigned int mode_t; /* file mode bits */ - #endif - -+#ifndef MAX -+# define MAX(a,b) (((a)>(b))?(a):(b)) /* used only for wheelmouse support */ -+#endif -+ - - /* load up built-in icons */ - #include "bits/br_file" -@@ -34,27 +39,40 @@ - #include "bits/br_sock" - #include "bits/br_fifo" - #include "bits/br_error" --#include "bits/br_unknown" -+/* #include "bits/br_unknown" commented out (near line 492) */ -+ - #include "bits/br_cmpres" -+#include "bits/br_bzip2" - --#include "bits/br_gif" --#include "bits/br_pm" --#include "bits/br_pbm" --#include "bits/br_xbm" --#include "bits/br_sunras" - #include "bits/br_bmp" --#include "bits/br_utah" -+#include "bits/br_fits" -+#include "bits/br_gif" -+#include "bits/br_iff" - #include "bits/br_iris" --#include "bits/br_pcx" - #include "bits/br_jfif" --#include "bits/br_tiff" -+#include "bits/br_jp2" -+#include "bits/br_jpc" -+#include "bits/br_mag" -+#include "bits/br_maki" -+#include "bits/br_mgcsfx" -+#include "bits/br_pbm" -+#include "bits/br_pcd" -+#include "bits/br_pcx" - #include "bits/br_pds" -+#include "bits/br_pi" -+#include "bits/br_pic" -+#include "bits/br_pic2" -+#include "bits/br_pm" -+#include "bits/br_png" - #include "bits/br_ps" --#include "bits/br_iff" -+#include "bits/br_sunras" - #include "bits/br_targa" -+#include "bits/br_tiff" -+#include "bits/br_utah" -+#include "bits/br_xbm" - #include "bits/br_xpm" - #include "bits/br_xwd" --#include "bits/br_fits" -+#include "bits/br_zx" /* [JCE] The Spectrum+3 icon */ - - #include "bits/br_trash" - #include "bits/fcurs" -@@ -90,17 +108,28 @@ - #define BF_COMPRESS 21 - #define BF_PS 22 - #define BF_IFF 23 --#define BF_TARGA 24 -+#define BF_TGA 24 - #define BF_XPM 25 - #define BF_XWD 26 - #define BF_FITS 27 --#define BF_MAX 28 /* # of built-in icons */ -+#define BF_PNG 28 -+#define BF_ZX 29 /* [JCE] Spectrum SCREEN$ */ -+#define BF_PCD 30 -+#define BF_BZIP2 31 -+#define BF_JP2 32 -+#define BF_JPC 33 -+#define JP_EXT_BF (BF_JPC) -+#define BF_MAG (JP_EXT_BF + 1) -+#define BF_MAKI (JP_EXT_BF + 2) -+#define BF_PIC (JP_EXT_BF + 3) -+#define BF_PI (JP_EXT_BF + 4) -+#define BF_PIC2 (JP_EXT_BF + 5) -+#define BF_MGCSFX (JP_EXT_BF + 6) -+#define JP_EXT_BF_END (BF_MGCSFX) -+#define BF_MAX (JP_EXT_BF_END + 1) /* # of built-in icons */ - - #define ISLOADABLE(ftyp) (ftyp!=BF_DIR && ftyp!=BF_CHR && ftyp!=BF_BLK && \ -- ftyp!=BF_SOCK && ftyp!=BF_FIFO) -- --#define DEF_BROWWIDE 615 /* default size of window */ --#define DEF_BROWHIGH 356 -+ ftyp!=BF_SOCK && ftyp!=BF_FIFO) - - #define SCROLLVERT 8 /* height of scroll region at top/bottom of iconw */ - #define PAGEVERT 40 /* during rect drag, if further than this, page */ -@@ -113,59 +142,93 @@ - #define BOTMARGIN 58 /* room for a row of buttons and a line of text */ - #define LRMARGINS 5 /* left and right margins */ - --#define ISIZE_WIDE 80 /* maximum size of an icon */ --#define ISIZE_HIGH 60 -+/* some people like bigger icons; 4:3 aspect ratio is recommended -+ * (NOTE: standard XV binaries will not be able to read larger icons!) */ -+#ifndef ISIZE_WIDE -+# define ISIZE_WIDE 80 /* maximum size of an icon */ -+#endif -+#ifndef ISIZE_HIGH -+# define ISIZE_HIGH 60 -+#endif -+ -+#ifndef ISIZE_WPAD -+# define ISIZE_WPAD 16 /* extra horizontal padding between icons */ -+#endif -+ -+#ifndef INUM_WIDE -+# define INUM_WIDE 6 /* size initial window to hold this many icons */ -+#endif -+#ifndef INUM_HIGH -+# define INUM_HIGH 3 -+#endif - --#define ISPACE_WIDE (ISIZE_WIDE+16) /* icon spacing */ -+#define ISPACE_WIDE (ISIZE_WIDE+ISIZE_WPAD) /* icon spacing */ - #define ISPACE_TOP 4 /* dist btwn top of ISPACE and ISIZE */ - #define ISPACE_TTOP 4 /* dist btwn bot of icon and title */ - #define ISPACE_HIGH (ISIZE_HIGH+ISPACE_TOP+ISPACE_TTOP+16+4) - - #define DBLCLICKTIME 300 /* milliseconds */ - --/* button/menu indicies */ --#define BR_CHDIR 0 --#define BR_DELETE 1 --#define BR_MKDIR 2 --#define BR_RENAME 3 --#define BR_RESCAN 4 --#define BR_UPDATE 5 --#define BR_NEWWIN 6 --#define BR_GENICON 7 --#define BR_SELALL 8 --#define BR_TEXTVIEW 9 --#define BR_RECURSUP 10 --#define BR_QUIT 11 --#define BR_CLOSE 12 --#define BR_NBUTTS 13 /* # of command buttons */ --#define BR_SEP1 13 /* separator */ --#define BR_HIDDEN 14 --#define BR_SELFILES 15 --#define BR_NCMDS 16 /* # of menu commands */ -+#define COUNT(x) (sizeof (x) / sizeof (x)[0]) -+ -+/* button/menu indices */ -+#define BR_CHDIR 0 -+#define BR_DELETE 1 -+#define BR_MKDIR 2 -+#define BR_RENAME 3 -+#define BR_RESCAN 4 -+#define BR_UPDATE 5 -+#define BR_NEWWIN 6 -+#define BR_GENICON 7 -+#define BR_SELALL 8 -+#define BR_TEXTVIEW 9 -+#define BR_RECURSUP 10 -+#define BR_QUIT 11 -+#define BR_CLOSE 12 -+#define BR_NBUTTS 13 /* # of command buttons */ -+#define BR_SEP1 13 /* separator */ -+#define BR_HIDDEN 14 -+#define BR_SELFILES 15 -+#define BR_CLIPBRD 16 -+#ifdef AUTO_EXPAND -+# define BR_CLEARVD 17 -+# define BR_NCMDS 18 /* # of menu commands */ -+#else -+# define BR_NCMDS 17 /* # of menu commands */ -+#endif - - #define BUTTW 80 - #define BUTTH 24 - --static char *showHstr = "Show hidden files"; --static char *hideHstr = "Hide 'hidden' files"; -- --static char *cmdMList[] = { "Change directory...\t^c", -- "Delete file(s)\t^d", -- "New directory...\t^n", -- "Rename file...\t^r", -- "Rescan directory\t^s", -- "Update icons\t^u", -- "Open new window\t^w", -- "Generate icon(s)\t^g", -- "Select all files\t^a", -- "Text view\t^t", -- "Recursive Update\t^e", -- "Quit xv\t^q", -- "Close window\t^c", -- MBSEP, -- "Show hidden files", /* no equiv */ -- "Select files...\t^f" -- }; -+/* original size of window was 615 x 356 (for 80x60 thumbnails in 6x3 array) */ -+#define DEF_BROWWIDE (ISPACE_WIDE * INUM_WIDE + LRMARGINS * 2 + 29) -+#define DEF_BROWHIGH (ISPACE_HIGH * INUM_HIGH + BUTTH * 2 + 16 + 28) -+/* last number is a fudge--e.g., extra spaces, borders, etc. -----^ */ -+ -+static const char *showHstr = "Show hidden files"; -+static const char *hideHstr = "Hide 'hidden' files"; -+ -+static const char *cmdMList[] = { "Change directory...\t^c", -+ "Delete file(s)\t^d", -+ "New directory...\t^n", -+ "Rename file...\t^r", -+ "Rescan directory\t^s", -+ "Update icons\t^u", -+ "Open new window\t^w", -+ "Generate icon(s)\t^g", -+ "Select all files\t^a", -+ "Text view\t^t", -+ "Recursive Update\t^e", -+ "Quit xv\t^q", -+ "Close window\t^c", -+ MBSEP, -+ "Show hidden files", /* no equiv */ -+ "Select files...\t^f", -+ "Clipboard\t^x" -+#ifdef AUTO_EXPAND -+ , "Clear virtual directory" -+#endif -+ }; - - - #define MAXDEEP 30 /* maximum directory depth */ -@@ -183,32 +246,43 @@ - } BFIL; - - /* data needed per schnauzer window */ --typedef struct { Window win, iconW; -- int vis, wasvis; -+typedef struct { Window win, iconW; -+ int vis, wasvis; - -- int wide, high; -- int iwWide, iwHigh; -- int numWide, numHigh, visHigh; -- -- SCRL scrl; -- BUTT but[BR_NBUTTS]; -- MBUTT dirMB, cmdMB; -- char dispstr[256]; -- int numbutshown; -- int showhidden; -- -- int numlit; -- BFIL *bfList; -- int bfLen; -- int lastIconClicked; -+ int wide, high; -+ int iwWide, iwHigh; -+ int numWide, numHigh, visHigh; -+ -+ SCRL scrl; -+ BUTT but[BR_NBUTTS]; -+ MBUTT dirMB, cmdMB; -+ char dispstr[256]; -+ int numbutshown; -+ int showhidden; -+ -+ int numlit; -+ BFIL *bfList; -+ int bfLen; -+ int lastIconClicked; - unsigned long lastClickTime; - -- int ndirs; -- char *mblist[MAXDEEP]; -- char path[MAXPATHLEN+2]; /* '/' terminated */ -+ int ndirs; -+ const char *mblist[MAXDEEP]; -+ char path[MAXPATHLEN+2]; /* '/' terminated */ -+ -+ char *str; -+ int siz, len; -+ time_t lst; - } BROWINFO; - - -+/* keep track of last icon visible in each path */ -+typedef struct IVIS IVIS; -+ struct IVIS { IVIS *next; -+ char *name; -+ int icon; -+ }; -+ - static Cursor movecurs, copycurs, delcurs; - static BROWINFO binfo[MAXBRWIN]; - static Pixmap bfIcons[BF_MAX], trashPix; -@@ -220,7 +294,7 @@ - static void closeBrowse PARM((BROWINFO *)); - static int brChkEvent PARM((BROWINFO *, XEvent *)); - static void resizeBrowse PARM((BROWINFO *, int, int)); --static void setBrowStr PARM((BROWINFO *, char *)); -+static void setBrowStr PARM((BROWINFO *, const char *)); - static void doCmd PARM((BROWINFO *, int)); - static void drawBrow PARM((BROWINFO *)); - static void drawNumfiles PARM((BROWINFO *)); -@@ -255,12 +329,12 @@ - static void rescanDir PARM((BROWINFO *)); - static int namcmp PARM((const void *, const void *)); - static void freeBfList PARM((BROWINFO *br)); --static char **getDirEntries PARM((char *, int *, int)); -+static char **getDirEntries PARM((const char *, int *, int)); - static void computeScrlVals PARM((BROWINFO *, int *, int *)); - static void genSelectedIcons PARM((BROWINFO *)); - static void genIcon PARM((BROWINFO *, BFIL *)); - static void loadThumbFile PARM((BROWINFO *, BFIL *)); --static void writeThumbFile PARM((BROWINFO *, BFIL *, byte *, int, -+static void writeThumbFile PARM((BROWINFO *, BFIL *, byte *, int, - int, char *)); - - static void makeThumbDir PARM((BROWINFO *)); -@@ -278,14 +352,14 @@ - static void doSelFilesCmd PARM((BROWINFO *)); - - static void doRecurseCmd PARM((BROWINFO *)); --static void recurseUpdate PARM((BROWINFO *, char *)); -+static void recurseUpdate PARM((BROWINFO *, const char *)); - - static void rm_file PARM((BROWINFO *, char *)); - static void rm_dir PARM((BROWINFO *, char *)); - static void rm_dir1 PARM((BROWINFO *)); - --static void dragFiles PARM((BROWINFO *, BROWINFO *, char *, char *, -- char *, char **, int, int)); -+static void dragFiles PARM((BROWINFO *, BROWINFO *, char *, char *, -+ const char *, char **, int, int)); - static int moveFile PARM((char *, char *)); - static int copyFile PARM((char *, char *)); - static void cp PARM((void)); -@@ -294,16 +368,25 @@ - static void cp_special PARM((struct stat *, int)); - static void cp_fifo PARM((struct stat *, int)); - -+#ifdef AUTO_EXPAND -+static int stat2bf PARM((u_int, char *)); -+#else - static int stat2bf PARM((u_int)); -+#endif - - static int selmatch PARM((char *, char *)); - static int selmatch1 PARM((char *, char *)); -+static void recIconVisible PARM((char *, int)); -+static void restIconVisible PARM((BROWINFO *)); -+ -+static void clipChanges PARM((BROWINFO *)); - - - - /***************************************************************/ - void CreateBrowse(geom, fgstr, bgstr, histr, lostr) -- char *geom, *fgstr, *bgstr, *histr, *lostr; -+ const char *geom; -+ const char *fgstr, *bgstr, *histr, *lostr; - { - int i; - XSizeHints hints; -@@ -369,8 +452,8 @@ - if (gset & YNegative) gy1 = gy - i * 20; - else gy1 = gy + i * 20; - -- if ((gset & WidthValue) && (gset & HeightValue)) -- sprintf(wgeom, "%dx%d%s%d%s%d", gw, gh, -+ if ((gset & WidthValue) && (gset & HeightValue)) -+ sprintf(wgeom, "%dx%d%s%d%s%d", gw, gh, - (gset & XNegative) ? "-" : "+", abs(gx1), - (gset & YNegative) ? "-" : "+", abs(gy1)); - else -@@ -402,11 +485,11 @@ - - /* note: everything is sized and positioned in ResizeBrowse() */ - -- br->iconW = XCreateSimpleWindow(theDisp, br->win, 1,1, 100,100, -+ br->iconW = XCreateSimpleWindow(theDisp, br->win, 1,1, 100,100, - 1,browfg,browbg); - if (!br->iconW) FatalError("can't create schnauzer icon window!"); - -- SCCreate(&(br->scrl), br->win, 0,0, 1,100, 0,0,0,0, -+ SCCreate(&(br->scrl), br->win, 0,0, 1,100, 0,0,0,0, - browfg, browbg, browhi, browlo, drawIconWin); - - -@@ -448,10 +531,12 @@ - "Text view",browfg,browbg,browhi,browlo); - BTCreate(&(br->but[BR_RECURSUP]), br->win, 0,0,BUTTW,BUTTH, - "RecursUpd",browfg,browbg,browhi,browlo); -- BTCreate(&(br->but[BR_QUIT]), br->win, 0,0,BUTTW,BUTTH, -+ BTCreate(&(br->but[BR_QUIT]), br->win, 0,0,BUTTW,BUTTH, - "Quit xv",browfg,browbg,browhi,browlo); -- BTCreate(&(br->but[BR_CLOSE]), br->win, 0,0,BUTTW,BUTTH, -+ BTCreate(&(br->but[BR_CLOSE]), br->win, 0,0,BUTTW,BUTTH, - "Close",browfg,browbg,browhi,browlo); -+ BTCreate(&(br->but[BR_CLIPBRD]), br->win, 0,0,BUTTW,BUTTH, -+ "Clipboard",browfg,browbg,browhi,browlo); - - XMapSubwindows(theDisp, br->win); - -@@ -486,55 +571,62 @@ - bfIcons[BF_SOCK]=MakePix1(br->win,br_sock_bits,br_sock_width,br_sock_height); - bfIcons[BF_FIFO]=MakePix1(br->win,br_fifo_bits,br_fifo_width,br_fifo_height); - -- bfIcons[BF_ERROR] = MakePix1(br->win, br_error_bits, -+ bfIcons[BF_ERROR] = MakePix1(br->win, br_error_bits, - br_error_width, br_error_height); - - /* bfIcons[BF_UNKNOWN] = MakePix1(br->win, br_unknown_bits, - br_unknown_width, br_unknown_height); */ -- - bfIcons[BF_UNKNOWN] = bfIcons[BF_FILE]; - -- bfIcons[BF_GIF] =MakePix1(br->win,br_gif_bits, br_gif_width, br_gif_height); -- bfIcons[BF_PM] =MakePix1(br->win,br_pm_bits, br_pm_width, br_pm_height); -- bfIcons[BF_PBM] =MakePix1(br->win,br_pbm_bits, br_pbm_width, br_pbm_height); -- bfIcons[BF_XBM] =MakePix1(br->win,br_xbm_bits, br_xbm_width, br_xbm_height); -- -- bfIcons[BF_SUNRAS] = MakePix1(br->win, br_sunras_bits, -- br_sunras_width, br_sunras_height); -- bfIcons[BF_BMP] = MakePix1(br->win,br_bmp_bits, -- br_bmp_width, br_bmp_height); -- bfIcons[BF_UTAHRLE] = MakePix1(br->win, br_utahrle_bits, -- br_utahrle_width, br_utahrle_height); -+ bfIcons[BF_COMPRESS] = MakePix1(br->win, br_cmpres_bits, -+ br_cmpres_width, br_cmpres_height); -+ bfIcons[BF_BZIP2] = MakePix1(br->win, br_bzip2_bits, -+ br_bzip2_width, br_bzip2_height); - -+ bfIcons[BF_BMP] =MakePix1(br->win,br_bmp_bits, br_bmp_width, br_bmp_height); -+ bfIcons[BF_FITS]=MakePix1(br->win,br_fits_bits,br_fits_width,br_fits_height); -+ bfIcons[BF_GIF] =MakePix1(br->win,br_gif_bits, br_gif_width, br_gif_height); -+ bfIcons[BF_IFF] =MakePix1(br->win,br_iff_bits, br_iff_width, br_iff_height); - bfIcons[BF_IRIS]=MakePix1(br->win,br_iris_bits,br_iris_width,br_iris_height); -- bfIcons[BF_PCX] =MakePix1(br->win,br_pcx_bits, br_pcx_width, br_pcx_height); - bfIcons[BF_JFIF]=MakePix1(br->win,br_jfif_bits,br_jfif_width,br_jfif_height); -- bfIcons[BF_TIFF]=MakePix1(br->win,br_tiff_bits,br_tiff_width,br_tiff_height); -+ bfIcons[BF_JP2] =MakePix1(br->win,br_jp2_bits, br_jp2_width, br_jp2_height); -+ bfIcons[BF_JPC] =MakePix1(br->win,br_jpc_bits, br_jpc_width, br_jpc_height); -+ bfIcons[BF_MAG] =MakePix1(br->win,br_mag_bits, br_mag_width, br_mag_height); -+ bfIcons[BF_MAKI]=MakePix1(br->win,br_maki_bits,br_maki_width,br_maki_height); -+ bfIcons[BF_PBM] =MakePix1(br->win,br_pbm_bits, br_pbm_width, br_pbm_height); -+ bfIcons[BF_PCD] =MakePix1(br->win,br_pcd_bits, br_pcd_width, br_pcd_height); -+ bfIcons[BF_PCX] =MakePix1(br->win,br_pcx_bits, br_pcx_width, br_pcx_height); - bfIcons[BF_PDS] =MakePix1(br->win,br_pds_bits, br_pds_width, br_pds_height); -- -- bfIcons[BF_COMPRESS]= MakePix1(br->win, br_cmpres_bits, -- br_cmpres_width, br_cmpres_height); -- -+ bfIcons[BF_PIC2]=MakePix1(br->win,br_pic2_bits,br_pic2_width,br_pic2_height); -+ bfIcons[BF_PIC] =MakePix1(br->win,br_pic_bits, br_pic_width, br_pic_height); -+ bfIcons[BF_PI] =MakePix1(br->win,br_pi_bits, br_pi_width, br_pi_height); -+ bfIcons[BF_PM] =MakePix1(br->win,br_pm_bits, br_pm_width, br_pm_height); -+ bfIcons[BF_PNG] =MakePix1(br->win,br_png_bits, br_png_width, br_png_height); - bfIcons[BF_PS] =MakePix1(br->win,br_ps_bits, br_ps_width, br_ps_height); -- bfIcons[BF_IFF] =MakePix1(br->win,br_iff_bits, br_iff_width, br_iff_height); -- -- bfIcons[BF_TARGA] = MakePix1(br->win, br_targa_bits, -- br_targa_width, br_targa_height); -- -+ bfIcons[BF_TGA] =MakePix1(br->win,br_tga_bits, br_tga_width, br_tga_height); -+ bfIcons[BF_TIFF]=MakePix1(br->win,br_tiff_bits,br_tiff_width,br_tiff_height); -+ bfIcons[BF_XBM] =MakePix1(br->win,br_xbm_bits, br_xbm_width, br_xbm_height); - bfIcons[BF_XPM] =MakePix1(br->win,br_xpm_bits, br_xpm_width, br_xpm_height); - bfIcons[BF_XWD] =MakePix1(br->win,br_xwd_bits, br_xwd_width, br_xwd_height); -- bfIcons[BF_FITS]=MakePix1(br->win,br_fits_bits,br_fits_width,br_fits_height); -+ bfIcons[BF_ZX] =MakePix1(br->win,br_zx_bits, br_zx_width, br_zx_height); -+ -+ bfIcons[BF_SUNRAS] = MakePix1(br->win, br_sunras_bits, -+ br_sunras_width, br_sunras_height); -+ bfIcons[BF_UTAHRLE] = MakePix1(br->win, br_utahrle_bits, -+ br_utahrle_width, br_utahrle_height); -+ bfIcons[BF_MGCSFX] = MakePix1(br->win, br_mgcsfx_bits, -+ br_mgcsfx_width, br_mgcsfx_height); - - - /* check that they all got built */ - for (i=0; ivis) break; - } - if (i==MAXBRWIN) return; /* full up: shouldn't happen */ -- -+ - anyBrowUp = 1; - XMapRaised(theDisp, br->win); - br->vis = 1; -- -+ - freeBfList(br); - - /* see if some browser is pointing to the same path as CWD. If so, -@@ -645,7 +738,7 @@ - /* free all info for this browse window */ - freeBfList(br); - sprintf(br->path, BOGUSPATH); -- -+ - /* turn on 'open new window' command doodads */ - windowMB.dim[WMB_BROWSE] = 0; - for (i=0; itype == Expose) { - int x,y,w,h; - XExposeEvent *e = (XExposeEvent *) xev; - x = e->x; y = e->y; w = e->width; h = e->height; - - /* throw away excess redraws for 'dumb' windows */ -- if (e->count > 0 && (e->window == br->scrl.win)) {} -+ if (e->count > 0 && (e->window == br->scrl.win)) -+ ; - -- else if (e->window == br->scrl.win) SCRedraw(&(br->scrl)); -+ else if (e->window == br->scrl.win) -+ SCRedraw(&(br->scrl)); - - else if (e->window == br->win || e->window == br->iconW) { /* smart wins */ - /* group individual expose rects into a single expose region */ -@@ -788,7 +897,7 @@ - fprintf(stderr,"grouped %d expose events into %d,%d %dx%d rect\n", - count, rect.x, rect.y, rect.width, rect.height); - } -- -+ - if (e->window == br->win) drawBrow(br); - - else if (e->window == br->iconW) -@@ -807,13 +916,55 @@ - int i,x,y; - x = e->x; y = e->y; - -+#ifdef VS_RESCMAP -+ if (browCmap && browPerfect && (_IfTempOut!=0)) { -+ XSetWindowAttributes xswa; -+ _IfTempOut--; -+ xswa.colormap = browCmap; -+ for(i=0;ibutton == Button1) { - if (e->window == br->win) clickBrow(br,x,y); - else if (e->window == br->scrl.win) SCTrack(&(br->scrl),x,y); - else if (e->window == br->iconW) { -- i = clickIconWin(br, x,y,(unsigned long) e->time, -+ i = clickIconWin(br, x,y,(unsigned long) e->time, - (e->state&ControlMask) || (e->state&ShiftMask)); -- -+ } -+ else rv = 0; -+ } -+ else if (e->button == Button4) { /* note min vs. max, + vs. - */ -+ /* scroll regardless of where we are in the browser window */ -+ if (e->window == br->win || -+ e->window == br->scrl.win || -+ e->window == br->iconW) -+ { -+ SCRL *sp=&(br->scrl); -+ int halfpage=MAX(1,sp->page/2); /* user resize to 1 line? */ -+ -+ if (sp->val > sp->min+halfpage) -+ SCSetVal(sp,sp->val-halfpage); -+ else -+ SCSetVal(sp,sp->min); -+ } -+ else rv = 0; -+ } -+ else if (e->button == Button5) { /* note max vs. min, - vs. + */ -+ /* scroll regardless of where we are in the browser window */ -+ if (e->window == br->win || -+ e->window == br->scrl.win || -+ e->window == br->iconW) -+ { -+ SCRL *sp=&(br->scrl); -+ int halfpage=MAX(1,sp->page/2); /* user resize to 1 line? */ -+ -+ if (sp->val < sp->max-halfpage) -+ SCSetVal(sp,sp->val+halfpage); -+ else -+ SCSetVal(sp,sp->max); - } - else rv = 0; - } -@@ -837,7 +988,7 @@ - - if (br->wide != e->width || br->high != e->height) { - if (DEBUG) fprintf(stderr,"Forcing a redraw! (from configure)\n"); -- XClearArea(theDisp, br->win, 0, 0, -+ XClearArea(theDisp, br->win, 0, 0, - (u_int) e->width, (u_int) e->height, True); - resizeBrowse(br, e->width, e->height); - } -@@ -877,7 +1028,7 @@ - int w,h; - { - XSizeHints hints; -- int i, minv, maxv, curv, page, maxh; -+ int i, maxv, page, maxh; - - if (br->wide == w && br->high == h) return; /* no change in size */ - -@@ -895,7 +1046,7 @@ - br->iwHigh = (maxh / ISPACE_HIGH) * ISPACE_HIGH; - if (br->iwHigh < ISPACE_HIGH) br->iwHigh = ISPACE_HIGH; - -- XMoveResizeWindow(theDisp, br->iconW, LRMARGINS, TOPMARGIN, -+ XMoveResizeWindow(theDisp, br->iconW, LRMARGINS, TOPMARGIN, - (u_int) br->iwWide, (u_int) br->iwHigh); - - -@@ -907,11 +1058,11 @@ - for (i=0; inumbutshown) -+ if (inumbutshown) - br->but[i].x = br->wide - (1+br->numbutshown-i) * (BUTTW+5); - else if (i==BR_CLOSE) - br->but[i].x = br->wide - (BUTTW+5); -- else -+ else - br->but[i].x = br->wide + 10; /* offscreen */ - - br->but[i].y = br->high - BUTTH - 5; -@@ -928,11 +1079,11 @@ - br->numWide = br->iwWide / ISPACE_WIDE; - br->visHigh = br->iwHigh / ISPACE_HIGH; - -- /* compute minv,maxv,curv,page values based on new current size */ -+ /* compute maxv,page values based on new current size */ - computeScrlVals(br, &maxv, &page); - if (br->scrl.val>maxv) br->scrl.val = maxv; -- -- SCChange(&br->scrl, LRMARGINS+br->iwWide+1, TOPMARGIN, -+ -+ SCChange(&br->scrl, LRMARGINS+br->iwWide+1, TOPMARGIN, - 1, br->iwHigh, 0, maxv, br->scrl.val, page); - } - -@@ -940,12 +1091,12 @@ - - /***************************************************************/ - void SetBrowStr(str) -- char *str; -+ const char *str; - { - /* put string in *all* browse windows */ - int i; - -- for (i=0; idispstr, str, (size_t) 256); -+ br->dispstr[255] = '\0'; - drawBrowStr(br); - XFlush(theDisp); - } -@@ -992,7 +1144,7 @@ - - char tmp[64]; - -- sprintf(tmp, "Re-coloring icons: processed %d out of %d...", -+ sprintf(tmp, "Re-coloring icons: processed %d out of %d...", - i+1, br->bfLen); - setBrowStr(br, tmp); - } -@@ -1011,14 +1163,14 @@ - { - /* called when file 'name' has been deleted. If any of the browsers - were showing the directory that the file was in, does a rescan() */ -- -+ - int i; - char buf[MAXPATHLEN + 2], *tmp; - - strcpy(buf, name); -- tmp = BaseName(buf); -+ tmp = (char *) BaseName(buf); /* intentionally losing constness */ - *tmp = '\0'; /* truncate after last '/' */ -- -+ - for (i=0; ilst = 0; -+ - switch (cmd) { - case BR_CHDIR: doChdirCmd(br); - break; -@@ -1070,9 +1224,9 @@ - case BR_GENICON: genSelectedIcons(br); break; - - case BR_SELALL: { -- int i; char buf[128]; -+ int i; - -- for (i=0; ibfLen; i++) -+ for (i=0; ibfLen; i++) - br->bfList[i].lit = 1; - br->numlit = br->bfLen; - -@@ -1087,20 +1241,25 @@ - break; - - case BR_TEXTVIEW: doTextCmd(br); break; -- -+ - case BR_QUIT: Quit(0); break; - - case BR_CLOSE: closeBrowse(br); break; - - case BR_HIDDEN: br->showhidden = !br->showhidden; -- br->cmdMB.list[cmd] = (br->showhidden) -- ? hideHstr : showHstr; -+ br->cmdMB.list[cmd] = br->showhidden ? hideHstr : showHstr; - rescanDir(br); - break; - - case BR_SELFILES: doSelFilesCmd(br); break; - - case BR_RECURSUP: doRecurseCmd(br); break; -+ -+ case BR_CLIPBRD: clipChanges(br); break; -+ -+#ifdef AUTO_EXPAND -+ case BR_CLEARVD: Vdsettle(); break; -+#endif - } - } - -@@ -1137,16 +1296,16 @@ - - if (br->bfLen != 1) sprintf(foo, "%d files", br->bfLen); - else strcpy(foo, "1 file"); -- -+ - XSetForeground(theDisp, theGC, browbg); -- XFillRectangle(theDisp,br->win, theGC, x+1,y+1, -+ XFillRectangle(theDisp,br->win, theGC, x+1,y+1, - (u_int) StringWidth(foo)+6, (u_int) br->dirMB.h-1); - - XSetForeground(theDisp,theGC,browfg); - XDrawRectangle(theDisp,br->win, theGC, x,y, - (u_int) StringWidth(foo)+7, (u_int) br->dirMB.h); - -- Draw3dRect(br->win, x+1, y+1, (u_int) StringWidth(foo)+5, -+ Draw3dRect(br->win, x+1, y+1, (u_int) StringWidth(foo)+5, - (u_int) br->dirMB.h-2, R3D_IN, 2, browhi, browlo, browbg); - - XSetForeground(theDisp,theGC,browfg); -@@ -1163,7 +1322,7 @@ - - if (nf != 1) sprintf(foo,"%d files",nf); - else strcpy(foo,"1 file"); -- -+ - XClearArea(theDisp,br->win, 30, br->dirMB.y, - (u_int) StringWidth(foo)+8, (u_int) br->dirMB.h+1, False); - } -@@ -1185,13 +1344,13 @@ - - XSetForeground(theDisp,theGC,browfg); - XDrawRectangle(theDisp,br->win, theGC, x,y, (u_int) w, (u_int) h); -- Draw3dRect(br->win, x+1, y+1, (u_int) w-2, (u_int) h-2, -+ Draw3dRect(br->win, x+1, y+1, (u_int) w-2, (u_int) h-2, - R3D_IN, 2, browhi, browlo, browbg); - - XSetForeground(theDisp,theGC,browfg); - XSetBackground(theDisp,theGC,browbg); -- XCopyPlane(theDisp, trashPix, br->win, theGC, -- 0,0,(u_int) br_trash_width, (u_int) br_trash_height, -+ XCopyPlane(theDisp, trashPix, br->win, theGC, -+ 0,0,(u_int) br_trash_width, (u_int) br_trash_height, - x+(w-br_trash_width)/2, y+(h-br_trash_height)/2, - 1L); - } -@@ -1222,7 +1381,7 @@ - y = br->high - (BUTTH+10) - (CHIGH + 6); - - XSetForeground(theDisp, theGC, browbg); -- XFillRectangle(theDisp, br->win, theGC, 0, y+3, -+ XFillRectangle(theDisp, br->win, theGC, 0, y+3, - (u_int) br->wide, (u_int) CHIGH+1); - - XSetForeground(theDisp, theGC, browfg); -@@ -1250,6 +1409,19 @@ - int i, allowtext; - - if (!nostr) setSelInfoStr(br, sel); -+#ifdef AUTO_EXPAND -+ if (Isvdir(br->path)) { -+ BTSetActive(&br->but[BR_DELETE], 0); -+ br->cmdMB.dim[BR_DELETE] = 1; -+ -+ BTSetActive(&br->but[BR_RENAME], 0); -+ br->cmdMB.dim[BR_RENAME] = 1; -+ -+ BTSetActive(&br->but[BR_MKDIR], 0); -+ br->cmdMB.dim[BR_MKDIR] = 1; -+ } -+ else { -+#endif - BTSetActive(&br->but[BR_DELETE], br->numlit>0); - br->cmdMB.dim[BR_DELETE] = !(br->numlit>0); - -@@ -1258,6 +1430,11 @@ - - BTSetActive(&br->but[BR_GENICON], br->numlit>0); - br->cmdMB.dim[BR_GENICON] = !(br->numlit>0); -+#ifdef AUTO_EXPAND -+ BTSetActive(&br->but[BR_MKDIR], 1); -+ br->cmdMB.dim[BR_MKDIR] = 0; -+ } -+#endif - - /* turn on 'text view' cmd if exactly one non-dir is lit */ - allowtext = 0; -@@ -1277,7 +1454,7 @@ - { - /* sets the '# files selected' string in the brow window appropriately */ - -- /* criteria: -+ /* criteria: - * if no files are lit, display '' - * if 1 file is lit, pretend it was selected, fall through... - * if 1 or more files are lit -@@ -1316,10 +1493,13 @@ - - else if (bf->ftype != BF_DIR) { /* no info. display file size */ - struct stat st; -- -+ - sprintf(buf, "%s%s", br->path, bf->name); /* build filename */ -+#ifdef AUTO_EXPAND -+ Dirtovd(buf); -+#endif - if (stat(buf, &st) == 0) { -- sprintf(buf, "%s: %ld bytes", bf->name, st.st_size); -+ sprintf(buf, "%s: %ld bytes", bf->name, (long)st.st_size); - strcat(buf, buf1); - } - } -@@ -1360,8 +1540,8 @@ - if (j>=0 && j < br->bfLen) drawIcon(br,j); - } - } -- -- Draw3dRect(br->iconW, 0, 0, (u_int) br->iwWide-1, (u_int) br->iwHigh-1, -+ -+ Draw3dRect(br->iconW, 0, 0, (u_int) br->iwWide-1, (u_int) br->iwHigh-1, - R3D_IN, 2, browhi, browlo, browbg); - } - -@@ -1371,10 +1551,8 @@ - int delta; - SCRL *sptr; - { -- int i,indx, x,y, ix,iy, num; -- BFIL *bf; -+ int i,indx, num; - BROWINFO *br; -- char tmpstr[64], *nstr; - - /* figure out BROWINFO pointer from SCRL pointer */ - for (i=0; i br->iwHigh-4) h = (br->iwHigh-4)-y + 2; - } - XFillRectangle(theDisp, br->iconW, theGC, x, y, ISPACE_WIDE, (u_int) h); -- -+ - if (indx>=0 && indx < br->bfLen) drawIcon(br, indx); - } - } - -- Draw3dRect(br->iconW, 0, 0, (u_int) br->iwWide-1, (u_int) br->iwHigh-1, -+ Draw3dRect(br->iconW, 0, 0, (u_int) br->iwWide-1, (u_int) br->iwHigh-1, - R3D_IN, 2, browhi, browlo, browbg); - } - -@@ -1431,7 +1609,11 @@ - { - int i,x,y,ix,iy,sw,sh,sx,sy; - BFIL *bf; -- char tmpstr[64], fixedname[64], *nstr, *str; -+ const char *nstr, *cstr; -+ char tmpstr[64]; -+#ifdef VMS -+ char fixedname[64]; -+#endif - - - if (num<0 || num >= br->bfLen) return; -@@ -1463,49 +1645,51 @@ - } - - else if (bf->ftype == BF_HAVEIMG && bf->ximage) { -- XPutImage(theDisp, br->iconW, theGC, bf->ximage, 0,0, ix,iy, -+ XPutImage(theDisp, br->iconW, theGC, bf->ximage, 0,0, ix,iy, - (u_int) bf->w, (u_int) bf->h); - } - - else { /* shouldn't happen */ -- XDrawRectangle(theDisp, br->iconW, theGC, ix, iy, -+ XDrawRectangle(theDisp, br->iconW, theGC, ix, iy, - (u_int) bf->w, (u_int) bf->h); - } - - -- str = bf->name; -+ cstr = bf->name; - #ifdef VMS - if (bf->ftype == BF_DIR) { -+ char *vstr; - strcpy(fixedname, bf->name); -- str = rindex(fixedname, '.'); /* lop off '.DIR' suffix, if any */ -- if (str) *str = '\0'; -- str = fixedname; -+ vstr = rindex(fixedname, '.'); /* lop off '.DIR' suffix, if any */ -+ if (vstr) *vstr = '\0'; -+ cstr = fixedname; - } - #endif /* VMS */ - -- if (!strcmp(bf->name,"..")) str = ""; -+ if (!strcmp(bf->name,"..")) cstr = ""; - - - /* decide if the title is too big, and shorten if neccesary */ -- if (StringWidth(str) > ISPACE_WIDE-6) { -- int dotpos; -- strncpy(tmpstr, str, (size_t) 56); -+ if (StringWidth(cstr) > ISPACE_WIDE-6) { -+ int dotpos; -+ strncpy(tmpstr, cstr, (size_t) 56); -+ tmpstr[56] = '\0'; /* MR: otherwise it dies on long file names */ - dotpos = strlen(tmpstr); - strcat(tmpstr,"..."); - - while(StringWidth(tmpstr) > ISPACE_WIDE-6 && dotpos>0) { - /* change last non-dot char in tmpstr to a dot, and lop off - last dot */ -- -+ - dotpos--; - tmpstr[dotpos] = '.'; - tmpstr[dotpos+3] = '\0'; - } -- -+ - nstr = tmpstr; - } -- else nstr = str; -- -+ else nstr = cstr; -+ - - /* draw the title */ - sw = StringWidth(nstr); -@@ -1516,12 +1700,12 @@ - - XSetForeground(theDisp, theGC, - (bf->lit && bf->lit!=ICON_ONLY) ? browfg : browbg); -- XFillRectangle(theDisp, br->iconW, theGC, sx, sy, -+ XFillRectangle(theDisp, br->iconW, theGC, sx, sy, - (u_int) sw + 4, (u_int) sh + 2); - - XSetForeground(theDisp, theGC, - (bf->lit && bf->lit!=ICON_ONLY) ? browbg : browfg); -- CenterString(br->iconW, x + ISPACE_WIDE/2, -+ CenterString(br->iconW, x + ISPACE_WIDE/2, - y + ISPACE_TOP + ISIZE_HIGH + ISPACE_TTOP + CHIGH/2, nstr); - } - -@@ -1535,7 +1719,6 @@ - - int i,x,y,ix,iy,w,h; - BFIL *bf; -- char tmpstr[64], *nstr; - - if (num<0 || num >= br->bfLen) return; - bf = &(br->bfList[num]); -@@ -1579,12 +1762,12 @@ - y = (i / br->numWide) * ISPACE_HIGH; - - XSetForeground(theDisp, theGC, browbg); -- XFillRectangle(theDisp, br->iconW, theGC, -+ XFillRectangle(theDisp, br->iconW, theGC, - x, y + ISPACE_TOP + ISIZE_HIGH + ISPACE_TTOP - 1, - (u_int) ISPACE_WIDE, (u_int) LINEHIGH); - -- if (ctrlColor) -- Draw3dRect(br->iconW, 0, 0, (u_int) br->iwWide-1, (u_int) br->iwHigh-1, -+ if (ctrlColor) -+ Draw3dRect(br->iconW, 0, 0, (u_int) br->iwWide-1, (u_int) br->iwHigh-1, - R3D_IN, 2, browhi, browlo, browbg); - } - -@@ -1597,6 +1780,10 @@ - { - int sval, first, numvis; - -+ /* if we know what path we have, remember last visible icon for this path */ -+ if (br->path) -+ recIconVisible(br->path, num); -+ - /* if icon #i isn't visible, adjust scrollbar so it *is* */ - - sval = br->scrl.val; -@@ -1648,29 +1835,14 @@ - return; - } - -- - /***************************************************************/ --static int clickIconWin(br, mx, my, mtime, multi) -- BROWINFO *br; -- int mx,my,multi; -- unsigned long mtime; -+static int updateSel(br, sel, multi, mtime) -+ BROWINFO *br; -+ int sel, multi; -+ unsigned long mtime; - { -- /* returns '-1' normally, returns an index into bfList[] if the user -- double-clicks an icon */ -- -- int i,j, base, num, x,y,ix,iy, rv, sel, cpymode, dodel; -- BROWINFO *destBr; -- BFIL *bf; -- char buf[256], *destFolderName; -- -- rv = -1; /* default return value */ -- if (!br->bfList || !br->bfLen) return rv; -- -- destBr = br; destFolderName = "."; -- -- sel = mouseInWhichIcon(br, mx, my); -- -- dodel = 0; -+ int i; -+ BFIL *bf; - - if (sel == -1) { /* clicked on nothing */ - if (!multi) { /* deselect all */ -@@ -1681,7 +1853,7 @@ - } - - changedNumLit(br, sel, 0); -- br->lastIconClicked = -1; -+ br->lastIconClicked = -1; - } - - -@@ -1725,14 +1897,14 @@ - - changedNumLit(br, sel, 0); - -- -+ - /* see if we've double-clicked something */ -- if (sel==br->lastIconClicked && mtime-br->lastClickTime < DBLCLICKTIME) { -- int k; -+ if (mtime && -+ sel==br->lastIconClicked && mtime-br->lastClickTime < DBLCLICKTIME) { - br->lastIconClicked = -1; /* YES */ - - doubleClick(br, sel); -- return rv; -+ return -1; - } - - else { -@@ -1741,9 +1913,37 @@ - } - } - -- - changedNumLit(br, -1, 0); -+ return 0; -+} -+ -+ -+/***************************************************************/ -+static int clickIconWin(br, mx, my, mtime, multi) -+ BROWINFO *br; -+ int mx,my,multi; -+ unsigned long mtime; -+{ -+ /* returns '-1' normally, returns an index into bfList[] if the user -+ double-clicks an icon */ -+ -+ int i,j, sel, cpymode, dodel; -+ BROWINFO *destBr; -+ BFIL *bf; -+ char buf[256]; -+ const char *destFolderName; -+ -+ if (!br->bfList || !br->bfLen) return -1; -+ -+ destBr = br; destFolderName = "."; - -+ sel = mouseInWhichIcon(br, mx, my); -+ dodel = 0; -+ -+ recIconVisible(br->path, sel); -+ -+ if (updateSel(br, sel, multi, mtime)) -+ return -1; - - - { /* track mouse until button1 is released */ -@@ -1759,10 +1959,10 @@ - first = 1; hasrect = 0; cpymode = 0; - origsval = br->scrl.val; - -- if ( (sel>=0 && !multi) || sel==-1) { -+ if ( (sel>=0 && !multi) || sel==-1) { - /* clicked on an icon, or clicked on nothing... */ - -- while (!XQueryPointer(theDisp, rootW, &rW, &cW, &rootx, &rooty, -+ while (!XQueryPointer(theDisp, rootW, &rW, &cW, &rootx, &rooty, - &x,&y,&mask)); - if (mask & Button1Mask) { /* still held down */ - -@@ -1773,7 +1973,7 @@ - else curs = movecurs; - - /* change cursors */ -- for (i=0; i=0) { /* see if changed copy/move status (and cursor) */ - int cmod; -- -+ - cmod = (mask&ControlMask || mask&ShiftMask) ? 1 : 0; - - if (cmod != cpymode && !dodel) { - curs = (cmod) ? copycurs : movecurs; -- for (i=0; iiconW, rootx,rooty, -+ XTranslateCoordinates(theDisp, rW, br->iconW, rootx,rooty, - &iwx,&iwy, &cW); - - /* find deepest child that the mouse is in */ -@@ -1837,12 +2037,12 @@ - /* if it's in any icon window, and we're doing icon-dragging - OR we're doing a rectangle-drag */ - -- if (i=0 && (oldx!=x || oldy!=y || oldbrnum!=i)) { /* moved */ -@@ -1873,7 +2073,7 @@ - } - } - -- -+ - /* if we clicked on an icon (originally), and therefore are - showing the 'move files' cursor, see if the cursor is within - the icon region of any folders. If so, light up *the icon -@@ -1904,9 +2104,9 @@ - - /* Dragging a selection rectangle. */ - -- else { -+ else { - static int prevx, prevy, prevcnt; -- int origy, top, left, wide, high, cnt; -+ int origy, cnt; - - if (first) { prevx = mx; prevy = my; first=0; prevcnt = -1; } - -@@ -1922,18 +2122,18 @@ - - rx = (mx < x) ? mx : x; - ry = (origy < y) ? origy : y; -- rw = abs(mx - x); -+ rw = abs(mx - x); - rh = abs(origy - y); - - /* figure out which icons need to be lit/unlit. Only - redraw those that have changed state */ -- -+ - for (i=0,cnt=0, bf=br->bfList; ibfLen; i++,bf++) { -- int ix, iy, isin, light; -+ int ix, iy, isin; - -- ix = ((i%br->numWide) * ISPACE_WIDE) -+ ix = ((i%br->numWide) * ISPACE_WIDE) - + ISPACE_WIDE/2 - bf->w/2; -- iy = ((i/br->numWide) * ISPACE_HIGH) -+ iy = ((i/br->numWide) * ISPACE_HIGH) - + ISPACE_TOP + ISIZE_HIGH - bf->h; - - iy = iy - br->scrl.val * ISPACE_HIGH; -@@ -1994,7 +2194,7 @@ - } - - /* RELEASED BUTTON: back to normal arrow cursor */ -- for (i=0; ilit == TEMP_LIT || bf->lit == TEMP_LIT1) { - bf->lit = 1; drawIcon(br, i); - } -- -+ - if (bf->lit) br->numlit++; - } - -@@ -2020,7 +2220,6 @@ - - /* if doing a copy or a move, do the thing to the files */ - if (sel >= 0) { -- char *destFolder; - - if (DEBUG) { - fprintf(stderr,"---------------\n"); -@@ -2029,7 +2228,7 @@ - fprintf(stderr,"Dest Folder: '%s'\n", destFolderName); - } - -- -+ - if (!br->numlit) { - if (DEBUG) fprintf(stderr, "no selected files. Nothing to do!\n"); - } -@@ -2042,7 +2241,7 @@ - if (DEBUG) fprintf(stderr, "no destination. Nothing to do!\n"); - } - -- else if (strcmp(destFolderName,".") == 0 && -+ else if (strcmp(destFolderName,".") == 0 && - strcmp(br->path, destBr->path) == 0) { - if (DEBUG) fprintf(stderr,"source == destination. Nothing to do!\n"); - } -@@ -2067,20 +2266,20 @@ - } - } - if (DEBUG) fprintf(stderr,"\n\n"); -- -+ - #ifdef VMS - /* -- * For VMS, our directory file names are identifed by the -- * special filename extension, ".DIR". Unfortunately, this -- * needs to be stripped before we ever actually use the name -+ * For VMS, our directory file names are identifed by the -+ * special filename extension, ".DIR". Unfortunately, this -+ * needs to be stripped before we ever actually use the name - * in a copy command... :( RLD 26-FEB-1993 - */ - -- *rindex ( destFolderName, '.' ) = '\0'; -+ *rindex ( destFolderName, '.' ) = '\0'; /* FIXME: potentially writing into static strings! */ - #endif - - -- dragFiles(br, destBr, br->path, destBr->path, destFolderName, nlist, -+ dragFiles(br, destBr, br->path, destBr->path, destFolderName, nlist, - ncnt, cpymode); - - /* free namelist */ -@@ -2099,7 +2298,7 @@ - } - } /* end of 'tracking' sub-function */ - -- return rv; -+ return -1; - } - - /*******************************************/ -@@ -2113,6 +2312,8 @@ - - /* called to 'open' icon #sel, which could be a file or a dir */ - -+ br->lst = 0; -+ - /* if sel == -1, then called via RETURN key. just use first lit item - as thing that was double clicked on */ - -@@ -2155,7 +2356,7 @@ - } - - -- -+ - /* double-clicked something. We should do something about it */ - if (br->bfList[sel].ftype == BF_DIR) { /* try to cd */ - #ifndef VMS -@@ -2165,15 +2366,36 @@ - else sprintf(buf, "%s%s", br->path, br->bfList[sel].name); - #endif - -+#ifdef AUTO_EXPAND -+ if (Chvdir(buf)) { -+#else - if (chdir(buf)) { -+#endif - char str[512]; - sprintf(str,"Unable to cd to '%s'\n", br->bfList[sel].name); - setBrowStr(br, str); - XBell(theDisp, 50); - } - else { -+#ifdef AUTO_EXPAND -+ if (Isvdir(buf)) { -+ BTSetActive(&br->but[BR_DELETE], 0); -+ br->cmdMB.dim[BR_DELETE] = 1; -+ -+ BTSetActive(&br->but[BR_RENAME], 0); -+ br->cmdMB.dim[BR_RENAME] = 1; -+ -+ BTSetActive(&br->but[BR_MKDIR], 0); -+ br->cmdMB.dim[BR_MKDIR] = 1; -+ } -+ else { -+ BTSetActive(&br->but[BR_MKDIR], 1); -+ br->cmdMB.dim[BR_MKDIR] = 0; -+ } -+#endif - scanDir(br); - SCSetVal(&(br->scrl), 0); /* reset to top on a chdir */ -+ restIconVisible(br); - } - } - -@@ -2193,7 +2415,26 @@ - *event_retP = THISNEXT; - } - else { *event_retP = LOADPIC; SetDirFName(buf); } -- -+ -+#ifdef VS_RESCMAP -+ /* Change Colormap for browser */ -+ if (browPerfect && browCmap) { -+ int i; -+ XSetWindowAttributes xswa; -+ if(LocalCmap) { -+ xswa.colormap = LocalCmap; -+ _IfTempOut=2; -+ } -+ else { -+ xswa.colormap = theCmap; -+ _IfTempOut=2; -+ } -+ for(i=0;istate & ShiftMask; - ck = CursorKey(ks, shift, 1); -- dealt = 1; -+ dealt = 1; - - RemapKeyCheck(ks, buf, &stlen); - -@@ -2289,6 +2530,7 @@ - case '\021': doCmd(br, BR_QUIT); break; /* ^Q = Quit xv */ - - case '\006': doCmd(br, BR_SELFILES); break; /* ^F = Select Files */ -+ case '\030': doCmd(br, BR_CLIPBRD); break; /* ^X = Copy to clipboard */ - - - /* case '\003': FakeButtonPress(&but[BCMTVIEW]); break; */ /* ^C */ -@@ -2299,6 +2541,9 @@ - case '\n': doubleClick(br, -1); break; /* RETURN = load selected */ - - case ' ': -+ if (br->lst && (time(NULL) <= br->lst + incrementalSearchTimeout)) -+ goto do_default; -+ /* else fall through... */ - case '\010': - case '\177': /* SPACE = load next, BS/DEL = load prev */ - if (br->bfLen && br->numlit >= 1) { -@@ -2306,7 +2551,7 @@ - char fname[MAXPATHLEN]; - - /* if 'shift-space' find last lit icon, select the next one after it, -- and load it. If 'space' do the same, but lose prior lit. These -+ and load it. If 'space' do the same, but lose prior lit. These - are the only cases where br->numlit >1 allowed */ - - if (br->numlit>1 && buf[0] != ' ') return; -@@ -2314,7 +2559,7 @@ - if (buf[0]==' ' && (br->numlit>1 || (br->numlit==1 && shift))) { - for (i=br->bfLen-1; i>=0 && !br->bfList[i].lit; i--); /* i=last lit */ - if (i==br->bfLen-1) return; -- -+ - i++; - if (!shift) { - for (j=0; jbfLen; j++) { -@@ -2348,6 +2593,9 @@ - - /* try to open this file */ - sprintf(foo, "%s%s", br->path, br->bfList[i].name); -+#ifdef AUTO_EXPAND -+ Dirtovd(foo); -+#endif - for (j=0; jbfLen && !br->bfList[i].lit; i++); /* find lit one */ - sprintf(fname, "%s%s", br->path, br->bfList[i].name); -+#ifdef AUTO_EXPAND -+ Dirtovd(fname); -+#endif - viewsel = !(strcmp(fname, fullfname)); -- -+ - if (viewsel) { - if (buf[0]==' ') browKey(br, CK_RIGHT); - else browKey(br, CK_LEFT); -@@ -2372,7 +2623,7 @@ - - if (!br->bfList[i].lit || !viewsel) { /* changed selection */ - for (i=0; ibfLen && !br->bfList[i].lit; i++); /* find it */ -- if (br->bfList[i].ftype != BF_DIR) -+ if (br->bfList[i].ftype != BF_DIR) - doubleClick(br, -1); - } - } -@@ -2381,7 +2632,8 @@ - - - default: /* unknown character. Take it as an alpha accelerator */ -- if (buf[0] > 32) browAlpha(br, buf[0]); -+ do_default: /* (goto-label, not switch-label) */ -+ if (buf[0] >= 32) browAlpha(br, buf[0]); - else XBell(theDisp, 0); - break; - } -@@ -2401,6 +2653,8 @@ - /* an arrow key (or something like that) was pressed in icon window. - change selection/scrollbar accordingly */ - -+ br->lst = 0; -+ - /* handle easy keys */ - if (key == CK_PAGEUP) SCSetVal(&br->scrl, br->scrl.val - br->scrl.page); - if (key == CK_PAGEDOWN) SCSetVal(&br->scrl, br->scrl.val + br->scrl.page); -@@ -2410,10 +2664,10 @@ - /* handle up/down/left/right keys - * - * if precisely *one* item is lit, than the up/down/left/right keys move -- * the selection. -+ * the selection. - * - * if NO items are lit, then left/right select the first/last fully-displayed -- * icon, and up/down simply scroll window up or down, without selecting -+ * icon, and up/down simply scroll window up or down, without selecting - * anything - * - * if more than one item is lit, up/down/left/right keys BEEP -@@ -2443,8 +2697,8 @@ - if (key == CK_DOWN) j = i + br->numWide; - if (key == CK_LEFT) j = i - 1; - if (key == CK_RIGHT) j = i + 1; -- -- if (j >= 0 && j < br->bfLen) { -+ -+ if (j >= 0 && j < br->bfLen) { - br->bfList[i].lit = 0; - br->bfList[j].lit = 1; - makeIconVisible(br,j); -@@ -2455,7 +2709,7 @@ - } - } - -- -+ - if (br->numlit == 0) { /* no current selection */ - if (key == CK_UP) SCSetVal(&br->scrl, br->scrl.val - 1); - if (key == CK_DOWN) SCSetVal(&br->scrl, br->scrl.val + 1); -@@ -2482,15 +2736,28 @@ - /* find first 'plain' file that is lexically >= than the given ch */ - - int i,j; -+ time_t now = time(NULL); - - if (!br->bfLen) return; -- if (ch <= ' ' || ch > '\177') return; /* ignore 'funny' keys */ -+ if (ch < ' ' || ch > '\177') return; /* ignore 'funny' keys */ - - for (i=0; ibfLen && br->bfList[i].ftype==BF_DIR; i++); - if (i==br->bfLen) return; /* only directories in this dir */ - -+ if (!br->lst || (br->lst + incrementalSearchTimeout < now)) br->len = 0; -+ br->lst = now; -+ -+ if (br->len + 2 > br->siz) -+ if ((br->str = (char *)realloc(br->str, (br->siz = br->len + 32))) == NULL) -+ br->siz = br->len = 0; -+ -+ if (br->len + 2 <= br->siz) { -+ br->str[br->len++] = ch; -+ br->str[br->len] = '\0'; -+ } -+ - for ( ; ibfLen; i++) { -- if (br->bfList[i].name[0] >= ch) break; -+ if (strncmp(br->bfList[i].name, br->str, br->len) >= 0) break; - } - - if (i==br->bfLen) i--; -@@ -2541,20 +2808,24 @@ - * The VMS chdir always needs 2 components (device and directory), - * so convert "/device" to "/device/000000" and convert - * "/" to "/XV_Root_Device/000000" (XV_RootDevice will need to be -- * a special concealed device setup to provide list of available -+ * a special concealed device setup to provide list of available - * disks). - * - * End 'tmppath' by changing trailing '/' (of dir name) to a '\0' - */ - *rindex ( tmppath, '/') = '\0'; -- if ( ((br->ndirs-sel) == 2) && (strlen(tmppath) > 1) ) -+ if ( ((br->ndirs-sel) == 2) && (strlen(tmppath) > 1) ) - strcat ( tmppath, "/000000" ); /* add root dir for device */ - else if ((br->ndirs-sel) == 1 ) - strcpy ( tmppath, "/XV_Root_Device/000000" ); /* fake top level */ - } - #endif - -+#ifdef AUTO_EXPAND -+ if (Chvdir(tmppath)) { -+#else - if (chdir(tmppath)) { -+#endif - char str[512]; - sprintf(str,"Unable to cd to '%s'\n", tmppath); - MBRedraw(&(br->dirMB)); -@@ -2562,8 +2833,25 @@ - XBell(theDisp, 50); - } - else { -+#ifdef AUTO_EXPAND -+ if (Isvdir(tmppath)) { -+ BTSetActive(&br->but[BR_DELETE], 0); -+ br->cmdMB.dim[BR_DELETE] = 1; -+ -+ BTSetActive(&br->but[BR_RENAME], 0); -+ br->cmdMB.dim[BR_RENAME] = 1; -+ -+ BTSetActive(&br->but[BR_MKDIR], 0); -+ br->cmdMB.dim[BR_MKDIR] = 1; -+ } -+ else { -+ BTSetActive(&br->but[BR_MKDIR], 1); -+ br->cmdMB.dim[BR_MKDIR] = 0; -+ } -+#endif - scanDir(br); - SCSetVal(&br->scrl, 0); /* reset to top of window on a chdir */ -+ restIconVisible(br); - } - } - } -@@ -2582,7 +2870,11 @@ - if ((strlen(br->path) > (size_t) 2) && br->path[strlen(br->path)-1] == '/') - br->path[strlen(br->path)-1] = '\0'; - -+#ifdef AUTO_EXPAND -+ rv = Chvdir(br->path); -+#else - rv = chdir(br->path); -+#endif - if (rv) { - char str[512]; - sprintf(str, "Unable to cd to '%s'\n", br->path); -@@ -2590,6 +2882,24 @@ - XBell(theDisp, 50); - } - -+#ifdef AUTO_EXPAND -+ if (Isvdir(br->path)) { -+ BTSetActive(&br->but[BR_DELETE], 0); -+ br->cmdMB.dim[BR_DELETE] = 1; -+ -+ BTSetActive(&br->but[BR_RENAME], 0); -+ br->cmdMB.dim[BR_RENAME] = 1; -+ -+ BTSetActive(&br->but[BR_MKDIR], 0); -+ br->cmdMB.dim[BR_MKDIR] = 1; -+ } -+ else { -+ BTSetActive(&br->but[BR_MKDIR], 1); -+ br->cmdMB.dim[BR_MKDIR] = 0; -+ } -+#endif -+ -+ restIconVisible(br); - strcat(br->path, "/"); /* put trailing '/' back on */ - return rv; - } -@@ -2599,7 +2909,7 @@ - static void copyDirInfo(srcbr, dstbr) - BROWINFO *srcbr, *dstbr; - { -- /* copies br info from an already existing browser window -+ /* copies br info from an already existing browser window - (ie, one that is already showing the same directory) */ - - int i, oldnum, maxv, page; -@@ -2611,15 +2921,19 @@ - /* copy mblist */ - dstbr->ndirs = srcbr->ndirs; - for (i=0; indirs; i++) { -- dstbr->mblist[i] = (char *) malloc(strlen(srcbr->mblist[i]) + 1); -+ dstbr->mblist[i] = strdup(srcbr->mblist[i]); - if (!dstbr->mblist[i]) FatalError("unable to malloc brMBlist[]"); -- strcpy(dstbr->mblist[i], srcbr->mblist[i]); - } - -- dstbr->dirMB.list = srcbr->mblist; -+#if 0 -+ dstbr->dirMB.list = srcbr->mblist; /* original bug..? */ - dstbr->dirMB.nlist = srcbr->ndirs; -+#else -+ dstbr->dirMB.list = dstbr->mblist; /* fixed by */ -+ dstbr->dirMB.nlist = dstbr->ndirs; /* jp-extension. */ -+#endif - -- XClearArea(theDisp, dstbr->dirMB.win, dstbr->dirMB.x, dstbr->dirMB.y, -+ XClearArea(theDisp, dstbr->dirMB.win, dstbr->dirMB.x, dstbr->dirMB.y, - dstbr->dirMB.w+3, dstbr->dirMB.h+3, False); - - i = StringWidth(dstbr->mblist[0]) + 10; -@@ -2644,7 +2958,7 @@ - - if ((i&0x03) == 0) drawTemp(dstbr, i, dstbr->bfLen); - if ((i & 0x3f) == 0) WaitCursor(); -- -+ - sbf = &(srcbr->bfList[i]); - dbf = &(dstbr->bfList[i]); - -@@ -2670,7 +2984,7 @@ - if (sbf->pimage) { - dbf->pimage = (byte *) malloc((size_t) dbf->w * dbf->h); - if (!dbf->pimage) FatalError("ran out of memory for dbf->pimage"); -- xvbcopy((char *) sbf->pimage, (char *) dbf->pimage, -+ xvbcopy((char *) sbf->pimage, (char *) dbf->pimage, - (size_t) (dbf->w * dbf->h)); - } - else dbf->pimage = (byte *) NULL; -@@ -2681,10 +2995,10 @@ - xvbcopy((char *) sbf->ximage, (char *) dbf->ximage, sizeof(XImage)); - - if (sbf->ximage->data) { -- dbf->ximage->data = (char *) malloc((size_t) dbf->ximage->height * -+ dbf->ximage->data = (char *) malloc((size_t) dbf->ximage->height * - dbf->ximage->bytes_per_line); - if (!dbf->ximage->data) FatalError("ran out of memory for ximg data"); -- xvbcopy((char *) sbf->ximage->data, (char *) dbf->ximage->data, -+ xvbcopy((char *) sbf->ximage->data, (char *) dbf->ximage->data, - (size_t) dbf->ximage->height * dbf->ximage->bytes_per_line); - } - } -@@ -2701,15 +3015,15 @@ - computeScrlVals(dstbr, &maxv, &page); - if (dstbr->scrl.val > maxv) dstbr->scrl.val = maxv; - -- XClearArea(theDisp, dstbr->iconW, 0, 0, (u_int) dstbr->iwWide, -+ XClearArea(theDisp, dstbr->iconW, 0, 0, (u_int) dstbr->iwWide, - (u_int) dstbr->iwHigh, True); - SCSetRange(&dstbr->scrl, 0, maxv, dstbr->scrl.val, page); - - SetCursors(-1); - } - -- -- -+ -+ - - /***************************************************************/ - static void scanDir(br) -@@ -2726,7 +3040,7 @@ - * and it's reasonable to expect folks to want to add their own bitmaps - */ - -- int i,j,k,oldbflen,vmsparent; -+ int i,j,oldbflen,vmsparent; - BFIL *bf; - - DIR *dirp; -@@ -2753,7 +3067,7 @@ - xv_getwd(path, sizeof(path)); - if (path[strlen(path)-1] != '/') strcat(path,"/"); /* add trailing '/' */ - -- for (i=0; indirs; i++) free(br->mblist[i]); /* clear old dir names */ -+ for (i=0; indirs; i++) free((char *) br->mblist[i]); /* clear old dir names */ - - /* path will be something like: "/u3/bradley/src/weiner/whatever/" */ - -@@ -2775,22 +3089,24 @@ - - /* build brMBlist */ - for (i = br->ndirs-1,j=0; i>=0; i--,j++) { -- size_t stlen = (i<(br->ndirs-1)) ? dirnames[i+1] - dirnames[i] -+ size_t stlen = (i<(br->ndirs-1)) ? dirnames[i+1] - dirnames[i] - : strlen(dirnames[i]); -+ char *copy; - -- br->mblist[j] = (char *) malloc(stlen+1); -- if (!br->mblist[j]) FatalError("unable to malloc brMBlist[]"); -+ copy = malloc(stlen+1); -+ if (!copy) FatalError("unable to malloc brMBlist[]"); - -- strncpy(br->mblist[j], dirnames[i], stlen); -- br->mblist[j][stlen] = '\0'; -+ strncpy(copy, dirnames[i], stlen); -+ copy[stlen] = '\0'; -+ br->mblist[j] = copy; - } -- -+ - - /* refresh the brdirMB button */ - br->dirMB.list = br->mblist; - br->dirMB.nlist = br->ndirs; - -- XClearArea(theDisp, br->dirMB.win, br->dirMB.x, br->dirMB.y, -+ XClearArea(theDisp, br->dirMB.win, br->dirMB.x, br->dirMB.y, - br->dirMB.w+3, br->dirMB.h+3, False); - - i = StringWidth(br->mblist[0]) + 10; -@@ -2815,7 +3131,7 @@ - /* count how many files are in the list */ - - dirp = opendir("."); -- if (!dirp) { -+ if (!dirp) { - endScan(br, oldbflen); - setBrowStr(br, "Couldn't read current directory."); - SetCursors(-1); -@@ -2827,11 +3143,11 @@ - #endif - - while ( (dp = readdir(dirp)) != NULL) { -- if (strcmp(dp->d_name, ".") && -+ if (strcmp(dp->d_name, ".") && - strcmp(dp->d_name, THUMBDIR)) { -- if (!br->showhidden && dp->d_name[0] == '.' && -+ if (!br->showhidden && dp->d_name[0] == '.' && - strcmp(dp->d_name,"..")!=0) continue; -- else -+ else - br->bfLen++; - } - if ((br->bfLen & 0x3f) == 0) WaitCursor(); -@@ -2877,13 +3193,13 @@ - } - else { - do { dp = readdir(dirp); } -- while (dp && (strcmp(dp->d_name, ".")==0 || -+ while (dp && (strcmp(dp->d_name, ".")==0 || - strcmp(dp->d_name, THUMBDIR)==0 || - strcmp(dp->d_name, THUMBDIRNAME)==0 || - (br->ndirs==1 && strcmp(dp->d_name,"..")==0) || -- (!br->showhidden && dp->d_name[0] == '.' && -+ (!br->showhidden && dp->d_name[0] == '.' && - strcmp(dp->d_name,"..")!=0))); -- -+ - if (!dp) { br->bfLen = i; break; } /* dir got shorter... */ - } - -@@ -2940,11 +3256,11 @@ - if (w<1) w = 1; - if (h<1) h = 1; - -- XClearArea(theDisp, br->iconW, (ctrlColor) ? 2 : 0, (ctrlColor) ? 2 : 0, -+ XClearArea(theDisp, br->iconW, (ctrlColor) ? 2 : 0, (ctrlColor) ? 2 : 0, - (u_int) w, (u_int) h, False); - - SCSetRange(&br->scrl, 0, maxv, br->scrl.val, page); -- -+ - SetCursors(-1); - } - -@@ -2972,10 +3288,14 @@ - bf->pimage = (byte *) NULL; - bf->ximage = (XImage *) NULL; - bf->lit = 0; -- -+ - - if (stat(bf->name, &st)==0) { -+#ifdef AUTO_EXPAND -+ bf->ftype = stat2bf((u_int) st.st_mode , bf->name); -+#else - bf->ftype = stat2bf((u_int) st.st_mode); -+#endif - if (bf->ftype == BF_FILE && (st.st_mode & 0111)) bf->ftype = BF_EXE; - - switch (bf->ftype) { -@@ -3007,6 +3327,7 @@ - case RFT_XBM: bf->ftype = BF_XBM; break; - case RFT_SUNRAS: bf->ftype = BF_SUNRAS; break; - case RFT_BMP: bf->ftype = BF_BMP; break; -+ case RFT_WBMP: bf->ftype = BF_BMP; break; - case RFT_UTAHRLE: bf->ftype = BF_UTAHRLE; break; - case RFT_IRIS: bf->ftype = BF_IRIS; break; - case RFT_PCX: bf->ftype = BF_PCX; break; -@@ -3014,12 +3335,22 @@ - case RFT_TIFF: bf->ftype = BF_TIFF; break; - case RFT_PDSVICAR: bf->ftype = BF_PDS; break; - case RFT_COMPRESS: bf->ftype = BF_COMPRESS; break; -+ case RFT_BZIP2: bf->ftype = BF_BZIP2; break; - case RFT_PS: bf->ftype = BF_PS; break; - case RFT_IFF: bf->ftype = BF_IFF; break; -- case RFT_TARGA: bf->ftype = BF_TARGA; break; -+ case RFT_TARGA: bf->ftype = BF_TGA; break; - case RFT_XPM: bf->ftype = BF_XPM; break; - case RFT_XWD: bf->ftype = BF_XWD; break; - case RFT_FITS: bf->ftype = BF_FITS; break; -+ case RFT_PNG: bf->ftype = BF_PNG; break; -+ case RFT_ZX: bf->ftype = BF_ZX; break; /* [JCE] */ -+ case RFT_PCD: bf->ftype = BF_PCD; break; -+ case RFT_MAG: bf->ftype = BF_MAG; break; -+ case RFT_MAKI: bf->ftype = BF_MAKI; break; -+ case RFT_PIC: bf->ftype = BF_PIC; break; -+ case RFT_PI: bf->ftype = BF_PI; break; -+ case RFT_PIC2: bf->ftype = BF_PIC2; break; -+ case RFT_MGCSFX: bf->ftype = BF_MGCSFX; break; - } - } - } -@@ -3048,11 +3379,11 @@ - bfcompares++; - if ((bfcompares & 0x7f)==0) WaitCursor(); - -- /* sort critera: directories first, in alphabetical order, -+ /* sort critera: directories first, in alphabetical order, - followed by everything else, in alphabetical order */ -- -+ - if ((b1->ftype == BF_DIR && b2->ftype == BF_DIR) || -- (b1->ftype != BF_DIR && b2->ftype != BF_DIR)) -+ (b1->ftype != BF_DIR && b2->ftype != BF_DIR)) - return strcmp(b1->name, b2->name); - - else if (b1->ftype == BF_DIR && b2->ftype != BF_DIR) return -1; -@@ -3108,7 +3439,7 @@ - for (i=0; ibfList[i].name) + 1); - if (!bfnames[i]) FatalError("couldn't alloc bfnames in rescanDir()"); -- -+ - strcpy(bfnames[i], br->bfList[i].name); - } - } -@@ -3121,7 +3452,7 @@ - - /* note, either (or both) dirnames/bfnames can be NULL, in which case - their respective 'len's will be zero */ -- -+ - /* sort the two name lists */ - if (bflen) qsort((char *) bfnames, (size_t) bflen, sizeof(char *),namcmp); - if (dirlen) qsort((char *) dirnames, (size_t) dirlen,sizeof(char *),namcmp); -@@ -3153,7 +3484,7 @@ - } - } - bflen = j; -- -+ - - for (i=j=0; ibfLen - bflen + dirlen; /* oldlen - #del'd + #created */ - if (newlen>0) { -@@ -3241,7 +3572,7 @@ - if (bf->pimage) free(bf->pimage); - if (bf->ximage) xvDestroyImage(bf->ximage); - } -- -+ - free(br->bfList); - } - -@@ -3263,17 +3594,17 @@ - - /***************************************************************/ - static char **getDirEntries(dir, lenP, dohidden) -- char *dir; -+ const char *dir; - int *lenP; - int dohidden; - { -- /* loads up all directory entries into an array. This *isn't* a great -- way to do it, but I can't count on 'scandir()' existing on -+ /* loads up all directory entries into an array. This *isn't* a great -+ way to do it, but I can't count on 'scandir()' existing on - every system. Returns 'NULL' on failure, or pointer to array of - 'lenP' strings on success. '.' and '..' ARE included in list - if !dohidden, all '.*' files are skipped (except . and ..) */ - -- int i, j, dirlen; -+ int i, dirlen; - DIR *dirp; - char **names; - #ifdef NODIRENT -@@ -3294,9 +3625,9 @@ - /* count # of entries in dir (worst case) */ - for (dirlen=0; (dp = readdir(dirp)) != NULL; dirlen++); - if (!dirlen) { -- closedir(dirp); -+ closedir(dirp); - *lenP = dirlen; -- return (char **) NULL; -+ return (char **) NULL; - } - - -@@ -3312,7 +3643,7 @@ - - if (!dohidden) { - #ifndef VMS -- if (dp->d_name[0] == '.' && -+ if (dp->d_name[0] == '.' && - strcmp(dp->d_name,"." )!=0 && - strcmp(dp->d_name,"..")!=0) continue; - #endif -@@ -3324,7 +3655,7 @@ - strcpy(names[i], dp->d_name); - i++; - } -- -+ - if (iname || bf->name[0] == '\0') return; /* shouldn't happen */ - str[0] = '\0'; - basefname[0] = '\0'; - pinfo.pic = (byte *) NULL; - pinfo.comment = (char *) NULL; -- readname = bf->name; -- -+ strncpy(readname, bf->name, sizeof(readname) - 1); -+ - /* free any old info in 'bf' */ - if (bf->imginfo) free (bf->imginfo); - if (bf->pimage) free (bf->pimage); - if (bf->ximage) xvDestroyImage(bf->ximage); -- -+ - bf->imginfo = (char *) NULL; - bf->pimage = (byte *) NULL; - bf->ximage = (XImage *) NULL; -@@ -3429,10 +3760,10 @@ - - /* skip all 'special' files */ - if (!ISLOADABLE(bf->ftype)) return; -- -+ - filetype = ReadFileType(bf->name); -- -- if (filetype == RFT_COMPRESS) { -+ -+ if ((filetype == RFT_COMPRESS) || (filetype == RFT_BZIP2)) { - #if (defined(VMS) && !defined(GUNZIP)) - /* VMS decompress doesn't like the file to have a trailing .Z in fname - however, GUnZip is OK with it, which we are calling UnCompress */ -@@ -3442,10 +3773,10 @@ - #else - uncName = bf->name; - #endif -- -- if (UncompressFile(uncName, uncompname)) { -+ -+ if (UncompressFile(uncName, uncompname, filetype)) { - filetype = ReadFileType(uncompname); -- readname = uncompname; -+ strncpy(readname, uncompname, sizeof(readname) - 1); - } - else { - sprintf(str, "Couldn't uncompress file '%s'", bf->name); -@@ -3453,71 +3784,139 @@ - bf->ftype = BF_ERROR; - } - } -- -+ -+#ifdef MACBINARY -+ if (handlemacb && macb_file == True && bf->ftype != BF_ERROR) { -+ if (RemoveMacbinary(readname, uncompname)) { -+ if (strcmp(readname, bf->name)!=0) unlink(readname); -+ strncpy(readname, uncompname, sizeof(readname) - 1); -+ } -+ else { -+ sprintf(str, "Unable to remove a InfoFile header form '%s'.", bf->name); -+ setBrowStr(br, str); -+ bf->ftype = BF_ERROR; -+ } -+ } -+#endif -+ -+#ifdef HAVE_MGCSFX_AUTO -+ if (bf->ftype != BF_ERROR) { -+ if(filetype == RFT_MGCSFX){ -+ char tmpname[128]; -+ char *icom; -+ -+ if((icom = mgcsfx_auto_input_com(bf->name)) != NULL){ -+ sprintf(tmpname, "%s/xvmsautoXXXXXX", tmpdir); -+#ifdef USE_MKSTEMP -+ close(mkstemp(tmpname)); -+#else -+ mktemp(tmpname); -+#endif -+ SetISTR(ISTR_INFO, "Converting to known format by MgcSfx auto..."); -+ sprintf(str,"%s >%s", icom, tmpname); -+ }else goto ms_auto_no; -+ -+#ifndef VMS -+ if (system(str)) -+#else -+ if (!system(str)) -+#endif -+ { -+ sprintf(str, "Unable to convert '%s' by MgcSfx auto.", bf->name); -+ setBrowStr(br, str); -+ bf->ftype = BF_ERROR; -+ } -+ else { -+ filetype = ReadFileType(tmpname); -+ if (strcmp(readname, bf->name)!=0) unlink(readname); -+ strncpy(readname, tmpname, sizeof(readname) - 1); -+ } -+ } -+ } -+ms_auto_no: -+#endif /* HAVE_MGCSFX_AUTO */ -+ - /* get rid of comments. don't need 'em */ - if (pinfo.comment) free(pinfo.comment); pinfo.comment = (char *) NULL; -- -- if (filetype == RFT_ERROR) { -+ -+ if (filetype == RFT_ERROR) { - sprintf(str,"Couldn't open file '%s'", bf->name); - setBrowStr(br, str); - bf->ftype = BF_ERROR; - } -- -+ - else if (filetype == RFT_UNKNOWN) { - /* if it *was* an 'exe', leave it that way */ - if (bf->ftype != BF_EXE) bf->ftype = BF_UNKNOWN; - } -- -+ - else { - /* otherwise it's a known filetype... do the *hard* part now... */ -- -+ -+#ifdef VS_ADJUST -+ normaspect = defaspect; -+#endif - i = ReadPicFile(readname, filetype, &pinfo, 1); - KillPageFiles(pinfo.pagebname, pinfo.numpages); -- -+ - if (!i) bf->ftype = BF_ERROR; -- -+ - if (i && (pinfo.w<=0 || pinfo.h<=0)) { /* bogus size */ - bf->ftype = BF_ERROR; - free(pinfo.pic); pinfo.pic = (byte *) NULL; - } -- -+ - if (bf->ftype==BF_ERROR && filetype==RFT_XBM) bf->ftype = BF_UNKNOWN; - } -- -+ - /* get rid of comment, as we don't need it */ -- if (pinfo.comment) { -+ if (pinfo.comment) { - free(pinfo.comment); pinfo.comment = (char *) NULL; - } -- -+ - /* if we made an uncompressed file, we can rm it now */ -- if (readname != bf->name) unlink(readname); -- -- -+ if (strcmp(readname, bf->name)!=0) unlink(readname); -+ -+ - /* at this point either BF_ERROR, BF_UNKNOWN, BF_EXE or pic */ -- -+ - if (!pinfo.pic) { - if (bf->ftype == BF_EXE) return; /* don't write thumbfiles for exe's */ -- -+ - bf->w = br_file_width; bf->h = br_file_height; - writeThumbFile(br, bf, NULL, 0, 0, NULL); /* BF_ERROR, BF_UNKNOWN */ - return; - } -- -+ - /* at this point, we have a pic, so it must be an image file */ -- -- -+ -+ - /* compute size of icon (iwide,ihigh) */ -- -+ -+#ifdef VS_ADJUST -+ if (!vsadjust) normaspect = 1; -+ -+ wexpand = (double) (pinfo.w * normaspect) / (double) ISIZE_WIDE; -+#else - wexpand = (double) pinfo.w / (double) ISIZE_WIDE; -+#endif /* VS_ADJUST */ - hexpand = (double) pinfo.h / (double) ISIZE_HIGH; - - if (wexpand >= 1.0 || hexpand >= 1.0) { /* don't expand small icons */ - if (wexpand>hexpand) { -+#ifdef VS_ADJUST -+ iwide = (int) ((pinfo.w * normaspect) / wexpand + 0.5); -+#else - iwide = (int) (pinfo.w / wexpand + 0.5); -+#endif - ihigh = (int) (pinfo.h / wexpand + 0.5); - } - else { -+#ifdef VS_ADJUST -+ iwide = (int) ((pinfo.w * normaspect) / hexpand + 0.5); -+#else - iwide = (int) (pinfo.w / hexpand + 0.5); -+#endif - ihigh = (int) (pinfo.h / hexpand + 0.5); - } - } -@@ -3527,13 +3926,13 @@ - - - /* generate icon */ -- icon24 = Smooth24(pinfo.pic, pinfo.type==PIC24, pinfo.w, pinfo.h, -+ icon24 = Smooth24(pinfo.pic, pinfo.type==PIC24, pinfo.w, pinfo.h, - iwide, ihigh, pinfo.r,pinfo.g,pinfo.b); - if (!icon24) { bf->ftype = BF_FILE; free(pinfo.pic); return; } - - sprintf(str, "%dx%d ", pinfo.normw, pinfo.normh); - switch (filetype) { -- case RFT_GIF: if (xv_strstr(pinfo.shrtInfo, "GIF89")) -+ case RFT_GIF: if (xv_strstr(pinfo.shrtInfo, "GIF89")) - strcat(str,"GIF89 file"); - else - strcat(str,"GIF87 file"); -@@ -3543,12 +3942,12 @@ - - case RFT_PBM: if (xv_strstr(pinfo.fullInfo, "raw")) strcat(str,"Raw "); - else strcat(str,"Ascii "); -- -+ - for (i=0; i<3 && (strlen(pinfo.fullInfo)>(size_t)3); i++){ - str1[0] = pinfo.fullInfo[i]; str1[1] = '\0'; - strcat(str, str1); - } -- -+ - strcat(str," file"); - break; - -@@ -3567,21 +3966,30 @@ - case RFT_XPM: strcat(str,"XPM file"); break; - case RFT_XWD: strcat(str,"XWD file"); break; - case RFT_FITS: strcat(str,"FITS file"); break; -+ case RFT_PNG: strcat(str,"PNG file"); break; -+ case RFT_ZX: strcat(str,"Spectrum SCREEN$"); break; /* [JCE] */ -+ case RFT_PCD: strcat(str,"PhotoCD file"); break; -+ case RFT_MAG: strcat(str,"MAG file"); break; -+ case RFT_MAKI: strcat(str,"MAKI file"); break; -+ case RFT_PIC: strcat(str,"PIC file"); break; -+ case RFT_PI: strcat(str,"PI file"); break; -+ case RFT_PIC2: strcat(str,"PIC2 file"); break; -+ case RFT_MGCSFX: strcat(str,"Magic Suffix file"); break; - default: strcat(str,"file of unknown type"); break; - } -- -- -+ -+ - /* find out length of original file */ - { FILE *fp; - long filesize; - char buf[64]; -- -+ - fp = fopen(bf->name, "r"); - if (fp) { - fseek(fp, 0L, 2); - filesize = ftell(fp); - fclose(fp); -- -+ - sprintf(buf," (%ld bytes)", filesize); - strcat(str, buf); - } -@@ -3609,17 +4017,17 @@ - bf->w = iwide; - bf->h = ihigh; - bf->ftype = BF_HAVEIMG; -- -+ - bf->ximage = Pic8ToXImage(icon8, (u_int) iwide, (u_int) ihigh, browcols, - browR, browG, browB); -- -+ - free(icon24); - free(pinfo.pic); - } - - - -- -+ - - - /* -@@ -3670,6 +4078,10 @@ - - sprintf(thFname, "%s%s/%s", br->path, THUMBDIR, bf->name); - -+#ifdef AUTO_EXPAND -+ Dirtovd(thFname); -+#endif -+ - fp = fopen(thFname, "r"); - if (!fp) return; /* nope, it doesn't have one */ - -@@ -3682,7 +4094,7 @@ - /* read comments until we see '#END_OF_COMMENTS', or hit EOF */ - while (1) { - if (!fgets(buf, 256, fp)) goto errexit; -- -+ - if (!strncmp(buf, "#END_OF_COMMENTS", strlen("#END_OF_COMMENTS"))) - break; - -@@ -3714,7 +4126,7 @@ - - - /* read width, height, maxval */ -- if (!fgets(buf, 256, fp) || sscanf(buf, "%d %d %d", &w, &h, &mv) != 3) -+ if (!fgets(buf, 256, fp) || sscanf(buf, "%d %d %d", &w, &h, &mv) != 3) - goto errexit; - - -@@ -3738,14 +4150,14 @@ - bf->h = h; - bf->ftype = BF_HAVEIMG; - bf->imginfo = info; -- -- bf->ximage = Pic8ToXImage(icon8, (u_int) w, (u_int) h, browcols, -+ -+ bf->ximage = Pic8ToXImage(icon8, (u_int) w, (u_int) h, browcols, - browR, browG, browB); - } - else { - if (info) free(info); - } -- -+ - fclose(fp); - return; - -@@ -3757,7 +4169,7 @@ - } - - -- -+ - /***************************************************************/ - static void writeThumbFile(br, bf, icon8, w, h, info) - BROWINFO *br; -@@ -3785,9 +4197,14 @@ - - sprintf(thFname, "%s%s/%s", br->path, THUMBDIR, bf->name); - -+#ifdef AUTO_EXPAND -+ Dirtovd(thFname); -+#endif -+ -+ unlink(thFname); /* just in case there's already an unwritable one */ - fp = fopen(thFname, "w"); - if (!fp) { -- sprintf(buf, "Can't create thumbnail file '%s': %s", thFname, -+ sprintf(buf, "Can't create thumbnail file '%s': %s", thFname, - ERRSTR(errno)); - setBrowStr(br, buf); - return; /* can't write... */ -@@ -3829,9 +4246,9 @@ - setBrowStr(br, buf); - return; /* can't write... */ - } -- -+ - fclose(fp); -- -+ - chmod(thFname, (mode_t) perm); - } - -@@ -3849,15 +4266,29 @@ - - sprintf(thFname, "%s%s", br->path, THUMBDIRNAME); - -+#ifdef AUTO_EXPAND -+ Dirtovd(thFname); -+#endif -+ - i = stat(thFname, &st); - if (i) { /* failed, let's create it */ - sprintf(thFname, "%s.", br->path); -+#ifdef AUTO_EXPAND -+ Dirtovd(thFname); -+#endif - i = stat(thFname, &st); /* get permissions of parent dir */ - if (!i) perm = st.st_mode & 07777; - else perm = 0755; - - sprintf(thFname, "%s%s", br->path, THUMBDIRNAME); -- mkdir(thFname, (mode_t) perm); -+#ifdef AUTO_EXPAND -+ Dirtovd(thFname); -+#endif -+ i = mkdir(thFname, (mode_t) perm); -+#ifdef VIRTUAL_TD -+ if (i < 0) -+ Mkvdir_force(thFname); -+#endif - } - } - -@@ -3899,7 +4330,7 @@ - for (i=0, bf=br->bfList; ibfLen; i++, bf++) { - if (bf->ftype <= BF_FILE || bf->ftype >= BF_ERROR || bf->ftype==BF_EXE) { - -- /* ie, not a 'special' file */ -+ /* i.e., not a 'special' file */ - - int s1, s2; - char thfname[256]; -@@ -3913,10 +4344,9 @@ - sprintf(thfname, "%s/%s", THUMBDIR, bf->name); - s2 = stat(thfname, &thumbst); - -- if (s1 || s2 || filest.st_mtime > thumbst.st_mtime || -- filest.st_ctime > thumbst.st_ctime) { -- /* either stat'ing the file or the thumbfile failed, or -- both stat's succeeded and the file has a newer mod or creation -+ if (s1 || s2 || filest.st_mtime > thumbst.st_mtime) { -+ /* either stat'ing the file or the thumbfile failed, or -+ both stat's succeeded and the file has a newer mod - time than the thumbnail file */ - - makeIconVisible(br, i); -@@ -3926,11 +4356,16 @@ - - if (bf->ftype != BF_EXE) { - iconsBuilt++; -- if (DEBUG) -- fprintf(stderr,"icon made:fname='%s' thfname='%s' %d,%d,%d,%d\n", -- bf->name, thfname, s1,s2,filest.st_mtime,thumbst.st_mtime); -+ if (DEBUG) -+ fprintf(stderr,"icon made:fname='%s' thfname='%s' %d,%d,%ld,%ld\n", -+ bf->name, thfname, s1, s2, -+ (long)filest.st_mtime, (long)thumbst.st_mtime); - } - } -+ else if (filest.st_ctime > thumbst.st_ctime) { -+ /* update protections */ -+ chmod(thfname, (mode_t) (filest.st_mode & 07777)); -+ } - } - statcount++; - -@@ -3964,7 +4399,11 @@ - sprintf(thfname, "%s/%s", THUMBDIR, dp->d_name); - if (stat(thfname, &thumbst)==0) { /* success */ - int tmp; -+#ifdef AUTO_EXPAND -+ tmp = stat2bf((u_int) thumbst.st_mode , thfname); -+#else - tmp = stat2bf((u_int) thumbst.st_mode); -+#endif - - if (tmp == BF_FILE) { /* a plain file */ - /* see if this thumbfile has an associated pic file */ -@@ -3974,7 +4413,7 @@ - } - } - statcount++; -- -+ - if ((statcount % 30)==0) WaitCursor(); - } - closedir(dirp); -@@ -3998,16 +4437,16 @@ - { - if (maxcnt<1) return; /* none of that naughty ol' divide by zero stuff */ - -- DrawTempGauge(br->win, 5, br->dirMB.y, -+ DrawTempGauge(br->win, 5, br->dirMB.y, - (int) br->dirMB.x-10, (int) br->dirMB.h, - (double) cnt / (double) maxcnt, - browfg, browbg, browhi, browlo, ""); - } -- -+ - static void clearTemp(br) - BROWINFO *br; - { -- XClearArea(theDisp, br->win, 5, br->dirMB.y, -+ XClearArea(theDisp, br->win, 5, br->dirMB.y, - (u_int) br->dirMB.x-10+1, (u_int) br->dirMB.h + 1, True); - } - -@@ -4038,17 +4477,26 @@ - pops up a 'what do you want to rename it to' box, and attempts to - do the trick... */ - -- int i, num; -- char buf[128], txt[256], *origname, txt1[256]; -- static char *labels[] = { "\nOk", "\033Cancel" }; -- struct stat st; -+ int i, num; -+ char buf[128], txt[256], *origname, txt1[256]; -+ static const char *labels[] = { "\nOk", "\033Cancel" }; -+ struct stat st; -+ -+#ifdef AUTO_EXPAND -+ if (Isvdir(br->path)) { -+ sprintf(buf,"Sorry, you can't rename file in the virtual directory, '%s'", -+ br->path); -+ ErrPopUp(buf, "\nBummer!"); -+ return; -+ } -+#endif - - if (cdBrow(br)) return; - - /* find the selected file */ - for (i=0; ibfLen && !br->bfList[i].lit; i++); - if (i==br->bfLen) return; /* shouldn't happen */ -- -+ - origname = br->bfList[i].name; num = i; - - if (strcmp(origname, "..")==0) { -@@ -4058,7 +4506,7 @@ - return; - } - -- sprintf(txt, "Enter a new name for the %s '%s':", -+ sprintf(txt, "Enter a new name for the %s '%s':", - (br->bfList[i].ftype==BF_DIR) ? "directory" : "file", - origname); - -@@ -4107,7 +4555,7 @@ - drawIcon(br, num); - - for (i=0; ipath)==0) -+ if (&binfo[i] != br && strcmp(binfo[i].path, br->path)==0) - rescanDir(&binfo[i]); - } - -@@ -4125,15 +4573,24 @@ - pops up a 'what do you want to call it' box, and attempts to - do the trick... */ - -- int i; -- char buf[128], txt[256]; -- static char *labels[] = { "\nOk", "\033Cancel" }; -- struct stat st; -+ int i; -+ char buf[128], txt[256]; -+ static const char *labels[] = { "\nOk", "\033Cancel" }; -+ struct stat st; -+ -+#ifdef AUTO_EXPAND -+ if (Isvdir(br->path)) { -+ sprintf(buf,"Sorry, you can't mkdir in the virtual directory, '%s'", -+ br->path); -+ ErrPopUp(buf, "\nBummer!"); -+ return; -+ } -+#endif - - if (cdBrow(br)) return; - - buf[0] = '\0'; -- i = GetStrPopUp("Enter name for new directory:", labels, 2, -+ i = GetStrPopUp("Enter name for new directory:", labels, 2, - buf, 128, "/ |\'\"<>,", 0); - if (i) return; /* cancelled */ - -@@ -4161,7 +4618,7 @@ - - /* rescan current br, and all other br's pointing to same directory */ - for (i=0; ipath)==0) -+ if (strcmp(binfo[i].path, br->path)==0) - rescanDir(&binfo[i]); - } - -@@ -4176,10 +4633,10 @@ - static void doChdirCmd(br) - BROWINFO *br; - { -- int i; -- static char buf[MAXPATHLEN+100]; -- static char *labels[] = { "\nOk", "\033Cancel" }; -- char str[512]; -+ int i; -+ static char buf[MAXPATHLEN+100]; -+ static const char *labels[] = { "\nOk", "\033Cancel" }; -+ char str[512]; - - buf[0] = '\0'; - i = GetStrPopUp("Change to directory:", labels, 2, buf, MAXPATHLEN, " ", 0); -@@ -4198,14 +4655,35 @@ - if (cdBrow(br)) return; /* prints its own error message */ - } - -+#ifdef AUTO_EXPAND -+ if (Chvdir(buf)) { -+#else - if (chdir(buf)) { -+#endif - sprintf(str,"Unable to cd to '%s'\n", buf); - setBrowStr(br, str); - XBell(theDisp, 50); - } - else { -+#ifdef AUTO_EXPAND -+ if (Isvdir(buf)) { -+ BTSetActive(&br->but[BR_DELETE], 0); -+ br->cmdMB.dim[BR_DELETE] = 1; -+ -+ BTSetActive(&br->but[BR_RENAME], 0); -+ br->cmdMB.dim[BR_RENAME] = 1; -+ -+ BTSetActive(&br->but[BR_MKDIR], 0); -+ br->cmdMB.dim[BR_MKDIR] = 1; -+ } -+ else { -+ BTSetActive(&br->but[BR_MKDIR], 1); -+ br->cmdMB.dim[BR_MKDIR] = 0; -+ } -+#endif - scanDir(br); - SCSetVal(&(br->scrl), 0); /* reset to top on a chdir */ -+ restIconVisible(br); - } - } - -@@ -4225,10 +4703,19 @@ - * call 'rm_dir()' for each of the directories - */ - -- BFIL *bf; -- int i, j, numdirs, numfiles, slen, firstdel; -- char buf[512]; -- static char *yesno[] = { "\004Delete", "\033Cancel" }; -+ BFIL *bf; -+ int i, numdirs, numfiles, slen, firstdel; -+ char buf[512]; -+ static const char *yesno[] = { "\004Delete", "\033Cancel" }; -+ -+#ifdef AUTO_EXPAND -+ if (Isvdir(br->path)) { -+ sprintf(buf,"Sorry, you can't delete file at the virtual directory, '%s'", -+ br->path); -+ ErrPopUp(buf, "\nBummer!"); -+ return; -+ } -+#endif - - if (!br->bfLen || !br->bfList || !br->numlit) return; - -@@ -4252,13 +4739,17 @@ - for (i=0, bf=br->bfList; ibfLen; i++,bf++) { - if (bf->lit) { - if (firstdel == -1) firstdel = i; -- if (bf->ftype == BF_DIR) numdirs++; -+ if (bf->ftype == BF_DIR -+#ifdef AUTO_EXPAND -+ && (!Isarchive(bf->name)) -+#endif -+ ) numdirs++; - else numfiles++; - } - } - - -- /* if any plain files are being toasted, bring up the low-key -+ /* if any plain files are being toasted, bring up the low-key - confirmation box */ - - if (numfiles) { -@@ -4266,7 +4757,12 @@ - slen = strlen(buf); - - for (i=0, bf=br->bfList; ibfLen; i++,bf++) { -+#ifdef AUTO_EXPAND -+ if (bf->lit && (bf->ftype != BF_DIR || Isarchive(bf->name))) { -+#else - if (bf->lit && bf->ftype != BF_DIR) { -+#endif -+ - if ( (slen + strlen(bf->name) + 1) > 256) { - strcat(buf,"..."); - break; -@@ -4278,10 +4774,10 @@ - } - } - -- i = PopUp(buf, yesno, 2); -+ i = PopUp(buf, yesno, COUNT(yesno)); - if (i) return; /* cancelled */ - } -- -+ - - /* if any directories are being toasted, bring up the are you REALLY sure - confirmation box */ -@@ -4291,7 +4787,11 @@ - slen = strlen(buf); - - for (i=0, bf=br->bfList; ibfLen; i++,bf++) { -+#ifdef AUTO_EXPAND -+ if (bf->lit && (bf->ftype == BF_DIR || !Isarchive(bf->name))) { -+#else - if (bf->lit && bf->ftype == BF_DIR) { -+#endif - if ( (slen + strlen(bf->name) + 1) > 256) { - strcat(buf,"..."); - break; -@@ -4303,16 +4803,20 @@ - } - } - -- i = PopUp(buf, yesno, 2); -+ i = PopUp(buf, yesno, COUNT(yesno)); - if (i) return; /* cancelled */ - } - - - /* okay, at this point they've been warned. do the deletion */ -- -+ - for (i=0, bf=br->bfList; ibfLen; i++,bf++) { - if (bf->lit) { -- if (bf->ftype == BF_DIR) rm_dir (br, bf->name); -+ if (bf->ftype == BF_DIR -+#ifdef AUTO_EXPAND -+ && !Isarchive(bf->name) -+#endif -+ ) rm_dir (br, bf->name); - else rm_file(br, bf->name); - } - } -@@ -4340,7 +4844,7 @@ - - /* rescan other br's that are looking at this directory */ - for (i=0; ipath)==0) -+ if (&binfo[i] != br && strcmp(binfo[i].path, br->path)==0) - rescanDir(&binfo[i]); - } - -@@ -4353,10 +4857,10 @@ - static void doSelFilesCmd(br) - BROWINFO *br; - { -- int i; -- static char buf[MAXPATHLEN+100]; -- static char *labels[] = { "\nOk", "\033Cancel" }; -- char str[512]; -+ int i; -+ static char buf[MAXPATHLEN+100]; -+ static const char *labels[] = { "\nOk", "\033Cancel" }; -+ char str[512]; - - buf[0] = '\0'; - strcpy(str,"Select file name(s). Wildcard '*' is allowed. "); -@@ -4394,9 +4898,9 @@ - static void doRecurseCmd(br) - BROWINFO *br; - { -- int i; -- static char *labels[] = { "\nOk", "\033Cancel" }; -- char str[512]; -+ int i; -+ static const char *labels[] = { "\nOk", "\033Cancel" }; -+ char str[512]; - - strcpy(str,"Recursive Update: This could take *quite* a while.\n"); - strcat(str,"Are you sure?"); -@@ -4415,9 +4919,9 @@ - - - /*******************************************/ --static void recurseUpdate(br, subdir) -- BROWINFO *br; -- char *subdir; -+static void recurseUpdate(br, subdir) -+ BROWINFO *br; -+ const char *subdir; - { - /* note: 'br->path + subdir' is the full path to recurse down from */ - -@@ -4430,7 +4934,7 @@ - * and for each subdir in this dir, recurse - * - * if cur dir != orig dir, cd back to orig dir and reload 'br' -- */ -+ */ - - int i; - char orgDir[MAXPATHLEN + 2]; -@@ -4441,7 +4945,11 @@ - xv_getwd(orgDir, sizeof(orgDir)); - - sprintf(curDir, "%s%s", br->path, subdir); -+#ifdef AUTO_EXPAND -+ if (Chvdir(curDir)) { -+#else - if (chdir(curDir)) { -+#endif - char str[512]; - sprintf(str, "Unable to cd to '%s'\n", curDir); - setBrowStr(br, str); -@@ -4449,18 +4957,28 @@ - } - - xv_getwd(curDir, sizeof(curDir)); -- -+ - /* have we looped? */ - for (i=0; ibfLen; i++) { - bf = &(br->bfList[i]); -- if (bf && -- bf->ftype == BF_DIR && -+ if (bf && -+ bf->ftype == BF_DIR && - strcmp(bf->name, ".") && - strcmp(bf->name, "..") && - strcmp(bf->name, THUMBDIRNAME) ) { -@@ -4495,7 +5013,12 @@ - - xv_getwd(curDir, sizeof(curDir)); - if (strcmp(orgDir, curDir)) { /* change back to orgdir */ -+#ifdef AUTO_EXPAND -+ Chvdir(orgDir); -+#else - chdir(orgDir); -+#endif -+ restIconVisible(br); - scanDir(br); - } - } -@@ -4519,12 +5042,19 @@ - setBrowStr(br, buf); - } - -+#ifdef AUTO_EXPAND -+ if (Rmvdir(name)) { -+ sprintf(buf, "fail to remove virturl directory: %s", name); -+ setBrowStr(br, buf); -+ } -+#endif -+ - /* try to delete a thumbnail file, as well. ignore errors */ - strcpy(buf1, name); /* tmp1 = leading path of name */ - tmp = (char *) rindex(buf1, '/'); - if (!tmp) strcpy(buf1,"."); - else *tmp = '\0'; -- -+ - sprintf(buf, "%s/%s/%s", buf1, THUMBDIR, BaseName(name)); - if (DEBUG) fprintf(stderr," (%s)\n", buf); - -@@ -4548,7 +5078,7 @@ - BROWINFO *br; - { - /* recursively delete this directory, and all things under it */ -- -+ - int i, dirlen, longpath, oldpathlen; - char **names, *name, buf[512]; - struct stat st; -@@ -4569,7 +5099,7 @@ - name = names[i]; - - /* skip . and .. (not that we should ever see them... */ -- if (name[0] == '.' && (name[1]=='\0' || -+ if (name[0] == '.' && (name[1]=='\0' || - (name[1]=='.' && name[2]=='\0'))) goto done; - - if (strlen(name) + oldpathlen >= (MAXPATHLEN-3)) { -@@ -4586,15 +5116,22 @@ - rmdirPath[oldpathlen] = '\0'; - goto done; - } -- -- if (stat2bf((u_int) st.st_mode) == BF_DIR) { /* skip, for now */ -+ -+#ifdef AUTO_EXPAND -+ if ((stat2bf((u_int) st.st_mode , rmdirPath) == BF_DIR) -+ && !Isarchive(rmdirPath)) /* skip, for now */ -+#else -+ -+ if (stat2bf((u_int) st.st_mode) == BF_DIR) /* skip, for now */ -+#endif -+ { - rmdirPath[oldpathlen] = '\0'; - continue; /* don't remove from list */ - } - - rm_file(br, rmdirPath); - rmdirPath[oldpathlen] = '\0'; -- -+ - done: /* remove name from list */ - free(name); - names[i] = (char *) NULL; -@@ -4640,30 +5177,35 @@ - - static int overwrite; - #define OWRT_ASK 0 --#define OWRT_NOASK 1 --#define OWRT_CANCEL 2 -- -+#define OWRT_ALWAYS 1 -+#define OWRT_NEVER 2 -+#define OWRT_CANCEL 3 - - /*******************************************/ --static void dragFiles(srcBr, dstBr, srcpath, dstpath, dstdir, -+static void dragFiles(srcBr, dstBr, srcpath, dstpath, dstdir, - names, nlen, cpymode) -- BROWINFO *srcBr, *dstBr; -- char *srcpath, *dstpath, *dstdir, **names; -- int nlen, cpymode; -+ BROWINFO *srcBr, *dstBr; -+ char *srcpath, *dstpath, **names; -+ const char *dstdir; -+ int nlen, cpymode; - { -- /* move or copy file(s) and their associated thumbnail files. -+ /* move or copy file(s) and their associated thumbnail files. - srcpath and dstpath will have trailing '/'s. dstdir is name of - folder in dstpath (or "." or "..") to write to. names is an nlen - long array of strings (the simple filenames of the files to move) - if 'cpymode' copy files, otherwise move them */ - -- int i, j, k, dothumbs, fail; -+ int i, j, dothumbs, fail; - char dstp[MAXPATHLEN + 1]; - char src[MAXPATHLEN+1], dst[MAXPATHLEN+1]; - char buf[128]; - struct stat st; - - -+ /* if the source directory is read-only, don't move files; copy them */ -+ if (!cpymode && (access(srcpath, W_OK) != 0)) -+ cpymode = 1; -+ - /* build real destination dir */ - strcpy(dstp, dstpath); - -@@ -4677,11 +5219,26 @@ - } - else if (strcmp(dstdir,".")!=0) sprintf(dstp, "%s%s/", dstpath, dstdir); - -+#ifdef AUTO_EXPAND -+ if (Isvdir(dstp)) { -+ sprintf(buf,"Sorry, you can't %s to the virtual directory, '%s'", -+ cpymode ? "copy" : "move", dstp); -+ ErrPopUp(buf, "\nBummer!"); -+ SetCursors(-1); -+ return; -+ } -+ if (Isvdir(srcpath)) -+ cpymode = 1; -+#endif -+ - - - /* if there is a thumbnail directory in 'srcpath', make one for dstpath */ - sprintf(src,"%s%s", srcpath, THUMBDIR); - dothumbs = 0; -+#ifdef AUTO_EXPAND -+ Dirtovd(src); -+#endif - if (stat(src, &st)==0) { - sprintf(dst,"%s%s", dstp, THUMBDIR); - mkdir(dst, st.st_mode & 07777); -@@ -4712,6 +5269,14 @@ - if (overwrite == OWRT_CANCEL) break; /* abort move */ - if (j==1) fail++; - -+#ifdef AUTO_EXPAND -+ if (!cpymode && j==0) -+ if (Movevdir(src,dst)) { -+ sprintf(buf, "fail to move virturl directory: %s", names[i]); -+ setBrowStr(srcBr, buf); -+ } -+#endif -+ - if (dothumbs && j==0) { - sprintf(src,"%s%s/%s", srcpath, THUMBDIR, names[i]); - sprintf(dst,"%s%s/%s", dstp, THUMBDIR, names[i]); -@@ -4749,8 +5314,17 @@ - } - - -+ if (!cpymode) { -+ /* clear all lit files in the source folder (as they've been moved) -+ note: this won't be the optimal behavior if any files failed to -+ move, but screw it, that's not going to happen too often... */ -+ for (i=0; ibfLen; i++) srcBr->bfList[i].lit = 0; -+ srcBr->numlit = 0; -+ } -+ -+ - /* clear all files in the destination folder */ -- for (i=0; ibfLen; i++) { -+ for (i=0; ibfLen; i++) { - dstBr->bfList[i].lit = 0; - } - dstBr->numlit = 0; -@@ -4760,10 +5334,10 @@ - for (i=0; ibfList; -+ for (j=0, bf=dstBr->bfList; - jbfLen && strcmp(name, bf->name)!=0; j++, bf++); -- if (jbfLen) { -- bf->lit = 1; dstBr->numlit++; -+ if (jbfLen) { -+ bf->lit = 1; dstBr->numlit++; - } - } - -@@ -4783,10 +5357,10 @@ - changedNumLit(srcBr, -1, 0); - - -- if (fail) sprintf(buf, "Some files were not %s because of errors.", -+ if (fail) sprintf(buf, "Some files were not %s because of errors.", - cpymode ? "copied" : "moved"); - -- else if (nlen>1) sprintf(buf, "%d files %s", nlen, -+ else if (nlen>1) sprintf(buf, "%d files %s", nlen, - (cpymode) ? "copied" : "moved"); - else buf[0] = '\0'; - setBrowStr(srcBr, buf); -@@ -4794,7 +5368,51 @@ - SetCursors(-1); - } - -+static int recursive_remove(dir) -+ char *dir; -+{ -+ DIR *dp = NULL; -+ struct dirent *di; -+ char name[MAXPATHLEN+1]; -+ -+ strncpy(name, dir, MAXPATHLEN); -+ name[MAXPATHLEN] = 0; -+ -+ if (name[strlen(name) - 1] == '/') -+ name[strlen(name) - 1] = 0; -+ -+ if ((dp = opendir(name)) == NULL) -+ goto err; -+ -+ while ((di = readdir(dp)) != NULL) { -+ char buf[MAXPATHLEN+1]; -+ struct stat st; -+ -+ if (!strcmp(di->d_name, ".") || !strcmp(di->d_name, "..")) -+ continue; -+ -+ snprintf(buf, MAXPATHLEN, "%s/%s", name, di->d_name); -+ -+ if (stat(buf, &st) < 0) -+ continue; -+ -+ if (S_ISDIR(st.st_mode)) { -+ if (recursive_remove(buf) < 0) -+ goto err; -+ } else -+ unlink(buf); -+ } - -+ if (rmdir(name) < 0) -+ goto err; -+ -+ closedir(dp); -+ return 0; -+ -+err: -+ if (dp) closedir(dp); -+ return -1; -+} - - /*************************************************/ - static int moveFile(src,dst) -@@ -4809,34 +5427,48 @@ - One bit of noise: if destination file exists, pop up a Overwrite? - warning box. */ - -- int i, srcdir, dstdir; -- struct stat st; -- char buf[512]; -- static char *owbuts[4] = { "\nOk", "dDon't ask", "nNo", "\033Cancel" }; -+ int i, srcdir, dstdir; -+ struct stat st; -+ char buf[512]; -+ static const char *owbuts[] = { "\nOk", "aAlways", "nNo", "NNever", "\033Cancel" }; - - if (DEBUG) fprintf(stderr,"moveFile %s %s\n", src, dst); - -+#ifdef AUTO_EXPAND -+ Dirtosubst(src); -+#endif -+ - if (stat(src, &st)) return 0; /* src doesn't exist, it would seem */ -+#ifdef AUTO_EXPAND -+ srcdir = (stat2bf((u_int) st.st_mode , src) == BF_DIR); -+#else - srcdir = (stat2bf((u_int) st.st_mode) == BF_DIR); -+#endif - - /* see if destination exists */ -+ - if (stat(dst, &st)==0) { -+ if (overwrite==OWRT_NEVER) return -1; -+#ifdef AUTO_EXPAND -+ dstdir = (stat2bf((u_int) st.st_mode , dst) == BF_DIR); -+#else - dstdir = (stat2bf((u_int) st.st_mode) == BF_DIR); -+#endif - - if (overwrite==OWRT_ASK) { -- sprintf(buf, "%s '%s' exists.\n\nOverwrite?", -+ snprintf(buf, sizeof(buf), "%s '%s' exists.\n\nOverwrite?", - dstdir ? "Directory" : "File", dst); -- i = PopUp(buf, owbuts, 4); -- -- if (i==1) overwrite = OWRT_NOASK; -- else if (i==2) return -1; -- else if (i==3) { overwrite = OWRT_CANCEL; return 1; } -+ switch (PopUp(buf, owbuts, COUNT(owbuts))) { -+ case 1: overwrite = OWRT_ALWAYS; break; -+ case 2: return -1; -+ case 3: overwrite = OWRT_NEVER; return -1; -+ case 4: overwrite = OWRT_CANCEL; return 1; -+ } - } - - if (dstdir) { - #ifndef VMS /* we don't delete directories in VMS */ -- sprintf(buf, "rm -rf %s", dst); -- if (system(buf)) { /* okay, so it's cheating... */ -+ if (recursive_remove(dst)) { /* okay, so it's cheating... */ - SetISTR(ISTR_WARNING, "Unable to remove directory %s", dst); - return 1; - } -@@ -4848,7 +5480,7 @@ - } - } - -- -+ - if (!rename(src, dst)) return 0; /* Ok */ - if (errno != EXDEV) return 1; /* failure, of some sort */ - -@@ -4859,9 +5491,8 @@ - if (i == 0) { /* copied okay, kill the original */ - if (srcdir) { - #ifndef VMS /* we don't delete directories in VMS */ -- sprintf(buf, "rm -rf %s", src); -- if (system(buf)) { /* okay, so it's cheating... */ -- SetISTR(ISTR_WARNING, "Unable to remove directory %s", dst); -+ if (recursive_remove(src)) { /* okay, so it's cheating... */ -+ SetISTR(ISTR_WARNING, "Unable to remove directory %s", src); - return 1; - } - #endif /* VMS */ -@@ -4896,7 +5527,7 @@ - /* possible cases: source is either a file or a directory, or doesn't exist, - destination is either a file, a directory, or doesn't exist. - -- if source doesn't exist, nothing to do. -+ if source doesn't exist, nothing to do. - if source is a file: - if dest is a file, popup 'overwriting' question, delete file if ok - if dest is a dir, popup 'overwriting dir' question, delete dir if ok -@@ -4907,38 +5538,51 @@ - fall through: if dest doesn't exist, copy the directory, recurs */ - - -- int i, dstExists, srcdir, dstdir; -- struct stat srcSt, dstSt; -- char buf[1024]; -- static char *owdiff[3] = { "\nOk", "nNo", "\033Cancel" }; -- static char *owsame[4] = { "\nOk", "dDon't Ask", "nNo", "\033Cancel" }; -+ int dstExists, srcdir, dstdir; -+ struct stat srcSt, dstSt; -+ char buf[1024]; -+ static const char *owdiff[] = { "\nOk", "nNo", "\033Cancel" }; -+ static const char *owsame[] = { "\nOk", "aAlways", "nNo", "NNever", "\033Cancel" }; - - if (DEBUG) fprintf(stderr,"copyFile %s %s\n", src, dst); - -+#ifdef AUTO_EXPAND -+ Dirtosubst(src); -+#endif -+ - if (stat(src,&srcSt)) return 0; /* source doesn't exist, it would seem */ - - dstExists = (stat(dst, &dstSt)==0); - - if (dstExists) { /* ask about overwriting... */ -- srcdir = (stat2bf((u_int) srcSt.st_mode) == BF_DIR); -- dstdir = (stat2bf((u_int) dstSt.st_mode) == BF_DIR); -+#ifdef AUTO_EXPAND -+ srcdir = (stat2bf((u_int) srcSt.st_mode , src) == BF_DIR); -+ dstdir = (stat2bf((u_int) dstSt.st_mode , dst) == BF_DIR); -+#else -+ srcdir = (stat2bf((u_int) srcSt.st_mode) == BF_DIR); -+ dstdir = (stat2bf((u_int) dstSt.st_mode) == BF_DIR); -+#endif - - sprintf(buf, "%s '%s' already exists. Replace it with %s '%s'?", - (dstdir) ? "Directory" : "File", dst, - (srcdir) ? "contents of directory" : "file", src); - - if (srcdir == dstdir) { -+ if (overwrite==OWRT_NEVER) return -1; - if (overwrite==OWRT_ASK) { -- i = PopUp(buf, owsame, 4); -- if (i==1) overwrite = OWRT_NOASK; -- if (i==2) return -1; -- else if (i==3) { overwrite = OWRT_CANCEL; return 1; } -+ switch (PopUp(buf, owsame, COUNT(owsame))) { -+ case 1: overwrite = OWRT_ALWAYS; break; -+ case 2: return -1; -+ case 3: overwrite = OWRT_NEVER; return -1; -+ case 4: overwrite = OWRT_CANCEL; return 1; -+ } - } - } - else { /* one's a dir, the other's a file. *ALWAYS* ask! */ -- i = PopUp(buf, owdiff, 3); -- if (i==1) return -1; -- else if (i==2) { overwrite = OWRT_CANCEL; return 1; } -+ switch (PopUp(buf, owdiff, COUNT(owdiff))) { -+ case 1: return -1; -+ case 2: overwrite = OWRT_CANCEL; return 1; -+ } - } - - -@@ -4957,7 +5601,7 @@ - /* destination doesn't exist no more, if it ever did... */ - userMask = umask(0); /* grab the umask */ - umask((mode_t) userMask); /* put it back... */ -- -+ - - strcpy(cpSrcPath, src); - strcpy(cpDstPath, dst); -@@ -5017,7 +5661,7 @@ - called recursively by cp_dir, there are *no* guarantees that either file - exists or not */ - -- int i, havedst; -+ int havedst; - struct stat srcSt, dstSt; - - if (stat(cpSrcPath, &srcSt)) { /* src doesn't exist, usefully... */ -@@ -5036,8 +5680,11 @@ - havedst = 1; - } - -- -- switch(stat2bf((u_int) srcSt.st_mode)) { -+#ifdef AUTO_EXPAND -+ switch(stat2bf((u_int) srcSt.st_mode , cpDstPath)) { -+#else -+ switch(stat2bf((u_int) srcSt.st_mode)) { -+#endif - /* determine how to copy, by filetype */ - - /* NOTE: There is no S_IFLNK case here, since we're using 'stat()' and -@@ -5053,18 +5700,22 @@ - } - } - else { -+#ifdef AUTO_EXPAND -+ if (stat2bf((u_int) dstSt.st_mode , cpDstPath) != BF_DIR) { -+#else - if (stat2bf((u_int) dstSt.st_mode) != BF_DIR) { -+#endif - SetISTR(ISTR_WARNING,"%s: not a directory", cpDstPath); - copyerr++; - return; - } - } -- -+ - cp_dir(); - if (!havedst) chmod(cpDstPath, srcSt.st_mode); -- -+ - break; -- -+ - - case BF_CHR: - case BF_BLK: cp_special(&srcSt, havedst); break; -@@ -5089,12 +5740,12 @@ - { - int i, dirlen, oldsrclen, olddstlen, longpath; - char **names, *name; -- struct stat srcSt, dstSt; -+ struct stat srcSt; - - - /* src and dst directories both exists now. copy entries */ - -- if (DEBUG) fprintf(stderr,"cp_dir: src='%s', dst='%s'\n", -+ if (DEBUG) fprintf(stderr,"cp_dir: src='%s', dst='%s'\n", - cpSrcPath, cpDstPath); - - longpath = 0; -@@ -5110,9 +5761,9 @@ - - for (i=0; i= (MAXPATHLEN-3)) || - (strlen(name) + olddstlen >= (MAXPATHLEN-3))) { -@@ -5130,12 +5781,17 @@ - cpSrcPath[oldsrclen] = '\0'; - goto done; - } -- -- if (stat2bf((u_int) srcSt.st_mode) == BF_DIR) { -+ -+#ifdef AUTO_EXPAND -+ if (stat2bf((u_int) srcSt.st_mode , cpSrcPath) == BF_DIR) -+#else -+ if (stat2bf((u_int) srcSt.st_mode) == BF_DIR) -+#endif -+ { - cpSrcPath[oldsrclen] = '\0'; - continue; /* don't remove from list, just skip */ - } -- -+ - strcat(cpDstPath, "/"); - strcat(cpDstPath, name); - cp(); /* RECURSE */ -@@ -5169,7 +5825,7 @@ - strcat(cpDstPath, name); - - cp(); /* RECURSE */ -- -+ - cpSrcPath[oldsrclen] = '\0'; - cpDstPath[olddstlen] = '\0'; - } -@@ -5190,11 +5846,11 @@ - int exists; - /*****************************/ - { -- register int srcFd, dstFd, rcount, wcount, i; -- char str[512], buf[8192]; -- static char *owbuts[4] = { "\nOk", "dDon't Ask", "nNo", "\033Cancel" }; -+ register int srcFd, dstFd, rcount, wcount; -+ char buf[8192]; -+ static const char *owbuts[] = { "\nOk", "aAlways", "nNo", "NNever", "\033Cancel" }; - -- if (DEBUG) fprintf(stderr,"cp_file: src='%s', dst='%s'\n", -+ if (DEBUG) fprintf(stderr,"cp_file: src='%s', dst='%s'\n", - cpSrcPath, cpDstPath); - - if ((srcFd = open(cpSrcPath, O_RDONLY, 0)) == -1) { -@@ -5204,13 +5860,15 @@ - } - - if (exists) { -+ if (overwrite==OWRT_NEVER) return; - if (overwrite==OWRT_ASK) { - sprintf(buf, "File '%s' exists.\n\nOverwrite?", cpDstPath); -- i = PopUp(buf, owbuts, 4); -- -- if (i==1) overwrite = OWRT_NOASK; -- else if (i==2) return; -- else if (i==3) { overwrite = OWRT_CANCEL; return; } -+ switch (PopUp(buf, owbuts, 4)) { -+ case 1: overwrite = OWRT_ALWAYS; break; -+ case 2: return; -+ case 3: overwrite = OWRT_NEVER; return; -+ case 4: overwrite = OWRT_CANCEL; return; -+ } - } - dstFd = open(cpDstPath, O_WRONLY|O_TRUNC, 0); - } -@@ -5255,7 +5913,7 @@ - int exists; - /*********************************/ - { -- if (DEBUG) fprintf(stderr,"cp_spec: src='%s', dst='%s'\n", -+ if (DEBUG) fprintf(stderr,"cp_spec: src='%s', dst='%s'\n", - cpSrcPath, cpDstPath); - - if (exists && unlink(cpDstPath)) { -@@ -5281,7 +5939,7 @@ - int exists; - /*********************************/ - { -- if (DEBUG) fprintf(stderr,"cp_fifo: src='%s', dst='%s'\n", -+ if (DEBUG) fprintf(stderr,"cp_fifo: src='%s', dst='%s'\n", - cpSrcPath, cpDstPath); - - #ifdef S_IFIFO -@@ -5302,12 +5960,18 @@ - - - -- -+ - /*********************************/ -+#ifdef AUTO_EXPAND -+static int stat2bf(uistmode, path) -+ u_int uistmode; -+ char *path; -+#else - static int stat2bf(uistmode) - u_int uistmode; -+#endif - { -- /* given the 'st.st_mode' field from a successful stat(), returns -+ /* given the 'st.st_mode' field from a successful stat(), returns - BF_FILE, BF_DIR, BF_BLK, BF_CHR, BF_FIFO, or BF_SOCK. Does *NOT* - return BF_EXE */ - -@@ -5319,6 +5983,9 @@ - else if (S_ISBLK(stmode)) rv = BF_BLK; - else if (S_ISFIFO(stmode)) rv = BF_FIFO; - else if (S_ISSOCK(stmode)) rv = BF_SOCK; -+#ifdef AUTO_EXPAND -+ else if (Isarchive(path)) rv = BF_DIR; -+#endif - else rv = BF_FILE; - - return rv; -@@ -5357,8 +6024,8 @@ - static int selmatch1(name, arg) - char *name, *arg; - { -- /* returns non-zero if 'name' matches 'arg'. Any '*' chars found in arg -- are considered wildcards that match any number of characters, -+ /* returns non-zero if 'name' matches 'arg'. Any '*' chars found in arg -+ are considered wildcards that match any number of characters, - including zero. */ - - char *sp, *oldnp; -@@ -5379,7 +6046,7 @@ - while (*name) name++; - while (*arg ) arg++; - name--; arg--; -- -+ - while (*arg != '*') { - if (*arg != *name || namenext) { -+ if (!strcmp(ptr->name, name)) { -+ ptr->icon = icon; -+ return; -+ } -+ } -+ -+ ptr = calloc(sizeof(IVIS), 1); -+ if (!ptr) -+ return; - -+ ptr->name = strdup(name); -+ -+ if (!ptr->name) { -+ free(ptr); -+ return; -+ } -+ -+ if (!prev) { -+ icon_vis_list = ptr; -+ } else { -+ prev->next = ptr; -+ } -+ -+ ptr->next = NULL; -+ ptr->icon = icon; -+} -+ -+/***************************************************************/ -+static void restIconVisible(br) -+ BROWINFO *br; -+{ -+ IVIS *ptr; -+ -+ for (ptr = icon_vis_list; ptr; ptr = ptr->next) { -+ if (!strcmp(ptr->name, br->path)) { -+ if (ptr->icon >= 0) { -+ makeIconVisible(br, ptr->icon); -+ updateSel(br, ptr->icon, 0, 0); -+ } -+ return; -+ } -+ } -+} -+ -+ -+/*********************************/ -+static void clipChanges(br) -+ BROWINFO *br; -+{ -+ /* called whenever schnauzer activity should place file names in -+ the X11 clipboard, or change what it put there. -+ -+ Implementation is simple because the UI is non-standard -+ (i.e., not like xterm(1)). The clipboard command causes the -+ current browser to dump all its currently selected files' -+ (if any) names to the clipboard, space-separated. -+ No effort is made to shell-escape blanks and other 'odd' -+ characters in the names. */ -+ -+ char buf[4000]; /* too much or too little, whatever... */ -+ int n; -+ int i; -+ -+ n = 0; -+ strcpy(buf, ""); -+ -+ for (i=0; ibfLen; i++) { -+ if(br->bfList[i].lit == 1) { -+ int m; -+ -+ m = strlen(br->bfList[i].name) + 1; -+ -+ if(n+m+1 >= sizeof(buf)) return; /* names probably won't fit in buf, abort */ -+ strcat(buf, br->bfList[i].name); -+ strcat(buf, " "); -+ n += m; -+ } -+ } -+ -+ if(n) { -+ buf[n-1] = 0; /* trim last space */ -+ -+ NewCutBuffer(buf); -+ } -+} -diff -ru xv-3.10a/xvbutt.c xv-3.10a-enhancements/xvbutt.c ---- xv-3.10a/xvbutt.c 1995-01-03 13:19:51.000000000 -0800 -+++ xv-3.10a-enhancements/xvbutt.c 2007-04-15 20:59:15.000000000 -0700 -@@ -1,4 +1,4 @@ --/* -+/* - * xvbutt.c - regular, 'radio', 'checkbox', and 'menu' pushbuttons - * - * callable functions: -@@ -16,7 +16,7 @@ - * RBSetActive() - sets active status of an RBUTT - * RBClick() - finds clicked-on rb in a list - * RBTrack() - tracks rb after click, until release -- * -+ * - * CBCreate() - create a CBUTT (checkbox button) - * CBRedraw() - redraw a CBUTT - * CBSetActive() - change active status of a CBUTT -@@ -26,7 +26,7 @@ - * MBCreate() - create a MBUTT (menu button) - * MBRedraw() - redraw a MBUTT - * MBSetActive() - change active status of a MBUTT -- * MBWhich() - returns # of first checked selection -+ * MBWhich() - returns # of first checked selection - * MBSelect() - similar to RBSelect() ... - * MBClick() - returns true if given MB was clicked on - * MBTrack() - tracks MBUTT after click, until release -@@ -76,7 +76,7 @@ - Window win; - int x,y; - unsigned int w,h; -- char *str; -+ const char *str; - unsigned long fg,bg,hi,lo; - { - bp->win = win; -@@ -116,7 +116,7 @@ - void BTRedraw(bp) - BUTT *bp; - { -- int i,x,y,r,x1,y1; -+ int x,y,r,x1,y1; - unsigned int w,h; - XPoint tpts[10], bpts[10], ipts[5]; - -@@ -170,13 +170,13 @@ - XSetForeground(theDisp, theGC, bp->fg); - XDrawLines(theDisp, bp->win, theGC, ipts, 5, CoordModeOrigin); /* inset */ - -- XDrawLine(theDisp, bp->win, theGC, x+1, y + 1, -+ XDrawLine(theDisp, bp->win, theGC, x+1, y + 1, - ipts[0].x, ipts[0].y); - XDrawLine(theDisp, bp->win, theGC, x+1, y + (int) h - 1, - ipts[1].x, ipts[1].y); - XDrawLine(theDisp, bp->win, theGC, x + (int) w - 1, y + (int) h - 1, - ipts[2].x, ipts[2].y); -- XDrawLine(theDisp, bp->win, theGC, x + (int) w - 1, y+1, -+ XDrawLine(theDisp, bp->win, theGC, x + (int) w - 1, y+1, - ipts[3].x, ipts[3].y); - - if (bp->lit) { -@@ -184,12 +184,12 @@ - XDrawRectangle(theDisp, bp->win, theGC, x+1, y+1, w-2, h-2); - } - } -- -+ - else { /* ctrlColor */ - XSetForeground(theDisp, theGC, bp->bg); - XFillRectangle(theDisp, bp->win, theGC, x+1, y+1, w-1, h-1); - -- Draw3dRect(bp->win, x+1, y+1, w-2, h-2, R3D_OUT, bp->fwidth, -+ Draw3dRect(bp->win, x+1, y+1, w-2, h-2, R3D_OUT, bp->fwidth, - bp->hi, bp->lo, bp->bg); - - XSetForeground(theDisp, theGC, bp->fg); -@@ -198,7 +198,7 @@ - if (bp->lit) - XDrawRectangle(theDisp, bp->win, theGC, x+1, y+1, w-2, h-2); - } -- -+ - - - -@@ -210,7 +210,7 @@ - - XSetBackground(theDisp, theGC, bp->bg); - -- if (bp->colorpix) -+ if (bp->colorpix) - XCopyArea (theDisp,bp->pix, bp->win, theGC, 0,0,bp->pw,bp->ph, x1,y1); - else - XCopyPlane(theDisp,bp->pix, bp->win, theGC, 0,0,bp->pw,bp->ph, x1,y1,1L); -@@ -262,15 +262,15 @@ - if (bp->lit==inval && PTINRECT(x, y, bp->x, bp->y, bp->w, bp->h)) { - bp->lit = !inval; BTRedraw(bp); XFlush(theDisp); - } -- -+ - if (bp->lit!=inval && !PTINRECT(x, y, bp->x, bp->y, bp->w, bp->h)) { - bp->lit = inval; BTRedraw(bp); XFlush(theDisp); - } - } - - rval = (bp->lit != inval); -- -- if (bp->lit && !bp->toggle) -+ -+ if (bp->lit && !bp->toggle) - { bp->lit = 0; BTRedraw(bp); XFlush(theDisp); } - - return(rval); -@@ -290,18 +290,18 @@ - RBUTT *rblist; - Window win; - int x,y; -- char *str; -+ const char *str; - unsigned long fg,bg,hi,lo; - { - /* mallocs an RBUTT, fills in the fields, and appends it to rblist - if rblist is NULL, this is the first rb in the list. It will -- be made the 'selected' one -+ be made the 'selected' one - -- Note: no need to check return status. It'll fatal error if it -+ Note: no need to check return status. It'll fatal error if it - can't malloc */ - - RBUTT *rb, *rbptr; -- Pixmap rb_frame, rb_frame1, rb_top, rb_bot, rb_dtop, rb_dbot, rb_body, -+ Pixmap rb_frame, rb_frame1, rb_top, rb_bot, rb_dtop, rb_dbot, rb_body, - rb_dot; - - rb = (RBUTT *) malloc(sizeof(RBUTT)); -@@ -348,7 +348,7 @@ - rb_off = XCreatePixmap(theDisp, rootW, RBSIZE, RBSIZE, dispDEEP); - rb_off1 = XCreatePixmap(theDisp, rootW, RBSIZE, RBSIZE, dispDEEP); - -- if (!rb_frame || !rb_frame1 || !rb_top || !rb_bot || !rb_dtop || -+ if (!rb_frame || !rb_frame1 || !rb_top || !rb_bot || !rb_dtop || - !rb_dbot || !rb_body || !rb_dot || !rb_on || !rb_on1 || - !rb_off || !rb_off1) - FatalError("unable to create radio-button pixmaps"); -@@ -410,7 +410,7 @@ - XFillRectangle(theDisp, rb_on, theGC, 0,0,RBSIZE,RBSIZE); - XFillRectangle(theDisp, rb_on1, theGC, 0,0,RBSIZE,RBSIZE); - } -- -+ - XSetStipple(theDisp, theGC, rb_frame); - XSetForeground(theDisp, theGC, fg); - XFillRectangle(theDisp, rb_on, theGC, 0,0,RBSIZE,RBSIZE); -@@ -437,7 +437,7 @@ - - return(rb); - } -- -+ - - - -@@ -475,23 +475,23 @@ - int lit; - { - /* draws the rb being pointed at */ -- -+ - Pixmap pix; -- -+ - if (!rb) return; /* rb = NULL */ -- -+ - XSetForeground(theDisp, theGC, rb->fg); -- -+ - if (rb->selected) { pix = (lit) ? rb_on1 : rb_on; } - else { pix = (lit) ? rb_off1 : rb_off; } -- -+ - XCopyArea(theDisp, pix, rb->win, theGC, 0,0,RBSIZE,RBSIZE, rb->x, rb->y); -- DrawString(rb->win, rb->x + RBSIZE + 4, -+ DrawString(rb->win, rb->x + RBSIZE + 4, - rb->y + RBSIZE/2 - CHIGH/2 + ASCENT, rb->str); - - if (!rb->active) { /* if non-active, dim button and string */ - DimRect(rb->win, rb->x, rb->y, RBSIZE, RBSIZE, rb->bg); -- DimRect(rb->win, rb->x + RBSIZE + 4, rb->y + RBSIZE/2 - CHIGH/2, -+ DimRect(rb->win, rb->x + RBSIZE + 4, rb->y + RBSIZE/2 - CHIGH/2, - (u_int) StringWidth(rb->str), (u_int) CHIGH, rb->bg); - } - } -@@ -527,19 +527,19 @@ - } - - -- -+ - /***********************************************/ - int RBWhich(rblist) - RBUTT *rblist; - { - int i; -- -+ - /* returns index of currently selected rb. if none, returns -1 */ -- -+ - i = 0; -- while (rblist && !rblist->selected) -+ while (rblist && !rblist->selected) - { rblist = (RBUTT *) rblist->next; i++; } -- -+ - if (!rblist) return -1; /* didn't find one */ - return i; - } -@@ -550,9 +550,9 @@ - RBUTT *rblist; - { - int i; -- -+ - /* returns # of rb's in the list */ -- -+ - i = 0; - while (rblist) { rblist = (RBUTT *) rblist->next; i++; } - return i; -@@ -566,13 +566,13 @@ - { - RBUTT *rb; - int i; -- -+ - /* sets 'active' status of rb #n. does redrawing */ -- -+ - rb=rblist; i=0; - while (rb && i!=n) { rb = (RBUTT *) rb->next; i++; } - if (!rb) return; /* n out of range. do nothing */ -- -+ - if (rb->active != act) { - rb->active = act; - drawRB(rb, 0); -@@ -588,13 +588,13 @@ - int i; - - /* searches through rblist to see if mouse click at mx,my is in the -- clickable region of any of the rb's. If it finds one, it returns -+ clickable region of any of the rb's. If it finds one, it returns - it's index in the list. If not, returns -1 */ - - i = 0; - while (rblist) { - if (PTINRECT(mx, my, rblist->x, rblist->y, RBSIZE, RBSIZE)) break; -- -+ - rblist = (RBUTT *) rblist->next; - i++; - } -@@ -613,9 +613,9 @@ - Window rW, cW; - int i, x, y, rx, ry, lit, rv; - unsigned int mask; -- -+ - /* returns '1' if selection changed */ -- -+ - rb=rblist; i=0; - while (rb && i!=n) { rb = (RBUTT *) rb->next; i++; } - if (!rb) return 0; /* n out of range */ -@@ -637,7 +637,7 @@ - drawRB(rb, lit); - XFlush(theDisp); - } -- -+ - if (lit && !PTINRECT(x, y, rb->x, rb->y, RBSIZE, RBSIZE)) { - lit=0; - drawRB(rb, lit); -@@ -671,7 +671,7 @@ - CBUTT *cb; - Window win; - int x,y; -- char *str; -+ const char *str; - unsigned long fg,bg,hi,lo; - { - /* fill in the fields of the structure */ -@@ -690,14 +690,14 @@ - do so. We'll be needing them, y'see... */ - - if (!cbpixmade) { -- cbcheck = XCreatePixmapFromBitmapData(theDisp, rootW, -+ cbcheck = XCreatePixmapFromBitmapData(theDisp, rootW, - (char *) cb_check_bits, - cb_check_width, cb_check_height, fg, bg, dispDEEP); - - cbpixmade = 1; - } - } -- -+ - - - -@@ -708,25 +708,25 @@ - /* draws the cb being pointed at */ - - XSetForeground(theDisp, theGC, cb->bg); -- XFillRectangle(theDisp, cb->win, theGC, cb->x+2, cb->y+2, -+ XFillRectangle(theDisp, cb->win, theGC, cb->x+2, cb->y+2, - XVCBSIZE-3,XVCBSIZE-3); - - XSetForeground(theDisp, theGC, cb->fg); - XDrawRectangle(theDisp, cb->win, theGC, cb->x, cb->y, XVCBSIZE, XVCBSIZE); - Draw3dRect(cb->win, cb->x+1, cb->y+1, XVCBSIZE-2, XVCBSIZE-2, R3D_OUT, 2, -- cb->hi, cb->lo, cb->bg); -+ cb->hi, cb->lo, cb->bg); - -- if (cb->val) XCopyArea(theDisp, cbcheck, cb->win, theGC, -- 0, 0, cb_check_width, cb_check_height, -+ if (cb->val) XCopyArea(theDisp, cbcheck, cb->win, theGC, -+ 0, 0, cb_check_width, cb_check_height, - cb->x+3, cb->y+3); -- -+ - XSetForeground(theDisp, theGC, cb->fg); -- DrawString(cb->win, cb->x + XVCBSIZE+4, -+ DrawString(cb->win, cb->x + XVCBSIZE+4, - cb->y+XVCBSIZE/2 - CHIGH/2 + ASCENT, cb->str); - - if (!cb->active) { /* if non-active, dim button and string */ - DimRect(cb->win, cb->x, cb->y, XVCBSIZE, XVCBSIZE, cb->bg); -- DimRect(cb->win, cb->x + XVCBSIZE+4, cb->y+XVCBSIZE/2 - CHIGH/2, -+ DimRect(cb->win, cb->x + XVCBSIZE+4, cb->y+XVCBSIZE/2 - CHIGH/2, - (u_int) StringWidth(cb->str), (u_int) CHIGH, cb->bg); - } - } -@@ -761,7 +761,6 @@ - Window rW, cW; - int x, y, rx, ry, lit; - unsigned int mask; -- Pixmap litpix, darkpix; - - /* called once we've figured out that the mouse clicked in 'cb' */ - -@@ -782,7 +781,7 @@ - drawCB(cb,lit); - XFlush(theDisp); - } -- -+ - if (lit && !PTINRECT(x, y, cb->x, cb->y, XVCBSIZE, XVCBSIZE)) { - lit=0; - drawCB(cb,lit); -@@ -809,28 +808,28 @@ - { - /* draws highlighting */ - if (lit) { -- if (ctrlColor) -+ if (ctrlColor) - Draw3dRect(cb->win, cb->x+1, cb->y+1, XVCBSIZE-2, XVCBSIZE-2, R3D_IN, 2, - cb->hi, cb->lo, cb->bg); - else { - XSetForeground(theDisp, theGC, cb->fg); -- XDrawRectangle(theDisp, cb->win, theGC, cb->x+1, cb->y+1, -+ XDrawRectangle(theDisp, cb->win, theGC, cb->x+1, cb->y+1, - XVCBSIZE-2, XVCBSIZE-2); - } - } - - else { -- if (ctrlColor) -+ if (ctrlColor) - Draw3dRect(cb->win, cb->x+1, cb->y+1, XVCBSIZE-2, XVCBSIZE-2, R3D_OUT, 2, - cb->hi, cb->lo, cb->bg); - else { - XSetForeground(theDisp, theGC, cb->bg); -- XDrawRectangle(theDisp, cb->win, theGC, cb->x+1, cb->y+1, -+ XDrawRectangle(theDisp, cb->win, theGC, cb->x+1, cb->y+1, - XVCBSIZE-2, XVCBSIZE-2); - } - } - } -- -+ - - - /******************* MBUTT ROUTINES ************************/ -@@ -838,20 +837,20 @@ - - - /***********************************************/ --void MBCreate(mb, win, x,y,w,h, str, list, nlist, fg, bg, hi, lo) -+void MBCreate(mb, win, x, y, w, h, title, list, nlist, fg, bg, hi, lo) - MBUTT *mb; - Window win; - int x,y; - unsigned int w,h; -- char *str; -- char **list; -+ const char *title; -+ const char * const *list; - int nlist; - unsigned long fg,bg,hi,lo; - { - XSetWindowAttributes xswa; - unsigned long xswamask; - int i; -- -+ - if (!mbpixmade) { - mbchk = XCreatePixmapFromBitmapData(theDisp, rootW, (char *) mb_chk_bits, - mb_chk_width, mb_chk_height, fg, bg, dispDEEP); -@@ -865,7 +864,7 @@ - mb->y = y; - mb->w = w; - mb->h = h; -- mb->title = str; -+ mb->title = title; - mb->active = 1; - mb->list = list; - mb->nlist = nlist; -@@ -889,7 +888,7 @@ - xswa.save_under = True; - xswamask = CWBackPixel | CWBorderPixel | CWSaveUnder; - -- mb->mwin = XCreateWindow(theDisp, mb->win, x, y, w, h, -+ mb->mwin = XCreateWindow(theDisp, mb->win, x, y, w, h, - (u_int) 2, (int) dispDEEP, InputOutput, - theVisual, xswamask, &xswa); - -@@ -898,7 +897,7 @@ - XSelectInput(theDisp, mb->mwin, ExposureMask | VisibilityChangeMask); - XSetTransientForHint(theDisp, mb->mwin, mb->win); - } -- -+ - - - -@@ -908,15 +907,15 @@ - { - /* draws a menu button in it's normal state. (When it's actively being - used (to select an item), all drawing is handled in MBTrack) */ -- -+ - int x,y,i,r,x1,y1; - unsigned int w,h; -- -+ - r = 2; /* amt of shadow */ - x = mb->x; y = mb->y; w = mb->w; h = mb->h; -- x1 = x + (int) w; -+ x1 = x + (int) w; - y1 = y + (int) h; -- -+ - XSetForeground(theDisp, theGC, mb->bg); - XFillRectangle(theDisp, mb->win, theGC, x+1, y+1, w-1, h-1); - -@@ -940,12 +939,14 @@ - XSetBackground(theDisp, theGC, mb->bg); - XCopyPlane(theDisp, mb->pix, mb->win, theGC, 0,0, - (u_int) mb->pw, (u_int) mb->ph, x1,y1, 1L); -- if (!mb->active) -+ if (!mb->active) - DimRect(mb->win, x1,y1, (u_int) mb->pw, (u_int) mb->ph, mb->bg); - } - - else { /* draw string centered in butt */ -- char *str, stbuf[256]; -+ const char *str; -+ char *tmp; -+ char stbuf[256]; - - if (mb->title) str = mb->title; - else { /* find first checked item, and show that as the title */ -@@ -961,7 +962,7 @@ - - /* truncate at TAB, if any */ - strcpy(stbuf, str); -- if ((str = (char *) index(stbuf, '\t')) != NULL) *str = '\0'; -+ if ((tmp = (char *) index(stbuf, '\t')) != NULL) *tmp = '\0'; - str = stbuf; - - x1 = CENTERX(mfinfo, x + w/2, str); -@@ -997,14 +998,14 @@ - MBUTT *mb; - { - /* returns index of first checked selection, or '-1' if nothing selected */ -- -+ - int i; - - if (!mb->hascheck) return -1; - - for (i=0; inlist; i++) - if (mb->flags[i]) return i; -- -+ - return -1; - } - -@@ -1017,13 +1018,13 @@ - /* makes entry #n the selected entry (ie, the only one with a check mark) - Does all redrawing. Does nothing if entry #n already selected. - Don't let it select 'dim' entries */ -- -+ - int i; -- -+ - if (n<0 || n>mb->nlist) return; /* # out of range */ - if (!mb->hascheck) return; /* shouldn't happen */ - if (mb->flags[n]) return; /* already selected */ -- -+ - for (i=0; iflags[i] = 0; - - mb->flags[n] = 1; -@@ -1083,7 +1084,7 @@ - } - } - mwide += 8; /* extra room at edges */ -- -+ - /* make wider if any checked menu items */ - for (i=0; inlist && !mb->flags[i]; i++); - hascheck = (inlist || mb->hascheck); -@@ -1091,7 +1092,7 @@ - if (hascheck && mb->title) mwide += 8; - - if (mwide < (mb->w+1)) mwide = mb->w+1; /* at least as wide as button */ -- -+ - mhigh = mb->nlist * LINEHIGH + 2 + extratop; - - mx = mb->x-1; my = mb->y - 1; -@@ -1138,16 +1139,17 @@ - y = ASCENT + SPACING + extratop; - for (i=0; inlist; i++) { - char txtstr[256], *tabstr; -+ - strcpy(txtstr, mb->list[i]); - if ((tabstr = (char *) index(txtstr, '\t'))) { - *tabstr = '\0'; tabstr++; - } - - if (mb->flags[i]) { -- XCopyArea(theDisp, mbchk, win, theGC, 0, 0, mb_chk_width, mb_chk_height, -+ XCopyArea(theDisp, mbchk, win, theGC, 0, 0, mb_chk_width, mb_chk_height, - x - 10, y - 8); - } -- -+ - if (!strcmp(mb->list[i], MBSEP)) { - mb->dim[i] = 1; /* don't select this one */ - if (ctrlColor) { -@@ -1161,15 +1163,15 @@ - XDrawLine(theDisp,win,theGC,4,y-(ASCENT/2)+1, mwide-5, y-(ASCENT/2)+1); - XSetForeground(theDisp, theGC, mb->fg); - } -- else -+ else - XDrawLine(theDisp, win, theGC, 4, y-(ASCENT/2), mwide-5, y-(ASCENT/2)); - } - else { - DrawString(win, x, y, txtstr); -- if (tabstr) -+ if (tabstr) - DrawString(win, mwide - mtabwide - 4, y, tabstr); - -- if (mb->dim[i]) -+ if (mb->dim[i]) - DimRect(win, x, y-ASCENT, (u_int) mwide, (u_int) CHIGH, mb->bg); - XSetForeground(theDisp, theGC, mb->fg); - } -diff -ru xv-3.10a/xvcolor.c xv-3.10a-enhancements/xvcolor.c ---- xv-3.10a/xvcolor.c 1995-01-06 11:29:23.000000000 -0800 -+++ xv-3.10a-enhancements/xvcolor.c 2007-05-12 13:55:36.000000000 -0700 -@@ -52,7 +52,7 @@ - int pwide, phigh, *pnumcols; - { - /* operates on 8-bit images. sorts the colormap into 'best' order -- * 'order' is the 'best' order to allocate the colors. 'trans' is a -+ * 'order' is the 'best' order to allocate the colors. 'trans' is a - * transformation to be done to pic, cpic, and epic (in PIC8 mode) to - * compress the colormap - */ -@@ -67,22 +67,22 @@ - /* initialize histogram and compute it */ - for (i=0; i<256; i++) hist[i]=0; - for (i=pwide*phigh, p=pic; i; i--, p++) hist[*p]++; -- -+ - if (DEBUG>1) { - fprintf(stderr,"%s: Desired colormap\n",cmd); -- for (i=0; i<256; i++) -+ for (i=0; i<256; i++) - if (hist[i]) fprintf(stderr,"(%3d %02x,%02x,%02x %d)\n", - i,rmap[i],gmap[i],bmap[i], hist[i]); - fprintf(stderr,"\n\n"); - } -- -- -+ -+ - /* put the actually-used colors into the 'c' array in the order they occur - also, while we're at it, calculate ncols, and close up gaps in - colortable */ -- -+ - for (i=ncols=0; i<256; i++) { -- if (hist[i]) { -+ if (hist[i]) { - rmap[ncols] = rmap[i]; - gmap[ncols] = gmap[i]; - bmap[ncols] = bmap[i]; -@@ -104,8 +104,8 @@ - } - xvbcopy((char *) &c[entry], (char *) &c1[0], sizeof(CMAPENT)); - c[entry].use = 0; /* dealt with */ -- -- -+ -+ - /* sort rest of colormap. Half of the entries are allocated on the - basis of distance from already allocated colors, and half on the - basis of usage. (NB: 'taxicab' distance is used throughout this file.) -@@ -116,7 +116,7 @@ - To obtain O(n^2) performance, we keep each unselected color - (in c[], with use>0) marked with the minimum distance to any of - the selected colors (in c1[]). Each time we select a color, we -- can update the minimum distances in O(n) time. -+ can update the minimum distances in O(n) time. - - mod by Tom Lane Tom.Lane@g.gp.cs.cmu.edu */ - -@@ -134,8 +134,8 @@ - for (j=0, cj=c; juse) { /* this color has not been marked already */ - /* update mindist */ -- d = (cj->r - ckR)*(cj->r - ckR) + -- (cj->g - ckG)*(cj->g - ckG) + -+ d = (cj->r - ckR)*(cj->r - ckR) + -+ (cj->g - ckG)*(cj->g - ckG) + - (cj->b - ckB)*(cj->b - ckB); - if (cj->mindist > d) cj->mindist = d; - if (cj->mindist > mdist) { mdist = cj->mindist; entry = j; } -@@ -148,8 +148,8 @@ - for (j=0, cj=c; juse) { /* this color has not been marked already */ - /* update mindist */ -- d = (cj->r - ckR)*(cj->r - ckR) + -- (cj->g - ckG)*(cj->g - ckG) + -+ d = (cj->r - ckR)*(cj->r - ckR) + -+ (cj->g - ckG)*(cj->g - ckG) + - (cj->b - ckB)*(cj->b - ckB); - if (cj->mindist > d) cj->mindist = d; - if (cj->use > mdist) { mdist = cj->use; entry = j; } -@@ -162,18 +162,18 @@ - xvbcopy((char *) &c[entry], (char *) &c1[i], sizeof(CMAPENT)); - c[entry].use = 0; - } -- -+ - - for (i=0; i1) { - fprintf(stderr,"%s: result of sorting colormap\n",cmd); -- for (i=0; i %d\n", i, order[i]); - fprintf(stderr,"\n"); - } -@@ -240,7 +240,7 @@ - SetISTR(ISTR_COLOR,"Using %s colormap.", - (haveStdCmap == STD_111 ? "2x2x2" : - haveStdCmap == STD_222 ? "4x4x4" : -- haveStdCmap == STD_232 ? "4x8x4" : -+ haveStdCmap == STD_232 ? "4x8x4" : - haveStdCmap == STD_666 ? "6x6x6" : "8x8x4")); - - if (ncols>0) SetISTR(ISTR_COLOR2,stdCmapSuccess); -@@ -251,7 +251,7 @@ - - for (i=0; i>3) | -+ i332 = ((int)rMap[i]&0xe0) | (((int)gMap[i]&0xe0)>>3) | - (((int)bMap[i]&0xc0)>>6); - - cols[i] = stdcols[i332]; -@@ -291,7 +291,7 @@ - } - - else { -- for (i=0; i> 8; - bdisp[c] = defs[c].blue >> 8; - failed[c]= 0; -- -+ - /* see if the newly allocated color is new and different */ - for (j=0, fcptr=freecols; j0) { /* only do SECOND PASS if there IS a colormap to read */ - for (i=0; i>8); - gd = gi - (ctab[j].green>>8); - bd = bi - (ctab[j].blue >>8); -- -+ - d = rd*rd + gd*gd + bd*bd; - if (d (size_t) 0) sprintf(tstr, "%s %s", tmp, foo); -@@ -623,7 +623,7 @@ - allocROColors(); - return; - } -- -+ - SetISTR(ISTR_COLOR,"Got %d of %d colors.", nfcols,numcols); - - for (i=0; iclass == TrueColor || theVisual->class == DirectColor) { - unsigned long r, g, b, rmask, gmask, bmask, origr, origg, origb; - int rshift, gshift, bshift; -- -- /* shift r,g,b so that high bit of 16-bit color specification is -- * aligned with high bit of r,g,b-mask in visual, -+ -+ /* shift r,g,b so that high bit of 16-bit color specification is -+ * aligned with high bit of r,g,b-mask in visual, - * AND each component with its mask, - * and OR the three components together - */ -@@ -781,7 +781,7 @@ - " mask=%04lx,%04lx,%04lx pix=%08lx\n", - rmask, gmask, bmask, cdef->pixel); - } -- -+ - return 1; - } - else { -@@ -811,7 +811,7 @@ - { - int i, j; - -- /* if regroup is set, we *must* do a full realloc, as the cols[] array -+ /* if regroup is set, we *must* do a full realloc, as the cols[] array - isn't correct anymore. (cell groupings changed) */ - - ApplyECctrls(); /* set {r,g,b}cmap[editColor] based on dial settings */ -@@ -830,16 +830,16 @@ - } - } - -- -+ - /* do something clever if we're using R/W color and this colorcell isn't - shared */ - - if (!regroup && allocMode==AM_READWRITE && rwthistime) { - /* let's try to be clever */ -- /* determine if the editColor cell is unique, or shared (among -+ /* determine if the editColor cell is unique, or shared (among - non-group members, that is) */ - -- for (i=j=0; iclass == TrueColor || -+ if (theVisual->class == TrueColor || - theVisual->class == DirectColor) desMode = STD_332; - else if (colorMapMode == CM_STDCMAP) desMode = STD_232; - else desMode = STD_222; -@@ -983,9 +983,9 @@ - } - - -- if (DEBUG) fprintf(stderr,"MakeStdCmaps: have=%d, des=%d, ncols=%d\n", -+ if (DEBUG) fprintf(stderr,"MakeStdCmaps: have=%d, des=%d, ncols=%d\n", - haveStdCmap, desMode, ncols); -- -+ - if (haveStdCmap != STD_NONE && haveStdCmap == desMode) return 0; - freeStdCmaps(); - -@@ -997,7 +997,7 @@ - for (i=0; i<256; i++) des2got[i] = i; - exactCnt = nearCnt = 0; - -- -+ - if (desMode == STD_111) { /* try to alloc 8 colors */ - /* generate a 1/1/1 desired colormap */ - maplen = 8; -@@ -1009,7 +1009,7 @@ - bmap[i] = (b*255); - } - } -- -+ - else if (desMode == STD_222) { /* try to alloc 64 colors */ - /* generate a 2/2/2 desired colormap */ - maplen = 64; -@@ -1021,7 +1021,7 @@ - bmap[i] = (b*255)/3; - } - } -- -+ - else if (desMode == STD_232) { /* try to alloc 128 colors */ - /* generate a 2/3/2 desired colormap */ - maplen = 128; -@@ -1033,7 +1033,7 @@ - bmap[i] = (b*255)/3; - } - } -- -+ - else if (desMode == STD_666) { /* try to alloc 216 colors */ - /* generate a 6*6*6 desired colormap */ - maplen = 216; -@@ -1045,14 +1045,14 @@ - bmap[i] = (b*255)/5; - } - } -- -+ - else { /* desMode == STD_332 */ - maplen = 256; - for (i=0; i0) { - for (i=0; i>8); - gd = gmap[i] - (ctab[j].green>>8); - bd = bmap[i] - (ctab[j].blue >>8); -- -+ - d = CDIST(rd, gd, bd); - if (d 1) { - fprintf(stderr,"MakeStdCmaps: ncols=%d maplen=%d\n", ncols, maplen); - fprintf(stderr," std*[]= "); -- for (i=0; i<256; i++) -+ for (i=0; i<256; i++) - fprintf(stderr,"%02x,%02x,%02x ",stdr[i],stdg[i],stdb[i]); - fprintf(stderr,"\n\n"); - - fprintf(stderr," disp[]= "); -- for (i=0; i<256; i++) -+ for (i=0; i<256; i++) - fprintf(stderr,"%02x,%02x,%02x ",stdrdisp[i],stdgdisp[i],stdbdisp[i]); - fprintf(stderr,"\n\n"); - - fprintf(stderr," stdcols[]= "); -- for (i=0; i<256; i++) -+ for (i=0; i<256; i++) - fprintf(stderr,"%02lx ",stdcols[i]); - fprintf(stderr,"\n\n"); - - fprintf(stderr," stdfreecols[%d] = ", stdnfcols); -- for (i=0; i0) -- sprintf(stdCmapSuccess, "Got %d out of %d colors. (%d close color%s)", -+ if (nearCnt>0) -+ sprintf(stdCmapSuccess, "Got %d out of %d colors. (%d close color%s)", - exactCnt, maplen, nearCnt, (nearCnt>1) ? "s" : ""); - else - sprintf(stdCmapSuccess, "Got %d out of %d colors.", exactCnt, maplen); -@@ -1292,11 +1292,11 @@ - /* This function should only be called once, at the start of the program. - * - * produces many things: -- * browR,browG,browB[256] -+ * browR,browG,browB[256] - * - a 3/3/2 colormap used by genIcon - * browcols[256] - maps 3/3/2 values into X colors - * browCmap - local cmap used in browse window, if browPerfect -- */ -+ */ - - int i,j,r,g,b, screwed, num, exactCnt, nearCnt; - XColor def; -@@ -1306,8 +1306,8 @@ - long d, mind; - - -- if (DEBUG) -- fprintf(stderr,"MakeBrowCmap: perfect = %d, ncols = %d\n", -+ if (DEBUG) -+ fprintf(stderr,"MakeBrowCmap: perfect = %d, ncols = %d\n", - browPerfect, ncols); - - if (ncols == 0 || !CMAPVIS(theVisual)) browPerfect = 0; -@@ -1350,7 +1350,7 @@ - def.red = rmap[order[i]] << 8; - def.green = gmap[order[i]] << 8; - def.blue = bmap[order[i]] << 8; -- -+ - def.flags = DoRed | DoGreen | DoBlue; - - if (xvAllocColor(theDisp, browCmap, &def)) { /* success */ -@@ -1358,14 +1358,14 @@ - descols[order[i]] = def.pixel; - - if (DEBUG>1) -- fprintf(stderr,"makebrowcmap: Phase 1: Alloc %x,%x,%x succeeded!\n", -+ fprintf(stderr,"makebrowcmap: Phase 1: Alloc %x,%x,%x succeeded!\n", - rmap[order[i]], gmap[order[i]], bmap[order[i]]); - } - else failed[order[i]] = 1; - } - -- -- /* PHASE 2: map remaining unallocated colors into closest we got */ -+ -+ /* PHASE 2: map remaining unallocated colors into closest we got */ - - for (i=0; i<256; i++) { - if (failed[i]) { -@@ -1377,9 +1377,9 @@ - if (d1) -- fprintf(stderr,"makebrowcmap: closest to %x,%x,%x = %x,%x,%x\n", -+ fprintf(stderr,"makebrowcmap: closest to %x,%x,%x = %x,%x,%x\n", - rmap[i],gmap[i],bmap[i], rmap[num], gmap[num], bmap[num]); - - if (failed[num]) screwed = 1; -@@ -1406,7 +1406,7 @@ - byte *rmap, *gmap, *bmap, *order; - int maplen; - { -- /* takes a colormap (maxlen 256) and produces an order array that -+ /* takes a colormap (maxlen 256) and produces an order array that - contains the most-diverse order for allocating these colors */ - - int dist[256], i, pick, maxv, ocnt, d; -@@ -1422,7 +1422,7 @@ - - ocnt = 0; - order[ocnt++] = pick; -- -+ - /* init dist[] array */ - for (i=0; i8", -- "Slow 24->8", -- "Best 24->8" }; -- --static char *algMList[] = { "Undo All\t\244u", -- MBSEP, -- "Blur...\t\244b", -- "Sharpen...\t\244s", -- "Edge Detect\t\244e", -- "Emboss\t\244m", -- "Oil Painting\t\244o", -- "Blend\t\244B", -- "Copy Rotate...\t\244t", -- "Clear Rotate...\t\244T", -- "Pixelize...\t\244p", -- "Spread...\t\244S", -- "DeSpeckle...\t\244k"}; -- --static char *sizeMList[] = { "Normal\tn", -- "Max Size\tm", -- "Maxpect\tM", -- "Double Size\t>", -- "Half Size\t<", -- "10% Larger\t.", -- "10% Smaller\t,", -- MBSEP, -- "Set Size\tS", -- "Re-Aspect\ta", -- "4x3\t4", -- "Int. Expand\tI" }; -- --static char *windowMList[] = { "Visual Schnauzer\t^v", -- "Color Editor\te", -- "Image Info\ti", -- "Image Comments\t^c", -- "Text View\t^t", -- MBSEP, -- "About XV\t^a", -- "XV Keyboard Help"}; -+static const char *dispMList[] = { "Raw\tr", -+ "Dithered\td", -+ "Smooth\ts", -+ MBSEP, -+ "Read/Write Colors", -+ MBSEP, -+ "Normal Colors", -+ "Perfect Colors", -+ "Use Own Colormap", -+ "Use Std. Colormap" }; -+ -+static const char *rootMList[] = { "Window", -+ "Root: tiled", -+ "Root: integer tiled", -+ "Root: mirrored", -+ "Root: integer mirrored", -+ "Root: center tiled", -+ "Root: centered", -+ "Root: centered, warp", -+ "Root: centered, brick", -+ "Root: symmetrical tiled", -+ "Root: symmetrical mirrored", -+ "Root: upper left corner" }; -+ -+static const char *conv24MList[] = { "8-bit mode\t\2448", -+ "24-bit mode\t\2448", -+ MBSEP, -+ "Lock current mode", -+ MBSEP, -+ "Quick 24->8", -+ "Slow 24->8", -+ "Best 24->8" }; -+ -+static const char *algMList[] = { "Undo All\t\244u", -+ MBSEP, -+ "Blur...\t\244b", -+ "Sharpen...\t\244s", -+ "Edge Detect\t\244e", -+ "Emboss\t\244m", -+ "Oil Painting\t\244o", -+ "Blend\t\244B", -+ "Copy Rotate...\t\244t", -+ "Clear Rotate...\t\244T", -+ "Pixelize...\t\244p", -+ "Spread...\t\244S", -+ "DeSpeckle...\t\244k"}; -+ -+static const char *sizeMList[] = { "Normal\tn", -+ "Max Size\tm", -+ "Maxpect\tM", -+ "Double Size\t>", -+ "Half Size\t<", -+ "10% Larger\t.", -+ "10% Smaller\t,", -+ MBSEP, -+ "Set Size\tS", -+ "Re-Aspect\ta", -+ "4x3\t4", -+ "Int. Expand\tI" }; -+ -+static const char *windowMList[] = { "Visual Schnauzer\t^v", -+ "Color Editor\te", -+ "Image Info\ti", -+ "Image Comments\t^c", -+ "Text View\t^t", -+ MBSEP, -+ "About XV\t^a", -+ "XV Keyboard Help"}; - - - -@@ -157,14 +161,14 @@ - - /***************************************************/ - void CreateCtrl(geom) -- char *geom; -+ const char *geom; - { -- int i, listh, topskip; -+ int listh, topskip; - double skip; - XSetWindowAttributes xswa; - Pixmap oicon1Pix, oicon2Pix; - -- ctrlW = CreateWindow("xv controls", "XVcontrols", geom, -+ ctrlW = CreateWindow("xv controls", "XVcontrols", geom, - CTRLWIDE, CTRLHIGH, infofg, infobg, 0); - if (!ctrlW) FatalError("can't create controls window!"); - -@@ -205,10 +209,10 @@ - oicon2Pix = MakePix1(ctrlW, oicon2_bits, oicon2_width, oicon2_height); - - if (!grayTile || !dimStip || !fifoPix || !chrPix || !dirPix || -- !blkPix || !lnkPix || !regPix || !rotlPix || !fliphPix || -+ !blkPix || !lnkPix || !regPix || !rotlPix || !fliphPix || - !flipvPix || !p10Pix || !m10Pix || !cutPix || !copyPix || - !pastePix || !clearPix || !uiconPix || !oiconPix || !oicon1Pix || -- !oicon2Pix || !padPix || !annotPix) -+ !oicon2Pix || !padPix || !annotPix) - FatalError("unable to create all pixmaps in CreateCtrl()\n"); - - -@@ -226,7 +230,7 @@ - XFreePixmap(theDisp, oicon1Pix); - XFreePixmap(theDisp, oicon2Pix); - -- -+ - - if (ctrlColor) XSetWindowBackground(theDisp, ctrlW, locol); - else XSetWindowBackgroundPixmap(theDisp, ctrlW, grayTile); -@@ -234,7 +238,7 @@ - listh = LINEHIGH * NLINES; - - LSCreate(&nList, ctrlW, 5, 52, (CTRLWIDE-BUTTW-18), -- LINEHIGH*NLINES, NLINES, dispnames, numnames, -+ LINEHIGH*NLINES, NLINES, dispnames, numnames, - infofg, infobg, hicol, locol, RedrawNList, 0, 0); - nList.selected = 0; /* default to first name selected */ - -@@ -245,8 +249,8 @@ - - topskip = nList.y; - skip = ((double) (nList.h - (CHIGH+5))) / 6.0; -- if (skip > SBUTTH+8) { -- skip = SBUTTH + 7; -+ if (skip > SBUTTH+8) { -+ skip = SBUTTH + 7; - topskip = nList.y + (nList.h - (6*skip + (CHIGH+5))) / 2; - } - -@@ -258,7 +262,7 @@ - #define R_BY3 (topskip + (int)(3*skip)) - #define R_BY4 (topskip + (int)(4*skip)) - #define R_BY5 (topskip + (int)(5*skip)) -- -+ - BTCreate(&but[BNEXT], ctrlW, R_BX0, R_BY0, R_BW1, SBUTTH, "Next", BCLS); - BTCreate(&but[BPREV], ctrlW, R_BX0, R_BY1, R_BW1, SBUTTH, "Prev", BCLS); - BTCreate(&but[BLOAD], ctrlW, R_BX0, R_BY2, R_BW1, SBUTTH, "Load", BCLS); -@@ -309,7 +313,7 @@ - BTCreate(&but[BABOUT], ctrlW,BX4, BY1,BUTTW,BUTTH,"About XV",BCLS); - BTCreate(&but[BQUIT], ctrlW,BX5, BY1,BUTTW,BUTTH,"Quit", BCLS); - -- BTCreate(&but[BXV], ctrlW,5,5, 100, (u_int) nList.y - 5 - 2 - 5, -+ BTCreate(&but[BXV], ctrlW,5,5, 100, (u_int) nList.y - 5 - 2 - 5, - "", BCLS); - - SetButtPix(&but[BCOPY], copyPix, copy_width, copy_height); -@@ -329,7 +333,7 @@ - if (ctrlColor) { - SetButtPix(&but[BXV], oiconPix, oicon1_width, oicon1_height); - but[BXV].colorpix = 1; -- } -+ } - else SetButtPix(&but[BXV], iconPix, icon_width, icon_height); - #else - SetButtPix(&but[BXV], uiconPix, uicon_width, uicon_height); -@@ -338,21 +342,21 @@ - XMapSubwindows(theDisp, ctrlW); - - -- /* have to create menu buttons after XMapSubWindows, as we *don't* want -+ /* have to create menu buttons after XMapSubWindows, as we *don't* want - the popup menus mapped */ - -- MBCreate(&dispMB, ctrlW, CTRLWIDE - 8 - 112 - 2*(112+2), 5,112,19, -+ MBCreate(&dispMB, ctrlW, CTRLWIDE - 8 - 112 - 2*(112+2), 5,112,19, - "Display", dispMList, DMB_MAX, BCLS); -- MBCreate(&conv24MB, ctrlW, CTRLWIDE - 8 - 112 - (112+2), 5,112,19, -+ MBCreate(&conv24MB, ctrlW, CTRLWIDE - 8 - 112 - (112+2), 5,112,19, - "24/8 Bit", conv24MList, CONV24_MAX, BCLS); -- MBCreate(&algMB, ctrlW, CTRLWIDE - 8 - 112, 5,112,19, -+ MBCreate(&algMB, ctrlW, CTRLWIDE - 8 - 112, 5,112,19, - "Algorithms", algMList, ALG_MAX, BCLS); - -- MBCreate(&rootMB, ctrlW, CTRLWIDE - 8 - 112 - 2*(112+2), 5+21,112,19, -+ MBCreate(&rootMB, ctrlW, CTRLWIDE - 8 - 112 - 2*(112+2), 5+21,112,19, - "Root", rootMList, RMB_MAX, BCLS); -- MBCreate(&windowMB, ctrlW, CTRLWIDE - 8 - 112 - (112+2), 5+21,112,19, -+ MBCreate(&windowMB, ctrlW, CTRLWIDE - 8 - 112 - (112+2), 5+21,112,19, - "Windows", windowMList, WMB_MAX, BCLS); -- MBCreate(&sizeMB, ctrlW, CTRLWIDE - 8 - 112, 5+21,112,19, -+ MBCreate(&sizeMB, ctrlW, CTRLWIDE - 8 - 112, 5+21,112,19, - "Image Size", sizeMList, SZMB_MAX, BCLS); - - -@@ -395,7 +399,7 @@ - byte *bits; - int w,h; - { -- return XCreatePixmapFromBitmapData(theDisp, win, (char *) bits, -+ return XCreatePixmapFromBitmapData(theDisp, win, (char *) bits, - (u_int) w, (u_int) h, 1L,0L,1); - } - -@@ -404,7 +408,7 @@ - void CtrlBox(vis) - int vis; - { -- if (vis) XMapRaised(theDisp, ctrlW); -+ if (vis) XMapRaised(theDisp, ctrlW); - else XUnmapWindow(theDisp, ctrlW); - - ctrlUp = vis; -@@ -416,7 +420,6 @@ - int x,y,w,h; - { - int i; -- XRectangle xr; - - RANGE(w, 0, CTRLWIDE); - RANGE(h, 0, CTRLHIGH); -@@ -452,7 +455,7 @@ - /***************************************************/ - void DrawCtrlNumFiles() - { -- int x,y,w,h; -+ int x,y,w; - char foo[40]; - - x = but[BNEXT].x; -@@ -463,14 +466,14 @@ - XSetBackground(theDisp, theGC, infobg); - - sprintf(foo, "%d file%s", numnames, (numnames==1) ? "" : "s"); -- -+ - XSetForeground(theDisp, theGC, infobg); - XFillRectangle(theDisp,ctrlW, theGC, x+1,y+1, (u_int) w-1, (u_int) CHIGH+5); - - XSetForeground(theDisp,theGC,infofg); - XDrawRectangle(theDisp,ctrlW, theGC, x,y, (u_int) w, (u_int) CHIGH+6); - -- Draw3dRect(ctrlW, x+1,y+1, (u_int) w-2, (u_int) CHIGH+4, -+ Draw3dRect(ctrlW, x+1,y+1, (u_int) w-2, (u_int) CHIGH+4, - R3D_IN, 2, hicol, locol, infobg); - - XSetForeground(theDisp,theGC,infofg); -@@ -489,7 +492,7 @@ - st1 = GetISTR(ISTR_WARNING); - - XSetForeground(theDisp, theGC, infobg); -- XFillRectangle(theDisp, ctrlW, theGC, 0, y+1, -+ XFillRectangle(theDisp, ctrlW, theGC, 0, y+1, - CTRLWIDE, (u_int)((CHIGH+4)*2+1)); - - XSetForeground(theDisp, theGC, infofg); -@@ -501,7 +504,7 @@ - XSetForeground(theDisp, theGC, locol); - XDrawLine(theDisp, ctrlW, theGC, 0, y+1, CTRLWIDE, y+1); - XDrawLine(theDisp, ctrlW, theGC, 0, y+CHIGH+5, CTRLWIDE, y+CHIGH+5); -- XDrawLine(theDisp, ctrlW, theGC, 0, y+(CHIGH+4)*2+1, -+ XDrawLine(theDisp, ctrlW, theGC, 0, y+(CHIGH+4)*2+1, - CTRLWIDE, y+(CHIGH+4)*2+1); - } - -@@ -542,16 +545,16 @@ - void ScrollToCurrent(lst) - LIST *lst; - { -- /* called when selected item on list is changed. Makes the selected -+ /* called when selected item on list is changed. Makes the selected - item visible. If it already is, nothing happens. Otherwise, it -- attempts to scroll so that the selection appears in the middle of -+ attempts to scroll so that the selection appears in the middle of - the list window */ - - int halfway; - - if (lst->selected < 0) return; /* no selection, do nothing */ - -- if (lst->selected > lst->scrl.val && -+ if (lst->selected > lst->scrl.val && - lst->selected < lst->scrl.val + lst->nlines-1) LSRedraw(lst, 0); - else { - halfway = (lst->nlines)/2; /* offset to the halfway pt. of the list */ -@@ -590,7 +593,7 @@ - lp->win = XCreateSimpleWindow(theDisp,win,x,y,(u_int) w, (u_int) h,1,fg,bg); - if (!lp->win) FatalError("can't create list window!"); - -- lp->x = x; lp->y = y; -+ lp->x = x; lp->y = y; - lp->w = w; lp->h = h; - lp->fg = fg; lp->bg = bg; - lp->hi = hi; lp->lo = lo; -@@ -603,7 +606,7 @@ - - XSelectInput(theDisp, lp->win, ExposureMask | ButtonPressMask); - -- SCCreate(&lp->scrl, lp->win, w-20, -1, 1, h, 0, -+ SCCreate(&lp->scrl, lp->win, w-20, -1, 1, h, 0, - nstr-nlines, 0, nlines-1, fg, bg, hi, lo, fptr); - - XMapSubwindows(theDisp, lp->win); -@@ -646,7 +649,7 @@ - LIST *lp; - { - /* redraws lists 3d-effect, which can be trounced by drawSel() */ -- Draw3dRect(lp->win, 0, 0, lp->w-1, lp->h-1, R3D_IN, 2, -+ Draw3dRect(lp->win, 0, 0, lp->w-1, lp->h-1, R3D_IN, 2, - lp->hi, lp->lo, lp->bg); - } - -@@ -675,43 +678,43 @@ - else { fg = lp->fg; bg = lp->bg; } - - XSetForeground(theDisp, theGC, bg); -- XFillRectangle(theDisp, lp->win, theGC, x0, y0+i*LINEHIGH, -+ XFillRectangle(theDisp, lp->win, theGC, x0, y0+i*LINEHIGH, - (u_int) wide+1, (u_int) LINEHIGH); - - if (j>=0 && jnstr) { /* only draw string if valid */ - XSetForeground(theDisp, theGC, fg); - XSetBackground(theDisp, theGC, bg); - -- if (!lp->filetypes) -+ if (!lp->filetypes) - DrawString(lp->win, x0+3, y0+i*LINEHIGH + ASCENT + 1, lp->str[j]); - else { - int ypos = y0 + i*LINEHIGH + (LINEHIGH - i_fifo_height)/2; - -- if (lp->str[j][0] == C_FIFO) -+ if (lp->str[j][0] == C_FIFO) - XCopyPlane(theDisp, fifoPix, lp->win, theGC, 0, 0, - i_fifo_width, i_fifo_height, x0+3, ypos, 1L); - -- else if (lp->str[j][0] == C_CHR) -+ else if (lp->str[j][0] == C_CHR) - XCopyPlane(theDisp, chrPix, lp->win, theGC, 0, 0, - i_chr_width, i_chr_height, x0+3, ypos, 1L); - -- else if (lp->str[j][0] == C_DIR) -+ else if (lp->str[j][0] == C_DIR) - XCopyPlane(theDisp, dirPix, lp->win, theGC, 0, 0, - i_dir_width, i_dir_height, x0+3, ypos, 1L); - -- else if (lp->str[j][0] == C_BLK) -+ else if (lp->str[j][0] == C_BLK) - XCopyPlane(theDisp, blkPix, lp->win, theGC, 0, 0, - i_blk_width, i_blk_height, x0+3, ypos, 1L); - -- else if (lp->str[j][0] == C_LNK) -+ else if (lp->str[j][0] == C_LNK) - XCopyPlane(theDisp, lnkPix, lp->win, theGC, 0, 0, - i_lnk_width, i_lnk_height, x0+3, ypos, 1L); - -- else if (lp->str[j][0] == C_SOCK) -+ else if (lp->str[j][0] == C_SOCK) - XCopyPlane(theDisp, sockPix, lp->win, theGC, 0, 0, - i_sock_width, i_sock_height, x0+3, ypos, 1L); - -- else if (lp->str[j][0] == C_EXE) -+ else if (lp->str[j][0] == C_EXE) - XCopyPlane(theDisp, exePix, lp->win, theGC, 0, 0, - i_exe_width, i_exe_height, x0+3, ypos, 1L); - -@@ -720,8 +723,8 @@ - i_reg_width, i_reg_height, x0+3, ypos, 1L); - - -- DrawString(lp->win, x0+3 + i_fifo_width + 3, -- y0+i*LINEHIGH + ASCENT + 1, -+ DrawString(lp->win, x0+3 + i_fifo_width + 3, -+ y0+i*LINEHIGH + ASCENT + 1, - lp->str[j]+1); - } - } -@@ -735,7 +738,7 @@ - { - int i; - -- for (i = lp->scrl.val; i < lp->scrl.val + lp->nlines; i++) -+ for (i = lp->scrl.val; i < lp->scrl.val + lp->nlines; i++) - drawSel(lp,i); - ls3d(lp); - } -@@ -762,7 +765,7 @@ - if (sel >= lp->nstr) sel = lp->selected; - - /* see if it's a double click */ -- if (ev->time - lasttime < DBLCLKTIME && sel==lastsel -+ if (ev->time - lasttime < DBLCLKTIME && sel==lastsel - && (lp->scrl.val + (y-y0)/LINEHIGH) < lp->nstr - && !INACTIVE(lp,sel)) { - return (sel); -@@ -782,7 +785,7 @@ - while (XQueryPointer(theDisp,lp->win,&rW,&cW,&rx,&ry,&x,&y,&mask)) { - if (!(mask & Button1Mask)) break; /* button released */ - -- if (yscrl.val > lp->scrl.min) { - lp->selected = lp->scrl.val - 1; - SCSetVal(&lp->scrl, lp->scrl.val - 1); -@@ -804,7 +807,7 @@ - if (sel >= lp->nstr) sel = lp->nstr - 1; - - if (sel != lp->selected && sel >= lp->scrl.val && -- sel < lp->scrl.val + lp->nlines) { -+ sel < lp->scrl.val + lp->nlines) { - /* dragged to another on current page */ - oldsel = lp->selected; - lp->selected = sel; -@@ -829,17 +832,17 @@ - else if (key==LS_PAGEDOWN) SCSetVal(&lp->scrl,lp->scrl.val + (lp->nlines-1)); - else if (key==LS_HOME) SCSetVal(&lp->scrl,lp->scrl.min); - else if (key==LS_END) SCSetVal(&lp->scrl,lp->scrl.max); -- -+ - else if (key==LS_LINEUP) { - /* if the selected item visible, but not the top line */ -- if (lp->selected > lp->scrl.val && -+ if (lp->selected > lp->scrl.val && - lp->selected <= lp->scrl.val + lp->nlines - 1) { - /* then just move it */ - lp->selected--; - drawSel(lp, lp->selected); drawSel(lp, lp->selected+1); - ls3d(lp); - } -- -+ - /* if it's the top line... */ - else if (lp->selected == lp->scrl.val) { - if (lp->selected > 0) { -@@ -847,7 +850,7 @@ - SCSetVal(&lp->scrl, lp->selected); - } - } -- -+ - /* if it's not visible, put it on the bottom line */ - else { - lp->selected = lp->scrl.val + lp->nlines - 1; -@@ -856,10 +859,10 @@ - ls3d(lp); - } - } -- -+ - else if (key==LS_LINEDOWN) { - /* if the selected item visible, but not the bottom line */ -- if (lp->selected >= lp->scrl.val && -+ if (lp->selected >= lp->scrl.val && - lp->selected < lp->scrl.val + lp->nlines - 1) { - if (lp->selected < lp->nstr-1) { - /* then just move it */ -@@ -868,7 +871,7 @@ - ls3d(lp); - } - } -- -+ - /* if it's the bottom line... */ - else if (lp->selected == lp->scrl.val + lp->nlines - 1) { - if (lp->selected < lp->nstr-1) { -@@ -876,7 +879,7 @@ - SCSetVal(&lp->scrl, lp->scrl.val+1); - } - } -- -+ - /* if it's not visible, put it on the top line */ - else { - lp->selected = lp->scrl.val; -diff -ru xv-3.10a/xvcut.c xv-3.10a-enhancements/xvcut.c ---- xv-3.10a/xvcut.c 1995-01-13 11:55:48.000000000 -0800 -+++ xv-3.10a-enhancements/xvcut.c 2007-04-15 15:02:32.000000000 -0700 -@@ -15,7 +15,7 @@ - * static void clearSelectedArea(); - * static void makeClipFName (); - * static int countcols24 (byte *, int,int, int,int,int,int)); -- * static int countNewCols (byte*, int, int, byte*, int, -+ * static int countNewCols (byte*, int, int, byte*, int, - * int, int, int, int); - * - * void InitSelection (); -@@ -72,7 +72,7 @@ - static void clearSelectedArea PARM((void)); - static void makeClipFName PARM((void)); - static int countcols24 PARM((byte *, int, int, int, int, int, int)); --static int countNewCols PARM((byte *, int, int, byte *, int, -+static int countNewCols PARM((byte *, int, int, byte *, int, - int, int, int, int)); - static int dragHandle PARM((XButtonEvent *)); - static void dragSelection PARM((XButtonEvent *, u_int, int)); -@@ -210,7 +210,7 @@ - if (!PasteAllowed()) { XBell(theDisp, 0); return; } - - cimg = getFromClip(); -- if (!cimg) return; -+ if (!cimg) return; - - /* if there's no selection, make one! */ - if (!HaveSelection()) makePasteSel(cimg); -@@ -231,7 +231,7 @@ - - byte *dp, *dpic, *clippic, *clipcmap; - int clipw, cliph, clipis24, len, istran, trval; -- int i, j, sx,sy,sw,sh, cx,cy,cw,ch, dx,dy,dw,dh,dx2,dy2; -+ int i, j, sx,sy,sw,sh, cx,cy,cw,ch, dx,dy,dw,dh; - - - /* -@@ -245,7 +245,7 @@ - ((int) (cimg[CIMG_LEN + 2]<<16)) | - ((int) (cimg[CIMG_LEN + 3]<<24)); - -- if (len < CIMG_PIC24) return; -+ if (len < CIMG_PIC24) return; - - istran = cimg[CIMG_TRANS]; - trval = cimg[CIMG_TRVAL]; -@@ -268,7 +268,7 @@ - * already, because if we *are*, we'd prefer to do any clipboard rescaling - * in 24-bit space for the obvious reasons. - * -- * possibilities: -+ * possibilities: - * PIC24 - easy, do clipboard rescale in 24-bit space - * PIC8, and clipboard is 8 bits, (or 24-bits, but with <=256 colors) - * and total unique colors < 256: -@@ -283,7 +283,7 @@ - - /* dx,dy,dw,dh is the rectangle (in PIC coords) where the paste will occur - (cropped to be entirely within PIC */ -- -+ - dx = sx; dy = sy; dw = sw; dh = sh; - CropRect2Rect(&dx, &dy, &dw, &dh, 0, 0, pWIDE, pHIGH); - -@@ -291,7 +291,7 @@ - /* cx,cy,cw,ch is the rectangle of the clipboard data (in clipboard coords) - that will actually be used in the paste operation */ - -- cx = (sx>=0) ? 0 : ((-sx) * clipw) / sw; -+ cx = (sx>=0) ? 0 : ((-sx) * clipw) / sw; - cy = (sy>=0) ? 0 : ((-sy) * cliph) / sh; - cw = (dw * clipw) / sw; - ch = (dh * cliph) / sh; -@@ -302,27 +302,29 @@ - if (picType == PIC8) { - int ncc, keep8; - char buf[512]; -- -+ - if (clipis24) { /* pasting in a 24-bit image that *requires* promotion */ -- static char *bnames[] = { "\nOkay", "\033Cancel" }; -+ static const char *labels[] = { "\nOkay", "\033Cancel" }; -+ - strcpy(buf, "Warning: Pasting this 24-bit image will require "); - strcat(buf, "promoting the current image to 24 bits."); -- -- if (PopUp(buf, bnames, 2)) goto exit; /* Cancelled */ -+ -+ if (PopUp(buf, labels, 2)) goto exit; /* Cancelled */ - else Change824Mode(PIC24); /* promote pic to 24 bits */ - } - - else { /* clip is 8 bits */ - ncc = countNewCols(clippic,clipw,cliph,clipcmap,clipis24,cx,cy,cw,ch); -- -+ - if (ncc + numcols > 256) { -- static char *bnames[] = { "\nPromote", "8Keep 8-bit", "\033Cancel" }; -+ static const char *labels[] = { "\nPromote", "8Keep 8-bit", "\033Cancel" }; -+ - strcpy(buf,"Warning: The image and the clipboard combine to have "); - strcat(buf,"more than 256 unique colors. Promoting the "); - strcat(buf,"image to 24 bits is recommended, otherwise the contents "); - strcat(buf,"of the clipboard will probably lose some colors."); -- -- keep8 = PopUp(buf, bnames, 3); -+ -+ keep8 = PopUp(buf, labels, 3); - if (keep8==2) goto exit; /* Cancel */ - else if (keep8==0) Change824Mode(PIC24); /* promote pic to 24 bits */ - } -@@ -331,8 +333,8 @@ - - - -- -- -+ -+ - /* legal possibilities at this point: - * pic is PIC24: clip is 8 or 24 - * pic is PIC8: clip is 8, or clip is 24 but has 256 or fewer colors -@@ -342,18 +344,18 @@ - - if (picType == PIC8) { - int clx, cly, r,g,b,k,mind,close,newcols; -- byte *cp, *clp, *pp, *ccp, newr[256], newg[256], newb[256], remap[256]; -+ byte *cp, *clp, *pp, newr[256], newg[256], newb[256], remap[256]; - byte order[256], trans[256]; - int bperpix, dpncols; -- -+ - dpic = (byte *) malloc((size_t) dw * dh); - if (!dpic) FatalError("Out of memory in DoImgPaste()\n"); -- -+ - bperpix = (clipis24) ? 3 : 1; - newcols = 0; -- -+ - /* dpic = a scaled, 8-bit representation of clippic[cx,cy,cw,ch] */ -- -+ - if (!clipis24) { /* copy colormap from clip data into newr,g,b[] */ - for (i=0; i<256; i++) { - newr[i] = clipcmap[i*3]; -@@ -366,22 +368,22 @@ - dp = dpic + i*dw; - cly = cy + (i * ch) / dh; - clp = clippic + (cly*clipw * bperpix); -- -+ - for (j=0; j0) { -@@ -763,9 +765,9 @@ - XFree((void *) data); - - /* read the rest of the data (len bytes) */ -- i = XGetWindowProperty(theDisp, rootW, clipAtom, 1L, -- (long) ((len-4)+3)/4, -- False, XA_STRING, &actType, &actFormat, &nitems, -+ i = XGetWindowProperty(theDisp, rootW, clipAtom, 1L, -+ (long) ((len-4)+3)/4, -+ False, XA_STRING, &actType, &actFormat, &nitems, - &nleft, (unsigned char **) &data); - - if (i==Success) { -@@ -791,8 +793,8 @@ - } - } - -- -- /* if we're still here, then the prop method was less than successful. -+ -+ /* if we're still here, then the prop method was less than successful. - use the file method, instead */ - - if (!clipfname) makeClipFName(); -@@ -800,7 +802,7 @@ - fp = fopen(clipfname, "r"); - if (!fp) { - unlink(clipfname); -- sprintf(str, "Can't read clipboard file '%s'\n\n %s.", -+ sprintf(str, "Can't read clipboard file '%s'\n\n %s.", - clipfname, ERRSTR(errno)); - ErrPopUp(str,"\nBletch!"); - return (byte *) NULL; -@@ -877,19 +879,19 @@ - clipAtom = XInternAtom(theDisp, CLIPPROP, True); - if (clipAtom != None) XDeleteProperty(theDisp, rootW, clipAtom); - } -- -- -+ -+ - if (!forceClipFile) { - clipAtom = XInternAtom(theDisp, CLIPPROP, False); /* find or make prop */ - if (clipAtom != None) { - /* try to store the data in the property */ -- -+ - xerrcode = 0; - XChangeProperty(theDisp, rootW, clipAtom, XA_STRING, 8, PropModeReplace, - cimg, len); - XSync(theDisp, False); /* make it happen *now* */ - if (!xerrcode) return; /* success! */ -- -+ - /* failed, use file method */ - XDeleteProperty(theDisp, rootW, clipAtom); - } -@@ -903,7 +905,7 @@ - fp = fopen(clipfname, "w"); - if (!fp) { - unlink(clipfname); -- sprintf(str, "Can't write clipboard file '%s'\n\n %s.", -+ sprintf(str, "Can't write clipboard file '%s'\n\n %s.", - clipfname, ERRSTR(errno)); - ErrPopUp(str,"\nBletch!"); - return; -@@ -964,7 +966,7 @@ - /********************************************/ - static void makeClipFName() - { -- char *homedir; -+ const char *homedir; - - if (clipfname) return; - -@@ -996,7 +998,7 @@ - byte *pp; - - nc = 0; -- -+ - for (i=y; nc<257 && itime - lastClickTime) < DBLCLKTIME) { - lastClickButton=Button3; - if (HaveSelection() && PTINRECT(px, py, selrx, selry, selrw, selrh)) { -- EnableSelection(0); -+ EnableSelection(0); - rv = 1; - } - else { -@@ -1225,7 +1227,7 @@ - else if (ev->button == Button2) { /* do a drag & drop operation */ - if (HaveSelection() && PTINRECT(px,py,selrx,selry,selrw,selrh)) { - /* clip selection rect to pic */ -- EnableSelection(0); -+ EnableSelection(0); - CropRect2Rect(&selrx, &selry, &selrw, &selrh, 0, 0, pWIDE, pHIGH); - - if (selrw<1 || selrh<1) rv = 0; -@@ -1253,8 +1255,8 @@ - * holding SHIFT constrains selection to be square, - * holding CTRL constrains selection to keep original aspect ratio - */ -- -- int i, mex, mey, mpx, mpy, offx,offy; -+ -+ int mex, mey, mpx, mpy, offx,offy; - int sex, sey, sex2, sey2, sew, seh, sew2, seh2, hs, h2; - int istp, isbt, islf, isrt, isvm, ishm; - int cnstsq, cnstasp; -@@ -1272,7 +1274,7 @@ - sew2 = sew/2; - seh2 = seh/2; - sex2--; sey2--; -- -+ - if (sew>=35 && seh>=35) hs=7; - else if (sew>=20 && seh>=20) hs=5; - else if (sew>= 9 && seh>= 9) hs=3; -@@ -1307,7 +1309,7 @@ - - - /* it's definitely in a handle... track 'til released */ -- -+ - DrawSelection(0); - selFilled = 1; - selTracking = 1; -@@ -1366,12 +1368,12 @@ - else { chwide=1; newwide = (int) (seh*orgaspect); } - } - } -- -+ - if (chwide) { - if (islf) { sex = (sex+sew) - newwide; } - sew = newwide; - } -- -+ - if (chhigh) { - if (istp) { sey = (sey+seh) - newhigh; } - seh = newhigh; -@@ -1380,7 +1382,7 @@ - - if (sew<1) sew=1; - if (seh<1) seh=1; -- -+ - if (sex!=selrx || sey!=selry || sew!=selrw || seh!=selrh) { - DrawSelection(0); - selrx = sex; selry = sey; selrw = sew; selrh = seh; -@@ -1395,14 +1397,14 @@ - Timer(100); - } - } -- -+ - EnableSelection(0); - - selFilled = 0; - selTracking = 0; - - /* only 'enable' the selection if it intersects CPIC */ -- if (selrx < cXOFF+cWIDE && selrx+selrw > cXOFF && -+ if (selrx < cXOFF+cWIDE && selrx+selrw > cXOFF && - selry < cYOFF+cHIGH && selry+selrh > cYOFF) EnableSelection(1); - - return 1; -@@ -1422,7 +1424,7 @@ - * - * if 'dragndrop', changes cursor, monitors CTRL status - */ -- -+ - int mpx, mpy, offx, offy; - int newsx, newsy, orgsx, orgsy, cnstrain, docopy, lastdocopy; - Window rW, cW; -@@ -1436,9 +1438,9 @@ - - CoordE2P(ev->x, ev->y, &mpx, &mpy); - offx = mpx - selrx; offy = mpy - selry; -- -+ - /* track rectangle until we get a release */ -- -+ - DrawSelection(0); - selFilled = 1; - selTracking = 1; -@@ -1467,7 +1469,7 @@ - dx = newsx - orgsx; dy = newsy - orgsy; - if (abs(dx) > abs(dy)) dy = 0; - else if (abs(dy) > abs(dx)) dx = 0; -- -+ - newsx = orgsx + dx; newsy = orgsy + dy; - } - -@@ -1485,7 +1487,7 @@ - Timer(100); - } - } -- -+ - EnableSelection(0); - - selFilled = 0; -@@ -1495,7 +1497,7 @@ - - /* only do if the selection intersects CPIC */ - -- if (selrx < cXOFF+cWIDE && selrx+selrw > cXOFF && -+ if (selrx < cXOFF+cWIDE && selrx+selrw > cXOFF && - selry < cYOFF+cHIGH && selry+selrh > cYOFF) { - - EnableSelection(1); -@@ -1503,10 +1505,10 @@ - if (dragndrop) { - int tmpsx, tmpsy; - byte *data; -- -+ - tmpsx = selrx; tmpsy = selry; - selrx = orgsx; selry = orgsy; -- -+ - data = getSelection(); /* copy old data */ - if (data) { - if (!docopy) clearSelectedArea(); -@@ -1531,29 +1533,29 @@ - int rx,ry,ox,oy,x,y,active, x1, y1, x2, y2, cnstrain; - int i, px,py,px2,py2,pw,ph; - unsigned int mask; -- -+ - /* called on a B1 press in mainW to draw a new rectangular selection. - * any former selection has already been removed. holding shift down -- * while tracking constrains selection to a square -+ * while tracking constrains selection to a square - */ -- -+ - active = 0; -- -+ - x1 = ox = ev->x; y1 = oy = ev->y; /* nail down one corner */ - selrx = selry = selrw = selrh = 0; - selTracking = 1; -- -+ - while (1) { - if (!XQueryPointer(theDisp,mainW,&rW,&cW,&rx,&ry,&x,&y,&mask)) continue; - if (!(mask & Button1Mask)) break; /* button released */ - cnstrain = (mask & ShiftMask); -- -+ - if (x!=ox || y!=oy) { /* moved. erase and redraw (?) */ - x2 = x; y2 = y; -- -+ - /* x1,y1,x2,y2 are in epic coords. sort, convert to pic coords, - and if changed, erase+redraw */ -- -+ - CoordE2P(x1, y1, &px, &py); - CoordE2P(x2, y2, &px2, &py2); - if (px>px2) { i=px; px=px2; px2=i; } -@@ -1561,17 +1563,17 @@ - pw = px2-px+1; ph=py2-py+1; - - /* keep px,py,pw,ph inside 'pic' */ -- -+ - if (px<0) { pw+=px; px=0; } - if (py<0) { ph+=py; py=0; } - if (px>pWIDE-1) px = pWIDE-1; - if (py>pHIGH-1) py = pHIGH-1; -- -+ - if (pw<0) pw=0; - if (ph<0) ph=0; - if (px+pw>pWIDE) pw = pWIDE - px; - if (py+ph>pHIGH) ph = pHIGH - py; -- -+ - if (cnstrain) { /* make a square at smaller of w,h */ - if (ph>pw) { if (y2ph) { if (x2 selr{x,y,w,h} - if the rectangle has changed, erase old and draw new */ -- -+ - if (px!=selrx || py!=selry || pw!=selrw || ph!=selrh) { - DrawSelection(0); - selrx = px; selry = py; selrw = pw; selrh = ph; - DrawSelection(1); -- -+ - haveSel = active = (pw>0 && ph>0); - if (infoUp) SetSelectionString(); - XFlush(theDisp); -@@ -1615,7 +1617,7 @@ - set, pick a new 'color' to invert the selection with */ - - int x,y,x1,y1,w,h; -- -+ - if (newcol) selColor = (selColor+1) & 0x7; - - /* convert selr{x,y,w,h} into epic coords */ -@@ -1650,7 +1652,7 @@ - if (y<0 && y+h>eHIGH && selFilled!=1) - XDrawLine(theDisp, mainW, theGC, x, eHIGH/2, x+w, eHIGH/2); - -- -+ - if (selFilled==0 || selFilled == 1) { - /* one little kludge: if w or h == eWIDE or eHIGH, make it one smaller */ - if (x+w == eWIDE) w--; -@@ -1664,17 +1666,17 @@ - else if (w>=20 && h>=20) { hs=5; h1=4; h2=2; } - else if (w>= 9 && h>= 9) { hs=3; h1=2; h2=1; } - else hs=h1=h2=0; -- -+ - if (hs) { - XFillRectangle(theDisp,mainW,theGC,x+1, y+1, (u_int)h1,(u_int)h1); - XFillRectangle(theDisp,mainW,theGC,x+w/2-h2,y+1, (u_int)hs,(u_int)h1); - XFillRectangle(theDisp,mainW,theGC,x+w-h1, y+1, (u_int)h1,(u_int)h1); -- -+ - XFillRectangle(theDisp,mainW,theGC,x+1, y+h/2-h2, - (u_int)h1, (u_int)hs); - XFillRectangle(theDisp,mainW,theGC,x+w-h1,y+h/2-h2, - (u_int)h1, (u_int)hs); -- -+ - XFillRectangle(theDisp,mainW,theGC,x+1, y+h-h1, - (u_int)h1,(u_int)h1); - XFillRectangle(theDisp,mainW,theGC,x+w/2-h2,y+h-h1, -@@ -1683,7 +1685,7 @@ - (u_int)h1,(u_int)h1); - } - } -- -+ - if (selFilled==1) { - XDrawLine(theDisp, mainW, theGC, x+1, y+1, x+w-1, y+h-1); - XDrawLine(theDisp, mainW, theGC, x+1, y+h-1, x+w-1, y+1); -@@ -1692,8 +1694,8 @@ - else if (selFilled==2) { - XFillRectangle(theDisp, mainW, theGC, x,y,(u_int) w, (u_int) h); - } -- -- -+ -+ - XSetFunction(theDisp,theGC,GXcopy); - XSetPlaneMask(theDisp, theGC, AllPlanes); - } -@@ -1703,7 +1705,7 @@ - void MoveGrowSelection(dx,dy,dw,dh) - int dx,dy,dw,dh; - { -- /* moves and/or grows the selection by the specified amount -+ /* moves and/or grows the selection by the specified amount - (in pic coords). keeps the selection entirely within 'pic'. - (called by 'CropKey()') */ - -@@ -1729,7 +1731,7 @@ - } - } - -- -+ - /***********************************/ - void BlinkSelection(cnt) - int cnt; -diff -ru xv-3.10a/xvdflt.c xv-3.10a-enhancements/xvdflt.c ---- xv-3.10a/xvdflt.c 1994-12-22 14:34:42.000000000 -0800 -+++ xv-3.10a-enhancements/xvdflt.c 2007-05-12 14:07:36.000000000 -0700 -@@ -16,12 +16,12 @@ - #include "bits/xv_rev" - #include "bits/xv_ver" - #include "bits/xf_left" --#include "bits/xf_right" -+/* #include "bits/xf_right" not used */ - #include "bits/font5x9.h" - - - #ifndef USEOLDPIC --# include "xvdflt.h" -+# include "xvdflt.h" - #endif - - -@@ -62,7 +62,7 @@ - for (i=0; i mouse button for menu."); -@@ -136,7 +136,11 @@ - pinfo->w = XVDFLT_WIDE; - pinfo->h = XVDFLT_HIGH; - pinfo->type = PIC8; -+#ifdef HAVE_PNG -+ pinfo->frmType = F_PNG; -+#else - pinfo->frmType = F_GIF; -+#endif - pinfo->colType = F_FULLCOLOR; - - pinfo->normw = pinfo->w; -@@ -169,7 +173,7 @@ - for (i=k=0; i mouse button for menu."); -@@ -240,7 +244,11 @@ - pinfo->w = DWIDE; - pinfo->h = DHIGH; - pinfo->type = PIC8; -+#ifdef HAVE_PNG -+ pinfo->frmType = F_PNG; -+#else - pinfo->frmType = F_GIF; -+#endif - pinfo->colType = F_FULLCOLOR; - - sprintf(pinfo->fullInfo, "<8-bit internal>"); -@@ -272,7 +280,7 @@ - x = cx - bwide/2; - - k = *bptr; -- for (j=0,bit=0; j=0) && (x= 32 && i < 128) -+ if (i >= 32 && i < 128) - xbm2pic(font5x9[i - 32], 5, 9, pic, pw, ph, cx, cy, col); - } - } -diff -ru xv-3.10a/xvdflt.h xv-3.10a-enhancements/xvdflt.h ---- xv-3.10a/xvdflt.h 1994-12-22 14:34:56.000000000 -0800 -+++ xv-3.10a-enhancements/xvdflt.h 2007-04-15 20:45:08.000000000 -0700 -@@ -2,7 +2,7 @@ - #define XVDFLT_HIGH 270 - #define XVDFLT_NPARTS 5 - #define XVDFLT_PARTLEN 100 --char *xvdflt_pic[1350] = { -+const char *xvdflt_pic[1350] = { - /* 0a */ "00000000000000000000000000000000000000000000000101010101010101010101010101010101010101010101010101010101010101000000000000000000000000000002020202020202020303030303030303030404040404040505050505060708", - /* 0b */ "0809090a0b0c0d0e0e0f101111121213131313141414141515151515151515151616161616161616161616161616161616161616161616161616161616171717171717171717171717171717161616161616161616161616161616161616161616161617", - /* 0c */ "171717181818181818181818181818181818181919181818181818191919191919191a1a1a1a1a1a1a1a1a1a1a1a1a1a1a1b1b1b1b1b1b1b1b1b1c1c1c1c1c1c1c1c1d1d1d1d1d1d1d1d1d1c1c1c1c1c1c1c1c1c1c1c1c1c1c1b1b1b1b1b1b1b1b1b1a1a", -@@ -1356,9 +1356,9 @@ - }; - - --byte xvdflt_r[256] = { 83,83,84,84,84,85,92,94,100,109,119,124,133,137,145,157,163,168,175,183,191,202,203,255,254,253,252,251,250,249,145,114,83,106,129,249,250,251,250,243,216,226,241,222,222,132,61,82,244,249,243,248,173,59,247,102,252,241,244,244,57,241,216,239,6,17,157,244,139,236,250,246,84,213,121,240,70,30,99,91,38,73,105,123,82,40,30,38,114,81,44,35,37,35,30,33,1,0,5,1,1,4,3,0,0,11,0,0,6,15,7,3,8,0,0,4,8,11,15,0,10,11,14,11,0,14,0,28,6,1,22,17,8,1,8,7,7,13,0,9,10,6,7,10,11,11,18,7,2,8,7,9,5,10,8,16,6,6,5,8,8,6,10,8,4,30,22,5,33,33,11,6,10,15,19,13,28,21,35,28,10,25,26,27,29,3,27,14,21,30,31,27,31,35,6,33,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,}; -+const byte xvdflt_r[256] = { 83,83,84,84,84,85,92,94,100,109,119,124,133,137,145,157,163,168,175,183,191,202,203,255,254,253,252,251,250,249,145,114,83,106,129,249,250,251,250,243,216,226,241,222,222,132,61,82,244,249,243,248,173,59,247,102,252,241,244,244,57,241,216,239,6,17,157,244,139,236,250,246,84,213,121,240,70,30,99,91,38,73,105,123,82,40,30,38,114,81,44,35,37,35,30,33,1,0,5,1,1,4,3,0,0,11,0,0,6,15,7,3,8,0,0,4,8,11,15,0,10,11,14,11,0,14,0,28,6,1,22,17,8,1,8,7,7,13,0,9,10,6,7,10,11,11,18,7,2,8,7,9,5,10,8,16,6,6,5,8,8,6,10,8,4,30,22,5,33,33,11,6,10,15,19,13,28,21,35,28,10,25,26,27,29,3,27,14,21,30,31,27,31,35,6,33,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,}; - --byte xvdflt_g[256] = { 83,83,84,84,84,85,92,94,100,109,119,124,133,137,145,157,162,168,174,184,191,196,205,255,254,253,252,251,250,249,146,114,83,106,130,211,185,176,173,230,211,157,161,170,144,31,52,82,168,168,162,248,116,42,247,68,171,164,245,244,35,159,133,161,18,26,151,163,138,65,67,51,68,49,111,159,88,30,100,87,38,74,92,124,82,38,22,38,114,81,22,35,37,35,30,33,1,0,4,0,1,4,2,0,0,11,0,0,6,15,7,3,8,0,0,4,9,10,14,0,10,10,13,11,0,7,0,18,6,0,22,18,8,1,8,7,7,13,0,9,9,6,7,10,11,11,18,7,2,9,7,9,5,10,8,16,6,6,5,8,8,7,9,8,4,30,22,5,33,32,11,6,10,15,19,13,28,21,35,25,9,22,26,27,29,3,27,14,21,30,31,11,31,35,6,18,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,}; -+const byte xvdflt_g[256] = { 83,83,84,84,84,85,92,94,100,109,119,124,133,137,145,157,162,168,174,184,191,196,205,255,254,253,252,251,250,249,146,114,83,106,130,211,185,176,173,230,211,157,161,170,144,31,52,82,168,168,162,248,116,42,247,68,171,164,245,244,35,159,133,161,18,26,151,163,138,65,67,51,68,49,111,159,88,30,100,87,38,74,92,124,82,38,22,38,114,81,22,35,37,35,30,33,1,0,4,0,1,4,2,0,0,11,0,0,6,15,7,3,8,0,0,4,9,10,14,0,10,10,13,11,0,7,0,18,6,0,22,18,8,1,8,7,7,13,0,9,9,6,7,10,11,11,18,7,2,9,7,9,5,10,8,16,6,6,5,8,8,7,9,8,4,30,22,5,33,32,11,6,10,15,19,13,28,21,35,25,9,22,26,27,29,3,27,14,21,30,31,11,31,35,6,18,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,}; - --byte xvdflt_b[256] = { 251,250,252,253,254,255,254,255,254,253,254,254,252,255,255,253,251,253,253,253,254,249,252,255,254,253,252,251,250,249,252,255,249,253,250,162,99,79,81,225,239,113,92,147,72,43,37,248,84,88,91,248,83,34,247,80,84,86,245,244,30,90,74,92,10,55,239,85,250,90,88,72,125,68,206,92,190,87,245,230,133,216,199,248,247,105,73,108,252,244,62,97,119,143,150,134,57,49,64,64,72,78,72,40,75,98,66,59,110,110,80,89,95,86,34,87,80,88,77,48,100,80,98,89,33,60,29,75,91,73,111,87,120,89,103,103,126,111,23,121,108,147,111,142,105,111,111,140,107,107,118,113,112,110,114,123,140,120,141,132,124,130,98,127,151,102,124,132,108,119,123,159,124,135,123,124,114,135,126,100,122,126,132,140,126,164,119,149,149,137,113,75,127,114,131,78,107,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,}; -+const byte xvdflt_b[256] = { 251,250,252,253,254,255,254,255,254,253,254,254,252,255,255,253,251,253,253,253,254,249,252,255,254,253,252,251,250,249,252,255,249,253,250,162,99,79,81,225,239,113,92,147,72,43,37,248,84,88,91,248,83,34,247,80,84,86,245,244,30,90,74,92,10,55,239,85,250,90,88,72,125,68,206,92,190,87,245,230,133,216,199,248,247,105,73,108,252,244,62,97,119,143,150,134,57,49,64,64,72,78,72,40,75,98,66,59,110,110,80,89,95,86,34,87,80,88,77,48,100,80,98,89,33,60,29,75,91,73,111,87,120,89,103,103,126,111,23,121,108,147,111,142,105,111,111,140,107,107,118,113,112,110,114,123,140,120,141,132,124,130,98,127,151,102,124,132,108,119,123,159,124,135,123,124,114,135,126,100,122,126,132,140,126,164,119,149,149,137,113,75,127,114,131,78,107,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,}; - -diff -ru xv-3.10a/xvdial.c xv-3.10a-enhancements/xvdial.c ---- xv-3.10a/xvdial.c 1995-01-03 13:20:31.000000000 -0800 -+++ xv-3.10a-enhancements/xvdial.c 2007-04-15 17:55:50.000000000 -0700 -@@ -1,11 +1,11 @@ --/* -+/* - * xvdial.c - DIAL handling functions - * - * callable functions: - * - * DCreate() - creates a dial - * DSetRange() - sets min/max/current values of control -- * DSetVal() - sets value of control -+ * DSetVal() - sets value of control - * DSetActive() - turns dial '.active' on and off - * DRedraw() - redraws the dial - * DTrack() - called when clicked. Operates control 'til mouseup -@@ -41,51 +41,53 @@ - - - /* local functions */ --static int whereInDial PARM((DIAL *, int, int)); --static void drawArrow PARM((DIAL *)); --static void drawValStr PARM((DIAL *)); --static void drawButt PARM((DIAL *, int, int)); --static int computeDialVal PARM((DIAL *, int, int)); --static void dimDial PARM((DIAL *)); -+static int whereInDial PARM((DIAL *, int, int)); -+static void drawArrow PARM((DIAL *)); -+static void drawValStr PARM((DIAL *)); -+static void drawButt PARM((DIAL *, int, int)); -+static double computeDialVal PARM((DIAL *, int, int)); -+static void dimDial PARM((DIAL *)); - - - /***************************************************/ --void DCreate(dp, parent, x, y, w, h, minv, maxv, curv, page, -+void DCreate(dp, parent, x, y, w, h, minv, maxv, curv, inc, page, - fg, bg, hi, lo, title, units) --DIAL *dp; --Window parent; --int x,y,w,h,minv,maxv,curv,page; --unsigned long fg,bg,hi,lo; --char *title, *units; -+DIAL *dp; -+Window parent; -+int x, y, w, h; -+double minv, maxv, curv, inc, page; -+unsigned long fg, bg, hi, lo; -+const char *title, *units; - { - - if (!pixmaps_built) { -- cw1Pix = XCreatePixmapFromBitmapData(theDisp, parent, -+ cw1Pix = XCreatePixmapFromBitmapData(theDisp, parent, - (char *) dial_cw1_bits, PW, PH, fg, bg, dispDEEP); -- ccw1Pix = XCreatePixmapFromBitmapData(theDisp, parent, -+ ccw1Pix = XCreatePixmapFromBitmapData(theDisp, parent, - (char *) dial_ccw1_bits, PW, PH, fg, bg, dispDEEP); -- cw2Pix = XCreatePixmapFromBitmapData(theDisp, parent, -+ cw2Pix = XCreatePixmapFromBitmapData(theDisp, parent, - (char *) dial_cw2_bits, PW, PH, fg, bg, dispDEEP); -- ccw2Pix = XCreatePixmapFromBitmapData(theDisp, parent, -+ ccw2Pix = XCreatePixmapFromBitmapData(theDisp, parent, - (char *) dial_ccw2_bits, PW, PH, fg, bg, dispDEEP); - } - -- dp->x = x; -- dp->y = y; -- -- dp->w = w; -- dp->h = h; -- dp->fg = fg; -- dp->bg = bg; -- dp->hi = hi; -- dp->lo = lo; -- dp->title = title; -- dp->units = units; -- dp->active = 1; -+ dp->x = x; -+ dp->y = y; -+ dp->w = w; -+ dp->h = h; -+ dp->fg = fg; -+ dp->bg = bg; -+ dp->hi = hi; -+ dp->lo = lo; -+ dp->title = title; -+ dp->units = units; -+ dp->active = 1; - dp->drawobj = NULL; - -- if (w < h-24-16) dp->rad = (w - 8) / 2; -- else dp->rad = (h - 24 - 16 - 8) / 2; -+ if (w < h-24-16) -+ dp->rad = (w - 8) / 2; -+ else -+ dp->rad = (h - 24 - 16 - 8) / 2; - dp->cx = w / 2; - dp->cy = dp->rad + 4 + 16; - -@@ -94,22 +96,22 @@ - dp->bx[INCW1] = w-14-4; dp->by[INCW1] = h - 4 - 20; - dp->bx[INCW2] = w-14-4; dp->by[INCW2] = h - 4 - 10; - -- dp->win = XCreateSimpleWindow(theDisp, parent,x,y,(u_int) w,(u_int) h, -- 1,fg,bg); -+ dp->win = XCreateSimpleWindow(theDisp, parent, x, y, (u_int) w, (u_int) h, -+ 1, fg, bg); - if (!dp->win) FatalError("can't create dial window"); - -- DSetRange(dp, minv, maxv, curv, page); -+ DSetRange(dp, minv, maxv, curv, inc, page); - XSelectInput(theDisp, dp->win, ExposureMask | ButtonPressMask); - } - - - /***************************************************/ --void DSetRange(dp, minv, maxv, curv, page) --DIAL *dp; --int minv, maxv, curv, page; -+void DSetRange(dp, minv, maxv, curv, inc, page) -+DIAL *dp; -+double minv, maxv, curv, inc, page; - { - if (maxvmin = minv; dp->max = maxv; dp->page = page; -+ dp->min = minv; dp->max = maxv; dp->inc = inc; dp->page = page; - dp->active = (minv < maxv); - - DSetVal(dp, curv); -@@ -118,22 +120,22 @@ - - /***************************************************/ - void DSetVal(dp, curv) --DIAL *dp; --int curv; -+DIAL *dp; -+double curv; - { - RANGE(curv, dp->min, dp->max); /* make sure curv is in-range */ - - if (curv == dp->val) return; - - /* erase old arrow */ -- XSetForeground(theDisp, theGC, dp->bg); -+ XSetForeground(theDisp, theGC, dp->bg); - drawArrow(dp); - -- dp->val = curv; -+ dp->val = (double)((int)(curv / dp->inc + (curv > 0 ? 0.5 : -0.5))) * dp->inc; - - /* draw new arrow and string */ - XSetForeground(theDisp, theGC, dp->fg); -- XSetBackground(theDisp, theGC, dp->bg); -+ XSetBackground(theDisp, theGC, dp->bg); - drawArrow(dp); - drawValStr(dp); - if (!dp->active) dimDial(dp); -@@ -202,7 +204,8 @@ - int mx,my; - { - Window rW,cW; -- int rx,ry, x,y, ipos, pos, lit, i, origval; -+ int rx, ry, x, y, ipos, pos, lit; -+ double origval; - unsigned int mask; - - lit = 0; -@@ -224,35 +227,36 @@ - if (ipos != INDIAL) { - drawButt(dp, ipos, 1); - switch (ipos) { -- case INCW1: if (dp->val < dp->max) DSetVal(dp, dp->val+1); break; -+ case INCW1: if (dp->val < dp->max) DSetVal(dp, dp->val+dp->inc); break; - case INCW2: if (dp->val < dp->max) DSetVal(dp, dp->val+dp->page); break; -- case INCCW1: if (dp->val > dp->min) DSetVal(dp, dp->val-1); break; -+ case INCCW1: if (dp->val > dp->min) DSetVal(dp, dp->val-dp->inc); break; - case INCCW2: if (dp->val > dp->min) DSetVal(dp, dp->val-dp->page); break; - } -- if (dp->drawobj != NULL) (dp->drawobj)(); -+ if (dp->drawobj != NULL) (dp->drawobj)(); - Timer(INC1WAIT); - lit = 1; - } - -- else { -- i = computeDialVal(dp, mx, my); -- DSetVal(dp, i); -- if (dp->drawobj != NULL) (dp->drawobj)(); -+ else { -+ double v; -+ v = computeDialVal(dp, mx, my); -+ DSetVal(dp, v); -+ if (dp->drawobj != NULL) (dp->drawobj)(); - } - -- -+ - /* loop until mouse is released */ - while (XQueryPointer(theDisp,dp->win,&rW,&cW,&rx,&ry,&x,&y,&mask)) { - if (!(mask & Button1Mask)) break; /* button released */ - - if (ipos == INDIAL) { -- int j; -- i = computeDialVal(dp, x, y); -- j = dp->val; -- DSetVal(dp, i); -- if (j != dp->val) { -+ double v, w; -+ v = computeDialVal(dp, x, y); -+ w = dp->val; -+ DSetVal(dp, v); -+ if (w != dp->val) { - /* track whatever dial controls */ -- if (dp->drawobj != NULL) (dp->drawobj)(); -+ if (dp->drawobj != NULL) (dp->drawobj)(); - } - } - -@@ -266,18 +270,18 @@ - - if (lit) { - switch (ipos) { -- case INCW1: if (dp->val < dp->max) DSetVal(dp, dp->val+1); -+ case INCW1: if (dp->val < dp->max) DSetVal(dp, dp->val+dp->inc); - break; - case INCW2: if (dp->val < dp->max) DSetVal(dp, dp->val+dp->page); - break; -- case INCCW1: if (dp->val > dp->min) DSetVal(dp, dp->val-1); -+ case INCCW1: if (dp->val > dp->min) DSetVal(dp, dp->val-dp->inc); - break; - case INCCW2: if (dp->val > dp->min) DSetVal(dp, dp->val-dp->page); - break; - } - - /* track whatever dial controls */ -- if (dp->drawobj != NULL) (dp->drawobj)(); -+ if (dp->drawobj != NULL) (dp->drawobj)(); - - Timer(INC2WAIT); - } -@@ -305,34 +309,35 @@ - - /* returns region * that x,y is in. returns -1 if none */ - -- for (i=0; i<4; i++) -+ for (i=0; i<4; i++) - if (PTINRECT(x,y, dp->bx[i], dp->by[i], 14, 10)) return i; - -- if (PTINRECT(x,y, dp->cx - dp->rad, dp->cy - dp->rad, -+ if (PTINRECT(x,y, dp->cx - dp->rad, dp->cy - dp->rad, - 2*dp->rad, 2*dp->rad)) - return INDIAL; - - return -1; - } - -- -+ - /***************************************************/ - static void drawArrow(dp) - DIAL *dp; - { -- int i, rad, cx, cy; -+ int rad, cx, cy; -+ double v; - XPoint arrow[4]; - - rad = dp->rad; cx = dp->cx; cy = dp->cy; - - /* map pos (range minv..maxv) into degrees (range 240..-60) */ -- i = 240 + (-300 * (dp->val - dp->min)) / (dp->max - dp->min); -- arrow[0].x = cx + (int) ((double) rad * .80 * cos(i * DEG2RAD)); -- arrow[0].y = cy - (int) ((double) rad * .80 * sin(i * DEG2RAD)); -- arrow[1].x = cx + (int) ((double) rad * .33 * cos((i+160) * DEG2RAD)); -- arrow[1].y = cy - (int) ((double) rad * .33 * sin((i+160) * DEG2RAD)); -- arrow[2].x = cx + (int) ((double) rad * .33 * cos((i-160) * DEG2RAD)); -- arrow[2].y = cy - (int) ((double) rad * .33 * sin((i-160) * DEG2RAD)); -+ v = 240 + (-300 * (dp->val - dp->min)) / (dp->max - dp->min); -+ arrow[0].x = cx + (int) ((double) rad * .80 * cos(v * DEG2RAD)); -+ arrow[0].y = cy - (int) ((double) rad * .80 * sin(v * DEG2RAD)); -+ arrow[1].x = cx + (int) ((double) rad * .33 * cos((v+160) * DEG2RAD)); -+ arrow[1].y = cy - (int) ((double) rad * .33 * sin((v+160) * DEG2RAD)); -+ arrow[2].x = cx + (int) ((double) rad * .33 * cos((v-160) * DEG2RAD)); -+ arrow[2].y = cy - (int) ((double) rad * .33 * sin((v-160) * DEG2RAD)); - arrow[3].x = arrow[0].x; - arrow[3].y = arrow[0].y; - XDrawLines(theDisp, dp->win, theGC, arrow, 4, CoordModeOrigin); -@@ -343,33 +348,47 @@ - static void drawValStr(dp) - DIAL *dp; - { -- int i, x1, x2; -+ int tot, i, x1, x2; - char foo[60], foo1[60]; - - /* compute longest string necessary so we can right-align this thing */ -- sprintf(foo,"%d",dp->min); x1 = strlen(foo); -- sprintf(foo,"%d",dp->max); x2 = strlen(foo); -+ sprintf(foo,"%d",(int)dp->min); x1 = strlen(foo); -+ sprintf(foo,"%d",(int)dp->max); x2 = strlen(foo); - if (dp->min < 0 && dp->max > 0) x2++; /* put '+' at beginning */ - i = x1; if (x2>x1) i = x2; - if (dp->units) i += strlen(dp->units); - -- if (dp->min < 0 && dp->max > 0) sprintf(foo,"%+d", dp->val); -- else sprintf(foo,"%d", dp->val); -+ sprintf(foo,"%g",dp->inc); /* space for decimal values */ -+ tot = i + strlen(foo) - 1; /* Take away the 0 from the beginning */ -+ -+ if (dp->min < 0.0 && dp->max > 0.0) sprintf(foo,"%+g", dp->val); -+ else sprintf(foo,"%g", dp->val); -+ -+ if (dp->inc < 1.0) -+ { -+ int j; -+ -+ if (dp->val == (double)((int)dp->val)) -+ strcat(foo,"."); -+ -+ for (j = strlen(foo); j < tot; j++) -+ strcat(foo,"0"); -+ } - - if (dp->units) strcat(foo,dp->units); - foo1[0] = '\0'; - if (strlen(foo) < (size_t) i) { -- for (i = i - strlen(foo); i>0; i--) strcat(foo1," "); -+ for (i-=strlen(foo);i>0;i--) strcat(foo1," "); - } - strcat(foo1, foo); - - XSetForeground(theDisp, theGC, dp->fg); - XSetBackground(theDisp, theGC, dp->bg); - XSetFont(theDisp, theGC, monofont); -- XDrawImageString(theDisp, dp->win, theGC, -+ XDrawImageString(theDisp, dp->win, theGC, - dp->w/2 - XTextWidth(monofinfo, foo1, (int) strlen(foo1))/2, - dp->h-14 - (monofinfo->ascent + monofinfo->descent)/2 -- + monofinfo->ascent, -+ + monofinfo->ascent, - foo1, (int) strlen(foo1)); - XSetFont(theDisp, theGC, mfont); - } -@@ -411,12 +430,13 @@ - - - /***************************************************/ --static int computeDialVal(dp, x, y) -+static double computeDialVal(dp, x, y) - DIAL *dp; - int x, y; - { -- int dx, dy, val; -- double angle; -+ int dx, dy; -+ -+ double angle, val; - - /* compute dx, dy (distance from cx, cy). Note: +dy is *up* */ - dx = x - dp->cx; dy = dp->cy - y; -@@ -431,13 +451,15 @@ - } - else if (dx>0) angle = atan((double) dy / (double) dx) * RAD2DEG; - else angle = atan((double) -dy / (double) -dx) * RAD2DEG + 180.0; -- -+ - /* map angle into range: -90..270, then into to value */ - if (angle > 270.0) angle -= 360.0; - if (angle < -90.0) angle += 360.0; - -- val = (int) ((dp->max - dp->min) * (240.0 - angle) / 300.0) + dp->min; -+ val = ((dp->max - dp->min) * (240.0 - angle) / 300.0) + dp->min; - -+ /* round value to be an even multiple of dp->inc */ -+ val = (double)((int)(val / dp->inc + 0.5)) * dp->inc; - return val; - } - -diff -ru xv-3.10a/xvdir.c xv-3.10a-enhancements/xvdir.c ---- xv-3.10a/xvdir.c 1995-01-03 13:21:39.000000000 -0800 -+++ xv-3.10a-enhancements/xvdir.c 2007-05-13 18:47:51.000000000 -0700 -@@ -1,4 +1,4 @@ --/* -+/* - * xvdir.c - Directory changin', file i/o dialog box - * - * callable functions: -@@ -50,32 +50,63 @@ - #define COLWIDE 150 /* width of colMB */ - - /* NOTE: make sure these match up with F_* definitions in xv.h */ --static char *saveColors[] = { "Full Color", -- "Greyscale", -- "B/W Dithered", -- "Reduced Color" }; -- --static char *saveFormats[] = { "GIF", -+static const char *saveColors[] = { "Full Color", -+ "Greyscale", -+ "B/W Dithered", -+ "Reduced Color" }; -+ -+static const char *saveFormats[] = { -+#ifdef HAVE_PNG -+ "PNG", -+#endif - #ifdef HAVE_JPEG -- "JPEG", -+ "JPEG", - #endif -+#ifdef HAVE_JP2K -+ "JPEG 2000", -+ "JP2", -+#endif -+ "GIF", - #ifdef HAVE_TIFF -- "TIFF", -+ "TIFF", -+#endif -+ "PostScript", -+ "PBM/PGM/PPM (raw)", -+ "PBM/PGM/PPM (ascii)", -+ "X11 Bitmap", -+ "XPM", -+ "BMP", -+ "Sun Rasterfile", -+ "IRIS RGB", -+ "Targa (24-bit)", -+ "FITS", -+ "PM", -+ "Spectrum SCREEN$", /* [JCE] */ -+ "WBMP", -+#ifdef HAVE_MAG -+ "MAG", -+#endif -+#ifdef HAVE_PIC -+ "PIC", -+#endif -+#ifdef HAVE_MAKI -+ "MAKI (640x400 only)", -+#endif -+#ifdef HAVE_PI -+ "PI", -+#endif -+#ifdef HAVE_PIC2 -+ "PIC2", -+#endif -+#ifdef HAVE_MGCSFX -+ "MgcSfx", - #endif -- "PostScript", -- "PBM/PGM/PPM (raw)", -- "PBM/PGM/PPM (ascii)", -- "X11 Bitmap", -- "XPM", -- "BMP", -- "Sun Rasterfile", -- "IRIS RGB", -- "Targa (24-bit)", -- "FITS", -- "PM", -- MBSEP, -- "Filename List"}; -+ MBSEP, -+ "Filename List" }; - -+#ifdef HAVE_PIC2 -+extern int PIC2SaveParams PARM((char *, int)); -+#endif - - static void arrangeButts PARM((int)); - static void RedrawDList PARM((int, SCRL *)); -@@ -83,34 +114,37 @@ - static int dnamcmp PARM((const void *, const void *)); - static int FNameCdable PARM((void)); - static void loadCWD PARM((void)); -+#ifdef FOO - static int cd_able PARM((char *)); -+#endif - static void scrollToFileName PARM((void)); --static void setFName PARM((char *)); -+static void setFName PARM((const char *)); - static void showFName PARM((void)); - static void changeSuffix PARM((void)); - static int autoComplete PARM((void)); - --static byte *handleBWandReduced PARM((byte *, int,int,int, int, int *, -+static byte *handleBWandReduced PARM((byte *, int,int,int, int, int *, - byte **, byte **, byte **)); - static byte *handleNormSel PARM((int *, int *, int *, int *)); - - --static char *fnames[MAXNAMES]; --static int numfnames = 0, ndirs = 0; --static char path[MAXPATHLEN+1]; /* '/' terminated */ --static char loadpath[MAXPATHLEN+1]; /* '/' terminated */ --static char savepath[MAXPATHLEN+1]; /* '/' terminated */ --static char *dirs[MAXDEEP]; /* list of directory names */ --static char *dirMBlist[MAXDEEP]; /* list of dir names in right order */ --static char *lastdir; /* name of the directory we're in */ --static char filename[MAXFNLEN+100]; /* filename being entered */ --static char deffname[MAXFNLEN+100]; /* default filename */ -- --static int savemode; /* if 0 'load box', if 1 'save box' */ --static int curPos, stPos, enPos; /* filename textedit stuff */ --static MBUTT dirMB; /* popup path menu */ --static MBUTT fmtMB; /* 'format' menu button (Save only) */ --static MBUTT colMB; /* 'colors' menu button (Save only) */ -+static char *fnames[MAXNAMES]; -+static int numfnames = 0, ndirs = 0; -+static char path[MAXPATHLEN+1]; /* '/' terminated */ -+static char loadpath[MAXPATHLEN+1]; /* '/' terminated */ -+static char savepath[MAXPATHLEN+1]; /* '/' terminated */ -+static char *dirs[MAXDEEP]; /* list of directory names */ -+static const char *dirMBlist[MAXDEEP]; /* list of dir names in right order */ -+static char *lastdir; /* name of the directory we're in */ -+static char filename[MAXFNLEN+100]; /* filename being entered */ -+static char deffname[MAXFNLEN+100]; /* default filename */ -+ -+static int savemode; /* if 0 'load box', if 1 'save box' */ -+static int curPos; /* insertion point in textedit filename */ -+static int stPos, enPos; /* start and end of visible textedit filename */ -+static MBUTT dirMB; /* popup path menu */ -+static MBUTT fmtMB; /* 'format' menu button (Save only) */ -+static MBUTT colMB; /* 'colors' menu button (Save only) */ - - static Pixmap d_loadPix, d_savePix; - -@@ -119,7 +153,7 @@ - static char oldfname[MAXFNLEN+100]; - - /* the name of the file actually opened. (the temp file if we are piping) */ --static char outFName[256]; -+static char outFName[256]; - static int dopipe; - - -@@ -127,48 +161,46 @@ - void CreateDirW(geom) - char *geom; - { -- int w, y; -- - path[0] = '\0'; - - xv_getwd(loadpath, sizeof(loadpath)); - xv_getwd(savepath, sizeof(savepath)); - -- -+ - dirW = CreateWindow("","XVdir", geom, DIRWIDE, DIRHIGH, infofg, infobg, 0); - if (!dirW) FatalError("couldn't create 'directory' window!"); - -- LSCreate(&dList, dirW, 10, 5 + 3*(6+LINEHIGH) + 6, LISTWIDE, -- LINEHIGH*NLINES, NLINES, fnames, numfnames, infofg, infobg, -+ LSCreate(&dList, dirW, 10, 5 + 3*(6+LINEHIGH) + 6, LISTWIDE, -+ LINEHIGH*NLINES, NLINES, fnames, numfnames, infofg, infobg, - hicol, locol, RedrawDList, 1, 0); - -- dnamW = XCreateSimpleWindow(theDisp, dirW, 80, dList.y + (int) dList.h + 30, -- (u_int) DNAMWIDE+6, (u_int) LINEHIGH+5, -+ dnamW = XCreateSimpleWindow(theDisp, dirW, 80, dList.y + (int) dList.h + 30, -+ (u_int) DNAMWIDE+6, (u_int) LINEHIGH+5, - 1, infofg, infobg); - if (!dnamW) FatalError("can't create name window"); - XSelectInput(theDisp, dnamW, ExposureMask); - - -- CBCreate(&browseCB, dirW, DIRWIDE/2, dList.y + (int) dList.h + 6, -+ CBCreate(&browseCB, dirW, DIRWIDE/2, dList.y + (int) dList.h + 6, - "Browse", infofg, infobg, hicol,locol); - -- CBCreate(&savenormCB, dirW, 220, dList.y + (int) dList.h + 6, -+ CBCreate(&savenormCB, dirW, 220, dList.y + (int) dList.h + 6, - "Normal Size", infofg, infobg,hicol,locol); - -- CBCreate(&saveselCB, dirW, 80, dList.y + (int) dList.h + 6, -+ CBCreate(&saveselCB, dirW, 80, dList.y + (int) dList.h + 6, - "Selected Area", infofg, infobg,hicol,locol); - - - /* y-coordinates get filled in when window is opened */ -- BTCreate(&dbut[S_BOK], dirW, 259, 0, 80, BUTTH, -+ BTCreate(&dbut[S_BOK], dirW, 259, 0, 80, BUTTH, - "Ok", infofg, infobg,hicol,locol); -- BTCreate(&dbut[S_BCANC], dirW, 259, 0, 80, BUTTH, -+ BTCreate(&dbut[S_BCANC], dirW, 259, 0, 80, BUTTH, - "Cancel", infofg,infobg,hicol,locol); -- BTCreate(&dbut[S_BRESCAN], dirW, 259, 0, 80, BUTTH, -+ BTCreate(&dbut[S_BRESCAN], dirW, 259, 0, 80, BUTTH, - "Rescan", infofg,infobg,hicol,locol); -- BTCreate(&dbut[S_BOLDSET], dirW, 259, 0, 80, BUTTH, -+ BTCreate(&dbut[S_BOLDSET], dirW, 259, 0, 80, BUTTH, - "Prev Set", infofg,infobg,hicol,locol); -- BTCreate(&dbut[S_BOLDNAM], dirW, 259, 0, 80, BUTTH, -+ BTCreate(&dbut[S_BOLDNAM], dirW, 259, 0, 80, BUTTH, - "Prev Name", infofg,infobg,hicol,locol); - - SetDirFName(""); -@@ -180,33 +212,33 @@ - * create MBUTTs *after* calling XMapSubWindows() to keep popup unmapped - */ - -- MBCreate(&dirMB, dirW, 50, dList.y -(LINEHIGH+6), -+ MBCreate(&dirMB, dirW, 50, dList.y -(LINEHIGH+6), - (u_int) DDWIDE, (u_int) LINEHIGH, NULL, NULL, 0, - infofg,infobg,hicol,locol); - -- MBCreate(&fmtMB, dirW, DIRWIDE-FMTWIDE-10, 5, -- (u_int) FMTWIDE, (u_int) LINEHIGH, NULL, saveFormats, F_MAXFMTS, -+ MBCreate(&fmtMB, dirW, DIRWIDE-FMTWIDE-10, 5, -+ (u_int) FMTWIDE, (u_int) LINEHIGH, NULL, saveFormats, F_MAXFMTS, - infofg,infobg,hicol,locol); - fmtMB.hascheck = 1; - MBSelect(&fmtMB, 0); - -- MBCreate(&colMB, dirW, DIRWIDE-COLWIDE-10, 5+LINEHIGH+6, -- (u_int) COLWIDE, (u_int) LINEHIGH, NULL, saveColors, F_MAXCOLORS, -+ MBCreate(&colMB, dirW, DIRWIDE-COLWIDE-10, 5+LINEHIGH+6, -+ (u_int) COLWIDE, (u_int) LINEHIGH, NULL, saveColors, F_MAXCOLORS, - infofg,infobg,hicol,locol); - colMB.hascheck = 1; - MBSelect(&colMB, 0); - - -- d_loadPix = XCreatePixmapFromBitmapData(theDisp, dirW, -- (char *) d_load_bits, d_load_width, d_load_height, -+ d_loadPix = XCreatePixmapFromBitmapData(theDisp, dirW, -+ (char *) d_load_bits, d_load_width, d_load_height, - infofg, infobg, dispDEEP); - -- d_savePix = XCreatePixmapFromBitmapData(theDisp, dirW, -- (char *) d_save_bits, d_save_width, d_save_height, -+ d_savePix = XCreatePixmapFromBitmapData(theDisp, dirW, -+ (char *) d_save_bits, d_save_width, d_save_height, - infofg, infobg, dispDEEP); - - } -- -+ - - /***************************************************/ - void DirBox(mode) -@@ -261,7 +293,7 @@ - - BTSetActive(&dbut[S_BOLDSET], haveoldinfo); - BTSetActive(&dbut[S_BOLDNAM], haveoldinfo); -- -+ - CBSetActive(&saveselCB, HaveSelection()); - - MBSetActive(&fmtMB, 1); -@@ -303,15 +335,15 @@ - if (gap>16) { - gap = 16; - top = dList.y + (dList.h - (nbts*BUTTH) - (ngaps*gap))/2; -- -+ - for (i=0; i txtw) txtw = StringWidth(COLLABEL); - - if (!savemode) { -- XCopyArea(theDisp, d_loadPix, dirW, theGC, 0,0,d_load_width,d_load_height, -+ XCopyArea(theDisp, d_loadPix, dirW, theGC, 0,0,d_load_width,d_load_height, - 10, (dirMB.y-6)/2 - d_load_height/2); - - XSetFillStyle(theDisp, theGC, FillStippled); -@@ -399,18 +431,18 @@ - i = v = 0; - if (MBClick(&fmtMB, x,y) && (v=MBTrack(&fmtMB))>=0) i=1; - else if (MBClick(&colMB, x,y) && (v=MBTrack(&colMB))>=0) i=2; -- -+ - if (i) { /* changed one of them */ - if (i==1) SetDirSaveMode(F_FORMAT, v); - else SetDirSaveMode(F_COLORS, v); - changeSuffix(); - } - } -- -- -+ -+ - if (!savemode) { /* LOAD */ - if (CBClick(&browseCB,x,y)) CBTrack(&browseCB); -- } -+ } - else { /* SAVE */ - if (CBClick(&savenormCB,x,y)) CBTrack(&savenormCB); - else if (CBClick(&saveselCB,x,y)) CBTrack(&saveselCB); -@@ -482,7 +514,7 @@ - } - - if (oldnumnames != numnames) { /* added some */ -- if (numnames>0) BTSetActive(&but[BDELETE],1); -+ if (numnames>0) BTSetActive(&but[BDELETE],1); - windowMB.dim[WMB_TEXTVIEW] = (numnames==0); - - LSNewData(&nList, dispnames, numnames); -@@ -501,10 +533,35 @@ - } - - -- - if (MBClick(&dirMB, x, y)) { - i = MBTrack(&dirMB); - if (i >= 0) changedDirMB(i); -+ return -1; -+ } -+ -+ /* handle clicks inside the filename box */ -+ if (x > 80 && -+ y > dList.y + (int) dList.h + 30 && -+ x < 80 + DNAMWIDE+6 && -+ y < dList.y + (int) dList.h + 30 + LINEHIGH+5) { -+ int tx; -+ int dx; -+ int pos; -+ -+ /* make coordinates relative to dnamW */ -+ tx = x - (80 + 1 + 3); /* left side plus the border plus the space for the "more stuff" sign */ -+ -+ for (pos=stPos; pos+1 < enPos; pos++) { -+ if (XTextWidth(mfinfo, &filename[stPos], 1+pos-stPos) > tx) -+ break; -+ } -+ /* if we are more than halfway past this char, put the insertion point after it */ -+ dx = tx - XTextWidth(mfinfo, &filename[stPos], pos-stPos); -+ if (dx > XTextWidth(mfinfo, &filename[pos], 1)/2) -+ pos++; -+ -+ curPos = pos; -+ showFName(); - } - - return -1; -@@ -564,14 +621,18 @@ - * a special concealed device setup to provide a list of available - * disks). - */ -- if ( ((ndirs-sel) == 2) && (strlen(tmppath) > 1) ) -+ if ( ((ndirs-sel) == 2) && (strlen(tmppath) > 1) ) - strcat ( tmppath, "/000000" ); /* add root dir for device */ - else if ((ndirs-sel) == 1 ) { - strcpy ( tmppath, "/XV_Root_Device/000000" ); /* fake top level */ - } - #endif - -+#ifdef AUTO_EXPAND -+ if (Chvdir(tmppath)) { -+#else - if (chdir(tmppath)) { -+#endif - char str[512]; - sprintf(str,"Unable to cd to '%s'\n", tmppath); - *trunc_point = '/'; /* restore the path */ -@@ -602,7 +663,7 @@ - xv_getwd(path, sizeof(path)); - LoadCurrentDirectory(); - } -- -+ - - - /***************************************************/ -@@ -621,14 +682,14 @@ - #else - struct dirent *dp; - #endif -- -+ - - /* get rid of previous file names */ - for (i=0; i=0; i--,j++) { -- size_t stlen = (i<(ndirs-1)) ? dirs[i+1] - dirs[i] : strlen(dirs[i]); -- dirMBlist[j] = (char *) malloc(stlen+1); -- if (!dirMBlist[j]) FatalError("unable to malloc dirMBlist[]"); -+ size_t stlen = (i<(ndirs-1)) ? dirs[i+1] - dirs[i] : strlen(dirs[i]); -+ char *copy; -+ -+ copy = malloc(stlen+1); -+ if (!copy) FatalError("unable to malloc dirMBlist[]"); - -- strncpy(dirMBlist[j], dirs[i], stlen); -- dirMBlist[j][stlen] = '\0'; -+ strncpy(copy, dirs[i], stlen); -+ copy[stlen] = '\0'; -+ dirMBlist[j] = copy; - } -- -+ - - lastdir = dirs[ndirs-1]; - dirMB.list = dirMBlist; - dirMB.nlist = ndirs; -- XClearArea(theDisp, dirMB.win, dirMB.x, dirMB.y, -+ XClearArea(theDisp, dirMB.win, dirMB.x, dirMB.y, - (u_int) dirMB.w+3, (u_int) dirMB.h+3, False); - i = StringWidth(dirMBlist[0]) + 10; - dirMB.x = dirMB.x + dirMB.w/2 - i/2; -@@ -704,8 +776,8 @@ - - i=0; - while ( (dp = readdir(dirp)) != NULL) { -- if (strcmp(dp->d_name, ".")==0 || -- (strcmp(dp->d_name, "..")==0 && -+ if (strcmp(dp->d_name, ".")==0 || -+ (strcmp(dp->d_name, "..")==0 && - (strcmp(path,"/")==0 || strcmp(path,"//")==0)) || - strcmp(dp->d_name, THUMBDIR)==0) { - /* skip over '.' and '..' and THUMBDIR */ -@@ -714,7 +786,7 @@ - - if (i == MAXNAMES) { - fprintf(stderr, -- "%s: too many directory entries. Only using first %d.\n", -+ "%s: too many directory entries. Using only first %d.\n", - cmd, MAXNAMES); - break; - } -@@ -733,7 +805,7 @@ - /* For VMS we will default all files EXCEPT directories to avoid - the high cost of the VAX C implementation of the stat function. - Suggested by Kevin Oberman (OBERMAN@icdc.llnl.gov) */ -- -+ - if (xv_strstr (fnames[i]+1, ".DIR") != NULL) fnames[i][0] = C_DIR; - if (xv_strstr (fnames[i]+1, ".EXE") != NULL) fnames[i][0] = C_EXE; - if (xv_strstr (fnames[i]+1, ".OBJ") != NULL) fnames[i][0] = C_BLK; -@@ -749,6 +821,9 @@ - else if (S_ISFIFO(ftype)) fnames[i][0] = C_FIFO; - else if (S_ISSOCK(ftype)) fnames[i][0] = C_SOCK; - else if (fnames[i][0] == C_REG && (mode&0111)) fnames[i][0] = C_EXE; -+#ifdef AUTO_EXPAND -+ else if (Isarchive(fnames[i]+1)) fnames[i][0] = C_DIR; -+#endif - } - else { - /* fprintf(stderr,"problems 'stat-ing' files\n");*/ -@@ -784,11 +859,13 @@ - - - /***************************************************/ -+#ifdef FOO - static int cd_able(str) - char *str; - { - return ((str[0] == C_DIR || str[0] == C_LNK)); - } -+#endif /* FOO */ - - - /***************************************************/ -@@ -829,24 +906,28 @@ - int len; - - len = strlen(filename); -- -+ - if (c>=' ' && c<'\177') { /* printable characters */ - /* note: only allow 'piped commands' in savemode... */ - -+#undef PREVENT_SPACES /* Spaces are fine in filenames. */ -+#ifdef PREVENT_SPACES - /* only allow spaces in 'piped commands', not filenames */ - if (c==' ' && (!ISPIPE(filename[0]) || curPos==0)) return (-1); -+#endif - - /* only allow vertbars in 'piped commands', not filenames */ - if (c=='|' && curPos!=0 && !ISPIPE(filename[0])) return(-1); - - if (len >= MAXFNLEN-1) return(-1); /* max length of string */ -+ - xvbcopy(&filename[curPos], &filename[curPos+1], (size_t) (len-curPos+1)); - filename[curPos]=c; curPos++; - - scrollToFileName(); - } - -- else if (c=='\010' || c=='\177') { /* BS or DEL */ -+ else if (c=='\010') { /* BS */ - if (curPos==0) return(-1); /* at beginning of str */ - xvbcopy(&filename[curPos], &filename[curPos-1], (size_t) (len-curPos+1)); - curPos--; -@@ -871,7 +952,7 @@ - curPos = len; - } - -- else if (c=='\004') { /* ^D: delete character at curPos */ -+ else if (c=='\004' || c=='\177') { /* ^D or DEL: delete character at curPos */ - if (curPos==len) return(-1); - xvbcopy(&filename[curPos+1], &filename[curPos], (size_t) (len-curPos)); - } -@@ -918,19 +999,19 @@ - { - /* called to 'auto complete' a filename being entered. If the name that - has been entered so far is anything but a simple filename (ie, has -- spaces, pipe char, '/', etc) fails. If it is a simple filename, -+ spaces, pipe char, '/', etc) fails. If it is a simple filename, - looks through the name list to find something that matches what's already - been typed. If nothing matches, it fails. If more than one thing - matches, it sets the name to the longest string that the multiple -- matches have in common, and succeeds (and beeps). -+ matches have in common, and succeeds (and beeps). - If only one matches, sets the string to the match and succeeds. -- -+ - returns zero on failure, non-zero on success */ -- -+ - int i, firstmatch, slen, nummatch, cnt; - - /* is filename a simple filename? */ -- if (strlen(filename)==0 || -+ if (strlen(filename)==0 || - ISPIPE(filename[0]) || - index(filename, '/') || - filename[0]=='~' ) return 0; -@@ -946,7 +1027,7 @@ - firstmatch = i; - - /* count # of matches */ -- for (i=firstmatch, nummatch=0; -+ for (i=firstmatch, nummatch=0; - ienPos) enPos = curPos; -- -+ - if (stPos>len) stPos = (len>0) ? len-1 : 0; - if (enPos>len) enPos = (len>0) ? len-1 : 0; -- -+ - /* while substring is shorter than window, inc enPos */ -- -+ - while (XTextWidth(mfinfo, &filename[stPos], enPos-stPos) < DNAMWIDE - && enPos=0) MBSelect(&colMB, bnum); - } -- -+ - - else if (group == F_FORMAT) { - MBSelect(&fmtMB, bnum); -- if (MBWhich(&fmtMB) == F_XBM) { /* turn off all but B/W */ -+ if (MBWhich(&fmtMB) == F_XBM || -+ MBWhich(&fmtMB) == F_WBMP) { /* turn off all but B/W */ - colMB.dim[F_FULLCOLOR] = 1; - colMB.dim[F_GREYSCALE] = 1; - colMB.dim[F_BWDITHER] = 0; -@@ -1322,10 +1501,10 @@ - colMB.dim[F_GREYSCALE] = 0; - colMB.dim[F_BWDITHER] = 0; - colMB.dim[F_REDUCED] = (picType==PIC8) ? 0 : 1; -- if (picType!=PIC8 && MBWhich(&colMB)==F_REDUCED) -+ if (picType!=PIC8 && MBWhich(&colMB)==F_REDUCED) - MBSelect(&colMB, F_FULLCOLOR); - } -- -+ - if (MBWhich(&fmtMB) == F_FILELIST) { - MBSetActive(&colMB, 0); - CBSetActive(&savenormCB, 0); -@@ -1337,12 +1516,12 @@ - } - } - -- -+ - - /***************************************/ - static void changeSuffix() - { -- /* see if there's a common suffix at the end of the filename. -+ /* see if there's a common suffix at the end of the filename. - if there is, remember what case it was (all caps or all lower), lop - it off, and replace it with a new appropriate suffix, in the - same case */ -@@ -1356,7 +1535,7 @@ - suffix++; /* point to first letter of the suffix */ - - /* check for all-caposity */ -- for (sp = suffix, allcaps=1; *sp; sp++) -+ for (sp = suffix, allcaps=1; *sp; sp++) - if (islower(*sp)) allcaps = 0; - - /* copy the suffix into an all-lower-case buffer */ -@@ -1380,14 +1559,33 @@ - (strcmp(lowsuf,"eps" )==0) || - (strcmp(lowsuf,"rgb" )==0) || - (strcmp(lowsuf,"tga" )==0) || -- (strcmp(lowsuf,"xpm" )==0) || - (strcmp(lowsuf,"fits")==0) || - (strcmp(lowsuf,"fts" )==0) || -+#ifdef HAVE_JPEG - (strcmp(lowsuf,"jpg" )==0) || - (strcmp(lowsuf,"jpeg")==0) || - (strcmp(lowsuf,"jfif")==0) || -+#endif -+#ifdef HAVE_JP2K -+ (strcmp(lowsuf,"jpc" )==0) || -+ (strcmp(lowsuf,"jp2" )==0) || -+#endif -+#ifdef HAVE_TIFF - (strcmp(lowsuf,"tif" )==0) || -- (strcmp(lowsuf,"tiff")==0)) { -+ (strcmp(lowsuf,"tiff")==0) || -+#endif -+#ifdef HAVE_PNG -+ (strcmp(lowsuf,"png" )==0) || -+#endif -+ (strcmp(lowsuf,"wbmp")==0) || -+ (strcmp(lowsuf,"xpm" )==0) || -+ (strcmp(lowsuf,"tiff")==0) || -+ (strcmp(lowsuf,"mag" )==0) || -+ (strcmp(lowsuf,"pic" )==0) || -+ (strcmp(lowsuf,"mki" )==0) || -+ (strcmp(lowsuf,"pi" )==0) || -+ (strcmp(lowsuf,"p2" )==0) || -+ (strcmp(lowsuf,"pcd" )==0)) { - - /* found one. set lowsuf = to the new suffix, and tack on to filename */ - -@@ -1401,7 +1599,7 @@ - case F_GIF: strcpy(lowsuf,"gif"); break; - case F_PM: strcpy(lowsuf,"pm"); break; - case F_PBMRAW: -- case F_PBMASCII: if (col == F_FULLCOLOR || col == F_REDUCED) -+ case F_PBMASCII: if (col == F_FULLCOLOR || col == F_REDUCED) - strcpy(lowsuf,"ppm"); - else if (col == F_GREYSCALE) strcpy(lowsuf,"pgm"); - else if (col == F_BWDITHER) strcpy(lowsuf,"pbm"); -@@ -1410,6 +1608,7 @@ - case F_XBM: strcpy(lowsuf,"xbm"); break; - case F_SUNRAS: strcpy(lowsuf,"ras"); break; - case F_BMP: strcpy(lowsuf,"bmp"); break; -+ case F_WBMP: strcpy(lowsuf,"wbmp"); break; - case F_PS: strcpy(lowsuf,"ps"); break; - case F_IRIS: strcpy(lowsuf,"rgb"); break; - case F_TARGA: strcpy(lowsuf,"tga"); break; -@@ -1420,16 +1619,46 @@ - case F_JPEG: strcpy(lowsuf,"jpg"); break; - #endif - -+#ifdef HAVE_JP2K -+ case F_JPC: strcpy(lowsuf,"jpc"); break; -+ case F_JP2: strcpy(lowsuf,"jp2"); break; -+#endif -+ - #ifdef HAVE_TIFF - case F_TIFF: strcpy(lowsuf,"tif"); break; - #endif -+ -+#ifdef HAVE_PNG -+ case F_PNG: strcpy(lowsuf,"png"); break; -+#endif -+ -+#ifdef HAVE_MAG -+ case F_MAG: strcpy(lowsuf,"mag"); break; -+#endif -+ -+#ifdef HAVE_PIC -+ case F_PIC: strcpy(lowsuf,"pic"); break; -+#endif -+ -+#ifdef HAVE_MAKI -+ case F_MAKI: strcpy(lowsuf,"mki"); break; -+#endif -+ -+#ifdef HAVE_PI -+ case F_PI: strcpy(lowsuf,"pi"); break; -+#endif -+ -+#ifdef HAVE_PIC2 -+ case F_PIC2: strcpy(lowsuf,"p2"); break; -+#endif - } - -+ - if (allcaps) { /* upper-caseify lowsuf */ -- for (sp=lowsuf; *sp; sp++) -+ for (sp=lowsuf; *sp; sp++) - *sp = (islower(*sp)) ? toupper(*sp) : *sp; - } -- -+ - /* one other case: if the original suffix started with a single - capital letter, make the new suffix start with a single cap */ - if (isupper(suffix[0])) lowsuf[0] = toupper(lowsuf[0]); -@@ -1439,7 +1668,7 @@ - } - - } -- -+ - - /***************************************************/ - int DirCheckCD() -@@ -1462,7 +1691,7 @@ - static int FNameCdable() - { - /* returns '1' if filename is a directory, and goes there */ -- -+ - char newpath[1024]; - struct stat st; - int retval = 0; -@@ -1490,6 +1719,11 @@ - } - #endif - -+#ifdef AUTO_EXPAND -+ Mkvdir(newpath); -+ Dirtovd(newpath); -+#endif -+ - if (stat(newpath, &st)==0) { - int isdir; - -@@ -1518,7 +1752,7 @@ - retval = 1; - } - } -- -+ - return retval; - } - -@@ -1549,8 +1783,8 @@ - *up='\0'; - - if (*uname=='\0') { /* no name. substitute ~ with $HOME */ -- char *homedir; -- homedir = (char *) getenv("HOME"); -+ const char *homedir; -+ homedir = (const char *) getenv("HOME"); - if (homedir == NULL) homedir = "."; - strcpy(tmp,homedir); - strcat(tmp,sp); -@@ -1574,12 +1808,12 @@ - - /***************************************/ - FILE *OpenOutFile(filename) -- char *filename; -+ const char *filename; - { - /* opens file for output. does various error handling bits. Returns - an open file pointer if success, NULL if failure */ - -- FILE *fp; -+ FILE *fp = NULL; - struct stat st; - - if (!filename || filename[0] == '\0') return NULL; -@@ -1587,7 +1821,11 @@ - dopipe = 0; - - /* make sure we're in the correct directory */ -+#ifdef AUTO_EXPAND -+ if (strlen(path)) Chvdir(path); -+#else - if (strlen(path)) chdir(path); -+#endif - - if (ISPIPE(filename[0])) { /* do piping */ - /* make up some bogus temp file to put this in */ -@@ -1596,23 +1834,34 @@ - #else - strcpy(outFName, "[]xvXXXXXX.lis"); - #endif -+#ifdef USE_MKSTEMP -+ fp = fdopen(mkstemp(outFName), "w"); -+#else - mktemp(outFName); -+#endif - dopipe = 1; - } - - -- /* see if file exists (ie, we're overwriting) */ -- if (stat(outFName, &st)==0) { /* stat succeeded, file must exist */ -- static char *foo[] = { "\nOk", "\033Cancel" }; -- char str[512]; -+#ifdef USE_MKSTEMP /* (prior) nonexistence of file is already guaranteed by */ -+ if (!dopipe) /* mkstemp(), but now mkstemp() itself has created it */ -+#endif -+ /* see if file exists (i.e., we're overwriting) */ -+ if (stat(outFName, &st)==0) { /* stat succeeded, file must exist */ -+ static const char *labels[] = { "\nOk", "\033Cancel" }; -+ char str[512]; - -- sprintf(str,"Overwrite existing file '%s'?", outFName); -- if (PopUp(str, foo, 2)) return NULL; -- } -- -+ sprintf(str,"Overwrite existing file '%s'?", outFName); -+ if (PopUp(str, labels, 2)) return NULL; -+ } -+ -+ -+ /* Open file (if not already open via mkstemp()) */ -+#ifdef USE_MKSTEMP -+ if (!dopipe) -+#endif -+ fp = fopen(outFName, "w"); - -- /* Open file */ -- fp = fopen(outFName, "w"); - if (!fp) { - char str[512]; - sprintf(str,"Can't write file '%s'\n\n %s.",outFName, ERRSTR(errno)); -@@ -1622,12 +1871,12 @@ - - return fp; - } -- -+ - - /***************************************/ - int CloseOutFile(fp, filename, failed) - FILE *fp; -- char *filename; -+ const char *filename; - int failed; - { - char buf[64]; -@@ -1642,9 +1891,8 @@ - return 1; - } - -- -+ - if (fclose(fp) == EOF) { -- static char *foo[] = { "\nWeird!" }; - char str[512]; - sprintf(str,"Can't close file '%s'\n\n %s.",outFName, ERRSTR(errno)); - ErrPopUp(str, "\nWeird!"); -@@ -1666,7 +1914,7 @@ - } - - SetISTR(ISTR_INFO,"Successfully wrote '%s'%s", outFName, buf); -- -+ - if (dopipe) { - char cmd[512], str[1024]; - int i; -@@ -1709,7 +1957,7 @@ - return 0; - } - -- -+ - - - static byte rBW[2], gBW[2], bBW[2]; -@@ -1732,7 +1980,7 @@ - bwpic = (byte *) NULL; - *nc = numcols; *rpp = rMap; *gpp = gMap; *bpp = bMap; - -- /* quick check: if we're saving a 24-bit image, then none of this -+ /* quick check: if we're saving a 24-bit image, then none of this - complicated 'reduced'/dithered/smoothed business comes into play. - 'reduced' is disabled, for semi-obvious reasons, in 24-bit mode, - as is 'dithered'. If 'smoothed', and we're saving at current -@@ -1744,32 +1992,32 @@ - if we're saving B/W DITHERED, and deal accordingly */ - - -- if (ptype == PIC24) { -+ if (ptype == PIC24) { - if (color != F_BWDITHER) return NULL; - else { /* generate a bw-dithered version */ - byte *p24, *thepic; -- -+ - thepic = pic; - p24 = GammifyPic24(thepic, pw, ph); - if (p24) thepic = p24; -- -+ - /* generate a FSDithered 1-byte per pixel image */ - bwpic = FSDither(thepic, PIC24, pw, ph, NULL,NULL,NULL, 0, 1); - if (!bwpic) FatalError("unable to malloc dithered picture (DoSave)"); -- -+ - if (p24) free(p24); /* won't need it any more */ -- -+ - /* build a BW colormap */ - rBW[0] = gBW[0] = bBW[0] = 0; - rBW[1] = gBW[1] = bBW[1] = 255; -- -+ - *rpp = rBW; *gpp = gBW; *bpp = bBW; - *nc = 2; -- -+ - return bwpic; - } - } -- -+ - - - /* ptype == PIC8 ... */ -@@ -1777,7 +2025,7 @@ - *nc = numcols; *rpp = rMap; *gpp = gMap; *bpp = bMap; - if (color==F_REDUCED) { *rpp = rdisp; *gpp = gdisp; *bpp = bdisp; } - -- /* if DITHER or SMOOTH, and color==FULLCOLOR or GREY, -+ /* if DITHER or SMOOTH, and color==FULLCOLOR or GREY, - make color=REDUCED, so it will be written with the correct colortable */ - - if ((epicMode == EM_DITH || epicMode == EM_SMOOTH) && color != F_REDUCED) { -@@ -1789,7 +2037,7 @@ - *rpp = gray; *gpp = gray; *bpp = gray; - } - } -- -+ - - - -@@ -1823,8 +2071,8 @@ - * and whether or not it should be freed when we're done with it. The 'pic' - * returned is the desired portion of 'cpic' or 'epic' if there is a - * selection, and the saveselCB is enabled, or alternately, it's the -- * whole cpic or epic. -- * -+ * whole cpic or epic. -+ * - * if selection does not intersect cpic/epic, returns cpic/epic - * NEVER RETURNS NULL - */ -@@ -1837,7 +2085,7 @@ - if (savenormCB.val) { thepic = cpic; pw = cWIDE; ph = cHIGH; } - else { thepic = epic; pw = eWIDE; ph = eHIGH; } - -- *pwide = pw; *phigh = ph; -+ *pwide = pw; *phigh = ph; - - - if (saveselCB.active && saveselCB.val && HaveSelection()) { -@@ -1862,7 +2110,7 @@ - CoordP2E(x2,y2, &x2, &y2); - slx = x1; sly = y1; slw = x2-x1; slh = y2-y1; - CropRect2Rect(&slx, &sly, &slw, &slh, 0,0,pw,ph); -- -+ - if (slw<1 || slh<1) { slx = sly = 0; slw=pw; slh=ph; } - - if (slx!=0 || sly!=0 || slw!=pw || slh!=ph) { -@@ -1871,7 +2119,7 @@ - } - } - -- *pwide = slw; *phigh = slh; -+ *pwide = slw; *phigh = slh; - } - - return thepic; -@@ -1884,11 +2132,11 @@ - byte **rmapP, **gmapP, **bmapP; - { - /* handles the whole ugly mess of the various save options. -- * returns an image, of type 'ptypeP', size 'wP,hP'. -+ * returns an image, of type 'ptypeP', size 'wP,hP'. - * if (*ptypeP == PIC8), also returns numcols 'ncP', and the r,g,b map - * to use rmapP, gmapP, bmapP. - * -- * if freeP is set, image can safely be freed after it is saved -+ * if freeP is set, image can safely be freed after it is saved - */ - - byte *pic1, *pic2; -@@ -1896,9 +2144,9 @@ - - pic1 = handleNormSel(&ptype, &w, &h, &pfree); - -- pic2 = handleBWandReduced(pic1, ptype, w,h, MBWhich(&colMB), -+ pic2 = handleBWandReduced(pic1, ptype, w,h, MBWhich(&colMB), - ncP, rmapP, gmapP, bmapP); -- if (pic2) { -+ if (pic2) { - if (pfree) free(pic1); - pic1 = pic2; - pfree = 1; -@@ -1906,7 +2154,7 @@ - } - - -- if (ptype == PIC24) { -+ if (ptype == PIC24) { - pic2 = GammifyPic24(pic1, w, h); - if (pic2) { - if (pfree) free(pic1); -@@ -1920,7 +2168,7 @@ - return pic1; - } - -- -+ - /***************************************/ - void GetSaveSize(wP, hP) - int *wP, *hP; -@@ -1947,7 +2195,7 @@ - CoordP2E(x2,y2, &x2, &y2); - slx = x1; sly = y1; slw = x2-x1; slh = y2-y1; - CropRect2Rect(&slx, &sly, &slw, &slh, 0,0,eWIDE,eHIGH); -- -+ - if (slw<1 || slh<1) { slx = sly = 0; slw=eWIDE; slh=eHIGH; } - } - } -@@ -1982,8 +2230,8 @@ - - if (stat(namelist[curname], &origStat)==0) { - haveStat = 1; -- if (DEBUG) fprintf(stderr," origStat.size=%ld, origStat.mtime=%d\n", -- origStat.st_size, origStat.st_mtime); -+ if (DEBUG) fprintf(stderr," origStat.size=%ld, origStat.mtime=%ld\n", -+ (long)origStat.st_size, (long)origStat.st_mtime); - } - } - } -@@ -1993,7 +2241,7 @@ - int CheckPoll(del) - int del; - { -- /* returns '1' if the file has been modified, and either -+ /* returns '1' if the file has been modified, and either - A) the file has stabilized (st = lastStat), or - B) 'del' seconds have gone by since the file last changed size - */ -@@ -2007,14 +2255,14 @@ - (strcmp(namelist[curname], STDINSTR)!=0)) { - - if (stat(namelist[curname], &st)==0) { -- if (DEBUG) fprintf(stderr," st.size=%ld, st.mtime=%d\n", -- st.st_size, st.st_mtime); -+ if (DEBUG) fprintf(stderr," st.size=%ld, st.mtime=%ld\n", -+ (long)st.st_size, (long)st.st_mtime); - - if ((st.st_size == origStat.st_size) && - (st.st_mtime == origStat.st_mtime)) return 0; /* no change */ - - /* if it's changed since last looked ... */ -- if (!haveLastStat || -+ if (!haveLastStat || - st.st_size != lastStat.st_size || - st.st_mtime != lastStat.st_mtime) { - xvbcopy((char *) &st, (char *) &lastStat, sizeof(struct stat)); -@@ -2031,7 +2279,7 @@ - } - } - } -- -+ - return 0; - } - -@@ -2042,14 +2290,13 @@ - { - /* called when file 'name' has been deleted. If any of the browsers - were showing the directory that the file was in, does a rescan() */ -- -- int i; -+ - char buf[MAXPATHLEN + 2], *tmp; - - strcpy(buf, name); -- tmp = BaseName(buf); -+ tmp = (char *) BaseName(buf); /* intentionally losing constness */ - *tmp = '\0'; /* truncate after last '/' */ -- -+ - if (strcmp(path, buf)==0) LoadCurrentDirectory(); - } - -@@ -2062,3 +2309,164 @@ - } - - -+#ifdef HAVE_PIC2 -+/**** Stuff for PIC2Dialog box ****/ -+FILE *pic2_OpenOutFile(filename, append) -+char *filename; -+int *append; -+{ -+ /* opens file for output. does various error handling bits. Returns -+ an open file pointer if success, NULL if failure */ -+ -+ FILE *fp = NULL; -+ struct stat st; -+ -+ if (!filename || filename[0] == '\0') -+ return (NULL); -+ strcpy(outFName, filename); -+ dopipe = 0; -+ -+ /* make sure we're in the correct directory */ -+#ifdef AUTO_EXPAND -+ if (strlen(path)) Chvdir(path); -+#else -+ if (strlen(path)) chdir(path); -+#endif -+ -+ if (ISPIPE(filename[0])) { /* do piping */ -+ /* make up some bogus temp file to put this in */ -+#ifndef VMS -+ sprintf(outFName, "%s/xvXXXXXX", tmpdir); -+#else -+ strcpy(outFName, "[]xvXXXXXX.lis"); -+#endif -+#ifdef USE_MKSTEMP -+ fp = fdopen(mkstemp(outFName), "w"); -+#else -+ mktemp(outFName); -+#endif -+ dopipe = 1; -+ } -+ -+ -+ /* see if file exists (i.e., we're overwriting) */ -+ *append = 0; -+#ifdef USE_MKSTEMP -+ if (!dopipe) -+#endif -+ if (stat(outFName, &st)==0) { /* stat succeeded, file must exist */ -+ if (ReadFileType(outFName) != RFT_PIC2) { -+ static const char *labels[] = { "\nOk", "\033Cancel" }; -+ char str[512]; -+ -+ sprintf(str,"Overwrite existing file '%s'?", outFName); -+ if (PopUp(str, labels, 2)) -+ return (NULL); -+ } else { -+ static const char *labels[] = { "\nOk", "\033Cancel" }; -+ char str[512]; -+ -+ sprintf(str,"Append to existing file '%s'?", outFName); -+ if (PopUp(str, labels, 2)) { -+ sprintf(str,"Overwrite existing file '%s'?", outFName); -+ if (PopUp(str, labels, 2)) -+ return (NULL); -+ } else -+ *append = 1; -+ } -+ } -+ -+ /* Open file */ -+#ifdef USE_MKSTEMP -+ if (!dopipe) -+#endif -+ fp = *append ? fopen(outFName, "r+") : fopen(outFName, "w"); -+ if (!fp) { -+ char str[512]; -+ sprintf(str,"Can't write file '%s'\n\n %s.",outFName, ERRSTR(errno)); -+ ErrPopUp(str, "\nBummer"); -+ return (NULL); -+ } -+ -+ return (fp); -+} -+ -+ -+/***************************************/ -+void pic2_KillNullFile(fp) -+FILE *fp; -+{ -+ fseek(fp, (size_t) 0, SEEK_END); -+ if (ftell(fp) > 0) { -+ fclose(fp); -+ return; -+ } else { -+ fclose(fp); -+ unlink(outFName); -+ return; -+ } -+} -+#endif /* HAVE_PIC2 */ -+ -+ -+#ifdef HAVE_MGCSFX -+/**** Stuff for MGCSFX Dialog box ****/ -+/***************************************/ -+int OpenOutFileDesc(filename) -+ char *filename; -+{ -+ /* opens file for output. does various error handling bits. Returns -+ an open file pointer if success, NULL if failure */ -+ -+ int fd; -+ struct stat st; -+ -+ if (!filename || filename[0] == '\0') return -1; -+ strcpy(outFName, filename); -+ dopipe = 0; -+ -+ /* make sure we're in the correct directory */ -+#ifdef AUTO_EXPAND -+ if (strlen(path)) Chvdir(path); -+#else -+ if (strlen(path)) chdir(path); -+#endif -+ -+ if (ISPIPE(filename[0])) { /* do piping */ -+ /* make up some bogus temp file to put this in */ -+#ifndef VMS -+ sprintf(outFName, "%s/xvXXXXXX", tmpdir); -+#else -+ strcpy(outFName, "[]xvXXXXXX.lis"); -+#endif -+#ifdef USE_MKSTEMP -+ close(mkstemp(outFName)); -+#else -+ mktemp(outFName); -+#endif -+ dopipe = 1; -+ } -+ -+ -+ /* if didn't just create it, see if file exists (i.e., we're overwriting) */ -+ if (!dopipe && stat(outFName, &st)==0) { /* stat succeeded, file exists */ -+ static const char *labels[] = { "\nOk", "\033Cancel" }; -+ char str[512]; -+ -+ sprintf(str,"Overwrite existing file '%s'?", outFName); -+ if (PopUp(str, labels, 2)) return -1; -+ } -+ -+ -+ /* Open file */ -+ fd = open(outFName, O_WRONLY | O_CREAT | O_TRUNC, (0644)); -+ if (fd < 0) { -+ char str[512]; -+ sprintf(str,"Can't write file '%s'\n\n %s.", outFName, ERRSTR(errno)); -+ ErrPopUp(str, "\nBummer"); -+ return -1; -+ } -+ -+ return fd; -+} -+#endif /* HAVE_MGCSFX */ -diff -ru xv-3.10a/xvevent.c xv-3.10a-enhancements/xvevent.c ---- xv-3.10a/xvevent.c 1995-01-23 15:20:24.000000000 -0800 -+++ xv-3.10a-enhancements/xvevent.c 2007-05-12 15:27:11.000000000 -0700 -@@ -39,8 +39,15 @@ - static Cursor dropper = 0, pen = 0, blur = 0; - - -+static void SelectDispMB PARM((int)); -+static void Select24to8MB PARM((int)); -+static void SelectRootMB PARM((int)); -+static void SelectWindowMB PARM((int)); -+static void SelectSizeMB PARM((int)); -+ -+static void DoPrint PARM((void)); - static void debugEvent PARM((XEvent *)); --static char *win2name PARM((Window)); -+static const char *win2name PARM((Window)); - static void handleButtonEvent PARM((XEvent *, int *, int *)); - static void handleKeyEvent PARM((XEvent *, int *, int *)); - static void zoomCurs PARM((u_int)); -@@ -64,6 +71,8 @@ - - static void annotatePic PARM((void)); - -+static int debkludge_offx; -+static int debkludge_offy; - - /****************/ - int EventLoop() -@@ -71,13 +80,25 @@ - { - XEvent event; - int retval,done,waiting; -- time_t orgtime, curtime; -+#ifdef USE_TICKS -+ clock_t waitsec_ticks=0L, orgtime_ticks=0L, curtime_ticks; -+ clock_t elapsed_ticks=0L, remaining_interval; -+#else -+ time_t orgtime=0L, curtime; -+#endif - - - #ifndef NOSIGNAL - signal(SIGQUIT, onInterrupt); - #endif - -+ if (startGrab == 1) { -+ startGrab = 2; -+ FakeButtonPress(&but[BGRAB]); -+ FakeKeyPress(ctrlW, XK_Return); -+ return(1); -+ } -+ - /* note: there's no special event handling if we're using the root window. - if we're using the root window, we will recieve NO events for mainW */ - -@@ -100,18 +121,24 @@ - - while (!done) { - -- if (waitsec > -1 && canstartwait && !waiting && XPending(theDisp)==0) { -- /* we wanna wait, we can wait, we haven't started waiting yet, and -- all pending events (ie, drawing the image the first time) -+ if (waitsec >= 0.0 && canstartwait && !waiting && XPending(theDisp)==0) { -+ /* we wanna wait, we can wait, we haven't started waiting yet, and -+ all pending events (ie, drawing the image the first time) - have been dealt with: START WAITING */ -- time((time_t *) &orgtime); -+#ifdef USE_TICKS -+ waitsec_ticks = (clock_t)(waitsec * CLK_TCK); -+ orgtime_ticks = times(NULL); /* unclear if NULL valid, but OK on Linux */ -+#else -+ orgtime = time(NULL); -+#endif - waiting = 1; - } - - -- /* if there's an XEvent pending *or* we're not doing anything -+ /* if there's an XEvent pending *or* we're not doing anything - in real-time (polling, flashing the selection, etc.) get next event */ -- if ((waitsec==-1 && !polling && !HaveSelection()) || XPending(theDisp)>0) { -+ if ((waitsec<0.0 && !polling && !HaveSelection()) || XPending(theDisp)>0) -+ { - XNextEvent(theDisp, &event); - retval = HandleEvent(&event,&done); - } -@@ -121,7 +148,7 @@ - DrawSelection(0); - DrawSelection(1); - XFlush(theDisp); -- Timer(200); -+ Timer(200); /* milliseconds */ - } - - if (polling) { -@@ -129,13 +156,32 @@ - else if (!XPending(theDisp)) sleep(1); - } - -- if (waitsec>-1 && waiting) { -- time((time_t *) &curtime); -- if (curtime - orgtime < waitsec) sleep(1); -- else { -- if (waitloop) return NEXTLOOP; -- else return NEXTQUIT; -- } -+ if (waitsec>=0.0 && waiting) { -+#ifdef USE_TICKS -+ curtime_ticks = times(NULL); /* value in ticks */ -+ if (curtime_ticks < orgtime_ticks) { -+ /* clock ticks rolled over: need to correct for that (i.e., -+ * curtime_ticks is presumably quite small, while orgtime_ticks -+ * should be close to LONG_MAX, so do math accordingly--any way -+ * to check whether clock_t is *not* a signed long?) */ -+ elapsed_ticks = curtime_ticks + (LONG_MAX - orgtime_ticks); -+ } else -+ elapsed_ticks = curtime_ticks - orgtime_ticks; -+ remaining_interval = waitsec_ticks - elapsed_ticks; -+ if (remaining_interval >= (clock_t)(1 * CLK_TCK)) -+ sleep(1); -+ else { -+ /* less than one second remaining: do delay in msec, then return */ -+ Timer((remaining_interval * 1000L) / CLK_TCK); /* can't overflow */ -+ return waitloop? NEXTLOOP : NEXTQUIT; -+ } -+#else -+ curtime = time(NULL); /* value in seconds */ -+ if (curtime - orgtime < (time_t)waitsec) -+ sleep(1); -+ else -+ return waitloop? NEXTLOOP : NEXTQUIT; -+#endif - } - } - } /* while (!done) */ -@@ -154,7 +200,27 @@ - int *donep; - { - static int wasInfoUp=0, wasCtrlUp=0, wasDirUp=0, wasGamUp=0, wasPsUp=0; -- static int wasJpegUp=0, wasTiffUp=0; -+#ifdef HAVE_JPEG -+ static int wasJpegUp=0; -+#endif -+#ifdef HAVE_JP2K -+ static int wasJp2kUp=0; -+#endif -+#ifdef HAVE_TIFF -+ static int wasTiffUp=0; -+#endif -+#ifdef HAVE_PNG -+ static int wasPngUp=0; -+#endif -+#ifdef HAVE_PCD -+ static int wasPcdUp=0; -+#endif -+#ifdef HAVE_PIC2 -+ static int wasPic2Up=0; -+#endif -+#ifdef HAVE_MGCSFX -+ static int wasMgcSfxUp=0; -+#endif - - static int mainWKludge=0; /* force first mainW expose after a mainW config - to redraw all of mainW */ -@@ -187,7 +253,7 @@ - - #ifdef VMS - static int borders_sized = 0; -- -+ - if (!borders_sized && !useroot && exp_event->window == mainW) { - /* - * Initial expose of main window, find the size of the ancestor -@@ -198,13 +264,13 @@ - int status, count, mwid, mhgt, x, y, w, h, b, d, mbrd; - Window root, parent, *children, crw = exp_event->window; - borders_sized = 1; -- status = XGetGeometry(theDisp, crw, -+ status = XGetGeometry(theDisp, crw, - &root, &x, &y, &mwid, &mhgt, &mbrd, &d); -- -+ - for ( parent = crw, w=mwid, h=mhgt; - status && (parent != root) && (parent != vrootW); ) { - crw = parent; -- status = XQueryTree ( theDisp, crw, &root, &parent, -+ status = XQueryTree ( theDisp, crw, &root, &parent, - &children, &count ); - if ( children != NULL ) XFree ( children ); - } -@@ -221,7 +287,7 @@ - win = exp_event->window; - x = exp_event->x; y = exp_event->y; - w = exp_event->width; h = exp_event->height; -- -+ - if (PUCheckEvent (event)) break; /* event has been processed */ - if (PSCheckEvent (event)) break; /* event has been processed */ - -@@ -229,16 +295,42 @@ - if (JPEGCheckEvent(event)) break; /* event has been processed */ - #endif - -+#ifdef HAVE_JP2K -+ if (JP2KCheckEvent(event)) break; /* event has been processed */ -+#endif -+ - #ifdef HAVE_TIFF - if (TIFFCheckEvent(event)) break; /* event has been processed */ - #endif - -+#ifdef HAVE_PNG -+ if (PNGCheckEvent (event)) break; /* event has been processed */ -+#endif -+ -+ if (PCDCheckEvent(event)) break; /* event has been processed */ -+ -+#ifdef HAVE_PIC2 -+ if (PIC2CheckEvent(event)) break; /* event has been processed */ -+#endif -+ -+#ifdef HAVE_PCD -+ if (PCDCheckEvent (event)) break; /* event has been processed */ -+#endif -+ -+#ifdef HAVE_MGCSFX -+ if (MGCSFXCheckEvent(event)) break; /* event has been processed */ -+#endif -+ -+#ifdef TV_MULTILINGUAL -+ if (CharsetCheckEvent(event)) break; /* event has been processed */ -+#endif -+ - if (GamCheckEvent (event)) break; /* event has been processed */ - if (BrowseCheckEvent (event, &retval, &done)) break; /* event eaten */ - if (TextCheckEvent (event, &retval, &done)) break; /* event eaten */ - - /* if the window doesn't do intelligent redraw, drop but last expose */ -- if (exp_event->count>0 && -+ if (exp_event->count>0 && - win != mainW && win != ctrlW && win != dirW && win != infoW) break; - - -@@ -301,7 +393,7 @@ - if (DEBUG) fprintf(stderr,"No configs pending.\n"); - /* if (DEBUG) XClearArea(theDisp, mainW, x,y,w,h, False); */ - DrawWindow(x,y,w,h); -- -+ - if (HaveSelection()) DrawSelection(0); - - canstartwait = 1; /* finished drawing */ -@@ -314,7 +406,7 @@ - else if (win == infoW) RedrawInfo(x,y,w,h); - else if (win == ctrlW) RedrawCtrl(x,y,w,h); - else if (win == dirW) RedrawDirW(x,y,w,h); -- -+ - XSetClipMask(theDisp, theGC, None); - XDestroyRegion(reg); - } -@@ -324,10 +416,10 @@ - else if (win == dList.win) LSRedraw(&dList,0); - else if (win == dList.scrl.win) SCRedraw(&dList.scrl); - else if (win == dnamW) RedrawDNamW(); -- } -+ } - break; - -- -+ - - case ClientMessage: { - Atom proto, delwin; -@@ -344,6 +436,9 @@ - - if (BrowseDelWin(client_event->window)) break; - if (TextDelWin(client_event->window)) break; -+#ifdef TV_MULTILINGUAL -+ if (CharsetDelWin(client_event->window)) break; -+#endif - - if (client_event->window == infoW) InfoBox(0); - else if (client_event->window == gamW) GamBox(0); -@@ -355,10 +450,32 @@ - else if (client_event->window == jpegW) JPEGDialog(0); - #endif - -+#ifdef HAVE_JP2K -+ else if (client_event->window == jp2kW) JP2KDialog(0); -+#endif -+ - #ifdef HAVE_TIFF - else if (client_event->window == tiffW) TIFFDialog(0); - #endif - -+#ifdef HAVE_PNG -+ else if (client_event->window == pngW) PNGDialog(0); -+#endif -+ -+ else if (client_event->window == pcdW) PCDDialog(0); -+ -+#ifdef HAVE_PIC2 -+ else if (client_event->window == pic2W) PIC2Dialog(0); -+#endif -+ -+#ifdef HAVE_PCD -+ else if (client_event->window == pcdW) PCDDialog(0); -+#endif -+ -+#ifdef HAVE_MGCSFX -+ else if (client_event->window == mgcsfxW) MGCSFXDialog(0); -+#endif -+ - else if (client_event->window == mainW) Quit(0); - } - } -@@ -381,31 +498,35 @@ - if (win==ctrlW || win==gamW || win==infoW || win==mainW || win==dirW) { - XSizeHints hints; - -+#define BAD_IDEA -+#ifdef BAD_IDEA - /* -- * if there's a virtual window manager running (e.g. tvtwm / olvwm), -- * we're going to get 'cevt' values in terms of the -+ * if there is a virtual window manager running (e.g., tvtwm / olvwm), -+ * we're going to get 'cevt' values in terms of the - * 'real' root window (the one that is the size of the screen). - * We'll want to translate them into values that are in terms of - * the 'virtual' root window (the 'big' one) - */ - - if (vrootW != rootW) { -- int x1,y1; Window child; -+ int x1,y1; -+ Window child; - -- XTranslateCoordinates(theDisp, rootW, vrootW, cevt->x, cevt->y, -+ XTranslateCoordinates(theDisp, rootW, vrootW, cevt->x, cevt->y, - &x1, &y1, &child); - if (DEBUG) fprintf(stderr," CONFIG trans %d,%d root -> %d,%d vroot\n", - cevt->x, cevt->y, x1, y1); - cevt->x = x1; cevt->y = y1; - } -+#endif - - #ifndef VMS - /* read hints for this window and adjust any position hints, but -- only if this is a 'synthetic' event sent to us by the WM -+ only if this is a 'synthetic' event sent to us by the WM - ('real' events from the server have useless x,y info, since the - mainW has been reparented by the WM) */ - -- if (cevt->send_event && -+ if (cevt->send_event && - XGetNormalHints(theDisp, cevt->window, &hints)) { - - if (DEBUG) fprintf(stderr," CONFIG got hints (0x%x %d,%d)\n", -@@ -439,11 +560,11 @@ - * This sucks! - * - * So, if we have just loaded an image, and we get a Synthetic conf -- * that is not the desired size (eWIDExeHIGH), ignore it, as it's -+ * that is not the desired size (eWIDExeHIGH), ignore it, as it's - * just the conf generated by moving the old window. And stop - * ignoring further config events - * -- * EVIL KLUDGE: do *not* ignore configs that are <100x100. Not -+ * EVIL KLUDGE: do *not* ignore configs that are <100x100. Not - * ignoring them won't be a big performance problem, and it'll get - * around the 'I only got one config in the wrong size' problem when - * initially displaying small images -@@ -453,7 +574,7 @@ - - /* fprintf(stderr,"***mainw, ignore=%d, send_event=%d, evtSize=%d,%d, size=%d,%d\n", ignoreConfigs, cevt->send_event, cevt->width, cevt->height, eWIDE, eHIGH); */ - -- if (ignoreConfigs==1 && cevt->send_event && -+ if (ignoreConfigs==1 && cevt->send_event && - (cevt->width != eWIDE || cevt->height != eHIGH)) { - ignoreConfigs=0; /* ignore this one only */ - break; -@@ -470,7 +591,7 @@ - else { - XEvent xev; - if (DEBUG) fprintf(stderr,"No configs pend."); -- -+ - if (cevt->width == eWIDE && cevt->height == eHIGH) { - if (DEBUG) fprintf(stderr,"No redraw\n"); - } -@@ -478,12 +599,12 @@ - if (DEBUG) fprintf(stderr,"Do full redraw\n"); - - Resize(cevt->width, cevt->height); -- -+ - /* eat any pending expose events and do a full redraw */ - while (XCheckTypedWindowEvent(theDisp, mainW, Expose, &xev)) { - XExposeEvent *exp = (XExposeEvent *) &xev; - -- if (DEBUG) -+ if (DEBUG) - fprintf(stderr," ate expose (%s) (count=%d) %d,%d %dx%d\n", - exp->send_event ? "synth" : "real", exp->count, - exp->x, exp->y, exp->width, exp->height); -@@ -508,9 +629,9 @@ - - } - break; -- - -- -+ -+ - case CirculateNotify: - case DestroyNotify: - case GravityNotify: break; -@@ -534,10 +655,24 @@ - #ifdef HAVE_JPEG - if (wasJpegUp) { JPEGDialog(wasJpegUp); wasJpegUp=0; } - #endif -- -+#ifdef HAVE_JP2K -+ if (wasJp2kUp) { JP2KDialog(wasJpegUp); wasJp2kUp=0; } -+#endif - #ifdef HAVE_TIFF - if (wasTiffUp) { TIFFDialog(wasTiffUp); wasTiffUp=0; } - #endif -+#ifdef HAVE_PNG -+ if (wasPngUp) { PNGDialog(wasPngUp); wasPngUp=0; } -+#endif -+#ifdef HAVE_PCD -+ if (wasPcdUp) { PCDDialog(wasPcdUp); wasPcdUp=0; } -+#endif -+#ifdef HAVE_PIC2 -+ if (wasPic2Up) { PIC2Dialog(wasPic2Up); wasPic2Up=0; } -+#endif -+#ifdef HAVE_MGCSFX -+ if (wasMgcSfxUp) { MGCSFXDialog(wasMgcSfxUp); wasMgcSfxUp=0; } -+#endif - } - } - } -@@ -554,7 +689,7 @@ - - /* don't do it if we've just switched to a root mode */ - if ((unmap_event->window == mainW && dispMode == 0) || -- (unmap_event->window == ctrlW && dispMode != 0)) { -+ (unmap_event->window == ctrlW && dispMode != 0)) { - - if (autoclose) { - if (autoclose>1) autoclose -= 2; /* grab kludge */ -@@ -572,10 +707,24 @@ - #ifdef HAVE_JPEG - if (jpegUp) { wasJpegUp = jpegUp; JPEGDialog(0); } - #endif -- -+#ifdef HAVE_JP2K -+ if (jp2kUp) { wasJp2kUp = jp2kUp; JP2KDialog(0); } -+#endif - #ifdef HAVE_TIFF - if (tiffUp) { wasTiffUp = tiffUp; TIFFDialog(0); } - #endif -+#ifdef HAVE_PNG -+ if (pngUp) { wasPngUp = pngUp; PNGDialog(0); } -+#endif -+#ifdef HAVE_PCD -+ if (pcdUp) { wasPcdUp = pcdUp; PCDDialog(0); } -+#endif -+#ifdef HAVE_PIC2 -+ if (pic2Up) { wasPic2Up = pic2Up; PIC2Dialog(0); } -+#endif -+#ifdef HAVE_MGCSFX -+ if (mgcsfxUp) { wasMgcSfxUp = mgcsfxUp; MGCSFXDialog(0); } -+#endif - } - } - } -@@ -586,8 +735,8 @@ - XReparentEvent *reparent_event = (XReparentEvent *) event; - - if (DEBUG) { -- fprintf(stderr,"Reparent: mainW=%x ->win=%x ->ev=%x ->parent=%x ", -- (u_int) mainW, (u_int) reparent_event->window, -+ fprintf(stderr,"Reparent: mainW=%x ->win=%x ->ev=%x ->parent=%x ", -+ (u_int) mainW, (u_int) reparent_event->window, - (u_int) reparent_event->event, (u_int) reparent_event->parent); - fprintf(stderr,"%d,%d\n", reparent_event->x, reparent_event->y); - } -@@ -598,7 +747,7 @@ - - p_offx = p_offy = 0; /* topleft correction for WMs titlebar */ - -- if (ch_offx == 0 && ch_offy == 0) { -+ if (ch_offx == 0 && ch_offy == 0) { - /* looks like the user is running MWM or OLWM */ - - XWindowAttributes xwa; -@@ -609,8 +758,8 @@ - - XSync(theDisp, False); - XGetWindowAttributes(theDisp, mainW, &xwa); -- -- if (DEBUG) -+ -+ if (DEBUG) - fprintf(stderr,"XGetAttr: mainW %d,%d %dx%d\n", xwa.x, xwa.y, - xwa.width, xwa.height); - -@@ -620,8 +769,8 @@ - - XSync(theDisp, False); - XGetWindowAttributes(theDisp, reparent_event->parent, &xwa); -- -- if (DEBUG) -+ -+ if (DEBUG) - fprintf(stderr,"XGetAttr: parent %d,%d %dx%d\n", xwa.x, xwa.y, - xwa.width, xwa.height); - } -@@ -641,42 +790,75 @@ - p_offy = xwa.y; - } - -- -+ /* Gather info to keep right border inside */ -+ { -+ Window current; -+ Window root_r; -+ Window parent_r; -+ Window *children_r; -+ unsigned int nchildren_r; -+ XWindowAttributes xwa; -+ -+ parent_r=mainW; -+ current=mainW; -+ do { -+ current=parent_r; -+ XQueryTree(theDisp, current, &root_r, &parent_r, -+ &children_r, &nchildren_r); -+ if (children_r!=NULL) { -+ XFree(children_r); -+ } -+ } while (parent_r!=root_r && parent_r!=vrootW); -+ XGetWindowAttributes(theDisp, current, &xwa); -+ debkludge_offx = eWIDE-xwa.width+p_offx; -+ debkludge_offy = eHIGH-xwa.height+p_offy; -+ } -+ -+#if 0 -+ /* FIXME: if we want to do this, we first have to wait for a configure -+ * notify to avoid a race condition because the location might be in- -+ * correct if the window manager does placement after managing the window. -+ */ - /* move window around a bit... */ - { - XWindowAttributes xwa; -+ - GetWindowPos(&xwa); -+ //fprintf(stderr, "RAC: orig window pos %d,%d\n", xwa.x, xwa.y); -+ - xwa.width = eWIDE; xwa.height = eHIGH; -- -+ //fprintf(stderr, "RAC: image size now %d,%d\n", xwa.width, xwa.height); -+ - /* try to keep the damned thing on-screen, if possible */ -- if (xwa.x + xwa.width > dispWIDE) xwa.x = dispWIDE - xwa.width; -- if (xwa.y + xwa.height > dispHIGH) xwa.y = dispHIGH - xwa.height; -+ if (xwa.x + xwa.width > vrWIDE) xwa.x = vrWIDE - xwa.width; -+ if (xwa.y + xwa.height > vrHIGH) xwa.y = vrHIGH - xwa.height; - if (xwa.x < 0) xwa.x = 0; - if (xwa.y < 0) xwa.y = 0; -- -+ -+ //fprintf(stderr, "RAC: moving window to %d,%d\n", xwa.x, xwa.y); - SetWindowPos(&xwa); - } -- -+#endif - } - } - break; -- -+ - - case EnterNotify: - case LeaveNotify: { - XCrossingEvent *cross_event = (XCrossingEvent *) event; - if (cross_event->window == mainW || 0 - /* (cross_event->window == gamW && cmapInGam) */ ) { -- -+ - if (cross_event->type == EnterNotify && cross_event->window == mainW) { - zoomCurs(cross_event->state); - } - - -- if (cross_event->type == EnterNotify && LocalCmap && !ninstall) -+ if (cross_event->type == EnterNotify && LocalCmap && !ninstall) - XInstallColormap(theDisp,LocalCmap); - -- if (cross_event->type == LeaveNotify && LocalCmap && !ninstall) -+ if (cross_event->type == LeaveNotify && LocalCmap && !ninstall) - XUninstallColormap(theDisp,LocalCmap); - } - } -@@ -685,12 +867,12 @@ - - case SelectionClear: break; - -- case SelectionRequest: -+ case SelectionRequest: - { - XSelectionRequestEvent *xsrevt = (XSelectionRequestEvent *) event; - XSelectionEvent xse; - -- if (xsrevt->owner != ctrlW || -+ if (xsrevt->owner != ctrlW || - xsrevt->selection != XA_PRIMARY || - xsrevt->target != XA_STRING) { /* can't do it. */ - xse.property = None; -@@ -702,7 +884,7 @@ - if (xse.property != None) { - xerrcode = 0; - XChangeProperty(theDisp, xsrevt->requestor, xse.property, -- XA_STRING, 8, PropModeReplace, -+ XA_STRING, 8, PropModeReplace, - (byte *) ((xevPriSel) ? xevPriSel : "\0"), - (int) ((xevPriSel) ? strlen(xevPriSel)+1 : 1)); - XSync(theDisp, False); -@@ -721,9 +903,9 @@ - XSync(theDisp, False); - } - break; -- -- -- -+ -+ -+ - default: break; /* ignore unexpected events */ - } /* switch */ - -@@ -734,11 +916,11 @@ - - - /***********************************/ --void SelectDispMB(i) -+static void SelectDispMB(i) - int i; - { - /* called to handle selection of a dispMB item */ -- -+ - if (i<0 || i>=DMB_MAX) return; - - if (dispMB.dim[i]) return; /* disabled */ -@@ -747,36 +929,36 @@ - if (i==DMB_RAW) epicMode = EM_RAW; - else if (i==DMB_DITH) epicMode = EM_DITH; - else epicMode = EM_SMOOTH; -- -- SetEpicMode(); -+ -+ SetEpicMode(); - GenerateEpic(eWIDE, eHIGH); - DrawEpic(); - SetCursors(-1); - } -- -+ - else if (i==DMB_COLRW) { /* toggle rw on/off */ - dispMB.flags[i] = !dispMB.flags[i]; - allocMode = (dispMB.flags[i]) ? AM_READWRITE : AM_READONLY; - ChangeCmapMode(colorMapMode, 1, 0); - } -- -+ - else if (i>=DMB_COLNORM && i<=DMB_COLSTDC && !dispMB.flags[i]) { - switch (i) { -- case DMB_COLNORM: -- ChangeCmapMode(CM_NORMAL, 1, 0); -- defaultCmapMode = CM_NORMAL; -+ case DMB_COLNORM: -+ ChangeCmapMode(CM_NORMAL, 1, 0); -+ defaultCmapMode = CM_NORMAL; - break; -- case DMB_COLPERF: -+ case DMB_COLPERF: - ChangeCmapMode(CM_PERFECT,1, 0); -- defaultCmapMode = CM_PERFECT; -+ defaultCmapMode = CM_PERFECT; - break; -- case DMB_COLOWNC: -+ case DMB_COLOWNC: - ChangeCmapMode(CM_OWNCMAP,1, 0); -- defaultCmapMode = CM_OWNCMAP; -+ defaultCmapMode = CM_OWNCMAP; - break; -- case DMB_COLSTDC: -+ case DMB_COLSTDC: - ChangeCmapMode(CM_STDCMAP,1, 0); -- defaultCmapMode = CM_STDCMAP; -+ defaultCmapMode = CM_STDCMAP; - break; - } - } -@@ -784,27 +966,27 @@ - - - /***********************************/ --void SelectRootMB(i) -+static void SelectRootMB(i) - int i; - { - /* called to handle selection of a rootMB item */ -- -+ - if (i<0 || i>=RMB_MAX) return; - if (rootMB.flags[i]) return; - if (rootMB.dim[i]) return; - - dispMode = i; -- -+ - /* move checkmark */ - for (i=RMB_WINDOW; i=CONV24_MAX) return; -@@ -818,25 +1000,25 @@ - else if (i==CONV24_24BIT && state824==1) { - /* went 24->8->24 */ - char buf[512]; -- -+ - sprintf(buf,"Warning: You appear to have taken a 24-bit "); - strcat(buf, "image, turned it to an 8-bit image, and turned "); - strcat(buf, "it back into a 24-bit image. Understand that "); - strcat(buf, "image data has probably been lost in this "); - strcat(buf, "transformation. You *may* want to reload the "); - strcat(buf, "original image to avoid this problem."); -- -+ - ErrPopUp(buf, "\nI Know!"); -- -+ - state824 = 2; /* shut up until next image is loaded */ - } - } - } -- -+ - else if (i==CONV24_LOCK) { - conv24MB.flags[i] = !conv24MB.flags[i]; - } -- -+ - else if (i>=CONV24_FAST && i<=CONV24_BEST) { - conv24 = i; - for (i=CONV24_FAST; i<=CONV24_BEST; i++) { -@@ -847,7 +1029,7 @@ - - - /***********************************/ --void SelectWindowMB(i) -+static void SelectWindowMB(i) - int i; - { - if (i<0 || i>=WMB_MAX) return; -@@ -859,15 +1041,15 @@ - else chdir(initdir); - OpenBrowse(); - break; -- -+ - case WMB_COLEDIT: GamBox (!gamUp); break; - case WMB_INFO: InfoBox(!infoUp); break; -- -- case WMB_COMMENT: -+ -+ case WMB_COMMENT: - if (!commentUp) OpenCommentText(); - else CloseCommentText(); - break; -- -+ - case WMB_TEXTVIEW: textViewCmd(); break; - case WMB_ABOUTXV: ShowLicense(); break; - case WMB_KEYHELP: ShowKeyHelp(); break; -@@ -878,7 +1060,7 @@ - - - /***********************************/ --void SelectSizeMB(i) -+static void SelectSizeMB(i) - int i; - { - int w,h; -@@ -892,19 +1074,19 @@ - double r,wr,hr; - wr = ((double) cWIDE) / maxWIDE; - hr = ((double) cHIGH) / maxHIGH; -- -+ - r = (wr>hr) ? wr : hr; /* r is the max(wr,hr) */ - w = (int) ((cWIDE / r) + 0.5); - h = (int) ((cHIGH / r) + 0.5); - } - else { w = cWIDE; h = cHIGH; } -- -+ - WResize(w, h); - break; - - case SZMB_MAXPIC: WMaximize(); break; - -- case SZMB_MAXPECT: -+ case SZMB_MAXPECT: - { - int w1,h1; - w1 = eWIDE; h1 = eHIGH; -@@ -925,24 +1107,24 @@ - if (h==eHIGH) h++; - WResize(w,h); - break; -- -- -+ -+ - case SZMB_SETSIZE: setSizeCmd(); break; - case SZMB_ASPECT: FixAspect(1, &w, &h); WResize(w,h); break; - -- case SZMB_4BY3: -+ case SZMB_4BY3: - w = eWIDE; h = (w * 3) / 4; - if (h>maxHIGH) { h = eHIGH; w = (h*4)/3; } - WResize(w,h); - break; - -- case SZMB_INTEXP: -+ case SZMB_INTEXP: - { - /* round (eWIDE/cWIDE),(eHIGH/cHIGH) to nearest - integer expansion/compression values */ -- -+ - double w,h; -- -+ - if (eWIDE >= cWIDE) { - w = ((double) eWIDE) / cWIDE; - w = floor(w + 0.5); -@@ -961,7 +1143,7 @@ - } - w = pick; - } -- -+ - if (eHIGH >= cHIGH) { - h = ((double) eHIGH) / cHIGH; - h = floor(h + 0.5); -@@ -980,25 +1162,26 @@ - } - h = pick; - } -- -+ - WResize((int) (w*cWIDE), (int) (h*cHIGH)); - } - break; -- -+ - default: break; - } - } - - - /***********************************/ --void DoPrint() -+static void DoPrint() - { - /* pops open appropriate dialog boxes, issues print command */ - -- int i; -- char txt[512], str[PRINTCMDLEN + 10]; -- static char *labels[] = { " Color", " Grayscale", " B/W", "\033Cancel" }; -- -+ int i; -+ char txt[512], str[PRINTCMDLEN + 10]; -+ static const char *labels[] = { "\03Color", "\07Grayscale", " B/W", "\033Cancel" }; -+ /* ^B ("\02") already used for moving cursor back */ -+ - strcpy(txt, "Print: Enter a command that will read a PostScript file "); - strcat(txt, "from stdin and print it to the desired printer.\n\n"); - #ifndef VMS -@@ -1011,11 +1194,11 @@ - if (i == 3 || strlen(printCmd)==0) return; /* CANCEL */ - - if (dirUp == BLOAD) DirBox(0); -- -+ - SetDirSaveMode(F_FORMAT, F_PS); - SetDirSaveMode(F_COLORS, i); - -- if (printCmd[0] != '|' && printCmd[0] != '!') -+ if (printCmd[0] != '|' && printCmd[0] != '!') - sprintf(str, "| %s", printCmd); - else strcpy(str, printCmd); - -@@ -1086,11 +1269,11 @@ - } - } - --static char *win2name(win) -+static const char *win2name(win) - Window win; - { - static char foo[16]; -- -+ - if (win == mainW) return "mainW"; - else if (win == rootW) return "rootW"; - else if (win == vrootW) return "vrootW"; -@@ -1106,7 +1289,7 @@ - } - } - -- -+ - /***********************************/ - static void handleButtonEvent(event, donep, retvalp) - XEvent *event; -@@ -1127,38 +1310,60 @@ - case ButtonPress: - /* *always* check for pop-up events, as errors can happen... */ - if (PUCheckEvent (event)) break; -- -+ - if (autoquit && win == mainW) Quit(0); -- -+ - if (viewonly) break; /* ignore all other button presses */ -- -+ - if (win == mainW && !useroot && showzoomcursor) { - DoZoom(x, y, but_event->button); - break; - } -- -+ - if (PSCheckEvent (event)) break; -- -+ - #ifdef HAVE_JPEG - if (JPEGCheckEvent(event)) break; - #endif -- -+ -+#ifdef HAVE_JP2K -+ if (JP2KCheckEvent(event)) break; -+#endif -+ - #ifdef HAVE_TIFF - if (TIFFCheckEvent(event)) break; - #endif -- -+ -+#ifdef HAVE_PNG -+ if (PNGCheckEvent (event)) break; -+#endif -+ -+#ifdef HAVE_PCD -+ if (PCDCheckEvent (event)) break; /* event has been processed */ -+#endif -+ -+#ifdef HAVE_PIC2 -+ if (PIC2CheckEvent(event)) break; -+#endif -+ -+#ifdef HAVE_MGCSFX -+ if (MGCSFXCheckEvent(event)) break; -+#endif -+ -+#ifdef TV_MULTILINGUAL -+ if (CharsetCheckEvent(event)) break; -+#endif -+ - if (GamCheckEvent (event)) break; - if (BrowseCheckEvent (event, &retval, &done)) break; - if (TextCheckEvent (event, &retval, &done)) break; -- -+ - switch (but_event->button) { -- -- case Button1: -+ -+ case Button1: - if (win == mainW) DoSelection(but_event); -- -+ - else if (win == ctrlW) { -- int w,h; -- - if (MBClick(&dispMB, x,y)) SelectDispMB (MBTrack(&dispMB) ); - else if (MBClick(&conv24MB, x,y)) Select24to8MB (MBTrack(&conv24MB)); - else if (MBClick(&rootMB, x,y)) SelectRootMB (MBTrack(&rootMB) ); -@@ -1170,9 +1375,9 @@ - if (i>=0) DoAlg(i); - break; - } -- -+ - i=ClickCtrl(x,y); -- -+ - switch (i) { - case BNEXT: retval= NEXTPIC; done=1; break; - case BPREV: retval= PREVPIC; done=1; break; -@@ -1192,21 +1397,21 @@ - case BROTR: Rotate(0); break; - case BFLIPH: Flip(0); break; - case BFLIPV: Flip(1); break; -- -+ - case BCROP: Crop(); break; - case BUNCROP: UnCrop(); break; - case BACROP: AutoCrop(); break; -- -+ - case BPAD: - { - int mode, wide, high, opaque, omode; char *str; -- -+ - while (PadPopUp(&mode, &str, &wide, &high, &opaque, &omode)==0) { -- if (DoPad(mode, str, wide, high, opaque, omode)) { -+ if (DoPad(mode, str, wide, high, opaque, omode)) { - done = 1; retval = PADDED; break; - } -- } -- } -+ } -+ } - break; - - case BANNOT: annotatePic(); break; -@@ -1214,85 +1419,127 @@ - case BABOUT: SelectWindowMB(WMB_ABOUTXV); break; - case BXV: retval = DFLTPIC; done=1; break; - case BQUIT: retval = QUIT; done=1; break; -- -+ - default: break; - } -- -+ - if (i==BFLIPH || i==BFLIPV) { - DrawEpic(); - SetCursors(-1); - } - } -- -+ - else if (win == nList.win) { - i=LSClick(&nList,but_event); - if (curname<0) ActivePrevNext(); - if (i>=0) { done = 1; retval = i; } - } -- -+ - else if (win == nList.scrl.win) SCTrack(&nList.scrl, x, y); -- -+ - else if (win == dirW) { - i=ClickDirW(x,y); -- -+ - switch (i) { - case S_BOK: if (dirUp == BLOAD) { -- if (!DirCheckCD()) { -- retval = LOADPIC; -- done=1; -+ if (!DirCheckCD()) { -+ retval = LOADPIC; -+ done=1; -+ } -+ } -+ else if (dirUp == BSAVE) { -+ DoSave(); - } -- } -- else if (dirUp == BSAVE) { -- DoSave(); -- } - break; -- -+ - case S_BCANC: DirBox(0); break; -- -+ - case S_BRESCAN: - WaitCursor(); LoadCurrentDirectory(); SetCursors(-1); - break; - } - } -- -+ - else if (win == dList.win) { - i=LSClick(&dList,but_event); - SelectDir(i); - } -- -+ - else if (win == dList.scrl.win) SCTrack(&dList.scrl, x,y); - else if (win == infoW) InfoBox(0); /* close info */ -- -+ - break; -- -- -- case Button2: -+ -+ -+ case Button2: - if (win == mainW && !useroot) { - if (!shift && !DoSelection(but_event)) TrackPicValues(x,y); - else if (shift) Paint(); - } - break; -- -+ - case Button3: /* if using root, MUST NOT get rid of ctrlbox. */ -- if (!shift && !useroot) CtrlBox(!ctrlUp); -+ if (!shift && !useroot) CtrlBox(!ctrlUp); - else if (shift) BlurPaint(); - break; -- -+ -+ case Button4: /* note min vs. max, + vs. - */ -+ if (win == ctrlW || win == nList.win || win == nList.scrl.win) { -+ SCRL *sp=&nList.scrl; -+ int halfpage=sp->page/2; -+ -+ if (sp->val > sp->min+halfpage) -+ SCSetVal(sp,sp->val-halfpage); -+ else -+ SCSetVal(sp,sp->min); -+ } -+ else if (win == dirW || win == dList.win || win == dList.scrl.win) { -+ SCRL *sp=&dList.scrl; -+ int halfpage=sp->page/2; -+ -+ if (sp->val > sp->min+halfpage) -+ SCSetVal(sp,sp->val-halfpage); -+ else -+ SCSetVal(sp,sp->min); -+ } -+ break; -+ -+ case Button5: /* note max vs. min, - vs. + */ -+ if (win == ctrlW || win == nList.win || win == nList.scrl.win) { -+ SCRL *sp=&nList.scrl; -+ int halfpage=sp->page/2; -+ -+ if (sp->val < sp->max-halfpage) -+ SCSetVal(sp,sp->val+halfpage); -+ else -+ SCSetVal(sp,sp->max); -+ } -+ else if (win == dirW || win == dList.win || win == dList.scrl.win) { -+ SCRL *sp=&dList.scrl; -+ int halfpage=sp->page/2; -+ -+ if (sp->val < sp->max-halfpage) -+ SCSetVal(sp,sp->val+halfpage); -+ else -+ SCSetVal(sp,sp->max); -+ } -+ break; -+ - default: break; - } - } -- -+ - *donep = done; *retvalp = retval; - } - -- -+ - /***********************************/ - static void handleKeyEvent(event, donep, retvalp) - XEvent *event; - int *donep, *retvalp; - { - /* handles KeyPress and KeyRelease events, called from HandleEvent */ -- -+ - XKeyEvent *key_event; - KeySym ks; - char buf[128]; -@@ -1306,26 +1553,26 @@ - switch (event->type) { - case KeyRelease: - if (viewonly) break; /* ignore all user input */ -- -+ - stlen = XLookupString(key_event,buf,128,&ks,(XComposeStatus *) NULL); - dealt = 0; -- -+ - if (key_event->window == mainW) { - u_int foo = key_event->state; - -- if (ks == XK_Shift_L || ks == XK_Shift_R) -+ if (ks == XK_Shift_L || ks == XK_Shift_R) - foo = foo & (u_int) (~ShiftMask); -- if (ks == XK_Control_L || ks == XK_Control_R) -+ if (ks == XK_Control_L || ks == XK_Control_R) - foo = foo & (u_int) (~ControlMask); -- if (ks == XK_Meta_L || ks == XK_Meta_R) -+ if (ks == XK_Meta_L || ks == XK_Meta_R) - foo = foo & (u_int) (~Mod1Mask); -- if (ks == XK_Alt_L || ks == XK_Alt_R) -+ if (ks == XK_Alt_L || ks == XK_Alt_R) - foo = foo & (u_int) (~Mod1Mask); - - zoomCurs(foo); - } - break; -- -+ - - case KeyPress: - svkeystate = key_event->state; -@@ -1343,11 +1590,11 @@ - if (PUCheckEvent (event)) break; /* always check popups */ - - if (autoquit && key_event->window == mainW) Quit(0); -- -+ - if (viewonly && !frominterrupt) break; /* ignore all user input */ -- -+ - if (PSCheckEvent (event)) break; -- -+ - if (key_event->window == mainW) { - u_int foo = key_event->state; - -@@ -1362,20 +1609,43 @@ - if (JPEGCheckEvent(event)) break; - #endif - -+#ifdef HAVE_JP2K -+ if (JP2KCheckEvent(event)) break; -+#endif -+ - #ifdef HAVE_TIFF - if (TIFFCheckEvent(event)) break; - #endif - -+#ifdef HAVE_PNG -+ if (PNGCheckEvent (event)) break; -+#endif -+ -+ if (PCDCheckEvent (event)) break; -+ -+#ifdef HAVE_PIC2 -+ if (PIC2CheckEvent(event)) break; -+#endif -+ -+#ifdef HAVE_PCD -+ if (PCDCheckEvent (event)) break; -+#endif -+ -+#ifdef HAVE_MGCSFX -+ if (MGCSFXCheckEvent(event)) break; -+#endif -+ - if (GamCheckEvent (event)) break; - if (BrowseCheckEvent (event, &retval, &done)) break; - if (TextCheckEvent (event, &retval, &done)) break; - - -- /* check for pageup/pagedown, 'p' in main window -- (you can use shift-up or shift-down if no crop rectangle drawn) -- (for viewing multipage docs) */ -+ /* Support for multi-image files ("multipage docs"). Check for PgUp/PgDn -+ or 'p' in any window but control or directory; PgUp/PgDn are already -+ used to page through the file list in those windows. If no cropping -+ rectangle is active, shift-Up and shift-Down also work. */ - -- if (key_event->window == mainW) { -+ if (key_event->window != ctrlW && key_event->window != dirW) { - dealt = 1; - - ck = CursorKey(ks, shift, 0); -@@ -1386,7 +1656,7 @@ - else XBell(theDisp,0); - } - -- else if (ck==CK_PAGEDOWN || -+ else if (ck==CK_PAGEDOWN || - (ck==CK_DOWN && shift && !but[BCROP].active)) { - if (strlen(pageBaseName) && numPages>1) { - done = 1; retval = OP_PAGEDN; -@@ -1396,9 +1666,9 @@ - - else if (buf[0] == 'p' && stlen>0) { - if (strlen(pageBaseName) && numPages>1) { -- int i,j, okay; -- char buf[64], txt[512]; -- static char *labels[] = { "\nOk", "\033Cancel" }; -+ int i,j, okay; -+ char buf[64], txt[512]; -+ static const char *labels[] = { "\nOk", "\033Cancel" }; - - /* ask what page to go to */ - sprintf(txt, "Go to page number... (1-%d)", numPages); -@@ -1429,7 +1699,7 @@ - - if (dealt) break; - } -- -+ - - - /* check for crop rect keys */ -@@ -1468,15 +1738,17 @@ - if (theList == &dList && dealt) { /* changed dir selection */ - SelectDir(-1); /* nothing was double-clicked */ - } -- -+ - if (dealt) break; - } - - - /* check dir filename arrows */ -- ck = CursorKey(ks, shift, 1); -- if (key_event->window == dirW && ck==CK_LEFT) { DirKey('\002'); break; } -- if (key_event->window == dirW && ck==CK_RIGHT) { DirKey('\006'); break; } -+ if (key_event->window == dirW) { -+ ck = CursorKey(ks, shift, 1); -+ if (ck==CK_LEFT) { DirKey('\002'); break; } -+ if (ck==CK_RIGHT) { DirKey('\006'); break; } -+ } - - - /* check for preset keys (meta-1, meta-2, meta-3, meta-4, meta-0) -@@ -1491,7 +1763,7 @@ - else if (ks==XK_2) FakeButtonPress(&gbut[G_B2]); - else if (ks==XK_3) FakeButtonPress(&gbut[G_B3]); - else if (ks==XK_4) FakeButtonPress(&gbut[G_B4]); -- else if (ks==XK_r || ks==XK_0) -+ else if (ks==XK_r || ks==XK_0) - FakeButtonPress(&gbut[G_BRESET]); - - else if (ks==XK_x) FakeButtonPress(&but[BCUT]); -@@ -1521,7 +1793,7 @@ - - else if (ks==XK_a) FakeButtonPress(&gbut[G_BAPPLY]); - -- else if (ks==XK_8) { -+ else if (ks==XK_8) { - if (picType==PIC8) Select24to8MB(CONV24_24BIT); - else Select24to8MB(CONV24_8BIT); - } -@@ -1530,20 +1802,47 @@ - - if (dealt) break; - } -- -+ -+ /* Check for function keys */ -+ if (key_event->window == ctrlW || key_event->window == mainW) { -+ if (ks >= XK_F1 && ks <= XK_F1 + FSTRMAX - 1) { -+ int fkey = ks - XK_F1; -+ if (fkeycmds[fkey] && fullfname[0]) { -+#define CMDLEN 4096 -+ char cmd[CMDLEN]; -+ /* If a command begins with '@', we do not reload the current file */ -+ int noreload = (fkeycmds[fkey][0] == '@'); -+ int x = 0, y = 0, w = 0, h = 0; -+ if (HaveSelection()) -+ GetSelRCoords(&x, &y, &w, &h); -+ snprintf(cmd, CMDLEN, fkeycmds[fkey] + noreload, fullfname, x, y, w, h); -+#undef CMDLEN -+ if (DEBUG) fprintf(stderr, "Executing '%s'\n", cmd); -+ WaitCursor(); -+ system(cmd); -+ SetCursors(-1); -+ if (!noreload) { -+ retval = RELOAD; -+ done = 1; -+ } -+ break; -+ } -+ } -+ } -+ - if (!stlen) break; -- -+ - if (key_event->window == dirW) { - if (DirKey(buf[0])) XBell(theDisp,0); - } - else { /* commands valid in any window */ - switch (buf[0]) { -- -+ - /* things in dispMB */ - case 'r': SelectDispMB(DMB_RAW); break; - case 'd': SelectDispMB(DMB_DITH); break; - case 's': SelectDispMB(DMB_SMOOTH); break; -- -+ - /* things in sizeMB */ - case 'n': SelectSizeMB(SZMB_NORM); break; - case 'm': SelectSizeMB(SZMB_MAXPIC); break; -@@ -1556,7 +1855,7 @@ - case 'a': SelectSizeMB(SZMB_ASPECT); break; - case '4': SelectSizeMB(SZMB_4BY3); break; - case 'I': SelectSizeMB(SZMB_INTEXP); break; -- -+ - /* things in windowMB */ - case '\026': - case 'V': SelectWindowMB(WMB_BROWSE); break; /* ^V or V */ -@@ -1565,36 +1864,36 @@ - case '\003': SelectWindowMB(WMB_COMMENT); break; /* ^C */ - case '\024': SelectWindowMB(WMB_TEXTVIEW); break; /* ^T */ - case '\001': SelectWindowMB(WMB_ABOUTXV); break; /* ^A */ -- -- -- -+ -+ -+ - /* buttons in ctrlW */ - case '\t': - case ' ': FakeButtonPress(&but[BNEXT]); break; -- -+ - case '\r': - case '\n': - if (nList.selected >= 0 && nList.selected < nList.nstr) { -- done = 1; retval = nList.selected; -+ done = 1; retval = nList.selected; - if (frominterrupt) retval = RELOAD; - } - break; -- -- case '\010': -- case '\177': FakeButtonPress(&but[BPREV]); break; -- -- -+ -+ case '\010': FakeButtonPress(&but[BPREV]); break; -+ -+ - case '\014': FakeButtonPress(&but[BLOAD]); break; /* ^L */ - case '\023': FakeButtonPress(&but[BSAVE]); break; /* ^S */ - case '\020': FakeButtonPress(&but[BPRINT]); break; /* ^P */ -+ case '\177': - case '\004': FakeButtonPress(&but[BDELETE]); break; /* ^D */ -- -+ - /* BCOPY, BCUT, BPASTE, BCLEAR handled in 'meta' case */ -- -+ - case '\007': FakeButtonPress(&but[BGRAB]); break; /* ^G */ -- -+ - /* BUP10, BDN10 handled in sizeMB case */ -- -+ - case 'T': FakeButtonPress(&but[BROTL]); break; - case 't': FakeButtonPress(&but[BROTR]); break; - case 'h': FakeButtonPress(&but[BFLIPH]); break; -@@ -1604,24 +1903,24 @@ - case 'C': FakeButtonPress(&but[BACROP]); break; - case 'P': FakeButtonPress(&but[BPAD]); break; - case 'A': FakeButtonPress(&but[BANNOT]); break; -- -+ - /* BABOUT handled in windowMB case */ -- -+ - case '\021': /* ^Q */ - case 'q': FakeButtonPress(&but[BQUIT]); break; -- -+ - case '?': if (!useroot) CtrlBox(!ctrlUp); break; -- -+ - /* things in color editor */ - case 'R': FakeButtonPress(&gbut[G_BRESET]); break; - case 'H': FakeButtonPress(&gbut[G_BHISTEQ]); break; - case 'N': FakeButtonPress(&gbut[G_BMAXCONT]); break; -- -+ - default: break; - } - } - } -- -+ - *donep = done; *retvalp = retval; - } - -@@ -1657,7 +1956,7 @@ - else name = namelist[i]; - - TextView(name); -- -+ - if (name != namelist[i]) free(name); - } - -@@ -1668,10 +1967,10 @@ - /* open 'set size' prompt window, get a string, parse it, and try to - set the window size accordingly */ - -- int i, arg1, arg2, numargs, pct1, pct2, state, neww, newh; -- char txt[512], buf[64], *sp, ch; -- static char *labels[] = { "\nOk", "\033Cancel" }; -- -+ int i, arg1, arg2, numargs, pct1, pct2, state, neww, newh; -+ char txt[512], buf[64], *sp, ch; -+ static const char *labels[] = { "\nOk", "\033Cancel" }; -+ - sprintf(txt, "Enter new image display size (ex. '400 x 300'),\n"); - strcat (txt, "expansion ratio (ex. '75%'),\n"); - strcat (txt, "or expansion ratios (ex. '200% x 125%'):"); -@@ -1685,7 +1984,7 @@ - - - /* attempt to parse the string accordingly... -- * parses strings of the type: [%] [ x [%] ] -+ * parses strings of the type: [%] [ x [%] ] - * (-ish. all by itself isn't legal) - * there may be any # of spaces between items, including zero - */ -@@ -1825,7 +2124,7 @@ - - if (theImage) - XPutImage(theDisp,mainW,theGC,theImage,x,y,x,y, (u_int) w, (u_int) h); -- else -+ else - if (DEBUG) fprintf(stderr,"Tried to DrawWindow when theImage was NULL\n"); - } - -@@ -1845,12 +2144,14 @@ - return; - } - -+ GetWindowPos(&xwa); -+ - /* determine if new size goes off edge of screen. if so move window so it - doesn't go off screen */ -- -- GetWindowPos(&xwa); - if (xwa.x + w > vrWIDE) xwa.x = vrWIDE - w; - if (xwa.y + h > vrHIGH) xwa.y = vrHIGH - h; -+ if (xwa.x < 0) xwa.x = 0; -+ if (xwa.y < 0) xwa.y = 0; - - if (DEBUG) fprintf(stderr,"%s: resizing window to %d,%d at %d,%d\n", - cmd,w,h,xwa.x,xwa.y); -@@ -1872,7 +2173,7 @@ - XWindowAttributes xwa; - xvbzero((char *) &xwa, sizeof(XWindowAttributes)); - xwa.x = xwa.y = 0; -- xwa.width = dispWIDE; -+ xwa.width = dispWIDE; - xwa.height = dispHIGH; - SetWindowPos(&xwa); - } -@@ -1898,14 +2199,14 @@ - rotatesLeft++; - XClearWindow(theDisp, mainW); /* get rid of old bits */ - GenExpose(mainW, 0, 0, (u_int) eWIDE, (u_int) eHIGH); -- { int ew, eh; -+ { int ew, eh; - ew = eWIDE; eh = eHIGH; - WResize(eWIDE, eHIGH); - if (ew>maxWIDE || eh>maxHIGH) { /* rotated pic too big, scale down */ - double r,wr,hr; - wr = ((double) ew) / maxWIDE; - hr = ((double) eh) / maxHIGH; -- -+ - r = (wr>hr) ? wr : hr; /* r is the max(wr,hr) */ - ew = (int) ((ew / r) + 0.5); - eh = (int) ((eh / r) + 0.5); -@@ -1920,7 +2221,7 @@ - void WCrop(w,h,dx,dy) - int w,h,dx,dy; - { -- int cx, cy, cw, ch, ex, ey; -+ int ex, ey; - XWindowAttributes xwa; - - if (useroot) { -@@ -1931,7 +2232,7 @@ - else { - /* we want to move window to old x,y + dx,dy (in pic coords) */ - GetWindowPos(&xwa); -- -+ - if (!origcropvalid) { /* first crop. remember win pos */ - origcropvalid = 1; - origcropx = xwa.x; -@@ -1939,7 +2240,7 @@ - } - - CoordC2E(dx, dy, &ex, &ey); -- -+ - xwa.x += ex; xwa.y += ey; - xwa.width = w; xwa.height = h; - GenExpose(mainW, 0, 0, (u_int) eWIDE, (u_int) eHIGH); -@@ -1974,13 +2275,14 @@ - xwa.y = origcropy; - } - -- if (xwa.x + w > vrWIDE) xwa.x = vrWIDE - w; /* keep on screen */ -+ /* keep on screen */ -+ if (xwa.x + w > vrWIDE) xwa.x = vrWIDE - w; - if (xwa.y + h > vrHIGH) xwa.y = vrHIGH - h; -+ if (xwa.x < 0) xwa.x = 0; -+ if (xwa.y < 0) xwa.y = 0; - -- if (xwa.x<0) xwa.x = 0; -- if (xwa.y<0) xwa.y = 0; - xwa.width = w; xwa.height = h; -- -+ - if (!useroot) { - SetWindowPos(&xwa); - GenExpose(mainW, 0, 0, (u_int) eWIDE, (u_int) eHIGH); -@@ -1995,8 +2297,8 @@ - XWindowAttributes *xwa; - { - Window child; -- -- /* returns the x,y,w,h coords of mainW. x,y are relative to rootW -+ -+ /* returns the x,y,w,h coords of mainW. x,y are relative to rootW - the border is not included (x,y map to top-left pixel in window) */ - - /* Get the window width/height */ -@@ -2023,36 +2325,58 @@ - - /* if we're less than max size in one axis, allow window manager doohickeys - on the screen */ -- -+ - if (xwa->width < dispWIDE && xwc.x < p_offx) xwc.x = p_offx; - if (xwa->height < dispHIGH && xwc.y < p_offy) xwc.y = p_offy; - -+ /* Try to keep bottom right decorations inside */ -+#ifdef CRAP -+ if (xwc.x+eWIDE-debkludge_offx>dispWIDE) { -+ xwc.x=dispWIDE-eWIDE+debkludge_offx; -+ if (xwc.x<0) xwc.x=0; -+ } -+ if (xwc.y+eHIGH-debkludge_offy>dispHIGH) { -+ xwc.y=dispHIGH-eHIGH+debkludge_offy; -+ if (xwc.y<0) xwc.y=0; -+ } -+#else -+ if (xwc.x+eWIDE+p_offx>dispWIDE) { -+ xwc.x=dispWIDE-(eWIDE+debkludge_offx); -+ if (xwc.x<0) xwc.x=0; -+ } -+ if (xwc.y+eHIGH+p_offy>dispHIGH) { -+ xwc.y=dispHIGH-(eHIGH+debkludge_offy); -+ if (xwc.y<0) xwc.y=0; -+ } -+#endif -+ - xwc.width = xwa->width; - xwc.height = xwa->height; - -- -+#define BAD_IDEA - #ifdef BAD_IDEA - /* if there is a virtual window manager running, then we should translate - the coordinates that are in terms of 'real' screen into coordinates -- that are in terms of the 'virtual' root window -+ that are in terms of the 'virtual' root window - from: Daren W. Latham */ -- -+ - if (vrootW != rootW) { /* virtual window manager running */ - int x1,y1; - Window child; -- XTranslateCoordinates(theDisp, rootW, vrootW,xwc.x,xwc.y,&x1,&y1,&child); -+ -+ XTranslateCoordinates(theDisp, rootW, vrootW, xwc.x, xwc.y, &x1, &y1, &child); - if (DEBUG) fprintf(stderr,"SWP: translate: %d,%d -> %d,%d\n", -- xwc.x,xwc.y,x1,y1); -+ xwc.x, xwc.y, x1, y1); - xwc.x = x1; xwc.y = y1; - } --#endif -+#endif - - - if (DEBUG) { - fprintf(stderr, - "SWP: xwa=%d,%d %dx%d xwc=%d,%d %dx%d off=%d,%d bw=%d klg=%d,%d\n", - xwa->x, xwa->y, xwa->width, xwa->height, -- xwc.x, xwc.y, xwc.width, xwc.height, p_offx, p_offy, -+ xwc.x, xwc.y, xwc.width, xwc.height, p_offx, p_offy, - xwa->border_width, kludge_offx, kludge_offy); - } - -@@ -2080,7 +2404,7 @@ - - /* all non-DXWM window managers (?) */ - /* Move/Resize the window. */ -- XConfigureWindow(theDisp, mainW, -+ XConfigureWindow(theDisp, mainW, - CWX | CWY | CWWidth | CWHeight /*| CWBorderWidth*/, &xwc); - } - -@@ -2090,7 +2414,7 @@ - static void CropKey(dx,dy,grow,crop) - int dx,dy,grow,crop; - { -- int x1,x2,y1,y2,active, ocx, ocy; -+ int ocx, ocy; - - if (crop) { /* chop off a pixel from the appropriate edge */ - int dealt=1; -@@ -2112,7 +2436,7 @@ - } - return; - } -- -+ - if (grow) MoveGrowSelection(0, 0, dx, dy); - else MoveGrowSelection(dx, dy, 0, 0); - } -@@ -2128,7 +2452,7 @@ - u_long wh, bl; - int ty, w, ecol, done1; - char foo[128]; -- char *str = -+ const char *str = - "8888,8888 = 123,123,123 #123456 (123,123,123 HSV) [-2345,-2345]"; - - ecol = 0; wh = infobg; bl = infofg; -@@ -2136,14 +2460,14 @@ - if (!dropper) { - Pixmap pix, mask; - XColor cfg, cbg; -- -+ - cfg.red = cfg.green = cfg.blue = 0x0000; - cbg.red = cbg.green = cbg.blue = 0xffff; -- -+ - pix = MakePix1(rootW, dropper_bits, dropper_width, dropper_height); - mask= MakePix1(rootW, dropperm_bits, dropperm_width, dropperm_height); -- if (pix && mask) -- dropper = XCreatePixmapCursor(theDisp, pix, mask, &cfg, &cbg, -+ if (pix && mask) -+ dropper = XCreatePixmapCursor(theDisp, pix, mask, &cfg, &cbg, - dropper_x_hot, dropper_y_hot); - if (pix) XFreePixmap(theDisp, pix); - if (mask) XFreePixmap(theDisp, mask); -@@ -2151,7 +2475,7 @@ - - if (dropper) XDefineCursor(theDisp, mainW, dropper); - -- /* do a colormap search for black and white if LocalCmap -+ /* do a colormap search for black and white if LocalCmap - and use those colors instead of infobg and infofg */ - - if (LocalCmap) { -@@ -2159,7 +2483,7 @@ - - for (i=0; iascent + mfinfo->descent)-4; - - XSetForeground(theDisp, theGC, bl); -- XFillRectangle(theDisp, mainW, theGC, 0, ty, (u_int) w + 8, -+ XFillRectangle(theDisp, mainW, theGC, 0, ty, (u_int) w + 8, - (u_int) (monofinfo->ascent+monofinfo->descent) + 4); - XSetForeground(theDisp, theGC, wh); - XSetBackground(theDisp, theGC, bl); -@@ -2198,15 +2522,15 @@ - - if (!XQueryPointer(theDisp,mainW,&rW,&cW,&rx,&ry,&x,&y,&mask)) continue; - if (done1 && !(mask & Button2Mask)) break; /* button released */ -- -+ - CoordE2P(x,y, &px, &py); -- RANGE(px,0,pWIDE-1); -+ RANGE(px,0,pWIDE-1); - RANGE(py,0,pHIGH-1); -- -+ - if (px!=ox || py!=oy || !done1) { /* moved, or firsttime. erase & draw */ - double h1, s1, v1; - int rval, gval, bval; -- -+ - if (picType == PIC8) { - ecol = pix = pic[py * pWIDE + px]; - rval = rcmap[pix]; gval = gcmap[pix]; bval = bcmap[pix]; -@@ -2216,7 +2540,7 @@ - gval = pic[py * pWIDE * 3 + px * 3 + 1]; - bval = pic[py * pWIDE * 3 + px * 3 + 2]; - } -- -+ - clearR = rval; clearG = gval; clearB = bval; - - rgb2hsv(rval, gval, bval, &h1, &s1, &v1); -@@ -2229,8 +2553,8 @@ - px, py, rval, gval, bval, rval, gval, bval, - (int) h1, (int) (s1 * 100), (int) (v1 * 100), - px-orgx, py-orgy); -- -- XDrawImageString(theDisp,mainW,theGC, 4, ty + 2 + monofinfo->ascent, -+ -+ XDrawImageString(theDisp,mainW,theGC, 4, ty + 2 + monofinfo->ascent, - foo, (int) strlen(foo)); - ox = px; oy = py; - done1 = 1; -@@ -2275,7 +2599,7 @@ - - /* returns true if there's a config event in which mainW changes size - in the event queue */ -- -+ - XSync(theDisp, False); - foo = 0; - XCheckIfEvent(theDisp, &ev, IsConfig, &foo); -@@ -2328,7 +2652,7 @@ - * BadMatch errors on XGetImage - */ - -- if ((xerrcode == BadAlloc) || -+ if ((xerrcode == BadAlloc) || - (xerrcode == BadAccess && err->request_code==88 /* X_FreeColors */ ) || - (err->request_code == 113 /* X_KillClient */ ) || - (xerrcode == BadLength && err->request_code==18 /* X_ChangeProp */ ) || -@@ -2361,17 +2685,39 @@ - { - /* but first, if any input-grabbing popups are active, we have to 'cancel' - them. */ -- -+ - if (psUp) PSDialog(0); /* close PS window */ - - #ifdef HAVE_JPEG - if (jpegUp) JPEGDialog(0); /* close jpeg window */ - #endif - -+#ifdef HAVE_JP2K -+ if (jp2kUp) JP2KDialog(0); /* close jpeg 2000 window */ -+#endif -+ - #ifdef HAVE_TIFF - if (tiffUp) TIFFDialog(0); /* close tiff window */ - #endif - -+#ifdef HAVE_PNG -+ if (pngUp) PNGDialog(0); /* close png window */ -+#endif -+ -+ if (pcdUp) PCDDialog(0); /* close pcd window */ -+ -+#ifdef HAVE_PIC2 -+ if (pic2Up) PIC2Dialog(0); /* close pic2 window */ -+#endif -+ -+#ifdef HAVE_PCD -+ if (pcdUp) PCDDialog(0); /* close pcd window */ -+#endif -+ -+#ifdef HAVE_MGCSFX -+ if (mgcsfxUp) MGCSFXDialog(0); /* close mgcsfx window */ -+#endif -+ - ClosePopUp(); - - /* make the interrupt signal look like a '\n' keypress in ctrlW */ -@@ -2400,14 +2746,14 @@ - if (!pen) { - Pixmap pix, pmask; - XColor cfg, cbg; -- -+ - cfg.red = cfg.green = cfg.blue = 0x0000; - cbg.red = cbg.green = cbg.blue = 0xffff; -- -+ - pix = MakePix1(rootW, pen_bits, pen_width, pen_height); - pmask= MakePix1(rootW, penm_bits, penm_width, penm_height); -- if (pix && pmask) -- pen = XCreatePixmapCursor(theDisp, pix, pmask, &cfg, &cbg, -+ if (pix && pmask) -+ pen = XCreatePixmapCursor(theDisp, pix, pmask, &cfg, &cbg, - pen_x_hot, pen_y_hot); - if (pix) XFreePixmap(theDisp, pix); - if (pmask) XFreePixmap(theDisp, pmask); -@@ -2416,7 +2762,7 @@ - if (pen) XDefineCursor(theDisp, mainW, pen); - - -- XSelectInput(theDisp, mainW, ExposureMask | KeyPressMask -+ XSelectInput(theDisp, mainW, ExposureMask | KeyPressMask - | StructureNotifyMask /* | ButtonPressMask */ - | KeyReleaseMask | ColormapChangeMask - | EnterWindowMask | LeaveWindowMask ); -@@ -2435,7 +2781,7 @@ - - switch (state) { - case 0: /* initial state: make sure we do one pixel */ -- px1 = lx = px; py1 = ly = py; -+ px1 = lx = px; py1 = ly = py; - paintPixel(px, py); - - if (nmask & ShiftMask ) state = 99; -@@ -2444,7 +2790,7 @@ - else state = 10; - break; - -- -+ - case 1: /* waiting for click */ - if (nmask & ShiftMask) state = 99; - else if ( mask & Button2Mask) { -@@ -2459,7 +2805,7 @@ - } - break; - -- -+ - case 10: /* in freehand drawing mode */ - if (nmask & ShiftMask ) state = 99; - else if (nmask & Button2Mask) state = 1; -@@ -2507,11 +2853,11 @@ - XSync(theDisp, False); - Timer(100); - } -- -+ - if (nmask & Button2Mask) seenRelease = 1; - } - break; -- -+ - case 99: /* EXIT loop: cleanup */ - if (line) { /* erase old xor-line */ - paintXLine(lx, ly, px1, py1, 0); -@@ -2521,11 +2867,11 @@ - break; - } - } -- -- -+ -+ - WaitCursor(); -- -- XSelectInput(theDisp, mainW, ExposureMask | KeyPressMask -+ -+ XSelectInput(theDisp, mainW, ExposureMask | KeyPressMask - | StructureNotifyMask | ButtonPressMask - | KeyReleaseMask | ColormapChangeMask - | EnterWindowMask | LeaveWindowMask ); -@@ -2557,17 +2903,17 @@ - byte *pp = pic + (y * pWIDE + x) * 3; - pp[0] = clearR; pp[1] = clearG; pp[2] = clearB; - } -- -+ - /* visual feedback */ - CoordP2E(x, y, &ex, &ey); - CoordP2E(x+1, y+1, &ex1, &ey1); -- -+ - ew = ex1-ex; eh = ey1-ey; -- -+ - if (picType == PIC8) XSetForeground(theDisp, theGC, cols[editColor]); - else XSetForeground(theDisp, theGC, RGBToXColor(clearR, clearG, clearB)); -- -- if (ew>0 && eh>0) -+ -+ if (ew>0 && eh>0) - XFillRectangle(theDisp,mainW,theGC, ex,ey, (u_int) ew, (u_int) eh); - } - -@@ -2576,29 +2922,46 @@ - static void paintLine(x,y,x1,y1) - int x,y,x1,y1; - { -- int dx,dy,i,lx,ly,adx,ady; -- -- dx = x1-x; dy = y1-y; -- adx = abs(dx); ady = abs(dy); -- -- if (dx == 0 && dy == 0) paintPixel(x,y); -- -- else if (adx > ady) { /* X is major axis */ -- for (i=0; i<=adx; i++) { -- lx = x + (i * dx + (adx/2)) / abs(dx); -- ly = y + (i * dy + (adx/2)) / abs(dx); -- paintPixel(lx,ly); -+ int t,dx,dy,d,dd; -+ -+ dx = abs(x1-x); dy = abs(y1-y); -+ -+ if (dx >= dy) { /* X is major axis */ -+ if (x > x1) { -+ t = x; x = x1; x1 = t; -+ t = y; y = y1; y1 = t; -+ } -+ d = dy + dy - dx; -+ dd = y < y1 ? 1 : -1; -+ while (x <= x1) { -+ paintPixel(x,y); -+ if (d > 0) { -+ y += dd; -+ d -= dx + dx; -+ } -+ ++x; -+ d += dy + dy; - } - } - - else { /* Y is major axis */ -- for (i=0; i<=ady; i++) { -- lx = x + (i * dx + (ady/2)) / ady; -- ly = y + (i * dy + (ady/2)) / ady; -- paintPixel(lx,ly); -+ if (y > y1) { -+ t = x; x = x1; x1 = t; -+ t = y; y = y1; y1 = t; -+ } -+ d = dx + dx - dy; -+ dd = x < x1 ? 1 : -1; -+ while (y <= y1) { -+ paintPixel(x,y); -+ if (d > 0) { -+ x += dd; -+ d -= dy + dy; -+ } -+ ++y; -+ d += dx + dx; - } - } -- -+ - - } - -@@ -2618,14 +2981,14 @@ - CoordP2E(x+1,y+1,&tx1,&ty1); - ex = tx + (tx1 - tx)/2; - ey = ty + (ty1 - ty)/2; -- -+ - CoordP2E(x1, y1, &tx, &ty); - CoordP2E(x1+1,y1+1,&tx1,&ty1); - ex1 = tx + (tx1 - tx)/2; - ey1 = ty + (ty1 - ty)/2; -- -+ - if (ex==ex1 && ey==ey1) return; -- -+ - XSetPlaneMask(theDisp, theGC, xorMasks[pntxlcol]); - XSetFunction(theDisp, theGC, GXinvert); - XDrawLine(theDisp, mainW, theGC, ex, ey, ex1, ey1); -@@ -2638,10 +3001,8 @@ - static void BlurPaint() - { - Window rW,cW; -- int rx,ry,ox,oy,x,y, px,py, ex,ey, ex1,ey1, ew, eh, done1, dragging; -- int uppedpic; -+ int rx,ry,ox,oy,x,y, px,py, done1, dragging; - u_int mask; -- byte *pp; - - /* blurs pixels in either editCol (PIC8) or clear{R,G,B} (PIC24) until - 'shift' key is released. */ -@@ -2653,14 +3014,14 @@ - if (!blur) { - Pixmap pix, mask; - XColor cfg, cbg; -- -+ - cfg.red = cfg.green = cfg.blue = 0x0000; - cbg.red = cbg.green = cbg.blue = 0xffff; -- -+ - pix = MakePix1(rootW, blur_bits, blur_width, blur_height); - mask= MakePix1(rootW, blurm_bits, blurm_width, blurm_height); -- if (pix && mask) -- blur = XCreatePixmapCursor(theDisp, pix, mask, &cfg, &cbg, -+ if (pix && mask) -+ blur = XCreatePixmapCursor(theDisp, pix, mask, &cfg, &cbg, - blur_x_hot, blur_y_hot); - if (pix) XFreePixmap(theDisp, pix); - if (mask) XFreePixmap(theDisp, mask); -@@ -2669,7 +3030,7 @@ - if (blur) XDefineCursor(theDisp, mainW, blur); - - -- XSelectInput(theDisp, mainW, ExposureMask | KeyPressMask -+ XSelectInput(theDisp, mainW, ExposureMask | KeyPressMask - | StructureNotifyMask /* | ButtonPressMask */ - | KeyReleaseMask | ColormapChangeMask - | EnterWindowMask | LeaveWindowMask ); -@@ -2682,12 +3043,12 @@ - if (!(mask & Button3Mask)) { dragging = 0; continue; } - - CoordE2P(x,y, &px, &py); -- -+ - if (!dragging || (dragging && (px!=ox || py!=oy))) { /* click or drag */ - if (!dragging) blurPixel(px,py); - else { - int dx,dy,i,lx,ly; -- -+ - dx = px-ox; dy = py-oy; /* at least one will be non-zero */ - if (abs(dx) > abs(dy)) { /* X is major axis */ - for (i=0; i<=abs(dx); i++) { -@@ -2707,10 +3068,10 @@ - done1 = 1; dragging = 1; ox = px; oy = py; - } - } -- -+ - WaitCursor(); -- -- XSelectInput(theDisp, mainW, ExposureMask | KeyPressMask -+ -+ XSelectInput(theDisp, mainW, ExposureMask | KeyPressMask - | StructureNotifyMask | ButtonPressMask - | KeyReleaseMask | ColormapChangeMask - | EnterWindowMask | LeaveWindowMask ); -@@ -2731,9 +3092,9 @@ - { - /* returns position of highest set bit in 'ul' as an integer (0-31), - or -1 if none */ -- -+ - int i; unsigned long hb; -- -+ - hb = 0x80; hb = hb << 24; /* hb = 0x80000000UL */ - for (i=31; ((ul & hb) == 0) && i>=0; i--, ul<<=1); - return i; -@@ -2757,7 +3118,7 @@ - - d = 3*(256*256); j=0; - for (i=0; iclass==TrueColor || theVisual->class==DirectColor) { - unsigned long rmask, gmask, bmask; - int rshift, gshift, bshift, cshift, maplen; -- -+ - /* compute various shifting constants that we'll need... */ -- -+ - rmask = theVisual->red_mask; - gmask = theVisual->green_mask; - bmask = theVisual->blue_mask; -- -+ - rshift = 7 - highbit(rmask); - gshift = 7 - highbit(gmask); - bshift = 7 - highbit(bmask); -- -+ - if (theVisual->class == DirectColor) { - maplen = theVisual->map_entries; - if (maplen>256) maplen=256; - cshift = 7 - highbit((u_long) (maplen-1)); -- -+ - r = (u_long) directConv[(r>>cshift) & 0xff] << cshift; - g = (u_long) directConv[(g>>cshift) & 0xff] << cshift; - b = (u_long) directConv[(b>>cshift) & 0xff] << cshift; - } -- -- -+ -+ - /* shift the bits around */ - if (rshift<0) r = r << (-rshift); - else r = r >> rshift; -- -+ - if (gshift<0) g = g << (-gshift); - else g = g >> gshift; -- -+ - if (bshift<0) b = b << (-bshift); - else b = b >> bshift; -- -+ - r = r & rmask; - g = g & gmask; - b = b & bmask; -- -+ - rv =r | g | b; - } -- -+ - else { /* non-TrueColor/DirectColor visual */ - if (!ncols) - rv = ((r + g + b >= 128*3) ? white : black); -@@ -2820,14 +3181,14 @@ - - return rv; - } -- -- -+ -+ - /***********************/ - static void blurPixel(x,y) - int x,y; - { - /* blurs pixel x,y (pic coords) into pic in editColor (PIC8) or clearR,G,B -- (PIC24) and does appropriate screen feedback. Does a 3x3 average -+ (PIC24) and does appropriate screen feedback. Does a 3x3 average - around the pixel, and replaces it with the average value (PIC24), or - the closest existing color to the average value (PIC8) */ - -@@ -2861,7 +3222,7 @@ - if (picType == PIC8) { /* find nearest actual color */ - d = 3*(256*256); j=0; - for (i=0; i0 && eh>0) -+ -+ if (ew>0 && eh>0) - XFillRectangle(theDisp,mainW,theGC, ex,ey, (u_int) ew, (u_int) eh); - } - -@@ -2895,19 +3256,19 @@ - /***********************/ - static void annotatePic() - { -- int i, w,h, len; -- byte *cimg; -- char txt[256]; -- static char buf[256] = {'\0'}; -- static char *labels[] = {"\nOk", "\033Cancel" }; -+ int i, w,h, len; -+ byte *cimg; -+ char txt[256]; -+ static char buf[256] = {'\0'}; -+ static const char *labels[] = {"\nOk", "\033Cancel" }; - -- sprintf(txt, "Image Annotation:\n\n%s", -+ sprintf(txt, "Image Annotation:\n\n%s", - "Enter string to be placed on image."); -- -+ - i = GetStrPopUp(txt, labels, 2, buf, 256, "", 0); - if (i==1 || strlen(buf)==0) return; -- -- -+ -+ - /* build a 'cimg' array to be pasted on clipboard */ - w = strlen(buf) * 6 - 1; h = 9; - len = CIMG_PIC8 + w*h; -diff -ru xv-3.10a/xvfits.c xv-3.10a-enhancements/xvfits.c ---- xv-3.10a/xvfits.c 1994-12-27 23:43:29.000000000 -0800 -+++ xv-3.10a-enhancements/xvfits.c 2007-05-12 15:46:55.000000000 -0700 -@@ -14,7 +14,7 @@ - * provided "as is" without express or implied warranty. - */ - -- -+#define NEEDSDIR /* for S_IRUSR|S_IWUSR */ - #include "xv.h" - - #define NCARDS (36) -@@ -39,17 +39,17 @@ - static char *fits_block=NULL; - - --static int splitfits PARM((byte *, char *, int, int, int, char *)); --static char *ftopen3d PARM((FITS *, char *, int *, int *, int *, int *)); --static void ftclose PARM((FITS *)); --static int ftgbyte PARM((FITS *, byte *, int)); --static char *rdheader PARM((FITS *)); --static char *wrheader PARM((FILE *, int, int, char *)); --static char *rdcard PARM((char *, char *, DATTYPE, long int *)); --static void wrcard PARM((char *, char *, DATTYPE, int, char *)); --static int ftgdata PARM((FITS *, void *, int)); --static void ftfixdata PARM((FITS *, void *, int)); --static void flip PARM((byte *, int, int)); -+static int splitfits PARM((byte *, char *, int, int, int, char *)); -+static const char *ftopen3d PARM((FITS *, char *, int *, int *, int *, int *)); -+static void ftclose PARM((FITS *)); -+static int ftgbyte PARM((FITS *, byte *, int)); -+static const char *rdheader PARM((FITS *)); -+static const char *wrheader PARM((FILE *, int, int, char *)); -+static const char *rdcard PARM((char *, const char *, DATTYPE, long int *)); -+static void wrcard PARM((char *, const char *, DATTYPE, int, char *)); -+static int ftgdata PARM((FITS *, void *, int)); -+static void ftfixdata PARM((FITS *, void *, int)); -+static void flip PARM((byte *, int, int)); - - - -@@ -63,16 +63,16 @@ - /* returns '1' on success */ - - FITS fs; -- int i, nx, ny, nz, bitpix, np, nrd, ioerror; -+ int i, nx, ny, nz, bitpix, nrd, ioerror, npixels, bufsize; - byte *image; -- char *error; -+ const char *error; - char basename[64]; - - if (fits_block == NULL) { - fits_block = (char *) malloc((size_t) BLOCKSIZE); - if (!fits_block) FatalError("Insufficient memory for FITS block buffer"); - } -- -+ - error = ftopen3d(&fs, fname, &nx, &ny, &nz, &bitpix); - if (error) { - SetISTR(ISTR_WARNING, "%s", error); -@@ -80,9 +80,15 @@ - } - - if (quick) nz = 1; /* only load first plane */ -- np = nx * ny * nz; -+ npixels = nx * ny; -+ bufsize = nz * npixels; -+ if (nx <= 0 || ny <= 0 || npixels/nx != ny || bufsize/nz != npixels) { -+ SetISTR(ISTR_WARNING, "FITS image dimensions out of range (%dx%dx%d)", -+ nx, ny, nz); -+ return 0; -+ } - -- image = (byte *) malloc((size_t) np); -+ image = (byte *) malloc((size_t) bufsize); - if (!image) FatalError("Insufficient memory for image"); - - /* -@@ -90,7 +96,7 @@ - * to ensure that we get that same scaling for all planes. - */ - -- nrd = ftgbyte(&fs, image, np); -+ nrd = ftgbyte(&fs, image, bufsize); - ioerror = ferror(fs.fp); - ftclose(&fs); - -@@ -104,33 +110,32 @@ - return 0; - } - -- else if (nrd < np) { /* read partial image */ -+ else if (nrd < bufsize) { /* read partial image */ - if (ioerror) - SetISTR(ISTR_WARNING, "%s", "Truncated FITS file due to I/O error"); - else - SetISTR(ISTR_WARNING, "%s", "Truncated FITS file"); -- -+ - { byte *foo; -- for (foo=image+nrd; foo 1) { - /* how many planes do we actually have? */ -- nz = (nrd-1)/(nx*ny) + 1; -+ nz = (nrd-1)/(npixels) + 1; - - /* returns how many sub-files created */ - nz = splitfits(image, fs.comment, nx, ny, nz, basename); -- np = nx * ny; -- image = (byte *)realloc(image, (size_t) np); /* toss all but first */ -+ image = (byte *)realloc(image, (size_t) npixels); /* toss all but first */ - } -- -+ - /* There seems to be a convention that fits files be displayed using - * a cartesian coordinate system. Thus the first pixel is in the lower left - * corner. Fix this by reflecting in the line y=ny/2. - */ - flip(image, nx, ny); -- -+ - /* Success! */ - pinfo->pic = image; - pinfo->type = PIC8; -@@ -149,12 +154,12 @@ - pinfo->numpages = nz; - strcpy(pinfo->pagebname, basename); - } -- -+ - return 1; --} -+} -+ - - -- - /*******************************************/ - int WriteFITS(fp,pic,ptype,w,h,rmap,gmap,bmap,numcols,colorstyle,comment) - FILE *fp; -@@ -164,16 +169,16 @@ - int numcols, colorstyle; - char *comment; - { -- int i, j, np, nend; -+ int i, j, npixels, nend; - byte *ptr; -- char *error; -+ const char *error; - byte rgb[256]; -- -+ - if (!fits_block) { - fits_block = (char *) malloc((size_t) BLOCKSIZE); - if (!fits_block) FatalError("Insufficient memory for FITS block buffer"); - } -- -+ - error = wrheader(fp, w, h, comment); - if (error) { - SetISTR(ISTR_WARNING, "%s", error); -@@ -197,12 +202,12 @@ - } - } - -- np = w*h; -+ npixels = w*h; - - /* nend is the number of padding characters at the end of the last block */ -- nend = ((np+BLOCKSIZE-1)/BLOCKSIZE)*BLOCKSIZE - np; -+ nend = ((npixels+BLOCKSIZE-1)/BLOCKSIZE)*BLOCKSIZE - npixels; - if (nend) for (i=0; ifp = fp; - fs->bitpix = 0; - fs->naxis = 0; - fs->cpos = 0; -- -+ - /* read header */ - error = rdheader(fs); - if (error) { - ftclose(fs); - return error; - } -- -+ - naxis = fs->naxis; -- -+ - /* get number of data */ - fs->ndata = 1; -- for (i=0; indata = fs->ndata * fs->axes[i]; -- -+ - *nx = fs->axes[0]; - *ny = fs->axes[1]; - if (naxis == 2) *nz = 1; - else *nz = fs->axes[2]; -- -+ - *bitpix = fs->bitpix; -- -+ - return NULL; - } - -@@ -406,7 +423,7 @@ - - - /************************************/ --static char *rdheader(fs) -+static const char *rdheader(fs) - FITS *fs; - { - /* reads the fits header, and updates the FITS structure fs. -@@ -416,13 +433,13 @@ - int i, j, res, commlen, commsize; - char name[9]; - char *block=fits_block, *p; -- char *error; -+ const char *error; - long int val; /* the value */ -- -+ - fs->comment = NULL; - commlen = 0; - commsize = 256; -- -+ - res = fread(block, sizeof(char), (size_t) BLOCKSIZE, fs->fp); - if (res != BLOCKSIZE) return "Error reading FITS file"; - i = 0; -@@ -464,13 +481,13 @@ - if (res != BLOCKSIZE) return "Error reading FITS file"; - i = 0; - } -- -+ - sprintf(name, "NAXIS%d", j+1); - error = rdcard(&block[i*80], name, T_INT, &val); - if (error) return error; - if (val < 0) return "Bad NAXISn value in FITS file"; - if (val == 0) return "FITS file does not contain an image"; -- -+ - if (j < 3) fs->axes[j] = val; - else if (val != 1) return "FITS file has more than three dimensions"; - i++; -@@ -488,21 +505,21 @@ - if (res != BLOCKSIZE) return "Unexpected eof in FITS file"; - i = 0; - } -- -+ - p = &block[i*80]; - if (strncmp(p, "END ", (size_t) 8) == 0) break; -- if (strncmp(p, "HISTORY ", (size_t) 8) == 0 || -+ if (strncmp(p, "HISTORY ", (size_t) 8) == 0 || - strncmp(p, "COMMENT ", (size_t) 8) == 0) { - p += 8; /* skip keyword */ - for (j=71; j >= 0; j--) if (p[j] != ' ') break; - j++; /* make j length of comment */ - if (j > 0) { /* skip blank comment cards */ - if (fs->comment == NULL) { -- fs->comment = (char *) malloc((size_t) commsize); -+ fs->comment = (char *) malloc((size_t) commsize); /* initially 256 */ - if (fs->comment == NULL) - FatalError("Insufficient memory for comment buffer"); - } -- -+ - if (commlen + j + 2 > commsize) { /* if too small */ - char *new; - commsize += commsize; /* double size of array */ -@@ -515,7 +532,7 @@ - free(fs->comment); - fs->comment = new; - } -- -+ - xvbcopy(p, &fs->comment[commlen], (size_t) j); /* add string */ - commlen += j; - fs->comment[commlen++] = '\n'; /* with trailing cr */ -@@ -531,7 +548,8 @@ - - /************************************/ - static void wrcard(card, name, dtype, kvalue, svalue) -- char *card, *name; -+ char *card; -+ const char *name; - DATTYPE dtype; /* type of value */ - int kvalue; - char *svalue; -@@ -556,9 +574,9 @@ - - l = strlen(name); - if (l) xvbcopy(name, card, (size_t) l); /* copy name */ -- -+ - if (dtype == T_NOVAL) return; -- -+ - if (dtype == T_STR) { - l = kvalue; - if (l <= 0) return; -@@ -566,9 +584,9 @@ - xvbcopy(svalue, &card[8], (size_t) l); - return; - } -- -+ - card[8] = '='; -- -+ - if (dtype == T_LOG) - card[29] = kvalue ? 'T' : 'F'; - else { /* T_INT */ -@@ -579,8 +597,9 @@ - - - /************************************/ --static char *rdcard(card, name, dtype, kvalue) -- char *card, *name; -+static const char *rdcard(card, name, dtype, kvalue) -+ char *card; -+ const char *name; - DATTYPE dtype; /* type of value */ - long int *kvalue; - { -@@ -599,7 +618,7 @@ - int i, ptr; - char namestr[9]; - static char error[45]; -- -+ - xvbcopy(card, namestr, (size_t) 8); - - for (i=7; i>=0 && namestr[i] == ' '; i--); -@@ -609,24 +628,24 @@ - sprintf(error, "Keyword %s not found in FITS file", name); - return error; - } -- -+ - - /* get start of value */ - ptr = 10; - while (ptr < 80 && card[ptr] == ' ') ptr++; - if (ptr == 80) return "FITS file has missing keyword value"; /* no value */ -- -+ - if (dtype == T_LOG) { - if (ptr != 29 || (card[29] != 'T' && card[29] != 'F')) - return "Keyword has bad logical value in FITS file"; - *kvalue = (card[29] == 'T'); -- } -+ } - - else { /* an integer */ - int j; - long int ival; - char num[21]; -- -+ - if (ptr > 29) return "Keyword has bad integer value in FITS file"; - xvbcopy(&card[ptr], num, (size_t) (30-ptr)); - num[30-ptr] = '\0'; -@@ -634,7 +653,7 @@ - if (j != 1) return "Keyword has bad integer value in FITS file"; - *kvalue = ival; - } -- -+ - return NULL; - } - -@@ -660,13 +679,13 @@ - */ - - int res; -- -+ - if (nelem == 0) return 0; -- -+ - res = fread(buffer, (size_t) fs->size, (size_t) nelem, fs->fp); - /* if failed to read all the data because at end of file */ - if (res != nelem && feof(fs->fp)) { -- /* nblock is the number of elements in a record. -+ /* nblock is the number of elements in a record. - size is always a factor of BLOCKSIZE */ - - int loffs, nblock=BLOCKSIZE/fs->size; -@@ -714,7 +733,7 @@ - byte *ptr=buffer; - - /* -- * conversions. Although the data may be signed, reverse using unsigned -+ * conversions. Although the data may be signed, reverse using unsigned - * variables. - * Because the native int types may be larger than the types in the file, - * we start from the end and work backwards to avoid overwriting data -@@ -741,12 +760,12 @@ - ((unsigned int)ptr[2] << 8) | - ((unsigned int)ptr[3]); - } -- -+ - /* convert from IEE 754 single precision to native form */ - else if (fs->bitpix == -32) { - int j, k, expo; - static float *exps=NULL; -- -+ - if (exps == NULL) { - exps = (float *)malloc(256 * sizeof(float)); - if (exps == NULL) FatalError("Insufficient memory for exps store"); -@@ -754,7 +773,7 @@ - for (i=151; i < 256; i++) exps[i] = 2.*exps[i-1]; - for (i=149; i >= 0; i--) exps[i] = 0.5*exps[i+1]; - } -- -+ - for (i=0; i < n; i++, ptr+=4) { - k = (int)*ptr; - j = ((int)ptr[1] << 16) | ((int)ptr[2] << 8) | (int)ptr[3]; -@@ -765,13 +784,13 @@ - } - - } -- -+ - /* convert from IEE 754 double precision to native form */ - else if (fs->bitpix == -64) { - int expo, k, l; - unsigned int j; - static double *exps=NULL; -- -+ - if (exps == NULL) { - exps = (double *)malloc(2048 * sizeof(double)); - if (exps == NULL) FatalError("Insufficient memory for exps store"); -@@ -779,7 +798,7 @@ - for (i=1076; i < 2048; i++) exps[i] = 2.*exps[i-1]; - for (i=1074; i >= 0; i--) exps[i] = 0.5*exps[i+1]; - } -- -+ - for (i=0; i < n; i++, ptr+=8) { - k = (int)*ptr; - j = ((unsigned int)ptr[1] << 24) | ((unsigned int)ptr[2] << 16) | -@@ -813,23 +832,36 @@ - */ - - void *voidbuff; -- int i, n, nrd; -+ int i, n, nrd, bufsize, overflow=0; - - /* if the data is byte, then read it directly */ - if (fs->bitpix == 8) - return ftgdata(fs, cbuff, nelem); -- -+ - /* allocate a buffer to store the image */ -- if (fs->bitpix == 16) -- voidbuff = (void *)malloc(nelem * sizeof(short int)); -- else if (fs->bitpix == 32) -- voidbuff = (void *)malloc(nelem * sizeof(int)); -- else -- voidbuff = (void *)malloc(nelem * (size_t) fs->size); /* float, double */ -+ if (fs->bitpix == 16) { -+ bufsize = nelem * sizeof(short int); -+ if (bufsize/nelem != (int)sizeof(short int)) -+ overflow = 1; -+ } else if (fs->bitpix == 32) { -+ bufsize = nelem * sizeof(int); -+ if (bufsize/nelem != (int)sizeof(short int)) -+ overflow = 1; -+ } else { -+ bufsize = nelem * fs->size; /* float, double */ -+ if (bufsize/nelem != fs->size) -+ overflow = 1; -+ } - -+ if (overflow) { -+ SetISTR(ISTR_WARNING, "FITS image dimensions out of range"); -+ return 0; -+ } -+ -+ voidbuff = (void *)malloc((size_t) bufsize); - if (voidbuff == NULL) { - char emess[60]; -- sprintf(emess, "Insufficient memory for raw image of %d bytes", -+ sprintf(emess, "Insufficient memory for raw image of %d bytes", - nelem*fs->size); - FatalError(emess); - } -@@ -843,28 +875,28 @@ - short int *buffer=voidbuff; - int max, min, maxmin_t; - float scale; -- -+ - min = max = buffer[0]; - for (i=1; i < n; i++, buffer++) maxmin(*buffer, max, min); - scale = (max == min) ? 0. : 255./(float)(max-min); -- -+ - /* rescale and convert */ - for (i=0, buffer=voidbuff; i < n; i++) - cbuff[i] = (byte)(scale*(float)((int)buffer[i]-min)); -- -+ - /* convert long int to byte */ -- } -+ } - - else if (fs->bitpix == 32) { - int *buffer=voidbuff; - int max, min, maxmin_t; - float scale, fmin; -- -+ - min = max = buffer[0]; - for (i=1; i < n; i++, buffer++) maxmin(*buffer, max, min); - scale = (max == min) ? 1. : 255./((double)max-(double)min); - fmin = (float)min; -- -+ - /* rescale and convert */ - if (scale < 255./2.1e9) /* is max-min too big for an int ? */ - for (i=0, buffer=voidbuff; i < n; i++) -@@ -872,34 +904,34 @@ - else /* use integer subtraction */ - for (i=0, buffer=voidbuff; i < n; i++) - cbuff[i] = (byte)(scale*(float)(buffer[i]-min)); -- -- -- } -+ -+ -+ } - - /* convert float to byte */ - else if (fs->bitpix == -32) { - float *buffer=voidbuff; - float max, min, maxmin_t, scale; -- -+ - min = max = buffer[0]; - for (i=1; i < n; i++, buffer++) maxmin(*buffer, max, min); - scale = (max == min) ? 0. : 255./(max-min); -- -+ - /* rescale and convert */ - for (i=0, buffer=voidbuff; i < n; i++) - cbuff[i] = (byte)(scale*(buffer[i]-min)); -- -- } -+ -+ } - - /* convert double to byte */ - else if (fs->bitpix == -64) { - double *buffer=voidbuff; - double max, min, maxmin_t, scale; -- -+ - min = max = buffer[0]; - for (i=1; i < n; i++, buffer++) maxmin(*buffer, max, min); - scale = (max == min) ? 0. : 255./(max-min); -- -+ - /* rescale and convert */ - for (i=0, buffer=voidbuff; i < n; i++) - cbuff[i] = (byte)(scale*(buffer[i]-min)); -@@ -923,7 +955,7 @@ - int i; - int j, v; - byte *buff1, *buff2; -- -+ - for (i=0; i < ny/2; i++) { - buff1 = &buffer[i*nx]; - buff2 = &buffer[(ny-1-i)*nx]; -diff -ru xv-3.10a/xvgam.c xv-3.10a-enhancements/xvgam.c ---- xv-3.10a/xvgam.c 1995-01-13 11:51:14.000000000 -0800 -+++ xv-3.10a-enhancements/xvgam.c 2007-05-13 14:12:04.000000000 -0700 -@@ -1,4 +1,4 @@ --/* -+/* - * xvgam.c - * - * callable functions: -@@ -87,7 +87,7 @@ - GRAF_STATE istate, rstate, gstate, bstate; - }; - --static struct gamstate undo[MAXUNDO], preset[4], defstate; -+static struct gamstate undo[MAXUNDO], preset[4], defstate; - static struct gamstate *defLoadState; - - static int uptr, uhead, utail; -@@ -99,7 +99,7 @@ - int stval; /* start of range (ONLY val ifnot range) */ - int enval; /* end of range */ - int ccwise; /* 1 if range goes ccwise, 0 if cwise */ -- char *str; /* title string */ -+ const char *str; /* title string */ - u_long fg,bg; /* colors */ - int satval; /* saturation value on non-range dial */ - BUTT hdbutt[N_HDBUTT]; -@@ -122,7 +122,7 @@ - static int defAutoApply; - static int hsvnonlinear = 0; - --static void printUTime PARM((char *)); -+static void printUTime PARM((const char *)); - - static void computeHSVlinear PARM((void)); - static void changedGam PARM((void)); -@@ -153,8 +153,8 @@ - static void dragHueDial PARM((void)); - static void dragEditColor PARM((void)); - --static void HDCreate PARM((HDIAL *, Window, int, int, int, int, -- int, int, char *, u_long, u_long)); -+static void HDCreate PARM((HDIAL *, Window, int, int, int, int, -+ int, int, const char *, u_long, u_long)); - - static void HDRedraw PARM((HDIAL *, int)); - static int HDClick PARM((HDIAL *, int, int)); -@@ -191,10 +191,11 @@ - - /***************************/ - static void printUTime(str) -- char *str; -+ const char *str; - { - #ifdef TIMING_TEST -- int i; struct rusage ru; -+ int i; -+ struct rusage ru; - - i = getrusage(RUSAGE_SELF, &ru); - fprintf(stderr,"%s: utime = %ld.%ld seconds\n", -@@ -206,19 +207,19 @@ - - /***************************************************/ - void CreateGam(geom, gam, rgam, ggam, bgam, defpreset) -- char *geom; -- double gam, rgam, ggam, bgam; -- int defpreset; -+ const char *geom; -+ double gam, rgam, ggam, bgam; -+ int defpreset; - { - XSetWindowAttributes xswa; - -- gamW = CreateWindow("xv color editor", "XVcedit", geom, -+ gamW = CreateWindow("xv color editor", "XVcedit", geom, - GAMW, GAMH, infofg,infobg, 0); - if (!gamW) FatalError("can't create cedit window!"); -- -+ - cmapF = XCreateSimpleWindow(theDisp,gamW, 10, 8,CMAPF_WIDE,CMAPF_HIGH, - 1,infofg,infobg); -- butF = XCreateSimpleWindow(theDisp,gamW, 10, 336,BUTF_WIDE,BUTF_HIGH, -+ butF = XCreateSimpleWindow(theDisp,gamW, 10, 336,BUTF_WIDE,BUTF_HIGH, - 1,infofg,infobg); - modF = XCreateSimpleWindow(theDisp,gamW, 10, 438,MODF_WIDE,MODF_HIGH, - 1,infofg,infobg); -@@ -227,7 +228,7 @@ - rgbF = XCreateSimpleWindow(theDisp,gamW, 467, 8,RGBF_WIDE,RGBF_HIGH, - 1,infofg,infobg); - -- if (!cmapF || !butF || !modF || !hsvF || !rgbF) -+ if (!cmapF || !butF || !modF || !hsvF || !rgbF) - FatalError("couldn't create frame windows"); - - #ifdef BACKING_STORE -@@ -251,25 +252,25 @@ - /********** COLORMAP editing doo-wahs ***********/ - - -- BTCreate(&gbut[G_BCOLUNDO], cmapF, 5, 165, 66, BUTTH, -+ BTCreate(&gbut[G_BCOLUNDO], cmapF, 5, 165, 66, BUTTH, - "ColUndo", infofg, infobg, hicol, locol); -- BTCreate(&gbut[G_BCOLREV], cmapF, 5 + 66 + 1, 165, 67, BUTTH, -+ BTCreate(&gbut[G_BCOLREV], cmapF, 5 + 66 + 1, 165, 67, BUTTH, - "Revert", infofg, infobg, hicol, locol); -- BTCreate(&gbut[G_BHSVRGB], cmapF, 5+66+67+2, 165, 66, BUTTH, -+ BTCreate(&gbut[G_BHSVRGB], cmapF, 5+66+67+2, 165, 66, BUTTH, - "RGB/HSV", infofg, infobg, hicol, locol); - -- BTCreate(&gbut[G_BMONO], cmapF, 5, 189, 66, BUTTH, -+ BTCreate(&gbut[G_BMONO], cmapF, 5, 189, 66, BUTTH, - "Grey", infofg, infobg, hicol, locol); -- BTCreate(&gbut[G_BRV], cmapF, 5 + 66 + 1, 189, 67, BUTTH, -+ BTCreate(&gbut[G_BRV], cmapF, 5 + 66 + 1, 189, 67, BUTTH, - "RevVid", infofg, infobg, hicol, locol); -- BTCreate(&gbut[G_BRNDCOL], cmapF, 5 + 66 + 67 + 2, 189, 66, BUTTH, -+ BTCreate(&gbut[G_BRNDCOL], cmapF, 5 + 66 + 67 + 2, 189, 66, BUTTH, - "Random", infofg, infobg, hicol, locol); - -- DCreate(&rhDial, cmapF, 5, 215, 66, 100, 0,360,180, 5, -+ DCreate(&rhDial, cmapF, 5, 215, 66, 100, 0.0, 360.0, 180.0, 1.0, 5.0, - infofg, infobg, hicol, locol, "Hue", NULL); -- DCreate(&gsDial, cmapF, 72, 215, 66, 100, 0,360,180, 5, -+ DCreate(&gsDial, cmapF, 72, 215, 66, 100, 0.0, 360.0, 180.0, 1.0, 5.0, - infofg, infobg, hicol, locol, "Sat.", NULL); -- DCreate(&bvDial, cmapF, 139, 215, 66, 100, 0,360,180, 5, -+ DCreate(&bvDial, cmapF, 139, 215, 66, 100, 0.0, 360.0, 180.0, 1.0, 5.0, - infofg, infobg, hicol, locol, "Value", NULL); - - rhDial.drawobj = gsDial.drawobj = bvDial.drawobj = dragEditColor; -@@ -291,44 +292,44 @@ - #define BY2 (BY0 + BYSPACE*2) - #define BY3 (BY0 + BYSPACE*3) - -- BTCreate(&gbut[G_BAPPLY], butF, BX0,BY0, 52,BUTTH,"Apply", -+ BTCreate(&gbut[G_BAPPLY], butF, BX0,BY0, 52,BUTTH,"Apply", - infofg,infobg,hicol,locol); -- BTCreate(&gbut[G_BNOGAM], butF, BX0,BY1, 52,BUTTH,"NoMod", -+ BTCreate(&gbut[G_BNOGAM], butF, BX0,BY1, 52,BUTTH,"NoMod", - infofg,infobg,hicol,locol); -- BTCreate(&gbut[G_BMAXCONT],butF, BX0,BY2, 52,BUTTH,"Norm", -+ BTCreate(&gbut[G_BMAXCONT],butF, BX0,BY2, 52,BUTTH,"Norm", - infofg,infobg,hicol,locol); - BTCreate(&gbut[G_BHISTEQ], butF, BX0,BY3, 52,BUTTH,"HistEq", - infofg,infobg,hicol,locol); - - BTCreate(&gbut[G_BUP_BR],butF, BX1,BY0, 52,BUTTH,"Brite", - infofg,infobg,hicol,locol); -- BTCreate(&gbut[G_BDN_BR],butF, BX1,BY1, 52,BUTTH,"Dim", -+ BTCreate(&gbut[G_BDN_BR],butF, BX1,BY1, 52,BUTTH,"Dim", - infofg,infobg,hicol,locol); - BTCreate(&gbut[G_BUP_CN],butF, BX1,BY2, 52,BUTTH,"Sharp", - infofg,infobg,hicol,locol); -- BTCreate(&gbut[G_BDN_CN],butF, BX1,BY3, 52,BUTTH,"Dull", -+ BTCreate(&gbut[G_BDN_CN],butF, BX1,BY3, 52,BUTTH,"Dull", - infofg,infobg,hicol,locol); - -- BTCreate(&gbut[G_BRESET],butF, BX2, BY0, 52,BUTTH,"Reset", -+ BTCreate(&gbut[G_BRESET],butF, BX2, BY0, 52,BUTTH,"Reset", - infofg,infobg,hicol,locol); -- BTCreate(&gbut[G_B1], butF, BX2, BY1, 25,BUTTH,"1", -+ BTCreate(&gbut[G_B1], butF, BX2, BY1, 25,BUTTH,"1", - infofg,infobg,hicol,locol); -- BTCreate(&gbut[G_B2], butF, BX2+26,BY1, 26,BUTTH,"2", -+ BTCreate(&gbut[G_B2], butF, BX2+26,BY1, 26,BUTTH,"2", - infofg,infobg,hicol,locol); -- BTCreate(&gbut[G_B3], butF, BX2, BY2, 25,BUTTH,"3", -+ BTCreate(&gbut[G_B3], butF, BX2, BY2, 25,BUTTH,"3", - infofg,infobg,hicol,locol); -- BTCreate(&gbut[G_B4], butF, BX2+26,BY2, 26,BUTTH,"4", -+ BTCreate(&gbut[G_B4], butF, BX2+26,BY2, 26,BUTTH,"4", - infofg,infobg,hicol,locol); -- BTCreate(&gbut[G_BSET], butF, BX2, BY3, 52,BUTTH,"Set", -+ BTCreate(&gbut[G_BSET], butF, BX2, BY3, 52,BUTTH,"Set", - infofg,infobg,hicol,locol); - -- BTCreate(&gbut[G_BUNDO], butF, BX3, BY0, 52,BUTTH,"Undo", -+ BTCreate(&gbut[G_BUNDO], butF, BX3, BY0, 52,BUTTH,"Undo", - infofg,infobg,hicol,locol); -- BTCreate(&gbut[G_BREDO], butF, BX3, BY1, 52,BUTTH,"Redo", -+ BTCreate(&gbut[G_BREDO], butF, BX3, BY1, 52,BUTTH,"Redo", - infofg,infobg,hicol,locol); -- BTCreate(&gbut[G_BGETRES],butF,BX3, BY2, 52,BUTTH,"CutRes", -+ BTCreate(&gbut[G_BGETRES],butF,BX3, BY2, 52,BUTTH,"CutRes", - infofg,infobg,hicol,locol); -- BTCreate(&gbut[G_BCLOSE],butF, BX3, BY3, 52,BUTTH,"Close", -+ BTCreate(&gbut[G_BCLOSE],butF, BX3, BY3, 52,BUTTH,"Close", - infofg,infobg,hicol,locol); - - -@@ -338,11 +339,11 @@ - - CBCreate(&enabCB, modF,2,2, "Display with HSV/RGB mods.", - infofg,infobg,hicol,locol); -- CBCreate(&autoCB, modF,2,2+17, "Auto-apply HSV/RGB mods.", -+ CBCreate(&autoCB, modF,2,2+17, "Auto-apply HSV/RGB mods.", - infofg,infobg,hicol,locol); - CBCreate(&dragCB, modF,2,2+17*2,"Auto-apply while dragging.", - infofg,infobg,hicol,locol); -- CBCreate(&resetCB,modF,2,2+17*3,"Auto-reset on new image.", -+ CBCreate(&resetCB,modF,2,2+17*3,"Auto-reset on new image.", - infofg,infobg,hicol,locol); - - enabCB.val = autoCB.val = resetCB.val = dragCB.val = 1; -@@ -359,23 +360,23 @@ - - srcHD.drawobj = dstHD.drawobj = whtHD.drawobj = dragHueDial; - -- DCreate(&satDial, hsvF, 100, 199, 100, 121, -100, 100, 0, 5, -+ DCreate(&satDial, hsvF, 100, 199, 100, 121, -100.0, 100.0, 0.0, 1.0, 5.0, - infofg, infobg,hicol,locol, "Saturation", "%"); - -- hueRB = RBCreate(NULL, hsvF, 7, 153, "1", -+ hueRB = RBCreate(NULL, hsvF, 7, 153, "1", - infofg, infobg,hicol,locol); -- RBCreate (hueRB,hsvF, 47, 153, "2", -+ RBCreate (hueRB,hsvF, 47, 153, "2", - infofg, infobg,hicol,locol); -- RBCreate (hueRB,hsvF, 87, 153, "3", -+ RBCreate (hueRB,hsvF, 87, 153, "3", - infofg, infobg,hicol,locol); -- RBCreate (hueRB,hsvF, 7, 170, "4", -+ RBCreate (hueRB,hsvF, 7, 170, "4", - infofg, infobg,hicol,locol); -- RBCreate (hueRB,hsvF, 47, 170, "5", -+ RBCreate (hueRB,hsvF, 47, 170, "5", - infofg, infobg,hicol,locol); -- RBCreate (hueRB,hsvF, 87, 170, "6", -+ RBCreate (hueRB,hsvF, 87, 170, "6", - infofg, infobg,hicol,locol); - -- BTCreate(&hueclrB, hsvF, 127, 158, 70, BUTTH, "Reset", -+ BTCreate(&hueclrB, hsvF, 127, 158, 70, BUTTH, "Reset", - infofg, infobg,hicol,locol); - - initHmap(); -@@ -394,13 +395,13 @@ - - InitGraf(&gGraf); - CreateGraf(&gGraf, rgbF, 10, 179, infofg, infobg, "Green"); -- -+ - InitGraf(&bGraf); - CreateGraf(&bGraf, rgbF, 10, 338, infofg, infobg, "Blue"); - - satDial.drawobj = dragGamma; - intGraf.drawobj = rGraf.drawobj = gGraf.drawobj = bGraf.drawobj = dragGamma; -- -+ - SetHSVmode(); - - ctrls2gamstate(&defstate); -@@ -415,14 +416,14 @@ - Str2Graf(&preset[1].rstate,"L 4 : 0,0 : 127,0 : 128,255 : 255,255"); - Str2Graf(&preset[1].gstate,"L 4 : 0,0 : 127,0 : 128,255 : 255,255"); - Str2Graf(&preset[1].bstate,"L 4 : 0,0 : 127,0 : 128,255 : 255,255"); -- -+ - - /* set up preset2 as a 'temperature' pseudo-color preset */ - ctrls2gamstate(&preset[2]); - Str2Graf(&preset[2].rstate,"S 4 : 0,0 : 105,0 : 155,140 : 255,255"); - Str2Graf(&preset[2].gstate,"S 5 : 0,0 : 57,135 : 127,255 : 198,135 : 255,0"); - Str2Graf(&preset[2].bstate,"S 4 : 0,255 : 100,140 : 150,0 : 255,0"); -- -+ - - /* set up preset3 as a 'map' pseudo-color preset */ - ctrls2gamstate(&preset[3]); -@@ -480,7 +481,7 @@ - - computeHSVlinear(); - } -- -+ - - /***************************************************/ - int GamCheckEvent(xev) -@@ -492,14 +493,14 @@ - int rv; - - rv = 1; -- -+ - if (xev->type == Expose) { - int x,y,w,h; - XExposeEvent *e = (XExposeEvent *) xev; - x = e->x; y = e->y; w = e->width; h = e->height; - - /* throw away excess redraws for 'dumb' windows */ -- if (e->count > 0 && -+ if (e->count > 0 && - (e->window == satDial.win || e->window == rhDial.win || - e->window == gsDial.win || e->window == bvDial.win || - e->window == cmapF || e->window == modF || -@@ -600,7 +601,7 @@ - - - else if (e->window == hsvF) { -- if (HDClick(&srcHD, x,y) || HDClick(&dstHD, x,y)) { -+ if (HDClick(&srcHD, x,y) || HDClick(&dstHD, x,y)) { - dials2hmap(); - build_hremap(); - changedGam(); -@@ -654,7 +655,7 @@ - e->window == gsDial.win || - e->window == bvDial.win) { - -- if ((e->window == rhDial.win && DTrack(&rhDial, x,y)) || -+ if ((e->window == rhDial.win && DTrack(&rhDial, x,y)) || - (e->window == gsDial.win && DTrack(&gsDial, x,y)) || - (e->window == bvDial.win && DTrack(&bvDial, x,y))) { - saveCMap(&prevcmap); -@@ -683,7 +684,7 @@ - XKeyEvent *e = (XKeyEvent *) xev; - char buf[128]; KeySym ks; - int stlen; -- -+ - stlen = XLookupString(e,buf,128,&ks,(XComposeStatus *) NULL); - buf[stlen] = '\0'; - -@@ -722,7 +723,7 @@ - - if (whtHD.enabCB.val && whtHD.satval) hsvnonlinear++; - -- if (satDial.val != 0) hsvnonlinear++; -+ if (satDial.val != 0.0) hsvnonlinear++; - - /* check intensity graf */ - for (i=0; i<256 && intGraf.func[i]==i; i++); -@@ -792,7 +793,7 @@ - int x,y; - { - XPoint pts[8]; -- -+ - pts[0].x = x+10; pts[0].y = y; - pts[1].x = x-4; pts[1].y = y-100; - pts[2].x = x-4; pts[2].y = y-40; -@@ -873,11 +874,11 @@ - XSetForeground(theDisp, theGC, infofg); - - if (picType != PIC8) { -- CenterString(cmapF, CMAPX + CMAPW/2, CMAPY + CMAPH/2, -+ CenterString(cmapF, CMAPX + CMAPW/2, CMAPY + CMAPH/2, - "No colormap in 24-bit mode."); - return; - } -- -+ - - - for (i=0; iwin == butF && PTINRECT(x, y, bp->x, bp->y, bp->w, bp->h)) break; - } - -- /* if 'Set' is lit, and we didn't click 'set' or 'Reset' or '1'..'4', -+ /* if 'Set' is lit, and we didn't click 'set' or 'Reset' or '1'..'4', - turn it off */ - if (i!=G_BSET && i!=G_B1 && i!=G_B2 && i!=G_B3 && i!=G_B4 && i!=G_BRESET - && gbut[G_BSET].lit) { -- gbut[G_BSET].lit = 0; -+ gbut[G_BSET].lit = 0; - BTRedraw(&gbut[G_BSET]); - } -- -+ - - if (i0, clicked on something in same group - remove target from group - curgroup>0, clicked on something in different group -- merge groups. (target group gets -+ merge groups. (target group gets - set equal to current values) - curgroup>0, clicked on something in no group - add target to curgroup - curgroup=0, clicked on something in a group -- add editColor to target group, -+ add editColor to target group, - set curgroup = target group - target group gets current values - curgroup=0, clicked on something in no group -@@ -1185,7 +1186,7 @@ - } - } - -- else if ((mode!=DELONLY) && cellgroup[cnum] != curgroup && -+ else if ((mode!=DELONLY) && cellgroup[cnum] != curgroup && - cellgroup[cnum]>0) { - /* merge clicked-on group into curgroup */ - mode = ADDONLY; -@@ -1196,11 +1197,11 @@ - selectCell(i,1); - rcmap[i] = rcmap[editColor]; - gcmap[i] = gcmap[editColor]; -- bcmap[i] = bcmap[editColor]; -+ bcmap[i] = bcmap[editColor]; - } - } - } -- -+ - else if ((mode!=DELONLY) && cellgroup[cnum] == 0) { - /* merge clicked-on cell into curgroup */ - mode = ADDONLY; -@@ -1209,7 +1210,7 @@ - selectCell(cnum,1); - rcmap[cnum] = rcmap[editColor]; - gcmap[cnum] = gcmap[editColor]; -- bcmap[cnum] = bcmap[editColor]; -+ bcmap[cnum] = bcmap[editColor]; - } - } - -@@ -1224,14 +1225,14 @@ - selectCell(i,1); - rcmap[i] = rcmap[editColor]; - gcmap[i] = gcmap[editColor]; -- bcmap[i] = bcmap[editColor]; -+ bcmap[i] = bcmap[editColor]; - } - } - curgroup = cellgroup[cnum]; - cellgroup[editColor] = curgroup; - } -- -- else if ((mode!=DELONLY) && (cellgroup[cnum] == 0) -+ -+ else if ((mode!=DELONLY) && (cellgroup[cnum] == 0) - && (cnum != editColor)) { - /* create new group for these two cells (cnum and editColor) */ - mode = ADDONLY; -@@ -1247,14 +1248,14 @@ - } - - return rv; --} -- -+} -+ - - /*********************/ - void ChangeEC(num) - int num; - { -- /* given a color # that is to become the new editColor, do all -+ /* given a color # that is to become the new editColor, do all - highlighting/unhighlighting, copy editColor's rgb values to - the rgb/hsv dials */ - -@@ -1291,18 +1292,18 @@ - rgb2hsv(rcmap[editColor], gcmap[editColor], bcmap[editColor], &h, &s, &v); - if (h<0) h = 0; - -- DSetVal(&rhDial, (int) h); -- DSetVal(&gsDial, (int) (s*100)); -- DSetVal(&bvDial, (int) (v*100)); -+ DSetVal(&rhDial, h); -+ DSetVal(&gsDial, s*100); -+ DSetVal(&bvDial, v*100); - } - else { -- DSetVal(&rhDial, rcmap[editColor]); -- DSetVal(&gsDial, gcmap[editColor]); -- DSetVal(&bvDial, bcmap[editColor]); -+ DSetVal(&rhDial, (double)rcmap[editColor]); -+ DSetVal(&gsDial, (double)gcmap[editColor]); -+ DSetVal(&bvDial, (double)bcmap[editColor]); - } - } -- -- -+ -+ - /*********************/ - void ApplyECctrls() - { -@@ -1310,16 +1311,15 @@ - - if (hsvmode) { - int rv, gv, bv; -- hsv2rgb((double) rhDial.val, ((double) gsDial.val) / 100.0, -- ((double) bvDial.val) / 100.0, &rv, &gv, &bv); -+ hsv2rgb(rhDial.val, gsDial.val / 100.0, bvDial.val / 100.0, &rv, &gv, &bv); - rcmap[editColor] = rv; - gcmap[editColor] = gv; - bcmap[editColor] = bv; - } - else { -- rcmap[editColor] = rhDial.val; -- gcmap[editColor] = gsDial.val; -- bcmap[editColor] = bvDial.val; -+ rcmap[editColor] = (int)rhDial.val; -+ gcmap[editColor] = (int)gsDial.val; -+ bcmap[editColor] = (int)bvDial.val; - } - } - -@@ -1330,7 +1330,7 @@ - { - /* this function generates the Floyd-Steinberg gamma curve (fsgamcr) - -- This function generates a 4 point spline curve to be used as a -+ This function generates a 4 point spline curve to be used as a - non-linear grey 'colormap'. Two of the points are nailed down at 0,0 - and 255,255, and can't be changed. You specify the other two. If - you specify points on the line (0,0 - 255,255), you'll get the normal -@@ -1345,7 +1345,7 @@ - double yf[4]; - - InitSpline(x, y, 4, yf); -- -+ - for (i=0; i<256; i++) { - j = (int) EvalSpline(x, y, yf, 4, (double) i); - if (j<0) j=0; -@@ -1364,14 +1364,14 @@ - - switch (cmd) { - -- case G_BAPPLY: -+ case G_BAPPLY: - if (enabCB.val != 1) { enabCB.val = 1; CBRedraw(&enabCB); } -- applyGamma(0); -+ applyGamma(0); - break; - - case G_BNOGAM: - if (enabCB.val != 0) { enabCB.val = 0; CBRedraw(&enabCB); } -- applyGamma(0); -+ applyGamma(0); - break; - - case G_BUNDO: gamUndo(); break; -@@ -1383,7 +1383,7 @@ - - - -- case G_BDN_BR: -+ case G_BDN_BR: - case G_BUP_BR: GetGrafState(&intGraf, &gs); - for (i=0; i < gs.nhands; i++) { - if (cmd==G_BUP_BR) gs.hands[i].y += 10; -@@ -1434,7 +1434,7 @@ - else if (cmd==G_B3) ptr = &preset[2]; - else if (cmd==G_B4) ptr = &preset[3]; - else if (cmd==G_BRESET) ptr = &defstate; -- -+ - if (gbut[G_BSET].lit) { - ctrls2gamstate(ptr); - gbut[G_BSET].lit = 0; -@@ -1454,7 +1454,7 @@ - break; - - -- case G_BCOLREV: -+ case G_BCOLREV: - { - struct cmapstate tmp1cmap; - int gchg; -@@ -1463,9 +1463,9 @@ - gchg = (i!=numcols); - - saveCMap(&tmpcmap); /* buffer current cmapstate */ -- -+ - for (i=0; i0 && !hist[i]; i--); - *rmaxv = i; - } -- -+ - else { /* PIC24 */ - int v,minv,maxv; - -@@ -1724,7 +1724,7 @@ - hist[v]++; - } - } -- -+ - *rminv = minv; *rmaxv = maxv; - } - -@@ -1764,13 +1764,13 @@ - int i, histeq[256], minv, maxv; - - calcHistEQ(histeq, &minv, &maxv); /* ignore minv,maxv */ -- -- for (i=0; i<256; i++) -+ -+ for (i=0; i<256; i++) - intGraf.func[i] = histeq[i]; -- -+ - for (i=0; i< intGraf.nhands; i++) - intGraf.hands[i].y = intGraf.func[intGraf.hands[i].x]; -- -+ - intGraf.entergamma = 0; - - if (gamUp) { -@@ -1797,7 +1797,7 @@ - if (v>maxv) maxv = v; - } - } -- else { -+ else { - int histeq[256]; - calcHistEQ(histeq, &minv, &maxv); /* ignore histeq */ - } -@@ -1833,11 +1833,11 @@ - for (i=0; i= 128*3) - ? white : black; - } -@@ -1875,7 +1875,7 @@ - if (DEBUG>1) fprintf(stderr," (v=%f)",v); - - if (h>=0) { -- hi = (int) h; -+ hi = (int) h; - if (hi<0) hi += 360; - if (hi>=360) hi -= 360; - h = (double) hremap[hi]; -@@ -1884,14 +1884,14 @@ - if (whtHD.enabCB.val) { - h = (double) whtHD.stval; - s = (double) whtHD.satval / 100.0; -- -+ - /* special case: if stval = satval = 0, set hue = -1 */ - if (whtHD.stval == 0 && whtHD.satval == 0) h = -1.0; - } - } - - /* apply satDial value to s */ -- s = s + ((double) satDial.val) / 100.0; -+ s = s + satDial.val / 100.0; - if (s<0.0) s = 0.0; - if (s>1.0) s = 1.0; - -@@ -1899,13 +1899,13 @@ - if (DEBUG>1) fprintf(stderr," -> %d,%d,%d",rv,gv,bv); - } - -- rMap[col] = rGraf.func[rv]; -+ rMap[col] = rGraf.func[rv]; - gMap[col] = gGraf.func[gv]; - bMap[col] = bGraf.func[bv]; - -- if (!ncols) -- cols[col] = -- (((int)rMap[col]) + ((int)gMap[col]) + ((int)bMap[col]) >= 128*3) -+ if (!ncols) -+ cols[col] = -+ (((int)rMap[col]) + ((int)gMap[col]) + ((int)bMap[col]) >= 128*3) - ? white : black; - - if (DEBUG>1) fprintf(stderr," -> %d,%d,%d\n",rMap[col],gMap[col],bMap[col]); -@@ -2001,13 +2001,13 @@ - { - xvbcopy((char *) hmap, (char *) gs->hmap, sizeof(hmap)); - -- gs->wht_stval = whtHD.stval; -- gs->wht_satval = whtHD.satval; -+ gs->wht_stval = whtHD.stval; -+ gs->wht_satval = whtHD.satval; - gs->wht_enab = whtHD.enabCB.val; - - gs->hueRBnum = RBWhich(hueRB); - -- gs->satval = satDial.val; -+ gs->satval = (int)satDial.val; - GetGrafState(&intGraf,&gs->istate); - GetGrafState(&rGraf, &gs->rstate); - GetGrafState(&gGraf, &gs->gstate); -@@ -2042,7 +2042,7 @@ - srcHD.ccwise = hm->src_ccw; - HDRedraw(&srcHD, HD_ALL | HD_CLEAR); - } -- -+ - if (dstHD.stval != hm->dst_st || - dstHD.enval != hm->dst_en || - dstHD.ccwise != hm->dst_ccw) { -@@ -2051,7 +2051,7 @@ - dstHD.ccwise = hm->dst_ccw; - HDRedraw(&dstHD, HD_ALL | HD_CLEAR); - } -- } -+ } - - - if (whtHD.stval != gs->wht_stval || whtHD.satval != gs->wht_satval || -@@ -2063,9 +2063,9 @@ - HDRedraw(&whtHD, HD_ALL | HD_CLEAR); - changed++; - } -- -- if (gs->satval != satDial.val) { -- DSetVal(&satDial,gs->satval); -+ -+ if (gs->satval != (int)satDial.val) { -+ DSetVal(&satDial,(double)gs->satval); - changed++; - } - -@@ -2203,7 +2203,7 @@ - } - - -- -+ - - /*********************/ - static void parseResources() -@@ -2226,7 +2226,7 @@ - if (i) { sprintf(gname,"preset%d",i); gsp = &preset[i-1]; } - else { sprintf(gname,"default"); gsp = &defstate; } - -- xvbcopy((char *) gsp, (char *) &gs, -+ xvbcopy((char *) gsp, (char *) &gs, - sizeof(struct gamstate)); /* load 'gs' with defaults */ - - for (j=0; j<6; j++) { /* xv.*.huemap resources */ -@@ -2239,7 +2239,7 @@ - lower_str(def_str); - if (sscanf(def_str,"%d %d %s %d %d %s", - &fst, &fen, fcw, &tst, &ten, tcw) != 6) { -- fprintf(stderr,"%s: unable to parse resource 'xv.%s: %s'\n", -+ fprintf(stderr,"%s: unable to parse resource 'xv.%s: %s'\n", - cmd, tmp, def_str); - } - else { -@@ -2260,7 +2260,7 @@ - int wst, wsat, enab; - if (DEBUG) fprintf(stderr,"parseResource 'xv.%s: %s'\n",tmp, def_str); - if (sscanf(def_str,"%d %d %d", &wst, &wsat, &enab) != 3) { -- fprintf(stderr,"%s: unable to parse resource 'xv.%s: %s'\n", -+ fprintf(stderr,"%s: unable to parse resource 'xv.%s: %s'\n", - cmd, tmp, def_str); - } - else { /* successful parse */ -@@ -2276,7 +2276,7 @@ - int sat; - if (DEBUG) fprintf(stderr,"parseResource 'xv.%s: %s'\n",tmp, def_str); - if (sscanf(def_str,"%d", &sat) != 1) { -- fprintf(stderr,"%s: unable to parse resource 'xv.%s: %s'\n", -+ fprintf(stderr,"%s: unable to parse resource 'xv.%s: %s'\n", - cmd, tmp, def_str); - } - else { /* successful parse */ -@@ -2304,7 +2304,7 @@ - } - } - } -- -+ - /* copy (potentially) modified gs back to default/preset */ - xvbcopy((char *) &gs, (char *) gsp, sizeof(struct gamstate)); - } -@@ -2324,16 +2324,16 @@ - /* write out current state */ - ctrls2gamstate(&gstate); - strcpy(gname, "xv.default"); -- -+ - /* write out huemap resources */ - for (i=0; i<6; i++) { - if (1 || gstate.hmap[i].src_st != gstate.hmap[i].dst_st || - gstate.hmap[i].src_en != gstate.hmap[i].dst_en || - gstate.hmap[i].src_ccw != gstate.hmap[i].dst_ccw) { -- sprintf(tmp, "%s.huemap%d: %3d %3d %3s %3d %3d %3s\n", gname, i+1, -- gstate.hmap[i].src_st, gstate.hmap[i].src_en, -+ sprintf(tmp, "%s.huemap%d: %3d %3d %3s %3d %3d %3s\n", gname, i+1, -+ gstate.hmap[i].src_st, gstate.hmap[i].src_en, - gstate.hmap[i].src_ccw ? "CCW" : "CW", -- gstate.hmap[i].dst_st, gstate.hmap[i].dst_en, -+ gstate.hmap[i].dst_st, gstate.hmap[i].dst_en, - gstate.hmap[i].dst_ccw ? "CCW" : "CW"); - strcat(rsrc, tmp); - } -@@ -2341,7 +2341,7 @@ - - /* write out whtmap resource */ - if (1 || gstate.wht_stval || gstate.wht_satval || gstate.wht_enab != 1) { -- sprintf(tmp, "%s.whtmap: %d %d %d\n", gname, gstate.wht_stval, -+ sprintf(tmp, "%s.whtmap: %d %d %d\n", gname, gstate.wht_stval, - gstate.wht_satval, gstate.wht_enab); - strcat(rsrc, tmp); - } -@@ -2372,7 +2372,7 @@ - - NewCutBuffer(rsrc); - } -- -+ - - /*****************************/ - static void dragGamma () -@@ -2381,14 +2381,14 @@ - while gamma ctrls are being dragged - applies change to image if dragCB.val is set - does NOT call saveGamState() (as changedGam does) */ -- -+ - if (dragCB.val && dragCB.active) { - hsvnonlinear = 1; /* force HSV calculations during drag */ - applyGamma(0); - } - } - -- -+ - /*****************************/ - static void dragHueDial() - { -@@ -2396,7 +2396,7 @@ - while hue gamma ctrls are being dragged - applies change to image if dragCB.val is set - does NOT call saveGamState() (as changedGam does) */ -- -+ - if (dragCB.val && dragCB.active) { - dials2hmap(); - build_hremap(); -@@ -2413,14 +2413,14 @@ - while color editor ctrls are being dragged - applies change to image if dragCB.val is set - does NOT call saveCMap(&prevcmap); BTSetActive(&gbut[G_BCOLUNDO],1); */ -- -+ - if (dragCB.val && dragCB.active) ApplyEditColor(0); - } - - -- -- -- -+ -+ -+ - - /**********************************************/ - /************* HUE wheel functions ***********/ -@@ -2435,11 +2435,11 @@ - - /**************************************************/ - static void HDCreate(hd, win, x, y, r, st, en, ccwise, str, fg, bg) --HDIAL *hd; --Window win; --int x,y,r,st,en,ccwise; --char *str; --u_long fg,bg; -+ HDIAL *hd; -+ Window win; -+ int x, y, r, st, en, ccwise; -+ const char *str; -+ u_long fg, bg; - { - int i; - -@@ -2470,7 +2470,7 @@ - hdbpix2[HDB_ROTR] = hdbpix1[HDB_ROTR]; - } - -- -+ - #define BCOLS fg,bg,hicol,locol - - if (hd->range) { -@@ -2520,13 +2520,13 @@ - } - - if (flags & HD_FRAME) { -- static char *colstr = "RYGCBM"; -+ static const char *colstr = "RYGCBM"; - char tstr[2]; - - XSetForeground(theDisp, theGC, hd->fg); - XDrawArc(theDisp, hd->win, theGC, hd->x - HD_RADIUS, hd->y - HD_RADIUS, - HD_RADIUS*2, HD_RADIUS*2, 0, 360*64); -- -+ - for (i=0; i<6; i++) { - int kldg; - -@@ -2553,8 +2553,8 @@ - a = hdg2xdg(hd->stval) * DEG2RAD; - pol2xy(hd->x, hd->y, a, HD_RADIUS - 4, &x, &y); - XDrawLine(theDisp, hd->win, theGC, hd->x, hd->y, x,y); -- -- if (flags & HD_CLHNDS) -+ -+ if (flags & HD_CLHNDS) - XFillRectangle(theDisp, hd->win, theGC, x-2,y-2, 5,5); - else { - XSetForeground(theDisp, theGC, hd->bg); -@@ -2567,8 +2567,8 @@ - a = hdg2xdg(hd->enval) * DEG2RAD; - pol2xy(hd->x, hd->y, a, HD_RADIUS - 4, &x, &y); - XDrawLine(theDisp, hd->win, theGC, hd->x, hd->y, x,y); -- -- if (flags & HD_CLHNDS) -+ -+ if (flags & HD_CLHNDS) - XFillRectangle(theDisp, hd->win, theGC, x-2,y-2, 5,5); - else { - XSetForeground(theDisp, theGC, hd->bg); -@@ -2587,7 +2587,7 @@ - r = ((HD_RADIUS - 4) * hd->satval) / 100; - pol2xy(hd->x, hd->y, a, r, &x, &y); - -- if (flags & HD_CLHNDS) -+ if (flags & HD_CLHNDS) - XFillRectangle(theDisp, hd->win, theGC, x-2,y-2, 5,5); - else { - XFillRectangle(theDisp, hd->win, theGC, hd->x-1, hd->y-1, 3,3); -@@ -2600,7 +2600,7 @@ - } - } - } -- -+ - - - -@@ -2653,13 +2653,13 @@ - XSetBackground(theDisp, theGC, hd->bg); - - if (hd->range) { -- sprintf(vstr,"%3d\007,%3d\007 %s", hd->stval, hd->enval, -+ sprintf(vstr,"%3d\007,%3d\007 %s", hd->stval, hd->enval, - hd->ccwise ? "CCW" : " CW"); - } - else { - sprintf(vstr,"%3d\007 %3d%%", hd->stval, hd->satval); - } -- -+ - XDrawImageString(theDisp, hd->win, theGC, - hd->x - XTextWidth(monofinfo, vstr, (int) strlen(vstr))/2, - hd->y + HD_RADIUS + 24, vstr, (int) strlen(vstr)); -@@ -2669,7 +2669,7 @@ - - if (flags & HD_TITLE) { - XSetForeground(theDisp, theGC, hd->fg); -- ULineString(hd->win, hd->x - HD_RADIUS - 15, hd->y - HD_RADIUS - 4, -+ ULineString(hd->win, hd->x - HD_RADIUS - 15, hd->y - HD_RADIUS - 4, - hd->str); - } - -@@ -2694,7 +2694,7 @@ - } - - -- -+ - /**************************************************/ - static int HDClick(hd,mx,my) - HDIAL *hd; -@@ -2716,7 +2716,7 @@ - if (!hd->range && !hd->enabCB.val) return 0; /* disabled */ - - -- if ( ((mx - hd->x) * (mx - hd->x) + (my - hd->y) * (my - hd->y)) -+ if ( ((mx - hd->x) * (mx - hd->x) + (my - hd->y) * (my - hd->y)) - < (HD_RADIUS * HD_RADIUS)) { - return HDTrack(hd,mx,my); - } -@@ -2816,14 +2816,14 @@ - hd->satval--; if (hd->satval<0) hd->satval = 0; - HDRedraw(hd, HD_HANDS | HD_VALS); - } -- -+ - else if (bnum == HDB_SAT && hd->satval<100) { - HDRedraw(hd, HD_CLHNDS); - hd->satval++; if (hd->satval>100) hd->satval = 100; - HDRedraw(hd, HD_HANDS | HD_VALS); - } - } -- -+ - break; - } - -@@ -2836,7 +2836,7 @@ - } - - if (bp->lit) { bp->lit = 0; BTRedraw(bp); } -- -+ - return 1; - } - -@@ -2872,7 +2872,7 @@ - - dx = x - hd->x; dy = y - hd->y; - dist = sqrt(dx*dx + dy*dy); -- -+ - newsat = (int) (dist / ((double) (HD_RADIUS - 4)) * 100); - RANGE(newsat,0,100); - -@@ -2899,7 +2899,7 @@ - a = hdg2xdg(hd->enval) * DEG2RAD; - pol2xy(hd->x, hd->y, a, HD_RADIUS-4, &x,&y); - if (PTINRECT(mx,my,x-3,y-3,7,7)) handle = 2; -- -+ - - - if (!handle) { /* not in either, rotate both */ -@@ -2939,7 +2939,7 @@ - } - rv = (origj != j); - } -- -+ - - else { /* in one of the handles */ - if (handle==1) valp = &(hd->stval); else valp = &(hd->enval); -@@ -2958,22 +2958,22 @@ - - if (!hd->ccwise) { - ddist = (hd->enval - hd->stval + 360) % 360; -- if (handle==1) -+ if (handle==1) - ndist = (hd->enval - j + 360) % 360; - else - ndist = (j - hd->stval + 360) % 360; - } - else { - ddist = (hd->stval - hd->enval + 360) % 360; -- if (handle==1) -+ if (handle==1) - ndist = (j - hd->enval + 360) % 360; - else - ndist = (hd->stval - j + 360) % 360; - } - -- if (abs(ddist - ndist) >= 180 && ddist<180) -+ if (abs(ddist - ndist) >= 180 && ddist<180) - hd->ccwise = !hd->ccwise; -- -+ - *valp = j; - HDRedraw(hd, HD_HANDS | HD_DIR | HD_VALS); - -@@ -2986,8 +2986,8 @@ - - return rv; - } -- -- -+ -+ - - /**************************************************/ - static int hdg2xdg(hdg) -@@ -3012,7 +3012,7 @@ - *yp = cy - (int) (sin(ang) * (double) rad); - } - -- -+ - /***************************************************/ - static int computeHDval(hd, x, y) - HDIAL *hd; -@@ -3044,7 +3044,7 @@ - - - -- -+ - /****************************************************/ - static void initHmap() - { -@@ -3117,10 +3117,10 @@ - (hmap[i].src_en != hmap[i].dst_en) || - (hmap[i].src_ccw != hmap[i].dst_ccw)) { /* not a 1:1 mapping */ - -- st1 = hmap[i].src_st; -+ st1 = hmap[i].src_st; - en1 = hmap[i].src_en; - if (hmap[i].src_ccw) { -- inc1 = -1; -+ inc1 = -1; - len1 = (st1 - en1 + 360) % 360; - } - else { -@@ -3131,7 +3131,7 @@ - st2 = hmap[i].dst_st; - en2 = hmap[i].dst_en; - if (hmap[i].dst_ccw) { -- inc2 = -1; -+ inc2 = -1; - len2 = (st2 - en2 + 360) % 360; - } - else { -@@ -3179,7 +3179,7 @@ - - byte *pp, *op; - int i,j; -- int rv, gv, bv, vi, hi; -+ int rv, gv, bv; - byte *outpic; - int min, max, del, h, s, v; - int f, p, q, t, vs100, vsf10000; -@@ -3200,7 +3200,7 @@ - - if (whtHD.enabCB.val && whtHD.satval) hsvmod++; - -- if (satDial.val != 0) hsvmod++; -+ if (satDial.val != 0.0) hsvmod++; - - /* check intensity graf */ - for (i=0; i<256; i++) { -@@ -3270,7 +3270,7 @@ - - /* map near-black to black to avoid weird effects */ - if (v <= 16) s = 0; -- -+ - /* apply intGraf.func[] function to 'v' (the intensity) */ - v = intGraf.func[v]; - -@@ -3284,7 +3284,7 @@ - } - - /* apply satDial value to s */ -- s = s + satDial.val; -+ s = s + (int)satDial.val; - if (s< 0) s = 0; - if (s>100) s = 100; - -@@ -3295,7 +3295,7 @@ - if (h==NOHUE || !s) { rv = gv = bv = v; } - else { - if (h==360) h = 0; -- -+ - h = (h*100) / 60; /* h is in range 000..599 (0.0 - 5.99) */ - j = h - (h%100); /* j = 000, 100, 200, 300, 400, 500 */ - f = h - j; /* 'fractional' part of h (00..99) */ -@@ -3305,7 +3305,7 @@ - p = v - vs100; - q = v - vsf10000; - t = v - vs100 + vsf10000; -- -+ - switch (j) { - case 000: rv = v; gv = t; bv = p; break; - case 100: rv = q; gv = v; bv = p; break; -@@ -3319,7 +3319,7 @@ - } /* if hsvmod */ - - -- *op++ = rGraf.func[rv]; -+ *op++ = rGraf.func[rv]; - *op++ = gGraf.func[gv]; - *op++ = bGraf.func[bv]; - } -diff -ru xv-3.10a/xvgif.c xv-3.10a-enhancements/xvgif.c ---- xv-3.10a/xvgif.c 1995-01-10 11:54:41.000000000 -0800 -+++ xv-3.10a-enhancements/xvgif.c 2007-05-13 17:33:51.000000000 -0700 -@@ -28,17 +28,19 @@ - typedef int boolean; - - #define NEXTBYTE (*dataptr++) -+#define SKIPBYTE (dataptr++) /* quiet some compiler warnings */ - #define EXTENSION 0x21 --#define IMAGESEP 0x2c -+#define IMAGESEP 0x2c /* a.k.a. Image Descriptor */ - #define TRAILER 0x3b - #define INTERLACEMASK 0x40 - #define COLORMAPMASK 0x80 - -- - --FILE *fp; - --int BitOffset = 0, /* Bit Offset of next code */ -+static FILE *fp; -+ -+static int -+ BitOffset = 0, /* Bit Offset of next code */ - XC = 0, YC = 0, /* Output X and Y coords of current pixel */ - Pass = 0, /* Used by output routine if interlaced pic */ - OutCount = 0, /* Decompressor output 'stack count' */ -@@ -46,9 +48,10 @@ - Width, Height, /* image dimensions */ - LeftOfs, TopOfs, /* image offset */ - BitsPerPixel, /* Bits per pixel, read from GIF header */ -- BytesPerScanline, /* bytes per scanline in output raster */ -+/* BytesPerScanline, */ /* bytes per scanline in output raster */ - ColorMapSize, /* number of colors */ - Background, /* background color */ -+ Transparent, /* transparent color (GRR 19980314) */ - CodeSize, /* Code size, read from GIF header */ - InitCodeSize, /* Starting code size, used during Clear */ - Code, /* Value returned by ReadCode */ -@@ -57,47 +60,49 @@ - EOFCode, /* GIF end-of-information code */ - CurCode, OldCode, InCode, /* Decompressor variables */ - FirstFree, /* First free code, generated per GIF spec */ -- FreeCode, /* Decompressor,next free slot in hash table */ -+ FreeCode, /* Decompressor, next free slot in hash table */ - FinChar, /* Decompressor variable */ - BitMask, /* AND mask for data size */ - ReadMask, /* Code AND mask for current code size */ -- Misc; /* miscellaneous bits (interlace, local cmap)*/ -+ Misc, /* miscellaneous bits (interlace, local cmap)*/ -+ GlobalBitsPerPixel, /* may have local colormap of different size */ -+ GlobalColorMapSize, /* (ditto) */ -+ GlobalBitMask; /* (ditto) */ - - --boolean Interlace, HasColormap; -+static boolean Interlace, HasGlobalColormap; - --byte *RawGIF; /* The heap array to hold it, raw */ --byte *Raster; /* The raster data stream, unblocked */ --byte *pic8; -+static byte *RawGIF; /* The heap array to hold it, raw */ -+static byte *Raster; /* The raster data stream, unblocked */ -+static byte *pic8; - - /* The hash table used by the decompressor */ --int Prefix[4096]; --int Suffix[4096]; -+static int Prefix[4096]; -+static int Suffix[4096]; - - /* An output array used by the decompressor */ --int OutCode[4097]; -+static int OutCode[4097]; - --int gif89 = 0; --char *id87 = "GIF87a"; --char *id89 = "GIF89a"; -+static int gif89 = 0; -+static const char *id87 = "GIF87a"; -+static const char *id89 = "GIF89a"; - --static int EGApalette[16][3] = { -- {0,0,0}, {0,0,128}, {0,128,0}, {0,128,128}, -+static int const EGApalette[16][3] = { -+ {0,0,0}, {0,0,128}, {0,128,0}, {0,128,128}, - {128,0,0}, {128,0,128}, {128,128,0}, {200,200,200}, - {100,100,100}, {100,100,255}, {100,255,100}, {100,255,255}, - {255,100,100}, {255,100,255}, {255,255,100}, {255,255,255} }; -- -+ - - static int readImage PARM((PICINFO *)); - static int readCode PARM((void)); - static void doInterlace PARM((int)); --static int gifError PARM((PICINFO *, char *)); --static void gifWarning PARM((char *)); -+static int gifError PARM((PICINFO *, const char *)); -+static void gifWarning PARM((const char *)); - --int filesize; --char *bname; -- --byte *dataptr; -+static int filesize; -+static const char *bname; -+static byte *dataptr; - - - /*****************************/ -@@ -108,17 +113,22 @@ - { - /* returns '1' if successful */ - -- register byte ch, ch1, *origptr; -+ register byte ch, *origptr; - register int i, block; -- int aspect, gotimage; -+ int aspect; -+ char tmpname[256]; -+ byte r[256], g[256], b[256]; - - /* initialize variables */ -- BitOffset = XC = YC = Pass = OutCount = gotimage = 0; -+ BitOffset = XC = YC = OutCount = 0; -+ Pass = -1; - RawGIF = Raster = pic8 = NULL; - gif89 = 0; -+ Transparent = -1; - - pinfo->pic = (byte *) NULL; - pinfo->comment = (char *) NULL; -+ pinfo->numpages= 0; - - bname = BaseName(fname); - fp = xv_fopen(fname,"r"); -@@ -129,67 +139,87 @@ - fseek(fp, 0L, 2); - filesize = ftell(fp); - fseek(fp, 0L, 0); -- -- /* the +256's are so we can read truncated GIF files without fear of -+ -+ if (filesize + 256 < filesize) -+ return( gifError(pinfo, "GIF file size is too large") ); -+ -+ /* the +256's are so we can read truncated GIF files without fear of - segmentation violation */ - if (!(dataptr = RawGIF = (byte *) calloc((size_t) filesize+256, (size_t) 1))) -- return( gifError(pinfo, "not enough memory to read gif file") ); -- -- if (!(Raster = (byte *) calloc((size_t) filesize+256,(size_t) 1))) -- return( gifError(pinfo, "not enough memory to read gif file") ); -- -- if (fread(dataptr, (size_t) filesize, (size_t) 1, fp) != 1) -- return( gifError(pinfo, "GIF data read failed") ); -+ FatalError("LoadGIF: not enough memory to read GIF file"); - -+ if (!(Raster = (byte *) calloc((size_t) filesize+256,(size_t) 1))) -+ FatalError("LoadGIF: not enough memory to read GIF file"); -+ -+ if (fread(dataptr, (size_t) filesize, (size_t) 1, fp) != 1) -+ return( gifError(pinfo, "GIF data read failed") ); -+ fclose(fp); - - origptr = dataptr; - - if (strncmp((char *) dataptr, id87, (size_t) 6)==0) gif89 = 0; - else if (strncmp((char *) dataptr, id89, (size_t) 6)==0) gif89 = 1; - else return( gifError(pinfo, "not a GIF file")); -- -+ - dataptr += 6; -- -+ - /* Get variables from the GIF screen descriptor */ -- -+ - ch = NEXTBYTE; - RWidth = ch + 0x100 * NEXTBYTE; /* screen dimensions... not used. */ - ch = NEXTBYTE; - RHeight = ch + 0x100 * NEXTBYTE; -- -+ if (DEBUG) fprintf(stderr,"GIF89 logical screen = %d x %d\n",RWidth,RHeight); -+ - ch = NEXTBYTE; -- HasColormap = ((ch & COLORMAPMASK) ? True : False); -- -- BitsPerPixel = (ch & 7) + 1; -- numcols = ColorMapSize = 1 << BitsPerPixel; -- BitMask = ColorMapSize - 1; -- -+ HasGlobalColormap = ((ch & COLORMAPMASK) ? True : False); -+ -+ /* GRR 20070318: fix decoding bug when global and local color-table sizes -+ * differ */ -+ GlobalBitsPerPixel = BitsPerPixel = (ch & 7) + 1; -+ GlobalColorMapSize = ColorMapSize = numcols = 1 << BitsPerPixel; -+ GlobalBitMask = BitMask = ColorMapSize - 1; -+ - Background = NEXTBYTE; /* background color... not used. */ -- -+ - aspect = NEXTBYTE; - if (aspect) { - if (!gif89) return(gifError(pinfo,"corrupt GIF file (screen descriptor)")); - else normaspect = (float) (aspect + 15) / 64.0; /* gif89 aspect ratio */ - if (DEBUG) fprintf(stderr,"GIF89 aspect = %f\n", normaspect); -+ /* FIXME: apparently this _should_ apply to all frames in a multi-image -+ * GIF (i.e., PgUp/PgDn), but it doesn't */ - } -- -- -+ -+ - /* Read in global colormap. */ -- -- if (HasColormap) -+ -+ if (HasGlobalColormap) - for (i=0; ir[i] = NEXTBYTE; -- pinfo->g[i] = NEXTBYTE; -- pinfo->b[i] = NEXTBYTE; -+ r[i] = NEXTBYTE; -+ g[i] = NEXTBYTE; -+ b[i] = NEXTBYTE; - } -- else { /* no colormap in GIF file */ -+ else { /* no _global_ colormap in GIF file (but may have local one(s)) */ - /* put std EGA palette (repeated 16 times) into colormap, for lack of -- anything better to do */ -+ anything better to do at the moment */ - - for (i=0; i<256; i++) { -- pinfo->r[i] = EGApalette[i&15][0]; -- pinfo->g[i] = EGApalette[i&15][1]; -- pinfo->b[i] = EGApalette[i&15][2]; -+ r[i] = EGApalette[i&15][0]; -+ g[i] = EGApalette[i&15][1]; -+ b[i] = EGApalette[i&15][2]; -+ } -+ } -+ memcpy(pinfo->r, r, sizeof r); -+ memcpy(pinfo->g, g, sizeof g); -+ memcpy(pinfo->b, b, sizeof b); -+ -+ if (DEBUG > 1) { -+ fprintf(stderr," global color table%s:\n", -+ HasGlobalColormap? "":" (repeated EGA palette)"); -+ for (i=0; ir[i], -+ pinfo->g[i], pinfo->b[i]); - } - } - -@@ -221,19 +251,19 @@ - if (blocksize == 2) { - aspnum = NEXTBYTE; - aspden = NEXTBYTE; -- if (aspden>0 && aspnum>0) -+ if (aspden>0 && aspnum>0) - normaspect = (float) aspnum / (float) aspden; - else { normaspect = 1.0; aspnum = aspden = 1; } - -- if (DEBUG) fprintf(stderr,"GIF87 aspect extension: %d:%d = %f\n\n", -+ if (DEBUG) fprintf(stderr,"GIF87 aspect extension: %d:%d = %f\n\n", - aspnum, aspden,normaspect); - } - else { -- for (i=0; i0) { /* eat any following data subblocks */ -- for (i=0; i0) { /* build into one un-blocked comment */ -+ /* this can overflow iff cmtlen == 2G - 1, but then filesize -+ * would have to be > 2GB, which was disallowed above */ - cmt = (byte *) malloc((size_t) (cmtlen + 1)); -- if (!cmt) gifWarning("couldn't malloc space for comments\n"); -- else { -+ if (!cmt) FatalError("LoadGIF: couldn't malloc space for comments"); -+ /* else */ { - sp = cmt; - do { - sbsize = (*ptr1++); -@@ -267,10 +299,10 @@ - if (pinfo->comment) { /* have to strcat onto old comments */ - cmt1 = (byte *) malloc(strlen(pinfo->comment) + cmtlen + 2); - if (!cmt1) { -- gifWarning("couldn't malloc space for comments\n"); - free(cmt); -+ FatalError("LoadGIF: couldn't malloc space for comments"); - } -- else { -+ /* else */ { - strcpy((char *) cmt1, (char *) pinfo->comment); - strcat((char *) cmt1, (char *) "\n"); - strcat((char *) cmt1, (char *) cmt); -@@ -288,8 +320,8 @@ - else if (fn == 0x01) { /* PlainText Extension */ - int j,sbsize,ch; - int tgLeft, tgTop, tgWidth, tgHeight, cWidth, cHeight, fg, bg; -- -- SetISTR(ISTR_INFO, "%s: %s", bname, -+ -+ SetISTR(ISTR_INFO, "%s: %s", bname, - "PlainText extension found in GIF file. Ignored."); - - sbsize = NEXTBYTE; -@@ -302,12 +334,12 @@ - fg = NEXTBYTE; - bg = NEXTBYTE; - i=12; -- for ( ; inumpages+1); -+ if (DEBUG) fprintf(stderr, " at start: offset=0x%lx\n", -+ (unsigned long)(dataptr-RawGIF)); -+ -+ BitOffset = XC = YC = Pass = OutCount = 0; -+ -+ if (pinfo->numpages > 0) { /* do multipage stuff */ -+ if (pinfo->numpages == 1) { /* first time only... */ -+ xv_mktemp(pinfo->pagebname, "xvpgXXXXXX"); // a.k.a. close(mkstemp()) -+ if (pinfo->pagebname[0] == '\0') { -+ ErrPopUp("LoadGIF: Unable to create temporary filename???", -+ "\nHow unlikely!"); -+ return 0; -+ } -+ /* GRR 20070328: basename file doesn't go away, at least on Linux -+ * (though all appended-number ones do); ergo, open for reading (see -+ * if it's there), close, and explicitly unlink() if necessary */ -+ /* GRR 20070506: could/should call KillPageFiles() (xv.c) instead */ -+ fp = xv_fopen(pinfo->pagebname, "r"); -+ if (fp) { -+ fclose(fp); -+ unlink(pinfo->pagebname); /* no errors during testing */ - } - } -- -- NEXTBYTE; /* minimum code size */ -- -- /* skip image data sub-blocks */ -- do { -- ch = ch1 = NEXTBYTE; -- while (ch--) NEXTBYTE; -- if ((dataptr - RawGIF) > filesize) break; /* EOF */ -- } while(ch1); -- } -- -- else if (readImage(pinfo)) gotimage = 1; -- if (DEBUG) fprintf(stderr," at end: dataptr=0x%lx\n",dataptr-RawGIF); -+ sprintf(tmpname, "%s%d", pinfo->pagebname, pinfo->numpages); -+ fp = xv_fopen(tmpname, "w"); -+ if (!fp) { -+ ErrPopUp("LoadGIF: Unable to open temp file", "\nDang!"); -+ return 0; -+ } -+ if (WriteGIF(fp, pinfo->pic, pinfo->type, pinfo->w, pinfo->h, pinfo->r, -+ pinfo->g, pinfo->b, numcols, pinfo->colType, NULL)) { -+ fclose(fp); -+ ErrPopUp("LoadGIF: Error writing temp file", "\nBummer!"); -+ return 0; -+ } -+ fclose(fp); -+ free(pinfo->pic); -+ pinfo->pic = (byte *) NULL; -+ if (HasGlobalColormap) { -+ memcpy(pinfo->r, r, sizeof r); -+ memcpy(pinfo->g, g, sizeof g); -+ memcpy(pinfo->b, b, sizeof b); -+ } -+ BitsPerPixel = GlobalBitsPerPixel; -+ numcols = ColorMapSize = GlobalColorMapSize; -+ BitMask = GlobalBitMask; -+ } -+ if (readImage(pinfo)) ++pinfo->numpages; -+ if (DEBUG) fprintf(stderr, " at end: offset=0x%lx\n", -+ (unsigned long)(dataptr-RawGIF)); - } - - -@@ -416,9 +484,9 @@ - /* don't mention bad block if file was trunc'd, as it's all bogus */ - if ((dataptr - origptr) < filesize) { - sprintf(str, "Unknown block type (0x%02x) at offset 0x%lx", -- block, (dataptr - origptr) - 1); -+ block, (unsigned long)(dataptr - origptr) - 1); - -- if (!gotimage) return gifError(pinfo, str); -+ if (!pinfo->numpages) return gifError(pinfo, str); - else gifWarning(str); - } - -@@ -431,8 +499,34 @@ - free(RawGIF); RawGIF = NULL; - free(Raster); Raster = NULL; - -- if (!gotimage) -+ if (!pinfo->numpages) - return( gifError(pinfo, "no image data found in GIF file") ); -+ if (pinfo->numpages > 1) { -+ /* write the last page temp file */ -+ int numpages = pinfo->numpages; -+ char *comment = pinfo->comment; -+ sprintf(tmpname, "%s%d", pinfo->pagebname, pinfo->numpages); -+ fp = xv_fopen(tmpname, "w"); -+ if (!fp) { -+ ErrPopUp("LoadGIF: Unable to open temp file", "\nDang!"); -+ return 0; -+ } -+ if (WriteGIF(fp, pinfo->pic, pinfo->type, pinfo->w, pinfo->h, pinfo->r, -+ pinfo->g, pinfo->b, numcols, pinfo->colType, NULL)) { -+ fclose(fp); -+ ErrPopUp("LoadGIF: Error writing temp file", "\nBummer!"); -+ return 0; -+ } -+ fclose(fp); -+ free(pinfo->pic); -+ pinfo->pic = (byte *) NULL; -+ -+ /* load the first page temp file */ -+ sprintf(tmpname, "%s%d", pinfo->pagebname, 1); -+ i = LoadGIF(tmpname, pinfo); -+ pinfo->numpages = numpages; -+ pinfo->comment = comment; -+ } - - return 1; - } -@@ -444,11 +538,12 @@ - { - register byte ch, ch1, *ptr1, *picptr; - int i, npixels, maxpixels; -+ boolean HasLocalColormap; - - npixels = maxpixels = 0; - - /* read in values from the image descriptor */ -- -+ - ch = NEXTBYTE; - LeftOfs = ch + 0x100 * NEXTBYTE; - ch = NEXTBYTE; -@@ -460,45 +555,68 @@ - - Misc = NEXTBYTE; - Interlace = ((Misc & INTERLACEMASK) ? True : False); -+ HasLocalColormap = ((Misc & COLORMAPMASK) ? True : False); - -- if (Misc & 0x80) { -- for (i=0; i< 1 << ((Misc&7)+1); i++) { -+ if (HasLocalColormap) { -+ BitsPerPixel = (Misc & 7) + 1; -+ ColorMapSize = numcols = 1 << BitsPerPixel; /* GRR 20070318 */ -+ BitMask = ColorMapSize - 1; -+ if (DEBUG) fprintf(stderr," local color table, %d bits (%d entries)\n", -+ (Misc&7)+1, ColorMapSize); -+ for (i=0; ir[i] = NEXTBYTE; - pinfo->g[i] = NEXTBYTE; - pinfo->b[i] = NEXTBYTE; - } -+ if (DEBUG > 1) { -+ for (i=0; ir[i], -+ pinfo->g[i], pinfo->b[i]); -+ } -+ } - } - - -- if (!HasColormap && !(Misc&0x80)) { -+ if (!HasGlobalColormap && !HasLocalColormap) { - /* no global or local colormap */ -- SetISTR(ISTR_WARNING, "%s: %s", bname, -+ SetISTR(ISTR_WARNING, "%s: %s", bname, - "No colormap in this GIF file. Assuming EGA colors."); - } -- - -- -+ -+ /* GRR 19980314 */ -+ /* need not worry about size of EGA palette: full 256 colors */ -+ if (have_imagebg && Transparent >= 0 && -+ Transparent < ((Misc&0x80)? (1 << ((Misc&7)+1)) : ColorMapSize) ) -+ { -+ pinfo->r[Transparent] = (imagebgR >> 8); -+ pinfo->g[Transparent] = (imagebgG >> 8); -+ pinfo->b[Transparent] = (imagebgB >> 8); -+ } -+ -+ -+ - /* Start reading the raster data. First we get the intial code size - * and compute decompressor constant values, based on this code size. - */ -- -+ - CodeSize = NEXTBYTE; - - ClearCode = (1 << CodeSize); - EOFCode = ClearCode + 1; - FreeCode = FirstFree = ClearCode + 2; -- -+ - /* The GIF spec has it that the code size is the code size used to - * compute the above values is the code size given in the file, but the - * code size used in compression/decompression is the code size given in - * the file plus one. (thus the ++). - */ -- -+ - CodeSize++; - InitCodeSize = CodeSize; - MaxCode = (1 << CodeSize); - ReadMask = MaxCode - 1; -- -+ - - - /* UNBLOCK: -@@ -506,7 +624,7 @@ - * to the Raster array, turning it from a series of blocks into one long - * data stream, which makes life much easier for readCode(). - */ -- -+ - ptr1 = Raster; - do { - ch = ch1 = NEXTBYTE; -@@ -522,21 +640,24 @@ - - - if (DEBUG) { -- fprintf(stderr,"xv: LoadGIF() - picture is %dx%d, %d bits, %sinterlaced\n", -+ fprintf(stderr,"LoadGIF: image is %dx%d, %d bits, %sinterlaced\n", - Width, Height, BitsPerPixel, Interlace ? "" : "non-"); - } -- -+ - - /* Allocate the 'pic' */ -- maxpixels = Width*Height; -+ maxpixels = Width*Height; /* 65535*65535 max (but everything is int) */ -+ if (Width <= 0 || Height <= 0 || maxpixels/Width != Height) -+ return( gifError(pinfo, "image dimensions out of range") ); - picptr = pic8 = (byte *) malloc((size_t) maxpixels); -- if (!pic8) return( gifError(pinfo, "couldn't malloc 'pic8'") ); -+ if (!pic8) FatalError("LoadGIF: couldn't malloc 'pic8'"); -+ -+ - -- - /* Decompress the file, continuing until you see the GIF EOF code. - * One obvious enhancement is to add checking for corrupt files here. - */ -- -+ - Code = readCode(); - while (Code != EOFCode) { - /* Clear code sets everything back to its initial value, then reads the -@@ -563,58 +684,58 @@ - break; } - - CurCode = InCode = Code; -- -+ - /* If greater or equal to FreeCode, not in the hash table yet; - * repeat the last character decoded - */ -- -+ - if (CurCode >= FreeCode) { - CurCode = OldCode; - if (OutCount > 4096) { /* printf("outcount1 blew up\n"); */ break; } - OutCode[OutCount++] = FinChar; - } -- -+ - /* Unless this code is raw data, pursue the chain pointed to by CurCode - * through the hash table to its end; each code in the chain puts its - * associated output code on the output queue. - */ -- -+ - while (CurCode > BitMask) { - if (OutCount > 4096) break; /* corrupt file */ - OutCode[OutCount++] = Suffix[CurCode]; - CurCode = Prefix[CurCode]; - } -- -+ - if (OutCount > 4096) { /* printf("outcount blew up\n"); */ break; } -- -+ - /* The last code in the chain is treated as raw data. */ -- -+ - FinChar = CurCode & BitMask; - OutCode[OutCount++] = FinChar; -- -+ - /* Now we put the data out to the Output routine. - * It's been stacked LIFO, so deal with it that way... - */ - - /* safety thing: prevent exceeding range of 'pic8' */ - if (npixels + OutCount > maxpixels) OutCount = maxpixels-npixels; -- -+ - npixels += OutCount; - if (!Interlace) for (i=OutCount-1; i>=0; i--) *picptr++ = OutCode[i]; - else for (i=OutCount-1; i>=0; i--) doInterlace(OutCode[i]); - OutCount = 0; - - /* Build the hash table on-the-fly. No table is stored in the file. */ -- -+ - Prefix[FreeCode] = OldCode; - Suffix[FreeCode] = FinChar; - OldCode = InCode; -- -+ - /* Point to the next slot in the table. If we exceed the current - * MaxCode value, increment the code size unless it's already 12. If it - * is, do nothing: the next code decompressed better be CLEAR - */ -- -+ - FreeCode++; - if (FreeCode >= MaxCode) { - if (CodeSize < 12) { -@@ -627,20 +748,19 @@ - Code = readCode(); - if (npixels >= maxpixels) break; - } -- -+ - if (npixels != maxpixels) { - SetISTR(ISTR_WARNING,"%s: %s", bname, - "This GIF file seems to be truncated. Winging it."); - if (!Interlace) /* clear->EOBuffer */ -- xvbzero((char *) pic8+npixels, (size_t) (maxpixels-npixels)); -+ xvbzero((char *) pic8+npixels, -+ (size_t) (maxpixels-npixels<0 ? 0 : maxpixels-npixels)); - } - -- fclose(fp); -- - /* fill in the PICINFO structure */ - - pinfo->pic = pic8; -- pinfo->w = Width; -+ pinfo->w = Width; - pinfo->h = Height; - pinfo->type = PIC8; - pinfo->frmType = F_GIF; -@@ -650,8 +770,8 @@ - - sprintf(pinfo->fullInfo, - "GIF%s, %d bit%s per pixel, %sinterlaced. (%d bytes)", -- (gif89) ? "89" : "87", BitsPerPixel, -- (BitsPerPixel==1) ? "" : "s", -+ (gif89) ? "89" : "87", BitsPerPixel, -+ (BitsPerPixel==1) ? "" : "s", - Interlace ? "" : "non-", filesize); - - sprintf(pinfo->shrtInfo, "%dx%d GIF%s.",Width,Height,(gif89) ? "89" : "87"); -@@ -668,13 +788,13 @@ - * maintain our location in the Raster array as a BIT Offset. We compute - * the byte Offset into the raster array by dividing this by 8, pick up - * three bytes, compute the bit Offset into our 24-bit chunk, shift to -- * bring the desired code to the bottom, then mask it off and return it. -+ * bring the desired code to the bottom, then mask it off and return it. - */ - - static int readCode() - { - int RawCode, ByteOffset; -- -+ - ByteOffset = BitOffset / 8; - RawCode = Raster[ByteOffset] + (Raster[ByteOffset + 1] << 8); - if (CodeSize >= 8) -@@ -692,42 +812,47 @@ - { - static byte *ptr = NULL; - static int oldYC = -1; -- -+ -+ if (Pass == -1) { /* first time through - init stuff */ -+ oldYC = -1; -+ Pass = 0; -+ } -+ - if (oldYC != YC) { ptr = pic8 + YC * Width; oldYC = YC; } -- -+ - if (YC= Height) { Pass++; YC = 4; } - break; -- -+ - case 1: - YC += 8; - if (YC >= Height) { Pass++; YC = 2; } - break; -- -+ - case 2: - YC += 4; - if (YC >= Height) { Pass++; YC = 1; } - break; -- -+ - case 3: - YC += 2; break; -- -+ - default: - break; - } -@@ -735,11 +860,11 @@ - } - - -- -+ - /*****************************/ - static int gifError(pinfo, st) -- PICINFO *pinfo; -- char *st; -+ PICINFO *pinfo; -+ const char *st; - { - gifWarning(st); - -@@ -760,7 +885,7 @@ - - /*****************************/ - static void gifWarning(st) -- char *st; -+ const char *st; - { - SetISTR(ISTR_WARNING,"%s: %s", bname, st); - } -diff -ru xv-3.10a/xvgifwr.c xv-3.10a-enhancements/xvgifwr.c ---- xv-3.10a/xvgifwr.c 1995-01-03 13:22:21.000000000 -0800 -+++ xv-3.10a-enhancements/xvgifwr.c 2007-03-31 16:33:23.000000000 -0700 -@@ -2,11 +2,11 @@ - * xvgifwr.c - handles writing of GIF files. based on flgife.c and - * flgifc.c from the FBM Library, by Michael Maudlin - * -- * Contains: -+ * Contains: - * WriteGIF(fp, pic, ptype, w, h, rmap, gmap, bmap, numcols, colorstyle, - * comment) - * -- * Note: slightly brain-damaged, in that it'll only write non-interlaced -+ * Note: slightly brain-damaged, in that it'll only write non-interlaced - * GIF files (in the interests of speed, or something) - * - */ -@@ -34,7 +34,7 @@ - * James A. Woods (decvax!ihnp4!ames!jaw) - * Joe Orost (decvax!vax135!petsd!joe) - *****************************************************************/ -- -+ - - #include "xv.h" - -@@ -44,7 +44,6 @@ - static int curx, cury; - static long CountDown; - static int Interlace; --static byte bw[2] = {0, 0xff}; - - static void putword PARM((int, FILE *)); - static void compress PARM((int, FILE *, byte *, int)); -@@ -56,7 +55,7 @@ - static void flush_char PARM((void)); - - --static byte pc2nc[256],r1[256],g1[256],b1[256]; -+static byte pc2nc[256]; - - - /*************************************************************/ -@@ -74,7 +73,8 @@ - int ColorMapSize, InitCodeSize, Background, BitsPerPixel; - int i,j,nc; - byte *pic8; -- byte rtemp[256],gtemp[256],btemp[256]; -+ byte rtemp[256],gtemp[256],btemp[256]; /* for 24-bit to 8-bit conversion */ -+ byte r1[256],g1[256],b1[256]; /* for duplicated-color remapping */ - - if (ptype == PIC24) { /* have to quantize down to 8 bits */ - pic8 = Conv24to8(pic, w, h, 256, rtemp,gtemp,btemp); -@@ -97,7 +97,7 @@ - for (i=0; i= nc) break; -- -+ - BitsPerPixel = i; - - ColorMapSize = 1 << BitsPerPixel; -- -+ - RWidth = Width = w; - RHeight = Height = h; - LeftOfs = TopOfs = 0; -- -+ - CountDown = w * h; /* # of pixels we'll be doing */ - - if (BitsPerPixel <= 1) InitCodeSize = 2; -@@ -137,7 +137,7 @@ - return (1); - } - -- if (DEBUG) -+ if (DEBUG) - fprintf(stderr,"WrGIF: pic=%lx, w,h=%dx%d, numcols=%d, Bits%d,Cmap=%d\n", - (u_long) pic8, w,h,numcols,BitsPerPixel,ColorMapSize); - -@@ -152,7 +152,7 @@ - i = 0x80; /* Yes, there is a color map */ - i |= (8-1)<<4; /* OR in the color resolution (hardwired 8) */ - i |= (BitsPerPixel - 1); /* OR in the # of bits per pixel */ -- fputc(i,fp); -+ fputc(i,fp); - - fputc(Background, fp); /* background color */ - -@@ -290,7 +290,7 @@ - /* - * compress stdin to stdout - * -- * Algorithm: use open addressing double hashing (no chaining) on the -+ * Algorithm: use open addressing double hashing (no chaining) on the - * prefix code / next character combination. We do a variant of Knuth's - * algorithm D (vol. 3, sec. 6.4) along with G. Knott's relatively-prime - * secondary probe. Here, the modular division first probe is gives way -@@ -370,7 +370,7 @@ - cl_hash( (count_int) hsize_reg); /* clear hash table */ - - output(ClearCode); -- -+ - while (len) { - c = pc2nc[*data++]; len--; - in_count++; -@@ -399,7 +399,7 @@ - continue; - } - -- if ( (long)HashTabOf (i) >= 0 ) -+ if ( (long)HashTabOf (i) >= 0 ) - goto probe; - - nomatch: -@@ -454,7 +454,7 @@ - cur_accum |= ((long)code << cur_bits); - else - cur_accum = code; -- -+ - cur_bits += n_bits; - - while( cur_bits >= 8 ) { -@@ -482,7 +482,7 @@ - maxcode = MAXCODE(n_bits); - } - } -- -+ - if( code == EOFCode ) { - /* At EOF, write the rest of the buffer */ - while( cur_bits > 0 ) { -@@ -492,11 +492,11 @@ - } - - flush_char(); -- -+ - fflush( g_outfile ); - - #ifdef FOO -- if( ferror( g_outfile ) ) -+ if( ferror( g_outfile ) ) - FatalError("unable to write GIF file"); - #endif - } -@@ -582,7 +582,7 @@ - int c; - { - accum[ a_count++ ] = c; -- if( a_count >= 254 ) -+ if( a_count >= 254 ) - flush_char(); - } - -@@ -596,4 +596,4 @@ - fwrite(accum, (size_t) 1, (size_t) a_count, g_outfile ); - a_count = 0; - } --} -+} -diff -ru xv-3.10a/xvgrab.c xv-3.10a-enhancements/xvgrab.c ---- xv-3.10a/xvgrab.c 1994-12-22 14:34:47.000000000 -0800 -+++ xv-3.10a-enhancements/xvgrab.c 2005-04-25 23:39:32.000000000 -0700 -@@ -6,7 +6,7 @@ - * Contains: - * int Grab() - handles the GRAB command - * int LoadGrab(); - 'loads' the pic from the last succesful Grab -- * -+ * - */ - - #include "copyright.h" -@@ -14,28 +14,60 @@ - #define NEEDSTIME - #include "xv.h" - --static byte *grabPic = (byte *) NULL; --static int gbits; /* either '8' or '24' */ --static byte grabmapR[256], grabmapG[256], grabmapB[256]; /* colormap */ --static int gWIDE,gHIGH; --static int grabInProgress=0; --static int hidewins = 0; --static GC rootGC; -- --static void flashrect PARM((int, int, int, int, int)); --static void startflash PARM((void)); --static void endflash PARM((void)); --static int grabImage PARM((Window, int, int, int, int)); --static void ungrabX PARM((void)); --static int convertImage PARM((XImage *, XColor *, int, -- XWindowAttributes *)); -- --static int lowbitnum PARM((unsigned long)); --static int getxcolors PARM((XWindowAttributes *, XColor **)); --static Window xvClientWindow PARM((Display *, Window)); -+/* Allow flexibility in use of buttons JPD */ -+#define WINDOWGRABMASK Button1Mask /* JPD prefers Button2Mask */ -+#define RECTGTRACKMASK Button2Mask /* JPD prefers Button1Mask*/ -+#define CANCELGRABMASK Button3Mask - -+#define DO_GRABFLASH /* JPD prefers not to do that; just a loss of time ... */ - - -+union swapun { -+ CARD32 l; -+ CARD16 s; -+ CARD8 b[sizeof(CARD32)]; -+}; -+ -+ -+struct rectlist { -+ int x,y,w,h; -+ struct rectlist *next; -+}; -+ -+ -+static byte *grabPic = (byte *) NULL; -+static int gptype; -+static byte grabmapR[256], grabmapG[256], grabmapB[256]; -+static int gXOFF, gYOFF, gWIDE,gHIGH; -+static int grabInProgress=0; -+static int hidewins = 0; -+static GC rootGC; -+static struct rectlist *regrabList; -+ -+ -+static void flashrect PARM((int, int, int, int, int)); -+static void startflash PARM((void)); -+static void endflash PARM((void)); -+static void ungrabX PARM((void)); -+static int lowbitnum PARM((unsigned long)); -+static int getxcolors PARM((XWindowAttributes *, XColor **)); -+ -+static void printWinTree PARM((Window, int)); -+static void errSpace PARM((int)); -+ -+static int grabRootRegion PARM((int, int, int, int)); -+static int grabWinImage PARM((Window, VisualID, Colormap, int)); -+static int convertImageAndStuff PARM((XImage *, XColor *, int, -+ XWindowAttributes *, -+ int,int,int,int)); -+ -+static int RectIntersect PARM((int,int,int,int, int,int,int,int)); -+ -+static int CountColors24 PARM((byte *, int, int, -+ int, int, int, int)); -+ -+static int Trivial24to8 PARM((byte *, int, int, byte *, -+ byte *, byte *, byte *, int)); - - /***********************************/ - int Grab() -@@ -44,13 +76,15 @@ - 0 if cancelled */ - - int i, x, y, x1, y1, x2, y2, ix, iy, iw, ih, rv; -- int rx, ry, pretendGotB1, autograb; -- int oldaclose; -- Window rW, cW, clickWin, tmpwin; -+ int rx, ry, GotButton, autograb; -+ int cancelled = 0; -+ Window rW, cW, clickWin; - unsigned int mask; -+#ifdef RECOLOR_GRAB_CURSOR - XColor fc, bc; -+#endif - -- pretendGotB1 = 0; -+ GotButton = 0; - - if (grabInProgress) return 0; /* avoid recursive grabs during delay */ - -@@ -75,7 +109,7 @@ - grabInProgress = 1; /* guard against recursive grabs during delay */ - time(&startT); - while (1) { -- time(&t); -+ time(&t); - if (t >= startT + grabDelay) break; - if (XPending(theDisp)>0) { - XEvent evt; -@@ -91,25 +125,33 @@ - grabInProgress = 0; - } - -- -+ - rootGC = DefaultGC(theDisp, theScreen); -- -+ - if (grabPic) { /* throw away previous 'grabbed' pic, if there is one */ - free(grabPic); grabPic = (byte *) NULL; - } - -- -+ /* recolor cursor to indicate that grabbing is active? */ -+ /* Instead, change cursor JPD */ -+#ifdef RECOLOR_GRAB_CURSOR - fc.flags = bc.flags = DoRed | DoGreen | DoBlue; -- fc.red = fc.green = fc.blue = 0xffff; -+ fc.red = fc.green = fc.blue = 0xffff; - bc.red = bc.green = bc.blue = 0x0000; - XRecolorCursor(theDisp, tcross, &fc, &bc); -+#endif - - - XBell(theDisp, 0); /* beep once at start of grab */ - -- if (!autograb) XGrabButton(theDisp, (u_int) AnyButton, 0, rootW, False, 0, -+ /* Change cursor to top_left_corner JPD */ -+ XGrabPointer(theDisp, rootW, False, -+ PointerMotionMask|ButtonPressMask|ButtonReleaseMask, -+ GrabModeAsync, GrabModeAsync, None, tlcorner, CurrentTime); -+ -+ if (!autograb) XGrabButton(theDisp, (u_int) AnyButton, 0, rootW, False, 0, - GrabModeAsync, GrabModeSync, None, tcross); -- -+ - if (autograb) { - XGrabServer(theDisp); /* until we've done the grabImage */ - if (!XQueryPointer(theDisp,rootW,&rW,&cW,&rx,&ry,&x1,&y1,&mask)) { -@@ -118,7 +160,7 @@ - rv = 0; - goto exit; - } -- else { pretendGotB1 = 1; mask = Button1Mask; } -+ else { GotButton = 1; mask = WINDOWGRABMASK; } - } - - else { /* !autograb */ -@@ -136,7 +178,7 @@ - XNextEvent(theDisp, &evt); - i = HandleEvent(&evt, &done); - if (done) { /* only 'new image' cmd accepted=quit */ -- if (i==QUIT) { -+ if (i==QUIT) { - XUngrabButton(theDisp, (u_int) AnyButton, 0, rootW); - Quit(0); - } -@@ -145,99 +187,75 @@ - - } - } -- -- -+ -+ XUngrabPointer(theDisp, CurrentTime); -+ /* Reset cursor to XC_tcross JPD */ -+ XGrabPointer(theDisp, rootW, False, -+ PointerMotionMask|ButtonPressMask|ButtonReleaseMask, -+ GrabModeAsync, GrabModeAsync, None, tcross, CurrentTime); -+ - /*** - *** got button click (or pretending we did, if autograb) - ***/ -- - -- if (mask & Button3Mask || rW!=rootW) { /* Button3: CANCEL GRAB */ -+ if (mask & CANCELGRABMASK || rW!=rootW) { /* CANCEL GRAB */ - while (1) { /* wait for button to be released */ - if (XQueryPointer(theDisp,rootW,&rW,&cW,&rx,&ry,&x1,&y1,&mask)) { -- if (!(mask & Button3Mask)) break; -+ if (!(mask & CANCELGRABMASK)) break; - } - } -- -+ - XUngrabButton(theDisp, (u_int) AnyButton, 0, rootW); - XBell(theDisp, 0); - XBell(theDisp, 0); - rv = 0; -+ cancelled = 1; - goto exit; - } - - -- -- if (mask & Button1Mask) { /* Button1: GRAB WINDOW (& FRAME, maybe) */ -- while (!pretendGotB1) { /* wait for button to be released, if clicked */ -+ if (mask & WINDOWGRABMASK) { /* GRAB WINDOW (& FRAME, maybe) */ -+ while (!GotButton) { /* wait for button to be released, if clicked */ - int rx,ry,x1,y1; Window rW, cW; - if (XQueryPointer(theDisp,rootW,&rW,&cW,&rx,&ry,&x1,&y1,&mask)) { -- if (!(mask & Button1Mask)) break; -+ if (!(mask & WINDOWGRABMASK)) break; - } - } -- -- if (!cW || cW == rootW) clickWin = rootW; -- else { -- int xr, yr; Window chwin; -- XTranslateCoordinates(theDisp, rW, cW, rx, ry, &xr, &yr, &chwin); -- if (chwin != None) { -- XWindowAttributes clickxwa, parentxwa; -- -- clickWin = xvClientWindow(theDisp, chwin); -- -- /* decide if we want to just grab clickWin, or cW. -- basically, if they're different in any important way -- (depth, visual, colormap), grab 'clickWin' only, -- as it's the important part */ -- -- if (!clickWin || -- (XGetWindowAttributes(theDisp, clickWin, &clickxwa) && -- XGetWindowAttributes(theDisp, cW, &parentxwa) && -- clickxwa.visual->class == parentxwa.visual->class && -- clickxwa.colormap == parentxwa.colormap && -- clickxwa.depth == parentxwa.depth) -- ) -- clickWin = cW; /* close enough! */ -- } -- else clickWin = cW; -- -- if (DEBUG) -- fprintf(stderr, "rW = %x, cW = %x, chwin = %x, clickWin = %x\n", -- (u_int) rW, (u_int) cW, (u_int) chwin, (u_int) clickWin); -- } -- -- -+ -+ grabwin: -+ -+ clickWin = (cW) ? cW : rootW; -+ - if (clickWin == rootW) { /* grab entire screen */ - if (DEBUG) fprintf(stderr,"Grab: clicked on root window.\n"); - ix = iy = 0; iw = dispWIDE; ih = dispHIGH; - } - else { - int x,y; Window win; unsigned int rw,rh,rb,rd; -- -+ - if (XGetGeometry(theDisp,clickWin,&rW, &x, &y, &rw, &rh, &rb, &rd)) { - iw = (int) rw; ih = (int) rh; -- -+ - XTranslateCoordinates(theDisp, clickWin, rootW, 0, 0, &ix,&iy, &win); -- -- if (DEBUG) fprintf(stderr,"clickWin=0x%x: %d,%d %dx%d depth=%ud\n", -- (u_int) clickWin, ix, iy, iw, ih, rd); -+ -+ if (DEBUG) fprintf(stderr,"clickWin=0x%x: %d,%d %dx%d depth=%ud\n", -+ (u_int) clickWin, ix, iy, iw, ih, rd); - } - else { - ix = iy = 0; iw = dispWIDE; ih = dispHIGH; clickWin = rootW; - if (DEBUG) fprintf(stderr,"XGetGeometry failed? (using root win)\n"); - } - } -- -- -+ - /* range checking: keep rectangle fully on-screen */ - if (ix<0) { iw += ix; ix = 0; } - if (iy<0) { ih += iy; iy = 0; } - if (ix+iw>dispWIDE) iw = dispWIDE-ix; - if (iy+ih>dispHIGH) ih = dispHIGH-iy; -- -- -+ -+ - if (DEBUG) fprintf(stderr,"using %d,%d (%dx%d)\n", ix, iy, iw, ih); -- -+ - /* flash the rectangle a bit... */ - startflash(); - for (i=0; i<5; i++) { -@@ -249,23 +267,21 @@ - endflash(); - } - -- -- else { /* Button2: TRACK A RECTANGLE */ -+ else { /* TRACK A RECTANGLE */ - int origrx, origry; -- Window origcW; - -- clickWin = rootW; origcW = cW; -+ clickWin = rootW; - origrx = ix = x2 = rx; - origry = iy = y2 = ry; - iw = ih = 0; -- -+ - XGrabServer(theDisp); - startflash(); - - /* Wait for button release while tracking rectangle on screen */ - while (1) { - if (XQueryPointer(theDisp,rootW,&rW,&cW,&rx,&ry,&x,&y,&mask)) { -- if (!(mask & Button2Mask)) break; -+ if (!(mask & RECTGTRACKMASK)) break; - } - - flashrect(ix, iy, iw, ih, 0); /* turn off rect */ -@@ -276,57 +292,63 @@ - iw = abs(rx - x1); ih = abs(ry - y1); - x2 = rx; y2 = ry; - } -- -+ - if (iw>1 && ih>1) flashrect(ix,iy,iw,ih,1); /* turn on rect */ - } - - flashrect(ix, iy, iw, ih, 0); /* turn off rect */ -+ -+#ifdef DO_GRABFLASH -+ /* flash the rectangle a bit... */ -+ for (i=0; i<5; i++) { -+ flashrect(ix, iy, iw, ih, 1); -+ XFlush(theDisp); Timer(100); -+ flashrect(ix, iy, iw, ih, 0); -+ XFlush(theDisp); Timer(100); -+ } -+#endif -+ - endflash(); -- -- XUngrabServer(theDisp); -- -- -- if (origcW == cW) { /* maybe it's entirely in one window??? */ -- if (cW) { /* will be 0 if clicked in rootW */ -- Window stwin, enwin, stwin1, enwin1; -- if (DEBUG) fprintf(stderr,"origcW=%x cW=%x ", -- (u_int) origcW, (u_int) cW); -- XTranslateCoordinates(theDisp,rootW,cW, origrx,origry,&x,&y,&stwin); -- XTranslateCoordinates(theDisp,rootW,cW, rx, ry, &x,&y,&enwin); -- -- if (DEBUG) fprintf(stderr,"stwin=%x enwin=%x ", -- (u_int) stwin, (u_int) enwin); -- if (stwin == enwin && stwin != None) { -- stwin1 = xvClientWindow(theDisp, stwin); -- enwin1 = xvClientWindow(theDisp, enwin); -- if (DEBUG) fprintf(stderr,"stwin1=%x enwin1=%x ", -- (u_int) stwin1, (u_int) enwin1); -- -- if (stwin1 == enwin1 && stwin1) clickWin = stwin1; -- else clickWin = stwin; -- } -- if (DEBUG) fprintf(stderr,"\n"); -- } -- else clickWin = rootW; -+ -+ /* if rectangle has zero width or height, search for child window JPD */ -+ if (iw==0 && ih==0) { -+ int xr, yr; -+ Window childW = 0; -+ if (rW && cW) -+ XTranslateCoordinates(theDisp, rW, cW, rx, ry, &xr, &yr, &childW); -+ if (childW) -+ cW = childW; -+ goto grabwin; - } -+ -+ XUngrabServer(theDisp); - } -- - - /*** -- *** now that clickWin,ix,iy,iw,ih are known, try to grab the bits... -+ *** now that clickWin,ix,iy,iw,ih are known, try to grab the bits : -+ *** grab screen area (ix,iy,iw,ih) - ***/ - - -+ if (DEBUG>1) printWinTree(clickWin, 0); -+ - WaitCursor(); - - if (!autograb) XGrabServer(theDisp); /* until we've done the grabImage */ -- rv = grabImage(clickWin,ix,iy,iw,ih); /* ungrabs the server & button */ -+ rv = grabRootRegion(ix, iy, iw, ih); /* ungrabs the server & button */ - - SetCursors(-1); - -- - exit: - -+ XUngrabPointer(theDisp, CurrentTime); -+ XUngrabServer(theDisp); -+ -+ if (startGrab) { -+ startGrab = 0; -+ if (cancelled) Quit(0); -+ } -+ - if (hidewins) { /* remap XV windows */ - autoclose += 2; /* force it on once */ - if (mainW && dispMode == RMB_WINDOW) { -@@ -337,25 +359,25 @@ - - if (DEBUG) fprintf(stderr,"==remapped mainW. waiting for Config.\n"); - -- /* sit here until we see a MapNotify on mainW followed by a -+ /* sit here until we see a MapNotify on mainW followed by a - ConfigureNotify on mainW */ - - state = 0; -- while (1) { -+ while (state != 3) { - XEvent event; - XNextEvent(theDisp, &event); - HandleEvent(&event, &i); - -- if (state==0 && event.type == MapNotify && -- event.xmap.window == mainW) state = 1; -+ if (!(state&1) && event.type == MapNotify && -+ event.xmap.window == mainW) state |= 1; - -- if (state==1 && event.type == ConfigureNotify && -- event.xconfigure.window == mainW) break; -+ if (!(state&2) && event.type == ConfigureNotify && -+ event.xconfigure.window == mainW) state |= 2; - } - - if (DEBUG) fprintf(stderr,"==after remapping mainW, GOT Config.\n"); - } -- -+ - else if (ctrlW) CtrlBox(1); - } - -@@ -364,6 +386,45 @@ - - - /***********************************/ -+int LoadGrab(pinfo) -+ PICINFO *pinfo; -+{ -+ /* loads up (into XV structures) last image successfully grabbed. -+ returns '0' on failure, '1' on success */ -+ -+ int i; -+ -+ if (!grabPic) return 0; /* no image to use */ -+ -+ pinfo->type = gptype; -+ if (pinfo->type == PIC8) { -+ for (i=0; i<256; i++) { -+ pinfo->r[i] = grabmapR[i]; -+ pinfo->g[i] = grabmapG[i]; -+ pinfo->b[i] = grabmapB[i]; -+ } -+ } -+ -+ pinfo->pic = grabPic; -+ pinfo->normw = pinfo->w = gWIDE; -+ pinfo->normh = pinfo->h = gHIGH; -+ pinfo->frmType = -1; -+ pinfo->colType = -1; -+ -+ sprintf(pinfo->fullInfo,"<%s internal>", -+ (pinfo->type == PIC8) ? "8-bit" : "24-bit"); -+ -+ sprintf(pinfo->shrtInfo,"%dx%d image.",gWIDE, gHIGH); -+ -+ pinfo->comment = (char *) NULL; -+ -+ grabPic = (byte *) NULL; -+ -+ return 1; -+} -+ -+ -+/***********************************/ - static void flashrect(x,y,w,h,show) - int x,y,w,h,show; - { -@@ -373,7 +434,7 @@ - XSetPlaneMask(theDisp, rootGC, xorMasks[maskno]); - - if (!show) { /* turn off rectangle */ -- if (isvis) -+ if (isvis) - XDrawRectangle(theDisp, rootW, rootGC, x, y, (u_int) w-1, (u_int) h-1); - - isvis = 0; -@@ -391,15 +452,16 @@ - - /***********************************/ - static void startflash() --{ -+{ - /* set up for drawing a flashing rectangle */ - XSetFunction(theDisp, rootGC, GXinvert); - XSetSubwindowMode(theDisp, rootGC, IncludeInferiors); - } - -+ - /***********************************/ - static void endflash() --{ -+{ - XSetFunction(theDisp, rootGC, GXcopy); - XSetSubwindowMode(theDisp, rootGC, ClipByChildren); - XSetPlaneMask(theDisp, rootGC, AllPlanes); -@@ -408,21 +470,157 @@ - - - /***********************************/ --static int grabImage(clickWin, x, y, w, h) -- Window clickWin; -+static void ungrabX() -+{ -+ XUngrabServer(theDisp); -+ XUngrabButton(theDisp, (u_int) AnyButton, 0, rootW); -+} -+ -+ -+/**************************************/ -+static int lowbitnum(ul) -+ unsigned long ul; -+{ -+ /* returns position of lowest set bit in 'ul' as an integer (0-31), -+ or -1 if none */ -+ -+ int i; -+ for (i=0; ((ul&1) == 0) && i<32; i++, ul>>=1); -+ if (i==32) i = -1; -+ return i; -+} -+ -+ -+ -+/**********************************************/ -+/* getxcolors() function snarfed from 'xwd.c' */ -+/**********************************************/ -+ -+#define lowbit(x) ((x) & (~(x) + 1)) -+ -+static int getxcolors(win_info, colors) -+ XWindowAttributes *win_info; -+ XColor **colors; -+{ -+ int i, ncolors; -+ -+ *colors = (XColor *) NULL; -+ -+ if (win_info->visual->class == TrueColor) { -+ if (DEBUG>1) fprintf(stderr,"TrueColor visual: no colormap needed\n"); -+ return 0; -+ } -+ -+ else if (!win_info->colormap) { -+ if (DEBUG>1) fprintf(stderr,"no colormap associated with window\n"); -+ return 0; -+ } -+ -+ ncolors = win_info->visual->map_entries; -+ if (DEBUG>1) fprintf(stderr,"%d entries in colormap\n", ncolors); -+ -+ if (!(*colors = (XColor *) malloc (sizeof(XColor) * ncolors))) -+ FatalError("malloc failed in getxcolors()"); -+ -+ -+ if (win_info->visual->class == DirectColor) { -+ Pixel red, green, blue, red1, green1, blue1; -+ -+ if (DEBUG>1) fprintf(stderr,"DirectColor visual\n"); -+ -+ red = green = blue = 0; -+ red1 = lowbit(win_info->visual->red_mask); -+ green1 = lowbit(win_info->visual->green_mask); -+ blue1 = lowbit(win_info->visual->blue_mask); -+ for (i=0; i win_info->visual->red_mask) red = 0; -+ green += green1; -+ if (green > win_info->visual->green_mask) green = 0; -+ blue += blue1; -+ if (blue > win_info->visual->blue_mask) blue = 0; -+ } -+ } -+ else { -+ for (i=0; icolormap, *colors, ncolors); -+ -+ return(ncolors); -+} -+ -+ -+ -+/*******************************************/ -+static void printWinTree(win,tab) -+ Window win; -+ int tab; -+{ -+ u_int i, nchildren; -+ Window root, parent, *children, chwin; -+ XWindowAttributes xwa; -+ int xr, yr; -+ -+ if (!XGetWindowAttributes(theDisp, win, &xwa)) { -+ errSpace(tab); -+ fprintf(stderr,"pWT: can't XGetWindowAttributes(%08x)\n", (u_int) win); -+ return; -+ } -+ -+ XTranslateCoordinates(theDisp, win, rootW, 0,0, &xr,&yr, &chwin); -+ if (xwa.map_state==IsViewable) { -+ errSpace(tab); -+ fprintf(stderr,"%08x: %4d,%4d %4dx%4d vis: %02x cm=%x %s\n", -+ (u_int) win, xr,yr, xwa.width, xwa.height, -+ (u_int) XVisualIDFromVisual(xwa.visual), -+ (u_int) xwa.colormap, -+ ((xwa.map_state==IsUnmapped) ? "unmapped " : -+ (xwa.map_state==IsUnviewable) ? "unviewable" : -+ (xwa.map_state==IsViewable) ? "viewable " : -+ " ") ); -+ -+ if (!XQueryTree(theDisp, win, &root, &parent, &children, &nchildren)) { -+ errSpace(tab); -+ fprintf(stderr,"pWT: XQueryTree(%08x) failed\n", (u_int) win); -+ if (children) XFree((char *)children); -+ return; -+ } -+ -+ for (i=0; i0; n--) putc(' ', stderr); -+} -+ -+ -+ -+ -+/***********************************/ -+static int grabRootRegion(x, y, w, h) - int x, y, w, h; - { - /* attempts to grab the specified rectangle of the root window -- returns '1' on success. clickWin is used to figure out the depth -- and colormap to use */ -+ returns '1' on success */ - -- XImage *image; -- XWindowAttributes xwa; -- XColor *colors; -- int ncolors, i, ix, iy; -- char str[256]; -- Window win; -+ XWindowAttributes xwa; -+ int i; - -+ regrabList = (struct rectlist *) NULL; - - /* range checking */ - if (x<0) { w += x; x = 0; } -@@ -430,86 +628,246 @@ - if (x+w>dispWIDE) w = dispWIDE-x; - if (y+h>dispHIGH) h = dispHIGH-y; - -- if (w==0 || h==0) { /* selected nothing */ -+ if (w<=0 || h<=0) { /* selected nothing */ - ungrabX(); - return 0; - } - -- if (!XGetWindowAttributes(theDisp, clickWin, &xwa)) { -- sprintf(str,"Unable to get window attributes for clicked-on window\n"); -+ -+ /* grab this region, using the default (root's) visual */ -+ -+ /* now for all top-level windows (children of root), in bottom->top order -+ if they intersect the grabregion -+ are they drawn entirely (including children) using default visual+cmap? -+ yes: if they intersect 'regrab' list, grab'em - else skip'em -+ no: grab them, add their rectangle to 'regrab' list -+ */ -+ -+ -+ /* make a 24bit grabPic */ -+ gptype = PIC24; -+ gXOFF = x; gYOFF = y; gWIDE = w; gHIGH = h; -+ grabPic = (byte *) malloc((size_t) gWIDE * gHIGH * 3); -+ if (!grabPic) { - ungrabX(); -- ErrPopUp(str, "\nThat Sucks!"); -+ ErrPopUp("Unable to malloc() space for grabbed image!", "\nBite Me!"); - return 0; - } - -- -- XTranslateCoordinates(theDisp, rootW, clickWin, x, y, &ix, &iy, &win); -- -- xerrcode = 0; -- image = XGetImage(theDisp, clickWin, ix, iy, (u_int) w, (u_int) h, -- AllPlanes, ZPixmap); -- if (xerrcode || !image || !image->data) { -- sprintf(str, "Unable to get image (%d,%d %dx%d) from display", ix,iy,w,h); -+ if (!XGetWindowAttributes(theDisp, rootW, &xwa)) { - ungrabX(); -- ErrPopUp(str, "\nThat Sucks!"); -+ ErrPopUp("Can't get window attributes for root window!", "\nBite Me!"); - return 0; - } - -- ncolors = getxcolors(&xwa, &colors); -+ i = grabWinImage(rootW, XVisualIDFromVisual(xwa.visual), xwa.colormap,0); - - ungrabX(); - -- if (ncolors && DEBUG) { -- fprintf(stderr, "Colormap:\n"); -- for (i=0; i>8, colors[i].green>>8, -- colors[i].blue>>8); -- fprintf(stderr,"\n"); -- } -- -- - XBell(theDisp, 0); /* beep twice at end of grab */ - XBell(theDisp, 0); - -- i = convertImage(image, colors, ncolors, &xwa); -+ { /* free regrabList */ -+ struct rectlist *rr, *tmprr; -+ rr = regrabList; -+ while (rr) { -+ tmprr = rr->next; -+ free((char *) rr); -+ rr = tmprr; -+ } -+ regrabList = (struct rectlist *) NULL; -+ } - -- /* DO *NOT* use xvDestroyImage(), as the 'data' field was alloc'd by X, not -- necessarily through 'malloc() / free()' */ -- XDestroyImage(image); -- -- if (colors) free((char *) colors); -+ if (i) { -+ ErrPopUp("Warning: Problems occurred during grab.","\nWYSInWYG!"); -+ return 0; -+ } - -- return i; -+ -+ /* if 256 or fewer colors in grabPic, make it a PIC8 */ -+ i = CountColors24(grabPic, gWIDE, gHIGH, 0,0,gWIDE,gHIGH); -+ if (i<=256) { -+ byte *pic8; -+ pic8 = (byte *) malloc((size_t) (gWIDE * gHIGH)); -+ if (pic8) { -+ if (Trivial24to8(grabPic, gWIDE,gHIGH, pic8, -+ grabmapR,grabmapG,grabmapB,256)) { -+ free((char *) grabPic); -+ grabPic = pic8; -+ gptype = PIC8; -+ } -+ } -+ } -+ -+ return 1; /* full success */ - } - - --static void ungrabX() -+/***********************************/ -+static int grabWinImage(win, parentVid, parentCmap, toplevel) -+ Window win; -+ VisualID parentVid; -+ Colormap parentCmap; -+ int toplevel; - { -- XUngrabServer(theDisp); -- XUngrabButton(theDisp, (u_int) AnyButton, 0, rootW); --} -+ /* grabs area of window (and its children) that intersects -+ * grab region (root coords: gXOFF,gYOFF,gWIDE,gHIGH), and stuffs -+ * relevant bits into the grabPic (a gWIDE*gHIGH PIC24) -+ * -+ * Note: special kludge for toplevel windows (children of root): -+ * since that's the only case where a window can be obscuring something -+ * that isn't its parent -+ * -+ * returns 0 if okay, 1 if problems occurred -+ */ -+ -+ -+ int i, rv, dograb; -+ int wx, wy, ww, wh; /* root coords of window */ -+ int gx, gy, gw, gh; /* root coords of grab region of win*/ -+ Window chwin; /* unused */ -+ u_int nchildren; -+ Window root, parent, *children; -+ XWindowAttributes xwa; - -+ /* first, quick checks to avoid recursing down useless branches */ - -+ if (!XGetWindowAttributes(theDisp, win, &xwa)) { -+ if (DEBUG) fprintf(stderr,"gWI: can't get win attr (%08x)\n", (u_int) win); -+ return 1; -+ } - -+ if (xwa.class == InputOnly || xwa.map_state != IsViewable) return 0; - -+ rv = 0; -+ dograb = 1; -+ wx = 0; wy = 0; ww = (int) xwa.width; wh = (int) xwa.height; -+ -+ /* if this window doesn't intersect, none of its children will, either */ -+ XTranslateCoordinates(theDisp, win, rootW, 0,0, &wx, &wy, &chwin); -+ if (!RectIntersect(wx,wy,ww,wh, gXOFF,gYOFF,gWIDE,gHIGH)) return 0; -+ -+ gx = wx; gy = wy; gw = ww; gh = wh; -+ CropRect2Rect(&gx,&gy,&gw,&gh, gXOFF,gYOFF,gWIDE,gHIGH); -+ -+ if (win==rootW) { -+ /* always grab */ -+ } -+ -+ else if (XVisualIDFromVisual(xwa.visual) == parentVid && -+ ((xwa.visual->class==TrueColor) || xwa.colormap == parentCmap)) { -+ -+ /* note: if both visuals are TrueColor, don't compare cmaps */ -+ -+ /* normally, if the vis/cmap info of a window is the same as its parent, -+ no need to regrab window. special case if this is a toplevel -+ window, as it can be obscuring windows that *aren't* its parent */ -+ -+ if (toplevel) { -+ /* we probably already have this region. Check it against regrabList -+ If it intersects none, no need to grab. -+ If it intersects one, crop to that rectangle and grab -+ if it intersects >1, don't crop, just grab gx,gy,gw,gh */ -+ -+ struct rectlist *rr, *cr; -+ -+ i=0; cr=rr=regrabList; -+ while (rr) { -+ if (RectIntersect(gx,gy,gw,gh, rr->x,rr->y,rr->w,rr->h)) { -+ i++; cr = rr; -+ } -+ rr = rr->next; -+ } -+ -+ if (i==0) dograb=0; /* no need to grab */ -+ -+ if (i==1) CropRect2Rect(&gx,&gy,&gw,&gh, cr->x,cr->y,cr->w,cr->h); -+ } -+ else dograb = 0; -+ } -+ -+ else { -+ /* different vis/cmap from parent: -+ add to regrab list, if not already fully contained in list */ -+ struct rectlist *rr; -+ -+ /* check to see if fully contained... */ -+ rr=regrabList; -+ while (rr && RectIntersect(gx,gy,gw,gh, rr->x,rr->y,rr->w,rr->h)!=2) -+ rr = rr->next; -+ -+ if (!rr) { /* add to list */ -+ if (DEBUG) -+ fprintf(stderr,"added to regrabList: %d,%d %dx%d\n",gx,gy,gw,gh); -+ -+ rr = (struct rectlist *) malloc(sizeof(struct rectlist)); -+ if (!rr) return 1; -+ else { -+ rr->x = gx; rr->y = gy; rr->w = gw; rr->h = gh; -+ rr->next = regrabList; -+ regrabList = rr; -+ } -+ } -+ } -+ -+ /* at this point, we have to grab gx,gy,gw,gh from 'win' */ -+ -+ if (dograb) { -+ int ix, iy, ncolors; -+ XColor *colors; -+ XImage *image; -+ -+ XTranslateCoordinates(theDisp, rootW, win, gx, gy, &ix, &iy, &chwin); -+ -+ if (DEBUG) -+ fprintf(stderr,"Grabbing win (%08x) %d,%d %dx%d\n", -+ (u_int) win, gx,gy,gw,gh); -+ -+ WaitCursor(); -+ -+ xerrcode = 0; -+ image = XGetImage(theDisp, win, ix, iy, (u_int) gw, (u_int) gh, -+ AllPlanes, ZPixmap); -+ if (xerrcode || !image || !image->data) return 1; -+ -+ ncolors = getxcolors(&xwa, &colors); -+ rv = convertImageAndStuff(image, colors, ncolors, &xwa, -+ gx - gXOFF, gy - gYOFF, gw, gh); -+ XDestroyImage(image); /* can't use xvDestroyImage: alloc'd by X! */ -+ if (colors) free((char *) colors); -+ } -+ -+ -+ /* recurse into children to see if any of them are 'different'... */ -+ -+ if (!XQueryTree(theDisp, win, &root, &parent, &children, &nchildren)) { -+ if (DEBUG) fprintf(stderr,"XQueryTree(%08x) failed\n", (u_int) win); -+ if (children) XFree((char *)children); -+ return rv+1; -+ } -+ -+ for (i=0; ivisual) visual = xwap->visual; -- else visual = theVisual; -+ visual = xwap->visual; -+ - -- if (DEBUG) { -+ if (DEBUG>1) { - fprintf(stderr,"convertImage:\n"); - fprintf(stderr," %dx%d (offset %d), %s\n", -- image->width, image->height, image->xoffset, -- (image->format == XYBitmap || image->format == XYPixmap) -+ image->width, image->height, image->xoffset, -+ (image->format == XYBitmap || image->format == XYPixmap) - ? "XYPixmap" : "ZPixmap"); - - fprintf(stderr,"byte_order = %s, bitmap_bit_order = %s, unit=%d, pad=%d\n", -@@ -575,41 +932,17 @@ - sprintf(errstr, "%s\nReturned image bitmap_unit (%d) non-standard.", - "Can't deal with this display.", image->bitmap_unit); - ErrPopUp(errstr, "\nThat Sucks!"); -- return 0; -+ return 1; - } - - if (!ncolors && visual->class != TrueColor) { - sprintf(errstr, "%s\nOnly TrueColor displays can have no colormap.", - "Can't deal with this display."); - ErrPopUp(errstr, "\nThat Sucks!"); -- return 0; -+ return 1; - } - - -- /* build the 'global' grabPic stuff */ -- gWIDE = image->width; gHIGH = image->height; -- -- if (visual->class == TrueColor || visual->class == DirectColor || -- ncolors > 256) { -- grabPic = (byte *) malloc((size_t) gWIDE * gHIGH * 3); -- gbits = 24; -- } -- else { -- grabPic = (byte *) malloc((size_t) gWIDE * gHIGH); -- gbits = 8; -- -- /* load up the colormap */ -- for (i=0; i> 8; -- grabmapG[i] = colors[i].green >> 8; -- grabmapB[i] = colors[i].blue >> 8; -- } -- } -- -- if (!grabPic) FatalError("unable to malloc grabPic in convertImage()"); -- pptr = grabPic; -- -- - if (visual->class == TrueColor || visual->class == DirectColor) { - unsigned int tmp; - -@@ -634,16 +967,35 @@ - while (tmp >= 256) { tmp >>= 1; b8shift -= 1; } - while (tmp < 128) { tmp <<= 1; b8shift += 1; } - -- if (DEBUG) -+ if (DEBUG>1) - fprintf(stderr,"True/DirectColor: shifts=%d,%d,%d 8shifts=%d,%d,%d\n", - rshift, gshift, bshift, r8shift, g8shift, b8shift); - } - - -- bits_per_item = image->bitmap_unit; -- bits_used = bits_per_item; -+ bits_per_item = image->bitmap_unit; - bits_per_pixel = image->bits_per_pixel; - -+ -+ /* add code for freako 'exceed' server, where bitmapunit = 8 -+ and bitsperpix = 32 (and depth=24)... */ -+ -+ if (bits_per_item < bits_per_pixel) { -+ bits_per_item = bits_per_pixel; -+ -+ /* round bits_per_item up to next legal value, if necc */ -+ if (bits_per_item < 8) bits_per_item = 8; -+ else if (bits_per_item < 16) bits_per_item = 16; -+ else bits_per_item = 32; -+ } -+ -+ -+ /* which raises the question: how (can?) you ever have a 24 bits per pix, -+ (ie, 3 bytes, no alpha/padding) */ -+ -+ -+ bits_used = bits_per_item; /* so it will get a new item first time */ -+ - if (bits_per_pixel == 32) pixmask = 0xffffffff; - else pixmask = (((CARD32) 1) << bits_per_pixel) - 1; - -@@ -652,14 +1004,15 @@ - - /* if we're on an lsbfirst machine, or the image came from an lsbfirst - machine, we should flip the bytes around. NOTE: if we're on an -- lsbfirst machine *and* the image came from an lsbfirst machine, -+ lsbfirst machine *and* the image came from an lsbfirst machine, - *don't* flip bytes, as it should work out */ - -- /* pity we don't have a logical exclusive-or */ - flipBytes = ( isLsbMachine && byte_order != LSBFirst) || - (!isLsbMachine && byte_order == LSBFirst); - - for (i=0; iheight; i++) { -+ pptr = grabPic + ((i+gy) * gWIDE + gx) * 3; -+ - lineptr = (byte *) image->data + (i * image->bytes_per_line); - bptr = ((CARD8 *) lineptr) - 1; - sptr = ((CARD16 *) lineptr) - 1; -@@ -667,35 +1020,39 @@ - bits_used = bits_per_item; - - for (j=0; jwidth; j++) { -- - /* get the next pixel value from the image data */ - - if (bits_used == bits_per_item) { /* time to move on to next b/s/l */ - switch (bits_per_item) { -- case 8: bptr++; break; -- case 16: sptr++; sval = *sptr; -- if (flipBytes) { /* swap CARD16 */ -- sw.s = sval; -- tmpbyte = sw.b[0]; -- sw.b[0] = sw.b[1]; -- sw.b[1] = tmpbyte; -- sval = sw.s; -- } -- break; -- case 32: lptr++; lval = *lptr; -- if (flipBytes) { /* swap CARD32 */ -- sw.l = lval; -- tmpbyte = sw.b[0]; -- sw.b[0] = sw.b[3]; -- sw.b[3] = tmpbyte; -- tmpbyte = sw.b[1]; -- sw.b[1] = sw.b[2]; -- sw.b[2] = tmpbyte; -- lval = sw.l; -- } -- break; -+ case 8: -+ bptr++; break; -+ -+ case 16: -+ sptr++; sval = *sptr; -+ if (flipBytes) { /* swap CARD16 */ -+ sw.s = sval; -+ tmpbyte = sw.b[0]; -+ sw.b[0] = sw.b[1]; -+ sw.b[1] = tmpbyte; -+ sval = sw.s; -+ } -+ break; -+ -+ case 32: -+ lptr++; lval = *lptr; -+ if (flipBytes) { /* swap CARD32 */ -+ sw.l = lval; -+ tmpbyte = sw.b[0]; -+ sw.b[0] = sw.b[3]; -+ sw.b[3] = tmpbyte; -+ tmpbyte = sw.b[1]; -+ sw.b[1] = sw.b[2]; -+ sw.b[2] = tmpbyte; -+ lval = sw.l; -+ } -+ break; - } -- -+ - bits_used = 0; - if (bit_order == MSBFirst) bit_shift = bits_per_item - bits_per_pixel; - else bit_shift = 0; -@@ -711,11 +1068,11 @@ - else bit_shift += bits_per_pixel; - bits_used += bits_per_pixel; - -- -+ - /* okay, we've got the next pixel value in 'pixvalue' */ -- -+ - if (visual->class == TrueColor || visual->class == DirectColor) { -- /* in either case, we have to take the pixvalue and -+ /* in either case, we have to take the pixvalue and - break it out into individual r,g,b components */ - rval = (pixvalue & rmask) >> rshift; - gval = (pixvalue & gmask) >> gshift; -@@ -741,212 +1098,165 @@ - /* use pixel value as an index into colors array */ - - if (pixvalue >= ncolors) { -- FatalError("convertImage(): pixvalue >= ncolors"); -+ fprintf(stderr, "WARNING: convertImage(): pixvalue >= ncolors\n"); -+ return 1; - } - -- if (gbits == 24) { /* too many colors for 8-bit colormap */ -- *pptr++ = (colors[pixvalue].red) >> 8; -- *pptr++ = (colors[pixvalue].green) >> 8; -- *pptr++ = (colors[pixvalue].blue) >> 8; -- } -- else *pptr++ = pixvalue & 0xff; -- -+ *pptr++ = (colors[pixvalue].red) >> 8; -+ *pptr++ = (colors[pixvalue].green) >> 8; -+ *pptr++ = (colors[pixvalue].blue) >> 8; - } - } - } - -- return 1; -+ return 0; - } - - - --/**************************************/ --static int lowbitnum(ul) -- unsigned long ul; -+/***********************************/ -+static int RectIntersect(ax,ay,aw,ah, bx,by,bw,bh) -+ int ax,ay,aw,ah, bx,by,bw,bh; - { -- /* returns position of lowest set bit in 'ul' as an integer (0-31), -- or -1 if none */ -+ /* returns 0 if rectangles A and B do not intersect -+ returns 1 if A partially intersects B -+ returns 2 if rectangle A is fully enclosed by B */ - -- int i; -- for (i=0; ((ul&1) == 0) && i<32; i++, ul>>=1); -- if (i==32) i = -1; -- return i; --} -+ int ax1,ay1, bx1,by1; - -+ ax1 = ax+aw-1; ay1 = ay+ah-1; -+ bx1 = bx+bw-1; by1 = by+bh-1; - -+ if (ax1bx1 || ay1by1) return 0; - --/**************************************/ --/* following code snarfed from 'xwd.c' */ --/**************************************/ -+ if (ax>=bx && ax1<=bx1 && ay>=by && ay1<=by) return 2; - --#define lowbit(x) ((x) & (~(x) + 1)) -- -- --static int getxcolors(win_info, colors) -- XWindowAttributes *win_info; -- XColor **colors; --{ -- int i, ncolors; -- Colormap cmap; -- -- *colors = (XColor *) NULL; -+ return 1; -+} - -- if (win_info->visual->class == TrueColor) { -- if (DEBUG) fprintf(stderr,"TrueColor visual: no colormap needed\n"); -- return 0; -- } - -- else if (!win_info->colormap) { -- if (DEBUG) fprintf(stderr,"no colormap associated with window\n"); -- return 0; -- } - -- ncolors = win_info->visual->map_entries; -- if (DEBUG) fprintf(stderr,"%d entries in colormap\n", ncolors); - -- if (!(*colors = (XColor *) malloc (sizeof(XColor) * ncolors))) -- FatalError("malloc failed in getxcolors()"); - -+/** stuff needed to make new xvgrab work in 3.10a. **/ - -- if (win_info->visual->class == DirectColor) { -- Pixel red, green, blue, red1, green1, blue1; -+/********************************************/ -+static int CountColors24(pic, pwide, phigh, x, y, w, h) -+ byte *pic; -+ int pwide, phigh, x,y,w,h; -+{ -+ /* counts the # of unique colors in a selected rect of a PIC24 -+ returns '0-256' or >256 */ - -- if (DEBUG) fprintf(stderr,"DirectColor visual\n"); -+ int i, j, nc; -+ int low, high, mid; -+ u_int colors[257], col; -+ byte *pp; -+ -+ nc = 0; -+ -+ for (i=y; nc<257 && i colors[mid]) low = mid + 1; -+ else break; -+ } - -- red = green = blue = 0; -- red1 = lowbit(win_info->visual->red_mask); -- green1 = lowbit(win_info->visual->green_mask); -- blue1 = lowbit(win_info->visual->blue_mask); -- for (i=0; i win_info->visual->red_mask) red = 0; -- green += green1; -- if (green > win_info->visual->green_mask) green = 0; -- blue += blue1; -- if (blue > win_info->visual->blue_mask) blue = 0; -- } -- } -- else { -- for (i=0; icolormap, *colors, ncolors); -- -- return(ncolors); -+ return nc; - } -- -- - - -- --/***********************************/ --int LoadGrab(pinfo) -- PICINFO *pinfo; -+/****************************/ -+static int Trivial24to8(pic24, w,h, pic8, rmap,gmap,bmap, maxcol) -+ byte *pic24, *pic8, *rmap, *gmap, *bmap; -+ int w,h,maxcol; - { -- /* loads up (into XV structures) last image successfully grabbed. -- returns '0' on failure, '1' on success */ -- -- int i; -- -- if (!grabPic) return 0; /* no image to use */ -- -- if (gbits == 24) pinfo->type = PIC24; -- else { -- pinfo->type = PIC8; -+ /* scans picture until it finds more than 'maxcol' different colors. If it -+ finds more than 'maxcol' colors, it returns '0'. If it DOESN'T, it does -+ the 24-to-8 conversion by simply sticking the colors it found into -+ a colormap, and changing instances of a color in pic24 into colormap -+ indicies (in pic8) */ -+ -+ unsigned long colors[256],col; -+ int i, nc, low, high, mid; -+ byte *p, *pix; -+ -+ if (maxcol>256) maxcol = 256; -+ -+ /* put the first color in the table by hand */ -+ nc = 0; mid = 0; -+ -+ for (i=w*h,p=pic24; i; i--) { -+ col = (((u_long) *p++) << 16); -+ col += (((u_long) *p++) << 8); -+ col += *p++; -+ -+ /* binary search the 'colors' array to see if it's in there */ -+ low = 0; high = nc-1; -+ while (low <= high) { -+ mid = (low+high)/2; -+ if (col < colors[mid]) high = mid - 1; -+ else if (col > colors[mid]) low = mid + 1; -+ else break; -+ } - -- for (i=0; i<256; i++) { -- pinfo->r[i] = grabmapR[i]; -- pinfo->g[i] = grabmapG[i]; -- pinfo->b[i] = grabmapB[i]; -+ if (high < low) { /* didn't find color in list, add it. */ -+ if (nc>=maxcol) return 0; -+ xvbcopy((char *) &colors[low], (char *) &colors[low+1], -+ (nc - low) * sizeof(u_long)); -+ colors[low] = col; -+ nc++; - } - } - -- pinfo->pic = grabPic; -- pinfo->normw = pinfo->w = gWIDE; -- pinfo->normh = pinfo->h = gHIGH; -- pinfo->frmType = -1; -- pinfo->colType = -1; - -- sprintf(pinfo->fullInfo,"<%s internal>", -- (pinfo->type == PIC8) ? "8-bit" : "24-bit"); -- -- sprintf(pinfo->shrtInfo,"%dx%d image.",gWIDE, gHIGH); -- -- pinfo->comment = (char *) NULL; -+ /* run through the data a second time, this time mapping pixel values in -+ pic24 into colormap offsets into 'colors' */ - -- grabPic = (byte *) NULL; -- -- return 1; --} -- -- -- -- -- --#include --#include -- --static Window TryChildren PARM((Display *, Window, Atom)); -- --/* Find a window with WM_STATE, else return '0' */ -- --static Window xvClientWindow (dpy, win) -- Display *dpy; -- Window win; --{ -- Atom WM_STATE; -- Atom type = None; -- int format; -- unsigned long nitems, after; -- unsigned char *data; -- Window inf; -- -- WM_STATE = XInternAtom(dpy, "WM_STATE", True); -- if (!WM_STATE) return win; -- -- XGetWindowProperty(dpy, win, WM_STATE, 0L, 0L, False, AnyPropertyType, -- &type, &format, &nitems, &after, &data); -- if (type) return win; -- -- inf = TryChildren(dpy, win, WM_STATE); -- -- return inf; --} -- --static Window TryChildren (dpy, win, WM_STATE) -- Display *dpy; -- Window win; -- Atom WM_STATE; --{ -- Window root, parent; -- Window *children; -- unsigned int nchildren; -- unsigned int i; -- Atom type = None; -- int format; -- unsigned long nitems, after; -- unsigned char *data; -- Window inf = 0; -- -- if (!XQueryTree(dpy, win, &root, &parent, &children, &nchildren)) -- return 0; -+ for (i=w*h,p=pic24, pix=pic8; i; i--,pix++) { -+ col = (((u_long) *p++) << 16); -+ col += (((u_long) *p++) << 8); -+ col += *p++; -+ -+ /* binary search the 'colors' array. It *IS* in there */ -+ low = 0; high = nc-1; -+ while (low <= high) { -+ mid = (low+high)/2; -+ if (col < colors[mid]) high = mid - 1; -+ else if (col > colors[mid]) low = mid + 1; -+ else break; -+ } - -- for (i = 0; !inf && (i < nchildren); i++) { -- XGetWindowProperty(dpy, children[i], WM_STATE, 0L, 0L, False, -- AnyPropertyType, &type, &format, &nitems, -- &after, &data); -- if (type) -- inf = children[i]; -+ if (high < low) { -+ fprintf(stderr,"Trivial24to8: impossible situation!\n"); -+ exit(1); - } -+ *pix = mid; -+ } - -- for (i = 0; !inf && (i < nchildren); i++) -- inf = TryChildren(dpy, children[i], WM_STATE); -+ /* and load up the 'desired colormap' */ -+ for (i=0; i>16; -+ gmap[i] = (colors[i]>>8) & 0xff; -+ bmap[i] = colors[i] & 0xff; -+ } - -- if (children) XFree((char *)children); -- return inf; -+ return 1; - } -diff -ru xv-3.10a/xvgraf.c xv-3.10a-enhancements/xvgraf.c ---- xv-3.10a/xvgraf.c 1994-12-22 14:34:42.000000000 -0800 -+++ xv-3.10a-enhancements/xvgraf.c 2007-05-12 14:03:08.000000000 -0700 -@@ -1,4 +1,4 @@ --/* -+/* - * xvgraf.c - GRAF window handling functions - * - * callable functions: -@@ -52,7 +52,7 @@ - Window parent; - int x,y; - unsigned long fg,bg; -- char *title; -+ const char *title; - { - /* NOTE: CreateGraf does not initialize hands[], nhands, or spline, - as these could be initialized by X resources (or whatever), -@@ -88,7 +88,7 @@ - gp->win = XCreateSimpleWindow(theDisp, parent, x,y, GWIDE, GHIGH, 1, fg,bg); - if (!gp->win) FatalError("can't create graph (main) window"); - -- gp->gwin = XCreateSimpleWindow(theDisp, gp->win, 2, GHIGH-132, -+ gp->gwin = XCreateSimpleWindow(theDisp, gp->win, 2, GHIGH-132, - 128, 128, 1, fg,bg); - if (!gp->gwin) FatalError("can't create graph (sub) window"); - -@@ -96,7 +96,7 @@ - BTCreate(&gp->butts[i], gp->win, GWIDE-GBWIDE-2, 1+i * (GBHIGH + 1), - GBWIDE, GBHIGH, (char *) NULL, fg, bg, hicol, locol); - gp->butts[i].pix = gfbpix[i]; -- gp->butts[i].pw = PW; -+ gp->butts[i].pw = PW; - gp->butts[i].ph = PH; - } - -@@ -132,7 +132,7 @@ - - gp->gammamode = 0; gp->gamma = 1.0; - } -- -+ - - /***************************************************/ - void RedrawGraf(gp, gwin) -@@ -148,7 +148,7 @@ - else { - Draw3dRect(gp->win, 0,0, GWIDE-1, GHIGH-1, R3D_OUT, 1, hicol, locol, - gp->bg); -- -+ - XSetForeground(theDisp, theGC, gp->fg); - XSetBackground(theDisp, theGC, gp->bg); - DrawString(gp->win, 2, 1+ASCENT, gp->str); -@@ -165,11 +165,11 @@ - { - int i,x,y; - XPoint pts[129], *pt; -- -+ - - if (gp->entergamma) { -- char *str1 = "Enter gamma"; -- char *str2 = "value: "; -+ const char *str1 = "Enter gamma"; -+ const char *str2 = "value: "; - - XSetForeground(theDisp, theGC, gp->fg); - XSetBackground(theDisp, theGC, gp->bg); -@@ -181,15 +181,15 @@ - x = 10 + StringWidth(str2) + 8; - y = 30 + ASCENT + CHIGH + 3; - i = StringWidth(gp->gvstr); -- if (gp->entergamma < 0 && strlen(gp->gvstr)) { -+ if (gp->entergamma < 0 && strlen(gp->gvstr)) { - /* show string highlited */ - XFillRectangle(theDisp, gp->gwin, theGC, x-1, y-ASCENT-1, - (u_int) i+2, (u_int) CHIGH+2); - XSetForeground(theDisp, theGC, gp->bg); - } -- else -+ else - XDrawLine(theDisp, gp->gwin, theGC, x+i, y-ASCENT, x+i, y+DESCENT); -- -+ - DrawString(gp->gwin, x,y, gp->gvstr); - - return; -@@ -267,7 +267,7 @@ - if (igammamode = 0; - -@@ -312,7 +312,7 @@ - if (gp->nhands < MAX_GHANDS) { - /* find largest x-gap in handles, put new handle in mid */ - int lgap, lpos, x, y; -- -+ - lgap = gp->hands[1].x - gp->hands[0].x; - lpos = 1; - for (j=1; jnhands-1; j++) -@@ -320,11 +320,11 @@ - lgap = gp->hands[j+1].x - gp->hands[j].x; - lpos = j+1; - } -- -+ - /* open up position in hands[] array */ -- xvbcopy((char *) &gp->hands[lpos], (char *) &gp->hands[lpos+1], -+ xvbcopy((char *) &gp->hands[lpos], (char *) &gp->hands[lpos+1], - (gp->nhands - lpos) * sizeof(XPoint)); -- -+ - x = gp->hands[lpos-1].x + lgap/2; - y = gp->func[x]; - gp->hands[lpos].x = x; -@@ -343,7 +343,7 @@ - BTSetActive(&gp->butts[GFB_DELH], 1); - } - break; -- -+ - case GFB_DELH: - if (gp->nhands > 2) { - /* find (middle) point whose x-distance to previous -@@ -361,9 +361,9 @@ - mdist = dist; mpos = j; - } - } -- -+ - /* delete position 'mpos' in hands[] array */ -- xvbcopy((char *) &gp->hands[mpos+1], (char *) &gp->hands[mpos], -+ xvbcopy((char *) &gp->hands[mpos+1], (char *) &gp->hands[mpos], - (gp->nhands-mpos-1) * sizeof(XPoint)); - - gp->nhands--; -@@ -408,16 +408,16 @@ - - /* keep original mouse position in 'mx,my', and warp mouse to center - of screen */ -- grab = !XGrabPointer(theDisp, gp->gwin, False, 0, GrabModeAsync, -+ grab = !XGrabPointer(theDisp, gp->gwin, False, 0, GrabModeAsync, - GrabModeAsync, None, inviso, (Time) CurrentTime); -- XWarpPointer(theDisp, None, rootW, 0,0,0,0, -+ XWarpPointer(theDisp, None, rootW, 0,0,0,0, - (int) dispWIDE/2, (int) dispHIGH/2); - -- origx = dispWIDE/2; origy = dispHIGH/2; -+ origx = dispWIDE/2; origy = dispHIGH/2; - orighx = gp->hands[h].x; orighy = gp->hands[h].y; - - gp->gammamode = 0; -- offx = gp->hands[h].x - origx; -+ offx = gp->hands[h].x - origx; - offy = gp->hands[h].y - origy; - - vertonly = (h==0 || h==(gp->nhands-1)); -@@ -434,7 +434,7 @@ - - dx = x - origx; dy = origy - y; /* flip y axis */ - -- /* new (virt) position of handle is (desired) -+ /* new (virt) position of handle is (desired) - orighx + dx, orighy + dy */ - - if (!vertonly) { /* keep this handle between its neighbors */ -@@ -448,7 +448,7 @@ - if (newx != gp->hands[h].x || newy != gp->hands[h].y) { - /* this handle has moved... */ - XSetForeground(theDisp, theGC, gp->bg); -- XFillRectangle(theDisp, gp->gwin, theGC, -+ XFillRectangle(theDisp, gp->gwin, theGC, - (gp->hands[h].x/2)-3, ((255-gp->hands[h].y)/2)-3, 7,7); - - gp->hands[h].x = newx; gp->hands[h].y = newy; -@@ -464,7 +464,7 @@ - } - - drawHandPos(gp, -1); -- XWarpPointer(theDisp, None, gp->gwin, 0,0,0,0, -+ XWarpPointer(theDisp, None, gp->gwin, 0,0,0,0, - gp->hands[h].x/2, (255-gp->hands[h].y)/2); - if (grab) XUngrabPointer(theDisp, (Time) CurrentTime); - } -@@ -480,24 +480,24 @@ - int hnum; - { - int w; -- char *tstr = "888,888"; -- -+ const char *tstr = "888,888"; -+ - /* if hnum < 0, clears the text area */ -- -+ - XSetFont(theDisp, theGC, monofont); - w = XTextWidth(monofinfo, tstr, (int) strlen(tstr)); - -- if (hnum >= 0) sprintf(str,"%3d,%3d",gp->hands[hnum].x,gp->hands[hnum].y); -- else sprintf(str," "); -+ if (hnum >= 0) sprintf(dummystr,"%3d,%3d",gp->hands[hnum].x,gp->hands[hnum].y); -+ else sprintf(dummystr," "); - - XSetForeground(theDisp, theGC, gp->fg); - XSetBackground(theDisp, theGC, gp->bg); -- XDrawImageString(theDisp, gp->win, theGC, 130-w, 1+ASCENT, -- str, (int) strlen(str)); -+ XDrawImageString(theDisp, gp->win, theGC, 130-w, 1+ASCENT, -+ dummystr, (int) strlen(dummystr)); - - XSetFont(theDisp, theGC, mfont); - } -- -+ - - /***************************************************/ - int GrafKey(gp,str) -@@ -518,7 +518,7 @@ - } - - while (*str) { -- if (gp->entergamma == -1 && -+ if (gp->entergamma == -1 && - (*str != '\012' && *str != '\015' && *str != '\033')) { - gp->entergamma = 1; - gp->gvstr[0] = '\0'; -@@ -529,7 +529,7 @@ - len = strlen(gp->gvstr); - - if (*str>= '0' && *str <= '9') { -- if (len < GVMAX) { -+ if (len < GVMAX) { - gp->gvstr[len++] = *str; - gp->gvstr[len] = '\0'; - ok = 1; -@@ -607,18 +607,18 @@ - - /* do sanity check. (x-coords must be sorted (strictly increasing)) */ - -- for (i=0; inhands; i++) { -- RANGE(gp->hands[i].x, 0, 255); -+ for (i=0; inhands; i++) { -+ RANGE(gp->hands[i].x, 0, 255); - RANGE(gp->hands[i].y, 0, 255); - } - - gp->hands[0].x = 0; gp->hands[gp->nhands-1].x = 255; - for (i=1; inhands-1; i++) { - if (gp->hands[i].x < i) gp->hands[i].x = i; -- if (gp->hands[i].x > 256-gp->nhands+i) -+ if (gp->hands[i].x > 256-gp->nhands+i) - gp->hands[i].x = 256-gp->nhands+i; - -- if (gp->hands[i].x <= gp->hands[i-1].x) -+ if (gp->hands[i].x <= gp->hands[i-1].x) - gp->hands[i].x = gp->hands[i-1].x + 1; - } - -@@ -647,17 +647,17 @@ - else { /* gp->gamma == 0.0 */ - for (i=0; i<256; i++) gp->func[i] = 0; - } -- -- -+ -+ - for (i=0; inhands; i++) { - gp->hands[i].y = gp->func[gp->hands[i].x]; - } - } -- -+ - else if (!gp->spline) { /* do linear interpolation */ - int y,x1,y1,x2,y2; - double yd; -- -+ - for (i=0; inhands-1; i++) { - x1 = gp->hands[ i ].x; y1 = gp->hands[ i ].y; - x2 = gp->hands[i+1].x; y2 = gp->hands[i+1].y; -@@ -676,12 +676,12 @@ - double yf[MAX_GHANDS]; - double yd; - -- for (i=0; inhands; i++) { -+ for (i=0; inhands; i++) { - x[i] = gp->hands[i].x; y[i] = gp->hands[i].y; - } -- -+ - InitSpline(x, y, gp->nhands, yf); -- -+ - for (i=0; i<256; i++) { - yd = EvalSpline(x, y, yf, gp->nhands, (double) i); - j = (int) floor(yd + 0.5); -@@ -729,8 +729,8 @@ - - /*********************/ - int Str2Graf(gp, str) --GRAF_STATE *gp; --char *str; -+ GRAF_STATE *gp; -+ const char *str; - { - /* parses strings of the form: "S 3 : 0,0 : 63,63 : 255,255", - (meaning SPLINE, 3 points, and the 3 sets of handle coordinates) -@@ -744,14 +744,15 @@ - thing tends to break optimizers */ - - char tstr[256], tstr1[256], *sp, *dp; -+ const char *csp; - XPoint coords[MAX_GHANDS]; - int spline, nhands, i, x, y; - - if (!str) return 1; /* NULL strings don't parse well! */ - - /* first, strip all pesky whitespace from str */ -- for (sp=str, dp=tstr; *sp; sp++) -- if (*sp > ' ') { *dp = *sp; dp++; } -+ for (csp=str, dp=tstr; *csp; csp++) -+ if (*csp > ' ') { *dp = *csp; dp++; } - *dp = '\0'; - - /* check for 'gamma'-style str */ -@@ -761,10 +762,10 @@ - gp->gammamode = 1; - sprintf(gp->gvstr, "%.5g", gp->gamma); - return 0; -- } -+ } - else return 1; - } -- -+ - /* read Spline, or Line (S/L) character */ - sp = tstr; - if (*sp == 'S' || *sp == 's') spline = 1; -@@ -784,7 +785,7 @@ - while (*sp && *sp != ':') {*dp = *sp; dp++; sp++; } - *dp++ = '\0'; - if (sscanf(tstr1,"%d,%d",&x, &y) != 2) return 1; -- if (x < 0 || x > 255 || -+ if (x < 0 || x > 255 || - y < 0 || y > 255) return 1; /* out of range */ - coords[i].x = x; coords[i].y = y; - } -@@ -837,7 +838,7 @@ - IFSET(gp->gamma, gsp->gamma); - IFSET(gp->nhands, gsp->nhands); - -- if (strcmp(gp->gvstr, gsp->gvstr)) -+ if (strcmp(gp->gvstr, gsp->gvstr)) - { strcpy(gp->gvstr, gsp->gvstr); rv++; } - - for (i=0; inhands; i++) { -@@ -880,7 +881,7 @@ - sig = ((double) x[i]-x[i-1]) / ((double) x[i+1] - x[i-1]); - p = sig * y2[i-1] + 2.0; - y2[i] = (sig-1.0) / p; -- u[i] = (((double) y[i+1]-y[i]) / (x[i+1]-x[i])) - -+ u[i] = (((double) y[i+1]-y[i]) / (x[i+1]-x[i])) - - (((double) y[i]-y[i-1]) / (x[i]-x[i-1])); - u[i] = (6.0 * u[i]/(x[i+1]-x[i-1]) - sig*u[i-1]) / p; - } -@@ -912,9 +913,9 @@ - if (h==0.0) FatalError("bad xvalues in splint\n"); - a = (xa[khi]-x)/h; - b = (x-xa[klo])/h; -- return (a*ya[klo] + b*ya[khi] + ((a*a*a-a)*y2a[klo] +(b*b*b-b)*y2a[khi]) -+ return (a*ya[klo] + b*ya[khi] + ((a*a*a-a)*y2a[klo] +(b*b*b-b)*y2a[khi]) - * (h*h) / 6.0); - } -- -+ - - -diff -ru xv-3.10a/xviff.c xv-3.10a-enhancements/xviff.c ---- xv-3.10a/xviff.c 1995-01-13 11:54:54.000000000 -0800 -+++ xv-3.10a-enhancements/xviff.c 2007-05-13 17:50:59.000000000 -0700 -@@ -39,14 +39,14 @@ - - static long filesize; - --static int readID PARM((FILE *, char *)); --static int iffError PARM((char *, char *)); -+/* static int readID PARM((FILE *, char *)); DOES NOT EXIST */ -+static int iffError PARM((const char *, const char *)); - static void decomprle PARM((byte *, byte *, long, long)); - static unsigned int iff_getword PARM((byte *)); - static unsigned long iff_getlong PARM((byte *)); - - --static char *bname; -+static const char *bname; - - - /* Define internal ILBM types */ -@@ -65,16 +65,16 @@ - /*******************************************/ - { - /* returns '1' on success */ -- -+ - register byte bitmsk, rval, gval, bval; - register long col, colbit; - FILE *fp; - int rv; -- int BMHDok, CMAPok, CAMGok, BODYok; -+ int BMHDok, CMAPok, CAMGok; - int bmhd_width, bmhd_height, bmhd_bitplanes, bmhd_transcol; - int i, j, k, lineskip, colors, fmt; - byte bmhd_masking, bmhd_compression; -- long chunkLen, camg_viewmode, decomp_bufsize; -+ long chunkLen, camg_viewmode; - byte *databuf, *dataptr, *cmapptr, *picptr, *pic, *bodyptr; - byte *workptr, *workptr2, *workptr3, *decomp_mem; - -@@ -138,6 +138,7 @@ - BODY chunk was found or dataptr ran over end of file */ - - while ((rv<0) && (dataptr < (databuf + filesize))) { -+ int npixels = 0; - chunkLen = (iff_getlong(dataptr + 4) + 1) & 0xfffffffe; /* make even */ - - if (strncmp((char *) dataptr, "BMHD", (size_t) 4)==0) { /* BMHD chunk? */ -@@ -149,25 +150,30 @@ - bmhd_transcol = iff_getword(dataptr + 8 + 12); - BMHDok = 1; /* got BMHD */ - dataptr += 8 + chunkLen; /* to next chunk */ -+ -+ npixels = bmhd_width * bmhd_height; /* 65535*65535 max */ -+ if (bmhd_width <= 0 || bmhd_height <= 0 -+ || npixels/bmhd_width != bmhd_height) -+ return (iffError(bname, "xviff: image dimensions out of range")); - } - - - else if (strncmp((char *) dataptr, "CMAP", (size_t) 4)==0) { /* CMAP ? */ - cmapptr = dataptr + 8; - colors = chunkLen / 3; /* calc no of colors */ -- -+ - /* copy colors to color map */ - for (i=0; i < colors; i++) { - pinfo->r[i] = *cmapptr++; - pinfo->g[i] = *cmapptr++; - pinfo->b[i] = *cmapptr++; - } -- -+ - CMAPok = 1; /* got CMAP */ - dataptr += 8 + chunkLen; /* to next chunk */ - } - -- -+ - else if (strncmp((char *) dataptr, "CAMG", (size_t) 4)==0) { /* CAMG ? */ - camg_viewmode = iff_getlong(dataptr + 8); /* get viewmodes */ - CAMGok = 1; /* got CAMG */ -@@ -176,19 +182,28 @@ - - - else if (strncmp((char *) dataptr, "BODY", (size_t) 4)==0) { /* BODY ? */ -+ int byte_width = (((bmhd_width + 15) >> 4) << 1); /* 8192 max */ -+ - bodyptr = dataptr + 8; /* -> BODY data */ -- -+ - if (BMHDok) { /* BMHD found? */ - /* if BODY is compressed, allocate buffer for decrunched BODY and - decompress it (run length encoding) */ -- -+ - if (bmhd_compression == 1) { - /* calc size of decrunch buffer - (size of the actual picture - decompressed in interleaved Amiga bitplane format) */ - -- decomp_bufsize = (((bmhd_width + 15) >> 4) << 1) -- * bmhd_height * bmhd_bitplanes; -- -+ int bytes_per_bitplane = byte_width * bmhd_height; /* 536862720 max */ -+ long decomp_bufsize = bytes_per_bitplane * bmhd_bitplanes; -+ -+ if (byte_width <= 0 || bmhd_height <= 0 || -+ bytes_per_bitplane/byte_width != bmhd_height || -+ decomp_bufsize/bytes_per_bitplane != bmhd_bitplanes) -+ { -+ return (iffError(bname, "xviff: image dimensions out of range")); -+ } -+ - if ((decomp_mem = (byte *)malloc((size_t) decomp_bufsize)) != NULL) { - decomprle(dataptr + 8, decomp_mem, chunkLen, decomp_bufsize); - bodyptr = decomp_mem; /* -> uncompressed BODY */ -@@ -200,12 +215,13 @@ - FatalError("xviff: cannot malloc() decrunch buffer"); - } - } -- -+ - - /* the following determines the type of the ILBM file. - it's either NORMAL, EHB, HAM, HAM8 or 24BIT */ -- -+ - fmt = ILBM_NORMAL; /* assume normal ILBM */ -+ /* FIXME: does ILBM_NORMAL really support up to 255 bitplanes? */ - - if (bmhd_bitplanes == 24) fmt = ILBM_24BIT; - else if (bmhd_bitplanes == 8) { -@@ -216,7 +232,7 @@ - if (camg_viewmode & 0x80) fmt = ILBM_EHB; - else if (camg_viewmode & 0x800) fmt = ILBM_HAM; - } -- -+ - - if (DEBUG) { - fprintf(stderr, "LoadIFF: %s %dx%d, planes=%d (%d cols), comp=%d\n", -@@ -225,9 +241,9 @@ - (fmt==ILBM_HAM8) ? "HAM8 ILBM" : - (fmt==ILBM_EHB) ? "EHB ILBM" : - (fmt==ILBM_24BIT) ? "24BIT ILBM" : "unknown ILBM", -- bmhd_width, bmhd_height, bmhd_bitplanes, -+ bmhd_width, bmhd_height, bmhd_bitplanes, - 1<> 4) << 1; -- -+ lineskip = byte_width; -+ - for (i=0; ir[i + colors] = pinfo->r[i] >> 1; - pinfo->g[i + colors] = pinfo->g[i] >> 1; - pinfo->b[i + colors] = pinfo->b[i] >> 1; - } - } -- -+ - pic = picptr; /* ptr to chunky buffer */ - workptr = bodyptr; /* ptr to uncmp'd pic, planar format */ -- -- lineskip = ((bmhd_width + 15) >> 4) << 1; /* # of bytes/line */ -- -+ lineskip = byte_width; -+ - for (i=0; i> 1; /* shift mask to next bit */ - if (bitmsk == 0) { /* if mask is zero */ -@@ -382,7 +404,7 @@ - workptr2++; /* mv ptr to next byte */ - } - } /* for j ... */ -- -+ - workptr += lineskip * bmhd_bitplanes; /* to next line */ - } /* for i ... */ - -@@ -399,7 +421,7 @@ - pinfo->colType = F_FULLCOLOR; - pinfo->frmType = -1; - -- sprintf(pinfo->fullInfo, "%s (%ld bytes)", -+ sprintf(pinfo->fullInfo, "%s (%ld bytes)", - (fmt==ILBM_NORMAL) ? "IFF ILBM" : - (fmt==ILBM_HAM) ? "HAM ILBM" : - (fmt==ILBM_HAM8) ? "HAM8 ILBM" : -@@ -414,7 +436,8 @@ - } /* if BMHDok */ - - else rv = 0; /* didn't get BMHD header */ -- } -+ -+ } /* "BODY" chunk */ - - else { - if (DEBUG) -@@ -440,10 +463,10 @@ - - /************************************************************************** - void decomprle(source, destination, source length, buffer size) -- -+ - Decompress run-length encoded data from source to destination. Terminates - when source is decoded completely or destination buffer is full. -- -+ - The decruncher is as optimized as I could make it, without risking - safety in case of corrupt BODY chunks. - ***************************************************************************/ -@@ -455,12 +478,12 @@ - register long slen, dlen; - { - register byte codeByte, dataByte; -- -+ - while ((slen > 0) && (dlen > 0)) { -- -+ - /* read control byte */ - codeByte = *sptr++; -- -+ - if (codeByte < 0x80) { - codeByte++; - if ((slen > (long) codeByte) && (dlen >= (long) codeByte)) { -@@ -522,7 +545,7 @@ - - /*******************************************/ - static int iffError(fname, st) -- char *fname, *st; -+ const char *fname, *st; - { - SetISTR(ISTR_WARNING,"%s: %s", fname, st); - return 0; -diff -ru xv-3.10a/xvimage.c xv-3.10a-enhancements/xvimage.c ---- xv-3.10a/xvimage.c 1995-01-13 16:11:36.000000000 -0800 -+++ xv-3.10a-enhancements/xvimage.c 2007-03-18 18:13:51.000000000 -0700 -@@ -21,6 +21,16 @@ - * int LoadPad(pinfo, fname); - */ - -+/* The following switch should better be provided at runtime for -+ * comparison purposes. -+ * At the moment it's only compile time, unfortunately. -+ * Who can make adaptions for use as a runtime switch by a menu option? -+ * [GRR 19980607: now via do_fixpix_smooth global; macro renamed to ENABLE_] -+ * [see http://sylvana.net/fixpix/ for home page, further info] -+ */ -+/* #define ENABLE_FIXPIX_SMOOTH */ /* GRR 19980607: moved into xv.h */ -+ -+#define NEEDSDIR /* for S_IRUSR|S_IWUSR */ - #include "copyright.h" - - #include "xv.h" -@@ -34,9 +44,11 @@ - static void do_pan_calc PARM((int, int, int *, int *)); - static void crop1 PARM((int, int, int, int, int)); - static int doAutoCrop24 PARM((void)); --static void floydDitherize1 PARM((XImage *, byte *, int, int, int, -+static void floydDitherize1 PARM((XImage *, byte *, int, int, int, - byte *, byte *,byte *)); -+#if 0 /* NOTUSED */ - static int highbit PARM((unsigned long)); -+#endif - - static int doPadSolid PARM((char *, int, int, int, int)); - static int doPadBggen PARM((char *, int, int, int, int)); -@@ -46,6 +58,267 @@ - static int ReadImageFile1 PARM((char *, PICINFO *)); - - -+/* The following array represents the pixel values for each shade -+ * of the primary color components. -+ * If 'p' is a pointer to a source image rgb-byte-triplet, we can -+ * construct the output pixel value simply by 'oring' together -+ * the corresponding components: -+ * -+ * unsigned char *p; -+ * unsigned long pixval; -+ * -+ * pixval = screen_rgb[0][*p++]; -+ * pixval |= screen_rgb[1][*p++]; -+ * pixval |= screen_rgb[2][*p++]; -+ * -+ * This is both efficient and generic, since the only assumption -+ * is that the primary color components have separate bits. -+ * The order and distribution of bits does not matter, and we -+ * don't need additional variables and shifting/masking code. -+ * The array size is 3 KBytes total and thus very reasonable. -+ */ -+ -+static unsigned long screen_rgb[3][256]; -+ -+/* The following array holds the exact color representations -+ * reported by the system. -+ * This is useful for less than 24 bit deep displays as a base -+ * for additional dithering to get smoother output. -+ */ -+ -+static byte screen_set[3][256]; -+ -+/* The following routine initializes the screen_rgb and screen_set -+ * arrays. -+ * Since it is executed only once per program run, it does not need -+ * to be super-efficient. -+ * -+ * The method is to draw points in a pixmap with the specified shades -+ * of primary colors and then get the corresponding XImage pixel -+ * representation. -+ * Thus we can get away with any Bit-order/Byte-order dependencies. -+ * -+ * The routine uses some global X variables: theDisp, theScreen, -+ * and dispDEEP. Adapt these to your application as necessary. -+ * I've not passed them in as parameters, since for other platforms -+ * than X these may be different (see vfixpix.c), and so the -+ * screen_init() interface is unique. -+ * -+ * BUG: I've read in the "Xlib Programming Manual" from O'Reilly & -+ * Associates, that the DefaultColormap in TrueColor might not -+ * provide the full shade representation in XAllocColor. -+ * In this case one had to provide a 'best' colormap instead. -+ * However, my tests with Xaccel on a Linux-Box with a Mach64 -+ * card were fully successful, so I leave that potential problem -+ * to you at the moment and would appreciate any suggestions... -+ */ -+ -+static void screen_init() -+{ -+ static int init_flag; /* assume auto-init as 0 */ -+ Pixmap check_map; -+ GC check_gc; -+ XColor check_col; -+ XImage *check_image; -+ int ci, i; -+ -+ if (init_flag) return; -+ init_flag = 1; -+ -+ check_map = XCreatePixmap(theDisp, RootWindow(theDisp,theScreen), -+ 1, 1, dispDEEP); -+ check_gc = XCreateGC(theDisp, check_map, 0, NULL); -+ for (ci = 0; ci < 3; ci++) { -+ for (i = 0; i < 256; i++) { -+ check_col.red = 0; -+ check_col.green = 0; -+ check_col.blue = 0; -+ /* Do proper upscaling from unsigned 8 bit (image data values) -+ to unsigned 16 bit (X color representation). */ -+ ((unsigned short *)&check_col.red)[ci] = (unsigned short)((i << 8) | i); -+ if (theVisual->class == TrueColor) -+ XAllocColor(theDisp, theCmap, &check_col); -+ else -+ xvAllocColor(theDisp, theCmap, &check_col); -+ screen_set[ci][i] = -+ (((unsigned short *)&check_col.red)[ci] >> 8) & 0xff; -+ XSetForeground(theDisp, check_gc, check_col.pixel); -+ XDrawPoint(theDisp, check_map, check_gc, 0, 0); -+ check_image = XGetImage(theDisp, check_map, 0, 0, 1, 1, -+ AllPlanes, ZPixmap); -+ if (check_image) { -+ switch (check_image->bits_per_pixel) { -+ case 8: -+ screen_rgb[ci][i] = *(CARD8 *)check_image->data; -+ break; -+ case 16: -+ screen_rgb[ci][i] = *(CARD16 *)check_image->data; -+ break; -+ case 24: -+ screen_rgb[ci][i] = -+ ((unsigned long)*(CARD8 *)check_image->data << 16) | -+ ((unsigned long)*(CARD8 *)(check_image->data + 1) << 8) | -+ (unsigned long)*(CARD8 *)(check_image->data + 2); -+ break; -+ case 32: -+ screen_rgb[ci][i] = *(CARD32 *)check_image->data; -+ break; -+ } -+ XDestroyImage(check_image); -+ } -+ } -+ } -+ XFreeGC(theDisp, check_gc); -+ XFreePixmap(theDisp, check_map); -+} -+ -+ -+#ifdef ENABLE_FIXPIX_SMOOTH -+ -+/* The following code is based in part on: -+ * -+ * jquant1.c -+ * -+ * Copyright (C) 1991-1996, Thomas G. Lane. -+ * This file is part of the Independent JPEG Group's software. -+ * For conditions of distribution and use, see the accompanying README file. -+ * -+ * This file contains 1-pass color quantization (color mapping) routines. -+ * These routines provide mapping to a fixed color map using equally spaced -+ * color values. Optional Floyd-Steinberg or ordered dithering is available. -+ */ -+ -+/* Declarations for Floyd-Steinberg dithering. -+ * -+ * Errors are accumulated into the array fserrors[], at a resolution of -+ * 1/16th of a pixel count. The error at a given pixel is propagated -+ * to its not-yet-processed neighbors using the standard F-S fractions, -+ * ... (here) 7/16 -+ * 3/16 5/16 1/16 -+ * We work left-to-right on even rows, right-to-left on odd rows. -+ * -+ * We can get away with a single array (holding one row's worth of errors) -+ * by using it to store the current row's errors at pixel columns not yet -+ * processed, but the next row's errors at columns already processed. We -+ * need only a few extra variables to hold the errors immediately around the -+ * current column. (If we are lucky, those variables are in registers, but -+ * even if not, they're probably cheaper to access than array elements are.) -+ * -+ * We provide (#columns + 2) entries per component; the extra entry at each -+ * end saves us from special-casing the first and last pixels. -+ */ -+ -+typedef INT16 FSERROR; /* 16 bits should be enough */ -+typedef int LOCFSERROR; /* use 'int' for calculation temps */ -+ -+typedef struct { byte *colorset; -+ FSERROR *fserrors; -+ } FSBUF; -+ -+/* Floyd-Steinberg initialization function. -+ * -+ * It is called 'fs2_init' since it's specialized for our purpose and -+ * could be embedded in a more general FS-package. -+ * -+ * Returns a malloced FSBUF pointer which has to be passed as first -+ * parameter to subsequent 'fs2_dither' calls. -+ * The FSBUF structure does not need to be referenced by the calling -+ * application, it can be treated from the app like a void pointer. -+ * -+ * The current implementation does only require to free() this returned -+ * pointer after processing. -+ * -+ * Returns NULL if malloc fails. -+ * -+ * NOTE: The FSBUF structure is designed to allow the 'fs2_dither' -+ * function to work with an *arbitrary* number of color components -+ * at runtime! This is an enhancement over the IJG code base :-). -+ * Only fs2_init() specifies the (maximum) number of components. -+ */ -+ -+static FSBUF *fs2_init(width) -+int width; -+{ -+ FSBUF *fs; -+ FSERROR *p; -+ -+ fs = (FSBUF *) -+ malloc(sizeof(FSBUF) * 3 + ((size_t)width + 2) * sizeof(FSERROR) * 3); -+ if (fs == 0) return fs; -+ -+ fs[0].colorset = screen_set[0]; -+ fs[1].colorset = screen_set[1]; -+ fs[2].colorset = screen_set[2]; -+ -+ p = (FSERROR *)(fs + 3); -+ memset(p, 0, ((size_t)width + 2) * sizeof(FSERROR) * 3); -+ -+ fs[0].fserrors = p; -+ fs[1].fserrors = p + 1; -+ fs[2].fserrors = p + 2; -+ -+ return fs; -+} -+ -+/* Floyd-Steinberg dithering function. -+ * -+ * NOTE: -+ * (1) The image data referenced by 'ptr' is *overwritten* (input *and* -+ * output) to allow more efficient implementation. -+ * (2) Alternate FS dithering is provided by the sign of 'nc'. Pass in -+ * a negative value for right-to-left processing. The return value -+ * provides the right-signed value for subsequent calls! -+ * (3) This particular implementation assumes *no* padding between lines! -+ * Adapt this if necessary. -+ */ -+ -+static int fs2_dither(fs, ptr, nc, num_rows, num_cols) -+FSBUF *fs; -+byte *ptr; -+int nc, num_rows, num_cols; -+{ -+ int abs_nc, ci, row, col; -+ LOCFSERROR delta, cur, belowerr, bpreverr; -+ byte *dataptr, *colsetptr; -+ FSERROR *errorptr; -+ -+ if ((abs_nc = nc) < 0) abs_nc = -abs_nc; -+ for (row = 0; row < num_rows; row++) { -+ for (ci = 0; ci < abs_nc; ci++, ptr++) { -+ dataptr = ptr; -+ colsetptr = fs[ci].colorset; -+ errorptr = fs[ci].fserrors; -+ if (nc < 0) { -+ dataptr += (num_cols - 1) * abs_nc; -+ errorptr += (num_cols + 1) * abs_nc; -+ } -+ cur = belowerr = bpreverr = 0; -+ for (col = 0; col < num_cols; col++) { -+ cur += errorptr[nc]; -+ cur += 8; cur >>= 4; -+ if ((cur += *dataptr) < 0) cur = 0; -+ else if (cur > 255) cur = 255; -+ *dataptr = cur & 0xff; -+ cur -= colsetptr[cur]; -+ delta = cur << 1; cur += delta; -+ bpreverr += cur; cur += delta; -+ belowerr += cur; cur += delta; -+ errorptr[0] = (FSERROR)bpreverr; -+ bpreverr = belowerr; -+ belowerr = delta >> 1; -+ dataptr += nc; -+ errorptr += nc; -+ } -+ errorptr[0] = (FSERROR)bpreverr; -+ } -+ ptr += (num_cols - 1) * abs_nc; -+ nc = -nc; -+ } -+ return nc; -+} -+ -+#endif /* ENABLE_FIXPIX_SMOOTH */ -+ - - #define DO_CROP 0 - #define DO_ZOOM 1 -@@ -74,7 +347,7 @@ - GenerateEpic(w,h); - CreateXImage(); - } -- -+ - - - /********************************************/ -@@ -90,15 +363,15 @@ - - cp = cpic; - bperpix = (picType == PIC8) ? 1 : 3; -- -+ - for (i=0; i=eWIDE || ory>=eHIGH) return; - -- -+ - crop1(opx, opy, opw, oph, DO_ZOOM); - } - -@@ -306,15 +579,15 @@ - static void compute_zoom_rect(x, y, px, py, pw, ph) - int x, y, *px, *py, *pw, *ph; - { -- /* given a mouse pos (in epic coords), return x,y,w,h PIC coords for -- a 'zoom in by 2x' rectangle to be tracked. The rectangle stays -+ /* given a mouse pos (in epic coords), return x,y,w,h PIC coords for -+ a 'zoom in by 2x' rectangle to be tracked. The rectangle stays - completely within 'pic' boundaries, and moves in 'pic' increments */ - - CoordE2P(x, y, px, py); -- *pw = (cWIDE+1)/2; -+ *pw = (cWIDE+1)/2; - *ph = (cHIGH+1)/2; - -- *px = *px - (*pw)/2; -+ *px = *px - (*pw)/2; - *py = *py - (*ph)/2; - - RANGE(*px, 0, pWIDE - *pw); -@@ -327,7 +600,7 @@ - { - int x,y,w,h, x2,y2, ex,ey,ew,eh; - -- /* compute a cropping rectangle (in pic coordinates) that's twice -+ /* compute a cropping rectangle (in pic coordinates) that's twice - the size of eWIDE,eHIGH, centered around eWIDE/2, eHIGH/2, but no - larger than pWIDE,PHIGH */ - -@@ -362,7 +635,7 @@ - int i, ox,oy,offx,offy, rw,rh, px, py, dx, dy,m; - Window rW, cW; unsigned int mask; int rx, ry; - -- offx = ox = mx; -+ offx = ox = mx; - offy = oy = my; - rw = eWIDE-1; rh = eHIGH-1; - m = 0; -@@ -374,50 +647,50 @@ - - /* track until Button2 is released */ - while (1) { -- if (!XQueryPointer(theDisp, mainW, &rW, &cW, &rx, &ry, -+ if (!XQueryPointer(theDisp, mainW, &rW, &cW, &rx, &ry, - &mx, &my, &mask)) continue; - if (!(mask & ControlMask)) break; /* cancelled */ - if (!(mask & Button2Mask)) break; /* button released */ -- -+ - if (mask & ShiftMask) { /* constrain mx,my to horiz or vertical */ - if (abs(mx-offx) > abs(my-offy)) my = offy; - else mx = offx; - } -- -+ - do_pan_calc(offx, offy, &mx, &my); -- -+ - if (mx!=ox || my!=oy) { -- XDrawRectangle(theDisp, mainW, theGC, ox-offx, oy-offy, -+ XDrawRectangle(theDisp, mainW, theGC, ox-offx, oy-offy, - (u_int) rw, (u_int) rh); -- XDrawRectangle(theDisp, mainW, theGC, mx-offx, my-offy, -+ XDrawRectangle(theDisp, mainW, theGC, mx-offx, my-offy, - (u_int) rw, (u_int) rh); - ox = mx; oy = my; - } - else { -- XDrawRectangle(theDisp, mainW, theGC, ox-offx, oy-offy, -+ XDrawRectangle(theDisp, mainW, theGC, ox-offx, oy-offy, - (u_int) rw, (u_int) rh); - m = (m+1)&7; - XSetPlaneMask(theDisp, theGC, xorMasks[m]); -- XDrawRectangle(theDisp, mainW, theGC, ox-offx, oy-offy, -+ XDrawRectangle(theDisp, mainW, theGC, ox-offx, oy-offy, - (u_int) rw, (u_int) rh); - XFlush(theDisp); - Timer(100); - } - } -- -+ - mx = ox; my = oy; /* in case mx,my changed on button release */ - - if (!(mask & ControlMask)) { /* cancelled */ -- XDrawRectangle(theDisp, mainW, theGC, mx-offx, my-offy, -+ XDrawRectangle(theDisp, mainW, theGC, mx-offx, my-offy, - (u_int) rw, (u_int) rh); - XSetFunction(theDisp, theGC, GXcopy); - XSetPlaneMask(theDisp, theGC, AllPlanes); - return; - } -- -+ - - for (i=0; i<4; i++) { -- XDrawRectangle(theDisp, mainW, theGC, mx-offx, my-offy, -+ XDrawRectangle(theDisp, mainW, theGC, mx-offx, my-offy, - (u_int) rw, (u_int) rh); - XFlush(theDisp); - Timer(100); -@@ -430,7 +703,7 @@ - dx = px - cXOFF; dy = py - cYOFF; - - if (dx==0 && dy==0) { /* didn't pan anywhere */ -- XDrawRectangle(theDisp, mainW, theGC, mx-offx, my-offy, -+ XDrawRectangle(theDisp, mainW, theGC, mx-offx, my-offy, - (u_int) rw, (u_int) rh); - XSetFunction(theDisp, theGC, GXcopy); - XSetPlaneMask(theDisp, theGC, AllPlanes); -@@ -485,7 +758,7 @@ - /***********************************/ - void Crop() - { -- int i, x, y, w, h; -+ int x, y, w, h; - - if (!HaveSelection()) return; - -@@ -499,8 +772,7 @@ - static void crop1(x,y,w,h,zm) - int x,y,w,h,zm; - { -- int i,j,oldew,oldeh,oldcx,oldcy; -- byte *cp, *pp; -+ int oldew,oldeh,oldcx,oldcy; - - oldcx = cXOFF; oldcy = cYOFF; - oldew = eWIDE; oldeh = eHIGH; -@@ -529,7 +801,7 @@ - if (cpic == pic) return; /* not cropped */ - - BTSetActive(&but[BUNCROP],0); -- -+ - if (epicMode == EM_SMOOTH) { /* turn off smoothing */ - epicMode = EM_RAW; SetEpicMode(); - } -@@ -538,7 +810,7 @@ - FreeEpic(); - if (cpic && cpic != pic) free(cpic); - cpic = NULL; -- -+ - - w = (pWIDE * eWIDE) / cWIDE; h = (pHIGH * eHIGH) / cHIGH; - if (w>maxWIDE || h>maxHIGH) { -@@ -566,7 +838,7 @@ - WUnCrop(); - SetCropString(); - } -- -+ - - /***********************************/ - void AutoCrop() -@@ -583,7 +855,7 @@ - WCrop(eWIDE, eHIGH, cXOFF-oldcx, cYOFF-oldcy); - } - } -- -+ - SetCursors(-1); - } - -@@ -650,7 +922,7 @@ - - /* do the actual cropping */ - if (cleft || ctop || cbot || cright) { -- DoCrop(cXOFF+cleft, cYOFF+ctop, -+ DoCrop(cXOFF+cleft, cYOFF+ctop, - cWIDE-(cleft+cright), cHIGH-(ctop+cbot)); - return 1; - } -@@ -673,7 +945,7 @@ - # define NEIGHBOR 16 /* within 6% of neighboring pixels */ - # define MISSPCT 6 /* and up to 6% that don't match */ - # define inabsrange(a,n) ( (a) < n && (a) > -n ) -- -+ - - if (cHIGH<3 || cWIDE<3) return 0; - -@@ -739,7 +1011,7 @@ - while (cleft + 1 < cWIDE) { /* see if we can delete this line */ - oldr = bgR; oldg = bgG; oldb = bgB; - -- for (i=0, misses=0, cp1=cp; imaxWIDE || eHIGH>maxHIGH) { /* make 'normal' size */ -@@ -869,7 +1141,7 @@ - double r,wr,hr; - wr = ((double) cWIDE) / maxWIDE; - hr = ((double) cHIGH) / maxHIGH; -- -+ - r = (wr>hr) ? wr : hr; /* r is the max(wr,hr) */ - eWIDE = (int) ((cWIDE / r) + 0.5); - eHIGH = (int) ((cHIGH / r) + 0.5); -@@ -906,12 +1178,12 @@ - int dir; - { - int i; -- -+ - /* dir=0: 90 degrees clockwise, else 90 degrees counter-clockwise */ - WaitCursor(); -- -+ - RotatePic(pic, picType, &pWIDE, &pHIGH, dir); -- -+ - /* rotate clipped version and modify 'clip' coords */ - if (cpic != pic && cpic != NULL) { - if (!dir) { -@@ -928,7 +1200,7 @@ - RotatePic(cpic, picType, &cWIDE, &cHIGH,dir); - } - else { cWIDE = pWIDE; cHIGH = pHIGH; } -- -+ - /* rotate expanded version */ - if (epic != cpic && epic != NULL) { - WaitCursor(); -@@ -940,7 +1212,7 @@ - SetISTR(ISTR_RES,"%d x %d",pWIDE,pHIGH); - - SetISTR(ISTR_EXPAND, "%.5g%% x %.5g%% (%d x %d)", -- 100.0 * ((float) eWIDE) / cWIDE, -+ 100.0 * ((float) eWIDE) / cWIDE, - 100.0 * ((float) eHIGH) / cHIGH, eWIDE, eHIGH); - } - -@@ -951,7 +1223,7 @@ - int *wp, *hp; - int ptype, dir; - { -- /* rotates a w*h array of bytes 90 deg clockwise (dir=0) -+ /* rotates a w*h array of bytes 90 deg clockwise (dir=0) - or counter-clockwise (dir != 0). swaps w and h */ - - byte *pic1, *pix1, *pix; -@@ -960,7 +1232,7 @@ - - bperpix = (ptype == PIC8) ? 1 : 3; - -- w = *wp; h = *hp; -+ w = *wp; h = *hp; - pix1 = pic1 = (byte *) malloc((size_t) (w*h*bperpix)); - if (!pic1) FatalError("Not enough memory to rotate!"); - -@@ -968,15 +1240,15 @@ - if (dir==0) { - for (i=0; i=0; j--, pix1++, pix-=w) -+ for (j=h-1, pix=pic+(h-1)*w + i; j>=0; j--, pix1++, pix-=w) - *pix1 = *pix; - } - else { - int bperlin = w*bperpix; - int k; -- -- for (j=h-1, pix=pic+(h-1)*w*bperpix + i*bperpix; -- j>=0; j--, pix -= bperlin) -+ -+ for (j=h-1, pix=pic+(h-1)*w*bperpix + i*bperpix; -+ j>=0; j--, pix -= bperlin) - for (k=0; k=0; i--) { /* CCW */ - if (bperpix == 1) { -- for (j=0, pix=pic+i; j0) nextptr[-1] += ((err*3)/16); -@@ -1414,9 +1693,9 @@ - for (j=w-1; j>=0; j--, pp--, thisptr--, nextptr--) { - if (*thisptr<128) { err = *thisptr; *pp = (byte) bval; } - else { err = *thisptr-255; *pp = (byte) wval; } -- -+ - if (j>0) thisptr[-1] += ((err*7)/16); -- -+ - if (i0) nextptr[-1] += (err/16); -@@ -1449,8 +1728,8 @@ - } - - -- if (picType == PIC8) -- theImage = Pic8ToXImage(epic, (u_int) eWIDE, (u_int) eHIGH, -+ if (picType == PIC8) -+ theImage = Pic8ToXImage(epic, (u_int) eWIDE, (u_int) eHIGH, - cols, rMap, gMap, bMap); - else if (picType == PIC24) - theImage = Pic24ToXImage(egampic, (u_int) eWIDE, (u_int) eHIGH); -@@ -1482,7 +1761,7 @@ - - if (!pic8) return xim; /* shouldn't happen */ - -- if (DEBUG > 1) -+ if (DEBUG > 1) - fprintf(stderr,"Pic8ToXImage(): creating a %dx%d Ximage, %d bits deep\n", - wide, high, dispDEEP); - -@@ -1491,7 +1770,7 @@ - if (dispDEEP == 1) { - byte *imagedata; - -- xim = XCreateImage(theDisp, theVisual, dispDEEP, XYPixmap, 0, NULL, -+ xim = XCreateImage(theDisp, theVisual, dispDEEP, XYPixmap, 0, NULL, - wide, high, 32, 0); - if (!xim) FatalError("couldn't create xim!"); - -@@ -1506,11 +1785,11 @@ - - /* if ncols==0, do a 'black' and 'white' dither */ - if (ncols == 0) { -- /* note that if dispDEEP > 8, dithpic will just have '0' and '1' instead -+ /* note that if dispDEEP > 8, dithpic will just have '0' and '1' instead - of 'black' and 'white' */ - - dithpic = FSDither(pic8, PIC8, (int) wide, (int) high, rmap, gmap, bmap, -- (int) ((dispDEEP <= 8) ? black : 0), -+ (int) ((dispDEEP <= 8) ? black : 0), - (int) ((dispDEEP <= 8) ? white : 1)); - } - -@@ -1521,14 +1800,14 @@ - case 8: { - byte *imagedata, *ip, *pp; - int j, imWIDE, nullCount; -- -+ - nullCount = (4 - (wide % 4)) & 0x03; /* # of padding bytes per line */ - imWIDE = wide + nullCount; -- -+ - /* Now create the image data - pad each scanline as necessary */ - imagedata = (byte *) malloc((size_t) (imWIDE * high)); - if (!imagedata) FatalError("couldn't malloc imagedata"); -- -+ - pp = (dithpic) ? dithpic : pic8; - - for (i=0, ip=imagedata; idata = (char *) imagedata; - -- -+ - pp = (dithpic) ? dithpic : pic8; - - if (xim->bits_per_pixel == 4) { -@@ -1601,20 +1880,20 @@ - else FatalError("This display's too bizarre. Can't create XImage."); - } - break; -- -+ - - /*********************************/ -- -+ - case 2: { /* by M.Kossa@frec.bull.fr (Marc Kossa) */ - /* MSBFirst mods added by dale@ntg.com (Dale Luck) */ -- /* additional fixes by evol@infko.uni-koblenz.de -+ /* additional fixes by evol@infko.uni-koblenz.de - (Randolf Werner) for NeXT 2bit grayscale with MouseX */ - - byte *imagedata, *ip, *pp; - byte *lip; - int bperline, half, j; - -- xim = XCreateImage(theDisp, theVisual, dispDEEP, ZPixmap, 0, NULL, -+ xim = XCreateImage(theDisp, theVisual, dispDEEP, ZPixmap, 0, NULL, - wide, high, 8, 0); - if (!xim) FatalError("couldn't create xim!"); - -@@ -1674,11 +1953,11 @@ - *ip = (dithpic) ? *pp : (byte) xcolors[*pp]; - } - } -- -+ - else FatalError("This display's too bizarre. Can't create XImage."); - } - break; -- -+ - - /*********************************/ - -@@ -1686,8 +1965,8 @@ - case 6: { - byte *imagedata, *ip, *pp; - int bperline; -- -- xim = XCreateImage(theDisp, theVisual, dispDEEP, ZPixmap, 0, NULL, -+ -+ xim = XCreateImage(theDisp, theVisual, dispDEEP, ZPixmap, 0, NULL, - wide, high, 8, 0); - if (!xim) FatalError("couldn't create xim!"); - -@@ -1707,17 +1986,16 @@ - } - } - break; -- -+ - - /*********************************/ - - case 12: - case 15: - case 16: { -- unsigned short *imagedata, *ip; -- byte *pp; -+ byte *imagedata, *ip, *pp; - -- imagedata = (unsigned short *) malloc((size_t) (2*wide*high)); -+ imagedata = (byte *) malloc((size_t) (2*wide*high)); - if (!imagedata) FatalError("couldn't malloc imagedata"); - - xim = XCreateImage(theDisp,theVisual,dispDEEP,ZPixmap,0, -@@ -1736,10 +2014,12 @@ - if (xim->byte_order == MSBFirst) { - for (i=wide*high, ip=imagedata; i>0; i--,pp++) { - if (((i+1)&0x1ffff) == 0) WaitCursor(); -- if (dithpic) { -- *ip++ = ((*pp) ? white : black) & 0xffff; -- } -- else *ip++ = xcolors[*pp] & 0xffff; -+ -+ if (dithpic) xcol = ((*pp) ? white : black) & 0xffff; -+ else xcol = xcolors[*pp] & 0xffff; -+ -+ *ip++ = (xcol>>8) & 0xff; -+ *ip++ = (xcol) & 0xff; - } - } - else { /* LSBFirst */ -@@ -1749,14 +2029,14 @@ - if (dithpic) xcol = ((*pp) ? white : black) & 0xffff; - else xcol = xcolors[*pp]; - -- /* WAS *ip++ = ((xcol>>8) & 0xff) | ((xcol&0xff) << 8); */ -- *ip++ = (unsigned short) (xcol); -+ *ip++ = (xcol) & 0xff; -+ *ip++ = (xcol>>8) & 0xff; - } - } - } - break; - -- -+ - /*********************************/ - - case 24: -@@ -1766,7 +2046,7 @@ - - imagedata = (byte *) malloc((size_t) (4*wide*high)); - if (!imagedata) FatalError("couldn't malloc imagedata"); -- -+ - xim = XCreateImage(theDisp,theVisual,dispDEEP,ZPixmap,0, - (char *) imagedata, wide, high, 32, 0); - if (!xim) FatalError("couldn't create xim!"); -@@ -1774,7 +2054,7 @@ - do32 = (xim->bits_per_pixel == 32); - - pp = (dithpic) ? dithpic : pic8; -- -+ - if (xim->byte_order == MSBFirst) { - for (i=0, ip=imagedata; ired_mask; -- gmask = theVisual->green_mask; -- bmask = theVisual->blue_mask; -- -- rshift = 7 - highbit(rmask); -- gshift = 7 - highbit(gmask); -- bshift = 7 - highbit(bmask); -- -- maplen = theVisual->map_entries; -- if (maplen>256) maplen=256; -- cshift = 7 - highbit((u_long) (maplen-1)); -- - xim = XCreateImage(theDisp, theVisual, dispDEEP, ZPixmap, 0, NULL, - wide, high, 32, 0); - if (!xim) FatalError("couldn't create X image!"); - - bperline = xim->bytes_per_line; - bperpix = xim->bits_per_pixel; -- border = xim->byte_order; - - imagedata = (byte *) malloc((size_t) (high * bperline)); - if (!imagedata) FatalError("couldn't malloc imagedata"); -@@ -1923,85 +2187,141 @@ - FatalError(buf); - } - -+ screen_init(); - -- lip = imagedata; pp = pic24; -- for (i=0; iclass == DirectColor) { -- r = (u_long) directConv[(r>>cshift) & 0xff] << cshift; -- g = (u_long) directConv[(g>>cshift) & 0xff] << cshift; -- b = (u_long) directConv[(b>>cshift) & 0xff] << cshift; -- } -- -- -- /* shift the bits around */ -- if (rshift<0) r = r << (-rshift); -- else r = r >> rshift; -- -- if (gshift<0) g = g << (-gshift); -- else g = g >> gshift; -- -- if (bshift<0) b = b << (-bshift); -- else b = b >> bshift; -- -- r = r & rmask; -- g = g & gmask; -- b = b & bmask; -- -- xcol = r | g | b; -- -- if (bperpix == 32) { -- if (border == MSBFirst) { -- *ip++ = (xcol>>24) & 0xff; -- *ip++ = (xcol>>16) & 0xff; -- *ip++ = (xcol>>8) & 0xff; -- *ip++ = xcol & 0xff; -- } -- else { /* LSBFirst */ -- *ip++ = xcol & 0xff; -- *ip++ = (xcol>>8) & 0xff; -- *ip++ = (xcol>>16) & 0xff; -- *ip++ = (xcol>>24) & 0xff; -- } -- } -- -- else if (bperpix == 24) { -- if (border == MSBFirst) { -- *ip++ = (xcol>>16) & 0xff; -- *ip++ = (xcol>>8) & 0xff; -- *ip++ = xcol & 0xff; -- } -- else { /* LSBFirst */ -- *ip++ = xcol & 0xff; -- *ip++ = (xcol>>8) & 0xff; -- *ip++ = (xcol>>16) & 0xff; -- } -- } -+#ifdef ENABLE_FIXPIX_SMOOTH -+ if (do_fixpix_smooth) { -+#if 0 -+ /* If we wouldn't have to save the original pic24 image data, -+ * the following code would do the dither job by overwriting -+ * the image data, and the normal render code would then work -+ * without any change on that data. -+ * Unfortunately, this approach would hurt the xv assumptions... -+ */ -+ if (bperpix < 24) { -+ FSBUF *fs = fs2_init(wide); -+ if (fs) { -+ fs2_dither(fs, pic24, 3, high, wide); -+ free(fs); -+ } -+ } -+#else -+ /* ...so we have to take a different approach with linewise -+ * dithering/rendering in a loop using a temporary line buffer. -+ */ -+ if (bperpix < 24) { -+ FSBUF *fs = fs2_init(wide); -+ if (fs) { -+ byte *row_buf = malloc((size_t)wide * 3); -+ if (row_buf) { -+ int nc = 3; -+ byte *picp = pic24; lip = imagedata; -+ -+ switch (bperpix) { -+ case 8: -+ for (i=0; i>8) & 0xff; -- *ip++ = xcol & 0xff; -- } -- else { /* LSBFirst */ -- *ip++ = xcol & 0xff; -- *ip++ = (xcol>>8) & 0xff; -+ return xim; - } -- } -- -- else if (bperpix == 8) { -- *ip++ = xcol & 0xff; -- } -+ free(fs); -+ } - } -+#endif /* 0? */ - } -+#endif /* ENABLE_FIXPIX_SMOOTH */ -+ -+ lip = imagedata; pp = pic24; -+ -+ switch (bperpix) { -+ case 8: -+ for (i=0; i>16) & 0xff; -+ *ip++ = (xcol>>8) & 0xff; -+ *ip++ = xcol & 0xff; -+ } -+ else { /* LSBFirst */ -+ *ip++ = xcol & 0xff; -+ *ip++ = (xcol>>8) & 0xff; -+ *ip++ = (xcol>>16) & 0xff; -+ } -+#else /* GRR: this came with the FixPix patch, but I don't think it's right */ -+ *ip++ = (xcol >> 16) & 0xff; /* (no way to test, however, so */ -+ *ip++ = (xcol >> 8) & 0xff; /* it's left enabled by default) */ -+ *ip++ = xcol & 0xff; -+#endif -+ } -+ } -+ break; -+ -+ case 32: -+ for (i=0; i 8, pic8 will just have '0' and '1' instead -+ /* note that if dispDEEP > 8, pic8 will just have '0' and '1' instead - of 'black' and 'white' */ - -- pic8 = FSDither(pic24, PIC24, (int) wide, (int) high, NULL, NULL, NULL, -- (int) ((dispDEEP <= 8) ? black : 0), -+ pic8 = FSDither(pic24, PIC24, (int) wide, (int) high, NULL, NULL, NULL, -+ (int) ((dispDEEP <= 8) ? black : 0), - (int) ((dispDEEP <= 8) ? white : 1)); - bwdith = 1; - } - - else { /* do color dither using stdcmap */ -- pic8 = Do332ColorDither(pic24, NULL, (int) wide, (int) high, -+ pic8 = Do332ColorDither(pic24, NULL, (int) wide, (int) high, - NULL, NULL, NULL, - stdrdisp, stdgdisp, stdbdisp, 256); - } -@@ -2046,14 +2366,14 @@ - case 8: { - byte *imagedata, *ip, *pp; - int j, imWIDE, nullCount; -- -+ - nullCount = (4 - (wide % 4)) & 0x03; /* # of padding bytes per line */ - imWIDE = wide + nullCount; -- -+ - /* Now create the image data - pad each scanline as necessary */ - imagedata = (byte *) malloc((size_t) (imWIDE * high)); - if (!imagedata) FatalError("couldn't malloc imagedata"); -- -+ - for (i=0, pp=pic8, ip=imagedata; ibits_per_pixel != 8) - FatalError("This display's too bizarre. Can't create XImage."); - -@@ -2238,7 +2558,7 @@ - } - break; - -- -+ - /*********************************/ - - case 15: -@@ -2282,7 +2602,7 @@ - } - break; - -- -+ - /*********************************/ - - /* this wouldn't seem likely to happen, but what the heck... */ -@@ -2295,7 +2615,7 @@ - - imagedata = (byte *) malloc((size_t) (4*wide*high)); - if (!imagedata) FatalError("couldn't malloc imagedata"); -- -+ - xim = XCreateImage(theDisp,theVisual,dispDEEP,ZPixmap,0, - (char *) imagedata, wide, high, 32, 0); - if (!xim) FatalError("couldn't create xim!"); -@@ -2303,7 +2623,7 @@ - bperpix = xim->bits_per_pixel; - - pp = pic8; -- -+ - if (xim->byte_order == MSBFirst) { - for (i=wide*high, ip=imagedata; i>0; i--,pp++) { - if (((i+1)&0x1ffff) == 0) WaitCursor(); -@@ -2327,7 +2647,7 @@ - if (bperpix == 32) *ip++ = 0; - } - } -- } -+ } - break; - - } /* end of the switch */ -@@ -2346,7 +2666,7 @@ - int mode; - { - /* move checkmark */ -- conv24MB.flags[CONV24_8BIT] = (mode==PIC8); -+ conv24MB.flags[CONV24_8BIT] = (mode==PIC8); - conv24MB.flags[CONV24_24BIT] = (mode==PIC24); - - if (mode == PIC24) { -@@ -2383,15 +2703,13 @@ - void Change824Mode(mode) - int mode; - { -- static int oldcmapmode = -1; -- - if (mode == picType) return; /* same mode, do nothing */ - - Set824Menus(mode); - - if (!pic) { /* done all we wanna do when there's no pic */ - picType = mode; -- return; -+ return; - } - - /* should probably actually *do* something involving colors, regenrating -@@ -2453,6 +2771,7 @@ - - - /***********************/ -+#if 0 /* NOTUSED */ - static int highbit(ul) - unsigned long ul; - { -@@ -2465,6 +2784,7 @@ - for (i=31; ((ul & hb) == 0) && i>=0; i--, ul<<=1); - return i; - } -+#endif /* 0 - NOTUSED */ - - - -@@ -2474,7 +2794,7 @@ - int ptype, w,h, sx,sy,sw,sh; - { - /* mallocs and returns the selected subimage (sx,sy,sw,sh) of pic. -- selection is guaranteed to be within pic boundaries. -+ selection is guaranteed to be within pic boundaries. - NEVER RETURNS NULL */ - - byte *rpic, *sp, *dp; -@@ -2520,7 +2840,6 @@ - installs the new pic and all that... Returns '0' on failure */ - - int rv; -- char loadName[256]; - - if (padPic) free(padPic); - if (holdcomment) free(holdcomment); -@@ -2530,8 +2849,8 @@ - - rv = 1; - -- if ((mode != PAD_LOAD) && (wide == pWIDE && high == pHIGH && opaque==100)) { -- ErrPopUp("Padding to same size as pic while fully opaque has no effect.", -+ if ((mode != PAD_LOAD) && (wide == cWIDE && high == cHIGH && opaque==100)) { -+ ErrPopUp("Padding to same size as pic while fully opaque has no effect.", - "\nI see"); - return 0; - } -@@ -2539,8 +2858,8 @@ - WaitCursor(); - - if (mode == PAD_SOLID) rv = doPadSolid(str, wide, high, opaque,omode); -- else if (mode == PAD_BGGEN) rv = doPadBggen(str, wide, high, opaque,omode); -- else if (mode == PAD_LOAD) rv = doPadLoad (str, wide, high, opaque,omode); -+ else if (mode == PAD_BGGEN) rv = doPadBggen(str, wide, high, opaque,omode); -+ else if (mode == PAD_LOAD) rv = doPadLoad (str, wide, high, opaque,omode); - - SetCursors(-1); - -@@ -2556,7 +2875,7 @@ - - return 1; - } -- -+ - - /***********************************/ - int LoadPad(pinfo, fname) -@@ -2645,7 +2964,7 @@ - return 0; - } - } -- -+ - - - pic24 = (byte *) malloc(wide * high * 3 * sizeof(byte)); -@@ -2656,7 +2975,7 @@ - return 0; - } - -- -+ - /* fill pic24 with solidRGB */ - for (i=0,pp=pic24; i>16) & 0xff; -@@ -2676,6 +2995,9 @@ - char *str; - int wide, high, opaque,omode; - { -+#ifndef USE_MKSTEMP -+ int tmpfd; -+#endif - int i; - byte *bgpic24; - char syscmd[512], fname[128], errstr[512]; -@@ -2697,7 +3019,18 @@ - #else - strcpy(fname, "Sys$Disk:[]xvuXXXXXX"); - #endif -+#ifdef USE_MKSTEMP -+ close(mkstemp(fname)); -+#else - mktemp(fname); -+ tmpfd = open(fname, O_WRONLY|O_CREAT|O_EXCL,S_IRWUSR); -+ if (tmpfd < 0) { -+ sprintf(errstr, "Error: can't create temporary file %s", fname); -+ ErrPopUp(errstr, "\nDoh!"); -+ return 0; -+ } -+ close(tmpfd); -+#endif - - /* run bggen to generate the background */ - sprintf(syscmd, "bggen -g %dx%d %s > %s", wide, high, str, fname); -@@ -2713,7 +3046,7 @@ - ErrPopUp(errstr, "\nDoh!"); - return 0; - } -- -+ - - /* read the file that's been created */ - if (!ReadImageFile1(fname, &pinfo)) { -@@ -2791,7 +3124,7 @@ - int wide, high, opaque,omode; - { - /* copies 'pic' onto the given 24-bit background image, converts back to -- 8-bit (if necessary), and loads up pad* variables. -+ 8-bit (if necessary), and loads up pad* variables. - frees pic24 if necessary */ - - byte *pp, *p24; -@@ -2806,30 +3139,30 @@ - - /* copy 'pic' centered onto pic24. */ - -- sx = (wide - pWIDE) / 2; -- sy = (high - pHIGH) / 2; -- -- for (py = 0; py= 0 && p24y < high) { -- for (px=0; px= 0 && p24x < wide) { - p24 = pic24 + (p24y*wide + p24x)*3; -- -- -+ -+ - if (picType == PIC24) { /* src is PIC24 */ -- pp = pic + (py * pWIDE + px) *3; -+ pp = cpic + (py * cWIDE + px) *3; - r = pp[0]; g = pp[1]; b = pp[2]; - } - else { /* src is PIC8 */ -- pp = pic + (py*pWIDE + px); -+ pp = cpic + (py*cWIDE + px); - r = rMap[*pp]; g = gMap[*pp]; b = bMap[*pp]; - } -- -+ - if (omode == PAD_ORGB) { - rval = (r * fg) / 100 + ((int) p24[0] * bg) / 100; - gval = (g * fg) / 100 + ((int) p24[1] * bg) / 100; -@@ -2845,7 +3178,7 @@ - - if (omode == PAD_OINT) { - h = fh; -- s = fs; -+ s = fs; - /* v = (fv * fg) / 100.0 + (bv * bg) / 100.0; */ - v = (fv * bv * bw) + (fv * fw); - } -@@ -2855,18 +3188,18 @@ - h = fh; - /* s = (fs * fg) / 100.0 + (bs * bg) / 100.0; */ - s = (fs * bs * bw) + (fs * fw); -- v = fv; -+ v = fv; - } - else if (omode == PAD_OHUE) { /* the hard one! */ -- int fdeg,bdeg,len1,len2; -- -+ int fdeg,bdeg; -+ - fdeg = (fh<0) ? -1 : (int) floor(fh + 0.5); - bdeg = (bh<0) ? -1 : (int) floor(bh + 0.5); - - if (fdeg>=0 && bdeg>=0) { /* both are colors */ - /* convert H,S onto x,y coordinates on the colorwheel for - constant V */ -- -+ - double fx,fy, bx,by, ox,oy; - - if (fg == 100 || bg == 100) { /* E-Z special case */ -@@ -2874,17 +3207,17 @@ - else { h = bh; s = fs; v=fv; } - } - else { /* general case */ -- -+ - fh *= (3.14159 / 180.0); /* -> radians */ - bh *= (3.14159 / 180.0); -- -+ - fx = fs * cos(fh); fy = fs * sin(fh); - bx = bs * cos(bh); by = bs * sin(bh); -- -+ - /* compute pt. on line between fx,fy and bx,by */ - ox = (fx * (fg/100.0)) + (bx * (bg/100.0)); - oy = (fy * (fg/100.0)) + (by * (bg/100.0)); -- -+ - /* convert ox,oy back into hue,sat */ - s = sqrt((ox * ox) + (oy * oy)); - if (ox == 0.0) { -@@ -2897,7 +3230,7 @@ - while (h<0.0) h += 360.0; - while (h>=360.0) h -= 360.0; - } -- -+ - v = fv; - } - } -@@ -2924,7 +3257,7 @@ - v = (fv * bv * bw) + (fv * fw); - hsv2rgb(h,s,v, &rval,&gval,&bval); - } -- -+ - RANGE(rval, 0, 255); RANGE(gval, 0, 255); RANGE(bval, 0, 255); - *p24++ = rval; *p24++ = gval; *p24++ = bval; - } -@@ -2958,16 +3291,19 @@ - - - /*******************************/ --static int ReadImageFile1(name, pinfo) -+static int ReadImageFile1(name, pinfo) - char *name; - PICINFO *pinfo; - { - int i, ftype; -- char basefname[128], uncompname[128], errstr[256], *uncName, *readname; -+ char uncompname[128], errstr[256], *uncName, *readname; -+#ifdef VMS -+ char basefname[128]; -+#endif - - ftype = ReadFileType(name); - -- if (ftype == RFT_COMPRESS) { /* handle compressed/gzipped files */ -+ if ((ftype == RFT_COMPRESS) || (ftype == RFT_BZIP2)) { /* handle .Z,gz,bz2 */ - #ifdef VMS - basefname[0] = '\0'; - strcpy(basefname, name); /* remove trailing .Z */ -@@ -2976,8 +3312,8 @@ - #else - uncName = name; - #endif -- -- if (UncompressFile(uncName, uncompname)) { -+ -+ if (UncompressFile(uncName, uncompname, ftype)) { - ftype = ReadFileType(uncompname); - readname = uncompname; - } -@@ -3004,7 +3340,7 @@ - KillPageFiles(pinfo->pagebname, pinfo->numpages); - - if (!i || (i && (pinfo->w<=0 || pinfo->h<=0))) { -- if (i) { -+ if (i) { - if (pinfo->pic) free(pinfo->pic); - if (pinfo->comment) free(pinfo->comment); - } -@@ -3018,9 +3354,3 @@ - - return 1; - } -- -- -- -- -- -- -diff -ru xv-3.10a/xvinfo.c xv-3.10a-enhancements/xvinfo.c ---- xv-3.10a/xvinfo.c 1994-12-22 14:34:41.000000000 -0800 -+++ xv-3.10a-enhancements/xvinfo.c 2007-05-13 14:11:03.000000000 -0700 -@@ -1,4 +1,4 @@ --/* -+/* - * xvinfo.c - 'Info' box handling functions - * - * callable functions: -@@ -8,8 +8,8 @@ - * maps/unmaps window, etc. - * RedrawInfo(x,y,w,h) - called by 'expose' events - * SetInfoMode(mode) - changes amount of info Info window shows -- * SetISTR(st, fmt, args) - sprintf's into ISTR #st. Redraws it in window -- * char *GetISTR(st) - returns pointer to ISTR #st, or NULL if st bogus -+ * SetISTR(st, fmt, args) - sprintf's into ISTR #st. Redraws it in window -+ * char *GetISTR(st) - returns pointer to ISTR #st, or NULL if st bogus - */ - - #include "copyright.h" -@@ -43,20 +43,20 @@ - - /***************************************************/ - void CreateInfo(geom) --char *geom; -+ const char *geom; - { -- infoW = CreateWindow("xv info", "XVinfo", geom, INFOWIDE, INFOHIGH, -+ infoW = CreateWindow("xv info", "XVinfo", geom, INFOWIDE, INFOHIGH, - infofg, infobg, 0); - if (!infoW) FatalError("can't create info window!"); -- -- pennPix = XCreatePixmapFromBitmapData(theDisp, infoW, -+ -+ pennPix = XCreatePixmapFromBitmapData(theDisp, infoW, - (char *) penn_bits, penn_width, penn_height, infofg, infobg, dispDEEP); - - pnetPix = XCreatePixmapFromBitmapData(theDisp,infoW, -- (char *) pennnet_bits, pennnet_width, pennnet_height, -+ (char *) pennnet_bits, pennnet_width, pennnet_height, - infofg, infobg, dispDEEP); - } -- -+ - - /***************************************************/ - void InfoBox(vis) -@@ -64,7 +64,7 @@ - { - if (vis) XMapRaised(theDisp, infoW); - else XUnmapWindow(theDisp, infoW); -- -+ - infoUp = vis; - } - -@@ -74,23 +74,23 @@ - int x,y,w,h; - { - int i; -- -+ - XSetForeground(theDisp, theGC, infofg); - XSetBackground(theDisp, theGC, infobg); - - /* draw the two icons */ - XCopyArea(theDisp, pennPix, infoW, theGC, 0, 0, penn_width, penn_height, - 36 - penn_width/2, 36 - penn_height/2); -- XCopyArea(theDisp, pnetPix, infoW, theGC, 0, 0, pennnet_width, -- pennnet_height, INFOWIDE - 36 - pennnet_width/2, -+ XCopyArea(theDisp, pnetPix, infoW, theGC, 0, 0, pennnet_width, -+ pennnet_height, INFOWIDE - 36 - pennnet_width/2, - 36 - pennnet_height/2); - - /* draw the credits */ -- sprintf(str,"XV - %s",REVDATE); -- CenterString(infoW, INFOWIDE/2, 36-LINEHIGH, str); -+ snprintf(dummystr, sizeof(dummystr), "XV - %s", REVDATE); -+ CenterString(infoW, INFOWIDE/2, 36-LINEHIGH, dummystr); - CenterString(infoW, INFOWIDE/2, 36, - "by John Bradley (bradley@dccs.upenn.edu)"); -- CenterString(infoW, INFOWIDE/2, 36+LINEHIGH, -+ CenterString(infoW, INFOWIDE/2, 36+LINEHIGH, - "Copyright 1994, John Bradley - All Rights Reserved"); - - -@@ -131,16 +131,16 @@ - static void drawFieldName(fnum) - int fnum; - { -- static char *fname[7] = { "Filename:", "Format:", "Resolution:", "Cropping:", -- "Expansion:", "Selection:", "Colors:" }; -+ static const char *fname[7] = { "Filename:", "Format:", "Resolution:", -+ "Cropping:", "Expansion:", "Selection:", "Colors:" }; - - XSetForeground(theDisp, theGC, infofg); - XSetBackground(theDisp, theGC, infobg); - - if (infoMode == INF_NONE || infoMode == INF_STR) return; - if (infoMode == INF_PART && fnum>=3) return; -- -- XDrawString(theDisp, infoW, theGC, 10, TOPBASE + fnum*LINEHIGH, -+ -+ XDrawString(theDisp, infoW, theGC, 10, TOPBASE + fnum*LINEHIGH, - fname[fnum], (int) strlen(fname[fnum])); - } - -@@ -150,7 +150,7 @@ - int st; - { - /* erase area of string, and draw it with new contents */ -- -+ - if (infoMode == INF_NONE) return; - if (infoMode == INF_STR && st > ISTR_WARNING) return; - if (infoMode == INF_PART && st > ISTR_RES) return; -@@ -170,12 +170,12 @@ - } - else { - XSetForeground(theDisp, theGC, infobg); -- XFillRectangle(theDisp, infoW, theGC, -- STLEFT, TOPBASE - ASCENT + (st-ISTR_FILENAME)*LINEHIGH, -+ XFillRectangle(theDisp, infoW, theGC, -+ STLEFT, TOPBASE - ASCENT + (st-ISTR_FILENAME)*LINEHIGH, - (u_int) INFOWIDE-STLEFT, (u_int) LINEHIGH); - XSetForeground(theDisp, theGC, infofg); - XDrawString(theDisp, infoW, theGC, STLEFT, -- TOPBASE + (st-ISTR_FILENAME)*LINEHIGH, istrs[st], -+ TOPBASE + (st-ISTR_FILENAME)*LINEHIGH, istrs[st], - (int) strlen(istrs[st])); - } - } -@@ -187,21 +187,21 @@ - int mode; - { - int y1, y2; -- -+ - infoMode = mode; - if (infoUp) { /* only do this if window is mapped */ - y1 = TOPBASE - ASCENT; - y2 = INFOHIGH-43; -- -+ - XSetForeground(theDisp, theGC, infobg); -- -- XFillRectangle(theDisp,infoW,theGC,0,y1, -+ -+ XFillRectangle(theDisp,infoW,theGC,0,y1, - (u_int) INFOWIDE, (u_int) y2-y1); -- XFillRectangle(theDisp,infoW,theGC,0,INFOHIGH-39, -+ XFillRectangle(theDisp,infoW,theGC,0,INFOHIGH-39, - (u_int) INFOWIDE, (u_int) 17); -- XFillRectangle(theDisp,infoW,theGC,0,INFOHIGH-19, -+ XFillRectangle(theDisp,infoW,theGC,0,INFOHIGH-19, - (u_int) INFOWIDE, (u_int) 17); -- -+ - drawStrings(); - } - } -@@ -233,14 +233,14 @@ - - if (stnum>=0 && stnum < NISTR) { - fmt = va_arg(args, char *); -- if (fmt) vsprintf(istrs[stnum], fmt, args); -+ if (fmt) vsnprintf(istrs[stnum], sizeof(istrs[stnum]), fmt, args); - else istrs[stnum][0] = '\0'; - } - va_end(args); -- -+ - if (stnum == ISTR_COLOR) { -- sprintf(istrs[ISTR_INFO], "%s %s %s", formatStr, -- (picType==PIC8) ? "8-bit mode." : "24-bit mode.", -+ snprintf(istrs[ISTR_INFO], sizeof(istrs[ISTR_INFO]), "%s %s %s", -+ formatStr, (picType==PIC8) ? "8-bit mode." : "24-bit mode.", - istrs[ISTR_COLOR]); - } - -@@ -250,22 +250,22 @@ - XFlush(theDisp); - } - -- if (ctrlUp && (stnum == ISTR_INFO || stnum == ISTR_WARNING || -+ if (ctrlUp && (stnum == ISTR_INFO || stnum == ISTR_WARNING || - stnum == ISTR_COLOR)) { - DrawCtrlStr(); - XFlush(theDisp); - } - -- if (anyBrowUp && (stnum == ISTR_WARNING || stnum == ISTR_INFO) -+ if (anyBrowUp && (stnum == ISTR_WARNING || stnum == ISTR_INFO) - && strlen(istrs[stnum])) { - SetBrowStr(istrs[stnum]); - XFlush(theDisp); - } - -- if (stnum == ISTR_WARNING && !ctrlUp && !infoUp && !anyBrowUp && -+ if (stnum == ISTR_WARNING && !ctrlUp && !infoUp && !anyBrowUp && - strlen(istrs[stnum])) { - OpenAlert(istrs[stnum]); -- sleep(3); -+ sleep(1); /* was 3, but _really_ slow for TIFFs with unknown tags... */ - CloseAlert(); - } - } -diff -ru xv-3.10a/xviris.c xv-3.10a-enhancements/xviris.c ---- xv-3.10a/xviris.c 1994-12-22 14:34:47.000000000 -0800 -+++ xv-3.10a-enhancements/xviris.c 2007-05-13 17:49:50.000000000 -0700 -@@ -14,7 +14,7 @@ - * - * This code should work on machines with any byte order. - * -- * Could someone make this run real fast using multiple processors -+ * Could someone make this run real fast using multiple processors - * or how about using memory mapped files to speed it up? - * - * Paul Haeberli - 1991 -@@ -44,7 +44,7 @@ - u_short zsize; - u_long min; - u_long max; -- u_long wastebytes; -+ u_long wastebytes; - char name[80]; - u_long colormap; - -@@ -80,7 +80,7 @@ - #define CHANOFFSET(z) (3-(z)) /* this is byte order dependent */ - - --static int irisError PARM((char *, char *)); -+static int irisError PARM((const char *, const char *)); - static byte *getimagedata PARM((FILE *, IMAGE *)); - static void interleaverow PARM((byte *, byte *, int, int)); - static void expandrow PARM((byte *, byte *, int)); -@@ -97,8 +97,8 @@ - static void putlong PARM((FILE *, u_long)); - - --static char *loaderr; --static char *bname; -+static const char *loaderr; -+static const char *bname; - - /*****************************************************/ - int LoadIRIS(fname, pinfo) -@@ -112,7 +112,8 @@ - IMAGE img; - byte *rawdata, *rptr; - byte *pic824, *bptr; -- int trunc, i, j; -+ int trunc, i, npixels, bufsize; -+ u_short ii, jj; - long filesize; - - trunc = 0; -@@ -133,11 +134,11 @@ - img.imagic = getshort(fp); - img.type = getshort(fp); - img.dim = getshort(fp); -- img.xsize = getshort(fp); -+ img.xsize = getshort(fp); /* u_short */ - img.ysize = getshort(fp); - img.zsize = getshort(fp); - -- if (FERROR(fp)) { -+ if (FERROR(fp) || img.xsize == 0 || img.ysize == 0 || img.zsize == 0) { - fclose(fp); - return irisError(bname, "error in header info"); - } -@@ -148,7 +149,7 @@ - } - - rawdata = getimagedata(fp, &img); -- if (!rawdata) { -+ if (!rawdata) { - fclose(fp); - if (loaderr) irisError(bname, loaderr); - return 0; -@@ -162,18 +163,22 @@ - /* got the raw image data. Convert to an XV image (1,3 bytes / pix) */ - - -+ npixels = img.xsize * img.ysize; /* 65535*65535 = (2^32 - 131071) max */ -+ if (npixels/img.xsize != img.ysize) -+ return irisError(bname, "IRIS image dimensions out of range"); -+ - if (img.zsize < 3) { /* grayscale */ -- pic824 = (byte *) malloc((size_t) img.xsize * img.ysize); -+ pic824 = (byte *) malloc((size_t) npixels); - if (!pic824) FatalError("couldn't malloc pic824 in LoadIRIS()"); - - /* copy plane 3 from rawdata into pic824, inverting pic vertically */ -- for (i=0, bptr=pic824; i<(int) img.ysize; i++) { -- rptr = rawdata + 3 + ((img.ysize - 1) - i) * (img.xsize * 4); -- for (j=0; j<(int) img.xsize; j++, bptr++, rptr+=4) *bptr = *rptr; -+ for (ii=0, bptr=pic824; iir[i] = pinfo->g[i] = pinfo->b[i] = i; - - pinfo->pic = pic824; -@@ -188,13 +193,17 @@ - } - - else { /* truecolor */ -- pic824 = (byte *) malloc((size_t) img.xsize * img.ysize * 3); -+ bufsize = 3 * npixels; -+ if (npixels/img.xsize != img.ysize || bufsize/3 != npixels) { -+ return irisError(bname, "IRIS image dimensions out of range"); -+ } -+ pic824 = (byte *) malloc((size_t) bufsize); - if (!pic824) FatalError("couldn't malloc pic824 in LoadIRIS()"); -- -+ - /* copy plane 3 from rawdata into pic824, inverting pic vertically */ -- for (i=0, bptr=pic824; i<(int) img.ysize; i++) { -- rptr = rawdata + ((img.ysize - 1) - i) * (img.xsize * 4); -- for (j=0; j<(int) img.xsize; j++, rptr+=4) { -+ for (ii=0, bptr=pic824; iicomment = (char *) NULL; - - return 1; --} -+} - - - /*******************************************/ - static int irisError(name, st) -- char *name, *st; -+ const char *name, *st; - { - SetISTR(ISTR_WARNING,"%s: %s", name, st); - return 0; -@@ -237,41 +246,53 @@ - FILE *fp; - IMAGE *img; - { -- /* read in a B/W RGB or RGBA iris image file and return a -+ /* read in a B/W RGB or RGBA iris image file and return a - pointer to an array of 4-byte pixels, arranged ABGR, NULL on error */ - - byte *base, *lptr; - byte *verdat; -- int y, z, pos, len, tablen; -+ int y, z, tablen; - int xsize, ysize, zsize; - int bpp, rle, cur, badorder; -- int rlebuflen; -+ int rlebuflen, npixels, bufsize; - - - rle = ISRLE(img->type); - bpp = BPP(img->type); -- loaderr = (char *) NULL; -+ loaderr = (const char *) NULL; - - if (bpp != 1) { - loaderr = "image must have 1 byte per pix chan"; - return (byte *) NULL; - } - -- xsize = img->xsize; -+ xsize = img->xsize; /* all three are > 0 (checked by caller), <= 65535 */ - ysize = img->ysize; - zsize = img->zsize; -+ npixels = xsize * ysize; /* 65535*65535 = (2^32 - 131071) max */ -+ if (npixels/xsize != ysize) { -+ loaderr = "IRIS image dimensions out of range"; -+ return (byte *) NULL; -+ } - - if (rle) { - byte *rledat; - u_long *starttab, *lengthtab; - -- rlebuflen = 2 * xsize + 10; -+ rlebuflen = 2 * xsize + 10; /* 10 <= rlebuflen <= 131080 */ - tablen = ysize * zsize; -- starttab = (u_long *) malloc((size_t) tablen * sizeof(long)); -- lengthtab = (u_long *) malloc((size_t) tablen * sizeof(long)); -+ bufsize = tablen * sizeof(long); -+ -+ if (tablen/ysize != zsize || bufsize/tablen != sizeof(long)) { -+ loaderr = "IRIS image dimensions out of range"; -+ return (byte *)NULL; -+ } -+ -+ starttab = (u_long *) malloc((size_t) bufsize); -+ lengthtab = (u_long *) malloc((size_t) bufsize); - rledat = (byte *) malloc((size_t) rlebuflen); - -- if (!starttab || !lengthtab || !rledat) -+ if (!starttab || !lengthtab || !rledat) - FatalError("out of memory in LoadIRIS()"); - - fseek(fp, 512L, 0); -@@ -298,7 +319,13 @@ - fseek(fp, (long) (512 + 2*tablen*4), 0); - cur = 512 + 2*tablen*4; - -- base = (byte *) malloc((size_t) (xsize*ysize+TAGLEN) * 4); -+ bufsize = 4 * (npixels+TAGLEN); -+ if (bufsize/4 != (npixels+TAGLEN)) { -+ loaderr = "Bogus IRIS File!"; -+ free(starttab); free(lengthtab); free(rledat); -+ return (byte *)NULL; -+ } -+ base = (byte *) malloc((size_t) bufsize); - if (!base) FatalError("out of memory in LoadIRIS()"); - - addimgtag(base,xsize,ysize); -@@ -349,12 +376,17 @@ - } /* end of RLE case */ - - else { /* not RLE */ -+ bufsize = 4 * (npixels+TAGLEN); -+ if (bufsize/4 != (npixels+TAGLEN)) { -+ loaderr = "Bogus IRIS File!"; -+ return (byte *)NULL; -+ } -+ base = (byte *) malloc((size_t) bufsize); - verdat = (byte *) malloc((size_t) xsize); -- base = (byte *) malloc((size_t) (xsize*ysize+TAGLEN) * 4); - if (!base || !verdat) FatalError("out of memory in LoadIRIS()"); - - addimgtag(base,xsize,ysize); -- -+ - fseek(fp,512L,0); - - for (z=0; z 65535 || h > 65535) { -+ SetISTR(ISTR_WARNING, "image dimensions too large for IRIS format"); -+ return -1; -+ } -+ - /* load up header */ - img.imagic = IMAGIC; - img.type = ITYPE_RLE | (1 & BPPMASK); /* RLE, 1 byteperpix */ - img.dim = (colorstyle == F_FULLCOLOR) ? 3 : 2; -- img.xsize = w; -- img.ysize = h; -+ img.xsize = (u_short)w; -+ img.ysize = (u_short)h; - img.zsize = zsize = (colorstyle == F_FULLCOLOR) ? 3 : 1; - img.min = 0; - img.max = 255; -@@ -537,22 +574,33 @@ - if (ferror(fp)) { fclose(fp); return -1; } - - /* allocate RLE compression tables & stuff */ -- rlebuflen = 2*w + 10; -- tablen = h * zsize; -+ rlebuflen = 2*w + 10; /* 10 <= rlebuflen <= 131080 */ -+ tablen = h * zsize; /* 1 <= tablen <= 196605 */ - -+ /* no overflow is possible with any of these (given check on w,h above): */ - starttab = (u_long *) malloc((size_t) tablen * sizeof(long)); - lengthtab = (u_long *) malloc((size_t) tablen * sizeof(long)); - rlebuf = (byte *) malloc((size_t) rlebuflen); -- lumbuf = (byte *) malloc((size_t) w * 4); -+ lumbuf = (byte *) malloc((size_t) w * 4); /* 262140 max */ - -- if (!starttab || !lengthtab || !rlebuf || !lumbuf) -+ if (!starttab || !lengthtab || !rlebuf || !lumbuf) - FatalError("out of memory in WriteIRIS()"); - - pos = 512 + 2 * (tablen * 4); - fseek(fp, (long) pos, 0); - - /* convert image into 4-byte per pix image that the compress routines want */ -- longpic = (byte *) malloc((size_t) w * h * 4); -+ npixels = w * h; -+ bufsize = 4 * npixels; -+ if (npixels/w != h || bufsize/4 != npixels) { -+ SetISTR(ISTR_WARNING, "can't malloc longpic in WriteIRIS()"); -+ free(starttab); -+ free(lengthtab); -+ free(rlebuf); -+ free(lumbuf); -+ return -1; -+ } -+ longpic = (byte *) malloc((size_t) bufsize); - if (!longpic) FatalError("couldn't malloc longpic in WriteIRIS()"); - - for (i=0, pptr=pic; i rlebuflen) { -+ /* this condition shouldn't kill XV, just abort writing the image */ - FatalError("WriteIRIS: rlebuf is too small"); - exit(1); - } -@@ -618,10 +667,10 @@ - - return 0; - } -- -+ - - /*************************************/ --static void lumrow(rgbptr, lumptr, n) -+static void lumrow(rgbptr, lumptr, n) - byte *rgbptr, *lumptr; - int n; - { -@@ -640,7 +689,7 @@ - int z, cnt; - { - byte *iptr, *ibufend, *sptr, *optr; -- short todo, cc; -+ short todo, cc; - long count; - - lbuf += z; -@@ -685,7 +734,7 @@ - cc = *iptr; - iptr += 4; - while ((iptr126 ? 126:count; -@@ -694,7 +743,7 @@ - *optr++ = cc; - } - } -- -+ - *optr++ = 0; - return (optr - rlebuf); - } -diff -ru xv-3.10a/xvjpeg.c xv-3.10a-enhancements/xvjpeg.c ---- xv-3.10a/xvjpeg.c 1995-01-05 00:17:13.000000000 -0800 -+++ xv-3.10a-enhancements/xvjpeg.c 2007-05-13 17:47:11.000000000 -0700 -@@ -12,13 +12,17 @@ - - #include - --#include "jpeglib.h" -+#include "jpeglib.h" /* currently defines JPEG_APP0 but not JPEG_APP1 */ - #include "jerror.h" - -+#ifndef JPEG_APP1 -+# define JPEG_APP1 (JPEG_APP0 + 1) /* EXIF marker */ -+#endif -+ - #define CREATOR_STR "CREATOR: " - - #if BITS_IN_JSAMPLE != 8 -- Sorry, this code only copes with 8-bit JSAMPLEs. /* deliberate syntax err */ -+ Sorry, this code copes only with 8-bit JSAMPLEs. /* deliberate syntax err */ - #endif - - -@@ -30,12 +34,12 @@ - #define J_BCANC 1 - #define BUTTH 24 - --/* minimum size compression when doing a 'quick' image load. (of course, if -- the image *is* smaller than this, you'll get whatever size it actually is. -+/* Minimum size compression when doing a 'quick' image load. (Of course, if -+ the image *is* smaller than this, you'll get whatever size it actually is.) - This is currently hardcoded to be twice the size of a schnauzer icon, as - the schnauzer's the only thing that does a quick load... */ - --#define QUICKWIDE 160 -+#define QUICKWIDE 160 - #define QUICKHIGH 120 - - struct my_error_mgr { -@@ -51,19 +55,33 @@ - static void clickJD PARM((int, int)); - static void doCmd PARM((int)); - static void writeJPEG PARM((void)); -+#if JPEG_LIB_VERSION > 60 -+METHODDEF(void) xv_error_exit PARM((j_common_ptr)); -+METHODDEF(void) xv_error_output PARM((j_common_ptr)); -+METHODDEF(void) xv_prog_meter PARM((j_common_ptr)); -+#else - METHODDEF void xv_error_exit PARM((j_common_ptr)); - METHODDEF void xv_error_output PARM((j_common_ptr)); - METHODDEF void xv_prog_meter PARM((j_common_ptr)); -+#endif - static unsigned int j_getc PARM((j_decompress_ptr)); -+#if JPEG_LIB_VERSION > 60 -+METHODDEF(boolean) xv_process_comment PARM((j_decompress_ptr)); -+METHODDEF(boolean) xv_process_app1 PARM((j_decompress_ptr)); -+#else - METHODDEF boolean xv_process_comment PARM((j_decompress_ptr)); -+METHODDEF boolean xv_process_app1 PARM((j_decompress_ptr)); -+#endif - static int writeJFIF PARM((FILE *, byte *, int,int,int)); - - - - /*** local variables ***/ - static char *filename; --static char *fbasename; -+static const char *fbasename; - static char *comment; -+static byte *exifInfo; -+static int exifInfoSize; /* not a string => must track size explicitly */ - static int colorType; - - static DIAL qDial, smDial; -@@ -80,28 +98,26 @@ - /***************************************************/ - void CreateJPEGW() - { -- XClassHint classh; -- - jpegW = CreateWindow("xv jpeg","XVjpeg",NULL,JWIDE,JHIGH,infofg,infobg,0); - if (!jpegW) FatalError("can't create jpeg window!"); -- -+ - XSelectInput(theDisp, jpegW, ExposureMask | ButtonPressMask | KeyPressMask); -- -- DCreate(&qDial, jpegW, 10, 10, 80, 100, 1, 100, 75, 5, -+ -+ DCreate(&qDial, jpegW, 10, 10, 80, 100, 1.0, 100.0, 75.0, 1.0, 5.0, - infofg, infobg, hicol, locol, "Quality", "%"); -- -- DCreate(&smDial, jpegW, 120, 10, 80, 100, 0, 100, 0, 5, -+ -+ DCreate(&smDial, jpegW, 120, 10, 80, 100, 0.0, 100.0, 0.0, 1.0, 5.0, - infofg, infobg, hicol, locol, "Smoothing", "%"); -- -- BTCreate(&jbut[J_BOK], jpegW, JWIDE-180-1, JHIGH-10-BUTTH-1, 80, BUTTH, -+ -+ BTCreate(&jbut[J_BOK], jpegW, JWIDE-180-1, JHIGH-10-BUTTH-1, 80, BUTTH, - "Ok", infofg, infobg, hicol, locol); -- -- BTCreate(&jbut[J_BCANC], jpegW, JWIDE-90-1, JHIGH-10-BUTTH-1, 80, BUTTH, -+ -+ BTCreate(&jbut[J_BCANC], jpegW, JWIDE-90-1, JHIGH-10-BUTTH-1, 80, BUTTH, - "Cancel", infofg, infobg, hicol, locol); -- -+ - XMapSubwindows(theDisp, jpegW); - } -- -+ - - /***************************************************/ - void JPEGDialog(vis) -@@ -122,32 +138,32 @@ - { - /* check event to see if it's for one of our subwindows. If it is, - deal accordingly, and return '1'. Otherwise, return '0' */ -- -+ - int rv; - rv = 1; -- -+ - if (!jpegUp) return 0; -- -+ - if (xev->type == Expose) { - int x,y,w,h; - XExposeEvent *e = (XExposeEvent *) xev; - x = e->x; y = e->y; w = e->width; h = e->height; -- -+ - /* throw away excess expose events for 'dumb' windows */ -- if (e->count > 0 && (e->window == qDial.win || -+ if (e->count > 0 && (e->window == qDial.win || - e->window == smDial.win)) {} -- -+ - else if (e->window == jpegW) drawJD(x, y, w, h); - else if (e->window == qDial.win) DRedraw(&qDial); - else if (e->window == smDial.win) DRedraw(&smDial); - else rv = 0; - } -- -+ - else if (xev->type == ButtonPress) { - XButtonEvent *e = (XButtonEvent *) xev; - int x,y; - x = e->x; y = e->y; -- -+ - if (e->button == Button1) { - if (e->window == jpegW) clickJD(x,y); - else if (e->window == qDial.win) DTrack(&qDial, x,y); -@@ -156,18 +172,18 @@ - } /* button1 */ - else rv = 0; - } /* button press */ -- -- -+ -+ - else if (xev->type == KeyPress) { - XKeyEvent *e = (XKeyEvent *) xev; - char buf[128]; KeySym ks; - int stlen; -- -+ - stlen = XLookupString(e,buf,128,&ks,(XComposeStatus *) NULL); - buf[stlen] = '\0'; -- -+ - RemapKeyCheck(ks, buf, &stlen); -- -+ - if (e->window == jpegW) { - if (stlen) { - if (buf[0] == '\r' || buf[0] == '\n') { /* enter */ -@@ -181,12 +197,12 @@ - else rv = 0; - } - else rv = 0; -- -+ - if (rv==0 && (xev->type == ButtonPress || xev->type == KeyPress)) { - XBell(theDisp, 50); - rv = 1; /* eat it */ - } -- -+ - return rv; - } - -@@ -205,23 +221,24 @@ - static void drawJD(x,y,w,h) - int x,y,w,h; - { -- char *title = "Save JPEG file..."; -- char *title1 = "Quality value determines"; -- char *title2 = "compression rate: higher"; -- char *title3 = "quality = bigger file."; -- char *title4 = "Use smoothing if saving"; -- char *title5 = "an 8-bit image (eg, a GIF)."; -- -- char *qtitle1 = "Default = 75."; -- char *qtitle2 = "Useful range"; -- char *qtitle3 = "is 5-95."; -- char *smtitle1 = "Default = 0 (none)."; -- char *smtitle2 = "10-30 is enough"; -- char *smtitle3 = "for typical GIFs."; -- -+ const char *title = "Save JPEG file..."; -+ const char *title1 = "Quality value determines"; -+ const char *title2 = "compression rate: higher"; -+ const char *title3 = "quality = bigger file."; -+ const char *title4 = "Use smoothing if saving"; -+ const char *title5 = "an 8-bit image (eg, a GIF)."; -+ -+ const char *qtitle1 = "Default = 75."; -+ const char *qtitle2 = "Useful range"; -+ const char *qtitle3 = "is 5-95."; -+ -+ const char *smtitle1 = "Default = 0 (none)."; -+ const char *smtitle2 = "10-30 is enough"; -+ const char *smtitle3 = "for typical GIFs."; -+ - int i; - XRectangle xr; -- -+ - xr.x = x; xr.y = y; xr.width = w; xr.height = h; - XSetClipRectangles(theDisp, theGC, 0,0, &xr, 1, Unsorted); - -@@ -240,11 +257,11 @@ - DrawString(jpegW, 15, 10+100+10+ASCENT, qtitle1); - DrawString(jpegW, 15, 10+100+10+ASCENT+LINEHIGH, qtitle2); - DrawString(jpegW, 15, 10+100+10+ASCENT+LINEHIGH*2, qtitle3); -- -+ - DrawString(jpegW, 115, 10+100+10+ASCENT+LINEHIGH*0, smtitle1); - DrawString(jpegW, 115, 10+100+10+ASCENT+LINEHIGH*1, smtitle2); - DrawString(jpegW, 115, 10+100+10+ASCENT+LINEHIGH*2, smtitle3); -- -+ - XSetClipMask(theDisp, theGC, None); - } - -@@ -255,14 +272,14 @@ - { - int i; - BUTT *bp; -- -+ - /* check BUTTs */ -- -+ - for (i=0; ix, bp->y, bp->w, bp->h)) break; - } -- -+ - if (i 0 (above) */ -+ if (count/3 < npixels) { -+ SetISTR(ISTR_WARNING, "%s: image dimensions too large (%dx%d)", -+ fbasename, w, h); -+ return; -+ } -+ -+ image24 = (byte *) malloc((size_t) count); - if (!image24) { /* this simply isn't going to work */ - FatalError("writeJPEG: unable to malloc image24\n"); - } - -- for (i=0, ip=image24, ep=inpix; i 60 -+METHODDEF(void) xv_error_exit(cinfo) -+#else -+METHODDEF void xv_error_exit(cinfo) -+#endif - j_common_ptr cinfo; - { - my_error_ptr myerr; -@@ -412,7 +450,11 @@ - - - /**************************************************/ --METHODDEF void xv_error_output(cinfo) -+#if JPEG_LIB_VERSION > 60 -+METHODDEF(void) xv_error_output(cinfo) -+#else -+METHODDEF void xv_error_output(cinfo) -+#endif - j_common_ptr cinfo; - { - my_error_ptr myerr; -@@ -426,7 +468,11 @@ - - - /**************************************************/ --METHODDEF void xv_prog_meter(cinfo) -+#if JPEG_LIB_VERSION > 60 -+METHODDEF(void) xv_prog_meter(cinfo) -+#else -+METHODDEF void xv_prog_meter(cinfo) -+#endif - j_common_ptr cinfo; - { - struct jpeg_progress_mgr *prog; -@@ -462,14 +508,16 @@ - struct my_error_mgr jerr; - JSAMPROW rowptr[1]; - FILE *fp; -- static byte *pic; -+ const char *colorspace_name = "Color"; -+ byte *pic, *pic_end; - long filesize; -- int i,w,h,bperpix; -+ int i,w,h,bperpix,bperline,count; - - - fbasename = BaseName(fname); - pic = (byte *) NULL; - comment = (char *) NULL; -+ exifInfo = (byte *) NULL; - - pinfo->type = PIC8; - -@@ -485,14 +533,22 @@ - jerr.pub.output_message = xv_error_output; - - if (setjmp(jerr.setjmp_buffer)) { -+L1: - /* if we're here, it blowed up... */ - jpeg_destroy_decompress(&cinfo); - fclose(fp); -- if (pic) free(pic); -- if (comment) free(comment); -- -- pinfo->pic = (byte *) NULL; -- pinfo->comment = (char *) NULL; -+ if (pic) free(pic); -+ if (comment) free(comment); -+ if (exifInfo) free(exifInfo); -+ -+ pinfo->pic = (byte *) NULL; -+ pinfo->comment = (char *) NULL; -+ pinfo->exifInfo = (byte *) NULL; -+ pinfo->exifInfoSize = 0; -+ -+ comment = (char *) NULL; -+ exifInfo = (byte *) NULL; -+ exifInfoSize = 0; - - return 0; - } -@@ -500,6 +556,7 @@ - - jpeg_create_decompress(&cinfo); - jpeg_set_marker_processor(&cinfo, JPEG_COM, xv_process_comment); -+ jpeg_set_marker_processor(&cinfo, JPEG_APP1, xv_process_app1); - - /* hook up progress meter */ - prog.progress_monitor = xv_prog_meter; -@@ -515,9 +572,8 @@ - - - jpeg_calc_output_dimensions(&cinfo); -- w = cinfo.output_width; -- h = cinfo.output_height; -- pinfo->normw = w; pinfo->normh = h; -+ pinfo->normw = w = cinfo.output_width; -+ pinfo->normh = h = cinfo.output_height; - - if (quick) { - int wfac, hfac, fac; -@@ -543,75 +599,120 @@ - } - - -- if (cinfo.jpeg_color_space == JCS_GRAYSCALE) { -- cinfo.out_color_space = JCS_GRAYSCALE; -- cinfo.quantize_colors = FALSE; -- -- SetISTR(ISTR_INFO,"Loading %dx%d Greyscale JPEG (%ld bytes)...", -- w,h,filesize); -- -- for (i=0; i<256; i++) pinfo->r[i] = pinfo->g[i] = pinfo->b[i] = i; -- } -- else { -- cinfo.out_color_space = JCS_RGB; -- cinfo.quantize_colors = FALSE; /* default: give 24-bit image to XV */ -- -- if (!quick && picType==PIC8 && conv24MB.flags[CONV24_LOCK] == 1) { -- /* -- * we're locked into 8-bit mode: -- * if CONV24_FAST, use JPEG's one-pass quantizer -- * if CONV24_SLOW, use JPEG's two-pass quantizer -- * if CONV24_BEST, or other, ask for 24-bit image and hand it to XV -- */ -- -- cinfo.desired_number_of_colors = 256; -- -- if (conv24 == CONV24_FAST || conv24 == CONV24_SLOW) { -- cinfo.quantize_colors = TRUE; -- state824=1; /* image was converted from 24 to 8 bits */ -- -- cinfo.two_pass_quantize = (conv24 == CONV24_SLOW); -+ cinfo.quantize_colors = FALSE; /* default: give 24-bit image to XV */ -+ switch (cinfo.num_components) { -+ case 1: -+ cinfo.out_color_space = JCS_GRAYSCALE; -+ colorspace_name = "Greyscale"; -+ for (i=0; i<256; i++) pinfo->r[i] = pinfo->g[i] = pinfo->b[i] = i; -+ break; -+ -+ case 3: -+ cinfo.out_color_space = JCS_RGB; -+ goto L2; -+ -+ case 4: -+ cinfo.out_color_space = JCS_CMYK; -+ colorspace_name = "4-Plane Color"; -+L2: -+ if (!quick && picType == PIC8 && conv24MB.flags[CONV24_LOCK] == 1) { -+ /* -+ * we're locked into 8-bit mode: -+ * if CONV24_FAST, use JPEG's one-pass quantizer -+ * if CONV24_SLOW, use JPEG's two-pass quantizer -+ * if CONV24_BEST, or other, ask for 24-bit image and hand it to XV -+ */ -+ cinfo.desired_number_of_colors = 256; -+ -+ if (conv24 == CONV24_FAST || conv24 == CONV24_SLOW) { -+ cinfo.quantize_colors = TRUE; -+ state824 = 1; /* image was converted from 24 to 8 bits */ -+ cinfo.two_pass_quantize = (conv24 == CONV24_SLOW); -+ } - } -- } -- -- SetISTR(ISTR_INFO,"Loading %dx%d Color JPEG (%ld bytes)...", -- w,h,filesize); -- } -- -- jpeg_calc_output_dimensions(&cinfo); /* note colorspace changes... */ -- -+ break; - -- if (cinfo.output_components != 1 && cinfo.output_components != 3) { -- SetISTR(ISTR_WARNING, "%s: can't read %d-plane JPEG file!", -- fbasename, cinfo.output_components); -- jpeg_destroy_decompress(&cinfo); -- fclose(fp); -- if (comment) free(comment); -- return 0; -+ default: -+ SetISTR(ISTR_WARNING, "%s: can't read %d-plane JPEG file!", -+ fbasename, cinfo.output_components); -+ goto L1; - } -+ SetISTR(ISTR_INFO, "Loading %dx%d %s JPEG (%ld bytes)...", w, h, -+ colorspace_name, filesize); -+ -+ jpeg_calc_output_dimensions(&cinfo); /* note colorspace changes... */ - - - bperpix = cinfo.output_components; - pinfo->type = (bperpix == 1) ? PIC8 : PIC24; - -- pic = (byte *) malloc((size_t) (w * h * bperpix)); -+ bperline = w * bperpix; -+ count = h * bperline; -+ if (w <= 0 || h <= 0 || bperline/w < bperpix || count/h < bperline) { -+ SetISTR(ISTR_WARNING, "%s: image dimensions too large (%dx%d)", -+ fbasename, w, h); -+ goto L1; -+ } -+ -+ pic = (byte *) malloc((size_t) count); - if (!pic) { - SetISTR(ISTR_WARNING, "%s: can't read JPEG file - out of memory", - fbasename); -- jpeg_destroy_decompress(&cinfo); -- fclose(fp); -- if (comment) free(comment); -- return 0; -+ goto L1; - } -- -+ pic_end = pic + count; -+ - jpeg_start_decompress(&cinfo); - - while (cinfo.output_scanline < cinfo.output_height) { -+ if (cinfo.output_scanline < 0) { /* should never happen, but... */ -+ SetISTR(ISTR_WARNING, "%s: invalid negative scanline (%d)", -+ fbasename, cinfo.output_scanline); -+ goto L1; -+ } - rowptr[0] = (JSAMPROW) &pic[cinfo.output_scanline * w * bperpix]; - (void) jpeg_read_scanlines(&cinfo, rowptr, (JDIMENSION) 1); - } - -- -+ -+ /* Convert CMYK to RGB color space */ -+ -+ if (bperpix > 3) { -+ register byte *p = pic; -+ -+ /* According to documentation accompanying the IJG JPEG Library, it appears -+ * that some versions of Adobe Systems' "Photoshop" write inverted CMYK -+ * data, where Byte 0 represents 100% ink coverage instead of 0% ink as -+ * you'd expect. The JPEG Library's implementors made a policy decision -+ * not to correct for this in the Library, but instead force applications -+ * to deal with it; so we try to do that here: -+ */ -+ if (cinfo.saw_Adobe_marker) { /* assume inverted data */ -+ register byte *q = pic; -+ -+ do { -+ register int cmy, k = 255 - q[3]; -+ -+ if ((cmy = *q++ - k) < 0) cmy = 0; *p++ = cmy; /* R */ -+ if ((cmy = *q++ - k) < 0) cmy = 0; *p++ = cmy; /* G */ -+ if ((cmy = *q++ - k) < 0) cmy = 0; *p++ = cmy; /* B */ -+ } while (++q <= pic_end); -+ } -+ else { /* assume normal data */ -+ register byte *q = pic; -+ -+ do { -+ register int cmy, k = 255 - q[3]; -+ -+ if ((cmy = k - *q++) < 0) cmy = 0; *p++ = cmy; /* R */ -+ if ((cmy = k - *q++) < 0) cmy = 0; *p++ = cmy; /* G */ -+ if ((cmy = k - *q++) < 0) cmy = 0; *p++ = cmy; /* B */ -+ } while (++q <= pic_end); -+ } -+ pic = realloc(pic,p-pic); /* Release extra storage */ -+ } -+ -+ - - /* return 'PICINFO' structure to XV */ - -@@ -621,38 +722,59 @@ - pinfo->frmType = F_JPEG; - - if (cinfo.out_color_space == JCS_GRAYSCALE) { -- sprintf(pinfo->fullInfo, "Greyscale JPEG. (%ld bytes)", filesize); - pinfo->colType = F_GREYSCALE; -- -+ - for (i=0; i<256; i++) pinfo->r[i] = pinfo->g[i] = pinfo->b[i] = i; - } - else { -- sprintf(pinfo->fullInfo, "Color JPEG. (%ld bytes)", filesize); - pinfo->colType = F_FULLCOLOR; - - if (cinfo.quantize_colors) { -- for (i=0; ir[i] = cinfo.colormap[0][i]; -- pinfo->g[i] = cinfo.colormap[1][i]; -- pinfo->b[i] = cinfo.colormap[2][i]; -+ switch (bperpix) { -+ case 3: -+ for (i = 0; i < cinfo.actual_number_of_colors; i++) { -+ pinfo->r[i] = cinfo.colormap[0][i]; -+ pinfo->g[i] = cinfo.colormap[1][i]; -+ pinfo->b[i] = cinfo.colormap[2][i]; -+ } -+ break; -+ -+ case 4: -+ for (i = 0; i < cinfo.actual_number_of_colors; i++) { -+ register int cmy, k = cinfo.colormap[3][i]; -+ -+ if ((cmy = 255 - cinfo.colormap[0][i] - k) < 0) cmy = 0; -+ pinfo->r[i] = cmy; -+ if ((cmy = 255 - cinfo.colormap[1][i] - k) < 0) cmy = 0; -+ pinfo->g[i] = cmy; -+ if ((cmy = 255 - cinfo.colormap[2][i] - k) < 0) cmy = 0; -+ pinfo->b[i] = cmy; -+ } -+ break; - } - } - } -- -- sprintf(pinfo->shrtInfo, "%dx%d %s JPEG. ", w,h, -- (cinfo.out_color_space == JCS_GRAYSCALE) ? "Greyscale " : "Color "); -- -- pinfo->comment = comment; -+ -+ sprintf(pinfo->fullInfo, "%s JPEG. (%ld bytes)", colorspace_name, filesize); -+ sprintf(pinfo->shrtInfo, "%dx%d %s JPEG. ", w, h, colorspace_name); -+ -+ pinfo->comment = comment; -+ pinfo->exifInfo = exifInfo; -+ pinfo->exifInfoSize = exifInfoSize; - - jpeg_finish_decompress(&cinfo); - jpeg_destroy_decompress(&cinfo); - fclose(fp); - -- comment = (char *) NULL; -+ /* ownership transferred to pinfo */ -+ comment = (char *) NULL; -+ exifInfo = (byte *) NULL; -+ exifInfoSize = 0; -+ - return 1; - } -- -- -+ -+ - - - /**************************************************/ -@@ -660,7 +782,7 @@ - j_decompress_ptr cinfo; - { - struct jpeg_source_mgr *datasrc = cinfo->src; -- -+ - if (datasrc->bytes_in_buffer == 0) { - if (! (*datasrc->fill_input_buffer) (cinfo)) - ERREXIT(cinfo, JERR_CANT_SUSPEND); -@@ -671,7 +793,11 @@ - - - /**************************************************/ --METHODDEF boolean xv_process_comment(cinfo) -+#if JPEG_LIB_VERSION > 60 -+METHODDEF(boolean) xv_process_comment(cinfo) -+#else -+METHODDEF boolean xv_process_comment(cinfo) -+#endif - j_decompress_ptr cinfo; - { - int length, hasnull; -@@ -688,7 +814,7 @@ - } - else comment = (char *) realloc(comment, strlen(comment) + length + 1); - if (!comment) FatalError("out of memory in xv_process_comment"); -- -+ - oldsp = sp = comment + strlen(comment); - hasnull = 0; - -@@ -705,6 +831,41 @@ - } - - -+/**************************************************/ -+#if JPEG_LIB_VERSION > 60 -+METHODDEF(boolean) xv_process_app1(cinfo) /* Geoff H. Kuenning 20030331 */ -+#else -+METHODDEF boolean xv_process_app1(cinfo) -+#endif -+ j_decompress_ptr cinfo; -+{ -+ int length; -+ unsigned int ch; -+ byte *sp; -+ -+ length = j_getc(cinfo) << 8; -+ length += j_getc(cinfo); -+ length -= 2; /* discount the length word itself */ -+ -+ if (!exifInfo) { -+ exifInfo = (byte *) malloc((size_t) length); -+ exifInfoSize = 0; -+ } -+ else exifInfo = (byte *) realloc(exifInfo, exifInfoSize + length); -+ if (!exifInfo) FatalError("out of memory in xv_process_app1 (EXIF info)"); -+ -+ sp = exifInfo + exifInfoSize; -+ exifInfoSize += length; -+ -+ while (length-- > 0) { -+ ch = j_getc(cinfo); -+ *sp++ = (byte) ch; -+ } -+ -+ return TRUE; -+} -+ -+ - - - /***************************************************************************/ -@@ -759,8 +920,8 @@ - - - jpeg_set_defaults(&cinfo); -- jpeg_set_quality(&cinfo, qDial.val, TRUE); -- cinfo.smoothing_factor = smDial.val; -+ jpeg_set_quality(&cinfo, (int)qDial.val, TRUE); -+ cinfo.smoothing_factor = (int)smDial.val; - - - jpeg_start_compress(&cinfo, TRUE); -@@ -769,20 +930,20 @@ - /*** COMMENT HANDLING ***/ - - sprintf(xvcmt, "%sXV %s Quality = %d, Smoothing = %d\n", -- CREATOR_STR, REVDATE, qDial.val, smDial.val); -- -+ CREATOR_STR, REVDATE, (int)qDial.val, (int)smDial.val); -+ - if (picComments) { /* append XV comment */ - char *sp, *sp1; int done; - - i = strlen(picComments); - comment = (char *) malloc(i + strlen(xvcmt) + 2 + 1); - if (!comment) FatalError("out of memory in writeJFIF()"); -- -+ - strcpy(comment, picComments); -- -+ - /* see if there's a line that starts with 'CREATOR: ' in the - comments. If there is, rip it out. */ -- -+ - sp = comment; done = 0; - while (!done && *sp) { - if (strncmp(sp, CREATOR_STR, strlen(CREATOR_STR)) == 0) { -@@ -801,7 +962,7 @@ - } - } - -- /* count # of \n's at end of comment. -+ /* count # of \n's at end of comment. - If none, add 2. If one, add 1. If two or more, add none. */ - - sp = comment + strlen(comment); -@@ -814,15 +975,18 @@ - strcat(comment, xvcmt); - } - else comment = xvcmt; -- -- -- jpeg_write_marker(&cinfo,JPEG_COM,(byte *) comment,(u_int) strlen(comment)); -- -+ -+ -+ jpeg_write_marker(&cinfo, JPEG_COM, (byte *)comment, (u_int)strlen(comment)); -+ -+ if (picExifInfo) jpeg_write_marker(&cinfo, JPEG_APP1, (byte *)picExifInfo, -+ (u_int)picExifInfoSize); -+ - while (cinfo.next_scanline < cinfo.image_height) { - rowptr[0] = (JSAMPROW) &pic[cinfo.next_scanline * w * bperpix]; - (void) jpeg_write_scanlines(&cinfo, rowptr, (JDIMENSION) 1); - } -- -+ - jpeg_finish_compress(&cinfo); - jpeg_destroy_compress(&cinfo); - return 0; -@@ -831,4 +995,27 @@ - - - -+ -+/*******************************************/ -+void -+VersionInfoJPEG() /* GRR 19980605, 19980607 */ -+{ -+ int major = JPEG_LIB_VERSION / 10; -+ int minor = JPEG_LIB_VERSION % 10; -+ char minoralpha[2]; -+ -+ if (minor) { -+ minoralpha[0] = (char)(minor - 1 + 'a'); -+ minoralpha[1] = '\0'; -+ } else -+ minoralpha[0] = '\0'; -+ -+/* fprintf(stderr, " Compiled with libjpeg %d.%d.\n", major, minor); */ -+ fprintf(stderr, " Compiled with libjpeg %d%s.\n", major, minoralpha); -+} -+ -+ -+ -+ -+ - #endif /* HAVE_JPEG */ -diff -ru xv-3.10a/xvmisc.c xv-3.10a-enhancements/xvmisc.c ---- xv-3.10a/xvmisc.c 1995-01-13 15:41:34.000000000 -0800 -+++ xv-3.10a-enhancements/xvmisc.c 2007-05-13 17:32:59.000000000 -0700 -@@ -21,13 +21,15 @@ - * void LoadFishCursors() - * void WaitCursor() - * void SetCursors(int) -- * char *BaseName(char *) -+ * const char *BaseName(const char *) - * void DrawTempGauge(win, x,y,w,h, percent, fg,bg,hi,lo, str) - * void ProgressMeter(min, max, val, str); - * void xvbcopy(src, dst, length) - * int xvbcmp (s1, s2, length) - * void xvbzero(s, length) - * char *xv_strstr(s1, s2) -+ * FILE *xv_fopen(str, str) -+ * void xv_mktemp(str) - * void Timer(milliseconds) - */ - -@@ -36,6 +38,10 @@ - #define NEEDSTIME - #include "xv.h" - -+#ifdef __linux__ /* probably others, too, but being conservative */ -+# include /* getwd() */ -+#endif -+ - #include "bits/fc_left" - #include "bits/fc_leftm" - #include "bits/fc_left1" -@@ -61,21 +67,24 @@ - - /* the following fakes 'XSetWMProtocols(theDisp, win, &atom_DELWIN, 1);' */ - -- if (! atom_PROTOCOLS) -+ if (! atom_PROTOCOLS) - atom_PROTOCOLS = XInternAtom (theDisp, "WM_PROTOCOLS", False); - - if (atom_PROTOCOLS == None) return; - -- XChangeProperty(theDisp, win, atom_PROTOCOLS, XA_ATOM, 32, -+ XChangeProperty(theDisp, win, atom_PROTOCOLS, XA_ATOM, 32, - PropModeReplace, (unsigned char *) &atom_DELWIN, 1); - } - - - /***************************************************/ - Window CreateWindow(name,clname,geom,defw,defh,fg,bg,usesize) --char *name, *clname, *geom; --int defw,defh,usesize; --unsigned long fg, bg; -+ const char *name; -+ const char *clname; -+ const char *geom; -+ int defw,defh; -+ unsigned long fg, bg; -+ int usesize; - { - Window win; - XSetWindowAttributes xswa; -@@ -91,16 +100,24 @@ - x = y = 1; - i = XParseGeometry(geom,&x,&y, (unsigned int *) &w, (unsigned int *) &h); - -- if ((i&XValue || i&YValue)) hints.flags = USPosition; -+ if ((i&XValue || i&YValue)) hints.flags = USPosition; - else hints.flags = PPosition; -- -+ - if (!usesize || !(i&WidthValue)) w = defw; - if (!usesize || !(i&HeightValue)) h = defh; - -- hints.flags |= USSize; -+ hints.flags |= USSize | PWinGravity; - -- if (i&XValue && i&XNegative) x = dispWIDE - w - abs(x); -- if (i&YValue && i&YNegative) y = dispHIGH - h - abs(y); -+ hints.win_gravity = NorthWestGravity; -+ if (i&XValue && i&XNegative) { -+ hints.win_gravity = NorthEastGravity; -+ x = dispWIDE - (w + 2 * bwidth) - abs(x); -+ } -+ if (i&YValue && i&YNegative) { -+ hints.win_gravity = (hints.win_gravity == NorthWestGravity) ? -+ SouthWestGravity : SouthEastGravity; -+ y = dispHIGH - (h + 2 * bwidth) - abs(y); -+ } - - - #define VROOT_TRANS -@@ -130,77 +147,76 @@ - xswamask = CWBackPixel | CWBorderPixel | CWColormap; - if (!usesize) xswamask |= CWBitGravity; - -- win = XCreateWindow(theDisp, rootW, x, y, (u_int) w, (u_int) h, -+ win = XCreateWindow(theDisp, rootW, x, y, (u_int) w, (u_int) h, - (u_int) bwidth, (int) dispDEEP, InputOutput, - theVisual, xswamask, &xswa); - if (!win) return(win); /* leave immediately if couldn't create */ - - -- XSetStandardProperties(theDisp, win, name, name, None, NULL, 0, &hints); -- - xwmh.input = True; - xwmh.flags = InputHint; - if (iconPix) { xwmh.icon_pixmap = iconPix; xwmh.flags |= IconPixmapHint; } -- XSetWMHints(theDisp, win, &xwmh); - - if (clname && strlen(clname)) { - classh.res_name = "xv"; -- classh.res_class = clname; -- XSetClassHint(theDisp, win, &classh); -+ classh.res_class = (char *) clname; - StoreDeleteWindowProp(win); - } - -+ XmbSetWMProperties(theDisp, win, name, name, NULL, 0, &hints, &xwmh, -+ clname ? &classh : NULL); -+ - return(win); - } -- -+ - - - /**************************************************/ - void DrawString(win,x,y,str) -- Window win; -- int x,y; -- char *str; -+ Window win; -+ int x,y; -+ const char *str; - { - XDrawString(theDisp, win, theGC, x, y, str, (int) strlen(str)); - } - -- -+ - /**************************************************/ - void CenterString(win,x,y,str) -- Window win; -- int x,y; -- char *str; -+ Window win; -+ int x,y; -+ const char *str; - { - DrawString(win, CENTERX(mfinfo, x, str), CENTERY(mfinfo, y), str); - } - -- -+ - /**************************************************/ - void ULineString(win,x,y,str) -- Window win; -- int x,y; -- char *str; -+ Window win; -+ int x,y; -+ const char *str; - { - DrawString(win, x, y, str); -- XDrawLine(theDisp, win, theGC, x, y+DESCENT-1, -+ XDrawLine(theDisp, win, theGC, x, y+DESCENT-1, - x+StringWidth(str), y+DESCENT-1); - } - -- -+ - /**************************************************/ - int StringWidth(str) -- char *str; -+ const char *str; - { - return(XTextWidth(mfinfo, str, (int) strlen(str))); - } - -- -+ - /**************************************************/ - int CursorKey(ks, shift, dotrans) - KeySym ks; - int shift, dotrans; - { -- /* called by the KeyPress/KeyRelease event handler to determine if a -+ /* called by the KeyPress/KeyRelease event handler to determine if a - given keypress is a cursor key. More complex than you'd think, since - certain Sun Keyboards generate a variety of odd keycodes, and not all - keyboards *have* all these keys. Note that 'shifted' arrow keys -@@ -225,29 +241,29 @@ - - int i = CK_NONE; - -- if (ks==XK_Up || ks==XK_KP_Up || -- ks==XK_KP_8 || ks==XK_F28) i=CK_UP; -+ if (ks==XK_Up || ks==XK_KP_Up || -+ ks==XK_F28) i=CK_UP; - -- else if (ks==XK_Down || ks==XK_KP_Down || -- ks==XK_KP_2 || ks==XK_F34) i=CK_DOWN; -+ else if (ks==XK_Down || ks==XK_KP_Down || -+ ks==XK_F34) i=CK_DOWN; - -- else if (ks==XK_Left || ks==XK_KP_Left || -- ks==XK_KP_4 || ks==XK_F30) i=CK_LEFT; -+ else if (ks==XK_Left || ks==XK_KP_Left || -+ ks==XK_F30) i=CK_LEFT; - -- else if (ks==XK_Right || ks==XK_KP_Right || -- ks==XK_KP_6 || ks==XK_F32) i=CK_RIGHT; -+ else if (ks==XK_Right || ks==XK_KP_Right || -+ ks==XK_F32) i=CK_RIGHT; - - else if (ks==XK_Prior || ks==XK_KP_Prior || -- ks==XK_KP_9 || ks==XK_F29) i=CK_PAGEUP; -+ ks==XK_F29) i=CK_PAGEUP; - - else if (ks==XK_Next || ks==XK_KP_Next || -- ks==XK_KP_3 || ks==XK_F35) i=CK_PAGEDOWN; -+ ks==XK_F35) i=CK_PAGEDOWN; - - else if (ks==XK_Home || ks==XK_KP_Home || -- ks==XK_KP_7 || ks==XK_F27) i=CK_HOME; -+ ks==XK_F27) i=CK_HOME; - - else if (ks==XK_End || ks==XK_KP_End || -- ks==XK_KP_1 || ks==XK_F33) i=CK_END; -+ ks==XK_F33) i=CK_END; - - else i = CK_NONE; - -@@ -257,7 +273,7 @@ - else if (i==CK_UP) i=CK_PAGEUP; - else if (i==CK_DOWN) i=CK_PAGEDOWN; - } -- -+ - return i; - } - -@@ -334,9 +350,9 @@ - ev.window = win; - ev.x = x; ev.y = y; ev.width = w; ev.height = h; - ev.count = 0; -- -+ - XSendEvent(theDisp, win, False, NoEventMask, (XEvent *) &ev); --} -+} - - - /***********************************/ -@@ -381,7 +397,7 @@ - u_int w, h; - u_long bg; - { -- /* stipple a rectangular region by drawing 'bg' where there's 1's -+ /* stipple a rectangular region by drawing 'bg' where there's 1's - in the stipple pattern */ - - XSetFillStyle (theDisp, theGC, FillStippled); -@@ -400,7 +416,7 @@ - unsigned int w,h; - unsigned long hi, lo, bg; - { -- int i,r,x1,y1; -+ int i, x1, y1; - - x1 = x + (int) w; - y1 = y + (int) h; -@@ -413,7 +429,7 @@ - XDrawLine(theDisp, win, theGC, x+i, y1-i, x+i, y+i); - XDrawLine(theDisp, win, theGC, x+i, y+i, x1-i, y+i); - } -- -+ - /* draw bot-right */ - XSetForeground(theDisp, theGC, (inout==R3D_OUT) ? lo : hi); - -@@ -431,18 +447,18 @@ - } - } - } -- -+ - - - /**************************************************/ - void SetCropString() - { - /* sets the crop string in the info box to be correct. should -- be called whenever 'but[BCROP].active', cXOFF,cYOFF,cWIDE,cHIGH -+ be called whenever 'but[BCROP].active', cXOFF,cYOFF,cWIDE,cHIGH - are changed */ - -- if (cpic != pic) -- SetISTR(ISTR_CROP, "%dx%d rectangle starting at %d,%d", -+ if (cpic != pic) -+ SetISTR(ISTR_CROP, "%dx%d rectangle starting at %d,%d", - cWIDE, cHIGH, cXOFF, cYOFF); - else SetISTR(ISTR_CROP, ""); - } -@@ -469,7 +485,7 @@ - char *st; - - /* give 'em time to read message */ -- if (infoUp || ctrlUp || anyBrowUp) sleep(3); -+ if (infoUp || ctrlUp || anyBrowUp) sleep(3); - else { - st = GetISTR(ISTR_INFO); - OpenAlert(st); -@@ -477,11 +493,11 @@ - CloseAlert(); - } - } -- -+ - - /***********************************/ - void FatalError (identifier) -- char *identifier; -+ const char *identifier; - { - fprintf(stderr, "%s: %s\n",cmd, identifier); - Quit(-1); -@@ -491,12 +507,17 @@ - /***********************************/ - void Quit(i) - int i; --{ -+{ - /* called when the program exits. frees everything explictly created - EXCEPT allocated colors. This is used when 'useroot' is in operation, - as we have to keep the alloc'd colors around, but we don't want anything - else to stay */ - -+#ifdef AUTO_EXPAND -+ chdir(initdir); -+ Vdsettle(); -+#endif -+ - if (!theDisp) exit(i); /* called before connection opened */ - - if (useroot && i==0) { /* save the root info */ -@@ -516,14 +537,38 @@ - if (jpegW) XDestroyWindow(theDisp, jpegW); - #endif - -+#ifdef HAVE_JP2K -+ if (jp2kW) XDestroyWindow(theDisp, jp2kW); -+#endif -+ - #ifdef HAVE_TIFF - if (tiffW) XDestroyWindow(theDisp, tiffW); - #endif - -+#ifdef HAVE_PNG -+ if (pngW) XDestroyWindow(theDisp, pngW); -+#endif -+ -+#ifdef HAVE_PCD -+ if (pcdW) XDestroyWindow(theDisp, pcdW); -+#endif -+ -+#ifdef HAVE_PIC2 -+ if (pic2W) XDestroyWindow(theDisp, pic2W); -+#endif -+ -+#ifdef HAVE_MGCSFX -+ if (mgcsfxW) XDestroyWindow(theDisp, mgcsfxW); -+#endif -+ -+#ifdef HAVE_PNG -+ if (pngW) XDestroyWindow(theDisp, pngW); -+#endif -+ - /* if NOT using stdcmap for images, free stdcmap */ -- if (colorMapMode != CM_STDCMAP) { -+ if (colorMapMode != CM_STDCMAP) { - int j; -- for (j=0; j= max) { /* remove temp gauge */ -@@ -915,7 +981,7 @@ - void XVCreatedFile(fullname) - char *fullname; - { -- /* called whenever a file has been deleted. Updates browser & dir windows, -+ /* called whenever a file has been created. Updates browser & dir windows, - if necessary */ - - BRCreatedFile(fullname); -@@ -925,7 +991,8 @@ - - /***************************************************/ - void xvbcopy(src, dst, len) -- char *src, *dst; -+ const char *src; -+ char *dst; - size_t len; - { - /* Modern OS's (Solaris, etc.) frown upon the use of bcopy(), -@@ -945,7 +1012,7 @@ - */ - - if (src==dst || len<=0) return; /* nothin' to do */ -- -+ - if (srcdst) { /* do a backward copy */ - src = src + len - 1; - dst = dst + len - 1; -@@ -957,11 +1024,11 @@ - for ( ; len>0; len--, src++, dst++) *dst = *src; - } - } -- -+ - - /***************************************************/ - int xvbcmp (s1, s2, len) -- char *s1, *s2; -+ const char *s1, *s2; - size_t len; - { - for ( ; len>0; len--, s1++, s2++) { -@@ -985,28 +1052,31 @@ - char *buf; - size_t buflen; - { -- /* gets the current working directory. No trailing '/' */ -+ /* Gets the current working directory and puts it in buf. No trailing '/'. */ - -- char *rv; -+ const char *rv; - - #ifdef USE_GETCWD -- rv = (char *) getcwd(buf, buflen); -+ rv = (const char *) getcwd(buf, buflen); - #else -- rv = (char *) getwd(buf); -+ rv = (const char *) getwd(buf); - #endif - - if (!rv || strlen(rv)==0) { -- if (((rv=(char *) getenv("PWD"))==NULL) && -- ((rv=(char *) getenv("cwd"))==NULL)) rv = "./"; -+ if (((rv=(const char *) getenv("PWD"))==NULL) && -+ ((rv=(const char *) getenv("cwd"))==NULL)) rv = "./"; - strcpy(buf, rv); - } -+#ifdef AUTO_EXPAND -+ Vdtodir(buf); -+#endif - } - - - - /***************************************************/ - --/* -+/* - * Source code for the "strstr" library routine. - * - * Copyright 1988 Regents of the University of California -@@ -1020,10 +1090,11 @@ - */ - - char *xv_strstr(string, substring) -- char *string; /* String to search. */ -- char *substring; /* Substring to try to find in string. */ -+ const char *string; /* String to search. */ -+ const char *substring; /* Substring to try to find in string. */ - { -- register char *a, *b; -+ const char *a; -+ const char *b; - - /* First scan quickly through the two strings looking for a - * single-character match. When it's found, then compare the -@@ -1031,14 +1102,14 @@ - */ - - b = substring; -- if (*b == 0) return string; -+ if (*b == 0) return (char *) string; - - for ( ; *string != 0; string += 1) { - if (*string != *b) continue; - - a = string; - while (1) { -- if (*b == 0) return string; -+ if (*b == 0) return (char *) string; - if (*a++ != *b++) break; - } - b = substring; -@@ -1052,7 +1123,8 @@ - - /***************************************************/ - FILE *xv_fopen(fname, mode) -- char *fname, *mode; -+ const char *fname; -+ const char *mode; - { - FILE *fp; - -@@ -1066,72 +1138,90 @@ - } - - -+/***************************************************/ -+/* GRR 20050320: added actual mk[s]temp() call... */ -+void xv_mktemp(buf, fname) -+ char *buf; -+ const char *fname; -+{ -+#ifndef VMS -+ sprintf(buf, "%s/%s", tmpdir, fname); -+#else -+ sprintf(buf, "Sys$Disk:[]%s", fname); -+#endif -+#ifdef USE_MKSTEMP -+ close(mkstemp(buf)); -+#else -+ mktemp(buf); -+#endif -+} - - --/*******/ -+/***************************************************/ - void Timer(msec) /* waits for 'n' milliseconds */ -- int msec; --/*******/ -+ int msec; - { - long usec; - - if (msec <= 0) return; -+ - usec = (long) msec * 1000; - - --#ifdef VMS -+#ifdef USLEEP -+ usleep(usec); -+ /* return */ -+#endif -+ -+ -+#if defined(VMS) && !defined(USLEEP) - { - float ftime; - ftime = msec / 1000.0; - lib$wait(&ftime); -- return; -+ /* return */ - } - #endif - - --#ifdef sgi -+#if defined(sgi) && !defined(USLEEP) - { - float ticks_per_msec; - long ticks; - ticks_per_msec = (float) CLK_TCK / 1000.0; - ticks = (long) ((float) msec * ticks_per_msec); - sginap(ticks); -- return; -+ /* return */ - } - #endif - - --#if defined(SVR4) || defined(sco) -+/* does SGI define SVR4? not sure... */ -+#if (defined(SVR4) || defined(sco)) && !defined(sgi) && !defined(USLEEP) - { - struct pollfd dummy; - poll(&dummy, 0, msec); -- return; -+ /* return */ - } - #endif - - --#ifdef USLEEP -- usleep(usec); return; --#endif -- -- --#ifdef NOTIMER -- return; --#endif -- -- --#ifndef VMS -+#if !defined(USLEEP) && !defined(VMS) && !defined(sgi) && !defined(SVR4) && !defined(sco) && !defined(NOTIMER) - { -- /* default Timer() method now uses 'select()', which probably works -- on all systems *anyhow* (except for VMS...) */ -- -+ /* default/fall-through Timer() method now uses 'select()', which -+ * probably works on all systems *anyhow* (except for VMS...) */ -+ - struct timeval time; - - time.tv_sec = usec / 1000000L; - time.tv_usec = usec % 1000000L; - select(0, XV_FDTYPE NULL, XV_FDTYPE NULL, XV_FDTYPE NULL, &time); -+ /* return */ - } --#endif /* VMS */ --} -+#endif - - -+ /* NOTIMER case, fallthroughs, etc. ... but we return void, so who cares */ -+ /* return */ -+} -+ -diff -ru xv-3.10a/xvpbm.c xv-3.10a-enhancements/xvpbm.c ---- xv-3.10a/xvpbm.c 1995-01-03 13:23:44.000000000 -0800 -+++ xv-3.10a-enhancements/xvpbm.c 2007-05-13 17:44:03.000000000 -0700 -@@ -23,6 +23,15 @@ - */ - - -+typedef unsigned short ush; -+typedef unsigned char uch; -+ -+#define alpha_composite(composite, fg, alpha, bg) { \ -+ ush temp = ((ush)(fg)*(ush)(alpha) + \ -+ (ush)(bg)*(ush)(255 - (ush)(alpha)) + (ush)128); \ -+ (composite) = (uch)((temp + (temp >> 8)) >> 8); \ -+} -+ - #define TRUNCSTR "File appears to be truncated." - - static int garbage; -@@ -31,17 +40,91 @@ - static int loadpbm PARM((FILE *, PICINFO *, int)); - static int loadpgm PARM((FILE *, PICINFO *, int, int)); - static int loadppm PARM((FILE *, PICINFO *, int, int)); -+static int loadpam PARM((FILE *, PICINFO *, int, int)); - static int getint PARM((FILE *, PICINFO *)); - static int getbit PARM((FILE *, PICINFO *)); - static int getshort PARM((FILE *)); --static int pbmError PARM((char *, char *)); -+static int pbmError PARM((const char *, const char *)); -+ -+static const char *bname; -+ -+ -+#ifdef HAVE_MGCSFX -+/* -+ * When file read or file write is fail, probably it's caused by -+ * reading from pipe which has no data yet, or writing to pipe -+ * which is not ready yet. -+ * Then we can use system call select() on descriptor of pipe and wait. -+ * If you want, change 'undef' to 'define' in the following line. -+ * This feature is performance-killer. -+ */ -+#undef FIX_PIPE_ERROR -+ -+#ifdef __osf__ -+# ifdef __alpha -+# define FIX_PIPE_ERROR -+# endif -+#endif -+ -+#endif /* HAVE_MGCSFX */ -+ -+ -+#ifdef FIX_PIPE_ERROR -+ -+int pipefdr; -+ -+struct timeval timeout; -+int width; -+fd_set fds; -+ -+static void ready_read() -+{ -+ if(pipefdr < 0) return; /* if file descriptor is not pipe, OK */ -+ WaitCursor(); - --static char *bname; -+reselect: -+ /* setting of timeout */ -+ timeout.tv_sec = 1; /* 1 sec */ -+ timeout.tv_usec = 0; /* 0 usec */ -+ -+ FD_ZERO(&fds); /* clear bits */ -+ FD_SET(pipefdr, &fds); /* set bit of fd in fds */ -+ -+ /* number of file descriptor to want check (0 $B!A(B width-1) */ -+ width = pipefdr + 1; -+ -+ /* select returns number of file descriptors */ -+ if (select(width, &fds, NULL, NULL, &timeout) < 0){ -+ if(DEBUG){ -+ fprintf(stderr, "No file descriptors can't selected, waiting...\n"); -+ } -+ goto reselect; -+ } -+ -+ if (FD_ISSET(pipefdr, &fds)){ -+ /* Now, descriptor of pipe is ready to read */ -+ return; -+ }else{ -+ if(DEBUG){ -+ fprintf(stderr, "Can't read from pipe yet, waiting...\n"); -+ } -+ goto reselect; -+ } -+ -+} -+#endif /* FIX_PIPE_ERROR */ - - /*******************************************/ -+#ifdef HAVE_MGCSFX -+int LoadPBM(fname, pinfo, fd) -+ char *fname; -+ PICINFO *pinfo; -+ int fd; -+#else - int LoadPBM(fname, pinfo) - char *fname; - PICINFO *pinfo; -+#endif /* HAVE_MGCSFX */ - /*******************************************/ - { - /* returns '1' on success */ -@@ -50,6 +133,10 @@ - int c, c1; - int maxv, rv; - -+#ifdef FIX_PIPE_ERROR -+ pipefdr = fd; -+#endif -+ - garbage = maxv = rv = 0; - bname = BaseName(fname); - -@@ -57,6 +144,22 @@ - pinfo->comment = (char *) NULL; - - -+#ifdef HAVE_MGCSFX -+ if(fd < 0){ -+ /* open the file */ -+ fp = xv_fopen(fname,"r"); -+ if (!fp) return (pbmError(bname, "can't open file")); -+ -+ /* compute file length */ -+ fseek(fp, 0L, 2); -+ filesize = ftell(fp); -+ fseek(fp, 0L, 0); -+ }else{ -+ fp = fdopen(fd, "r"); -+ if (!fp) return (pbmError(bname, "can't open file")); -+ filesize = 0; /* dummy */ -+ } -+#else - /* open the file */ - fp = xv_fopen(fname,"r"); - if (!fp) return (pbmError(bname, "can't open file")); -@@ -65,6 +168,7 @@ - fseek(fp, 0L, 2); - filesize = ftell(fp); - fseek(fp, 0L, 0); -+#endif /* HAVE_MGCSFX */ - - - /* read the first two bytes of the file to determine which format -@@ -73,7 +177,8 @@ - "P6" = raw pixmap */ - - c = getc(fp); c1 = getc(fp); -- if (c!='P' || c1<'1' || c1>'6') return(pbmError(bname, "unknown format")); -+ if (c!='P' || c1<'1' || (c1>'6' && c1!='8')) /* GRR alpha */ -+ return(pbmError(bname, "unknown format")); - - /* read in header information */ - pinfo->w = getint(fp, pinfo); pinfo->h = getint(fp, pinfo); -@@ -104,6 +209,7 @@ - if (c1=='1' || c1=='4') rv = loadpbm(fp, pinfo, c1=='4' ? 1 : 0); - else if (c1=='2' || c1=='5') rv = loadpgm(fp, pinfo, c1=='5' ? 1 : 0, maxv); - else if (c1=='3' || c1=='6') rv = loadppm(fp, pinfo, c1=='6' ? 1 : 0, maxv); -+ else if (c1=='8') rv = loadpam(fp, pinfo, 1 , maxv); - - fclose(fp); - -@@ -115,7 +221,7 @@ - } - - return rv; --} -+} - - - -@@ -127,15 +233,21 @@ - { - byte *pic8; - byte *pix; -- int i,j,bit,w,h; -+ int i,j,bit,w,h,npixels; -+ -+ w = pinfo->w; -+ h = pinfo->h; - -- w = pinfo->w; h = pinfo->h; -- pic8 = (byte *) calloc((size_t) w * h, (size_t) 1); -- if (!pic8) return pbmError(bname, "couldn't malloc 'pic8'"); -+ npixels = w * h; -+ if (w <= 0 || h <= 0 || npixels/w != h) -+ return pbmError(bname, "image dimensions too large"); -+ -+ pic8 = (byte *) calloc((size_t) npixels, (size_t) 1); -+ if (!pic8) FatalError("couldn't malloc 'pic8' for PBM"); - - pinfo->pic = pic8; - pinfo->type = PIC8; -- sprintf(pinfo->fullInfo, "PBM, %s format. (%ld bytes)", -+ sprintf(pinfo->fullInfo, "PBM, %s format. (%ld bytes)", - (raw) ? "raw" : "ascii", filesize); - sprintf(pinfo->shrtInfo, "%dx%d PBM.", w, h); - pinfo->colType = F_BWDITHER; -@@ -153,7 +265,7 @@ - for (j=0; jw; -+ h = pinfo->h; - -- w = pinfo->w; h = pinfo->h; -- pic8 = (byte *) calloc((size_t) w*h, (size_t) 1); -- if (!pic8) return(pbmError(bname, "couldn't malloc 'pic8'")); -+ npixels = w * h; -+ if (w <= 0 || h <= 0 || npixels/w != h) -+ return pbmError(bname, "image dimensions too large"); -+ -+ pic8 = (byte *) calloc((size_t) npixels, (size_t) 1); -+ if (!pic8) FatalError("couldn't malloc 'pic8' for PGM"); - - - pinfo->pic = pic8; - pinfo->type = PIC8; -- sprintf(pinfo->fullInfo, "PGM, %s format. (%ld bytes)", -+ sprintf(pinfo->fullInfo, "PGM, %s format. (%ld bytes)", - (raw) ? "raw" : "ascii", filesize); - sprintf(pinfo->shrtInfo, "%dx%d PGM.", pinfo->w, pinfo->h); - pinfo->colType = F_GREYSCALE; -@@ -236,11 +354,24 @@ - } - } - else { -- numgot = fread(pic8, (size_t) 1, (size_t) w*h, fp); /* read raw data */ -+#ifdef FIX_PIPE_ERROR -+ reread: -+ numgot += fread(pic8 + numgot, (size_t) 1, (size_t) w*h - numgot, fp); /* read raw data */ -+ if(errno == EINTR){ -+ if(DEBUG){ -+ fprintf(stderr, -+ "Can't read all data from pipe, call select and waiting...\n"); -+ } -+ ready_read(); -+ goto reread; -+ } -+#else -+ numgot = fread(pic8, (size_t)1, (size_t)npixels, fp); /* read raw data */ -+#endif - } - } - -- if (numgot != w*h) pbmError(bname, TRUNCSTR); /* warning only */ -+ if (numgot != npixels) pbmError(bname, TRUNCSTR); /* warning only */ - - if (garbage) { - return (pbmError(bname, "Garbage characters in image data.")); -@@ -256,18 +387,24 @@ - PICINFO *pinfo; - int raw, maxv; - { -- byte *pix, *pic24, scale[256], *pic8; -- int i,j,bitshift, w, h, holdmaxv; -+ byte *pix, *pic24, scale[256]; -+ int i,j,bitshift, w, h, npixels, bufsize, holdmaxv; -+ -+ w = pinfo->w; -+ h = pinfo->h; - -- w = pinfo->w; h = pinfo->h; -+ npixels = w * h; -+ bufsize = 3*npixels; -+ if (w <= 0 || h <= 0 || npixels/w != h || bufsize/3 != npixels) -+ return pbmError(bname, "image dimensions too large"); - - /* allocate 24-bit image */ -- pic24 = (byte *) calloc((size_t) w*h*3, (size_t) 1); -- if (!pic24) FatalError("couldn't malloc 'pic24'"); -+ pic24 = (byte *) calloc((size_t) bufsize, (size_t) 1); -+ if (!pic24) FatalError("couldn't malloc 'pic24' for PPM"); - - pinfo->pic = pic24; - pinfo->type = PIC24; -- sprintf(pinfo->fullInfo, "PPM, %s format. (%ld bytes)", -+ sprintf(pinfo->fullInfo, "PPM, %s format. (%ld bytes)", - (raw) ? "raw" : "ascii", filesize); - sprintf(pinfo->shrtInfo, "%dx%d PPM.", w, h); - pinfo->colType = F_FULLCOLOR; -@@ -297,20 +434,149 @@ - } - } - else { -- numgot = fread(pic24, (size_t) 1, (size_t) w*h*3, fp); /* read data */ -+#ifdef FIX_PIPE_ERROR -+ reread: -+ numgot += fread(pic24 + numgot, (size_t) 1, (size_t) w*h*3 - numgot, fp); /* read data */ -+ if(errno == EINTR){ -+ if(DEBUG){ -+ fprintf(stderr, -+ "Can't read all data from pipe, call select and waiting...\n"); -+ } -+ ready_read(); -+ goto reread; -+ } -+#else -+ numgot = fread(pic24, (size_t) 1, (size_t) bufsize, fp); /* read data */ -+#endif - } - } -- -- if (numgot != w*h*3) pbmError(bname, TRUNCSTR); -+ -+ if (numgot != bufsize) pbmError(bname, TRUNCSTR); - - if (garbage) - return(pbmError(bname, "Garbage characters in image data.")); - - -- /* have to scale all RGB values up (Conv24to8 expects RGB values to -- range from 0-255 */ -+ /* have to scale up all RGB values (Conv24to8 expects RGB values to -+ range from 0-255) */ - -- if (maxv<255) { -+ if (maxv<255) { -+ for (i=0; i<=maxv; i++) scale[i] = (i * 255) / maxv; -+ -+ for (i=0, pix=pic24; iw; -+ h = pinfo->h; -+ -+ npixels = w * h; -+ bufsize = 3*npixels; -+ linebufsize = 4*w; -+ if (w <= 0 || h <= 0 || npixels/w != h || bufsize/3 != npixels || -+ linebufsize/4 != w) -+ return pbmError(bname, "image dimensions too large"); -+ -+ /* allocate 24-bit image */ -+ pic24 = (byte *) calloc((size_t) bufsize, (size_t) 1); -+ if (!pic24) FatalError("couldn't malloc 'pic24' for PAM"); -+ -+ /* allocate line buffer for pre-composited RGBA data */ -+ linebuf = (byte *) malloc((size_t) linebufsize); -+ if (!linebuf) { -+ free(pic24); -+ FatalError("couldn't malloc 'linebuf' for PAM"); -+ } -+ -+ pinfo->pic = pic24; -+ pinfo->type = PIC24; -+ sprintf(pinfo->fullInfo, "PAM, %s format. (%ld bytes)", -+ (raw) ? "raw" : "ascii", filesize); -+ sprintf(pinfo->shrtInfo, "%dx%d PAM.", w, h); -+ pinfo->colType = F_FULLCOLOR; -+ -+ -+ /* if maxv>255, keep dropping bits until it's reasonable */ -+ holdmaxv = maxv; -+ bitshift = 0; -+ while (maxv>255) { maxv = maxv>>1; bitshift++; } -+ -+ -+ numgot = 0; -+ -+ if (!raw) { /* GRR: not alpha-ready */ -+ return pbmError(bname, "can't handle non-raw PAM image"); -+/* -+ for (i=0, pix=pic24; i> bitshift); -+ } -+ */ -+ } -+ else { /* raw */ -+ if (holdmaxv>255) { /* GRR: not alpha-ready */ -+ return pbmError(bname, "can't handle PAM image with maxval > 255"); -+/* -+ for (i=0, pix=pic24; i> bitshift); -+ } -+ */ -+ } -+ else { -+ if (have_imagebg) { /* GRR: alpha-ready */ -+ bgR = (imagebgR >> 8); -+ bgG = (imagebgG >> 8); -+ bgB = (imagebgB >> 8); -+ } else { -+ bgR = bgG = bgB = 0; -+ } -+ for (i=0, pix=pic24; icomment[0] = '\0'; - } - else { -- tmpptr = (char *) realloc(pinfo->comment, -- strlen(pinfo->comment) + strlen(cmt) + 1); -+ tmpptr = (char *) realloc(pinfo->comment, -+ strlen(pinfo->comment) + strlen(cmt) + 1); - if (!tmpptr) FatalError("realloc failure in xvpbm.c getint"); - pinfo->comment = tmpptr; - } -@@ -409,7 +675,18 @@ - - numgot++; - -+ /* Sometime after 1995, NetPBM's ppm(5) man page was changed to say, "Each -+ * sample is represented in pure binary by either 1 or 2 bytes. If the -+ * Maxval is less than 256, it is 1 byte. Otherwise, it is 2 bytes. The -+ * most significant byte is first." This change is incompatible with -+ * images created for viewing with all previous versions of XV, however, -+ * so both approaches are left available as a compile-time option. (Could -+ * make it runtime-selectable, too, but unclear whether anybody cares.) */ -+#ifdef ASSUME_RAW_PPM_LSB_FIRST /* legacy approach */ - return (c2 << 8) | c1; -+#else /* MSB first */ -+ return (c1 << 8) | c2; -+#endif - } - - -@@ -445,8 +722,8 @@ - pinfo->comment[0] = '\0'; - } - else { -- tmpptr = (char *) realloc(pinfo->comment, -- strlen(pinfo->comment) + strlen(cmt) + 1); -+ tmpptr = (char *) realloc(pinfo->comment, -+ strlen(pinfo->comment) + strlen(cmt) + 1); - if (!tmpptr) FatalError("realloc failure in xvpbm.c getint"); - pinfo->comment = tmpptr; - } -@@ -470,7 +747,7 @@ - - /*******************************************/ - static int pbmError(fname, st) -- char *fname, *st; -+ const char *fname, *st; - { - SetISTR(ISTR_WARNING,"%s: %s", fname, st); - return 0; -@@ -490,7 +767,7 @@ - char *comment; - { - /* writes a PBM/PGM/PPM file to the already open stream -- if (raw), writes as RAW bytes, otherwise writes as ASCII -+ if (raw), writes as RAW bytes, otherwise writes as ASCII - 'colorstyle' single-handedly determines the type of file written - if colorstyle==0, (Full Color) a PPM file is written - if colorstyle==1, (Greyscale) a PGM file is written -@@ -546,7 +823,7 @@ - } - } - else { -- if (ptype==PIC8) -+ if (ptype==PIC8) - fprintf(fp,"%3d %3d %3d ",rmap[*pix], gmap[*pix], bmap[*pix]); - else - fprintf(fp,"%3d %3d %3d ",pix[0], pix[1], pix[2]); -@@ -554,7 +831,7 @@ - len+=12; - if (len>58) { fprintf(fp,"\n"); len=0; } - } -- -+ - pix += (ptype==PIC24) ? 3 : 1; - } - } -@@ -584,7 +861,7 @@ - - else if (colorstyle==2) { /* 1-bit B/W stipple */ - int bit,k,flipbw; -- char *str0, *str1; -+ const char *str0, *str1; - - /* shouldn't happen */ - if (ptype == PIC24) FatalError("PIC24 and B/W Stipple in WritePBM()\n"); -@@ -626,10 +903,3 @@ - - return 0; - } -- -- -- -- -- -- -- -diff -ru xv-3.10a/xvpcx.c xv-3.10a-enhancements/xvpcx.c ---- xv-3.10a/xvpcx.c 1995-01-10 15:06:37.000000000 -0800 -+++ xv-3.10a-enhancements/xvpcx.c 2007-05-13 18:46:27.000000000 -0700 -@@ -29,17 +29,17 @@ - #define PCX_YMAXH 11 - /* hres (12,13) and vres (14,15) not used */ - #define PCX_CMAP 16 /* start of 16*3 colormap data */ --#define PCX_PLANES 65 -+#define PCX_PLANES 65 - #define PCX_BPRL 66 - #define PCX_BPRH 67 - - #define PCX_MAPSTART 0x0c /* Start of appended colormap */ - - --static int pcxLoadImage8 PARM((char *, FILE *, PICINFO *, byte *)); --static int pcxLoadImage24 PARM((char *, FILE *, PICINFO *, byte *)); -+static int pcxLoadImage8 PARM((const char *, FILE *, PICINFO *, byte *)); -+static int pcxLoadImage24 PARM((const char *, FILE *, PICINFO *, byte *)); - static void pcxLoadRaster PARM((FILE *, byte *, int, byte *, int, int)); --static int pcxError PARM((char *, char *)); -+static int pcxError PARM((const char *, const char *)); - - - -@@ -51,9 +51,9 @@ - { - FILE *fp; - long filesize; -- char *bname, *errstr; -- byte hdr[128], *image; -+ byte hdr[128]; - int i, colors, gray, fullcolor; -+ const char *bname; - - pinfo->type = PIC8; - pinfo->pic = (byte *) NULL; -@@ -64,7 +64,7 @@ - /* open the stream */ - fp = xv_fopen(fname,"r"); - if (!fp) return (pcxError(bname, "unable to open file")); -- -+ - - /* figure out the file size */ - fseek(fp, 0L, 2); -@@ -84,10 +84,10 @@ - return pcxError(bname,"unrecognized magic number"); - } - -- pinfo->w = (hdr[PCX_XMAXL] + ((int) hdr[PCX_XMAXH]<<8)) -+ pinfo->w = (hdr[PCX_XMAXL] + ((int) hdr[PCX_XMAXH]<<8)) - - (hdr[PCX_XMINL] + ((int) hdr[PCX_XMINH]<<8)); - -- pinfo->h = (hdr[PCX_YMAXL] + ((int) hdr[PCX_YMAXH]<<8)) -+ pinfo->h = (hdr[PCX_YMAXL] + ((int) hdr[PCX_YMAXH]<<8)) - - (hdr[PCX_YMINL] + ((int) hdr[PCX_YMINH]<<8)); - - pinfo->w++; pinfo->h++; -@@ -96,10 +96,10 @@ - fullcolor = (hdr[PCX_BPP] == 8 && hdr[PCX_PLANES] == 3); - - if (DEBUG) { -- fprintf(stderr,"PCX: %dx%d image, version=%d, encoding=%d\n", -+ fprintf(stderr,"PCX: %dx%d image, version=%d, encoding=%d\n", - pinfo->w, pinfo->h, hdr[PCX_VER], hdr[PCX_ENC]); - fprintf(stderr," BitsPerPixel=%d, planes=%d, BytePerRow=%d, colors=%d\n", -- hdr[PCX_BPP], hdr[PCX_PLANES], -+ hdr[PCX_BPP], hdr[PCX_PLANES], - hdr[PCX_BPRL] + ((int) hdr[PCX_BPRH]<<8), - colors); - } -@@ -190,9 +190,9 @@ - - if (colors > 2 || (colors==2 && !gray)) { /* grayscale or PseudoColor */ - pinfo->colType = (gray) ? F_GREYSCALE : F_FULLCOLOR; -- sprintf(pinfo->fullInfo, -- "%s PCX, %d plane%s, %d bit%s per pixel. (%ld bytes)", -- (gray) ? "Greyscale" : "Color", -+ sprintf(pinfo->fullInfo, -+ "%s PCX, %d plane%s, %d bit%s per pixel. (%ld bytes)", -+ (gray) ? "Greyscale" : "Color", - hdr[PCX_PLANES], (hdr[PCX_PLANES]==1) ? "" : "s", - hdr[PCX_BPP], (hdr[PCX_BPP]==1) ? "" : "s", - filesize); -@@ -212,21 +212,27 @@ - - /*****************************/ - static int pcxLoadImage8(fname, fp, pinfo, hdr) -- char *fname; -+ const char *fname; - FILE *fp; - PICINFO *pinfo; - byte *hdr; - { - /* load an image with at most 8 bits per pixel */ -- -+ - byte *image; -- -+ int count; -+ - /* note: overallocation to make life easier... */ -- image = (byte *) malloc((size_t) (pinfo->h + 1) * pinfo->w + 16); -+ count = (pinfo->h + 1) * pinfo->w + 16; /* up to 65537*65536+16 (~ 65552) */ -+ if (pinfo->w <= 0 || pinfo->h <= 0 || count/pinfo->w < pinfo->h) { -+ pcxError(fname, "Bogus 8-bit PCX file!!"); -+ return (0); -+ } -+ image = (byte *) malloc((size_t) count); - if (!image) FatalError("Can't alloc 'image' in pcxLoadImage8()"); -- -- xvbzero((char *) image, (size_t) ((pinfo->h+1) * pinfo->w + 16)); -- -+ -+ xvbzero((char *) image, (size_t) count); -+ - switch (hdr[PCX_BPP]) { - case 1: pcxLoadRaster(fp, image, 1, hdr, pinfo->w, pinfo->h); break; - case 8: pcxLoadRaster(fp, image, 8, hdr, pinfo->w, pinfo->h); break; -@@ -243,31 +249,39 @@ - - /*****************************/ - static int pcxLoadImage24(fname, fp, pinfo, hdr) -- char *fname; -+ const char *fname; - FILE *fp; - PICINFO *pinfo; - byte *hdr; - { - byte *pix, *pic24, scale[256]; -- int c, i, j, w, h, maxv, cnt, planes, bperlin, nbytes; -- -+ int c, i, j, w, h, maxv, cnt, planes, bperlin, nbytes, count; -+ - w = pinfo->w; h = pinfo->h; -- -- planes = (int) hdr[PCX_PLANES]; -- bperlin = hdr[PCX_BPRL] + ((int) hdr[PCX_BPRH]<<8); -- -+ -+ planes = (int) hdr[PCX_PLANES]; /* 255 max, but can't get here unless = 3 */ -+ bperlin = hdr[PCX_BPRL] + ((int) hdr[PCX_BPRH]<<8); /* 65535 max */ -+ -+ j = h*planes; /* w and h are limited to 65536, planes to 3 */ -+ count = w*j; /* ...so this could wrap up to 3 times */ -+ nbytes = bperlin*j; /* ...and this almost 3 times */ -+ if (w <= 0 || h <= 0 || planes <= 0 || bperlin <= 0 || -+ j/h < planes || count/w < j || nbytes/bperlin < j) { -+ pcxError(fname, "Bogus 24-bit PCX file!!"); -+ return (0); -+ } -+ - /* allocate 24-bit image */ -- pic24 = (byte *) malloc((size_t) w*h*planes); -- if (!pic24) FatalError("couldn't malloc 'pic24'"); -- -- xvbzero((char *) pic24, (size_t) w*h*planes); -- -+ pic24 = (byte *) malloc((size_t) count); -+ if (!pic24) FatalError("Can't malloc 'pic24' in pcxLoadImage24()"); -+ -+ xvbzero((char *) pic24, (size_t) count); -+ - maxv = 0; - pix = pinfo->pic = pic24; - i = 0; /* planes, in this while loop */ - j = 0; /* bytes per line, in this while loop */ -- nbytes = bperlin*h*planes; -- -+ - while (nbytes > 0 && (c = getc(fp)) != EOF) { - if ((c & 0xC0) == 0xC0) { /* have a rep. count */ - cnt = c & 0x3F; -@@ -275,9 +289,9 @@ - if (c == EOF) { getc(fp); break; } - } - else cnt = 1; -- -+ - if (c > maxv) maxv = c; -- -+ - while (cnt-- > 0) { - if (j < w) { - *pix = c; -@@ -297,19 +311,19 @@ - } - } - } -- -- -+ -+ - /* scale all RGB to range 0-255, if they aren't */ - -- if (maxv<255) { -+ if (maxv<255) { - for (i=0; i<=maxv; i++) scale[i] = (i * 255) / maxv; -- -+ - for (i=0, pix=pic24; i= (int) hdr[PCX_PLANES]) { /* moved to next row */ - plane = 0; -@@ -367,19 +381,19 @@ - } - else { /* next plane, same row */ - image = oldimage; -- } -+ } - - pmask = 1 << plane; - } - } - } --} -+} - - - - /*******************************************/ - static int pcxError(fname,st) -- char *fname, *st; -+ const char *fname, *st; - { - SetISTR(ISTR_WARNING,"%s: %s", fname, st); - return 0; -diff -ru xv-3.10a/xvpds.c xv-3.10a-enhancements/xvpds.c ---- xv-3.10a/xvpds.c 1995-01-03 13:25:52.000000000 -0800 -+++ xv-3.10a-enhancements/xvpds.c 2007-05-12 14:08:47.000000000 -0700 -@@ -22,23 +22,23 @@ - Choice of algorithm for 16->8 bit conversion--linear or histogram stretch. - (adds CONV24_HIST item in "24/8 bit" pull-down menu.) - Uses any "palette.tab" file in cwd to color PDS/VICAR image. -- -+ - * 9-2-91 began integration. Much of this code is lifted from vicar.c, - which I wrote for xloadimage. This is a little simpler, though. -- -+ - * 10-17-91 pdsuncomp is called with system(), which typically feeds the - commandline to sh. Make sure that your .profile adds wherever - you have pdsuncomp to the PATH, like -- -+ - PATH=$PATH:/usr/local/bin -- -+ - * 11-15-91 substituted vdcomp from Viking CD's for pdsuncomp. I added - recognition of - and shut off various messages -- -+ - * 1-5-92 merged into xv rel 2 -- -+ - * 3-11-92 cleaned up some comments -- -+ - * 3-24-92 Got some new CD's from NASA of mosics and other processed Viking - stuff. There are actually records terminated with CRNLCR in - these images, as well as ones that identify the spacecraft name -@@ -46,14 +46,14 @@ - yet further to deal with these. There's a Sun 4 XView binary for - an image display program on these discs, but it's nowhere near as - neat as the good Mr. Bradley's XV. -- -- -+ -+ - * Sources of these CD's: - * - * National Space Science Data Center - * Goddard Space Flight Center - * Code 933.4 -- * Greenbelt, Maryland -+ * Greenbelt, Maryland - * (301) 286-6695 - * or call - * (301) 286-9000 (300,1200,2400 bps) -@@ -77,8 +77,7 @@ - * Huffman-encoded, and the encoding histogram follows the ASCII headers. - * To decode these, we use a slightly modified version of "vdcomp.c" from the - * NASA Viking CD-ROMS. For xv to work, you need to have vdcomp compiled -- * and in your search path. vdcomp.c should be included with this --distribution. -+ * and in your search path. vdcomp.c should be included with this distribution. - * - * I've heard that newer discs have FITS images on them. If they do, support - * for them will be added when I get one. Until then, you can use fitstopgm. -@@ -91,10 +90,10 @@ - * Copyright 1989, 1990 by Anthony A. Datri - * - * Permission to use, copy, and distribute for non-commercial purposes, -- * is hereby granted without fee, providing that the above copyright -+ * is hereby granted without fee, providing that the above copyright - * notice appear in all copies, that both the copyright notice and this - * permission notice appear in supporting documentation. -- * -+ * - * In exception to the above, permission to John Bradley is hereby granted to - * distribute this code as he sees fit within the context of his "xv" image - * viewer. -@@ -102,7 +101,7 @@ - * This software is provided "as is" without any express or implied warranty. - */ - -- -+#define NEEDSDIR /* for S_IRUSR|S_IWUSR */ - #include "xv.h" - - #ifdef HAVE_PDS -@@ -129,27 +128,32 @@ - - /* This is arbitrary. Everything I've seen so far fits in 50 chars */ - #define COMMENTSIZE 50 -+#define INOTESIZE 1000 - - - static int lastwasinote = FALSE; --static char scanbuff [MAX_SIZE], -- rtbuff [RTBUFFSIZE], -- inote [20*COMMENTSIZE], -- infobuff [COMMENTSIZE], -- spacecraft [COMMENTSIZE], -- target [COMMENTSIZE], -- filtname [COMMENTSIZE], -- gainmode [COMMENTSIZE], -- editmode [COMMENTSIZE], -- scanmode [COMMENTSIZE], -- exposure [COMMENTSIZE], -- shuttermode [COMMENTSIZE], -- mphase [COMMENTSIZE], -- iname [COMMENTSIZE], -- itime [COMMENTSIZE], -- garbage [1020], -+static char scanbuff [MAX_SIZE+1], -+ rtbuff [RTBUFFSIZE+1], -+ inote [INOTESIZE+1], -+ infobuff [COMMENTSIZE+1], -+ spacecraft [COMMENTSIZE+1], -+ target [COMMENTSIZE+1], -+ filtname [COMMENTSIZE+1], -+ gainmode [COMMENTSIZE+1], -+ editmode [COMMENTSIZE+1], -+ scanmode [COMMENTSIZE+1], -+ exposure [COMMENTSIZE+1], -+ shuttermode [COMMENTSIZE+1], -+ mphase [COMMENTSIZE+1], -+ iname [COMMENTSIZE+1], -+ itime [COMMENTSIZE+1], -+ garbage [1024], - *tmptmp, - pdsuncompfname[FNAMESIZE]; -+ -+#define SSTR(l) "%" #l "s" -+#define S(l) SSTR(l) -+ - byte *image; - static int elaphe; - -@@ -203,10 +207,10 @@ - } - return(count); - -- case EOF: *bp='\0'; return(count); -- -+ case EOF: *bp='\0'; return(count); -+ - case '\0': return(count); -- -+ - default: count++; *bp++ = c; - } - } -@@ -242,7 +246,7 @@ - * disc seem to leave off the first two bytes. Sigh. This may sometimes be - * a distinction between the fixed and variable-record files. - */ -- -+ - /*******************************************/ - int LoadPDS(fname, pinfo) - char *fname; -@@ -250,13 +254,16 @@ - { - /* returns '1' on success, '0' on failure */ - -- int tempnum; -+ int tempnum, bytewidth, bufsize; -+#ifndef USE_MKSTEMP -+ int tmpfd; -+#endif - FILE *zf; - static int isfixed,teco,i,j,itype,vaxbyte, - recsize,hrecsize,irecsize,isimage,labelrecs,labelsofar, -- x,y,lpsize,lssize,samplesize,returnp,labelsize,yy; -+ w,h,lpsize,lssize,samplesize,returnp,labelsize,yy; - char *tmp; -- char *ftypstr; -+ const char *ftypstr; - unsigned long filesize; - char sampletype[64]; - -@@ -265,7 +272,7 @@ - returnp = isimage = FALSE; - itype = PDSTRASH; - -- teco = i = j = recsize = hrecsize = irecsize = labelrecs = x = y = 0; -+ teco = i = j = recsize = hrecsize = irecsize = labelrecs = w = h = 0; - lpsize = lssize = samplesize = labelsize = labelsofar = 0; - - (*pdsuncompfname) = (*iname) = (*target) = (*filtname) = (*garbage) = '\0'; -@@ -363,7 +370,7 @@ - * length indicator. If the length indicator is odd, then a pad byte - * is appended to the end of the record so that all records contain - * an even number of bytes." */ -- -+ - i=getc(zf); - j=getc(zf); - if (j == EOF) { -@@ -371,7 +378,7 @@ - fclose(zf); - return 0; - } -- -+ - teco = i + (j << 8); - if (teco % 2) teco++; - -@@ -380,7 +387,7 @@ - fclose(zf); - return 0; - } -- -+ - scanbuff[teco]='\0'; - } - -@@ -397,7 +404,7 @@ - - if (strcmp(scanbuff,"END") == 0) { - break; -- } else if (sscanf(scanbuff," RECORD_TYPE = %s",rtbuff) == 1) { -+ } else if (sscanf(scanbuff, " RECORD_TYPE = " S(RTBUFFSIZE), rtbuff) == 1) { - if (strncmp(rtbuff,"VARIABLE_LENGTH", (size_t) 15) == 0) { - /* itype=PDSVARIABLE; */ - } else if (strncmp(rtbuff,"FIXED_LENGTH", (size_t) 12) == 0) { -@@ -416,7 +423,7 @@ - if (irecsize == 0) irecsize=recsize; - lastwasinote=FALSE; - continue; -- } else if (sscanf(scanbuff," FILE_TYPE = %s", rtbuff) != 0) { -+ } else if (sscanf(scanbuff, " FILE_TYPE = " S(RTBUFFSIZE), rtbuff) != 0) { - lastwasinote=FALSE; - if (strncmp(rtbuff,"IMAGE", (size_t) 5) == 0) { - isimage=TRUE; -@@ -429,11 +436,11 @@ - (sscanf(scanbuff," LABEL_RECORDS = %d", &labelrecs) == 1)) { - lastwasinote=FALSE; - continue; -- } else if (sscanf(scanbuff," IMAGE_LINES = %d",&y) == 1) { -+ } else if (sscanf(scanbuff," IMAGE_LINES = %d",&h) == 1) { - isimage=TRUE; lastwasinote=FALSE; continue; -- } else if (sscanf(scanbuff," LINE_SAMPLES = %d",&x) == 1) { -+ } else if (sscanf(scanbuff," LINE_SAMPLES = %d",&w) == 1) { - lastwasinote=FALSE; continue; -- } else if (sscanf(scanbuff," LINES = %d",&y) == 1) { -+ } else if (sscanf(scanbuff," LINES = %d",&h) == 1) { - isimage=TRUE; lastwasinote=FALSE; continue; - } else if (sscanf(scanbuff," HEADER_RECORD_BYTES = %d",&hrecsize)==1) { - lastwasinote=FALSE; continue; -@@ -445,74 +452,74 @@ - lastwasinote=FALSE; continue; - } else if (sscanf(scanbuff," SAMPLE_BITS = %d", &samplesize) == 1) { - lastwasinote=FALSE; continue; -- } else if (sscanf(scanbuff," SAMPLE_TYPE = %s", sampletype) == 1) { -+ } else if (sscanf(scanbuff, " SAMPLE_TYPE = " S(64), sampletype) == 1) { - lastwasinote=FALSE; continue; -- } else if (sscanf(scanbuff," SPACECRAFT_NAME = %s %s", -+ } else if (sscanf(scanbuff," SPACECRAFT_NAME = " S(COMMENTSIZE) " " S(1023), - spacecraft,garbage) == 2 ) { -- strcat(spacecraft,xv_strstr(scanbuff, spacecraft)+strlen(spacecraft)); -+ const char *tmp = xv_strstr(scanbuff, spacecraft) + strlen(spacecraft); -+ strncat(spacecraft, tmp, COMMENTSIZE - strlen(spacecraft)); - lastwasinote=FALSE; continue; -- } else if (sscanf(scanbuff," SPACECRAFT_NAME = %s", spacecraft) == 1) { -+ } else if (sscanf(scanbuff, " SPACECRAFT_NAME = " S(COMMENTSIZE), spacecraft) == 1) { - lastwasinote=FALSE; continue; - -- } else if (sscanf(scanbuff," TARGET_NAME = %s", target) == 1) { -+ } else if (sscanf(scanbuff, " TARGET_NAME = " S(COMMENTSIZE), target) == 1) { - lastwasinote=FALSE; continue; -- } else if (sscanf(scanbuff," TARGET_BODY = %s", target) == 1) { -+ } else if (sscanf(scanbuff, " TARGET_BODY = " S(COMMENTSIZE), target) == 1) { - lastwasinote=FALSE; continue; - -- } else if (sscanf(scanbuff," MISSION_PHASE_NAME = %s", mphase) == 1) { -+ } else if (sscanf(scanbuff, " MISSION_PHASE_NAME = " S(COMMENTSIZE), mphase) == 1) { - lastwasinote=FALSE; continue; -- } else if (sscanf(scanbuff," MISSION_PHASE = %s", mphase) == 1) { -+ } else if (sscanf(scanbuff, " MISSION_PHASE = " S(COMMENTSIZE), mphase) == 1) { - lastwasinote=FALSE; continue; - -- } else if (sscanf(scanbuff," INSTRUMENT_NAME = %s", iname) == 1) { -+ } else if (sscanf(scanbuff, " INSTRUMENT_NAME = " S(COMMENTSIZE), iname) == 1) { - lastwasinote=FALSE; continue; - -- } else if (sscanf(scanbuff," GAIN_MODE_ID = %s", gainmode) == 1) { -+ } else if (sscanf(scanbuff, " GAIN_MODE_ID = " S(COMMENTSIZE), gainmode) == 1) { - lastwasinote=FALSE; continue; - -- } else if (sscanf(scanbuff," INSTRUMENT_GAIN_STATE = %s",gainmode)==1) { -+ } else if (sscanf(scanbuff, " INSTRUMENT_GAIN_STATE = " S(COMMENTSIZE), gainmode) ==1 ) { - lastwasinote=FALSE; continue; -- -- } else if (sscanf(scanbuff," EDIT_MODE_ID = %s", editmode) == 1) { -+ -+ } else if (sscanf(scanbuff, " EDIT_MODE_ID = " S(COMMENTSIZE), editmode) == 1) { - lastwasinote=FALSE; continue; - -- } else if (sscanf(scanbuff," INSTRUMENT_EDIT_MODE = %s", editmode)==1) { -+ } else if (sscanf(scanbuff, " INSTRUMENT_EDIT_MODE = " S(COMMENTSIZE), editmode) == 1) { - lastwasinote=FALSE; continue; - -- } else if (sscanf(scanbuff," SCAN_MODE_ID = %s", scanmode) == 1) { -+ } else if (sscanf(scanbuff, " SCAN_MODE_ID = " S(COMMENTSIZE), scanmode) == 1) { - lastwasinote=FALSE; continue; - -- } else if (sscanf(scanbuff," INSTRUMENT_SCAN_RATE = %s", scanmode)==1) { -+ } else if (sscanf(scanbuff, " INSTRUMENT_SCAN_RATE = " S(COMMENTSIZE), scanmode) == 1) { - lastwasinote=FALSE; continue; - -- } else if (sscanf(scanbuff," SHUTTER_MODE_ID = %s", shuttermode) == 1) { -+ } else if (sscanf(scanbuff, " SHUTTER_MODE_ID = " S(COMMENTSIZE), shuttermode) == 1) { - lastwasinote=FALSE; continue; - -- } else if (sscanf(scanbuff," INSTRUMENT_SHUTTER_MODE = %s", -- shuttermode) == 1) { -+ } else if (sscanf(scanbuff, " INSTRUMENT_SHUTTER_MODE = " S(COMMENTSIZE), shuttermode) == 1) { - lastwasinote=FALSE; continue; - -- } else if (sscanf(scanbuff," SCAN_MODE_ID = %s", scanmode) == 1) { -+ } else if (sscanf(scanbuff, " SCAN_MODE_ID = " S(COMMENTSIZE), scanmode) == 1) { - lastwasinote=FALSE; continue; - -- } else if (sscanf(scanbuff," INSTRUMENT_SCAN_RATE = %s", scanmode)==1) { -+ } else if (sscanf(scanbuff, " INSTRUMENT_SCAN_RATE = " S(COMMENTSIZE), scanmode) == 1) { - lastwasinote=FALSE; continue; - -- } else if (sscanf(scanbuff," SPACECRAFT_EVENT_TIME = %s", itime) == 1) { -+ } else if (sscanf(scanbuff, " SPACECRAFT_EVENT_TIME = " S(COMMENTSIZE), itime) == 1) { - lastwasinote=FALSE; continue; - -- } else if (sscanf(scanbuff," IMAGE_TIME = %s", itime) == 1) { -+ } else if (sscanf(scanbuff, " IMAGE_TIME = " S(COMMENTSIZE), itime) == 1) { - lastwasinote=FALSE; continue; - -- } else if (sscanf(scanbuff," FILTER_NAME = %s", filtname) == 1) { -+ } else if (sscanf(scanbuff, " FILTER_NAME = " S(COMMENTSIZE), filtname) == 1) { - lastwasinote=FALSE; continue; - -- } else if (sscanf(scanbuff," INSTRUMENT_FILTER_NAME = %s",filtname)==1) { -+ } else if (sscanf(scanbuff, " INSTRUMENT_FILTER_NAME = " S(COMMENTSIZE), filtname) == 1) { - lastwasinote=FALSE; continue; - -- } else if ((sscanf(scanbuff," EXPOSURE_DURATION = %s", exposure) == 1) -- || (sscanf(scanbuff," INSTRUMENT_EXPOSURE_DURATION = %s", -- exposure) == 1)) { -+ } else if ((sscanf(scanbuff, " EXPOSURE_DURATION = " S(COMMENTSIZE), exposure) == 1) -+ || (sscanf(scanbuff, " INSTRUMENT_EXPOSURE_DURATION = " S(COMMENTSIZE), -+ exposure)) == 1) { - tmptmp = (char *) index(scanbuff,'='); - tmptmp++; - while((*tmptmp) == ' ') -@@ -520,10 +527,10 @@ - strcpy(exposure,tmptmp); - lastwasinote=FALSE; continue; - -- } else if (sscanf(scanbuff, "NOTE = %s", inote) == 1) { -+ } else if (sscanf(scanbuff, "NOTE = " S(INOTESIZE), inote) == 1) { - tmptmp = (char *) index(scanbuff,'='); tmptmp++; - while (((*tmptmp) == ' ') || ((*tmptmp) == '"')) tmptmp++; -- strcpy(inote,tmptmp); -+ strncpy(inote, tmptmp, INOTESIZE - 1); - strcat(inote," "); - - /* evil and somewhat risky: A "note" (really, any textual -@@ -531,11 +538,11 @@ - * get my hands on the clown who designed this format... - * What we basically assume here - * is that a NOTE record that doesn't end with a " is -- * followed by some number of continuations, one of which -+ * followed by some number of continuations, one of which - * will have a " in it. If this turns out to not be true, - * well, we'll segmentation fault real soon. We use - * lastwasinote as a semaphore to indicate that the previous -- * record was an unfinished NOTE record. We clear the -+ * record was an unfinished NOTE record. We clear the - * flag in each of the above record types for potential - * error recovery, although it really breaks up the beauty - * of the cascading sscanfs. Dykstra'd love me for this one */ -@@ -548,7 +555,7 @@ - } else if (lastwasinote) { - tmptmp=scanbuff; - while (((*tmptmp) == ' ') || ((*tmptmp) == '"')) tmptmp++; -- strcat(inote,tmptmp); -+ strncat(inote, tmptmp, INOTESIZE - strlen(inote) - 1); - strcat(inote," "); - if (index(tmptmp,'"') != NULL) - lastwasinote=FALSE; -@@ -568,10 +575,10 @@ - fclose(zf); - return 0; - } -- -+ - vaxbyte = strncmp(sampletype, "VAX_", (size_t) 4) == 0 || - strncmp(sampletype, "LSB_", (size_t) 4) == 0; -- -+ - } else if (itype == VICAR) { - /* we've got a VICAR file. Let's find out how big the puppy is */ - ungetc(' ', zf); -@@ -582,8 +589,8 @@ - SetISTR(ISTR_WARNING,"LoadPDS: bad NL in VICAR\n"); - returnp=TRUE; - } -- -- if (sscanf(tmp," NL = %d",&y) != 1) { -+ -+ if (sscanf(tmp," NL = %d",&h) != 1) { - SetISTR(ISTR_WARNING,"LoadPDS: bad scan NL in VICAR\n"); - returnp=TRUE; - } -@@ -593,7 +600,7 @@ - returnp=TRUE; - } - -- if (sscanf(tmp, " NS = %d",&x) != 1) { -+ if (sscanf(tmp, " NS = %d",&w) != 1) { - SetISTR(ISTR_WARNING,"LoadPDS: bad scan NS in VICAR\n"); - returnp=TRUE; - } -@@ -625,6 +632,13 @@ - returnp=TRUE; - } - -+ /* samplesize can be arbitrarily large (up to int limit) in non-VICAR files */ -+ if (samplesize != 8 && samplesize != 16) { -+ SetISTR(ISTR_WARNING,"LoadPDS: %d bits per pixel not supported", -+ samplesize); -+ returnp=TRUE; -+ } -+ - if (returnp) { - fclose(zf); - return 0; -@@ -640,27 +654,27 @@ - - *infobuff='\0'; - if (*spacecraft) { -- strcat(infobuff,spacecraft); -+ strncat(infobuff, spacecraft, sizeof(infobuff) - 1); - } - - if (*target) { -- strcat(infobuff,", "); -- strcat(infobuff,target); -+ strncat(infobuff, ", ", sizeof(infobuff) - strlen(infobuff) - 1); -+ strncat(infobuff, target, sizeof(infobuff) - strlen(infobuff) - 1); - } - - if (*filtname) { -- strcat(infobuff,", "); -- strcat(infobuff,filtname); -+ strncat(infobuff, ", ", sizeof(infobuff) - strlen(infobuff) - 1); -+ strncat(infobuff, filtname, sizeof(infobuff) - strlen(infobuff) - 1); - } - - if (*itime) { -- strcat(infobuff,", "); -- strcat(infobuff,itime); -+ strncat(infobuff, ", ", sizeof(infobuff) - strlen(infobuff) - 1); -+ strncat(infobuff, itime, sizeof(infobuff) - strlen(infobuff) - 1); - } - -- SetISTR(ISTR_WARNING,infobuff); -+ SetISTR(ISTR_WARNING, "%s", infobuff); - -- strcpy(pdsuncompfname,fname); -+ strncpy(pdsuncompfname,fname,sizeof(pdsuncompfname) - 1); - ftypstr = ""; - - switch (itype) { -@@ -688,12 +702,26 @@ - fclose(zf); - - #ifndef VMS -- sprintf(pdsuncompfname,"%s/xvhuffXXXXXX", tmpdir); -- mktemp(pdsuncompfname); -- sprintf(scanbuff,"%s %s - 4 >%s",PDSUNCOMP,fname,pdsuncompfname); -+ snprintf(pdsuncompfname, sizeof(pdsuncompfname) - 1, "%s/xvhuffXXXXXX", tmpdir); - #else - strcpy(pdsuncompfname,"sys$disk:[]xvhuffXXXXXX"); -+#endif -+ -+#ifdef USE_MKSTEMP -+ close(mkstemp(pdsuncompfname)); -+#else - mktemp(pdsuncompfname); -+ tmpfd = open(pdsuncompfname,O_WRONLY|O_CREAT|O_EXCL,S_IRWUSR); -+ if (tmpfd < 0) { -+ SetISTR(ISTR_WARNING,"Unable to create temporary file."); -+ return 0; -+ } -+ close(tmpfd); -+#endif -+ -+#ifndef VMS -+ sprintf(scanbuff,"%s '%s' - 4 > %s", PDSUNCOMP, fname, pdsuncompfname); -+#else - sprintf(scanbuff,"%s %s %s 4",PDSUNCOMP,fname,pdsuncompfname); - #endif - -@@ -727,63 +755,72 @@ - fread(scanbuff, (size_t) labelsize, (size_t) 1, zf); - } - -- x *= samplesize/8; -+ /* samplesize is bits per pixel; guaranteed at this point to be 8 or 16 */ -+ bytewidth = w * (samplesize/8); -+ bufsize = bytewidth * h; -+ if (w <= 0 || h <= 0 || bytewidth/w != (samplesize/8) || -+ bufsize/bytewidth != h) -+ { -+ SetISTR(ISTR_WARNING,"LoadPDS: image dimensions out of range (%dx%dx%d)", -+ w, h, samplesize/8); -+ fclose(zf); -+ return 0; -+ } - -- image = (byte *) malloc((size_t) x*y); -+ image = (byte *) malloc((size_t) bufsize); - if (image == NULL) { -- SetISTR(ISTR_WARNING,"LoadPDS: couldn't malloc %d",x*y); - fclose(zf); - if (isfixed == FALSE) - unlink(pdsuncompfname); -- exit(1); -+ FatalError("LoadPDS: can't malloc image buffer"); - } - - if ((lssize || lpsize) && - ((itype == PDSFIXED) || (itype == VIKINGFIXED) || (itype == VICAR)) ) { - /* ARrrrgh. Some of these images have crud intermixed with the image, */ - /* preventing us from freading in one fell swoop */ -- /* (whatever a fell swoop is */ -+ /* (whatever a fell swoop is) */ - -- for (yy=0; yypic = image; -- pinfo->w = x; -- pinfo->h = y; -+ pinfo->w = w; /* true pixel-width now (no longer bytewidth!) */ -+ pinfo->h = h; - - if (samplesize == 16) - if (Convert16BitImage(fname, pinfo, -@@ -798,27 +835,27 @@ - if (pinfo->comment) { - char tmp[256]; - *(pinfo->comment) = '\0'; -- -- sprintf(tmp, "Spacecraft: %-28sTarget: %-32s\n", spacecraft, target); -- strcat(pinfo->comment, tmp); -- -- sprintf(tmp, "Filter: %-32sMission phase: %-24s\n", filtname, mphase); -- strcat(pinfo->comment, tmp); -- -- sprintf(tmp, "Image time: %-28sGain mode: %-29s\n", itime, gainmode); -- strcat(pinfo->comment, tmp); -- -- sprintf(tmp, "Edit mode: %-29sScan mode: %-29s\n", editmode, scanmode); -- strcat(pinfo->comment, tmp); -- -- sprintf(tmp, "Exposure: %-30sShutter mode: %-25s\n", exposure,shuttermode); -- strcat(pinfo->comment, tmp); -- -- sprintf(tmp, "Instrument: %-28sImage time: %-28s\n", iname, itime); -- strcat(pinfo->comment, tmp); -- -- sprintf(tmp, "Image Note: %-28s", inote); -- strcat(pinfo->comment, tmp); -+ -+ sprintf(tmp, "Spacecraft: %-28.28sTarget: %-32.32s\n", spacecraft, target); -+ strncat(pinfo->comment, tmp, 2000 - strlen(pinfo->comment) - 1); -+ -+ sprintf(tmp, "Filter: %-32.32sMission phase: %-24.24s\n", filtname, mphase); -+ strncat(pinfo->comment, tmp, 2000 - strlen(pinfo->comment) - 1); -+ -+ sprintf(tmp, "Image time: %-28.28sGain mode: %-29.29s\n", itime, gainmode); -+ strncat(pinfo->comment, tmp, 2000 - strlen(pinfo->comment) - 1); -+ -+ sprintf(tmp, "Edit mode: %-29.29sScan mode: %-29.29s\n", editmode, scanmode); -+ strncat(pinfo->comment, tmp, 2000 - strlen(pinfo->comment) - 1); -+ -+ sprintf(tmp, "Exposure: %-30.30sShutter mode: %-25.25s\n", exposure,shuttermode); -+ strncat(pinfo->comment, tmp, 2000 - strlen(pinfo->comment) - 1); -+ -+ sprintf(tmp, "Instrument: %-28.28sImage time: %-28.28s\n", iname, itime); -+ strncat(pinfo->comment, tmp, 2000 - strlen(pinfo->comment) - 1); -+ -+ sprintf(tmp, "Image Note: %-28.28s", inote); -+ strncat(pinfo->comment, tmp, 2000 - strlen(pinfo->comment) - 1); - } - - if (LoadPDSPalette(fname, pinfo)) return 1; -@@ -868,23 +905,20 @@ - m = 65536 * sizeof(byte); - lut = (byte *) malloc(m); - if (lut == NULL) { -- SetISTR(ISTR_WARNING,"LoadPDS: couldn't malloc %d", m); -- return 0; -+ FatalError("LoadPDS: can't malloc LUT buffer"); - } -- pinfo->w /= 2; - - /* allocate histogram table */ - m = 65536 * sizeof(long); - hist = (long *) malloc(m); - if (hist == NULL) { -- SetISTR(ISTR_WARNING,"LoadPDS: couldn't malloc %d", m); - free(lut); -- return 0; -+ FatalError("LoadPDS: can't malloc histogram buffer"); - } - - /* check whether histogram file exists */ - #ifdef VMS -- c = (char *) rindex(strcpy(name, -+ c = (char *) rindex(strcpy(name, - (c = (char *) rindex(fname, ':')) ? c+1 : fname), - ']'); - #else -@@ -947,14 +981,20 @@ - } - } - -- /* allocate new 8-bit image */ - free(hist); -+ -+ /* allocate new 8-bit image */ - n = pinfo->w * pinfo->h; -+ if (pinfo->w <= 0 || pinfo->h <= 0 || n/pinfo->w != pinfo->h) { -+ SetISTR(ISTR_WARNING,"LoadPDS: image dimensions out of range (%dx%d)", -+ pinfo->w, pinfo->h); -+ free(lut); -+ return 0; -+ } - pPix8 = (byte *)malloc(n*sizeof(byte)); - if (pPix8 == NULL) { -- SetISTR(ISTR_WARNING,"LoadPDS: couldn't malloc %d", n*sizeof(byte)); - free(lut); -- return 0; -+ FatalError("LoadPDS: can't malloc 16-to-8-bit conversion buffer"); - } - - /* convert the 16-bit image to 8-bit */ -@@ -979,16 +1019,16 @@ - FILE *fp; - char name[1024], buf[256], *c; - int i, n, r, g, b; -- -+ - #ifdef VMS -- c = (char *) rindex(strcpy(name, -+ c = (char *) rindex(strcpy(name, - (c = (char *) rindex(fname, ':')) ? c+1 : fname), - ']'); - #else - c = (char *) rindex(strcpy(name, fname), '/'); - #endif /* VMS */ - (void)strcpy(c ? c+1 : name, "palette.tab"); -- -+ - if ((fp = xv_fopen(name, "r")) == NULL) - return 0; - for (i = 0; i < 256; i++) { -@@ -1014,7 +1054,3 @@ - - - #endif /* HAVE_PDS */ -- -- -- -- -diff -ru xv-3.10a/xvpictoppm.c xv-3.10a-enhancements/xvpictoppm.c ---- xv-3.10a/xvpictoppm.c 1995-01-13 11:57:14.000000000 -0800 -+++ xv-3.10a-enhancements/xvpictoppm.c 2005-04-10 09:36:04.000000000 -0700 -@@ -77,7 +77,7 @@ - FILE *fp; - byte *icon8, *pic24, *ip, *pp; - char buf[256]; -- int i, builtin, w, h, mv; -+ int i, builtin, w, h, maxval, npixels, p24sz; - - fp = stdin; - builtin = 0; -@@ -88,42 +88,45 @@ - /* read comments until we see '#END_OF_COMMENTS', or hit EOF */ - while (1) { - if (!fgets(buf, 256, fp)) errexit(); -- -+ - if (!strncmp(buf, "#END_OF_COMMENTS", (size_t) 16)) break; - - else if (!strncmp(buf, "#BUILTIN:", (size_t) 9)) { - builtin = 1; -- fprintf(stderr,"Built-In icon: no image to convert!\n"); -+ fprintf(stderr, "Built-in icon: no image to convert\n"); - exit(1); - } - } - - - /* read width, height, maxval */ -- if (!fgets(buf, 256, fp) || sscanf(buf, "%d %d %d", &w, &h, &mv) != 3) -+ if (!fgets(buf, 256, fp) || sscanf(buf, "%d %d %d", &w, &h, &maxval) != 3) - errexit(); - -+ npixels = w * h; -+ p24sz = 3 * npixels; - -- if (w<1 || h<1 || mv != 255) { -- fprintf(stderr,"Bogus thumbnail file!\n"); -+ if (w <= 0 || h <= 0 || maxval != 255 || npixels/w != h || p24sz/3 != npixels) -+ { -+ fprintf(stderr, "Thumbnail dimensions out of range\n"); - exit(1); - } - - - /* read binary data */ -- icon8 = (byte *) malloc((size_t) w * h); -+ icon8 = (byte *) malloc((size_t) npixels); - if (!icon8) errexit(); - -- i = fread(icon8, (size_t) 1, (size_t) w*h, fp); -- if (i != w*h) errexit(); -+ i = fread(icon8, (size_t) 1, (size_t) npixels, fp); -+ if (i != npixels) errexit(); -+ - -- - /* make 24-bit version of icon */ -- pic24 = (byte *) malloc((size_t) w * h * 3); -+ pic24 = (byte *) malloc((size_t) p24sz); - if (!pic24) errexit(); - - /* convert icon from 332 to 24-bit image */ -- for (i=0, ip=icon8, pp=pic24; i> 5) & 0x07)) * 255) / 7; - pp[1] = ( ((int) ((*ip >> 2) & 0x07)) * 255) / 7; - pp[2] = ( ((int) ((*ip >> 0) & 0x03)) * 255) / 3; -@@ -160,10 +163,3 @@ - - if (ferror(fp)) errexit(); - } -- -- -- -- -- -- -- -diff -ru xv-3.10a/xvpm.c xv-3.10a-enhancements/xvpm.c ---- xv-3.10a/xvpm.c 1994-12-22 14:34:40.000000000 -0800 -+++ xv-3.10a-enhancements/xvpm.c 2007-05-13 17:34:04.000000000 -0700 -@@ -42,9 +42,9 @@ - /***** end PM.H *****/ - - --pmpic thePic; -+static pmpic thePic; - --static int pmError PARM((char *, char *)); -+static int pmError PARM((const char *, const char *)); - static int flip4 PARM((int)); - static int getint32 PARM((FILE *)); - static void putint32 PARM((int, FILE *)); -@@ -60,8 +60,8 @@ - - FILE *fp; - byte *pic8; -- int isize,i,flipit,w,h; -- char *bname; -+ int isize,i,flipit,w,h,npixels,nRGBbytes; -+ const char *bname; - - bname = BaseName(fname); - thePic.pm_image = (char *) NULL; -@@ -103,10 +103,11 @@ - thePic.pm_cmtsize = flip4(thePic.pm_cmtsize); - } - -- w = thePic.pm_ncol; h = thePic.pm_nrow; -+ w = thePic.pm_ncol; -+ h = thePic.pm_nrow; - - /* make sure that the input picture can be dealt with */ -- if ( thePic.pm_nband!=1 || -+ if ( thePic.pm_nband!=1 || - (thePic.pm_form!=PM_I && thePic.pm_form!=PM_C) || - (thePic.pm_form==PM_I && thePic.pm_np>1) || - (thePic.pm_form==PM_C && (thePic.pm_np==2 || thePic.pm_np>4)) ) { -@@ -114,20 +115,27 @@ - fprintf(stderr,"(ie, 1-plane PM_I, or 1-, 3-, or 4-plane PM_C)\n"); - - return pmError(bname, "PM file in unsupported format"); -- } -+ } - - - isize = pm_isize(&thePic); -+ npixels = w*h; -+ nRGBbytes = 3*npixels; -+ -+ /* make sure image is more-or-less valid (and no overflows) */ -+ if (isize <= 0 || w <= 0 || h <= 0 || npixels/w < h || -+ nRGBbytes/3 < npixels || thePic.pm_cmtsize < 0) -+ return pmError(bname, "Bogus PM file!!"); - -- if (DEBUG) -+ if (DEBUG) - fprintf(stderr,"%s: LoadPM() - loading a %dx%d %s pic, %d planes\n", -- cmd, w, h, (thePic.pm_form==PM_I) ? "PM_I" : "PM_C", -+ cmd, w, h, (thePic.pm_form==PM_I) ? "PM_I" : "PM_C", - thePic.pm_np); - -- -+ - /* allocate memory for picture and read it in */ - thePic.pm_image = (char *) malloc((size_t) isize); -- if (thePic.pm_image == NULL) -+ if (thePic.pm_image == NULL) - return( pmError(bname, "unable to malloc PM picture") ); - - if (fread(thePic.pm_image, (size_t) isize, (size_t) 1, fp) != 1) { -@@ -147,7 +155,7 @@ - } - } - } -- -+ - fclose(fp); - - -@@ -155,11 +163,11 @@ - int *intptr; - byte *pic24, *picptr; - -- if ((pic24 = (byte *) malloc((size_t) w*h*3))==NULL) { -+ if ((pic24 = (byte *) malloc((size_t) nRGBbytes))==NULL) { - if (thePic.pm_cmt) free(thePic.pm_cmt); - return( pmError(bname, "unable to malloc 24-bit picture") ); - } -- -+ - intptr = (int *) thePic.pm_image; - picptr = pic24; - -@@ -190,7 +198,7 @@ - else if (thePic.pm_form == PM_C && thePic.pm_np>1) { - byte *pic24, *picptr, *rptr, *gptr, *bptr; - -- if ((pic24 = (byte *) malloc((size_t) w*h*3))==NULL) { -+ if ((pic24 = (byte *) malloc((size_t) nRGBbytes))==NULL) { - if (thePic.pm_cmt) free(thePic.pm_cmt); - return( pmError(bname, "unable to malloc 24-bit picture") ); - } -@@ -210,12 +218,12 @@ - pinfo->pic = pic24; - pinfo->type = PIC24; - } -- -+ - - else if (thePic.pm_form == PM_C && thePic.pm_np==1) { - /* don't have to convert, just point pic at thePic.pm_image */ - pic8 = (byte *) thePic.pm_image; -- for (i=0; i<256; i++) -+ for (i=0; i<256; i++) - pinfo->r[i] = pinfo->g[i] = pinfo->b[i] = i; /* build mono cmap */ - - pinfo->pic = pic8; -@@ -228,13 +236,13 @@ - pinfo->normw = pinfo->w; pinfo->normh = pinfo->h; - - pinfo->frmType = F_PM; -- pinfo->colType = (thePic.pm_form==PM_I || thePic.pm_np>1) -+ pinfo->colType = (thePic.pm_form==PM_I || thePic.pm_np>1) - ? F_FULLCOLOR : F_GREYSCALE; -- sprintf(pinfo->fullInfo,"PM, %s. (%d plane %s) (%ld bytes)", -- (thePic.pm_form==PM_I || thePic.pm_np>1) -+ sprintf(pinfo->fullInfo,"PM, %s. (%d plane %s) (%d bytes)", -+ (thePic.pm_form==PM_I || thePic.pm_np>1) - ? "24-bit color" : "8-bit greyscale", - thePic.pm_np, (thePic.pm_form==PM_I) ? "PM_I" : "PM_C", -- isize + PM_IOHDR_SIZE + thePic.pm_cmtsize); -+ isize + (int)PM_IOHDR_SIZE + thePic.pm_cmtsize); - - sprintf(pinfo->shrtInfo, "%dx%d PM.", w,h); - pinfo->comment = thePic.pm_cmt; -@@ -313,7 +321,7 @@ - - else if (colorstyle == 1) { /* GreyScale: 8 bits per pixel */ - byte rgb[256]; -- -+ - if (ptype == PIC8) { - for (i=0; iWhite", -- "Blue Gradient", -- "RGB Rainbow", -- "Full Rainbow", -- "Color Assortment", -- "Green Tiles", -- "Red Balls", -- "Red+Yellow Diamonds" }; -- --static char *padBgDefVals[] = { -- "black white", -- "100 100 255 50 50 150", -- "red green blue", -- "black red yellow green blue purple black", -- "black white red black yellow white green black cyan white blue black magenta white red yellow green cyan blue magenta red", -- "green black -r 30 -G 32x32", -- "red black -r 45 -G 32x32", -- "red yellow -r 45 -G 32x32" }; -+static int padColDefLen = 9; -+static const char *padColDefNames[] = { "black", "red", "yellow", "green", -+ "cyan", "blue", "magenta", "white", -+ "50% gray" }; -+ -+static const char *padColDefVals[] = { "black", "red", "yellow", "green", -+ "cyan", "blue", "magenta", "white", -+ "gray50" }; -+ -+static int padBgDefLen = 8; -+static const char *padBgDefNames[] = { "Black->White", -+ "Blue Gradient", -+ "RGB Rainbow", -+ "Full Rainbow", -+ "Color Assortment", -+ "Green Tiles", -+ "Red Balls", -+ "Red+Yellow Diamonds" }; -+ -+static const char *padBgDefVals[] = { "black white", -+ "100 100 255 50 50 150", -+ "red green blue", -+ "black red yellow green blue purple black", -+ "black white red black yellow white green black cyan white blue black magenta white red yellow green cyan blue magenta red", -+ "green black -r 30 -G 32x32", -+ "red black -r 45 -G 32x32", -+ "red yellow -r 45 -G 32x32" }; - - - /* this should match with PAD_O* defs in xv.h */ --static char *padOMStr[] = { "RGB", "Int.", "Hue", "Sat." }; -+static const char *padOMStr[] = { "RGB", "Int.", "Hue", "Sat." }; - - #define PAD_MAXDEFLEN 10 --static int padColLen = 0, padBgLen = 0, padLoadLen = 0; --static char *padColNames [PAD_MAXDEFLEN], *padColVals [PAD_MAXDEFLEN]; --static char *padBgNames [PAD_MAXDEFLEN], *padBgVals [PAD_MAXDEFLEN]; --static char *padLoadNames[PAD_MAXDEFLEN], *padLoadVals[PAD_MAXDEFLEN]; -+static int padColLen = 0; -+static const char *padColNames [PAD_MAXDEFLEN]; -+static const char *padColVals [PAD_MAXDEFLEN]; -+static int padBgLen = 0; -+static const char *padBgNames [PAD_MAXDEFLEN]; -+static const char *padBgVals [PAD_MAXDEFLEN]; -+static int padLoadLen = 0; -+static const char *padLoadNames[PAD_MAXDEFLEN]; -+static const char *padLoadVals [PAD_MAXDEFLEN]; - - - /***************************************************/ -@@ -150,11 +155,11 @@ - if (wy + h > dispHIGH) wy = dispHIGH - h; - } - -- -+ - if (winCtrPosKludge) { - wx -= (p_offx + ch_offx); - wy -= (p_offy + ch_offy); -- } -+ } - else { - wx -= (ch_offx); - wy -= (ch_offy); -@@ -174,16 +179,20 @@ - - /***************************************************/ - int PopUp(txt, labels, n) -- char *txt, *labels[]; -- int n; -+ const char *txt; -+ const char *labels[]; -+ int n; - { - return doPopUp(txt, labels, n, ISPOPUP, "xv confirm"); - } - -+ - /***************************************************/ - static int doPopUp(txt, labels, n, poptyp, wname) -- char *txt, *labels[], *wname; -- int n, poptyp; -+ const char *txt; -+ const char *labels[]; -+ int n, poptyp; -+ const char *wname; - { - int i; - XEvent event; -@@ -197,17 +206,17 @@ - /* attach controls to popW, now that it exists */ - if (poptyp==ISGRAB) ahideCB.win = popW; - else if (poptyp == ISPAD) { -- -+ - if (!padHaveDooDads) { - DCreate(&padWDial, popW, 16, puhigh-16-100-1,75,100, -- 1, 2048, pWIDE, 10, -+ 1.0, 2048.0, (double)pWIDE, 1.0, 10.0, - infofg, infobg, hicol, locol, "Width", NULL); - DCreate(&padHDial, popW, 16+1+75, puhigh-16-100-1,75,100, -- 1, 2048, pHIGH, 10, -+ 1.0, 2048.0, (double)pHIGH, 1.0, 10.0, - infofg, infobg, hicol, locol, "Height", NULL); - - DCreate(&padODial, popW, 16+1+75+75+9, puhigh-16-100-1,75,100, -- 0, 100, 100, 10, -+ 0.0, 100.0, 100.0, 1.0, 10.0, - infofg, infobg, hicol, locol, "Opaque", NULL); - - MBCreate(&padMthdMB, popW, 100-2+44, 10, 140, 19, NULL, -@@ -230,8 +239,8 @@ - XMapWindow(theDisp, padWDial.win); - XMapWindow(theDisp, padHDial.win); - XMapWindow(theDisp, padODial.win); -- } -- -+ } -+ - - XResizeWindow(theDisp, popW, (u_int) puwide, (u_int) puhigh); - XStoreName (theDisp, popW, wname); -@@ -257,10 +266,10 @@ - } - else if (poptyp == ISPAD) { - BTSetActive(&bts[0], (int) strlen(gsBuf)); -- i = pWIDE * 3; RANGE(i,2048,9999); -- DSetRange(&padWDial, 1, i, padWDial.val, 10); -- i = pHIGH * 3; RANGE(i,2048,9999); -- DSetRange(&padHDial, 1, i, padHDial.val, 10); -+ i = pWIDE * 3; RANGE(i,2048,9999); -+ DSetRange(&padWDial, 1.0, (double)i, padWDial.val, 1.0, 10.0); -+ i = pHIGH * 3; RANGE(i,2048,9999); -+ DSetRange(&padHDial, 1.0, (double)i, padHDial.val, 1.0, 10.0); - - DSetActive(&padWDial, (padMode!=PAD_LOAD)); /* DSetRange activates dial */ - DSetActive(&padHDial, (padMode!=PAD_LOAD)); -@@ -283,18 +292,22 @@ - } - } - -- /* center first button in window around mouse position, with constraint that -+ /* center first button in window around mouse position, with constraint that - window be fully on the screen */ - -- CenterMapWindow(popW, 40 + bts[0].x, BUTTH/2 + bts[0].y, puwide, puhigh); - popUp = poptyp; -+ if (startGrab == 2) -+ startGrab = 4; -+ else { -+ CenterMapWindow(popW, 40 + bts[0].x, BUTTH/2 + bts[0].y, puwide, puhigh); - -- /* MUST wait for VisibilityNotify event to come in, else we run the risk -- of UnMapping the window *before* the Map request completed. This -- appears to be bad, (It leaves an empty window frame up.) though it -- generally only happens on slow servers. Better safe than screwed... */ -+ /* MUST wait for VisibilityNotify event to come in, else we run the risk -+ of UnMapping the window *before* the Map request completed. This -+ appears to be bad, (It leaves an empty window frame up.) though it -+ generally only happens on slow servers. Better safe than screwed... */ - -- XWindowEvent(theDisp, popW, VisibilityChangeMask, &event); -+ XWindowEvent(theDisp, popW, VisibilityChangeMask, &event); -+ } - - /* block until this window gets closed */ - while (popUp) { -@@ -312,7 +325,8 @@ - - /***************************************************/ - void ErrPopUp(txt, label) -- char *txt, *label; -+ const char *txt; -+ const char *label; - { - /* simplified interface to PopUp. Takes a string and the label for the - (one) button */ -@@ -323,7 +337,10 @@ - - /***************************************************/ - int GetStrPopUp(txt, labels, n, buf, buflen, filstr, allow) -- char *txt, *labels[], *buf, *filstr; -+ const char *txt; -+ const char *labels[]; -+ char *buf; -+ const char *filstr; - int n, buflen, allow; - { - /* pops up a window with a prompt string, a 1-line editable -@@ -338,10 +355,10 @@ - button labels have 1-character accellerators at the front, same - as in PopUp(). Note that it would be suboptimal to make any - of the 1-character accellerators be the same character as one of -- the edit-text command keys -+ the edit-text command keys - - Also note that the filter string should only contain normal printable -- characters (' ' through '\177'), as ctrl chars are pre-filtered -+ characters (' ' through '\177'), as ctrl chars are pre-filtered - (ie, interpreted as emacs-like commands) */ - - gsBuf = buf; gsBufLen = buflen; -@@ -358,7 +375,7 @@ - gsy = PUHIGH - 10 - BUTTH - 10 - gsh - 20; - - gsw = PUWIDE - gsx - 10; -- -+ - changedGSBuf(); /* careful! popW doesn't exist yet! */ - - return doPopUp(txt, labels, n, ISGETSTR, "xv prompt"); -@@ -371,9 +388,9 @@ - { - /* pops up Grab options dialog box */ - -- int rv; -- char delaybuf[32], grabTxt[1024]; -- static char *grabLabels[] = { "\nGrab", "aAutoGrab", "\033Cancel" }; -+ int rv; -+ char delaybuf[32], grabTxt[1024]; -+ static const char *grabLabels[] = { "\nGrab", "aAutoGrab", "\033Cancel" }; - - sprintf(delaybuf,"%d", *pDelay); - gsBuf = delaybuf; gsBufLen = 3; -@@ -390,7 +407,7 @@ - changedGSBuf(); /* careful! popW doesn't exist yet! */ - - /* window value gets filled in in doPopUp() */ -- CBCreate(&ahideCB, (Window) NULL, -+ CBCreate(&ahideCB, (Window) NULL, - PUWIDE-10-18-StringWidth(HIDESTR), - gsy+2, HIDESTR, infofg, infobg, hicol, locol); - ahideCB.val = *pHide; -@@ -417,9 +434,9 @@ - { - /* pops up 'Pad' options dialog box */ - -- int rv, oldW, oldH, oldO; -- static int firsttime=1; -- static char *labels[] = { "\nOk", "\033Cancel" }; -+ int rv, oldW, oldH, oldO; -+ static int firsttime=1; -+ static const char *labels[] = { "\nOk", "\033Cancel" }; - - if (firsttime) { - padSbuf[0] = '\0'; -@@ -464,10 +481,10 @@ - - changedGSBuf(); /* careful! popW doesn't exist yet! */ - -- if (padHaveDooDads) { -- oldW = padWDial.val; -- oldH = padHDial.val; -- oldO = padODial.val; -+ if (padHaveDooDads) { -+ oldW = (int)padWDial.val; -+ oldH = (int)padHDial.val; -+ oldO = (int)padODial.val; - } - else { oldW = pWIDE; oldH = pHIGH; oldO = 100; } - -@@ -486,9 +503,9 @@ - } - - if (rv == 1) { /* cancelled: restore normal values */ -- DSetVal(&padWDial, oldW); -- DSetVal(&padHDial, oldH); -- DSetVal(&padODial, oldO); -+ DSetVal(&padWDial, (double)oldW); -+ DSetVal(&padHDial, (double)oldH); -+ DSetVal(&padODial, (double)oldO); - } - - XUnmapWindow(theDisp, padWDial.win); -@@ -496,11 +513,11 @@ - XUnmapWindow(theDisp, padODial.win); - - /* load up return values */ -- *pMode = padMode; -- *pStr = padBuf; -- *pWide = padWDial.val; -- *pHigh = padHDial.val; -- *pOpaque = padODial.val; -+ *pMode = padMode; -+ *pStr = padBuf; -+ *pWide = (int)padWDial.val; -+ *pHigh = (int)padHDial.val; -+ *pOpaque = (int)padODial.val; - *pOmode = padOMode; - - return rv; -@@ -513,8 +530,6 @@ - /* generates padCol* and padBg* lists used in 'Defaults' MBUTT. Grabs - all the X resources values it can, and adds appropriate defaults */ - -- int i; -- - rd_str_cl("foo", "", 1); /* rebuild database */ - - build1PadList("color", padColVals, padColNames, &padColLen, -@@ -524,49 +539,52 @@ - padBgDefVals, padBgDefNames, padBgDefLen); - - build1PadList("load", padLoadVals, padLoadNames, &padLoadLen, -- (char **) NULL, (char **) NULL, 0); -+ (const char **) NULL, (const char **) NULL, 0); - } -- -- -+ -+ - /***************************************************/ - static void build1PadList(typstr, vals, nams, lenp, dvals, dnams, dlen) -- char *typstr, **vals, **nams, **dvals, **dnams; -- int *lenp, dlen; --{ -- int i; -- char resname[128], name[256], value[256]; -+ const char *typstr; -+ const char **vals, **nams; -+ const char **dvals, **dnams; -+ int *lenp, dlen; -+{ -+ int i; -+ char resname[128]; -+ char *copy; - - for (i=0; i<*lenp; i++) { /* kill old lists */ -- free(nams[i]); -- free(vals[i]); -+ free((char *) nams[i]); -+ free((char *) vals[i]); - } - *lenp = 0; - - for (i=0; i<10; i++) { - sprintf(resname, "pad.%s.val%d", typstr, i); - if (rd_str_cl(resname, "Dialog.Menu.Slot",0)) { /* got one! */ -- vals[*lenp] = (char *) malloc(strlen(def_str)+1); -- if (!vals[*lenp]) continue; -- strcpy(vals[*lenp], def_str); -- -+ copy = strdup(def_str); -+ if (!copy) continue; -+ vals[*lenp] = copy; -+ - sprintf(resname, "pad.%s.name%d", typstr, i); - if (rd_str_cl(resname, "Dialog.Menu.Slot",0)) { /* and it has a name! */ -- nams[*lenp] = (char *) malloc(strlen(def_str)+1); -- if (!nams[*lenp]) { free(vals[*lenp]); continue; } -- strcpy(nams[*lenp], def_str); -- -+ copy = strdup(def_str); -+ if (!copy) { free((char *) vals[*lenp]); continue; } - } - else { /* it doesn't have a name. fabricate one */ -- nams[*lenp] = (char *) malloc((size_t) 32); -- if (!nams[*lenp]) { free(vals[*lenp]); continue; } -- strncpy(nams[*lenp], vals[*lenp], (size_t) 31); -+ copy = malloc((size_t) 32); -+ if (!copy) { free((char *) vals[*lenp]); continue; } -+ strncpy(copy, vals[*lenp], (size_t) 31); -+ copy[31] = '\0'; - } -- -- if (strlen(nams[*lenp]) > (size_t) 20) { /* fix long names */ -- char *sp = nams[*lenp] + 18; -+ if (strlen(copy) > (size_t) 20) { /* fix long names */ -+ char *sp = copy + 18; -+ - *sp++ = '.'; *sp++ = '.'; *sp++ = '.'; *sp++ = '\0'; - } -- -+ nams[*lenp] = copy; -+ - *lenp = (*lenp) + 1; - } - } -@@ -574,16 +592,17 @@ - - /* add 'built-in' defaults to the lists */ - for (i=0; istate & ShiftMask; - ck = CursorKey(ks, shift, 0); -@@ -725,7 +744,7 @@ - rv = 1; - } - -- if (!rv && (popUp==ISGETSTR || popUp==ISGRAB || popUp==ISPAD)) { -+ if (!rv && (popUp==ISGETSTR || popUp==ISGRAB || popUp==ISPAD)) { - if (e->window == popW) { doGetStrKey(buf[0]); rv = 1; } - } - } -@@ -765,26 +784,31 @@ - #define TR_MAXLN 10 - - /***************************************************/ --void TextRect(win, txt, x, y, w, h, fg) -- Window win; -- char *txt; -- int x,y,w,h; -- u_long fg; --{ -- char *sp, *ep, *oldep, *start[TR_MAXLN]; -- int i, inbreak, lineno, top, hardcr, maxln, len[TR_MAXLN]; -+static void TextRect(win, txt, x, y, w, h, fg) -+ Window win; -+ const char *txt; -+ int x,y,w,h; -+ u_long fg; -+{ -+ /* draws semi-complex strings in a rectangle */ -+ -+ const char *sp; -+ const char *ep; -+ const char *oldep; -+ const char *start[TR_MAXLN]; -+ int i, inbreak, lineno, top, hardcr, maxln, len[TR_MAXLN]; - - XSetForeground(theDisp, theGC, fg); -- -+ - sp = txt; lineno = hardcr = 0; - -- maxln = h / LINEHIGH; -+ maxln = h / LINEHIGH; - RANGE(maxln,0,TR_MAXLN); - while (*sp && lineno w) { -@@ -812,7 +836,7 @@ - } - - start[lineno] = sp; len[lineno] = ep-sp; -- -+ - /* make sure we don't print a trailing '\n' character! */ - if (len[lineno] > 0) { - while (sp[len[lineno]-1] == '\n') len[lineno] = len[lineno] - 1; -@@ -835,7 +859,7 @@ - /***************************************************/ - static void createPUD() - { -- popW = CreateWindow("xv confirm", "XVconfirm", "+0+0", -+ popW = CreateWindow("xv confirm", "XVconfirm", "+0+0", - PUWIDE, PUHIGH, infofg, infobg, 0); - if (!popW) FatalError("can't create popup window!"); - -@@ -847,7 +871,7 @@ - bts = (BUTT *) NULL; - nbts = selected = firsttime = 0; - } -- -+ - - /***************************************************/ - static void attachPUD() -@@ -913,24 +937,24 @@ - XDrawLine(theDisp, popW, theGC, 16+1+75+75+5, puhigh-140 + 6+8, - 16+1+75+75+5, puhigh-10-4); - } -- -+ - - XSetForeground(theDisp, theGC, infofg); -- XDrawRectangle(theDisp, popW, theGC, 268, puhigh-140, -+ XDrawRectangle(theDisp, popW, theGC, 268, puhigh-140, - (u_int) puwide - 10 - 268, 130-BUTTH-10); -- Draw3dRect(popW, 268+1, puhigh-140+1, (u_int) puwide -10-268-2, -+ Draw3dRect(popW, 268+1, puhigh-140+1, (u_int) puwide -10-268-2, - 130-2 - BUTTH-10, R3D_IN,2,hicol,locol,infobg); -- -- TextRect(popW,padInst,268+5, puhigh-140+3, puwide-10-268-10, -+ -+ TextRect(popW,padInst,268+5, puhigh-140+3, puwide-10-268-10, - 130-6 - BUTTH-10, infofg); - } - - else { - XCopyPlane(theDisp, iconPix, popW, theGC, 0,0, icon_width, icon_height, - 10,10+(puhigh-30-BUTTH-icon_height)/2, 1L); -- -+ - xt = 10+icon_width+20; yt = 10; -- -+ - if (popUp == ISGETSTR) { - TextRect(popW, text, xt, yt, puwide-10-xt, gsy-20, infofg); - drawGSBuf(); -@@ -947,23 +971,23 @@ - /***************************************************/ - static void drawPadOMStr() - { -- CenterString(popW, padODial.x + (padODial.w - 13)/2, -+ CenterString(popW, padODial.x + (padODial.w - 13)/2, - puhigh-16-100-12, padOMStr[padOMode]); - } -- -+ - /***************************************************/ - static void clickPUD(x,y) - int x,y; - { - int i; -- BUTT *bp; -- -+ BUTT *bp = NULL; -+ - for (i=0; ix, bp->y, bp->w, bp->h)) break; - } -- -- if (i=' ' && c<'\177') { /* 'NORMAL' CHARACTERS */ - if (flen) { /* check filter string */ -@@ -1097,7 +1121,7 @@ - if (!gsAllow && i< flen) return 1; /* found in 'disallow' filter */ - if ( gsAllow && i==flen) return 1; /* not found in 'allow' filter */ - } -- -+ - if (len >= gsBufLen-1) return 1; /* at max length */ - - xvbcopy(&gsBuf[gsCurPos], &gsBuf[gsCurPos+1], (size_t) len-gsCurPos+1); -@@ -1105,7 +1129,7 @@ - } - - -- else if (c=='\010' || c=='\177') { /* BS or DEL */ -+ else if (c=='\010') { /* BS */ - if (gsCurPos==0) return 1; /* at beginning of str */ - xvbcopy(&gsBuf[gsCurPos], &gsBuf[gsCurPos-1], (size_t) len-gsCurPos+1); - gsCurPos--; -@@ -1128,7 +1152,7 @@ - gsCurPos = len; - } - -- else if (c=='\004') { /* ^D: delete character at gsCurPos */ -+ else if (c=='\004' || c=='\177') { /* ^D or DEL: delete character at gsCurPos */ - if (gsCurPos==len) return 1; - xvbcopy(&gsBuf[gsCurPos+1], &gsBuf[gsCurPos], (size_t) len-gsCurPos); - } -@@ -1147,7 +1171,7 @@ - - changedGSBuf(); /* compute gsEnPos, gsStPos */ - -- if (ctrlColor) -+ if (ctrlColor) - XClearArea(theDisp, popW, gsx+3,gsy+3, (u_int)gsw-5, (u_int)gsh-5, False); - else - XClearArea(theDisp, popW, gsx+1,gsy+1, (u_int)gsw-1, (u_int)gsh-1, False); -@@ -1175,7 +1199,7 @@ - /***************************************************/ - static void changedGSBuf() - { -- /* cursor position (or whatever) may have changed. adjust displayed -+ /* cursor position (or whatever) may have changed. adjust displayed - portion of gsBuf */ - - int len; -@@ -1212,7 +1236,7 @@ - - XSetForeground(theDisp, theGC, infofg); - XDrawRectangle(theDisp, popW, theGC, gsx, gsy, (u_int) gsw, (u_int) gsh); -- Draw3dRect(popW, gsx+1, gsy+1, (u_int) gsw-2, (u_int) gsh-2, -+ Draw3dRect(popW, gsx+1, gsy+1, (u_int) gsw-2, (u_int) gsh-2, - R3D_IN, 2, hicol,locol,infobg); - - XSetForeground(theDisp, theGC, infofg); -diff -ru xv-3.10a/xvps.c xv-3.10a-enhancements/xvps.c ---- xv-3.10a/xvps.c 1994-12-22 14:34:42.000000000 -0800 -+++ xv-3.10a-enhancements/xvps.c 2007-05-12 15:25:59.000000000 -0700 -@@ -1,4 +1,4 @@ --/* -+/* - * xvps.c - Postscript dialog box, file output functions - * - * callable functions: -@@ -71,10 +71,13 @@ - static void psColorImage PARM((FILE *)); - static void psColorMap PARM((FILE *fp, int, int, byte *, byte *, byte *)); - static void psRleCmapImage PARM((FILE *, int)); --static void epsPreview PARM((FILE *, byte *, int, int, int, int, -+static void epsPreview PARM((FILE *, byte *, int, int, int, int, - byte *, byte *, byte *, int)); --static int writeBWStip PARM((FILE *, byte *, char *, int, int, int)); -+static int writeBWStip PARM((FILE *, byte *, const char *, int, int, int)); - -+#ifdef GS_PATH -+static void buildCmdStr PARM((char *, char *, char *, int, int)); -+#endif - - - /* local variables */ -@@ -123,7 +126,7 @@ - void CreatePSD(geom) - char *geom; - { -- psW = CreateWindow("xv postscript", "XVps", geom, -+ psW = CreateWindow("xv postscript", "XVps", geom, - PSWIDE, PSHIGH, infofg, infobg, 0); - if (!psW) FatalError("can't create postscript window!"); - -@@ -139,9 +142,9 @@ - CBCreate(&encapsCB, psW, 240, 7, "preview", infofg, infobg, hicol, locol); - CBCreate(&pscompCB, psW, 331, 7, "compress", infofg, infobg, hicol, locol); - -- DCreate(&xsDial, psW, 240, 30, 80, 100, 10, 800, 100, 5, -+ DCreate(&xsDial, psW, 240, 30, 80, 100, 10.0, 800.0, 100.0, 0.5, 5.0, - infofg, infobg, hicol, locol, "Width", "%"); -- DCreate(&ysDial, psW, 331, 30, 80, 100, 10, 800, 100, 5, -+ DCreate(&ysDial, psW, 331, 30, 80, 100, 10.0, 800.0, 100.0, 0.5, 5.0, - infofg, infobg, hicol, locol, "Height", "%"); - xsDial.drawobj = changedScale; - ysDial.drawobj = changedScale; -@@ -154,38 +157,38 @@ - RBCreate(orientRB, psW, 36+80, 240+18, "Landscape", infofg, infobg, - hicol, locol); - -- paperRB = RBCreate(NULL, psW,36, 240+18+36, "8.5\"x11\"", -+ paperRB = RBCreate(NULL, psW,36, 240+18+36, "8.5\"x11\"", - infofg, infobg, hicol, locol); - RBCreate(paperRB, psW, 36+80, 240+18+36, "A4", - infofg, infobg, hicol, locol); -- RBCreate(paperRB, psW, 36+122, 240+18+36, "B5", -+ RBCreate(paperRB, psW, 36+122, 240+18+36, "B5", - infofg, infobg, hicol, locol); -- RBCreate(paperRB, psW, 36+164, 240+18+36, "A3", -+ RBCreate(paperRB, psW, 36+164, 240+18+36, "A3", - infofg, infobg, hicol, locol); - RBCreate(paperRB, psW, 36, 240+36+36, "8.5\"x14\"", - infofg, infobg, hicol, locol); -- RBCreate(paperRB, psW, 36+80, 240+36+36, "11\"x17\"", -+ RBCreate(paperRB, psW, 36+80, 240+36+36, "11\"x17\"", - infofg, infobg, hicol, locol); -- RBCreate(paperRB, psW, 36, 240+54+36, "4\"x5\"", -+ RBCreate(paperRB, psW, 36, 240+54+36, "4\"x5\"", - infofg, infobg, hicol, locol); -- RBCreate(paperRB, psW, 36+80, 240+54+36, "35mm slide", -+ RBCreate(paperRB, psW, 36+80, 240+54+36, "35mm slide", - infofg, infobg, hicol, locol); - -- BTCreate(&psbut[PS_BOK], psW, PSWIDE-180, PSHIGH-10-BUTTH, 80, BUTTH, -+ BTCreate(&psbut[PS_BOK], psW, PSWIDE-180, PSHIGH-10-BUTTH, 80, BUTTH, - "Ok", infofg, infobg, hicol, locol); -- BTCreate(&psbut[PS_BCANC], psW, PSWIDE-90, PSHIGH-10-BUTTH, 80, BUTTH, -+ BTCreate(&psbut[PS_BCANC], psW, PSWIDE-90, PSHIGH-10-BUTTH, 80, BUTTH, - "Cancel", infofg, infobg, hicol, locol); - -- BTCreate(&psbut[PS_BCENT], psW, 240, 154, 55, BUTTH-2, -+ BTCreate(&psbut[PS_BCENT], psW, 240, 154, 55, BUTTH-2, - "Center", infofg, infobg, hicol, locol); -- BTCreate(&psbut[PS_BORG], psW, 298, 154, 55, BUTTH-2, -+ BTCreate(&psbut[PS_BORG], psW, 298, 154, 55, BUTTH-2, - "Origin", infofg, infobg, hicol, locol); -- BTCreate(&psbut[PS_BMAX], psW, 356, 154, 55, BUTTH-2, -+ BTCreate(&psbut[PS_BMAX], psW, 356, 154, 55, BUTTH-2, - "Max", infofg, infobg, hicol, locol); - -- BTCreate(&psbut[PS_BPOSX], psW, 256-14, 190+13-8, 8,8, "", -+ BTCreate(&psbut[PS_BPOSX], psW, 256-14, 190+13-8, 8,8, "", - infofg, infobg, hicol, locol); -- BTCreate(&psbut[PS_BPOSY], psW, 256-14, 190+26-8, 8,8, "", -+ BTCreate(&psbut[PS_BPOSY], psW, 256-14, 190+26-8, 8,8, "", - infofg, infobg, hicol, locol); - - posxType = posyType = 0; -@@ -236,17 +239,17 @@ - - if (rd_int("psres")) { /* xv.psres: default paper resolution */ - if (def_int >= 10 && def_int <= 720) { -- int i = (int) ((PIX2INCH * 100) / def_int); -+ double v = (PIX2INCH * 100) / def_int; - -- DSetVal(&xsDial, i); -- DSetVal(&ysDial, i); -+ DSetVal(&xsDial, v); -+ DSetVal(&ysDial, v); - } - } - - - XMapSubwindows(theDisp, psW); - } -- -+ - - /***************************************************/ - void PSDialog(vis) -@@ -289,7 +292,7 @@ - x = e->x; y = e->y; w = e->width; h = e->height; - - /* throw away excess expose events for 'dumb' windows */ -- if (e->count > 0 && -+ if (e->count > 0 && - (e->window == xsDial.win || e->window == ysDial.win || - e->window == pageF)) {} - -@@ -332,7 +335,7 @@ - XKeyEvent *e = (XKeyEvent *) xev; - char buf[128]; KeySym ks; - int stlen, shift, ck; -- -+ - stlen = XLookupString(e,buf,128,&ks,(XComposeStatus *) NULL); - shift = e->state & ShiftMask; - ck = CursorKey(ks, shift, 0); -@@ -403,7 +406,7 @@ - static void drawPSD(x,y,w,h) - int x,y,w,h; - { -- char *title = "Save PostScript File..."; -+ const char *title = "Save PostScript File..."; - int i,cx; - XRectangle xr; - -@@ -463,12 +466,14 @@ - /***************************************************/ - static void drawPosStr() - { -- int x,y; -- double cmx, cmy, inx, iny; -- char str[64], str1[64], *xst, *yst; -+ int x,y; -+ double cmx, cmy, inx, iny; -+ char str[64], str1[64]; -+ const char *xst, *yst; - - x = 256; y = 190 + 13; -- inx = iny = 0; xst = yst = (char *) NULL; -+ inx = iny = 0; -+ xst = yst = (const char *) NULL; - - switch (posxType) { - case 0: xst = "Left: "; inx = pos_inx; break; -@@ -497,7 +502,7 @@ - XSetFont(theDisp, theGC, mfont); - } - -- -+ - /***************************************************/ - static void drawSizeStr() - { -@@ -522,7 +527,7 @@ - XSetFont(theDisp, theGC, mfont); - } - -- -+ - /***************************************************/ - static void drawResStr() - { -@@ -540,9 +545,9 @@ - XSetFont(theDisp, theGC, mfont); - } - -- -- -- -+ -+ -+ - /***************************************************/ - static void drawPage() - { -@@ -554,7 +559,7 @@ - XSetForeground(theDisp, theGC, infofg); - XDrawRectangle(theDisp, pageF, theGC, pageRect.x, pageRect.y, - (u_int) pageRect.width, (u_int) pageRect.height); -- -+ - drawIRect(1); - } - -@@ -611,7 +616,7 @@ - unsigned int mask; - double offx, offy, newx, newy; - -- /* compute offset (in inches) between 'drag point' and -+ /* compute offset (in inches) between 'drag point' and - the top-left corner of the image */ - - offx = ((mx - pageRect.x) / in2pix) - pos_inx; -@@ -642,7 +647,7 @@ - char *fullname; - - switch (cmd) { -- case PS_BOK: writePS(); -+ case PS_BOK: writePS(); - PSDialog(0); - fullname = GetDirFullName(); - if (!ISPIPE(fullname[0])) { -@@ -721,15 +726,15 @@ - - GetSaveSize(&w, &h); - -- sz_inx = (double) w / PIX2INCH * (xsDial.val / 100.0); -- sz_iny = (double) h / PIX2INCH * (ysDial.val / 100.0); -+ sz_inx = (double) w / PIX2INCH * (xsDial.val / 100.0); -+ sz_iny = (double) h / PIX2INCH * (ysDial.val / 100.0); - - /* round to integer .001ths of an inch */ - sz_inx = floor(sz_inx * 1000.0 + 0.5) / 1000.0; - sz_iny = floor(sz_iny * 1000.0 + 0.5) / 1000.0; - -- dpix = (int) (PIX2INCH / (xsDial.val / 100.0)); -- dpiy = (int) (PIX2INCH / (ysDial.val / 100.0)); -+ dpix = (int) (PIX2INCH / (xsDial.val / 100.0)); -+ dpiy = (int) (PIX2INCH / (ysDial.val / 100.0)); - - /* make sure 'center' of image is still on page */ - hsx = sz_inx/2; hsy = sz_iny/2; -@@ -783,20 +788,20 @@ - { - int x,y,w,h; - XRectangle xr; -- -+ - x = pageRect.x + (int) (pos_inx * in2pix); - y = pageRect.y + (int) (pos_iny * in2pix); - w = sz_inx * in2pix; - h = sz_iny * in2pix; -- -+ - xr.x = pageRect.x + 1; - xr.y = pageRect.y + 1; - xr.width = pageRect.width - 1; - xr.height = pageRect.height - 1; -- -+ - if (draw) XSetForeground(theDisp, theGC, infofg); - else XSetForeground(theDisp, theGC, infobg); -- -+ - XSetClipRectangles(theDisp, theGC, 0,0, &xr, 1, Unsorted); - XDrawRectangle(theDisp, pageF, theGC, x, y, (u_int) w, (u_int) h); - XDrawLine(theDisp, pageF, theGC, x, y, x+w, y+h); -@@ -836,18 +841,18 @@ - if (scx < scy) { sz_iny = h * scx; } - else { sz_inx = w * scy; } - -- DSetVal(&xsDial, (int) ((100 * (sz_inx * PIX2INCH) / w) + .5)); -+ DSetVal(&xsDial, 100 * (sz_inx * PIX2INCH) / w); - DSetVal(&ysDial, xsDial.val); - -- sz_inx = (double) w / PIX2INCH * (xsDial.val / 100.0); -- sz_iny = (double) h / PIX2INCH * (ysDial.val / 100.0); -+ sz_inx = (double) w / PIX2INCH * (xsDial.val / 100.0); -+ sz_iny = (double) h / PIX2INCH * (ysDial.val / 100.0); - - /* round to integer .001ths of an inch */ - sz_inx = floor(sz_inx * 1000.0 + 0.5) / 1000.0; - sz_iny = floor(sz_iny * 1000.0 + 0.5) / 1000.0; - -- dpix = (int) (PIX2INCH / (xsDial.val / 100.0)); -- dpiy = (int) (PIX2INCH / (ysDial.val / 100.0)); -+ dpix = (int) (PIX2INCH / (xsDial.val / 100.0)); -+ dpiy = (int) (PIX2INCH / (ysDial.val / 100.0)); - - pos_inx = psizex/2 - sz_inx/2; - pos_iny = psizey/2 - sz_iny/2; -@@ -888,7 +893,7 @@ - static void writePS() - { - FILE *fp; -- int i, j, q, err, rpix, gpix, bpix, nc, ptype; -+ int i, j, err, rpix, gpix, bpix, nc, ptype; - int iw, ih, ox, oy, slen, lwidth, bits, colorps, w, h, pfree; - double iwf, ihf; - byte *inpix, *rmap, *gmap, *bmap; -@@ -900,13 +905,19 @@ - if (!fp) return; - - WaitCursor(); -- -+ - inpix = GenSavePic(&ptype, &w, &h, &pfree, &nc, &rmap, &gmap, &bmap); - -- -+ if (w <= 0 || h <= 0 || w*2 < w) { -+ SetISTR(ISTR_WARNING,"%s: Image dimensions out of range", filename); -+ CloseOutFile(fp, filename, 1); -+ return; -+ } -+ -+ - /* printed image will have size iw,ih (in picas) */ - iw = (int) (sz_inx * 72.0 + 0.5); -- ih = (int) (sz_iny * 72.0 + 0.5); -+ ih = (int) (sz_iny * 72.0 + 0.5); - iwf = sz_inx * 72.0; - ihf = sz_iny * 72.0; - -@@ -923,12 +934,12 @@ - fprintf(fp,"%%%%Creator: XV %s - by John Bradley\n",REVDATE); - - if (RBWhich(orientRB)==ORNT_LAND) /* Landscape mode */ -- fprintf(fp,"%%%%BoundingBox: %d %d %d %d\n", -+ fprintf(fp,"%%%%BoundingBox: %d %d %d %d\n", - (int) (pos_iny * 72.0 + 0.5), - (int) (pos_inx * 72.0 + 0.5), - (int) (pos_iny * 72.0 + 0.5) + ih, - (int) (pos_inx * 72.0 + 0.5) + iw); -- else -+ else - fprintf(fp,"%%%%BoundingBox: %d %d %d %d\n", ox, oy, ox+iw, oy+ih); - - fprintf(fp,"%%%%Pages: 1\n"); -@@ -943,9 +954,9 @@ - case F_BWDITHER: slen = (w+7)/8; bits = 1; colorps = 0; break; - default: FatalError("unknown colorType in writePS()"); break; - } -- -+ - if (encapsCB.val) epsPreview(fp, inpix, ptype, colorType, w, h, -- rmap,gmap,bmap, -+ rmap,gmap,bmap, - (RBWhich(orientRB)==ORNT_LAND) ); - - fprintf(fp,"%%%%EndProlog\n\n"); -@@ -978,7 +989,7 @@ - fprintf(fp,"%% print in landscape mode\n"); - fprintf(fp,"90 rotate 0 %d translate\n\n",(int) (-psizey*72.0)); - } -- -+ - if (RBWhich(paperRB) == PSZ_4BY5 || - RBWhich(paperRB) == PSZ_35MM) { - fprintf(fp,"%% we're going to a 4x5 or a 35mm film recorder.\n"); -@@ -1083,12 +1094,12 @@ - gpix = inpix[1]; - bpix = inpix[2]; - } -- -- if (colorps) { -+ -+ if (colorps) { - err = fprintf(fp,"%02x%02x%02x",rpix,gpix,bpix); - lwidth+=6; - } -- -+ - else { /* greyscale */ - err = fprintf(fp,"%02x", MONO(rpix,gpix,bpix)); - lwidth+=2; -@@ -1106,7 +1117,7 @@ - fprintf(fp,"\n\n"); - fprintf(fp,"%%\n"); - fprintf(fp,"%% Compression made this file %.2f%% %s\n", -- 100.0 * ((double) outbytes) / -+ 100.0 * ((double) outbytes) / - ((double) eWIDE * eHIGH * ((colorps) ? 3 : 1)), - "of the uncompressed size."); - fprintf(fp,"%%\n"); -@@ -1147,10 +1158,10 @@ - * - * returns length of the rleline vector - */ -- -+ - int i, j, blocklen, isrun, rlen; - byte block[256], pix; -- -+ - blocklen = isrun = rlen = 0; - - for (i=0; i1) { /* have a non-run block to flush */ -@@ -1215,7 +1226,7 @@ - - else { - rleline[rlen++] = (blocklen-1) | 0x80; -- for (j=0; j MONO(rmap[1],gmap[1],bmap[1])); - } - -- -- fprintf(fp,"%%%%BeginPreview: %d %d %d %d\n", w, h, 1, -+ -+ fprintf(fp,"%%%%BeginPreview: %d %d %d %d\n", w, h, 1, - (w/(72*4) + 1) * h); - - writeBWStip(fp, prev, "% ", w, h, !flipbw); -@@ -1468,10 +1495,10 @@ - static int writeBWStip(fp, pic, prompt, w, h, flipbw) - FILE *fp; - byte *pic; -- char *prompt; -+ const char *prompt; - int w, h, flipbw; - { -- /* write the given 'pic' (B/W stippled, 1 byte per pixel, 0=blk,1=wht) -+ /* write the given 'pic' (B/W stippled, 1 byte per pixel, 0=blk,1=wht) - out as hexadecimal, max of 72 hex chars per line. - - if 'flipbw', then 0=white, 1=black -@@ -1535,39 +1562,46 @@ - document is multiple pages, a series of PNM files are created, and - the first one is loaded (but not deleted) */ - -- -- char tmp[512], tmp1[512], tmpname[64]; -- int gsresult, nump, i, filetype; -- char *rld; -+#ifdef GS_PATH -+ #define CMDSIZE 1024 -+ char tmp[512], gscmd[512], cmdstr[CMDSIZE], tmpname[64]; -+ int gsresult, nump, i, filetype, doalert, epsf; -+#endif - - pinfo->pic = (byte *) NULL; - pinfo->comment = (char *) NULL; - -- - #ifdef GS_PATH - -+ doalert = (!quick && !ctrlUp && !infoUp); /* open alert if no info wins */ -+ epsf = 0; -+ - #ifndef VMS - sprintf(tmpname, "%s/xvpgXXXXXX", tmpdir); - #else - sprintf(tmpname, "Sys$Scratch:xvpgXXXXXX"); - #endif - -+#ifdef USE_MKSTEMP -+ close(mkstemp(tmpname)); -+#else - mktemp(tmpname); -- if (tmpname[0] == '\0') { /* mktemp() blew up */ -- sprintf(str,"LoadPS: Unable to create temporary filename???"); -- ErrPopUp(str, "\nHow unlikely!"); -+#endif -+ if (tmpname[0] == '\0') { /* mktemp() or mkstemp() blew up */ -+ sprintf(dummystr,"LoadPS: Unable to create temporary filename???"); -+ ErrPopUp(dummystr, "\nHow unlikely!"); - return 0; - } - strcat(tmpname,"."); - - -- /* build command string */ -+ /* build 'gscmd' string */ - - #ifndef VMS /* VMS needs quotes around mixed case command lines */ -- sprintf(tmp, "%s -sDEVICE=%s -r%d -q -dNOPAUSE -sOutputFile=%s%%d ", -+ sprintf(gscmd, "%s -sDEVICE=%s -r%d -q -dSAFER -dNOPAUSE -sOutputFile=%s%%d ", - GS_PATH, gsDev, gsRes, tmpname); - #else -- sprintf(tmp, -+ sprintf(gscmd, - "%s \"-sDEVICE=%s\" -r%d -q \"-dNOPAUSE\" \"-sOutputFile=%s%%d\" ", - GS_PATH, gsDev, gsRes, tmpname); - #endif -@@ -1575,74 +1609,60 @@ - - #ifdef GS_LIB - # ifndef VMS -- sprintf(tmp1, "-I%s ", GS_LIB); -+ sprintf(tmp, "-I%s ", GS_LIB); - # else -- sprintf(tmp1, "\"-I%s\"", GS_LIB); -+ sprintf(tmp, "\"-I%s\" ", GS_LIB); - # endif -- strcat(tmp, tmp1); -+ strcat(gscmd, tmp); - #endif - -- if (gsGeomStr) { -- sprintf(tmp1, "-g%s ", gsGeomStr); -- strcat(tmp, tmp1); -- } -- -- /* if 'quick' is set, stop processing after first page by tacking -- some PostScript commands that break the 'showpage' operator onto -- the front of the stream passed to the ghostscript interpreter */ - -+ /* prevent some potential naughtiness... */ - #ifndef VMS -- if (quick) { -- sprintf(tmp1, "echo '%s' | cat - %s | %s -", -- "/showpage { showpage quit } bind def", /* mk showpage exit */ -- fname, tmp); -- strcpy(tmp, tmp1); -- } -- else { -- strcat(tmp, " -- "); -- strcat(tmp, fname); -- } --#else /* VMS */ -- /* VMS doesn't have pipes or an 'echo' command and GS doesn't like -- Unix-style file names as input files in the VMS version */ -- strcat(tmp, " -- "); -- rld = strrchr(fname, '/'); /* Pointer to last '/' */ -- if (rld) rld++; /* Pointer to filename */ -- else rld = fname; /* No path - use original string */ -- strcat(tmp, rld); -+ strcat(gscmd, "-dSAFER "); -+#else -+ strcat(gscmd, "\"-dSAFER\" "); - #endif - - -+ if (gsGeomStr) { -+ sprintf(tmp, "-g%s ", gsGeomStr); -+ strcat(gscmd, tmp); -+ } - - -- WaitCursor(); -- -- if (DEBUG) fprintf(stderr,"LoadPS: executing command '%s'\n", tmp); -- SetISTR(ISTR_INFO, "Running '%s'...", GS_PATH); -+ do { -+ buildCmdStr(cmdstr, gscmd, fname, quick, epsf); - -- sprintf(tmp1, "Running %s", tmp); -- if (!quick && !ctrlUp && !infoUp) OpenAlert(tmp1); -+ if (DEBUG) fprintf(stderr,"LoadPS: executing command '%s'\n", cmdstr); -+ SetISTR(ISTR_INFO, "Running '%s'...", GS_PATH); -+ sprintf(tmp, "Running %s", cmdstr); -+ if (doalert && epsf==0) OpenAlert(tmp); /* open alert first time only */ - --#ifndef VMS -- gsresult = system(tmp); --#else -- gsresult = !system(tmp); -+ WaitCursor(); -+ gsresult = system(cmdstr); -+ WaitCursor(); -+#ifdef VMS -+ gsresult = !gsresult; /* VMS returns non-zero if OK */ - #endif - -- WaitCursor(); -+ /* count # of files produced... */ -+ for (i=1; i<1000; i++) { -+ struct stat st; -+ sprintf(tmp, "%s%d", tmpname, i); -+ if (stat(tmp, &st)!=0) break; -+ } -+ nump = i-1; -+ WaitCursor(); - -- if (!quick && !ctrlUp && !infoUp) CloseAlert(); -+ /* EPSF hack: if gsresult==0 (OK) and 0 pages produced, -+ try tacking a 'showpage' onto the end of the file, do it again... */ -+ -+ if (!gsresult && !nump && !epsf) epsf++; -+ } while (!gsresult && !nump && epsf<2); -+ -+ if (doalert) CloseAlert(); - -- /* figure out how many page files were created, by stating files. -- breaks out on first failure, assuming there won't be any more after -- that, and it would complicate matters too much anyhow... */ -- -- for (i=1; i<1000; i++) { -- struct stat st; -- sprintf(tmp, "%s%d", tmpname, i); -- if (stat(tmp, &st)!=0) break; -- } -- nump = i-1; - - WaitCursor(); - -@@ -1664,7 +1684,7 @@ - return 0; - } - -- SetISTR(ISTR_INFO, "Running '%s'... Done. (%d page%s)", -+ SetISTR(ISTR_INFO, "Running '%s'... Done. (%d page%s)", - GS_PATH, nump, (nump==1) ? "" : "s"); - } - -@@ -1677,8 +1697,8 @@ - - sprintf(tmp, "%s%d", tmpname, 1); - filetype = ReadFileType(tmp); -- -- if (filetype == RFT_ERROR || filetype == RFT_UNKNOWN || -+ -+ if (filetype == RFT_ERROR || filetype == RFT_UNKNOWN || - filetype == RFT_COMPRESS) { /* shouldn't happen */ - SetISTR(ISTR_WARNING, "Couldn't load first page '%s'", tmp); - KillPageFiles(tmpname, nump); -@@ -1695,7 +1715,7 @@ - KillPageFiles(tmpname, nump); - SetCursors(-1); - return 0; -- } -+ } - - - /* SUCCESS! */ -@@ -1712,3 +1732,54 @@ - we don't have 'gs' package */ - } - -+ -+ -+/******************************************************************/ -+#ifdef GS_PATH -+void buildCmdStr(str, gscmd, xname, quick, epsf) -+ char *str, *gscmd, *xname; -+ int quick, epsf; -+{ -+ /* note 'epsf' set only on files that don't have a showpage cmd */ -+ char *x, *y, *fname; -+ -+ x = (char *) malloc((5 * strlen(xname))+3); -+ if (!x) -+ FatalError("malloc failure in xvps.c buildCmdStr"); -+ fname = x; -+ *x++ = 0x27; -+ -+ for (y = xname; *y; ++y) { -+ if (0x27 == *y) { -+ strcpy(x, "'\"'\"'"); -+ x += strlen(x); -+ } else *x++ = *y; -+ } -+ strcpy (x, "'"); -+ -+#ifndef VMS -+ -+ if (epsf) snprintf(str, CMDSIZE, "echo '\n showpage ' | cat %s - | %s -", -+ fname, gscmd); -+ -+ else if (quick) snprintf(str, CMDSIZE, "echo %s | cat - %s | %s -", -+ "/showpage { showpage quit } bind def", -+ fname, gscmd); -+ -+ else snprintf(str, CMDSIZE, "%s -- %s", gscmd, fname); -+ -+#else /* VMS */ -+ /* VMS doesn't have pipes or an 'echo' command and GS doesn't like -+ Unix-style filenames as input files in the VMS version */ -+ strcat(tmp, " -- "); -+ rld = strrchr(fname, '/'); /* Pointer to last '/' */ -+ if (rld) rld++; /* Pointer to filename */ -+ else rld = fname; /* No path - use original string */ -+ strcat(tmp, rld); -+#endif /* VMS */ -+ free(fname); -+} -+#endif /* GS_PATH */ -+ -+ -+ -diff -ru xv-3.10a/xvrle.c xv-3.10a-enhancements/xvrle.c ---- xv-3.10a/xvrle.c 1995-01-19 09:27:47.000000000 -0800 -+++ xv-3.10a-enhancements/xvrle.c 2007-05-13 17:49:34.000000000 -0700 -@@ -28,7 +28,7 @@ - #define GETINT(fp) (c=getc(fp), c1=getc(fp), (c1<<8) + c ) - - static void read_rle PARM((FILE *, byte *, int, int, int, int)); --static int rleError PARM((char *, char *)); -+static int rleError PARM((const char *, const char *)); - - - -@@ -44,9 +44,10 @@ - byte maps[3][256]; - int xpos, ypos, w, h, flags, ncolors, pixelbits, ncmap, cmaplen; - int cmtlen; -- byte *img, *pic8; -+ byte *img; - long filesize; -- char *bname, *errstr; -+ const char *bname; -+ const char *errstr; - - pinfo->type = PIC8; - pinfo->pic = (byte *) NULL; -@@ -57,7 +58,7 @@ - /* open the stream */ - fp = xv_fopen(fname,"r"); - if (!fp) return (rleError(bname, "unable to open file")); -- -+ - - /* figure out the file size */ - fseek(fp, 0L, 2); -@@ -85,7 +86,7 @@ - if (DEBUG) { - fprintf(stderr,"RLE: %dx%d image at %d,%d\n", w, h, xpos, ypos); - fprintf(stderr,"flags: 0x%02x (%s%s%s%s)\n", -- flags, -+ flags, - (flags & H_CLEARFIRST) ? "CLEARFIRST " : "", - (flags & H_NO_BACKGROUND) ? "NO_BG " : "", - (flags & H_ALPHA) ? "ALPHA " : "", -@@ -93,7 +94,7 @@ - - fprintf(stderr, "%d bands, %d pixelbits, %d cmap bands, %d cmap entries\n", - ncolors, pixelbits, ncmap, cmaplen); -- } -+ } - - if (!(flags & H_NO_BACKGROUND)) { - if (DEBUG) fprintf(stderr, "background value: "); -@@ -212,7 +213,7 @@ - for (i=0, ip=img; ipic = img; -- pinfo->w = w; -+ pinfo->w = w; - pinfo->h = h; - pinfo->normw = pinfo->w; pinfo->normh = pinfo->h; - pinfo->frmType = -1; /* no default format to save in */ -@@ -260,7 +261,7 @@ - if (ncmap == 0 || ncmap == 1) { /* grey, or grey with gamma curve */ - pinfo->colType = F_GREYSCALE; - sprintf(pinfo->fullInfo, "Greyscale RLE. (%ld bytes)", filesize); -- for (i=0; i<256; i++) -+ for (i=0; i<256; i++) - pinfo->r[i] = pinfo->g[i] = pinfo->b[i] = i; - } - else { -@@ -272,7 +273,7 @@ - pinfo->b[i] = maps[2][i]; - } - } -- -+ - sprintf(pinfo->shrtInfo, "%dx%d RLE.",w, h); - } - -@@ -294,7 +295,7 @@ - int w, h, ncolors, ncmap; - { - int posx, posy, plane, bperpix, i, pixval, skipcalls; -- int opcode, operand, done, c, c1; -+ int opcode, operand, done, c, c1; - byte *ip; - - posx = posy = plane = done = skipcalls = 0; -@@ -324,7 +325,7 @@ - case RSkipPixelsOp: - if (opcode & LONG_OP) { getc(fp); operand = GETINT(fp); } - else operand = getc(fp); -- -+ - posx += operand; - break; - -@@ -340,7 +341,7 @@ - c = getc(fp); - if (planeeWIDE) { w1 = (eWIDE-x); } - - if (y<0) { offy = -y; h1 -= offy; y = 0; } - if (y+h1>eHIGH) { h1 = (eHIGH-y); } -- -- XPutImage(theDisp, tmpPix, theGC, theImage, offx, offy, -+ -+ XPutImage(theDisp, tmpPix, theGC, theImage, offx, offy, - x, y, (u_int) w1, (u_int) h1); - } - } -@@ -138,9 +139,15 @@ - - else if (rmode == RM_CSOLID) { } - -+ else if (rmode == RM_UPLEFT) { -+ -+ XPutImage(theDisp, tmpPix, theGC, theImage, 0,0, 0,0, -+ (u_int) eWIDE, (u_int) eHIGH); -+ } -+ - else if (rmode == RM_CWARP) { /* warp effect */ - XSetForeground(theDisp, theGC, rootfg); -- for (i=0; i<=dispWIDE; i+=8) -+ for (i=0; i<=dispWIDE; i+=8) - XDrawLine(theDisp,tmpPix,theGC, i,0, (int) dispWIDE-i,(int) dispHIGH); - for (i=0; i<=dispHIGH; i+=8) - XDrawLine(theDisp,tmpPix,theGC, 0,i, (int) dispWIDE, (int) dispHIGH-i); -@@ -150,16 +157,16 @@ - XSetForeground(theDisp, theGC, rootfg); - for (i=k=0; ilen = len; - sp->uplit = sp->dnlit = 0; - -- if (vert) XMoveResizeWindow(theDisp, sp->win, x,y, -+ if (vert) XMoveResizeWindow(theDisp, sp->win, x,y, - (u_int) sp->tsize,(u_int) len); - else XMoveResizeWindow(theDisp, sp->win, x,y, - (u_int) len, (u_int) sp->tsize); -@@ -144,7 +144,7 @@ - if (maxvmin = minv; sp->max = maxv; sp->page = page; - sp->active = (minv < maxv); -- -+ - /* adjust scroll bar background */ - if (sp->active) { - if (ctrlColor) XSetWindowBackground(theDisp, sp->win, sp->lo); -@@ -174,7 +174,7 @@ - - sp->val = curv; - -- if (sp->active) -+ if (sp->active) - sp->tpos = sp->tmin + ((sp->tmax - sp->tmin)*(curv - sp->min)) - / (sp->max - sp->min); - -@@ -194,20 +194,20 @@ - XSetBackground(theDisp, theGC, sp->bg); - - XClearWindow(theDisp, sp->win); -- -+ - drawArrow(sp,UPLINE); /* draw up/down arrows */ - drawArrow(sp,DNLINE); - - XSetForeground(theDisp, theGC, sp->fg); - -- if (sp->vert) { -+ if (sp->vert) { - XDrawLine(theDisp, sp->win, theGC, 0, sp->tsize, sp->tsize, sp->tsize); -- XDrawLine(theDisp, sp->win, theGC, 0, sp->len-sp->tsize-1, -+ XDrawLine(theDisp, sp->win, theGC, 0, sp->len-sp->tsize-1, - sp->tsize, sp->len-sp->tsize-1); - } - else { /* horizontal version */ - XDrawLine(theDisp, sp->win, theGC, sp->tsize, 0, sp->tsize, sp->tsize); -- XDrawLine(theDisp, sp->win, theGC, sp->len - sp->tsize-1, 0, -+ XDrawLine(theDisp, sp->win, theGC, sp->len - sp->tsize-1, 0, - sp->len - sp->tsize-1, sp->tsize); - } - -@@ -225,7 +225,7 @@ - - if (arr == UPLINE) { - XSetForeground(theDisp, theGC, sp->bg); -- XFillRectangle(theDisp, sp->win, theGC, 0, 0, -+ XFillRectangle(theDisp, sp->win, theGC, 0, 0, - (u_int) sp->tsize, (u_int) sp->tsize); - - if (sp->vert) butpix = (sp->uplit) ? up1Pix : upPix; -@@ -235,14 +235,14 @@ - XSetBackground(theDisp, theGC, sp->bg); - XCopyPlane(theDisp, butpix, sp->win, theGC, 0, 0, up_width,up_height, - 3,3, 1L); -- Draw3dRect(sp->win, 0,0, (u_int) sp->tsize-1, (u_int) sp->tsize-1, -+ Draw3dRect(sp->win, 0,0, (u_int) sp->tsize-1, (u_int) sp->tsize-1, - (sp->uplit) ? R3D_IN : R3D_OUT, 2, sp->hi, sp->lo, sp->bg); - } - - else if (arr == DNLINE) { - if (sp->vert) { - XSetForeground(theDisp, theGC, sp->bg); -- XFillRectangle(theDisp, sp->win, theGC, 0, sp->len - sp->tsize, -+ XFillRectangle(theDisp, sp->win, theGC, 0, sp->len - sp->tsize, - (u_int) sp->tsize, (u_int) sp->tsize); - butpix = (sp->dnlit) ? down1Pix : downPix; - -@@ -251,8 +251,8 @@ - XCopyPlane(theDisp, butpix, sp->win, theGC, 0, 0, up_width,up_height, - 3, sp->len - 3 - up_height, 1L); - -- Draw3dRect(sp->win, 0, sp->len - sp->tsize, -- (u_int) sp->tsize-1, (u_int) sp->tsize-1, -+ Draw3dRect(sp->win, 0, sp->len - sp->tsize, -+ (u_int) sp->tsize-1, (u_int) sp->tsize-1, - (sp->dnlit) ? R3D_IN : R3D_OUT, 2, sp->hi, sp->lo, sp->bg); - } - -@@ -267,8 +267,8 @@ - XCopyPlane(theDisp, butpix, sp->win, theGC, 0, 0, up_width,up_height, - sp->len - 3 - up_width, 3, 1L); - -- Draw3dRect(sp->win, sp->len - sp->tsize, 0, -- (u_int) sp->tsize-1, (u_int) sp->tsize-1, -+ Draw3dRect(sp->win, sp->len - sp->tsize, 0, -+ (u_int) sp->tsize-1, (u_int) sp->tsize-1, - (sp->dnlit) ? R3D_IN : R3D_OUT, 2, sp->hi, sp->lo, sp->bg); - } - } -@@ -283,17 +283,17 @@ - { - if (sp->vert) { - /* clear out thumb area with background color */ -- XClearArea(theDisp, sp->win, 0, sp->tsize+1, (u_int) sp->tsize, -+ XClearArea(theDisp, sp->win, 0, sp->tsize+1, (u_int) sp->tsize, - (u_int) ((sp->len-sp->tsize-1)-(sp->tsize+1)), False); - - if (sp->active) { /* a thumb is necessary */ - - XSetForeground(theDisp, theGC, sp->bg); -- XFillRectangle(theDisp, sp->win, theGC, 1, sp->tpos+1, -+ XFillRectangle(theDisp, sp->win, theGC, 1, sp->tpos+1, - (u_int) (sp->tsize-2), (u_int) (sp->tsize-2)); - - XSetForeground(theDisp, theGC, sp->fg); -- XDrawRectangle(theDisp, sp->win, theGC, 0, sp->tpos, -+ XDrawRectangle(theDisp, sp->win, theGC, 0, sp->tpos, - (u_int) (sp->tsize-1), (u_int) (sp->tsize-1)); - - XDrawLine(theDisp, sp->win, theGC, 9-3, sp->tpos+6, 9+3, sp->tpos+6); -@@ -301,7 +301,7 @@ - XDrawLine(theDisp, sp->win, theGC, 9-3, sp->tpos+10,9+3, sp->tpos+10); - XDrawLine(theDisp, sp->win, theGC, 9-3, sp->tpos+12,9+3, sp->tpos+12); - -- Draw3dRect(sp->win, 1, sp->tpos+1, -+ Draw3dRect(sp->win, 1, sp->tpos+1, - (u_int) sp->tsize-3, (u_int) sp->tsize-3, R3D_OUT,2, - sp->hi, sp->lo, sp->bg); - } -@@ -309,17 +309,17 @@ - - else { /* horizontal */ - /* clear out thumb area with background color */ -- XClearArea(theDisp, sp->win, sp->tsize+1, 0, -- (u_int) ((sp->len-sp->tsize-1)-(sp->tsize+1)), -+ XClearArea(theDisp, sp->win, sp->tsize+1, 0, -+ (u_int) ((sp->len-sp->tsize-1)-(sp->tsize+1)), - (u_int) sp->tsize, False); - - if (sp->active) { /* a thumb is necessary */ - XSetForeground(theDisp, theGC, sp->bg); -- XFillRectangle(theDisp, sp->win, theGC, sp->tpos+1, 1, -+ XFillRectangle(theDisp, sp->win, theGC, sp->tpos+1, 1, - (u_int) (sp->tsize-2), (u_int) (sp->tsize-2)); - - XSetForeground(theDisp, theGC, sp->fg); -- XDrawRectangle(theDisp, sp->win, theGC, sp->tpos, 0, -+ XDrawRectangle(theDisp, sp->win, theGC, sp->tpos, 0, - (u_int) (sp->tsize-1), (u_int) (sp->tsize-1)); - - XDrawLine(theDisp, sp->win, theGC, sp->tpos+6, 9-3, sp->tpos+6, 9+3); -@@ -327,7 +327,7 @@ - XDrawLine(theDisp, sp->win, theGC, sp->tpos+10,9-3, sp->tpos+10,9+3); - XDrawLine(theDisp, sp->win, theGC, sp->tpos+12,9-3, sp->tpos+12,9+3); - -- Draw3dRect(sp->win, sp->tpos+1, 1, -+ Draw3dRect(sp->win, sp->tpos+1, 1, - (u_int) sp->tsize-3, (u_int) sp->tsize-3, R3D_OUT,2, - sp->hi, sp->lo, sp->bg); - } -@@ -450,8 +450,8 @@ - case DNLINE: /* arrows */ - pos = whereInScrl(sp,x,y); - if (pos == ipos) { -- if (!lit) { -- lit = 1; -+ if (!lit) { -+ lit = 1; - if (ipos == UPLINE) { sp->uplit = 1; drawArrow(sp,UPLINE); } - else { sp->dnlit = 1; drawArrow(sp,DNLINE); } - } -@@ -467,16 +467,16 @@ - } - } - } -- -+ - else { -- if (lit) { -- lit = 0; -+ if (lit) { -+ lit = 0; - if (ipos == UPLINE) { sp->uplit = 0; drawArrow(sp,UPLINE); } - else { sp->dnlit = 0; drawArrow(sp,DNLINE); } - } - } - break; -- -+ - } - } - -diff -ru xv-3.10a/xvsmooth.c xv-3.10a-enhancements/xvsmooth.c ---- xv-3.10a/xvsmooth.c 1994-12-22 14:34:42.000000000 -0800 -+++ xv-3.10a-enhancements/xvsmooth.c 2004-05-16 18:07:59.000000000 -0700 -@@ -4,11 +4,11 @@ - * Contains: - * byte *SmoothResize(src8, swide, shigh, dwide, dhigh, - * rmap, gmap, bmap, rdmap, gdmap, bdmap, maplen) -- * byte *Smooth24(pic824, is24, swide, shigh, dwide, dhigh, -+ * byte *Smooth24(pic824, is24, swide, shigh, dwide, dhigh, - * rmap, gmap, bmap) -- * byte *DoColorDither(pic24, pic8, w, h, rmap,gmap,bmap, -+ * byte *DoColorDither(pic24, pic8, w, h, rmap,gmap,bmap, - * rdisp, gdisp, bdisp, maplen) -- * byte *Do332ColorDither(pic24, pic8, w, h, rmap,gmap,bmap, -+ * byte *Do332ColorDither(pic24, pic8, w, h, rmap,gmap,bmap, - * rdisp, gdisp, bdisp, maplen) - */ - -@@ -18,21 +18,21 @@ - - static int smoothX PARM((byte *, byte *, int, int, int, int, int, - byte *, byte *, byte *)); --static int smoothY PARM((byte *, byte *, int, int, int, int, int, -+static int smoothY PARM((byte *, byte *, int, int, int, int, int, - byte *, byte *, byte *)); - static int smoothXY PARM((byte *, byte *, int, int, int, int, int, - byte *, byte *, byte *)); - - - /***************************************************/ --byte *SmoothResize(srcpic8, swide, shigh, dwide, dhigh, -+byte *SmoothResize(srcpic8, swide, shigh, dwide, dhigh, - rmap, gmap, bmap, rdmap, gdmap, bdmap, maplen) - byte *srcpic8, *rmap, *gmap, *bmap, *rdmap, *gdmap, *bdmap; - int swide, shigh, dwide, dhigh, maplen; - { -- /* generic interface to Smooth and ColorDither code. -- given an 8-bit-per, swide * shigh image with colormap rmap,gmap,bmap, -- will generate a new 8-bit-per, dwide * dhigh image, which is dithered -+ /* generic interface to Smooth and ColorDither code. -+ given an 8-bit-per, swide * shigh image with colormap rmap,gmap,bmap, -+ will generate a new 8-bit-per, dwide * dhigh image, which is dithered - using colors found in rdmap, gdmap, bdmap arrays */ - - /* returns ptr to a dwide*dhigh array of bytes, or NULL on failure */ -@@ -50,7 +50,7 @@ - - return (byte *) NULL; - } -- -+ - - - /***************************************************/ -@@ -83,29 +83,29 @@ - bperpix = (is24) ? 3 : 1; - - /* decide which smoothing routine to use based on type of expansion */ -- if (dwide < swide && dhigh < shigh) -+ if (dwide < swide && dhigh < shigh) - retval = smoothXY(pic24, pic824, is24, swide, shigh, dwide, dhigh, - rmap, gmap, bmap); - -- else if (dwide < swide && dhigh >= shigh) -+ else if (dwide < swide && dhigh >= shigh) - retval = smoothX (pic24, pic824, is24, swide, shigh, dwide, dhigh, - rmap, gmap, bmap); - -- else if (dwide >= swide && dhigh < shigh) -+ else if (dwide >= swide && dhigh < shigh) - retval = smoothY (pic24, pic824, is24, swide, shigh, dwide, dhigh, - rmap, gmap, bmap); - - else { - /* dwide >= swide && dhigh >= shigh */ - -- /* cx,cy = original pixel in pic824. px,py = relative position -- of pixel ex,ey inside of cx,cy as percentages +-50%, +-50%. -+ /* cx,cy = original pixel in pic824. px,py = relative position -+ of pixel ex,ey inside of cx,cy as percentages +-50%, +-50%. - 0,0 = middle of pixel */ - - /* we can save a lot of time by precomputing cxtab[] and pxtab[], both - dwide arrays of ints that contain values for the equations: - cx = (ex * swide) / dwide; -- px = ((ex * swide * 100) / dwide) - (cx * 100) - 50; */ -+ px = ((ex * swide * 128) / dwide) - (cx * 128) - 64; */ - - cxtab = (int *) malloc(dwide * sizeof(int)); - if (!cxtab) { free(pic24); return NULL; } -@@ -115,17 +115,17 @@ - - for (ex=0; exshigh-1) y1=shigh-1; } - -@@ -162,7 +162,7 @@ - cC = pic824[cyOff + x1]; /* left/right center pixel */ - cD = pic824[cyOff + cx]; /* center pixel */ - } -- -+ - /* quick check */ - if (!is24 && cA == cB && cB == cC && cC == cD) { - /* set this pixel to the same color as in pic8 */ -@@ -172,36 +172,36 @@ - else { - /* compute weighting factors */ - apx = abs(px); apy = abs(py); -- pA = (apx * apy) / 100; -- pB = (apy * (100 - apx)) / 100; -- pC = (apx * (100 - apy)) / 100; -- pD = 100 - (pA + pB + pC); -+ pA = (apx * apy) >> 7; /* div 128 */ -+ pB = (apy * (128 - apx)) >> 7; /* div 128 */ -+ pC = (apx * (128 - apy)) >> 7; /* div 128 */ -+ pD = 128 - (pA + pB + pC); - - if (is24) { -- *pp++ = ((int) (pA * rA))/100 + ((int) (pB * rB))/100 + -- ((int) (pC * rC))/100 + ((int) (pD * rD))/100; -+ *pp++ = (((int) (pA * rA))>>7) + (((int) (pB * rB))>>7) + -+ (((int) (pC * rC))>>7) + (((int) (pD * rD))>>7); - -- *pp++ = ((int) (pA * gA))/100 + ((int) (pB * gB))/100 + -- ((int) (pC * gC))/100 + ((int) (pD * gD))/100; -+ *pp++ = (((int) (pA * gA))>>7) + (((int) (pB * gB))>>7) + -+ (((int) (pC * gC))>>7) + (((int) (pD * gD))>>7); - -- *pp++ = ((int) (pA * bA))/100 + ((int) (pB * bB))/100 + -- ((int) (pC * bC))/100 + ((int) (pD * bD))/100; -+ *pp++ = (((int) (pA * bA))>>7) + (((int) (pB * bB))>>7) + -+ (((int) (pC * bC))>>7) + (((int) (pD * bD))>>7); - } - else { /* 8-bit pic */ -- *pp++ = ((int) (pA * rmap[cA]))/100 + ((int)(pB * rmap[cB]))/100 + -- ((int) (pC * rmap[cC]))/100 + ((int)(pD * rmap[cD]))/100; -+ *pp++ = (((int)(pA * rmap[cA]))>>7) + (((int)(pB * rmap[cB]))>>7) + -+ (((int)(pC * rmap[cC]))>>7) + (((int)(pD * rmap[cD]))>>7); - -- *pp++ = ((int) (pA * gmap[cA]))/100 + ((int)(pB * gmap[cB]))/100 + -- ((int) (pC * gmap[cC]))/100 + ((int)(pD * gmap[cD]))/100; -+ *pp++ = (((int)(pA * gmap[cA]))>>7) + (((int)(pB * gmap[cB]))>>7) + -+ (((int)(pC * gmap[cC]))>>7) + (((int)(pD * gmap[cD]))>>7); - -- *pp++ = ((int)(pA * bmap[cA]))/100 + ((int)(pB * bmap[cB]))/100 + -- ((int)(pC * bmap[cC]))/100 + ((int)(pD * bmap[cD]))/100; -+ *pp++ = (((int)(pA * bmap[cA]))>>7) + (((int)(pB * bmap[cB]))>>7) + -+ (((int)(pC * bmap[cC]))>>7) + (((int)(pD * bmap[cD]))>>7); - } - } - } - } - -- free(cxtab); -+ free(cxtab); - free(pxtab); - retval = 0; /* okay */ - } -@@ -218,7 +218,7 @@ - - - /***************************************************/ --static int smoothX(pic24, pic824, is24, swide, shigh, dwide, dhigh, -+static int smoothX(pic24, pic824, is24, swide, shigh, dwide, dhigh, - rmap, gmap, bmap) - byte *pic24, *pic824, *rmap, *gmap, *bmap; - int is24, swide, shigh, dwide, dhigh; -@@ -253,7 +253,7 @@ - - bperpix = (is24) ? 3 : 1; - -- for (j=0; j<=swide; j++) -+ for (j=0; j<=swide; j++) - pixarr[j] = (j*dwide + (15*swide)/16) / swide; - - cptr = pic824; cptr1 = cptr + swide * bperpix; -@@ -280,7 +280,7 @@ - lbufG[j] = ((int) ((*cptr++ * pcnt0) + (*cptr1++ * pcnt1))) >> 6; - lbufB[j] = ((int) ((*cptr++ * pcnt0) + (*cptr1++ * pcnt1))) >> 6; - } -- } -+ } - else { /* 8-bit input pic */ - for (j=0; j> 6; -@@ -314,8 +314,8 @@ - return 0; - } - -- -- -+ -+ - - - -@@ -405,7 +405,7 @@ - lbufB[j] += ((int)((bmap[*cptr]*pct0[j])+(bmap[*cptr1]*pct1[j]))) >> 6; - } - } -- -+ - linecnt++; - } - -@@ -421,13 +421,13 @@ - return retval; - } - -- -- -+ -+ - - - - /***************************************************/ --static int smoothXY(pic24, pic824, is24, swide, shigh, dwide, dhigh, -+static int smoothXY(pic24, pic824, is24, swide, shigh, dwide, dhigh, - rmap, gmap, bmap) - byte *pic24, *pic824, *rmap, *gmap, *bmap; - int is24, swide, shigh, dwide, dhigh; -@@ -462,7 +462,7 @@ - - bperpix = (is24) ? 3 : 1; - -- for (j=0; j<=swide; j++) -+ for (j=0; j<=swide; j++) - pixarr[j] = (j*dwide + (15*swide)/16) / swide; - - lastline = linecnt = pixR = pixG = pixB = 0; -@@ -526,20 +526,20 @@ - return 0; - } - -- -- -+ -+ - - /********************************************/ --byte *DoColorDither(pic24, pic8, w, h, rmap, gmap, bmap, -+byte *DoColorDither(pic24, pic8, w, h, rmap, gmap, bmap, - rdisp, gdisp, bdisp, maplen) - byte *pic24, *pic8, *rmap, *gmap, *bmap, *rdisp, *gdisp, *bdisp; - int w, h, maplen; - { - /* takes a 24 bit picture, of size w*h, dithers with the colors in - rdisp, gdisp, bdisp (which have already been allocated), -- and generates an 8-bit w*h image, which it returns. -+ and generates an 8-bit w*h image, which it returns. - ignores input value 'pic8' -- returns NULL on error -+ returns NULL on error - - note: the rdisp,gdisp,bdisp arrays should be the 'displayed' colors, - not the 'desired' colors -@@ -547,7 +547,7 @@ - if pic24 is NULL, uses the passed-in pic8 (an 8-bit image) as - the source, and the rmap,gmap,bmap arrays as the desired colors */ - -- byte *np, *ep, *newpic; -+ byte *np, *ep, *newpic; - short *cache; - int r2, g2, b2; - int *thisline, *nextline, *thisptr, *nextptr, *tmpptr; -@@ -558,11 +558,11 @@ - int fserrmap[512]; /* -255 .. 0 .. +255 */ - - /* compute somewhat non-linear floyd-steinberg error mapping table */ -- for (i=j=0; i<=0x40; i++,j++) -+ for (i=j=0; i<=0x40; i++,j++) - { fserrmap[256+i] = j; fserrmap[256-i] = -j; } -- for ( ; i<0x80; i++, j += !(i&1) ? 1 : 0) -+ for ( ; i<0x80; i++, j += !(i&1) ? 1 : 0) - { fserrmap[256+i] = j; fserrmap[256-i] = -j; } -- for ( ; i<=0xff; i++) -+ for ( ; i<=0xff; i++) - { fserrmap[256+i] = j; fserrmap[256-i] = -j; } - - -@@ -575,7 +575,7 @@ - cache = (short *) calloc((size_t) (2<<14), sizeof(short)); - thisline = (int *) malloc(pwide3 * sizeof(int)); - nextline = (int *) malloc(pwide3 * sizeof(int)); -- if (!cache || !newpic || !thisline || !nextline) { -+ if (!cache || !newpic || !thisline || !nextline) { - if (newpic) free(newpic); - if (cache) free(cache); - if (thisline) free(thisline); -@@ -624,30 +624,30 @@ - - r2 = *thisptr++; g2 = *thisptr++; b2 = *thisptr++; - -- /* map r2,g2,b2 components (could be outside 0..255 range) -+ /* map r2,g2,b2 components (could be outside 0..255 range) - into 0..255 range */ -- -+ - if (r2<0 || g2<0 || b2<0) { /* are there any negatives in RGB? */ - if (r2d) ? g2 - d : 0; - b2 = (b2>d) ? b2 - d : 0; - break; - - case 1: r2 -= g2; b2 -= g2; d = (abs(g2) * 3) / 2; /* GREEN */ - r2 = (r2>d) ? r2 - d : 0; -- g2 = 0; -+ g2 = 0; - b2 = (b2>d) ? b2 - d : 0; - break; - - case 2: r2 -= b2; g2 -= b2; d = (abs(b2) * 3) / 2; /* BLUE */ - r2 = (r2>d) ? r2 - d : 0; - g2 = (g2>d) ? g2 - d : 0; -- b2 = 0; -+ b2 = 0; - break; - } - } -@@ -674,7 +674,7 @@ - mind = 10000; - for (k=closest=0; k7; k++) { - d = abs(r2 - rdisp[k]) -- + abs(g2 - gdisp[k]) -+ + abs(g2 - gdisp[k]) - + abs(b2 - bdisp[k]); - if (d>3) | (bb>>6); - -diff -ru xv-3.10a/xvsunras.c xv-3.10a-enhancements/xvsunras.c ---- xv-3.10a/xvsunras.c 1994-12-22 14:34:42.000000000 -0800 -+++ xv-3.10a-enhancements/xvsunras.c 2007-05-13 17:46:42.000000000 -0700 -@@ -39,7 +39,7 @@ - #define RAS_RLE 0x80 - - --static int sunRasError PARM((char *, char *)); -+static int sunRasError PARM((const char *, const char *)); - static int rle_read PARM((byte *, int, int, FILE *, int)); - static void sunRas1to8 PARM((byte *, byte *, int)); - static void sunRas8to1 PARM((byte *, byte *, int, int)); -@@ -54,10 +54,10 @@ - PICINFO *pinfo; - { - FILE *fp; -- int linesize,lsize,csize,isize,i,w,h,d; -- byte *image, *line, *pic8; -+ int linesize,lsize,csize,isize,i,w,h,d,npixels,nbytes; -+ byte *image, *line; - struct rasterfile sunheader; -- char *bname; -+ const char *bname; - - bname = BaseName(fname); - -@@ -85,7 +85,7 @@ - sunheader.ras_depth != 8 && - sunheader.ras_depth != 24 && - sunheader.ras_depth != 32) { -- fprintf (stderr, "Sun rasterfile image has depth %d\n", -+ fprintf (stderr, "Sun rasterfile image has depth %d\n", - sunheader.ras_depth); - fprintf (stderr, "Depths supported are 1, 8, 24, and 32\n"); - fclose(fp); -@@ -115,26 +115,59 @@ - - w = sunheader.ras_width; - h = sunheader.ras_height; -- d = sunheader.ras_depth; -- isize = sunheader.ras_length ? -- sunheader.ras_length : -- (w * h * d) / 8; -+ d = sunheader.ras_depth; /* 1, 8, 24, or 32 (above) */ -+ npixels = w * h; -+ if (w <= 0 || h <= 0 || npixels/w != h) { -+ fprintf (stderr, "Sun rasterfile image has invalid dimensions (%dx%d)\n", -+ w, h); -+ fclose(fp); -+ return 0; -+ } -+ if (d == 1) -+ nbytes = npixels/8; /* should round up here, but used only for printf */ -+ else { -+ nbytes = npixels * (d/8); -+/* -+ [nbytes (isize) used only in printfs; don't really care about overflows] -+ if (nbytes/npixels != (d/8)) { -+ fprintf (stderr, "Sun rasterfile has invalid dimensions (%dx%dx%d)\n", -+ w, h, d); -+ fclose(fp); -+ return 0; -+ } -+ */ -+ } -+ isize = sunheader.ras_length ? sunheader.ras_length : nbytes; - csize = (sunheader.ras_maptype == RMT_NONE) ? 0 : sunheader.ras_maplength; - - -- /* compute length of the output (xv-format) image */ -- lsize = w * h; -- if (d == 24 || d == 32) lsize = lsize * 3; -+ /* length of the output (xv-format) image */ -+ lsize = npixels; -+ if (d == 24 || d == 32) { -+ lsize *= 3; -+ if (lsize/3 != npixels) { -+ fprintf (stderr, "Sun rasterfile has invalid dimensions (%dx%dx%d)\n", -+ w, h, d); -+ fclose(fp); -+ return 0; -+ } -+ } - - - linesize = w * d; -+ if (linesize/w != d || linesize + 15 < linesize) { -+ fprintf (stderr, "Sun rasterfile has invalid dimensions (%dx%dx%d)\n", -+ w, h, d); -+ fclose(fp); -+ return 0; -+ } - if (linesize % 16) linesize += (16 - (linesize % 16)); - linesize /= 8; - - if (DEBUG) { - fprintf(stderr,"%s: LoadSunRas() - loading a %dx%d pic, %d planes\n", - cmd, w, h, d); -- fprintf (stderr, -+ fprintf (stderr, - "type %d, maptype %d, isize %d, csize %d, lsize %d, linesize %d\n", - sunheader.ras_type, sunheader.ras_maptype, - isize, csize, lsize, linesize); -@@ -188,13 +221,13 @@ - } - - switch (d) { -- case 1: sunRas1to8 (image + w * i, line, w); -+ case 1: sunRas1to8 (image + w * i, line, w); - break; - case 8: xvbcopy((char *) line, (char *) image + w * i, (size_t) w); - break; - case 24: xvbcopy((char *) line, (char *) image + w * i * 3, (size_t) w*3); - break; -- -+ - case 32: - { - int k; -@@ -202,7 +235,7 @@ - ip = line; - op = (byte *) (image + w * i * 3); - for (k = 0; ktype = PIC8; - - pinfo->pic = image; -- pinfo->w = w; -+ pinfo->w = w; - pinfo->h = h; - pinfo->normw = pinfo->w; pinfo->normh = pinfo->h; - pinfo->frmType = F_SUNRAS; -@@ -285,7 +318,7 @@ - - /*****************************/ - static int sunRasError(fname, st) -- char *fname, *st; -+ const char *fname, *st; - { - SetISTR(ISTR_WARNING,"%s: %s", fname, st); - return 0; -@@ -364,10 +397,15 @@ - - /* special case: if PIC24 and writing GREYSCALE, write 8-bit file */ - if (ptype == PIC24 && colorstyle == F_GREYSCALE) { -- graypic = (byte *) malloc((size_t) w*h); -+ int npixels = w * h; -+ if (w <= 0 || h <= 0 || npixels/w != h) { -+ SetISTR(ISTR_WARNING, "Image is too large (%dx%d)", w, h); -+ return (2); -+ } -+ graypic = (byte *) malloc((size_t) npixels); - if (!graypic) FatalError("unable to malloc in WriteSunRas()"); -- -- for (i=0,sp=pic,dp=graypic; i>8)&0xff,fp); - putc(h&0xff, fp); -diff -ru xv-3.10a/xvtext.c xv-3.10a-enhancements/xvtext.c ---- xv-3.10a/xvtext.c 1995-01-13 15:46:28.000000000 -0800 -+++ xv-3.10a-enhancements/xvtext.c 2007-05-13 14:25:59.000000000 -0700 -@@ -1,6 +1,6 @@ - /* - * xvtext.c - text file display window routines -- * -+ * - * includes: - * void CreateTextWins(geom, cmtgeom); - * void OpenTextView(text, textlen, title, freeonclose); -@@ -19,9 +19,13 @@ - #include "copyright.h" - - #include "xv.h" -+#ifdef TV_MULTILINGUAL -+#include "xvml.h" -+#endif - -- --#define BUTTW 80 -+#define BUTTW1 80 -+#define BUTTW2 60 -+#define BUTTW3 110 - #define BUTTH 24 - - #define TOPMARGIN 30 /* from top of window to top of text window */ -@@ -36,19 +40,36 @@ - #define TV_ASCII 0 - #define TV_HEX 1 - #define TV_CLOSE 2 --#define TV_NBUTTS 3 - -+#define TV_E_NBUTTS 3 -+ -+#ifdef TV_L10N -+# define TV_RESCAN 3 -+# define TV_USASCII 4 -+# define TV_JIS 5 -+# define TV_EUCJ 6 -+# define TV_MSCODE 7 -+ -+# define TV_J_NBUTTS 8 -+#endif - - #define TITLELEN 128 - -+#ifdef TV_MULTILINGUAL -+struct coding_spec { -+ struct coding_system coding_system; -+ char *(*converter)PARM((char *, int, int *)); -+}; -+#endif -+ - /* data needed per text window */ - typedef struct { Window win, textW; - int vis, wasvis; -- char *text; /* text to be displayed */ -+ const char *text; /* text to be displayed */ - int freeonclose; /* free text when closing win */ - int textlen; /* length of text */ - char title[TITLELEN]; /* name of file being displayed */ -- char **lines; /* ptr to array of line ptrs */ -+ const char **lines; /* ptr to array of line ptrs */ - int numlines; /* # of lines in text */ - int hexlines; /* # of lines in HEX mode */ - int maxwide; /* length of longest line (ascii) */ -@@ -57,16 +78,89 @@ - int chwide, chhigh; /* size of textW, in chars */ - int hexmode; /* true if disp Hex, else Ascii */ - SCRL vscrl, hscrl; -- BUTT but[TV_NBUTTS], nopBut; -+#ifdef TV_L10N -+ int code; /* current character code */ -+ BUTT but[TV_J_NBUTTS], nopBut; -+#else -+ BUTT but[TV_E_NBUTTS], nopBut; -+#endif -+#ifdef TV_MULTILINGUAL -+/* int codeset; */ -+ struct coding_spec ccs; /* current coding_spec */ -+ BUTT csbut; -+ char *cv_text; -+ int cv_len; -+ struct context *ctx; -+ struct ml_text *txt; -+ struct csinfo_t *cs; -+#endif - } TVINFO; - - - static TVINFO tinfo[MAXTVWIN]; - static int hasBeenSized = 0; - static int haveWindows = 0; -+static int nbutts; /* # of buttons */ - static int mfwide, mfhigh, mfascent; /* size of chars in mono font */ - static int *event_retP, *event_doneP; /* used in tvChkEvent() */ -- -+#ifdef TV_MULTILINGUAL -+# define TV_PLAIN 0 -+# define TV_ISO_8859_1 1 -+# define TV_ISO_2022_JP 2 -+# define TV_EUC_JAPAN 3 -+# define TV_ISO_2022_INT_1 4 -+# define TV_ISO_2022_KR 5 -+# define TV_EUC_KOREA 6 -+# define TV_ISO_2022_SS2_8 7 -+# define TV_ISO_2022_SS2_7 8 -+# define TV_SHIFT_JIS 9 -+# define TV_NCSS 10 -+static char *codeSetNames[TV_NCSS] = { -+ "plain", -+ "iso-8859-1", -+ "iso-2022-jp", -+ "euc-japan", -+ "iso-2022-int-1", -+ "iso-2022-kr", -+ "euc-korea", -+ "iso-2022-ss2-8", -+ "iso-2022-ss2-7", -+ "Shift JIS", -+}; -+static struct coding_spec coding_spec[TV_NCSS] = { -+ /* --- G0 --- --- G1 --- --- G2 --- --- G3 --- GL GR EOL SF LS */ -+ /* plain */ -+ {{{{ 1,94,'B'}, { 1,94,'B'}, { 1,94,'B'}, { 1,94,'B'}}, 0, 0, 0, 1, 1}, -+ NULL}, -+ /* iso-8859-1 */ -+ {{{{ 1,94,'B'}, { 1,96,'A'}, {-1,94,'B'}, {-1,94,'B'}}, 0, 1, 0, 0, 0}, -+ NULL}, -+ /* iso-2022-jp */ -+ {{{{ 1,94,'B'}, {-1,94,'B'}, {-1,94,'B'}, {-1,94,'B'}}, 0, 0, 0, 1, 0}, -+ NULL}, -+ /* euc-japan */ -+ {{{{ 1,94,'B'}, { 2,94,'B'}, { 1,94,'J'}, { 2,94,'D'}}, 0, 1, 0, 1, 0}, -+ NULL}, -+ /* iso-2022-int-1 */ -+ {{{{ 1,94,'B'}, { 2,94,'C'}, {-1,94,'B'}, {-1,94,'B'}}, 0, 1, 0, 1, 1}, -+ NULL}, -+ /* iso-2022-kr */ -+ {{{{ 1,94,'B'}, { 2,94,'C'}, {-1,94,'B'}, {-1,94,'B'}}, 0, 1, 0, 0, 1}, -+ NULL}, -+ /* euc-korea */ -+ {{{{ 1,94,'B'}, { 2,94,'C'}, {-1,94,'B'}, {-1,94,'B'}}, 0, 1, 0, 0, 0}, -+ NULL}, -+ /* iso-2022-ss2-8 */ -+ {{{{ 1,94,'B'}, {-1,94,'C'}, { 0,94,'B'}, {-1,94,'B'}}, 0, 1, 0, 0, 0}, -+ NULL}, -+ /* iso-2022-ss2-7 */ -+ {{{{ 1,94,'B'}, {-1,94,'C'}, { 0,94,'B'}, {-1,94,'B'}}, 0, 1, 0, 1, 0}, -+ NULL}, -+ /* shift jis */ -+ {{{{ 1,94,'B'}, { 2,94,'B'}, { 1,94,'J'}, { 2,94,'D'}}, 0, 1, 1, 1, 0}, -+ sjis_to_jis}, -+}; -+#endif - - static void closeText PARM((TVINFO *)); - static int tvChkEvent PARM((TVINFO *, XEvent *)); -@@ -82,7 +176,15 @@ - static void textKey PARM((TVINFO *, int)); - static void doHexAsciiCmd PARM((TVINFO *, int)); - static void computeText PARM((TVINFO *)); -- -+#ifdef TV_L10N -+static int selectCodeset PARM((TVINFO *)); -+#endif -+#ifdef TV_MULTILINGUAL -+static void setCodingSpec PARM((TVINFO *, struct coding_spec *)); -+static void createCsWins PARM((char *)); -+static void openCsWin PARM((TVINFO *)); -+static void closeCsWin PARM((TVINFO *)); -+#endif - - /* HEXMODE output looks like this: - 0x00000000: 00 11 22 33 44 55 66 77 - 88 99 aa bb cc dd ee ff 0123456789abcdef -@@ -92,19 +194,57 @@ - - /***************************************************************/ - void CreateTextWins(geom, cmtgeom) -- char *geom, *cmtgeom; -+ const char *geom, *cmtgeom; - { - int i, defwide, defhigh, cmthigh; - XSizeHints hints; - XSetWindowAttributes xswa; - TVINFO *tv; -- int gx,gy,gw,gh,gset,gx1,gy1; -- -+#ifdef TV_MULTILINGUAL -+ int default_codeset; -+#endif -+ -+#ifdef TV_L10N -+ if (!xlocale) { -+#endif -+ mfwide = monofinfo->max_bounds.width; -+ mfhigh = monofinfo->ascent + monofinfo->descent; -+ mfascent = monofinfo->ascent; -+ -+ nbutts = TV_E_NBUTTS; /* # of buttons */ -+#ifdef TV_L10N -+ } -+ else { -+ mfwide = monofsetinfo->max_logical_extent.width / 2; /* shit! */ -+ mfhigh = monofsetinfo->max_logical_extent.height + 1; -+ mfascent = mfhigh; - -- mfwide = monofinfo->max_bounds.width; -- mfhigh = monofinfo->ascent + monofinfo->descent; -- mfascent = monofinfo->ascent; -+ nbutts = TV_J_NBUTTS; /* # of buttons */ -+ } -+#endif - -+#ifdef TV_MULTILINGUAL -+ { -+ char *dc = XGetDefault(theDisp, "xv", "codeSet"); -+ if (dc == NULL) -+ default_codeset = TV_DEFAULT_CODESET; -+ else { -+ for (i = 0; i < TV_NCSS; i++) { -+ if (strcmp(dc, codeSetNames[i]) == 0) -+ break; -+ } -+ if (i >= TV_NCSS) { -+ if (strcmp(dc, "iso-2022") == 0) -+ default_codeset = TV_PLAIN; -+ else { -+ SetISTR(ISTR_WARNING, "%s: unknown codeset.", dc); -+ default_codeset = TV_PLAIN; -+ } -+ } else -+ default_codeset = i; -+ } -+ } -+#endif - /* compute default size of textview windows. should be big enough to - hold an 80x24 text window */ - -@@ -119,11 +259,19 @@ - for (i=0; ictx = ml_create_context(ScreenOfDisplay(theDisp, theScreen)); -+ tv->txt = NULL; -+ tv->cv_text = NULL; -+ tv->cv_len = 0; -+ ml_set_charsets(tv->ctx, &coding_spec[TV_PLAIN].coding_system); -+#endif -+ - tv->win = CreateWindow((iwin) FatalError("can't create textview window!"); - -@@ -135,17 +283,17 @@ - - /* note: everything is sized and positioned in resizeText() */ - -- tv->textW = XCreateSimpleWindow(theDisp, tv->win, 1,1, 100,100, -+ tv->textW = XCreateSimpleWindow(theDisp, tv->win, 1,1, 100,100, - 1,infofg,infobg); - if (!tv->textW) FatalError("can't create textview text window!"); - -- SCCreate(&(tv->vscrl), tv->win, 0,0, 1,100, 0,0,0,0, -+ SCCreate(&(tv->vscrl), tv->win, 0,0, 1,100, 0,0,0,0, - infofg, infobg, hicol, locol, drawTextW); - -- SCCreate(&(tv->hscrl), tv->win, 0,0, 0,100, 0,0,0,0, -+ SCCreate(&(tv->hscrl), tv->win, 0,0, 0,100, 0,0,0,0, - infofg, infobg, hicol, locol, drawTextW); - -- if (XGetNormalHints(theDisp, tv->win, &hints)) -+ if (XGetNormalHints(theDisp, tv->win, &hints)) - hints.flags |= PMinSize; - else - hints.flags = PMinSize; -@@ -162,74 +310,115 @@ - - XSelectInput(theDisp, tv->textW, ExposureMask | ButtonPressMask); - -- -- BTCreate(&(tv->but[TV_ASCII]), tv->win, 0,0,BUTTW,BUTTH, -+ -+ BTCreate(&(tv->but[TV_ASCII]), tv->win, 0,0,BUTTW1,BUTTH, - "Ascii",infofg,infobg,hicol,locol); -- BTCreate(&(tv->but[TV_HEX]), tv->win, 0,0,BUTTW,BUTTH, -+ BTCreate(&(tv->but[TV_HEX]), tv->win, 0,0,BUTTW1,BUTTH, - "Hex",infofg,infobg,hicol,locol); -- BTCreate(&(tv->but[TV_CLOSE]), tv->win, 0,0,BUTTW,BUTTH, -+ BTCreate(&(tv->but[TV_CLOSE]), tv->win, 0,0,BUTTW1,BUTTH, - "Close",infofg,infobg,hicol,locol); - -+#ifdef TV_L10N -+ if (xlocale) { -+ BTCreate(&(tv->but[TV_RESCAN]), tv->win, 0,0,BUTTW2,BUTTH, -+ "RESCAN",infofg,infobg,hicol,locol); -+ BTCreate(&(tv->but[TV_USASCII]), tv->win, 0,0,BUTTW2,BUTTH, -+ "ASCII",infofg,infobg,hicol,locol); -+ BTCreate(&(tv->but[TV_JIS]), tv->win, 0,0,BUTTW2,BUTTH, -+ "JIS",infofg,infobg,hicol,locol); -+ BTCreate(&(tv->but[TV_EUCJ]), tv->win, 0,0,BUTTW2,BUTTH, -+ "EUC-j",infofg,infobg,hicol,locol); -+ BTCreate(&(tv->but[TV_MSCODE]), tv->win, 0,0,BUTTW2,BUTTH, -+ "MS Kanji",infofg,infobg,hicol,locol); -+ } -+#endif -+ - BTCreate(&(tv->nopBut), tv->win, 0,0, (u_int) tv->vscrl.tsize+1, - (u_int) tv->vscrl.tsize+1, "", infofg, infobg, hicol, locol); - tv->nopBut.active = 0; - - XMapSubwindows(theDisp, tv->win); - -+#ifdef TV_MULTILINGUAL -+ BTCreate(&tv->csbut, tv->win, 0, 0, BUTTW1, BUTTH, "Code Sets", -+ infofg, infobg, hicol, locol); -+#endif -+ - tv->text = (char *) NULL; - tv->textlen = 0; - tv->title[0] = '\0'; -+#ifdef TV_L10N -+ tv->code = (xlocale ? LOCALE_DEFAULT : 0); -+#endif -+#ifdef TV_MULTILINGUAL -+ tv->ccs = coding_spec[default_codeset]; -+#endif - } -- -+#ifdef TV_MULTILINGUAL -+ get_monofont_size(&mfwide, &mfhigh); -+ /* recalculate sizes. */ -+ defwide = 80 * mfwide + 2*LRMARGINS + 8 + 20; /* -ish */ -+ defhigh = 24 * mfhigh + TOPMARGIN + BOTMARGIN + 8 + 20; /* ish */ -+ cmthigh = 6 * mfhigh + TOPMARGIN + BOTMARGIN + 8 + 20; /* ish */ -+#endif - - for (i=0; ifreeonclose && tv->text) free(tv->text); -+ if (tv->freeonclose && tv->text) free((void *)tv->text); - if (tv->lines) free(tv->lines); -- tv->text = (char *) NULL; -- tv->lines = (char **) NULL; -+ -+ tv->text = (const char *) NULL; -+ tv->lines = (const char **) NULL; - tv->numlines = tv->textlen = tv->hexmode = 0; - - -@@ -293,6 +486,7 @@ - tv->textlen = len; - tv->freeonclose = freeonclose; - strncpy(tv->title, title, (size_t) TITLELEN-1); -+ tv->title[TITLELEN-1] = '\0'; - - computeText(tv); /* compute # lines and linestarts array */ - -@@ -316,7 +510,6 @@ - { - /* opens up the reserved 'comment' textview window */ - -- int i; - TVINFO *tv; - - tv = &tinfo[CMTWIN]; -@@ -351,9 +544,9 @@ - tv->textlen = (tv->text) ? strlen(tv->text) : 0; - tv->freeonclose = 0; - -- if (strlen(fullfname)) -+ if (strlen(fullfname)) - sprintf(tv->title, "File: '%s'", BaseName(fullfname)); -- else -+ else - sprintf(tv->title, ""); - - computeText(tv); /* compute # lines and linestarts array */ -@@ -501,12 +694,16 @@ - if (i==MAXTEXTWIN) anyTextUp = 0; - - /* free all info for this textview window */ -- if (tv->freeonclose && tv->text) free(tv->text); -+ if (tv->freeonclose && tv->text) free((void *)tv->text); - if (tv->lines) free(tv->lines); - -- tv->text = (char *) NULL; -- tv->lines = (char **) NULL; -+ tv->text = (const char *) NULL; -+ tv->lines = (const char **) NULL; - tv->numlines = tv->textlen = tv->hexmode = 0; -+ -+#ifdef TV_MULTILINGUAL -+ closeCsWin(tv); -+#endif - } - - -@@ -518,7 +715,7 @@ - /* checks event to see if it's a text-window related thing. If it - is, it eats the event and returns '1', otherwise '0'. */ - -- int i, rv; -+ int rv; - - rv = 1; - -@@ -560,7 +757,7 @@ - count++; - } while (XCheckWindowEvent(theDisp, evt.xexpose.window, - ExposureMask, &evt)); -- -+ - XClipBox(reg, &rect); /* bounding box of region */ - XSetRegion(theDisp, theGC, reg); - -@@ -570,7 +767,7 @@ - fprintf(stderr,"grouped %d expose events into %d,%d %dx%d rect\n", - count, rect.x, rect.y, rect.width, rect.height); - } -- -+ - if (e->window == tv->win) drawTextView(tv); - else if (e->window == tv->textW) drawTextW(0, &(tv->vscrl)); - -@@ -584,7 +781,7 @@ - - else if (xev->type == ButtonPress) { - XButtonEvent *e = (XButtonEvent *) xev; -- int i,x,y; -+ int x,y; - x = e->x; y = e->y; - - if (e->button == Button1) { -@@ -594,6 +791,40 @@ - else if (e->window == tv->textW) { } - else rv = 0; - } -+ else if (e->button == Button4) { /* note min vs. max, + vs. - */ -+ /* scroll regardless of where we are in the text window */ -+ if (e->window == tv->win || -+ e->window == tv->vscrl.win || -+ e->window == tv->hscrl.win || -+ e->window == tv->textW) -+ { -+ SCRL *sp=&(tv->vscrl); -+ int halfpage=sp->page/2; -+ -+ if (sp->val > sp->min+halfpage) -+ SCSetVal(sp,sp->val-halfpage); -+ else -+ SCSetVal(sp,sp->min); -+ } -+ else rv = 0; -+ } -+ else if (e->button == Button5) { /* note max vs. min, - vs. + */ -+ /* scroll regardless of where we are in the text window */ -+ if (e->window == tv->win || -+ e->window == tv->vscrl.win || -+ e->window == tv->hscrl.win || -+ e->window == tv->textW) -+ { -+ SCRL *sp=&(tv->vscrl); -+ int halfpage=sp->page/2; -+ -+ if (sp->val < sp->max-halfpage) -+ SCSetVal(sp,sp->val+halfpage); -+ else -+ SCSetVal(sp,sp->max); -+ } -+ else rv = 0; -+ } - else rv = 0; - } - -@@ -615,7 +846,7 @@ - - if (tv->wide != e->width || tv->high != e->height) { - if (DEBUG) fprintf(stderr,"Forcing a redraw! (from configure)\n"); -- XClearArea(theDisp, tv->win, 0, 0, -+ XClearArea(theDisp, tv->win, 0, 0, - (u_int) e->width, (u_int) e->height, True); - resizeText(tv, e->width, e->height); - } -@@ -633,10 +864,12 @@ - TVINFO *tv; - int w,h; - { -- int i, maxw, maxh, hmax, hpage, vmax, vpage; -+ int i, maxw, maxh; - XSizeHints hints; - -+#ifndef TV_MULTILINGUAL - if (tv->wide == w && tv->high == h) return; /* no change in size */ -+#endif - - if (XGetNormalHints(theDisp, tv->win, &hints)) { - hints.width = w; -@@ -657,13 +890,26 @@ - tv->twWide = tv->chwide * mfwide + 6; - tv->twHigh = tv->chhigh * mfhigh + 6; - -- XMoveResizeWindow(theDisp, tv->textW, LRMARGINS, TOPMARGIN, -+ XMoveResizeWindow(theDisp, tv->textW, LRMARGINS, TOPMARGIN, - (u_int) tv->twWide, (u_int) tv->twHigh); - -- for (i=0; ibut[i].x = tv->wide - (TV_NBUTTS-i) * (BUTTW+5); -+ for (i=0; ibut[i].x = tv->wide - (TV_E_NBUTTS-i) * (BUTTW1+5); - tv->but[i].y = tv->high - BUTTH - 5; - } -+#ifdef TV_MULTILINGUAL -+ tv->csbut.x = 5; -+ tv->csbut.y = tv->high - BUTTH - 5; -+#endif -+ -+#ifdef TV_L10N -+ if (xlocale) { -+ for (; ibut[i].x = 5 + (i-TV_E_NBUTTS) * (BUTTW2+5); -+ tv->but[i].y = tv->high - BUTTH - 5; -+ } -+ } -+#endif - - computeScrlVals(tv); - -@@ -692,8 +938,8 @@ - hpag = tv->chwide / 4; - vpag = tv->chhigh - 1; - -- -- SCChange(&tv->vscrl, LRMARGINS + tv->twWide+1, TOPMARGIN, -+ -+ SCChange(&tv->vscrl, LRMARGINS + tv->twWide+1, TOPMARGIN, - 1, tv->twHigh, 0, vmax, tv->vscrl.val, vpag); - - SCChange(&tv->hscrl, LRMARGINS, TOPMARGIN + tv->twHigh + 1, -@@ -714,6 +960,29 @@ - case TV_CLOSE: if (tv == &tinfo[CMTWIN]) CloseCommentText(); - else closeText(tv); - break; -+ -+#ifdef TV_L10N -+ case TV_RESCAN: -+ tv->code = selectCodeset(tv); -+ drawTextW(0, &tv->vscrl); -+ break; -+ case TV_USASCII: -+ tv->code = LOCALE_USASCII; -+ drawTextW(0, &tv->vscrl); -+ break; -+ case TV_JIS: -+ tv->code = LOCALE_JIS; -+ drawTextW(0, &tv->vscrl); -+ break; -+ case TV_EUCJ: -+ tv->code = LOCALE_EUCJ; -+ drawTextW(0, &tv->vscrl); -+ break; -+ case TV_MSCODE: -+ tv->code = LOCALE_MSCODE; -+ drawTextW(0, &tv->vscrl); -+ break; -+#endif /* TV_L10N */ - } - } - -@@ -731,11 +1000,11 @@ - y = 5; - - XSetForeground(theDisp, theGC, infobg); -- XFillRectangle(theDisp, tv->win, theGC, 5+1, y+1, -+ XFillRectangle(theDisp, tv->win, theGC, 5+1, y+1, - (u_int) StringWidth(tv->title)+6, (u_int) CHIGH+4); - - XSetForeground(theDisp, theGC, infofg); -- XDrawRectangle(theDisp, tv->win, theGC, 5, y, -+ XDrawRectangle(theDisp, tv->win, theGC, 5, y, - (u_int) StringWidth(tv->title)+7, (u_int) CHIGH+5); - - Draw3dRect(tv->win, 5+1, y+1, (u_int) StringWidth(tv->title)+5, -@@ -748,8 +1017,10 @@ - drawNumLines(tv); - - /* draw the buttons */ -- for (i=0; ibut[i])); -- -+ for (i=0; ibut[i])); -+#ifdef TV_MULTILINGUAL -+ BTRedraw(&tv->csbut); -+#endif - BTRedraw(&tv->nopBut); - } - -@@ -763,15 +1034,15 @@ - - if (tv->hexmode) nl = tv->hexlines; - else { -- if (tv->numlines>0 && -- tv->lines[tv->numlines-1] - tv->lines[tv->numlines-2] == 1) -+ if (tv->numlines>0 && -+ tv->lines[tv->numlines-1] - tv->lines[tv->numlines-2] == 1) - nl = tv->numlines - 2; /* line after last \n has zero length */ - else nl = tv->numlines - 1; - } - if (nl<0) nl = 0; - -- sprintf(tmpstr, "%d byte%s, %d line%s", -- tv->textlen, (tv->textlen!=1) ? "s" : "", -+ sprintf(tmpstr, "%d byte%s, %d line%s", -+ tv->textlen, (tv->textlen!=1) ? "s" : "", - nl, (nl!=1) ? "s" : ""); - - w = StringWidth(tmpstr) + 7; /* width of frame */ -@@ -779,13 +1050,13 @@ - y = 6; - - XSetForeground(theDisp, theGC, infobg); -- XFillRectangle(theDisp, tv->win, theGC, (x-w)+1, y+1, -+ XFillRectangle(theDisp, tv->win, theGC, (x-w)+1, y+1, - (u_int) (w-1), (u_int) CHIGH+4); - - XSetForeground(theDisp, theGC, infofg); - XDrawRectangle(theDisp, tv->win, theGC, x-w, y, (u_int) w, (u_int) CHIGH+5); - -- Draw3dRect(tv->win, (x-w)+1, y+1, (u_int) (w-2), (u_int) CHIGH+3, -+ Draw3dRect(tv->win, (x-w)+1, y+1, (u_int) (w-2), (u_int) CHIGH+3, - R3D_IN,2,hicol,locol,infobg); - - XSetForeground(theDisp, theGC, infofg); -@@ -800,10 +1071,10 @@ - int x, y, w, nl; - char tmpstr[64]; - -- nl = (tv->hexmode) ? tv->hexlines : tv->numlines-1; -+ nl = (tv->hexmode) ? tv->hexlines : tv->numlines-1; - -- sprintf(tmpstr, "%d byte%s, %d line%s", -- tv->textlen, (tv->textlen>1) ? "s" : "", -+ sprintf(tmpstr, "%d byte%s, %d line%s", -+ tv->textlen, (tv->textlen>1) ? "s" : "", - nl, (nl>1) ? "s" : ""); - - w = StringWidth(tmpstr) + 7; /* width of frame */ -@@ -819,20 +1090,28 @@ - int delta; - SCRL *sptr; - { -- int i, j, lnum, hpos, cpos, extrach, lwide; -+ int i, j, lnum, hpos, vpos, cpos, lwide; -+#ifndef TV_MULTILINGUAL -+ int extrach; -+#endif -+#ifdef TV_L10N -+ int desig_stat; /* for ISO 2022-JP */ -+ /* 0: ASCII, 1: JIS X 0208, 2: GL is JIS X 0201 kana */ -+#endif - TVINFO *tv; - char linestr[512]; -- u_char *sp, *ep, *lp; -+ byte *lp; -+ const byte *sp, *ep; - - /* figure out TVINFO pointer from SCRL pointer */ -- for (i=0; ihscrl.val; -+ vpos = tv->vscrl.val; - lwide = (tv->chwide < 500) ? tv->chwide : 500; - - /* draw text */ - if (!tv->hexmode) { /* ASCII mode */ -+#ifdef TV_MULTILINGUAL -+ XClearArea(theDisp, tv->textW, 0, 0, -+ (u_int) tv->twWide, (u_int) tv->twHigh, False); -+ if(tv->txt == NULL) -+ return; -+ else { -+ int i; -+ int y; -+ struct ml_text *tp = tv->txt; -+ struct ml_line *lp2; -+ -+ XSetFunction(theDisp, theGC, GXcopy); -+ XSetClipMask(theDisp, theGC, None); -+ y = 3; -+ for (lp2 = &tp->lines[vpos], i = tp->nlines - vpos; -+ i > 0; lp2++, i--) { -+ XDrawText16(theDisp, tv->textW, theGC, -+ -mfwide * hpos + 3, y + lp2->ascent, -+ lp2->items, lp2->nitems); -+ y += lp2->ascent + lp2->descent; -+ if (y > tv->twHigh) -+ break; -+ } -+ } -+#else - for (i=0; ichhigh; i++) { /* draw each line */ -- lnum = i + tv->vscrl.val; -+ lnum = i + vpos; - if (lnum < tv->numlines-1) { -- -+ - /* find start of displayed portion of line. This is *wildly* - complicated by the ctrl-character and tab expansion... */ - -@@ -868,7 +1173,13 @@ - cpos--; sp++; - } - else if (*sp < 32) extrach = 1; -+ -+#ifdef TV_L10N -+ else if (!tv->code && *sp > 127) extrach = 3; -+#else - else if (*sp > 127) extrach = 3; -+#endif -+ - else sp++; - } - else { -@@ -884,6 +1195,10 @@ - - /* build up the linestr buffer, which is the current line, padded - with blanks to a width of exactly tv->chwide chars */ -+#ifdef TV_L10N -+ desig_stat = 0; /* for ISO 2022-JP */ -+ /* 0: ASCII, 1: JIS X 0208, 2: GL is JIS X 0201 kana */ -+#endif - for (cpos=0, lp=(byte *) linestr; cpos=ep) *lp = ' '; - else { -@@ -897,13 +1212,117 @@ - cpos--; lp--; sp++; - } - -+#ifdef TV_L10N -+ else if (*sp < 32 && !(tv->code == LOCALE_JIS && *sp == 0x1b)) { -+#else - else if (*sp < 32) { -+#endif - if (!extrach) extrach = 2; - if (extrach == 2) *lp = '^'; - else if (extrach == 1) *lp = *sp + 64; - } -- -+ -+#ifdef TV_L10N -+ /* convert to EUC-Japan */ -+ else if (tv->code == LOCALE_JIS) { -+ if (*sp == 0x1b) { /* ESC */ -+ if (*(sp+1) == '$') { -+ if (*(sp+2) == 'B' || *(sp+2) == 'A' || *(sp+2) == '@') { -+ /* ESC $ B, ESC $ A, ESC $ @ */ -+ desig_stat = 1; -+ sp += 3; cpos--; lp--; -+ } -+ else if (*(sp+2) == '(' && *(sp+3) == 'B') { -+ /* ESC $ ( B */ -+ desig_stat = 1; -+ sp += 4; cpos--; lp--; -+ } -+ } -+ else if (*(sp+1) == '(') { -+ if (*(sp+2) == 'B' || *(sp+2) == 'J' || *(sp+2) == 'H') { -+ /* ESC ( B, ESC ( J, ESC ( H */ -+ desig_stat = 0; -+ sp += 3; cpos--; lp--; -+ } -+ else if (*(sp+2) == 'I') { -+ /* ESC ( I */ -+ desig_stat = 2; -+ sp += 3; cpos--; lp--; -+ } -+ } -+ else if (*(sp+1) == ')' && *(sp+2) == 'I') { -+ /* ESC ) I */ -+ desig_stat = 2; -+ sp += 3; cpos--; lp--; -+ } -+ else { /* error */ -+ *lp = ' '; sp++; -+ } -+ } -+ -+ else { -+ switch (desig_stat) { -+ case 0: /* ASCII */ -+ *lp = *sp++; -+ break; -+ case 1: /* JIS X 0208 */ -+ *lp++ = *sp++ | 0x80; -+ *lp = *sp++ | 0x80; -+ cpos++; -+ break; -+ case 2: /* JIS X 0201 kana */ -+#if defined(__osf__) && !defined(X_LOCALE) -+ *lp = '='; sp++; -+#else -+ *lp++ = 0x8e; /* ^N | 0x80 */ -+ *lp = *sp++ | 0x80; -+#endif -+ break; -+ default: /* error */ -+ *lp = *sp++; -+ break; -+ } -+ } -+ } -+ -+ else if (tv->code == LOCALE_MSCODE) { -+ if ((*sp >= 0x81 && *sp <= 0x9f) -+ || (*sp >= 0xe0 && *sp <= 0xef)) { -+ static u_char c1, c2; -+ -+/*fprintf(stderr, "(%x,%x)->", *sp, *(sp+1));*/ -+ c1 = ((*sp - ((*sp>=0xe0) ? 0xb0 : 0x70)) << 1) -+ - ((*(sp+1)<=0x9e) ? 1 : 0); -+ c2 = *(sp+1); -+ if (c2 >= 0x9f) c2 -= 0x7e; /* 0x9F - 0xFC */ -+ else if (c2 >= 0x80) c2 -= 0x20; /* 0x80 - 0x9E */ -+ else c2 -= 0x1f; /* 0x40 - 0x7E */ -+ -+ *lp++ = c1 | 0x80; -+ *lp = c2 | 0x80; -+ sp += 2; -+/*fprintf(stderr, "(%x %x) ", c1 | 0x80, c2 | 0x80);*/ -+ cpos++; -+ } -+ -+ else if (*sp >= 0xa1 && *sp <= 0xdf) { /* JIS X 0201 kana */ -+#if defined(__osf__) && !defined(X_LOCALE) -+ *lp = '='; sp++; -+#else -+ *lp++ = 0x8e; /* ^N | 0x80 */ -+ *lp = *sp++; -+#endif -+ } -+ -+ else *lp = *sp++; -+ } -+#endif /* TV_L10N */ -+ -+#ifdef TV_L10N -+ else if (!tv->code && *sp > 127) { -+#else - else if (*sp > 127) { -+#endif - if (!extrach) extrach = 4; - if (extrach == 4) *lp = '\\'; - else if (extrach == 3) *lp = ((u_char)(*sp & 0700) >> 6) + '0'; -@@ -919,6 +1338,9 @@ - } - } - } -+#ifdef TV_L10N -+ *lp = '\0'; /* terminate linestr */ -+#endif - } - - else { /* below bottom of file. Just build a blank str */ -@@ -926,24 +1348,31 @@ - } - - /* draw the line */ -- XDrawImageString(theDisp, tv->textW, theGC, -- 3, i*mfhigh + 3 + mfascent, linestr, lwide); -+#ifdef TV_L10N -+ if (xlocale) -+ XmbDrawImageString(theDisp, tv->textW, monofset, theGC, -+ 3, i*mfhigh + 1 + mfascent, linestr, strlen(linestr)); -+ else -+#endif -+ XDrawImageString(theDisp, tv->textW, theGC, -+ 3, i*mfhigh + 3 + mfascent, linestr, lwide); - } /* for i ... */ -+#endif /* TV_MULTILINGUAL */ - } /* if hexmode */ - - - else { /* HEX MODE */ - for (i=0; ichhigh; i++) { /* draw each line */ -- lnum = i + tv->vscrl.val; -+ lnum = i + vpos; - if (lnum < tv->hexlines) { -- -+ - char hexstr[80], tmpstr[16]; - - /* generate hex for this line */ - sprintf(hexstr, "0x%08x: ", lnum * 0x10); - -- sp = (byte *) tv->text + lnum * 0x10; -- ep = (byte *) tv->text + tv->textlen; /* ptr to end of buffer */ -+ sp = (const byte *) tv->text + lnum * 0x10; -+ ep = (const byte *) tv->text + tv->textlen; /* ptr to end of buffer */ - - for (j=0; j<16; j++) { - if (sp+j < ep) sprintf(tmpstr,"%02x ", sp[j]); -@@ -960,7 +1389,11 @@ - - for (j=0; j<16; j++) { - if (sp+j < ep) { -+#ifdef TV_L10N -+ if (sp[j] >= 32 && (sp[j] <= 127 || tv->code)) *lp++ = sp[j]; -+#else - if (sp[j] >= 32 && sp[j] <= 127) *lp++ = sp[j]; -+#endif - else *lp++ = '.'; - } - else *lp++ = ' '; -@@ -972,7 +1405,7 @@ - now build 'linestr', which is going to have hexstr shifted - and/or padded with blanks (ie, the displayed portion or hexstr) */ - -- /* skip obscured beginning of line, if any */ -+ /* skip obscured beginning of line, if any */ - for (cpos=0, sp=(byte *) hexstr; cpostextW, theGC, -+ XDrawImageString(theDisp, tv->textW, theGC, - 3, i*mfhigh + 3 + mfascent, linestr, lwide); - } /* for i ... */ - } /* else hexmode */ -- -+ - - - XSetFont(theDisp, theGC, mfont); - -- Draw3dRect(tv->textW, 0, 0, (u_int) (tv->twWide-1), (u_int) (tv->twHigh-1), -+ Draw3dRect(tv->textW, 0, 0, (u_int) (tv->twWide-1), (u_int) (tv->twHigh-1), - R3D_IN, 2, hicol, locol, infobg); - } - -@@ -1008,14 +1441,21 @@ - int i; - BUTT *bp; - -- for (i=0, bp=tv->but; ibut; ix,bp->y,bp->w,bp->h)) break; - } - -- if (icsbut.x, tv->csbut.y, tv->csbut.w, tv->csbut.h)) { -+ if (BTTrack(&tv->csbut)) -+ openCsWin(tv); -+ } -+#endif - } - - -@@ -1033,7 +1473,7 @@ - stlen = XLookupString(kevt, buf, 128, &ks, (XComposeStatus *) NULL); - shift = kevt->state & ShiftMask; - ck = CursorKey(ks, shift, 1); -- dealt = 1; -+ dealt = 1; - - RemapKeyCheck(ks, buf, &stlen); - -@@ -1045,13 +1485,38 @@ - - /* keyboard equivalents */ - switch (buf[0]) { -- case '\001': doCmd(tv, TV_ASCII); break; /* ^A = Ascii */ -- case '\010': doCmd(tv, TV_HEX); break; /* ^H = Hex */ -- -- case '\033': doCmd(tv, TV_CLOSE); break; /* ESC = Close window */ -+ case '\001': case 'a': case 'A': -+ doCmd(tv, TV_ASCII); break; /* ^A = Ascii */ -+ case '\010': case 'h': case 'H': -+ doCmd(tv, TV_HEX); break; /* ^H = Hex */ -+ -+ case '\021': case 'q': case 'Q': -+ case '\003': case 'c': case 'C': -+ case '\033': -+ doCmd(tv, TV_CLOSE); break; /* ESC = Close window */ - - default: break; - } -+ -+#ifdef TV_L10N -+ if (xlocale) { -+ switch (buf[0]) { -+ case '\022': case 'r': case 'R': -+ doCmd(tv, TV_RESCAN); break; -+ case '\012': case 'j': case 'J': -+ doCmd(tv, TV_JIS); break; -+ case '\005': case 'e': case 'E': -+ case '\025': case 'u': case 'U': -+ doCmd(tv, TV_EUCJ); break; -+ case '\015': case 'm': case 'M': -+ case '\023': case 's': case 'S': -+ doCmd(tv, TV_MSCODE); break; -+ -+ default: break; -+ } -+ } -+#endif /* TV_L10N */ -+ - } - - -@@ -1060,8 +1525,6 @@ - TVINFO *tv; - int key; - { -- int i,j; -- - if (!tv->textlen) return; - - /* an arrow key (or something like that) was pressed in icon window. -@@ -1108,13 +1571,26 @@ - else { /* switch to ascii mode */ - pos = oldvscrl * 16; - for (i=0; inumlines-1; i++) { -- if (tv->lines[i+1] - tv->text > pos && -+ if (tv->lines[i+1] - tv->text > pos && - tv->lines[i] - tv->text <= pos) break; - } - if (inumlines-1) SCSetVal(&tv->vscrl, i); - } - -+#ifdef TV_L10N -+ /* redraw text */ -+ if (xlocale) { -+ XClearArea(theDisp, tv->textW, 0, 0, -+ (u_int) tv->twWide, (u_int) tv->twHigh, False); -+ -+ drawTextW(0, &tv->vscrl); -+ } -+#endif -+#ifdef TV_MULTILINGUAL -+ XClearArea(theDisp, tv->textW, 0, 0, -+ (u_int) tv->twWide, (u_int) tv->twHigh, False); - drawTextW(0, &tv->vscrl); -+#endif - } - - -@@ -1125,16 +1601,29 @@ - /* compute # of lines and linestarts array for given text */ - - int i,j,wide,maxwide,space; -- byte *sp; -+ const byte *sp; - -- if (!tv->text) { -- tv->numlines = tv->hexlines = 0; -- tv->lines = (char **) NULL; -+#ifdef TV_L10N -+ /* select code-set */ -+ if (xlocale) -+ tv->code = selectCodeset(tv); -+#endif /* TV_L10N */ -+ -+ if (!tv->text) { -+ tv->numlines = tv->hexlines = 0; -+ tv->lines = (const char **) NULL; -+#ifdef TV_MULTILINGUAL -+ if (tv->cv_text != NULL) { -+ free(tv->cv_text); -+ tv->cv_text = NULL; -+ } -+ tv->txt = NULL; -+#endif - return; - } - - /* count the # of newline characters in text */ -- for (i=0, sp=(byte *) tv->text, tv->numlines=0; itextlen; i++, sp++) { -+ for (i=0, sp=(const byte *) tv->text, tv->numlines=0; itextlen; i++, sp++) { - if (*sp == '\n') tv->numlines++; - } - -@@ -1142,19 +1631,19 @@ - tv->numlines += 2; - - /* build lines array */ -- tv->lines = (char **) malloc(tv->numlines * sizeof(char *)); -+ tv->lines = (const char **) malloc(tv->numlines * sizeof(char *)); - if (!tv->lines) FatalError("out of memory in computeText()"); - - j = 0; - tv->lines[j++] = tv->text; -- for (i=0, sp=(byte *) tv->text; itextlen; i++, sp++) { -+ for (i=0, sp=(const byte *) tv->text; itextlen; i++, sp++) { - if (*sp == '\n') tv->lines[j++] = (char *) (sp + 1); - } - - tv->lines[tv->numlines - 1] = tv->text + tv->textlen + 1; - -- /* each line has a trailing '\n' character, except for the last line, -- which has a trailing '\0' character. In any case, all lines can -+ /* each line has a trailing '\n' character, except for the last line, -+ which has a trailing '\0' character. In any case, all lines can - be printed by printing ((lines[n+1] - lines[n]) - 1) characters, - starting with lines[n]. - -@@ -1164,30 +1653,142 @@ - - /* compute length of longest line, when shown in 'ascii' mode. Takes - into account the fact that non-printing chars (<32 or >127) will be -- shown in an 'expanded' form. (<32 chars will be shown as '^A' -+ shown in an 'expanded' form. (<32 chars will be shown as '^A' - (or whatever), and >127 chars will be shown as octal '\275') */ - - maxwide = 0; - for (i=0; inumlines-1; i++) { - /* compute displayed width of line #i */ -- for (sp=(byte *) tv->lines[i], wide=0; sp<(byte *) tv->lines[i+1]-1; -+ for (sp=(const byte *) tv->lines[i], wide=0; sp<(const byte *) tv->lines[i+1]-1; - sp++) { - if (*sp == '\011') { /* tab to next multiple of 8 */ - space = ((wide+8) & (~7)) - wide; - wide += space; - } - else if (*sp < 32) wide += 2; -+#ifdef TV_L10N -+ else if (*sp > 127 && !tv->code) wide += 4; -+#else - else if (*sp > 127) wide += 4; -+#endif - else wide++; - } - if (wide > maxwide) maxwide = wide; - } - tv->maxwide = maxwide; - -+#ifdef TV_MULTILINGUAL -+ ml_set_charsets(tv->ctx, &tv->ccs.coding_system); -+ if (tv->cv_text != NULL) { -+ free(tv->cv_text); -+ tv->cv_text = NULL; -+ } -+ if (tv->ccs.converter == NULL) { -+ tv->txt = ml_draw_text(tv->ctx, tv->text, tv->textlen); -+ } else { -+ tv->cv_text = (*tv->ccs.converter)(tv->text, tv->textlen, &tv->cv_len); -+ tv->txt = ml_draw_text(tv->ctx, tv->cv_text, tv->cv_len); -+ } -+ tv->maxwide = tv->txt->width / mfwide; -+ tv->numlines = tv->txt->height / mfhigh + 1; -+#endif -+ - tv->hexlines = (tv->textlen + 15) / 16; - } - - -+/***************************************************/ -+#ifdef TV_L10N -+static int selectCodeset(tv) -+ TVINFO *tv; -+{ -+ const byte *sp; -+ int i, len; -+ int code = LOCALE_USASCII; /* == 0 */ -+ -+ -+ len = tv->textlen; -+ -+ /* select code-set */ -+ if (xlocale) { -+ sp = (const byte *) tv->text; i = 0; -+ while (i < len - 1) { -+ if (*sp == 0x1b && -+ (*(sp+1) == '$' || *(sp+1) == '(' || *(sp+1) == ')')) { -+ code = LOCALE_JIS; -+ break; -+ } -+ -+ else if (*sp >= 0xa1 && *sp <= 0xdf) { -+ if (*(sp+1) >= 0xf0 && *(sp+1) <= 0xfe) { -+ code = LOCALE_EUCJ; -+ break; -+ } -+# if (LOCALE_DEFAULT == LOCALE_EUCJ) -+ else { -+ sp++; i++; -+ } -+# endif -+ } -+ -+ else if ((*sp >= 0x81 && *sp <= 0x9f) || (*sp >= 0xe0 && *sp <= 0xef)) { -+ if ((*(sp+1) >= 0x40 && *(sp+1) <= 0x7e) || *(sp+1) == 0x80) { -+ code = LOCALE_MSCODE; -+ break; -+ } -+ else if (*(sp+1) == 0xfd || *(sp+1) == 0xfe) { -+ code = LOCALE_EUCJ; -+ break; -+ } -+ else { -+ sp++; i++; -+ } -+ } -+ -+ else if (*sp >= 0xf0 && *sp <= 0xfe) { -+ code = LOCALE_EUCJ; -+ break; -+ } -+ -+ sp++; i++; -+ } -+ if (!code) code = LOCALE_DEFAULT; -+ } -+ -+ return code; -+} -+#endif /* TV_L10N */ -+ -+#ifdef TV_MULTILINGUAL -+static void setCodingSpec(tv, cs) -+ TVINFO *tv; -+ struct coding_spec *cs; -+{ -+ if (xvbcmp((char *) &tv->ccs, (char *) cs, sizeof *cs) == 0) -+ return; -+ -+ tv->ccs = *cs; -+#if 0 -+ ml_set_charsets(tv->ctx, &tv->ccs.coding_system); -+ if (tv->cv_text != NULL) { -+ free(tv->cv_text); -+ tv->cv_text = NULL; -+ } -+ if (tv->ccs.converter == NULL) { -+ tv->txt = ml_draw_text(tv->ctx, tv->text, tv->textlen); -+ } else { -+ tv->cv_text = (*tv->ccs.converter)(tv->text, tv->textlen, &tv->cv_len); -+ tv->txt = ml_draw_text(tv->ctx, tv->cv_text, tv->cv_len); -+ } -+#else -+ computeText(tv); -+ computeScrlVals(tv); -+#endif -+ /* drawTextW(0, &tv->vscrl); */ -+} -+#endif -+ -+ - /**********************************************************************/ - /* BUILT-IN TEXT FILES ************************************************/ - /**********************************************************************/ -@@ -1203,9 +1804,13 @@ - - /* build the license text */ - #ifdef LC --#undef LC -+# undef LC -+#endif -+#ifdef __STDC__ /* since "x" is always a static string, this works: */ -+# define LC(x) (strcat(license, x "\n")) -+#else -+# define LC(x) (strcat(license, x), strcat(license, "\n")) - #endif --#define LC(x) (strcat(license, x), strcat(license, "\n")) - - LC("(Note: This has been changed, and hopefully clarified, from the 3.00"); - LC("version of this info. Please read it.)"); -@@ -1220,7 +1825,12 @@ - LC("the xv distribution. Do *not* send mail unless absolutely necessary"); - LC("(ie, you don't have ftp capability)."); - LC(""); -- LC("Note: The docs (xvdocs.ps) may be installed in '/usr/local/lib'."); -+ LC("Note: The documentation (README.jumbo, xvdocs.ps, and/or xvdocs.pdf)"); -+#ifdef __STDC__ -+ LC("may be installed in '" DOCDIR "'."); -+#else -+ LC("may be installed in '/usr/local/share/doc/xv'."); -+#endif - LC(""); - LC("If you're viewing this information via the 'About XV' command, and"); - LC("you'd like to print it out, a copy of this info can be found in the "); -@@ -1230,7 +1840,7 @@ - LC(""); - LC("XV Licensing Information"); - LC("------------------------"); -- LC("XV IS SHAREWARE FOR PERSONAL USE ONLY. "); -+ LC("XV IS SHAREWARE FOR PERSONAL USE ONLY."); - LC(""); - LC("You may use XV for your own amusement, and if you find it nifty,"); - LC("useful, generally cool, or of some value to you, your registration fee"); -@@ -1279,7 +1889,7 @@ - LC("are not. All forms of payment must be payable in US Funds. Checks"); - LC("must be payable through a US bank (or a US branch of a non-US bank)."); - LC("Purchase orders for less than $50, while still accepted, are not"); -- LC("encouraged. "); -+ LC("encouraged."); - LC(""); - LC("All payments should be payable to 'John Bradley', and mailed to:"); - LC(" John Bradley"); -@@ -1382,7 +1992,11 @@ - keyhelp[0] = '\0'; - - #undef LC --#define LC(x) (strcat(keyhelp, x), strcat(keyhelp, "\n")) -+#ifdef __STDC__ /* since "x" is always a static string, this works: */ -+# define LC(x) (strcat(keyhelp, x "\n")) -+#else -+# define LC(x) (strcat(keyhelp, x), strcat(keyhelp, "\n")) -+#endif - - LC("XV Mouse and Keyboard Usage"); - LC("==========================="); -@@ -1415,16 +2029,16 @@ - LC(""); - LC("Part 2: Normal Keyboard Equivalents"); - LC("------------------------------------"); -- LC("The following keys can be used in most xv windows, including the "); -- LC("image, controls, and color editor windows, but *not* in the visual"); -- LC("schnauzer windows."); -+ LC("The following keys can be used in most xv windows, including the"); -+ LC("image, controls, and color editor windows, but *not* in the Visual"); -+ LC("Schnauzer windows."); - LC(""); -- LC(" Tab or "); -+ LC(" Tab or"); - LC(" Space - 'Next' command"); - LC(""); - LC(" Return - reload currently displayed image file"); - LC(""); -- LC(" Del or "); -+ LC(" Del or"); - LC(" Backspace - 'Prev' command"); - LC(""); - LC(" ctrl+'l' - 'Load' command"); -@@ -1432,7 +2046,7 @@ - LC(" ctrl+'p' - 'Print' command"); - LC(" ctrl+'d' - 'Delete' command"); - LC(""); -- LC(" 'q' or "); -+ LC(" 'q' or"); - LC(" ctrl+'q' - 'Quit' command"); - LC(""); - LC(" meta+'x' - 'cut' command"); -@@ -1468,7 +2082,7 @@ - LC(" 's' - smooth mode"); - LC(" meta+'8' - toggle 8/24 bit mode"); - LC(""); -- LC(" 'V' or "); -+ LC(" 'V' or"); - LC(" ctrl+'v' - Visual Schnauzer"); - LC(" 'e' - Color Editor"); - LC(" 'i' - Image Info"); -@@ -1490,7 +2104,7 @@ - LC(" meta+'S' - Spread algorithm"); - LC(""); - LC(" 'R' or"); -- LC(" meta+'r' or "); -+ LC(" meta+'r' or"); - LC(" meta+'0' - 'Reset' command in color editor"); - LC(""); - LC(" meta+'1' - select preset 1 in color editor"); -@@ -1503,7 +2117,7 @@ - LC(""); - LC("Part 2a: Image Window Keys"); - LC("---------------------------"); -- LC("The following keys can *only* be used inside the image window."); -+ LC("The following keys can be used *only* inside the image window."); - LC(""); - LC(" ctrl + Up - crops 1 pixel off the bottom of the image"); - LC(" ctrl + Down - crops 1 pixel off the top of the image"); -@@ -1514,11 +2128,11 @@ - LC(" 'p' - opens a 'go to page #' dialog box"); - LC(""); - LC(" PageUp, or"); -- LC(" Prev, or "); -+ LC(" Prev, or"); - LC(" shift+Up - previous page"); - LC(""); - LC(" PageDown, or"); -- LC(" Next, or "); -+ LC(" Next, or"); - LC(" shift+Down - next page"); - LC(""); - LC(""); -@@ -1535,7 +2149,7 @@ - LC(""); - LC("Part 2b: Visual Schnauzer Keys"); - LC("-------------------------------"); -- LC("The following keys can only be used in the visual schnauzer windows."); -+ LC("The following keys can be used only in the Visual Schnauzer windows."); - LC(""); - LC(" ctrl+'d' - delete file(s)"); - LC(" ctrl+'n' - create new directory"); -@@ -1560,8 +2174,509 @@ - OpenTextView(keyhelp, (int) strlen(keyhelp), "XV Help", 0); - } - -+#ifdef TV_MULTILINGUAL - -+#define TV_ML_ACCEPT TV_NCSS -+#define TV_ML_CLOSE (TV_ML_ACCEPT + 1) -+#define TV_ML_NBUTTS (TV_ML_CLOSE + 1) -+ -+#define TV_ML_RETCODE 0 -+# define TV_ML_RET_LF 0 -+# define TV_ML_RET_CRLF 1 -+# define TV_ML_RET_CR 2 -+# define TV_ML_RET_ANY 3 -+#define TV_ML_GL 1 -+#define TV_ML_GR 2 -+#define TV_ML_CVTR 3 -+#define TV_ML_NRBUTTS 4 -+ -+#define TV_ML_SHORT 0 -+#define TV_ML_LOCK 1 -+#define TV_ML_NCBUTTS 2 -+ -+#define TV_ML_NLISTS 4 -+ -+#define CSWIDE (BUTTW3 * 5 + 5 * 6) -+#define CSHIGH 450 -+ -+typedef struct csinfo_t { -+ TVINFO *tv; -+ RBUTT *rbt[TV_ML_NRBUTTS]; -+ CBUTT cbt[TV_ML_NCBUTTS]; -+ LIST ls[TV_ML_NLISTS]; -+ BUTT bt[TV_ML_NBUTTS]; -+ int up; -+ Window win; -+ struct coding_spec tcs; /* temporary coding_spec */ -+} CSINFO; -+CSINFO csinfo[MAXTVWIN]; -+static char **regs; -+static int nregs; -+ -+static int csCheckEvent PARM((CSINFO *, XEvent *)); -+static void csReflect PARM((CSINFO *)); -+static void csRedraw PARM((CSINFO *)); -+static void csListRedraw PARM((LIST *)); -+static void csLsRedraw PARM((int, SCRL *)); -+static void create_registry_list PARM((void)); -+ -+static char *(*cvtrtab[])PARM((char *, int, int *)) = { -+ NULL, -+ sjis_to_jis, -+}; - -+static void createCsWins(geom) -+ const char *geom; -+{ -+ XSetWindowAttributes xswa; -+ int i, j; -+ -+ create_registry_list(); -+ -+ xswa.backing_store = WhenMapped; -+ for (i = 0; i < MAXTVWIN; i++) { -+ char nam[8]; -+ TVINFO *tv = &tinfo[i]; -+ CSINFO *cs = &csinfo[i]; -+ tv->cs = cs; -+ cs->tv = tv; -+ sprintf(nam, "XVcs%d", i); -+ cs->win = CreateWindow("xv codeset", nam, geom, -+ CSWIDE, CSHIGH, infofg, infobg, 0); -+ if (!cs->win) FatalError("couldn't create 'charset' window!"); -+#ifdef BACKING_STORE -+ XChangeWindowAttributes(theDisp, cs->win, CWBackingStore, &xswa); -+#endif -+ XSelectInput(theDisp, cs->win, ExposureMask | ButtonPressMask); -+ -+ DrawString(cs->win, 5, 5 + ASCENT, "Initial States"); -+ for (i = 0; i < TV_ML_NLISTS; i++) { -+ int x, y; -+ char buf[80]; -+ -+ if (i / 2 == 0) -+ x = 15; -+ else -+ x = 280; -+ if (i % 2 == 0) -+ y = 5 + LINEHIGH * 1; -+ else -+ y = 5 + LINEHIGH * 7 + SPACING * 3; -+ -+ sprintf(buf, "Designation for G%d:", i + 1); -+ DrawString(cs->win, x, y + ASCENT, buf); -+ -+ LSCreate(&cs->ls[i], cs->win, x + 15, y + LINEHIGH, -+ 200, LINEHIGH * 5, 5, -+ regs, nregs + 2, -+ infofg, infobg, hicol, locol, csLsRedraw, 0, 0); -+ cs->ls[i].selected = 0; -+ } - -+ for (i = 0; i < 2; i++) { -+ char *p; -+ int n; -+ int x, y; -+ -+ if ((p = (char *) malloc(3 * 4)) == NULL) -+ FatalError("out of memory in createCsWins()."); -+ strcpy(p, "G1 G2 G3 G4"); -+ p[2] = p[5] = p[8] = '\0'; -+ n = (i == 0 ? TV_ML_GL : TV_ML_GR); -+ x = (i == 0 ? 15 : 280); -+ y = 235; -+ DrawString(cs->win, x, y + ASCENT, "Assignment for GL:"); -+ x += 15; -+ y += LINEHIGH; -+ cs->rbt[n] = RBCreate(NULL, cs->win, -+ x, y, p, infofg, infobg, hicol, locol); -+ for (j = 1; j < 4; j++) { -+ p += 3; -+ x += 50; -+ RBCreate(cs->rbt[n], cs->win, -+ x, y, p, infofg, infobg, hicol, locol); -+ } -+ } -+ -+ DrawString(cs->win, 5, 280 + ASCENT, "Ret Code:"); -+ cs->rbt[TV_ML_RETCODE] = -+ RBCreate(NULL, cs->win, 20, 300, "LF", infofg,infobg, hicol,locol); -+ RBCreate(cs->rbt[TV_ML_RETCODE], cs->win, 20, 300 + 20, "CR+LF", -+ infofg, infobg, hicol, locol); -+ RBCreate(cs->rbt[TV_ML_RETCODE], cs->win, 90, 300, "CR", -+ infofg, infobg, hicol, locol); -+ RBCreate(cs->rbt[TV_ML_RETCODE], cs->win, 90, 300 + 20, "Any", -+ infofg, infobg, hicol, locol); -+ -+ DrawString(cs->win, 350, 280 + ASCENT, "Converter:"); -+ cs->rbt[TV_ML_CVTR] = -+ RBCreate(NULL, cs->win, 365, 300, "Nothing", -+ infofg, infobg, hicol, locol); -+ RBCreate(cs->rbt[TV_ML_CVTR], cs->win, 365, 300 + 20, "Shift JIS", -+ infofg, infobg, hicol, locol); -+ -+ CBCreate(&cs->cbt[TV_ML_SHORT], cs->win, 200, 300, "Short Form", -+ infofg, infobg, hicol, locol); -+ CBCreate(&cs->cbt[TV_ML_LOCK], cs->win, 200, 320, "Locking Shift", -+ infofg, infobg, hicol, locol); -+ -+ for (j = 0; j < TV_NCSS; j++) { -+ BTCreate(&cs->bt[j], cs->win, -+ 5 + (BUTTW3 + 5) * (j % 5), -+ 350 + 5 + (BUTTH + 5) * (j / 5), -+ BUTTW3, BUTTH, codeSetNames[j], -+ infofg, infobg, hicol, locol); -+ } -+ BTCreate(&cs->bt[TV_ML_ACCEPT], cs->win, -+ CSWIDE - 10 - BUTTW3 * 2, CSHIGH - 5 - BUTTH, BUTTW3, BUTTH, -+ "Accept", infofg, infobg, hicol, locol); -+ BTCreate(&cs->bt[TV_ML_CLOSE], cs->win, -+ CSWIDE - 5 - BUTTW3, CSHIGH - 5 - BUTTH, BUTTW3, BUTTH, -+ "Close", infofg, infobg, hicol, locol); -+ -+ XMapSubwindows(theDisp, cs->win); -+ cs->up = 0; -+ } -+} - -+static void openCsWin(tv) -+ TVINFO *tv; -+{ -+ CSINFO *cs = tv->cs; -+ if (cs->up) -+ return; -+ -+ XMapRaised(theDisp, cs->win); -+ cs->up = 1; -+ cs->tcs = cs->tv->ccs; -+ csReflect(cs); -+} -+ -+static void closeCsWin(tv) -+ TVINFO *tv; -+{ -+ CSINFO *cs = tv->cs; -+ if (!cs->up) -+ return; -+ cs->up = 0; -+ XUnmapWindow(theDisp, cs->win); -+} -+ -+int CharsetCheckEvent(xev) -+ XEvent *xev; -+{ -+ int i; -+ CSINFO *cs; -+ -+ for (cs = csinfo, i = 0; i < MAXTVWIN; cs++, i++) { -+ if (!cs->up) -+ continue; -+ if (csCheckEvent(cs, xev)) -+ break; -+ } -+ if (i < MAXTVWIN) -+ return 1; -+ return 0; -+} -+ -+static int csCheckEvent(cs, xev) -+ CSINFO *cs; -+ XEvent *xev; -+{ -+ RBUTT **rbp; -+ CBUTT *cbp; -+ LIST *ls; -+ BUTT *bp; -+ int i, n; -+ -+ if (xev->type == Expose) { -+ int x, y, w, h; -+ XExposeEvent *e = (XExposeEvent *) xev; -+ x = e->x; y = e->y; w = e->width; h = e->height; -+ -+ if (cs->win == e->window){ -+ csRedraw(cs); -+ return 1; -+ } else { -+ for (i = 0; i < TV_ML_NLISTS; i++) { -+ if (cs->ls[i].win == e->window) { -+ LSRedraw(&cs->ls[i], 0); -+ return 1; -+ } -+ } -+ for (i = 0; i < TV_ML_NLISTS; i++) { -+ if (cs->ls[i].scrl.win == e->window) { -+ SCRedraw(&cs->ls[i].scrl); -+ return 1; -+ } -+ } -+ } -+ } else if (xev->type == ButtonPress) { -+ int x, y; -+ XButtonEvent *e = (XButtonEvent *) xev; -+ x = e->x; y = e->y; -+ if (cs->win == e->window) { -+ for (bp = cs->bt, i = 0; i < TV_ML_NBUTTS; bp++, i++) { -+ if (PTINRECT(x, y, bp->x, bp->y, bp->w, bp->h)) -+ break; -+ } -+ if (i < TV_ML_NBUTTS) { -+ if (BTTrack(bp)) { -+ if (i < TV_NCSS) { -+ cs->tcs = coding_spec[i]; -+ csReflect(cs); -+ } else { -+ switch (i) { -+ case TV_ML_ACCEPT: -+ setCodingSpec(cs->tv, &cs->tcs); -+ break; -+ case TV_ML_CLOSE: -+ closeCsWin(cs->tv); -+ break; -+ } -+ } -+ } -+ return 1; -+ } -+ for (cbp = cs->cbt, i = 0; i < TV_ML_NCBUTTS; cbp++, i++) { -+ if (CBClick(cbp, x, y) && CBTrack(cbp)) -+ break; -+ } -+ if (i < TV_ML_NCBUTTS) { -+ switch (i) { -+ case TV_ML_SHORT: -+ cs->tcs.coding_system.short_form = cbp->val; -+ break; -+ case TV_ML_LOCK: -+ cs->tcs.coding_system.lock_shift = cbp->val; -+ break; -+ } -+ return 1; -+ } -+ for (rbp = cs->rbt, i = 0; i < TV_ML_NRBUTTS; rbp++, i++) { -+ if ((n = RBClick(*rbp, x, y)) >= 0 && RBTrack(*rbp, n)) { -+ break; -+ } -+ } -+ if (i < TV_ML_NRBUTTS) { -+ switch (i) { -+ case TV_ML_RETCODE: -+ cs->tcs.coding_system.eol = n; -+ break; -+ case TV_ML_GL: -+ cs->tcs.coding_system.gl = n; -+ break; -+ case TV_ML_GR: -+ cs->tcs.coding_system.gr = n; -+ break; -+ case TV_ML_CVTR: -+ cs->tcs.converter = cvtrtab[n]; -+ break; -+ } -+ return 1; -+ } -+ } else { -+ for (ls = cs->ls, i = 0; i < TV_ML_NLISTS; ls++, i++) { -+ if (ls->win == e->window) { -+ LSClick(ls, e); -+ n = ls->selected; -+ if (n < nregs) { -+ char r[32], *p = r; -+ int b7; -+ strcpy(r, regs[n]); -+ if ((p = strrchr(r, '/')) != NULL) { -+ *p = '\0'; -+ b7 = (*(p + 1) == 'R' ? 1 : 0); -+ } else -+ b7 = 0; /* shouldn't occur */ -+ cs->tcs.coding_system.design[i] = lookup_design(r, b7); -+ } else if (n == nregs) /* initially none is designed. */ -+ cs->tcs.coding_system.design[i].bpc = 0; -+ else -+ cs->tcs.coding_system.design[i].bpc = -1; -+ return 1; -+ } -+ } -+ for (ls = cs->ls, i = 0; i < TV_ML_NLISTS; ls++, i++) { -+ if (ls->scrl.win == e->window) { -+ SCTrack(&ls->scrl, x, y); -+ return 1; -+ } -+ } -+ } -+ } -+ return 0; -+} -+ -+static void csReflect(cs) -+ CSINFO *cs; -+{ -+ int i; -+ -+ RBSelect(cs->rbt[TV_ML_RETCODE], cs->tcs.coding_system.eol); -+ RBSelect(cs->rbt[TV_ML_GL], cs->tcs.coding_system.gl); -+ RBSelect(cs->rbt[TV_ML_GR], cs->tcs.coding_system.gr); -+ for (i = 0; i < sizeof cvtrtab / sizeof cvtrtab[0]; i++) { -+ if (cs->tcs.converter == cvtrtab[i]) -+ break; -+ } -+ if (i >= sizeof cvtrtab / sizeof cvtrtab[0]) -+ FatalError("program error in csReflect()."); -+ RBSelect(cs->rbt[TV_ML_CVTR], i); -+ -+ cs->cbt[TV_ML_SHORT].val = cs->tcs.coding_system.short_form; -+ cs->cbt[TV_ML_LOCK].val = cs->tcs.coding_system.lock_shift; -+ for (i = 0; i < TV_ML_NLISTS; i++) { -+ struct design design = cs->tcs.coding_system.design[i]; -+ char *reg, r[32]; -+ int b7; -+ int n = 0; -+ switch (design.bpc) { -+ case -1: -+ n = nregs + 1; -+ break; -+ case 0: -+ n = nregs; -+ break; -+ case 1: -+ case 2: -+ if ((reg = lookup_registry(design, &b7)) == NULL) -+ FatalError("internal error in csReflect."); -+ sprintf(r, "%s/%s", reg, b7 ? "Right" : "Left"); -+ for (n = 0; n < nregs; n++) { -+ if (strcmp(regs[n], r) == 0) -+ break; -+ } -+ } -+ cs->ls[i].selected = n; -+ ScrollToCurrent(&cs->ls[i]); -+ } -+ csRedraw(cs); -+ for (i = 0; i < TV_ML_NLISTS; i++) -+ csListRedraw(&cs->ls[i]); -+} -+ -+static void csRedraw(cs) -+ CSINFO *cs; -+{ -+ int i; -+ -+ XSetForeground(theDisp, theGC, infofg); -+ DrawString(cs->win, 5,5 + ASCENT, "Initial States"); -+ for (i = 0; i < TV_ML_NLISTS; i++) { -+ int x, y; -+ char buf[80]; -+ -+ if (i / 2 == 0) -+ x = 15; -+ else -+ x = 280; -+ if (i % 2 == 0) -+ y = 5 + LINEHIGH * 1; -+ else -+ y = 5 + LINEHIGH * 7 + SPACING * 3; -+ -+ sprintf(buf, "Designation for G%d:", i); -+ DrawString(cs->win, x, y + ASCENT, buf); -+ } -+ -+ DrawString(cs->win, 15, 235 + ASCENT, "Invocation for GL:"); -+ DrawString(cs->win, 280, 235 + ASCENT, "Invocation for GR:"); -+ DrawString(cs->win, 5, 280 + ASCENT, "Ret Code:"); -+ DrawString(cs->win, 350, 280 + ASCENT, "Converter:"); -+ -+ for (i = 0; i < TV_ML_NBUTTS; i++) -+ BTRedraw(&cs->bt[i]); -+ for (i = 0; i < TV_ML_NCBUTTS; i++) -+ CBRedraw(&cs->cbt[i]); -+ for (i = 0; i < TV_ML_NRBUTTS; i++) -+ RBRedraw(cs->rbt[i], -1); -+} -+ -+static void csListRedraw(ls) -+ LIST *ls; -+{ -+ int i; -+ for (i = 0; i < TV_ML_NLISTS; i++) { -+ LSRedraw(ls, 0); -+ SCRedraw(&ls->scrl); -+ } -+} -+ -+static void csLsRedraw(delta, sptr) -+ int delta; -+ SCRL *sptr; -+{ -+ int i, j; -+ for (i = 0; i < MAXTVWIN; i++) { -+ for (j = 0; j < TV_ML_NLISTS; j++) { -+ if (sptr == &csinfo[i].ls[j].scrl) { -+ LSRedraw(&csinfo[i].ls[j], delta); -+ return; -+ } -+ } -+ } -+} -+ -+int CharsetDelWin(win) -+ Window win; -+{ -+ CSINFO *cs; -+ int i; -+ -+ for (cs = csinfo, i = 0; i < TV_NCSS; cs++, i++) { -+ if (cs->win == win) { -+ if (cs->up) { -+ XUnmapWindow(theDisp, cs->win); -+ cs->up = 0; -+ } -+ return 1; -+ } -+ } -+ return 0; -+} -+ -+static int reg_comp PARM((const void *, const void *)); -+static void create_registry_list() -+{ -+ struct design d; -+ char *names, *p; -+ int i; -+ -+ if ((p = names = (char *) malloc(32 * 0x80 * 2 * 2)) == NULL) -+ FatalError("out of memory in create_name_list#1."); -+ nregs = 0; -+ for (d.bpc = 1; d.bpc <=2; d.bpc++) { -+ for (d.noc = 94; d.noc <= 96; d.noc += 2) { -+ for (d.des = ' '; (unsigned char) d.des < 0x80; d.des++) { -+ int b7; -+ char *r; -+ if ((r = lookup_registry(d, &b7)) != NULL) { -+ sprintf(p, "%s/%s", r, b7 ? "Right" : "Left"); -+ p += strlen(p) + 1; -+ nregs++; -+ } -+ } -+ } -+ } -+ if ((names = (char *) realloc(names, (size_t) (p - names))) == NULL) -+ FatalError("out of memory in create_name_list#2."); -+ if ((regs = (char **) malloc(sizeof(char *) * (nregs + 3))) == NULL) -+ FatalError("out of memory in create_name_list#3."); -+ p = names; -+ for (i = 0; i < nregs; i++) { -+ regs[i] = p; -+ p += strlen(p) + 1; -+ } -+ qsort(regs, (size_t) nregs, sizeof(char *), reg_comp); -+ regs[i++] = "nothing"; -+ regs[i++] = "unused"; -+ regs[i++] = NULL; -+} -+static int reg_comp(dst, src) -+ const void *dst, *src; -+{ -+ return strcmp(*(char **) dst, *(char **) src); -+} - -+#endif /* TV_MULTILINGUAL */ -diff -ru xv-3.10a/xvtiff.c xv-3.10a-enhancements/xvtiff.c ---- xv-3.10a/xvtiff.c 1995-01-13 11:53:34.000000000 -0800 -+++ xv-3.10a-enhancements/xvtiff.c 2007-05-20 10:32:31.000000000 -0700 -@@ -1,11 +1,11 @@ - /* - * xvtiff.c - load routine for 'TIFF' format pictures - * -- * LoadTIFF(fname, numcols) - load a TIFF file -+ * LoadTIFF(fname, numcols, quick) - load a TIFF file - */ - - #ifndef va_start --# define NEEDSARGS -+# define NEEDSARGS - #endif - - #include "xv.h" -@@ -15,6 +15,35 @@ - #include "tiffio.h" /* has to be after xv.h, as it needs varargs/stdarg */ - - -+/* Portions fall under the following copyright: -+ * -+ * Copyright (c) 1992, 1993, 1994 Sam Leffler -+ * Copyright (c) 1992, 1993, 1994 Silicon Graphics, Inc. -+ * -+ * Permission to use, copy, modify, distribute, and sell this software and -+ * its documentation for any purpose is hereby granted without fee, provided -+ * that (i) the above copyright notices and this permission notice appear in -+ * all copies of the software and related documentation, and (ii) the names of -+ * Sam Leffler and Silicon Graphics may not be used in any advertising or -+ * publicity relating to the software without the specific, prior written -+ * permission of Sam Leffler and Silicon Graphics. -+ * -+ * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, -+ * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY -+ * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. -+ * -+ * IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR -+ * ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, -+ * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, -+ * WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF -+ * LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE -+ * OF THIS SOFTWARE. -+ */ -+ -+ -+static int copyTiff PARM((TIFF *, char *)); -+static int cpStrips PARM((TIFF *, TIFF *)); -+static int cpTiles PARM((TIFF *, TIFF *)); - static byte *loadPalette PARM((TIFF *, uint32, uint32, int, int, PICINFO *)); - static byte *loadColor PARM((TIFF *, uint32, uint32, int, int, PICINFO *)); - static int loadImage PARM((TIFF *, uint32, uint32, byte *, int)); -@@ -23,24 +52,29 @@ - - static long filesize; - static byte *rmap, *gmap, *bmap; --static char *filename; -+static const char *filename; - - static int error_occurred; - -+ - /*******************************************/ --int LoadTIFF(fname, pinfo) -- char *fname; -+int LoadTIFF(fname, pinfo, quick) -+ char *fname; - PICINFO *pinfo; -+ int quick; - /*******************************************/ - { - /* returns '1' on success, '0' on failure */ - - TIFF *tif; - uint32 w, h; -+ float xres, yres; - short bps, spp, photo, orient; - FILE *fp; - byte *pic8; - char *desc, oldpath[MAXPATHLEN+1], tmppath[MAXPATHLEN+1], *sp; -+ char tmp[256], tmpname[256]; -+ int i, nump; - - error_occurred = 0; - -@@ -60,6 +94,8 @@ - filesize = ftell(fp); - fclose(fp); - -+ -+ - rmap = pinfo->r; gmap = pinfo->g; bmap = pinfo->b; - - /* a kludge: temporarily cd to the directory that the file is in (if -@@ -71,7 +107,7 @@ - if (fname[0] == '/') { - xv_getwd(oldpath, sizeof(oldpath)); - strcpy(tmppath, fname); -- sp = BaseName(tmppath); -+ sp = (char *) BaseName(tmppath); /* intentionally losing constness */ - if (sp != tmppath) { - sp[-1] = '\0'; /* truncate before last '/' char */ - if (chdir(tmppath)) { -@@ -80,10 +116,65 @@ - else filename = BaseName(fname); - } - } -- -- - -- tif=TIFFOpen(filename,"r"); -+ -+ nump = 1; -+ -+ if (!quick) { -+ /* see if there's more than 1 image in tiff file, to determine if we -+ should do multi-page thing... */ -+ -+ tif = TIFFOpen(filename, "r"); -+ if (!tif) return 0; -+ while (TIFFReadDirectory(tif)) ++nump; -+ TIFFClose(tif); -+ if (DEBUG) -+ fprintf(stderr,"LoadTIFF: %d page%s found\n", nump, nump==1 ? "" : "s"); -+ -+ -+ /* if there are multiple images, copy them out to multiple tmp files, -+ and load the first one... */ -+ -+ if (nump>1) { -+ TIFF *in; -+ -+ /* GRR 20050320: converted this fake mktemp() to use mktemp()/mkstemp() -+ internally (formerly it simply prepended tmpdir to the string and -+ returned immediately) */ -+ xv_mktemp(tmpname, "xvpgXXXXXX"); -+ -+ if (tmpname[0] == '\0') { /* mktemp() or mkstemp() blew up */ -+ sprintf(dummystr,"LoadTIFF: Unable to create temporary filename???"); -+ ErrPopUp(dummystr, "\nHow unlikely!"); -+ return 0; -+ } -+ -+ /* GRR 20070506: could clean up unappended tmpname-file here (Linux -+ bug?), but "cleaner" (more general) to do so in KillPageFiles() */ -+ -+ in = TIFFOpen(filename, "r"); -+ if (!in) return 0; -+ for (i=1; i<=nump; i++) { -+ sprintf(tmp, "%s%d", tmpname, i); -+ if (!copyTiff(in, tmp)) { -+ SetISTR(ISTR_WARNING, "LoadTIFF: Error writing page files!"); -+ break; -+ } -+ -+ if (!TIFFReadDirectory(in)) break; -+ } -+ TIFFClose(in); -+ if (DEBUG) -+ fprintf(stderr,"LoadTIFF: %d page%s written\n", -+ i-1, (i-1)==1 ? "" : "s"); -+ -+ sprintf(tmp, "%s%d", tmpname, 1); /* start with page #1 */ -+ filename = tmp; -+ } -+ } /* if (!quick) ... */ -+ -+ -+ tif = TIFFOpen(filename, "r"); - if (!tif) return 0; - - /* flip orientation so that image comes in X order */ -@@ -107,6 +198,11 @@ - TIFFGetFieldDefaulted(tif, TIFFTAG_BITSPERSAMPLE, &bps); - TIFFGetField(tif, TIFFTAG_PHOTOMETRIC, &photo); - TIFFGetFieldDefaulted(tif, TIFFTAG_SAMPLESPERPIXEL, &spp); -+ if ((TIFFGetField(tif, TIFFTAG_XRESOLUTION, &xres) == 1) && -+ (TIFFGetField(tif, TIFFTAG_YRESOLUTION, &yres) == 1)) { -+ normaspect = yres / xres; -+ if (DEBUG) fprintf(stderr,"TIFF aspect = %f\n", normaspect); -+ } - - if (spp == 1) { - pic8 = loadPalette(tif, w, h, photo, bps, pinfo); -@@ -116,19 +212,19 @@ - - /* try to get comments, if any */ - pinfo->comment = (char *) NULL; -- -+ - desc = (char *) NULL; - - TIFFGetField(tif, TIFFTAG_IMAGEDESCRIPTION, &desc); - if (desc && strlen(desc) > (size_t) 0) { - /* kludge: tiff library seems to return bizarre comments */ -- if (strlen(desc)==4 && strcmp(desc, "\367\377\353\370")==0) {} -+ if (strlen(desc)==4 && strcmp(desc, "\367\377\353\370")==0) {} - else { - pinfo->comment = (char *) malloc(strlen(desc) + 1); - if (pinfo->comment) strcpy(pinfo->comment, desc); - } - } -- -+ - TIFFClose(tif); - - /* un-kludge */ -@@ -139,6 +235,8 @@ - if (pic8) free(pic8); - if (pinfo->comment) free(pinfo->comment); - pinfo->comment = (char *) NULL; -+ if (!quick && nump>1) KillPageFiles(tmpname, nump); -+ SetCursors(-1); - return 0; - } - -@@ -148,15 +246,178 @@ - pinfo->normw = pinfo->w; pinfo->normh = pinfo->h; - pinfo->frmType = F_TIFF; - -+ if (nump>1) strcpy(pinfo->pagebname, tmpname); -+ pinfo->numpages = nump; - - if (pinfo->pic) return 1; - -+ - /* failed. if we malloc'd a comment, free it */ - if (pinfo->comment) free(pinfo->comment); - pinfo->comment = (char *) NULL; - -+ if (!quick && nump>1) KillPageFiles(tmpname, nump); -+ SetCursors(-1); -+ - return 0; --} -+} -+ -+ -+ -+ -+/*******************************************/ -+ -+#define CopyField(tag, v) \ -+ if (TIFFGetField(in, tag, &v)) TIFFSetField(out, tag, v) -+#define CopyField2(tag, v1, v2) \ -+ if (TIFFGetField(in, tag, &v1, &v2)) TIFFSetField(out, tag, v1, v2) -+#define CopyField3(tag, v1, v2, v3) \ -+ if (TIFFGetField(in, tag, &v1, &v2, &v3)) TIFFSetField(out, tag, v1, v2, v3) -+ -+ -+/*******************************************/ -+static int copyTiff(in, fname) -+ TIFF *in; -+ char *fname; -+{ -+ /* copies tiff (sub)image to given filename. (Used only for multipage -+ images.) Returns 0 on error */ -+ -+ TIFF *out; -+ short bitspersample, samplesperpixel, shortv, *shortav; -+ uint32 w, l; -+ float floatv, *floatav; -+ char *stringv; -+ uint32 longv; -+ uint16 *red, *green, *blue, shortv2; -+ int rv; -+ -+ out = TIFFOpen(fname, "w"); -+ if (!out) return 0; -+ -+ if (TIFFGetField(in, TIFFTAG_COMPRESSION, &shortv)){ -+ /* Currently, the TIFF Library cannot correctly copy TIFF version 6.0 (or -+ * earlier) files that use "old" JPEG compression, so don't even try. */ -+ if (shortv == COMPRESSION_OJPEG) return 0; -+ TIFFSetField(out, TIFFTAG_COMPRESSION, shortv); -+ } -+ CopyField (TIFFTAG_SUBFILETYPE, longv); -+ CopyField (TIFFTAG_TILEWIDTH, w); -+ CopyField (TIFFTAG_TILELENGTH, l); -+ CopyField (TIFFTAG_IMAGEWIDTH, w); -+ CopyField (TIFFTAG_IMAGELENGTH, l); -+ CopyField (TIFFTAG_BITSPERSAMPLE, bitspersample); -+ CopyField (TIFFTAG_PREDICTOR, shortv); -+ CopyField (TIFFTAG_PHOTOMETRIC, shortv); -+ CopyField (TIFFTAG_THRESHHOLDING, shortv); -+ CopyField (TIFFTAG_FILLORDER, shortv); -+ CopyField (TIFFTAG_ORIENTATION, shortv); -+ CopyField (TIFFTAG_SAMPLESPERPIXEL, samplesperpixel); -+ CopyField (TIFFTAG_MINSAMPLEVALUE, shortv); -+ CopyField (TIFFTAG_MAXSAMPLEVALUE, shortv); -+ CopyField (TIFFTAG_XRESOLUTION, floatv); -+ CopyField (TIFFTAG_YRESOLUTION, floatv); -+ CopyField (TIFFTAG_GROUP3OPTIONS, longv); -+ CopyField (TIFFTAG_GROUP4OPTIONS, longv); -+ CopyField (TIFFTAG_RESOLUTIONUNIT, shortv); -+ CopyField (TIFFTAG_PLANARCONFIG, shortv); -+ CopyField (TIFFTAG_ROWSPERSTRIP, longv); -+ CopyField (TIFFTAG_XPOSITION, floatv); -+ CopyField (TIFFTAG_YPOSITION, floatv); -+ CopyField (TIFFTAG_IMAGEDEPTH, longv); -+ CopyField (TIFFTAG_TILEDEPTH, longv); -+ CopyField2(TIFFTAG_EXTRASAMPLES, shortv, shortav); -+ CopyField3(TIFFTAG_COLORMAP, red, green, blue); -+ CopyField2(TIFFTAG_PAGENUMBER, shortv, shortv2); -+ CopyField (TIFFTAG_ARTIST, stringv); -+ CopyField (TIFFTAG_IMAGEDESCRIPTION, stringv); -+ CopyField (TIFFTAG_MAKE, stringv); -+ CopyField (TIFFTAG_MODEL, stringv); -+ CopyField (TIFFTAG_SOFTWARE, stringv); -+ CopyField (TIFFTAG_DATETIME, stringv); -+ CopyField (TIFFTAG_HOSTCOMPUTER, stringv); -+ CopyField (TIFFTAG_PAGENAME, stringv); -+ CopyField (TIFFTAG_DOCUMENTNAME, stringv); -+ CopyField2(TIFFTAG_JPEGTABLES, longv, stringv); -+ CopyField (TIFFTAG_YCBCRCOEFFICIENTS, floatav); -+ CopyField2(TIFFTAG_YCBCRSUBSAMPLING, shortv,shortv2); -+ CopyField (TIFFTAG_YCBCRPOSITIONING, shortv); -+ CopyField (TIFFTAG_REFERENCEBLACKWHITE, floatav); -+ -+ if (TIFFIsTiled(in)) rv = cpTiles (in, out); -+ else rv = cpStrips(in, out); -+ -+ TIFFClose(out); -+ return rv; -+} -+ -+ -+/*******************************************/ -+static int cpStrips(in, out) -+ TIFF *in, *out; -+{ -+ tsize_t bufsize; -+ byte *buf; -+ -+ bufsize = TIFFStripSize(in); -+ if (bufsize <= 0) return 0; /* tsize_t is signed */ -+ buf = (byte *) malloc((size_t) bufsize); -+ if (buf) { -+ tstrip_t s, ns = TIFFNumberOfStrips(in); -+ uint32 *bytecounts; -+ -+ TIFFGetField(in, TIFFTAG_STRIPBYTECOUNTS, &bytecounts); -+ for (s = 0; s < ns; s++) { -+ if (bytecounts[s] > bufsize) { -+ buf = (unsigned char *) realloc(buf, (size_t) bytecounts[s]); -+ if (!buf) return (0); -+ bufsize = bytecounts[s]; -+ } -+ if (TIFFReadRawStrip (in, s, buf, (tsize_t) bytecounts[s]) < 0 || -+ TIFFWriteRawStrip(out, s, buf, (tsize_t) bytecounts[s]) < 0) { -+ free(buf); -+ return 0; -+ } -+ } -+ free(buf); -+ return 1; -+ } -+ return 0; -+} -+ -+ -+/*******************************/ -+static int cpTiles(in, out) -+ TIFF *in, *out; -+{ -+ tsize_t bufsize; -+ byte *buf; -+ -+ bufsize = TIFFTileSize(in); -+ if (bufsize <= 0) return 0; /* tsize_t is signed */ -+ buf = (unsigned char *) malloc((size_t) bufsize); -+ if (buf) { -+ ttile_t t, nt = TIFFNumberOfTiles(in); -+ uint32 *bytecounts; -+ -+ TIFFGetField(in, TIFFTAG_TILEBYTECOUNTS, &bytecounts); -+ for (t = 0; t < nt; t++) { -+ if (bytecounts[t] > bufsize) { -+ buf = (unsigned char *)realloc(buf, (size_t) bytecounts[t]); -+ if (!buf) return (0); -+ bufsize = bytecounts[t]; -+ } -+ if (TIFFReadRawTile (in, t, buf, (tsize_t) bytecounts[t]) < 0 || -+ TIFFWriteRawTile(out, t, buf, (tsize_t) bytecounts[t]) < 0) { -+ free(buf); -+ return 0; -+ } -+ } -+ free(buf); -+ return 1; -+ } -+ return 0; -+} - - - /*******************************************/ -@@ -167,6 +428,7 @@ - PICINFO *pinfo; - { - byte *pic8; -+ uint32 npixels; - - switch (photo) { - case PHOTOMETRIC_PALETTE: -@@ -178,7 +440,7 @@ - case PHOTOMETRIC_MINISWHITE: - case PHOTOMETRIC_MINISBLACK: - pinfo->colType = (bps==1) ? F_BWDITHER : F_GREYSCALE; -- sprintf(pinfo->fullInfo,"TIFF, %u-bit, %s format. (%ld bytes)", -+ sprintf(pinfo->fullInfo,"TIFF, %u-bit, %s format. (%ld bytes)", - bps, - photo == PHOTOMETRIC_MINISWHITE ? "min-is-white" : - "min-is-black", -@@ -186,9 +448,16 @@ - break; - } - -- sprintf(pinfo->shrtInfo, "%ux%u TIFF.",w,h); -+ sprintf(pinfo->shrtInfo, "%ux%u TIFF.",(u_int) w, (u_int) h); -+ -+ npixels = w*h; -+ if (npixels/w != h) { -+ /* SetISTR(ISTR_WARNING, "loadPalette() - image dimensions too large"); */ -+ TIFFError(filename, "Image dimensions too large"); -+ return (byte *) NULL; -+ } - -- pic8 = (byte *) malloc((size_t) w*h); -+ pic8 = (byte *) malloc((size_t) npixels); - if (!pic8) FatalError("loadPalette() - couldn't malloc 'pic8'"); - - if (loadImage(tif, w, h, pic8, 0)) return pic8; -@@ -205,19 +474,28 @@ - PICINFO *pinfo; - { - byte *pic24, *pic8; -+ uint32 npixels, count; - - pinfo->colType = F_FULLCOLOR; -- sprintf(pinfo->fullInfo, "TIFF, %u-bit, %s format. (%ld bytes)", -+ sprintf(pinfo->fullInfo, "TIFF, %u-bit, %s format. (%ld bytes)", - bps, - (photo == PHOTOMETRIC_RGB ? "RGB" : - photo == PHOTOMETRIC_YCBCR ? "YCbCr" : - "???"), - filesize); - -- sprintf(pinfo->shrtInfo, "%ux%u TIFF.",w,h); -+ sprintf(pinfo->shrtInfo, "%ux%u TIFF.",(u_int) w, (u_int) h); -+ -+ npixels = w*h; -+ count = 3*npixels; -+ if (npixels/w != h || count/3 != npixels) { -+ /* SetISTR(ISTR_WARNING, "loadPalette() - image dimensions too large"); */ -+ TIFFError(filename, "Image dimensions too large"); -+ return (byte *) NULL; -+ } - - /* allocate 24-bit image */ -- pic24 = (byte *) malloc((size_t) w*h*3); -+ pic24 = (byte *) malloc((size_t) count); - if (!pic24) FatalError("loadColor() - couldn't malloc 'pic24'"); - - pic8 = (byte *) NULL; -@@ -249,7 +527,7 @@ - vsprintf(cp, fmt, ap); - strcat(cp, "."); - -- SetISTR(ISTR_WARNING,buf); -+ SetISTR(ISTR_WARNING, "%s", buf); - - error_occurred = 1; - } -@@ -273,7 +551,7 @@ - vsprintf(cp, fmt, ap); - strcat(cp, "."); - -- SetISTR(ISTR_WARNING,buf); -+ SetISTR(ISTR_WARNING, "%s", buf); - } - - -@@ -301,10 +579,14 @@ - static byte **BWmap; - static byte **PALmap; - --typedef void (*tileContigRoutine) PARM((byte*, u_char*, RGBvalue*, -+/* XXX Work around some collisions with the new library. */ -+#define tileContigRoutine _tileContigRoutine -+#define tileSeparateRoutine _tileSeparateRoutine -+ -+typedef void (*tileContigRoutine) PARM((byte*, u_char*, RGBvalue*, - uint32, uint32, int, int)); - --typedef void (*tileSeparateRoutine) PARM((byte*, u_char*, u_char*, u_char*, -+typedef void (*tileSeparateRoutine) PARM((byte*, u_char*, u_char*, u_char*, - RGBvalue*, uint32, uint32, int, int)); - - -@@ -312,13 +594,13 @@ - - static int gt PARM((TIFF *, uint32, uint32, byte *)); - static uint32 setorientation PARM((TIFF *, uint32)); --static int gtTileContig PARM((TIFF *, byte *, RGBvalue *, -+static int gtTileContig PARM((TIFF *, byte *, RGBvalue *, - uint32, uint32, int)); --static int gtTileSeparate PARM((TIFF *, byte *, RGBvalue *, -+static int gtTileSeparate PARM((TIFF *, byte *, RGBvalue *, - uint32, uint32, int)); --static int gtStripContig PARM((TIFF *, byte *, RGBvalue *, -+static int gtStripContig PARM((TIFF *, byte *, RGBvalue *, - uint32, uint32, int)); --static int gtStripSeparate PARM((TIFF *, byte *, RGBvalue *, -+static int gtStripSeparate PARM((TIFF *, byte *, RGBvalue *, - uint32, uint32, int)); - - static int makebwmap PARM((void)); -@@ -340,7 +622,7 @@ - uint32, uint32, int, int)); - static void put4bitbwtile PARM((byte *, u_char *, RGBvalue *, - uint32, uint32, int, int)); --static void put16bitbwtile PARM((byte *, u_char *, RGBvalue *, -+static void put16bitbwtile PARM((byte *, u_short *, RGBvalue *, - uint32, uint32, int, int)); - - static void putRGBcontig8bittile PARM((byte *, u_char *, RGBvalue *, -@@ -349,22 +631,38 @@ - static void putRGBcontig16bittile PARM((byte *, u_short *, RGBvalue *, - uint32, uint32, int, int)); - --static void putRGBseparate8bittile PARM((byte *, u_char *, u_char *, -- u_char *, RGBvalue *, -+static void putRGBseparate8bittile PARM((byte *, u_char *, u_char *, -+ u_char *, RGBvalue *, - uint32, uint32, int, int)); - --static void putRGBseparate16bittile PARM((byte *, u_short *, u_short *, -- u_short *, RGBvalue *, -+static void putRGBseparate16bittile PARM((byte *, u_short *, u_short *, -+ u_short *, RGBvalue *, - uint32, uint32, int, int)); - - --static void initYCbCrConversion PARM((void)); -+static void initYCbCrConversion PARM((void)); - --static void putRGBContigYCbCrClump PARM((byte *, u_char *, int, int, -- uint32, int, int, int)); -+static void putRGBContigYCbCrClump PARM((byte *, u_char *, int, int, -+ uint32, int, int, int)); - --static void putcontig8bitYCbCrtile PARM((byte *, u_char *, RGBvalue *, -- uint32, uint32, int, int)); -+static void putRGBSeparateYCbCrClump PARM((byte *, u_char *, u_char *, -+ u_char *, int, int, uint32, int, -+ int, int)); -+ -+static void putRGBSeparate16bitYCbCrClump PARM((byte *, u_short *, u_short *, -+ u_short *, int, int, uint32, -+ int, int, int)); -+ -+static void putcontig8bitYCbCrtile PARM((byte *, u_char *, RGBvalue *, -+ uint32, uint32, int, int)); -+ -+static void putYCbCrseparate8bittile PARM((byte *, u_char *, u_char *, -+ u_char *, RGBvalue *, -+ uint32, uint32, int, int)); -+ -+static void putYCbCrseparate16bittile PARM((byte *, u_short *, u_short *, -+ u_short *, RGBvalue *, -+ uint32, uint32, int, int)); - - static tileContigRoutine pickTileContigCase PARM((RGBvalue *)); - static tileSeparateRoutine pickTileSeparateCase PARM((RGBvalue *)); -@@ -382,28 +680,28 @@ - - TIFFGetFieldDefaulted(tif, TIFFTAG_BITSPERSAMPLE, &bitspersample); - switch (bitspersample) { -- case 1: -- case 2: -+ case 1: -+ case 2: - case 4: -- case 8: -+ case 8: - case 16: break; - - default: - TIFFError(TIFFFileName(tif), -- "Sorry, can not handle %d-bit pictures", bitspersample); -+ "Sorry, cannot handle %d-bit pictures", bitspersample); - return (0); - } - - - TIFFGetFieldDefaulted(tif, TIFFTAG_SAMPLESPERPIXEL, &samplesperpixel); - switch (samplesperpixel) { -- case 1: -- case 3: -+ case 1: -+ case 3: - case 4: break; - - default: - TIFFError(TIFFFileName(tif), -- "Sorry, can not handle %d-channel images", samplesperpixel); -+ "Sorry, cannot handle %d-channel images", samplesperpixel); - return (0); - } - -@@ -462,39 +760,81 @@ - uint32 w, h; - byte *raster; - { -+#ifdef USE_LIBJPEG_FOR_TIFF_YCbCr_RGB_CONVERSION -+ u_short compression; -+#endif - u_short minsamplevalue, maxsamplevalue, planarconfig; - RGBvalue *Map; - int bpp = 1, e; - int x, range; - -+#ifdef USE_LIBJPEG_FOR_TIFF_YCbCr_RGB_CONVERSION -+ TIFFGetField(tif, TIFFTAG_COMPRESSION, &compression); -+#endif -+ TIFFGetField(tif, TIFFTAG_PLANARCONFIG, &planarconfig); - TIFFGetFieldDefaulted(tif, TIFFTAG_MINSAMPLEVALUE, &minsamplevalue); - TIFFGetFieldDefaulted(tif, TIFFTAG_MAXSAMPLEVALUE, &maxsamplevalue); - Map = NULL; -- -+ - switch (photometric) { - case PHOTOMETRIC_YCBCR: -- TIFFGetFieldDefaulted(tif, TIFFTAG_YCBCRCOEFFICIENTS, -- &YCbCrCoeffs); -- TIFFGetFieldDefaulted(tif, TIFFTAG_YCBCRSUBSAMPLING, -- &YCbCrHorizSampling, &YCbCrVertSampling); -- TIFFGetFieldDefaulted(tif, TIFFTAG_REFERENCEBLACKWHITE, -- &refBlackWhite); -- initYCbCrConversion(); -+#ifdef USE_LIBJPEG_FOR_TIFF_YCbCr_RGB_CONVERSION -+ if (compression == COMPRESSION_JPEG -+#ifdef LIBTIFF_HAS_OLDJPEG_SUPPORT -+ || compression == COMPRESSION_OJPEG -+#endif -+ ) { -+ /* FIXME: Remove the following test as soon as TIFF Library is fixed! -+ * (Currently [June 2002] this requires supporting patches in both -+ * tif_ojpeg.c and tif_jpeg.c in order to support subsampled YCbCr -+ * images having separated color planes.) */ -+ if (planarconfig == PLANARCONFIG_CONTIG) { -+ /* can rely on libjpeg to convert to RGB (assuming newer libtiff, -+ * compiled with appropriate forms of JPEG support) */ -+ TIFFSetField(tif, TIFFTAG_JPEGCOLORMODE, JPEGCOLORMODE_RGB); -+ photometric = PHOTOMETRIC_RGB; -+ } else { -+ TIFFError(filename, "Cannot handle format"); -+ return (0); -+ } -+ } else -+#endif // USE_LIBJPEG_FOR_TIFF_YCbCr_RGB_CONVERSION -+ { -+ TIFFGetFieldDefaulted(tif, TIFFTAG_YCBCRCOEFFICIENTS, &YCbCrCoeffs); -+ TIFFGetFieldDefaulted(tif, TIFFTAG_YCBCRSUBSAMPLING, -+ &YCbCrHorizSampling, &YCbCrVertSampling); -+ -+ /* According to the TIFF specification, if no "ReferenceBlackWhite" -+ * tag is present in the input file, "TIFFGetFieldDefaulted()" returns -+ * default reference black and white levels suitable for PHOTOMETRIC_RGB; -+ * namely: <0,255,0,255,0,255>. But for PHOTOMETRIC_YCBCR in JPEG -+ * images, the usual default (e.g., corresponding to the behavior of the -+ * IJG libjpeg) is: <0,255,128,255,128,255>. Since libtiff doesn't have -+ * a clean, standard interface for making this repair, the following -+ * slightly dirty code installs the default. --Scott Marovich, -+ * Hewlett-Packard Labs, 9/2001. -+ */ -+ if (!TIFFGetField(tif, TIFFTAG_REFERENCEBLACKWHITE, &refBlackWhite)) { -+ TIFFGetFieldDefaulted(tif, TIFFTAG_REFERENCEBLACKWHITE, &refBlackWhite); -+ refBlackWhite[4] = refBlackWhite[2] = 1 << (bitspersample - 1); -+ } -+ TIFFGetFieldDefaulted(tif, TIFFTAG_REFERENCEBLACKWHITE, &refBlackWhite); -+ initYCbCrConversion(); -+ } - /* fall thru... */ -- -+ - case PHOTOMETRIC_RGB: - bpp *= 3; - if (minsamplevalue == 0 && maxsamplevalue == 255) - break; -- -+ - /* fall thru... */ - case PHOTOMETRIC_MINISBLACK: - case PHOTOMETRIC_MINISWHITE: - range = maxsamplevalue - minsamplevalue; - Map = (RGBvalue *)malloc((range + 1) * sizeof (RGBvalue)); - if (Map == NULL) { -- TIFFError(filename, -- "No space for photometric conversion table"); -+ TIFFError(filename, "No space for photometric conversion table"); - return (0); - } - -@@ -509,7 +849,7 @@ - if (range<256) { - for (x=0; x<=range; x++) rmap[x] = gmap[x] = bmap[x] = Map[x]; - } else { -- for (x=0; x<256; x++) -+ for (x=0; x<256; x++) - rmap[x] = gmap[x] = bmap[x] = Map[(range*x)/255]; - } - -@@ -529,8 +869,7 @@ - case PHOTOMETRIC_PALETTE: - if (!TIFFGetField(tif, TIFFTAG_COLORMAP, - &redcmap, &greencmap, &bluecmap)) { -- TIFFError(filename, -- "Missing required \"Colormap\" tag"); -+ TIFFError(filename, "Missing required \"Colormap\" tag"); - return (0); - } - -@@ -571,7 +910,6 @@ - return (0); - } - -- TIFFGetField(tif, TIFFTAG_PLANARCONFIG, &planarconfig); - if (planarconfig == PLANARCONFIG_SEPARATE && samplesperpixel > 1) { - e = TIFFIsTiled(tif) ? gtTileSeparate (tif, raster, Map, h, w, bpp) : - gtStripSeparate(tif, raster, Map, h, w, bpp); -@@ -590,6 +928,8 @@ - TIFF *tif; - uint32 h; - { -+ /* note that orientation was flipped in LoadTIFF() (near line 175) */ -+ - uint32 y; - - TIFFGetFieldDefaulted(tif, TIFFTAG_ORIENTATION, &orientation); -@@ -613,6 +953,11 @@ - orientation = ORIENTATION_TOPLEFT; - /* fall thru... */ - case ORIENTATION_TOPLEFT: -+ /* GRR 20050319: This may be wrong for tiled images (also stripped?); -+ * looks like we want to return th-1 instead of h-1 in at least some -+ * cases. For now, just added quick hack (USE_TILED_TIFF_BOTLEFT_FIX) -+ * to gtTileContig(). (Note that, as of libtiff 3.7.1, tiffcp still -+ * has exactly the same bug.) */ - y = h-1; - break; - } -@@ -623,11 +968,11 @@ - - - /* -- * Get an tile-organized image that has -+ * Get a tile-organized image that has - * PlanarConfiguration contiguous if SamplesPerPixel > 1 - * or - * SamplesPerPixel == 1 -- */ -+ */ - /*******************************************/ - static int gtTileContig(tif, raster, Map, h, w, bpp) - TIFF *tif; -@@ -642,11 +987,14 @@ - int fromskew, toskew; - u_int nrow; - tileContigRoutine put; -+ tsize_t bufsize; - - put = pickTileContigCase(Map); - if (put == 0) return (0); - -- buf = (u_char *) malloc((size_t) TIFFTileSize(tif)); -+ bufsize = TIFFTileSize(tif); -+ if (bufsize <= 0) return 0; /* tsize_t is signed */ -+ buf = (u_char *) malloc((size_t) bufsize); - if (buf == 0) { - TIFFError(filename, "No space for tile buffer"); - return (0); -@@ -655,12 +1003,27 @@ - TIFFGetField(tif, TIFFTAG_TILEWIDTH, &tw); - TIFFGetField(tif, TIFFTAG_TILELENGTH, &th); - y = setorientation(tif, h); -+#ifdef USE_TILED_TIFF_BOTLEFT_FIX /* image _originally_ ORIENTATION_BOTLEFT */ -+ /* this fix causes tiles as a whole to be placed starting at the top, -+ * regardless of orientation; the only difference is what happens within -+ * a given tile (see toskew, below) */ -+ /* GRR FIXME: apply globally in setorientation()? */ -+ if (orientation == ORIENTATION_TOPLEFT) -+ y = th-1; -+#endif -+ /* toskew causes individual tiles to copy from bottom to top for -+ * ORIENTATION_TOPLEFT and from top to bottom otherwise */ - toskew = (orientation == ORIENTATION_TOPLEFT ? -tw + -w : -tw + w); - - for (row = 0; row < h; row += th) { - nrow = (row + th > h ? h - row : th); - for (col = 0; col < w; col += tw) { -- if (TIFFReadTile(tif,buf,(uint32)col, (uint32)row, 0, 0) < 0 -+ /* -+ * This reads the tile at (col,row) into buf. "The data placed in buf -+ * are returned decompressed and, typically, in the native byte- and -+ * bit-ordering, but are otherwise packed." -+ */ -+ if (TIFFReadTile(tif, buf, (uint32)col, (uint32)row, 0, 0) < 0 - && stoponerr) break; - - if (col + tw > w) { -@@ -670,14 +1033,18 @@ - */ - uint32 npix = w - col; - fromskew = tw - npix; -- (*put)(raster + (y*w + col)*bpp, buf, Map, npix, (uint32) nrow, -- fromskew, (int) ((toskew + fromskew)*bpp)); -+ (*put)(raster + (y*w + col)*bpp, buf, Map, npix, (uint32) nrow, -+ fromskew, (int) ((toskew + fromskew)*bpp) ); - } else -- (*put)(raster + (y*w + col)*bpp, buf, Map, tw, (uint32) nrow, -+ (*put)(raster + (y*w + col)*bpp, buf, Map, tw, (uint32) nrow, - 0, (int) (toskew*bpp)); - } - -+#ifdef USE_TILED_TIFF_BOTLEFT_FIX /* image _originally_ ORIENTATION_BOTLEFT */ -+ y += nrow; -+#else - y += (orientation == ORIENTATION_TOPLEFT ? -nrow : nrow); -+#endif - } - free(buf); - return (1); -@@ -687,11 +1054,11 @@ - - - /* -- * Get an tile-organized image that has -+ * Get a tile-organized image that has - * SamplesPerPixel > 1 - * PlanarConfiguration separated - * We assume that all such images are RGB. -- */ -+ */ - - /*******************************************/ - static int gtTileSeparate(tif, raster, Map, h, w, bpp) -@@ -701,20 +1068,26 @@ - uint32 h, w; - int bpp; - { -- uint32 col, row, y; - uint32 tw, th; -+ uint32 col, row, y; - u_char *buf; - u_char *r, *g, *b; -- int tilesize; -+ tsize_t tilesize; -+ uint32 bufsize; - int fromskew, toskew; - u_int nrow; - tileSeparateRoutine put; -- -+ - put = pickTileSeparateCase(Map); - if (put == 0) return (0); - - tilesize = TIFFTileSize(tif); -- buf = (u_char *)malloc((size_t) (3*tilesize)); -+ bufsize = 3*tilesize; -+ if (tilesize <= 0 || bufsize/3 != tilesize) { /* tsize_t is signed */ -+ TIFFError(filename, "Image dimensions too large"); -+ return 0; -+ } -+ buf = (u_char *) malloc((size_t) bufsize); - if (buf == 0) { - TIFFError(filename, "No space for tile buffer"); - return (0); -@@ -751,10 +1124,10 @@ - */ - uint32 npix = w - col; - fromskew = tw - npix; -- (*put)(raster + (y*w + col)*bpp, r, g, b, Map, npix, (uint32) nrow, -+ (*put)(raster + (y*w + col)*bpp, r, g, b, Map, npix, (uint32) nrow, - fromskew, (int) ((toskew + fromskew)*bpp)); - } else -- (*put)(raster + (y*w + col)*bpp, r, g, b, Map, tw, (uint32) nrow, -+ (*put)(raster + (y*w + col)*bpp, r, g, b, Map, tw, (uint32) nrow, - 0, (int) (toskew*bpp)); - } - y += (orientation == ORIENTATION_TOPLEFT ? -nrow : nrow); -@@ -768,7 +1141,7 @@ - * PlanarConfiguration contiguous if SamplesPerPixel > 1 - * or - * SamplesPerPixel == 1 -- */ -+ */ - /*******************************************/ - static int gtStripContig(tif, raster, Map, h, w, bpp) - TIFF *tif; -@@ -784,11 +1157,15 @@ - uint32 imagewidth; - int scanline; - int fromskew, toskew; -- -+ tsize_t bufsize; -+ - put = pickTileContigCase(Map); - if (put == 0) - return (0); -- buf = (u_char *) malloc((size_t) TIFFStripSize(tif)); -+ -+ bufsize = TIFFStripSize(tif); -+ if (bufsize <= 0) return 0; /* tsize_t is signed */ -+ buf = (u_char *) malloc((size_t) bufsize); - if (buf == 0) { - TIFFError(filename, "No space for strip buffer"); - return (0); -@@ -828,25 +1205,34 @@ - uint32 h, w; - int bpp; - { -+ uint32 nrow, row, y; - u_char *buf; - u_char *r, *g, *b; -- uint32 row, y, nrow; -+ tsize_t stripsize; -+ uint32 bufsize; -+ int fromskew, toskew; - int scanline; - tileSeparateRoutine put; - uint32 rowsperstrip; - uint32 imagewidth; -- u_int stripsize; -- int fromskew, toskew; -- -+ - stripsize = TIFFStripSize(tif); -- r = buf = (u_char *) malloc((size_t) 3*stripsize); -- if (buf == 0) -+ bufsize = 3*stripsize; -+ if (stripsize <= 0 || bufsize/3 != stripsize) { /* tsize_t is signed */ -+ TIFFError(filename, "Image dimensions too large"); -+ return 0; -+ } -+ buf = (u_char *) malloc((size_t) bufsize); -+ if (buf == 0) { -+ TIFFError(filename, "No space for strip buffer"); - return (0); -+ } -+ r = buf; - g = r + stripsize; - b = g + stripsize; - put = pickTileSeparateCase(Map); - if (put == 0) { -- TIFFError(filename, "Can not handle format"); -+ TIFFError(filename, "Cannot handle format"); - return (0); - } - y = setorientation(tif, h); -@@ -861,7 +1247,7 @@ - nrow = (row + rowsperstrip > h ? h - row : rowsperstrip); - band = 0; - if (TIFFReadEncodedStrip(tif, TIFFComputeStrip(tif, (uint32) row, band), -- (tdata_t) r, (tsize_t)(nrow*scanline)) < 0 -+ (tdata_t) r, (tsize_t)(nrow*scanline)) < 0 - && stoponerr) break; - - band = 1; -@@ -871,7 +1257,7 @@ - - band = 2; - if (TIFFReadEncodedStrip(tif, TIFFComputeStrip(tif, (uint32) row, band), -- (tdata_t) b, (tsize_t)(nrow*scanline)) < 0 -+ (tdata_t) b, (tsize_t)(nrow*scanline)) < 0 - && stoponerr) break; - - (*put)(raster + y*w*bpp, r, g, b, Map, w, nrow, fromskew, toskew*bpp); -@@ -886,7 +1272,7 @@ - /* - * Greyscale images with less than 8 bits/sample are handled - * with a table to avoid lots of shifts and masks. The table -- * is setup so that put*bwtile (below) can retrieve 8/bitspersample -+ * is set up so that put*bwtile (below) can retrieve 8/bitspersample - * pixel values simply by indexing into the table with one - * number. - */ -@@ -895,7 +1281,7 @@ - register int i; - int nsamples = 8 / bitspersample; - register byte *p; -- -+ - BWmap = (byte **)malloc( - 256*sizeof (byte *)+(256*nsamples*sizeof(byte))); - if (BWmap == NULL) { -@@ -938,18 +1324,18 @@ - - - /* -- * Palette images with <= 8 bits/sample are handled -- * with a table to avoid lots of shifts and masks. The table -- * is setup so that put*cmaptile (below) can retrieve 8/bitspersample -- * pixel values simply by indexing into the table with one -- * number. -+ * Palette images with <= 8 bits/sample are handled with -+ * a table to avoid lots of shifts and masks. The table -+ * is set up so that put*cmaptile (below) can retrieve -+ * (8/bitspersample) pixel-values simply by indexing into -+ * the table with one number. - */ - static int makecmap() - { - register int i; - int nsamples = 8 / bitspersample; - register byte *p; -- -+ - PALmap = (byte **)malloc( - 256*sizeof (byte *)+(256*nsamples*sizeof(byte))); - if (PALmap == NULL) { -@@ -994,7 +1380,7 @@ - /* - * The following routines move decoded data returned - * from the TIFF library into rasters filled with packed -- * ABGR pixels (i.e. suitable for passing to lrecwrite.) -+ * ABGR pixels (i.e., suitable for passing to lrecwrite.) - * - * The routines have been created according to the most - * important cases and optimized. pickTileContigCase and -@@ -1014,7 +1400,7 @@ - #define CASE4(x,op) switch (x) { case 3: op; case 2: op; case 1: op; } - - #define UNROLL8(w, op1, op2) { \ -- uint32 x; \ -+ uint32 x; \ - for (x = w; x >= 8; x -= 8) { \ - op1; \ - REPEAT8(op2); \ -@@ -1026,7 +1412,7 @@ - } - - #define UNROLL4(w, op1, op2) { \ -- register uint32 x; \ -+ uint32 x; \ - for (x = w; x >= 4; x -= 4) { \ - op1; \ - REPEAT4(op2); \ -@@ -1038,7 +1424,7 @@ - } - - #define UNROLL2(w, op1, op2) { \ -- register uint32 x; \ -+ uint32 x; \ - for (x = w; x >= 2; x -= 2) { \ - op1; \ - REPEAT2(op2); \ -@@ -1048,7 +1434,7 @@ - op2; \ - } \ - } -- -+ - - #define SKEW(r,g,b,skew) { r += skew; g += skew; b += skew; } - -@@ -1065,7 +1451,7 @@ - int fromskew, toskew; - { - while (h-- > 0) { -- UNROLL8(w,0, *cp++ = PALmap[*pp++][0]); -+ UNROLL8(w, , *cp++ = PALmap[*pp++][0]); - cp += toskew; - pp += fromskew; - } -@@ -1082,7 +1468,7 @@ - int fromskew, toskew; - { - register byte *bw; -- -+ - fromskew /= 2; - while (h-- > 0) { - UNROLL2(w, bw = PALmap[*pp++], *cp++ = *bw++); -@@ -1103,7 +1489,7 @@ - int fromskew, toskew; - { - register byte *bw; -- -+ - fromskew /= 4; - while (h-- > 0) { - UNROLL4(w, bw = PALmap[*pp++], *cp++ = *bw++); -@@ -1123,10 +1509,10 @@ - int fromskew, toskew; - { - register byte *bw; -- -+ - fromskew /= 8; - while (h-- > 0) { -- UNROLL8(w, bw = PALmap[*pp++], *cp++ = *bw++); -+ UNROLL8(w, bw = PALmap[*pp++], *cp++ = *bw++) - cp += toskew; - pp += fromskew; - } -@@ -1164,10 +1550,10 @@ - int fromskew, toskew; - { - register byte *bw; -- -+ - fromskew /= 8; - while (h-- > 0) { -- UNROLL8(w, bw = BWmap[*pp++], *cp++ = *bw++); -+ UNROLL8(w, bw = BWmap[*pp++], *cp++ = *bw++) - cp += toskew; - pp += fromskew; - } -@@ -1184,7 +1570,7 @@ - int fromskew, toskew; - { - register byte *bw; -- -+ - fromskew /= 4; - while (h-- > 0) { - UNROLL4(w, bw = BWmap[*pp++], *cp++ = *bw++); -@@ -1204,7 +1590,7 @@ - int fromskew, toskew; - { - register byte *bw; -- -+ - fromskew /= 2; - while (h-- > 0) { - UNROLL2(w, bw = BWmap[*pp++], *cp++ = *bw++); -@@ -1218,17 +1604,16 @@ - */ - static void put16bitbwtile(cp, pp, Map, w, h, fromskew, toskew) - byte *cp; -- u_char *pp; -+ u_short *pp; - RGBvalue *Map; - uint32 w, h; - int fromskew, toskew; - { - register uint32 x; -- -+ - while (h-- > 0) { - for (x=w; x>0; x--) { -- *cp++ = Map[(pp[0] << 8) + pp[1]]; -- pp += 2; -+ *cp++ = Map[*pp++]; - } - cp += toskew; - pp += fromskew; -@@ -1262,7 +1647,7 @@ - } - } else { - while (h-- > 0) { -- UNROLL8(w,0, -+ UNROLL8(w, , - *cp++ = pp[0]; - *cp++ = pp[1]; - *cp++ = pp[2]; -@@ -1284,7 +1669,7 @@ - int fromskew, toskew; - { - register u_int x; -- -+ - fromskew *= samplesperpixel; - if (Map) { - while (h-- > 0) { -@@ -1320,7 +1705,7 @@ - RGBvalue *Map; - uint32 w, h; - int fromskew, toskew; -- -+ - { - if (Map) { - while (h-- > 0) { -@@ -1335,7 +1720,7 @@ - } - } else { - while (h-- > 0) { -- UNROLL8(w,0, -+ UNROLL8(w, , - *cp++ = *r++; - *cp++ = *g++; - *cp++ = *b++; -@@ -1357,7 +1742,7 @@ - int fromskew, toskew; - { - uint32 x; -- -+ - if (Map) { - while (h-- > 0) { - for (x = w; x > 0; x--) { -@@ -1381,7 +1766,7 @@ - } - } - --#define Code2V(c, RB, RW, CR) ((((c)-(int)RB)*(float)CR)/(float)(RW-RB)) -+#define Code2V(c, RB, RW, CR) (((((int)c)-(int)RB)*(float)CR)/(float)(RW-RB)) - - #define CLAMP(f,min,max) \ - (int)((f)+.5 < (min) ? (min) : (f)+.5 > (max) ? (max) : (f)+.5) -@@ -1390,17 +1775,32 @@ - #define LumaGreen YCbCrCoeffs[1] - #define LumaBlue YCbCrCoeffs[2] - --static float D1, D2; --static float D3, D4, D5; -+static float D1, D2, D3, D4 /*, D5 */; - - - static void initYCbCrConversion() - { -+ /* -+ * Old, broken version (goes back at least to 19920426; made worse 19941222): -+ * YCbCrCoeffs[] = {0.299, 0.587, 0.114} -+ * D1 = 1.402 -+ * D2 = 0.714136 -+ * D3 = 1.772 -+ * D4 = 0.138691 <-- bogus -+ * D5 = 1.70358 <-- unnecessary -+ * -+ * New, fixed version (GRR 20050319): -+ * YCbCrCoeffs[] = {0.299, 0.587, 0.114} -+ * D1 = 1.402 -+ * D2 = 0.714136 -+ * D3 = 1.772 -+ * D4 = 0.344136 -+ */ - D1 = 2 - 2*LumaRed; - D2 = D1*LumaRed / LumaGreen; - D3 = 2 - 2*LumaBlue; -- D4 = D2*LumaBlue / LumaGreen; -- D5 = 1.0 / LumaGreen; -+ D4 = D3*LumaBlue / LumaGreen; /* ARGH, used to be D2*LumaBlue/LumaGreen ! */ -+/* D5 = 1.0 / LumaGreen; */ /* unnecessary */ - } - - static void putRGBContigYCbCrClump(cp, pp, cw, ch, w, n, fromskew, toskew) -@@ -1412,7 +1812,7 @@ - { - float Cb, Cr; - int j, k; -- -+ - Cb = Code2V(pp[n], refBlackWhite[2], refBlackWhite[3], 127); - Cr = Code2V(pp[n+1], refBlackWhite[4], refBlackWhite[5], 127); - for (j = 0; j < ch; j++) { -@@ -1421,8 +1821,24 @@ - Y = Code2V(*pp++, - refBlackWhite[0], refBlackWhite[1], 255); - R = Y + Cr*D1; -+/* G = Y*D5 - Cb*D4 - Cr*D2; highly bogus! */ -+ G = Y - Cb*D4 - Cr*D2; - B = Y + Cb*D3; -- G = Y*D5 - Cb*D4 - Cr*D2; -+ /* -+ * These are what the JPEG/JFIF equations--which aren't _necessarily_ -+ * what JPEG/TIFF uses but which seem close enough--are supposed to be, -+ * according to Avery Lee (e.g., see http://www.fourcc.org/fccyvrgb.php): -+ * -+ * R = Y + 1.402 (Cr-128) -+ * G = Y - 0.34414 (Cb-128) - 0.71414 (Cr-128) -+ * B = Y + 1.772 (Cb-128) -+ * -+ * Translated into xvtiff.c notation: -+ * -+ * R = Y + Cr*D1 -+ * G = Y - Cb*D4' - Cr*D2 (i.e., omit D5 and fix D4) -+ * B = Y + Cb*D3 -+ */ - cp[3*k+0] = CLAMP(R,0,255); - cp[3*k+1] = CLAMP(G,0,255); - cp[3*k+2] = CLAMP(B,0,255); -@@ -1432,6 +1848,62 @@ - } - } - -+static void putRGBSeparateYCbCrClump(cp, y, cb, cr, cw, ch, w, n, fromskew, toskew) -+ byte *cp; -+ u_char *y, *cb, *cr; -+ int cw, ch; -+ uint32 w; -+ int n, fromskew, toskew; -+{ -+ float Cb, Cr; -+ int j, k; -+ -+ Cb = Code2V(cb[0], refBlackWhite[2], refBlackWhite[3], 127); -+ Cr = Code2V(cr[0], refBlackWhite[4], refBlackWhite[5], 127); -+ for (j = 0; j < ch; j++) { -+ for (k = 0; k < cw; k++) { -+ float Y, R, G, B; -+ Y = Code2V(y[k], refBlackWhite[0], refBlackWhite[1], 255); -+ R = Y + Cr*D1; -+ G = Y - Cb*D4 - Cr*D2; -+ B = Y + Cb*D3; -+ cp[3*k+0] = CLAMP(R,0,255); -+ cp[3*k+1] = CLAMP(G,0,255); -+ cp[3*k+2] = CLAMP(B,0,255); -+ } -+ cp += w*3 + toskew; -+ y += w + ch*fromskew; -+ } -+} -+ -+static void putRGBSeparate16bitYCbCrClump(cp, y, cb, cr, cw, ch, w, n, fromskew, toskew) -+ byte *cp; -+ u_short *y, *cb, *cr; -+ int cw, ch; -+ uint32 w; -+ int n, fromskew, toskew; -+{ -+ float Cb, Cr; -+ int j, k; -+ -+ Cb = Code2V(cb[0], refBlackWhite[2], refBlackWhite[3], 127); -+ Cr = Code2V(cr[0], refBlackWhite[4], refBlackWhite[5], 127); -+ for (j = 0; j < ch; j++) { -+ for (k = 0; k < cw; k++) { -+ float Y, R, G, B; -+ Y = Code2V(y[k], refBlackWhite[0], refBlackWhite[1], 255); -+ R = Y + Cr*D1; -+ G = Y - Cb*D4 - Cr*D2; -+ B = Y + Cb*D3; -+ cp[3*k+0] = CLAMP(R,0,255); -+ cp[3*k+1] = CLAMP(G,0,255); -+ cp[3*k+2] = CLAMP(B,0,255); -+ } -+ cp += w*3 + toskew; -+ y += w + ch*fromskew; -+ } -+} -+ - #undef LumaBlue - #undef LumaGreen - #undef LumaRed -@@ -1452,7 +1924,7 @@ - u_int Coff = YCbCrVertSampling * YCbCrHorizSampling; - byte *tp; - uint32 x; -- -+ - /* XXX adjust fromskew */ - while (h >= YCbCrVertSampling) { - tp = cp; -@@ -1481,19 +1953,122 @@ - pp += Coff+2; - } - if (x > 0) -- putRGBContigYCbCrClump(tp, pp, (int) x, (int) h, w, -+ putRGBContigYCbCrClump(tp, pp, (int) x, (int) h, w, - (int)Coff, (int)(YCbCrHorizSampling-x),toskew); - } - } - - /* -+ * 8-bit unpacked YCbCr samples => RGB -+ */ -+static void putYCbCrseparate8bittile(cp, y, cb, cr, Map, w, h, fromskew, toskew) -+ byte *cp; -+ u_char *y, *cb, *cr; -+ RGBvalue *Map; -+ uint32 w, h; -+ int fromskew, toskew; -+{ -+ uint32 x; -+ int fromskew2 = fromskew/YCbCrHorizSampling; -+ -+ while (h >= YCbCrVertSampling) { -+ for (x = w; x >= YCbCrHorizSampling; x -= YCbCrHorizSampling) { -+ putRGBSeparateYCbCrClump(cp, y, cb, cr, YCbCrHorizSampling, -+ YCbCrVertSampling, w, 0, 0, toskew); -+ cp += 3*YCbCrHorizSampling; -+ y += YCbCrHorizSampling; -+ ++cb; -+ ++cr; -+ } -+ if (x > 0) { -+ putRGBSeparateYCbCrClump(cp, y, cb, cr, (int) x, YCbCrVertSampling, -+ w, 0, (int)(YCbCrHorizSampling - x), toskew); -+ cp += x*3; -+ y += YCbCrHorizSampling; -+ ++cb; -+ ++cr; -+ } -+ cp += (YCbCrVertSampling - 1)*w*3 + YCbCrVertSampling*toskew; -+ y += (YCbCrVertSampling - 1)*w + YCbCrVertSampling*fromskew; -+ cb += fromskew2; -+ cr += fromskew2; -+ h -= YCbCrVertSampling; -+ } -+ if (h > 0) { -+ for (x = w; x >= YCbCrHorizSampling; x -= YCbCrHorizSampling) { -+ putRGBSeparateYCbCrClump(cp, y, cb, cr, YCbCrHorizSampling, (int) h, -+ w, 0, 0, toskew); -+ cp += 3*YCbCrHorizSampling; -+ y += YCbCrHorizSampling; -+ ++cb; -+ ++cr; -+ } -+ if (x > 0) -+ putRGBSeparateYCbCrClump(cp, y, cb, cr, (int) x, (int) h, w, -+ 0, (int)(YCbCrHorizSampling-x),toskew); -+ } -+} -+ -+/* -+ * 16-bit unpacked YCbCr samples => RGB -+ */ -+static void putYCbCrseparate16bittile(cp, y, cb, cr, Map, w, h, fromskew, toskew) -+ byte *cp; -+ u_short *y, *cb, *cr; -+ RGBvalue *Map; -+ uint32 w, h; -+ int fromskew, toskew; -+{ -+ uint32 x; -+ int fromskew2 = fromskew/YCbCrHorizSampling; -+ -+ while (h >= YCbCrVertSampling) { -+ for (x = w; x >= YCbCrHorizSampling; x -= YCbCrHorizSampling) { -+ putRGBSeparate16bitYCbCrClump(cp, y, cb, cr, YCbCrHorizSampling, -+ YCbCrVertSampling, w, 0, 0, toskew); -+ cp += 3*YCbCrHorizSampling; -+ y += YCbCrHorizSampling; -+ ++cb; -+ ++cr; -+ } -+ if (x > 0) { -+ putRGBSeparate16bitYCbCrClump(cp, y, cb, cr, (int) x, YCbCrVertSampling, -+ w, 0, (int)(YCbCrHorizSampling - x), -+ toskew); -+ cp += x*3; -+ y += YCbCrHorizSampling; -+ ++cb; -+ ++cr; -+ } -+ cp += (YCbCrVertSampling - 1)*w*3 + YCbCrVertSampling*toskew; -+ y += (YCbCrVertSampling - 1)*w + YCbCrVertSampling*fromskew; -+ cb += fromskew2; -+ cr += fromskew2; -+ h -= YCbCrVertSampling; -+ } -+ if (h > 0) { -+ for (x = w; x >= YCbCrHorizSampling; x -= YCbCrHorizSampling) { -+ putRGBSeparate16bitYCbCrClump(cp, y, cb, cr, YCbCrHorizSampling, (int) h, -+ w, 0, 0, toskew); -+ cp += 3*YCbCrHorizSampling; -+ y += YCbCrHorizSampling; -+ ++cb; -+ ++cr; -+ } -+ if (x > 0) -+ putRGBSeparate16bitYCbCrClump(cp, y, cb, cr, (int) x, (int) h, w, -+ 0, (int)(YCbCrHorizSampling-x),toskew); -+ } -+} -+ -+/* - * Select the appropriate conversion routine for packed data. - */ - static tileContigRoutine pickTileContigCase(Map) - RGBvalue* Map; - { - tileContigRoutine put = 0; -- -+ - switch (photometric) { - case PHOTOMETRIC_RGB: - switch (bitspersample) { -@@ -1501,7 +2076,7 @@ - case 16: put = (tileContigRoutine) putRGBcontig16bittile; break; - } - break; -- -+ - case PHOTOMETRIC_PALETTE: - switch (bitspersample) { - case 8: put = put8bitcmaptile; break; -@@ -1514,7 +2089,7 @@ - case PHOTOMETRIC_MINISWHITE: - case PHOTOMETRIC_MINISBLACK: - switch (bitspersample) { -- case 16: put = put16bitbwtile; break; -+ case 16: put = (tileContigRoutine) put16bitbwtile; break; - case 8: put = putgreytile; break; - case 4: put = put4bitbwtile; break; - case 2: put = put2bitbwtile; break; -@@ -1529,7 +2104,7 @@ - break; - } - -- if (put==0) TIFFError(filename, "Can not handle format"); -+ if (put==0) TIFFError(filename, "Cannot handle format"); - return (put); - } - -@@ -1537,14 +2112,14 @@ - /* - * Select the appropriate conversion routine for unpacked data. - * -- * NB: we assume that unpacked single channel data is directed -- * to the "packed routines. -+ * NB: we assume that unpacked single-channel data is directed -+ * to the "packed" routines. - */ - static tileSeparateRoutine pickTileSeparateCase(Map) - RGBvalue* Map; - { - tileSeparateRoutine put = 0; -- -+ - switch (photometric) { - case PHOTOMETRIC_RGB: - switch (bitspersample) { -@@ -1552,12 +2127,41 @@ - case 16: put = (tileSeparateRoutine) putRGBseparate16bittile; break; - } - break; -+ -+ case PHOTOMETRIC_YCBCR: -+ switch (bitspersample) { -+ case 8: put = (tileSeparateRoutine) putYCbCrseparate8bittile; break; -+ case 16: put = (tileSeparateRoutine) putYCbCrseparate16bittile; break; -+ } -+ break; - } - -- if (put==0) TIFFError(filename, "Can not handle format"); -+ if (put==0) TIFFError(filename, "Cannot handle format"); - return (put); - } - - - -+/*******************************************/ -+void -+VersionInfoTIFF() /* GRR 19980605 */ -+{ -+ char temp[1024], *p, *q; -+ -+ strcpy(temp, TIFFGetVersion()); -+ p = temp; -+ while (!isdigit(*p)) -+ ++p; -+ if ((q = strchr(p, '\n')) != NULL) -+ *q = '\0'; -+ -+ fprintf(stderr, " Compiled with libtiff %s", p); -+#ifdef TIFFLIB_VERSION -+ fprintf(stderr, " of %d", TIFFLIB_VERSION); /* e.g., 19960307 */ -+#endif -+ fprintf(stderr, ".\n"); -+} -+ -+ -+ - #endif /* HAVE_TIFF */ -diff -ru xv-3.10a/xvtiffwr.c xv-3.10a-enhancements/xvtiffwr.c ---- xv-3.10a/xvtiffwr.c 1995-01-03 13:28:13.000000000 -0800 -+++ xv-3.10a-enhancements/xvtiffwr.c 2007-05-12 14:07:58.000000000 -0700 -@@ -9,15 +9,15 @@ - - #ifdef HAVE_TIFF - --#include "tiffio.h" /* has to be after xv.h, as it needs varargs/stdarg */ -+#include /* has to be after xv.h, as it needs varargs/stdarg */ - - - #define ALLOW_JPEG 0 /* set to '1' to allow 'JPEG' choice in dialog box */ - - - static void setupColormap PARM((TIFF *, byte *, byte *, byte *)); --static int WriteTIFF PARM((FILE *, byte *, int, int, int, -- byte *, byte *, byte *, int, int, -+static int WriteTIFF PARM((FILE *, byte *, int, int, int, -+ byte *, byte *, byte *, int, int, - char *, int, char *)); - - -@@ -29,7 +29,7 @@ - { - short red[256], green[256], blue[256]; - int i; -- -+ - /* convert 8-bit colormap to 16-bit */ - for (i=0; i<256; i++) { - #define SCALE(x) ((((int)x)*((1L<<16)-1))/255) -@@ -43,6 +43,7 @@ - - - /*******************************************/ -+/* Returns '0' if successful. */ - static int WriteTIFF(fp,pic,ptype,w,h,rmap,gmap,bmap,numcols,colorstyle, - fname,comp,comment) - FILE *fp; -@@ -55,6 +56,13 @@ - TIFF *tif; - byte *pix; - int i,j; -+ int npixels = w*h; -+ -+ if (w <= 0 || h <= 0 || npixels/w != h) { -+ SetISTR(ISTR_WARNING, "%s: image dimensions too large", fname); -+ /* TIFFError(fname, "Image dimensions too large"); */ -+ return -1; -+ } - - #ifndef VMS - tif = TIFFOpen(fname, "w"); -@@ -62,7 +70,7 @@ - tif = TIFFFdOpen(dup(fileno(fp)), fname, "w"); - #endif - -- if (!tif) return 0; -+ if (!tif) return -1; /* GRR: was 0 */ - - WaitCursor(); - -@@ -78,25 +86,36 @@ - TIFFSetField(tif, TIFFTAG_GROUP3OPTIONS, - GROUP3OPT_2DENCODING+GROUP3OPT_FILLBITS); - -+ if (comp == COMPRESSION_LZW) -+ TIFFSetField(tif, TIFFTAG_PREDICTOR, 2); -+ - TIFFSetField(tif, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG); - TIFFSetField(tif, TIFFTAG_SAMPLESPERPIXEL, 1); - TIFFSetField(tif, TIFFTAG_ORIENTATION, ORIENTATION_TOPLEFT); - TIFFSetField(tif, TIFFTAG_ROWSPERSTRIP, h); - - TIFFSetField(tif, TIFFTAG_RESOLUTIONUNIT, (int)2); -- TIFFSetField(tif, TIFFTAG_XRESOLUTION, (float)1200.0); -- TIFFSetField(tif, TIFFTAG_YRESOLUTION, (float)1200.0); -+ TIFFSetField(tif, TIFFTAG_XRESOLUTION, (float) 72.0); -+ TIFFSetField(tif, TIFFTAG_YRESOLUTION, (float) 72.0); - - - /* write the image data */ - - if (ptype == PIC24) { /* only have to deal with FULLCOLOR or GREYSCALE */ - if (colorstyle == F_FULLCOLOR) { -+ int count = 3*npixels; -+ -+ if (count/3 != npixels) { /* already know w, h, npixels > 0 */ -+ /* SetISTR(ISTR_WARNING, "%s: image dimensions too large", fname); */ -+ TIFFError(fname, "Image dimensions too large"); -+ return -1; -+ } -+ - TIFFSetField(tif, TIFFTAG_SAMPLESPERPIXEL, 3); - TIFFSetField(tif, TIFFTAG_BITSPERSAMPLE, 8); - TIFFSetField(tif, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_RGB); -- -- TIFFWriteEncodedStrip(tif, 0, pic, w*h*3); -+ -+ TIFFWriteEncodedStrip(tif, 0, pic, count); - } - - else { /* colorstyle == F_GREYSCALE */ -@@ -106,13 +125,13 @@ - TIFFSetField(tif, TIFFTAG_BITSPERSAMPLE, 8); - TIFFSetField(tif, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_MINISBLACK); - -- tpic = (byte *) malloc((size_t) w*h); -+ tpic = (byte *) malloc((size_t) npixels); - if (!tpic) FatalError("unable to malloc in WriteTIFF()"); - -- for (i=0, tp=tpic, sp=pic; i MONO(rmap[1],gmap[1],bmap[1])); - TIFFSetField(tif, TIFFTAG_BITSPERSAMPLE, 1); - TIFFSetField(tif, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_MINISBLACK); -- tpic = (byte *) malloc((size_t) TIFFStripSize(tif)); -+ stripsize = TIFFStripSize(tif); -+ if (stripsize <= 0) { -+ TIFFError(fname, "Image dimensions too large"); -+ return -1; -+ } -+ tpic = (byte *) malloc((size_t) stripsize); -+ if (tpic == 0) { -+ TIFFError(fname, "No space for strip buffer"); -+ return -1; -+ } - tp = tpic; - for (i=0, pix=pic; itype == KeyPress) { - XKeyEvent *e = (XKeyEvent *) xev; -- char buf[128]; KeySym ks; XComposeStatus status; -+ char buf[128]; KeySym ks; XComposeStatus status; - int stlen; -- -+ - stlen = XLookupString(e,buf,128,&ks,&status); - buf[stlen] = '\0'; - -@@ -350,7 +379,7 @@ - static void drawTD(x,y,w,h) - int x,y,w,h; - { -- char *title = "Save TIFF file..."; -+ const char *title = "Save TIFF file..."; - int i; - XRectangle xr; - -@@ -381,7 +410,7 @@ - /* check BUTTs */ - - /* check the RBUTTS first, since they don't DO anything */ -- if ( (i=RBClick(compRB, x,y)) >= 0) { -+ if ( (i=RBClick(compRB, x,y)) >= 0) { - (void) RBTrack(compRB, i); - return; - } -@@ -417,7 +446,7 @@ - } - } - break; -- -+ - case T_BCANC: TIFFDialog(0); break; - - default: break; -diff -ru xv-3.10a/xvxbm.c xv-3.10a-enhancements/xvxbm.c ---- xv-3.10a/xvxbm.c 1994-12-22 14:34:41.000000000 -0800 -+++ xv-3.10a-enhancements/xvxbm.c 2007-05-13 17:45:48.000000000 -0700 -@@ -25,9 +25,9 @@ - * move forward to next occurence of '0x' - * repeat - */ -- - --static int xbmError PARM((char *, char *)); -+ -+static int xbmError PARM((const char *, const char *)); - - - /*******************************************/ -@@ -44,7 +44,7 @@ - long filesize; - char line[256], name[256]; - byte hex[256]; -- char *bname; -+ const char *bname; - - k = 0; - -@@ -59,7 +59,7 @@ - - /* read width: skip lines until we hit a #define */ - while (1) { -- if (!fgets(line,256,fp)) -+ if (!fgets(line,256,fp)) - return(xbmError(bname, "EOF reached in header info.")); - - if (strncmp(line,"#define", (size_t) 7)==0 && -@@ -70,9 +70,9 @@ - - /* read height: skip lines until we hit another #define */ - while (1) { -- if (!fgets(line,256,fp)) -+ if (!fgets(line,256,fp)) - return(xbmError(bname, "EOF reached in header info.")); -- -+ - if (strncmp(line,"#define", (size_t) 7)==0 && - sscanf(line,"#define %s %d", name, &h)==2 && - xv_strstr(name, "_height") != NULL) break; -@@ -84,18 +84,18 @@ - c = getc(fp); c1 = getc(fp); - while (c1!=EOF && !(c=='0' && c1=='x') ) { c = c1; c1 = getc(fp); } - -- if (c1==EOF) -+ if (c1==EOF) - return(xbmError(bname, "No bitmap data found")); - -- if (w<1 || h<1 || w>10000 || h>10000) -+ if (w<1 || h<1 || w>10000 || h>10000) - return(xbmError(bname, "not an XBM file")); -- -- pic8 = (byte *) calloc((size_t) w*h, (size_t) 1); -+ -+ pic8 = (byte *) calloc((size_t) w*h, (size_t) 1); /* safe (10^8 max) */ - if (!pic8) return(xbmError(bname, "couldn't malloc 'pic8'")); - - /* load up the pinfo structure */ - pinfo->pic = pic8; -- pinfo->w = w; -+ pinfo->w = w; - pinfo->h = h; - pinfo->normw = pinfo->w; pinfo->normh = pinfo->h; - pinfo->type = PIC8; -@@ -120,18 +120,18 @@ - /* read/convert the image data */ - - for (i=0, pix=pic8; i 256) - pinfo->type = PIC24; - else - pinfo->type = PIC8; -- -+ - if (DEBUG) - printf("LoadXPM(): reading a %dx%d image (%d colors)\n", w, h, nc); -- -+ - /* We got this far... */ - WaitCursor(); -- -+ - if (!hash_init(nc)) - return (XpmLoadError(bname, "Not enough memory to hash colormap")); -- -+ - clmp = (hentry *) malloc(nc * sizeof(hentry)); /* Holds the colormap */ -- if (pinfo->type == PIC8) pic = (byte *) malloc((size_t) (w*h)); -- else pic = (byte *) malloc((size_t) (w*h*3)); -- -+ if (pinfo->type == PIC8) -+ pic = (byte *) malloc((size_t) npixels); -+ else { -+ int bufsize = 3*npixels; -+ if (bufsize/3 != npixels) -+ return (XpmLoadError(bname, "Image dimensions out of range")); -+ pic = (byte *) malloc((size_t) bufsize); -+ } -+ - if (!clmp || !pic) - return (XpmLoadError(bname, "Not enough memory to load pixmap")); -- -+ - c_sptr = clmp; - i_sptr = pic; -- -+ - /* initialize the 'hex' array for zippy ASCII-hex -> int conversion */ -- -+ - for (i = 0 ; i < 256 ; i++) hex[i] = 0; - for (i = '0'; i <= '9' ; i++) hex[i] = i - '0'; - for (i = 'a'; i <= 'f' ; i++) hex[i] = i - 'a' + 10; - for (i = 'A'; i <= 'F' ; i++) hex[i] = i - 'A' + 10; -- -+ - /* Again, we've made progress. */ - WaitCursor(); -- -+ - /* Now, we need to read the colormap. */ - pinfo->colType = F_BWDITHER; - for (i = 0 ; i < nc ; i++) { - while (((c = XpmGetc(fp))!=EOF) && (c != '"')) ; - if (c != '"') - return (XpmLoadError(bname, "Error reading colormap")); -- -+ - for (j = 0 ; j < cpp ; j++) - c_sptr->token[j] = XpmGetc(fp); - c_sptr->token[j] = '\0'; -- -+ - while (((c = XpmGetc(fp))!=EOF) && ((c == ' ') || (c == '\t'))) ; - if (c == EOF) /* The failure condition of getc() */ - return (XpmLoadError(bname, "Error parsing colormap line")); -- -+ - do { - char key[3]; -- char color[40]; /* Need to figure a good size for this... */ -- short hd; /* Hex digits per R, G, or B */ -- -+ char color[80]; /* Need to figure a good size for this... */ -+ -+/* -+ * Problem with spaces in color names -+ * -+ * X s Color Name m Other Name c Last Name -+ * -+ * ... this parser doesn't find `Any Name' -+ */ -+ - for (j=0; j<2 && (c != ' ') && (c != '\t') && (c != EOF); j++) { - key[j] = c; - c = XpmGetc(fp); -@@ -177,7 +195,7 @@ - if (c == EOF) /* The failure condition of getc() */ - return (XpmLoadError(bname, "Error parsing colormap line")); - -- for (j=0; j<39 && (c!=' ') && (c!='\t') && (c!='"') && c!=EOF; j++) { -+ for (j=0; j<79 && (c!=' ') && (c!='\t') && (c!='"') && c!=EOF; j++) { - color[j] = c; - c = XpmGetc(fp); - } -@@ -185,14 +203,14 @@ - - while ((c == ' ') || (c == '\t')) - c = XpmGetc(fp); -- -+ - if (DEBUG > 1) - printf("LoadXPM(): Got color key '%s', color '%s'\n", - key, color); -- -+ - if (key[0] == 's') /* Don't find a color for a symbolic name */ - continue; -- -+ - if (XParseColor(theDisp,theCmap,color,&col)) { - if (pinfo->type == PIC8) { - pinfo->r[i] = col.red >> 8; -@@ -201,8 +219,8 @@ - c_sptr->cv_index = i; - - /* Is there a better way to do this? */ -- if (pinfo->colType != F_FULLCOLOR) -- if (pinfo->colType == F_GREYSCALE) -+ if (pinfo->colType != F_FULLCOLOR) { -+ if (pinfo->colType == F_GREYSCALE) { - if (pinfo->r[i] == pinfo->g[i] && - pinfo->g[i] == pinfo->b[i]) - /* Still greyscale... */ -@@ -210,9 +228,9 @@ - else - /* It's color */ - pinfo->colType = F_FULLCOLOR; -- else -+ } else { - if (pinfo->r[i] == pinfo->g[i] && -- pinfo->g[i] == pinfo->b[i]) -+ pinfo->g[i] == pinfo->b[i]) { - if ((pinfo->r[i] == 0 || pinfo->r[i] == 0xff) && - (pinfo->g[i] == 0 || pinfo->g[i] == 0xff) && - (pinfo->b[i] == 0 || pinfo->b[i] == 0xff)) -@@ -221,10 +239,12 @@ - else - /* It's greyscale */ - pinfo->colType = F_GREYSCALE; -- else -+ } else - /* It's color */ - pinfo->colType = F_FULLCOLOR; -- -+ } -+ } -+ - } - else { /* PIC24 */ - c_sptr->cv_rgb[0] = col.red >> 8; -@@ -236,13 +256,13 @@ - else { /* 'None' or unrecognized color spec */ - int rgb; - -- if (strcmp(color, "None") == 0) rgb = 0xb2c0dc; /* infobg */ -+ if (strcasecmp(color, "None") == 0) rgb = 0xb2c0dc; /* infobg */ - else { - SetISTR(ISTR_INFO, "%s: unknown color spec '%s'", bname, color); - Timer(1000); - rgb = 0x808080; - } -- -+ - if (pinfo->type == PIC8) { - pinfo->r[i] = (rgb>>16) & 0xff; - pinfo->g[i] = (rgb>> 8) & 0xff; -@@ -256,39 +276,39 @@ - } - } - -- -+ - xvbcopy((char *) c_sptr, (char *) &item, sizeof(item)); - hash_insert(&item); -- -- if (DEBUG > 1) -+ -+ if (DEBUG > 1) - printf("LoadXPM(): Cmap entry %d, 0x%02x 0x%02x 0x%02x, token '%s'\n", - i, pinfo->r[i], pinfo->g[i], pinfo->b[i], c_sptr->token); -- -+ - if (*key == 'c') { /* This is the color entry, keep it. */ - while (c!='"' && c!=EOF) c = XpmGetc(fp); - break; - } -- -+ - } while (c != '"'); - c_sptr++; - - if (!(i%13)) WaitCursor(); - } /* for */ -- -+ - - if (DEBUG) - printf("LoadXPM(): Read and stored colormap.\n"); -- -+ - /* Now, read the pixmap. */ - for (i = 0 ; i < h ; i++) { - while (((c = XpmGetc(fp))!=EOF) && (c != '"')) ; - if (c != '"') - return (XpmLoadError(bname, "Error reading colormap")); -- -+ - for (j = 0 ; j < w ; j++) { - char pixel[TOKEN_LEN]; - hentry *mapentry; -- -+ - for (k = 0 ; k < cpp ; k++) - pixel[k] = XpmGetc(fp); - pixel[k] = '\0'; -@@ -300,7 +320,7 @@ - pixel); - return (XpmLoadError(bname, "Can't map resolve into colormap")); - } -- -+ - if (pinfo->type == PIC8) - *i_sptr++ = mapentry->cv_index; - else { -@@ -309,35 +329,36 @@ - *i_sptr++ = mapentry->cv_rgb[2]; - } - } /* for ( j < w ) */ -- (void)XpmGetc(fp); /* Throw away the close " */ -- -+ while (((c = XpmGetc(fp))!=EOF) && /* Throw away the close " and */ -+ (c != '"')); /* erase all remaining pixels */ -+ - if (!(i%7)) WaitCursor(); - } /* for ( i < h ) */ -- -+ - pinfo->pic = pic; - pinfo->normw = pinfo->w = w; - pinfo->normh = pinfo->h = h; - pinfo->frmType = F_XPM; - - if (DEBUG) printf("LoadXPM(): pinfo->colType is %d\n", pinfo->colType); -- -+ - sprintf(pinfo->fullInfo, "Xpm v3 Pixmap (%ld bytes)", filesize); - sprintf(pinfo->shrtInfo, "%dx%d Xpm.", w, h); - pinfo->comment = (char *)NULL; -- -+ - hash_destroy(); - free(clmp); -- -+ - if (fp != stdin) - fclose(fp); -- -+ - return(1); - } - - - /***************************************/ - static int XpmLoadError(fname, st) -- char *fname, *st; -+ const char *fname, *st; - { - SetISTR(ISTR_WARNING, "%s: %s", fname, st); - return 0; -@@ -349,17 +370,17 @@ - FILE *f; - { - int c, d, lastc; -- -+ - if (bufchar != -2) { - /* The last invocation of this routine read the character... */ - c = bufchar; - bufchar = -2; - return(c); - } -- -+ - if ((c = getc(f)) == EOF) - return(EOF); -- -+ - if (c == '"') - in_quote = !in_quote; - else if (!in_quote && c == '/') { /* might be a C-style comment */ -@@ -389,14 +410,14 @@ - - - /***************************************/ --static int hash(token) -+static int hash(token) - char *token; - { - int i, sum; - - for (i=sum=0; token[i] != '\0'; i++) - sum += token[i]; -- -+ - sum = sum % hash_len; - return (sum); - } -@@ -414,7 +435,7 @@ - */ - - int i; -- -+ - hash_len = 257; - - hashtab = (hentry **) malloc(sizeof(hentry *) * hash_len); -@@ -425,7 +446,7 @@ - - for (i = 0 ; i < hash_len ; i++) - hashtab[i] = NULL; -- -+ - return 1; - } - -@@ -436,22 +457,22 @@ - { - int key; - hentry *tmp; -- -+ - key = hash(entry->token); -- -+ - tmp = (hentry *) malloc(sizeof(hentry)); - if (!tmp) { - SetISTR(ISTR_WARNING, "Couldn't malloc hash entry in LoadXPM()!\n"); - return 0; - } -- -+ - xvbcopy((char *)entry, (char *)tmp, sizeof(hentry)); -- -+ - if (hashtab[key]) tmp->next = hashtab[key]; - else tmp->next = NULL; -- -+ - hashtab[key] = tmp; -- -+ - return 1; - } - -@@ -462,9 +483,9 @@ - { - int key; - hentry *tmp; -- -+ - key = hash(token); -- -+ - tmp = hashtab[key]; - while (tmp && strcmp(token, tmp->token)) { - tmp = tmp->next; -@@ -479,7 +500,7 @@ - { - int i; - hentry *tmp; -- -+ - for (i=0; inext; -@@ -487,7 +508,7 @@ - hashtab[i] = tmp; - } - } -- -+ - free(hashtab); - return; - } -@@ -508,10 +529,10 @@ - /* Note here, that tokenchars is assumed to contain 64 valid token */ - /* characters. It's hardcoded to assume this for benefit of generating */ - /* tokens, when there are more than 64^2 colors. */ -- -+ - short i, imax, j; /* for() loop indices */ - short cpp = 0; -- char *tokenchars = -+ const char *tokenchars = - ".#abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; - char *tokens; - char image_name[256], *foo; -@@ -523,20 +544,20 @@ - long li; /* for() loop index */ - int numcol; - #endif -- -- if (DEBUG) -+ -+ if (DEBUG) { - if (ptype == PIC8) - printf("WriteXPM(): Write a %d color, colortype %d, PIC8 image.\n", - nc, col); - else - printf("WriteXPM(): Write a colortype %d, PIC24 image.\n", col); -- -- foo = BaseName(name); -- strcpy(image_name, foo); -+ } -+ -+ strcpy(image_name, BaseName(name)); - foo = (char *)strchr(image_name, '.'); - if (foo) - *foo = '\0'; /* Truncate name at first '.' */ -- -+ - #ifdef USE_UNFINISHED_24BIT_WRITING_CODE - if (ptype == PIC24) - return -1; -@@ -547,15 +568,15 @@ - /* 'packed'. Code in here to do that should be removed if */ - /* Conv24to8 is "fixed" to do this... */ - /* Chris P. Ross (cross@eng.umd.edu) 28-Sept-94 */ -- -+ - numcol = 0; -- -+ - if (ptype == PIC24) { - /* Reduce to an 8-bit image. Would be nice to actually write */ - /* the 24-bit image. I'll have to code that someday... */ - pic8 = Conv24to8(pic, w, h, 256, rtemp, gtemp, btemp); - if (!pic8) { -- SetISTR(ISTR_WARNING, -+ SetISTR(ISTR_WARNING, - "%s: Unable to convert to 8-bit image in WriteXPM()", - image_name); - return 1; -@@ -594,7 +615,7 @@ - } - #endif - -- -+ - #ifdef USE_UNFINISHED_24BIT_WRITING_CODE - if (ptype == PIC24) cpp = 4; - else if (numcol > 64) cpp = 2; -@@ -609,7 +630,7 @@ - fprintf(fp, "/* width height num_colors chars_per_pixel */\n"); - fprintf(fp, "\" %3d %3d %6d %1d\",\n", w, h, numcol, cpp); - fprintf(fp, "/* colors */\n"); -- -+ - switch (cpp) { - - case 1: /* <= 64 colors; index into tokenchars */ -@@ -681,12 +702,12 @@ - - case 4: - /* Generate a colormap */ -- -+ - break; - default: - break; - } -- -+ - if (fprintf(fp, "\"\n};\n") == EOF) { - return 1; - } else -diff -ru xv-3.10a/xvxwd.c xv-3.10a-enhancements/xvxwd.c ---- xv-3.10a/xvxwd.c 1994-12-22 14:34:40.000000000 -0800 -+++ xv-3.10a-enhancements/xvxwd.c 2007-05-13 17:52:35.000000000 -0700 -@@ -1,10 +1,10 @@ --/* -+/* - ** Based on xwdtopnm.c - read and write an X11 or X10 window dump file - ** - ** Modified heavily by Markus Baur (mbaur@ira.uka.de) for use as a part - ** of xv-2.21, 12/30/92 - ** -- ** Hacked up again to support xv-3.00 and XWDs from 64bit machines -+ ** Hacked up again to support xv-3.00 and XWDs from 64bit machines - ** (e.g. DEC Alphas), 04/10/94 - ** - ** Copyright (C) 1989, 1991 by Jef Poskanzer. -@@ -24,42 +24,42 @@ - /***************************** x11wd.h *****************************/ - #define X11WD_FILE_VERSION 7 - typedef struct { -- CARD32 header_size; /* Size of the entire file header (bytes). */ -- CARD32 file_version; /* X11WD_FILE_VERSION */ -- CARD32 pixmap_format; /* Pixmap format */ -- CARD32 pixmap_depth; /* Pixmap depth */ -- CARD32 pixmap_width; /* Pixmap width */ -- CARD32 pixmap_height; /* Pixmap height */ -- CARD32 xoffset; /* Bitmap x offset */ -- CARD32 byte_order; /* MSBFirst, LSBFirst */ -- CARD32 bitmap_unit; /* Bitmap unit */ -- CARD32 bitmap_bit_order; /* MSBFirst, LSBFirst */ -- CARD32 bitmap_pad; /* Bitmap scanline pad */ -- CARD32 bits_per_pixel; /* Bits per pixel */ -- CARD32 bytes_per_line; /* Bytes per scanline */ -- CARD32 visual_class; /* Class of colormap */ -- CARD32 red_mask; /* Z red mask */ -- CARD32 green_mask; /* Z green mask */ -- CARD32 blue_mask; /* Z blue mask */ -- CARD32 bits_per_rgb; /* Log base 2 of distinct color values */ -- CARD32 colormap_entries; /* Number of entries in colormap */ -- CARD32 ncolors; /* Number of Color structures */ -- CARD32 window_width; /* Window width */ -- CARD32 window_height; /* Window height */ -- CARD32 window_x; /* Window upper left X coordinate */ -- CARD32 window_y; /* Window upper left Y coordinate */ -- CARD32 window_bdrwidth; /* Window border width */ -+ CARD32 header_size; /* Size of the entire file header (bytes). */ -+ CARD32 file_version; /* X11WD_FILE_VERSION */ -+ CARD32 pixmap_format; /* Pixmap format */ -+ CARD32 pixmap_depth; /* Pixmap depth */ -+ CARD32 pixmap_width; /* Pixmap width */ -+ CARD32 pixmap_height; /* Pixmap height */ -+ CARD32 xoffset; /* Bitmap x offset */ -+ CARD32 byte_order; /* MSBFirst, LSBFirst */ -+ CARD32 bitmap_unit; /* Bitmap unit */ -+ CARD32 bitmap_bit_order; /* MSBFirst, LSBFirst */ -+ CARD32 bitmap_pad; /* Bitmap scanline pad */ -+ CARD32 bits_per_pixel; /* Bits per pixel */ -+ CARD32 bytes_per_line; /* Bytes per scanline */ -+ CARD32 visual_class; /* Class of colormap */ -+ CARD32 red_mask; /* Z red mask */ -+ CARD32 grn_mask; /* Z green mask */ -+ CARD32 blu_mask; /* Z blue mask */ -+ CARD32 bits_per_rgb; /* Log base 2 of distinct color values */ -+ CARD32 colormap_entries; /* Number of entries in colormap */ -+ CARD32 ncolors; /* Number of Color structures */ -+ CARD32 window_width; /* Window width */ -+ CARD32 window_height; /* Window height */ -+ CARD32 window_x; /* Window upper left X coordinate */ -+ CARD32 window_y; /* Window upper left Y coordinate */ -+ CARD32 window_bdrwidth; /* Window border width */ - #ifdef WORD64 -- CARD32 header_pad; -+ CARD32 header_pad; - #endif -- } X11WDFileHeader; -+} X11WDFileHeader; - - typedef struct { - CARD32 num; - CARD16 red, green, blue; -- CARD8 flags; /* do_red, do_green, do_blue */ -+ CARD8 flags; /* do_red, do_green, do_blue */ - CARD8 pad; -- } X11XColor; -+} X11XColor; - - - /*-------------------------------------------------------------------------*/ -@@ -67,32 +67,35 @@ - typedef byte pixel; - - /* local functions */ --static int getinit PARM((FILE *, int*, int*, int*, CARD32 *, -+static int getinit PARM((FILE *, int*, int*, int*, CARD32 *, - CARD32, PICINFO *)); - static CARD32 getpixnum PARM((FILE *)); --static int xwdError PARM((char *)); --static void xwdWarning PARM((char *)); -+static int xwdError PARM((const char *)); -+static void xwdWarning PARM((const char *)); - static int bs_short PARM((int)); - static CARD32 bs_long PARM((CARD32)); - static int readbigshort PARM((FILE *, CARD16 *)); - static int readbiglong PARM((FILE *, CARD32 *)); - static int readlittleshort PARM((FILE *, CARD16 *)); - static int readlittlelong PARM((FILE *, CARD32 *)); -+#if 0 /* NOTUSED */ - static int writebigshort PARM((FILE *, int)); - static int writebiglong PARM((FILE *, CARD32)); -+#endif - - static byte *pic8, *pic24; - static CARD32 red_mask, green_mask, blue_mask; --static int bits_per_item, bits_used, bit_shift, bits_per_pixel; -+static int red_shift, green_shift, blue_shift; -+static int bits_per_item, bits_used, bit_shift, -+ bits_per_pixel, bits_per_rgb; - static char buf[4]; - static char *byteP; - static CARD16 *shortP; - static CARD32 *longP; - static CARD32 pixel_mask; - static int byte_swap, byte_order, bit_order, filesize; --static byte bw[2] = {0, 0xff}; - --static char *bname; -+static const char *bname; - - - -@@ -105,33 +108,38 @@ - - pixel *xP; - int col; -- int rows, cols, padright, row; -- CARD32 maxval, visualclass; -+ int rows=0, cols=0, padright=0, row, npixels, bufsize; -+ CARD32 maxval=0, visualclass=0; - FILE *ifp; - - bname = BaseName(fname); - pinfo->pic = (byte *) NULL; - pinfo->comment = (char *) NULL; -- maxval = 0; - - ifp = xv_fopen(fname, "r"); - if (!ifp) return (xwdError("can't open file")); -- -+ - /* figure out the file size (used to check colormap size) */ - fseek(ifp, 0L, 2); - filesize = ftell(ifp); - fseek(ifp, 0L, 0); -- -+ - - if (getinit(ifp, &cols, &rows, &padright, &visualclass, maxval, pinfo)) - return 0; - -+ npixels = cols * rows; -+ if (cols <= 0 || rows <= 0 || npixels/cols != rows) { -+ xwdError("Image dimensions out of range"); -+ return 0; -+ } -+ - - switch (visualclass) { - case StaticGray: - case GrayScale: - pinfo->colType = F_GREYSCALE; -- pic8 = (byte *) calloc((size_t) cols*rows, (size_t) 1); -+ pic8 = (byte *) calloc((size_t) npixels, (size_t) 1); - if (!pic8) { - xwdError("couldn't malloc 'pic'"); - return 0; -@@ -140,18 +148,18 @@ - for (row=0; rowtype = PIC8; - pinfo->pic = pic8; -- break; -+ break; - - case StaticColor: - case PseudoColor: - pinfo->colType = F_FULLCOLOR; -- pic8 = (byte *) calloc((size_t) cols*rows, (size_t) 1); -+ pic8 = (byte *) calloc((size_t) npixels, (size_t) 1); - if (!pic8) { - xwdError("couldn't malloc 'pic'"); - return 0; -@@ -162,59 +170,70 @@ - *xP = getpixnum(ifp); - for (col=0; coltype = PIC8; - pinfo->pic = pic8; -- break; -+ break; - - case TrueColor: - case DirectColor: - pinfo->colType = F_FULLCOLOR; -- pic24 = (byte *) calloc((size_t) cols*rows*3, (size_t) 1); -+ bufsize = 3*npixels; -+ if (bufsize/3 != npixels) { -+ xwdError("Image dimensions out of range"); -+ return 0; -+ } -+ pic24 = (byte *) calloc((size_t) bufsize, (size_t) 1); - if (!pic24) { - xwdError("couldn't malloc 'pic24'"); - return 0; - } - -- for (row=0; row> 0); -- *xP++ = ((ul & green_mask) >> 5); -- *xP++ = ((ul & blue_mask) >> 10); -- break; -- -- case 24: -- case 32: -- *xP++ = (ul ) & 0xff; -- *xP++ = (ul>> 8) & 0xff; -- *xP++ = (ul>>16) & 0xff; -- break; -- -- default: -- xwdError("True/Direct only supports 16, 24, and 32 bits"); -- return 0; -- } -- } -+ switch (bits_per_pixel) { -+ case 16: -+ case 24: -+ case 32: -+ ; -+ default: -+ xwdError("True/Direct supports only 16, 24, and 32 bits"); -+ return 0; -+ } - -- for (col=0; col> red_shift & red_mask ; -+ *xP++ = ul >> green_shift & green_mask; -+ *xP++ = ul >> blue_shift & blue_mask ; -+ }; -+ for (col=0; col> blue_shift & blue_mask ; -+ *xP++ = ul >> green_shift & green_mask; -+ *xP++ = ul >> red_shift & red_mask ; -+ }; -+ for (col=0; coltype = PIC24; - pinfo->pic = pic24; - break; -- -+ - default: - xwdError("unknown visual class"); - return 0; - } - - sprintf(pinfo->fullInfo, "XWD, %d-bit %s. (%d bytes)", -- bits_per_pixel, -+ bits_per_pixel, - ((visualclass == StaticGray ) ? "StaticGray" : - (visualclass == GrayScale ) ? "GrayScale" : - (visualclass == StaticColor) ? "StaticColor" : -@@ -258,10 +277,10 @@ - maxv = 255L; - - h11P = (X11WDFileHeader*) header; -- -+ - if (fread(&header[0], sizeof(*h11P), (size_t) 1, file) != 1) - return(xwdError("couldn't read X11 XWD file header")); -- -+ - if (h11P->file_version != X11WD_FILE_VERSION) { - byte_swap = 1; - h11P->header_size = bs_long(h11P->header_size); -@@ -279,8 +298,8 @@ - h11P->bytes_per_line = bs_long(h11P->bytes_per_line); - h11P->visual_class = bs_long(h11P->visual_class); - h11P->red_mask = bs_long(h11P->red_mask); -- h11P->green_mask = bs_long(h11P->green_mask); -- h11P->blue_mask = bs_long(h11P->blue_mask); -+ h11P->grn_mask = bs_long(h11P->grn_mask); -+ h11P->blu_mask = bs_long(h11P->blu_mask); - h11P->bits_per_rgb = bs_long(h11P->bits_per_rgb); - h11P->colormap_entries = bs_long(h11P->colormap_entries); - h11P->ncolors = bs_long(h11P->ncolors); -@@ -294,7 +313,7 @@ - for (i=0; iheader_size - sizeof(*h11P); i++) - if (getc(file) == EOF) - return(xwdError("couldn't read rest of X11 XWD file header")); -- -+ - /* Check whether we can handle this dump. */ - if (h11P->pixmap_depth > 24) - return(xwdError("can't handle X11 pixmap_depth > 24")); -@@ -303,27 +322,31 @@ - return(xwdError("can't handle X11 bits_per_rgb > 24")); - - if (h11P->pixmap_format != ZPixmap && h11P->pixmap_depth != 1) { -- sprintf(errstr, "can't handle X11 pixmap_format %d with depth != 1", -- h11P->pixmap_format); -+ sprintf(errstr, "can't handle X11 pixmap_format %ld with depth != 1", -+ (long)h11P->pixmap_format); - return(xwdError(errstr)); - } - - if (h11P->bitmap_unit != 8 && h11P->bitmap_unit != 16 && - h11P->bitmap_unit != 32) { -- sprintf(errstr, "X11 bitmap_unit (%d) is non-standard - can't handle", -- h11P->bitmap_unit); -+ sprintf(errstr, "X11 bitmap_unit (%ld) is non-standard - can't handle", -+ (long)h11P->bitmap_unit); - return(xwdError(errstr)); - } -- -+ - grayscale = 1; - if (h11P->ncolors > 0) { /* Read X11 colormap. */ -- x11colors = (X11XColor*) malloc(h11P->ncolors * sizeof(X11XColor)); -+ int bufsize = h11P->ncolors * sizeof(X11XColor); -+ -+ if (bufsize/sizeof(X11XColor) != h11P->ncolors) -+ return(xwdError("too many colors")); -+ x11colors = (X11XColor*) malloc(bufsize); - if (!x11colors) return(xwdError("out of memory")); -- -- if (h11P->header_size + h11P->ncolors * sizeof(X11XColor) -+ -+ if (h11P->header_size + bufsize - + h11P->pixmap_height * h11P->bytes_per_line + h11P->ncolors * 4 - == filesize ) word64 = 1; -- -+ - if (word64) { - for (i = 0; i < h11P->ncolors; ++i) { - if (fread(&pad, sizeof(pad), (size_t) 1, file ) != 1) -@@ -334,11 +357,11 @@ - } - } - else { -- if (fread(x11colors, sizeof(X11XColor), (size_t) h11P->ncolors, file) -+ if (fread(x11colors, sizeof(X11XColor), (size_t) h11P->ncolors, file) - != h11P->ncolors) - return(xwdError("couldn't read X11 XWD colormap")); - } -- -+ - for (i = 0; i < h11P->ncolors; ++i) { - if (byte_swap) { - x11colors[i].red = (CARD16) bs_short(x11colors[i].red); -@@ -356,8 +379,11 @@ - grayscale = 0; - } - } -- -+ - *visualclassP = h11P->visual_class; -+ /* SJT: FIXME. If bits_per_pixel == 16, maxv could be either 31 or 63. -+ It doesn't matter, though, because maxv is never used beyond here. -+ */ - if (*visualclassP == TrueColor || *visualclassP == DirectColor) { - if (h11P->bits_per_pixel == 16) maxv = 31; - else maxv = 255; -@@ -389,24 +415,58 @@ - } - } - } -- -+ - *colsP = h11P->pixmap_width; - *rowsP = h11P->pixmap_height; - *padrightP = h11P->bytes_per_line * 8 / h11P->bits_per_pixel - - h11P->pixmap_width; -- -+ - bits_per_item = h11P->bitmap_unit; -- bits_used = bits_per_item; - bits_per_pixel = h11P->bits_per_pixel; - byte_order = h11P->byte_order; - bit_order = h11P->bitmap_bit_order; -- -+ bits_per_rgb = h11P->bits_per_rgb; -+ -+ -+ /* add sanity-code for freako 'exceed' server, where bitmapunit = 8 -+ and bitsperpix = 32 (and depth=24)... */ -+ -+ if (bits_per_item < bits_per_pixel) { -+ bits_per_item = bits_per_pixel; -+ -+ /* round bits_per_item up to next legal value, if necc */ -+ if (bits_per_item < 8) bits_per_item = 8; -+ else if (bits_per_item < 16) bits_per_item = 16; -+ else bits_per_item = 32; -+ } -+ -+ -+ /* which raises the question: how (can?) you ever have a 24 bits per pix, -+ (i.e., 3 bytes, no alpha/padding) */ -+ -+ -+ bits_used = bits_per_item; -+ - if (bits_per_pixel == sizeof(pixel_mask) * 8) pixel_mask = (CARD32) -1; - else pixel_mask = (1 << bits_per_pixel) - 1; -- -+ - red_mask = h11P->red_mask; -- green_mask = h11P->green_mask; -- blue_mask = h11P->blue_mask; -+ green_mask = h11P->grn_mask; -+ blue_mask = h11P->blu_mask; -+ -+ red_shift = blue_shift = green_shift = 0; -+ while (!(red_mask & 1)) { -+ red_mask >>= 1; -+ ++red_shift; -+ } -+ while (!(blue_mask & 1)) { -+ blue_mask >>= 1; -+ ++blue_shift; -+ } -+ while (!(green_mask & 1)) { -+ green_mask >>= 1; -+ ++green_shift; -+ } - - byteP = (char *) buf; - shortP = (CARD16 *) buf; -@@ -421,13 +481,13 @@ - FILE* file; - { - int n; -- -+ - if (bits_used == bits_per_item) { - switch (bits_per_item) { - case 8: - *byteP = getc(file); - break; -- -+ - case 16: - if (byte_order == MSBFirst) { - if (readbigshort(file, shortP) == -1) -@@ -438,7 +498,7 @@ - xwdWarning("unexpected EOF"); - } - break; -- -+ - case 32: - if (byte_order == MSBFirst) { - if (readbiglong(file, longP) == -1) -@@ -449,48 +509,48 @@ - xwdWarning("unexpected EOF"); - } - break; -- -+ - default: - xwdWarning("can't happen"); - } - bits_used = 0; -- -+ - if (bit_order == MSBFirst) - bit_shift = bits_per_item - bits_per_pixel; - else - bit_shift = 0; - } -- -+ - switch (bits_per_item) { - case 8: - n = (*byteP >> bit_shift) & pixel_mask; - break; -- -+ - case 16: - n = (*shortP >> bit_shift) & pixel_mask; - break; -- -+ - case 32: - n = (*longP >> bit_shift) & pixel_mask; - break; -- -+ - default: - n = 0; - xwdWarning("can't happen"); - } -- -+ - if (bit_order == MSBFirst) bit_shift -= bits_per_pixel; - else bit_shift += bits_per_pixel; - - bits_used += bits_per_pixel; -- -+ - return n; - } - - - /***************************/ - static int xwdError(st) -- char *st; -+ const char *st; - { - if (pic8 != NULL) free(pic8); - if (pic24 != NULL) free(pic24); -@@ -502,7 +562,7 @@ - - /***************************/ - static void xwdWarning(st) -- char *st; -+ const char *st; - { - SetISTR(ISTR_WARNING,"%s: %s", bname, st); - } -@@ -511,7 +571,7 @@ - - - --/* -+/* - * Byte-swapping junk. - */ - -@@ -537,7 +597,7 @@ - { - union cheat u; - unsigned char t; -- -+ - u.l = l; - t = u.c[0]; u.c[0] = u.c[3]; u.c[3] = t; - t = u.c[1]; u.c[1] = u.c[2]; u.c[2] = t; -@@ -549,7 +609,7 @@ - - - --/* -+/* - * Endian I/O. - */ - -@@ -584,7 +644,7 @@ - { - *sP = getc(in) & 0xff; - *sP |= (getc(in) & 0xff) << 8; -- -+ - if (ferror(in)) return -1; - return 0; - } -@@ -604,6 +664,7 @@ - } - - -+#if 0 /* NOTUSED */ - static int writebiglong(out, l) - FILE* out; - CARD32 l; -@@ -624,3 +685,4 @@ - putc(s&0xff, out); - return 0; - } -+#endif /* 0 (NOTUSED) */ diff --git a/source/xap/xv/xv-3.10a.patch b/source/xap/xv/xv-3.10a.patch deleted file mode 100644 index 0bf8210f2..000000000 --- a/source/xap/xv/xv-3.10a.patch +++ /dev/null @@ -1,2745 +0,0 @@ -Installation Instructions: - -This patch will update XV 3.10 to 3.10a. - -Copy this file into the top-level XV source directory, and apply it using: - patch -p0 strlen(a2)) return 1; - - if (strncmp(a1+1, a2+1, strlen(a1)-1)) return 1; ---- 1686,1693 ---- - - int i; - -! if ((strlen(a1) < (size_t) minlen) || (strlen(a2) < (size_t) minlen)) -! return 1; - if (strlen(a1) > strlen(a2)) return 1; - - if (strncmp(a1+1, a2+1, strlen(a1)-1)) return 1; -*************** -*** 1860,1866 **** - - - /* chop off trailing ".Z", ".z", or ".gz" from displayed basefname, if any */ -! if (strlen(basefname)>2 && strcmp(basefname+strlen(basefname)-2,".Z")==0) - basefname[strlen(basefname)-2]='\0'; - else { - #ifdef GUNZIP ---- 1864,1871 ---- - - - /* chop off trailing ".Z", ".z", or ".gz" from displayed basefname, if any */ -! if (strlen(basefname) > (size_t) 2 && -! strcmp(basefname+strlen(basefname)-2,".Z")==0) - basefname[strlen(basefname)-2]='\0'; - else { - #ifdef GUNZIP -*************** -*** 2698,2705 **** - to what it was. necessary because uncompress doesn't handle files - that don't end with '.Z' */ - -! if (strlen(name)>=2 && strcmp(name + strlen(name)-2,".Z")!=0 && -! strcmp(name + strlen(name)-2,".z")!=0) { - strcpy(namez, name); - strcat(namez,".Z"); - ---- 2703,2711 ---- - to what it was. necessary because uncompress doesn't handle files - that don't end with '.Z' */ - -! if (strlen(name) >= (size_t) 2 && -! strcmp(name + strlen(name)-2,".Z")!=0 && -! strcmp(name + strlen(name)-2,".z")!=0) { - strcpy(namez, name); - strcat(namez,".Z"); - -*************** -*** 2890,2896 **** - char fullcmd[512], tmpname[64], str[512]; - int i; - -! if (!cmd || strlen(cmd)<2) return 1; - - sprintf(tmpname,"%s/xvXXXXXX", tmpdir); - mktemp(tmpname); ---- 2896,2902 ---- - char fullcmd[512], tmpname[64], str[512]; - int i; - -! if (!cmd || (strlen(cmd) < (size_t) 2)) return 1; - - sprintf(tmpname,"%s/xvXXXXXX", tmpdir); - mktemp(tmpname); -*************** -*** 3270,3276 **** - - xwmh.icon_pixmap = iconPix; - xwmh.icon_mask = iconmask; -! xwmh.flags |= ( IconPixmapHint | IconMaskHint) ; - - - if (startIconic && firstTime) { ---- 3276,3282 ---- - - xwmh.icon_pixmap = iconPix; - xwmh.icon_mask = iconmask; -! xwmh.flags |= (IconPixmapHint | IconMaskHint); - - - if (startIconic && firstTime) { -*************** -*** 3787,3793 **** ---- 3793,3802 ---- - | EnterWindowMask | LeaveWindowMask ); - - StoreDeleteWindowProp(mainW); -+ XFlush(theDisp); - XMapWindow(theDisp,mainW); -+ XFlush(theDisp); -+ if (startIconic) sleep(2); /* give it time to get the window up...*/ - } - } - -diff -c -r ../xv-3.10/xv.h ./xv.h -*** ../xv-3.10/xv.h Thu Dec 22 14:12:15 1994 ---- ./xv.h Mon Jan 23 15:22:23 1995 -*************** -*** 8,15 **** - #include "config.h" - - -! #define REVDATE "Version 3.10 Rev: 12/16/94" -! #define VERSTR "3.10" - - /* - * uncomment the following, and modify for your site, but only if you've ---- 8,15 ---- - #include "config.h" - - -! #define REVDATE "Version 3.10a Rev: 12/29/94" -! #define VERSTR "3.10a" - - /* - * uncomment the following, and modify for your site, but only if you've -*************** -*** 62,67 **** ---- 62,74 ---- - #endif - - -+ #ifdef LINUX -+ # ifndef _LINUX_LIMITS_H -+ # include -+ # endif -+ #endif -+ -+ - #include /* need type declarations immediately */ - - /*********************************************************/ -*************** -*** 198,203 **** ---- 205,217 ---- - # include - # endif - -+ /*** for select() call ***/ -+ # ifdef __hpux -+ # define XV_FDTYPE (int *) -+ # else -+ # define XV_FDTYPE (fd_set *) -+ # endif -+ - #endif /* NEEDSTIME */ - - -*************** -*** 214,219 **** ---- 228,237 ---- - # include - # endif - -+ # if defined(SVR4) || defined(SYSV) -+ # include -+ # endif -+ - # include - # include - -*************** -*** 961,966 **** ---- 979,985 ---- - WHERE int ch_offx,ch_offy; /* ChngAttr ofst for reparented windows */ - WHERE int kludge_offx, /* WM kludges for SetWindowPos routine */ - kludge_offy; -+ WHERE int winCtrPosKludge; /* kludge for popup positioning... */ - - WHERE int ignoreConfigs; /* an evil kludge... */ - -diff -c -r ../xv-3.10/xv24to8.c ./xv24to8.c -*** ../xv-3.10/xv24to8.c Thu Dec 22 14:12:15 1994 ---- ./xv24to8.c Fri Jan 13 14:49:21 1995 -*************** -*** 374,382 **** - - #define PPM_DEPTH(newp,p,oldmaxval,newmaxval) \ - PPM_ASSIGN( (newp), \ -! (int) PPM_GETR(p) * (newmaxval) / ((int)oldmaxval), \ -! (int) PPM_GETG(p) * (newmaxval) / ((int)oldmaxval), \ -! (int) PPM_GETB(p) * (newmaxval) / ((int)oldmaxval) ) - - - /* Luminance macro. */ ---- 374,382 ---- - - #define PPM_DEPTH(newp,p,oldmaxval,newmaxval) \ - PPM_ASSIGN( (newp), \ -! ((int) PPM_GETR(p)) * ((int)newmaxval) / ((int)oldmaxval), \ -! ((int) PPM_GETG(p)) * ((int)newmaxval) / ((int)oldmaxval), \ -! ((int) PPM_GETB(p)) * ((int)newmaxval) / ((int)oldmaxval) ) - - - /* Luminance macro. */ - -diff -c -r ../xv-3.10/xvbrowse.c ./xvbrowse.c -*** ../xv-3.10/xvbrowse.c Thu Dec 22 14:12:20 1994 ---- ./xvbrowse.c Thu Jan 19 12:49:17 1995 -*************** -*** 20,26 **** - #define NEEDSDIR - #include "xv.h" - -! #ifdef VMS - typedef unsigned int mode_t; /* file mode bits */ - #endif - ---- 20,26 ---- - #define NEEDSDIR - #include "xv.h" - -! #if defined(VMS) || defined(isc) - typedef unsigned int mode_t; /* file mode bits */ - #endif - -*************** -*** 2579,2585 **** - int rv; - - /* temporarily excise trailing '/' char from br->path */ -! if (strlen(br->path)>2 && br->path[strlen(br->path)-1] == '/') - br->path[strlen(br->path)-1] = '\0'; - - rv = chdir(br->path); ---- 2579,2585 ---- - int rv; - - /* temporarily excise trailing '/' char from br->path */ -! if ((strlen(br->path) > (size_t) 2) && br->path[strlen(br->path)-1] == '/') - br->path[strlen(br->path)-1] = '\0'; - - rv = chdir(br->path); -*************** -*** 3544,3550 **** - case RFT_PBM: if (xv_strstr(pinfo.fullInfo, "raw")) strcat(str,"Raw "); - else strcat(str,"Ascii "); - -! for (i=0; i<3 && strlen(pinfo.fullInfo)>3; i++) { - str1[0] = pinfo.fullInfo[i]; str1[1] = '\0'; - strcat(str, str1); - } ---- 3544,3550 ---- - case RFT_PBM: if (xv_strstr(pinfo.fullInfo, "raw")) strcat(str,"Raw "); - else strcat(str,"Ascii "); - -! for (i=0; i<3 && (strlen(pinfo.fullInfo)>(size_t)3); i++){ - str1[0] = pinfo.fullInfo[i]; str1[1] = '\0'; - strcat(str, str1); - } -*************** -*** 4521,4527 **** - - /* try to delete a thumbnail file, as well. ignore errors */ - strcpy(buf1, name); /* tmp1 = leading path of name */ -! tmp = rindex(buf1, '/'); - if (!tmp) strcpy(buf1,"."); - else *tmp = '\0'; - ---- 4521,4527 ---- - - /* try to delete a thumbnail file, as well. ignore errors */ - strcpy(buf1, name); /* tmp1 = leading path of name */ -! tmp = (char *) rindex(buf1, '/'); - if (!tmp) strcpy(buf1,"."); - else *tmp = '\0'; - -diff -c -r ../xv-3.10/xvbutt.c ./xvbutt.c -*** ../xv-3.10/xvbutt.c Thu Dec 22 14:12:16 1994 ---- ./xvbutt.c Tue Jan 03 16:19:51 1995 -*************** -*** 961,967 **** - - /* truncate at TAB, if any */ - strcpy(stbuf, str); -! if ((str = index(stbuf, '\t')) != NULL) *str = '\0'; - str = stbuf; - - x1 = CENTERX(mfinfo, x + w/2, str); ---- 961,967 ---- - - /* truncate at TAB, if any */ - strcpy(stbuf, str); -! if ((str = (char *) index(stbuf, '\t')) != NULL) *str = '\0'; - str = stbuf; - - x1 = CENTERX(mfinfo, x + w/2, str); -*************** -*** 1073,1079 **** - char *sp, str[256]; - - strcpy(str, mb->list[i]); -! sp = index(str, '\t'); - j = StringWidth(sp+1); - if (j>mtabwide) mtabwide = j; - ---- 1073,1079 ---- - char *sp, str[256]; - - strcpy(str, mb->list[i]); -! sp = (char *) index(str, '\t'); - j = StringWidth(sp+1); - if (j>mtabwide) mtabwide = j; - -*************** -*** 1139,1145 **** - for (i=0; inlist; i++) { - char txtstr[256], *tabstr; - strcpy(txtstr, mb->list[i]); -! if ((tabstr = index(txtstr, '\t'))) { - *tabstr = '\0'; tabstr++; - } - ---- 1139,1145 ---- - for (i=0; inlist; i++) { - char txtstr[256], *tabstr; - strcpy(txtstr, mb->list[i]); -! if ((tabstr = (char *) index(txtstr, '\t'))) { - *tabstr = '\0'; tabstr++; - } - -diff -c -r ../xv-3.10/xvcolor.c ./xvcolor.c -*** ../xv-3.10/xvcolor.c Thu Dec 22 14:12:17 1994 ---- ./xvcolor.c Fri Jan 06 14:29:23 1995 -*************** -*** 616,622 **** - *foo = "No r/w cells available. Using r/o color."; - - tmp = GetISTR(ISTR_WARNING); -! if (strlen(tmp)>0) sprintf(tstr, "%s %s", tmp, foo); - else sprintf(tstr, "%s", foo); - SetISTR(ISTR_WARNING,tstr); - ---- 616,622 ---- - *foo = "No r/w cells available. Using r/o color."; - - tmp = GetISTR(ISTR_WARNING); -! if (strlen(tmp) > (size_t) 0) sprintf(tstr, "%s %s", tmp, foo); - else sprintf(tstr, "%s", foo); - SetISTR(ISTR_WARNING,tstr); - -*************** -*** 790,799 **** - } - - -! void xvFreeColors(dp, cm,pixels, npixels, planes) - Display *dp; - Colormap cm; -! unsigned long pixels[]; - int npixels; - unsigned long planes; - { ---- 790,799 ---- - } - - -! void xvFreeColors(dp, cm, pixels, npixels, planes) - Display *dp; - Colormap cm; -! unsigned long *pixels; - int npixels; - unsigned long planes; - { - -diff -c -r ../xv-3.10/xvcut.c ./xvcut.c -*** ../xv-3.10/xvcut.c Thu Dec 22 14:12:21 1994 ---- ./xvcut.c Fri Jan 13 14:55:48 1995 -*************** -*** 760,766 **** - len |= ((int) data[2])<<16; - len |= ((int) data[3])<<24; - -! XFree(data); - - /* read the rest of the data (len bytes) */ - i = XGetWindowProperty(theDisp, rootW, clipAtom, 1L, ---- 760,766 ---- - len |= ((int) data[2])<<16; - len |= ((int) data[3])<<24; - -! XFree((void *) data); - - /* read the rest of the data (len bytes) */ - i = XGetWindowProperty(theDisp, rootW, clipAtom, 1L, -*************** -*** 774,780 **** - - data1 = (byte *) malloc((size_t) len); - if (!data1) { -! XFree(data); - ErrPopUp("Insufficient memory to retrieve clipboard!", "\nShucks!"); - return (byte *) NULL; - } ---- 774,780 ---- - - data1 = (byte *) malloc((size_t) len); - if (!data1) { -! XFree((void *) data); - ErrPopUp("Insufficient memory to retrieve clipboard!", "\nShucks!"); - return (byte *) NULL; - } -*************** -*** 785,791 **** - data1[3] = (len>>24) & 0xff; - xvbcopy((char *) data, (char *) data1+4, (size_t) len-4); - -! XFree(data); - return data1; - } - } ---- 785,791 ---- - data1[3] = (len>>24) & 0xff; - xvbcopy((char *) data, (char *) data1+4, (size_t) len-4); - -! XFree((void *) data); - return data1; - } - } - -diff -c -r ../xv-3.10/xvdial.c ./xvdial.c -*** ../xv-3.10/xvdial.c Thu Dec 22 14:12:17 1994 ---- ./xvdial.c Tue Jan 03 16:20:31 1995 -*************** -*** 358,364 **** - - if (dp->units) strcat(foo,dp->units); - foo1[0] = '\0'; -! if (strlen(foo)0; i--) strcat(foo1," "); - } - strcat(foo1, foo); ---- 358,364 ---- - - if (dp->units) strcat(foo,dp->units); - foo1[0] = '\0'; -! if (strlen(foo) < (size_t) i) { - for (i = i - strlen(foo); i>0; i--) strcat(foo1," "); - } - strcat(foo1, foo); - -diff -c -r ../xv-3.10/xvdir.c ./xvdir.c -*** ../xv-3.10/xvdir.c Thu Dec 22 14:12:16 1994 ---- ./xvdir.c Tue Jan 03 16:21:39 1995 -*************** -*** 650,656 **** - changedDir = strcmp(path, oldpath); - strcpy(oldpath, path); - -! if (strlen(path)>1 && path[strlen(path)-1] != '/') - strcat(path,"/"); /* tack on a trailing '/' to make path consistent */ - - /* path will be something like: "/u3/bradley/src/weiner/whatever/" */ ---- 650,656 ---- - changedDir = strcmp(path, oldpath); - strcpy(oldpath, path); - -! if ((strlen(path) > (size_t) 1) && path[strlen(path)-1] != '/') - strcat(path,"/"); /* tack on a trailing '/' to make path consistent */ - - /* path will be something like: "/u3/bradley/src/weiner/whatever/" */ -*************** -*** 851,857 **** - xvbcopy(&filename[curPos], &filename[curPos-1], (size_t) (len-curPos+1)); - curPos--; - -! if (strlen(filename)>0) scrollToFileName(); - } - - else if (c=='\025') { /* ^U: clear entire line */ ---- 851,857 ---- - xvbcopy(&filename[curPos], &filename[curPos-1], (size_t) (len-curPos+1)); - curPos--; - -! if (strlen(filename) > (size_t) 0) scrollToFileName(); - } - - else if (c=='\025') { /* ^U: clear entire line */ -*************** -*** 1023,1029 **** - XDrawLine(theDisp, dnamW, theGC, 2,0,2,LINEHIGH+5); - } - -! if (enPos0) { /* hit 'Ok', had a string entered */ - /* check for page in range */ - j = atoi(buf); - if (j>=1 && j<=numPages) { ---- 1407,1414 ---- - okay = 0; - do { - i = GetStrPopUp(txt, labels, 2, buf, 64, "0123456789", 1); -! if (!i && strlen(buf) > (size_t) 0) { -! /* hit 'Ok', had a string entered */ - /* check for page in range */ - j = atoi(buf); - if (j>=1 && j<=numPages) { -*************** -*** 2030,2035 **** ---- 2031,2037 ---- - xwc.height = xwa->height; - - -+ #ifdef BAD_IDEA - /* if there is a virtual window manager running, then we should translate - the coordinates that are in terms of 'real' screen into coordinates - that are in terms of the 'virtual' root window -*************** -*** 2043,2049 **** - xwc.x,xwc.y,x1,y1); - xwc.x = x1; xwc.y = y1; - } -! - - - if (DEBUG) { ---- 2045,2051 ---- - xwc.x,xwc.y,x1,y1); - xwc.x = x1; xwc.y = y1; - } -! #endif - - - if (DEBUG) { - -diff -c -r ../xv-3.10/xvfits.c ./xvfits.c -*** ../xv-3.10/xvfits.c Thu Dec 22 14:12:21 1994 ---- ./xvfits.c Wed Dec 28 02:43:29 1994 -*************** -*** 69,75 **** - char basename[64]; - - if (fits_block == NULL) { -! fits_block = malloc((size_t) BLOCKSIZE); - if (!fits_block) FatalError("Insufficient memory for FITS block buffer"); - } - ---- 69,75 ---- - char basename[64]; - - if (fits_block == NULL) { -! fits_block = (char *) malloc((size_t) BLOCKSIZE); - if (!fits_block) FatalError("Insufficient memory for FITS block buffer"); - } - -*************** -*** 170,176 **** - byte rgb[256]; - - if (!fits_block) { -! fits_block = malloc((size_t) BLOCKSIZE); - if (!fits_block) FatalError("Insufficient memory for FITS block buffer"); - } - ---- 170,176 ---- - byte rgb[256]; - - if (!fits_block) { -! fits_block = (char *) malloc((size_t) BLOCKSIZE); - if (!fits_block) FatalError("Insufficient memory for FITS block buffer"); - } - -*************** -*** 498,504 **** - j++; /* make j length of comment */ - if (j > 0) { /* skip blank comment cards */ - if (fs->comment == NULL) { -! fs->comment = malloc((size_t) commsize); - if (fs->comment == NULL) - FatalError("Insufficient memory for comment buffer"); - } ---- 498,504 ---- - j++; /* make j length of comment */ - if (j > 0) { /* skip blank comment cards */ - if (fs->comment == NULL) { -! fs->comment = (char *) malloc((size_t) commsize); - if (fs->comment == NULL) - FatalError("Insufficient memory for comment buffer"); - } - -diff -c -r ../xv-3.10/xvgam.c ./xvgam.c -*** ../xv-3.10/xvgam.c Thu Dec 22 14:12:15 1994 ---- ./xvgam.c Fri Jan 13 14:51:14 1995 -*************** -*** 1838,1844 **** - gMap[i] = gcmap[i]; - bMap[i] = bcmap[i]; - if (!ncols) -! cols[i] = (rMap[i] + gMap[i] + bMap[i] >= 128*3) ? white : black; - } - } - } ---- 1838,1845 ---- - gMap[i] = gcmap[i]; - bMap[i] = bcmap[i]; - if (!ncols) -! cols[i] = (((int)rMap[i]) + ((int)gMap[i]) + ((int)bMap[i]) >= 128*3) -! ? white : black; - } - } - } -*************** -*** 1903,1909 **** - bMap[col] = bGraf.func[bv]; - - if (!ncols) -! cols[col] = (rMap[col] + gMap[col] + bMap[col] >= 128*3) ? white : black; - - if (DEBUG>1) fprintf(stderr," -> %d,%d,%d\n",rMap[col],gMap[col],bMap[col]); - } ---- 1904,1912 ---- - bMap[col] = bGraf.func[bv]; - - if (!ncols) -! cols[col] = -! (((int)rMap[col]) + ((int)gMap[col]) + ((int)bMap[col]) >= 128*3) -! ? white : black; - - if (DEBUG>1) fprintf(stderr," -> %d,%d,%d\n",rMap[col],gMap[col],bMap[col]); - } - -diff -c -r ../xv-3.10/xvgif.c ./xvgif.c -*** ../xv-3.10/xvgif.c Thu Dec 22 14:12:15 1994 ---- ./xvgif.c Tue Jan 10 14:54:41 1995 -*************** -*** 254,260 **** - - - if (cmtlen>0) { /* build into one un-blocked comment */ -! cmt = (byte *) malloc((size_t) cmtlen); - if (!cmt) gifWarning("couldn't malloc space for comments\n"); - else { - sp = cmt; ---- 254,260 ---- - - - if (cmtlen>0) { /* build into one un-blocked comment */ -! cmt = (byte *) malloc((size_t) (cmtlen + 1)); - if (!cmt) gifWarning("couldn't malloc space for comments\n"); - else { - sp = cmt; -*************** -*** 262,270 **** - sbsize = (*ptr1++); - for (j=0; jcomment) { /* have to strcat onto old comments */ -! cmt1 = (byte *) malloc(strlen(pinfo->comment) + cmtlen); - if (!cmt1) { - gifWarning("couldn't malloc space for comments\n"); - free(cmt); ---- 262,271 ---- - sbsize = (*ptr1++); - for (j=0; jcomment) { /* have to strcat onto old comments */ -! cmt1 = (byte *) malloc(strlen(pinfo->comment) + cmtlen + 2); - if (!cmt1) { - gifWarning("couldn't malloc space for comments\n"); - free(cmt); -*************** -*** 271,276 **** ---- 272,278 ---- - } - else { - strcpy((char *) cmt1, (char *) pinfo->comment); -+ strcat((char *) cmt1, (char *) "\n"); - strcat((char *) cmt1, (char *) cmt); - free(pinfo->comment); - free(cmt); - -diff -c -r ../xv-3.10/xvgifwr.c ./xvgifwr.c -*** ../xv-3.10/xvgifwr.c Thu Dec 22 14:12:16 1994 ---- ./xvgifwr.c Tue Jan 03 16:22:21 1995 -*************** -*** 141,147 **** - fprintf(stderr,"WrGIF: pic=%lx, w,h=%dx%d, numcols=%d, Bits%d,Cmap=%d\n", - (u_long) pic8, w,h,numcols,BitsPerPixel,ColorMapSize); - -! if (comment && strlen(comment)>0) - fwrite("GIF89a", (size_t) 1, (size_t) 6, fp); /* the GIF magic number */ - else - fwrite("GIF87a", (size_t) 1, (size_t) 6, fp); /* the GIF magic number */ ---- 141,147 ---- - fprintf(stderr,"WrGIF: pic=%lx, w,h=%dx%d, numcols=%d, Bits%d,Cmap=%d\n", - (u_long) pic8, w,h,numcols,BitsPerPixel,ColorMapSize); - -! if (comment && strlen(comment) > (size_t) 0) - fwrite("GIF89a", (size_t) 1, (size_t) 6, fp); /* the GIF magic number */ - else - fwrite("GIF87a", (size_t) 1, (size_t) 6, fp); /* the GIF magic number */ -*************** -*** 175,181 **** - } - } - -! if (comment && strlen(comment)>0) { /* write comment blocks */ - char *sp; - int i, blen; - ---- 175,181 ---- - } - } - -! if (comment && strlen(comment) > (size_t) 0) { /* write comment blocks */ - char *sp; - int i, blen; - -diff -c -r ../xv-3.10/xviff.c ./xviff.c -*** ../xv-3.10/xviff.c Thu Dec 22 14:12:20 1994 ---- ./xviff.c Fri Jan 13 14:54:54 1995 -*************** -*** 463,469 **** - - if (codeByte < 0x80) { - codeByte++; -! if ((slen > codeByte) && (dlen >= codeByte)) { - slen -= codeByte + 1; - dlen -= codeByte; - while (codeByte > 0) { ---- 463,469 ---- - - if (codeByte < 0x80) { - codeByte++; -! if ((slen > (long) codeByte) && (dlen >= (long) codeByte)) { - slen -= codeByte + 1; - dlen -= codeByte; - while (codeByte > 0) { -*************** -*** 476,482 **** - - else if (codeByte > 0x80) { - codeByte = 0x81 - (codeByte & 0x7f); -! if ((slen > 0) && (dlen >= codeByte)) { - dataByte = *sptr++; - slen -= 2; - dlen -= codeByte; ---- 476,482 ---- - - else if (codeByte > 0x80) { - codeByte = 0x81 - (codeByte & 0x7f); -! if ((slen > (long) 0) && (dlen >= (long) codeByte)) { - dataByte = *sptr++; - slen -= 2; - dlen -= codeByte; - -diff -c -r ../xv-3.10/xvimage.c ./xvimage.c -*** ../xv-3.10/xvimage.c Thu Dec 22 14:12:17 1994 ---- ./xvimage.c Fri Jan 13 19:11:36 1995 -*************** -*** 675,680 **** ---- 675,682 ---- - # define inabsrange(a,n) ( (a) < n && (a) > -n ) - - -+ if (cHIGH<3 || cWIDE<3) return 0; -+ - ctop = cbot = cleft = cright = 0; - - if (picType != PIC24) FatalError("doAutoCrop24 called when pic!=PIC24"); -*************** -*** 780,787 **** - - /* do the actual cropping */ - if (cleft || ctop || cbot || cright) { - DoCrop(cXOFF+cleft, cYOFF+ctop, -! cWIDE-(cleft+cright), cHIGH-(ctop+cbot)); - return 1; - } - ---- 782,792 ---- - - /* do the actual cropping */ - if (cleft || ctop || cbot || cright) { -+ if (cWIDE - (cleft + cright) < 1 || -+ cHIGH - (ctop + cbot ) < 1) return 0; /* sanity check */ -+ - DoCrop(cXOFF+cleft, cYOFF+ctop, -! cWIDE-(cleft+cright), cHIGH-(ctop+cbot)); - return 1; - } - -*************** -*** 859,865 **** - eWIDE = (int) (cWIDE * expw); - eHIGH = (int) (cHIGH * exph); - -! if (eWIDE > maxWIDE || h > maxHIGH) { /* make 'normal' size */ - if (cWIDE>maxWIDE || cHIGH>maxHIGH) { - double r,wr,hr; - wr = ((double) cWIDE) / maxWIDE; ---- 864,870 ---- - eWIDE = (int) (cWIDE * expw); - eHIGH = (int) (cHIGH * exph); - -! if (eWIDE>maxWIDE || eHIGH>maxHIGH) { /* make 'normal' size */ - if (cWIDE>maxWIDE || cHIGH>maxHIGH) { - double r,wr,hr; - wr = ((double) cWIDE) / maxWIDE; -*************** -*** 873,878 **** ---- 878,886 ---- - } - - -+ if (eWIDE<1) eWIDE = 1; -+ if (eHIGH<1) eHIGH = 1; -+ - SetCursors(-1); - } - -*************** -*** 2823,2831 **** - } - - if (omode == PAD_ORGB) { -! rval = (r * fg) / 100 + (p24[0] * bg) / 100; -! gval = (g * fg) / 100 + (p24[1] * bg) / 100; -! bval = (b * fg) / 100 + (p24[2] * bg) / 100; - } - else { /* one of the HSV modes */ - double fh,fs,fv,fw, bh,bs,bv,bw, h,s,v; ---- 2831,2839 ---- - } - - if (omode == PAD_ORGB) { -! rval = (r * fg) / 100 + ((int) p24[0] * bg) / 100; -! gval = (g * fg) / 100 + ((int) p24[1] * bg) / 100; -! bval = (b * fg) / 100 + ((int) p24[2] * bg) / 100; - } - else { /* one of the HSV modes */ - double fh,fs,fv,fw, bh,bs,bv,bw, h,s,v; - -diff -c -r ../xv-3.10/xvjpeg.c ./xvjpeg.c -*** ../xv-3.10/xvjpeg.c Thu Dec 22 14:12:16 1994 ---- ./xvjpeg.c Thu Jan 05 03:17:13 1995 -*************** -*** 612,620 **** - } - - -- jpeg_finish_decompress(&cinfo); - -- - /* return 'PICINFO' structure to XV */ - - pinfo->pic = pic; ---- 612,618 ---- -*************** -*** 646,655 **** - - pinfo->comment = comment; - - jpeg_destroy_decompress(&cinfo); - fclose(fp); - -! comment = NULL; - return 1; - } - ---- 644,654 ---- - - pinfo->comment = comment; - -+ jpeg_finish_decompress(&cinfo); - jpeg_destroy_decompress(&cinfo); - fclose(fp); - -! comment = (char *) NULL; - return 1; - } - -*************** -*** 806,812 **** - If none, add 2. If one, add 1. If two or more, add none. */ - - sp = comment + strlen(comment); -! for (i=0; i<3 && i 0) { /* add to pinfo->comment */ - if (!pinfo->comment) { - pinfo->comment = (char *) malloc(strlen(cmt)+1); - if (!pinfo->comment) FatalError("malloc failure in xvpbm.c getint"); ---- 353,359 ---- - *sp++ = '\n'; - *sp = '\0'; - -! if (strlen(cmt) > (size_t) 0) { /* add to pinfo->comment */ - if (!pinfo->comment) { - pinfo->comment = (char *) malloc(strlen(cmt)+1); - if (!pinfo->comment) FatalError("malloc failure in xvpbm.c getint"); -*************** -*** 438,444 **** - *sp++ = '\n'; - *sp = '\0'; - -! if (strlen(cmt) > 0) { /* add to pinfo->comment */ - if (!pinfo->comment) { - pinfo->comment = (char *) malloc(strlen(cmt)+1); - if (!pinfo->comment) FatalError("malloc failure in xvpbm.c getint"); ---- 438,444 ---- - *sp++ = '\n'; - *sp = '\0'; - -! if (strlen(cmt) > (size_t) 0) { /* add to pinfo->comment */ - if (!pinfo->comment) { - pinfo->comment = (char *) malloc(strlen(cmt)+1); - if (!pinfo->comment) FatalError("malloc failure in xvpbm.c getint"); - -diff -c -r ../xv-3.10/xvpcx.c ./xvpcx.c -*** ../xv-3.10/xvpcx.c Thu Dec 22 14:12:20 1994 ---- ./xvpcx.c Tue Jan 10 18:06:37 1995 -*************** -*** 36,44 **** - #define PCX_MAPSTART 0x0c /* Start of appended colormap */ - - -! static int pcxLoadImage PARM((char *, FILE *, byte *, byte *, int, int)); -! static void pcxLoadRaster PARM((FILE *, byte *, int, byte *, int, int)); -! static int pcxError PARM((char *, char *)); - - - ---- 36,45 ---- - #define PCX_MAPSTART 0x0c /* Start of appended colormap */ - - -! static int pcxLoadImage8 PARM((char *, FILE *, PICINFO *, byte *)); -! static int pcxLoadImage24 PARM((char *, FILE *, PICINFO *, byte *)); -! static void pcxLoadRaster PARM((FILE *, byte *, int, byte *, int, int)); -! static int pcxError PARM((char *, char *)); - - - -*************** -*** 52,58 **** - long filesize; - char *bname, *errstr; - byte hdr[128], *image; -! int i, colors, gray; - - pinfo->type = PIC8; - pinfo->pic = (byte *) NULL; ---- 53,59 ---- - long filesize; - char *bname, *errstr; - byte hdr[128], *image; -! int i, colors, gray, fullcolor; - - pinfo->type = PIC8; - pinfo->pic = (byte *) NULL; -*************** -*** 92,97 **** ---- 93,99 ---- - pinfo->w++; pinfo->h++; - - colors = 1 << (hdr[PCX_BPP] * hdr[PCX_PLANES]); -+ fullcolor = (hdr[PCX_BPP] == 8 && hdr[PCX_PLANES] == 3); - - if (DEBUG) { - fprintf(stderr,"PCX: %dx%d image, version=%d, encoding=%d\n", -*************** -*** 102,108 **** - colors); - } - -! if (colors>256) { - fclose(fp); - return pcxError(bname,"No more than 256 colors allowed in PCX file."); - } ---- 104,110 ---- - colors); - } - -! if (colors>256 && !fullcolor) { - fclose(fp); - return pcxError(bname,"No more than 256 colors allowed in PCX file."); - } -*************** -*** 112,134 **** - return pcxError(bname,"Unsupported PCX encoding format."); - } - -! /* note: overallocation to make life easier... */ -! image = (byte *) malloc((size_t) (pinfo->h + 1) * pinfo->w + 16); -! if (!image) FatalError("Can't alloc 'image' in LoadPCX()"); -! -! xvbzero((char *) image, (size_t) ((pinfo->h+1) * pinfo->w + 16)); -! -! if (!pcxLoadImage(bname, fp, image, hdr, pinfo->w, pinfo->h)) { -! free(image); -! fclose(fp); -! return 0; - } - - - if (ferror(fp) | feof(fp)) /* just a warning */ - pcxError(bname, "PCX file appears to be truncated."); - -! if (colors>16) { /* handle trailing colormap */ - while (1) { - i=getc(fp); - if (i==PCX_MAPSTART || i==EOF) break; ---- 114,138 ---- - return pcxError(bname,"Unsupported PCX encoding format."); - } - -! /* load the image, the image function fills in pinfo->pic */ -! if (!fullcolor) { -! if (!pcxLoadImage8(bname, fp, pinfo, hdr)) { -! fclose(fp); -! return 0; -! } - } -+ else { -+ if (!pcxLoadImage24(bname, fp, pinfo, hdr)) { -+ fclose(fp); -+ return 0; -+ } -+ } - - - if (ferror(fp) | feof(fp)) /* just a warning */ - pcxError(bname, "PCX file appears to be truncated."); - -! if (colors>16 && !fullcolor) { /* handle trailing colormap */ - while (1) { - i=getc(fp); - if (i==PCX_MAPSTART || i==EOF) break; -*************** -*** 171,185 **** - /* finally, convert into XV internal format */ - - -! pinfo->pic = image; -! pinfo->type = PIC8; - pinfo->frmType = -1; /* no default format to save in */ - - /* check for grayscaleitude */ -! for (i=0; ir[i] != pinfo->g[i]) || (pinfo->r[i] != pinfo->b[i])) break; - } -- gray = (i==colors) ? 1 : 0; - - - if (colors > 2 || (colors==2 && !gray)) { /* grayscale or PseudoColor */ ---- 175,191 ---- - /* finally, convert into XV internal format */ - - -! pinfo->type = fullcolor ? PIC24 : PIC8; - pinfo->frmType = -1; /* no default format to save in */ - - /* check for grayscaleitude */ -! gray = 0; -! if (!fullcolor) { -! for (i=0; ir[i] != pinfo->g[i]) || (pinfo->r[i] != pinfo->b[i])) break; -! } -! gray = (i==colors) ? 1 : 0; - } - - - if (colors > 2 || (colors==2 && !gray)) { /* grayscale or PseudoColor */ -*************** -*** 205,227 **** - - - /*****************************/ -! static int pcxLoadImage(fname, fp, image, hdr, w, h) -! char *fname; -! FILE *fp; -! byte *image, *hdr; -! int w, h; - { - switch (hdr[PCX_BPP]) { -! case 1: pcxLoadRaster(fp, image, 1, hdr, w, h); break; -! case 8: pcxLoadRaster(fp, image, 8, hdr, w, h); break; - default: - pcxError(fname, "Unsupported # of bits per plane."); - return (0); - } - - return 1; - } - - - - ---- 211,317 ---- - - - /*****************************/ -! static int pcxLoadImage8(fname, fp, pinfo, hdr) -! char *fname; -! FILE *fp; -! PICINFO *pinfo; -! byte *hdr; - { -+ /* load an image with at most 8 bits per pixel */ -+ -+ byte *image; -+ -+ /* note: overallocation to make life easier... */ -+ image = (byte *) malloc((size_t) (pinfo->h + 1) * pinfo->w + 16); -+ if (!image) FatalError("Can't alloc 'image' in pcxLoadImage8()"); -+ -+ xvbzero((char *) image, (size_t) ((pinfo->h+1) * pinfo->w + 16)); -+ - switch (hdr[PCX_BPP]) { -! case 1: pcxLoadRaster(fp, image, 1, hdr, pinfo->w, pinfo->h); break; -! case 8: pcxLoadRaster(fp, image, 8, hdr, pinfo->w, pinfo->h); break; - default: - pcxError(fname, "Unsupported # of bits per plane."); -+ free(image); - return (0); - } - -+ pinfo->pic = image; - return 1; - } - -+ -+ /*****************************/ -+ static int pcxLoadImage24(fname, fp, pinfo, hdr) -+ char *fname; -+ FILE *fp; -+ PICINFO *pinfo; -+ byte *hdr; -+ { -+ byte *pix, *pic24, scale[256]; -+ int c, i, j, w, h, maxv, cnt, planes, bperlin, nbytes; -+ -+ w = pinfo->w; h = pinfo->h; -+ -+ planes = (int) hdr[PCX_PLANES]; -+ bperlin = hdr[PCX_BPRL] + ((int) hdr[PCX_BPRH]<<8); -+ -+ /* allocate 24-bit image */ -+ pic24 = (byte *) malloc((size_t) w*h*planes); -+ if (!pic24) FatalError("couldn't malloc 'pic24'"); -+ -+ xvbzero((char *) pic24, (size_t) w*h*planes); -+ -+ maxv = 0; -+ pix = pinfo->pic = pic24; -+ i = 0; /* planes, in this while loop */ -+ j = 0; /* bytes per line, in this while loop */ -+ nbytes = bperlin*h*planes; -+ -+ while (nbytes > 0 && (c = getc(fp)) != EOF) { -+ if ((c & 0xC0) == 0xC0) { /* have a rep. count */ -+ cnt = c & 0x3F; -+ c = getc(fp); -+ if (c == EOF) { getc(fp); break; } -+ } -+ else cnt = 1; -+ -+ if (c > maxv) maxv = c; -+ -+ while (cnt-- > 0) { -+ if (j < w) { -+ *pix = c; -+ pix += planes; -+ } -+ j++; -+ nbytes--; -+ if (j == bperlin) { -+ j = 0; -+ if (++i < planes) { -+ pix -= (w*planes)-1; /* next plane on this line */ -+ } -+ else { -+ pix -= (planes-1); /* start of next line, first plane */ -+ i = 0; -+ } -+ } -+ } -+ } -+ -+ -+ /* scale all RGB to range 0-255, if they aren't */ -+ -+ if (maxv<255) { -+ for (i=0; i<=maxv; i++) scale[i] = (i * 255) / maxv; -+ -+ for (i=0, pix=pic24; i> 5) & 0x07) * 255) / 7; -! pp[1] = (((*ip >> 2) & 0x07) * 255) / 7; -! pp[2] = (((*ip >> 0) & 0x03) * 255) / 3; - } - - free(icon8); ---- 124,132 ---- - - /* convert icon from 332 to 24-bit image */ - for (i=0, ip=icon8, pp=pic24; i> 5) & 0x07)) * 255) / 7; -! pp[1] = ( ((int) ((*ip >> 2) & 0x07)) * 255) / 7; -! pp[2] = ( ((int) ((*ip >> 0) & 0x03)) * 255) / 3; - } - - free(icon8); - -diff -c -r ../xv-3.10/xvpopup.c ./xvpopup.c -*** ../xv-3.10/xvpopup.c Thu Dec 22 14:12:16 1994 ---- ./xvpopup.c Thu Jan 19 13:09:31 1995 -*************** -*** 150,161 **** - if (wy + h > dispHIGH) wy = dispHIGH - h; - } - -! /* wx -= (p_offx + ch_offx); -! wy -= (p_offy + ch_offy); */ - -- wx -= (ch_offx); -- wy -= (ch_offy); -- - if (!XGetNormalHints(theDisp, win, &hints)) hints.flags = 0; - hints.width = hints.min_width = hints.max_width = w; - hints.height = hints.min_height = hints.max_height = h; ---- 150,165 ---- - if (wy + h > dispHIGH) wy = dispHIGH - h; - } - -! -! if (winCtrPosKludge) { -! wx -= (p_offx + ch_offx); -! wy -= (p_offy + ch_offy); -! } -! else { -! wx -= (ch_offx); -! wy -= (ch_offy); -! } - - if (!XGetNormalHints(theDisp, win, &hints)) hints.flags = 0; - hints.width = hints.min_width = hints.max_width = w; - hints.height = hints.min_height = hints.max_height = h; -*************** -*** 249,255 **** - - if (poptyp == ISGRAB) { - BTSetActive(&bts[0], (int) strlen(gsBuf)); -! BTSetActive(&bts[1], (strlen(gsBuf)>0 && atoi(gsBuf)>0)); - } - else if (poptyp == ISPAD) { - BTSetActive(&bts[0], (int) strlen(gsBuf)); ---- 253,259 ---- - - if (poptyp == ISGRAB) { - BTSetActive(&bts[0], (int) strlen(gsBuf)); -! BTSetActive(&bts[1], (strlen(gsBuf)>(size_t)0 && atoi(gsBuf)>(size_t)0)); - } - else if (poptyp == ISPAD) { - BTSetActive(&bts[0], (int) strlen(gsBuf)); -*************** -*** 350,356 **** - gsx = 10 + icon_width + 20; - gsy = 10+(PUHIGH-30-BUTTH-gsh)/2; - -! if (strlen(txt) > 60) - gsy = PUHIGH - 10 - BUTTH - 10 - gsh - 20; - - gsw = PUWIDE - gsx - 10; ---- 354,360 ---- - gsx = 10 + icon_width + 20; - gsy = 10+(PUHIGH-30-BUTTH-gsh)/2; - -! if (strlen(txt) > (size_t) 60) - gsy = PUHIGH - 10 - BUTTH - 10 - gsh - 20; - - gsw = PUWIDE - gsx - 10; -*************** -*** 558,564 **** - strncpy(nams[*lenp], vals[*lenp], (size_t) 31); - } - -! if (strlen(nams[*lenp]) > 20) { /* fix long names */ - char *sp = nams[*lenp] + 18; - *sp++ = '.'; *sp++ = '.'; *sp++ = '.'; *sp++ = '\0'; - } ---- 562,568 ---- - strncpy(nams[*lenp], vals[*lenp], (size_t) 31); - } - -! if (strlen(nams[*lenp]) > (size_t) 20) { /* fix long names */ - char *sp = nams[*lenp] + 18; - *sp++ = '.'; *sp++ = '.'; *sp++ = '.'; *sp++ = '\0'; - } -*************** -*** 1154,1166 **** - /* if we have a string of any sort, turn on the default '\n' button - (if there is one) */ - for (i=0; i0); - } - else if (popUp == ISGRAB) { - /* need a string of length 1 to enable Grab (bts[0]), and a string - with an atoi() of at least '1' to enable AutoGrab (bts[1]) */ -! BTSetActive(&bts[0], strlen(gsBuf)>0); -! BTSetActive(&bts[1], (strlen(gsBuf)>0 && atoi(gsBuf)>0)); - } - - return(0); ---- 1158,1170 ---- - /* if we have a string of any sort, turn on the default '\n' button - (if there is one) */ - for (i=0; i (size_t) 0)); - } - else if (popUp == ISGRAB) { - /* need a string of length 1 to enable Grab (bts[0]), and a string - with an atoi() of at least '1' to enable AutoGrab (bts[1]) */ -! BTSetActive(&bts[0], (strlen(gsBuf) > (size_t) 0)); -! BTSetActive(&bts[1], (strlen(gsBuf)>(size_t)0 && atoi(gsBuf)>(size_t)0)); - } - - return(0); -*************** -*** 1219,1225 **** - XDrawLine(theDisp, popW, theGC, gsx+3, gsy+1, gsx+3, gsy + gsh-1); - } - -! if (gsEnPostype = PIC8; -! if (ncmap == 1) { - pinfo->colType = F_GREYSCALE; - sprintf(pinfo->fullInfo, "Greyscale RLE. (%ld bytes)", filesize); - for (i=0; i<256; i++) ---- 257,263 ---- - - if (ncolors == 1) { /* grayscale or PseudoColor */ - pinfo->type = PIC8; -! if (ncmap == 0 || ncmap == 1) { /* grey, or grey with gamma curve */ - pinfo->colType = F_GREYSCALE; - sprintf(pinfo->fullInfo, "Greyscale RLE. (%ld bytes)", filesize); - for (i=0; i<256; i++) - -diff -c -r ../xv-3.10/xvtext.c ./xvtext.c -*** ../xv-3.10/xvtext.c Thu Dec 22 14:12:20 1994 ---- ./xvtext.c Fri Jan 13 18:46:28 1995 -*************** -*** 1220,1226 **** - LC("the xv distribution. Do *not* send mail unless absolutely necessary"); - LC("(ie, you don't have ftp capability)."); - LC(""); -! LC("Note: The documentation ('xvdocs.ps') may be installed in '/usr/local'."); - LC(""); - LC("If you're viewing this information via the 'About XV' command, and"); - LC("you'd like to print it out, a copy of this info can be found in the "); ---- 1220,1226 ---- - LC("the xv distribution. Do *not* send mail unless absolutely necessary"); - LC("(ie, you don't have ftp capability)."); - LC(""); -! LC("Note: The docs (xvdocs.ps) may be installed in '/usr/local/lib'."); - LC(""); - LC("If you're viewing this information via the 'About XV' command, and"); - LC("you'd like to print it out, a copy of this info can be found in the "); - -diff -c -r ../xv-3.10/xvtiff.c ./xvtiff.c -*** ../xv-3.10/xvtiff.c Thu Dec 22 14:12:20 1994 ---- ./xvtiff.c Fri Jan 13 14:53:34 1995 -*************** -*** 120,126 **** - desc = (char *) NULL; - - TIFFGetField(tif, TIFFTAG_IMAGEDESCRIPTION, &desc); -! if (desc && strlen(desc)>0) { - /* kludge: tiff library seems to return bizarre comments */ - if (strlen(desc)==4 && strcmp(desc, "\367\377\353\370")==0) {} - else { ---- 120,126 ---- - desc = (char *) NULL; - - TIFFGetField(tif, TIFFTAG_IMAGEDESCRIPTION, &desc); -! if (desc && strlen(desc) > (size_t) 0) { - /* kludge: tiff library seems to return bizarre comments */ - if (strlen(desc)==4 && strcmp(desc, "\367\377\353\370")==0) {} - else { -*************** -*** 1381,1388 **** - } - } - -! /* #define Code2V(c, RB, RW, CR) ((((c)-(int)RB)*(float)CR)/(float)(RW-RB)) */ -! #define Code2V(c, RB, RW, CR) ((((c)-RB)*(float)CR)/(float)(RW-RB)) - - #define CLAMP(f,min,max) \ - (int)((f)+.5 < (min) ? (min) : (f)+.5 > (max) ? (max) : (f)+.5) ---- 1381,1387 ---- - } - } - -! #define Code2V(c, RB, RW, CR) ((((c)-(int)RB)*(float)CR)/(float)(RW-RB)) - - #define CLAMP(f,min,max) \ - (int)((f)+.5 < (min) ? (min) : (f)+.5 > (max) ? (max) : (f)+.5) - -diff -c -r ../xv-3.10/xvtiffwr.c ./xvtiffwr.c -*** ../xv-3.10/xvtiffwr.c Thu Dec 22 14:12:20 1994 ---- ./xvtiffwr.c Tue Jan 03 16:28:13 1995 -*************** -*** 70,76 **** - TIFFSetField(tif, TIFFTAG_IMAGELENGTH, h); - TIFFSetField(tif, TIFFTAG_COMPRESSION, comp); - -! if (comment && strlen(comment)>0) { - TIFFSetField(tif, TIFFTAG_IMAGEDESCRIPTION, comment); - } - ---- 70,76 ---- - TIFFSetField(tif, TIFFTAG_IMAGELENGTH, h); - TIFFSetField(tif, TIFFTAG_COMPRESSION, comp); - -! if (comment && strlen(comment) > (size_t) 0) { - TIFFSetField(tif, TIFFTAG_IMAGEDESCRIPTION, comment); - } - -diff -c -r ../xv-3.10/bits/font5x9.h ./bits/font5x9.h -*** ../xv-3.10/bits/font5x9.h Thu Dec 22 14:12:58 1994 ---- ./bits/font5x9.h Tue Jan 03 15:18:06 1995 -*************** -*** 21,27 **** - {0x0e, 0x11, 0x19, 0x15, 0x13, 0x11, 0x0e, 0x00, 0x00}, /* 0 */ - {0x04, 0x06, 0x05, 0x04, 0x04, 0x04, 0x1f, 0x00, 0x00}, /* 1 */ - {0x0e, 0x11, 0x10, 0x0c, 0x02, 0x01, 0x1f, 0x00, 0x00}, /* 2 */ -! {0x0e, 0x11, 0x10, 0x0c, 0x02, 0x01, 0x1f, 0x00, 0x00}, /* 3 */ - {0x09, 0x09, 0x09, 0x1f, 0x08, 0x08, 0x08, 0x00, 0x00}, /* 4 */ - {0x1f, 0x01, 0x01, 0x0f, 0x10, 0x10, 0x0f, 0x00, 0x00}, /* 5 */ - {0x0e, 0x01, 0x01, 0x0f, 0x11, 0x11, 0x0e, 0x00, 0x00}, /* 6 */ ---- 21,27 ---- - {0x0e, 0x11, 0x19, 0x15, 0x13, 0x11, 0x0e, 0x00, 0x00}, /* 0 */ - {0x04, 0x06, 0x05, 0x04, 0x04, 0x04, 0x1f, 0x00, 0x00}, /* 1 */ - {0x0e, 0x11, 0x10, 0x0c, 0x02, 0x01, 0x1f, 0x00, 0x00}, /* 2 */ -! {0x0f, 0x10, 0x10, 0x0e, 0x10, 0x10, 0x0f, 0x00, 0x00}, /* 3 */ - {0x09, 0x09, 0x09, 0x1f, 0x08, 0x08, 0x08, 0x00, 0x00}, /* 4 */ - {0x1f, 0x01, 0x01, 0x0f, 0x10, 0x10, 0x0f, 0x00, 0x00}, /* 5 */ - {0x0e, 0x01, 0x01, 0x0f, 0x11, 0x11, 0x0e, 0x00, 0x00}, /* 6 */ -*************** -*** 51,57 **** - {0x11, 0x13, 0x13, 0x15, 0x19, 0x19, 0x11, 0x00, 0x00}, /* N */ - {0x0e, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0e, 0x00, 0x00}, /* O */ - {0x0f, 0x11, 0x11, 0x0f, 0x01, 0x01, 0x01, 0x00, 0x00}, /* P */ -! {0x0f, 0x11, 0x11, 0x0f, 0x01, 0x01, 0x01, 0x00, 0x00}, /* Q */ - {0x0f, 0x11, 0x11, 0x0f, 0x05, 0x09, 0x11, 0x00, 0x00}, /* R */ - {0x0e, 0x11, 0x01, 0x0e, 0x10, 0x11, 0x0e, 0x00, 0x00}, /* S */ - {0x1f, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00}, /* T */ ---- 51,57 ---- - {0x11, 0x13, 0x13, 0x15, 0x19, 0x19, 0x11, 0x00, 0x00}, /* N */ - {0x0e, 0x11, 0x11, 0x11, 0x11, 0x11, 0x0e, 0x00, 0x00}, /* O */ - {0x0f, 0x11, 0x11, 0x0f, 0x01, 0x01, 0x01, 0x00, 0x00}, /* P */ -! {0x0e, 0x11, 0x11, 0x11, 0x11, 0x15, 0x0e, 0x18, 0x00}, /* Q */ - {0x0f, 0x11, 0x11, 0x0f, 0x05, 0x09, 0x11, 0x00, 0x00}, /* R */ - {0x0e, 0x11, 0x01, 0x0e, 0x10, 0x11, 0x0e, 0x00, 0x00}, /* S */ - {0x1f, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00}, /* T */ - -diff -c -r ../xv-3.10/bits/xv_rev ./bits/xv_rev -*** ../xv-3.10/bits/xv_rev Thu Dec 22 14:12:54 1994 ---- ./bits/xv_rev Fri Jan 13 17:37:10 1995 -*************** -*** 11,29 **** - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -! 0x00, 0x00, 0xa0, 0x03, 0x00, 0x04, 0x10, 0x00, 0x00, 0x20, 0x3c, 0x10, -! 0xe1, 0x41, 0x3c, 0x10, 0x01, 0x00, 0x20, 0x60, 0x04, 0x00, 0x04, 0x10, -! 0x00, 0x00, 0x30, 0x42, 0x90, 0x11, 0x42, 0x42, 0x18, 0x01, 0x00, 0xa0, -! 0x21, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x41, 0x48, 0x09, 0x20, - 0x41, 0x14, 0x01, 0xc7, 0x7b, 0xe0, 0x80, 0x09, 0xc5, 0x13, 0x27, 0x13, -! 0x20, 0x20, 0x08, 0x89, 0x23, 0x71, 0x14, 0x81, 0x28, 0x23, 0x60, 0x60, -! 0x8a, 0x24, 0x93, 0xe8, 0x12, 0x20, 0x10, 0x04, 0x65, 0x14, 0x4e, 0x12, -! 0x01, 0xae, 0x24, 0xa0, 0xe0, 0x51, 0xa4, 0x54, 0x28, 0x02, 0x20, 0x0c, -! 0x04, 0x15, 0x14, 0x40, 0x79, 0x81, 0x49, 0x24, 0x21, 0x11, 0x50, 0x44, -! 0x54, 0x28, 0x02, 0x20, 0x02, 0x04, 0x09, 0x92, 0xa0, 0x16, 0x5d, 0x0c, -! 0xa2, 0x20, 0x16, 0x23, 0x04, 0x52, 0x24, 0x12, 0x20, 0x41, 0x02, 0x09, -! 0x89, 0x11, 0x10, 0x83, 0xeb, 0x61, 0x20, 0xe8, 0x20, 0xe4, 0x91, 0x23, -! 0x12, 0x20, 0x7f, 0x02, 0xf1, 0x08, 0x0e, 0x10, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, ---- 11,29 ---- - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -! 0x00, 0x00, 0xa0, 0x03, 0x00, 0x04, 0x10, 0x00, 0x00, 0x84, 0x07, 0xf1, -! 0xe0, 0x41, 0x3c, 0x10, 0x01, 0x00, 0x20, 0x60, 0x04, 0x00, 0x04, 0x10, -! 0x00, 0x00, 0x46, 0x08, 0x09, 0x11, 0x42, 0x42, 0x18, 0x01, 0x00, 0xa0, -! 0x21, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x88, 0x04, 0x09, 0x22, - 0x41, 0x14, 0x01, 0xc7, 0x7b, 0xe0, 0x80, 0x09, 0xc5, 0x13, 0x27, 0x13, -! 0x04, 0x84, 0x80, 0x88, 0x23, 0x71, 0x14, 0x81, 0x28, 0x23, 0x60, 0x60, -! 0x8a, 0x24, 0x93, 0xe8, 0x12, 0x04, 0x42, 0x40, 0x70, 0x12, 0x4e, 0x12, -! 0x01, 0xae, 0x24, 0xa0, 0xe0, 0x51, 0xa4, 0x54, 0x28, 0x02, 0x84, 0x41, -! 0x30, 0x00, 0x12, 0x40, 0x79, 0x81, 0x49, 0x24, 0x21, 0x11, 0x50, 0x44, -! 0x54, 0x28, 0x02, 0x44, 0x40, 0x08, 0x04, 0x91, 0xa0, 0x16, 0x5d, 0x0c, -! 0xa2, 0x20, 0x16, 0x23, 0x04, 0x52, 0x24, 0x12, 0x24, 0x28, 0x04, 0x8d, -! 0x88, 0x11, 0x10, 0x83, 0xeb, 0x61, 0x20, 0xe8, 0x20, 0xe4, 0x91, 0x23, -! 0x12, 0xe4, 0x2f, 0xfc, 0x71, 0x08, 0x0e, 0x10, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - -diff -c -r ../xv-3.10/bits/xv_ver ./bits/xv_ver -*** ../xv-3.10/bits/xv_ver Thu Dec 22 14:12:58 1994 ---- ./bits/xv_ver Fri Jan 13 17:34:48 1995 -*************** -*** 6,20 **** - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -! 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x82, 0x00, -! 0x00, 0x08, 0x00, 0x80, 0x1f, 0x04, 0x07, 0x00, 0x82, 0x00, 0x00, 0x08, -! 0x00, 0x80, 0x08, 0x86, 0x08, 0x00, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, -! 0x04, 0x45, 0x10, 0x00, 0x24, 0x98, 0xe4, 0x89, 0x23, 0x03, 0x1c, 0x24, -! 0x10, 0x00, 0x24, 0xa6, 0x97, 0x49, 0xe4, 0x02, 0x23, 0x24, 0x10, 0x00, -! 0x14, 0x9e, 0x50, 0x2a, 0x24, 0x02, 0x20, 0x24, 0x10, 0x00, 0x18, 0x81, -! 0x20, 0x2a, 0x24, 0x42, 0x20, 0x24, 0x08, 0x00, 0x08, 0xb1, 0x00, 0x29, -! 0x22, 0x42, 0x98, 0x24, 0x06, 0x00, 0x08, 0x8e, 0xf0, 0xc8, 0x21, 0x82, -! 0x87, 0xc4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, ---- 6,20 ---- - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -! 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, -! 0x00, 0x02, 0x00, 0xe0, 0x07, 0xc1, 0x01, 0x00, 0x41, 0x00, 0x00, 0x02, -! 0x00, 0x20, 0x82, 0x21, 0x02, 0x00, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, -! 0x41, 0x11, 0x04, 0x00, 0x12, 0x26, 0x79, 0xe2, 0xc8, 0x00, 0x07, 0x09, -! 0xc4, 0x01, 0x92, 0xe9, 0x65, 0x12, 0xb9, 0xc0, 0x08, 0x09, 0x24, 0x02, -! 0x8a, 0x27, 0x94, 0x0a, 0x89, 0x00, 0x08, 0x09, 0x84, 0x03, 0x4c, 0x20, -! 0x88, 0x0a, 0x89, 0x10, 0x08, 0x09, 0x62, 0x02, 0x44, 0x2c, 0x40, 0x8a, -! 0x88, 0x10, 0x26, 0x89, 0x11, 0x03, 0x84, 0x23, 0x3c, 0x72, 0x88, 0xe0, -! 0x21, 0x71, 0xe0, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - -diff -c -r ../xv-3.10/tiff/tif_fax3.c ./tiff/tif_fax3.c -*** ../xv-3.10/tiff/tif_fax3.c Thu Dec 22 14:12:41 1994 ---- ./tiff/tif_fax3.c Fri Dec 23 17:39:28 1994 -*************** -*** 370,376 **** - * Decode a code and return the associated run length. - */ - static int32 -! decode_run(TIFF* tif, const u_short fsm[][256]) - { - Fax3DecodeState *sp = (Fax3DecodeState *)tif->tif_data; - int state = sp->b.bit; ---- 370,376 ---- - * Decode a code and return the associated run length. - */ - static int32 -! decode_run(TIFF* tif, /*const*/ u_short fsm[][256]) - { - Fax3DecodeState *sp = (Fax3DecodeState *)tif->tif_data; - int state = sp->b.bit; - -diff -c -r ../xv-3.10/tiff/tiffcomp.h ./tiff/tiffcomp.h -*** ../xv-3.10/tiff/tiffcomp.h Thu Dec 22 14:12:42 1994 ---- ./tiff/tiffcomp.h Thu Jan 19 12:47:56 1995 -*************** -*** 67,72 **** ---- 67,76 ---- - #endif - #endif - -+ #ifdef isc -+ #define BSDTYPES -+ #endif -+ - /* - * Workarounds for BSD lseek definitions. - */ - -diff -c -r ../xv-3.10/vms/Makefile.mms ./vms/Makefile.mms -*** ../xv-3.10/vms/Makefile.mms Thu Dec 22 14:12:37 1994 ---- ./vms/Makefile.mms Sun Dec 25 03:21:22 1994 -*************** -*** 11,30 **** - # 15-APR-1993 for v3.00 (DEC C changes) - # 25-MAY-1993 merged ALPHA.MMS and MAKEFILE.MMS - # 27-APR-1994 for v3.01 -! # 6-DEC-1994 for v3.10 - # - # Modeled after the original Unix Makefile for xv - # Most of the Unix comments have been left intact to help debug any - # problems. - -- #******** -- # -- # REQUIRED USER EDIT POINT!!!!!!!!!!! -- # You must put in the correct place where the root of this XV -- # directory is located -- # -- #******** -- XVDIR = [XV-3_10] - - # BE SURE TO SET THIS TO YOUR SITE'S DESTINATION DIRECTORY...!!! - BINDIR = Sys$Disk:[] ---- 11,22 ---- - # 15-APR-1993 for v3.00 (DEC C changes) - # 25-MAY-1993 merged ALPHA.MMS and MAKEFILE.MMS - # 27-APR-1994 for v3.01 -! # 23-DEC-1994 for v3.10 - # - # Modeled after the original Unix Makefile for xv - # Most of the Unix comments have been left intact to help debug any - # problems. - - - # BE SURE TO SET THIS TO YOUR SITE'S DESTINATION DIRECTORY...!!! - BINDIR = Sys$Disk:[] -*************** -*** 57,64 **** - # VMS MMS USERS!!! - # - # if you don't use the JPEG package as supplied with XV, you -! # will need fill in the complete directory specifications for -! # BOTH JPEGDIR and XVDIR!! - # - JPEG = ,HAVE_JPEG - JPEGDIR = [.JPEG] ---- 49,55 ---- - # VMS MMS USERS!!! - # - # if you don't use the JPEG package as supplied with XV, you -! # will need fill in the complete directory specifications for JPEGDIR. - # - JPEG = ,HAVE_JPEG - JPEGDIR = [.JPEG] -*************** -*** 72,79 **** - # Also, comment out the LIBTIFF dependancy at the end of this Makefile - # - # if you don't use the TIFF package as supplied with XV, you -! # will need to fill in the complete directory specifications for -! # BOTH TIFFDIR and XVDIR!! - # - TIFF = ,HAVE_TIFF - TIFFDIR = [.TIFF] ---- 63,69 ---- - # Also, comment out the LIBTIFF dependancy at the end of this Makefile - # - # if you don't use the TIFF package as supplied with XV, you -! # will need to fill in the complete directory specifications for TIFFDIR. - # - TIFF = ,HAVE_TIFF - TIFFDIR = [.TIFF] -*************** -*** 135,145 **** - @- Define /NoLog Sys DECC$Library_Include - .else - .ifdef DECC -! × @- Define /NoLog Sys DECC$Library_Include - .else - @- Define /NoLog Sys Sys$Library - .endif - @- Define /NoLog X11 DECW$Include - .endif - - all : $(BITS) $(OPTS) lib xv bggen decompress xcmap xvpictoppm help ---- 125,136 ---- - @- Define /NoLog Sys DECC$Library_Include - .else - .ifdef DECC -! @- Define /NoLog Sys DECC$Library_Include - .else - @- Define /NoLog Sys Sys$Library - .endif - @- Define /NoLog X11 DECW$Include -+ @- XVDIR = F$Environment ("Default") - .endif - - all : $(BITS) $(OPTS) lib xv bggen decompress xcmap xvpictoppm help -*************** -*** 181,204 **** - $(JPEGLIB) : - Set Default $(JPEGDIR) - .ifdef ALPHA -! $(MMS) $(MMSDEFAULTS) /Description = MAKEFILE.$(MMS) /Macro = "ALPHA = 1" LIBJPEG.OLB - .else -! $(MMS) $(MMSDEFAULTS) /Description = MAKEFILE.$(MMS) LIBJPEG.OLB - .endif -! Set Default $(XVDIR) - - $(TIFFLIB) : - Set Default $(TIFFDIR) - .ifdef ALPHA -! $(MMS) $(MMSDEFAULTS) /Description = MAKEFILE.$(MMS) /Macro = "ALPHA = 1" LIBTIFF.OLB - .else - .ifdef DECC -! $(MMS) $(MMSDEFAULTS) /Description = MAKEFILE.$(MMS) /Macro = "ALPHA = 1" LIBTIFF.OLB - .else -! $(MMS) $(MMSDEFAULTS) /Description = MAKEFILE.$(MMS) LIBTIFF.OLB - .endif - .endif -! Set Default $(XVDIR) - - $(XVLIB) : $(OBJS) - If "''F$Search ("$(XVLIB)")'" .eqs. "" Then Library /Create $(XVLIB) ---- 172,195 ---- - $(JPEGLIB) : - Set Default $(JPEGDIR) - .ifdef ALPHA -! $(MMS) $(MMSDEFAULTS) /Description = MAKEFILE.MMS /Macro = "ALPHA = 1" LIBJPEG.OLB - .else -! $(MMS) $(MMSDEFAULTS) /Description = MAKEFILE.MMS LIBJPEG.OLB - .endif -! Set Default 'XVDIR' - - $(TIFFLIB) : - Set Default $(TIFFDIR) - .ifdef ALPHA -! $(MMS) $(MMSDEFAULTS) /Description = MAKEFILE.MMS /Macro = "ALPHA = 1" LIBTIFF.OLB - .else - .ifdef DECC -! $(MMS) $(MMSDEFAULTS) /Description = MAKEFILE.MMS /Macro = "ALPHA = 1" LIBTIFF.OLB - .else -! $(MMS) $(MMSDEFAULTS) /Description = MAKEFILE.MMS LIBTIFF.OLB - .endif - .endif -! Set Default 'XVDIR' - - $(XVLIB) : $(OBJS) - If "''F$Search ("$(XVLIB)")'" .eqs. "" Then Library /Create $(XVLIB) -*************** -*** 273,280 **** - - Delete /NoConfirm /NoLog *.obj;*,*.exe;*,*.log;*,*.olb;*,*.hlb;* - - Purge /NoConfirm /NoLog - Set Default [.JPEG] -! $(MMS) /Description = MAKEFILE.$(MMS) clean - - Delete /NoConfirm /NoLog *.olb;* - Set Default [-.TIFF] -! $(MMS) /Description = MAKEFILE.$(MMS) clean - Set Default [-] ---- 264,271 ---- - - Delete /NoConfirm /NoLog *.obj;*,*.exe;*,*.log;*,*.olb;*,*.hlb;* - - Purge /NoConfirm /NoLog - Set Default [.JPEG] -! $(MMS) /Description = MAKEFILE.MMS clean - - Delete /NoConfirm /NoLog *.olb;* - Set Default [-.TIFF] -! $(MMS) /Description = MAKEFILE.MMS clean - Set Default [-] - -diff -c -r ../xv-3.10/vms/README.vms ./vms/README.vms -*** ../xv-3.10/vms/README.vms Thu Dec 22 14:12:37 1994 ---- ./vms/README.vms Sun Dec 25 03:21:22 1994 -*************** -*** 1,9 **** -! 6-Dec-1994 - -! First, read the release notes for the Unix version of XV as well -! as these. You can ignore the Unix specific comments, but there are -! references to the config.h file for local configurations and general -! use of the program that are relevant to VMS users as well. - - Release notes for building XV (v3.10) on a VMS platform. This - includes the newer ALPHA/VMS machines. As in the previous release, ---- 1,10 ---- -! 23-DEC-1994 - -! First, read the various INSTALL and README files for the Unix -! version of XV as well as these. You can ignore the Unix specific -! comments, but there are references to the config.h file for local -! configurations and general use of the program that are relevant to -! VMS users as well. - - Release notes for building XV (v3.10) on a VMS platform. This - includes the newer ALPHA/VMS machines. As in the previous release, -*************** -*** 24,42 **** - - SETUP.COM - A simple command procedure to setup the final compiled XV -! package of programs. It can be executed by itself or used with -! many of the commonly available SETUP packages (i.e., the -! FERMILAB version). If it is kept in the same directory as the -! binaries, it will be able to get the necessary symbols setup -! anywhere the directory structure is located WITHOUT the need to -! edit the command procedure. Move them all around together and -! you will be OK. - - MAKEFILE.MMS (in the top level directory) -! This is a MMS description file for the VMS MMS utility. YOU -! SHOULD EDIT THE FILE FIRST TO MAKE SURE THE CUSTOMIZING FEATURES -! ARE APPROPRIATE FOR YOUR SYSTEM. For users without MMS you will -! need to use MAKE_XV.COM instead. - - Installation Instructions: - ---- 25,48 ---- - - SETUP.COM - A simple command procedure to setup the final compiled XV -! package of programs. It helps the aux programs of XV be found -! by DCL foreign symbols. If you don't want to use the names I -! have chosen for them, you should be able to alter the CONFIG.H -! file to point to the names you want to use instead. This has -! not been tested by me, so let me know if you try this. It -! should work! :) It can be executed by itself or used with many -! of the commonly available SETUP packages (i.e., the FERMILAB -! version). If it is kept in the same directory as the binaries, -! it will be able to get the necessary symbols setup anywhere the -! directory structure is located WITHOUT the need to edit the -! command procedure. Move them all around together and you will -! be OK. - - MAKEFILE.MMS (in the top level directory) -! This is a description file for the VMS MMS (or the PD MMK) -! utility. YOU SHOULD BROWSE THE FILE FIRST TO MAKE SURE THE -! CUSTOMIZING FEATURES ARE APPROPRIATE FOR YOUR SYSTEM. For users -! without MMS (MMK) you will need to use MAKE_XV.COM instead. - - Installation Instructions: - -*************** -*** 100,114 **** - to resolve first!!! Note specifically the references to JPEG - and TIFF. This is also true for the MAKEFILE.MMS in the JPEG - sub-directory and the MAKEFILE.MMS file in the TIFF -! sub-directory. Also check the top-level directory name at the -! top of the MMS file. You have to put in your local choice of -! name. (I was lazy in not trying to autodetect it, sorry.) -! - -! EXCEPT for the destination of the binaries, root of the -! directory tree, and X11 Window interface, I *think* it should -! work for everyone without any modifications. (famous last -! words...) - - When you are satisfied that everything is correct for your - site, just type ---- 106,116 ---- - to resolve first!!! Note specifically the references to JPEG - and TIFF. This is also true for the MAKEFILE.MMS in the JPEG - sub-directory and the MAKEFILE.MMS file in the TIFF -! sub-directory. - -! EXCEPT for the destination of the binaries, and X11 Window -! interface, I *think* it should work for everyone without any -! modifications. (famous last words...) - - When you are satisfied that everything is correct for your - site, just type - -diff -c -r ../xv-3.10/vms/tiff.patches ./vms/tiff.patches -*** ../xv-3.10/vms/tiff.patches Thu Dec 22 14:12:38 1994 ---- ./vms/tiff.patches Thu Jan 19 12:47:14 1995 -*************** -*** 5,10 **** ---- 5,11 ---- - In tiff/Makefile.hpux, you need to add -D_HPUX_SOURCE to CFLAGS. - Otherwise libtiff won't build under gcc or strict-ANSI cc. - -+ In tiff/tiffcomp.h, add '#ifdef isc ... #define BSDTYPES ... #endif' - - Index: tiff/Makefile.mms - *** /dev/null Wed Dec 14 08:22:27 1994 - - -*** /dev/null Mon Jan 23 20:08:17 1995 ---- BUGS Thu Jan 19 13:10:07 1995 -*************** -*** 0 **** ---- 1,21 ---- -+ DOCS: -+ File docs/xvdoc.ps has an error in the banner for page 2. The page title is -+ "Section 2: The Image Window" when it should be "Section 1: Overview". -+ -+ Add mention of '-pkludge' and 'popupKludge' -+ -+ Hall of Fame: Lester Ingber should be 'ingber@alumni.caltech.edu' -+ -+ -+ From: James Ralston Crawford (qralston+@pitt.edu) -+ When deleting files in 'xv controls' window, it should also delete -+ thumbnail file, if any -+ -+ -+ From: Mitchell Blank Jr -+ (try an use schnauzer in /usr/feh/foo, where feh is rwx--x--x. Need to -+ set a var each time chdir is successfully called (make xv_chdir). -+ Then in xv_getwd, if getcwd() fails, try stat()'ing the var. -+ If it exists, assume we're there, and return the var. Otherwise, fall back -+ to other directories... -+ - -*** /dev/null Mon Jan 23 20:08:17 1995 ---- docs/vdcomp.man Fri Jan 13 15:18:47 1995 -*************** -*** 0 **** ---- 1,82 ---- -+ .\" -+ .\" $Id: vdcomp.man,v 1.2 1995/01/12 23:35:28 qralston Exp $ -+ .\" -+ .\" $Log: vdcomp.man,v $ -+ .\" Revision 1.2 1995/01/12 23:35:28 qralston -+ .\" Created from the information in the comments in vdcomp.c. -+ .\" James Ralston Crawford -+ .\" -+ .TH vdcomp 1 -+ .SH Name -+ \fIvdcomp\fP - decompress a compressed PDS image -+ .SH Synopsis -+ \fIvdcomp\fP [ infile ] [ outfile ] [ format-code ] -+ .SH Description -+ The \fIvdcomp\fP program reads a variable length compressed PDS image -+ and outputs a fixed length uncompressed image file in PDS format with -+ labels, image histogram, engineering table, line header table and an -+ image with PDS, FITS, VICAR or no labels. -+ .PP -+ If used on a non-byte-swapped machine the image histogram is -+ un-swapped. -+ .SH Options -+ \fIVdcomp\fP will prompt for any options that are not supplied on the -+ command-line. -+ .PP -+ \fIinfile\fP -+ .br -+ .RS -+ The name of compressed image file. -+ .RE -+ .PP -+ \fIoutfile\fP -+ .br -+ .RS -+ The name of uncompressed image file. -+ .RE -+ .PP -+ \fIformat-code\fP -+ .br -+ .RS -+ Select from the following list: -+ .br -+ .RS -+ \fI1\fP - SFDU/PDS format [default] -+ .br -+ \fI2\fP - FITS format -+ .br -+ \fI3\fP - VICAR format -+ .br -+ \fI4\fP - unlabelled binary array -+ .RE -+ .RE -+ .SH Limitations -+ This program has been tested on a VAX 780 (VMS 4.6), SUN Workstation -+ (UNIX 4.2, release 3.4), an IBM PC (MICROSOFT 5.1 compiler) and -+ Macintosh IIx using Lightspeed C version 3.0. When converting to -+ other systems, check for portability conflicts. -+ .SH Credits -+ This program uses Kris Becker's subroutine DECOMP.C (which is included -+ in this program in a shortened version). -+ .SH History -+ bradley@cis.upenn.edu 06-23-94 ansi-fied program -+ .PP -+ datri@convex.com, 11-15-91 added recognition of - as stdout for output -+ filename; disabled various messages; directed messages to stderr; -+ added exit status -+ .PP -+ DEC89 Modified program to handle both Voyager and Viking images. -+ .PP -+ OCT89 Converted Voyager decompression program to handle Viking -+ compressed images. Changed obuf to 'unsigned' to simplify computation -+ of checksum. -+ .PP -+ AUG89 Added code to get command line arguments for filenames and -+ output format; routines to free memory used by the Huffman tree); -+ fixed the SFDU label output length; and modified the I/O routines so -+ that the open for Host type 2 uses binary I/O. -+ .PP -+ JUN89 Fixed READVAR, to get length on 16-bit unswapped hosts. -+ .PP -+ JUL88 C driver to decompress standard Voyager Compressed images by -+ Mike Martin 1989/12/02. - -*** /dev/null Mon Jan 23 20:23:48 1995 ---- docs/xv.ann Tue Jan 03 13:58:15 1995 -*************** -*** 0 **** ---- 1,38 ---- -+ They said it couldn't be done. They said it never *would* be done. -+ They smiled knowingly to themselves as each predicted release date -+ inevitably passed by, unmarked by the emergence of a new version... -+ -+ Well, who asked them! And who do they think they are, anyhow!?! -+ -+ Announcing the Exciting New Release of XV, Version 3.10! -+ -+ Finally, all the stuff you've been waiting for: image cut & paste, pixel -+ editing, text annotation (of a sort), nifty new algorithms, new image formats -+ (Targa, XPM, FITS, XWD, IFF), improved schnauzing capabilities, a spiffy -+ new 'pad' command, and whatnot. Plenty of whatnot. -+ -+ Of course, we're particularly proud of our Exclusive 3-D Fish Technology. -+ -+ At the moment, you can get this decidedly 'fine' piece of software via -+ anonymous ftp on the following sites: -+ -+ Hostname Directory -+ -------- --------- -+ ftp.cis.upenn.edu: pub/xv -+ ftp.upenn.edu: data/bradley -+ ftp.duke.edu: pub/archive/xv -+ gatekeeper.dec.com: pub/graphics/xv -+ -+ The file is called 'xv-3.10.tar.gz' (or 'xv-3.10.tar.Z' if you don't have -+ the 'gunzip' program). -+ -+ BTW, if any of you fine folks can get these files put up on one of the major -+ ftp sites (wustl, gatekeeper, etc.) please do so, and let me know! -+ -+ Enjoy! -+ -+ John Bradley -+ -+ ------------------------- -+ Note: These tar files (xv-3.10.tar.Z and xv-3.10.tar.gz) have been replaced -+ as of 12/22/94, as the initial ones wouldn't build correctly on VMS. diff --git a/source/xap/xv/xv-libpng-1.5.patch b/source/xap/xv/xv-libpng-1.5.patch deleted file mode 100644 index 66659ff8e..000000000 --- a/source/xap/xv/xv-libpng-1.5.patch +++ /dev/null @@ -1,543 +0,0 @@ -$OpenBSD: patch-xvpng_c,v 1.2 2011/08/29 18:07:44 espie Exp $ - -Fix build with png-1.5. - ---- xvpng.c.orig Mon May 14 02:53:28 2007 -+++ xvpng.c Mon Aug 29 15:05:31 2011 -@@ -31,6 +31,7 @@ - - #ifdef HAVE_PNG - -+#include "zlib.h" - #include "png.h" - - /*** Stuff for PNG Dialog box ***/ -@@ -41,7 +42,7 @@ - #define COMPRESSION 6 /* default zlib compression level, not max - (Z_BEST_COMPRESSION) */ - --#define HAVE_tRNS (info_ptr->valid & PNG_INFO_tRNS) -+#define HAVE_tRNS (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) - - #define DWIDE 86 - #define DHIGH 104 -@@ -435,6 +436,16 @@ int WritePNG(fp, pic, ptype, w, h, rmap, gmap, bmap, n - { - png_struct *png_ptr; - png_info *info_ptr; -+ struct { -+ /* IHDR */ -+ png_uint_32 width; -+ png_uint_32 height; -+ int bit_depth; -+ int color_type; -+ int interlace_type; -+ /* PLTE */ -+ int use_palette; -+ } info_tmp; - png_color palette[256]; - png_textp text; - byte r1[256], g1[256], b1[256]; /* storage for deduped palette */ -@@ -444,6 +455,7 @@ int WritePNG(fp, pic, ptype, w, h, rmap, gmap, bmap, n - byte *p, *png_line; - char software[256]; - char *savecmnt; -+ int num_text, max_text; - - if ((png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, - png_xv_error, png_xv_warning)) == NULL) { -@@ -458,7 +470,7 @@ int WritePNG(fp, pic, ptype, w, h, rmap, gmap, bmap, n - FatalError(software); - } - -- if (setjmp(png_ptr->jmpbuf)) { -+ if (setjmp(png_jmpbuf(png_ptr))) { - png_destroy_write_struct(&png_ptr, &info_ptr); - return -1; - } -@@ -489,8 +501,8 @@ int WritePNG(fp, pic, ptype, w, h, rmap, gmap, bmap, n - png_set_filter(png_ptr, 0, filter); - } - -- info_ptr->width = w; -- info_ptr->height = h; -+ info_tmp.width = w; -+ info_tmp.height = h; - if (w <= 0 || h <= 0) { - SetISTR(ISTR_WARNING, "%s: image dimensions out of range (%dx%d)", - fbasename, w, h); -@@ -498,7 +510,8 @@ int WritePNG(fp, pic, ptype, w, h, rmap, gmap, bmap, n - return -1; - } - -- info_ptr->interlace_type = interCB.val ? 1 : 0; -+ info_tmp.interlace_type = -+ interCB.val ? PNG_INTERLACE_ADAM7 : PNG_INTERLACE_NONE; - - linesize = 0; /* quiet a compiler warning */ - -@@ -542,40 +555,40 @@ int WritePNG(fp, pic, ptype, w, h, rmap, gmap, bmap, n - png_destroy_write_struct(&png_ptr, &info_ptr); - return -1; - } -- info_ptr->color_type = PNG_COLOR_TYPE_RGB; -- info_ptr->bit_depth = 8; -+ info_tmp.color_type = PNG_COLOR_TYPE_RGB; -+ info_tmp.bit_depth = 8; -+ info_tmp.use_palette = 0; - } else /* ptype == PIC8 */ { - linesize = w; -- info_ptr->color_type = PNG_COLOR_TYPE_PALETTE; -+ info_tmp.color_type = PNG_COLOR_TYPE_PALETTE; - if (numuniqcols <= 2) -- info_ptr->bit_depth = 1; -+ info_tmp.bit_depth = 1; - else - if (numuniqcols <= 4) -- info_ptr->bit_depth = 2; -+ info_tmp.bit_depth = 2; - else - if (numuniqcols <= 16) -- info_ptr->bit_depth = 4; -+ info_tmp.bit_depth = 4; - else -- info_ptr->bit_depth = 8; -+ info_tmp.bit_depth = 8; - - for (i = 0; i < numuniqcols; i++) { - palette[i].red = r1[i]; - palette[i].green = g1[i]; - palette[i].blue = b1[i]; - } -- info_ptr->num_palette = numuniqcols; -- info_ptr->palette = palette; -- info_ptr->valid |= PNG_INFO_PLTE; -+ info_tmp.use_palette = 1; - } - } - - else if (colorType == F_GREYSCALE || colorType == F_BWDITHER) { -- info_ptr->color_type = PNG_COLOR_TYPE_GRAY; -+ info_tmp.color_type = PNG_COLOR_TYPE_GRAY; -+ info_tmp.use_palette = 0; - if (colorType == F_BWDITHER) { - /* shouldn't happen */ - if (ptype == PIC24) FatalError("PIC24 and B/W Stipple in WritePNG()"); - -- info_ptr->bit_depth = 1; -+ info_tmp.bit_depth = 1; - if (MONO(r1[0], g1[0], b1[0]) > MONO(r1[1], g1[1], b1[1])) { - remap[0] = 1; - remap[1] = 0; -@@ -595,7 +608,7 @@ int WritePNG(fp, pic, ptype, w, h, rmap, gmap, bmap, n - png_destroy_write_struct(&png_ptr, &info_ptr); - return -1; - } -- info_ptr->bit_depth = 8; -+ info_tmp.bit_depth = 8; - } - else /* ptype == PIC8 */ { - int low_precision; -@@ -617,7 +630,7 @@ int WritePNG(fp, pic, ptype, w, h, rmap, gmap, bmap, n - for (; i < 256; i++) - remap[i]=0; /* shouldn't be necessary, but... */ - -- info_ptr->bit_depth = 8; -+ info_tmp.bit_depth = 8; - - /* Note that this fails most of the time because of gamma */ - /* (and that would be a bug: GRR FIXME) */ -@@ -636,7 +649,7 @@ int WritePNG(fp, pic, ptype, w, h, rmap, gmap, bmap, n - for (i = 0; i < numuniqcols; i++) { - remap[i] &= 0xf; - } -- info_ptr->bit_depth = 4; -+ info_tmp.bit_depth = 4; - - /* try to adjust to 2-bit precision grayscale */ - -@@ -652,7 +665,7 @@ int WritePNG(fp, pic, ptype, w, h, rmap, gmap, bmap, n - for (i = 0; i < numuniqcols; i++) { - remap[i] &= 3; - } -- info_ptr->bit_depth = 2; -+ info_tmp.bit_depth = 2; - - /* try to adjust to 1-bit precision grayscale */ - -@@ -668,7 +681,7 @@ int WritePNG(fp, pic, ptype, w, h, rmap, gmap, bmap, n - for (i = 0; i < numuniqcols; i++) { - remap[i] &= 1; - } -- info_ptr->bit_depth = 1; -+ info_tmp.bit_depth = 1; - } - } - } -@@ -677,6 +690,20 @@ int WritePNG(fp, pic, ptype, w, h, rmap, gmap, bmap, n - else - png_error(png_ptr, "Unknown colorstyle in WritePNG"); - -+ png_set_IHDR(png_ptr, info_ptr, -+ info_tmp.width, info_tmp.height, -+ info_tmp.bit_depth, info_tmp.color_type, -+ info_tmp.interlace_type, PNG_COMPRESSION_TYPE_BASE, -+ PNG_FILTER_TYPE_BASE); -+ if (info_tmp.use_palette) { -+ /* -+ * info_ptr->num_palette = numuniqcols; -+ * info_ptr->palette = palette; -+ * info_ptr->valid |= PNG_INFO_PLTE; -+ */ -+ png_set_PLTE(png_ptr, info_ptr, palette, numuniqcols); -+ } -+ - if ((text = (png_textp)malloc(sizeof(png_text)))) { - sprintf(software, "XV %s", REVDATE); - -@@ -684,21 +711,29 @@ int WritePNG(fp, pic, ptype, w, h, rmap, gmap, bmap, n - text->key = "Software"; - text->text = software; - text->text_length = strlen(text->text); -+ text->lang = NULL; - -- info_ptr->max_text = 1; -- info_ptr->num_text = 1; -- info_ptr->text = text; -+ /* -+ * info_ptr->max_text = 1; -+ * info_ptr->num_text = 1; -+ * info_ptr->text = text; -+ */ -+ png_set_text(png_ptr, info_ptr, text, 1); -+ num_text = max_text = 1; - } - - Display_Gamma = gDial.val; /* Save the current gamma for loading */ - - // GRR FIXME: add .Xdefaults option to omit writing gamma (size, cumulative errors when editing)--alternatively, modify save box to include "omit" checkbox -- info_ptr->gamma = 1.0/gDial.val; -- info_ptr->valid |= PNG_INFO_gAMA; -+ /* -+ * info_ptr->gamma = 1.0/gDial.val; -+ * info_ptr->valid |= PNG_INFO_gAMA; -+ */ -+ png_set_gAMA(png_ptr, info_ptr, 1.0/gDial.val); - - png_write_info(png_ptr, info_ptr); - -- if (info_ptr->bit_depth < 8) -+ if (info_tmp.bit_depth < 8) - png_set_packing(png_ptr); - - pass=png_set_interlace_handling(png_ptr); -@@ -711,13 +746,13 @@ int WritePNG(fp, pic, ptype, w, h, rmap, gmap, bmap, n - int j; - p = pic; - for (j = 0; j < h; ++j) { -- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY) { -+ if (info_tmp.color_type == PNG_COLOR_TYPE_GRAY) { - int k; - for (k = 0; k < w; ++k) - png_line[k] = ptype==PIC24 ? MONO(p[k*3], p[k*3+1], p[k*3+2]) : - remap[pc2nc[p[k]]]; - png_write_row(png_ptr, png_line); -- } else if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE) { -+ } else if (info_tmp.color_type == PNG_COLOR_TYPE_PALETTE) { - int k; - for (k = 0; k < w; ++k) - png_line[k] = pc2nc[p[k]]; -@@ -743,24 +778,26 @@ int WritePNG(fp, pic, ptype, w, h, rmap, gmap, bmap, n - strcpy(savecmnt, picComments); - key = savecmnt; - tp = text; -- info_ptr->num_text = 0; - -+ png_free_data(png_ptr, info_ptr, PNG_FREE_TEXT, -1); -+ num_text = 0; -+ - comment = strchr(key, ':'); - - do { - /* Allocate a larger structure for comments if necessary */ -- if (info_ptr->num_text >= info_ptr->max_text) -+ if (num_text >= max_text) - { - if ((tp = -- realloc(text, (info_ptr->num_text + 2)*sizeof(png_text))) == NULL) -+ realloc(text, (num_text + 2)*sizeof(png_text))) == NULL) - { - break; - } - else - { - text = tp; -- tp = &text[info_ptr->num_text]; -- info_ptr->max_text += 2; -+ tp = &text[num_text]; -+ max_text += 2; - } - } - -@@ -810,7 +847,7 @@ int WritePNG(fp, pic, ptype, w, h, rmap, gmap, bmap, n - } - - tp->compression = tp->text_length > 640 ? 0 : -1; -- info_ptr->num_text++; -+ num_text++; - tp++; - } - } -@@ -834,27 +871,29 @@ int WritePNG(fp, pic, ptype, w, h, rmap, gmap, bmap, n - tp->text = key; - tp->text_length = q - key; - tp->compression = tp->text_length > 750 ? 0 : -1; -- info_ptr->num_text++; -+ num_text++; - key = NULL; - } - } while (key && *key); -+ png_set_text(png_ptr, info_ptr, text, num_text); - } - else { -- info_ptr->num_text = 0; -+ png_free_data(png_ptr, info_ptr, PNG_FREE_TEXT, -1); - } - } -- info_ptr->text = text; - -- png_convert_from_time_t(&(info_ptr->mod_time), time(NULL)); -- info_ptr->valid |= PNG_INFO_tIME; -+ { -+ png_time mod_time; - -+ png_convert_from_time_t(&mod_time, time(NULL)); -+ png_set_tIME(png_ptr, info_ptr, &mod_time); -+ } -+ - png_write_end(png_ptr, info_ptr); - fflush(fp); /* just in case we core-dump before finishing... */ - - if (text) { - free(text); -- /* must do this or png_destroy_write_struct() 0.97+ will free text again: */ -- info_ptr->text = (png_textp)NULL; - if (savecmnt) - { - free(savecmnt); -@@ -886,6 +925,8 @@ int LoadPNG(fname, pinfo) - int pass; - int gray_to_rgb; - size_t commentsize; -+ png_textp text; -+ int num_text; - - fbasename = BaseName(fname); - -@@ -921,7 +962,7 @@ int LoadPNG(fname, pinfo) - FatalError("malloc failure in LoadPNG"); - } - -- if (setjmp(png_ptr->jmpbuf)) { -+ if (setjmp(png_jmpbuf(png_ptr))) { - fclose(fp); - png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp)NULL); - if (!read_anything) { -@@ -945,8 +986,8 @@ int LoadPNG(fname, pinfo) - #endif - png_read_info(png_ptr, info_ptr); - -- pinfo->w = pinfo->normw = info_ptr->width; -- pinfo->h = pinfo->normh = info_ptr->height; -+ pinfo->w = pinfo->normw = png_get_image_width(png_ptr, info_ptr); -+ pinfo->h = pinfo->normh = png_get_image_height(png_ptr, info_ptr); - if (pinfo->w <= 0 || pinfo->h <= 0) { - SetISTR(ISTR_WARNING, "%s: image dimensions out of range (%dx%d)", - fbasename, pinfo->w, pinfo->h); -@@ -957,9 +998,9 @@ int LoadPNG(fname, pinfo) - pinfo->frmType = F_PNG; - - sprintf(pinfo->fullInfo, "PNG, %d bit ", -- info_ptr->bit_depth * info_ptr->channels); -+ png_get_bit_depth(png_ptr,info_ptr) * png_get_channels(png_ptr, info_ptr)); - -- switch(info_ptr->color_type) { -+ switch(png_get_color_type(png_ptr, info_ptr)) { - case PNG_COLOR_TYPE_PALETTE: - strcat(pinfo->fullInfo, "palette color"); - break; -@@ -983,15 +1024,20 @@ int LoadPNG(fname, pinfo) - - sprintf(pinfo->fullInfo + strlen(pinfo->fullInfo), - ", %sinterlaced. (%d bytes)", -- info_ptr->interlace_type ? "" : "non-", filesize); -+ png_get_interlace_type(png_ptr, info_ptr) ? "" : "non-", filesize); - -- sprintf(pinfo->shrtInfo, "%lux%lu PNG", info_ptr->width, info_ptr->height); -+ sprintf(pinfo->shrtInfo, "%lux%lu PNG", -+ png_get_image_width(png_ptr, info_ptr), -+ png_get_image_height(png_ptr, info_ptr)); - -- if (info_ptr->bit_depth < 8) -+ if (png_get_bit_depth(png_ptr, info_ptr) < 8) - png_set_packing(png_ptr); - -- if (info_ptr->valid & PNG_INFO_gAMA) -- png_set_gamma(png_ptr, Display_Gamma, info_ptr->gamma); -+ if (png_get_valid(png_ptr, info_ptr, PNG_INFO_gAMA)) { -+ double gamma; -+ png_get_gAMA(png_ptr, info_ptr, &gamma); -+ png_set_gamma(png_ptr, Display_Gamma, gamma); -+ } - /* - *else - * png_set_gamma(png_ptr, Display_Gamma, 0.45); -@@ -1000,7 +1046,7 @@ int LoadPNG(fname, pinfo) - gray_to_rgb = 0; /* quiet a compiler warning */ - - if (have_imagebg) { -- if (info_ptr->bit_depth == 16) { -+ if (png_get_bit_depth(png_ptr, info_ptr) == 16) { - my_background.red = imagebgR; - my_background.green = imagebgG; - my_background.blue = imagebgB; -@@ -1013,8 +1059,8 @@ int LoadPNG(fname, pinfo) - } - png_set_background(png_ptr, &my_background, PNG_BACKGROUND_GAMMA_SCREEN, - 0, Display_Gamma); -- if ((info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA || -- (info_ptr->color_type == PNG_COLOR_TYPE_GRAY && HAVE_tRNS)) && -+ if ((png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA || -+ (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY && HAVE_tRNS)) && - (imagebgR != imagebgG || imagebgR != imagebgB)) /* i.e., colored bg */ - { - png_set_gray_to_rgb(png_ptr); -@@ -1022,8 +1068,10 @@ int LoadPNG(fname, pinfo) - gray_to_rgb = 1; - } - } else { -- if (info_ptr->valid & PNG_INFO_bKGD) { -- png_set_background(png_ptr, &info_ptr->background, -+ if (png_get_valid(png_ptr, info_ptr, PNG_INFO_bKGD)) { -+ png_color_16p background; -+ png_get_bKGD(png_ptr, info_ptr, &background); -+ png_set_background(png_ptr, background, - PNG_BACKGROUND_GAMMA_FILE, 1, 1.0); - } else { - my_background.red = my_background.green = my_background.blue = -@@ -1033,13 +1081,13 @@ int LoadPNG(fname, pinfo) - } - } - -- if (info_ptr->bit_depth == 16) -+ if (png_get_bit_depth(png_ptr, info_ptr) == 16) - png_set_strip_16(png_ptr); - -- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY || -- info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA) -+ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY || -+ png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA) - { -- if (info_ptr->bit_depth == 1) -+ if (png_get_bit_depth(png_ptr, info_ptr) == 1) - pinfo->colType = F_BWDITHER; - else - pinfo->colType = F_GREYSCALE; -@@ -1050,8 +1098,8 @@ int LoadPNG(fname, pinfo) - - png_read_update_info(png_ptr, info_ptr); - -- if (info_ptr->color_type == PNG_COLOR_TYPE_RGB || -- info_ptr->color_type == PNG_COLOR_TYPE_RGB_ALPHA || gray_to_rgb) -+ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB || -+ png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_RGB_ALPHA || gray_to_rgb) - { - linesize = 3 * pinfo->w; - if (linesize/3 < pinfo->w) { /* know pinfo->w > 0 (see above) */ -@@ -1065,16 +1113,20 @@ int LoadPNG(fname, pinfo) - } else { - linesize = pinfo->w; - pinfo->type = PIC8; -- if (info_ptr->color_type == PNG_COLOR_TYPE_GRAY || -- info_ptr->color_type == PNG_COLOR_TYPE_GRAY_ALPHA) { -+ if (png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY || -+ png_get_color_type(png_ptr, info_ptr) == PNG_COLOR_TYPE_GRAY_ALPHA) { - for (i = 0; i < 256; i++) - pinfo->r[i] = pinfo->g[i] = pinfo->b[i] = i; - } else { -+ png_colorp palette; -+ int num_palette; -+ -+ png_get_PLTE(png_ptr, info_ptr, &palette, &num_palette); - pinfo->colType = F_FULLCOLOR; -- for (i = 0; i < info_ptr->num_palette; i++) { -- pinfo->r[i] = info_ptr->palette[i].red; -- pinfo->g[i] = info_ptr->palette[i].green; -- pinfo->b[i] = info_ptr->palette[i].blue; -+ for (i = 0; i < num_palette; i++) { -+ pinfo->r[i] = palette[i].red; -+ pinfo->g[i] = palette[i].green; -+ pinfo->b[i] = palette[i].blue; - } - } - } -@@ -1092,7 +1144,17 @@ int LoadPNG(fname, pinfo) - png_error(png_ptr, "can't allocate space for PNG image"); - } - -- png_start_read_image(png_ptr); -+ /* -+ * In png 1.5 (or at least 1.5.1beta06) calling this after calling -+ * png_read_update_info() does nothing besides issue a misleading -+ * warning message. The png docs are not at all clear on what an -+ * application is *supposed* to do, so I'm not sure if this is a -+ * problem with xv or with libpng. However, for now I'll comment -+ * this out as according to the png source that should be harmless -+ * and we don't want to see the warning message every time someone -+ * opens a png. -+ */ -+ /*png_start_read_image(png_ptr);*/ - - for (i = 0; i < pass; i++) { - byte *p = pinfo->pic; -@@ -1106,22 +1168,24 @@ int LoadPNG(fname, pinfo) - - png_read_end(png_ptr, info_ptr); - -- if (info_ptr->num_text > 0) { -+ png_get_text(png_ptr, info_ptr, &text, &num_text); -+ if (num_text > 0) { - commentsize = 1; - -- for (i = 0; i < info_ptr->num_text; i++) -- commentsize += strlen(info_ptr->text[i].key) + 1 + -- info_ptr->text[i].text_length + 2; -+ for (i = 0; i < num_text; i++) -+ commentsize += strlen(text[i].key) + 1 + -+ text[i].text_length + 2; - - if ((pinfo->comment = malloc(commentsize)) == NULL) { - png_warning(png_ptr,"can't allocate comment string"); - } - else { - pinfo->comment[0] = '\0'; -- for (i = 0; i < info_ptr->num_text; i++) { -- strcat(pinfo->comment, info_ptr->text[i].key); -+ for (i = 0; i < num_text; i++) { -+ strcat(pinfo->comment, text[i].key); - strcat(pinfo->comment, "::"); -- strcat(pinfo->comment, info_ptr->text[i].text); -+ if (text[i].text_length != 0) -+ strcat(pinfo->comment, text[i].text); - strcat(pinfo->comment, "\n"); - } - } -@@ -1143,7 +1207,7 @@ png_xv_error(png_ptr, message) - { - SetISTR(ISTR_WARNING,"%s: libpng error: %s", fbasename, message); - -- longjmp(png_ptr->jmpbuf, 1); -+ longjmp(png_jmpbuf(png_ptr), 1); - } - - diff --git a/source/xap/xv/xv.SlackBuild b/source/xap/xv/xv.SlackBuild deleted file mode 100755 index 526cf1104..000000000 --- a/source/xap/xv/xv.SlackBuild +++ /dev/null @@ -1,96 +0,0 @@ -#!/bin/bash - -# Copyright 2008, 2009, 2015, 2017, 2018 Patrick J. Volkerding, Sebeka, MN, USA -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -cd $(dirname $0) ; CWD=$(pwd) - -PKGNAM=xv -VERSION=3.10a -BUILD=${BUILD:-9} - -# Automatically determine the architecture we're building on: -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) export ARCH=i586 ;; - arm*) export ARCH=arm ;; - # Unless $ARCH is already set, use uname -m for all other archs: - *) export ARCH=$( uname -m ) ;; - esac -fi - -# If the variable PRINT_PACKAGE_NAME is set, then this script will report what -# the name of the created package would be, and then exit. This information -# could be useful to other scripts. -if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then - echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz" - exit 0 -fi - -TMP=${TMP:-/tmp} -PKG=$TMP/package-xv - -rm -rf $PKG -mkdir -p $TMP $PKG - -cd $TMP -rm -rf xv-3.10 -tar xvf $CWD/xv-3.10.tar.?z* || exit 1 -cd xv-3.10 || exit 1 -chown -R root:root . -zcat $CWD/xv-3.10a.patch.gz | patch -p0 --verbose --backup --suffix=.orig || exit 1 -bzcat $CWD/xv-3.10a-jumbo-fix-enh-patch-20070520.txt.bz2 | patch -p1 --verbose --backup --suffix=.orig || exit 1 -bzcat $CWD/xv-3.10a-jumbo-additions.diff.bz2 | patch -p1 --verbose --backup --suffix=.orig || exit 1 -bzcat $CWD/xv-3.10a-enhancements.20070520-20081216.diff.bz2 | patch -p1 --verbose --backup --suffix=.orig || exit 1 -zcat $CWD/xv.prefix.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1 -if [ "$ARCH" = "x86_64" ]; then - zcat $CWD/xv.prefix_x86_64.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1 -fi -zcat $CWD/xv.jasper.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1 -zcat $CWD/xv-libpng-1.5.patch.gz | patch -p0 --verbose --backup --suffix=.orig || exit 1 -make -f Makefile.std || exit 1 -strip --strip-unneeded bggen vdcomp xcmap xv xvpictoppm -mkdir -p $PKG/usr/bin -cat bggen > $PKG/usr/bin/bggen -cat vdcomp > $PKG/usr/bin/vdcomp -cat xcmap > $PKG/usr/bin/xcmap -cat xv > $PKG/usr/bin/xv -cat xvpictoppm > $PKG/usr/bin/xvpictoppm -chmod 755 $PKG/usr/bin/* -mkdir -p $PKG/usr/man/man1 -for page in docs/xv.man docs/bggen.man docs/xcmap.man docs/xvp2p.man ; do - cat $page | gzip -9c > $PKG/usr/man/man1/`basename $page .man`.1.gz -done -mkdir -p $PKG/usr/doc/xv-$VERSION -cp -a \ - BUGS IDEAS INSTALL README README.jumbo README.pcd \ - $PKG/usr/doc/xv-$VERSION -( cd docs - cp -a \ - penn.policy xv.blurb xv.ann xvdocs.ps \ - $PKG/usr/doc/xv-$VERSION - bzip2 -9 $PKG/usr/doc/xv-$VERSION/xvdocs.ps ) -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -# Build the package: -cd $PKG -/sbin/makepkg -l y -c n $TMP/xv-$VERSION-$ARCH-$BUILD.txz - diff --git a/source/xap/xv/xv.jasper.diff b/source/xap/xv/xv.jasper.diff deleted file mode 100644 index 8e933ee5a..000000000 --- a/source/xap/xv/xv.jasper.diff +++ /dev/null @@ -1,20 +0,0 @@ ---- ./Makefile.std.orig 2010-02-19 13:24:58.000000000 -0600 -+++ ./Makefile.std 2010-02-19 13:27:20.000000000 -0600 -@@ -179,13 +179,13 @@ - JP2K = -DDOJP2K - ### - #JP2KDIR = ../../jasper --JP2KDIR = /usr/local/lib -+JP2KDIR = /usr - ### - #JP2KINC = -I$(JP2KDIR) --JP2KINC = -I/usr/local/include -+JP2KINC = -I/usr/include - ### --#JP2KLIB = -L$(JP2KDIR) -ljasper --JP2KLIB = $(JP2KDIR)/libjasper.a -+JP2KLIB = -L$(JP2KDIR) -ljasper -+#JP2KLIB = $(JP2KDIR)/libjasper.a - - - ### diff --git a/source/xap/xv/xv.prefix.diff b/source/xap/xv/xv.prefix.diff deleted file mode 100644 index 7d57757a9..000000000 --- a/source/xap/xv/xv.prefix.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- ./Makefile.std.orig 2010-02-19 13:12:10.000000000 -0600 -+++ ./Makefile.std 2010-02-19 13:14:50.000000000 -0600 -@@ -56,7 +56,7 @@ - ### NOTE: Users of old K&R compilers (i.e., any version not supporting C89 - ### string concatenation, such as "fub" "ar" => "fubar") should update - ### xvtext.c:1831 (or thereabouts) if either PREFIX or DOCDIR changes: --PREFIX = /usr/local -+PREFIX = /usr - BINDIR = $(PREFIX)/bin - MANDIR = $(PREFIX)/share/man/man1 - MANSUF = 1 diff --git a/source/xap/xv/xv.prefix_x86_64.diff b/source/xap/xv/xv.prefix_x86_64.diff deleted file mode 100644 index 8f629c344..000000000 --- a/source/xap/xv/xv.prefix_x86_64.diff +++ /dev/null @@ -1,20 +0,0 @@ ---- ./Makefile.std.orig 2010-02-19 13:15:05.000000000 -0600 -+++ ./Makefile.std 2010-02-19 13:16:10.000000000 -0600 -@@ -61,7 +61,7 @@ - MANDIR = $(PREFIX)/share/man/man1 - MANSUF = 1 - DOCDIR = $(PREFIX)/share/doc/xv --LIBDIR = $(PREFIX)/lib/xv -+LIBDIR = $(PREFIX)/lib64/xv - SYSCONFDIR = /etc - DESTDIR = - -@@ -236,7 +236,7 @@ - - - ### for Linux, uncomment one of the following lines: --#MCHN = -DLINUX -L/usr/X11R6/lib -+MCHN = -DLINUX -L/usr/X11R6/lib64 - #MCHN = -DLINUX -L/usr/X11R6/lib64 - - -- cgit v1.2.3