diff options
306 files changed, 53284 insertions, 533 deletions
diff --git a/COPYING.rtf b/COPYING.rtf new file mode 100644 index 00000000..d151d38c --- /dev/null +++ b/COPYING.rtf @@ -0,0 +1,136 @@ +{\rtf1\ansi\ansicpg1252\deff0{\fonttbl{\f0\fnil\fcharset0 Courier New;}} +{\*\generator Msftedit 5.41.21.2509;}\viewkind4\uc1\pard\lang1033\f0\fs20 GNU GENERAL PUBLIC LICENSE\par +\par +Version 2, June 1991\par +\par +Copyright (C) 1989, 1991 Free Software Foundation, Inc. \par +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA\par +\par +Everyone is permitted to copy and distribute verbatim copies\par +of this license document, but changing it is not allowed.\par +\par +Preamble\par +\par +The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too.\par +\par +When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.\par +\par +To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.\par +\par +For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.\par +\par +We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.\par +\par +Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.\par +\par +Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.\par +\par +The precise terms and conditions for copying, distribution and modification follow.\par +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION\par +\par +0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".\par +\par +Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.\par +\par +1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.\par +\par +You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.\par +\par +2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:\par +\par + a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. \par + b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. \par + c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) \par +\par +These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.\par +\par +Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.\par +\par +In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.\par +\par +3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:\par +\par + a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, \par + b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, \par + c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) \par +\par +The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.\par +\par +If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.\par +\par +4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.\par +\par +5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.\par +\par +6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.\par +\par +7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.\par +\par +If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.\par +\par +It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.\par +\par +This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.\par +\par +8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.\par +\par +9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.\par +\par +Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.\par +\par +10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.\par +\par +NO WARRANTY\par +\par +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.\par +\par +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.\par +END OF TERMS AND CONDITIONS\par +How to Apply These Terms to Your New Programs\par +\par +If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.\par +\par +To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.\par +\par +one line to give the program's name and an idea of what it does.\par +Copyright (C) yyyy name of author\par +\par +This program is free software; you can redistribute it and/or\par +modify it under the terms of the GNU General Public License\par +as published by the Free Software Foundation; either version 2\par +of the License, or (at your option) any later version.\par +\par +This program is distributed in the hope that it will be useful,\par +but WITHOUT ANY WARRANTY; without even the implied warranty of\par +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\par +GNU General Public License for more details.\par +\par +You should have received a copy of the GNU General Public License\par +along with this program; if not, write to the Free Software\par +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\par +\par +Also add information on how to contact you by electronic and paper mail.\par +\par +If the program is interactive, make it output a short notice like this when it starts in an interactive mode:\par +\par +Gnomovision version 69, Copyright (C) year name of author\par +Gnomovision comes with ABSOLUTELY NO WARRANTY; for details\par +type `show w'. This is free software, and you are welcome\par +to redistribute it under certain conditions; type `show c' \par +for details.\par +\par +The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.\par +\par +You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:\par +\par +Yoyodyne, Inc., hereby disclaims all copyright\par +interest in the program `Gnomovision'\par +(which makes passes at compilers) written \par +by James Hacker.\par +\par +signature of Ty Coon, 1 April 1989\par +Ty Coon, President of Vice\par +\par +This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. \par +} + diff --git a/config.h b/config.h new file mode 100644 index 00000000..1aff65bf --- /dev/null +++ b/config.h @@ -0,0 +1,16 @@ +#define LOCALEDIR "./locale" +#define ENABLE_NLS +#define USE_GMODULE +#define USE_PLUGIN +#define USE_OPENSSL +#define USE_LIBSEXY +#define USE_IPV6 +#define HAVE_ISO_CODES +#define PACKAGE_NAME "xchat" +#define PACKAGE_VERSION "1500" +#define XCHAT_RELEASE "2.8.8" +#define XCHATLIBDIR "." +#define XCHATSHAREDIR "." +#define OLD_PERL +#define GETTEXT_PACKAGE "xchat" +#define PACKAGE_TARNAME "xchat-2.8.8" diff --git a/configure.in b/configure.in index 620268d2..3c0cce27 100644 --- a/configure.in +++ b/configure.in @@ -40,6 +40,7 @@ dnl AH_VERBATIM([USE_GNOME],[#undef USE_GNOME]) AH_VERBATIM([USE_SHM],[#undef USE_SHM]) AH_VERBATIM([USE_GTKSPELL],[#undef USE_GTKSPELL]) AH_VERBATIM([USE_LIBSEXY],[#undef USE_LIBSEXY]) +AH_VERBATIM([HAVE_ISO_CODES],[#undef HAVE_ISO_CODES]) AH_VERBATIM([USE_LIBNOTIFY],[#undef USE_LIBNOTIFY]) AH_VERBATIM([USE_IPV6],[#undef USE_IPV6]) AH_VERBATIM([USE_MMX],[#undef USE_MMX]) @@ -549,7 +550,14 @@ if test "$spell" = "libsexy" ; then fi if test "$spell" = "static" ; then + PKG_CHECK_MODULES(LIBXML2, libxml-2.0 >= 2.0.0, [ + AC_DEFINE(HAVE_ISO_CODES) AC_DEFINE(USE_LIBSEXY) + GUI_CFLAGS="$GUI_CFLAGS -I/usr/include/libxml2" + LIBS="$LIBS -lxml2" + ], [ + AC_MSG_ERROR("Cannot find libxml2") + ]) fi dnl ********************************************************************* diff --git a/plugins/checksum/checksum.c b/plugins/checksum/checksum.c new file mode 100644 index 00000000..79f64982 --- /dev/null +++ b/plugins/checksum/checksum.c @@ -0,0 +1,264 @@ +/* XChat-WDK + * Copyright (c) 2010-2012 Berke Viktor. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#include <stdio.h> +#include <string.h> +#include <malloc.h> +#include <errno.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <openssl/sha.h> + +#include "xchat-plugin.h" + +#define BUFSIZE 32768 +#define DEFAULT_LIMIT 256 /* default size is 256 MiB */ + +#ifndef snprintf +#define snprintf _snprintf +#endif +#ifndef stat64 +#define stat64 _stat64 +#endif + +static xchat_plugin *ph; /* plugin handle */ +static const char name[] = "Checksum"; +static const char desc[] = "Calculate checksum for DCC file transfers"; +static const char version[] = "3.0"; + +/* Use of OpenSSL SHA256 interface: http://adamlamers.com/?p=5 */ +static void +sha256_hash_string (unsigned char hash[SHA256_DIGEST_LENGTH], char outputBuffer[65]) +{ + int i; + for (i = 0; i < SHA256_DIGEST_LENGTH; i++) + { + sprintf (outputBuffer + (i * 2), "%02x", hash[i]); + } + outputBuffer[64] = 0; +} + +static void +sha256 (char *string, char outputBuffer[65]) +{ + int i; + unsigned char hash[SHA256_DIGEST_LENGTH]; + SHA256_CTX sha256; + + SHA256_Init (&sha256); + SHA256_Update (&sha256, string, strlen (string)); + SHA256_Final (hash, &sha256); + + for (i = 0; i < SHA256_DIGEST_LENGTH; i++) + { + sprintf (outputBuffer + (i * 2), "%02x", hash[i]); + } + outputBuffer[64] = 0; +} + +static int +sha256_file (char *path, char outputBuffer[65]) +{ + int bytesRead; + unsigned char *buffer; + unsigned char hash[SHA256_DIGEST_LENGTH]; + SHA256_CTX sha256; + + FILE *file = fopen (path, "rb"); + if (!file) + { + return -534; + } + + SHA256_Init (&sha256); + buffer = malloc (BUFSIZE); + bytesRead = 0; + + if (!buffer) + { + return ENOMEM; + } + + while ((bytesRead = fread (buffer, 1, BUFSIZE, file))) + { + SHA256_Update (&sha256, buffer, bytesRead); + } + + SHA256_Final (hash, &sha256); + sha256_hash_string (hash, outputBuffer); + + fclose (file); + free (buffer); + return 0; +} + +static void +set_limit (char* size) +{ + int buffer = atoi (size); + + if (buffer > 0 && buffer < INT_MAX) + { + if (xchat_pluginpref_set_int (ph, "limit", buffer)) + { + xchat_printf (ph, "File size limit has successfully been set to: %d MiB\n", buffer); + } + else + { + xchat_printf (ph, "File access error while saving!\n"); + } + } + else + { + xchat_printf (ph, "Invalid input!\n"); + } +} + +static int +get_limit () +{ + int size = xchat_pluginpref_get_int (ph, "limit"); + + if (size <= -1 || size >= INT_MAX) + { + return DEFAULT_LIMIT; + } + else + { + return size; + } +} + +static void +print_limit () +{ + xchat_printf (ph, "File size limit for checksums: %d MiB", get_limit ()); +} + +static int +dccrecv_cb (char *word[], void *userdata) +{ + int result; + struct stat64 buffer; /* buffer for storing file info */ + char sum[65]; /* buffer for checksum */ + + result = stat64 (word[2], &buffer); + if (result == 0) /* stat returns 0 on success */ + { + if (buffer.st_size <= (unsigned long long) get_limit () * 1048576) + { + sha256_file (word[2], sum); /* word[2] is the full filename */ + /* try to print the checksum in the privmsg tab of the sender */ + xchat_set_context (ph, xchat_find_context (ph, NULL, word[3])); + xchat_printf (ph, "SHA-256 checksum for %s (local): %s\n", word[1], sum); + } + else + { + xchat_set_context (ph, xchat_find_context (ph, NULL, word[3])); + xchat_printf (ph, "SHA-256 checksum for %s (local): (size limit reached, no checksum calculated, you can increase it with /CHECKSUM INC)\n", word[1]); + } + } + else + { + xchat_printf (ph, "File access error!\n"); + } + + return XCHAT_EAT_NONE; +} + +static int +dccoffer_cb (char *word[], void *userdata) +{ + int result; + struct stat64 buffer; /* buffer for storing file info */ + char sum[65]; /* buffer for checksum */ + + result = stat64 (word[3], &buffer); + if (result == 0) /* stat returns 0 on success */ + { + if (buffer.st_size <= (unsigned long long) get_limit () * 1048576) + { + sha256_file (word[3], sum); /* word[3] is the full filename */ + xchat_commandf (ph, "quote PRIVMSG %s :SHA-256 checksum for %s (remote): %s", word[2], word[1], sum); + } + else + { + xchat_set_context (ph, xchat_find_context (ph, NULL, word[3])); + xchat_printf (ph, "quote PRIVMSG %s :SHA-256 checksum for %s (remote): (size limit reached, no checksum calculated)", word[2], word[1]); + } + } + else + { + xchat_printf (ph, "File access error!\n"); + } + + return XCHAT_EAT_NONE; +} + +static void +checksum (char *word[], void *userdata) +{ + if (!stricmp ("GET", word[2])) + { + print_limit (); + } + else if (!stricmp ("SET", word[2])) + { + set_limit (word[3]); + } + else + { + xchat_printf (ph, "Usage: /CHECKSUM GET|INC|DEC\n"); + xchat_printf (ph, " GET - print the maximum file size (in MiB) to be hashed\n"); + xchat_printf (ph, " SET <filesize> - set the maximum file size (in MiB) to be hashed\n"); + } +} + +int +xchat_plugin_init (xchat_plugin *plugin_handle, char **plugin_name, char **plugin_desc, char **plugin_version, char *arg) +{ + ph = plugin_handle; + + *plugin_name = name; + *plugin_desc = desc; + *plugin_version = version; + + /* this is required for the very first run */ + if (xchat_pluginpref_get_int (ph, "limit") == -1) + { + xchat_pluginpref_set_int (ph, "limit", DEFAULT_LIMIT); + } + + xchat_hook_command (ph, "CHECKSUM", XCHAT_PRI_NORM, checksum, "Usage: /CHECKSUM GET|SET", 0); + xchat_hook_print (ph, "DCC RECV Complete", XCHAT_PRI_NORM, dccrecv_cb, NULL); + xchat_hook_print (ph, "DCC Offer", XCHAT_PRI_NORM, dccoffer_cb, NULL); + + xchat_printf (ph, "%s plugin loaded\n", name); + return 1; +} + +int +xchat_plugin_deinit (void) +{ + xchat_printf (ph, "%s plugin unloaded\n", name); + return 1; +} diff --git a/plugins/checksum/makefile.mak b/plugins/checksum/makefile.mak new file mode 100644 index 00000000..ec8e0455 --- /dev/null +++ b/plugins/checksum/makefile.mak @@ -0,0 +1,18 @@ +include "..\..\src\makeinc.mak" + +all: checksum.obj checksum.def + link $(LDFLAGS) $(LIBS) /dll /out:xcchecksum.dll /def:checksum.def checksum.obj + +checksum.def: + echo EXPORTS > checksum.def + echo xchat_plugin_init >> checksum.def + echo xchat_plugin_deinit >> checksum.def + +checksum.obj: checksum.c makefile.mak + cl $(CFLAGS) /I.. checksum.c + +clean: + del *.obj + del *.dll + del *.exp + del *.lib diff --git a/plugins/dns/dns.c b/plugins/dns/dns.c new file mode 100644 index 00000000..2bf58195 --- /dev/null +++ b/plugins/dns/dns.c @@ -0,0 +1,329 @@ +/* XChat Win32 DNS Plugin + * Copyright (C) 2003-2004 Peter Zelezny. + * Copyright (C) 2012 Berke Viktor. + * + * This program 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ +/* + * Requires MS Visual Studio and IPV6 headers to compile (run nmake). + * Compiling with gcc (mingw) will fail due to missing gai_strerror. + */ + +#define DNS_VERSION "2.4" + +#include <string.h> +#include <stdio.h> +#include <stdlib.h> +#include <fcntl.h> + +#define USE_IPV6 + +#ifdef WIN32 +#ifdef USE_IPV6 +#include <winsock2.h> +#include <ws2tcpip.h> +#else +#include <winsock2.h> +#endif +#else +#include <unistd.h> +#include <netdb.h> +#include <sys/socket.h> +#endif + +#include "xchat-plugin.h" +#include "thread.h" + +#define HELP "Usage: DNS <nickname|hostname|numerical address>\n" +#define HEAD "\0034[DNS]\017\t" + +#define PIPE_READ 0 +#define PIPE_WRITE 1 +#define MAX_HOSTNAME 128 + +static xchat_plugin *ph; +static thread *active_thread = NULL; + + +static int +waitline (void *source, char *buf, int bufsize) +{ + int i = 0; + int len; + + while(1) + { + len = 1; + /* we can't read() here, due to glib's giowin32 */ + if(ph->xchat_read_fd(ph, source, buf + i, &len) != 0) + return -1; + if(buf[i] == '\n' || bufsize == i + 1) + { + buf[i] = 0; + return i; + } + i++; + } +} + +static void * +thread_function (void *ud) +{ +#ifdef USE_IPV6 + struct addrinfo *ent; + struct addrinfo *cur; + struct addrinfo hints; +#else + struct hostent *ent; +#endif + thread *th = ud; + int fd = th->pipe_fd[PIPE_WRITE]; + int ret; + char ipstring[MAX_HOSTNAME]; + char reverse[MAX_HOSTNAME]; +// int i; + + active_thread = th; + +#ifdef USE_IPV6 + memset (&hints, 0, sizeof (hints)); + hints.ai_family = PF_UNSPEC; /* support ipv6 and ipv4 */ + hints.ai_flags = AI_CANONNAME; +// hints.ai_socktype = SOCK_STREAM; + + ret = getaddrinfo (th->userdata, NULL, &hints, &ent); + if (ret != 0) + { + sprintf (ipstring, "1%d\n", ret); /* failed */ + write (fd, ipstring, strlen (ipstring)); +// Sleep (3000); + active_thread = NULL; + return 0; + } + +// i = 0; + cur = ent; + while (cur) + { + /* find the numeric IP number */ + ipstring[0] = 0; + getnameinfo (cur->ai_addr, cur->ai_addrlen, + ipstring, sizeof (ipstring), NULL, 0, NI_NUMERICHOST); + + if (cur->ai_canonname) + { + /* force reverse lookup if canonname & ipstring are the same */ + if (/*i == 0 &&*/ strcmp (cur->ai_canonname, ipstring) == 0) + goto lamecode; + } + + if (cur->ai_canonname) + { + write (fd, "0", 1); + write (fd, ipstring, strlen (ipstring)); + write (fd, "\n", 1); + write (fd, cur->ai_canonname, strlen (cur->ai_canonname)); + } else + { +lamecode: + // ret = 1; + // if (i == 0) + { + /* reverse lookup */ + reverse[0] = 0; + ret = getnameinfo (cur->ai_addr, cur->ai_addrlen, + reverse, sizeof (reverse), NULL, 0, NI_NAMEREQD); + } + + write (fd, "0", 1); + write (fd, ipstring, strlen (ipstring)); + + write (fd, "\n", 1); + if (ret == 0) + write (fd, reverse, strlen (reverse)); + } + write (fd, "\n", 1); + +// i++; + cur = cur->ai_next; + } + + /* tell the parent we're done */ + write (fd, "2\n", 2); + freeaddrinfo (ent); + +#else + ent = gethostbyname (th->userdata); + if (ent) + { + write (fd, "0", 1); + write (fd, ent->h_name, strlen (ent->h_name)); + write (fd, "\n", 1); + write (fd, ent->h_name, strlen (ent->h_name)); + write (fd, "\n", 1); + write (fd, "2\n", 2); + } else + { + write (fd, "10\n", 1); + } +#endif + +// Sleep (3000); + active_thread = NULL; /* race condition, better than nothing */ + + return 0; +} + +static int +dns_close_pipe (int fd) +{ + close (fd); + return 0; +} + +/* read messages comming from the child (through the pipe) */ + +static int +dns_read_cb (int fd, int flags, thread *th, void *source) +{ + char buf[512]; + char buf2[512]; + + while (waitline (source, buf, sizeof (buf))) + { + switch (buf[0]) + { + case '0': /* got data to show */ + waitline (source, buf2, sizeof (buf2)); + if (buf2[0] == 0) + xchat_printf(ph, HEAD"\002Numerical\002: %s\n", buf + 1); + else + xchat_printf(ph, HEAD"\002Canonical\002: %s \002Numerical\002: %s\n", buf2, buf + 1); + return 1; + + case '1': /* failed */ + xchat_printf(ph, HEAD"Lookup failed. %s\n", gai_strerrorA (atoi (buf + 1))); + + case '2': /* done */ + // close (th->pipe_fd[PIPE_WRITE]); + // close (th->pipe_fd[PIPE_READ]); + xchat_hook_timer(ph, 3000, dns_close_pipe, (void *)th->pipe_fd[PIPE_WRITE]); + xchat_hook_timer(ph, 4000, dns_close_pipe, (void *)th->pipe_fd[PIPE_READ]); + free (th->userdata); /* hostname strdup'ed */ + free (th); + return 0; + } + } + + return 1; +} + +/* find hostname from nickname (search the userlist, current chan only) */ + +static char * +find_nick_host (char *nick) +{ + xchat_list *list; + char *at; + const char *host; + + list = xchat_list_get (ph, "users"); + if (!list) + return NULL; + + while (xchat_list_next (ph, list)) + { + if (stricmp (nick, xchat_list_str (ph, list, "nick")) == 0) + { + host = xchat_list_str (ph, list, "host"); + if (host) + { + at = strrchr (host, '@'); + if (at) + return at + 1; + } + break; + } + } + + return NULL; +} + +static int +dns_cmd_cb (char *word[], char *word_eol[], void *ud) +{ + thread *th; + char *nickhost; + + if (!word[2][0]) + { + xchat_print (ph, HELP); + return XCHAT_EAT_ALL; + } + + th = thread_new (); + if (th) + { + nickhost = find_nick_host (word[2]); + if (nickhost) + { + xchat_printf (ph, HEAD"Looking up %s (%s)...\n", nickhost, word[2]); + th->userdata = strdup (nickhost); + } else + { + xchat_printf (ph, HEAD"Looking up %s...\n", word[2]); + th->userdata = strdup (word[2]); + } + + if (thread_start (th, thread_function, th)) + { + xchat_hook_fd(ph, th->pipe_fd[PIPE_READ], + XCHAT_FD_READ | XCHAT_FD_EXCEPTION | XCHAT_FD_NOTSOCKET, + (void *)dns_read_cb, th); + + } + } + + return XCHAT_EAT_ALL; +} + +int +xchat_plugin_deinit (xchat_plugin *plugin_handle) +{ + while (active_thread) /* children will set this var to NULL soon... */ + { + Sleep (1000); + } + xchat_printf (ph, "DNS plugin unloaded\n"); + return 1; +} + +int +xchat_plugin_init + (xchat_plugin *plugin_handle, char **plugin_name, + char **plugin_desc, char **plugin_version, char *arg) +{ + /* we need to save this for use with any xchat_* functions */ + ph = plugin_handle; + + *plugin_name = "DNS"; + *plugin_desc = "Threaded IPv4/6 DNS Command"; + *plugin_version = DNS_VERSION; + + xchat_hook_command(ph, "DNS", XCHAT_PRI_LOW, dns_cmd_cb, HELP, 0); + xchat_printf (ph, "DNS plugin loaded\n"); + + return 1; /* return 1 for success */ +} diff --git a/plugins/dns/makefile.mak b/plugins/dns/makefile.mak new file mode 100644 index 00000000..384e6be1 --- /dev/null +++ b/plugins/dns/makefile.mak @@ -0,0 +1,22 @@ +include "..\..\src\makeinc.mak" + +DNS_OBJECTS = \ +dns.obj \ +thread.obj + +all: $(DNS_OBJECTS) dns.def + link $(LDFLAGS) $(LIBS) /dll /out:xcdns.dll /def:dns.def $(DNS_OBJECTS) + +dns.def: + echo EXPORTS > dns.def + echo xchat_plugin_init >> dns.def + echo xchat_plugin_deinit >> dns.def + +.c.obj: + $(CC) $(CFLAGS) $(GLIB) /I.. /c $< + +clean: + del *.obj + del *.dll + del *.exp + del *.lib diff --git a/plugins/dns/thread.c b/plugins/dns/thread.c new file mode 100644 index 00000000..02b17cfb --- /dev/null +++ b/plugins/dns/thread.c @@ -0,0 +1,33 @@ +#include <fcntl.h> +#include "thread.h" + +thread * +thread_new (void) +{ + thread *th; + + th = calloc (1, sizeof (*th)); + if (!th) + { + return NULL; + } + + if (_pipe (th->pipe_fd, 4096, _O_BINARY) == -1) + { + free (th); + return NULL; + } + + return th; +} + +int +thread_start (thread *th, void *(*start_routine)(void *), void *arg) +{ + DWORD id; + + CloseHandle (CreateThread (NULL, 0, (LPTHREAD_START_ROUTINE)start_routine, arg, 0, (DWORD *)&id)); + th->threadid = id; + + return 1; +} diff --git a/plugins/dns/thread.h b/plugins/dns/thread.h new file mode 100644 index 00000000..1ec6932d --- /dev/null +++ b/plugins/dns/thread.h @@ -0,0 +1,11 @@ +#include <windows.h> + +typedef struct +{ + DWORD threadid; + int pipe_fd[2]; + void *userdata; +} thread; + +thread *thread_new (void); +int thread_start (thread *th, void *(*start_routine)(void *), void *arg); diff --git a/plugins/doat/doat.c b/plugins/doat/doat.c new file mode 100644 index 00000000..e03507f1 --- /dev/null +++ b/plugins/doat/doat.c @@ -0,0 +1,80 @@ +/* This program is free software. It comes without any warranty, to + * the extent permitted by applicable law. You can redistribute it + * and/or modify it under the terms of the Do What The Fuck You Want + * To Public License, Version 2, as published by Sam Hocevar. See + * http://sam.zoy.org/wtfpl/COPYING or http://lwsitu.com/xchat/COPYING + * for more details. */ + +#include <stdlib.h> +#include <string.h> +#include <stdio.h> +#include "xchat-plugin.h" + +static xchat_plugin *ph; + +static int +parse_command( char *word[], char *word_eol[], void *userdata ) { + char *channel = NULL, *server = NULL, *token = NULL; +/* char *save_ptr1 = NULL;*/ + char *str1 = NULL; + char *delimiter = NULL; + + xchat_context *ctx = NULL; + + if( word[2] != NULL && word[3] != NULL ) { + for( str1 = word[2]; ; str1 = NULL ) { +/* token = strtok_r( str1, ",", &save_ptr1 );*/ + token = strtok( str1, "," ); +/* printf( "token: %s\n", token );*/ + + if( token == NULL ) { + break; + } + + channel = malloc( strlen( token ) + 1 ); + strcpy( channel, token ); + + delimiter = strchr( channel, '/' ); + + server = NULL; + if( delimiter != NULL ) { + *delimiter = '\0'; + server = delimiter + 1; + } + +/* printf( "channel[%s] server[%s]\n", channel, server );*/ + + if( (ctx = xchat_find_context( ph, server, channel ) ) != NULL ) { + if( xchat_set_context( ph, ctx ) ) { + xchat_command( ph, word_eol[3] ); + } + } + + free( channel ); + } + } + return XCHAT_EAT_XCHAT; +} + +int +xchat_plugin_init( xchat_plugin * plugin_handle, char **plugin_name, + char **plugin_desc, char **plugin_version, char *arg ) { + + ph = plugin_handle; + *plugin_name = "Do At"; + *plugin_version = "1.0"; + *plugin_desc = "Perform an arbitrary command on multiple channels"; + + xchat_hook_command( ph, "doat", XCHAT_PRI_NORM, parse_command, "DOAT [channel,list,/network] [command], perform a command on multiple contexts", NULL ); + + xchat_print (ph, "Do At plugin loaded\n"); + + return 1; +} + +int +xchat_plugin_deinit (void) +{ + xchat_print (ph, "Do At plugin unloaded\n"); + return 1; +} diff --git a/plugins/doat/makefile.mak b/plugins/doat/makefile.mak new file mode 100644 index 00000000..960cae27 --- /dev/null +++ b/plugins/doat/makefile.mak @@ -0,0 +1,18 @@ +include "..\..\src\makeinc.mak" + +all: doat.obj doat.def + link $(LDFLAGS) $(LIBS) /dll /out:xcdoat.dll /def:doat.def doat.obj + +doat.def: + echo EXPORTS > doat.def + echo xchat_plugin_init >> doat.def + echo xchat_plugin_deinit >> doat.def + +doat.obj: doat.c makefile.mak + cl $(CFLAGS) $(GLIB) /I.. doat.c + +clean: + del *.obj + del *.dll + del *.exp + del *.lib diff --git a/plugins/ewc/COPYING b/plugins/ewc/COPYING new file mode 100644 index 00000000..4362b491 --- /dev/null +++ b/plugins/ewc/COPYING @@ -0,0 +1,502 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + <one line to give the library's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + <signature of Ty Coon>, 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! diff --git a/plugins/ewc/ewc.c b/plugins/ewc/ewc.c new file mode 100644 index 00000000..78e7e9ac --- /dev/null +++ b/plugins/ewc/ewc.c @@ -0,0 +1,231 @@ +/* +EasyWinampControl - A Winamp "What's playing" plugin for Xchat +Copyright (C) Yann HAMON & contributors + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library 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 +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +#include "xchat-plugin.h" +#include <windows.h> + +static xchat_plugin *ph; /* plugin handle */ +static int enable = 1; + +// For example, circularstrstr("winamp", "pwi", 3) would return 5 (the index of p) +int circularstrstr(char* a, char* b, int nb) +{ + int equal = 1; + int length; + int pos=-1; + int i, j; + + length = strlen(a); + + for (i=0; i<length && pos == -1; ++i) { + equal = 1; + for (j=0; j<nb;j++) { + if (a[(i+j)%length] != b[j]) + equal = 0; + } + if (equal == 1) + pos = i; + } + + return pos; +} + +void GetCurrentSongsName(HWND hwndWinamp, char* title, int titlesize) +{ + int pos; + char *title2; + int i, j=0; + int length; + char *p; + + GetWindowText(hwndWinamp, title, titlesize); + length = strlen(title); + + if ((pos = circularstrstr(title, "- Winamp ***", 12)) != -1) { + // The option "scroll song title in taskbar" is on + title2 = (char*) malloc (titlesize*sizeof(char)); + + for (i=(pos+12)%length; i!=pos; i=(i+1)%length) + title2[j++] = title[i]; + + title2[j] = '\0'; + + p = title2; + while (p<title2+titlesize && *p != '.') + p++; + p+=2; // Delete the . and the following white space + + strcpy(title, p); + free(title2); + } + else { + p = title; + while (p<title+titlesize && *p != '.') + p++; + p+=2; // Delete the . and the following white space + if (p<title+titlesize) + strncpy(title, p, titlesize-(p-title)); + + // Delete the trailing "- winamp" + p = title + titlesize - 1; + while (p>title && *p != '-') p--; + *p = '\0'; + } +} + + +// Controlling winamp +static int wcmd_cb(char *word[], char *word_eol[], void *userdata) +{ + // Everything's here : http://winamp.com/nsdn/winamp2x/dev/sdk/api.php + // The previous url seems dead, see http://forums.winamp.com/showthread.php?threadid=180297 + HWND hwndWinamp = NULL; + + if ((hwndWinamp = FindWindow("Winamp v1.x",NULL)) == NULL) { + xchat_print(ph, "Winamp's window not found - Is winamp really running?\n"); + } + else { + if (strcmp(word[1], "") == 0) + xchat_print(ph, "Usage: wcmd [command]\n"); + else if (strcmp(word[2], "next") == 0) { + xchat_print(ph, "Loading next song...\n"); + SendMessage (hwndWinamp, WM_COMMAND, 40048, 0); + } + else if (strcmp(word[2], "prev") == 0) { + xchat_print(ph, "Loading previous song...\n"); + SendMessage (hwndWinamp, WM_COMMAND, 40044, 0); + } + else if (strcmp(word[2], "play") == 0) { + xchat_print(ph, "Playin'...\n"); + SendMessage (hwndWinamp, WM_COMMAND, 40045, 0); + } + else if (strcmp(word[2], "stop") == 0) { + xchat_print(ph, "Winamp stopped!...\n"); + SendMessage (hwndWinamp, WM_COMMAND, 40047, 0); + } + else if (strcmp(word[2], "pause") == 0) { + SendMessage (hwndWinamp, WM_COMMAND, 40046, 0); + } + } + + return XCHAT_EAT_ALL; +} + + +// Display current song +static int wp_cb(char *word[], char *word_eol[], void *userdata) +{ + HWND hwndWinamp = NULL; + int bitrate, length, elapsed, minutes, seconds, eminutes, eseconds, samplerate, nbchannels; + char elapsedtime[7]; + char totaltime[7]; + char this_title[1024]; + + if ((hwndWinamp = FindWindow("Winamp v1.x",NULL)) == NULL) + xchat_print(ph, "Winamp's window not found - Is winamp really running?\n"); + else { + //Winamp's running + // Seems buggy when winamp2's agent is running, and winamp not (or winamp3) -> crashes xchat. + SendMessage(hwndWinamp, WM_USER, (WPARAM)0, (LPARAM)125); + + if ((samplerate = SendMessage(hwndWinamp, WM_USER, (WPARAM)0, (LPARAM)126)) == 0) { + xchat_print(ph, "Could not get current song's samplerate... !?\n"); + return XCHAT_EAT_ALL; + } + if ((bitrate = SendMessage(hwndWinamp, WM_USER, (WPARAM)1, (LPARAM)126)) == 0) { + xchat_print(ph, "Could not get current song's bitrate... !?\n"); + return XCHAT_EAT_ALL; + } + if ((nbchannels = SendMessage(hwndWinamp, WM_USER, (WPARAM)2, (LPARAM)126)) == 0) { + xchat_print(ph, "Could not get the number of channels... !?\n"); + return XCHAT_EAT_ALL; + } + if ((length = SendMessage(hwndWinamp, WM_USER, (WPARAM)1, (LPARAM)105)) == 0) { + // Could be buggy when streaming audio or video, returned length is unexpected; + // How to detect is Winamp is streaming, and display ??:?? in that case? + xchat_print(ph, "Could not get current song's length... !?\n"); + return XCHAT_EAT_ALL; + } + else { + minutes = length/60; + seconds = length%60; + + if (seconds>9) + wsprintf(totaltime, "%d:%d", minutes, seconds); + else + wsprintf(totaltime, "%d:0%d", minutes, seconds); + } + if ((elapsed = SendMessage(hwndWinamp, WM_USER, (WPARAM)0, (LPARAM)105)) == 0) { + xchat_print(ph, "Could not get current song's elapsed time... !?\n"); + return XCHAT_EAT_ALL; + } + else { + eminutes = (elapsed/1000)/60; /* kinda stupid sounding, but e is for elapsed */ + eseconds = (elapsed/1000)%60; + + if (eseconds>9) + wsprintf(elapsedtime, "%d:%d", eminutes, eseconds); + else + wsprintf(elapsedtime, "%d:0%d", eminutes, eseconds); + } + + if ((bitrate = SendMessage(hwndWinamp, WM_USER, (WPARAM)1, (LPARAM)126)) == 0) { + xchat_print(ph, "Could not get current song's bitrate... !?\n"); + return XCHAT_EAT_ALL; + } + + GetCurrentSongsName(hwndWinamp, this_title, 1024); + + xchat_commandf(ph, "dispcurrsong %d %d %d %s %s %s", samplerate, bitrate, nbchannels, elapsedtime, totaltime, this_title); + } + + return XCHAT_EAT_ALL; /* eat this command so xchat and other plugins can't process it */ +} + + + +int xchat_plugin_init(xchat_plugin *plugin_handle, + char **plugin_name, + char **plugin_desc, + char **plugin_version, + char *arg) +{ + /* we need to save this for use with any xchat_* functions */ + ph = plugin_handle; + + *plugin_name = "EasyWinampControl"; + *plugin_desc = "Some commands to remotely control winamp"; + *plugin_version = "1.2"; + + xchat_hook_command(ph, "wp", XCHAT_PRI_NORM, wp_cb, + "Usage: wp", 0); + + xchat_hook_command(ph, "wcmd", XCHAT_PRI_NORM, wcmd_cb, + "Usage: wcmd [play|pause|stop|prev|next]", 0); + + xchat_print(ph, "EasyWinampControl plugin loaded\n"); + + return 1; /* return 1 for success */ +} + +int xchat_plugin_deinit(void) +{ + xchat_print(ph, "EasyWinampControl plugin unloaded\n"); + return 1; +} diff --git a/plugins/ewc/makefile.mak b/plugins/ewc/makefile.mak new file mode 100644 index 00000000..9b9f21c1 --- /dev/null +++ b/plugins/ewc/makefile.mak @@ -0,0 +1,18 @@ +include "..\..\src\makeinc.mak" + +all: ewc.obj ewc.def + link $(LDFLAGS) $(LIBS) /dll /out:xcewc.dll /def:ewc.def ewc.obj + +ewc.def: + echo EXPORTS > ewc.def + echo xchat_plugin_init >> ewc.def + echo xchat_plugin_deinit >> ewc.def + +ewc.obj: ewc.c makefile.mak + cl $(CFLAGS) ewc.c + +clean: + del *.obj + del *.dll + del *.exp + del *.lib diff --git a/plugins/exec/exec.c b/plugins/exec/exec.c new file mode 100644 index 00000000..22f38814 --- /dev/null +++ b/plugins/exec/exec.c @@ -0,0 +1,138 @@ +/* XChat-WDK + * Copyright (c) 2011 Berke Viktor. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#include <windows.h> +#include <time.h> + +#include "xchat-plugin.h" + +static xchat_plugin *ph; /* plugin handle */ +static const char name[] = "Exec"; +static const char desc[] = "Execute commands inside XChat"; +static const char version[] = "1.1"; + +static int +run_command (char *word[], char *word_eol[], void *userdata) +{ + char commandLine[1024]; + char buffer[4096]; + DWORD dwRead = 0; + DWORD dwLeft = 0; + DWORD dwAvail = 0; + time_t start; + double timeElapsed; + + HANDLE readPipe; + HANDLE writePipe; + STARTUPINFO sInfo; + PROCESS_INFORMATION pInfo; + SECURITY_ATTRIBUTES secattr; + + ZeroMemory (&secattr, sizeof (secattr)); + secattr.nLength = sizeof (secattr); + secattr.bInheritHandle = TRUE; + + if (strlen (word[2]) > 0) + { + strcpy (commandLine, "cmd.exe /c "); + + if (!stricmp("-O", word[2])) + { + /*strcat (commandLine, word_eol[3]);*/ + xchat_printf (ph, "Printing Exec output to others is not supported yet.\n"); + return XCHAT_EAT_XCHAT; + } + else + { + strcat (commandLine, word_eol[2]); + } + + CreatePipe (&readPipe, &writePipe, &secattr, 0); /* might be replaced with MyCreatePipeEx */ + + ZeroMemory (&sInfo, sizeof (sInfo)); + ZeroMemory (&pInfo, sizeof (pInfo)); + sInfo.cb = sizeof (sInfo); + sInfo.dwFlags = STARTF_USESTDHANDLES; + sInfo.hStdInput = NULL; + sInfo.hStdOutput = writePipe; + sInfo.hStdError = writePipe; + + CreateProcess (0, commandLine, 0, 0, TRUE, NORMAL_PRIORITY_CLASS | CREATE_NO_WINDOW, 0, 0, &sInfo, &pInfo); + CloseHandle (writePipe); + + start = time (0); + while (PeekNamedPipe (readPipe, buffer, 1, &dwRead, &dwAvail, &dwLeft) && timeElapsed < 10) + { + if (dwRead) + { + if (ReadFile (readPipe, buffer, sizeof (buffer) - 1, &dwRead, NULL) && dwRead != 0 ) + { + /* avoid garbage */ + buffer[dwRead] = '\0'; + xchat_printf (ph, "%s", buffer); + } + } + else + { + /* this way we'll more likely get full lines */ + SleepEx (100, TRUE); + } + timeElapsed = difftime (time (0), start); + } + } + + /* display a newline to separate things */ + xchat_printf (ph, "\n"); + + if (timeElapsed >= 10) + { + xchat_printf (ph, "Command took too much time to run, execution aborted.\n"); + } + + CloseHandle (readPipe); + CloseHandle (pInfo.hProcess); + CloseHandle (pInfo.hThread); + + return XCHAT_EAT_XCHAT; +} + +int +xchat_plugin_init (xchat_plugin *plugin_handle, char **plugin_name, char **plugin_desc, char **plugin_version, char *arg) +{ + ph = plugin_handle; + + *plugin_name = name; + *plugin_desc = desc; + *plugin_version = version; + + xchat_hook_command (ph, "EXEC", XCHAT_PRI_NORM, run_command, "Usage: /EXEC [-O] - execute commands inside XChat", 0); + xchat_printf (ph, "%s plugin loaded\n", name); + + return 1; /* return 1 for success */ +} + +int +xchat_plugin_deinit (void) +{ + xchat_printf (ph, "%s plugin unloaded\n", name); + return 1; +} diff --git a/plugins/exec/makefile.mak b/plugins/exec/makefile.mak new file mode 100644 index 00000000..d2153faf --- /dev/null +++ b/plugins/exec/makefile.mak @@ -0,0 +1,18 @@ +include "..\..\src\makeinc.mak" + +all: exec.obj exec.def + link $(LDFLAGS) $(LIBS) /dll /out:xcexec.dll /def:exec.def exec.obj + +exec.def: + echo EXPORTS > exec.def + echo xchat_plugin_init >> exec.def + echo xchat_plugin_deinit >> exec.def + +exec.obj: exec.c makefile.mak + cl $(CFLAGS) $(GLIB) /I.. exec.c + +clean: + del *.obj + del *.dll + del *.exp + del *.lib diff --git a/plugins/fishlim/INSTALL b/plugins/fishlim/INSTALL new file mode 100644 index 00000000..d0d61ff8 --- /dev/null +++ b/plugins/fishlim/INSTALL @@ -0,0 +1,16 @@ + +Install dependencies (on Debian/Ubuntu): + + sudo apt-get install build-essential libglib2.0-dev libssl-dev + + +Build the plugin with: + + make + + +Install with: + + sudo make install + + diff --git a/plugins/fishlim/LICENSE b/plugins/fishlim/LICENSE new file mode 100644 index 00000000..427f2631 --- /dev/null +++ b/plugins/fishlim/LICENSE @@ -0,0 +1,21 @@ + +Copyright (c) 2010-2011 Samuel Lidén Borell <samuel@slbdata.se> + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + diff --git a/plugins/fishlim/Makefile b/plugins/fishlim/Makefile new file mode 100644 index 00000000..3f0e93d2 --- /dev/null +++ b/plugins/fishlim/Makefile @@ -0,0 +1,40 @@ + +OURCFLAGS = -Wall -Wextra -Wno-unused-parameter -std=c99 -pedantic `pkg-config --cflags glib-2.0 libcrypto` -DG_DISABLE_DEPRECATED=1 -fPIC $(CFLAGS) +#OURLINKFLAGS = `pkg-config --libs glib-2.0 libcrypto` -shared -fPIC -Wl,-z,defs $(CFLAGS) $(LDFLAGS) +OURLINKFLAGS = `pkg-config --libs glib-2.0 libcrypto` $(CFLAGS) $(LDFLAGS) + +BASE_OBJECTS = irc.o fish.o keystore.o misc.o +PLUGIN_OBJECTS = $(BASE_OBJECTS) plugin_xchat.o +TEST_OBJECTS = $(BASE_OBJECTS) test.o + +all: fishlim.so test + +fish.o: fish.h keystore.h misc.h +irc.o: irc.h +keystore.o: keystore.h irc.h fish.h misc.h plugin_xchat.h +misc.o: misc.h +test.o: fish.h +plugin_xchat.o: fish.h irc.h keystore.h plugin_xchat.h + +.c.o: + $(CC) $(OURCFLAGS) -c $< -o $@ + +fishlim.so: $(PLUGIN_OBJECTS) + $(CC) -shared $(OURLINKFLAGS) $(PLUGIN_OBJECTS) -o $@ + +test: $(TEST_OBJECTS) + $(CC) $(TEST_OBJECTS) -o $@ $(OURLINKFLAGS) + + +.PHONY: all clean distclean install uninstall +clean: + -$(RM) -f $(PLUGIN_OBJECTS) $(TEST_OBJECTS) fishlim.so test +distclean: clean + +install: fishlim.so + install -d $(DESTDIR)/usr/lib/xchat/plugins/ + install -m 644 fishlim.so $(DESTDIR)/usr/lib/xchat/plugins/ +uninstall: + rm $(DESTDIR)/usr/lib/xchat/plugins/fishlim.so + + diff --git a/plugins/fishlim/README b/plugins/fishlim/README new file mode 100644 index 00000000..4f315b44 --- /dev/null +++ b/plugins/fishlim/README @@ -0,0 +1,44 @@ + + + FiSHLiM + + http://fishlim.kodafritt.se/ + + +FiSHLiM is an XChat plugin for FiSH IRC encryption. It's my attempt at making +a simple, lightweight and secure plugin for this encryption protocol. + +For installation instructions, see the INSTALL file. + + +Features +-------- + +Working: + * Sending/receiving messages + * Topic decryption + * Using unecrypted keys / keys without a password from blow.ini + * Pure protocol-level filtering (works with highlighting, nick coloring etc) + * Partially encrypted messages (i.e. prefixed with nickname by a bouncer) + +Not working: + * Key exchange + * Password-protected key storage + * Topic encryption + * Remote exploitation (hopefully!) + + +Commands +-------- + +/setkey [nick or #channel] password + + Sets the encryption key for the nick or channel to password. The keys + are stored in the configuration file in ~/.xchat2/blow.ini + + +/delkey nick-or-#channel + + Deletes the given nick or channel from the configuration file. + + diff --git a/plugins/fishlim/bool.h b/plugins/fishlim/bool.h new file mode 100644 index 00000000..2c8ddde4 --- /dev/null +++ b/plugins/fishlim/bool.h @@ -0,0 +1,5 @@ +/* stdbool.h replacement for MSVC */ +#define false 0 +#define true 1 +#define bool _Bool +typedef int _Bool; diff --git a/plugins/fishlim/fish.c b/plugins/fishlim/fish.c new file mode 100644 index 00000000..cb977d7f --- /dev/null +++ b/plugins/fishlim/fish.c @@ -0,0 +1,192 @@ +/* + + Copyright (c) 2010 Samuel Lidén Borell <samuel@slbdata.se> + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +*/ + +#include <stdlib.h> +#include <string.h> +#include <openssl/blowfish.h> + +#include "keystore.h" +#include "fish.h" + +#define IB 64 +static const char fish_base64[64] = "./0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; +static const signed char fish_unbase64[256] = { + IB,IB,IB,IB,IB,IB,IB,IB, IB,IB,IB,IB,IB,IB,IB,IB, + IB,IB,IB,IB,IB,IB,IB,IB, IB,IB,IB,IB,IB,IB,IB,IB, +// ! " # $ % & ' ( ) * + , - . / + IB,IB,IB,IB,IB,IB,IB,IB, IB,IB,IB,IB,IB,IB, 0, 1, +// 0 1 2 3 4 5 6 7 8 9 : ; < = > ? + 2, 3, 4, 5, 6, 7, 8, 9, 10,11,IB,IB,IB,IB,IB,IB, +// @ A B C D E F G H I J K L M N O + IB,38,39,40,41,42,43,44, 45,46,47,48,49,50,51,52, +// P Q R S T U V W X Y Z [ \ ] ^ _ + 53,54,55,56,57,58,59,60, 61,62,63,IB,IB,IB,IB,IB, +// ` a b c d e f g h i j k l m n o + IB,12,13,14,15,16,17,18, 19,20,21,22,23,24,25,26, +// p q r s t u v w x y z { | } ~ <del> + 27,28,29,30,31,32,33,34, 35,36,37,IB,IB,IB,IB,IB, +}; + +#define GET_BYTES(dest, source) do { \ + *((dest)++) = ((source) >> 24) & 0xFF; \ + *((dest)++) = ((source) >> 16) & 0xFF; \ + *((dest)++) = ((source) >> 8) & 0xFF; \ + *((dest)++) = (source) & 0xFF; \ +} while (0); + + +char *fish_encrypt(const char *key, size_t keylen, const char *message) { + BF_KEY bfkey; + size_t messagelen; + size_t i; + int j; + char *encrypted; + char *end; + unsigned char bit; + unsigned char word; + unsigned char d; + BF_set_key(&bfkey, keylen, (const unsigned char*)key); + + messagelen = strlen(message); + if (messagelen == 0) return NULL; + encrypted = malloc(((messagelen-1)/8)*12 + 12 + 1); // each 8-byte block becomes 12 bytes + end = encrypted; + if (!encrypted) return NULL; + + while (*message) { + // Read 8 bytes (a Blowfish block) + BF_LONG binary[2] = { 0, 0 }; + unsigned char c; + for (i = 0; i < 8; i++) { + c = message[i]; + binary[i >> 2] |= c << 8*(3 - (i&3)); + if (c == '\0') break; + } + message += 8; + + // Encrypt block + BF_encrypt(binary, &bfkey); + + // Emit FiSH-BASE64 + bit = 0; + word = 1; + for (j = 0; j < 12; j++) { + d = fish_base64[(binary[word] >> bit) & 63]; + *(end++) = d; + bit += 6; + if (j == 5) { + bit = 0; + word = 0; + } + } + + // Stop if a null terminator was found + if (c == '\0') break; + } + *end = '\0'; + return encrypted; +} + + +char *fish_decrypt(const char *key, size_t keylen, const char *data) { + BF_KEY bfkey; + size_t i; + char *decrypted; + char *end; + unsigned char bit; + unsigned char word; + unsigned char d; + BF_set_key(&bfkey, keylen, (const unsigned char*)key); + + decrypted = malloc(strlen(data)+1); + end = decrypted; + if (!decrypted) return NULL; + + while (*data) { + // Convert from FiSH-BASE64 + BF_LONG binary[2] = { 0, 0 }; + bit = 0; + word = 1; + for (i = 0; i < 12; i++) { + d = fish_unbase64[(const unsigned char)*(data++)]; + if (d == IB) goto decrypt_end; + binary[word] |= d << bit; + bit += 6; + if (i == 5) { + bit = 0; + word = 0; + } + } + + // Decrypt block + BF_decrypt(binary, &bfkey); + + // Copy to buffer + GET_BYTES(end, binary[0]); + GET_BYTES(end, binary[1]); + } + + decrypt_end: + *end = '\0'; + return decrypted; +} + +/** + * Encrypts a message (see fish_decrypt). The key is searched for in the + * key store. + */ +char *fish_encrypt_for_nick(const char *nick, const char *data) { + char *key; + char *encrypted; + + // Look for key + key = keystore_get_key(nick); + if (!key) return NULL; + + // Encrypt + encrypted = fish_encrypt(key, strlen(key), data); + + free(key); + return encrypted; +} + +/** + * Decrypts a message (see fish_decrypt). The key is searched for in the + * key store. + */ +char *fish_decrypt_from_nick(const char *nick, const char *data) { + char *key; + char *decrypted; + // Look for key + key = keystore_get_key(nick); + if (!key) return NULL; + + // Decrypt + decrypted = fish_decrypt(key, strlen(key), data); + + free(key); + return decrypted; +} + + diff --git a/plugins/fishlim/fish.h b/plugins/fishlim/fish.h new file mode 100644 index 00000000..d4057a7b --- /dev/null +++ b/plugins/fishlim/fish.h @@ -0,0 +1,42 @@ +/* + + Copyright (c) 2010 Samuel Lidén Borell <samuel@slbdata.se> + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +*/ + +#ifndef FISH_H +#define FISH_H + +#ifdef _MSC_VER +#include "bool.h" +#else +#include <stdbool.h> +#endif +#include <stddef.h> + +char *fish_encrypt(const char *key, size_t keylen, const char *message); +char *fish_decrypt(const char *key, size_t keylen, const char *data); +char *fish_encrypt_for_nick(const char *nick, const char *data); +char *fish_decrypt_from_nick(const char *nick, const char *data); + +#endif + + diff --git a/plugins/fishlim/irc.c b/plugins/fishlim/irc.c new file mode 100644 index 00000000..a96c4c91 --- /dev/null +++ b/plugins/fishlim/irc.c @@ -0,0 +1,112 @@ +/* + + Copyright (c) 2010 Samuel Lidén Borell <samuel@slbdata.se> + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +*/ + +#include <stdlib.h> +#include <string.h> +#include "irc.h" + +/** + * Parses an IRC message. The words array should contain the message splitted + * at spaces. The prefix and command is extracted from the message, and + * parameters_offset is set to the index of the first parameter. + */ +bool irc_parse_message(const char *words[], + const char **prefix, const char **command, + size_t *parameters_offset) { + size_t w = 1; + if (prefix) *prefix = NULL; + if (command) *command = NULL; + + // See if the message starts with a prefix (sender user) + if (words[w][0] == ':') { + if (prefix) *prefix = &words[w][1]; + w++; + } + + // Check command + if (words[w][0] == '\0') return false; + if (command) *command = words[w]; + w++; + + *parameters_offset = w; + return true; +} + + +/** + * Finds the nick part of a "IRC prefix", which can have any + * of the following forms: + * + * nick + * nick@host + * nick!ident + * nick!ident@host + */ +char *irc_prefix_get_nick(const char *prefix) { + const char *end; + char *nick; + size_t length; + + if (!prefix) return NULL; + + // Find end of nick + end = prefix; + while (*end != '\0' && *end != '!' && *end != '@') end++; + + // Allocate string + length = end - prefix; + nick = malloc(length+1); + if (!nick) return NULL; + + // Copy to string + memcpy(nick, prefix, length); + nick[length] = '\0'; + return nick; +} + + +/** + * Compares two nick names. Return 0 if equal. Otherwise the return value is + * less than zero if a is less than b or greater than zero if a is greater + * than b. + */ +int irc_nick_cmp(const char *a, const char *b) { + char ac; + char bc; + char diff; + for (;;) { + ac = *(a++); + bc = *(b++); + + // Change into IRC uppercase (see RFC 2812 section 2.2) + if (ac >= 'a' && ac <= '~') ac &= ~0x20; + if (bc >= 'a' && bc <= '~') bc &= ~0x20; + + diff = ac - bc; + if (diff) return diff; + if (!ac) return 0; + } +} + + diff --git a/plugins/fishlim/irc.h b/plugins/fishlim/irc.h new file mode 100644 index 00000000..0c1e7463 --- /dev/null +++ b/plugins/fishlim/irc.h @@ -0,0 +1,43 @@ +/* + + Copyright (c) 2010 Samuel Lidén Borell <samuel@slbdata.se> + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +*/ + +#ifndef IRC_H +#define IRC_H + +#ifdef _MSC_VER +#include "bool.h" +#else +#include <stdbool.h> +#endif +#include <stddef.h> + +bool irc_parse_message(const char *words[], + const char **prefix, const char **command, + size_t *parameters_offset); +char *irc_prefix_get_nick(const char *prefix); +int irc_nick_cmp(const char *a, const char *b); + +#endif + + diff --git a/plugins/fishlim/keystore.c b/plugins/fishlim/keystore.c new file mode 100644 index 00000000..d97107fd --- /dev/null +++ b/plugins/fishlim/keystore.c @@ -0,0 +1,209 @@ +/* + + Copyright (c) 2010 Samuel Lidén Borell <samuel@slbdata.se> + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +*/ + +#include <glib.h> +#include <stdlib.h> +#include <string.h> +#include "irc.h" +#include "fish.h" +#include "misc.h" +#include "keystore.h" +#include "plugin_xchat.h" + + +static char *keystore_password = NULL; + + +/** + * Opens the key store file: ~/.xchat2/blow.ini + */ +static GKeyFile *getConfigFile() { + gchar *filename = get_config_filename(); + + GKeyFile *keyfile = g_key_file_new(); + g_key_file_load_from_file(keyfile, filename, + G_KEY_FILE_KEEP_COMMENTS | + G_KEY_FILE_KEEP_TRANSLATIONS, NULL); + + g_free(filename); + return keyfile; +} + + +/** + * Returns the key store password, or the default. + */ +static const char *get_keystore_password() { + return (keystore_password != NULL ? + keystore_password : + // Silly default value... + "blowinikey"); +} + + +/** + * Gets a value for a nick/channel from blow.ini. Unlike + * g_key_file_get_string, this function is case insensitive. + */ +static gchar *get_nick_value(GKeyFile *keyfile, const char *nick, const char *item) { + gchar **group; + gchar **groups = g_key_file_get_groups(keyfile, NULL); + gchar *result = NULL; + + for (group = groups; *group != NULL; group++) { + if (!irc_nick_cmp(*group, nick)) { + result = g_key_file_get_string(keyfile, *group, item, NULL); + break; + } + } + + g_strfreev(groups); + return result; +} + + +/** + * Extracts a key from the key store file. + */ +char *keystore_get_key(const char *nick) { + // Get the key + GKeyFile *keyfile = getConfigFile(); + gchar *value = get_nick_value(keyfile, nick, "key"); + g_key_file_free(keyfile); + if (!value) return NULL; + + if (strncmp(value, "+OK ", 4) != 0) { + // Key is stored in plaintext + return import_glib_string(value); + } else { + // Key is encrypted + const char *encrypted = value+4; + const char *password = get_keystore_password(); + char *decrypted = fish_decrypt(password, strlen(password), encrypted); + g_free(value); + return decrypted; + } +} + +/** + * Deletes a nick and the associated key in the key store file. + */ +static bool delete_nick(GKeyFile *keyfile, const char *nick) { + gchar **group; + gchar **groups = g_key_file_get_groups(keyfile, NULL); + bool ok = false; + + for (group = groups; *group != NULL; group++) { + if (!irc_nick_cmp(*group, nick)) { + ok = g_key_file_remove_group(keyfile, *group, NULL); + break; + } + } + + g_strfreev(groups); + return ok; +} + +/** + * Writes the key store file to disk. + */ +static bool save_keystore(GKeyFile *keyfile) { + char *filename; + bool ok; + // Serialize + gsize file_length; + gchar *file_data = g_key_file_to_data(keyfile, &file_length, NULL); + if (!file_data) return false; + + // Write to file + filename = get_config_filename(); + ok = g_file_set_contents(filename, file_data, file_length, NULL); + g_free(filename); + g_free(file_data); + return ok; +} + +/** + * Sets a key in the key store file. + */ +bool keystore_store_key(const char *nick, const char *key) { + const char *password; + char *encrypted; + char *wrapped; + bool ok = false; + GKeyFile *keyfile = getConfigFile(); + + // Remove old key + delete_nick(keyfile, nick); + + // Add new key + password = get_keystore_password(); + if (password) { + // Encrypt the password + encrypted = fish_encrypt(password, strlen(password), key); + if (!encrypted) goto end; + + // Prepend "+OK " + wrapped = g_strconcat("+OK ", encrypted, NULL); + g_free(encrypted); + + // Store encrypted in file + g_key_file_set_string(keyfile, nick, "key", wrapped); + free(wrapped); + } else { + // Store unencrypted in file + g_key_file_set_string(keyfile, nick, "key", key); + } + + // Save key store file + ok = save_keystore(keyfile); + + end: + g_key_file_free(keyfile); + return ok; +} + +/** + * Deletes a nick from the key store. + */ +bool keystore_delete_nick(const char *nick) { + GKeyFile *keyfile = getConfigFile(); + + // Delete entry + bool ok = delete_nick(keyfile, nick); + + // Save + if (ok) save_keystore(keyfile); + + g_key_file_free(keyfile); + return ok; +} + + +void keystore_secure_free(void *ptr, size_t size) { + secure_erase(ptr, size); + free(ptr); +} + + diff --git a/plugins/fishlim/keystore.h b/plugins/fishlim/keystore.h new file mode 100644 index 00000000..b0c1c69c --- /dev/null +++ b/plugins/fishlim/keystore.h @@ -0,0 +1,42 @@ +/* + + Copyright (c) 2010 Samuel Lidén Borell <samuel@slbdata.se> + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +*/ + +#ifndef KEYSTORE_H +#define KEYSTORE_H + +#ifdef _MSC_VER +#include "bool.h" +#else +#include <stdbool.h> +#endif +#include <stddef.h> + +char *keystore_get_key(const char *nick); +bool keystore_store_key(const char *nick, const char *key); +bool keystore_delete_nick(const char *nick); + +void keystore_secure_free(void *ptr, size_t size); + +#endif + diff --git a/plugins/fishlim/makefile.mak b/plugins/fishlim/makefile.mak new file mode 100644 index 00000000..4d0be66b --- /dev/null +++ b/plugins/fishlim/makefile.mak @@ -0,0 +1,30 @@ +include "..\..\src\makeinc.mak" + +TARGET = xcfishlim.dll + +CFLAGS = $(CFLAGS) + +FISHLIM_OBJECTS = \ +fish.obj \ +irc.obj \ +keystore.obj \ +misc.obj \ +plugin_xchat.obj + +all: $(FISHLIM_OBJECTS) fishlim.def + link $(LDFLAGS) $(LIBS) /dll /out:xcfishlim.dll /def:fishlim.def $(FISHLIM_OBJECTS) + +fishlim.def: + echo EXPORTS > fishlim.def + echo xchat_plugin_init >> fishlim.def + echo xchat_plugin_deinit >> fishlim.def + echo xchat_plugin_get_info >> fishlim.def + +.c.obj: + $(CC) $(CFLAGS) $(GLIB) /I.. /c $< + +clean: + del *.obj + del *.dll + del *.exp + del *.lib diff --git a/plugins/fishlim/misc.c b/plugins/fishlim/misc.c new file mode 100644 index 00000000..32fe3595 --- /dev/null +++ b/plugins/fishlim/misc.c @@ -0,0 +1,54 @@ +/* + + Copyright (c) 2010 Samuel Lidén Borell <samuel@slbdata.se> + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +*/ + +#include <glib.h> +#include <stdlib.h> +#include <string.h> +#include "misc.h" + + +void secure_erase(void *ptr, size_t size) { + // "volatile" prevents this code from being optimized away + volatile char* volptr = ptr; + while (size--) *volptr++ = 0; +} + +/** + * Re-allocates a string with the native allocator. + */ +char *import_glib_string(gchar *gstr) { + size_t size; + char *native; + if (g_mem_is_system_malloc()) return gstr; + + size = strlen(gstr)+1; + native = malloc(size); + memcpy(native, gstr, size); + + secure_erase(gstr, size); + g_free(gstr); + return native; +} + + diff --git a/plugins/fishlim/misc.h b/plugins/fishlim/misc.h new file mode 100644 index 00000000..0adc928c --- /dev/null +++ b/plugins/fishlim/misc.h @@ -0,0 +1,36 @@ +/* + + Copyright (c) 2010 Samuel Lidén Borell <samuel@slbdata.se> + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +*/ + +#ifndef MISC_H +#define MISC_H + +void secure_erase(void *ptr, size_t size); + +#ifdef __G_LIB_H__ +char *import_glib_string(gchar *gstr); +#endif + +#endif + + diff --git a/plugins/fishlim/plugin_xchat.c b/plugins/fishlim/plugin_xchat.c new file mode 100644 index 00000000..01f5d747 --- /dev/null +++ b/plugins/fishlim/plugin_xchat.c @@ -0,0 +1,290 @@ +/* + + Copyright (c) 2010-2011 Samuel Lidén Borell <samuel@slbdata.se> + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +*/ + +#include <glib.h> +#include <stdlib.h> +#include <string.h> + +// #pragma GCC visibility push(default) +#ifdef _MSC_VER +#include "xchat-plugin.h" +#else +#include <xchat/xchat-plugin.h> +#endif +#define XCHAT_MAX_WORDS 32 +// #pragma GCC visibility pop + +//#define EXPORT __attribute((visibility("default"))) +//#define EXPORT + +#include "fish.h" +#include "keystore.h" +#include "irc.h" + +static const char plugin_name[] = "FiSHLiM"; +static const char plugin_desc[] = "Encryption plugin for the FiSH protocol. Less is More!"; +static const char plugin_version[] = "0.0.15"; + +static const char usage_setkey[] = "Usage: SETKEY [<nick or #channel>] <password>, sets the key for a channel or nick"; +static const char usage_delkey[] = "Usage: DELKEY <nick or #channel>, deletes the key for a channel or nick"; + +static xchat_plugin *ph; + + +/** + * Returns the path to the key store file. + */ +gchar *get_config_filename() { + return g_build_filename(xchat_get_info(ph, "xchatdirfs"), "blow.ini", NULL); +} + +/** + * Appends data to a string. Returns true if there was sufficient memory. + * Frees *s and returns false if an error occurs. + */ +static bool append(char **s, size_t *length, const char *data) { + size_t datalen = strlen(data); + char *extended = realloc(*s, *length + datalen + 1); + if (!extended) { + free(*s); + return false; + } + memcpy(extended + *length, data, datalen + 1); + *s = extended; + *length += datalen; + return true; +} + + +/*static int handle_debug(char *word[], char *word_eol[], void *userdata) { + xchat_printf(ph, "debug incoming: "); + for (size_t i = 1; word[i] != NULL && word[i][0] != '\0'; i++) { + xchat_printf(ph, ">%s< ", word[i]); + } + xchat_printf(ph, "\n"); + return XCHAT_EAT_NONE; +}*/ + +/** + * Called when a message is to be sent. + */ +static int handle_outgoing(char *word[], char *word_eol[], void *userdata) { + const char *own_nick; + // Encrypt the message if possible + const char *channel = xchat_get_info(ph, "channel"); + char *encrypted = fish_encrypt_for_nick(channel, word_eol[1]); + if (!encrypted) return XCHAT_EAT_NONE; + + // Display message + own_nick = xchat_get_info(ph, "nick"); + xchat_emit_print(ph, "Your Message", own_nick, word_eol[1], NULL); + + // Send message + xchat_commandf(ph, "PRIVMSG %s :+OK %s", channel, encrypted); + + free(encrypted); + return XCHAT_EAT_XCHAT; +} + +/** + * Called when a channel message or private message is received. + */ +static int handle_incoming(char *word[], char *word_eol[], void *userdata) { + const char *prefix; + const char *command; + const char *recipient; + const char *encrypted; + const char *peice; + char *sender_nick; + char *decrypted; + char *message; + size_t w; + size_t ew; + size_t uw; + size_t length; + + if (!irc_parse_message((const char **)word, &prefix, &command, &w)) + return XCHAT_EAT_NONE; + + // Topic (command 332) has an extra parameter + if (!strcmp(command, "332")) w++; + + // Look for encrypted data + for (ew = w+1; ew < XCHAT_MAX_WORDS-1; ew++) { + const char *s = (ew == w+1 ? word[ew]+1 : word[ew]); + if (strcmp(s, "+OK") == 0) goto has_encrypted_data; + } + return XCHAT_EAT_NONE; + has_encrypted_data: ; + // Extract sender nick and recipient nick/channel + sender_nick = irc_prefix_get_nick(prefix); + recipient = word[w]; + + // Try to decrypt with these (the keys are searched for in the key store) + encrypted = word[ew+1]; + decrypted = fish_decrypt_from_nick(recipient, encrypted); + if (!decrypted) decrypted = fish_decrypt_from_nick(sender_nick, encrypted); + + // Check for error + if (!decrypted) goto decrypt_error; + + // Build unecrypted message + message = NULL; + length = 0; + if (!append(&message, &length, "RECV")) goto decrypt_error; + + for (uw = 1; uw < XCHAT_MAX_WORDS; uw++) { + if (word[uw][0] != '\0' && !append(&message, &length, " ")) goto decrypt_error; + + if (uw == ew) { + // Add the encrypted data + peice = decrypted; + uw++; // Skip "OK+" + } else { + // Add unencrypted data (for example, a prefix from a bouncer or bot) + peice = (uw == w+1 ? word[uw]+1 : word[uw]); + } + + if (!append(&message, &length, peice)) goto decrypt_error; + } + free(decrypted); + + // Simulate unencrypted message + //xchat_printf(ph, "simulating: %s\n", message); + xchat_command(ph, message); + + free(message); + free(sender_nick); + return XCHAT_EAT_XCHAT; + + decrypt_error: + free(decrypted); + free(sender_nick); + return XCHAT_EAT_NONE; +} + +/** + * Command handler for /setkey + */ +static int handle_setkey(char *word[], char *word_eol[], void *userdata) { + const char *nick; + const char *key; + + // Check syntax + if (*word[2] == '\0') { + xchat_printf(ph, "%s\n", usage_setkey); + return XCHAT_EAT_XCHAT; + } + + if (*word[3] == '\0') { + // /setkey password + nick = xchat_get_info(ph, "channel"); + key = word_eol[2]; + } else { + // /setkey #channel password + nick = word[2]; + key = word_eol[3]; + } + + // Set password + if (keystore_store_key(nick, key)) { + xchat_printf(ph, "Stored key for %s\n", nick); + } else { + xchat_printf(ph, "\00305Failed to store key in blow.ini\n", nick, key); + } + + return XCHAT_EAT_XCHAT; +} + +/** + * Command handler for /delkey + */ +static int handle_delkey(char *word[], char *word_eol[], void *userdata) { + const char *nick; + + // Check syntax + if (*word[2] == '\0' || *word[3] != '\0') { + xchat_printf(ph, "%s\n", usage_delkey); + return XCHAT_EAT_XCHAT; + } + + nick = word_eol[2]; + + // Delete the given nick from the key store + if (keystore_delete_nick(nick)) { + xchat_printf(ph, "Deleted key for %s\n", nick); + } else { + xchat_printf(ph, "\00305Failed to delete key in blow.ini!\n", nick); + } + + return XCHAT_EAT_XCHAT; +} + +/** + * Returns the plugin name version information. + */ +void xchat_plugin_get_info(const char **name, const char **desc, + const char **version, void **reserved) { + *name = plugin_name; + *desc = plugin_desc; + *version = plugin_version; +} + +/** + * Plugin entry point. + */ +int xchat_plugin_init(xchat_plugin *plugin_handle, + const char **name, + const char **desc, + const char **version, + char *arg) { + ph = plugin_handle; + + /* Send our info to XChat */ + *name = plugin_name; + *desc = plugin_desc; + *version = plugin_version; + + /* Register commands */ + xchat_hook_command(ph, "SETKEY", XCHAT_PRI_NORM, handle_setkey, usage_setkey, NULL); + xchat_hook_command(ph, "DELKEY", XCHAT_PRI_NORM, handle_delkey, usage_delkey, NULL); + + /* Add handlers */ + xchat_hook_command(ph, "", XCHAT_PRI_NORM, handle_outgoing, NULL, NULL); + xchat_hook_server(ph, "NOTICE", XCHAT_PRI_NORM, handle_incoming, NULL); + xchat_hook_server(ph, "PRIVMSG", XCHAT_PRI_NORM, handle_incoming, NULL); + //xchat_hook_server(ph, "RAW LINE", XCHAT_PRI_NORM, handle_debug, NULL); + xchat_hook_server(ph, "TOPIC", XCHAT_PRI_NORM, handle_incoming, NULL); + xchat_hook_server(ph, "332", XCHAT_PRI_NORM, handle_incoming, NULL); + + xchat_printf(ph, "%s plugin loaded\n", plugin_name); + /* Return success */ + return 1; +} + +int xchat_plugin_deinit(void) { + xchat_printf(ph, "%s plugin unloaded\n", plugin_name); + return 1; +} + diff --git a/plugins/fishlim/plugin_xchat.h b/plugins/fishlim/plugin_xchat.h new file mode 100644 index 00000000..0243e81f --- /dev/null +++ b/plugins/fishlim/plugin_xchat.h @@ -0,0 +1,31 @@ +/* + + Copyright (c) 2010 Samuel Lidén Borell <samuel@slbdata.se> + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +*/ + +#ifndef XCHAT_PLUGIN_H +#define XCHAT_PLUGIN_H + +gchar *get_config_filename(); + +#endif + diff --git a/plugins/fishlim/test.c b/plugins/fishlim/test.c new file mode 100644 index 00000000..3511bbb1 --- /dev/null +++ b/plugins/fishlim/test.c @@ -0,0 +1,91 @@ +/* + + Copyright (c) 2010 Samuel Lidén Borell <samuel@slbdata.se> + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. + +*/ + +#include <glib.h> +#include <stdio.h> +#include <string.h> +#include "fish.h" + +// We can't use the XChat plugin API from here... +gchar *get_config_filename() { + const gchar *homedir = g_get_home_dir(); + return g_build_filename(homedir, ".xchat2", "blow.ini", NULL); +} + + +static int decrypt(int nick_count, char *nicks[]) { + char encrypted[8192]; + while (fgets(encrypted, sizeof(encrypted), stdin)) { + char *msg; + for (int i = 0; i < nick_count; i++) { + msg = fish_decrypt_from_nick(nicks[i], encrypted); + if (msg) goto success; + } + fprintf(stderr, "None of the recipients were found in the key store!\n"); + return 1; + success: + fprintf(stderr, "Decrypted text >>>%s<<<\n", msg); + } + return 0; +} + +static int encrypt(int nick_count, char *nicks[]) { + char message[8192]; + while (fgets(message, sizeof(message), stdin)) { + // Remove newline character + char *newline = strchr(message, '\n'); + if (newline) *newline = '\0'; + + bool error = false; + for (int i = 0; i < nick_count; i++) { + char *encrypted = fish_encrypt_for_nick(nicks[i], message); + if (encrypted) { + fprintf(stderr, "Encrypted [%s]: >>>%s<<<\n", nicks[i], encrypted); + } else { + error = true; + } + } + + if (error) { + fprintf(stderr, "Some of the recipients were't found in the key store!\n"); + return 1; + } + } + return 0; +} + +int main(int argc, char *argv[]) { + if (argc < 2) { + fprintf(stderr, "usage: %s [-e] nick...\n", argv[0]); + return 2; + } + + if (strcmp(argv[1], "-e") == 0) { + return encrypt(argc-2, &argv[2]); + } else { + return decrypt(argc-1, &argv[1]); + } +} + + diff --git a/plugins/gtkpref/gtkpref.c b/plugins/gtkpref/gtkpref.c new file mode 100644 index 00000000..5cc754bf --- /dev/null +++ b/plugins/gtkpref/gtkpref.c @@ -0,0 +1,69 @@ +/* XChat-WDK + * Copyright (c) 2011 Berke Viktor. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#include <windows.h> + +#include "xchat-plugin.h" + +static xchat_plugin *ph; /* plugin handle */ + +static void +launch_tool () +{ + STARTUPINFO si; + PROCESS_INFORMATION pi; + + ZeroMemory (&si, sizeof (si)); + si.cb = sizeof (si); + ZeroMemory (&pi, sizeof (pi)); + + if (!CreateProcess ( NULL, "gtk2-prefs.exe", NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi)) + { + xchat_print (ph, "Error launching the GTK+ Preference Tool! Maybe the executable is missing?"); + } + + CloseHandle (pi.hProcess); + CloseHandle (pi.hThread); +} + +int +xchat_plugin_init (xchat_plugin *plugin_handle, char **plugin_name, char **plugin_desc, char **plugin_version, char *arg) +{ + ph = plugin_handle; + + *plugin_name = "GTKPref"; + *plugin_desc = "GTK+ Preference Tool Launcher"; + *plugin_version = "1.0"; + + xchat_hook_command (ph, "GTKPREF", XCHAT_PRI_NORM, launch_tool, 0, 0); + xchat_command (ph, "MENU -ietc\\gtkpref.png ADD \"Settings/GTK+ Preferences\" \"GTKPREF\""); + + return 1; /* return 1 for success */ +} + +int +xchat_plugin_deinit (void) +{ + xchat_command (ph, "MENU DEL \"Settings/GTK+ Preferences\""); + + return 1; +} diff --git a/plugins/gtkpref/makefile.mak b/plugins/gtkpref/makefile.mak new file mode 100644 index 00000000..e2292365 --- /dev/null +++ b/plugins/gtkpref/makefile.mak @@ -0,0 +1,18 @@ +include "..\..\src\makeinc.mak" + +all: gtkpref.obj gtkpref.def + link $(LDFLAGS) $(LIBS) /dll /out:xcgtkpref.dll /def:gtkpref.def gtkpref.obj + +gtkpref.def: + echo EXPORTS > gtkpref.def + echo xchat_plugin_init >> gtkpref.def + echo xchat_plugin_deinit >> gtkpref.def + +gtkpref.obj: gtkpref.c makefile.mak + cl $(CFLAGS) $(GLIB) /I.. gtkpref.c + +clean: + del *.obj + del *.dll + del *.exp + del *.lib diff --git a/plugins/lua/lua.c b/plugins/lua/lua.c new file mode 100644 index 00000000..9f29bf08 --- /dev/null +++ b/plugins/lua/lua.c @@ -0,0 +1,1882 @@ +/* + * X-Chat 2.0 LUA Plugin + * + * Copyright (c) 2007 Hanno Hecker + * This program 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; version 2 of the License. + * + * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + */ +/* + * $Id: lua.c 91 2007-06-09 18:44:03Z vetinari $ + * $Revision: 91 $ + * $Date: 2007-06-09 20:44:03 +0200 (Szo, 09 jún. 2007) $ + */ +/* + * TODO: + * * compile (was OK)/run on IRIX + * ? localize error msgs? ... maybe later + * ? make xchat.print() like print() which does an tostring() on + * everything it gets? + * ? add /LUA -s <code>? ... add a new script from cmdline... this state + * is not removed after the pcall(), but prints a name, which may + * be used to unload this virtual script. ... no xchat_register(), + * xchat_init() should be needed + * ... don't disable xchat.hook_* for this + * ? timer name per state/script and not per plugin? + */ +#define LXC_NAME "Lua" +#define LXC_DESC "Lua scripting interface" +#define LXC_VERSION "0.7 (r91)" + +#include <stdlib.h> +#include <stdio.h> +#include <string.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> +#include <errno.h> +#include <ctype.h> + +#ifdef _WIN32 +#include <direct.h> /* for getcwd */ +#include "../../src/common/dirent-win32.h" +#endif + +#if !( defined(_WIN32) || defined(LXC_XCHAT_GETTEXT) ) +# include <libintl.h> +#endif + +#ifndef PATH_MAX /* hurd */ +# define PATH_MAX 1024 +#endif + +#include <lua.h> +#include <lauxlib.h> +#include <lualib.h> + +#define lua_pop(L,n) lua_settop(L, -(n)-1) + +#include "xchat-plugin.h" + +static xchat_plugin *ph; /* plugin handle */ + +#define LXC_STRIP_COLOR 1 +#define LXC_STRIP_ATTR 2 +#define LXC_STRIP_ALL (LXC_STRIP_COLOR|LXC_STRIP_ATTR) + +/* registered hooks */ +struct lxc_hooks { + const char *name; + xchat_hook *hook; + struct lxc_hooks *next; +}; + +/* single linked list of all lua states^Wscripts ;-) */ +struct lxc_States { + lua_State *state; /* the lua state of the script */ + char file[PATH_MAX+1]; /* the file name of the script */ + struct lxc_hooks *hooks; /* all hooks this script registered */ + void *gui; /* the gui entry in windows->plugins and scripts... */ + struct lxc_States *next; +}; + +static struct lxc_States *lxc_states = NULL; + +/* user/script supplied data for a callback */ +struct lxc_userdata { + int idx; /* table index */ + int type; /* lua type: */ + const char *string; /* only strings, ... */ + double num; /* numbers and booleans are supported */ + struct lxc_userdata *next; +}; + +/* callback data */ +struct lxc_cbdata { + lua_State *state; + const char *func; + xchat_hook *hook; /* timer ... */ + struct lxc_userdata *data; +}; + +static char lxc_event_name[1024] = "\0"; + +static int lxc_run_hook(char *word[], char *word_eol[], void *data); +static int lxc_run_print(char *word[], void *data); +static int lxc_run_timer(void *data); + +static int lxc_hook_command(lua_State *L); +static int lxc_hook_server(lua_State *L); +static int lxc_hook_print(lua_State *L); +static int lxc_event(lua_State *L); +static int lxc_hook_timer(lua_State *L); +static int lxc_unhook(lua_State *L); + +static int lxc_command(lua_State *L); +static int lxc_print(lua_State *L); +static int lxc_emit_print(lua_State *L); +static int lxc_send_modes(lua_State *L); +static int lxc_find_context(lua_State *L); +static int lxc_get_context(lua_State *L); +static int lxc_get_info(lua_State *L); +static int lxc_get_prefs(lua_State *L); +static int lxc_set_context(lua_State *L); +static int lxc_nickcmp(lua_State *L); + +static int lxc_list_get(lua_State *L); +static int lxc_list_fields(lua_State *L); +static int lxc_gettext(lua_State *L); + +static int lxc_bits(lua_State *L); + +static luaL_reg lxc_functions[] = { + {"hook_command", lxc_hook_command }, +/* TODO: + {"hook_fd", lxc_hook_fd }, +*/ + {"hook_print", lxc_hook_print }, + {"hook_server", lxc_hook_server }, + {"hook_timer", lxc_hook_timer }, + {"unhook", lxc_unhook }, + + {"event", lxc_event }, + + {"command", lxc_command }, + {"print", lxc_print }, + {"emit_print", lxc_emit_print }, + {"send_modes", lxc_send_modes }, + {"find_context", lxc_find_context }, + {"get_context", lxc_get_context }, + {"get_info", lxc_get_info }, + {"get_prefs", lxc_get_prefs }, + {"set_context", lxc_set_context }, + + {"nickcmp", lxc_nickcmp }, + + {"list_get", lxc_list_get }, + {"list_fields", lxc_list_fields }, + + {"gettext", lxc_gettext}, +/* helper function for bit flags */ + {"bits", lxc_bits }, + {NULL, NULL} +}; + +static struct { + const char *name; + long value; +} lxc_consts[] = { + {"EAT_NONE", XCHAT_EAT_NONE}, + {"EAT_XCHAT", XCHAT_EAT_XCHAT}, + {"EAT_PLUGIN", XCHAT_EAT_PLUGIN}, + {"EAT_ALL", XCHAT_EAT_ALL}, + +/* unused until hook_fd is done + {"FD_READ", XCHAT_FD_READ}, + {"FD_WRITE", XCHAT_FD_WRITE}, + {"FD_EXCEPTION", XCHAT_FD_EXCEPTION}, + {"FD_NOTSOCKET", XCHAT_FD_NOTSOCKET}, + */ + + {"PRI_HIGHEST", XCHAT_PRI_HIGHEST}, + {"PRI_HIGH", XCHAT_PRI_HIGH}, + {"PRI_NORM", XCHAT_PRI_NORM}, + {"PRI_LOW", XCHAT_PRI_LOW}, + {"PRI_LOWEST", XCHAT_PRI_LOWEST}, + + /* for: clean = xchat.strip(dirty, xchat.STRIP_ALL) */ + {"STRIP_COLOR", LXC_STRIP_COLOR}, + {"STRIP_ATTR", LXC_STRIP_ATTR}, + {"STRIP_ALL", LXC_STRIP_ALL}, + + /* for xchat.commandf("GUI COLOR %d", xchat.TAB_HILIGHT) */ + {"TAB_DEFAULT", 0}, + {"TAB_NEWDATA", 1}, + {"TAB_NEWMSG", 2}, + {"TAB_HILIGHT", 3}, + + {NULL, 0} +}; + + +#ifdef DEBUG +static void stackDump (lua_State *L, const char *msg) { + int i, t; + int top = lua_gettop(L); + + fprintf(stderr, "%s\n", msg); + for (i = 1; i <= top; i++) { /* repeat for each level */ + t = lua_type(L, i); + switch (t) { + + case LUA_TSTRING: /* strings */ + fprintf(stderr, "`%s'", lua_tostring(L, i)); + break; + + case LUA_TBOOLEAN: /* booleans */ + fprintf(stderr, lua_toboolean(L, i) ? "true" : "false"); + break; + + case LUA_TNUMBER: /* numbers */ + fprintf(stderr, "%g", lua_tonumber(L, i)); + break; + + default: /* other values */ + fprintf(stderr, "%s", lua_typename(L, t)); + break; + + } + fprintf(stderr, " "); /* put a separator */ + } + fprintf(stderr, "\n"); /* end the listing */ +} +#endif /* DEBUG */ + +static int lxc__newindex(lua_State *L) +{ + int i; + const char *name = lua_tostring(L, 2); + + luaL_getmetatable(L, "xchat"); /* 4 */ + + lua_pushnil(L); /* 5 */ + while (lua_next(L, 4) != 0) { + if ((lua_type(L, -2) == LUA_TSTRING) + && strcmp("__index", lua_tostring(L, -2)) == 0) + break; /* now __index is 5, table 6 */ + lua_pop(L, 1); + } + + lua_pushnil(L); + while (lua_next(L, 6) != 0) { + if ((lua_type(L, -2) == LUA_TSTRING) + && strcmp(name, lua_tostring(L, -2)) == 0) { + for (i=0; lxc_consts[i].name; i++) { + if (strcmp(name, lxc_consts[i].name) == 0) { + luaL_error(L, + "`xchat.%s' is a readonly constant", lua_tostring(L, 2)); + return 0; + } + } + } + lua_pop(L, 1); + } + + lua_pushvalue(L, 2); + lua_pushvalue(L, 3); + lua_rawset(L, 6); + + lua_settop(L, 1); + return 0; +} + +static int luaopen_xchat(lua_State *L) +{ + int i; +/* + * wrappers for xchat.printf() and xchat.commandf() + * ... xchat.strip + */ +#define LXC_WRAPPERS "function xchat.printf(...)\n" \ + " xchat.print(string.format(unpack(arg)))\n" \ + "end\n" \ + "function xchat.commandf(...)\n" \ + " xchat.command(string.format(unpack(arg)))\n" \ + "end\n" \ + "function xchat.strip(str, flags)\n" \ + " if flags == nil then\n" \ + " flags = xchat.STRIP_ALL\n" \ + " end\n" \ + " local bits = xchat.bits(flags)\n" \ + " if bits[1] then\n" \ + " str = string.gsub(\n" \ + " string.gsub(str, \"\\3%d%d?,%d%d?\", \"\"),\n" \ + " \"\\3%d%d?\", \"\")\n" \ + " end\n" \ + " if bits[2] then\n" \ + " -- bold, beep, reset, reverse, underline\n" \ + " str = string.gsub(str,\n" \ + " \"[\\2\\7\\15\\22\\31]\", \"\")\n" \ + " end\n" \ + " return str\n" \ + "end\n" + +#if defined(LUA_VERSION_NUM) && (LUA_VERSION_NUM >= 501) + luaL_register(L, "xchat", lxc_functions); + (void)luaL_dostring(L, LXC_WRAPPERS); +#else + luaL_openlib(L, "xchat", lxc_functions, 0); + lua_dostring(L, LXC_WRAPPERS); +#endif + + luaL_newmetatable(L, "xchat"); + + lua_pushliteral(L, "__index"); + lua_newtable(L); + + lua_pushstring(L, "ARCH"); +#ifdef _WIN32 + lua_pushstring(L, "Windows"); +#else + lua_pushstring(L, "Unix"); +#endif + lua_settable(L, -3); /* add to table __index */ + + for (i=0; lxc_consts[i].name; i++) { + lua_pushstring(L, lxc_consts[i].name); + lua_pushnumber(L, lxc_consts[i].value); + lua_settable(L, -3); /* add to table __index */ + } + lua_settable(L, -3); /* add to metatable */ + + lua_pushliteral(L, "__newindex"); + lua_pushcfunction(L, lxc__newindex); + lua_settable(L, -3); +/* + lua_pushliteral(L, "__metatable"); + lua_pushstring(L, "nothing to see here, move along"); + lua_settable(L, -3); +*/ + lua_setmetatable(L, -2); + lua_pop(L, 1); + return 1; +} + +lua_State *lxc_new_state() +{ +#if defined(LUA_VERSION_NUM) && (LUA_VERSION_NUM >= 501) + lua_State *L = luaL_newstate(); /* opens Lua */ + luaL_openlibs(L); +#else + lua_State *L = lua_open(); /* opens Lua */ + luaopen_base(L); /* opens the basic library */ + luaopen_table(L); /* opens the table library */ + luaopen_io(L); /* opens the I/O library */ + luaopen_string(L); /* opens the string lib. */ + luaopen_math(L); /* opens the math lib. */ +#endif + + luaopen_xchat(L); + return L; +} + +static int +lxc_load_file(const char *script) +{ + lua_State *L; + struct lxc_States *state; /* pointer to lua states list */ + struct lxc_States *st; /* pointer to lua states list */ + + L = lxc_new_state(); + state = malloc(sizeof(struct lxc_States)); + if (state == NULL) { + xchat_printf(ph, "malloc() failed: %s\n", strerror(errno)); + lua_close(L); + return 0; + } + + state->state = L; + snprintf(state->file, PATH_MAX, script); + state->next = NULL; + state->hooks = NULL; + state->gui = NULL; + + if (luaL_loadfile(L, script) || lua_pcall(L, 0, 0, 0)) { + xchat_printf(ph, "Lua plugin: error loading script %s", + lua_tostring(L, -1)); + lua_close(L); + free(state); + return 0; + } + + if (!lxc_states) + lxc_states = state; + else { + st = lxc_states; + while (st->next) + st = st->next; + st->next = state; + } + + return 1; +} + +static void +lxc_autoload_from_path(const char *path) +{ + DIR *dir; + struct dirent *ent; + char *file; + int len; + /* xchat_printf(ph, "loading from %s\n", path); */ + dir = opendir(path); + if (dir) { + while ((ent = readdir(dir))) { + len = strlen(ent->d_name); + if (len > 4 && strcasecmp(".lua", ent->d_name + len - 4) == 0) { + file = malloc(len + strlen(path) + 2); + if (file == NULL) { + xchat_printf(ph, "lxc_autoload_from_path(): malloc failed: %s", + strerror(errno)); + break; + } + sprintf(file, "%s/%s", path, ent->d_name); + (void)lxc_load_file((const char *)file); + free(file); + } + } + closedir(dir); + } +} + +void lxc_unload_script(struct lxc_States *state) +{ + struct lxc_hooks *hooks, *h; + struct lxc_cbdata *cb; + struct lxc_userdata *ud, *u; + lua_State *L = state->state; + + lua_pushstring(L, "xchat_unload"); + lua_gettable(L, LUA_GLOBALSINDEX); + if (lua_type(L, -1) == LUA_TFUNCTION) { + if (lua_pcall(L, 0, 0, 0)) { + xchat_printf(ph, "Lua plugin: error while unloading script %s", + lua_tostring(L, -1)); + lua_pop(L, 1); + } + } + + if (state->gui) + xchat_plugingui_remove(ph, state->gui); + state->gui = NULL; + + hooks = state->hooks; + while (hooks) { + h = hooks; + hooks = hooks->next; + + cb = xchat_unhook(ph, h->hook); + if (cb) { + ud = cb->data; + while (ud) { + u = ud; + ud = ud->next; + free(u); + } + free(cb); + } + + free(h); + } + lua_close(state->state); +} + + +static int lxc_cb_load(char *word[], char *word_eol[], void *userdata) +{ + int len; + struct lxc_States *state; + lua_State *L; + const char *name, *desc, *vers; + const char *xdir = ""; + char *buf; + char file[PATH_MAX+1]; + struct stat *st; + + if (word_eol[2][0] == 0) + return XCHAT_EAT_NONE; + + buf = malloc(PATH_MAX + 1); + if (!buf) { + xchat_printf(ph, "malloc() failed: %s\n", strerror(errno)); + return XCHAT_EAT_NONE; + } + + st = malloc(sizeof(struct stat)); + if (!st) { + xchat_printf(ph, "malloc() failed: %s\n", strerror(errno)); + free(buf); + return XCHAT_EAT_NONE; + } + + len = strlen(word[2]); + if (len > 4 && strcasecmp (".lua", word[2] + len - 4) == 0) { +#ifdef WIN32 + if (strrchr(word[2], '\\') != NULL) +#else + if (strrchr(word[2], '/') != NULL) +#endif + strncpy(file, word[2], PATH_MAX); + else { + if (stat(word[2], st) == 0) + xdir = getcwd(buf, PATH_MAX); + else { + xdir = xchat_get_info(ph, "xchatdirfs"); + if (!xdir) /* xchatdirfs is new for 2.0.9, will fail on older */ + xdir = xchat_get_info (ph, "xchatdir"); + } + snprintf(file, PATH_MAX, "%s/%s", xdir, word[2]); + } + + if (lxc_load_file((const char *)file) == 0) { + free(st); + free(buf); + return XCHAT_EAT_ALL; + } + + state = lxc_states; + while (state) { + if (state->next == NULL) { + L = state->state; + + lua_pushstring(L, "xchat_register"); + lua_gettable(L, LUA_GLOBALSINDEX); + if (lua_pcall(L, 0, 3, 0)) { + xchat_printf(ph, "Lua plugin: error registering script %s", + lua_tostring(L, -1)); + lua_pop(L, 1); + free(st); + free(buf); + return XCHAT_EAT_ALL; + } + + name = lua_tostring(L, -3); + desc = lua_tostring(L, -2); + vers = lua_tostring(L, -1); + lua_pop(L, 4); /* func + 3 ret value */ + state->gui = xchat_plugingui_add(ph, state->file, + name, desc, vers, NULL + ); + + lua_pushstring(L, "xchat_init"); + lua_gettable(L, LUA_GLOBALSINDEX); + if (lua_type(L, -1) != LUA_TFUNCTION) + lua_pop(L, 1); + else { + if (lua_pcall(L, 0, 0, 0)) { + xchat_printf(ph, + "Lua plugin: error calling xchat_init() %s", + lua_tostring(L, -1)); + lua_pop(L, 1); + } + } + free(st); + free(buf); + return XCHAT_EAT_ALL; + } + state = state->next; + } + } + free(st); + free(buf); + return XCHAT_EAT_NONE; +} + +static int lxc_cb_unload(char *word[], char *word_eol[], void *userdata) +{ + int len; + struct lxc_States *state; + struct lxc_States *prev = NULL; + char *file; + + if (word_eol[2][0] == 0) + return XCHAT_EAT_NONE; + + len = strlen(word[2]); + if (len > 4 && strcasecmp(".lua", word[2] + len - 4) == 0) { + state = lxc_states; + while (state) { + /* + * state->file is the full or relative path, always with a '/' inside, + * even if loaded via '/LOAD script.lua'. So strrchr() will never + * be NULL. + * ... we just inspect the script name w/o path to see if it's the + * right one to unload + */ + file = strrchr(state->file, '/') + 1; + if ((strcmp(state->file, word[2]) == 0) + || (strcasecmp(file, word[2]) == 0)) { + lxc_unload_script(state); + if (prev) + prev->next = state->next; + else + lxc_states = state->next; + xchat_printf(ph, "Lua script %s unloaded", file); + free(state); + return XCHAT_EAT_ALL; + } + prev = state; + state = state->next; + } + } + return XCHAT_EAT_NONE; +} + +static int lxc_cb_lua(char *word[], char *word_eol[], void *userdata) +{ + lua_State *L = lxc_new_state(); + if (word[2][0] == '\0') { + xchat_printf(ph, "LUA: Usage: /LUA LUA_CODE... execute LUA_CODE"); + return XCHAT_EAT_ALL; + } + if (luaL_loadbuffer(L, word_eol[2], strlen(word_eol[2]), "/LUA")) { + xchat_printf(ph, "LUA: error loading line %s", lua_tostring(L, -1)); + lua_pop(L, 1); + } + +#define LXC_HOOK_DISABLE "xchat.hook_command = nil\n" \ + "xchat.hook_server = nil\n" \ + "xchat.hook_print = nil\n" \ + "xchat.hook_timer = nil\n" + +#if defined(LUA_VERSION_NUM) && (LUA_VERSION_NUM >= 501) + (void)luaL_dostring(L, LXC_HOOK_DISABLE); +#else + lua_dostring(L, LXC_HOOK_DISABLE); +#endif + + if (lua_pcall(L, 0, 0, 0)) { + xchat_printf(ph, "LUA: error executing line %s", lua_tostring(L, -1)); + lua_pop(L, 1); + } + + lua_close(L); + return XCHAT_EAT_ALL; +} + +int xchat_plugin_init(xchat_plugin *plugin_handle, + char **plugin_name, + char **plugin_desc, + char **plugin_version, + char *arg) +{ + struct lxc_States *state; + lua_State *L; + const char *xdir; + const char *name, *desc, *vers; + /* we need to save this for use with any xchat_* functions */ + ph = plugin_handle; + + /* tell xchat our info */ + *plugin_name = LXC_NAME; + *plugin_desc = LXC_DESC; + *plugin_version = LXC_VERSION; + + xchat_hook_command(ph, "LOAD", XCHAT_PRI_NORM, lxc_cb_load, NULL, NULL); + xchat_hook_command(ph, "UNLOAD", XCHAT_PRI_NORM, lxc_cb_unload, NULL, NULL); + xchat_hook_command(ph, "LUA", XCHAT_PRI_NORM, lxc_cb_lua, "Usage: LUA <code>, executes <code> in a new lua state", NULL); + + xdir = xchat_get_info(ph, "xchatdirfs"); + if (!xdir) /* xchatdirfs is new for 2.0.9, will fail on older */ + xdir = xchat_get_info (ph, "xchatdir"); + + lxc_autoload_from_path(xdir); + + if (!lxc_states) /* no scripts loaded */ + return 1; + + state = lxc_states; + while (state) { + L = state->state; + lua_pushstring(L, "xchat_register"); + lua_gettable(L, LUA_GLOBALSINDEX); + if (lua_pcall(L, 0, 3, 0)) { + xchat_printf(ph, "Lua plugin: error registering script %s", + lua_tostring(L, -1)); + lua_pop(L, 1); + state = state->next; + continue; + } + + name = lua_tostring(L, -3); + desc = lua_tostring(L, -2); + vers = lua_tostring(L, -1); + lua_pop(L, 4); /* func + 3 ret value */ + state->gui = xchat_plugingui_add(ph, state->file, name, desc, vers, NULL); + + lua_pushstring(L, "xchat_init"); + lua_gettable(L, LUA_GLOBALSINDEX); + if (lua_type(L, -1) != LUA_TFUNCTION) + lua_pop(L, 1); + else { + if (lua_pcall(L, 0, 0, 0)) { + xchat_printf(ph, "Lua plugin: error calling xchat_init() %s", + lua_tostring(L, -1)); + lua_pop(L, 1); + } + } + state = state->next; + } + xchat_printf(ph, "Lua interface (v%s) loaded", LXC_VERSION); + return 1; +} + +int xchat_plugin_deinit(xchat_plugin *plug_handle) +{ + struct lxc_States *state, *st; + + state = lxc_states; + while (state) { + lxc_unload_script(state); + xchat_printf(ph, "Lua script %s unloaded", state->file); + st = state; + state = state->next; + free(st); + } + xchat_printf(plug_handle, "Lua plugin v%s removed", LXC_VERSION); + return 1; +} + +/* + * lua: func_name(word, word_eol, data) + * desc: your previously hooked callback function for hook_command() and + * hook_server(), you must return one of the xchat.EAT_* constants + * ret: none + * args: + * * word (table): the incoming line split into words (max 32) + * * word_eol (table): + * for both see + * http://xchat.org/docs/plugin20.html#word + * * data (table): the data table you passed to the hook_command() / + * hook_server() as 5th arg + */ +static int lxc_run_hook(char *word[], char *word_eol[], void *data) +{ + struct lxc_cbdata *cb = data; + lua_State *L = cb->state; + struct lxc_userdata *ud = cb->data; + struct lxc_userdata *u; + int i; + lua_pushstring(L, cb->func); + lua_gettable(L, LUA_GLOBALSINDEX); + + strcpy(lxc_event_name, word[0]); + lua_newtable(L); + for (i=1; i<=31 && word[i][0]; i++) { + lua_pushnumber(L, i); + lua_pushstring(L, word[i]); + lua_settable(L, -3); + } + + lua_newtable(L); + for (i=1; i<=31 && word_eol[i][0]; i++) { + lua_pushnumber(L, i); + lua_pushstring(L, word_eol[i]); + lua_settable(L, -3); + } + + lua_newtable(L); + u = ud; + while (u) { + lua_pushnumber(L, u->idx); + switch (u->type) { + case LUA_TSTRING: + lua_pushstring(L, u->string); + break; + case LUA_TNUMBER: + lua_pushnumber(L, u->num); + break; + case LUA_TBOOLEAN: + lua_pushboolean(L, (((int)u->num == 0) ? 0 : 1)); + break; + default: /* LUA_TNIL or others */ + lua_pushnil(L); + break; + } + lua_settable(L, -3); + u = u->next; + } + + if (lua_pcall(L, 3, 1, 0)) { + xchat_printf(ph, "failed to call callback for '%s': %s", + word[1], lua_tostring(L, -1) + ); + lua_pop(L, 1); + return XCHAT_EAT_NONE; + } + + if (lua_type(L, -1) != LUA_TNUMBER) { + xchat_printf(ph, "callback for '%s' did not return number...", word[1]); + return XCHAT_EAT_NONE; + } + + i = (int)lua_tonumber(L, -1); + lua_pop(L, 1); + return i; +} + +static int lxc_get_userdata(int pos, struct lxc_cbdata *cb) +{ + struct lxc_userdata *ud, *u; + lua_State *L = cb->state; + int i, t; + + t = lua_type(L, pos); + if (t == LUA_TNIL) + return 1; + if (t != LUA_TTABLE) + return 0; + + i = 1; + while (1) { + lua_pushnumber(L, i); + lua_gettable(L, -2); + + t = lua_type(L, -1); + if (t == LUA_TNIL) { + lua_pop(L, 1); + break; + } + + ud = malloc(sizeof(struct lxc_userdata)); + if (!ud) { + xchat_printf(ph, "lxc_get_userdata(): failed to malloc: %s", + strerror(errno)); + if (cb->data != NULL) { + ud = cb->data; + while (ud) { + u = ud; + ud = ud->next; + free(u); + } + } + /* free(cb); NO! */ + lua_pushnil(L); + return 0; + } + ud->idx = i; + ud->next = NULL; + switch (t) { + case LUA_TSTRING: + ud->string = lua_tostring(L, -1); + ud->type = LUA_TSTRING; + break; + case LUA_TNUMBER: + ud->num = lua_tonumber(L, -1); + ud->type = LUA_TNUMBER; + break; + case LUA_TBOOLEAN: + ud->num = (double)lua_toboolean(L, -1); + ud->type = LUA_TBOOLEAN; + break; + default: + ud->type = LUA_TNIL; + break; + } + lua_pop(L, 1); + + if (cb->data == NULL) + cb->data = ud; + else { + u = cb->data; + while (u->next) + u = u->next; + u->next = ud; + } + i++; + } /* END while (1) */ + return 1; +} + +/* + * lua: xchat.hook_command(name, func_name, prio, help_str, data) + * desc: Adds a new /command. This allows your program to handle commands + * entered at the input box. To capture text without a "/" at the start + * (non-commands), you may hook a special name of "". i.e + * xchat.hook_command( "", ...) + * Starting from version 2.6.8, commands hooked that begin with a + * period ('.') will be hidden in /HELP and /HELP -l. + * ret: true... or false if something went wrong while registering hook + * args: + * * name (string): the name of the new command + * * func_name (string): the lua function to be called when command is + * entered + * * prio (number): use one of the xchat.PRIO_* + * * help_str (string): help for the new command... use nil for no help + * * data (table): table with strings, numbers and booleans, which will + * be passed to func_name as last argument. + */ +static int lxc_hook_command(lua_State *L) +{ + xchat_hook *hook; + const char *help, *command, *func; + double prio; + struct lxc_hooks *hooks, *h; + struct lxc_States *st; + struct lxc_cbdata *cb; + + + if (lua_gettop(L) < 5) /* expand to five args if necessary */ + lua_settop(L, 5); + + cb = malloc(sizeof(struct lxc_cbdata)); + if (!cb) { + xchat_printf(ph, "lxc_hook_command(): failed to malloc: %s", + strerror(errno)); + lua_pushboolean(L, 0); + return 1; + } + + cb->state = L; + cb->data = NULL; + + command = luaL_checkstring(L, 1); + func = luaL_checkstring(L, 2); + cb->func = func; + cb->hook = NULL; + + if (lua_type(L, 3) == LUA_TNIL) + prio = XCHAT_PRI_NORM; + else + prio = luaL_checknumber(L, 3); + + if (lua_type(L, 4) == LUA_TSTRING) { + help = luaL_checkstring(L, 4); + if (strlen(help) == 0) + help = NULL; + } + else + help = NULL; + + if (lxc_get_userdata(5, cb) == 0) + lua_pushboolean(L, 0); + else { + h = malloc(sizeof(struct lxc_hooks)); + if (!h) { + xchat_printf(ph, "lxc_hook_command(): failed to malloc: %s", + strerror(errno)); + lua_pushboolean(L, 0); + return 1; + } + hook = xchat_hook_command(ph, command, prio, lxc_run_hook, help, cb); + h->hook = hook; + h->name = command; + h->next = NULL; + st = lxc_states; + while (st) { + if (st->state == L) { + if (!st->hooks) + st->hooks = h; + else { + hooks = st->hooks; + while (hooks->next) + hooks = hooks->next; + hooks->next = h; + } + break; + } + st = st->next; + } + lua_pushboolean(L, 1); + } + return 1; +} + +/* + * lua: func_name(word, data) + * desc: your previously hooked callback function for hook_print(), + * you must return one of the xchat.EAT_* constants + * ret: none + * args: + * * word (table): the incoming line split into words (max 32) + * (see http://xchat.org/docs/plugin20.html#word) + * * data (table): the data table you passed to the hook_print() / + * as 4th arg + */ +static int lxc_run_print(char *word[], void *data) +{ + struct lxc_cbdata *cb = data; + lua_State *L = cb->state; + int i; + + lua_pushstring(L, cb->func); + lua_gettable(L, LUA_GLOBALSINDEX); + + strcpy(lxc_event_name, word[0]); + lua_newtable(L); + for (i=1; i<=31 && word[i][0]; i++) { + lua_pushnumber(L, i); + lua_pushstring(L, word[i]); + lua_settable(L, -3); + } + + if (lua_pcall(L, 1, 1, 0)) { + xchat_printf(ph, "failed to call callback for '%s': %s", + word[1], lua_tostring(L, -1)); + lua_pop(L, 1); + return 0; + } + + if (lua_type(L, -1) != LUA_TNUMBER) { + xchat_printf(ph, "callback for '%s' didn't return number...", word[1]); + return XCHAT_EAT_NONE; + } + i = (int)lua_tonumber(L, -1); + lua_pop(L, 1); + return i; +} + +/* + * lua: xchat.hook_print(name, func_name, prio, data) + * desc: Registers a function to trap any print events. The event names may + * be any available in the "Advanced > Text Events" window. There are + * also some extra "special" events you may hook using this function, + * see: http://xchat.org/docs/plugin20.html#xchat_hook_print + * ret: true... or false if something went wrong while registering hook + * args: + * * name (string): the name of the new command + * * prio (number): use one of the xchat.PRIO_* + * * func_name (string): the lua function to be called when command is + * entered + * * data (table): table with strings, numbers and booleans, which will + * be passed to func_name as last argument. + */ +static int lxc_hook_print(lua_State *L) +{ + xchat_hook *hook; + struct lxc_hooks *hooks, *h; + struct lxc_States *st; + struct lxc_cbdata *cb = malloc(sizeof(struct lxc_cbdata)); + const char *name, *func; + double prio; + + if (!cb) { + luaL_error(L, "lxc_hook_print(): failed to malloc: %s", strerror(errno)); + return 0; + } + + if (lua_gettop(L) < 4) /* expand to 4 args if necessary */ + lua_settop(L, 4); + + name = luaL_checkstring(L, 1); + func = luaL_checkstring(L, 2); + if (lua_type(L, 3) == LUA_TNIL) + prio = XCHAT_PRI_NORM; + else + prio = luaL_checknumber(L, 3); + + cb->state = L; + cb->func = func; + cb->data = NULL; + cb->hook = NULL; + + if (lxc_get_userdata(4, cb) == 0) + lua_pushboolean(L, 0); + else { + h = malloc(sizeof(struct lxc_hooks)); + if (!h) { + xchat_printf(ph, "lxc_hook_print(): failed to malloc: %s", + strerror(errno)); + lua_pushboolean(L, 0); + return 1; + } + hook = xchat_hook_print(ph, name, prio, lxc_run_print, cb); + h->hook = hook; + h->name = name; + h->next = NULL; + st = lxc_states; + while (st) { + if (st->state == L) { + if (!st->hooks) + st->hooks = h; + else { + hooks = st->hooks; + while (hooks->next) + hooks = hooks->next; + hooks->next = h; + } + break; + } + st = st->next; + } + lua_pushboolean(L, 1); + } + return 1; +} + +/* + * lua: xchat.hook_server(name, func_name, prio, data) + * desc: Registers a function to be called when a certain server event + * occurs. You can use this to trap PRIVMSG, NOTICE, PART, a server + * numeric etc... If you want to hook every line that comes from the + * IRC server, you may use the special name of "RAW LINE". + * ret: true... or false if something went wrong while registering + * args: + * * name (string): the event name / numeric (yes, also as a string) + * * prio (number): one of the xchat.PRIO_* constants + * * func_name (string): the function to be called, when the event + * happens + * * data (table)... see xchat.hook_command() + */ +static int lxc_hook_server(lua_State *L) +{ + xchat_hook *hook; + struct lxc_hooks *hooks, *h; + struct lxc_States *st; + const char *name, *func; + double prio; + + struct lxc_cbdata *cb = malloc(sizeof(struct lxc_cbdata)); + if (!cb) { + xchat_printf(ph, "lxc_hook_server(): failed to malloc: %s", + strerror(errno)); + lua_pushnil(L); + return 1; + } + + if (lua_gettop(L) < 4) /* expand to 4 args if necessary */ + lua_settop(L, 4); + + name = luaL_checkstring(L, 1); + func = luaL_checkstring(L, 2); + if (lua_type(L, 3) == LUA_TNIL) + prio = XCHAT_PRI_NORM; + else + prio = luaL_checknumber(L, 3); + + cb->state = L; + cb->func = func; + cb->data = NULL; + cb->hook = NULL; + + if (lxc_get_userdata(4, cb) == 0) + lua_pushboolean(L, 0); + else { + h = malloc(sizeof(struct lxc_hooks)); + if (!h) { + xchat_printf(ph, "lxc_hook_server(): failed to malloc: %s", + strerror(errno)); + lua_pushboolean(L, 0); + return 1; + } + hook = xchat_hook_server(ph, name, prio, lxc_run_hook, cb); + h->hook = hook; + h->name = name; + h->next = NULL; + st = lxc_states; + while (st) { + if (st->state == L) { + if (!st->hooks) + st->hooks = h; + else { + hooks = st->hooks; + while (hooks->next) + hooks = hooks->next; + hooks->next = h; + } + break; + } + st = st->next; + } + lua_pushboolean(L, 1); + } + return 1; +} + +/* + * lua: xchat.hook_timer(timeout, func_name, data) + * desc: Registers a function to be called every "timeout" milliseconds. + * ret: true (or false on error while registering) + * args: + * * timeout (number): Timeout in milliseconds (1000 is 1 second). + * * func_name (string): Callback function. This will be called + * every "timeout" milliseconds. + * * data (table): see xchat.hook_command() + */ + +static unsigned long long lxc_timer_count = 0; + +static int lxc_hook_timer(lua_State *L) +{ + xchat_hook *hook; + struct lxc_hooks *hooks, *h; + struct lxc_States *st; + double timeout; + const char *func; + char name[32]; + + struct lxc_cbdata *cb = malloc(sizeof(struct lxc_cbdata)); + if (!cb) { + luaL_error(L, "lxc_hook_timer(): failed to malloc: %s", strerror(errno)); + lua_pushnil(L); + return 1; + } + + if (lua_gettop(L) < 3) /* expand to 3 args if necessary */ + lua_settop(L, 3); + + timeout = luaL_checknumber(L, 1); + func = luaL_checkstring(L, 2); + + cb->state = L; + cb->func = func; + cb->data = NULL; + + if (lxc_get_userdata(3, cb) == 0) + lua_pushnil(L); + else { + h = malloc(sizeof(struct lxc_hooks)); + if (!h) { + luaL_error(L, "lxc_hook_timer(): failed to malloc: %s", + strerror(errno)); + return 0; + } + hook = xchat_hook_timer(ph, timeout, lxc_run_timer, cb); + cb->hook = hook; + h->hook = hook; + h->next = NULL; + snprintf(name, 31, "timer%llu", lxc_timer_count++); + h->name = name; + lua_pushstring(L, name); + + st = lxc_states; + while (st) { + if (st->state == L) { + if (!st->hooks) + st->hooks = h; + else { + hooks = st->hooks; + while (hooks->next) + hooks = hooks->next; + hooks->next = h; + } + break; + } + st = st->next; + } + } + return 1; +} + +static void lxc_unhook_timer(lua_State *L, xchat_hook *hook) +{ + struct lxc_States *state; + struct lxc_hooks *hooks, *h, *prev_hook; + struct lxc_cbdata *cb; + struct lxc_userdata *ud, *u; + + prev_hook = NULL; + state = lxc_states; + while (state) { + if (state->state == L) { + hooks = state->hooks; + while (hooks) { + if (hooks->hook == hook) { + h = hooks; + if (prev_hook) + prev_hook->next = hooks->next; + else + state->hooks = hooks->next; + + cb = xchat_unhook(ph, h->hook); + if (cb) { + ud = cb->data; + while (ud) { + u = ud; + ud = ud->next; + free(u); + } + free(cb); + } + + free(h); + return; + } + prev_hook = hooks; + hooks = hooks->next; + } + break; + } + state = state->next; + } +} + +/* + * lua: func_name(data) + * desc: the callback function for the registered timer hook, return + * true to keep this timer going, false to stop it + * ret: none + * args: + * * data (table): the table you gave the hook_timer() as last + * argument + */ + static int lxc_run_timer(void *data) +{ + int ret; + struct lxc_cbdata *cb = data; + xchat_hook *hook = cb->hook; + lua_State *L = cb->state; + + lua_pushstring(L, cb->func); + lua_gettable(L, LUA_GLOBALSINDEX); + + if (lua_pcall(L, 0, 1, 0)) { + xchat_printf(ph, "failed to call timer callback for '%s': %s", + cb->func, lua_tostring(L, -1)); + lua_pop(L, 1); + lxc_unhook_timer(L, hook); + return 0; + } + + if (lua_type(L, -1) != LUA_TBOOLEAN) { + xchat_printf(ph, + "timer callback for '%s' didn't return a boolean", cb->func); + lua_pop(L, 1); + lxc_unhook_timer(L, hook); + return 0; + } + + ret = (lua_toboolean(L, -1) == 0) ? 0 : 1; + lua_pop(L, 1); + + if (ret == 0) + lxc_unhook_timer(L, hook); + + return ret; +} + +/* + * lua: xchat.unhook(name) + * desc: unhooks a previously hooked hook + * ret: true if the hook existed, else false.. + * args: + * * name (string): name of a registered hook (e.g. with + * xchat.hook_command("whois", ... ) you would unhook "whois" + * ... see timer warnings... there's currently just one "timer" + * to unhook + */ +static int lxc_unhook(lua_State *L) +{ + struct lxc_States *state; + struct lxc_hooks *hooks, *h, *prev_hook; + struct lxc_cbdata *cb; + struct lxc_userdata *ud, *u; + int done = 0; + const char *name = luaL_checkstring(L, 1); + + prev_hook = NULL; + state = lxc_states; + while (state) { + if (state->state == L) { + hooks = state->hooks; + while (hooks) { + if (strcasecmp(hooks->name, name) == 0) { + h = hooks; + if (prev_hook) + prev_hook->next = hooks->next; + else + state->hooks = hooks->next; + + cb = xchat_unhook(ph, h->hook); + if (cb) { + ud = cb->data; + while (ud) { + u = ud; + ud = ud->next; + free(u); + } + free(cb); + } + + free(h); + done = 1; + break; + } + prev_hook = hooks; + hooks = hooks->next; + } + break; + } + state = state->next; + } + lua_pushboolean(L, done); + return 1; +} + +static int lxc_event(lua_State *L) +{ + lua_pushstring(L, lxc_event_name); + return 1; +} + +/* + * lua: xchat.command(command) + * desc: executes a command as if it were typed in xchat's input box. + * ret: none + * args: + * * command (string): command to execute, without the forward slash "/". + */ +static int lxc_command(lua_State *L) +{ + const char *command = luaL_checkstring(L, 1); + xchat_command(ph, command); + return 0; +} + +/* + * lua: xchat.print(text) + * desc: Prints some text to the current tab/window. + * ret: none + * args: + * * text (string): the text to print + */ +static int lxc_print(lua_State *L) +{ + const char *txt = luaL_checkstring(L, 1); + // FIXME? const char *txt = lua_tostring(L, 1); + xchat_print(ph, txt); + return 0; +} + +/* + * lua: xchat.emit_print(event, text, [text2, ...]) + * desc: Generates a print event. This can be any event found in the + * Preferences > Advanced > Text Events window. The vararg parameter + * list MUST be no longer than four (4) parameters. + * Special care should be taken when calling this function inside a + * print callback (from xchat.hook_print()), as not to cause endless + * recursion. + * ret: true on success, false on error + * args: + * * event (string): the event name from the references > Advanced > + * Text Events window + * * text (string) + * text2 (string) + * ... (string(s)): + * parameters for the given event + */ +static int lxc_emit_print(lua_State *L) +{ + + int n = lua_gettop(L); + const char *text[5]; + const char *event; + int i = 2; + + if (n > 6) + luaL_error(L, "too many arguments to xchat.emit_print()"); + + event = luaL_checkstring(L, 1); + while (i <= n) { + text[i-2] = luaL_checkstring(L, i); + i++; + } + switch (n-1) { + case 0: + i = xchat_emit_print(ph, event, NULL); + break; + case 1: + i = xchat_emit_print(ph, event, text[0], NULL); + break; + case 2: + i = xchat_emit_print(ph, event, text[0], text[1], NULL); + break; + case 3: + i = xchat_emit_print(ph, event, text[0], text[1], text[2], NULL); + break; + case 4: + i = xchat_emit_print(ph, event, text[0], text[1], text[2], text[3], NULL); + break; + } + lua_pushboolean(L, (i == 0) ? 0 : 1); + return 1; +} + +/* + * lua: xchat.send_modes(targets, sign, mode [, modes_per_line]) + * desc: Sends a number of channel mode changes to the current channel. + * For example, you can Op a whole group of people in one go. It may + * send multiple MODE lines if the request doesn't fit on one. Pass 0 + * for modes_per_line to use the current server's maximum possible. + * This function should only be called while in a channel context. + * ret: none + * args: + * * targets (table): list of names + * * sign (string): mode sign, i.e. "+" or "-", only the first char of + * this is used (currently unchecked if it's really "+" or "-") + * * mode (string): mode char, i.e. "o" for opping, only the first + * char of this is used (currently unchecked, what char) + * * modes_per_line (number): [optional] number of modes per line + */ +static int lxc_send_modes(lua_State *L) +{ + int i = 1; + const char *name, *mode, *sign; + const char *targets[4096]; + int num = 0; /* modes per line */ + + if (!lua_istable(L, 1)) { + luaL_error(L, + "xchat.send_modes(): first argument is not a table: %s", + lua_typename(L, lua_type(L, 1))); + return 0; + } + + while (1) { + lua_pushnumber(L, i); /* push index on stack */ + lua_gettable(L, 1); /* and get the element @ index */ + if (lua_isnil(L, -1)) { /* end of table */ + lua_pop(L, 1); + break; + } + + if (lua_type(L, -1) != LUA_TSTRING) { /* oops, something wrong */ + luaL_error(L, + "lua: xchat.send_modes(): table element #%d not a string: %s", + i, lua_typename(L, lua_type(L, -1))); + lua_pop(L, 1); + return 0; + } + + name = lua_tostring(L, -1); + if (name == NULL) { /* this should not happen, but... */ + lua_pop(L, 1); + break; + } + + targets[i-1] = name; + lua_pop(L, 1); /* take index from stack */ + ++i; + } + + sign = luaL_checkstring(L, 2); + if (sign[0] == '\0' || sign[1] != '\0') { + luaL_error(L, "argument #2 (mode sign) does not have length 1"); + return 0; + } + if ((sign[0] != '+') && (sign[0] != '-')) { + luaL_error(L, "argument #2 (mode sign) is not '+' or '-'"); + return 0; + } + + mode = luaL_checkstring(L, 3); + if (mode[0] == '\0' || mode[1] != '\0') { + luaL_error(L, "argument #3 (mode char) does not have length 1"); + return 0; + } + if (!isalpha((int)mode[0]) || !isascii((int)mode[0])) { + luaL_error(L, "argument #3 is not a valid mode character"); + return 0; + } + + if (lua_gettop(L) == 4) + num = luaL_checknumber(L, 4); + + xchat_send_modes(ph, targets, i-1, num, sign[0], mode[0]); + return 0; +} + +/* + * lua: xchat.find_context(srv, chan) + * desc: Finds a context based on a channel and servername. If servname is nil, + * it finds any channel (or query) by the given name. If channel is nil, + * it finds the front-most tab/window of the given servname. If nil is + * given for both arguments, the currently focused tab/window will be + * returned. + * Changed in 2.6.1. If servname is nil, it finds the channel (or query) + * by the given name in the same server group as the current context. + * If that doesn't exists then find any by the given name. + * ret: context number (DON'T modify) + * args: + * * srv (string or nil): server name + * * chan (string or nil): channel / query name + */ +static int lxc_find_context(lua_State *L) +{ + const char *srv, *chan; + long ctx; + xchat_context *ptr; + + if (lua_type(L, 1) == LUA_TSTRING) { + srv = lua_tostring(L, 1); + if (srv[0] == '\0') + srv = NULL; + } + else + srv = NULL; + + if (lua_type(L, 2) == LUA_TSTRING) { + chan = lua_tostring(L, 2); + if (chan[0] == '\0') + chan = NULL; + } + else + chan = NULL; + + ptr = xchat_find_context(ph, srv, chan); + ctx = (long)ptr; +#ifdef DEBUG + fprintf(stderr, "find_context(): %#lx\n", (long)ptr); +#endif + lua_pushnumber(L, (double)ctx); + return 1; +} + +/* + * lua: xchat.get_context() + * desc: Returns the current context for your plugin. You can use this later + * with xchat_set_context. + * ret: context number ... DON'T modifiy + * args: none + */ +static int lxc_get_context(lua_State *L) +{ + long ptr; + xchat_context *ctx = xchat_get_context(ph); + ptr = (long)ctx; +#ifdef DEBUG + fprintf(stderr, "get_context(): %#lx\n", ptr); +#endif + lua_pushnumber(L, (double)ptr); + return 1; +} + +/* + * lua: xchat.get_info(id) + * desc: Returns information based on your current context. + * ret: the requested string or nil on error + * args: + * * id (string): the wanted information + */ +static int lxc_get_info(lua_State *L) +{ + const char *id = luaL_checkstring(L, 1); + const char *value = xchat_get_info(ph, id); + if (value == NULL) + lua_pushnil(L); + else + lua_pushstring(L, value); + return 1; +} + +/* + * lua: xchat.get_prefs(name) + * desc: Provides xchat's setting information (that which is available + * through the /set command). A few extra bits of information are + * available that don't appear in the /set list, currently they are: + * * state_cursor: Current input-box cursor position (characters, + * not bytes). Since 2.4.2. + * *id: Unique server id. Since 2.6.1. + * ret: returns the string/number/boolean for the given config var + * or nil on error + * args: + * * name (string): the wanted setting's name + */ +static int lxc_get_prefs(lua_State *L) +{ + int i; + const char *str; + const char *name = luaL_checkstring(L, 1); + /* + * luckily we can store anything in a lua var... this makes the + * xchat lua api more user friendly ;-) + */ + switch (xchat_get_prefs(ph, name, &str, &i)) { + case 0: /* request failed */ + lua_pushnil(L); + break; + case 1: + lua_pushstring(L, str); + break; + case 2: + lua_pushnumber(L, (double)i); + break; + case 3: + lua_pushboolean(L, i); + break; + default: /* doesn't happen if xchat's C-API doesn't change ;-) */ + lua_pushnil(L); + break; + } + return 1; +} + +/* + * lua: xchat.set_context(ctx) + * desc: Changes your current context to the one given. + * ret: true or false + * args: + * * ctx (number): the context (e.g. from xchat.get_context()) + */ +static int lxc_set_context(lua_State *L) +{ + double ctx = luaL_checknumber(L, 1); +#ifdef DEBUG + fprintf(stderr, "set_context(): %#lx\n", (long)ctx); +#endif + xchat_context *xc = (void *)(long)ctx; + lua_pushboolean(L, xchat_set_context(ph, xc)); + return 1; +} + +/* + * lua: xchat.nickcmp(name1, name2) + * desc: Performs a nick name comparision, based on the current server + * connection. This might be a RFC1459 compliant string compare, or + * plain ascii (in the case of DALNet). Use this to compare channels + * and nicknames. The function works the same way as strcasecmp. + * ret: number ess than, equal to, or greater than zero if name1 is found, + * respectively, to be less than, to match, or be greater than name2. + * args: + * * name1 (string): nick or channel name + * * name2 (string): nick or channel name + */ +static int lxc_nickcmp(lua_State *L) +{ + const char *n1 = luaL_checkstring(L, 1); + const char *n2 = luaL_checkstring(L, 2); + lua_pushnumber(L, (double)xchat_nickcmp(ph, n1, n2)); + return 1; +} + +/* + * lua: xchat.list_get(name) + * desc: http://xchat.org/docs/plugin20.html#lists :) + * time_t values are stored as number => e.g. + * os.date("%Y-%m-%d, %H:%M:%S", time_t_value) + * pointers (channel -> context) as number... untested if this works + * ret: table with tables with all keys=Name, value=(Type)... or nil on error + * args: + * * name (string): the wanted list + */ +static int lxc_list_get(lua_State *L) +{ + const char *name = luaL_checkstring(L, 1); + int i; /* item index */ + int l; /* list index */ + const char *str; + double num; + time_t date; + long ptr; + const char *const *fields = xchat_list_fields(ph, name); + xchat_list *list = xchat_list_get(ph, name); + + if (!list) { + lua_pushnil(L); + return 1; + } + lua_newtable(L); + /* this is like the perl plugin does it ;-) */ + l = 1; + while (xchat_list_next(ph, list)) { + i = 0; + lua_pushnumber(L, l); + lua_newtable(L); + while (fields[i] != NULL) { + switch (fields[i][0]) { + case 's': + str = xchat_list_str(ph, list, fields [i] + 1); + lua_pushstring(L, fields[i]+1); + if (str != NULL) + lua_pushstring(L, str); + else + lua_pushnil(L); + lua_settable(L, -3); + break; + case 'p': + ptr = (long)xchat_list_str(ph, list, fields [i] + 1); + num = (double)ptr; + lua_pushstring(L, fields[i]+1); + lua_pushnumber(L, num); + lua_settable(L, -3); + break; + case 'i': + num = (double)xchat_list_int(ph, list, fields[i] + 1); + lua_pushstring(L, fields[i]+1); + lua_pushnumber(L, num); + lua_settable(L, -3); + break; + case 't': + date = xchat_list_time(ph, list, fields[i] + 1); + lua_pushstring(L, fields[i]+1); + lua_pushnumber(L, (double)date); + lua_settable(L, -3); + break; + } + i++; + } + lua_settable(L, -3); + l++; + } + xchat_list_free(ph, list); + return 1; +} + +/* + * lua: xchat.list_fields(name) + * desc: returns the possible keys for name as table + * ret: table ;-> + * args: + * * name (string): name of the wanted list ("channels", "dcc", + * "ignore", "notify", "users") + */ +static int lxc_list_fields(lua_State *L) +{ + const char *name = luaL_checkstring(L, 1); + const char *const *fields = xchat_list_fields(ph, name); + int i; + + lua_newtable(L); + i = 0; + while (fields[i] != NULL) { + lua_pushnumber(L, i); + /* first char is the type ... */ + lua_pushstring(L, fields[i]+1); + lua_settable(L, -3); + } + return 1; +} + +/* + * lua: xchat.gettext(str) + * desc: + */ +static int lxc_gettext(lua_State *L) +{ +#if defined(_WIN32) || defined(LXC_XCHAT_GETTEXT) + lua_pushstring(L, xchat_gettext(ph, luaL_checkstring(L, 1))); +#else + const char *dom; + const char *msgid = luaL_checkstring(L, 1); + if (lua_type(L,2) == LUA_TSTRING) + dom = lua_tostring(L, 2); + else + dom = "xchat"; + lua_pushstring(L, dgettext(dom, msgid)); +#endif + return 1; +} + +/* + * lua: xchat.bits(flags) + * desc: returns a table of booleans if the bit at index (err... index-1) is + * set + * ret: table of booleans + * args: + * * flags (number) + */ +static int lxc_bits(lua_State *L) +{ + int flags = luaL_checknumber(L, 1); + int i; + lua_pop(L, 1); + lua_newtable(L); + for (i=0; i<16; i++) { /* at time of writing, the highest index was 9 ... */ + lua_pushnumber(L, i+1); + lua_pushboolean(L, ((1<<i) & flags) == 0 ? 0 : 1); + lua_settable(L, -3); + } + return 1; +} +/* + * vim: ts=3 noexpandtab + */ diff --git a/plugins/lua/makefile.mak b/plugins/lua/makefile.mak new file mode 100644 index 00000000..97a7e10b --- /dev/null +++ b/plugins/lua/makefile.mak @@ -0,0 +1,20 @@ +include "..\..\src\makeinc.mak" + +DIRENTLIB = ..\..\src\common\dirent-win32.lib + +all: lua.obj lua.def + link $(LDFLAGS) $(LIBS) /dll /out:xclua.dll $(LUALIB).lib $(DIRENTLIB) /def:lua.def lua.obj + +lua.def: + echo EXPORTS > lua.def + echo xchat_plugin_init >> lua.def + echo xchat_plugin_deinit >> lua.def + +lua.obj: lua.c makefile.mak + cl $(CFLAGS) /I.. /Dsnprintf=g_snprintf lua.c + +clean: + del *.obj + del *.dll + del *.exp + del *.lib diff --git a/plugins/makefile.mak b/plugins/makefile.mak new file mode 100644 index 00000000..19b3cb75 --- /dev/null +++ b/plugins/makefile.mak @@ -0,0 +1,71 @@ +all: + @cd checksum + @-$(MAKE) /nologo /s /f makefile.mak $@ + @cd ..\gtkpref + @-$(MAKE) /nologo /s /f makefile.mak $@ + @cd ..\dns + @-$(MAKE) /nologo /s /f makefile.mak $@ + @cd ..\doat + @-$(MAKE) /nologo /s /f makefile.mak $@ + @cd ..\exec + @-$(MAKE) /nologo /s /f makefile.mak $@ + @cd ..\fishlim + @-$(MAKE) /nologo /s /f makefile.mak $@ + @cd ..\lua + @-$(MAKE) /nologo /s /f makefile.mak $@ + @cd ..\mpcinfo + @-$(MAKE) /nologo /s /f makefile.mak $@ +# @cd ..\nonbmp +# @-$(MAKE) /nologo /s /f makefile.mak $@ + @cd ..\python + @-$(MAKE) /nologo /s /f makefile.mak $@ + @cd ..\tcl + @-$(MAKE) /nologo /s /f makefile.mak $@ + @cd ..\upd + @-$(MAKE) /nologo /s /f makefile.mak $@ + @cd ..\xsasl + @-$(MAKE) /nologo /s /f makefile.mak $@ + @cd ..\xtray + @-$(MAKE) /nologo /s /f makefile.mak $@ + @cd ..\winamp + @-$(MAKE) /nologo /s /f makefile.mak $@ + @cd ..\winsys + @-$(MAKE) /nologo /s /f makefile.mak $@ + @cd ..\wmpa + @-$(MAKE) /nologo /s /f makefile.mak $@ + +clean: + @cd checksum + @-$(MAKE) /nologo /s /f makefile.mak clean $@ + @cd ..\gtkpref + @-$(MAKE) /nologo /s /f makefile.mak clean $@ + @cd ..\dns + @-$(MAKE) /nologo /s /f makefile.mak clean $@ + @cd ..\doat + @-$(MAKE) /nologo /s /f makefile.mak clean $@ + @cd ..\exec + @-$(MAKE) /nologo /s /f makefile.mak clean $@ + @cd ..\fishlim + @-$(MAKE) /nologo /s /f makefile.mak clean $@ + @cd ..\lua + @-$(MAKE) /nologo /s /f makefile.mak clean $@ + @cd ..\mpcinfo + @-$(MAKE) /nologo /s /f makefile.mak clean $@ +# @cd ..\nonbmp +# @-$(MAKE) /nologo /s /f makefile.mak clean $@ + @cd ..\python + @-$(MAKE) /nologo /s /f makefile.mak clean $@ + @cd ..\tcl + @-$(MAKE) /nologo /s /f makefile.mak clean $@ + @cd ..\upd + @-$(MAKE) /nologo /s /f makefile.mak clean $@ + @cd ..\xsasl + @-$(MAKE) /nologo /s /f makefile.mak clean $@ + @cd ..\xtray + @-$(MAKE) /nologo /s /f makefile.mak clean $@ + @cd ..\winamp + @-$(MAKE) /nologo /s /f makefile.mak clean $@ + @cd ..\winsys + @-$(MAKE) /nologo /s /f makefile.mak clean $@ + @cd ..\wmpa + @-$(MAKE) /nologo /s /f makefile.mak clean $@ diff --git a/plugins/mpcinfo/functions.c b/plugins/mpcinfo/functions.c new file mode 100644 index 00000000..ed0632d4 --- /dev/null +++ b/plugins/mpcinfo/functions.c @@ -0,0 +1,167 @@ +/* + * This program 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +/* +typedef int (*MYPROC)(HWND,HWND,char*,char*,BOOL,BOOL); + +int dllProc(char *name, char *data){ + HINSTANCE hinstLib; + hinstLib = LoadLibrary("mpcinfo"); + //MYPROC proc; + int res; + if (hinstLib != NULL){ + //proc = ; + if ((MYPROC) GetProcAddress(hinstLib, name)!=NULL){ + res=(MYPROC)(NULL,NULL,data,NULL,TRUE,TRUE); + } + else{fprintf(stderr,"can't get proc: %s\n",name);res=-2;} + } + else{fprintf(stderr,"can't access dll\n");return -1;} + FreeLibrary(hinstLib); + return res; +} +*/ + +/* +int dllProc(char *name, char *data) +{ + static HMODULE lib = NULL; + if (!lib) + { + lib = LoadLibraryA ("mpcinfo"); + if (!lib) + { + return FALSE; + } + FreeLibrary (lib); + } + + return TRUE; +} +*/ + +char *split(char *text, char seperator){ + //if (DEBUG==1) putlog("splitting"); + int i;int pos=-1; + for (i=0;i<strlen(text);i++){ + if (text[i]==seperator){pos=i;i=strlen(text)+1;} + } + if (pos==-1) return text; + text[pos]=0; + return &(text[pos+1]); +} + +int endsWith(char *text, char *suffix){ + char *tmp=strstr(text,suffix); + if (tmp==NULL) return 0; + if (strlen(tmp)==strlen(suffix)) return 1; + return 0; +} + +int inStr(char *s1, int sl1, char *s2){ + //if (DEBUG==1) putlog("checking instr"); + int i;int j; + for(i=0;i<sl1-strlen(s2);i++){ + for (j=0;j<strlen(s2);j++){ + if (s1[i+j]!=s2[j]) j=strlen(s2)+2; + } + if (j==strlen(s2)) return i; + } + return -1; +} + +static char *subString(char *text, int first, int length, int spcKill){ +//if (DEBUG==1) putlog("creating substring"); + char *ret=(char*) calloc (length+1,sizeof(char)); //malloc(sizeof(char)*(length+1)); + int i; + ret[length]=0; + for (i=0;i<length;i++){ + ret[i]=text[i+first]; + //if (ret[i]==0) ret[i]='0'; + } + if (spcKill==1){ + for (i=length-1;i>=0;i--){ + if (ret[i]==32) ret[i]=0; + else i=-1; + } + } + //if (DEBUG==1) putlog("substring created"); + return ret; +} + +static char *substring(char *text, int first, int length){return subString(text,first,length,0);} + + +char *readLine(FILE *f){ + //if (DEBUG==1) putlog("reading line from file"); + char *buffer=(char*)calloc(1024,sizeof(char)); //malloc(sizeof(char)*1024); + int pos=0; + int cc=0; + while((cc!=EOF)&&(pos<1024)&&(cc!=10)){ + cc=fgetc(f); + if ((cc!=10)&&(cc!=13)){ + if (cc==EOF) buffer[pos]=0; + else buffer[pos]=(char)cc;pos++; + } + } + if (buffer[pos]==EOF) xchat_printf(ph,"EOF: %i\n",pos); + return buffer; +} + +char *toUpper(char *text){ + //if (DEBUG==1) putlog("converting text to upper case"); + char *ret=(char*) calloc(strlen(text)+1,sizeof(char)); + int i; + for (i=0;i<strlen(text);i++) ret[i]=toupper(text[i]); + ret[strlen(text)]=0; + //if (DEBUG==1) putlog("uc done"); + return ret; +} + +static char *str3cat(char *s1, char *s2, char *s3){ + //if (DEBUG==1) putlog("cating 3 strings"); + char *ret=(char*)calloc(strlen(s1)+strlen(s2)+strlen(s3)+1,sizeof(char)); + strcpy(ret,s1);strcat(ret,s2);strcat(ret,s3); + ret[strlen(s1)+strlen(s2)+strlen(s3)]=0; + //if (DEBUG==1) putlog("strings cated"); + return ret; +} + +char *replace(char *text, char *from, char *to){ + //if (DEBUG==1) putlog("replacing"); + char *ret=(char*)calloc( strlen(text)+(strlen(to)-strlen(from)),sizeof(char)); + char *left; + char *right; + int pos=inStr(text,strlen(text),from); + if (pos!=-1){ + left=substring(text,0,pos); + right=substring(text,pos+strlen(from),strlen(text)-(pos+strlen(from))); + ret=str3cat(left,to,right); + return replace(ret,from,to); + } + //if (DEBUG==1) putlog("replaced"); + return text; +} + +char *intReplaceF(char *text, char *from, int to, char *form){ + //if (DEBUG==1) putlog("replaceF"); + char *buffer=(char*) calloc(16,sizeof(char)); + sprintf(buffer,form,to); + //if (DEBUG==1) putlog("replaceF done"); + return replace(text,from,buffer); +} + +char *intReplace(char *text, char *from, int to){return intReplaceF(text,from,to,"%i");} diff --git a/plugins/mpcinfo/makefile.mak b/plugins/mpcinfo/makefile.mak new file mode 100644 index 00000000..4a8a2763 --- /dev/null +++ b/plugins/mpcinfo/makefile.mak @@ -0,0 +1,18 @@ +include "..\..\src\makeinc.mak" + +all: mpcinfo.obj mpcinfo.def + link $(LDFLAGS) $(LIBS) /dll /out:xcmpcinfo.dll /def:mpcinfo.def mpcinfo.obj + +mpcinfo.def: + echo EXPORTS > mpcinfo.def + echo xchat_plugin_init >> mpcinfo.def + echo xchat_plugin_deinit >> mpcinfo.def + +mpcinfo.obj: mpcinfo.c makefile.mak + cl $(CFLAGS) $(GLIB) /I.. mpcinfo.c + +clean: + del *.obj + del *.dll + del *.exp + del *.lib diff --git a/plugins/mpcinfo/mp3Info.c b/plugins/mpcinfo/mp3Info.c new file mode 100644 index 00000000..f75ba9c4 --- /dev/null +++ b/plugins/mpcinfo/mp3Info.c @@ -0,0 +1,361 @@ +/* + * This program 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +//#include <stdio.h> +#include <sys/stat.h> +//#include "functions.c" + +struct tagInfo{ + int mode; + int cbr; + int bitrate; + unsigned int freq; + char *artist; + char *title; + char *album; + char *comment; + char *genre; + //int genre; + //int track; +}; + +static int RATES[2][3][15]={ + {//mpeg2 + {-1,8,16,24,32,64,80,56,64,128,160,112,128,256,320},//layer3 (V2) + {-1,32,48,56,64,80,96,112,128,160,192,224,256,320,384},//layer2 (V2) + {-1,32,64,96,128,160,192,224,256,288,320,352,384,416,448},//layer1 (V2) + }, + {//mpeg1 + {-1,32,40,48,56,64,80,96,112,128,160,192,224,256,320},//layer3 (V1) + {-1,32,48,56,64,80,96,112,128,160,192,224,256,320,384},//layer2 (V1) + {-1,32,64,96,128,160,192,224,256,288,320,352,384,416,448},//layer1 (V1) + }}; +static int FREQS[2][4]={{22050,24000,16000,-1},{44100,48000,32000,-1}}; +//static double FRATES[]={38.5,32.5,27.8,0.0}; + +static char GENRES[][50]={"Blues","Classic Rock","Country","Dance","Disco","Funk","Grunge","Hip-Hop","Jazz","Metal", +"New Age","Oldies","Other","Pop","R&B","Rap","Reggae","Rock","Techno","Industrial", +"Alternative","Ska","Death Metal","Pranks","Soundtrack","Euro-Techno","Ambient","Trip-Hop","Vocal","Jazz+Funk", +"Fusion","Trance","Classical","Instrumental","Acid","House","Game","Sound Clip","Gospel","Noise", +"AlternRock","Bass","Soul","Punk","Space","Meditative","Instrumental Pop","Instrumental Rock","Ethnic","Gothic", +"Darkwave","Techno-Industrial","Electronic","Pop-Folk","Eurodance","Dream","Southern Rock","Comedy","Cult","Gangsta", +"Top 40","Christian Rap","Pop/Funk","Jungle","Native American","Cabaret","New Wave","Psychadelic","Rave","Showtunes", +"Trailer","Lo-Fi","Tribal","Acid Punk","Acid Jazz","Polka","Retro","Musical","Rock & Roll","Hard Rock", + +//################## END OF OFFICIAL ID3 TAGS, WINAMP TAGS BELOW ######################################## + +"Folk","Folk/Rock","National Folk","Swing","Fast Fusion","Bebob","Latin","Revival","Celtic","Bluegrass", +"Avantgarde","Gothic Rock","Progressive Rock","Psychedelic Rock","Symphonic Rock","Slow Rock","Big Band","Chorus","Easy Listening","Acoustic", +"Humour","Speech","Chanson","Opera","Chamber Music","Sonata","Symphony","Booty Bass","Primus","Porn Groove", +"Satire","Slow Jam","Club","Tango","Samba","Folklore","Ballad","Poweer Ballad","Rhytmic Soul","Freestyle", +"Duet","Punk Rock","Drum Solo","A Capela","Euro-House","Dance Hall", + +//################## FOUND AT http://en.wikipedia.org/wiki/ID3 ########################################### + +"Goa","Drum & Bass","Club-House","Hardcore", +"Terror","Indie","BritPop","Negerpunk","Polsk Punk","Beat","Christian Gangsta Rap","Heavy Metal","Black Metal","Crossover", +"Contemporary Christian","Christian Rock","Merengue","Salsa","Thrash Metal","Anime","JPop","Synthpop" + +}; + +static char MODES [][13]={"Stereo","Joint-Stereo","Dual-Channel","Mono"}; + +int iPow(int x, int y){return (int)(pow((double)x,(double) y));} + +int str2int(char *text){ + //if (DEBUG==1) putlog("converting string to int"); + int i; + int ret=0; + for (i=1;i<=strlen(text);i++){ + if ((text[strlen(text)-i]>57)||(text[strlen(text)-i]<48)){ + xchat_printf(ph,"invalid char in string: %i",text[strlen(text)-i]); + return 255; + } + ret+=((int)text[strlen(text)-i]-48)*iPow(10,i-1); + } + //xchat_printf(ph, "str2int(%s)=%i",text,ret); + //if (DEBUG==1) putlog("int converted"); + return ret; +} +/* +static int getSize(char *file){ + //if (DEBUG==1) putlog("reading filesize"); + struct stat info; + if (stat(file,&info)!=0) return -1; + return info.st_size; +}*/ +/* +int inStr(char *s1, int sl1, char *s2){ + //if (DEBUG==1) putlog("checking instr"); + int i;int j; + for(i=0;i<sl1-strlen(s2);i++){ + for (j=0;j<strlen(s2);j++){ + if (s1[i+j]!=s2[j]) j=strlen(s2)+2; + } + if (j==strlen(s2)) return i; + } + return -1; +} + +static char *subString(char *text, int first, int length, int spcKill){ +//if (DEBUG==1) putlog("creating substring"); + char *ret=(char*) calloc (length+1,sizeof(char)); //malloc(sizeof(char)*(length+1)); + ret[length]=0;int i; + for (i=0;i<length;i++){ + ret[i]=text[i+first]; + //if (ret[i]==0) ret[i]='0'; + } + if (spcKill==1){ + for (i=length-1;i>=0;i--){ + if (ret[i]==32) ret[i]=0; + else i=-1; + } + } + //if (DEBUG==1) putlog("substring created"); + return ret; +} + +static char *substring(char *text, int first, int length){return subString(text,first,length,0);} //1 +*/ + +static char *tagExtract(char *tag, int tagLen, char* info){ +//if (DEBUG==1) putlog("extracting tag"); + int pos, len, i; + pos=inStr(tag,tagLen,info); +//xchat_printf(ph,"pos=%i",pos); + if (pos==-1) return "";//NULL; + //printf("position of %s = %i\n",info,pos); + len=0; + //for (i=pos;i<pos+10;i++)printf("tag[%i]=%i \n",i,tag[i]); + for (i=0;i<4;i++) { + len+=tag[pos+strlen(info)+i]*iPow(255,3-i); + } + //printf("Tag-Length: %i\n",len); + if (strcmp("COMM",info)!=0) return substring(tag,pos+7+strlen(info),len-1);//11 + return substring(tag,pos+7+strlen(info),len-1);//11 + //char *ct=substring(tag,pos+7+strlen(info),len-1);//11 + //return substring(ct,strlen(ct)+1,len-1-strlen(ct)); //<-- do not understand, what i did here :( + +} + +struct tagInfo readID3V1(char *file){ +//if (DEBUG==1) putlog("reading ID3V1"); + FILE *f; + struct tagInfo ret; + int res, i, c, val; + char *tag; + char *id; + char *tmp; + tag = (char*) malloc(sizeof(char)*129); + ret.artist=NULL; + f=fopen(file,"rb"); + if (f==NULL){ + xchat_print(ph,"file not found while trying to read id3v1"); + //if (DEBUG==1) putlog("file not found while trying to read id3v1"); + return ret; + } + //int offset=getSize(file)-128; + res=fseek(f,-128,SEEK_END); + if (res!=0) {printf("seek failed\n");fclose(f);return ret;} + //long int pos=ftell(f); + //printf("position= %li\n",pos); + for (i=0;i<128;i++) { + c=fgetc(f); + if (c==EOF) {xchat_printf(ph,"read ID3V1 failed\n");fclose(f);return ret;} + tag[i]=(char)c; + } + fclose(f); + //printf("tag readed: \n"); + id=substring(tag,0,3); + //printf("header: %s\n",id); + if (strcmp(id,"TAG")!=0){xchat_printf(ph,"no id3 v1 found\n");return ret;} + ret.title=subString(tag,3,30,1); + ret.artist=subString(tag,33,30,1); + ret.album=subString(tag,63,30,1); + ret.comment=subString(tag,97,30,1); + tmp=substring(tag,127,1); + //ret.genre=substring(tag,127,1); + + val=(int)tmp[0]; + if (val<0)val+=256; + //xchat_printf(ph, "tmp[0]=%i (%i)",val,tmp[0]); + if ((val<148)&&(val>=0)) + ret.genre=GENRES[val];//#############changed + else { + ret.genre="unknown"; + //xchat_printf(ph, "tmp[0]=%i (%i)",val,tmp[0]); + } + //xchat_printf(ph, "tmp: \"%s\" -> %i",tmp,tmp[0]); + //xchat_printf(ph,"genre \"%s\"",ret.genre); + //if (DEBUG==1) putlog("id3v1 extracted"); + return ret; +} + +char *extractID3Genre(char *tag){ + //if (DEBUG==1) putlog("extracting id3 genre"); + if (tag[strlen(tag)-1]==')'){ + tag[strlen(tag)-1]=0; + tag=&tag[1]; + return GENRES[str2int(tag)]; + //return tag; + } + else{ + int i; + //xchat_print(ph, "Using 2 criteria"); + for (i=0;i<strlen(tag);i++){ + if (tag[i]==')'){ tag=&tag[i]+1;return tag;} + //return tag; + } + } + return "[152] failed"; +} + +struct tagInfo readID3V2(char *file){ +//if (DEBUG==1) putlog("reading id3v2"); + FILE *f; + int i, c, len; + char header[10]; + char *tag; + struct tagInfo ret; + + f = fopen(file,"rb"); + //xchat_printf(ph,"file :%s",file); + if (f==NULL) + { + xchat_print(ph,"file not found whilt trying to read ID3V2"); + //if (DEBUG==1)putlog("file not found while trying to read ID3V2"); + return ret; + } + + ret.artist=NULL; + for (i=0;i<10;i++){ + c=fgetc(f); + if (c==EOF){ + //putlog("found eof while reading id3v2"); + return ret; + } + header[i]=(char)c; + } + if (strstr(header,"ID3")==header){ + //xchat_printf(ph,"found id3v2\n"); + len=0; + for (i=6;i<10;i++) len+=(int)header[i]*iPow(256,9-i); + + //char *tag=(char*)malloc(sizeof(char)*len); + tag=(char*) calloc(len,sizeof(char)); //malloc(sizeof(char)*len); + for (i=0;i<len;i++){c=fgetc(f);tag[i]=(char)c;} +//xchat_printf(ph,"tag length: %i\n",len); +//xchat_printf(ph,"tag: %s\n",tag); + fclose(f); + ret.comment=tagExtract(tag,len,"COMM"); +//xchat_printf(ph,"Comment: %s\n",ret.comment); + ret.genre=tagExtract(tag,len,"TCON"); + //if (strcmp(ret.genre,"(127)")==0) ret.genre="unknown"; +//xchat_printf(ph, "ret.genre = %s",ret.genre); + if ((ret.genre!=NULL)&&(ret.genre[0]=='(')) ret.genre=extractID3Genre(ret.genre); +//xchat_printf(ph,"genre: %s\n",ret.genre); + ret.title=tagExtract(tag,len,"TIT2"); +//xchat_printf(ph,"Title: %s\n",ret.title); + ret.album=tagExtract(tag,len,"TALB"); +//xchat_printf(ph,"Album: %s\n",ret.album); + ret.artist=tagExtract(tag,len,"TPE1"); +//xchat_printf(ph,"Artist: %s\n",ret.artist); + } + else{fclose(f);printf("no id3v2 tag found\n"); return ret;} + //printf("id2v2 done\n"); + //if (DEBUG==1) putlog("id3v2 readed"); + return ret; +} + +struct tagInfo readHeader(char *file){ +//if (DEBUG==1) putlog("reading header"); + FILE *f; + //int buffer[5120]; + int versionB, layerB, bitrateB, freqB, modeB; + int header[4]; + int count=0; + int cc=0; + struct tagInfo info; + info.artist=NULL; + + f = fopen(file,"rb"); + if (f==NULL) + { + xchat_print(ph,"file not found while trying to read mp3 header"); + //if (DEBUG==1) putlog("file not found while trying to read mp3 header"); + return info; + } + //struct tagInfo tagv2 + + info=readID3V2(file); + //struct tagInfo tagv1;//=readID3V1(file); + //if (tagv2.artist!=NULL){info=tagv2;} + //else { + if (info.artist==NULL){ + //printf("searching for id3v1\n"); + //tagv1=readID3V1(file); + info=readID3V1(file); //##################### + } + /* + if (tagv1.artist!=NULL){ + //printf("Artist: %s\nTitle: %s\nAlbum: %s\nComment: %s\nGenre: %s\n",tagv1.artist,tagv1.title,tagv1.album,tagv1.comment,tagv1.genre); + info=tagv1; + } + */ + while ((count<5120)&&(cc!=EOF)&&(cc!=255)) {cc=fgetc(f);count++;} + if ((cc==EOF)||(count==5119)) printf("no header found\n"); + else { + //printf("located header at %i\n",count); + header[0]=255; + for (count=1;count<4;count++){ + header[count]=fgetc(f); + //printf("header[%i]=%i\n",count,header[count]); + } + versionB=(header[1]&8)>>3; + layerB=(header[1]&6)>>1; + bitrateB=(header[2]&240)>>4; //4 + freqB=(header[2]&12)>>2;//2 + modeB=(header[3]&192)>>6;//6 + //printf("Mpeg: %i\nLayer: %i\nBitrate: %i\nFreq: %i\nMode: %i\n",versionB, layerB, bitrateB, freqB, modeB); + //int Bitrate=RATES[versionB][layerB-1][bitrateB]; + //int Freq=FREQS[versionB][freqB]; + info.bitrate=RATES[versionB][layerB-1][bitrateB]; + info.freq=FREQS[versionB][freqB]; + info.mode=modeB; + } + fclose(f); + //if (DEBUG==1) putlog("header readed"); + return info; +} +/* +static void printMp3Info(char *file){ + //printf("\nScanning Mp3-File for Informations: %s\n",file); + //printf("size:\t%10d byte\n",getSize(file)); + struct tagInfo info =readHeader(file); + printf("%s | %10d",file,getSize(file)); + if (info.bitrate>0){ + //printf("Bitrate: %i\nFreq: %i\nMode: %s\n",info.bitrate,info.freq,MODES[info.mode]); + printf(" | %i kbps | %i kHz | %s",info.bitrate,info.freq,MODES[info.mode]); + //if (info.artist!=NULL) printf("\nArtist: %s\nTitle: %s\nAlbum: %s\nComment: %s\nGenre: %s\n",info.artist,info.title,info.album,info.comment,info.genre); + if (info.artist!=NULL) { + printf("| %s | %s | %s | %s | %s",info.artist,info.title,info.album,info.comment,info.genre); + //printf("| %s ",info.title);//,info.title,info.album,info.comment,info.genre + } + } + printf("\n"); + +} +*/ diff --git a/plugins/mpcinfo/mpcInfo.c b/plugins/mpcinfo/mpcInfo.c new file mode 100644 index 00000000..e467e516 --- /dev/null +++ b/plugins/mpcinfo/mpcInfo.c @@ -0,0 +1,149 @@ +/* + * This program 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +//static int DEBUG=0; +static char *VERSION="0.0.6"; + +#include <windows.h> +#include <stdlib.h> +#include <string.h> +#include <stdio.h> +#include <ctype.h> +#include <math.h> +#include "xchat-plugin.h" +static xchat_plugin *ph; + +#include "functions.c" +#include "mp3Info.c" +#include "oggInfo.c" +#include "theme.c" + +static int print_themes (char *word[], char *word_eol[], void *userdata){ + printThemes(); + return XCHAT_EAT_ALL; +} + +static int mpc_themeReload(char *word[], char *word_eol[], void *userdata){ + themeInit(); + loadThemes(); + return XCHAT_EAT_ALL; +} + +static int mpc_tell(char *word[], char *word_eol[], void *userdata){ + char *tTitle, *zero, *oggLine, *line; + struct tagInfo info; + HWND hwnd = FindWindow("MediaPlayerClassicW",NULL); + if (hwnd==0) {xchat_command(ph, randomLine(notRunTheme));return XCHAT_EAT_ALL;} + + tTitle=(char*)malloc(sizeof(char)*1024); + GetWindowText(hwnd, tTitle, 1024); + zero=strstr(tTitle," - Media Player Classic"); + if (zero!=NULL) zero[0]=0; + else xchat_print(ph,"pattern not found"); + + if ((tTitle[1]==':')&&(tTitle[2]=='\\')){ + //xchat_print(ph,"seams to be full path"); + if (endsWith(tTitle,".mp3")==1){ + //xchat_print(ph,"seams to be a mp3 file"); + info = readHeader(tTitle); + + if ((info.artist!=NULL)&&(strcmp(info.artist,"")!=0)){ + char *mode=MODES[info.mode]; + //xchat_printf(ph,"mode: %s\n",mode); + char *mp3Line=randomLine(mp3Theme); + mp3Line=replace(mp3Line,"%art",info.artist); + mp3Line=replace(mp3Line,"%tit",info.title); + mp3Line=replace(mp3Line,"%alb",info.album); + mp3Line=replace(mp3Line,"%com",info.comment); + mp3Line=replace(mp3Line,"%gen",info.genre); + //mp3Line=replace(mp3Line,"%time",pos); + //mp3Line=replace(mp3Line,"%length",len); + //mp3Line=replace(mp3Line,"%ver",waVers); + //mp3Line=intReplace(mp3Line,"%br",br); + //mp3Line=intReplace(mp3Line,"%frq",frq); + + mp3Line=intReplace(mp3Line,"%br",info.bitrate); + mp3Line=intReplace(mp3Line,"%frq",info.freq); + mp3Line=replace(mp3Line,"%mode",mode); + //mp3Line=replace(mp3Line,"%size",size); + //mp3Line=intReplace(mp3Line,"%perc",perc); + //mp3Line=replace(mp3Line,"%plTitle",title); + mp3Line=replace(mp3Line,"%file",tTitle); + xchat_command(ph, mp3Line); + return XCHAT_EAT_ALL; + } + } + if (endsWith(tTitle,".ogg")==1){ + xchat_printf(ph,"Ogg detected\n"); + info = getOggHeader(tTitle); + if (info.artist!=NULL){ + char *cbr; + if (info.cbr==1) cbr="CBR"; else cbr="VBR"; + oggLine=randomLine(oggTheme); + //if (cue==1) oggLine=cueLine; + //xchat_printf(ph,"ogg-line: %s\n",oggLine); + oggLine=replace(oggLine,"%art",info.artist); + oggLine=replace(oggLine,"%tit",info.title); + oggLine=replace(oggLine,"%alb",info.album); + oggLine=replace(oggLine,"%com",info.comment); + oggLine=replace(oggLine,"%gen",info.genre); + //oggLine=replace(oggLine,"%time",pos); + //oggLine=replace(oggLine,"%length",len); + //oggLine=replace(oggLine,"%ver",waVers); + oggLine=intReplace(oggLine,"%chan",info.mode); + oggLine=replace(oggLine,"%cbr",cbr); + oggLine=intReplace(oggLine,"%br",info.bitrate/1000);//br); + oggLine=intReplace(oggLine,"%frq",info.freq); + //oggLine=replace(oggLine,"%size",size); + //oggLine=intReplace(oggLine,"%perc",perc); + //oggLine=replace(oggLine,"%plTitle",title); + oggLine=replace(oggLine,"%file",tTitle); + xchat_command(ph, oggLine); + return XCHAT_EAT_ALL; + } + } + } + line=randomLine(titleTheme); + line=replace(line,"%title", tTitle); + xchat_command(ph,line); + return XCHAT_EAT_ALL; +} + +int xchat_plugin_init(xchat_plugin *plugin_handle, char **plugin_name, char **plugin_desc, char **plugin_version, char *arg){ + ph = plugin_handle; + *plugin_name = "mpcInfo"; + *plugin_desc = "Information-Script for Media Player Classic"; + *plugin_version=VERSION; + + xchat_hook_command(ph, "mpc", XCHAT_PRI_NORM, mpc_tell,"no help text", 0); + xchat_hook_command(ph, "mpc_themes", XCHAT_PRI_NORM, print_themes,"no help text", 0); + xchat_hook_command(ph, "mpc_reloadthemes", XCHAT_PRI_NORM, mpc_themeReload,"no help text", 0); + xchat_command (ph, "MENU -ietc\\music.png ADD \"Window/Display Current Song (MPC)\" \"MPC\""); + + themeInit(); + loadThemes(); + xchat_printf(ph, "%s %s plugin loaded\n",*plugin_name, VERSION); + + return 1; +} + +int +xchat_plugin_deinit (void) +{ + xchat_command (ph, "MENU DEL \"Window/Display Current Song (MPC)\""); + xchat_print (ph, "mpcInfo plugin unloaded\n"); + return 1; +} diff --git a/plugins/mpcinfo/oggInfo.c b/plugins/mpcinfo/oggInfo.c new file mode 100644 index 00000000..83c2beb5 --- /dev/null +++ b/plugins/mpcinfo/oggInfo.c @@ -0,0 +1,122 @@ +/* + * This program 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +static int getOggInt(char *buff, int beg, int bytes){ +//if (DEBUG==1) putlog("getOggInt"); + int ret=0; + int i; + for (i=0;i<bytes;i++){ + if (buff[i+beg]>=0) ret+=buff[i+beg]*iPow(256,i);else ret+=(256+buff[i+beg])*iPow(256,i); + //printf("[%i]=%i\n",i,buff[i+beg]); + } + return ret; +} + +static char *upperStr(char *text){ +//if (DEBUG==1) putlog("converting text to uc"); + //printf("upperStr(%s)\n",text); + int i; + char *ret=(char*) malloc(sizeof(char)*(strlen(text)+1)); + ret[strlen(text)]=0; + for (i=0;i<strlen(text);i++) ret[i]=toupper(text[i]); + //printf("Result: %s\n",ret); + return ret; +} + +struct tagInfo getOggHeader(char *file){ +//if (DEBUG==1) putlog("reading ogg header"); + char header[4096]; + int i, c; + int h1pos, h3pos, maxBr, nomBr, minBr, pos, count, tagLen; + char *sub; + char *name; + char *val; + char *HEADLOC1, *HEADLOC3, *HEADLOC5; + FILE *f; + struct tagInfo info; + + info.artist=NULL; + f = fopen(file,"rb"); + if (f==NULL){ + xchat_print(ph,"file not found while trying to read ogg header"); + //if (DEBUG==1) putlog("file not found while trying to read ogg header"); + return info; + } + + for (i=0;i<4095;i++) {c=fgetc(f);header[i]=(char)c;} + fclose(f); + HEADLOC1="_vorbis"; + HEADLOC1[0]=1; + HEADLOC3="_vorbis"; + HEADLOC3[0]=3; + HEADLOC5="_vorbis"; + HEADLOC5[0]=5; + h1pos=inStr(header,4096,HEADLOC1); + h3pos=inStr(header,4096,HEADLOC3); + //int h5pos=inStr(header,4096,HEADLOC5); //not needed + + //printf("loc1: %i\n",h1pos);printf("loc3: %i\n",h3pos);printf("loc5: %i\n",h5pos); + maxBr=getOggInt(header,h1pos+7+9,4); + nomBr=getOggInt(header,h1pos+7+13,4); + minBr=getOggInt(header,h1pos+7+17,4); + info.freq=getOggInt(header,h1pos+7+5,4); + info.mode=header[h1pos+7+4]; + info.bitrate=nomBr; + if (((maxBr==nomBr)&&(nomBr=minBr))||((minBr==0)&&(maxBr==0))||((minBr=-1)&&(maxBr=-1)) )info.cbr=1;else info.cbr=0; + printf("bitrates: %i|%i|%i\n",maxBr,nomBr,minBr); + printf("freq: %i\n",info.freq); + pos=h3pos+7; + pos+=getOggInt(header,pos,4)+4; + count=getOggInt(header,pos,4); + //printf("tags: %i\n",count); + pos+=4; + + info.artist=NULL;info.title=NULL;info.album=NULL;info.comment=NULL;info.genre=NULL; + for (i=0;i<count;i++){ + tagLen=getOggInt(header,pos,4); + //printf("taglength: %i\n",tagLen); + sub=substring(header,pos+4,tagLen); + name=upperStr(substring(sub,0,inStr(sub,tagLen,"="))); + val=substring(sub,inStr(sub,tagLen,"=")+1,tagLen-inStr(sub,tagLen,"=")-1); + //printf("Tag: %s\n",sub); + //printf("Name: %s\n",name); + //printf("value: %s\n",val); + if (strcmp(name,"ARTIST")==0) info.artist=val; + if (strcmp(name,"TITLE")==0) info.title=val; + if (strcmp(name,"ALBUM")==0) info.album=val; + if (strcmp(name,"GENRE")==0) info.genre=val; + if (strcmp(name,"COMMENT")==0) info.comment=val; + pos+=4+tagLen; + } + if (info.artist==NULL) info.artist=""; + if (info.album==NULL) info.album =""; + if (info.title==NULL) info.title=""; + if (info.genre==NULL) info.genre=""; + if (info.comment==NULL) info.comment=""; + + printf("Artist: %s\nTitle: %s\nAlbum: %s\n",info.artist,info.title, info.album); + printf("Genre: %s\nComment: %s\nMode: %i\nCBR: %i\n",info.genre,info.comment,info.mode,info.cbr); + //if (DEBUG==1) putlog("ogg header readed"); + return info; +} + +/* +void printOggInfo(char *file){ + printf("Scanning Ogg-File for Informations: %s\n",file); + printf("size:\t%10d byte\n",getSize(file)); + struct tagInfo info = getOggHeader(file); +} +*/ diff --git a/plugins/mpcinfo/theme.c b/plugins/mpcinfo/theme.c new file mode 100644 index 00000000..000c00b1 --- /dev/null +++ b/plugins/mpcinfo/theme.c @@ -0,0 +1,136 @@ +/* + * This program 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#include <time.h> + +struct theme{ + int size; + char **line; +}; + +static struct theme notRunTheme; +static struct theme titleTheme; +static struct theme mp3Theme; +static struct theme oggTheme; + + +void themeInit(){ + //if (DEBUG==1) putlog("init theme"); + /*mp3Theme.size=0;oggTheme.size=0;cueTheme.size=0;streamTheme.size=0;etcTheme.size=0; + stopTheme.size=0;pauseTheme.size=0;*/ + + notRunTheme.size=0;titleTheme.size=0; + srand((unsigned int)time((time_t *)NULL)); + //if (DEBUG==1) putlog("theme init done"); +} + +void printTheme(struct theme data){ + int i; + for (i=0;i<data.size;i++) xchat_printf(ph,"line[%i]=%s\n",i,data.line[i]); +} + +void printThemes(){ + xchat_printf(ph,"\nNotRun-Theme:\n");printTheme(notRunTheme); + xchat_printf(ph,"\nMP3-Theme:\n");printTheme(mp3Theme); + xchat_printf(ph,"\nOGG-Theme:\n");printTheme(oggTheme); + xchat_printf(ph,"\nTitle-Theme:\n");printTheme(titleTheme); +} + +void cbFix(char *line){ + //if (DEBUG==1) putlog("cbfix"); + int i, j; + for (i=0;i<strlen(line);i++){ + if (line[i]=='%'){ + if ((line[i+1]=='C')||(line[i+1]=='B')||(line[i+1]=='U')||(line[i+1]=='O')||(line[i+1]=='R')){ + if(line[i+1]=='C') line[i]=3; + if(line[i+1]=='B') line[i]=2; + if(line[i+1]=='U') line[i]=37; + if(line[i+1]=='O') line[i]=17; + if(line[i+1]=='R') line[i]=26; + + for (j=i+1;j<strlen(line)-1;j++) line[j]=line[j+1]; + line[strlen(line)-1]=0; + } + } + } + //if (DEBUG==1) putlog("cbfix done"); +} + +struct theme themeAdd(struct theme data, char *info){ + //if (DEBUG==1) putlog("adding theme"); + struct theme ret; + char **newLine=(char **)calloc(data.size+1,sizeof(char*)); + int i; + for (i=0;i<data.size;i++) newLine[i]=data.line[i]; + cbFix(info); + newLine[data.size]=info; + ret.line=newLine;ret.size=data.size+1; + //if (DEBUG==1) putlog("theme added"); + return ret; +} + +void loadThemes(){ + char *hDir, *hFile, *line, *val; + FILE *f; + xchat_print(ph,"loading themes\n"); + hDir=(char*)calloc(1024,sizeof(char)); + strcpy(hDir,xchat_get_info(ph,"xchatdirfs")); + hFile=str3cat(hDir,"\\","mpcInfo.theme.txt"); + f = fopen(hFile,"r"); + if(f==NULL) + { + xchat_print(ph,"no theme in homedir, checking global theme"); + f=fopen("mpcInfo.theme.txt","r"); + } + //xchat_printf(ph,"file_desc: %p\n",f); + if (f==NULL) xchat_print(ph, "no theme found, using hardcoded\n"); + else { + if (f > 0) + { + line=" "; + } else + { + line="\0"; + } + + while (line[0]!=0) + { + line=readLine(f); + val=split(line,'='); + printf("line: %s\n",line); + printf("val: %s\n",val); + if (strcmp(toUpper(line),"OFF_LINE")==0) notRunTheme=themeAdd(notRunTheme,val); + if (strcmp(toUpper(line),"TITLE_LINE")==0) titleTheme=themeAdd(titleTheme,val); + if (strcmp(toUpper(line),"MP3_LINE")==0) mp3Theme=themeAdd(mp3Theme,val); + if (strcmp(toUpper(line),"OGG_LINE")==0) mp3Theme=themeAdd(oggTheme,val); + } + fclose(f); + xchat_print(ph, "theme loaded successfull\n"); + } + if (notRunTheme.size==0) notRunTheme=themeAdd(notRunTheme,"say Media Player Classic not running"); + if (titleTheme.size==0) titleTheme=themeAdd(titleTheme,"say Playing %title in Media Player Classic"); + if (mp3Theme.size==0) mp3Theme=themeAdd(mp3Theme,"me listens to %art with %tit from %alb [%gen|%br kbps|%frq kHz|%mode] in Media Player Classic "); + if (oggTheme.size==0) oggTheme=themeAdd(oggTheme,"me listens to %art with %tit from %alb [%gen|%br kbps|%frq kHz|%chan channels] in Media Player Classic "); + //mp3Theme=themeAdd(mp3Theme,"me listens to %art with %tit from %alb [%time|%length|%perc%|%br kbps|%frq kHz|%mode] in Media Player Classic "); +} + +int rnd(int max){ + return rand()%max; +} + +char *randomLine(struct theme data){ + return data.line[rnd(data.size)]; +} diff --git a/plugins/nonbmp/makefile.mak b/plugins/nonbmp/makefile.mak new file mode 100644 index 00000000..1c28610d --- /dev/null +++ b/plugins/nonbmp/makefile.mak @@ -0,0 +1,18 @@ +include "..\..\src\makeinc.mak" + +all: nonbmp.obj nonbmp.def + link $(LDFLAGS) $(LIBS) /dll /out:xcnonbmp.dll /def:nonbmp.def nonbmp.obj + +nonbmp.def: + echo EXPORTS > nonbmp.def + echo xchat_plugin_init >> nonbmp.def + echo xchat_plugin_deinit >> nonbmp.def + +nonbmp.obj: nonbmp.c makefile.mak + cl $(CFLAGS) $(GLIB) /I.. nonbmp.c + +clean: + del *.obj + del *.dll + del *.exp + del *.lib diff --git a/plugins/nonbmp/nonbmp.c b/plugins/nonbmp/nonbmp.c new file mode 100644 index 00000000..824c395e --- /dev/null +++ b/plugins/nonbmp/nonbmp.c @@ -0,0 +1,87 @@ +#include <stdlib.h> +#include <glib.h> +#include <string.h> + +#include "xchat-plugin.h" + +static xchat_plugin *ph; +static const char name[] = "Non-BMP"; +static const char desc[] = "Replace non-BMP characters with replacement characters"; +static const char version[] = "1.0000"; +static int recursing = 0; + +static int filter( + char *word[], + char *word_eol[], + void *unused +) { + gunichar *line; + gchar *utf8_line; + glong length; + glong index; + + if( recursing ) { + return XCHAT_EAT_NONE; + } + + /* the input has already been checked so we can use the _fast version */ + line = g_utf8_to_ucs4_fast( + (char *)word_eol[1], + -1, /* NUL terminated input */ + &length + ); + + for( index = 0; index < length; index++ ) { + if( line[ index ] > 0xFFFF ) { + line[ index ] = 0xFFFD; /* replacement character */ + } + } + + utf8_line = g_ucs4_to_utf8( + line, + -1, /* NUL terminated input */ + NULL, /* items read */ + NULL, /* items written */ + NULL /* ignore conversion error */ + ); + + if( utf8_line == NULL ) { + /* conversion failed ... I guess we are screwed? */ + g_free( line ); + return XCHAT_EAT_NONE; + } + + recursing = 1; + xchat_commandf( ph, "RECV %s", utf8_line ); + recursing = 0; + + g_free( line ); + g_free( utf8_line ); + return XCHAT_EAT_ALL; +} + +int xchat_plugin_init( + xchat_plugin *plugin_handle, + char **plugin_name, + char **plugin_desc, + char **plugin_version, + char *arg +) { +/* int index = 0;*/ + + ph = plugin_handle; + *plugin_name = name; + *plugin_desc = desc; + *plugin_version = version; + + xchat_hook_server( ph, "RAW LINE", XCHAT_PRI_HIGHEST, filter, (void *)NULL ); + xchat_printf (ph, "%s plugin loaded\n", name); + return 1; +} + +int +xchat_plugin_deinit (void) +{ + xchat_printf (ph, "%s plugin unloaded\n", name); + return 1; +} \ No newline at end of file diff --git a/plugins/perl/makefile-512.mak b/plugins/perl/makefile-512.mak new file mode 100644 index 00000000..7f2fbe04 --- /dev/null +++ b/plugins/perl/makefile-512.mak @@ -0,0 +1,40 @@ +include "..\..\src\makeinc.mak" + +DIRENTLIB = ..\..\src\common\dirent-win32.lib +TARGET = $(PERL512OUTPUT) + +all: $(TARGET) + +perl.def: + echo EXPORTS > perl.def + echo xchat_plugin_init >> perl.def + echo xchat_plugin_deinit >> perl.def + echo xchat_plugin_get_info >> perl.def + +perl.obj: perl.c + $(CC) $(CFLAGS) perl.c $(GLIB) /I$(PERL512PATH)\perl\lib\CORE /I.. /DPERL_DLL=\"$(PERL512LIB).dll\" + +perl512.def: + gendef $(PERL512PATH)\perl\bin\perl512.dll + +$(PERL512LIB).lib: perl512.def +!ifdef X64 + lib /nologo /machine:x64 /def:perl512.def +!else + lib /nologo /machine:x86 /def:perl512.def +!endif + +perl.c: xchat.pm.h + +xchat.pm.h: lib/Xchat.pm lib/IRC.pm + perl.exe generate_header + +$(TARGET): perl.obj perl.def $(PERL512LIB).lib + $(LINK) /DLL /out:$(TARGET) perl.obj $(LDFLAGS) $(PERL512LIB).lib /delayload:$(PERL512LIB).dll $(DIRENTLIB) delayimp.lib user32.lib shell32.lib advapi32.lib /def:perl.def + +clean: + @del $(TARGET) + @del *.obj + @del *.def + @del *.lib + @del *.exp diff --git a/plugins/perl/makefile-514.mak b/plugins/perl/makefile-514.mak new file mode 100644 index 00000000..4c8d0ebd --- /dev/null +++ b/plugins/perl/makefile-514.mak @@ -0,0 +1,42 @@ +include "..\..\src\makeinc.mak" + +DIRENTLIB = ..\..\src\common\dirent-win32.lib +TARGET = $(PERL514OUTPUT) + +all: $(TARGET) + +perl.def: + echo EXPORTS > perl.def + echo xchat_plugin_init >> perl.def + echo xchat_plugin_deinit >> perl.def + echo xchat_plugin_get_info >> perl.def + +# MSVC only supports __inline, while GCC only supports __inline__. This is defined incorretly +# in lib\CORE\config.h in Strawberry Perl, see #define PERL_STATIC_INLINE static __inline__ +perl.obj: perl.c + $(CC) $(CFLAGS) perl.c $(GLIB) /I$(PERL514PATH)\perl\lib\CORE /I.. /DPERL_DLL=\"$(PERL514LIB).dll\" /D__inline__=__inline + +perl514.def: + gendef $(PERL514PATH)\perl\bin\perl514.dll + +$(PERL514LIB).lib: perl514.def +!ifdef X64 + lib /nologo /machine:x64 /def:perl514.def +!else + lib /nologo /machine:x86 /def:perl514.def +!endif + +perl.c: xchat.pm.h + +xchat.pm.h: lib/Xchat.pm lib/IRC.pm + perl.exe generate_header + +$(TARGET): perl.obj perl.def $(PERL514LIB).lib + $(LINK) /DLL /out:$(TARGET) perl.obj $(LDFLAGS) $(PERL514LIB).lib /delayload:$(PERL514LIB).dll $(DIRENTLIB) delayimp.lib user32.lib shell32.lib advapi32.lib /def:perl.def + +clean: + @del $(TARGET) + @del *.obj + @del *.def + @del *.lib + @del *.exp diff --git a/plugins/perl/perl.c b/plugins/perl/perl.c index 1be7562e..719ef292 100644 --- a/plugins/perl/perl.c +++ b/plugins/perl/perl.c @@ -22,12 +22,15 @@ #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> -#include <dirent.h> #ifdef ENABLE_NLS #include <locale.h> #endif #ifdef WIN32 #include <windows.h> +#define _INC_DIRENT /* disable inclusion of perl's dirent.h, we use an own version for win32 */ +#include "../../src/common/dirent-win32.h" +#else +#include <dirent.h> #endif #undef PACKAGE @@ -1342,7 +1345,11 @@ perl_load_file (char *filename) if (GetLastError () == ERROR_BAD_EXE_FORMAT) /* http://forum.xchat.org/viewtopic.php?t=3277 */ thread_mbox ("Cannot use this " PERL_DLL "\n\n" - "32-bit ActivePerl is required."); +#ifdef _WIN64 + "64-bit Strawberry Perl is required."); +#else + "32-bit Strawberry Perl is required."); +#endif else { /* a lot of people install this old version */ lib = LoadLibraryA ("perl56.dll"); diff --git a/plugins/plugin20.html b/plugins/plugin20.html index 787c048b..fcdff2ed 100644 --- a/plugins/plugin20.html +++ b/plugins/plugin20.html @@ -81,6 +81,13 @@ margin-right: 32px; <br><a href="#xchat_strip">xchat_strip</a> <br><a href="#xchat_free">xchat_free</a> <br> +<br><a href="#xchat_pluginpref_set_str">xchat_pluginpref_set_str</a> +<br><a href="#xchat_pluginpref_get_str">xchat_pluginpref_get_str</a> +<br><a href="#xchat_pluginpref_set_int">xchat_pluginpref_set_int</a> +<br><a href="#xchat_pluginpref_get_int">xchat_pluginpref_get_int</a> +<br><a href="#xchat_pluginpref_delete">xchat_pluginpref_delete</a> +<br><a href="#xchat_pluginpref_list">xchat_pluginpref_list</a> +<br> <br><a href="#lists">xchat_list_get</a> <br><a href="#lists">xchat_list_free</a> <br><a href="#lists">xchat_list_fields</a> (not documented yet) @@ -998,5 +1005,137 @@ A newly allocated string or NULL for failure. You must free this string with xch <br><br> +<h3><a class=cmd name="xchat_pluginpref_set_str"> xchat_pluginpref_set_str() </a><small>(new for 2.8.10)</small></h3> +<b>Prototype:</b> int xchat_pluginpref_set_str (xchat_plugin *ph, const char *var, const char *value); +<br> +<br><b>Description:</b> Saves a plugin-specific setting with string value to a plugin-specific config file. +<br> +<br><b>Arguments:</b> +<blockquote><b>ph:</b> Plugin handle (as given to xchat_plugin_init). +<br><b>var:</b> Name of the setting to save. +<br><b>value:</b> String value of the the setting. +<br> +</blockquote> +<b>Returns:</b> 1 for success, 0 for failure. +<br><br><b>Example:</b> +<blockquote> +<pre>int xchat_plugin_init (xchat_plugin *plugin_handle, + char **plugin_name, + char **plugin_desc, + char **plugin_version, + char *arg) +{ + ph = plugin_handle; + *plugin_name = "Tester Thingie"; + *plugin_desc = "Testing stuff"; + *plugin_version = "1.0"; + + xchat_pluginpref_set_str (ph, "myvar1", "I want to save this string!"); + xchat_pluginpref_set_str (ph, "myvar2", "This is important, too."); + + return 1; /* return 1 for success */ +}</pre> +</blockquote> +In the example above, the settings will be saved to the plugin_tester_thingie.conf file, and its content will be: +<blockquote> +<pre>myvar1 = I want to save this string! +myvar2 = This is important, too.</pre> +</blockquote> +You should never need to edit this file manually. +<br><br><br> + +<h3><a class=cmd name="xchat_pluginpref_get_str"> xchat_pluginpref_get_str() </a><small>(new for 2.8.10)</small></h3> +<b>Prototype:</b> int xchat_pluginpref_get_str (xchat_plugin *ph, const char *var, char *dest); +<br> +<br><b>Description:</b> Loads a plugin-specific setting with string value from a plugin-specific config file. +<br> +<br><b>Arguments:</b> +<blockquote><b>ph:</b> Plugin handle (as given to xchat_plugin_init). +<br><b>var:</b> Name of the setting to load. +<br><b>dest:</b> Array to save the loaded setting's string value to. +<br> +</blockquote> +<b>Returns:</b> 1 for success, 0 for failure. +<br><br><br> + +<h3><a class=cmd name="xchat_pluginpref_set_int"> xchat_pluginpref_set_int() </a><small>(new for 2.8.10)</small></h3> +<b>Prototype:</b> int xchat_pluginpref_set_int (xchat_plugin *ph, const char *var, int value); +<br> +<br><b>Description:</b> Saves a plugin-specific setting with decimal value to a plugin-specific config file. +<br> +<br><b>Arguments:</b> +<blockquote><b>ph:</b> Plugin handle (as given to xchat_plugin_init). +<br><b>var:</b> Name of the setting to save. +<br><b>value:</b> Decimal value of the the setting. +<br> +</blockquote> +<b>Returns:</b> 1 for success, 0 for failure. +<br><br><b>Example:</b> +<blockquote> +<pre>static int saveint_cb (char *word[], char *word_eol[], void *user_data) +{ + int buffer = atoi (word[2]); + + if (buffer > 0 && buffer < INT_MAX) + { + if (xchat_pluginpref_set_int (ph, "myint1", buffer)) + { + xchat_printf (ph, "Setting successfully saved!\n"); + } + else + { + xchat_printf (ph, "Error while saving!\n"); + } + } + else + { + xchat_printf (ph, "Invalid input!\n"); + } + + return XCHAT_EAT_XCHAT; +}</pre> +</blockquote> +You only need these kind of complex checks if you're saving user input, which can be non-numeric. +<br><br><br> + +<h3><a class=cmd name="xchat_pluginpref_get_int"> xchat_pluginpref_get_int() </a><small>(new for 2.8.10)</small></h3> +<b>Prototype:</b> int xchat_pluginpref_get_int (xchat_plugin *ph, const char *var); +<br> +<br><b>Description:</b> Loads a plugin-specific setting with decimal value from a plugin-specific config file. +<br> +<br><b>Arguments:</b> +<blockquote><b>ph:</b> Plugin handle (as given to xchat_plugin_init). +<br><b>var:</b> Name of the setting to load. +<br> +</blockquote> +<b>Returns:</b> The decimal value of the requested setting upon success, -1 for failure. +<br><br><br> + +<h3><a class=cmd name="xchat_pluginpref_delete"> xchat_pluginpref_delete() </a><small>(new for 2.8.10)</small></h3> +<b>Prototype:</b> int xchat_pluginpref_delete (xchat_plugin *ph, const char *var); +<br> +<br><b>Description:</b> Deletes a plugin-specific setting from a plugin-specific config file. +<br> +<br><b>Arguments:</b> +<blockquote><b>ph:</b> Plugin handle (as given to xchat_plugin_init). +<br><b>var:</b> Name of the setting to delete. +<br> +</blockquote> +<b>Returns:</b> 1 for success, 0 for failure. If the given setting didn't exist, it also returns 1, so 1 only indicates that the setting won't exist after the call. +<br><br><br> + +<h3><a class=cmd name="xchat_pluginpref_list"> xchat_pluginpref_list() </a><small>(new for 2.8.10)</small></h3> +<b>Prototype:</b> int xchat_pluginpref_list (xchat_plugin *ph, char *dest); +<br> +<br><b>Description:</b> Builds a comma-separated list of the currently saved settings from a plugin-specific config file. +<br> +<br><b>Arguments:</b> +<blockquote><b>ph:</b> Plugin handle (as given to xchat_plugin_init). +<br><b>dest:</b> Array to save the list to. +<br> +</blockquote> +<b>Returns:</b> 1 for success, 0 for failure (nonexistent, empty or inaccessible config file). +<br><br><br> + </body> </html> diff --git a/plugins/python/makefile.mak b/plugins/python/makefile.mak new file mode 100644 index 00000000..bc004577 --- /dev/null +++ b/plugins/python/makefile.mak @@ -0,0 +1,25 @@ +include "..\..\src\makeinc.mak" + +DIRENTLIB = ..\..\src\common\dirent-win32.lib +TARGET = $(PYTHONOUTPUT) + +all: $(TARGET) + +python.def: + echo EXPORTS > python.def + echo xchat_plugin_init >> python.def + echo xchat_plugin_deinit >> python.def + echo xchat_plugin_get_info >> python.def + +python.obj: python.c + $(CC) $(CFLAGS) /I.. /Dusleep=_sleep /DPATH_MAX=255 python.c $(GLIB) /I$(PYTHONPATH)\include /DPYTHON_DLL=\"$(PYTHONLIB).dll\" + +$(TARGET): python.obj python.def + $(LINK) /dll /out:$(TARGET) $(LDFLAGS) python.obj /libpath:$(PYTHONPATH)\libs $(PYTHONLIB).lib $(DIRENTLIB) $(LIBS) /def:python.def + +clean: + del $(TARGET) + del *.obj + del python.def + del *.lib + del *.exp diff --git a/plugins/python/python.c b/plugins/python/python.c index fd682082..dcf4fc8f 100644 --- a/plugins/python/python.c +++ b/plugins/python/python.c @@ -53,10 +53,16 @@ #include <glib.h> #include <string.h> -#include <unistd.h> #include <stdlib.h> #include <sys/types.h> + +#ifdef WIN32 +#include "../../src/common/dirent-win32.h" +#include "../../config.h" +#else +#include <unistd.h> #include <dirent.h> +#endif #include "xchat-plugin.h" #include "Python.h" @@ -68,7 +74,7 @@ #ifdef WIN32 #undef WITH_THREAD /* Thread support locks up xchat on Win32. */ -#define VERSION "0.8/2.4" /* Linked to python24.dll */ +#define VERSION "0.8/2.7" /* Linked to python27.dll */ #else #define VERSION "0.8" #endif diff --git a/plugins/tcl/makefile.mak b/plugins/tcl/makefile.mak new file mode 100644 index 00000000..c88f5c4f --- /dev/null +++ b/plugins/tcl/makefile.mak @@ -0,0 +1,22 @@ +include "..\..\src\makeinc.mak" + +TARGET = $(TCLOUTPUT) + +all: $(TARGET) + +tcl.def: + echo EXPORTS > tcl.def + echo xchat_plugin_init >> tcl.def + echo xchat_plugin_deinit >> tcl.def + echo xchat_plugin_get_info >> tcl.def + +tclplugin.obj: tclplugin.c + $(CC) $(CFLAGS) /I.. tclplugin.c /I$(TCLPATH)\include /DTCL_DLL=\"$(TCLLIB).dll\" + +$(TARGET): tclplugin.obj tcl.def + $(LINK) /dll /out:$(TARGET) $(LDFLAGS) tclplugin.obj /libpath:$(TCLPATH)\lib $(TCLLIB).lib /delayload:$(TCLLIB).dll delayimp.lib /def:tcl.def + +clean: + del $(TARGET) + del *.obj + del tcl.def diff --git a/plugins/tcl/tclplugin.c b/plugins/tcl/tclplugin.c index 17dc7556..920a48ad 100644 --- a/plugins/tcl/tclplugin.c +++ b/plugins/tcl/tclplugin.c @@ -2221,7 +2221,7 @@ int xchat_plugin_init(xchat_plugin * plugin_handle, char **plugin_name, char **p #ifdef WIN32 lib = LoadLibraryA(TCL_DLL); if (!lib) { - xchat_print(ph, "You must have ActiveTCL installed in order to run Tcl scripts.\n" "http://aspn.activestate.com/ASPN/Tcl/\n" "Make sure Tcl's bin directory is in your PATH.\n\n"); + xchat_print(ph, "You must have ActiveTCL 8.5 installed in order to run Tcl scripts.\n" "http://www.activestate.com/activetcl/downloads\n" "Make sure Tcl's bin directory is in your PATH.\n"); return 0; } FreeLibrary(lib); diff --git a/plugins/upd/makefile.mak b/plugins/upd/makefile.mak new file mode 100644 index 00000000..34b54cb8 --- /dev/null +++ b/plugins/upd/makefile.mak @@ -0,0 +1,18 @@ +include "..\..\src\makeinc.mak" + +all: upd.obj upd.def + link $(LDFLAGS) $(LIBS) /dll /out:xcupd.dll /def:upd.def upd.obj + +upd.def: + echo EXPORTS > upd.def + echo xchat_plugin_init >> upd.def + echo xchat_plugin_deinit >> upd.def + +upd.obj: upd.c makefile.mak + cl $(CFLAGS) $(GLIB) /I.. upd.c + +clean: + del *.obj + del *.dll + del *.exp + del *.lib diff --git a/plugins/upd/upd.c b/plugins/upd/upd.c new file mode 100644 index 00000000..1659162c --- /dev/null +++ b/plugins/upd/upd.c @@ -0,0 +1,226 @@ +/* XChat-WDK + * Copyright (c) 2010-2011 Berke Viktor. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#include <windows.h> +#include <wininet.h> + +#include "xchat-plugin.h" + +static xchat_plugin *ph; /* plugin handle */ +static const char name[] = "Update Checker"; +static const char desc[] = "Check for XChat-WDK updates automatically"; +static const char version[] = "2.1"; + +static char* +check_version () +{ +#if 0 + HINTERNET hINet, hFile; + hINet = InternetOpen ("Update Checker", INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0); + + if (!hINet) + { + return "Unknown"; + } + + hFile = InternetOpenUrl (hINet, + "http://xchat-wdk.googlecode.com/git/version.txt?r=wdk", + NULL, + 0, + INTERNET_FLAG_NO_CACHE_WRITE | INTERNET_FLAG_RELOAD, + 0); + if (hFile) + { + static char buffer[1024]; + DWORD dwRead; + while (InternetReadFile (hFile, buffer, 1023, &dwRead)) + { + if (dwRead == 0) + { + break; + } + buffer[dwRead] = 0; + } + + InternetCloseHandle (hFile); + InternetCloseHandle (hINet); + return buffer; + } + + InternetCloseHandle (hINet); + return "Unknown"; +#endif + + /* Google Code's messing up with requests, use HTTP/1.0 as suggested. More info: + + http://code.google.com/p/support/issues/detail?id=6095 + + Of course it would be still too simple, coz IE will override settings, so + you have to disable HTTP/1.1 manually and globally. More info: + + http://support.microsoft.com/kb/258425 + + So this code's basically useless since disabling HTTP/1.1 will work with the + above code too. + + Update: a Connection: close header seems to disable chunked encoding. + */ + + HINTERNET hOpen, hConnect, hResource; + + hOpen = InternetOpen (TEXT ("Update Checker"), + INTERNET_OPEN_TYPE_PRECONFIG, + NULL, + NULL, + 0); + if (!hOpen) + { + return "Unknown"; + } + + hConnect = InternetConnect (hOpen, + TEXT ("xchat-wdk.googlecode.com"), + INTERNET_INVALID_PORT_NUMBER, + NULL, + NULL, + INTERNET_SERVICE_HTTP, + 0, + 0); + if (!hConnect) + { + InternetCloseHandle (hOpen); + return "Unknown"; + } + + hResource = HttpOpenRequest (hConnect, + TEXT ("GET"), + TEXT ("/git/version.txt?r=wdk"), + TEXT ("HTTP/1.0"), + NULL, + NULL, + INTERNET_FLAG_NO_CACHE_WRITE | INTERNET_FLAG_RELOAD | INTERNET_FLAG_NO_AUTH, + 0); + if (!hResource) + { + InternetCloseHandle (hConnect); + InternetCloseHandle (hOpen); + return "Unknown"; + } + else + { + static char buffer[1024]; + DWORD dwRead; + + HttpAddRequestHeaders (hResource, TEXT ("Connection: close\r\n"), -1L, HTTP_ADDREQ_FLAG_ADD); /* workaround for GC bug */ + HttpSendRequest (hResource, NULL, 0, NULL, 0); + + while (InternetReadFile (hResource, buffer, 1023, &dwRead)) + { + if (dwRead == 0) + { + break; + } + buffer[dwRead] = 0; + } + + InternetCloseHandle (hResource); + InternetCloseHandle (hConnect); + InternetCloseHandle (hOpen); + return buffer; + } +} + +static int +print_version () +{ + char *version = check_version (); + + if (strcmp (version, xchat_get_info (ph, "wdk_version")) == 0) + { + xchat_printf (ph, "You have the latest version of XChat-WDK installed!\n"); + } + else if (strcmp (version, "Unknown") == 0) + { + xchat_printf (ph, "Unable to check for XChat-WDK updates!\n"); + } + else + { +#ifdef _WIN64 /* use this approach, the wProcessorArchitecture method always returns 0 (=x86) for some reason */ + xchat_printf (ph, "An XChat-WDK update is available! You can download it from here:\nhttp://xchat-wdk.googlecode.com/files/XChat-WDK%%20%s%%20x64.exe\n", version); +#else + xchat_printf (ph, "An XChat-WDK update is available! You can download it from here:\nhttp://xchat-wdk.googlecode.com/files/XChat-WDK%%20%s%%20x86.exe\n", version); +#endif + } + + return XCHAT_EAT_XCHAT; +} + +static int +print_version_quiet (void *userdata) +{ + char *version = check_version (); + + /* if it's not the current version AND not network error */ + if (!(strcmp (version, xchat_get_info (ph, "wdk_version")) == 0) && !(strcmp (version, "Unknown") == 0)) + { +#ifdef _WIN64 /* use this approach, the wProcessorArchitecture method always returns 0 (=x86) for plugins for some reason */ + xchat_printf (ph, "An XChat-WDK update is available! You can download it from here:\nhttp://xchat-wdk.googlecode.com/files/XChat-WDK%%20%s%%20x64.exe\n", version); +#else + xchat_printf (ph, "An XChat-WDK update is available! You can download it from here:\nhttp://xchat-wdk.googlecode.com/files/XChat-WDK%%20%s%%20x86.exe\n", version); +#endif + /* print update url once, then stop the timer */ + return 0; + } + /* keep checking */ + return 1; +} + +int +xchat_plugin_init (xchat_plugin *plugin_handle, char **plugin_name, char **plugin_desc, char **plugin_version, char *arg) +{ + ph = plugin_handle; + + *plugin_name = name; + *plugin_desc = desc; + *plugin_version = version; + + xchat_hook_command (ph, "UPDCHK", XCHAT_PRI_NORM, print_version, 0, 0); + xchat_command (ph, "MENU -ietc\\download.png ADD \"Help/Check for Updates\" \"UPDCHK\""); + xchat_printf (ph, "%s plugin loaded\n", name); + + /* only start the timer if there's no update available during startup */ + if (print_version_quiet (NULL)) + { + /* check for updates every 6 hours */ + xchat_hook_timer (ph, 21600000, print_version_quiet, NULL); + } + + return 1; /* return 1 for success */ +} + +int +xchat_plugin_deinit (void) +{ + xchat_command (ph, "MENU DEL \"Help/Check for updates\""); + xchat_printf (ph, "%s plugin unloaded\n", name); + return 1; +} diff --git a/plugins/winamp/makefile.mak b/plugins/winamp/makefile.mak new file mode 100644 index 00000000..79adf87e --- /dev/null +++ b/plugins/winamp/makefile.mak @@ -0,0 +1,18 @@ +include "..\..\src\makeinc.mak" + +all: winamp.obj winamp.def + link $(LDFLAGS) $(LIBS) /dll /out:xcwinamp.dll /def:winamp.def winamp.obj + +winamp.def: + echo EXPORTS > winamp.def + echo xchat_plugin_init >> winamp.def + echo xchat_plugin_deinit >> winamp.def + +winamp.obj: winamp.c makefile.mak + cl $(CFLAGS) /I.. winamp.c + +clean: + del *.obj + del *.dll + del *.exp + del *.lib diff --git a/plugins/winamp/winamp.c b/plugins/winamp/winamp.c new file mode 100644 index 00000000..7201a875 --- /dev/null +++ b/plugins/winamp/winamp.c @@ -0,0 +1,189 @@ +/********************* Winamp Plugin 0.3****************************** + * + * Distribution: GPL + * + * Originally written by: Leo - leo.nard@free.fr + * Modified by: SilvereX - SilvereX@karklas.mif.vu.lt + * Modified again by: Derek Buitenhuis - daemon404@gmail.com + * Modified yet again by: Berke Viktor - berkeviktor@aol.com + *********************************************************************/ + +#include "windows.h" + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#include "xchat-plugin.h" + +#define PLAYING 1 +#define PAUSED 3 + +static xchat_plugin *ph; /* plugin handle */ + +BOOL winamp_found = FALSE; + +int status = 0; + +/* Slightly modified from X-Chat's log_escape_strcpy */ +static char * +song_strcpy (char *dest, char *src) +{ + while (*src) + { + *dest = *src; + dest++; + src++; + + if (*src == '%') + { + dest[0] = '%'; + dest++; + } + } + + dest[0] = 0; + return dest - 1; +} + +static int +winamp(char *word[], char *word_eol[], void *userdata) +{ + +char current_play[2048], *p; +char p_esc[2048]; +char cur_esc[2048]; +char truc[2048]; +HWND hwndWinamp = FindWindow("Winamp v1.x",NULL); + + if (hwndWinamp) + { + { + if (!stricmp("PAUSE", word[2])) + { + if (SendMessage(hwndWinamp,WM_USER, 0, 104)) + { + SendMessage(hwndWinamp, WM_COMMAND, 40046, 0); + + if (SendMessage(hwndWinamp, WM_USER, 0, 104) == PLAYING) + xchat_printf(ph, "Winamp: playing"); + else + xchat_printf(ph, "Winamp: paused"); + } + } + else + if (!stricmp("STOP", word[2])) + { + SendMessage(hwndWinamp, WM_COMMAND, 40047, 0); + xchat_printf(ph, "Winamp: stopped"); + } + else + if (!stricmp("PLAY", word[2])) + { + SendMessage(hwndWinamp, WM_COMMAND, 40045, 0); + xchat_printf(ph, "Winamp: playing"); + } + else + + if (!stricmp("NEXT", word[2])) + { + SendMessage(hwndWinamp, WM_COMMAND, 40048, 0); + xchat_printf(ph, "Winamp: next playlist entry"); + } + else + + if (!stricmp("PREV", word[2])) + { + SendMessage(hwndWinamp, WM_COMMAND, 40044, 0); + xchat_printf(ph, "Winamp: previous playlist entry"); + } + else + + if (!stricmp("START", word[2])) + { + SendMessage(hwndWinamp, WM_COMMAND, 40154, 0); + xchat_printf(ph, "Winamp: playlist start"); + } + + else + + if (!word_eol[2][0]) + { + GetWindowText(hwndWinamp, current_play, sizeof(current_play)); + + if (strchr(current_play, '-')) + { + + p = current_play + strlen(current_play) - 8; + while (p >= current_play) + { + if (!strnicmp(p, "- Winamp", 8)) break; + p--; + } + + if (p >= current_play) p--; + + while (p >= current_play && *p == ' ') p--; + *++p=0; + + + p = strchr(current_play, '.') + 1; + + song_strcpy(p_esc, p); + song_strcpy(cur_esc, current_play); + + if (p) + { + sprintf(truc, "me is now playing:%s", p_esc); + } + else + { + sprintf(truc, "me is now playing:%s", cur_esc); + } + + xchat_commandf(ph, truc); + + } + else xchat_print(ph, "Winamp: Nothing being played."); + } + else + xchat_printf(ph, "Usage: /WINAMP [PAUSE|PLAY|STOP|NEXT|PREV|START]\n"); + } + + } + else + { + xchat_print(ph, "Winamp not found.\n"); + } + return XCHAT_EAT_ALL; +} + +int +xchat_plugin_init(xchat_plugin *plugin_handle, + char **plugin_name, + char **plugin_desc, + char **plugin_version, + char *arg) +{ + /* we need to save this for use with any xchat_* functions */ + ph = plugin_handle; + + *plugin_name = "Winamp"; + *plugin_desc = "Winamp plugin for XChat"; + *plugin_version = "0.5"; + + xchat_hook_command (ph, "WINAMP", XCHAT_PRI_NORM, winamp, "Usage: /WINAMP [PAUSE|PLAY|STOP|NEXT|PREV|START] - control Winamp or show what's currently playing", 0); + xchat_command (ph, "MENU -ietc\\music.png ADD \"Window/Display Current Song (Winamp)\" \"WINAMP\""); + + xchat_print (ph, "Winamp plugin loaded\n"); + + return 1; /* return 1 for success */ +} + +int +xchat_plugin_deinit(void) +{ + xchat_command (ph, "MENU DEL \"Window/Display Current Song (Winamp)\""); + xchat_print (ph, "Winamp plugin unloaded\n"); + return 1; +} diff --git a/plugins/winsys/makefile.mak b/plugins/winsys/makefile.mak new file mode 100644 index 00000000..31f24eb1 --- /dev/null +++ b/plugins/winsys/makefile.mak @@ -0,0 +1,18 @@ +include "..\..\src\makeinc.mak" + +all: winsys.obj winsys.def + link $(LDFLAGS) $(LIBS) /NODEFAULTLIB:comsupp.lib wbemuuid.lib vccomsup.lib /dll /out:xcwinsys.dll /def:winsys.def winsys.obj + +winsys.def: + echo EXPORTS > winsys.def + echo xchat_plugin_init >> winsys.def + echo xchat_plugin_deinit >> winsys.def + +winsys.obj: winsys.cpp makefile.mak + cl $(CFLAGS) $(GLIB) /DUNICODE /D_UNICODE /Zc:wchar_t- /I.. winsys.cpp + +clean: + del *.obj + del *.dll + del *.exp + del *.lib diff --git a/plugins/winsys/winsys.cpp b/plugins/winsys/winsys.cpp new file mode 100644 index 00000000..398767d0 --- /dev/null +++ b/plugins/winsys/winsys.cpp @@ -0,0 +1,415 @@ +/* XChat-WDK + * Copyright (c) 2011 Berke Viktor. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +#include <stdio.h> +#include <windows.h> +#include <comutil.h> +#include <wbemidl.h> + +#include "xchat-plugin.h" + +static xchat_plugin *ph; /* plugin handle */ +static char name[] = "WinSys"; +static char desc[] = "Display info about your hardware and OS"; +static char version[] = "1.1"; +static int firstRun; +static char *wmiOs; +static char *wmiCpu; +static char *wmiVga; + +static int +getCpuArch (void) +{ + OSVERSIONINFOEX osvi; + SYSTEM_INFO si; + + osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFOEX); + GetVersionEx ((LPOSVERSIONINFOW) &osvi); + + GetSystemInfo (&si); + + if (si.wProcessorArchitecture == 9) + { + return 64; + } + else + { + return 86; + } +} + +#if 0 +/* use WMI instead, wProcessorArchitecture displays current binary arch instead of OS arch anyway */ +static char * +getOsName (void) +{ + static char winver[32]; + double mhz; + OSVERSIONINFOEX osvi; + SYSTEM_INFO si; + + osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFOEX); + GetVersionEx ((LPOSVERSIONINFOW) &osvi); + + GetSystemInfo (&si); + + strcpy (winver, "Windows "); + + switch (osvi.dwMajorVersion) + { + case 5: + switch (osvi.dwMinorVersion) + { + case 1: + strcat (winver, "XP"); + break; + case 2: + if (osvi.wProductType == VER_NT_WORKSTATION) + { + strcat (winver, "XP x64 Edition"); + } + else + { + if (GetSystemMetrics(SM_SERVERR2) == 0) + { + strcat (winver, "Server 2003"); + } + else + { + strcat (winver, "Server 2003 R2"); + } + } + break; + } + break; + case 6: + switch (osvi.dwMinorVersion) + { + case 0: + if (osvi.wProductType == VER_NT_WORKSTATION) + { + strcat (winver, "Vista"); + } + else + { + strcat (winver, "Server 2008"); + } + break; + case 1: + if (osvi.wProductType == VER_NT_WORKSTATION) + { + strcat (winver, "7"); + } + else + { + strcat (winver, "Server 2008 R2"); + } + break; + case 2: + if (osvi.wProductType == VER_NT_WORKSTATION) + { + strcat (winver, "8"); + } + else + { + strcat (winver, "8 Server"); + } + break; + } + break; + } + + if (si.wProcessorArchitecture == 9) + { + strcat (winver, " (x64)"); + } + else + { + strcat (winver, " (x86)"); + } + + return winver; +} + +/* x86-only, SDK-only, use WMI instead */ +static char * +getCpuName (void) +{ + // Get extended ids. + unsigned int nExIds; + unsigned int i; + int CPUInfo[4] = {-1}; + static char CPUBrandString[128]; + + __cpuid (CPUInfo, 0x80000000); + nExIds = CPUInfo[0]; + + /* Get the information associated with each extended ID. */ + for (i=0x80000000; i <= nExIds; ++i) + { + __cpuid (CPUInfo, i); + + if (i == 0x80000002) + { + memcpy (CPUBrandString, CPUInfo, sizeof (CPUInfo)); + } + else if (i == 0x80000003) + { + memcpy( CPUBrandString + 16, CPUInfo, sizeof (CPUInfo)); + } + else if (i == 0x80000004) + { + memcpy (CPUBrandString + 32, CPUInfo, sizeof (CPUInfo)); + } + } + + return CPUBrandString; +} +#endif + +static char * +getCpuMhz (void) +{ + HKEY hKey; + int result; + int data; + int dataSize; + double cpuspeed; + static char buffer[16]; + const char *cpuspeedstr; + + if (RegOpenKeyEx (HKEY_LOCAL_MACHINE, TEXT("Hardware\\Description\\System\\CentralProcessor\\0"), 0, KEY_QUERY_VALUE, &hKey) == ERROR_SUCCESS) + { + dataSize = sizeof (data); + result = RegQueryValueEx (hKey, TEXT("~MHz"), 0, 0, (LPBYTE)&data, (LPDWORD)&dataSize); + RegCloseKey (hKey); + if (result == ERROR_SUCCESS) + { + cpuspeed = ( data > 1000 ) ? data / 1000 : data; + cpuspeedstr = ( data > 1000 ) ? "GHz" : "MHz"; + sprintf (buffer, "%.2f %s", cpuspeed, cpuspeedstr); + } + } + + return buffer; +} + +static char * +getMemoryInfo (void) +{ + static char buffer[32]; + MEMORYSTATUSEX meminfo; + + meminfo.dwLength = sizeof (meminfo); + GlobalMemoryStatusEx (&meminfo); + + sprintf (buffer, "%I64d MB Total (%I64d MB Free)", meminfo.ullTotalPhys / 1024 / 1024, meminfo.ullAvailPhys / 1024 / 1024); + + return buffer; +} + +static char * +getWmiInfo (int mode) +{ + /* for more details about this wonderful API, see + http://msdn.microsoft.com/en-us/site/aa394138 + http://msdn.microsoft.com/en-us/site/aa390423 + http://msdn.microsoft.com/en-us/library/windows/desktop/aa394138%28v=vs.85%29.aspx + http://social.msdn.microsoft.com/forums/en-US/vcgeneral/thread/d6420012-e432-4964-8506-6f6b65e5a451 + */ + + char *buffer = (char *) malloc (128); + HRESULT hres; + HRESULT hr; + IWbemLocator *pLoc = NULL; + IWbemServices *pSvc = NULL; + IEnumWbemClassObject *pEnumerator = NULL; + IWbemClassObject *pclsObj; + ULONG uReturn = 0; + + hres = CoInitializeEx (0, COINIT_APARTMENTTHREADED | COINIT_SPEED_OVER_MEMORY); + + if (FAILED (hres)) + { + strcpy (buffer, "Error Code 0"); + return buffer; + } + + hres = CoInitializeSecurity (NULL, -1, NULL, NULL, RPC_C_AUTHN_LEVEL_DEFAULT, RPC_C_IMP_LEVEL_IMPERSONATE, NULL, EOAC_NONE, NULL); + + /* mysteriously failing after the first execution, but only when used as a plugin, skip it */ + /*if (FAILED (hres)) + { + CoUninitialize (); + strcpy (buffer, "Error Code 1"); + return buffer; + }*/ + + hres = CoCreateInstance (CLSID_WbemLocator, 0, CLSCTX_INPROC_SERVER, IID_IWbemLocator, (LPVOID *) &pLoc); + + if (FAILED (hres)) + { + CoUninitialize (); + strcpy (buffer, "Error Code 2"); + return buffer; + } + + hres = pLoc->ConnectServer (_bstr_t (L"root\\CIMV2"), NULL, NULL, 0, NULL, 0, 0, &pSvc); + + if (FAILED (hres)) + { + pLoc->Release (); + CoUninitialize (); + strcpy (buffer, "Error Code 3"); + return buffer; + } + + hres = CoSetProxyBlanket (pSvc, RPC_C_AUTHN_WINNT, RPC_C_AUTHZ_NONE, NULL, RPC_C_AUTHN_LEVEL_CALL, RPC_C_IMP_LEVEL_IMPERSONATE, NULL, EOAC_NONE); + + if (FAILED (hres)) + { + pSvc->Release (); + pLoc->Release (); + CoUninitialize (); + strcpy (buffer, "Error Code 4"); + return buffer; + } + + switch (mode) + { + case 0: + hres = pSvc->ExecQuery (_bstr_t ("WQL"), _bstr_t ("SELECT * FROM Win32_OperatingSystem"), WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, NULL, &pEnumerator); + break; + case 1: + hres = pSvc->ExecQuery (_bstr_t ("WQL"), _bstr_t ("SELECT * FROM Win32_Processor"), WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, NULL, &pEnumerator); + break; + case 2: + hres = pSvc->ExecQuery (_bstr_t ("WQL"), _bstr_t ("SELECT * FROM Win32_VideoController"), WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, NULL, &pEnumerator); + break; + + } + + if (FAILED (hres)) + { + pSvc->Release (); + pLoc->Release (); + CoUninitialize (); + strcpy (buffer, "Error Code 5"); + return buffer; + } + + while (pEnumerator) + { + hr = pEnumerator->Next (WBEM_INFINITE, 1, &pclsObj, &uReturn); + if (0 == uReturn) + { + break; + } + VARIANT vtProp; + switch (mode) + { + case 0: + hr = pclsObj->Get (L"Caption", 0, &vtProp, 0, 0); + break; + case 1: + hr = pclsObj->Get (L"Name", 0, &vtProp, 0, 0); + break; + case 2: + hr = pclsObj->Get (L"Name", 0, &vtProp, 0, 0); + break; + } + WideCharToMultiByte (CP_ACP, 0, vtProp.bstrVal, -1, buffer, SysStringLen (vtProp.bstrVal)+1, NULL, NULL); + VariantClear (&vtProp); + } + + pSvc->Release (); + pLoc->Release (); + pEnumerator->Release (); + pclsObj->Release (); + CoUninitialize (); + return buffer; +} + +static int +printInfo (char *word[], char *word_eol[], void *user_data) +{ + /* query WMI info only at the first time WinSys is called, then cache it to save time */ + if (firstRun) + { + xchat_printf (ph, "%s first execution, querying and caching WMI info...\n", name); + wmiOs = getWmiInfo (0); + wmiCpu = getWmiInfo (1); + wmiVga = getWmiInfo (2); + firstRun = 0; + } + if (xchat_list_int (ph, NULL, "type") >= 2) + { + /* uptime will work correctly for up to 50 days, should be enough */ + xchat_commandf (ph, "ME ** WinSys ** Client: XChat-WDK %s (x%d) ** OS: %s ** CPU: %s (%s) ** RAM: %s ** VGA: %s ** Uptime: %.2f Hours **", + xchat_get_info (ph, "wdk_version"), + getCpuArch (), + wmiOs, + wmiCpu, + getCpuMhz (), + getMemoryInfo (), + wmiVga, (float) GetTickCount() / 1000 / 60 / 60); + } + else + { + xchat_printf (ph, " * Client: XChat-WDK %s (x%d)\n", xchat_get_info (ph, "wdk_version"), getCpuArch ()); + xchat_printf (ph, " * OS: %s\n", wmiOs); + xchat_printf (ph, " * CPU: %s (%s)\n", wmiCpu, getCpuMhz ()); + xchat_printf (ph, " * RAM: %s\n", getMemoryInfo ()); + xchat_printf (ph, " * VGA: %s\n", wmiVga); + xchat_printf (ph, " * Uptime: %.2f Hours\n", (float) GetTickCount() / 1000 / 60 / 60); + } + + return XCHAT_EAT_XCHAT; +} + +int +xchat_plugin_init (xchat_plugin *plugin_handle, char **plugin_name, char **plugin_desc, char **plugin_version, char *arg) +{ + ph = plugin_handle; + + *plugin_name = name; + *plugin_desc = desc; + *plugin_version = version; + + firstRun = 1; + + xchat_hook_command (ph, "WINSYS", XCHAT_PRI_NORM, printInfo, NULL, NULL); + xchat_command (ph, "MENU -ietc\\system.png ADD \"Window/Display System Info\" \"WINSYS\""); + + xchat_printf (ph, "%s plugin loaded\n", name); + + return 1; /* return 1 for success */ +} + + +int +xchat_plugin_deinit (void) +{ + xchat_command (ph, "MENU DEL \"Window/Display System Info\""); + xchat_printf (ph, "%s plugin unloaded\n", name); + return 1; +} diff --git a/plugins/wmpa/ReadMe.txt b/plugins/wmpa/ReadMe.txt new file mode 100644 index 00000000..00a549f8 --- /dev/null +++ b/plugins/wmpa/ReadMe.txt @@ -0,0 +1,70 @@ +======================================================================== + MICROSOFT FOUNDATION CLASS LIBRARY : wmpa +======================================================================== + + +AppWizard has created this wmpa DLL for you. This DLL not only +demonstrates the basics of using the Microsoft Foundation classes but +is also a starting point for writing your DLL. + +This file contains a summary of what you will find in each of the files that +make up your wmpa DLL. + +wmpa.dsp + This file (the project file) contains information at the project level and + is used to build a single project or subproject. Other users can share the + project (.dsp) file, but they should export the makefiles locally. + +wmpa.h + This is the main header file for the DLL. It declares the + CWmpaApp class. + +wmpa.cpp + This is the main DLL source file. It contains the class CWmpaApp. + It also contains the OLE entry points required of inproc servers. + +wmpa.odl + This file contains the Object Description Language source code for the + type library of your DLL. + +wmpa.rc + This is a listing of all of the Microsoft Windows resources that the + program uses. It includes the icons, bitmaps, and cursors that are stored + in the RES subdirectory. This file can be directly edited in Microsoft + Visual C++. + +wmpa.clw + This file contains information used by ClassWizard to edit existing + classes or add new classes. ClassWizard also uses this file to store + information needed to create and edit message maps and dialog data + maps and to create prototype member functions. + +res\wmpa.rc2 + This file contains resources that are not edited by Microsoft + Visual C++. You should place all resources not editable by + the resource editor in this file. + +wmpa.def + This file contains information about the DLL that must be + provided to run with Microsoft Windows. It defines parameters + such as the name and description of the DLL. It also exports + functions from the DLL. + +///////////////////////////////////////////////////////////////////////////// +Other standard files: + +StdAfx.h, StdAfx.cpp + These files are used to build a precompiled header (PCH) file + named wmpa.pch and a precompiled types file named StdAfx.obj. + +Resource.h + This is the standard header file, which defines new resource IDs. + Microsoft Visual C++ reads and updates this file. + +///////////////////////////////////////////////////////////////////////////// +Other notes: + +AppWizard uses "TODO:" to indicate parts of the source code you +should add to or customize. + +///////////////////////////////////////////////////////////////////////////// diff --git a/plugins/wmpa/StdAfx.cpp b/plugins/wmpa/StdAfx.cpp new file mode 100644 index 00000000..ae3c5313 --- /dev/null +++ b/plugins/wmpa/StdAfx.cpp @@ -0,0 +1,8 @@ +// stdafx.cpp : source file that includes just the standard includes +// wmpa.pch will be the pre-compiled header +// stdafx.obj will contain the pre-compiled type information + +#include "stdafx.h" + + + diff --git a/plugins/wmpa/StdAfx.h b/plugins/wmpa/StdAfx.h new file mode 100644 index 00000000..f88a91f3 --- /dev/null +++ b/plugins/wmpa/StdAfx.h @@ -0,0 +1,62 @@ +// stdafx.h : include file for standard system include files, +// or project specific include files that are used frequently, but +// are changed infrequently +// + +#if !defined(AFX_STDAFX_H__33D7BD1A_A9B6_4BDE_B867_5278529B95B2__INCLUDED_) +#define AFX_STDAFX_H__33D7BD1A_A9B6_4BDE_B867_5278529B95B2__INCLUDED_ + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 + +#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers + +#include <afxwin.h> // MFC core and standard components +#include <afxext.h> // MFC extensions + +#ifndef _AFX_NO_OLE_SUPPORT +#include <afxole.h> // MFC OLE classes +#include <afxodlgs.h> // MFC OLE dialog classes +#include <afxdisp.h> // MFC Automation classes +#endif // _AFX_NO_OLE_SUPPORT + + +#ifndef _AFX_NO_DB_SUPPORT +#include <afxdb.h> // MFC ODBC database classes +#endif // _AFX_NO_DB_SUPPORT + +#ifndef _AFX_NO_DAO_SUPPORT +#include <afxdao.h> // MFC DAO database classes +#endif // _AFX_NO_DAO_SUPPORT + +#include <afxdtctl.h> // MFC support for Internet Explorer 4 Common Controls +#ifndef _AFX_NO_AFXCMN_SUPPORT +#include <afxcmn.h> // MFC support for Windows Common Controls +#endif // _AFX_NO_AFXCMN_SUPPORT + +/****************************************************************** +* Includes +******************************************************************/ +#include "wmpcdrom.h" +#include "wmpcdromcollection.h" +#include "wmpclosedcaption.h" +#include "wmpcontrols.h" +#include "wmpdvd.h" +#include "wmperror.h" +#include "wmperroritem.h" +#include "wmpmedia.h" +#include "wmpmediacollection.h" +#include "wmpnetwork.h" +#include "wmpplayer4.h" +#include "wmpplayerapplication.h" +#include "wmpplaylist.h" +#include "wmpplaylistarray.h" +#include "wmpplaylistcollection.h" +#include "wmpsettings.h" +#include "wmpstringcollection.h" + +//{{AFX_INSERT_LOCATION}} +// Microsoft Visual C++ will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_STDAFX_H__33D7BD1A_A9B6_4BDE_B867_5278529B95B2__INCLUDED_) diff --git a/plugins/wmpa/makefile.mak b/plugins/wmpa/makefile.mak new file mode 100644 index 00000000..37e0ecd0 --- /dev/null +++ b/plugins/wmpa/makefile.mak @@ -0,0 +1,53 @@ +include "..\..\src\makeinc.mak" + +TARGET = xcwmpa.dll + +WMPA_OBJECTS = \ +wmpa.obj \ +wmpadialog.obj \ +wmpcdrom.obj \ +wmpcdromcollection.obj \ +wmpclosedcaption.obj \ +wmpcontrols.obj \ +wmpdvd.obj \ +wmperror.obj \ +wmperroritem.obj \ +wmpmedia.obj \ +wmpmediacollection.obj \ +wmpnetwork.obj \ +wmpplayer4.obj \ +wmpplayerapplication.obj \ +wmpplaylist.obj \ +wmpplaylistarray.obj \ +wmpplaylistcollection.obj \ +wmpsettings.obj \ +wmpstringcollection.obj \ +xchat-plugin.obj + +CPPFLAGS = $(CPPFLAGS) /EHsc /D_AFXDLL /D_AFX_NO_DAO_SUPPORT /D_WINDLL /D_USRDLL + +all: $(WMPA_OBJECTS) $(TARGET) + +.cpp.obj: + $(CC) $(CPPFLAGS) /Yc"StdAfx.h" /Fp"wmpa.pch" StdAfx.cpp + $(CC) $(CPPFLAGS) /Yu"StdAfx.h" /Fp"wmpa.pch" /c $< + +$(TARGET): $(WMPA_OBJECTS) + rc /nologo /D_AFXDLL wmpa.rc +!ifdef X64 + midl /nologo /mktyplib203 /char signed /env x64 /h wmpa_h.h /tlb wmpa.tlb wmpa.odl +!else + midl /nologo /mktyplib203 /char signed /env win32 /h wmpa_h.h /tlb wmpa.tlb wmpa.odl +!endif + $(LINK) /DLL /out:$(TARGET) $(LDFLAGS) $(WMPA_OBJECTS) $(LIBS) /def:wmpa.def wmpa.res + +clean: + del $(TARGET) + del *.obj + del wmpa.pch + del wmpa.res + del wmpa.tlb + del wmpa_h.h + del wmpa_i.c + del *.exp + del *.lib diff --git a/plugins/wmpa/res/wmpa.rc2 b/plugins/wmpa/res/wmpa.rc2 new file mode 100644 index 00000000..a45caf5c --- /dev/null +++ b/plugins/wmpa/res/wmpa.rc2 @@ -0,0 +1,13 @@ +// +// WMPA.RC2 - resources Microsoft Visual C++ does not edit directly +// + +#ifdef APSTUDIO_INVOKED + #error this file is not editable by Microsoft Visual C++ +#endif //APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// Add manually edited resources here... + +///////////////////////////////////////////////////////////////////////////// diff --git a/plugins/wmpa/resource.h b/plugins/wmpa/resource.h new file mode 100644 index 00000000..0ce93a4c --- /dev/null +++ b/plugins/wmpa/resource.h @@ -0,0 +1,22 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Developer Studio generated include file. +// Used by wmpa.rc +// +#define IDD_WMPADIALOG 2000 +#define IDC_PLAYLIST 2001 +#define IDC_STATIC1 2002 +#define IDC_WMP 2005 +#define IDI_XCHAT 2005 +#define IDC_SONGLIST 2006 +#define IDC_STATIC2 2007 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 2006 +#define _APS_NEXT_COMMAND_VALUE 32771 +#define _APS_NEXT_CONTROL_VALUE 2008 +#define _APS_NEXT_SYMED_VALUE 2000 +#endif +#endif diff --git a/plugins/wmpa/wmpa.cpp b/plugins/wmpa/wmpa.cpp new file mode 100644 index 00000000..d9488f6d --- /dev/null +++ b/plugins/wmpa/wmpa.cpp @@ -0,0 +1,212 @@ +/****************************************************************** +* $Id$ +* +* $Log$ +* +* Copyright © 2005 David Cullen, All rights reserved +* +******************************************************************/ +#include "stdafx.h" +#include "wmpa.h" +#include "WMPADialog.h" + +#ifdef _DEBUG +#define new DEBUG_NEW +#undef THIS_FILE +static char THIS_FILE[] = __FILE__; +#endif + +// +// Note! +// +// If this DLL is dynamically linked against the MFC +// DLLs, any functions exported from this DLL which +// call into MFC must have the AFX_MANAGE_STATE macro +// added at the very beginning of the function. +// +// For example: +// +// extern "C" BOOL PASCAL EXPORT ExportedFunction() +// { +// AFX_MANAGE_STATE(AfxGetStaticModuleState()); +// // normal function body here +// } +// +// It is very important that this macro appear in each +// function, prior to any calls into MFC. This means that +// it must appear as the first statement within the +// function, even before any object variable declarations +// as their constructors may generate calls into the MFC +// DLL. +// +// Please see MFC Technical Notes 33 and 58 for additional +// details. +// + +///////////////////////////////////////////////////////////////////////////// +// CWmpaApp + +BEGIN_MESSAGE_MAP(CWmpaApp, CWinApp) + //{{AFX_MSG_MAP(CWmpaApp) + // NOTE - the ClassWizard will add and remove mapping macros here. + // DO NOT EDIT what you see in these blocks of generated code! + //}}AFX_MSG_MAP +END_MESSAGE_MAP() + +///////////////////////////////////////////////////////////////////////////// +// CWmpaApp construction + +CWmpaApp::CWmpaApp() +{ + // TODO: add construction code here, + // Place all significant initialization in InitInstance + m_pDialog = NULL; +} + +///////////////////////////////////////////////////////////////////////////// +// The one and only CWmpaApp object + +CWmpaApp theApp; + +///////////////////////////////////////////////////////////////////////////// +// CWmpaApp initialization + +BOOL CWmpaApp::InitInstance() +{ + // Register all OLE server (factories) as running. This enables the + // OLE libraries to create objects from other applications. + COleObjectFactory::RegisterAll(); + + // WARNING: This function enables the ActiveX control container + // Without this function you will not be able to load the WMP + // In fact you will get the following error: + // >>> If this dialog has OLE controls: + // >>> AfxEnableControlContainer has not been called yet. + // >>> You should call it in your app's InitInstance function. + AfxEnableControlContainer(); + + // WARNING: This function initializes the COM library for use + // Without this function you will not be able to load the WMP + // In fact you will get the following error: + // CoCreateInstance of OLE control {6BF52A52-394A-11D3-B153-00C04F79FAA6} failed. + // >>> Result code: 0x800401f0 + // >>> Is the control is properly registered? + // The Error Lookup tool will tell you result code 0x800401F0 means + // CoInitialize has not been called. + CoInitialize(NULL); + + return TRUE; +} + +/****************************************************************** +* ShowWMPA +******************************************************************/ +BOOL CWmpaApp::ShowWMPA(void) +{ + HRESULT result = FALSE; + BOOL created; + + // WARNING: The following two funcions make sure we look for + // our resources in our DLL not in the calling EXE + // Without these functions you will not be able to load the + // Windows Media Player + HMODULE hModule = GetModuleHandle("WMPA.DLL"); + AfxSetResourceHandle((HINSTANCE) hModule); + + if (m_pDialog == NULL) m_pDialog = new CWMPADialog; + + created = m_pDialog->Create(IDD_WMPADIALOG, m_pDialog); + if (!created) return(E_FAIL); + m_pDialog->m_hIcon = LoadIcon(IDI_XCHAT); + m_pDialog->SetIcon(m_pDialog->m_hIcon, TRUE); + + result = m_pDialog->ShowWindow(SW_SHOWNORMAL); + + return(created); +} + +///////////////////////////////////////////////////////////////////////////// +// Special entry points required for inproc servers + +STDAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID* ppv) +{ + AFX_MANAGE_STATE(AfxGetStaticModuleState()); + return AfxDllGetClassObject(rclsid, riid, ppv); +} + +STDAPI DllCanUnloadNow(void) +{ + AFX_MANAGE_STATE(AfxGetStaticModuleState()); + return AfxDllCanUnloadNow(); +} + +// by exporting DllRegisterServer, you can use regsvr.exe +STDAPI DllRegisterServer(void) +{ + AFX_MANAGE_STATE(AfxGetStaticModuleState()); + COleObjectFactory::UpdateRegistryAll(); + return(S_OK); +} + +/****************************************************************** +* DestroyWMPA +******************************************************************/ +BOOL CWmpaApp::DestroyWMPA(void) +{ + if (theApp.m_pDialog == NULL) return(FALSE); + + theApp.m_pDialog->m_WMP.GetControls().stop(); + theApp.m_pDialog->DeleteTrayIcon(); + theApp.m_pDialog->DestroyWindow(); + + return(TRUE); +} + +/****************************************************************** +* StartWindowsMediaPlayer +******************************************************************/ +BOOL StartWindowsMediaPlayer(void) +{ + AFX_MANAGE_STATE(AfxGetStaticModuleState()); + + BOOL result = theApp.ShowWMPA(); + + return(result); +} + +/****************************************************************** +* StopWindowsMediaPlayer +******************************************************************/ +BOOL StopWindowsMediaPlayer(void) +{ + AFX_MANAGE_STATE(AfxGetStaticModuleState()); + + BOOL result = theApp.DestroyWMPA(); + + return(result); +} + +/****************************************************************** +* GetWindowsMediaPlayer +******************************************************************/ +CWMPPlayer4 *GetWindowsMediaPlayer(void) +{ + AFX_MANAGE_STATE(AfxGetStaticModuleState()); + + if (theApp.m_pDialog == NULL) return(NULL); + + return(&(theApp.m_pDialog->m_WMP)); +} + +/****************************************************************** +* GetWMPADialog +******************************************************************/ +CWMPADialog *GetWMPADialog(void) +{ + AFX_MANAGE_STATE(AfxGetStaticModuleState()); + + if (theApp.m_pDialog == NULL) return(NULL); + + return(theApp.m_pDialog); +} + diff --git a/plugins/wmpa/wmpa.def b/plugins/wmpa/wmpa.def new file mode 100644 index 00000000..3555558e --- /dev/null +++ b/plugins/wmpa/wmpa.def @@ -0,0 +1,15 @@ +; wmpa.def : Declares the module parameters for the DLL. + +LIBRARY "xcwmpa" + +EXPORTS + ; Explicit exports can go here + DllCanUnloadNow PRIVATE + DllGetClassObject PRIVATE + DllRegisterServer PRIVATE + xchat_plugin_init + xchat_plugin_deinit + xchat_plugin_get_info + StartWindowsMediaPlayer + GetWindowsMediaPlayer + GetWMPADialog diff --git a/plugins/wmpa/wmpa.h b/plugins/wmpa/wmpa.h new file mode 100644 index 00000000..39961835 --- /dev/null +++ b/plugins/wmpa/wmpa.h @@ -0,0 +1,61 @@ +/****************************************************************** +* $Id$ +* +* $Log$ +* +* Copyright © 2005 David Cullen, All rights reserved +* +******************************************************************/ +#if !defined(AFX_WMPA_H__11200FE3_F137_48DD_8020_91CF7BBB283B__INCLUDED_) +#define AFX_WMPA_H__11200FE3_F137_48DD_8020_91CF7BBB283B__INCLUDED_ + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 + +#ifndef __AFXWIN_H__ + #error include 'stdafx.h' before including this file for PCH +#endif + +#include "resource.h" // main symbols +#include "WMPADialog.h" + +///////////////////////////////////////////////////////////////////////////// +// CWmpaApp +// See wmpa.cpp for the implementation of this class +// + +class CWmpaApp : public CWinApp +{ +public: + CWmpaApp(); + + BOOL ShowWMPA(void); + BOOL DestroyWMPA(void); + + CWMPADialog *m_pDialog; +// Overrides + // ClassWizard generated virtual function overrides + //{{AFX_VIRTUAL(CWmpaApp) + public: + virtual BOOL InitInstance(); + //}}AFX_VIRTUAL + + //{{AFX_MSG(CWmpaApp) + // NOTE - the ClassWizard will add and remove member functions here. + // DO NOT EDIT what you see in these blocks of generated code ! + //}}AFX_MSG + DECLARE_MESSAGE_MAP() +}; + +BOOL StartWindowsMediaPlayer(void); +BOOL StopWindowsMediaPlayer(void); +CWMPPlayer4 *GetWindowsMediaPlayer(void); +CWMPADialog *GetWMPADialog(void); + +///////////////////////////////////////////////////////////////////////////// + +//{{AFX_INSERT_LOCATION}} +// Microsoft Visual C++ will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_WMPA_H__11200FE3_F137_48DD_8020_91CF7BBB283B__INCLUDED_) diff --git a/plugins/wmpa/wmpa.ico b/plugins/wmpa/wmpa.ico new file mode 100644 index 00000000..fb68714c --- /dev/null +++ b/plugins/wmpa/wmpa.ico Binary files differdiff --git a/plugins/wmpa/wmpa.odl b/plugins/wmpa/wmpa.odl new file mode 100644 index 00000000..1c354c34 --- /dev/null +++ b/plugins/wmpa/wmpa.odl @@ -0,0 +1,44 @@ +// wmpa.odl : type library source for wmpa.dll + +// This file will be processed by the MIDL compiler to produce the +// type library (wmpa.tlb). + +[ uuid(2D225385-EFD3-4DD8-9377-A7F244C522D0), version(1.0) ] +library Wmpa +{ + importlib("stdole32.tlb"); + importlib("stdole2.tlb"); + + + + + // Primary dispatch interface for CWMPADIALOG + + [ uuid(01C1B3AA-C7FC-4023-89A5-C814E1B62B9B) ] + dispinterface IWMPADIALOG + { + properties: + // NOTE - ClassWizard will maintain property information here. + // Use extreme caution when editing this section. + //{{AFX_ODL_PROP(CWMPADIALOG) + //}}AFX_ODL_PROP + + methods: + // NOTE - ClassWizard will maintain method information here. + // Use extreme caution when editing this section. + //{{AFX_ODL_METHOD(CWMPADIALOG) + //}}AFX_ODL_METHOD + + }; + + // Class information for CWMPADIALOG + + [ uuid(9007B1B4-0006-453D-A799-DB8CBA1AE22A) ] + coclass WMPADIALOG + { + [default] dispinterface IWMPADIALOG; + }; + + //{{AFX_APPEND_ODL}} + //}}AFX_APPEND_ODL}} +}; diff --git a/plugins/wmpa/wmpa.rc b/plugins/wmpa/wmpa.rc new file mode 100644 index 00000000..b99b4bfb --- /dev/null +++ b/plugins/wmpa/wmpa.rc @@ -0,0 +1,207 @@ +//Microsoft Developer Studio generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "afxres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (U.S.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif //_WIN32 + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE DISCARDABLE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE DISCARDABLE +BEGIN + "#include ""afxres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE DISCARDABLE +BEGIN + "#define _AFX_NO_SPLITTER_RESOURCES\r\n" + "#define _AFX_NO_OLE_RESOURCES\r\n" + "#define _AFX_NO_TRACKER_RESOURCES\r\n" + "#define _AFX_NO_PROPERTY_RESOURCES\r\n" + "\r\n" + "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n" + "#ifdef _WIN32\r\n" + "LANGUAGE 9, 1\r\n" + "#pragma code_page(1252)\r\n" + "#endif //_WIN32\r\n" + "#include ""res\\wmpa.rc2"" // non-Microsoft Visual C++ edited resources\r\n" + "#include ""afxres.rc"" // Standard components\r\n" + "#endif\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +#ifndef _MAC +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 1,0,0,1 + PRODUCTVERSION 1,0,0,1 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x4L + FILETYPE 0x2L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904B0" + BEGIN + VALUE "CompanyName", "\0" + VALUE "FileDescription", "wmpa DLL\0" + VALUE "FileVersion", "1, 0, 0, 1\0" + VALUE "InternalName", "wmpa\0" + VALUE "LegalCopyright", "Copyright (C) 2005\0" + VALUE "LegalTrademarks", "\0" + VALUE "OriginalFilename", "wmpa.DLL\0" + VALUE "ProductName", "wmpa Dynamic Link Library\0" + VALUE "ProductVersion", "1, 0, 0, 1\0" + VALUE "OLESelfRegister", "\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + +#endif // !_MAC + + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +IDD_WMPADIALOG DIALOG DISCARDABLE 0, 0, 317, 236 +STYLE DS_MODALFRAME | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU +CAPTION "Unitialized" +FONT 8, "MS Sans Serif" +BEGIN + LISTBOX IDC_PLAYLIST,165,15,145,145,LBS_NOINTEGRALHEIGHT | + WS_VSCROLL | WS_HSCROLL | WS_TABSTOP + LTEXT "Play Lists (Double-click to play)",IDC_STATIC1,165,5, + 145,10 + CONTROL "",IDC_WMP,"{6BF52A52-394A-11D3-B153-00C04F79FAA6}", + WS_TABSTOP,5,5,155,155 + LISTBOX IDC_SONGLIST,5,175,305,55,LBS_NOINTEGRALHEIGHT | + WS_VSCROLL | WS_TABSTOP + LTEXT "Song List (Double-click to play)",IDC_STATIC2,5,165,305, + 10 +END + + +///////////////////////////////////////////////////////////////////////////// +// +// DESIGNINFO +// + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO DISCARDABLE +BEGIN + IDD_WMPADIALOG, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 310 + TOPMARGIN, 7 + BOTTOMMARGIN, 229 + END +END +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog Info +// + +IDD_WMPADIALOG DLGINIT +BEGIN + IDC_WMP, 0x376, 166, 0 +0x0000, 0x0000, 0x0300, 0x0000, 0x0008, 0x0000, 0x0000, 0x0005, 0x0000, +0x0000, 0x0000, 0x3ff0, 0x0003, 0x0000, 0x0000, 0x0005, 0x0000, 0x0000, +0x0000, 0x0000, 0x0008, 0x0002, 0x0000, 0x0000, 0x0003, 0x0001, 0x0000, +0x000b, 0xffff, 0x0003, 0x0000, 0x0000, 0x000b, 0xffff, 0x0008, 0x0002, +0x0000, 0x0000, 0x0003, 0x0032, 0x0000, 0x000b, 0x0000, 0x0008, 0x000a, +0x0000, 0x0066, 0x0075, 0x006c, 0x006c, 0x0000, 0x000b, 0x0000, 0x000b, +0x0000, 0x000b, 0xffff, 0x000b, 0xffff, 0x000b, 0x0000, 0x0008, 0x0002, +0x0000, 0x0000, 0x0008, 0x0002, 0x0000, 0x0000, 0x0008, 0x0002, 0x0000, +0x0000, 0x0008, 0x0002, 0x0000, 0x0000, 0x000b, 0x0000, 0x1815, 0x0000, +0x1a0c, 0x0000, + 0 +END + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +// +// the WMP icon comes from here: +// http://www.iconarchive.com/show/phuzion-icons-by-kyo-tux/Applic-WMP-icon.html +IDI_XCHAT ICON DISCARDABLE "wmpa.ico" +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// +#define _AFX_NO_SPLITTER_RESOURCES +#define _AFX_NO_OLE_RESOURCES +#define _AFX_NO_TRACKER_RESOURCES +#define _AFX_NO_PROPERTY_RESOURCES + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE 9, 1 +#pragma code_page(1252) +#endif //_WIN32 +#include "res\wmpa.rc2" // non-Microsoft Visual C++ edited resources +#include "afxres.rc" // Standard components +#endif + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/plugins/wmpa/wmpa.sln b/plugins/wmpa/wmpa.sln new file mode 100644 index 00000000..a3b71091 --- /dev/null +++ b/plugins/wmpa/wmpa.sln @@ -0,0 +1,20 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "wmpa", "wmpa.vcxproj", "{08AD7C4D-DDDC-9545-A8D7-1808E6056143}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {08AD7C4D-DDDC-9545-A8D7-1808E6056143}.Release|Win32.ActiveCfg = Release|Win32 + {08AD7C4D-DDDC-9545-A8D7-1808E6056143}.Release|Win32.Build.0 = Release|Win32 + {08AD7C4D-DDDC-9545-A8D7-1808E6056143}.Release|x64.ActiveCfg = Release|x64 + {08AD7C4D-DDDC-9545-A8D7-1808E6056143}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/plugins/wmpa/wmpa.vcxproj b/plugins/wmpa/wmpa.vcxproj new file mode 100644 index 00000000..919c2c00 --- /dev/null +++ b/plugins/wmpa/wmpa.vcxproj @@ -0,0 +1,231 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <SccProjectName /> + <SccLocalPath /> + <Keyword>MFCProj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <UseOfMfc>Dynamic</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <UseOfMfc>Dynamic</UseOfMfc> + <CharacterSet>MultiByte</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="$(VCTargetsPath)Microsoft.Cpp.UpgradeFromVC60.props" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <OutDir>.\Release\</OutDir> + <IntDir>.\Release\</IntDir> + <LinkIncremental>false</LinkIncremental> + <TargetName>xcwmpa</TargetName> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <OutDir>.\Release\</OutDir> + <IntDir>.\Release\</IntDir> + <LinkIncremental>false</LinkIncremental> + <TargetName>xcwmpa</TargetName> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> + <StringPooling>true</StringPooling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <Optimization>MaxSpeed</Optimization> + <SuppressStartupBanner>true</SuppressStartupBanner> + <WarningLevel>Level3</WarningLevel> + <AdditionalIncludeDirectories>c:\WinDDK\7600.16385.1\inc\api;c:\WinDDK\7600.16385.1\inc\crt;c:\WinDDK\7600.16385.1\inc\mfc42;c:\WinDDK\7600.16385.1\inc\ddk;c:\WinDDK\7600.16385.1\inc\api\dao360</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_WINDLL;_USRDLL;_AFXDLL;_AFX_NO_DAO_SUPPORT</PreprocessorDefinitions> + <AssemblerListingLocation>.\Release\</AssemblerListingLocation> + <PrecompiledHeaderOutputFile>.\Release\wmpa.pch</PrecompiledHeaderOutputFile> + <PrecompiledHeader>Use</PrecompiledHeader> + <PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile> + <ObjectFileName>.\Release\</ObjectFileName> + <ProgramDataBaseFileName>.\Release\</ProgramDataBaseFileName> + </ClCompile> + <Midl> + <SuppressStartupBanner>true</SuppressStartupBanner> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <TypeLibraryName>.\Release\wmpa.tlb</TypeLibraryName> + <MkTypLibCompatible>true</MkTypLibCompatible> + <TargetEnvironment>Win32</TargetEnvironment> + </Midl> + <ResourceCompile> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + <Bscmake> + <SuppressStartupBanner>true</SuppressStartupBanner> + <OutputFile>.\Release\wmpa.bsc</OutputFile> + </Bscmake> + <Link> + <SuppressStartupBanner>true</SuppressStartupBanner> + <LinkDLL>true</LinkDLL> + <SubSystem>Windows</SubSystem> + <OutputFile>.\Release\xcwmpa.dll</OutputFile> + <ImportLibrary>.\Release\wmpa.lib</ImportLibrary> + <ModuleDefinitionFile>.\wmpa.def</ModuleDefinitionFile> + <AdditionalLibraryDirectories>c:\WinDDK\7600.16385.1\lib\Crt\i386;c:\WinDDK\7600.16385.1\lib\wxp\i386;c:\WinDDK\7600.16385.1\lib\Mfc\i386;c:\WinDDK\7600.16385.1\lib\ATL\i386</AdditionalLibraryDirectories> + <AdditionalDependencies>msvcrt_winxp.obj</AdditionalDependencies> + </Link> + <CustomBuildStep> + <Command> + </Command> + <Outputs> + </Outputs> + <Message> + </Message> + </CustomBuildStep> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> + <StringPooling>true</StringPooling> + <FunctionLevelLinking>true</FunctionLevelLinking> + <Optimization>MaxSpeed</Optimization> + <SuppressStartupBanner>true</SuppressStartupBanner> + <WarningLevel>Level3</WarningLevel> + <AdditionalIncludeDirectories>c:\WinDDK\7600.16385.1\inc\api;c:\WinDDK\7600.16385.1\inc\crt;c:\WinDDK\7600.16385.1\inc\mfc42;c:\WinDDK\7600.16385.1\inc\ddk;c:\WinDDK\7600.16385.1\inc\api\dao360</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_WINDLL;_USRDLL;_AFXDLL;_AFX_NO_DAO_SUPPORT</PreprocessorDefinitions> + <AssemblerListingLocation>.\Release\</AssemblerListingLocation> + <PrecompiledHeaderOutputFile>.\Release\wmpa.pch</PrecompiledHeaderOutputFile> + <PrecompiledHeader>Use</PrecompiledHeader> + <PrecompiledHeaderFile>stdafx.h</PrecompiledHeaderFile> + <ObjectFileName>.\Release\</ObjectFileName> + <ProgramDataBaseFileName>.\Release\</ProgramDataBaseFileName> + </ClCompile> + <Midl> + <SuppressStartupBanner>true</SuppressStartupBanner> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <TypeLibraryName>.\Release\wmpa.tlb</TypeLibraryName> + <MkTypLibCompatible>true</MkTypLibCompatible> + <TargetEnvironment>X64</TargetEnvironment> + </Midl> + <ResourceCompile> + <Culture>0x0409</Culture> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + </ResourceCompile> + <Bscmake> + <SuppressStartupBanner>true</SuppressStartupBanner> + <OutputFile>.\Release\wmpa.bsc</OutputFile> + </Bscmake> + <Link> + <SuppressStartupBanner>true</SuppressStartupBanner> + <LinkDLL>true</LinkDLL> + <SubSystem>Windows</SubSystem> + <OutputFile>.\Release\xcwmpa.dll</OutputFile> + <ImportLibrary>.\Release\wmpa.lib</ImportLibrary> + <ModuleDefinitionFile>.\wmpa.def</ModuleDefinitionFile> + <AdditionalLibraryDirectories>c:\WinDDK\7600.16385.1\lib\Crt\amd64;c:\WinDDK\7600.16385.1\lib\wnet\amd64;c:\WinDDK\7600.16385.1\lib\Mfc\amd64;c:\WinDDK\7600.16385.1\lib\ATL\amd64</AdditionalLibraryDirectories> + <AdditionalDependencies>msvcrt_win2003.obj</AdditionalDependencies> + </Link> + <CustomBuildStep> + <Command> + </Command> + <Outputs> + </Outputs> + <Message> + </Message> + </CustomBuildStep> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="StdAfx.cpp"> + <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader> + <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader> + <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">stdafx.h</PrecompiledHeaderFile> + <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|x64'">stdafx.h</PrecompiledHeaderFile> + </ClCompile> + <ClCompile Include="wmpa.cpp" /> + <ClCompile Include="WMPADialog.cpp" /> + <ClCompile Include="wmpcdrom.cpp" /> + <ClCompile Include="wmpcdromcollection.cpp" /> + <ClCompile Include="wmpclosedcaption.cpp" /> + <ClCompile Include="wmpcontrols.cpp" /> + <ClCompile Include="wmpdvd.cpp" /> + <ClCompile Include="wmperror.cpp" /> + <ClCompile Include="wmperroritem.cpp" /> + <ClCompile Include="wmpmedia.cpp" /> + <ClCompile Include="wmpmediacollection.cpp" /> + <ClCompile Include="wmpnetwork.cpp" /> + <ClCompile Include="wmpplayer4.cpp" /> + <ClCompile Include="wmpplayerapplication.cpp" /> + <ClCompile Include="wmpplaylist.cpp" /> + <ClCompile Include="wmpplaylistarray.cpp" /> + <ClCompile Include="wmpplaylistcollection.cpp" /> + <ClCompile Include="wmpsettings.cpp" /> + <ClCompile Include="wmpstringcollection.cpp" /> + <ClCompile Include="xchat-plugin.cpp" /> + </ItemGroup> + <ItemGroup> + <CustomBuild Include="wmpa.def" /> + <CustomBuild Include="res\wmpa.rc2"> + <FileType>RC</FileType> + </CustomBuild> + <CustomBuild Include="wmpa.ico" /> + <CustomBuild Include="ReadMe.txt" /> + </ItemGroup> + <ItemGroup> + <Midl Include="wmpa.odl"> + <TargetEnvironment Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Win32</TargetEnvironment> + </Midl> + </ItemGroup> + <ItemGroup> + <ResourceCompile Include="wmpa.rc"> + <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(OUTDIR);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(OUTDIR);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + </ResourceCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="Resource.h" /> + <ClInclude Include="StdAfx.h" /> + <ClInclude Include="wmpa.h" /> + <ClInclude Include="WMPADIALOG.h" /> + <ClInclude Include="wmpcdrom.h" /> + <ClInclude Include="wmpcdromcollection.h" /> + <ClInclude Include="wmpclosedcaption.h" /> + <ClInclude Include="wmpcontrols.h" /> + <ClInclude Include="wmpdvd.h" /> + <ClInclude Include="wmperror.h" /> + <ClInclude Include="wmperroritem.h" /> + <ClInclude Include="wmpmedia.h" /> + <ClInclude Include="wmpmediacollection.h" /> + <ClInclude Include="wmpnetwork.h" /> + <ClInclude Include="wmpplayer4.h" /> + <ClInclude Include="wmpplayerapplication.h" /> + <ClInclude Include="wmpplaylist.h" /> + <ClInclude Include="wmpplaylistarray.h" /> + <ClInclude Include="wmpplaylistcollection.h" /> + <ClInclude Include="wmpsettings.h" /> + <ClInclude Include="wmpstringcollection.h" /> + <ClInclude Include="xchat-plugin.h" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project> \ No newline at end of file diff --git a/plugins/wmpa/wmpa.vcxproj.filters b/plugins/wmpa/wmpa.vcxproj.filters new file mode 100644 index 00000000..6962f46e --- /dev/null +++ b/plugins/wmpa/wmpa.vcxproj.filters @@ -0,0 +1,172 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{3206fd00-efdb-4bca-9740-9708bd405701}</UniqueIdentifier> + <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{17e13eb2-1243-4ff2-9532-1d6dab0bfef9}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{a1d9cf8c-f0bb-4a19-bfff-5223276e650a}</UniqueIdentifier> + <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="StdAfx.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="wmpa.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="WMPADialog.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="wmpcdrom.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="wmpcdromcollection.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="wmpclosedcaption.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="wmpcontrols.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="wmpdvd.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="wmperror.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="wmperroritem.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="wmpmedia.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="wmpmediacollection.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="wmpnetwork.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="wmpplayer4.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="wmpplayerapplication.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="wmpplaylist.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="wmpplaylistarray.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="wmpplaylistcollection.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="wmpsettings.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="wmpstringcollection.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="xchat-plugin.cpp"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <Midl Include="wmpa.odl"> + <Filter>Source Files</Filter> + </Midl> + </ItemGroup> + <ItemGroup> + <ResourceCompile Include="wmpa.rc"> + <Filter>Source Files</Filter> + </ResourceCompile> + </ItemGroup> + <ItemGroup> + <ClInclude Include="Resource.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="StdAfx.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="wmpa.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="WMPADIALOG.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="wmpcdrom.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="wmpcdromcollection.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="wmpclosedcaption.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="wmpcontrols.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="wmpdvd.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="wmperror.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="wmperroritem.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="wmpmedia.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="wmpmediacollection.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="wmpnetwork.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="wmpplayer4.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="wmpplayerapplication.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="wmpplaylist.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="wmpplaylistarray.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="wmpplaylistcollection.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="wmpsettings.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="wmpstringcollection.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="xchat-plugin.h"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> + <ItemGroup> + <CustomBuild Include="wmpa.def"> + <Filter>Source Files</Filter> + </CustomBuild> + <CustomBuild Include="res\wmpa.rc2"> + <Filter>Resource Files</Filter> + </CustomBuild> + <CustomBuild Include="wmpa.ico"> + <Filter>Resource Files</Filter> + </CustomBuild> + <CustomBuild Include="ReadMe.txt" /> + </ItemGroup> +</Project> \ No newline at end of file diff --git a/plugins/wmpa/wmpadialog.cpp b/plugins/wmpa/wmpadialog.cpp new file mode 100644 index 00000000..b0cdd16e --- /dev/null +++ b/plugins/wmpa/wmpadialog.cpp @@ -0,0 +1,375 @@ +/****************************************************************** +* $Id$ +* +* $Log$ +* +* Copyright © 2005 David Cullen, All rights reserved +* +******************************************************************/ +#include "stdafx.h" +#include "wmpa.h" +#include "WMPADialog.h" +#include "shellapi.h" +#include "xchat-plugin.h" + +#ifdef _DEBUG +#define new DEBUG_NEW +#undef THIS_FILE +static char THIS_FILE[] = __FILE__; +#endif + +#define ID_TRAY_ICON 1000 +#define WM_TRAY_ICON (WM_APP + 1) + +///////////////////////////////////////////////////////////////////////////// +// CWMPADialog dialog + +CWMPADialog::CWMPADialog(CWnd* pParent /*=NULL*/) + : CDialog(CWMPADialog::IDD, pParent) +{ + EnableAutomation(); + + //{{AFX_DATA_INIT(CWMPADialog) + //}}AFX_DATA_INIT +} + + +void CWMPADialog::OnFinalRelease() +{ + // When the last reference for an automation object is released + // OnFinalRelease is called. The base class will automatically + // deletes the object. Add additional cleanup required for your + // object before calling the base class. + + CDialog::OnFinalRelease(); +} + +void CWMPADialog::DoDataExchange(CDataExchange* pDX) +{ + CDialog::DoDataExchange(pDX); + //{{AFX_DATA_MAP(CWMPADialog) + DDX_Control(pDX, IDC_SONGLIST, m_SongListBox); + DDX_Control(pDX, IDC_PLAYLIST, m_PlaylistBox); + DDX_Control(pDX, IDC_WMP, m_WMP); + //}}AFX_DATA_MAP +} + + +BEGIN_MESSAGE_MAP(CWMPADialog, CDialog) + //{{AFX_MSG_MAP(CWMPADialog) + ON_LBN_DBLCLK(IDC_PLAYLIST, OnDblclkPlaylist) + ON_WM_SHOWWINDOW() + ON_WM_CLOSE() + ON_LBN_DBLCLK(IDC_SONGLIST, OnDblclkSonglist) + ON_WM_DESTROY() + ON_WM_SIZE() + //}}AFX_MSG_MAP +END_MESSAGE_MAP() + +BEGIN_DISPATCH_MAP(CWMPADialog, CDialog) + //{{AFX_DISPATCH_MAP(CWMPADialog) + // NOTE - the ClassWizard will add and remove mapping macros here. + //}}AFX_DISPATCH_MAP +END_DISPATCH_MAP() + +// Note: we add support for IID_IWMPADialog to support typesafe binding +// from VBA. This IID must match the GUID that is attached to the +// dispinterface in the .ODL file. + +// {01C1B3AA-C7FC-4023-89A5-C814E1B62B9B} +static const IID IID_IWMPADialog = +{ 0x1c1b3aa, 0xc7fc, 0x4023, { 0x89, 0xa5, 0xc8, 0x14, 0xe1, 0xb6, 0x2b, 0x9b } }; + +BEGIN_INTERFACE_MAP(CWMPADialog, CDialog) + INTERFACE_PART(CWMPADialog, IID_IWMPADialog, Dispatch) +END_INTERFACE_MAP() + +///////////////////////////////////////////////////////////////////////////// +// CWMPADialog message handlers + +void CWMPADialog::OnDblclkPlaylist() +{ + // TODO: Add your control notification handler code here + long index; + + // Get the playlist name + index = m_PlaylistBox.GetCurSel(); + CString playlistName; + m_PlaylistBox.GetText(index, playlistName); + + // Get the playlist + CWMPPlaylistCollection pc = m_WMP.GetPlaylistCollection(); + CWMPPlaylistArray pa = pc.getByName((LPCTSTR) playlistName); + CWMPPlaylist playlist = pa.Item(0); + m_WMP.SetCurrentPlaylist(playlist); + + // Set the song list + UpdateSongList(); + + m_WMP.GetControls().play(); + if (autoAnnounce) { + xchat_commandf(ph, "me is playing %s", (LPCTSTR) wmpaGetSongTitle()); + } + else { + xchat_printf(ph, "WMPA: Playing %s", (LPCTSTR) wmpaGetSongTitle()); + } +} + +void CWMPADialog::OnShowWindow(BOOL bShow, UINT nStatus) +{ + CDialog::OnShowWindow(bShow, nStatus); + + // TODO: Add your message handler code here + if (bShow) { + if (!trayInit) { + ZeroMemory(&nid, sizeof(nid)); + nid.cbSize = sizeof(nid); + nid.hWnd = m_hWnd; + nid.uID = ID_TRAY_ICON; + nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP; + nid.uCallbackMessage = WM_TRAY_ICON; + nid.hIcon = m_hIcon; + strcpy(nid.szTip, "WMPA"); + strcat(nid.szTip, VER_STRING); + strcat(nid.szTip, "\nWindows Media\nPlayer Announcer"); + nid.dwState = 0; + nid.dwStateMask = 0; + strcpy(nid.szInfo, "WMPA "); + strcat(nid.szInfo, VER_STRING); + nid.uTimeout = 10000; // 10 second time out + strcat(nid.szInfoTitle, "WMPA"); + nid.dwInfoFlags = 0; + trayInit = TRUE; + } + } + +} + + +void CWMPADialog::PostNcDestroy() +{ + // TODO: Add your specialized code here and/or call the base class + delete this; + + CDialog::PostNcDestroy(); +} + + +BOOL CWMPADialog::OnInitDialog() +{ + CDialog::OnInitDialog(); + + CString title = "WMPA"; + title += " "; + title += VER_STRING; + SetWindowText((LPCTSTR) title); + + UpdatePlayLists(); + + autoAnnounce = FALSE; + trayInit = FALSE; + trayClicked = FALSE; + + return TRUE; // return TRUE unless you set the focus to a control + // EXCEPTION: OCX Property Pages should return FALSE +} + +void CWMPADialog::OnClose() +{ + // TODO: Add your message handler code here and/or call default + Shell_NotifyIcon(NIM_ADD, &nid); + ShowWindow(SW_HIDE); + + // Don't let the user close the dialog +// CDialog::OnClose(); +} + +void CWMPADialog::OnCancel() +{ +// this->DestroyWindow(); +} + +void CWMPADialog::OnDblclkSonglist() +{ + // TODO: Add your control notification handler code here + int index = m_SongListBox.GetCurSel(); + m_WMP.GetControls().playItem(m_WMP.GetCurrentPlaylist().GetItem(index)); + if (autoAnnounce) { + xchat_commandf(ph, "me is playing %s", (LPCTSTR) wmpaGetSongTitle()); + } + else { + xchat_printf(ph, "WMPA: Playing %s", (LPCTSTR) wmpaGetSongTitle()); + } +} + +BEGIN_EVENTSINK_MAP(CWMPADialog, CDialog) + //{{AFX_EVENTSINK_MAP(CWMPADialog) + ON_EVENT(CWMPADialog, IDC_WMP, 5806 /* CurrentItemChange */, OnCurrentItemChangeWmp, VTS_DISPATCH) + ON_EVENT(CWMPADialog, IDC_WMP, 5101 /* PlayStateChange */, OnPlayStateChangeWmp, VTS_I4) + //}}AFX_EVENTSINK_MAP +END_EVENTSINK_MAP() + +void CWMPADialog::OnCurrentItemChangeWmp(LPDISPATCH pdispMedia) +{ + // TODO: Add your control notification handler code here + + int state = m_WMP.GetPlayState(); + if (state == 3) { // Playing + if (autoAnnounce) { + xchat_commandf(ph, "me is playing %s", (LPCTSTR) wmpaGetSongTitle()); + } + else { + xchat_printf(ph, "WMPA: Playing %s", (LPCTSTR) wmpaGetSongTitle()); + } + } + + SelectCurrentSong(); +} + +void CWMPADialog::OnDestroy() +{ + CDialog::OnDestroy(); + + // TODO: Add your message handler code here +} + +void CWMPADialog::UpdateSongList() +{ + char buffer[32]; + CString name; + CString artist; + CString title; + CString album; + CString bitrate; + CString duration; + CString song; + long index; + long count; + + m_SongListBox.ResetContent(); + CWMPPlaylist playlist = m_WMP.GetCurrentPlaylist(); + count = playlist.GetCount(); + m_SongListBox.ResetContent(); + for (index = 0; index < count; index++) { + name = playlist.GetItem(index).GetName(); + artist = playlist.GetItem(index).getItemInfo("Artist"); + title = playlist.GetItem(index).getItemInfo("Title"); + album = playlist.GetItem(index).getItemInfo("Album"); + bitrate = playlist.GetItem(index).getItemInfo("Bitrate"); + duration = playlist.GetItem(index).GetDurationString(); + + long krate = strtoul((LPCTSTR) bitrate, NULL, 10) / 1000; + _ultoa(krate, buffer, 10); + bitrate = CString(buffer); + + if (album.IsEmpty()) { + playlist.removeItem(playlist.GetItem(index)); + count = playlist.GetCount(); + } + else { + song = ""; + song += artist; + if (song.IsEmpty()) song = "Various"; + song += " - "; + song += title; + song += " ("; + song += album; + song += ") ["; + song += duration; + song += "/"; + song += bitrate; + song += "Kbps]"; + m_SongListBox.AddString((LPCTSTR) song); + } + + } + m_SongListBox.SetCurSel(0); +} + +void CWMPADialog::SelectCurrentSong() +{ + CWMPMedia media; + long index; + long count; + + count = m_WMP.GetCurrentPlaylist().GetCount(); + for (index = 0; index < count; index++) { + media = m_WMP.GetCurrentPlaylist().GetItem(index); + if (m_WMP.GetCurrentMedia().GetIsIdentical(media)) { + m_SongListBox.SetCurSel(index); + } + } +} + +void CWMPADialog::UpdatePlayLists() +{ + // TODO: Add extra initialization here + CWMPPlaylistCollection pc = m_WMP.GetPlaylistCollection(); + CWMPPlaylistArray pa = pc.getAll(); + CWMPPlaylist playlist; + + int index; + int count = pa.GetCount(); + m_PlaylistBox.ResetContent(); + for (index = 0; index < count; index++) { + playlist = pa.Item(index); + m_PlaylistBox.AddString((LPCTSTR) playlist.GetName()); + } +} + + +void CWMPADialog::OnPlayStateChangeWmp(long NewState) +{ + // TODO: Add your control notification handler code here +} + +void CWMPADialog::OnSize(UINT nType, int cx, int cy) +{ + CDialog::OnSize(nType, cx, cy); + // TODO: Add your message handler code here + switch (nType) { + case SIZE_MINIMIZED: + break; + + case SIZE_RESTORED: + Shell_NotifyIcon(NIM_DELETE, &nid); + break; + + default: + break; + } +} + +LRESULT CWMPADialog::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) +{ + // TODO: Add your specialized code here and/or call the base class + switch (message) { + case WM_TRAY_ICON: + switch (lParam) { + case WM_LBUTTONDBLCLK: + trayClicked = TRUE; + break; + + case WM_LBUTTONUP: + if (trayClicked == TRUE) { + ShowWindow(SW_RESTORE); + } + break; + + default: + trayClicked = FALSE; + break; + } + return(TRUE); + break; + + default: + return CDialog::WindowProc(message, wParam, lParam); + break; + } +} + +void CWMPADialog::DeleteTrayIcon() +{ + Shell_NotifyIcon(NIM_DELETE, &nid); +} diff --git a/plugins/wmpa/wmpadialog.h b/plugins/wmpa/wmpadialog.h new file mode 100644 index 00000000..43e9a66a --- /dev/null +++ b/plugins/wmpa/wmpadialog.h @@ -0,0 +1,91 @@ +/****************************************************************** +* $Id$ +* +* $Log$ +* +* Copyright © 2005 David Cullen, All rights reserved +* +******************************************************************/ +//{{AFX_INCLUDES() +#include "wmpplayer4.h" +//}}AFX_INCLUDES +#if !defined(AFX_WMPADIALOG_H__D3838BCC_9E26_4FC0_BD42_C8D8EDF057E3__INCLUDED_) +#define AFX_WMPADIALOG_H__D3838BCC_9E26_4FC0_BD42_C8D8EDF057E3__INCLUDED_ + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 +// WMPADialog.h : header file +// + +///////////////////////////////////////////////////////////////////////////// +// CWMPADialog dialog + +class CWMPADialog : public CDialog +{ +// Construction +public: + CWMPADialog(CWnd* pParent = NULL); // standard constructor + virtual void OnCancel(); + void UpdatePlayLists(); + void UpdateSongList(); + void SelectCurrentSong(); + void DeleteTrayIcon(); + BOOL autoAnnounce; + HICON m_hIcon; + +private: + BOOL trayInit; + BOOL trayClicked; + NOTIFYICONDATA nid; + +public: +// Dialog Data + //{{AFX_DATA(CWMPADialog) + enum { IDD = IDD_WMPADIALOG }; + CListBox m_SongListBox; + CListBox m_PlaylistBox; + CWMPPlayer4 m_WMP; + //}}AFX_DATA + + +// Overrides + // ClassWizard generated virtual function overrides + //{{AFX_VIRTUAL(CWMPADialog) + public: + virtual void OnFinalRelease(); + protected: + virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support + virtual void PostNcDestroy(); + virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam); + //}}AFX_VIRTUAL + +// Implementation +protected: + + // Generated message map functions + //{{AFX_MSG(CWMPADialog) + afx_msg void OnDblclkPlaylist(); + afx_msg void OnShowWindow(BOOL bShow, UINT nStatus); + virtual BOOL OnInitDialog(); + afx_msg void OnClose(); + afx_msg void OnDblclkSonglist(); + afx_msg void OnCurrentItemChangeWmp(LPDISPATCH pdispMedia); + afx_msg void OnDestroy(); + afx_msg void OnPlayStateChangeWmp(long NewState); + afx_msg void OnSize(UINT nType, int cx, int cy); + DECLARE_EVENTSINK_MAP() + //}}AFX_MSG + DECLARE_MESSAGE_MAP() + // Generated OLE dispatch map functions + //{{AFX_DISPATCH(CWMPADialog) + // NOTE - the ClassWizard will add and remove member functions here. + //}}AFX_DISPATCH + DECLARE_DISPATCH_MAP() + DECLARE_INTERFACE_MAP() +}; + +//{{AFX_INSERT_LOCATION}} +// Microsoft Visual C++ will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_WMPADIALOG_H__D3838BCC_9E26_4FC0_BD42_C8D8EDF057E3__INCLUDED_) diff --git a/plugins/wmpa/wmpcdrom.cpp b/plugins/wmpa/wmpcdrom.cpp new file mode 100644 index 00000000..121f0535 --- /dev/null +++ b/plugins/wmpa/wmpcdrom.cpp @@ -0,0 +1,37 @@ +// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++ + +// NOTE: Do not modify the contents of this file. If this class is regenerated by +// Microsoft Visual C++, your modifications will be overwritten. + + +#include "stdafx.h" +#include "wmpcdrom.h" + +// Dispatch interfaces referenced by this interface +#include "wmpplaylist.h" + + +///////////////////////////////////////////////////////////////////////////// +// CWMPCdrom properties + +///////////////////////////////////////////////////////////////////////////// +// CWMPCdrom operations + +CString CWMPCdrom::GetDriveSpecifier() +{ + CString result; + InvokeHelper(0xfb, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); + return result; +} + +CWMPPlaylist CWMPCdrom::GetPlaylist() +{ + LPDISPATCH pDispatch; + InvokeHelper(0xfc, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL); + return CWMPPlaylist(pDispatch); +} + +void CWMPCdrom::eject() +{ + InvokeHelper(0xfd, DISPATCH_METHOD, VT_EMPTY, NULL, NULL); +} diff --git a/plugins/wmpa/wmpcdrom.h b/plugins/wmpa/wmpcdrom.h new file mode 100644 index 00000000..f52f8f10 --- /dev/null +++ b/plugins/wmpa/wmpcdrom.h @@ -0,0 +1,39 @@ +#if !defined(AFX_WMPCDROM_H__B7B13CE9_E69E_4D54_9370_CCA2D4A42532__INCLUDED_) +#define AFX_WMPCDROM_H__B7B13CE9_E69E_4D54_9370_CCA2D4A42532__INCLUDED_ + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 +// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++ + +// NOTE: Do not modify the contents of this file. If this class is regenerated by +// Microsoft Visual C++, your modifications will be overwritten. + + +// Dispatch interfaces referenced by this interface +class CWMPPlaylist; + +///////////////////////////////////////////////////////////////////////////// +// CWMPCdrom wrapper class + +class CWMPCdrom : public COleDispatchDriver +{ +public: + CWMPCdrom() {} // Calls COleDispatchDriver default constructor + CWMPCdrom(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} + CWMPCdrom(const CWMPCdrom& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} + +// Attributes +public: + +// Operations +public: + CString GetDriveSpecifier(); + CWMPPlaylist GetPlaylist(); + void eject(); +}; + +//{{AFX_INSERT_LOCATION}} +// Microsoft Visual C++ will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_WMPCDROM_H__B7B13CE9_E69E_4D54_9370_CCA2D4A42532__INCLUDED_) diff --git a/plugins/wmpa/wmpcdromcollection.cpp b/plugins/wmpa/wmpcdromcollection.cpp new file mode 100644 index 00000000..3e1f7e7d --- /dev/null +++ b/plugins/wmpa/wmpcdromcollection.cpp @@ -0,0 +1,45 @@ +// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++ + +// NOTE: Do not modify the contents of this file. If this class is regenerated by +// Microsoft Visual C++, your modifications will be overwritten. + + +#include "stdafx.h" +#include "wmpcdromcollection.h" + +// Dispatch interfaces referenced by this interface +#include "WMPCdrom.h" + + +///////////////////////////////////////////////////////////////////////////// +// CWMPCdromCollection properties + +///////////////////////////////////////////////////////////////////////////// +// CWMPCdromCollection operations + +long CWMPCdromCollection::GetCount() +{ + long result; + InvokeHelper(0x12d, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); + return result; +} + +CWMPCdrom CWMPCdromCollection::Item(long lIndex) +{ + LPDISPATCH pDispatch; + static BYTE parms[] = + VTS_I4; + InvokeHelper(0x12e, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, parms, + lIndex); + return CWMPCdrom(pDispatch); +} + +CWMPCdrom CWMPCdromCollection::getByDriveSpecifier(LPCTSTR bstrDriveSpecifier) +{ + LPDISPATCH pDispatch; + static BYTE parms[] = + VTS_BSTR; + InvokeHelper(0x12f, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, parms, + bstrDriveSpecifier); + return CWMPCdrom(pDispatch); +} diff --git a/plugins/wmpa/wmpcdromcollection.h b/plugins/wmpa/wmpcdromcollection.h new file mode 100644 index 00000000..bdc32b9b --- /dev/null +++ b/plugins/wmpa/wmpcdromcollection.h @@ -0,0 +1,39 @@ +#if !defined(AFX_WMPCDROMCOLLECTION_H__35F03E65_DBA5_47A8_84C1_DAA3D624A4D3__INCLUDED_) +#define AFX_WMPCDROMCOLLECTION_H__35F03E65_DBA5_47A8_84C1_DAA3D624A4D3__INCLUDED_ + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 +// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++ + +// NOTE: Do not modify the contents of this file. If this class is regenerated by +// Microsoft Visual C++, your modifications will be overwritten. + + +// Dispatch interfaces referenced by this interface +class CWMPCdrom; + +///////////////////////////////////////////////////////////////////////////// +// CWMPCdromCollection wrapper class + +class CWMPCdromCollection : public COleDispatchDriver +{ +public: + CWMPCdromCollection() {} // Calls COleDispatchDriver default constructor + CWMPCdromCollection(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} + CWMPCdromCollection(const CWMPCdromCollection& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} + +// Attributes +public: + +// Operations +public: + long GetCount(); + CWMPCdrom Item(long lIndex); + CWMPCdrom getByDriveSpecifier(LPCTSTR bstrDriveSpecifier); +}; + +//{{AFX_INSERT_LOCATION}} +// Microsoft Visual C++ will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_WMPCDROMCOLLECTION_H__35F03E65_DBA5_47A8_84C1_DAA3D624A4D3__INCLUDED_) diff --git a/plugins/wmpa/wmpclosedcaption.cpp b/plugins/wmpa/wmpclosedcaption.cpp new file mode 100644 index 00000000..3ea2ec91 --- /dev/null +++ b/plugins/wmpa/wmpclosedcaption.cpp @@ -0,0 +1,75 @@ +// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++ + +// NOTE: Do not modify the contents of this file. If this class is regenerated by +// Microsoft Visual C++, your modifications will be overwritten. + + +#include "stdafx.h" +#include "wmpclosedcaption.h" + + +///////////////////////////////////////////////////////////////////////////// +// CWMPClosedCaption properties + +///////////////////////////////////////////////////////////////////////////// +// CWMPClosedCaption operations + +CString CWMPClosedCaption::GetSAMIStyle() +{ + CString result; + InvokeHelper(0x3b7, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); + return result; +} + +void CWMPClosedCaption::SetSAMIStyle(LPCTSTR lpszNewValue) +{ + static BYTE parms[] = + VTS_BSTR; + InvokeHelper(0x3b7, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, + lpszNewValue); +} + +CString CWMPClosedCaption::GetSAMILang() +{ + CString result; + InvokeHelper(0x3b8, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); + return result; +} + +void CWMPClosedCaption::SetSAMILang(LPCTSTR lpszNewValue) +{ + static BYTE parms[] = + VTS_BSTR; + InvokeHelper(0x3b8, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, + lpszNewValue); +} + +CString CWMPClosedCaption::GetSAMIFileName() +{ + CString result; + InvokeHelper(0x3b9, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); + return result; +} + +void CWMPClosedCaption::SetSAMIFileName(LPCTSTR lpszNewValue) +{ + static BYTE parms[] = + VTS_BSTR; + InvokeHelper(0x3b9, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, + lpszNewValue); +} + +CString CWMPClosedCaption::GetCaptioningId() +{ + CString result; + InvokeHelper(0x3ba, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); + return result; +} + +void CWMPClosedCaption::SetCaptioningId(LPCTSTR lpszNewValue) +{ + static BYTE parms[] = + VTS_BSTR; + InvokeHelper(0x3ba, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, + lpszNewValue); +} diff --git a/plugins/wmpa/wmpclosedcaption.h b/plugins/wmpa/wmpclosedcaption.h new file mode 100644 index 00000000..c604c12f --- /dev/null +++ b/plugins/wmpa/wmpclosedcaption.h @@ -0,0 +1,40 @@ +#if !defined(AFX_WMPCLOSEDCAPTION_H__FC0A9836_7517_4898_B25C_74C76E80CE3D__INCLUDED_) +#define AFX_WMPCLOSEDCAPTION_H__FC0A9836_7517_4898_B25C_74C76E80CE3D__INCLUDED_ + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 +// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++ + +// NOTE: Do not modify the contents of this file. If this class is regenerated by +// Microsoft Visual C++, your modifications will be overwritten. + +///////////////////////////////////////////////////////////////////////////// +// CWMPClosedCaption wrapper class + +class CWMPClosedCaption : public COleDispatchDriver +{ +public: + CWMPClosedCaption() {} // Calls COleDispatchDriver default constructor + CWMPClosedCaption(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} + CWMPClosedCaption(const CWMPClosedCaption& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} + +// Attributes +public: + +// Operations +public: + CString GetSAMIStyle(); + void SetSAMIStyle(LPCTSTR lpszNewValue); + CString GetSAMILang(); + void SetSAMILang(LPCTSTR lpszNewValue); + CString GetSAMIFileName(); + void SetSAMIFileName(LPCTSTR lpszNewValue); + CString GetCaptioningId(); + void SetCaptioningId(LPCTSTR lpszNewValue); +}; + +//{{AFX_INSERT_LOCATION}} +// Microsoft Visual C++ will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_WMPCLOSEDCAPTION_H__FC0A9836_7517_4898_B25C_74C76E80CE3D__INCLUDED_) diff --git a/plugins/wmpa/wmpcontrols.cpp b/plugins/wmpa/wmpcontrols.cpp new file mode 100644 index 00000000..1b3046d0 --- /dev/null +++ b/plugins/wmpa/wmpcontrols.cpp @@ -0,0 +1,123 @@ +// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++ + +// NOTE: Do not modify the contents of this file. If this class is regenerated by +// Microsoft Visual C++, your modifications will be overwritten. + + +#include "stdafx.h" +#include "wmpcontrols.h" + +// Dispatch interfaces referenced by this interface +#include "wmpmedia.h" + + +///////////////////////////////////////////////////////////////////////////// +// CWMPControls properties + +///////////////////////////////////////////////////////////////////////////// +// CWMPControls operations + +BOOL CWMPControls::GetIsAvailable(LPCTSTR bstrItem) +{ + BOOL result; + static BYTE parms[] = + VTS_BSTR; + InvokeHelper(0x3e, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, parms, + bstrItem); + return result; +} + +void CWMPControls::play() +{ + InvokeHelper(0x33, DISPATCH_METHOD, VT_EMPTY, NULL, NULL); +} + +void CWMPControls::stop() +{ + InvokeHelper(0x34, DISPATCH_METHOD, VT_EMPTY, NULL, NULL); +} + +void CWMPControls::pause() +{ + InvokeHelper(0x35, DISPATCH_METHOD, VT_EMPTY, NULL, NULL); +} + +void CWMPControls::fastForward() +{ + InvokeHelper(0x36, DISPATCH_METHOD, VT_EMPTY, NULL, NULL); +} + +void CWMPControls::fastReverse() +{ + InvokeHelper(0x37, DISPATCH_METHOD, VT_EMPTY, NULL, NULL); +} + +double CWMPControls::GetCurrentPosition() +{ + double result; + InvokeHelper(0x38, DISPATCH_PROPERTYGET, VT_R8, (void*)&result, NULL); + return result; +} + +void CWMPControls::SetCurrentPosition(double newValue) +{ + static BYTE parms[] = + VTS_R8; + InvokeHelper(0x38, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, + newValue); +} + +CString CWMPControls::GetCurrentPositionString() +{ + CString result; + InvokeHelper(0x39, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); + return result; +} + +void CWMPControls::next() +{ + InvokeHelper(0x3a, DISPATCH_METHOD, VT_EMPTY, NULL, NULL); +} + +void CWMPControls::previous() +{ + InvokeHelper(0x3b, DISPATCH_METHOD, VT_EMPTY, NULL, NULL); +} + +CWMPMedia CWMPControls::GetCurrentItem() +{ + LPDISPATCH pDispatch; + InvokeHelper(0x3c, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL); + return CWMPMedia(pDispatch); +} + +void CWMPControls::SetCurrentItem(LPDISPATCH newValue) +{ + static BYTE parms[] = + VTS_DISPATCH; + InvokeHelper(0x3c, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, + newValue); +} + +long CWMPControls::GetCurrentMarker() +{ + long result; + InvokeHelper(0x3d, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); + return result; +} + +void CWMPControls::SetCurrentMarker(long nNewValue) +{ + static BYTE parms[] = + VTS_I4; + InvokeHelper(0x3d, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, + nNewValue); +} + +void CWMPControls::playItem(LPDISPATCH pIWMPMedia) +{ + static BYTE parms[] = + VTS_DISPATCH; + InvokeHelper(0x3f, DISPATCH_METHOD, VT_EMPTY, NULL, parms, + pIWMPMedia); +} diff --git a/plugins/wmpa/wmpcontrols.h b/plugins/wmpa/wmpcontrols.h new file mode 100644 index 00000000..b793bcb1 --- /dev/null +++ b/plugins/wmpa/wmpcontrols.h @@ -0,0 +1,52 @@ +#if !defined(AFX_WMPCONTROLS_H__234DACEF_6ED9_481D_B7E8_03653189E9B2__INCLUDED_) +#define AFX_WMPCONTROLS_H__234DACEF_6ED9_481D_B7E8_03653189E9B2__INCLUDED_ + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 +// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++ + +// NOTE: Do not modify the contents of this file. If this class is regenerated by +// Microsoft Visual C++, your modifications will be overwritten. + + +// Dispatch interfaces referenced by this interface +class CWMPMedia; + +///////////////////////////////////////////////////////////////////////////// +// CWMPControls wrapper class + +class CWMPControls : public COleDispatchDriver +{ +public: + CWMPControls() {} // Calls COleDispatchDriver default constructor + CWMPControls(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} + CWMPControls(const CWMPControls& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} + +// Attributes +public: + +// Operations +public: + BOOL GetIsAvailable(LPCTSTR bstrItem); + void play(); + void stop(); + void pause(); + void fastForward(); + void fastReverse(); + double GetCurrentPosition(); + void SetCurrentPosition(double newValue); + CString GetCurrentPositionString(); + void next(); + void previous(); + CWMPMedia GetCurrentItem(); + void SetCurrentItem(LPDISPATCH newValue); + long GetCurrentMarker(); + void SetCurrentMarker(long nNewValue); + void playItem(LPDISPATCH pIWMPMedia); +}; + +//{{AFX_INSERT_LOCATION}} +// Microsoft Visual C++ will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_WMPCONTROLS_H__234DACEF_6ED9_481D_B7E8_03653189E9B2__INCLUDED_) diff --git a/plugins/wmpa/wmpdvd.cpp b/plugins/wmpa/wmpdvd.cpp new file mode 100644 index 00000000..0eb48f6f --- /dev/null +++ b/plugins/wmpa/wmpdvd.cpp @@ -0,0 +1,52 @@ +// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++ + +// NOTE: Do not modify the contents of this file. If this class is regenerated by +// Microsoft Visual C++, your modifications will be overwritten. + + +#include "stdafx.h" +#include "wmpdvd.h" + + +///////////////////////////////////////////////////////////////////////////// +// CWMPDVD properties + +///////////////////////////////////////////////////////////////////////////// +// CWMPDVD operations + +BOOL CWMPDVD::GetIsAvailable(LPCTSTR bstrItem) +{ + BOOL result; + static BYTE parms[] = + VTS_BSTR; + InvokeHelper(0x3e9, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, parms, + bstrItem); + return result; +} + +CString CWMPDVD::GetDomain() +{ + CString result; + InvokeHelper(0x3ea, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); + return result; +} + +void CWMPDVD::topMenu() +{ + InvokeHelper(0x3eb, DISPATCH_METHOD, VT_EMPTY, NULL, NULL); +} + +void CWMPDVD::titleMenu() +{ + InvokeHelper(0x3ec, DISPATCH_METHOD, VT_EMPTY, NULL, NULL); +} + +void CWMPDVD::back() +{ + InvokeHelper(0x3ed, DISPATCH_METHOD, VT_EMPTY, NULL, NULL); +} + +void CWMPDVD::resume() +{ + InvokeHelper(0x3ee, DISPATCH_METHOD, VT_EMPTY, NULL, NULL); +} diff --git a/plugins/wmpa/wmpdvd.h b/plugins/wmpa/wmpdvd.h new file mode 100644 index 00000000..4710536a --- /dev/null +++ b/plugins/wmpa/wmpdvd.h @@ -0,0 +1,38 @@ +#if !defined(AFX_WMPDVD_H__E83D86CA_08B8_4ACA_A434_0837BA71E3CA__INCLUDED_) +#define AFX_WMPDVD_H__E83D86CA_08B8_4ACA_A434_0837BA71E3CA__INCLUDED_ + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 +// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++ + +// NOTE: Do not modify the contents of this file. If this class is regenerated by +// Microsoft Visual C++, your modifications will be overwritten. + +///////////////////////////////////////////////////////////////////////////// +// CWMPDVD wrapper class + +class CWMPDVD : public COleDispatchDriver +{ +public: + CWMPDVD() {} // Calls COleDispatchDriver default constructor + CWMPDVD(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} + CWMPDVD(const CWMPDVD& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} + +// Attributes +public: + +// Operations +public: + BOOL GetIsAvailable(LPCTSTR bstrItem); + CString GetDomain(); + void topMenu(); + void titleMenu(); + void back(); + void resume(); +}; + +//{{AFX_INSERT_LOCATION}} +// Microsoft Visual C++ will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_WMPDVD_H__E83D86CA_08B8_4ACA_A434_0837BA71E3CA__INCLUDED_) diff --git a/plugins/wmpa/wmperror.cpp b/plugins/wmpa/wmperror.cpp new file mode 100644 index 00000000..2fce2b59 --- /dev/null +++ b/plugins/wmpa/wmperror.cpp @@ -0,0 +1,45 @@ +// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++ + +// NOTE: Do not modify the contents of this file. If this class is regenerated by +// Microsoft Visual C++, your modifications will be overwritten. + + +#include "stdafx.h" +#include "wmperror.h" + +// Dispatch interfaces referenced by this interface +#include "wmperroritem.h" + + +///////////////////////////////////////////////////////////////////////////// +// CWMPError properties + +///////////////////////////////////////////////////////////////////////////// +// CWMPError operations + +void CWMPError::clearErrorQueue() +{ + InvokeHelper(0x353, DISPATCH_METHOD, VT_EMPTY, NULL, NULL); +} + +long CWMPError::GetErrorCount() +{ + long result; + InvokeHelper(0x354, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); + return result; +} + +CWMPErrorItem CWMPError::GetItem(long dwIndex) +{ + LPDISPATCH pDispatch; + static BYTE parms[] = + VTS_I4; + InvokeHelper(0x355, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, parms, + dwIndex); + return CWMPErrorItem(pDispatch); +} + +void CWMPError::webHelp() +{ + InvokeHelper(0x356, DISPATCH_METHOD, VT_EMPTY, NULL, NULL); +} diff --git a/plugins/wmpa/wmperror.h b/plugins/wmpa/wmperror.h new file mode 100644 index 00000000..94ee2fff --- /dev/null +++ b/plugins/wmpa/wmperror.h @@ -0,0 +1,40 @@ +#if !defined(AFX_WMPERROR_H__1E72AC7F_E0AC_4100_B7EF_A5B0D8FA75C3__INCLUDED_) +#define AFX_WMPERROR_H__1E72AC7F_E0AC_4100_B7EF_A5B0D8FA75C3__INCLUDED_ + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 +// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++ + +// NOTE: Do not modify the contents of this file. If this class is regenerated by +// Microsoft Visual C++, your modifications will be overwritten. + + +// Dispatch interfaces referenced by this interface +class CWMPErrorItem; + +///////////////////////////////////////////////////////////////////////////// +// CWMPError wrapper class + +class CWMPError : public COleDispatchDriver +{ +public: + CWMPError() {} // Calls COleDispatchDriver default constructor + CWMPError(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} + CWMPError(const CWMPError& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} + +// Attributes +public: + +// Operations +public: + void clearErrorQueue(); + long GetErrorCount(); + CWMPErrorItem GetItem(long dwIndex); + void webHelp(); +}; + +//{{AFX_INSERT_LOCATION}} +// Microsoft Visual C++ will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_WMPERROR_H__1E72AC7F_E0AC_4100_B7EF_A5B0D8FA75C3__INCLUDED_) diff --git a/plugins/wmpa/wmperroritem.cpp b/plugins/wmpa/wmperroritem.cpp new file mode 100644 index 00000000..86e9740c --- /dev/null +++ b/plugins/wmpa/wmperroritem.cpp @@ -0,0 +1,50 @@ +// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++ + +// NOTE: Do not modify the contents of this file. If this class is regenerated by +// Microsoft Visual C++, your modifications will be overwritten. + + +#include "stdafx.h" +#include "wmperroritem.h" + + +///////////////////////////////////////////////////////////////////////////// +// CWMPErrorItem properties + +///////////////////////////////////////////////////////////////////////////// +// CWMPErrorItem operations + +long CWMPErrorItem::GetErrorCode() +{ + long result; + InvokeHelper(0x385, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); + return result; +} + +CString CWMPErrorItem::GetErrorDescription() +{ + CString result; + InvokeHelper(0x386, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); + return result; +} + +VARIANT CWMPErrorItem::GetErrorContext() +{ + VARIANT result; + InvokeHelper(0x387, DISPATCH_PROPERTYGET, VT_VARIANT, (void*)&result, NULL); + return result; +} + +long CWMPErrorItem::GetRemedy() +{ + long result; + InvokeHelper(0x388, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); + return result; +} + +CString CWMPErrorItem::GetCustomUrl() +{ + CString result; + InvokeHelper(0x389, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); + return result; +} diff --git a/plugins/wmpa/wmperroritem.h b/plugins/wmpa/wmperroritem.h new file mode 100644 index 00000000..de66dc9b --- /dev/null +++ b/plugins/wmpa/wmperroritem.h @@ -0,0 +1,37 @@ +#if !defined(AFX_WMPERRORITEM_H__9399BDE5_C96D_43D3_BF02_E7A5850421B4__INCLUDED_) +#define AFX_WMPERRORITEM_H__9399BDE5_C96D_43D3_BF02_E7A5850421B4__INCLUDED_ + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 +// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++ + +// NOTE: Do not modify the contents of this file. If this class is regenerated by +// Microsoft Visual C++, your modifications will be overwritten. + +///////////////////////////////////////////////////////////////////////////// +// CWMPErrorItem wrapper class + +class CWMPErrorItem : public COleDispatchDriver +{ +public: + CWMPErrorItem() {} // Calls COleDispatchDriver default constructor + CWMPErrorItem(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} + CWMPErrorItem(const CWMPErrorItem& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} + +// Attributes +public: + +// Operations +public: + long GetErrorCode(); + CString GetErrorDescription(); + VARIANT GetErrorContext(); + long GetRemedy(); + CString GetCustomUrl(); +}; + +//{{AFX_INSERT_LOCATION}} +// Microsoft Visual C++ will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_WMPERRORITEM_H__9399BDE5_C96D_43D3_BF02_E7A5850421B4__INCLUDED_) diff --git a/plugins/wmpa/wmpmedia.cpp b/plugins/wmpa/wmpmedia.cpp new file mode 100644 index 00000000..63503ab8 --- /dev/null +++ b/plugins/wmpa/wmpmedia.cpp @@ -0,0 +1,167 @@ +// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++ + +// NOTE: Do not modify the contents of this file. If this class is regenerated by +// Microsoft Visual C++, your modifications will be overwritten. + + +#include "stdafx.h" +#include "wmpmedia.h" + + +///////////////////////////////////////////////////////////////////////////// +// CWMPMedia properties + +///////////////////////////////////////////////////////////////////////////// +// CWMPMedia operations + +BOOL CWMPMedia::GetIsIdentical(LPDISPATCH pIWMPMedia) +{ + BOOL result; + static BYTE parms[] = + VTS_DISPATCH; + InvokeHelper(0x2fb, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, parms, + pIWMPMedia); + return result; +} + +CString CWMPMedia::GetSourceURL() +{ + CString result; + InvokeHelper(0x2ef, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); + return result; +} + +CString CWMPMedia::GetName() +{ + CString result; + InvokeHelper(0x2fc, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); + return result; +} + +void CWMPMedia::SetName(LPCTSTR lpszNewValue) +{ + static BYTE parms[] = + VTS_BSTR; + InvokeHelper(0x2fc, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, + lpszNewValue); +} + +long CWMPMedia::GetImageSourceWidth() +{ + long result; + InvokeHelper(0x2f0, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); + return result; +} + +long CWMPMedia::GetImageSourceHeight() +{ + long result; + InvokeHelper(0x2f1, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); + return result; +} + +long CWMPMedia::GetMarkerCount() +{ + long result; + InvokeHelper(0x2f2, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); + return result; +} + +double CWMPMedia::getMarkerTime(long MarkerNum) +{ + double result; + static BYTE parms[] = + VTS_I4; + InvokeHelper(0x2f3, DISPATCH_METHOD, VT_R8, (void*)&result, parms, + MarkerNum); + return result; +} + +CString CWMPMedia::getMarkerName(long MarkerNum) +{ + CString result; + static BYTE parms[] = + VTS_I4; + InvokeHelper(0x2f4, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms, + MarkerNum); + return result; +} + +double CWMPMedia::GetDuration() +{ + double result; + InvokeHelper(0x2f5, DISPATCH_PROPERTYGET, VT_R8, (void*)&result, NULL); + return result; +} + +CString CWMPMedia::GetDurationString() +{ + CString result; + InvokeHelper(0x2f6, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); + return result; +} + +long CWMPMedia::GetAttributeCount() +{ + long result; + InvokeHelper(0x2f7, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); + return result; +} + +CString CWMPMedia::getAttributeName(long lIndex) +{ + CString result; + static BYTE parms[] = + VTS_I4; + InvokeHelper(0x2f8, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms, + lIndex); + return result; +} + +CString CWMPMedia::getItemInfo(LPCTSTR bstrItemName) +{ + CString result; + static BYTE parms[] = + VTS_BSTR; + InvokeHelper(0x2f9, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms, + bstrItemName); + return result; +} + +void CWMPMedia::setItemInfo(LPCTSTR bstrItemName, LPCTSTR bstrVal) +{ + static BYTE parms[] = + VTS_BSTR VTS_BSTR; + InvokeHelper(0x2fa, DISPATCH_METHOD, VT_EMPTY, NULL, parms, + bstrItemName, bstrVal); +} + +CString CWMPMedia::getItemInfoByAtom(long lAtom) +{ + CString result; + static BYTE parms[] = + VTS_I4; + InvokeHelper(0x2fd, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms, + lAtom); + return result; +} + +BOOL CWMPMedia::isMemberOf(LPDISPATCH pPlaylist) +{ + BOOL result; + static BYTE parms[] = + VTS_DISPATCH; + InvokeHelper(0x2fe, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms, + pPlaylist); + return result; +} + +BOOL CWMPMedia::isReadOnlyItem(LPCTSTR bstrItemName) +{ + BOOL result; + static BYTE parms[] = + VTS_BSTR; + InvokeHelper(0x2ff, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms, + bstrItemName); + return result; +} diff --git a/plugins/wmpa/wmpmedia.h b/plugins/wmpa/wmpmedia.h new file mode 100644 index 00000000..3503c403 --- /dev/null +++ b/plugins/wmpa/wmpmedia.h @@ -0,0 +1,50 @@ +#if !defined(AFX_WMPMEDIA_H__7736565E_C037_498E_89F1_9696912C5998__INCLUDED_) +#define AFX_WMPMEDIA_H__7736565E_C037_498E_89F1_9696912C5998__INCLUDED_ + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 +// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++ + +// NOTE: Do not modify the contents of this file. If this class is regenerated by +// Microsoft Visual C++, your modifications will be overwritten. + +///////////////////////////////////////////////////////////////////////////// +// CWMPMedia wrapper class + +class CWMPMedia : public COleDispatchDriver +{ +public: + CWMPMedia() {} // Calls COleDispatchDriver default constructor + CWMPMedia(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} + CWMPMedia(const CWMPMedia& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} + +// Attributes +public: + +// Operations +public: + BOOL GetIsIdentical(LPDISPATCH pIWMPMedia); + CString GetSourceURL(); + CString GetName(); + void SetName(LPCTSTR lpszNewValue); + long GetImageSourceWidth(); + long GetImageSourceHeight(); + long GetMarkerCount(); + double getMarkerTime(long MarkerNum); + CString getMarkerName(long MarkerNum); + double GetDuration(); + CString GetDurationString(); + long GetAttributeCount(); + CString getAttributeName(long lIndex); + CString getItemInfo(LPCTSTR bstrItemName); + void setItemInfo(LPCTSTR bstrItemName, LPCTSTR bstrVal); + CString getItemInfoByAtom(long lAtom); + BOOL isMemberOf(LPDISPATCH pPlaylist); + BOOL isReadOnlyItem(LPCTSTR bstrItemName); +}; + +//{{AFX_INSERT_LOCATION}} +// Microsoft Visual C++ will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_WMPMEDIA_H__7736565E_C037_498E_89F1_9696912C5998__INCLUDED_) diff --git a/plugins/wmpa/wmpmediacollection.cpp b/plugins/wmpa/wmpmediacollection.cpp new file mode 100644 index 00000000..d50da652 --- /dev/null +++ b/plugins/wmpa/wmpmediacollection.cpp @@ -0,0 +1,133 @@ +// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++ + +// NOTE: Do not modify the contents of this file. If this class is regenerated by +// Microsoft Visual C++, your modifications will be overwritten. + + +#include "stdafx.h" +#include "wmpmediacollection.h" + +// Dispatch interfaces referenced by this interface +#include "wmpmedia.h" +#include "wmpplaylist.h" +#include "wmpstringcollection.h" + + +///////////////////////////////////////////////////////////////////////////// +// CWMPMediaCollection properties + +///////////////////////////////////////////////////////////////////////////// +// CWMPMediaCollection operations + +CWMPMedia CWMPMediaCollection::add(LPCTSTR bstrURL) +{ + LPDISPATCH pDispatch; + static BYTE parms[] = + VTS_BSTR; + InvokeHelper(0x1c4, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, parms, + bstrURL); + return CWMPMedia(pDispatch); +} + +CWMPPlaylist CWMPMediaCollection::getAll() +{ + LPDISPATCH pDispatch; + InvokeHelper(0x1c5, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, NULL); + return CWMPPlaylist(pDispatch); +} + +CWMPPlaylist CWMPMediaCollection::getByName(LPCTSTR bstrName) +{ + LPDISPATCH pDispatch; + static BYTE parms[] = + VTS_BSTR; + InvokeHelper(0x1c6, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, parms, + bstrName); + return CWMPPlaylist(pDispatch); +} + +CWMPPlaylist CWMPMediaCollection::getByGenre(LPCTSTR bstrGenre) +{ + LPDISPATCH pDispatch; + static BYTE parms[] = + VTS_BSTR; + InvokeHelper(0x1c7, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, parms, + bstrGenre); + return CWMPPlaylist(pDispatch); +} + +CWMPPlaylist CWMPMediaCollection::getByAuthor(LPCTSTR bstrAuthor) +{ + LPDISPATCH pDispatch; + static BYTE parms[] = + VTS_BSTR; + InvokeHelper(0x1c8, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, parms, + bstrAuthor); + return CWMPPlaylist(pDispatch); +} + +CWMPPlaylist CWMPMediaCollection::getByAlbum(LPCTSTR bstrAlbum) +{ + LPDISPATCH pDispatch; + static BYTE parms[] = + VTS_BSTR; + InvokeHelper(0x1c9, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, parms, + bstrAlbum); + return CWMPPlaylist(pDispatch); +} + +CWMPPlaylist CWMPMediaCollection::getByAttribute(LPCTSTR bstrAttribute, LPCTSTR bstrValue) +{ + LPDISPATCH pDispatch; + static BYTE parms[] = + VTS_BSTR VTS_BSTR; + InvokeHelper(0x1ca, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, parms, + bstrAttribute, bstrValue); + return CWMPPlaylist(pDispatch); +} + +void CWMPMediaCollection::remove(LPDISPATCH pItem, BOOL varfDeleteFile) +{ + static BYTE parms[] = + VTS_DISPATCH VTS_BOOL; + InvokeHelper(0x1cb, DISPATCH_METHOD, VT_EMPTY, NULL, parms, + pItem, varfDeleteFile); +} + +CWMPStringCollection CWMPMediaCollection::getAttributeStringCollection(LPCTSTR bstrAttribute, LPCTSTR bstrMediaType) +{ + LPDISPATCH pDispatch; + static BYTE parms[] = + VTS_BSTR VTS_BSTR; + InvokeHelper(0x1cd, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, parms, + bstrAttribute, bstrMediaType); + return CWMPStringCollection(pDispatch); +} + +long CWMPMediaCollection::getMediaAtom(LPCTSTR bstrItemName) +{ + long result; + static BYTE parms[] = + VTS_BSTR; + InvokeHelper(0x1d6, DISPATCH_METHOD, VT_I4, (void*)&result, parms, + bstrItemName); + return result; +} + +void CWMPMediaCollection::setDeleted(LPDISPATCH pItem, BOOL varfIsDeleted) +{ + static BYTE parms[] = + VTS_DISPATCH VTS_BOOL; + InvokeHelper(0x1d7, DISPATCH_METHOD, VT_EMPTY, NULL, parms, + pItem, varfIsDeleted); +} + +BOOL CWMPMediaCollection::isDeleted(LPDISPATCH pItem) +{ + BOOL result; + static BYTE parms[] = + VTS_DISPATCH; + InvokeHelper(0x1d8, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms, + pItem); + return result; +} diff --git a/plugins/wmpa/wmpmediacollection.h b/plugins/wmpa/wmpmediacollection.h new file mode 100644 index 00000000..aa91026a --- /dev/null +++ b/plugins/wmpa/wmpmediacollection.h @@ -0,0 +1,50 @@ +#if !defined(AFX_WMPMEDIACOLLECTION_H__8C47EB0E_4638_46DA_A405_415AEAE509CE__INCLUDED_) +#define AFX_WMPMEDIACOLLECTION_H__8C47EB0E_4638_46DA_A405_415AEAE509CE__INCLUDED_ + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 +// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++ + +// NOTE: Do not modify the contents of this file. If this class is regenerated by +// Microsoft Visual C++, your modifications will be overwritten. + + +// Dispatch interfaces referenced by this interface +class CWMPMedia; +class CWMPPlaylist; +class CWMPStringCollection; + +///////////////////////////////////////////////////////////////////////////// +// CWMPMediaCollection wrapper class + +class CWMPMediaCollection : public COleDispatchDriver +{ +public: + CWMPMediaCollection() {} // Calls COleDispatchDriver default constructor + CWMPMediaCollection(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} + CWMPMediaCollection(const CWMPMediaCollection& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} + +// Attributes +public: + +// Operations +public: + CWMPMedia add(LPCTSTR bstrURL); + CWMPPlaylist getAll(); + CWMPPlaylist getByName(LPCTSTR bstrName); + CWMPPlaylist getByGenre(LPCTSTR bstrGenre); + CWMPPlaylist getByAuthor(LPCTSTR bstrAuthor); + CWMPPlaylist getByAlbum(LPCTSTR bstrAlbum); + CWMPPlaylist getByAttribute(LPCTSTR bstrAttribute, LPCTSTR bstrValue); + void remove(LPDISPATCH pItem, BOOL varfDeleteFile); + CWMPStringCollection getAttributeStringCollection(LPCTSTR bstrAttribute, LPCTSTR bstrMediaType); + long getMediaAtom(LPCTSTR bstrItemName); + void setDeleted(LPDISPATCH pItem, BOOL varfIsDeleted); + BOOL isDeleted(LPDISPATCH pItem); +}; + +//{{AFX_INSERT_LOCATION}} +// Microsoft Visual C++ will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_WMPMEDIACOLLECTION_H__8C47EB0E_4638_46DA_A405_415AEAE509CE__INCLUDED_) diff --git a/plugins/wmpa/wmpnetwork.cpp b/plugins/wmpa/wmpnetwork.cpp new file mode 100644 index 00000000..87c4d413 --- /dev/null +++ b/plugins/wmpa/wmpnetwork.cpp @@ -0,0 +1,233 @@ +// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++ + +// NOTE: Do not modify the contents of this file. If this class is regenerated by +// Microsoft Visual C++, your modifications will be overwritten. + + +#include "stdafx.h" +#include "wmpnetwork.h" + + +///////////////////////////////////////////////////////////////////////////// +// CWMPNetwork properties + +///////////////////////////////////////////////////////////////////////////// +// CWMPNetwork operations + +long CWMPNetwork::GetBandWidth() +{ + long result; + InvokeHelper(0x321, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); + return result; +} + +long CWMPNetwork::GetRecoveredPackets() +{ + long result; + InvokeHelper(0x322, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); + return result; +} + +CString CWMPNetwork::GetSourceProtocol() +{ + CString result; + InvokeHelper(0x323, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); + return result; +} + +long CWMPNetwork::GetReceivedPackets() +{ + long result; + InvokeHelper(0x324, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); + return result; +} + +long CWMPNetwork::GetLostPackets() +{ + long result; + InvokeHelper(0x325, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); + return result; +} + +long CWMPNetwork::GetReceptionQuality() +{ + long result; + InvokeHelper(0x326, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); + return result; +} + +long CWMPNetwork::GetBufferingCount() +{ + long result; + InvokeHelper(0x327, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); + return result; +} + +long CWMPNetwork::GetBufferingProgress() +{ + long result; + InvokeHelper(0x328, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); + return result; +} + +long CWMPNetwork::GetBufferingTime() +{ + long result; + InvokeHelper(0x329, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); + return result; +} + +void CWMPNetwork::SetBufferingTime(long nNewValue) +{ + static BYTE parms[] = + VTS_I4; + InvokeHelper(0x329, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, + nNewValue); +} + +long CWMPNetwork::GetFrameRate() +{ + long result; + InvokeHelper(0x32a, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); + return result; +} + +long CWMPNetwork::GetMaxBitRate() +{ + long result; + InvokeHelper(0x32b, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); + return result; +} + +long CWMPNetwork::GetBitRate() +{ + long result; + InvokeHelper(0x32c, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); + return result; +} + +long CWMPNetwork::getProxySettings(LPCTSTR bstrProtocol) +{ + long result; + static BYTE parms[] = + VTS_BSTR; + InvokeHelper(0x32d, DISPATCH_METHOD, VT_I4, (void*)&result, parms, + bstrProtocol); + return result; +} + +void CWMPNetwork::setProxySettings(LPCTSTR bstrProtocol, long lProxySetting) +{ + static BYTE parms[] = + VTS_BSTR VTS_I4; + InvokeHelper(0x32e, DISPATCH_METHOD, VT_EMPTY, NULL, parms, + bstrProtocol, lProxySetting); +} + +CString CWMPNetwork::getProxyName(LPCTSTR bstrProtocol) +{ + CString result; + static BYTE parms[] = + VTS_BSTR; + InvokeHelper(0x32f, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms, + bstrProtocol); + return result; +} + +void CWMPNetwork::setProxyName(LPCTSTR bstrProtocol, LPCTSTR bstrProxyName) +{ + static BYTE parms[] = + VTS_BSTR VTS_BSTR; + InvokeHelper(0x330, DISPATCH_METHOD, VT_EMPTY, NULL, parms, + bstrProtocol, bstrProxyName); +} + +long CWMPNetwork::getProxyPort(LPCTSTR bstrProtocol) +{ + long result; + static BYTE parms[] = + VTS_BSTR; + InvokeHelper(0x331, DISPATCH_METHOD, VT_I4, (void*)&result, parms, + bstrProtocol); + return result; +} + +void CWMPNetwork::setProxyPort(LPCTSTR bstrProtocol, long lProxyPort) +{ + static BYTE parms[] = + VTS_BSTR VTS_I4; + InvokeHelper(0x332, DISPATCH_METHOD, VT_EMPTY, NULL, parms, + bstrProtocol, lProxyPort); +} + +CString CWMPNetwork::getProxyExceptionList(LPCTSTR bstrProtocol) +{ + CString result; + static BYTE parms[] = + VTS_BSTR; + InvokeHelper(0x333, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms, + bstrProtocol); + return result; +} + +void CWMPNetwork::setProxyExceptionList(LPCTSTR bstrProtocol, LPCTSTR pbstrExceptionList) +{ + static BYTE parms[] = + VTS_BSTR VTS_BSTR; + InvokeHelper(0x334, DISPATCH_METHOD, VT_EMPTY, NULL, parms, + bstrProtocol, pbstrExceptionList); +} + +BOOL CWMPNetwork::getProxyBypassForLocal(LPCTSTR bstrProtocol) +{ + BOOL result; + static BYTE parms[] = + VTS_BSTR; + InvokeHelper(0x335, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms, + bstrProtocol); + return result; +} + +void CWMPNetwork::setProxyBypassForLocal(LPCTSTR bstrProtocol, BOOL fBypassForLocal) +{ + static BYTE parms[] = + VTS_BSTR VTS_BOOL; + InvokeHelper(0x336, DISPATCH_METHOD, VT_EMPTY, NULL, parms, + bstrProtocol, fBypassForLocal); +} + +long CWMPNetwork::GetMaxBandwidth() +{ + long result; + InvokeHelper(0x337, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); + return result; +} + +void CWMPNetwork::SetMaxBandwidth(long nNewValue) +{ + static BYTE parms[] = + VTS_I4; + InvokeHelper(0x337, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, + nNewValue); +} + +long CWMPNetwork::GetDownloadProgress() +{ + long result; + InvokeHelper(0x338, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); + return result; +} + +long CWMPNetwork::GetEncodedFrameRate() +{ + long result; + InvokeHelper(0x339, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); + return result; +} + +long CWMPNetwork::GetFramesSkipped() +{ + long result; + InvokeHelper(0x33a, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); + return result; +} diff --git a/plugins/wmpa/wmpnetwork.h b/plugins/wmpa/wmpnetwork.h new file mode 100644 index 00000000..1a0e0427 --- /dev/null +++ b/plugins/wmpa/wmpnetwork.h @@ -0,0 +1,60 @@ +#if !defined(AFX_WMPNETWORK_H__50BDAB41_9F78_492A_8A5E_27543B0C0CAF__INCLUDED_) +#define AFX_WMPNETWORK_H__50BDAB41_9F78_492A_8A5E_27543B0C0CAF__INCLUDED_ + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 +// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++ + +// NOTE: Do not modify the contents of this file. If this class is regenerated by +// Microsoft Visual C++, your modifications will be overwritten. + +///////////////////////////////////////////////////////////////////////////// +// CWMPNetwork wrapper class + +class CWMPNetwork : public COleDispatchDriver +{ +public: + CWMPNetwork() {} // Calls COleDispatchDriver default constructor + CWMPNetwork(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} + CWMPNetwork(const CWMPNetwork& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} + +// Attributes +public: + +// Operations +public: + long GetBandWidth(); + long GetRecoveredPackets(); + CString GetSourceProtocol(); + long GetReceivedPackets(); + long GetLostPackets(); + long GetReceptionQuality(); + long GetBufferingCount(); + long GetBufferingProgress(); + long GetBufferingTime(); + void SetBufferingTime(long nNewValue); + long GetFrameRate(); + long GetMaxBitRate(); + long GetBitRate(); + long getProxySettings(LPCTSTR bstrProtocol); + void setProxySettings(LPCTSTR bstrProtocol, long lProxySetting); + CString getProxyName(LPCTSTR bstrProtocol); + void setProxyName(LPCTSTR bstrProtocol, LPCTSTR bstrProxyName); + long getProxyPort(LPCTSTR bstrProtocol); + void setProxyPort(LPCTSTR bstrProtocol, long lProxyPort); + CString getProxyExceptionList(LPCTSTR bstrProtocol); + void setProxyExceptionList(LPCTSTR bstrProtocol, LPCTSTR pbstrExceptionList); + BOOL getProxyBypassForLocal(LPCTSTR bstrProtocol); + void setProxyBypassForLocal(LPCTSTR bstrProtocol, BOOL fBypassForLocal); + long GetMaxBandwidth(); + void SetMaxBandwidth(long nNewValue); + long GetDownloadProgress(); + long GetEncodedFrameRate(); + long GetFramesSkipped(); +}; + +//{{AFX_INSERT_LOCATION}} +// Microsoft Visual C++ will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_WMPNETWORK_H__50BDAB41_9F78_492A_8A5E_27543B0C0CAF__INCLUDED_) diff --git a/plugins/wmpa/wmpplayer4.cpp b/plugins/wmpa/wmpplayer4.cpp new file mode 100644 index 00000000..40050678 --- /dev/null +++ b/plugins/wmpa/wmpplayer4.cpp @@ -0,0 +1,321 @@ +// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++ + +// NOTE: Do not modify the contents of this file. If this class is regenerated by +// Microsoft Visual C++, your modifications will be overwritten. + + +#include "stdafx.h" +#include "wmpplayer4.h" + +// Dispatch interfaces referenced by this interface +#include "wmpcontrols.h" +#include "WMPSettings.h" +#include "wmpmedia.h" +#include "wmpmediacollection.h" +#include "wmpplaylistcollection.h" +#include "wmpnetwork.h" +#include "wmpplaylist.h" +#include "wmpcdromcollection.h" +#include "wmpclosedcaption.h" +#include "WMPError.h" +#include "wmpdvd.h" +#include "WMPPlayerApplication.h" + +///////////////////////////////////////////////////////////////////////////// +// CWMPPlayer4 + +IMPLEMENT_DYNCREATE(CWMPPlayer4, CWnd) + +///////////////////////////////////////////////////////////////////////////// +// CWMPPlayer4 properties + +///////////////////////////////////////////////////////////////////////////// +// CWMPPlayer4 operations + +void CWMPPlayer4::close() +{ + InvokeHelper(0x3, DISPATCH_METHOD, VT_EMPTY, NULL, NULL); +} + +CString CWMPPlayer4::GetUrl() +{ + CString result; + InvokeHelper(0x1, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); + return result; +} + +void CWMPPlayer4::SetUrl(LPCTSTR lpszNewValue) +{ + static BYTE parms[] = + VTS_BSTR; + InvokeHelper(0x1, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, + lpszNewValue); +} + +long CWMPPlayer4::GetOpenState() +{ + long result; + InvokeHelper(0x2, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); + return result; +} + +long CWMPPlayer4::GetPlayState() +{ + long result; + InvokeHelper(0xa, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); + return result; +} + +CWMPControls CWMPPlayer4::GetControls() +{ + LPDISPATCH pDispatch; + InvokeHelper(0x4, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL); + return CWMPControls(pDispatch); +} + +CWMPSettings CWMPPlayer4::GetSettings() +{ + LPDISPATCH pDispatch; + InvokeHelper(0x5, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL); + return CWMPSettings(pDispatch); +} + +CWMPMedia CWMPPlayer4::GetCurrentMedia() +{ + LPDISPATCH pDispatch; + InvokeHelper(0x6, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL); + return CWMPMedia(pDispatch); +} + +void CWMPPlayer4::SetCurrentMedia(LPDISPATCH newValue) +{ + static BYTE parms[] = + VTS_DISPATCH; + InvokeHelper(0x6, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, + newValue); +} + +CWMPMediaCollection CWMPPlayer4::GetMediaCollection() +{ + LPDISPATCH pDispatch; + InvokeHelper(0x8, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL); + return CWMPMediaCollection(pDispatch); +} + +CWMPPlaylistCollection CWMPPlayer4::GetPlaylistCollection() +{ + LPDISPATCH pDispatch; + InvokeHelper(0x9, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL); + return CWMPPlaylistCollection(pDispatch); +} + +CString CWMPPlayer4::GetVersionInfo() +{ + CString result; + InvokeHelper(0xb, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); + return result; +} + +void CWMPPlayer4::launchURL(LPCTSTR bstrURL) +{ + static BYTE parms[] = + VTS_BSTR; + InvokeHelper(0xc, DISPATCH_METHOD, VT_EMPTY, NULL, parms, + bstrURL); +} + +CWMPNetwork CWMPPlayer4::GetNetwork() +{ + LPDISPATCH pDispatch; + InvokeHelper(0x7, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL); + return CWMPNetwork(pDispatch); +} + +CWMPPlaylist CWMPPlayer4::GetCurrentPlaylist() +{ + LPDISPATCH pDispatch; + InvokeHelper(0xd, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL); + return CWMPPlaylist(pDispatch); +} + +void CWMPPlayer4::SetCurrentPlaylist(LPDISPATCH newValue) +{ + static BYTE parms[] = + VTS_DISPATCH; + InvokeHelper(0xd, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, + newValue); +} + +CWMPCdromCollection CWMPPlayer4::GetCdromCollection() +{ + LPDISPATCH pDispatch; + InvokeHelper(0xe, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL); + return CWMPCdromCollection(pDispatch); +} + +CWMPClosedCaption CWMPPlayer4::GetClosedCaption() +{ + LPDISPATCH pDispatch; + InvokeHelper(0xf, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL); + return CWMPClosedCaption(pDispatch); +} + +BOOL CWMPPlayer4::GetIsOnline() +{ + BOOL result; + InvokeHelper(0x10, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL); + return result; +} + +CWMPError CWMPPlayer4::GetError() +{ + LPDISPATCH pDispatch; + InvokeHelper(0x11, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL); + return CWMPError(pDispatch); +} + +CString CWMPPlayer4::GetStatus() +{ + CString result; + InvokeHelper(0x12, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); + return result; +} + +CWMPDVD CWMPPlayer4::GetDvd() +{ + LPDISPATCH pDispatch; + InvokeHelper(0x28, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL); + return CWMPDVD(pDispatch); +} + +CWMPPlaylist CWMPPlayer4::newPlaylist(LPCTSTR bstrName, LPCTSTR bstrURL) +{ + LPDISPATCH pDispatch; + static BYTE parms[] = + VTS_BSTR VTS_BSTR; + InvokeHelper(0x29, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, parms, + bstrName, bstrURL); + return CWMPPlaylist(pDispatch); +} + +CWMPMedia CWMPPlayer4::newMedia(LPCTSTR bstrURL) +{ + LPDISPATCH pDispatch; + static BYTE parms[] = + VTS_BSTR; + InvokeHelper(0x2a, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, parms, + bstrURL); + return CWMPMedia(pDispatch); +} + +BOOL CWMPPlayer4::GetEnabled() +{ + BOOL result; + InvokeHelper(0x13, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL); + return result; +} + +void CWMPPlayer4::SetEnabled(BOOL bNewValue) +{ + static BYTE parms[] = + VTS_BOOL; + InvokeHelper(0x13, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, + bNewValue); +} + +BOOL CWMPPlayer4::GetFullScreen() +{ + BOOL result; + InvokeHelper(0x15, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL); + return result; +} + +void CWMPPlayer4::SetFullScreen(BOOL bNewValue) +{ + static BYTE parms[] = + VTS_BOOL; + InvokeHelper(0x15, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, + bNewValue); +} + +BOOL CWMPPlayer4::GetEnableContextMenu() +{ + BOOL result; + InvokeHelper(0x16, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL); + return result; +} + +void CWMPPlayer4::SetEnableContextMenu(BOOL bNewValue) +{ + static BYTE parms[] = + VTS_BOOL; + InvokeHelper(0x16, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, + bNewValue); +} + +void CWMPPlayer4::SetUiMode(LPCTSTR lpszNewValue) +{ + static BYTE parms[] = + VTS_BSTR; + InvokeHelper(0x17, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, + lpszNewValue); +} + +CString CWMPPlayer4::GetUiMode() +{ + CString result; + InvokeHelper(0x17, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); + return result; +} + +BOOL CWMPPlayer4::GetStretchToFit() +{ + BOOL result; + InvokeHelper(0x18, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL); + return result; +} + +void CWMPPlayer4::SetStretchToFit(BOOL bNewValue) +{ + static BYTE parms[] = + VTS_BOOL; + InvokeHelper(0x18, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, + bNewValue); +} + +BOOL CWMPPlayer4::GetWindowlessVideo() +{ + BOOL result; + InvokeHelper(0x19, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL); + return result; +} + +void CWMPPlayer4::SetWindowlessVideo(BOOL bNewValue) +{ + static BYTE parms[] = + VTS_BOOL; + InvokeHelper(0x19, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, + bNewValue); +} + +BOOL CWMPPlayer4::GetIsRemote() +{ + BOOL result; + InvokeHelper(0x1a, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL); + return result; +} + +CWMPPlayerApplication CWMPPlayer4::GetPlayerApplication() +{ + LPDISPATCH pDispatch; + InvokeHelper(0x1b, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL); + return CWMPPlayerApplication(pDispatch); +} + +void CWMPPlayer4::openPlayer(LPCTSTR bstrURL) +{ + static BYTE parms[] = + VTS_BSTR; + InvokeHelper(0x1c, DISPATCH_METHOD, VT_EMPTY, NULL, parms, + bstrURL); +} diff --git a/plugins/wmpa/wmpplayer4.h b/plugins/wmpa/wmpplayer4.h new file mode 100644 index 00000000..687d9361 --- /dev/null +++ b/plugins/wmpa/wmpplayer4.h @@ -0,0 +1,104 @@ +#if !defined(AFX_WMPPLAYER4_H__A318AE12_803B_4EED_B586_1395637CDD35__INCLUDED_) +#define AFX_WMPPLAYER4_H__A318AE12_803B_4EED_B586_1395637CDD35__INCLUDED_ + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 +// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++ + +// NOTE: Do not modify the contents of this file. If this class is regenerated by +// Microsoft Visual C++, your modifications will be overwritten. + + +// Dispatch interfaces referenced by this interface +class CWMPControls; +class CWMPSettings; +class CWMPMedia; +class CWMPMediaCollection; +class CWMPPlaylistCollection; +class CWMPNetwork; +class CWMPPlaylist; +class CWMPCdromCollection; +class CWMPClosedCaption; +class CWMPError; +class CWMPDVD; +class CWMPPlayerApplication; + +///////////////////////////////////////////////////////////////////////////// +// CWMPPlayer4 wrapper class + +class CWMPPlayer4 : public CWnd +{ +protected: + DECLARE_DYNCREATE(CWMPPlayer4) +public: + CLSID const& GetClsid() + { + static CLSID const clsid + = { 0x6bf52a52, 0x394a, 0x11d3, { 0xb1, 0x53, 0x0, 0xc0, 0x4f, 0x79, 0xfa, 0xa6 } }; + return clsid; + } + /*virtual BOOL Create(LPCTSTR lpszClassName, + LPCTSTR lpszWindowName, DWORD dwStyle, + const RECT& rect, + CWnd* pParentWnd, UINT nID, + CCreateContext* pContext = NULL) + { return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID); }*/ + + BOOL Create(LPCTSTR lpszWindowName, DWORD dwStyle, + const RECT& rect, CWnd* pParentWnd, UINT nID, + CFile* pPersist = NULL, BOOL bStorage = FALSE, + BSTR bstrLicKey = NULL) + { return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID, + pPersist, bStorage, bstrLicKey); } + +// Attributes +public: + +// Operations +public: + void close(); + CString GetUrl(); + void SetUrl(LPCTSTR lpszNewValue); + long GetOpenState(); + long GetPlayState(); + CWMPControls GetControls(); + CWMPSettings GetSettings(); + CWMPMedia GetCurrentMedia(); + void SetCurrentMedia(LPDISPATCH newValue); + CWMPMediaCollection GetMediaCollection(); + CWMPPlaylistCollection GetPlaylistCollection(); + CString GetVersionInfo(); + void launchURL(LPCTSTR bstrURL); + CWMPNetwork GetNetwork(); + CWMPPlaylist GetCurrentPlaylist(); + void SetCurrentPlaylist(LPDISPATCH newValue); + CWMPCdromCollection GetCdromCollection(); + CWMPClosedCaption GetClosedCaption(); + BOOL GetIsOnline(); + CWMPError GetError(); + CString GetStatus(); + CWMPDVD GetDvd(); + CWMPPlaylist newPlaylist(LPCTSTR bstrName, LPCTSTR bstrURL); + CWMPMedia newMedia(LPCTSTR bstrURL); + BOOL GetEnabled(); + void SetEnabled(BOOL bNewValue); + BOOL GetFullScreen(); + void SetFullScreen(BOOL bNewValue); + BOOL GetEnableContextMenu(); + void SetEnableContextMenu(BOOL bNewValue); + void SetUiMode(LPCTSTR lpszNewValue); + CString GetUiMode(); + BOOL GetStretchToFit(); + void SetStretchToFit(BOOL bNewValue); + BOOL GetWindowlessVideo(); + void SetWindowlessVideo(BOOL bNewValue); + BOOL GetIsRemote(); + CWMPPlayerApplication GetPlayerApplication(); + void openPlayer(LPCTSTR bstrURL); +}; + +//{{AFX_INSERT_LOCATION}} +// Microsoft Visual C++ will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_WMPPLAYER4_H__A318AE12_803B_4EED_B586_1395637CDD35__INCLUDED_) diff --git a/plugins/wmpa/wmpplayerapplication.cpp b/plugins/wmpa/wmpplayerapplication.cpp new file mode 100644 index 00000000..d47956a7 --- /dev/null +++ b/plugins/wmpa/wmpplayerapplication.cpp @@ -0,0 +1,39 @@ +// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++ + +// NOTE: Do not modify the contents of this file. If this class is regenerated by +// Microsoft Visual C++, your modifications will be overwritten. + + +#include "stdafx.h" +#include "wmpplayerapplication.h" + + +///////////////////////////////////////////////////////////////////////////// +// CWMPPlayerApplication properties + +///////////////////////////////////////////////////////////////////////////// +// CWMPPlayerApplication operations + +void CWMPPlayerApplication::switchToPlayerApplication() +{ + InvokeHelper(0x44d, DISPATCH_METHOD, VT_EMPTY, NULL, NULL); +} + +void CWMPPlayerApplication::switchToControl() +{ + InvokeHelper(0x44e, DISPATCH_METHOD, VT_EMPTY, NULL, NULL); +} + +BOOL CWMPPlayerApplication::GetPlayerDocked() +{ + BOOL result; + InvokeHelper(0x44f, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL); + return result; +} + +BOOL CWMPPlayerApplication::GetHasDisplay() +{ + BOOL result; + InvokeHelper(0x450, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL); + return result; +} diff --git a/plugins/wmpa/wmpplayerapplication.h b/plugins/wmpa/wmpplayerapplication.h new file mode 100644 index 00000000..96205aae --- /dev/null +++ b/plugins/wmpa/wmpplayerapplication.h @@ -0,0 +1,36 @@ +#if !defined(AFX_WMPPLAYERAPPLICATION_H__A69CB85C_22A1_4A02_979D_3FFB61135553__INCLUDED_) +#define AFX_WMPPLAYERAPPLICATION_H__A69CB85C_22A1_4A02_979D_3FFB61135553__INCLUDED_ + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 +// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++ + +// NOTE: Do not modify the contents of this file. If this class is regenerated by +// Microsoft Visual C++, your modifications will be overwritten. + +///////////////////////////////////////////////////////////////////////////// +// CWMPPlayerApplication wrapper class + +class CWMPPlayerApplication : public COleDispatchDriver +{ +public: + CWMPPlayerApplication() {} // Calls COleDispatchDriver default constructor + CWMPPlayerApplication(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} + CWMPPlayerApplication(const CWMPPlayerApplication& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} + +// Attributes +public: + +// Operations +public: + void switchToPlayerApplication(); + void switchToControl(); + BOOL GetPlayerDocked(); + BOOL GetHasDisplay(); +}; + +//{{AFX_INSERT_LOCATION}} +// Microsoft Visual C++ will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_WMPPLAYERAPPLICATION_H__A69CB85C_22A1_4A02_979D_3FFB61135553__INCLUDED_) diff --git a/plugins/wmpa/wmpplaylist.cpp b/plugins/wmpa/wmpplaylist.cpp new file mode 100644 index 00000000..9308aa5b --- /dev/null +++ b/plugins/wmpa/wmpplaylist.cpp @@ -0,0 +1,132 @@ +// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++ + +// NOTE: Do not modify the contents of this file. If this class is regenerated by +// Microsoft Visual C++, your modifications will be overwritten. + + +#include "stdafx.h" +#include "wmpplaylist.h" + +// Dispatch interfaces referenced by this interface +#include "WMPMedia.h" + + +///////////////////////////////////////////////////////////////////////////// +// CWMPPlaylist properties + +///////////////////////////////////////////////////////////////////////////// +// CWMPPlaylist operations + +long CWMPPlaylist::GetCount() +{ + long result; + InvokeHelper(0xc9, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); + return result; +} + +CString CWMPPlaylist::GetName() +{ + CString result; + InvokeHelper(0xca, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); + return result; +} + +void CWMPPlaylist::SetName(LPCTSTR lpszNewValue) +{ + static BYTE parms[] = + VTS_BSTR; + InvokeHelper(0xca, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, + lpszNewValue); +} + +long CWMPPlaylist::GetAttributeCount() +{ + long result; + InvokeHelper(0xd2, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); + return result; +} + +CString CWMPPlaylist::GetAttributeName(long lIndex) +{ + CString result; + static BYTE parms[] = + VTS_I4; + InvokeHelper(0xd3, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, parms, + lIndex); + return result; +} + +CWMPMedia CWMPPlaylist::GetItem(long lIndex) +{ + LPDISPATCH pDispatch; + static BYTE parms[] = + VTS_I4; + InvokeHelper(0xd4, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, parms, + lIndex); + return CWMPMedia(pDispatch); +} + +CString CWMPPlaylist::getItemInfo(LPCTSTR bstrName) +{ + CString result; + static BYTE parms[] = + VTS_BSTR; + InvokeHelper(0xcb, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms, + bstrName); + return result; +} + +void CWMPPlaylist::setItemInfo(LPCTSTR bstrName, LPCTSTR bstrValue) +{ + static BYTE parms[] = + VTS_BSTR VTS_BSTR; + InvokeHelper(0xcc, DISPATCH_METHOD, VT_EMPTY, NULL, parms, + bstrName, bstrValue); +} + +BOOL CWMPPlaylist::GetIsIdentical(LPDISPATCH pIWMPPlaylist) +{ + BOOL result; + static BYTE parms[] = + VTS_DISPATCH; + InvokeHelper(0xd5, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, parms, + pIWMPPlaylist); + return result; +} + +void CWMPPlaylist::clear() +{ + InvokeHelper(0xcd, DISPATCH_METHOD, VT_EMPTY, NULL, NULL); +} + +void CWMPPlaylist::insertItem(long lIndex, LPDISPATCH pIWMPMedia) +{ + static BYTE parms[] = + VTS_I4 VTS_DISPATCH; + InvokeHelper(0xce, DISPATCH_METHOD, VT_EMPTY, NULL, parms, + lIndex, pIWMPMedia); +} + +void CWMPPlaylist::appendItem(LPDISPATCH pIWMPMedia) +{ + static BYTE parms[] = + VTS_DISPATCH; + InvokeHelper(0xcf, DISPATCH_METHOD, VT_EMPTY, NULL, parms, + pIWMPMedia); +} + +void CWMPPlaylist::removeItem(LPDISPATCH pIWMPMedia) +{ + static BYTE parms[] = + VTS_DISPATCH; + InvokeHelper(0xd0, DISPATCH_METHOD, VT_EMPTY, NULL, parms, + pIWMPMedia); +} + +void CWMPPlaylist::moveItem(long lIndexOld, long lIndexNew) +{ + static BYTE parms[] = + VTS_I4 VTS_I4; + InvokeHelper(0xd1, DISPATCH_METHOD, VT_EMPTY, NULL, parms, + lIndexOld, lIndexNew); +} diff --git a/plugins/wmpa/wmpplaylist.h b/plugins/wmpa/wmpplaylist.h new file mode 100644 index 00000000..1d28ebd1 --- /dev/null +++ b/plugins/wmpa/wmpplaylist.h @@ -0,0 +1,50 @@ +#if !defined(AFX_WMPPLAYLIST_H__B739DAEE_6828_4128_8A0A_E6750502339C__INCLUDED_) +#define AFX_WMPPLAYLIST_H__B739DAEE_6828_4128_8A0A_E6750502339C__INCLUDED_ + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 +// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++ + +// NOTE: Do not modify the contents of this file. If this class is regenerated by +// Microsoft Visual C++, your modifications will be overwritten. + + +// Dispatch interfaces referenced by this interface +class CWMPMedia; + +///////////////////////////////////////////////////////////////////////////// +// CWMPPlaylist wrapper class + +class CWMPPlaylist : public COleDispatchDriver +{ +public: + CWMPPlaylist() {} // Calls COleDispatchDriver default constructor + CWMPPlaylist(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} + CWMPPlaylist(const CWMPPlaylist& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} + +// Attributes +public: + +// Operations +public: + long GetCount(); + CString GetName(); + void SetName(LPCTSTR lpszNewValue); + long GetAttributeCount(); + CString GetAttributeName(long lIndex); + CWMPMedia GetItem(long lIndex); + CString getItemInfo(LPCTSTR bstrName); + void setItemInfo(LPCTSTR bstrName, LPCTSTR bstrValue); + BOOL GetIsIdentical(LPDISPATCH pIWMPPlaylist); + void clear(); + void insertItem(long lIndex, LPDISPATCH pIWMPMedia); + void appendItem(LPDISPATCH pIWMPMedia); + void removeItem(LPDISPATCH pIWMPMedia); + void moveItem(long lIndexOld, long lIndexNew); +}; + +//{{AFX_INSERT_LOCATION}} +// Microsoft Visual C++ will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_WMPPLAYLIST_H__B739DAEE_6828_4128_8A0A_E6750502339C__INCLUDED_) diff --git a/plugins/wmpa/wmpplaylistarray.cpp b/plugins/wmpa/wmpplaylistarray.cpp new file mode 100644 index 00000000..8baf1a87 --- /dev/null +++ b/plugins/wmpa/wmpplaylistarray.cpp @@ -0,0 +1,35 @@ +// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++ + +// NOTE: Do not modify the contents of this file. If this class is regenerated by +// Microsoft Visual C++, your modifications will be overwritten. + + +#include "stdafx.h" +#include "wmpplaylistarray.h" + +// Dispatch interfaces referenced by this interface +#include "wmpplaylist.h" + + +///////////////////////////////////////////////////////////////////////////// +// CWMPPlaylistArray properties + +///////////////////////////////////////////////////////////////////////////// +// CWMPPlaylistArray operations + +long CWMPPlaylistArray::GetCount() +{ + long result; + InvokeHelper(0x1f5, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); + return result; +} + +CWMPPlaylist CWMPPlaylistArray::Item(long lIndex) +{ + LPDISPATCH pDispatch; + static BYTE parms[] = + VTS_I4; + InvokeHelper(0x1f6, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, parms, + lIndex); + return CWMPPlaylist(pDispatch); +} diff --git a/plugins/wmpa/wmpplaylistarray.h b/plugins/wmpa/wmpplaylistarray.h new file mode 100644 index 00000000..9299b42c --- /dev/null +++ b/plugins/wmpa/wmpplaylistarray.h @@ -0,0 +1,38 @@ +#if !defined(AFX_WMPPLAYLISTARRAY_H__6368C8A4_18CF_4937_993F_F7FBE512B851__INCLUDED_) +#define AFX_WMPPLAYLISTARRAY_H__6368C8A4_18CF_4937_993F_F7FBE512B851__INCLUDED_ + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 +// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++ + +// NOTE: Do not modify the contents of this file. If this class is regenerated by +// Microsoft Visual C++, your modifications will be overwritten. + + +// Dispatch interfaces referenced by this interface +class CWMPPlaylist; + +///////////////////////////////////////////////////////////////////////////// +// CWMPPlaylistArray wrapper class + +class CWMPPlaylistArray : public COleDispatchDriver +{ +public: + CWMPPlaylistArray() {} // Calls COleDispatchDriver default constructor + CWMPPlaylistArray(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} + CWMPPlaylistArray(const CWMPPlaylistArray& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} + +// Attributes +public: + +// Operations +public: + long GetCount(); + CWMPPlaylist Item(long lIndex); +}; + +//{{AFX_INSERT_LOCATION}} +// Microsoft Visual C++ will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_WMPPLAYLISTARRAY_H__6368C8A4_18CF_4937_993F_F7FBE512B851__INCLUDED_) diff --git a/plugins/wmpa/wmpplaylistcollection.cpp b/plugins/wmpa/wmpplaylistcollection.cpp new file mode 100644 index 00000000..f13c98de --- /dev/null +++ b/plugins/wmpa/wmpplaylistcollection.cpp @@ -0,0 +1,82 @@ +// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++ + +// NOTE: Do not modify the contents of this file. If this class is regenerated by +// Microsoft Visual C++, your modifications will be overwritten. + + +#include "stdafx.h" +#include "wmpplaylistcollection.h" + +// Dispatch interfaces referenced by this interface +#include "wmpplaylist.h" +#include "WMPPlaylistArray.h" + + +///////////////////////////////////////////////////////////////////////////// +// CWMPPlaylistCollection properties + +///////////////////////////////////////////////////////////////////////////// +// CWMPPlaylistCollection operations + +CWMPPlaylist CWMPPlaylistCollection::newPlaylist(LPCTSTR bstrName) +{ + LPDISPATCH pDispatch; + static BYTE parms[] = + VTS_BSTR; + InvokeHelper(0x228, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, parms, + bstrName); + return CWMPPlaylist(pDispatch); +} + +CWMPPlaylistArray CWMPPlaylistCollection::getAll() +{ + LPDISPATCH pDispatch; + InvokeHelper(0x229, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, NULL); + return CWMPPlaylistArray(pDispatch); +} + +CWMPPlaylistArray CWMPPlaylistCollection::getByName(LPCTSTR bstrName) +{ + LPDISPATCH pDispatch; + static BYTE parms[] = + VTS_BSTR; + InvokeHelper(0x22a, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, parms, + bstrName); + return CWMPPlaylistArray(pDispatch); +} + +void CWMPPlaylistCollection::remove(LPDISPATCH pItem) +{ + static BYTE parms[] = + VTS_DISPATCH; + InvokeHelper(0x22c, DISPATCH_METHOD, VT_EMPTY, NULL, parms, + pItem); +} + +void CWMPPlaylistCollection::setDeleted(LPDISPATCH pItem, BOOL varfIsDeleted) +{ + static BYTE parms[] = + VTS_DISPATCH VTS_BOOL; + InvokeHelper(0x230, DISPATCH_METHOD, VT_EMPTY, NULL, parms, + pItem, varfIsDeleted); +} + +BOOL CWMPPlaylistCollection::isDeleted(LPDISPATCH pItem) +{ + BOOL result; + static BYTE parms[] = + VTS_DISPATCH; + InvokeHelper(0x231, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms, + pItem); + return result; +} + +CWMPPlaylist CWMPPlaylistCollection::importPlaylist(LPDISPATCH pItem) +{ + LPDISPATCH pDispatch; + static BYTE parms[] = + VTS_DISPATCH; + InvokeHelper(0x232, DISPATCH_METHOD, VT_DISPATCH, (void*)&pDispatch, parms, + pItem); + return CWMPPlaylist(pDispatch); +} diff --git a/plugins/wmpa/wmpplaylistcollection.h b/plugins/wmpa/wmpplaylistcollection.h new file mode 100644 index 00000000..b18d95ce --- /dev/null +++ b/plugins/wmpa/wmpplaylistcollection.h @@ -0,0 +1,44 @@ +#if !defined(AFX_WMPPLAYLISTCOLLECTION_H__D07F4C6A_4574_4463_8A11_4A5654E38062__INCLUDED_) +#define AFX_WMPPLAYLISTCOLLECTION_H__D07F4C6A_4574_4463_8A11_4A5654E38062__INCLUDED_ + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 +// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++ + +// NOTE: Do not modify the contents of this file. If this class is regenerated by +// Microsoft Visual C++, your modifications will be overwritten. + + +// Dispatch interfaces referenced by this interface +class CWMPPlaylist; +class CWMPPlaylistArray; + +///////////////////////////////////////////////////////////////////////////// +// CWMPPlaylistCollection wrapper class + +class CWMPPlaylistCollection : public COleDispatchDriver +{ +public: + CWMPPlaylistCollection() {} // Calls COleDispatchDriver default constructor + CWMPPlaylistCollection(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} + CWMPPlaylistCollection(const CWMPPlaylistCollection& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} + +// Attributes +public: + +// Operations +public: + CWMPPlaylist newPlaylist(LPCTSTR bstrName); + CWMPPlaylistArray getAll(); + CWMPPlaylistArray getByName(LPCTSTR bstrName); + void remove(LPDISPATCH pItem); + void setDeleted(LPDISPATCH pItem, BOOL varfIsDeleted); + BOOL isDeleted(LPDISPATCH pItem); + CWMPPlaylist importPlaylist(LPDISPATCH pItem); +}; + +//{{AFX_INSERT_LOCATION}} +// Microsoft Visual C++ will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_WMPPLAYLISTCOLLECTION_H__D07F4C6A_4574_4463_8A11_4A5654E38062__INCLUDED_) diff --git a/plugins/wmpa/wmpsettings.cpp b/plugins/wmpa/wmpsettings.cpp new file mode 100644 index 00000000..662a336a --- /dev/null +++ b/plugins/wmpa/wmpsettings.cpp @@ -0,0 +1,193 @@ +// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++ + +// NOTE: Do not modify the contents of this file. If this class is regenerated by +// Microsoft Visual C++, your modifications will be overwritten. + + +#include "stdafx.h" +#include "wmpsettings.h" + + +///////////////////////////////////////////////////////////////////////////// +// CWMPSettings properties + +///////////////////////////////////////////////////////////////////////////// +// CWMPSettings operations + +BOOL CWMPSettings::GetIsAvailable(LPCTSTR bstrItem) +{ + BOOL result; + static BYTE parms[] = + VTS_BSTR; + InvokeHelper(0x71, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, parms, + bstrItem); + return result; +} + +BOOL CWMPSettings::GetAutoStart() +{ + BOOL result; + InvokeHelper(0x65, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL); + return result; +} + +void CWMPSettings::SetAutoStart(BOOL bNewValue) +{ + static BYTE parms[] = + VTS_BOOL; + InvokeHelper(0x65, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, + bNewValue); +} + +CString CWMPSettings::GetBaseURL() +{ + CString result; + InvokeHelper(0x6c, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); + return result; +} + +void CWMPSettings::SetBaseURL(LPCTSTR lpszNewValue) +{ + static BYTE parms[] = + VTS_BSTR; + InvokeHelper(0x6c, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, + lpszNewValue); +} + +CString CWMPSettings::GetDefaultFrame() +{ + CString result; + InvokeHelper(0x6d, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL); + return result; +} + +void CWMPSettings::SetDefaultFrame(LPCTSTR lpszNewValue) +{ + static BYTE parms[] = + VTS_BSTR; + InvokeHelper(0x6d, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, + lpszNewValue); +} + +BOOL CWMPSettings::GetInvokeURLs() +{ + BOOL result; + InvokeHelper(0x67, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL); + return result; +} + +void CWMPSettings::SetInvokeURLs(BOOL bNewValue) +{ + static BYTE parms[] = + VTS_BOOL; + InvokeHelper(0x67, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, + bNewValue); +} + +BOOL CWMPSettings::GetMute() +{ + BOOL result; + InvokeHelper(0x68, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL); + return result; +} + +void CWMPSettings::SetMute(BOOL bNewValue) +{ + static BYTE parms[] = + VTS_BOOL; + InvokeHelper(0x68, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, + bNewValue); +} + +long CWMPSettings::GetPlayCount() +{ + long result; + InvokeHelper(0x69, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); + return result; +} + +void CWMPSettings::SetPlayCount(long nNewValue) +{ + static BYTE parms[] = + VTS_I4; + InvokeHelper(0x69, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, + nNewValue); +} + +double CWMPSettings::GetRate() +{ + double result; + InvokeHelper(0x6a, DISPATCH_PROPERTYGET, VT_R8, (void*)&result, NULL); + return result; +} + +void CWMPSettings::SetRate(double newValue) +{ + static BYTE parms[] = + VTS_R8; + InvokeHelper(0x6a, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, + newValue); +} + +long CWMPSettings::GetBalance() +{ + long result; + InvokeHelper(0x66, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); + return result; +} + +void CWMPSettings::SetBalance(long nNewValue) +{ + static BYTE parms[] = + VTS_I4; + InvokeHelper(0x66, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, + nNewValue); +} + +long CWMPSettings::GetVolume() +{ + long result; + InvokeHelper(0x6b, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); + return result; +} + +void CWMPSettings::SetVolume(long nNewValue) +{ + static BYTE parms[] = + VTS_I4; + InvokeHelper(0x6b, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, + nNewValue); +} + +BOOL CWMPSettings::getMode(LPCTSTR bstrMode) +{ + BOOL result; + static BYTE parms[] = + VTS_BSTR; + InvokeHelper(0x6e, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms, + bstrMode); + return result; +} + +void CWMPSettings::setMode(LPCTSTR bstrMode, BOOL varfMode) +{ + static BYTE parms[] = + VTS_BSTR VTS_BOOL; + InvokeHelper(0x6f, DISPATCH_METHOD, VT_EMPTY, NULL, parms, + bstrMode, varfMode); +} + +BOOL CWMPSettings::GetEnableErrorDialogs() +{ + BOOL result; + InvokeHelper(0x70, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL); + return result; +} + +void CWMPSettings::SetEnableErrorDialogs(BOOL bNewValue) +{ + static BYTE parms[] = + VTS_BOOL; + InvokeHelper(0x70, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms, + bNewValue); +} diff --git a/plugins/wmpa/wmpsettings.h b/plugins/wmpa/wmpsettings.h new file mode 100644 index 00000000..423f7e6d --- /dev/null +++ b/plugins/wmpa/wmpsettings.h @@ -0,0 +1,55 @@ +#if !defined(AFX_WMPSETTINGS_H__28D3DCCC_3E9A_48AE_97A9_3C1337309AF4__INCLUDED_) +#define AFX_WMPSETTINGS_H__28D3DCCC_3E9A_48AE_97A9_3C1337309AF4__INCLUDED_ + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 +// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++ + +// NOTE: Do not modify the contents of this file. If this class is regenerated by +// Microsoft Visual C++, your modifications will be overwritten. + +///////////////////////////////////////////////////////////////////////////// +// CWMPSettings wrapper class + +class CWMPSettings : public COleDispatchDriver +{ +public: + CWMPSettings() {} // Calls COleDispatchDriver default constructor + CWMPSettings(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} + CWMPSettings(const CWMPSettings& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} + +// Attributes +public: + +// Operations +public: + BOOL GetIsAvailable(LPCTSTR bstrItem); + BOOL GetAutoStart(); + void SetAutoStart(BOOL bNewValue); + CString GetBaseURL(); + void SetBaseURL(LPCTSTR lpszNewValue); + CString GetDefaultFrame(); + void SetDefaultFrame(LPCTSTR lpszNewValue); + BOOL GetInvokeURLs(); + void SetInvokeURLs(BOOL bNewValue); + BOOL GetMute(); + void SetMute(BOOL bNewValue); + long GetPlayCount(); + void SetPlayCount(long nNewValue); + double GetRate(); + void SetRate(double newValue); + long GetBalance(); + void SetBalance(long nNewValue); + long GetVolume(); + void SetVolume(long nNewValue); + BOOL getMode(LPCTSTR bstrMode); + void setMode(LPCTSTR bstrMode, BOOL varfMode); + BOOL GetEnableErrorDialogs(); + void SetEnableErrorDialogs(BOOL bNewValue); +}; + +//{{AFX_INSERT_LOCATION}} +// Microsoft Visual C++ will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_WMPSETTINGS_H__28D3DCCC_3E9A_48AE_97A9_3C1337309AF4__INCLUDED_) diff --git a/plugins/wmpa/wmpstringcollection.cpp b/plugins/wmpa/wmpstringcollection.cpp new file mode 100644 index 00000000..a36d4d9c --- /dev/null +++ b/plugins/wmpa/wmpstringcollection.cpp @@ -0,0 +1,32 @@ +// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++ + +// NOTE: Do not modify the contents of this file. If this class is regenerated by +// Microsoft Visual C++, your modifications will be overwritten. + + +#include "stdafx.h" +#include "wmpstringcollection.h" + + +///////////////////////////////////////////////////////////////////////////// +// CWMPStringCollection properties + +///////////////////////////////////////////////////////////////////////////// +// CWMPStringCollection operations + +long CWMPStringCollection::GetCount() +{ + long result; + InvokeHelper(0x191, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL); + return result; +} + +CString CWMPStringCollection::Item(long lIndex) +{ + CString result; + static BYTE parms[] = + VTS_I4; + InvokeHelper(0x192, DISPATCH_METHOD, VT_BSTR, (void*)&result, parms, + lIndex); + return result; +} diff --git a/plugins/wmpa/wmpstringcollection.h b/plugins/wmpa/wmpstringcollection.h new file mode 100644 index 00000000..bc03db89 --- /dev/null +++ b/plugins/wmpa/wmpstringcollection.h @@ -0,0 +1,34 @@ +#if !defined(AFX_WMPSTRINGCOLLECTION_H__782BAE9B_652B_476D_9448_808027B17262__INCLUDED_) +#define AFX_WMPSTRINGCOLLECTION_H__782BAE9B_652B_476D_9448_808027B17262__INCLUDED_ + +#if _MSC_VER > 1000 +#pragma once +#endif // _MSC_VER > 1000 +// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++ + +// NOTE: Do not modify the contents of this file. If this class is regenerated by +// Microsoft Visual C++, your modifications will be overwritten. + +///////////////////////////////////////////////////////////////////////////// +// CWMPStringCollection wrapper class + +class CWMPStringCollection : public COleDispatchDriver +{ +public: + CWMPStringCollection() {} // Calls COleDispatchDriver default constructor + CWMPStringCollection(LPDISPATCH pDispatch) : COleDispatchDriver(pDispatch) {} + CWMPStringCollection(const CWMPStringCollection& dispatchSrc) : COleDispatchDriver(dispatchSrc) {} + +// Attributes +public: + +// Operations +public: + long GetCount(); + CString Item(long lIndex); +}; + +//{{AFX_INSERT_LOCATION}} +// Microsoft Visual C++ will insert additional declarations immediately before the previous line. + +#endif // !defined(AFX_WMPSTRINGCOLLECTION_H__782BAE9B_652B_476D_9448_808027B17262__INCLUDED_) diff --git a/plugins/wmpa/xchat-plugin.cpp b/plugins/wmpa/xchat-plugin.cpp new file mode 100644 index 00000000..c5634064 --- /dev/null +++ b/plugins/wmpa/xchat-plugin.cpp @@ -0,0 +1,590 @@ +/****************************************************************** +* $Id$ +* +* $Log$ +* +* Copyright © 2005 David Cullen, All rights reserved +* +******************************************************************/ +#include "stdafx.h" +#include "xchat-plugin.h" +#include <windows.h> +#include <tchar.h> +#include "wmpa.h" +#include "WMPADialog.h" + +#define XMMS_SESSION 0 + +/****************************************************************** +* Globalss +******************************************************************/ +xchat_plugin *ph = NULL; +CWMPPlayer4 *wmp; +static const char subKey[] = "Software\\FlowerSoft\\WMPA"; + +/****************************************************************** +* xchat_plugin_init +******************************************************************/ +int xchat_plugin_init(xchat_plugin *plugin_handle, + char **plugin_name, + char **plugin_desc, + char **plugin_version, + char *arg) +{ + BOOL success; + + ph = plugin_handle; + + *plugin_name = "WMPA"; + *plugin_desc = "Announce the current song from Windows Media Player."; + *plugin_version = VER_STRING; + + // Show the song browser + success = StartWindowsMediaPlayer(); + if (!success) { + xchat_printf(ph, "WMPA: Failed to show the song browser."); + xchat_printf(ph, "WMPA: Could not load plug-in version %s.", VER_STRING); + return(E_FAIL); + } + + // Get a pointer to the Windows Media Player control + wmp = GetWindowsMediaPlayer(); + if (wmp == NULL) { + xchat_printf(ph, "WMPA: Failed to get a pointer to the Windows Media Player interface."); + xchat_printf(ph, "WMPA: Could not load plug-in version %s.", VER_STRING); + return(E_POINTER); + } + + // Restore the settings (need wmp first) + success = wmpaRestoreSettings(); + if (!success) { + xchat_printf(ph, "WMPA: Failed to restore the settings."); + } + + xchat_hook_command(ph, "auto", XCHAT_PRI_NORM, wmpaAuto, 0, 0); + xchat_hook_command(ph, "curr", XCHAT_PRI_NORM, wmpaCurr, 0, 0); + xchat_hook_command(ph, "find", XCHAT_PRI_NORM, wmpaFind, 0, 0); + xchat_hook_command(ph, "slist", XCHAT_PRI_NORM, wmpaList, 0, 0); + xchat_hook_command(ph, "next", XCHAT_PRI_NORM, wmpaNext, 0, 0); + xchat_hook_command(ph, "play", XCHAT_PRI_NORM, wmpaPlay, 0, 0); + xchat_hook_command(ph, "pause", XCHAT_PRI_NORM, wmpaPause, 0, 0); + xchat_hook_command(ph, "prev", XCHAT_PRI_NORM, wmpaPrev, 0, 0); + xchat_hook_command(ph, "song", XCHAT_PRI_NORM, wmpaSong, 0, 0); + xchat_hook_command(ph, "stop", XCHAT_PRI_NORM, wmpaStop, 0, 0); + xchat_hook_command(ph, "volume", XCHAT_PRI_NORM, wmpaVolume, 0, 0); + xchat_hook_command(ph, "wmpahelp", XCHAT_PRI_NORM, wmpaHelp, 0, 0); + + xchat_printf(ph, "WMPA %s successfully loaded.", VER_STRING); + wmpaCommands(); + xchat_printf(ph, "WMPA: e-mail me if you find any bugs: dcullen@intergate.com"); + + return 1; +} + +/****************************************************************** +* xchat_plugin_deinit +******************************************************************/ +int xchat_plugin_deinit(void) +{ + BOOL success; + + xchat_printf(ph, "WMPA %s is unloading.", VER_STRING); + + // Save the settings + success = wmpaSaveSettings(); + if (!success) { + xchat_printf(ph, "WMPA: Failed to save the settings."); + } + + wmp = NULL; + + BOOL result = StopWindowsMediaPlayer(); + if (!result) { + xchat_printf(ph, "WMPA could not shut down Windows Media Player."); + } + + xchat_printf(ph, "WMPA %s has unloaded.", VER_STRING); + return 1; +} + +/****************************************************************** +* xchat_plugin_get_info +******************************************************************/ +void xchat_plugin_get_info(char **name, char **desc, char **version, void **reserved) +{ + *name = "WMPA"; + *desc = "Announce the current song from Windows Media Player."; + *version = VER_STRING; + if (reserved) *reserved = NULL; +} + +/****************************************************************** +* wmpaCommands +******************************************************************/ +void wmpaCommands(void) +{ + xchat_printf(ph, "WMPA: /auto [on/off] : Turn on/off auto announce of the current song or display the current setting"); + xchat_printf(ph, "WMPA: /curr : Tell what song is currently playing"); + xchat_printf(ph, "WMPA: /find [word] : Find songs with \"word\" in their title, create a new playlist, and play it"); + xchat_printf(ph, "WMPA: /slist [word] : List songs with \"word\" in their title"); + xchat_printf(ph, "WMPA: /next : Play the next song"); + xchat_printf(ph, "WMPA: /play : Play the current song"); + xchat_printf(ph, "WMPA: /pause : Pause the current song"); + xchat_printf(ph, "WMPA: /prev : Play the previous song"); + xchat_printf(ph, "WMPA: /song : Announce the current song from Windows Media Player in xchat"); + xchat_printf(ph, "WMPA: /stop : Stop the current song"); + xchat_printf(ph, "WMPA: /volume [volume] : Set the volume (0 to 100) or display the current volume"); + xchat_printf(ph, "WMPA: /wmpahelp : Display this help."); +} + +/****************************************************************** +* wmpaAuto +******************************************************************/ +int wmpaAuto(char *word[], char *word_eol[], void *user_data) +{ + CWMPADialog *pDialog; + char *state; + + pDialog = GetWMPADialog(); + if (pDialog == NULL) return(XCHAT_EAT_ALL); + + if (CString(word[2]).IsEmpty()) { + if (pDialog->autoAnnounce) { + state = "on"; + } + else { + state = "off"; + } + } + else { + state = word[2]; + if (CString(state) == "on") { + pDialog->autoAnnounce = TRUE; + } + if (CString(state) == "off") { + pDialog->autoAnnounce = FALSE; + } + wmpaSaveSettings(); + } + + xchat_printf(ph, "WMPA: auto is %s", state); + + return(XCHAT_EAT_ALL); +} + +/****************************************************************** +* wmpaCurr +******************************************************************/ +int wmpaCurr(char *word[], char *word_eol[], void *user_data) +{ + xchat_printf(ph, "WMPA: Playing %s", (LPCTSTR) wmpaGetSongTitle()); + + return(XCHAT_EAT_ALL); +} + +/****************************************************************** +* wmpaFind +******************************************************************/ +int wmpaFind(char *word[], char *word_eol[], void *user_data) +{ + long index; + long count; + long found; + + if (wmp != NULL) { + CWMPMediaCollection mc = wmp->GetMediaCollection(); + CWMPPlaylist all = mc.getAll(); + CWMPPlaylistCollection pc = wmp->GetPlaylistCollection(); + CWMPPlaylistArray pa = pc.getAll(); + CWMPPlaylist playlist; + CWMPMedia media; + + for (index = 0; index < pc.getAll().GetCount(); index++) { + if (pc.getAll().Item(index).GetName() == CString(word_eol[2])) { + playlist = pc.getAll().Item(index); + pc.remove(playlist); + } + } + + playlist = pc.newPlaylist(word_eol[2]); + + count = all.GetCount(); + found = 0; + for (index = 0; index < count; index++) { + media = all.GetItem(index); + CString artist = media.getItemInfo("Artist"); + CString title = media.getItemInfo("Title"); + CString album = media.getItemInfo("Album"); + if ( (artist.Find(word_eol[2]) != -1) || + (title.Find(word_eol[2]) != -1) || + (album.Find(word_eol[2]) != -1) ) { + playlist.appendItem(media); + found++; + } + } + + if (found > 0) { + xchat_printf(ph, "WMPA: Found %d songs with \"%s\" in them", found, word_eol[2]); + wmp->SetCurrentPlaylist(playlist); + wmp->GetControls().play(); + xchat_printf(ph, "WMPA: Playing %s", (LPCTSTR) wmpaGetSongTitle()); + + CWMPADialog *dialog = GetWMPADialog(); + if (dialog != NULL) { + dialog->UpdateSongList(); + dialog->SelectCurrentSong(); + dialog->UpdatePlayLists(); + } + + } + else { + xchat_printf(ph, "WMPA: Could not find %s", word_eol[2]); + } + + } + + return(XCHAT_EAT_ALL); +} + +/****************************************************************** +* wmpaList +******************************************************************/ +int wmpaList(char *word[], char *word_eol[], void *user_data) +{ + long index; + long count; + long found; + + if (wmp != NULL) { + xchat_printf(ph, "WMPA: Listing songs with \"%s\" in them", word_eol[2]); + + CWMPMediaCollection mc = wmp->GetMediaCollection(); + CWMPPlaylist all = mc.getAll(); + CWMPMedia media; + + count = all.GetCount(); + found = 0; + for (index = 0; index < count; index++) { + media = all.GetItem(index); + CString artist = media.getItemInfo("Artist"); + CString title = media.getItemInfo("Title"); + CString album = media.getItemInfo("Album"); + if ( (artist.Find(word_eol[2]) != -1) || + (title.Find(word_eol[2]) != -1) || + (album.Find(word_eol[2]) != -1) ) { + xchat_printf(ph, "WMPA: Found \"%s - %s (%s)\"", artist, title, album); + found++; + } + } + + if (found > 0) { + if (found == 1) + xchat_printf(ph, "WMPA: Found %d song with \"%s\" in it", found, word_eol[2]); + else + xchat_printf(ph, "WMPA: Found %d songs with \"%s\" in them", found, word_eol[2]); + } + else { + xchat_printf(ph, "WMPA: Could not find any songs with \"%s\" in them", word_eol[2]); + } + + } + + return(XCHAT_EAT_ALL); +} + +/****************************************************************** +* wmpaNext +******************************************************************/ +int wmpaNext(char *word[], char *word_eol[], void *user_data) +{ + if (wmp != NULL) { + wmp->GetControls().next(); + xchat_printf(ph, "WMPA: Playing %s", (LPCTSTR) wmpaGetSongTitle()); + } + return(XCHAT_EAT_ALL); +} + +/****************************************************************** +* wmpaPlay +******************************************************************/ +int wmpaPlay(char *word[], char *word_eol[], void *user_data) +{ + if (wmp != NULL) { + wmp->GetControls().play(); + xchat_printf(ph, "WMPA: Playing %s", (LPCTSTR) wmpaGetSongTitle()); + } + return(XCHAT_EAT_ALL); +} + +/****************************************************************** +* wmpaPause +******************************************************************/ +int wmpaPause(char *word[], char *word_eol[], void *user_data) +{ + if (wmp != NULL) { + wmp->GetControls().pause(); + xchat_printf(ph, "WMPA: Pausing %s", (LPCTSTR) wmpaGetSongTitle()); + } + return(XCHAT_EAT_ALL); +} + +/****************************************************************** +* wmpaPrev +******************************************************************/ +int wmpaPrev(char *word[], char *word_eol[], void *user_data) +{ + if (wmp != NULL) { + wmp->GetControls().previous(); + xchat_printf(ph, "WMPA: Playing %s", (LPCTSTR) wmpaGetSongTitle()); + } + return(XCHAT_EAT_ALL); +} + +/****************************************************************** +* wmpaSong +******************************************************************/ +int wmpaSong(char *word[], char *word_eol[], void *user_data) +{ + CString songTitle = wmpaGetSongTitle(); + + xchat_commandf(ph, "me is playing %s", (LPCTSTR) songTitle); + + return(XCHAT_EAT_ALL); +} + +/****************************************************************** +* wmpaStop +******************************************************************/ +int wmpaStop(char *word[], char *word_eol[], void *user_data) +{ + if (wmp != NULL) { + wmp->GetControls().stop(); + xchat_printf(ph, "WMPA: Stopping %s", (LPCTSTR) wmpaGetSongTitle()); + } + return(XCHAT_EAT_ALL); +} + +/****************************************************************** +* wmpaHelp +******************************************************************/ +int wmpaHelp(char *word[], char *word_eol[], void *user_data) +{ + xchat_printf(ph, "\n"); + xchat_printf(ph, "WMPA %s Help", VER_STRING); + wmpaCommands(); + xchat_printf(ph, "\n"); + + return(XCHAT_EAT_ALL); +} + +/****************************************************************** +* wmpaVolume +******************************************************************/ +int wmpaVolume(char *word[], char *word_eol[], void *user_data) +{ + char *endPtr; + long volume; + + if (CString(word[2]).IsEmpty()) { + volume = wmp->GetSettings().GetVolume(); + } + else { + volume = strtol(word[2], &endPtr, 10); + + if ((wmp != NULL) && (volume >= 0) && (volume <= 100)) { + wmp->GetSettings().SetVolume(volume); + wmpaSaveSettings(); + } + } + + xchat_printf(ph, "WMPA: volume is %d", volume); + + return(XCHAT_EAT_ALL); +} + +/****************************************************************** +* wmpaRestoreSettings +******************************************************************/ +BOOL wmpaRestoreSettings(void) +{ + CWMPADialog *pDialog; + DWORD type; + int volume; + BOOL autoAnnounce; + DWORD size; + BOOL result; + + if (wmp == NULL) return(FALSE); + + volume = 50; + result = GetSetting("Volume", &type, (LPBYTE) &volume, &size); + wmp->GetSettings().SetVolume(volume); + + autoAnnounce = FALSE; + pDialog = GetWMPADialog(); + if (pDialog != NULL) { + result = result && GetSetting("Auto", &type, (LPBYTE) &autoAnnounce, &size); + pDialog->autoAnnounce = autoAnnounce; + } + else { + result = FALSE; + } + + return(result); +} + +/****************************************************************** +* wmpaSaveSettings +******************************************************************/ +BOOL wmpaSaveSettings(void) +{ + CWMPADialog *pDialog; + int volume; + BOOL autoAnnounce; + BOOL result; + + if (wmp == NULL) return(FALSE); + + volume = wmp->GetSettings().GetVolume(); + result = SaveSetting("Volume", REG_DWORD, (CONST BYTE *) &volume, sizeof(volume)); + + pDialog = GetWMPADialog(); + if (pDialog != NULL) { + autoAnnounce = pDialog->autoAnnounce; + result = result && SaveSetting("Auto", REG_DWORD, (CONST BYTE *) &autoAnnounce, sizeof(autoAnnounce)); + } + else { + result = FALSE; + } + + return(result); +} + +/****************************************************************** +* wmpaGetSongTitle +******************************************************************/ +CString wmpaGetSongTitle(void) +{ + char buffer[32]; + + if (wmp == NULL) return(CString()); + + CWMPMedia media = wmp->GetCurrentMedia(); + if (media == NULL) { + xchat_printf(ph, "WMPA: Could not get current media"); + return(XCHAT_EAT_ALL); + } + + CString artist = media.getItemInfo("Artist"); + CString title = media.getItemInfo("Title"); + CString album = media.getItemInfo("Album"); + CString bitrate = media.getItemInfo("Bitrate"); + CString duration = media.GetDurationString(); + + long krate = strtoul((LPCTSTR) bitrate, NULL, 10) / 1000; + _ultoa(krate, buffer, 10); + bitrate = CString(buffer); + + // Creatte the song title + CString songTitle(""); + songTitle += artist; + if (songTitle.IsEmpty()) songTitle += "Various"; + songTitle += " - "; + songTitle += title; + songTitle += " ("; + songTitle += album; + songTitle += ") ["; + songTitle += duration; + songTitle += "/"; + songTitle += bitrate; + songTitle += "Kbps]"; + + return(songTitle); +} + +/****************************************************************** +* SaveSetting +******************************************************************/ +BOOL SaveSetting(LPCTSTR name, DWORD type, CONST BYTE *value, DWORD size) +{ + HKEY hKey; + DWORD disposition; + LONG result; + + if (wmp == NULL) return(FALSE); + if (name == NULL) return(FALSE); + + result = RegOpenKeyEx(HKEY_CURRENT_USER, + subKey, + 0, + KEY_WRITE, + &hKey); + + if (result != ERROR_SUCCESS) { + result = RegCreateKeyEx(HKEY_CURRENT_USER, + subKey, + 0, + NULL, + REG_OPTION_NON_VOLATILE, + KEY_WRITE, + NULL, + &hKey, + &disposition); + + if (result != ERROR_SUCCESS) return(FALSE); + } + + result = RegSetValueEx(hKey, + name, + 0, + type, + value, + size); + + if (result == ERROR_SUCCESS) { + RegCloseKey(hKey); + return(TRUE); + } + + RegCloseKey(hKey); + return(FALSE); +} + +/****************************************************************** +* GetSetting +******************************************************************/ +BOOL GetSetting(LPCTSTR name, DWORD *type, LPBYTE value, DWORD *size) +{ + HKEY hKey; + LONG result; + + if (wmp == NULL) return(FALSE); + if (type == NULL) return(FALSE); + if (value == NULL) return(FALSE); + if (size == NULL) return(FALSE); + + result = RegOpenKeyEx(HKEY_CURRENT_USER, + subKey, + 0, + KEY_READ, + &hKey); + + if (result != ERROR_SUCCESS) return(FALSE); + + result = RegQueryValueEx(hKey, + name, + 0, + type, + value, + size); + + RegCloseKey(hKey); + + if (result == ERROR_SUCCESS) { + return(TRUE); + } + + RegCloseKey(hKey); + return(FALSE); +} + diff --git a/plugins/wmpa/xchat-plugin.h b/plugins/wmpa/xchat-plugin.h new file mode 100644 index 00000000..ee189ffe --- /dev/null +++ b/plugins/wmpa/xchat-plugin.h @@ -0,0 +1,368 @@ +/* You can distribute this header with your plugins for easy compilation */ +#ifndef XCHAT_PLUGIN_H +#define XCHAT_PLUGIN_H + +#define VER_STRING _T("1.0.2 (BETA)") + +#include "stdafx.h" +#include <windows.h> +#include <time.h> +#include <tchar.h> + +#define XCHAT_IFACE_MAJOR 1 +#define XCHAT_IFACE_MINOR 9 +#define XCHAT_IFACE_MICRO 11 +#define XCHAT_IFACE_VERSION ((XCHAT_IFACE_MAJOR * 10000) + \ + (XCHAT_IFACE_MINOR * 100) + \ + (XCHAT_IFACE_MICRO)) + +#define XCHAT_PRI_HIGHEST 127 +#define XCHAT_PRI_HIGH 64 +#define XCHAT_PRI_NORM 0 +#define XCHAT_PRI_LOW (-64) +#define XCHAT_PRI_LOWEST (-128) + +#define XCHAT_FD_READ 1 +#define XCHAT_FD_WRITE 2 +#define XCHAT_FD_EXCEPTION 4 +#define XCHAT_FD_NOTSOCKET 8 + +#define XCHAT_EAT_NONE 0 /* pass it on through! */ +#define XCHAT_EAT_XCHAT 1 /* don't let xchat see this event */ +#define XCHAT_EAT_PLUGIN 2 /* don't let other plugins see this event */ +#define XCHAT_EAT_ALL (XCHAT_EAT_XCHAT|XCHAT_EAT_PLUGIN) /* don't let anything see this event */ + +#ifdef __cplusplus +extern "C" { +#endif + + + typedef struct _xchat_plugin xchat_plugin; + typedef struct _xchat_list xchat_list; + typedef struct _xchat_hook xchat_hook; +#ifndef PLUGIN_C + typedef struct _xchat_context xchat_context; +#endif + +#ifndef PLUGIN_C + struct _xchat_plugin { + /* these are only used on win32 */ + xchat_hook *(*xchat_hook_command) (xchat_plugin *ph, + const char *name, + int pri, + int (*callback) (char *word[], char *word_eol[], void *user_data), + const char *help_text, + void *userdata); + xchat_hook *(*xchat_hook_server) (xchat_plugin *ph, + const char *name, + int pri, + int (*callback) (char *word[], char *word_eol[], void *user_data), + void *userdata); + xchat_hook *(*xchat_hook_print) (xchat_plugin *ph, + const char *name, + int pri, + int (*callback) (char *word[], void *user_data), + void *userdata); + xchat_hook *(*xchat_hook_timer) (xchat_plugin *ph, + int timeout, + int (*callback) (void *user_data), + void *userdata); + xchat_hook *(*xchat_hook_fd) (xchat_plugin *ph, + int fd, + int flags, + int (*callback) (int fd, int flags, void *user_data), + void *userdata); + void *(*xchat_unhook) (xchat_plugin *ph, + xchat_hook *hook); + void (*xchat_print) (xchat_plugin *ph, + const char *text); + void (*xchat_printf) (xchat_plugin *ph, + const char *format, ...); + void (*xchat_command) (xchat_plugin *ph, + const char *command); + void (*xchat_commandf) (xchat_plugin *ph, + const char *format, ...); + int (*xchat_nickcmp) (xchat_plugin *ph, + const char *s1, + const char *s2); + int (*xchat_set_context) (xchat_plugin *ph, + xchat_context *ctx); + xchat_context *(*xchat_find_context) (xchat_plugin *ph, + const char *servname, + const char *channel); + xchat_context *(*xchat_get_context) (xchat_plugin *ph); + const char *(*xchat_get_info) (xchat_plugin *ph, + const char *id); + int (*xchat_get_prefs) (xchat_plugin *ph, + const char *name, + const char **string, + int *integer); + xchat_list * (*xchat_list_get) (xchat_plugin *ph, + const char *name); + void (*xchat_list_free) (xchat_plugin *ph, + xchat_list *xlist); + const char * const * (*xchat_list_fields) (xchat_plugin *ph, + const char *name); + int (*xchat_list_next) (xchat_plugin *ph, + xchat_list *xlist); + const char * (*xchat_list_str) (xchat_plugin *ph, + xchat_list *xlist, + const char *name); + int (*xchat_list_int) (xchat_plugin *ph, + xchat_list *xlist, + const char *name); + void * (*xchat_plugingui_add) (xchat_plugin *ph, + const char *filename, + const char *name, + const char *desc, + const char *version, + char *reserved); + void (*xchat_plugingui_remove) (xchat_plugin *ph, + void *handle); + int (*xchat_emit_print) (xchat_plugin *ph, + const char *event_name, ...); + int (*xchat_read_fd) (xchat_plugin *ph, + void *src, + char *buf, + int *len); + time_t (*xchat_list_time) (xchat_plugin *ph, + xchat_list *xlist, + const char *name); + char *(*xchat_gettext) (xchat_plugin *ph, + const char *msgid); + void (*xchat_send_modes) (xchat_plugin *ph, + const char **targets, + int ntargets, + int modes_per_line, + char sign, + char mode); + char *(*xchat_strip) (xchat_plugin *ph, + const char *str, + int len, + int flags); + void (*xchat_free) (xchat_plugin *ph, + void *ptr); + }; +#endif + + + xchat_hook * + xchat_hook_command (xchat_plugin *ph, + const char *name, + int pri, + int (*callback) (char *word[], char *word_eol[], void *user_data), + const char *help_text, + void *userdata); + + xchat_hook * + xchat_hook_server (xchat_plugin *ph, + const char *name, + int pri, + int (*callback) (char *word[], char *word_eol[], void *user_data), + void *userdata); + + xchat_hook * + xchat_hook_print (xchat_plugin *ph, + const char *name, + int pri, + int (*callback) (char *word[], void *user_data), + void *userdata); + + xchat_hook * + xchat_hook_timer (xchat_plugin *ph, + int timeout, + int (*callback) (void *user_data), + void *userdata); + + xchat_hook * + xchat_hook_fd (xchat_plugin *ph, + int fd, + int flags, + int (*callback) (int fd, int flags, void *user_data), + void *userdata); + + void * + xchat_unhook (xchat_plugin *ph, + xchat_hook *hook); + + void + xchat_print (xchat_plugin *ph, + const char *text); + + void + xchat_printf (xchat_plugin *ph, + const char *format, ...); + + void + xchat_command (xchat_plugin *ph, + const char *command); + + void + xchat_commandf (xchat_plugin *ph, + const char *format, ...); + + int + xchat_nickcmp (xchat_plugin *ph, + const char *s1, + const char *s2); + + int + xchat_set_context (xchat_plugin *ph, + xchat_context *ctx); + + xchat_context * + xchat_find_context (xchat_plugin *ph, + const char *servname, + const char *channel); + + xchat_context * + xchat_get_context (xchat_plugin *ph); + + const char * + xchat_get_info (xchat_plugin *ph, + const char *id); + + int + xchat_get_prefs (xchat_plugin *ph, + const char *name, + const char **string, + int *integer); + + xchat_list * + xchat_list_get (xchat_plugin *ph, + const char *name); + + void + xchat_list_free (xchat_plugin *ph, + xchat_list *xlist); + + const char * const * + xchat_list_fields (xchat_plugin *ph, + const char *name); + + int + xchat_list_next (xchat_plugin *ph, + xchat_list *xlist); + + const char * + xchat_list_str (xchat_plugin *ph, + xchat_list *xlist, + const char *name); + + int + xchat_list_int (xchat_plugin *ph, + xchat_list *xlist, + const char *name); + + time_t + xchat_list_time (xchat_plugin *ph, + xchat_list *xlist, + const char *name); + + void * + xchat_plugingui_add (xchat_plugin *ph, + const char *filename, + const char *name, + const char *desc, + const char *version, + char *reserved); + + void + xchat_plugingui_remove (xchat_plugin *ph, + void *handle); + + int + xchat_emit_print (xchat_plugin *ph, + const char *event_name, ...); + + char * + xchat_gettext (xchat_plugin *ph, + const char *msgid); + + void + xchat_send_modes (xchat_plugin *ph, + const char **targets, + int ntargets, + int modes_per_line, + char sign, + char mode); + + char * + xchat_strip (xchat_plugin *ph, + const char *str, + int len, + int flags); + + void + xchat_free (xchat_plugin *ph, + void *ptr); + +#if !defined(PLUGIN_C) && defined(WIN32) +#ifndef XCHAT_PLUGIN_HANDLE +#define XCHAT_PLUGIN_HANDLE (ph) +#endif +#define xchat_hook_command ((XCHAT_PLUGIN_HANDLE)->xchat_hook_command) +#define xchat_hook_server ((XCHAT_PLUGIN_HANDLE)->xchat_hook_server) +#define xchat_hook_print ((XCHAT_PLUGIN_HANDLE)->xchat_hook_print) +#define xchat_hook_timer ((XCHAT_PLUGIN_HANDLE)->xchat_hook_timer) +#define xchat_hook_fd ((XCHAT_PLUGIN_HANDLE)->xchat_hook_fd) +#define xchat_unhook ((XCHAT_PLUGIN_HANDLE)->xchat_unhook) +#define xchat_print ((XCHAT_PLUGIN_HANDLE)->xchat_print) +#define xchat_printf ((XCHAT_PLUGIN_HANDLE)->xchat_printf) +#define xchat_command ((XCHAT_PLUGIN_HANDLE)->xchat_command) +#define xchat_commandf ((XCHAT_PLUGIN_HANDLE)->xchat_commandf) +#define xchat_nickcmp ((XCHAT_PLUGIN_HANDLE)->xchat_nickcmp) +#define xchat_set_context ((XCHAT_PLUGIN_HANDLE)->xchat_set_context) +#define xchat_find_context ((XCHAT_PLUGIN_HANDLE)->xchat_find_context) +#define xchat_get_context ((XCHAT_PLUGIN_HANDLE)->xchat_get_context) +#define xchat_get_info ((XCHAT_PLUGIN_HANDLE)->xchat_get_info) +#define xchat_get_prefs ((XCHAT_PLUGIN_HANDLE)->xchat_get_prefs) +#define xchat_list_get ((XCHAT_PLUGIN_HANDLE)->xchat_list_get) +#define xchat_list_free ((XCHAT_PLUGIN_HANDLE)->xchat_list_free) +#define xchat_list_fields ((XCHAT_PLUGIN_HANDLE)->xchat_list_fields) +#define xchat_list_str ((XCHAT_PLUGIN_HANDLE)->xchat_list_str) +#define xchat_list_int ((XCHAT_PLUGIN_HANDLE)->xchat_list_int) +#define xchat_list_time ((XCHAT_PLUGIN_HANDLE)->xchat_list_time) +#define xchat_list_next ((XCHAT_PLUGIN_HANDLE)->xchat_list_next) +#define xchat_plugingui_add ((XCHAT_PLUGIN_HANDLE)->xchat_plugingui_add) +#define xchat_plugingui_remove ((XCHAT_PLUGIN_HANDLE)->xchat_plugingui_remove) +#define xchat_emit_print ((XCHAT_PLUGIN_HANDLE)->xchat_emit_print) +#define xchat_gettext ((XCHAT_PLUGIN_HANDLE)->xchat_gettext) +#define xchat_send_modes ((XCHAT_PLUGIN_HANDLE)->xchat_send_modes) +#define xchat_strip ((XCHAT_PLUGIN_HANDLE)->xchat_strip) +#define xchat_free ((XCHAT_PLUGIN_HANDLE)->xchat_free) +#endif + +#ifdef __cplusplus +} +#endif + +/****************************************************************** +* Globals +******************************************************************/ +extern xchat_plugin *ph; + +/****************************************************************** +* Prototypes +******************************************************************/ +void wmpaCommands(void); +int wmpaAuto(char *word[], char *word_eol[], void *user_data); +int wmpaCurr(char *word[], char *word_eol[], void *user_data); +int wmpaFind(char *word[], char *word_eol[], void *user_data); +int wmpaList(char *word[], char *word_eol[], void *user_data); +int wmpaNext(char *word[], char *word_eol[], void *user_data); +int wmpaPlay(char *word[], char *word_eol[], void *user_data); +int wmpaPause(char *word[], char *word_eol[], void *user_data); +int wmpaPrev(char *word[], char *word_eol[], void *user_data); +int wmpaSong(char *word[], char *word_eol[], void *user_data); +int wmpaStop(char *word[], char *word_eol[], void *user_data); +int wmpaVolume(char *word[], char *word_eol[], void *user_data); +int wmpaHelp(char *word[], char *word_eol[], void *user_data); +BOOL wmpaRestoreSettings(void); +BOOL wmpaSaveSettings(void); +CString wmpaGetSongTitle(void); +BOOL SaveSetting(LPCTSTR name, DWORD type, CONST BYTE *value, DWORD size); +BOOL GetSetting(LPCTSTR name, DWORD *type, LPBYTE value, DWORD *size); + +#endif /* XCHAT_PLUGIN_H */ + diff --git a/plugins/xchat-plugin.h b/plugins/xchat-plugin.h index 30b19295..1b7da8fb 100644 --- a/plugins/xchat-plugin.h +++ b/plugins/xchat-plugin.h @@ -137,6 +137,21 @@ struct _xchat_plugin int flags); void (*xchat_free) (xchat_plugin *ph, void *ptr); + int (*xchat_pluginpref_set_str) (xchat_plugin *ph, + const char *var, + const char *value); + int (*xchat_pluginpref_get_str) (xchat_plugin *ph, + const char *var, + char *dest); + int (*xchat_pluginpref_set_int) (xchat_plugin *ph, + const char *var, + int value); + int (*xchat_pluginpref_get_int) (xchat_plugin *ph, + const char *var); + int (*xchat_pluginpref_delete) (xchat_plugin *ph, + const char *var); + int (*xchat_pluginpref_list) (xchat_plugin *ph, + char *dest); }; #endif @@ -292,6 +307,32 @@ void xchat_free (xchat_plugin *ph, void *ptr); +int +xchat_pluginpref_set_str (xchat_plugin *ph, + const char *var, + const char *value); + +int +xchat_pluginpref_get_str (xchat_plugin *ph, + const char *var, + char *dest); + +int +xchat_pluginpref_set_int (xchat_plugin *ph, + const char *var, + int value); +int +xchat_pluginpref_get_int (xchat_plugin *ph, + const char *var); + +int +xchat_pluginpref_delete (xchat_plugin *ph, + const char *var); + +int +xchat_pluginpref_list (xchat_plugin *ph, + char *dest); + #if !defined(PLUGIN_C) && defined(WIN32) #ifndef XCHAT_PLUGIN_HANDLE #define XCHAT_PLUGIN_HANDLE (ph) @@ -326,6 +367,12 @@ xchat_free (xchat_plugin *ph, #define xchat_send_modes ((XCHAT_PLUGIN_HANDLE)->xchat_send_modes) #define xchat_strip ((XCHAT_PLUGIN_HANDLE)->xchat_strip) #define xchat_free ((XCHAT_PLUGIN_HANDLE)->xchat_free) +#define xchat_pluginpref_set_str ((XCHAT_PLUGIN_HANDLE)->xchat_pluginpref_set_str) +#define xchat_pluginpref_get_str ((XCHAT_PLUGIN_HANDLE)->xchat_pluginpref_get_str) +#define xchat_pluginpref_set_int ((XCHAT_PLUGIN_HANDLE)->xchat_pluginpref_set_int) +#define xchat_pluginpref_get_int ((XCHAT_PLUGIN_HANDLE)->xchat_pluginpref_get_int) +#define xchat_pluginpref_delete ((XCHAT_PLUGIN_HANDLE)->xchat_pluginpref_delete) +#define xchat_pluginpref_list ((XCHAT_PLUGIN_HANDLE)->xchat_pluginpref_list) #endif #ifdef __cplusplus diff --git a/plugins/xdcc/makefile.mak b/plugins/xdcc/makefile.mak new file mode 100644 index 00000000..0a12347e --- /dev/null +++ b/plugins/xdcc/makefile.mak @@ -0,0 +1,18 @@ +include "..\..\src\makeinc.mak" + +all: xdcc.obj xdcc.def + link $(LDFLAGS) $(LIBS) /dll /out:xcxdcc.dll /def:xdcc.def xdcc.obj + +xdcc.def: + echo EXPORTS > xdcc.def + echo xchat_plugin_init >> xdcc.def + echo xchat_plugin_deinit >> xdcc.def + +xdcc.obj: xdcc.c makefile.mak + cl $(CFLAGS) $(GLIB) /I.. xdcc.c + +clean: + del *.obj + del *.dll + del *.exp + del *.lib diff --git a/plugins/xdcc/xdcc.c b/plugins/xdcc/xdcc.c index 147a3c33..060dbbe3 100644 --- a/plugins/xdcc/xdcc.c +++ b/plugins/xdcc/xdcc.c @@ -2,11 +2,15 @@ #include <glib.h> #include <string.h> -#include <unistd.h> #include <stdlib.h> #include <stdio.h> +#ifndef WIN32 +#include <unistd.h> +#endif + #include "xchat-plugin.h" +#include "../../src/common/xchat.h" static xchat_plugin *ph; /* plugin handle */ diff --git a/plugins/xsasl/makefile.mak b/plugins/xsasl/makefile.mak new file mode 100644 index 00000000..e1ffd0ec --- /dev/null +++ b/plugins/xsasl/makefile.mak @@ -0,0 +1,18 @@ +include "..\..\src\makeinc.mak" + +all: xsasl.obj xsasl.def + link $(LDFLAGS) $(LIBS) /dll /out:xcxsasl.dll /def:xsasl.def xsasl.obj + +xsasl.def: + echo EXPORTS > xsasl.def + echo xchat_plugin_init >> xsasl.def + echo xchat_plugin_deinit >> xsasl.def + +xsasl.obj: xsasl.c makefile.mak + cl $(CFLAGS) $(GLIB) /I.. xsasl.c + +clean: + del *.obj + del *.dll + del *.exp + del *.lib diff --git a/plugins/xsasl/xsasl.c b/plugins/xsasl/xsasl.c new file mode 100644 index 00000000..8abce20b --- /dev/null +++ b/plugins/xsasl/xsasl.c @@ -0,0 +1,314 @@ +/* XChat-WDK + * Copyright (c) 2010 <ygrek@autistici.org> + * Copyright (c) 2012 Berke Viktor. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +/* + * SASL authentication plugin for XChat + * Extremely primitive: only PLAIN, no error checking + * + * http://ygrek.org.ua/p/cap_sasl.html + * + * Docs: + * http://hg.atheme.org/charybdis/charybdis/file/6144f52a119b/doc/sasl.txt + * http://tools.ietf.org/html/rfc4422 + */ + +#include <string.h> +#include <stdlib.h> +#include <assert.h> +#include <glib/gbase64.h> + +#include "xchat-plugin.h" + +static xchat_plugin *ph; /* plugin handle */ +static const char name[] = "X-SASL"; +static const char desc[] = "SASL authentication plugin for XChat"; +static const char version[] = "1.1"; +static const char xsasl_help[] = "X-SASL Usage:\n /XSASL ADD <login> <password> <network>, enable/update SASL authentication for given network\n /XSASL DEL <network>, disable SASL authentication for given network\n /XSASL LIST, get the list of SASL-enabled networks\n"; + +struct sasl_info +{ + char const* login; + char const* password; + char const* network; +}; + +typedef struct sasl_info sasl_info; + +static int +add_info (char const* login, char const* password, char const* network) +{ + char buffer[512]; + + sprintf (buffer, "%s:%s", login, password); + return xchat_pluginpref_set_str (ph, network, buffer); +} + +static int +del_info (char const* network) +{ + return xchat_pluginpref_delete (ph, network); +} + +static void +print_info () +{ + char list[512]; + char* token; + + if (xchat_pluginpref_list (ph, list)) + { + xchat_printf (ph, "%s\tSASL-enabled networks:", name); + xchat_printf (ph, "%s\t----------------------", name); + token = strtok (list, ","); + while (token != NULL) + { + xchat_printf (ph, "%s\t%s", name, token); + token = strtok (NULL, ","); + } + } + else + { + xchat_printf (ph, "%s\tThere are no SASL-enabled networks currently", name); + } +} + +static sasl_info* +find_info (char const* network) +{ + char buffer[512]; + char* token; + sasl_info* cur = (sasl_info*) malloc (sizeof (sasl_info)); + + if (xchat_pluginpref_get_str (ph, network, buffer)) + { + token = strtok (buffer, ":"); + cur->login = g_strdup (token); + token = strtok (NULL, ":"); + cur->password = g_strdup (token); + cur->network = g_strdup (network); + + return cur; + } + + return NULL; +} + +static sasl_info* +get_info (void) +{ + const char* name; + name = xchat_get_info (ph, "network"); + + if (name) + { + return find_info (name); + } + else + { + return NULL; + } +} + +static int +authend_cb (char *word[], char *word_eol[], void *userdata) +{ + if (get_info ()) + { + /* omit cryptic server message parts */ + xchat_printf (ph, "%s\t%s\n", name, ++word_eol[4]); + xchat_commandf (ph, "QUOTE CAP END"); + } + + return XCHAT_EAT_ALL; +} + +/* +static int +disconnect_cb (char *word[], void *userdata) +{ + xchat_printf (ph, "disconnected\n"); + return XCHAT_EAT_NONE; +} +*/ + +static int +server_cb (char *word[], char *word_eol[], void *userdata) +{ + size_t len; + char* buf; + char* enc; + sasl_info* p; + + if (strcmp ("AUTHENTICATE", word[1]) == 0 && strcmp ("+", word[2]) == 0) + { + p = get_info (); + + if (!p) + { + return XCHAT_EAT_NONE; + } + + xchat_printf (ph, "%s\tAuthenticating as %s\n", name, p->login); + + len = strlen (p->login) * 2 + 2 + strlen (p->password); + buf = (char*) malloc (len + 1); + strcpy (buf, p->login); + strcpy (buf + strlen (p->login) + 1, p->login); + strcpy (buf + strlen (p->login) * 2 + 2, p->password); + enc = g_base64_encode ((unsigned char*) buf, len); + + /* xchat_printf (ph, "AUTHENTICATE %s\}", enc); */ + xchat_commandf (ph, "QUOTE AUTHENTICATE %s", enc); + + free (enc); + free (buf); + + return XCHAT_EAT_ALL; + } + + return XCHAT_EAT_NONE; +} + +static int +cap_cb (char *word[], char *word_eol[], void *userdata) +{ + if (get_info ()) + { + /* FIXME test sasl cap */ + /* this is visible in the rawlog in case someone needs it, otherwise it's just noise */ + /* xchat_printf (ph, "%s\t%s\n", name, word_eol[1]); */ + xchat_commandf (ph, "QUOTE AUTHENTICATE PLAIN"); + } + + return XCHAT_EAT_ALL; +} + +static int +sasl_cmd_cb (char *word[], char *word_eol[], void *userdata) +{ + const char* login; + const char* password; + const char* network; + const char* mode = word[2]; + + if (!stricmp ("ADD", mode)) + { + login = word[3]; + password = word[4]; + network = word_eol[5]; + + if (!network || !*network) /* only check for the last word, if it's there, the previous ones will be there, too */ + { + xchat_printf (ph, "%s", xsasl_help); + return XCHAT_EAT_ALL; + } + + if (add_info (login, password, network)) + { + xchat_printf (ph, "%s\tEnabled SASL authentication for the \"%s\" network\n", name, network); + } + else + { + xchat_printf (ph, "%s\tFailed to enable SASL authentication for the \"%s\" network\n", name, network); + } + + return XCHAT_EAT_ALL; + } + else if (!stricmp ("DEL", mode)) + { + network = word_eol[3]; + + if (!network || !*network) + { + xchat_printf (ph, "%s", xsasl_help); + return XCHAT_EAT_ALL; + } + + if (del_info (network)) + { + xchat_printf (ph, "%s\tDisabled SASL authentication for the \"%s\" network\n", name, network); + } + else + { + xchat_printf (ph, "%s\tFailed to disable SASL authentication for the \"%s\" network\n", name, network); + } + + return XCHAT_EAT_ALL; + } + else if (!stricmp ("LIST", mode)) + { + print_info (); + return XCHAT_EAT_ALL; + } + else + { + xchat_printf (ph, "%s", xsasl_help); + return XCHAT_EAT_ALL; + } +} + +static int +connect_cb (char *word[], void *userdata) +{ + if (get_info ()) + { + xchat_printf (ph, "%s\tSASL enabled\n", name); + xchat_commandf (ph, "QUOTE CAP REQ :sasl"); + } + + return XCHAT_EAT_NONE; +} + +int +xchat_plugin_init (xchat_plugin *plugin_handle, char **plugin_name, char **plugin_desc, char **plugin_version, char *arg) +{ + /* we need to save this for use with any xchat_* functions */ + ph = plugin_handle; + + /* tell xchat our info */ + *plugin_name = name; + *plugin_desc = desc; + *plugin_version = version; + + xchat_hook_command (ph, "XSASL", XCHAT_PRI_NORM, sasl_cmd_cb, xsasl_help, 0); + xchat_hook_print (ph, "Connected", XCHAT_PRI_NORM, connect_cb, NULL); + /* xchat_hook_print (ph, "Disconnected", XCHAT_PRI_NORM, disconnect_cb, NULL); */ + xchat_hook_server (ph, "CAP", XCHAT_PRI_NORM, cap_cb, NULL); + xchat_hook_server (ph, "RAW LINE", XCHAT_PRI_NORM, server_cb, NULL); + xchat_hook_server (ph, "903", XCHAT_PRI_NORM, authend_cb, NULL); + xchat_hook_server (ph, "904", XCHAT_PRI_NORM, authend_cb, NULL); + xchat_hook_server (ph, "905", XCHAT_PRI_NORM, authend_cb, NULL); + xchat_hook_server (ph, "906", XCHAT_PRI_NORM, authend_cb, NULL); + xchat_hook_server (ph, "907", XCHAT_PRI_NORM, authend_cb, NULL); + + xchat_printf (ph, "%s plugin loaded\n", name); + + return 1; +} + +int +xchat_plugin_deinit (void) +{ + xchat_printf (ph, "%s plugin unloaded\n", name); + return 1; +} diff --git a/plugins/xtray/bitmaps/sd.bmp b/plugins/xtray/bitmaps/sd.bmp new file mode 100644 index 00000000..9d6b7f95 --- /dev/null +++ b/plugins/xtray/bitmaps/sd.bmp Binary files differdiff --git a/plugins/xtray/callbacks.cpp b/plugins/xtray/callbacks.cpp new file mode 100644 index 00000000..1b7f452f --- /dev/null +++ b/plugins/xtray/callbacks.cpp @@ -0,0 +1,734 @@ +/* X-Tray + * Copyright (C) 2005 Michael Hotaling <Mike.Hotaling@SinisterDevelopments.com> + * + * X-Tray 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. + * + * X-Tray 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 X-Tray; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#define _WIN32_IE 0x0601 + +#include <windows.h> +#include <stdio.h> +#include <commctrl.h> +#include <tchar.h> + +#include "xchat-plugin.h" +#include "utility.h" +#include "xtray.h" +#include "xchat.h" +#include "callbacks.h" +#include "resource.h" +#include "sdTray.h" +#include "sdAlerts.h" + +HWND g_hPrefTabEvents; +HWND g_hPrefTabSettings; +HWND g_hPrefTabAlerts; +HWND g_hPrefTabAbout; +bool g_bCanQuit; +int g_iIsActive = 1; + + +BOOL CALLBACK EnumWindowsProc(HWND hWnd, LPARAM lParam) +{ + TCHAR szTitle[10]; + GetWindowText(hWnd, szTitle, 9); + + if(_tcsstr(szTitle, _T("XChat ["))) + { + g_hXchatWnd = hWnd; + return false; + } + + return true; +} + +/***********************************************************************************************/ +/******* our xchat event call back, get the name and info for each event and save it ***********/ +/******* for our alerts later ***********/ +/***********************************************************************************************/ +int event_cb(char *word[], void *userdata) +{ + int iEvent = (int)userdata; + + if(iEvent > 10 && iEvent != 21) + return XCHAT_EAT_NONE; + + /***************************************************************************************/ + /***** if the window is minimized or if we're allowed to show alerts when its not **/ + /***** and if the option to show the specified alert is true and if we're even **/ + /***** allowed to show alerts at all then we show them (a bit confusing but it works) **/ + /***************************************************************************************/ + if(((g_iIsActive == 0) || !(g_dwPrefs & (1<<PREF_OSBWM))) && (g_dwPrefs & (1<<PREF_AMAE)) && (g_dwPrefs & (1<<iEvent))) + { + /*********************************/ + /*********** Our Buffers *********/ + /*********************************/ + char szInfo[512]; + char szName[64]; + DWORD dwInfoFlags; + int iTime = g_iTime*1000; + char *szTemp = NULL; + + if(g_dwPrefs & (1<<PREF_KAOI)) + { + iTime = 0; + } + + switch(iEvent) + { + case CHAN_HILIGHT: + _snprintf(szInfo, 512, "%s:\r\n%s", word[1], word[2]); + _snprintf(szName, 64, "Highlight: %s", xchat_get_info (ph, "channel")); + dwInfoFlags = NIIF_INFO; + break; + case CHAN_MESSAGE: + _snprintf(szInfo, 512, "%s:\r\n%s", word[1], word[2]); + _snprintf(szName, 64, "Channel Message: %s", xchat_get_info (ph, "channel")); + dwInfoFlags = NIIF_INFO; + break; + case CHAN_TOPIC_CHANGE: + _snprintf(szInfo, 512, "%s has changed the topic to %s", word[1], word[2]); + _snprintf(szName, 64, "Topic Change: %s", word[3]); + dwInfoFlags = NIIF_INFO; + break; + case CHAN_INVITE: + _snprintf(szInfo, 512, "%s has invited you into %s", word[1], word[2]); + _snprintf(szName, 64, "Invite"); + dwInfoFlags = NIIF_INFO; + break; + case CHAN_KICKED: + _snprintf(szInfo, 512, "Kicked from %s by %s:\r\n%s", word[2], word[3], word[4]); + _snprintf(szName, 64, "Kick"); + dwInfoFlags = NIIF_WARNING; + break; + case CHAN_BANNED: + _snprintf(szInfo, 512, "Cannot join #%s You are banned.", word[1]); + _snprintf(szName, 64, "Banned"); + dwInfoFlags = NIIF_WARNING; + break; + case CTCP_GENERIC: + _snprintf(szInfo, 512, "%s:\r\nCTCP %s", word[2], word[1]); + _snprintf(szName, 64, "CTCP"); + dwInfoFlags = NIIF_INFO; + break; + case PMSG_RECEIVE: + _snprintf(szInfo, 512, "%s:\r\n%s", word[1], word[2]); + _snprintf(szName, 64, "Private Message"); + dwInfoFlags = NIIF_INFO; + break; + case SERV_DISCONNECT: + _snprintf(szInfo, 512, "Disconnected\r\nError: %s", word[1]); + _snprintf(szName, 64, "Disconnect"); + dwInfoFlags = NIIF_ERROR; + break; + case SERV_KILLED: + _snprintf(szInfo, 512, "Killed(%s(%s))", word[1], word[2]); + _snprintf(szName, 64, "Server Admin has killed you"); + dwInfoFlags = NIIF_ERROR; + break; + case SERV_NOTICE: + _snprintf(szInfo, 512, "Notice:\r\n%s: %s", word[1], word[2]); + _snprintf(szName, 64, "Notice"); + dwInfoFlags = NIIF_INFO; + break; + case 11: + _snprintf(szInfo, 512, ":\r\n%s: %s", word[1], word[2]); + _snprintf(szName, 64, "Notice"); + dwInfoFlags = NIIF_INFO; + break; + } + + /**************************************************************************************/ + /***** Use windows instead of balloons, and if its a window should we keep it open ****/ + /***** indefinately? ****/ + /**************************************************************************************/ + szTemp = xchat_strip_color(szInfo); + + if(g_dwPrefs & (1<<PREF_UWIOB)) + { + sdSystemAlert((HINSTANCE)g_hInstance, IDD_ALERT, szTemp, szName, iTime); + } + else + { + ShowBalloon(g_hXchatWnd, 1, szTemp, szName, iTime, dwInfoFlags); + } + + free(szTemp); + } + + if(g_dwPrefs & (1<<PREF_BLINK) && (g_dwPrefs & (1<<iEvent))) + { + BlinkIcon(g_hXchatWnd, 1, g_hIcons[0], g_hIcons[(iEvent+1)], 700, 5); + } + + /***********************************/ + /***** pass the events to xchat ****/ + /***********************************/ + return XCHAT_EAT_NONE; +} + +int command_cb(char *word[], char *word_eol[], void *userdata) +{ + char szInfo[512]; + char *szTemp = NULL; + int iTime = g_iTime*1000; + + _snprintf(szInfo, 512, word_eol[2]); + szTemp = xchat_strip_color(szInfo); + + if(g_dwPrefs & (1<<PREF_KAOI)) + { + iTime = 0; + } + + if(((g_iIsActive == 0) || !(g_dwPrefs & (1<<PREF_OSBWM))) && (g_dwPrefs & (1<<PREF_AMAE))) + { + if(g_dwPrefs & (1<<PREF_UWIOB)) + { + sdSystemAlert((HINSTANCE)g_hInstance, IDD_ALERT, szTemp, "Alert", iTime); + } + else + { + ShowBalloon(g_hXchatWnd, 1, szTemp, "Alert", iTime, NIIF_INFO); + } + } + + free(szTemp); + + return XCHAT_EAT_ALL; +} + +LRESULT CALLBACK WindowProc(HWND hWnd, UINT msg, WPARAM wparam, LPARAM lparam) +{ + switch(msg) + { + case WM_CLOSE: + { + if((g_dwPrefs & (1<<PREF_MIOC)) && (g_bCanQuit == false)) + { + /*******************************************/ + /**** to autoaway or not to autoaway... ***/ + /*******************************************/ + if(g_dwPrefs & (1<<PREF_AOM)) + { + xchat_globally_away(g_szAway); + } + + /**************************************************/ + /**** Win32 API call to hide the window and **/ + /**** save the fact that its minimized for later **/ + /**************************************************/ + g_iIsActive = 0; + ShowWindow(hWnd, SW_HIDE); + + return 0; + } + else + { + if(g_hPrefDlg != NULL) + { + DestroyWindow(g_hPrefDlg); + } + + StopBlink(hWnd, 1, g_hIcons[0]); + + if(sdAlertNum()) + { + sdCloseAlerts(); + HoldClose(); + return 0; + } + } + } + break; + case WM_SIZE: + { + /******************************************/ + /***** User wants to minimize xChat, ******/ + /***** are we allowed to go to tray? ******/ + /******************************************/ + if((g_dwPrefs & (1<<PREF_TOT)) && (wparam == SIZE_MINIMIZED)) + { + /*******************************************/ + /**** to autoaway or not to autoaway... ***/ + /*******************************************/ + if(g_dwPrefs & (1<<PREF_AOM)) + { + xchat_globally_away(g_szAway); + } + + /**************************************************/ + /**** Win32 API call to hide the window and **/ + /**** save the fact that its minimized for later **/ + /**************************************************/ + g_iIsActive = 0; + ShowWindow(hWnd, SW_HIDE); + } + } + break; + /**********************************/ + /*** user clicked the tray icon ***/ + /**********************************/ + case WM_TRAYMSG: + { + switch(lparam) + { + case WM_LBUTTONDOWN: + { + if(!g_iIsActive) + { + /*********************************************************/ + /*** 0: its hiden, restore it and show it, if autoaway ***/ + /*** is on, set us as back ***/ + /*********************************************************/ + SendMessage(hWnd, WM_SYSCOMMAND, SC_RESTORE, 0); + SetForegroundWindow(hWnd); + g_iIsActive = 1; + + if(g_dwPrefs & (1<<PREF_AOM)) + { + xchat_globally_back(); + } + } + else + { + SendMessage(hWnd, WM_SYSCOMMAND, SC_MINIMIZE, 0); + } + } + break; + case WM_RBUTTONDOWN: + { + /******************************************/ + /*** user wants to see the menu find out **/ + /*** where the mouse is and show it **/ + /******************************************/ + POINT pt; + int iRet; + + GetCursorPos(&pt); + SetForegroundWindow(hWnd); + + ModifyMenu(g_hTrayMenu, 2, (MF_POPUP | MF_BYPOSITION), (UINT)setServerMenu(), _T("Away")); + + Sleep(175); + + iRet = TrackPopupMenuEx(g_hTrayMenu, (TPM_RETURNCMD | TPM_LEFTALIGN), pt.x, pt.y, hWnd, NULL); + + /***********************************/ + /*** nRet is the users selection, **/ + /*** process it **/ + /***********************************/ + sdTrayProc(hWnd, iRet); + } + break; + } + } + break; + default: + { + /*****************************************************/ + /*** the taskbar has been restarted, re-add our icon */ + /*****************************************************/ + if(msg == RegisterWindowMessage(_T("TaskbarCreated"))) + { + char szVersion[64]; + _snprintf(szVersion, 64, "XChat-WDK [%s]", xchat_get_info(ph, "version")); + AddIcon(g_hXchatWnd, 1, g_hIcons[0], szVersion, (NIF_ICON | NIF_MESSAGE | NIF_TIP), WM_TRAYMSG); + } + } + break; + } + + return CallWindowProc(g_hOldProc, hWnd, msg, wparam, lparam); +} + +/****************************************************/ +/*** process messages from the tray menu ************/ +/****************************************************/ +LRESULT CALLBACK sdTrayProc(HWND hWnd, int msg) +{ + switch(msg) + { + case ACT_EXIT: + { + g_bCanQuit = true; + PostMessage(hWnd, WM_CLOSE, 0, 0); + } + break; + case ACT_RESTORE: + { + /***********************************************/ + /** user wants us to restore the xchat window **/ + /** and of autoaway is on, set as back **/ + /***********************************************/ + SendMessage(g_hXchatWnd, WM_SYSCOMMAND, SC_RESTORE, 0); + SetForegroundWindow(hWnd); + + if((!g_iIsActive) && (g_dwPrefs & (1<<PREF_AOM))) + { + xchat_globally_back(); + g_iIsActive = 1; + } + } + break; + case ACT_SETTINGS: + { + ShowWindow(g_hPrefDlg, SW_SHOW); + } + break; + case ACT_AWAY: + { + xchat_globally_away(g_szAway); + } + break; + case ACT_BACK: + { + xchat_globally_back(); + } + break; + default: + { + if(msg > 0) + { + xchat_set_context(ph, xchat_find_server(msg-1)); + + if(!xchat_get_info(ph, "away")) + { + xchat_away(g_szAway); + } + else + { + xchat_back(); + } + } + } + break; + } + + return 1; +} + +int CALLBACK PrefProc(HWND hWnd, UINT msg, WPARAM wparam, LPARAM lparam) +{ + switch(msg) + { + case WM_INITDIALOG: + { + TCITEM tci1; + TCITEM tci2; + TCITEM tci3; + TCITEM tci4; + + tci1.mask = TCIF_TEXT; + tci1.pszText = _T("Settings"); + tci1.cchTextMax = strlen("Settings"); + SendDlgItemMessage(hWnd, IDC_TAB_CONTROL, TCM_INSERTITEM, 0, (LPARAM)&tci1); + + tci2.mask = TCIF_TEXT; + tci2.pszText = _T("Alerts"); + tci2.cchTextMax = strlen("Alerts"); + SendDlgItemMessage(hWnd, IDC_TAB_CONTROL, TCM_INSERTITEM, 1, (LPARAM)&tci2); + + tci3.mask = TCIF_TEXT; + tci3.pszText = _T("Events"); + tci3.cchTextMax = strlen("Events"); + SendDlgItemMessage(hWnd, IDC_TAB_CONTROL, TCM_INSERTITEM, 2, (LPARAM)&tci3); + + tci4.mask = TCIF_TEXT; + tci4.pszText = _T("About"); + tci4.cchTextMax = strlen("About"); + SendDlgItemMessage(hWnd, IDC_TAB_CONTROL, TCM_INSERTITEM, 3, (LPARAM)&tci4); + + + /***********************************************************************************/ + /***********************************************************************************/ + /***********************************************************************************/ + + g_hPrefTabSettings = CreateDialog((HINSTANCE)g_hInstance, + MAKEINTRESOURCE(IDD_SETTINGS), + hWnd, + (DLGPROC)SettingsProc); + SetDialog(g_hPrefTabSettings, IDD_SETTINGS); + + g_hPrefTabAlerts = CreateDialog((HINSTANCE)g_hInstance, + MAKEINTRESOURCE(IDD_ALERTS), + hWnd, + (DLGPROC)AlertsProc); + SetDialog(g_hPrefTabAlerts, IDD_ALERTS); + + g_hPrefTabEvents = CreateDialog((HINSTANCE)g_hInstance, + MAKEINTRESOURCE(IDD_EVENTS), + hWnd, + (DLGPROC)EventsProc); + SetDialog(g_hPrefTabEvents, IDD_EVENTS); + + g_hPrefTabAbout = CreateDialog((HINSTANCE)g_hInstance, + MAKEINTRESOURCE(IDD_ABOUT), + hWnd, + (DLGPROC)AboutProc); + } + break; + case WM_SHOWWINDOW: + { + if(wparam) + { + SendDlgItemMessage(hWnd, IDC_TAB_CONTROL, TCM_SETCURSEL, 0, 0); + ShowWindow(g_hPrefTabSettings, SW_SHOW); + ShowWindow(g_hPrefTabAlerts, SW_HIDE); + ShowWindow(g_hPrefTabEvents, SW_HIDE); + ShowWindow(g_hPrefTabAbout, SW_HIDE); + } + } + break; + case WM_NOTIFY: + { + NMHDR *pData = (NMHDR *)lparam; + + switch(pData->code) + { + case TCN_SELCHANGE: + { + switch(SendDlgItemMessage(hWnd, IDC_TAB_CONTROL, TCM_GETCURSEL, 0, 0)) + { + case 0: + { + ShowWindow(g_hPrefTabSettings, SW_SHOW); + ShowWindow(g_hPrefTabAlerts, SW_HIDE); + ShowWindow(g_hPrefTabEvents, SW_HIDE); + ShowWindow(g_hPrefTabAbout, SW_HIDE); + } + break; + case 1: + { + ShowWindow(g_hPrefTabSettings, SW_HIDE); + ShowWindow(g_hPrefTabAlerts, SW_SHOW); + ShowWindow(g_hPrefTabEvents, SW_HIDE); + ShowWindow(g_hPrefTabAbout, SW_HIDE); + } + break; + case 2: + { + ShowWindow(g_hPrefTabSettings, SW_HIDE); + ShowWindow(g_hPrefTabAlerts, SW_HIDE); + ShowWindow(g_hPrefTabEvents, SW_SHOW); + ShowWindow(g_hPrefTabAbout, SW_HIDE); + } + break; + case 3: + { + ShowWindow(g_hPrefTabSettings, SW_HIDE); + ShowWindow(g_hPrefTabAlerts, SW_HIDE); + ShowWindow(g_hPrefTabEvents, SW_HIDE); + ShowWindow(g_hPrefTabAbout, SW_SHOW); + } + break; + } + } + break; + } + } + break; + case WM_CLOSE: + { + ShowWindow(g_hPrefTabEvents, SW_HIDE); + ShowWindow(g_hPrefTabSettings, SW_HIDE); + ShowWindow(g_hPrefTabAlerts, SW_HIDE); + ShowWindow(g_hPrefTabAbout, SW_HIDE); + ShowWindow(hWnd, SW_HIDE); + return TRUE; + } + break; + case WM_COMMAND: + { + switch(wparam) + { + case IDC_PREF_OK: + { + CheckPrefs(g_hPrefTabEvents, IDD_EVENTS); + CheckPrefs(g_hPrefTabSettings, IDD_SETTINGS); + CheckPrefs(g_hPrefTabAlerts, IDD_ALERTS); + + SavePrefs(0); + + ShowWindow(g_hPrefTabEvents, SW_HIDE); + ShowWindow(g_hPrefTabSettings, SW_HIDE); + ShowWindow(g_hPrefTabAlerts, SW_HIDE); + ShowWindow(g_hPrefTabAbout, SW_HIDE); + ShowWindow(hWnd, SW_HIDE); + return TRUE; + } + break; + case IDC_PREF_CANCEL: + { + ShowWindow(g_hPrefTabEvents, SW_HIDE); + ShowWindow(g_hPrefTabSettings, SW_HIDE); + ShowWindow(g_hPrefTabAlerts, SW_HIDE); + ShowWindow(g_hPrefTabAbout, SW_HIDE); + ShowWindow(hWnd, SW_HIDE); + return TRUE; + } + break; + case IDC_PREF_APPLY: + { + CheckPrefs(g_hPrefTabEvents, IDD_EVENTS); + CheckPrefs(g_hPrefTabSettings, IDD_SETTINGS); + CheckPrefs(g_hPrefTabAlerts, IDD_ALERTS); + + SavePrefs(0); + return FALSE; + } + break; + } + } + break; + case WM_DESTROY: + { + SendMessage(g_hPrefTabEvents, WM_CLOSE, 0, 0); + SendMessage(g_hPrefTabSettings, WM_CLOSE, 0, 0); + SendMessage(g_hPrefTabAbout, WM_CLOSE, 0, 0); + SendMessage(g_hPrefTabAlerts, WM_CLOSE, 0, 0); + } + break; + } + + return FALSE; +} + +/****************************************************/ +/****************************************************/ +/****************************************************/ +LRESULT CALLBACK AlertsProc(HWND hWnd, UINT msg, WPARAM wparam, LPARAM lparam) +{ + switch(msg) + { + case WM_CLOSE: + { + DestroyWindow(hWnd); + return TRUE; + break; + } + break; + case WM_COMMAND: + { + switch(LOWORD(wparam)) + { + case PREF_AMAE: + { + SetToggle(hWnd, PREF_OSBWM, PREF_AMAE, TRUE); + SetToggle(hWnd, PREF_UWIOB, PREF_AMAE, TRUE); + SetToggle(hWnd, PREF_KAOI, PREF_AMAE, TRUE); + + if(IsDlgButtonChecked(hWnd, PREF_AMAE)) + { + SetToggle(hWnd, IDC_ALERT_HOTKEY, PREF_UWIOB, TRUE); + SetToggle(hWnd, IDC_ALERT_HOTKEY_TEXT, PREF_UWIOB, TRUE); + SetToggle(hWnd, IDC_ALERT_TIME, PREF_KAOI, FALSE); + SetToggle(hWnd, IDC_ALERT_TIME_TEXT, PREF_KAOI, FALSE); + } + else + { + SetToggle(hWnd, IDC_ALERT_HOTKEY, PREF_AMAE, TRUE); + SetToggle(hWnd, IDC_ALERT_HOTKEY_TEXT, PREF_AMAE, TRUE); + SetToggle(hWnd, IDC_ALERT_TIME, PREF_AMAE, TRUE); + SetToggle(hWnd, IDC_ALERT_TIME_TEXT, PREF_AMAE, TRUE); + } + } + break; + case PREF_UWIOB: + { + SetToggle(hWnd, IDC_ALERT_HOTKEY, PREF_UWIOB, TRUE); + SetToggle(hWnd, IDC_ALERT_HOTKEY_TEXT, PREF_UWIOB, TRUE); + } + break; + case PREF_KAOI: + { + SetToggle(hWnd, IDC_ALERT_TIME, PREF_KAOI, FALSE); + SetToggle(hWnd, IDC_ALERT_TIME_TEXT, PREF_KAOI, FALSE); + } + break; + } + break; + } + } + + return FALSE; +} + +/****************************************************/ +/****************************************************/ +/****************************************************/ +LRESULT CALLBACK AboutProc(HWND hWnd, UINT msg, WPARAM wparam, LPARAM lparam) +{ + if(msg == WM_CLOSE) + { + DestroyWindow(hWnd); + return true; + } + + return FALSE; +} + +/*****************************************************/ +/** Process the events for our event dialog **********/ +/*****************************************************/ +LRESULT CALLBACK EventsProc(HWND hWnd, UINT msg, WPARAM wparam, LPARAM lparam) +{ + if(msg == WM_CLOSE) + { + DestroyWindow(hWnd); + return true; + } + + return FALSE; +} + +/*****************************************************/ +/** Process the events for our settings dialog this **/ +/** is alot more complicated because options are **/ +/** enabled/disabled based on the state of others **/ +/*****************************************************/ +LRESULT CALLBACK SettingsProc(HWND hWnd, UINT msg, WPARAM wparam, LPARAM lparam) +{ + if(msg == WM_CLOSE) + { + DestroyWindow(hWnd); + return true; + } + + return FALSE; +} + +/*****************************************************/ +/** this is the hotkey message processing function **/ +/** this window is always open and ready to be told **/ +/** if someone has hit the hotkey, if they did, we **/ +/** need to close out all of the tray alerts, for **/ +/** this I wrote sdCloseAlerts, more info there **/ +/*****************************************************/ +LRESULT CALLBACK HotKeyProc(HWND hWnd, UINT msg, WPARAM wparam, LPARAM lparam) +{ + if(msg == WM_CLOSE) + { + DestroyWindow(hWnd); + return true; + } + else if(msg == WM_HOTKEY) + { + sdCloseAlerts(); + } + + return FALSE; +} + diff --git a/plugins/xtray/callbacks.h b/plugins/xtray/callbacks.h new file mode 100644 index 00000000..99cbae74 --- /dev/null +++ b/plugins/xtray/callbacks.h @@ -0,0 +1,37 @@ +/* X-Tray + * Copyright (C) 2005 Michael Hotaling <Mike.Hotaling@SinisterDevelopments.com> + * + * X-Tray 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. + * + * X-Tray 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 X-Tray; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef _H_CALLBACKS_H +#define _H_CALLBACKS_H + +int event_cb (char *word[], void *userdata); +int command_cb (char *word[], char *word_eol[], void *userdata); + +LRESULT CALLBACK WindowProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam); +BOOL CALLBACK EnumWindowsProc (HWND hWnd, LPARAM lParam); +LRESULT CALLBACK sdTrayProc (HWND hwnd, int msg); + +LRESULT CALLBACK AlertProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam); +LRESULT CALLBACK HotKeyProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam); +LRESULT CALLBACK EventsProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam); +LRESULT CALLBACK AboutProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam); +LRESULT CALLBACK AlertsProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam); +LRESULT CALLBACK SettingsProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam); +int CALLBACK PrefProc (HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam); + +#endif \ No newline at end of file diff --git a/plugins/xtray/icons/banned.ico b/plugins/xtray/icons/banned.ico new file mode 100644 index 00000000..fef8df8c --- /dev/null +++ b/plugins/xtray/icons/banned.ico Binary files differdiff --git a/plugins/xtray/icons/chan_msg.ico b/plugins/xtray/icons/chan_msg.ico new file mode 100644 index 00000000..793d050e --- /dev/null +++ b/plugins/xtray/icons/chan_msg.ico Binary files differdiff --git a/plugins/xtray/icons/disconnected.ico b/plugins/xtray/icons/disconnected.ico new file mode 100644 index 00000000..9063e7e3 --- /dev/null +++ b/plugins/xtray/icons/disconnected.ico Binary files differdiff --git a/plugins/xtray/icons/highlight-1-3.ico b/plugins/xtray/icons/highlight-1-3.ico new file mode 100644 index 00000000..a759145b --- /dev/null +++ b/plugins/xtray/icons/highlight-1-3.ico Binary files differdiff --git a/plugins/xtray/icons/highlight.ico b/plugins/xtray/icons/highlight.ico new file mode 100644 index 00000000..625cca9a --- /dev/null +++ b/plugins/xtray/icons/highlight.ico Binary files differdiff --git a/plugins/xtray/icons/kicked.ico b/plugins/xtray/icons/kicked.ico new file mode 100644 index 00000000..845a74e1 --- /dev/null +++ b/plugins/xtray/icons/kicked.ico Binary files differdiff --git a/plugins/xtray/icons/priv_msg-1-2-2.ico b/plugins/xtray/icons/priv_msg-1-2-2.ico new file mode 100644 index 00000000..7941ff77 --- /dev/null +++ b/plugins/xtray/icons/priv_msg-1-2-2.ico Binary files differdiff --git a/plugins/xtray/icons/sd.ico b/plugins/xtray/icons/sd.ico new file mode 100644 index 00000000..ca179621 --- /dev/null +++ b/plugins/xtray/icons/sd.ico Binary files differdiff --git a/plugins/xtray/icons/server_notice.ico b/plugins/xtray/icons/server_notice.ico new file mode 100644 index 00000000..ff765d87 --- /dev/null +++ b/plugins/xtray/icons/server_notice.ico Binary files differdiff --git a/plugins/xtray/icons/xchat.ico b/plugins/xtray/icons/xchat.ico new file mode 100644 index 00000000..73247fd0 --- /dev/null +++ b/plugins/xtray/icons/xchat.ico Binary files differdiff --git a/plugins/xtray/makefile.mak b/plugins/xtray/makefile.mak new file mode 100644 index 00000000..ec2c94b3 --- /dev/null +++ b/plugins/xtray/makefile.mak @@ -0,0 +1,37 @@ +include "..\..\src\makeinc.mak" + +TARGET = xtray.dll + +TRAY_OBJECTS = \ +callbacks.obj \ +sdAlerts.obj \ +sdTray.obj \ +utility.obj \ +xchat.obj \ +xtray.obj + +CPPFLAGS = $(CPPFLAGS) /D_STL70_ /D_STATIC_CPPLIB /EHsc /DUNICODE /D_UNICODE + +all: $(TRAY_OBJECTS) $(TARGET) + +xtray.def: + echo EXPORTS > xtray.def + echo xchat_plugin_init >> xtray.def + echo xchat_plugin_deinit >> xtray.def + +.cpp.obj: + $(CC) $(CPPFLAGS) /I.. /c $< + +res: + rc /nologo resource.rc + +$(TARGET): $(TRAY_OBJECTS) xtray.def res + $(LINK) /DLL /out:$(TARGET) $(LDFLAGS) $(TRAY_OBJECTS) ntstc_msvcrt.lib $(LIBS) /def:xtray.def resource.res + +clean: + del $(TARGET) + del *.obj + del xtray.def + del resource.res + del *.lib + del *.exp diff --git a/plugins/xtray/resource.h b/plugins/xtray/resource.h new file mode 100644 index 00000000..b8008c2c --- /dev/null +++ b/plugins/xtray/resource.h @@ -0,0 +1,47 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by resource.rc +// +#define IDD_ALERTS 104 +#define IDD_EVENTS 105 +#define IDD_SETTINGS 106 +#define IDD_ALERT 107 +#define IDD_PREF 108 +#define IDD_ABOUT 109 +#define IDR_TRAY_MENU 110 +#define ICO_XCHAT 111 +#define ICO_BANNED 112 +#define ICO_CHANMSG 113 +#define ICO_DISCONNECTED 114 +#define ICO_HIGHLIGHT 115 +#define ICO_KICKED 116 +#define ICO_PMSG 117 +#define ICO_SNOTICE 118 +#define IDB_SD_LOGO 119 +#define IDC_PREF_OK 1014 +#define IDC_PREF_CANCEL 1015 +#define IDC_PREF_APPLY 1016 +#define IDC_AWAY_MSG 1017 +#define IDC_ALERT_TIME 1018 +#define IDC_TAB_CONTROL 1019 +#define IDC_ALERT_HOTKEY 1020 +#define IDC_ALERT_MSG 1021 +#define IDC_ALERT_HOTKEY_TEXT 1022 +#define IDC_ALERT_TIME_TEXT 1023 +#define ACT_EXIT 40001 +#define ACT_SETTINGS 40002 +#define ACT_AWAY 40003 +#define ACT_BACK 40004 +#define ACT_RESTORE 40005 +#define IDC_STATIC -1 + +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS +#define _APS_NEXT_RESOURCE_VALUE 120 +#define _APS_NEXT_COMMAND_VALUE 40006 +#define _APS_NEXT_CONTROL_VALUE 1024 +#define _APS_NEXT_SYMED_VALUE 101 +#endif +#endif diff --git a/plugins/xtray/resource.rc b/plugins/xtray/resource.rc new file mode 100644 index 00000000..312c74c4 --- /dev/null +++ b/plugins/xtray/resource.rc @@ -0,0 +1,309 @@ +// Microsoft Visual C++ generated resource script. +// +#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#define APSTUDIO_HIDDEN_SYMBOLS +#include "windows.h" +#undef APSTUDIO_HIDDEN_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (U.S.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif //_WIN32 + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +IDD_EVENTS DIALOGEX 8, 20, 216, 143 +STYLE DS_SETFONT | DS_SETFOREGROUND | WS_CHILD +FONT 8, "Tahoma", 0, 0, 0x0 +BEGIN + GROUPBOX "XChat Events",IDC_STATIC,5,5,205,77 + CONTROL "Banned",4,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,18,49,10 + CONTROL "Kicked",5,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,32,49,10 + CONTROL "Killed",8,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,46,49,10 + CONTROL "Disconnect",10,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,60,49,10 + CONTROL "Private Message",7,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,70,18,69,10 + CONTROL "Channel Message",21,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,70,32,69,10 + CONTROL "Highlight",1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,70,46,69,10 + CONTROL "CTCP",6,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,70,60,69,10 + CONTROL "Topic Change",3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,145,18,55,10 + CONTROL "Server Notice",9,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,145,32,55,10 + CONTROL "Invite",2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,145,46,55,10 +END + +IDD_SETTINGS DIALOGEX 8, 20, 216, 143 +STYLE DS_SETFONT | WS_CHILD +FONT 8, "Tahoma", 0, 0, 0x0 +BEGIN + GROUPBOX "Options",IDC_STATIC,5,5,205,135 + CONTROL "Auto away on minimize",11,"Button",BS_AUTOCHECKBOX | + WS_TABSTOP,16,60,100,10 + CONTROL "Minimize XChat to the system tray",12,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,16,18,133,10 + CONTROL "Minimize to the tray instead of closing",17,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,16,32,174,9 + EDITTEXT IDC_AWAY_MSG,33,86,169,50,ES_AUTOHSCROLL + LTEXT "Away Msg:",IDC_STATIC,27,72,35,8 + CONTROL "Remove XChat from the taskbar (only show in tray)", + 20,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,16,46,191,9 +END + +IDD_ALERT DIALOGEX 0, 0, 151, 28 +STYLE DS_LOCALEDIT | DS_SETFONT | DS_NOIDLEMSG | DS_CENTER | WS_CAPTION | + WS_SYSMENU +EXSTYLE WS_EX_NOPARENTNOTIFY | WS_EX_ACCEPTFILES | WS_EX_TOOLWINDOW +CAPTION "Event Name" +FONT 8, "Tahoma", 0, 0, 0x1 +BEGIN + LTEXT "Event Text",IDC_ALERT_MSG,3,0,147,27 +END + +IDD_PREF DIALOGEX 0, 0, 233, 190 +STYLE DS_SETFONT | DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | + WS_SYSMENU +CAPTION "X-Tray Preferences" +FONT 8, "Tahoma", 0, 0, 0x0 +BEGIN + DEFPUSHBUTTON "Ok",IDC_PREF_OK,57,173,50,14 + PUSHBUTTON "Cancel",IDC_PREF_CANCEL,115,173,50,14 + PUSHBUTTON "Apply",IDC_PREF_APPLY,175,173,50,14 + CONTROL "Tab1",IDC_TAB_CONTROL,"SysTabControl32",0x0,7,7,218,159 +END + +IDD_ABOUT DIALOGEX 8, 20, 216, 143 +STYLE DS_SETFONT | WS_CHILD +FONT 8, "Tahoma", 0, 0, 0x0 +BEGIN + CONTROL 119,IDC_STATIC,"Static",SS_BITMAP | SS_SUNKEN | + WS_BORDER,3,6,88,81 + CTEXT "X-Tray\r\nBy: Michael Hotaling\r\n www.SinisterDevelopments.com", + IDC_STATIC,95,33,118,30 + LTEXT "Folken\r\nBasket\r\nDonatzsky\r\nDaemon404",IDC_STATIC, + 15,103,64,33 + GROUPBOX "Special Thanks To:",IDC_STATIC,3,91,89,50 + GROUPBOX "Version Information:",IDC_STATIC,101,92,109,49 + LTEXT "1.2.4",IDC_STATIC,170,105,33,8,0,WS_EX_RIGHT + LTEXT "Compiled In: ",IDC_STATIC,110,117,54,8 + LTEXT "2012",IDC_STATIC,170,117,33,8,0,WS_EX_RIGHT + LTEXT "Version Number:",IDC_STATIC,110,105,54,8 +END + +IDD_ALERTS DIALOGEX 8, 20, 216, 143 +STYLE DS_SETFONT | WS_CHILD +FONT 8, "Tahoma", 0, 0, 0x0 +BEGIN + GROUPBOX "Alerts",IDC_STATIC,5,5,205,117 + CONTROL "Only show alerts while minimized",14,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,27,46,117,10 + CONTROL "Use tray alerts to notify me about events",13,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,16,32,152,10 + CONTROL "Use window instead of balloons",15,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,27,60,141,11 + EDITTEXT IDC_ALERT_TIME,137,101,61,12,ES_AUTOHSCROLL | ES_NUMBER, + WS_EX_RIGHT + LTEXT "Show alert for x seconds:",IDC_ALERT_TIME_TEXT,40,103, + 83,9 + CONTROL "Alert Hotkey",IDC_ALERT_HOTKEY,"msctls_hotkey32", + WS_BORDER | WS_TABSTOP,137,74,61,13 + LTEXT "Close all alerts hotkey:",IDC_ALERT_HOTKEY_TEXT,39,75, + 76,10 + CONTROL "Leave alerts open indefinately",16,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,27,88,115,11 + CONTROL "Blink Icon to alert me about events",18,"Button", + BS_AUTOCHECKBOX | WS_TABSTOP,16,18,127,10 +END + + +///////////////////////////////////////////////////////////////////////////// +// +// DESIGNINFO +// + +#ifdef APSTUDIO_INVOKED +GUIDELINES DESIGNINFO +BEGIN + IDD_EVENTS, DIALOG + BEGIN + BOTTOMMARGIN, 56 + END + + IDD_SETTINGS, DIALOG + BEGIN + BOTTOMMARGIN, 66 + END + + IDD_ALERT, DIALOG + BEGIN + RIGHTMARGIN, 150 + BOTTOMMARGIN, 26 + END + + IDD_PREF, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 232 + TOPMARGIN, 7 + BOTTOMMARGIN, 176 + END + + IDD_ABOUT, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 209 + TOPMARGIN, 7 + BOTTOMMARGIN, 136 + END + + IDD_ALERTS, DIALOG + BEGIN + LEFTMARGIN, 7 + RIGHTMARGIN, 208 + TOPMARGIN, 7 + BOTTOMMARGIN, 136 + END +END +#endif // APSTUDIO_INVOKED + + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#define APSTUDIO_HIDDEN_SYMBOLS\r\n" + "#include ""windows.h""\r\n" + "#undef APSTUDIO_HIDDEN_SYMBOLS\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "xtray.h\0" +END + +4 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 1,2,4,0 + PRODUCTVERSION 1,2,4,0 + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x40004L + FILETYPE 0x2L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "SinisterDevelopments" + VALUE "FileDescription", "X-Tray" + VALUE "FileVersion", "1, 2, 4, 0" + VALUE "InternalName", "X-Tray" + VALUE "LegalCopyright", "Copyright © 2005" + VALUE "OriginalFilename", "xtray.dll" + VALUE "ProductName", "X-Tray - XChat Win32 System Tray Plugin" + VALUE "ProductVersion", "1, 2, 4, 0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + + +///////////////////////////////////////////////////////////////////////////// +// +// Menu +// + +IDR_TRAY_MENU MENU +BEGIN + POPUP "TRAY" + BEGIN + MENUITEM "Restore", ACT_RESTORE + MENUITEM SEPARATOR + MENUITEM "Away", 65535 + MENUITEM "Settings", ACT_SETTINGS + MENUITEM SEPARATOR + MENUITEM "Exit", ACT_EXIT + END +END + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +ICO_XCHAT ICON "icons\\xchat.ico" +ICO_BANNED ICON "icons\\banned.ico" +ICO_CHANMSG ICON "icons\\chan_msg.ico" +ICO_HIGHLIGHT ICON "icons\\highlight.ico" +ICO_KICKED ICON "icons\\kicked.ico" +ICO_PMSG ICON "icons\\priv_msg-1-2-2.ico" +ICO_SNOTICE ICON "icons\\server_notice.ico" +ICO_DISCONNECTED ICON "icons\\disconnected.ico" + +///////////////////////////////////////////////////////////////////////////// +// +// Bitmap +// + +IDB_SD_LOGO BITMAP "bitmaps\\sd.bmp" +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// +xtray.h +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED + diff --git a/plugins/xtray/sdAlerts.cpp b/plugins/xtray/sdAlerts.cpp new file mode 100644 index 00000000..5e042806 --- /dev/null +++ b/plugins/xtray/sdAlerts.cpp @@ -0,0 +1,109 @@ +/* X-Tray + * Copyright (C) 2005 Michael Hotaling <Mike.Hotaling@SinisterDevelopments.com> + * + * X-Tray 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. + * + * X-Tray 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 X-Tray; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include <windows.h> +#include <winuser.h> +#include <stdio.h> +#include "utility.h" +#include "resource.h" +#include "sdAlerts.h" + +int g_iAlerts = 0; + +void sdSystemAlert(HINSTANCE hModule, UINT uiDialog, char *szMsg, char *szName, unsigned int iTime) +{ + TCHAR wszMsg[256]; + TCHAR wszName[64]; + + HWND hDialog; + RECT rcWorkArea, rcDlg; + int ixPos, iyPos; + int iNumPerCol; + + hDialog = CreateDialog(hModule, MAKEINTRESOURCE(uiDialog), NULL, (DLGPROC)sdAlertProc); + + SystemParametersInfo(SPI_GETWORKAREA, 0, &rcWorkArea, 0); + GetWindowRect(hDialog, &rcDlg); + + iNumPerCol = ((rcWorkArea.bottom - rcWorkArea.top) / (rcDlg.bottom - rcDlg.top)); + ixPos = rcWorkArea.right - (rcDlg.right - rcDlg.left) + 1; + iyPos = rcWorkArea.bottom - (rcDlg.bottom - rcDlg.top); + + if((g_iAlerts >= iNumPerCol) && (iNumPerCol > 0)) + { + ixPos -= ((g_iAlerts / iNumPerCol) * (rcDlg.right - rcDlg.left)); + iyPos -= ((g_iAlerts - (iNumPerCol * (g_iAlerts / iNumPerCol))) * (rcDlg.bottom - rcDlg.top)); + } + else + { + iyPos -= (g_iAlerts * (rcDlg.bottom - rcDlg.top)); + } + SetWindowPos(hDialog, HWND_TOPMOST, ixPos, iyPos, 0, 0, SWP_NOSIZE | SWP_NOACTIVATE); + + ConvertString(szName, wszName, 64); + ConvertString(szMsg, wszMsg, 256); + + SetWindowText(hDialog, wszName); + SetDlgItemText(hDialog, IDC_ALERT_MSG, wszMsg); + ShowWindow(hDialog, SW_SHOWNA); + + if(iTime > 0) + { + SetTimer(hDialog, 1, iTime, NULL); + } + + g_iAlerts++; +} + +void sdCloseAlerts() +{ + PostMessage(HWND_BROADCAST, RegisterWindowMessage(TEXT("xTray:CloseAllAlertWindows")), 0, 0); +} + +LRESULT CALLBACK sdAlertProc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) +{ + switch(msg) + { + case WM_CLOSE: + if(g_iAlerts > 0){ g_iAlerts--; } + DestroyWindow(hwnd); + return TRUE; + break; + case WM_TIMER: + if(g_iAlerts > 0){ g_iAlerts--; } + AnimateWindow(hwnd, 600, AW_SLIDE | AW_HIDE | AW_VER_POSITIVE); + DestroyWindow(hwnd); + return TRUE; + break; + default: + if(msg == RegisterWindowMessage(TEXT("xTray:CloseAllAlertWindows"))) + { + if(g_iAlerts > 0){ g_iAlerts--; } + DestroyWindow(hwnd); + return TRUE; + } + break; + } + + return FALSE; +} + +int sdAlertNum() +{ + return g_iAlerts; +} \ No newline at end of file diff --git a/plugins/xtray/sdAlerts.h b/plugins/xtray/sdAlerts.h new file mode 100644 index 00000000..cd45a05b --- /dev/null +++ b/plugins/xtray/sdAlerts.h @@ -0,0 +1,26 @@ +/* X-Tray + * Copyright (C) 2005 Michael Hotaling <Mike.Hotaling@SinisterDevelopments.com> + * + * X-Tray 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. + * + * X-Tray 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 X-Tray; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef _H_SDALERTS_H +#define _H_SDALERTS_H + +void sdSystemAlert (HINSTANCE, UINT, char *, char *, UINT); +LRESULT CALLBACK sdAlertProc (HWND, UINT, WPARAM, LPARAM); +int sdAlertNum (); +void sdCloseAlerts (); +#endif \ No newline at end of file diff --git a/plugins/xtray/sdTray.cpp b/plugins/xtray/sdTray.cpp new file mode 100644 index 00000000..3a91a61b --- /dev/null +++ b/plugins/xtray/sdTray.cpp @@ -0,0 +1,207 @@ +/* X-Tray + * Copyright (C) 2005 Michael Hotaling <Mike.Hotaling@SinisterDevelopments.com> + * + * X-Tray 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. + * + * X-Tray 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 X-Tray; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ +#define _WIN32_IE 0x601 +#include <windows.h> +#include <stdio.h> +#include <tchar.h> +#include "sdTray.h" +#include "utility.h" + +HANDLE hThread; +iBlink *tData = NULL; + +int AddIcon(HWND hwnd, UINT id, HICON hicon, char *szTip, unsigned short flags, unsigned int cbMsg) +{ + NOTIFYICONDATA nidata; + + nidata.cbSize = NOTIFYICONDATA_V2_SIZE; + nidata.hIcon = hicon; + nidata.hWnd = hwnd; + nidata.uCallbackMessage = cbMsg; + nidata.uFlags = flags; + nidata.uID = id; + + if(szTip != NULL) + { + TCHAR *szTemp = new TCHAR[64]; + + ConvertString(szTip, szTemp, 64); + _tcsncpy(nidata.szTip, szTemp, 64); + + delete[] szTemp; + } + + return Shell_NotifyIcon(NIM_ADD, &nidata); +} + +int RemoveIcon(HWND hwnd, UINT id) +{ + if(hThread != NULL) + { + TerminateThread(hThread, 0); + hThread = NULL; + + delete tData; + } + + NOTIFYICONDATA nidata; + + nidata.cbSize = NOTIFYICONDATA_V2_SIZE; + nidata.hWnd = hwnd; + nidata.uID = id; + + return Shell_NotifyIcon(NIM_DELETE, &nidata); +} + +int SetIcon(HWND hwnd, UINT id, HICON hicon) +{ + NOTIFYICONDATA nidata; + + nidata.cbSize = NOTIFYICONDATA_V2_SIZE; + nidata.hWnd = hwnd; + nidata.uID = id; + nidata.hIcon = hicon; + nidata.uFlags = NIF_ICON; + + return Shell_NotifyIcon(NIM_MODIFY, &nidata); +} + +int SetTooltip(HWND hwnd, UINT id, char *szTip) +{ + NOTIFYICONDATA nidata; + + nidata.cbSize = NOTIFYICONDATA_V2_SIZE; + nidata.hWnd = hwnd; + nidata.uID = id; + nidata.uFlags = NIF_TIP; + + if(szTip != NULL) + { + TCHAR *szTemp = new TCHAR[64]; + ConvertString(szTip, szTemp, 64); + _tcsncpy(nidata.szTip, szTemp, 64); + delete[] szTemp; + } + + return Shell_NotifyIcon(NIM_MODIFY, &nidata); +} + +int ShowBalloon(HWND hwnd, UINT id, char *szInfo, char *szTitle, UINT time, UINT infoFlags) +{ + NOTIFYICONDATA nidata; + + nidata.cbSize = NOTIFYICONDATA_V2_SIZE; + nidata.hWnd = hwnd; + nidata.uID = id; + nidata.uFlags = NIF_INFO; + nidata.dwInfoFlags = infoFlags; + + if(time > 0) + nidata.uTimeout = time; + else + nidata.uTimeout = 500000; + + if(szInfo != NULL) + { + TCHAR *szTemp = new TCHAR[255]; + + ConvertString(szInfo, szTemp, 251); + szTemp[250] = 0; + + if(strlen(szInfo) > 255) + { + _sntprintf(szTemp, 255, _T("%s..."), szTemp); + } + _tcsncpy(nidata.szInfo, szTemp, 255); + + delete[] szTemp; + } + if(szTitle != NULL) + { + TCHAR *wszTitle = new TCHAR[64]; + ConvertString(szTitle, wszTitle, 64); + _tcsncpy(nidata.szInfoTitle, wszTitle, 64); + delete[] wszTitle; + } + + return Shell_NotifyIcon(NIM_MODIFY, &nidata); +} + + +DWORD WINAPI BlinkThread(LPVOID lpParam) +{ + NOTIFYICONDATA nidata; + + nidata.cbSize = NOTIFYICONDATA_V2_SIZE; + nidata.hWnd = tData->hwnd; + nidata.uID = tData->id; + nidata.uFlags = NIF_ICON; + + for(UINT i = 0; i < tData->num; i++) + { + nidata.hIcon = tData->hBlink; + Shell_NotifyIcon(NIM_MODIFY, &nidata); + + Sleep(tData->time); + + nidata.hIcon = tData->hBase; + Shell_NotifyIcon(NIM_MODIFY, &nidata); + + Sleep(tData->time); + } + + delete tData; + hThread = NULL; + + return 0; +} + +int BlinkIcon(HWND hwnd, UINT id, HICON hBase, HICON hBlink, UINT time, UINT num) +{ + if(hThread != NULL) + { + StopBlink(hwnd, id, hBase); + } + + DWORD dwThreadID; + tData = new iBlink; + + tData->hwnd = hwnd; + tData->id = id; + tData->hBase = hBase; + tData->hBlink = hBlink; + tData->time = time; + tData->num = num; + + hThread = CreateThread(NULL, 0, BlinkThread, tData, 0, &dwThreadID); + + return 0; +} + +void StopBlink(HWND hwnd, UINT id, HICON hBase) +{ + if(hThread != NULL) + { + TerminateThread(hThread, 0); + hThread = NULL; + + delete tData; + } + + SetIcon(hwnd, id, hBase); +} \ No newline at end of file diff --git a/plugins/xtray/sdTray.h b/plugins/xtray/sdTray.h new file mode 100644 index 00000000..68469fe0 --- /dev/null +++ b/plugins/xtray/sdTray.h @@ -0,0 +1,39 @@ +/* X-Tray + * Copyright (C) 2005 Michael Hotaling <Mike.Hotaling@SinisterDevelopments.com> + * + * X-Tray 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. + * + * X-Tray 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 X-Tray; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef _H_SDTRAY_H +#define _H_SDTRAY_H + +int AddIcon (HWND, UINT, HICON, char *, unsigned short, UINT); +int ShowBalloon (HWND, UINT, char *, char *, UINT, UINT); +int BlinkIcon (HWND, UINT, HICON, HICON, UINT, UINT); +int SetTooltip (HWND, UINT, char *); +int SetIcon (HWND, UINT, HICON); +void StopBlink (HWND, UINT, HICON); +int RemoveIcon (HWND, UINT); + +typedef struct IBLINK +{ + HICON hBase; + HICON hBlink; + HWND hwnd; + UINT id; + UINT time; + UINT num; +}iBlink; +#endif \ No newline at end of file diff --git a/plugins/xtray/utility.cpp b/plugins/xtray/utility.cpp new file mode 100644 index 00000000..66489bc0 --- /dev/null +++ b/plugins/xtray/utility.cpp @@ -0,0 +1,607 @@ +/* X-Tray + * Copyright (C) 2005 Michael Hotaling <Mike.Hotaling@SinisterDevelopments.com> + * + * X-Tray 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. + * + * X-Tray 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 X-Tray; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include <windows.h> +#include <stdio.h> +#include <commctrl.h> +#include <tchar.h> + +#include "xchat-plugin.h" +#include "utility.h" +#include "xtray.h" +#include "callbacks.h" +#include "resource.h" + +TCHAR BACKUP_INI_FILE[] = _T(".\\plugins\\config\\xtray.conf"); +struct HOTKEY g_hHotKey; + +/* we need to convert ALT and SHIFT modifiers +// from <winuser.h> +#define MOD_ALT 0x0001 +#define MOD_CONTROL 0x0002 +#define MOD_SHIFT 0x0004 +// from <commctrl.h> +#define HOTKEYF_SHIFT 0x01 +#define HOTKEYF_CONTROL 0x02 +#define HOTKEYF_ALT 0x04 +*/ + +WORD HotkeyfToMod(WORD modifiers) +{ + WORD newmods = 0; + + if (modifiers & HOTKEYF_SHIFT) + newmods |= MOD_SHIFT; + + if (modifiers & HOTKEYF_CONTROL) + newmods |= MOD_CONTROL; + + if (modifiers & HOTKEYF_ALT) + newmods |= MOD_ALT; + + return newmods; +} + +WORD ModToHotkeyf(WORD modifiers) +{ + WORD newmods = 0; + + if (modifiers & MOD_SHIFT) + newmods |= HOTKEYF_SHIFT; + + if (modifiers & MOD_CONTROL) + newmods |= HOTKEYF_CONTROL; + + if (modifiers & MOD_ALT) + newmods |= HOTKEYF_ALT; + + return newmods; +} + +void SavePrefs(int iDlg) +{ + /**************************************************************************************************/ + /********** allocate space for our string, and then set it to the currently logged on user ********/ + /**************************************************************************************************/ + DWORD dBuff = 257; + TCHAR szUser[257]; + + GetUserName(szUser, &dBuff); + + /**************************************************************************************************/ + /*********************** Test if the file exists, If it doesn't, Create It ************************/ + /**************************************************************************************************/ + TCHAR XTRAY_INI_FILE[1024]; + +#ifdef UNICODE + char temp[1024]; + TCHAR TEMP_INI_FILE[1024]; + + _snprintf(temp, 1024, "%s\\xtray.conf", xchat_get_info(ph, "xchatdir")); + ConvertString(temp, TEMP_INI_FILE, 1024); + + // ok this one is really ugly + // it checks to see if the file exists in two locations + // X-Chat default config dir, if that fails it trys xchat\plugins\config + // if neither one exists it tries to create it in + // X-Chat default config dir, if that fails it trys xchat\plugins\config + // In either case it writes \xFF\xFE to the file ( on creation ) + // so that we can save unicode away messages WritePrivateProfile doesn't + // do this for us, though I think it really should + + if(FileExists(TEMP_INI_FILE)) + { + _tcscpy(XTRAY_INI_FILE, TEMP_INI_FILE); + } + else + { + if(FileExists(BACKUP_INI_FILE)) + { + _tcscpy(XTRAY_INI_FILE, BACKUP_INI_FILE); + } + else + { + HANDLE xTemp; + DWORD dwBytesTemp; + + if(xTemp = CreateFile(TEMP_INI_FILE, GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL)) + { + if(GetLastError() != ERROR_ALREADY_EXISTS) + { + WriteFile(xTemp, _T("\xFF\xFE"), 4, &dwBytesTemp, NULL); + } + CloseHandle(xTemp); + } + + if(FileExists(TEMP_INI_FILE)) + { + _tcscpy(XTRAY_INI_FILE, TEMP_INI_FILE); + } + else + { + HANDLE xBackup; + DWORD dwBytesBackup; + + if(xBackup = CreateFile(TEMP_INI_FILE, GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL)) + { + if(GetLastError() != ERROR_ALREADY_EXISTS) + { + WriteFile(xBackup, _T("\xFF\xFE"), 4, &dwBytesBackup, NULL); + } + + CloseHandle(xBackup); + } + + if(FileExists(BACKUP_INI_FILE)) + { + _tcscpy(XTRAY_INI_FILE, BACKUP_INI_FILE); + } + } + } + } + +#else + _tcscpy(XTRAY_INI_FILE, BACKUP_INI_FILE); +#endif + + WritePrivateProfileInt(szUser, _T("SETTINGS"), g_dwPrefs, XTRAY_INI_FILE); + WritePrivateProfileInt(szUser, _T("AOT"), g_iTime, XTRAY_INI_FILE); + WritePrivateProfileInt(szUser, _T("KEY"), g_hHotKey.key, XTRAY_INI_FILE); + WritePrivateProfileInt(szUser, _T("MOD"), g_hHotKey.mod, XTRAY_INI_FILE); + WritePrivateProfileString(szUser, _T("AWAY"), g_szAway, XTRAY_INI_FILE); +} + +void LoadPrefs() +{ + /**************************************************************************************************/ + /*********************** Our Settings Section *****************************************************/ + /**************************************************************************************************/ + DWORD dBuff = 257; + TCHAR szUser[257]; + + GetUserName(szUser, &dBuff); + + /**************************************************************************************************/ + /*********************** Test if the file exists, If it doesn't, Create It ************************/ + /**************************************************************************************************/ + TCHAR XTRAY_INI_FILE[1024]; + +#ifdef UNICODE + char temp[1024]; + TCHAR TEMP_INI_FILE[1024]; + + _snprintf(temp, 1024, "%s\\xtray.conf", xchat_get_info(ph, "xchatdir")); + ConvertString(temp, TEMP_INI_FILE, 1024); + + if(FileExists(TEMP_INI_FILE)) + { + _tcscpy(XTRAY_INI_FILE, TEMP_INI_FILE); + } + else + { + if(FileExists(BACKUP_INI_FILE)) + { + _tcscpy(XTRAY_INI_FILE, BACKUP_INI_FILE); + } + else + { + HANDLE xTemp; + DWORD dwBytesTemp; + + if(xTemp = CreateFile(TEMP_INI_FILE, GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL)) + { + if(GetLastError() != ERROR_ALREADY_EXISTS) + { + WriteFile(xTemp, _T("\xFF\xFE"), 4, &dwBytesTemp, NULL); + } + + CloseHandle(xTemp); + } + + if(FileExists(TEMP_INI_FILE)) + { + _tcscpy(XTRAY_INI_FILE, TEMP_INI_FILE); + } + else + { + HANDLE xBackup; + DWORD dwBytesBackup; + + if(xBackup = CreateFile(TEMP_INI_FILE, GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, NULL)) + { + if(GetLastError() != ERROR_ALREADY_EXISTS) + { + WriteFile(xBackup, _T("\xFF\xFE"), 4, &dwBytesBackup, NULL); + } + + CloseHandle(xBackup); + } + + if(FileExists(BACKUP_INI_FILE)) + { + _tcscpy(XTRAY_INI_FILE, BACKUP_INI_FILE); + } + } + } + } + +#else + _tcscpy(XTRAY_INI_FILE, BACKUP_INI_FILE); +#endif + + /**************************************************************************************************/ + /*************************** Get the value for each of our preferances ****************************/ + /**************************************************************************************************/ + g_dwPrefs = GetPrivateProfileInt(szUser, _T("SETTINGS"), 0, XTRAY_INI_FILE); + + // backwards compatability + // also allows us to set defaults if its a new installation + // disable topic change, channel message and server notice by default + if(g_dwPrefs == 0) + { + g_dwPrefs |= (GetPrivateProfileInt(szUser, _T("HILIGHT"), 1, XTRAY_INI_FILE)<<1); + g_dwPrefs |= (GetPrivateProfileInt(szUser, _T("INVITE"), 1, XTRAY_INI_FILE)<<2); + /* g_dwPrefs |= (GetPrivateProfileInt(szUser, _T("TOPIC"), 1, XTRAY_INI_FILE)<<3); */ + g_dwPrefs |= (GetPrivateProfileInt(szUser, _T("BANNED"), 1, XTRAY_INI_FILE)<<4); + g_dwPrefs |= (GetPrivateProfileInt(szUser, _T("KICKED"), 1, XTRAY_INI_FILE)<<5); + g_dwPrefs |= (GetPrivateProfileInt(szUser, _T("CTCP"), 1, XTRAY_INI_FILE)<<6); + g_dwPrefs |= (GetPrivateProfileInt(szUser, _T("PMSG"), 1, XTRAY_INI_FILE)<<7); + g_dwPrefs |= (GetPrivateProfileInt(szUser, _T("KILLED"), 1, XTRAY_INI_FILE)<<8); + /* g_dwPrefs |= (GetPrivateProfileInt(szUser, _T("NOTICE"), 1, XTRAY_INI_FILE)<<9); */ + g_dwPrefs |= (GetPrivateProfileInt(szUser, _T("DISCONNECT"), 1, XTRAY_INI_FILE)<<10); + + g_dwPrefs |= (GetPrivateProfileInt(szUser, _T("AOM"), 0, XTRAY_INI_FILE)<<11); + g_dwPrefs |= (GetPrivateProfileInt(szUser, _T("TOT"), 1, XTRAY_INI_FILE)<<12); + g_dwPrefs |= (GetPrivateProfileInt(szUser, _T("AMAE"), 1, XTRAY_INI_FILE)<<13); + g_dwPrefs |= (GetPrivateProfileInt(szUser, _T("OSBWM"), 0, XTRAY_INI_FILE)<<14); + g_dwPrefs |= (GetPrivateProfileInt(szUser, _T("UWIOB"), 0, XTRAY_INI_FILE)<<15); + g_dwPrefs |= (GetPrivateProfileInt(szUser, _T("KAOI"), 0, XTRAY_INI_FILE)<<16); + g_dwPrefs |= (GetPrivateProfileInt(szUser, _T("MIOC"), 0, XTRAY_INI_FILE)<<17); + } + + g_hHotKey.key = GetPrivateProfileInt(szUser, _T("KEY"), 84, XTRAY_INI_FILE); + g_hHotKey.mod = GetPrivateProfileInt(szUser, _T("MOD"), (MOD_CONTROL | MOD_SHIFT), XTRAY_INI_FILE); + g_iTime = GetPrivateProfileInt(szUser, _T("AOT"), 5, XTRAY_INI_FILE); + + GetPrivateProfileString(szUser, _T("AWAY"), _T(""), g_szAway, 1024, XTRAY_INI_FILE); + + /**************************************************************************************************/ + /******************************** Register our hotkey with windows ********************************/ + /**************************************************************************************************/ + if(g_dwPrefs & (1<<PREF_UWIOB)) + { + RegisterHotKey(g_hHotkeyWnd, 1, g_hHotKey.mod, g_hHotKey.key); + } +} + +void CheckPrefs(HWND hwnd, int iDlg) +{ + /**************************************************************************************************/ + /**************** save the preferances based on the checkmarks/options ****************************/ + /**************************************************************************************************/ + switch(iDlg) + { + case IDD_EVENTS: + { + SetOption(hwnd, CHAN_HILIGHT, CHAN_HILIGHT); + SetOption(hwnd, CHAN_INVITE, CHAN_INVITE); + SetOption(hwnd, CHAN_TOPIC_CHANGE, CHAN_TOPIC_CHANGE); + SetOption(hwnd, CHAN_BANNED, CHAN_BANNED); + SetOption(hwnd, CHAN_KICKED, CHAN_KICKED); + SetOption(hwnd, CTCP_GENERIC, CTCP_GENERIC); + SetOption(hwnd, PMSG_RECEIVE, PMSG_RECEIVE); + SetOption(hwnd, SERV_KILLED, SERV_KILLED); + SetOption(hwnd, SERV_NOTICE, SERV_NOTICE); + SetOption(hwnd, SERV_DISCONNECT, SERV_DISCONNECT); + SetOption(hwnd, CHAN_MESSAGE, CHAN_MESSAGE); + } + break; + case IDD_ALERTS: + { + SetOption(hwnd, PREF_AMAE, PREF_AMAE); + SetOption(hwnd, PREF_OSBWM, PREF_OSBWM); + SetOption(hwnd, PREF_UWIOB, PREF_UWIOB); + SetOption(hwnd, PREF_KAOI, PREF_KAOI); + SetOption(hwnd, PREF_BLINK, PREF_BLINK); + + /**************************************************************************/ + /**************************************************************************/ + /**************************************************************************/ + TCHAR tTime[512]; + + GetWindowText(GetDlgItem(hwnd, IDC_ALERT_TIME), tTime, 511); + + g_iTime = _tstoi(tTime); + + /**************************************************************************/ + /**************** Get our Hotkey and save it **********/ + /**************** then remove the old hotkey and add the new one **********/ + /**************************************************************************/ + DWORD hHotkey; + hHotkey = SendDlgItemMessage(hwnd, IDC_ALERT_HOTKEY, HKM_GETHOTKEY, 0, 0); + + g_hHotKey.key = LOBYTE(hHotkey); + g_hHotKey.mod = HotkeyfToMod(HIBYTE(hHotkey)); + + if(IsDlgButtonChecked(hwnd, PREF_UWIOB) == BST_CHECKED) + { + UnregisterHotKey(g_hHotkeyWnd, 1); + RegisterHotKey(g_hHotkeyWnd, 1, g_hHotKey.mod, g_hHotKey.key); + } + else + { + UnregisterHotKey(g_hHotkeyWnd, 1); + } + + /*************************************************************************/ + /*********** Get and save the away msg and alert time ********************/ + /*************************************************************************/ + } + break; + case IDD_SETTINGS: + { + SetOption(hwnd, PREF_AOM, PREF_AOM); + SetOption(hwnd, PREF_TOT, PREF_TOT); + SetOption(hwnd, PREF_MIOC, PREF_MIOC); + SetOption(hwnd, PREF_DNSIT, PREF_DNSIT); + + GetDlgItemText(hwnd, IDC_AWAY_MSG, g_szAway, 511); + + if(g_dwPrefs & (1<<PREF_DNSIT)) + { + DWORD dwStyle; + dwStyle = GetWindowLong(g_hXchatWnd, GWL_STYLE); + dwStyle |= (1<<WS_CHILD); + SetWindowLongPtr(g_hXchatWnd, GWL_STYLE, (LONG_PTR)dwStyle); + SetWindowLongPtr(g_hXchatWnd, GWL_HWNDPARENT, (LONG_PTR)g_hHotkeyWnd); + } + else + { + DWORD dwStyle; + dwStyle = GetWindowLong(g_hXchatWnd, GWL_STYLE); + dwStyle &= ~(1<<WS_CHILD); + SetWindowLongPtr(g_hXchatWnd, GWL_STYLE, (LONG_PTR)dwStyle); + SetWindowLongPtr(g_hXchatWnd, GWL_HWNDPARENT, NULL); + } + } + break; + } +} + +void SetDialog(HWND hwnd, int iDlg) +{ + switch(iDlg) + { + case IDD_EVENTS: + { + SetCheck(hwnd, CHAN_HILIGHT, CHAN_HILIGHT); + SetCheck(hwnd, CHAN_INVITE, CHAN_INVITE); + SetCheck(hwnd, CHAN_TOPIC_CHANGE, CHAN_TOPIC_CHANGE); + SetCheck(hwnd, CHAN_BANNED, CHAN_BANNED); + SetCheck(hwnd, CHAN_KICKED, CHAN_KICKED); + SetCheck(hwnd, CTCP_GENERIC, CTCP_GENERIC); + SetCheck(hwnd, PMSG_RECEIVE, PMSG_RECEIVE); + SetCheck(hwnd, SERV_KILLED, SERV_KILLED); + SetCheck(hwnd, SERV_NOTICE, SERV_NOTICE); + SetCheck(hwnd, SERV_DISCONNECT, SERV_DISCONNECT); + SetCheck(hwnd, CHAN_MESSAGE, CHAN_MESSAGE); + } + break; + case IDD_SETTINGS: + { + SetCheck(hwnd, PREF_TOT, PREF_TOT); + SetCheck(hwnd, PREF_MIOC, PREF_MIOC); + SetCheck(hwnd, PREF_AOM, PREF_AOM); + SetCheck(hwnd, PREF_DNSIT, PREF_DNSIT); + + SetDlgItemText(hwnd, IDC_AWAY_MSG, g_szAway); + } + break; + case IDD_ALERTS: + { + + SetCheck(hwnd, PREF_BLINK, PREF_BLINK); + SetCheck(hwnd, PREF_OSBWM, PREF_OSBWM); + SetCheck(hwnd, PREF_UWIOB, PREF_UWIOB); + SetCheck(hwnd, PREF_KAOI, PREF_KAOI); + + /**********************************************************/ + /**********************************************************/ + /**********************************************************/ + if(SetCheck(hwnd, PREF_AMAE, PREF_AMAE) == false) + { + SetToggle(hwnd, PREF_OSBWM, PREF_AMAE, TRUE); + SetToggle(hwnd, PREF_UWIOB, PREF_AMAE, TRUE); + SetToggle(hwnd, PREF_KAOI, PREF_AMAE, TRUE); + SetToggle(hwnd, IDC_ALERT_TIME, PREF_AMAE, TRUE); + SetToggle(hwnd, IDC_ALERT_TIME_TEXT, PREF_AMAE, TRUE); + SetToggle(hwnd, IDC_ALERT_HOTKEY, PREF_AMAE, TRUE); + SetToggle(hwnd, IDC_ALERT_HOTKEY_TEXT, PREF_AMAE, TRUE); + } + else + { + + SetToggle(hwnd, IDC_ALERT_HOTKEY, PREF_UWIOB, TRUE); + SetToggle(hwnd, IDC_ALERT_HOTKEY_TEXT, PREF_UWIOB, TRUE); + SetToggle(hwnd, IDC_ALERT_TIME, PREF_KAOI, FALSE); + SetToggle(hwnd, IDC_ALERT_TIME_TEXT, PREF_KAOI, FALSE); + } + + /**********************************************************/ + /**********************************************************/ + /**********************************************************/ + TCHAR tTime[255]; + SendDlgItemMessage(hwnd, IDC_ALERT_TIME, WM_SETTEXT, 0, (LPARAM)_itot(g_iTime, tTime, 10)); + SendDlgItemMessage(hwnd, IDC_ALERT_HOTKEY, HKM_SETHOTKEY, MAKEWORD(g_hHotKey.key, ModToHotkeyf(g_hHotKey.mod)), 0); + } + break; + } +} + +int SetCheck(HWND hDialog, unsigned int uiCheckBox, unsigned int uiPref) +{ + if((g_dwPrefs & (1<<uiPref))) + { + CheckDlgButton(hDialog, uiCheckBox, BST_CHECKED); + return 1; + } + else + { + CheckDlgButton(hDialog, uiCheckBox, BST_UNCHECKED); + return 0; + } + + return 0; +} + +int SetToggle(HWND hDialog, unsigned int uiCheckBox, unsigned int uiTestbox, bool offeqoff) +{ + /**************************************************************************************************/ + /*********************** if(true) then if option is off turn toggle off ***************************/ + /*********************** if(false) then if option is off turn toggle on ***************************/ + /**************************************************************************************************/ + if(offeqoff) + { + if(IsDlgButtonChecked(hDialog, uiTestbox) == BST_CHECKED) + { + EnableWindow(GetDlgItem(hDialog, uiCheckBox), TRUE); + return 1; + } + else + { + EnableWindow(GetDlgItem(hDialog, uiCheckBox), FALSE); + return 0; + } + } + else + { + if(IsDlgButtonChecked(hDialog, uiTestbox) == BST_CHECKED) + { + EnableWindow(GetDlgItem(hDialog, uiCheckBox), FALSE); + return 1; + } + else + { + EnableWindow(GetDlgItem(hDialog, uiCheckBox), TRUE); + return 0; + } + } + + return 0; +} + +int SetOption(HWND hDialog, unsigned int uiCheckBox, unsigned int uiPref) +{ + if(IsDlgButtonChecked(hDialog, uiCheckBox) == BST_CHECKED) + { + g_dwPrefs |= (1<<uiPref); + } + else + { + g_dwPrefs &= ~(1<<uiPref); + } + + return (g_dwPrefs & (1<<uiPref)); +} + +int WritePrivateProfileIntA(char *szSection, char *szItem, int iData, char *szPath) +{ + char szData[33]; + itoa(iData, szData, 10); + return WritePrivateProfileStringA(szSection, szItem, szData, szPath); +} + +int WritePrivateProfileIntW(wchar_t *wszSection, wchar_t *wszItem, int iData, wchar_t *wszPath) +{ + wchar_t wszData[33]; + _itow(iData, wszData, 10); + return WritePrivateProfileStringW(wszSection, wszItem, wszData, wszPath); +} + +// For cleanup ( Closing windows and the such ) +void HoldClose() +{ + HANDLE hcThread; + DWORD dwThreadID; + hcThread = CreateThread(NULL, 0, HoldCloseThread, 0, 0, &dwThreadID); +} + +DWORD WINAPI HoldCloseThread(LPVOID lpParam) +{ + Sleep(1000); + PostMessage(g_hXchatWnd, WM_CLOSE, 0, 0); + return 0; +} + +bool FileExists(TCHAR *file) +{ + HANDLE hTemp = CreateFile(file, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); + int nRet = GetLastError(); + CloseHandle(hTemp); + + if(nRet == 0) + { + return true; + } + else + { + return false; + } + + return false; +} + +void ConvertString(const char *in, wchar_t *out, int size) +{ + MultiByteToWideChar(CP_UTF8, 0, in, -1, out, size); +} + +void ConvertString(const wchar_t *in, char *out, int size) +{ + WideCharToMultiByte(CP_UTF8, 0, in, (size - 1), out, size, NULL, NULL); +} + +void ConvertString(const char *in, char *out, int size) +{ + strncpy(out, in, size); +} + +void ErrorDebug(LPTSTR lpszFunction) +{ + TCHAR szBuf[80]; + LPVOID lpMsgBuf; + DWORD dw = GetLastError(); + + FormatMessage( + FORMAT_MESSAGE_ALLOCATE_BUFFER | + FORMAT_MESSAGE_FROM_SYSTEM, + NULL, + dw, + MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), + (LPTSTR) &lpMsgBuf, + 0, NULL ); + + _stprintf(szBuf, + _T("%s failed with error %d: %s"), + lpszFunction, dw, lpMsgBuf); + + MessageBox(NULL, szBuf, _T("Error"), MB_OK); + + LocalFree(lpMsgBuf); +} + diff --git a/plugins/xtray/utility.h b/plugins/xtray/utility.h new file mode 100644 index 00000000..6bee8aed --- /dev/null +++ b/plugins/xtray/utility.h @@ -0,0 +1,55 @@ +/* X-Tray + * Copyright (C) 2005 Michael Hotaling <Mike.Hotaling@SinisterDevelopments.com> + * + * X-Tray 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. + * + * X-Tray 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 X-Tray; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef _H_UTILITY_H +#define _H_UTILITY_H + +WORD HotkeyfToMod (WORD); +WORD ModToHotkeyf (WORD); + +int SetOption (HWND, unsigned int, unsigned int); +int SetCheck (HWND, unsigned int, unsigned int); +int SetToggle (HWND, unsigned int, unsigned int, bool); +void ErrorDebug (LPTSTR lpszFunction); +void SetDialog (HWND, int); +void CheckPrefs (HWND, int); +bool FileExists (TCHAR *); +DWORD WINAPI HoldCloseThread (LPVOID); +void SavePrefs (int); +void LoadPrefs (); +void HoldClose (); + +void ConvertString(const char *in, wchar_t *out, int size); +void ConvertString(const wchar_t *in, char *out, int size); +void ConvertString(const char *in, char *out, int size); + +int WritePrivateProfileIntA(char *, char *, int, char *); +int WritePrivateProfileIntW(wchar_t *, wchar_t *, int, wchar_t *); + +#ifdef UNICODE +#define WritePrivateProfileInt WritePrivateProfileIntW +#else +#define WritePrivateProfileInt WritePrivateProfileIntA +#endif + +struct HOTKEY +{ + WORD key; + WORD mod; +}; +#endif \ No newline at end of file diff --git a/plugins/xtray/xchat.cpp b/plugins/xtray/xchat.cpp new file mode 100644 index 00000000..47ce46a9 --- /dev/null +++ b/plugins/xtray/xchat.cpp @@ -0,0 +1,320 @@ +/* X-Tray + * Copyright (C) 1998, 2005 Peter Zelezny, Michael Hotaling <Mike.Hotaling@SinisterDevelopments.com> + * + * X-Tray 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. + * + * X-Tray 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 X-Tray; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#include <windows.h> +#include <vector> +#include <algorithm> +#include <stdio.h> +#include <tchar.h> + +#include "xchat-plugin.h" +#include "xtray.h" +#include "resource.h" +#include "xchat.h" +#include "utility.h" + +// from util.c of xchat source code ( slightly modified to fit X-Tray Syntax ) +char *xchat_strip_color (char *text) +{ + int nc = 0; + int i = 0; + int col = 0; + int len = strlen(text); + char *new_str = (char *)malloc(len + 2); + + while (len > 0) + { + if ((col && isdigit(*text) && (nc < 2)) || (col && isdigit(*(text+1)) && (nc < 3) && (*text == ','))) + { + nc++; + + if(*text == ',') + { + nc = 0; + } + } + else + { + col = 0; + + switch (*text) + { + case '\003': /*ATTR_COLOR: */ + { + col = 1; + nc = 0; + } + break; + case '\007': /*ATTR_BEEP: */ + case '\017': /*ATTR_RESET: */ + case '\026': /*ATTR_REVERSE: */ + case '\002': /*ATTR_BOLD: */ + case '\037': /*ATTR_UNDERLINE: */ + break; + default: + { + new_str[i] = *text; + i++; + } + break; + } + } + + text++; + len--; + } + + new_str[i] = 0; + + return new_str; +} + +void check_special_chars (char *cmd) +{ + int occur = 0; + int len = strlen (cmd); + int i = 0, j = 0; + char *buf; + + if (!len) + return; + + buf = (char *)malloc (len + 1); + + if (buf) + { + while (cmd[j]) + { + switch (cmd[j]) + { + case '%': + { + occur++; + + switch (cmd[j + 1]) + { + case 'R': + buf[i] = '\026'; + break; + case 'U': + buf[i] = '\037'; + break; + case 'B': + buf[i] = '\002'; + break; + case 'C': + buf[i] = '\003'; + break; + case 'O': + buf[i] = '\017'; + break; + case '%': + buf[i] = '%'; + break; + default: + buf[i] = '%'; + j--; + break; + } + + j++; + } + break; + default: + { + buf[i] = cmd[j]; + } + break; + } + + j++; + i++; + } + + buf[i] = 0; + + if (occur) + strcpy (cmd, buf); + + free (buf); + } +} + +void xchat_globally_away(TCHAR *tszAway) +{ + char szTemp[512]; + char szAway[512]; + + ConvertString(tszAway, szAway, 512); + _snprintf(szTemp, 512, "ALLSERV AWAY %s\0", szAway); + check_special_chars(szTemp); + xchat_exec(szTemp); +} + +void xchat_away(TCHAR *tszAway) +{ + char szTemp[512]; + char szAway[512]; + + ConvertString(tszAway, szAway, 512); + _snprintf(szTemp, 512, szAway); + check_special_chars(szTemp); + xchat_commandf(ph, "AWAY %s\0", szTemp); +} + +void xchat_globally_back() +{ + std::vector<int> xs; + std::vector<int>::iterator xsi; + xchat_list *xl = xchat_list_get(ph, "channels"); + + if(xl) + { + while(xchat_list_next(ph, xl)) + { + xsi = std::find(xs.begin(), xs.end(), xchat_list_int(ph, xl, "id")); + + if((xsi == xs.end()) && + ((strlen(xchat_list_str(ph, xl, "server")) > 0) || + (strlen(xchat_list_str(ph, xl, "channel")) > 0))) + { + xs.push_back(xchat_list_int(ph, xl, "id")); + xchat_set_context(ph, (xchat_context *)xchat_list_str(ph, xl, "context")); + xchat_back(); + } + } + + xchat_list_free(ph, xl); + } +} + + + +void xchat_back() +{ + if(xchat_get_info(ph, "away")) + { + xchat_command(ph, "BACK"); + } +} + +HMENU setServerMenu() +{ + HMENU sTemp = CreateMenu(); + TCHAR wszServer[128]; + TCHAR wszNick[128]; + TCHAR wszMenuEntry[256]; + + std::vector<int> xs; + std::vector<int>::iterator xsi; + xchat_list *xl = xchat_list_get(ph, "channels"); + + AppendMenu(sTemp, MF_STRING, ACT_AWAY, _T("Set Globally Away")); + AppendMenu(sTemp, MF_STRING, ACT_BACK, _T("Set Globally Back")); + AppendMenu(sTemp, MF_SEPARATOR, 0, NULL); + + if(xl) + { + while(xchat_list_next(ph, xl)) + { + xsi = std::find(xs.begin(), xs.end(), xchat_list_int(ph, xl, "id")); + + if( (xsi == xs.end()) && + ((strlen(xchat_list_str(ph, xl, "server")) > 0) || + (strlen(xchat_list_str(ph, xl, "channel")) > 0))) + { + xchat_set_context(ph, (xchat_context *)xchat_list_str(ph, xl, "context")); + xs.push_back(xchat_list_int(ph, xl, "id")); + + char *network = _strdup(xchat_list_str(ph, xl, "network")); + char *server = _strdup(xchat_list_str(ph, xl, "server")); + char *nick = _strdup(xchat_get_info(ph, "nick")); + + if(network != NULL) + { + ConvertString(network, wszServer, 128); + } + else + { + ConvertString(server, wszServer, 128); + } + + if(server != NULL) + { + ConvertString(nick, wszNick, 128); + _sntprintf(wszMenuEntry, 256, _T("%s @ %s\0"), wszNick, wszServer); + + if(!xchat_get_info(ph, "away")) + { + AppendMenu(sTemp, MF_STRING, (xchat_list_int(ph, xl, "id") + 1), wszMenuEntry); + } + else + { + AppendMenu(sTemp, (MF_CHECKED | MF_STRING), (xchat_list_int(ph, xl, "id") + 1), wszMenuEntry); + } + } + + free(network); + free(server); + free(nick); + } + } + + xchat_list_free(ph, xl); + } + + return sTemp; +} + +struct _xchat_context *xchat_find_server(int find_id) +{ + xchat_context *xc; + xchat_list *xl = xchat_list_get(ph, "channels"); + int id; + + if(!xl) + return NULL; + + while(xchat_list_next(ph, xl)) + { + id = xchat_list_int(ph, xl, "id"); + + if(id == -1) + { + return NULL; + } + else if(id == find_id) + { + xc = (xchat_context *)xchat_list_str(ph, xl, "context"); + + xchat_list_free(ph, xl); + + return xc; + } + } + + xchat_list_free(ph, xl); + + return NULL; +} + +void xchat_exec(char *command) +{ + xchat_set_context(ph, xchat_find_context(ph, NULL, NULL)); + xchat_command(ph, command); +} \ No newline at end of file diff --git a/plugins/xtray/xchat.h b/plugins/xtray/xchat.h new file mode 100644 index 00000000..76452aeb --- /dev/null +++ b/plugins/xtray/xchat.h @@ -0,0 +1,32 @@ +/* X-Tray + * Copyright (C) 2005 Michael Hotaling <Mike.Hotaling@SinisterDevelopments.com> + * + * X-Tray 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. + * + * X-Tray 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 X-Tray; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef _H_XCHAT_H +#define _H_XCHAT_H + +void xchat_exec (char *); +char *xchat_strip_color (char *); +void xchat_parse (char *); +struct _xchat_context *xchat_find_server (int); +void xchat_globally_away (TCHAR *); +void xchat_away (TCHAR *); +void xchat_globally_back (); +void xchat_back (); +HMENU setServerMenu (); + +#endif \ No newline at end of file diff --git a/plugins/xtray/xtray.cpp b/plugins/xtray/xtray.cpp new file mode 100644 index 00000000..ec5e34f8 --- /dev/null +++ b/plugins/xtray/xtray.cpp @@ -0,0 +1,219 @@ +/* X-Tray + * Copyright (C) 2005 Michael Hotaling <Mike.Hotaling@SinisterDevelopments.com> + * + * X-Tray 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. + * + * X-Tray 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 X-Tray; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#define _WIN32_IE 0x0601 + +#include <windows.h> +#include <list> +#include <string> +#include <shobjidl.h> + +#include "xchat-plugin.h" +#include "resource.h" +#include "callbacks.h" +#include "utility.h" +#include "xtray.h" +#include "sdTray.h" +#include "sdAlerts.h" + +/*****************************************************/ +/**** Don't want to pollute the namespace do we? *****/ +/*****************************************************/ +std::list<xchat_hook *> g_vHooks; + +/*****************************************************/ +/************ Global Identifiers *********************/ +/*****************************************************/ +WNDPROC g_hOldProc; +xchat_plugin *ph; + +/*****************************************************/ +/***************** Resources *************************/ +/*****************************************************/ +HWND g_hXchatWnd; +HWND g_hHotkeyWnd; +HWND g_hPrefDlg; +HMENU g_hTrayMenu; +HICON g_hIcons[11]; +HANDLE g_hInstance; +/*****************************************************/ +/***************** Preferences ***********************/ +/*****************************************************/ +unsigned int g_dwPrefs; +TCHAR g_szAway[512]; +int g_iTime; + + +BOOL WINAPI DllMain(HANDLE hModule, DWORD fdwReason, LPVOID lpVoid) +{ + if((fdwReason == DLL_PROCESS_ATTACH) || (fdwReason == DLL_THREAD_ATTACH)) + { + g_hInstance = hModule; + } + + return TRUE; +} + +int xchat_plugin_init(xchat_plugin *plugin_handle, char **plugin_name, char **plugin_desc, char **plugin_version, char *arg) +{ + ph = plugin_handle; + + *plugin_name = "X-Tray"; + *plugin_desc = "Minimize XChat to the Windows system tray"; + *plugin_version = "1.2.4"; + + /***************************************************************************************************************************/ + /************************* Load our preferances from xTray.ini *************************************************************/ + /***************************************************************************************************************************/ + LoadPrefs(); + + /***************************************************************************************************************************/ + /************************* Finds the xChat window and saves it for later use ***********************************************/ + /***************************************************************************************************************************/ + g_hXchatWnd = (HWND)xchat_get_info(ph, "win_ptr"); + + if(g_hXchatWnd == NULL) + { + EnumThreadWindows(GetCurrentThreadId(), EnumWindowsProc, 0); + } + + g_hOldProc = (WNDPROC)GetWindowLongPtr(g_hXchatWnd, GWLP_WNDPROC); + SetWindowLongPtr(g_hXchatWnd, GWLP_WNDPROC, (LONG_PTR)WindowProc); + + /***************************************************************************************************************************/ + /************************* Grab the xChat Icon, Load our menu, create the window to receive the hotkey messages ***********/ + /************************* and register the windows message so we know if explorer crashes ***********/ + /***************************************************************************************************************************/ + g_hTrayMenu = GetSubMenu(LoadMenu((HINSTANCE)g_hInstance, MAKEINTRESOURCE(IDR_TRAY_MENU)), 0); + g_hHotkeyWnd = CreateDialog((HINSTANCE)g_hInstance, MAKEINTRESOURCE(IDD_ALERT), NULL, (DLGPROC)HotKeyProc); + g_hPrefDlg = CreateDialog((HINSTANCE)g_hInstance, MAKEINTRESOURCE(IDD_PREF), g_hXchatWnd, (DLGPROC)PrefProc); + + g_hIcons[0] = (HICON)LoadImage((HINSTANCE)g_hInstance, MAKEINTRESOURCE(ICO_XCHAT), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR); + g_hIcons[1] = (HICON)LoadImage((HINSTANCE)g_hInstance, MAKEINTRESOURCE(ICO_CHANMSG), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR); + g_hIcons[2] = (HICON)LoadImage((HINSTANCE)g_hInstance, MAKEINTRESOURCE(ICO_HIGHLIGHT), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR); + g_hIcons[5] = (HICON)LoadImage((HINSTANCE)g_hInstance, MAKEINTRESOURCE(ICO_BANNED), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR); + g_hIcons[6] = (HICON)LoadImage((HINSTANCE)g_hInstance, MAKEINTRESOURCE(ICO_KICKED), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR); + g_hIcons[8] = (HICON)LoadImage((HINSTANCE)g_hInstance, MAKEINTRESOURCE(ICO_PMSG), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR); + g_hIcons[10]= (HICON)LoadImage((HINSTANCE)g_hInstance, MAKEINTRESOURCE(ICO_SNOTICE), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR); + g_hIcons[11]= (HICON)LoadImage((HINSTANCE)g_hInstance, MAKEINTRESOURCE(ICO_DISCONNECTED), IMAGE_ICON, 16, 16, LR_DEFAULTCOLOR); + + /***************************************************************************************************************************/ + /************************* Add our icon to the tray ************************************************************************/ + /***************************************************************************************************************************/ + char szVersion[64]; + _snprintf(szVersion, 64, "XChat-WDK %s", xchat_get_info(ph, "wdk_version")); + AddIcon(g_hXchatWnd, 1, g_hIcons[0], szVersion, (NIF_ICON | NIF_MESSAGE | NIF_TIP), WM_TRAYMSG); + + /***************************************************************************************************************************/ + /***************************************************************************************************************************/ + /***************************************************************************************************************************/ + if(g_dwPrefs & (1<<PREF_DNSIT)) + { + DWORD dwStyle; + dwStyle = GetWindowLong(g_hXchatWnd, GWL_STYLE); + dwStyle |= (1<<WS_CHILD); + SetWindowLongPtr(g_hXchatWnd, GWL_STYLE, (LONG_PTR)dwStyle); + SetWindowLongPtr(g_hXchatWnd, GWL_HWNDPARENT, (LONG_PTR)g_hHotkeyWnd); + } + + /***************************************************************************************************************************/ + /************************* Set our hooks and save them for later so we can unhook them *************************************/ + /***************************************************************************************************************************/ + g_vHooks.push_back(xchat_hook_print(ph, "Channel Msg Hilight", XCHAT_PRI_NORM, event_cb, (void *)CHAN_HILIGHT)); + g_vHooks.push_back(xchat_hook_print(ph, "Channel Message", XCHAT_PRI_NORM, event_cb, (void *)CHAN_MESSAGE)); + g_vHooks.push_back(xchat_hook_print(ph, "Topic Change", XCHAT_PRI_NORM, event_cb, (void *)CHAN_TOPIC_CHANGE)); + g_vHooks.push_back(xchat_hook_print(ph, "Channel Action Hilight", XCHAT_PRI_NORM, event_cb, (void *)CHAN_HILIGHT)); + g_vHooks.push_back(xchat_hook_print(ph, "Channel INVITE", XCHAT_PRI_NORM, event_cb, (void *)CHAN_INVITE)); + g_vHooks.push_back(xchat_hook_print(ph, "You Kicked", XCHAT_PRI_NORM, event_cb, (void *)CHAN_KICKED)); + g_vHooks.push_back(xchat_hook_print(ph, "Banned", XCHAT_PRI_NORM, event_cb, (void *)CHAN_BANNED)); + g_vHooks.push_back(xchat_hook_print(ph, "CTCP Generic", XCHAT_PRI_NORM, event_cb, (void *)CTCP_GENERIC)); + g_vHooks.push_back(xchat_hook_print(ph, "Private Message", XCHAT_PRI_NORM, event_cb, (void *)PMSG_RECEIVE)); + g_vHooks.push_back(xchat_hook_print(ph, "Private Message to Dialog", XCHAT_PRI_NORM, event_cb, (void *)PMSG_RECEIVE)); + g_vHooks.push_back(xchat_hook_print(ph, "Disconnected", XCHAT_PRI_NORM, event_cb, (void *)SERV_DISCONNECT)); + g_vHooks.push_back(xchat_hook_print(ph, "Killed", XCHAT_PRI_NORM, event_cb, (void *)SERV_KILLED)); + g_vHooks.push_back(xchat_hook_print(ph, "Notice", XCHAT_PRI_NORM, event_cb, (void *)SERV_NOTICE)); + g_vHooks.push_back(xchat_hook_command(ph, "tray_alert", XCHAT_PRI_NORM, command_cb, "Create an Alert", NULL)); + + return 1; +} + +int xchat_plugin_deinit(xchat_plugin *plugin_handle) +{ + /******************************************/ + /****** Remove the Icon from the tray *****/ + /******************************************/ + StopBlink(g_hXchatWnd, 1, g_hIcons[0]); + RemoveIcon(g_hXchatWnd, 1); + + /*******************************************/ + /*******************************************/ + /*******************************************/ + if(g_dwPrefs & (1<<PREF_DNSIT)) + { + DWORD dwStyle; + dwStyle = GetWindowLong(g_hXchatWnd, GWL_STYLE); + dwStyle &= ~(1<<WS_CHILD); + SetWindowLongPtr(g_hXchatWnd, GWL_STYLE, (LONG_PTR)dwStyle); + SetWindowLongPtr(g_hXchatWnd, GWL_HWNDPARENT, NULL); + } + + /******************************************/ + /****** Unload our resources **************/ + /******************************************/ + DestroyMenu(g_hTrayMenu); + + for(int i = 0; i <= 11; i++) + { + DestroyIcon(g_hIcons[i]); + } + + /******************************************/ + /****** Remove our window hook ************/ + /******************************************/ + SetWindowLongPtr(g_hXchatWnd, GWLP_WNDPROC, (LONG_PTR)g_hOldProc); + + /******************************************/ + /****** Remove our hotkey, and destroy ****/ + /****** the window that receives its ****/ + /****** messages ****/ + /******************************************/ + UnregisterHotKey(g_hHotkeyWnd, 1); + DestroyWindow(g_hHotkeyWnd); + DestroyWindow(g_hPrefDlg); + + /******************************************/ + /************* Clean up Isle 7 ************/ + /******************************************/ + if(sdAlertNum()) + { + sdCloseAlerts(); + } + /******************************************/ + /****** remove our xchat_hook_*s **********/ + /******************************************/ + while(!g_vHooks.empty()) + { + if(g_vHooks.back() != NULL) + { + xchat_unhook(ph, g_vHooks.back()); + } + g_vHooks.pop_back(); + } + + return 1; +} diff --git a/plugins/xtray/xtray.h b/plugins/xtray/xtray.h new file mode 100644 index 00000000..56323cf2 --- /dev/null +++ b/plugins/xtray/xtray.h @@ -0,0 +1,77 @@ +/* X-Tray + * Copyright (C) 2005 Michael Hotaling <Mike.Hotaling@SinisterDevelopments.com> + * + * X-Tray 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. + * + * X-Tray 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 X-Tray; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef _XTRAY_H +#define _XTRAY_H + +/******************** Globals *************************/ +extern HWND g_hXchatWnd; +extern HWND g_hHotkeyWnd; +extern HWND g_hPrefDlg; +extern HMENU g_hTrayMenu; +extern HICON g_hIcons[11]; +extern HANDLE g_hInstance; +extern unsigned int g_dwPrefs; +extern TCHAR g_szAway[512]; +extern int g_iTime; +extern WNDPROC g_hOldProc; +extern struct _xchat_plugin *ph; +/******************************************************/ + +/******************** Messages ************************/ +#define WM_TRAYMSG WM_APP +/******************************************************/ + +/********************* Events *************************/ +#define CHAN_HILIGHT 1 +#define CHAN_INVITE 2 +#define CHAN_TOPIC_CHANGE 3 +#define CHAN_BANNED 4 +#define CHAN_KICKED 5 + +#define CTCP_GENERIC 6 +#define PMSG_RECEIVE 7 + +#define SERV_KILLED 8 +#define SERV_NOTICE 9 +#define SERV_DISCONNECT 10 + +/* new events */ +#define CHAN_MESSAGE 21 + +#define PREF_AOM 11 // away on minimize +#define PREF_TOT 12 // Tray on Taskbar +#define PREF_AMAE 13 // alert me about events +#define PREF_OSBWM 14 // Only Show Balloon When Minimized +#define PREF_UWIOB 15 // Use Window Instead of Balloon +#define PREF_KAOI 16 // Keep alerts open indefinately +#define PREF_MIOC 17 // Minimize instead of close +#define PREF_BLINK 18 // blink icon +#define PREF_CICO 19 // change icon - not implemented +#define PREF_DNSIT 20 // Do not show in taskbar +/******************************************************/ +#endif + +#ifdef _WIN64 +/* use replacement with the same value, and use SetWindowLongPtr instead + of SetWindowLong. more info: + + http://msdn.microsoft.com/en-us/library/ms633591.aspx + http://msdn.microsoft.com/en-us/library/ms644898.aspx */ +#define GWL_HWNDPARENT GWLP_HWNDPARENT +#endif diff --git a/src/common/cfgfiles.c b/src/common/cfgfiles.c index 83f50e37..443538d2 100644 --- a/src/common/cfgfiles.c +++ b/src/common/cfgfiles.c @@ -17,7 +17,6 @@ */ #include <fcntl.h> -#include <unistd.h> #include <stdlib.h> #include <string.h> #include <stdio.h> @@ -31,12 +30,15 @@ #include "text.h" #include "xchatc.h" -#ifdef WIN32 -#define XCHAT_DIR "X-Chat 2" -#else +#ifndef WIN32 +#include <unistd.h> #define XCHAT_DIR ".xchat2" #endif + #define DEF_FONT "Monospace 9" +#ifdef WIN32 +#define DEF_FONT_ALTER "Arial Unicode MS,Lucida Sans Unicode" +#endif void list_addentry (GSList ** list, char *cmd, char *name) @@ -166,9 +168,13 @@ list_delentry (GSList ** list, char *name) char * cfg_get_str (char *cfg, char *var, char *dest, int dest_len) { + char buffer[128]; /* should be plenty for a variable name */ + + sprintf (buffer, "%s ", var); /* add one space, this way it works against var - var2 checks too */ + while (1) { - if (!strncasecmp (var, cfg, strlen (var))) + if (!strncasecmp (buffer, cfg, strlen (var) + 1)) { char *value, t; cfg += strlen (var); @@ -308,12 +314,19 @@ get_xdir_fs (void) { if (!xdir_fs) { - char out[256]; + if (portable_mode ()) + { + xdir_fs = ".\\config"; + } + else + { + char out[256]; - if (!get_reg_str ("Software\\Microsoft\\Windows\\CurrentVersion\\" - "Explorer\\Shell Folders", "AppData", out, sizeof (out))) - return "./config"; - xdir_fs = g_strdup_printf ("%s\\" XCHAT_DIR, out); + if (!get_reg_str ("Software\\Microsoft\\Windows\\CurrentVersion\\" + "Explorer\\Shell Folders", "AppData", out, sizeof (out))) + return "./config"; + xdir_fs = g_strdup_printf ("%s\\" "X-Chat 2", out); + } } return xdir_fs; } @@ -393,7 +406,9 @@ const struct prefs vars[] = { {"dcc_blocksize", P_OFFINT (dcc_blocksize), TYPE_INT}, {"dcc_completed_dir", P_OFFSET (dcc_completed_dir), TYPE_STR}, {"dcc_dir", P_OFFSET (dccdir), TYPE_STR}, +#ifndef WIN32 {"dcc_fast_send", P_OFFINT (fastdccsend), TYPE_BOOL}, +#endif {"dcc_global_max_get_cps", P_OFFINT (dcc_global_max_get_cps), TYPE_INT}, {"dcc_global_max_send_cps", P_OFFINT (dcc_global_max_send_cps), TYPE_INT}, {"dcc_ip", P_OFFSET (dcc_ip_str), TYPE_STR}, @@ -429,7 +444,11 @@ const struct prefs vars[] = { {"gui_input_style", P_OFFINT (style_inputbox), TYPE_BOOL}, {"gui_join_dialog", P_OFFINT (gui_join_dialog), TYPE_BOOL}, {"gui_lagometer", P_OFFINT (lagometer), TYPE_INT}, + {"gui_license", P_OFFSET (gui_license), TYPE_STR}, {"gui_mode_buttons", P_OFFINT (chanmodebuttons), TYPE_BOOL}, +#ifdef WIN32 + {"gui_one_instance", P_OFFINT (gui_one_instance), TYPE_BOOL}, +#endif {"gui_pane_left_size", P_OFFINT (gui_pane_left_size), TYPE_INT}, {"gui_pane_right_size", P_OFFINT (gui_pane_right_size), TYPE_INT}, {"gui_quit_dialog", P_OFFINT (gui_quit_dialog), TYPE_BOOL}, @@ -536,6 +555,9 @@ const struct prefs vars[] = { {"tab_chans", P_OFFINT (tabchannels), TYPE_BOOL}, {"tab_dialogs", P_OFFINT (privmsgtab), TYPE_BOOL}, +#ifdef WIN32 + {"tab_icons", P_OFFINT (tab_icons), TYPE_BOOL}, +#endif {"tab_layout", P_OFFINT (tab_layout), TYPE_INT}, {"tab_new_to_front", P_OFFINT (newtabstofront), TYPE_INT}, {"tab_notices", P_OFFINT (notices_tabs), TYPE_BOOL}, @@ -546,16 +568,30 @@ const struct prefs vars[] = { {"tab_sort", P_OFFINT (tab_sort), TYPE_BOOL}, {"tab_trunc", P_OFFINT (truncchans), TYPE_INT}, {"tab_utils", P_OFFINT (windows_as_tabs), TYPE_BOOL}, +#ifdef WIN32 + {"tab_xp", P_OFFINT (tab_xp), TYPE_BOOL}, +#endif + {"text_auto_copy_color", P_OFFINT (autocopy_color), TYPE_BOOL}, + {"text_auto_copy_stamp", P_OFFINT (autocopy_stamp), TYPE_BOOL}, + {"text_auto_copy_text", P_OFFINT (autocopy_text), TYPE_BOOL}, {"text_background", P_OFFSET (background), TYPE_STR}, {"text_color_nicks", P_OFFINT (colorednicks), TYPE_BOOL}, +#ifdef WIN32 + {"text_emoticons", P_OFFINT (emoticons), TYPE_BOOL}, +#endif {"text_font", P_OFFSET (font_normal), TYPE_STR}, +#ifdef WIN32 + {"text_font_main", P_OFFSET (font_main), TYPE_STR}, + {"text_font_alternative", P_OFFSET (font_alternative), TYPE_STR}, +#endif {"text_indent", P_OFFINT (indent_nicks), TYPE_BOOL}, {"text_max_indent", P_OFFINT (max_auto_indent), TYPE_INT}, {"text_max_lines", P_OFFINT (max_lines), TYPE_INT}, {"text_replay", P_OFFINT (text_replay), TYPE_BOOL}, {"text_show_marker", P_OFFINT (show_marker), TYPE_BOOL}, {"text_show_sep", P_OFFINT (show_separator), TYPE_BOOL}, + {"text_spell_langs", P_OFFSET (spell_langs), TYPE_STR}, {"text_stripcolor", P_OFFINT (stripcolor), TYPE_BOOL}, {"text_thin_sep", P_OFFINT (thin_separator), TYPE_BOOL}, {"text_tint_blue", P_OFFINT (tint_blue), TYPE_INT}, @@ -626,13 +662,16 @@ load_config (void) prefs.indent_nicks = 1; prefs.thin_separator = 1; prefs._tabs_position = 2; /* 2 = left */ +#ifndef WIN32 prefs.fastdccsend = 1; +#endif prefs.wordwrap = 1; prefs.autosave = 1; prefs.autodialog = 1; prefs.gui_input_spell = 1; prefs.autoreconnect = 1; prefs.recon_delay = 10; + prefs.autocopy_text = 1; prefs.text_replay = 1; prefs.tabchannels = 1; prefs.tab_layout = 2; /* 0=Tabs 1=Reserved 2=Tree */ @@ -687,6 +726,8 @@ load_config (void) #ifdef WIN32 prefs.identd = 1; #endif + strcpy (prefs.gui_license, ""); + strcpy (prefs.spell_langs, g_getenv ("LC_ALL") ? g_getenv ("LC_ALL") : "en_US"); strcpy (prefs.stamp_format, "[%H:%M] "); strcpy (prefs.timestamp_log_format, "%b %d %H:%M:%S "); strcpy (prefs.logmask, "%n-%c.log"); @@ -719,6 +760,10 @@ load_config (void) strcpy (prefs.quitreason, _("Leaving")); strcpy (prefs.partreason, prefs.quitreason); strcpy (prefs.font_normal, DEF_FONT); +#ifdef WIN32 + strcpy (prefs.font_main, DEF_FONT); + strcpy (prefs.font_alternative, DEF_FONT_ALTER); +#endif strcpy (prefs.dnsprogram, "host"); strcpy (prefs.irc_no_hilight, "NickServ,ChanServ"); @@ -1071,7 +1116,13 @@ cmd_set (struct session *sess, char *tbuf, char *word[], char *word_eol[]) while (vars[i].name); if (!finds && !quiet) + { PrintText (sess, "No such variable.\n"); + } + else if (prefs.autosave && !save_config ()) + { + PrintText (sess, "Error saving changes to disk.\n"); + } return TRUE; } diff --git a/src/common/chanopt.c b/src/common/chanopt.c index a4fd8faa..f8e16e8b 100644 --- a/src/common/chanopt.c +++ b/src/common/chanopt.c @@ -3,12 +3,15 @@ #include <stdio.h> #include <string.h> #include <stdlib.h> -#include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <errno.h> +#ifndef WIN32 +#include <unistd.h> +#endif + #include "xchat.h" #include "cfgfiles.h" diff --git a/src/common/ctcp.c b/src/common/ctcp.c index 574cda79..2bb75746 100644 --- a/src/common/ctcp.c +++ b/src/common/ctcp.c @@ -18,9 +18,12 @@ #include <stdio.h> #include <string.h> -#include <unistd.h> #include <stdlib.h> +#ifndef WIN32 +#include <unistd.h> +#endif + #include "xchat.h" #include "cfgfiles.h" #include "util.h" @@ -134,8 +137,13 @@ ctcp_handle (session *sess, char *to, char *nick, char *ip, if (!strcasecmp (msg, "VERSION") && !prefs.hidever) { - snprintf (outbuf, sizeof (outbuf), "VERSION xchat "PACKAGE_VERSION" %s", +#ifdef WIN32 + snprintf (outbuf, sizeof (outbuf), "VERSION XChat-WDK "PACKAGE_VERSION" [x%d] / %s", + get_cpu_arch (), get_cpu_str ()); +#else + snprintf (outbuf, sizeof (outbuf), "VERSION XChat-WDK "PACKAGE_VERSION" %s", get_cpu_str ()); +#endif serv->p_nctcp (serv, nick, outbuf); } diff --git a/src/common/dcc.c b/src/common/dcc.c index 8f289342..d91b7e8e 100644 --- a/src/common/dcc.c +++ b/src/common/dcc.c @@ -31,7 +31,6 @@ #include <time.h> #include <errno.h> #include <sys/stat.h> -#include <unistd.h> #include <fcntl.h> #define WANTSOCKET @@ -41,6 +40,8 @@ #ifdef WIN32 #include <windows.h> +#else +#include <unistd.h> #endif #include "xchat.h" @@ -57,6 +58,9 @@ #ifdef USE_DCC64 #define BIG_STR_TO_INT(x) strtoull(x,NULL,10) +#ifdef WIN32 +#define stat _stat64 +#endif #else #define BIG_STR_TO_INT(x) strtoul(x,NULL,10) #endif @@ -1984,7 +1988,7 @@ is_same_file (struct DCC *dcc, struct DCC *new_dcc) /* now handle case-insensitive Filesystems: HFS+, FAT */ #ifdef WIN32 -#warning no win32 implementation - behaviour may be unreliable + /* warning no win32 implementation - behaviour may be unreliable */ #else /* this fstat() shouldn't really fail */ if ((dcc->fp == -1 ? stat (dcc->destfile_fs, &st_a) : fstat (dcc->fp, &st_a)) == -1) diff --git a/src/common/dirent-win32.c b/src/common/dirent-win32.c new file mode 100644 index 00000000..273c6732 --- /dev/null +++ b/src/common/dirent-win32.c @@ -0,0 +1,199 @@ +/***************************************************************************** + * dirent.h - dirent API for Microsoft Visual Studio + * + * Copyright (C) 2006 Toni Ronkko + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * ``Software''), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be included + * in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED ``AS IS'', WITHOUT WARRANTY OF ANY KIND, EXPRESS + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL TONI RONKKO BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + * Dec 15, 2009, John Cunningham + * Added rewinddir member function + * + * Jan 18, 2008, Toni Ronkko + * Using FindFirstFileA and WIN32_FIND_DATAA to avoid converting string + * between multi-byte and unicode representations. This makes the + * code simpler and also allows the code to be compiled under MingW. Thanks + * to Azriel Fasten for the suggestion. + * + * Mar 4, 2007, Toni Ronkko + * Bug fix: due to the strncpy_s() function this file only compiled in + * Visual Studio 2005. Using the new string functions only when the + * compiler version allows. + * + * Nov 2, 2006, Toni Ronkko + * Major update: removed support for Watcom C, MS-DOS and Turbo C to + * simplify the file, updated the code to compile cleanly on Visual + * Studio 2005 with both unicode and multi-byte character strings, + * removed rewinddir() as it had a bug. + * + * Aug 20, 2006, Toni Ronkko + * Removed all remarks about MSVC 1.0, which is antiqued now. Simplified + * comments by removing SGML tags. + * + * May 14 2002, Toni Ronkko + * Embedded the function definitions directly to the header so that no + * source modules need to be included in the Visual Studio project. Removed + * all the dependencies to other projects so that this very header can be + * used independently. + * + * May 28 1998, Toni Ronkko + * First version. + *****************************************************************************/ + +#include "dirent-win32.h" + +/* Use the new safe string functions introduced in Visual Studio 2005 */ +#if defined(_MSC_VER) && _MSC_VER >= 1400 +# define STRNCPY(dest,src,size) strncpy_s((dest),(size),(src),_TRUNCATE) +#else +# define STRNCPY(dest,src,size) strncpy((dest),(src),(size)) +#endif + + +/***************************************************************************** + * Open directory stream DIRNAME for read and return a pointer to the + * internal working area that is used to retrieve individual directory + * entries. + */ +DIR *opendir(const char *dirname) +{ + DIR *dirp; + assert (dirname != NULL); + assert (strlen (dirname) < MAX_PATH); + + /* construct new DIR structure */ + dirp = (DIR*) malloc (sizeof (struct DIR)); + if (dirp != NULL) { + char *p; + + /* take directory name... */ + STRNCPY (dirp->patt, dirname, sizeof(dirp->patt)); + dirp->patt[MAX_PATH] = '\0'; + + /* ... and append search pattern to it */ + p = strchr (dirp->patt, '\0'); + if (dirp->patt < p && *(p-1) != '\\' && *(p-1) != ':') { + *p++ = '\\'; + } + *p++ = '*'; + *p = '\0'; + + /* open stream and retrieve first file */ + dirp->search_handle = FindFirstFileA (dirp->patt, &dirp->current.data); + if (dirp->search_handle == INVALID_HANDLE_VALUE) { + /* invalid search pattern? */ + free (dirp); + return NULL; + } + + /* there is an un-processed directory entry in memory now */ + dirp->cached = 1; + } + + return dirp; +} + + +/***************************************************************************** + * Read a directory entry, and return a pointer to a dirent structure + * containing the name of the entry in d_name field. Individual directory + * entries returned by this very function include regular files, + * sub-directories, pseudo-directories "." and "..", but also volume labels, + * hidden files and system files may be returned. + */ +struct dirent *readdir(DIR *dirp) +{ + assert (dirp != NULL); + + if (dirp->search_handle == INVALID_HANDLE_VALUE) { + /* directory stream was opened/rewound incorrectly or ended normally */ + return NULL; + } + + /* get next directory entry */ + if (dirp->cached != 0) { + /* a valid directory entry already in memory */ + dirp->cached = 0; + } else { + /* read next directory entry from disk */ + if (FindNextFileA (dirp->search_handle, &dirp->current.data) == FALSE) { + /* the very last file has been processed or an error occured */ + FindClose (dirp->search_handle); + dirp->search_handle = INVALID_HANDLE_VALUE; + return NULL; + } + } + + /* copy as a multibyte character string */ + STRNCPY ( dirp->current.d_name, + dirp->current.data.cFileName, + sizeof(dirp->current.d_name) ); + dirp->current.d_name[MAX_PATH] = '\0'; + + return &dirp->current; +} + + +/***************************************************************************** + * Close directory stream opened by opendir() function. Close of the + * directory stream invalidates the DIR structure as well as any previously + * read directory entry. + */ +int closedir(DIR *dirp) +{ + assert (dirp != NULL); + + /* release search handle */ + if (dirp->search_handle != INVALID_HANDLE_VALUE) { + FindClose (dirp->search_handle); + dirp->search_handle = INVALID_HANDLE_VALUE; + } + + /* release directory handle */ + free (dirp); + return 0; +} + + +/***************************************************************************** + * Resets the position of the directory stream to which dirp refers to the + * beginning of the directory. It also causes the directory stream to refer + * to the current state of the corresponding directory, as a call to opendir() + * would have done. If dirp does not refer to a directory stream, the effect + * is undefined. + */ +void rewinddir(DIR* dirp) +{ + /* release search handle */ + if (dirp->search_handle != INVALID_HANDLE_VALUE) { + FindClose (dirp->search_handle); + dirp->search_handle = INVALID_HANDLE_VALUE; + } + + /* open new search handle and retrieve first file */ + dirp->search_handle = FindFirstFileA (dirp->patt, &dirp->current.data); + if (dirp->search_handle == INVALID_HANDLE_VALUE) { + /* invalid search pattern? */ + free (dirp); + return; + } + + /* there is an un-processed directory entry in memory now */ + dirp->cached = 1; +} diff --git a/src/common/dirent-win32.h b/src/common/dirent-win32.h new file mode 100644 index 00000000..cbb753e6 --- /dev/null +++ b/src/common/dirent-win32.h @@ -0,0 +1,28 @@ +#ifndef DIRENT_H +#define DIRENT_H + +#include <windows.h> +#include <string.h> +#include <assert.h> + +typedef struct dirent +{ + char d_name[MAX_PATH + 1]; /* current dir entry (multi-byte char string) */ + WIN32_FIND_DATAA data; /* file attributes */ +} dirent; + +typedef struct DIR +{ + dirent current; /* Current directory entry */ + int cached; /* Indicates un-processed entry in memory */ + HANDLE search_handle; /* File search handle */ + char patt[MAX_PATH + 3]; /* search pattern (3 = pattern + "\\*\0") */ +} DIR; + +/* Forward declarations */ +DIR *opendir (const char *dirname); +struct dirent *readdir (DIR *dirp); +int closedir (DIR *dirp); +void rewinddir(DIR* dirp); + +#endif /*DIRENT_H*/ diff --git a/src/common/identd.c b/src/common/identd.c index 919282ea..430c7e8f 100644 --- a/src/common/identd.c +++ b/src/common/identd.c @@ -1,8 +1,13 @@ /* simple identd server for xchat under win32 */ +#include "inet.h" +#include "xchat.h" +#include "xchatc.h" static int identd_is_running = FALSE; - +#ifdef USE_IPV6 +static int identd_ipv6_is_running = FALSE; +#endif static int identd (char *username) @@ -75,11 +80,102 @@ identd (char *username) return 0; } -static void +#ifdef USE_IPV6 +static int +identd_ipv6 (char *username) +{ + int sok, read_sok, len; + char *p; + char buf[256]; + char outbuf[256]; + char ipv6buf[60]; + DWORD ipv6buflen = sizeof (ipv6buf); + struct sockaddr_in6 addr; + + sok = socket (AF_INET6, SOCK_STREAM, 0); + + if (sok == INVALID_SOCKET) + { + free (username); + return 0; + } + + len = 1; + setsockopt (sok, SOL_SOCKET, SO_REUSEADDR, (char *) &len, sizeof (len)); + + memset (&addr, 0, sizeof (addr)); + addr.sin6_family = AF_INET6; + addr.sin6_port = htons (113); + + if (bind (sok, (struct sockaddr *) &addr, sizeof (addr)) == SOCKET_ERROR) + { + closesocket (sok); + free (username); + return 0; + } + + if (listen (sok, 1) == SOCKET_ERROR) + { + closesocket (sok); + free (username); + return 0; + } + + len = sizeof (addr); + read_sok = accept (sok, (struct sockaddr *) &addr, &len); + closesocket (sok); + + if (read_sok == INVALID_SOCKET) + { + free (username); + return 0; + } + + identd_ipv6_is_running = FALSE; + + if (WSAAddressToString ((struct sockaddr *) &addr, sizeof (addr), NULL, &ipv6buf, &ipv6buflen) == SOCKET_ERROR) + { + snprintf (ipv6buf, sizeof (ipv6buf) - 1, "[SOCKET ERROR: 0x%X]", WSAGetLastError ()); + } + + snprintf (outbuf, sizeof (outbuf), "%%\tServicing ident request from %s\n", ipv6buf); + PrintText (current_sess, outbuf); + + recv (read_sok, buf, sizeof (buf) - 1, 0); + buf[sizeof (buf) - 1] = 0; /* ensure null termination */ + + p = strchr (buf, ','); + + if (p) + { + snprintf (outbuf, sizeof (outbuf) - 1, "%d, %d : USERID : UNIX : %s\r\n", atoi (buf), atoi (p + 1), username); + outbuf[sizeof (outbuf) - 1] = 0; /* ensure null termination */ + send (read_sok, outbuf, strlen (outbuf), 0); + } + + sleep (1); + closesocket (read_sok); + free (username); + + return 0; +} +#endif + +void identd_start (char *username) { DWORD tid; +#ifdef USE_IPV6 + DWORD tidv6; + if (identd_ipv6_is_running == FALSE) + { + identd_ipv6_is_running = TRUE; + CloseHandle (CreateThread (NULL, 0, (LPTHREAD_START_ROUTINE) identd_ipv6, + strdup (username), 0, &tidv6)); + } +#endif + if (identd_is_running == FALSE) { identd_is_running = TRUE; diff --git a/src/common/identd.h b/src/common/identd.h new file mode 100644 index 00000000..636f9641 --- /dev/null +++ b/src/common/identd.h @@ -0,0 +1 @@ +void identd_start (char *username); diff --git a/src/common/ignore.c b/src/common/ignore.c index c3544f30..0ed23daa 100644 --- a/src/common/ignore.c +++ b/src/common/ignore.c @@ -19,11 +19,14 @@ #include <stdlib.h> #include <stdio.h> #include <string.h> -#include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> +#ifndef WIN32 +#include <unistd.h> +#endif + #include "xchat.h" #include "ignore.h" #include "cfgfiles.h" diff --git a/src/common/inbound.c b/src/common/inbound.c index 1d621583..59ffaf2b 100644 --- a/src/common/inbound.c +++ b/src/common/inbound.c @@ -21,9 +21,12 @@ #include <stdlib.h> #include <stdio.h> #include <sys/types.h> -#include <unistd.h> #include <time.h> +#ifndef WIN32 +#include <unistd.h> +#endif + #define WANTARPA #define WANTDNS #include "inet.h" diff --git a/src/common/inet.h b/src/common/inet.h index b420c9c6..8995569c 100644 --- a/src/common/inet.h +++ b/src/common/inet.h @@ -21,12 +21,12 @@ #else +#include "../../config.h" #ifdef USE_IPV6 #include <winsock2.h> #include <ws2tcpip.h> -#include <tpipv6.h> #else -#include <winsock.h> +#include <winsock2.h> #endif #define set_blocking(sok) { \ diff --git a/src/common/makefile.mak b/src/common/makefile.mak new file mode 100644 index 00000000..d6df2608 --- /dev/null +++ b/src/common/makefile.mak @@ -0,0 +1,45 @@ +include "..\makeinc.mak" + +COMMON_OBJECTS = \ +cfgfiles.obj \ +chanopt.obj \ +ctcp.obj \ +dcc.obj \ +dirent-win32.obj \ +history.obj \ +identd.obj \ +ignore.obj \ +inbound.obj \ +modes.obj \ +network.obj \ +notify.obj \ +outbound.obj \ +plugin.obj \ +plugin-timer.obj \ +proto-irc.obj \ +server.obj \ +servlist.obj \ +ssl.obj \ +text.obj \ +thread.obj \ +tree.obj \ +url.obj \ +userlist.obj \ +util.obj \ +xchat.obj + +all: $(COMMON_OBJECTS) xchatcommon.lib dirent-win32.lib + +xchatcommon.lib: $(COMMON_OBJECTS) + lib /nologo /out:xchatcommon.lib $(COMMON_OBJECTS) + +dirent-win32.lib: dirent-win32.obj + lib /nologo /out:dirent-win32.lib dirent-win32.obj + +.c.obj:: + $(CC) $(CFLAGS) $(GLIB) $< + +clean: + @del *.obj + @del xchatcommon.lib + @del dirent-win32.lib diff --git a/src/common/msproxy.c b/src/common/msproxy.c index 9c85394d..5103233a 100644 --- a/src/common/msproxy.c +++ b/src/common/msproxy.c @@ -26,9 +26,12 @@ #include <stdio.h> #include <string.h> #include <stdlib.h> -#include <unistd.h> #include <fcntl.h> +#ifndef WIN32 +#include <unistd.h> +#endif + #define WANTSOCKET #define WANTARPA #include "inet.h" diff --git a/src/common/network.c b/src/common/network.c index 0c409506..eba24b05 100644 --- a/src/common/network.c +++ b/src/common/network.c @@ -21,9 +21,12 @@ #include <stdlib.h> #include <string.h> #include <stdio.h> -#include <unistd.h> #include <glib.h> +#ifndef WIN32 +#include <unistd.h> +#endif + #include "../../config.h" /* grab USE_IPV6 and LOOKUPD defines */ #define WANTSOCKET diff --git a/src/common/notify.c b/src/common/notify.c index 04795849..9c6e54de 100644 --- a/src/common/notify.c +++ b/src/common/notify.c @@ -22,9 +22,12 @@ #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> -#include <unistd.h> #include <time.h> +#ifndef WIN32 +#include <unistd.h> +#endif + #include "xchat.h" #include "notify.h" #include "cfgfiles.h" diff --git a/src/common/outbound.c b/src/common/outbound.c index c1270e96..a09fdce4 100644 --- a/src/common/outbound.c +++ b/src/common/outbound.c @@ -30,9 +30,9 @@ #ifndef WIN32 #include <sys/wait.h> +#include <unistd.h> #endif -#include <unistd.h> #include <time.h> #include <signal.h> #include <sys/stat.h> @@ -2881,6 +2881,23 @@ cmd_recv (struct session *sess, char *tbuf, char *word[], char *word_eol[]) return FALSE; } +#if 0 /* manual command for flushing prefs to disk, but we use an autosave-upon-set approach instead */ +static int +cmd_saveconf (struct session *sess, char *tbuf, char *word[], char *word_eol[]) +{ + if (save_config ()) + { + PrintText (sess, "Settings have been saved successfully.\n"); + } + else + { + PrintText (sess, "Error saving settings.\n"); + } + + return TRUE; +} +#endif + static int cmd_say (struct session *sess, char *tbuf, char *word[], char *word_eol[]) { @@ -3633,6 +3650,9 @@ const struct commands xc_cmds[] = { #endif {"RECV", cmd_recv, 1, 0, 1, N_("RECV <text>, send raw data to xchat, as if it was received from the irc server")}, +#if 0 + {"SAVECONF", cmd_saveconf, 0, 0, 1, N_("SAVECONF, saves the current settings to disk")}, +#endif {"SAY", cmd_say, 0, 0, 1, N_("SAY <text>, sends the text to the object in the current window")}, {"SEND", cmd_send, 0, 0, 1, N_("SEND <nick> [<file>]")}, diff --git a/src/common/plugin.c b/src/common/plugin.c index ada4d3be..2e81c1f1 100644 --- a/src/common/plugin.c +++ b/src/common/plugin.c @@ -20,6 +20,14 @@ #include <string.h> #include <stdarg.h> #include <stdio.h> +#include <fcntl.h> +#include <sys/stat.h> + +#ifdef WIN32 +#include <io.h> +#else +#include <unistd.h> +#endif #include "xchat.h" #include "fe.h" @@ -262,6 +270,12 @@ plugin_add (session *sess, char *filename, void *handle, void *init_func, pl->xchat_send_modes = xchat_send_modes; pl->xchat_strip = xchat_strip; pl->xchat_free = xchat_free; + pl->xchat_pluginpref_set_str = xchat_pluginpref_set_str; + pl->xchat_pluginpref_get_str = xchat_pluginpref_get_str; + pl->xchat_pluginpref_set_int = xchat_pluginpref_set_int; + pl->xchat_pluginpref_get_int = xchat_pluginpref_get_int; + pl->xchat_pluginpref_delete = xchat_pluginpref_delete; + pl->xchat_pluginpref_list = xchat_pluginpref_list; /* incase new plugins are loaded on older xchat */ pl->xchat_dummy4 = xchat_dummy; @@ -996,13 +1010,20 @@ xchat_get_info (xchat_plugin *ph, const char *id) return XCHATLIBDIR; case 0x14f51cd8: /* version */ +#ifdef WIN32 + return XCHAT_RELEASE; +#else return PACKAGE_VERSION; +#endif case 0xdd9b1abd: /* xchatdir */ return get_xdir_utf8 (); case 0xe33f6c4a: /* xchatdirfs */ return get_xdir_fs (); + + case 0x3d1e70d7: /* wdk_version */ + return PACKAGE_VERSION; } sess = ph->context; @@ -1567,3 +1588,239 @@ xchat_free (xchat_plugin *ph, void *ptr) { g_free (ptr); } + +static int +xchat_pluginpref_set_str_real (xchat_plugin *pl, const char *var, const char *value, int mode) /* mode: 0 = delete, 1 = save */ +{ + FILE *fpIn; + int fhOut; + int prevSetting; + char confname[64]; + char confname_tmp[69]; + char buffer[512]; /* the same as in cfg_put_str */ + char buffer_tmp[512]; + char *canon; + + canon = g_strdup (pl->name); + canonalize_key (canon); + sprintf (confname, "plugin_%s.conf", canon); + g_free (canon); + sprintf (confname_tmp, "%s.new", confname); + + fhOut = xchat_open_file (confname_tmp, O_TRUNC | O_WRONLY | O_CREAT, 0600, XOF_DOMODE); + fpIn = xchat_fopen_file (confname, "r", 0); + + if (fhOut == -1) /* unable to save, abort */ + { + return 0; + } + else if (fpIn == NULL) /* no previous config file, no parsing */ + { + if (mode) + { + sprintf (buffer, "%s = %s\n", var, value); + write (fhOut, buffer, strlen (buffer)); + close (fhOut); + + sprintf (buffer, "%s/%s", get_xdir_fs (), confname); + sprintf (buffer_tmp, "%s/%s", get_xdir_fs (), confname_tmp); + +#ifdef WIN32 + unlink (buffer); +#endif + + if (rename (buffer_tmp, buffer) == 0) + { + return 1; + } + else + { + return 0; + } + } + else + { + /* mode = 0, we want to delete but the config file and thus the given setting does not exist, we're ready */ + close (fhOut); + return 1; + } + } + else /* existing config file, preserve settings and find & replace current var value if any */ + { + prevSetting = 0; + + while (fscanf (fpIn, " %[^\n]", &buffer) != EOF) /* read whole lines including whitespaces */ + { + sprintf (buffer_tmp, "%s ", var); /* add one space, this way it works against var - var2 checks too */ + + if (strncmp (buffer_tmp, buffer, strlen (var) + 1) == 0) /* given setting already exists */ + { + if (mode) /* overwrite the existing matching setting if we are in save mode */ + { + sprintf (buffer, "%s = %s\n", var, value); + } + else /* erase the setting in delete mode */ + { + strcpy (buffer, ""); + } + + prevSetting = 1; + } + else + { + strcat (buffer, "\n"); /* preserve the existing different settings */ + } + + write (fhOut, buffer, strlen (buffer)); + } + + fclose (fpIn); + + if (!prevSetting && mode) /* var doesn't exist currently, append if we're in save mode */ + { + sprintf (buffer, "%s = %s\n", var, value); + write (fhOut, buffer, strlen (buffer)); + } + + close (fhOut); + + sprintf (buffer, "%s/%s", get_xdir_fs (), confname); + sprintf (buffer_tmp, "%s/%s", get_xdir_fs (), confname_tmp); + +#ifdef WIN32 + unlink (buffer); +#endif + + if (rename (buffer_tmp, buffer) == 0) + { + return 1; + } + else + { + return 0; + } + } +} + +int +xchat_pluginpref_set_str (xchat_plugin *pl, const char *var, const char *value) +{ + return xchat_pluginpref_set_str_real (pl, var, value, 1); +} + +int +xchat_pluginpref_get_str (xchat_plugin *pl, const char *var, char *dest) +{ + int fh; + int l; + char confname[64]; + char *canon; + char *cfg; + struct stat st; + + canon = g_strdup (pl->name); + canonalize_key (canon); + sprintf (confname, "plugin_%s.conf", canon); + g_free (canon); + + /* partly borrowed from palette.c */ + fh = xchat_open_file (confname, O_RDONLY, 0, 0); + + if (fh == -1) + { + return 0; + } + + fstat (fh, &st); + cfg = malloc (st.st_size + 1); + + if (!cfg) + { + close (fh); + return 0; + } + + cfg[0] = '\0'; + l = read (fh, cfg, st.st_size); + + if (l >= 0) + { + cfg[l] = '\0'; + } + + if (!cfg_get_str (cfg, var, dest, 512)) /* dest_len is the same as buffer size in set */ + { + free (cfg); + close (fh); + return 0; + } + + free (cfg); + close (fh); + return 1; +} + +int +xchat_pluginpref_set_int (xchat_plugin *pl, const char *var, int value) +{ + char buffer[12]; + + sprintf (buffer, "%d", value); + return xchat_pluginpref_set_str_real (pl, var, buffer, 1); +} + +int +xchat_pluginpref_get_int (xchat_plugin *pl, const char *var) +{ + char buffer[12]; + + if (xchat_pluginpref_get_str (pl, var, buffer)) + { + return atoi (buffer); + } + else + { + return -1; + } +} + +int +xchat_pluginpref_delete (xchat_plugin *pl, const char *var) +{ + return xchat_pluginpref_set_str_real (pl, var, 0, 0); +} + +int +xchat_pluginpref_list (xchat_plugin *pl, char* dest) +{ + FILE *fpIn; + char confname[64]; + char buffer[512]; /* the same as in cfg_put_str */ + char *token; + + token = g_strdup (pl->name); + canonalize_key (token); + sprintf (confname, "plugin_%s.conf", token); + g_free (token); + + fpIn = xchat_fopen_file (confname, "r", 0); + + if (fpIn == NULL) /* no existing config file, no parsing */ + { + return 0; + } + else /* existing config file, get list of settings */ + { + strcpy (dest, ""); /* clean up garbage */ + while (fscanf (fpIn, " %[^\n]", &buffer) != EOF) /* read whole lines including whitespaces */ + { + token = strtok (buffer, "="); + strncat (dest, token, strlen (token) - 1); + strcat (dest, ","); + } + + fclose (fpIn); + } + + return 1; +} diff --git a/src/common/plugin.h b/src/common/plugin.h index b0c89d1b..8c347d51 100644 --- a/src/common/plugin.h +++ b/src/common/plugin.h @@ -98,6 +98,21 @@ struct _xchat_plugin int flags); void (*xchat_free) (xchat_plugin *ph, void *ptr); + int (*xchat_pluginpref_set_str) (xchat_plugin *ph, + const char *var, + const char *value); + int (*xchat_pluginpref_get_str) (xchat_plugin *ph, + const char *var, + char *dest); + int (*xchat_pluginpref_set_int) (xchat_plugin *ph, + const char *var, + int value); + int (*xchat_pluginpref_get_int) (xchat_plugin *ph, + const char *var); + int (*xchat_pluginpref_delete) (xchat_plugin *ph, + const char *var); + int (*xchat_pluginpref_list) (xchat_plugin *ph, + char *dest); void *(*xchat_dummy4) (xchat_plugin *ph); void *(*xchat_dummy3) (xchat_plugin *ph); void *(*xchat_dummy2) (xchat_plugin *ph); diff --git a/src/common/proto-irc.c b/src/common/proto-irc.c index 338a3b18..a5ebc366 100644 --- a/src/common/proto-irc.c +++ b/src/common/proto-irc.c @@ -18,13 +18,16 @@ /* IRC RFC1459(+commonly used extensions) protocol implementation */ -#include <unistd.h> #include <string.h> #include <stdio.h> #include <stdlib.h> #include <ctype.h> #include <stdarg.h> +#ifndef WIN32 +#include <unistd.h> +#endif + #include "xchat.h" #include "ctcp.h" #include "fe.h" diff --git a/src/common/server.c b/src/common/server.c index db0af9ca..919d9119 100644 --- a/src/common/server.c +++ b/src/common/server.c @@ -26,7 +26,6 @@ #include <stdio.h> #include <string.h> #include <stdlib.h> -#include <unistd.h> #include <errno.h> #include <fcntl.h> @@ -37,6 +36,7 @@ #ifndef WIN32 #include <signal.h> #include <sys/wait.h> +#include <unistd.h> #else #include <winbase.h> #endif @@ -67,7 +67,7 @@ #endif #ifdef WIN32 -#include "identd.c" +#include "identd.h" #endif #ifdef USE_LIBPROXY @@ -310,6 +310,11 @@ server_inline (server *serv, char *line, int len) { char *utf_line_allocated = NULL; +#ifdef WIN32 + char *cleaned_line; + int cleaned_len; +#endif + /* Checks whether we're set to use UTF-8 charset */ if (serv->using_irc || /* 1. using CP1252/UTF-8 Hybrid */ (serv->encoding == NULL && prefs.utf8_locale) || /* OR 2. using system default->UTF-8 */ @@ -396,11 +401,23 @@ server_inline (server *serv, char *line, int len) } } +#ifdef WIN32 + cleaned_line = text_replace_non_bmp (line, len, &cleaned_len); + if (cleaned_line != NULL ) { + line = cleaned_line; + len = cleaned_len; + } +#endif + fe_add_rawlog (serv, line, len, FALSE); /* let proto-irc.c handle it */ serv->p_inline (serv, line, len); +#ifdef WIN32 + g_free (cleaned_line); +#endif + if (utf_line_allocated != NULL) /* only if a special copy was allocated */ g_free (utf_line_allocated); } @@ -844,33 +861,6 @@ server_flush_queue (server *serv) fe_set_throttle (serv); } -#ifdef WIN32 - -static int -waitline2 (GIOChannel *source, char *buf, int bufsize) -{ - int i = 0; - int len; - - while (1) - { - if (g_io_channel_read (source, &buf[i], 1, &len) != G_IO_ERROR_NONE) - return -1; - if (buf[i] == '\n' || bufsize == i + 1) - { - buf[i] = 0; - return i; - } - i++; - } -} - -#else - -#define waitline2(source,buf,size) waitline(serv->childread,buf,size,0) - -#endif - /* connect() successed */ static void @@ -1394,12 +1384,7 @@ base64_encode (char *to, char *from, unsigned int len) static int http_read_line (int print_fd, int sok, char *buf, int len) { -#ifdef WIN32 - /* make sure waitline() uses recv() or it'll fail on win32 */ - len = waitline (sok, buf, len, FALSE); -#else len = waitline (sok, buf, len, TRUE); -#endif if (len >= 1) { /* print the message out (send it to the parent process) */ @@ -1795,7 +1780,11 @@ server_connect (server *serv, char *hostname, int port, int no_login) } #endif serv->childpid = pid; +#ifdef WIN32 + serv->iotag = fe_input_add (serv->childread, FIA_READ|FIA_FD, server_read_child, +#else serv->iotag = fe_input_add (serv->childread, FIA_READ, server_read_child, +#endif serv); } diff --git a/src/common/servlist.c b/src/common/servlist.c index 66bc8115..c9d4b6a8 100644 --- a/src/common/servlist.c +++ b/src/common/servlist.c @@ -21,7 +21,10 @@ #include <string.h> #include <sys/types.h> #include <sys/stat.h> + +#ifndef WIN32 #include <unistd.h> +#endif #include "xchat.h" #include <glib.h> diff --git a/src/common/ssl.c b/src/common/ssl.c index a18ad47c..daa7416b 100644 --- a/src/common/ssl.c +++ b/src/common/ssl.c @@ -17,12 +17,12 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ +#include "inet.h" /* make it first to avoid macro redefinitions */ #include <openssl/ssl.h> /* SSL_() */ #include <openssl/err.h> /* ERR_() */ #include <time.h> /* asctime() */ #include <string.h> /* strncpy() */ #include "ssl.h" /* struct cert_info */ -#include "inet.h" #include "../../config.h" /* HAVE_SNPRINTF */ #ifndef HAVE_SNPRINTF diff --git a/src/common/text.c b/src/common/text.c index 6b111742..f8afc4b3 100644 --- a/src/common/text.c +++ b/src/common/text.c @@ -19,13 +19,16 @@ #include <stdlib.h> #include <stdio.h> #include <string.h> -#include <unistd.h> #include <ctype.h> #include <time.h> #include <sys/types.h> #include <fcntl.h> #include <sys/stat.h> + +#ifndef WIN32 +#include <unistd.h> #include <sys/mman.h> +#endif #include "xchat.h" #include <glib.h> @@ -271,9 +274,15 @@ scrollback_load (session *sess) char *text; time_t stamp; int lines; + +#ifdef WIN32 + char *cleaned_text; + int cleaned_len; +#else char *map, *end_map; struct stat statbuf; const char *begin, *eol; +#endif if (sess->text_scrollback == SET_DEFAULT) { @@ -293,6 +302,7 @@ scrollback_load (session *sess) if (fh == -1) return; +#ifndef WIN32 if (fstat (fh, &statbuf) < 0) return; @@ -301,7 +311,7 @@ scrollback_load (session *sess) return; end_map = map + statbuf.st_size; - + lines = 0; begin = map; while (begin < end_map) @@ -314,11 +324,11 @@ scrollback_load (session *sess) eol = end_map; n_bytes = MIN (eol - begin, sizeof (buf) - 1); - + strncpy (buf, begin, n_bytes); buf[n_bytes] = 0; - + if (buf[0] == 'T') { if (sizeof (time_t) == 4) @@ -350,6 +360,45 @@ scrollback_load (session *sess) } munmap (map, statbuf.st_size); +#else + lines = 0; + while (waitline (fh, buf, sizeof buf, FALSE) != -1) + { + if (buf[0] == 'T') + { + if (sizeof (time_t) == 4) + stamp = strtoul (buf + 2, NULL, 10); + else + stamp = strtoull (buf + 2, NULL, 10); /* just incase time_t is 64 bits */ + text = strchr (buf + 3, ' '); + if (text) + { + text = strip_color (text + 1, -1, STRIP_COLOR); + cleaned_text = text_replace_non_bmp (text, -1, &cleaned_len); + if (cleaned_text != NULL) + { + g_free (text); + text = cleaned_text; + } + fe_print_text (sess, text, stamp); + g_free (text); + } + lines++; + } + } + + sess->scrollwritten = lines; + + if (lines) + { + text = ctime (&stamp); + text[24] = 0; /* get rid of the \n */ + snprintf (buf, sizeof (buf), "\n*\t%s %s\n\n", _("Loaded log from"), text); + fe_print_text (sess, buf, 0); + /*EMIT_SIGNAL (XP_TE_GENMSG, sess, "*", buf, NULL, NULL, NULL, 0);*/ + } +#endif + close (fh); } @@ -637,6 +686,13 @@ get_stamp_str (char *fmt, time_t tim, char **ret) } len = strftime (dest, sizeof (dest), fmt, localtime (&tim)); +#ifdef WIN32 + if (!len) + { + /* use failsafe format until a correct one is specified */ + len = strftime (dest, sizeof (dest), "[%H:%M]", localtime (&tim)); + } +#endif if (len) { if (prefs.utf8_locale) @@ -812,6 +868,46 @@ iso_8859_1_to_utf8 (unsigned char *text, int len, gsize *bytes_written) return res; } +#ifdef WIN32 +/* replace characters outside of the Basic Multilingual Plane with + * replacement characters (0xFFFD) */ +char * +text_replace_non_bmp (char *utf8_input, int input_length, glong *output_length) +{ + gunichar *ucs4_text; + gunichar suspect; + gchar *utf8_text; + glong ucs4_length; + glong index; + + ucs4_text = g_utf8_to_ucs4_fast (utf8_input, input_length, &ucs4_length); + + /* replace anything not in the Basic Multilingual Plane + * (code points above 0xFFFF) with the replacement + * character */ + for (index = 0; index < ucs4_length; index++) + { + suspect = ucs4_text[index]; + if ((suspect >= 0x1D173 && suspect <= 0x1D17A) + || (suspect >= 0xE0001 && suspect <= 0xE007F)) + { + ucs4_text[index] = 0xFFFD; /* replacement character */ + } + } + + utf8_text = g_ucs4_to_utf8 ( + ucs4_text, + ucs4_length, + NULL, + output_length, + NULL + ); + g_free (ucs4_text); + + return utf8_text; +} +#endif + char * text_validate (char **text, int *len) { diff --git a/src/common/text.h b/src/common/text.h index 150821ae..6d5ac03e 100644 --- a/src/common/text.h +++ b/src/common/text.h @@ -28,6 +28,9 @@ int pevent_load (char *filename); void pevent_make_pntevts (void); void text_emit (int index, session *sess, char *a, char *b, char *c, char *d); int text_emit_by_name (char *name, session *sess, char *a, char *b, char *c, char *d); +#ifdef WIN32 +char *text_replace_non_bmp (char *utf8_input, int input_length, glong *output_length); +#endif char *text_validate (char **text, int *len); int get_stamp_str (char *fmt, time_t tim, char **ret); void format_event (session *sess, int index, char **args, char *o, int sizeofo, unsigned int stripcolor_args); diff --git a/src/common/thread.c b/src/common/thread.c new file mode 100644 index 00000000..02b17cfb --- /dev/null +++ b/src/common/thread.c @@ -0,0 +1,33 @@ +#include <fcntl.h> +#include "thread.h" + +thread * +thread_new (void) +{ + thread *th; + + th = calloc (1, sizeof (*th)); + if (!th) + { + return NULL; + } + + if (_pipe (th->pipe_fd, 4096, _O_BINARY) == -1) + { + free (th); + return NULL; + } + + return th; +} + +int +thread_start (thread *th, void *(*start_routine)(void *), void *arg) +{ + DWORD id; + + CloseHandle (CreateThread (NULL, 0, (LPTHREAD_START_ROUTINE)start_routine, arg, 0, (DWORD *)&id)); + th->threadid = id; + + return 1; +} diff --git a/src/common/thread.h b/src/common/thread.h new file mode 100644 index 00000000..7ca0f937 --- /dev/null +++ b/src/common/thread.h @@ -0,0 +1,10 @@ +#include <windows.h> + +typedef struct +{ + DWORD threadid; + int pipe_fd[2]; +} thread; + +thread *thread_new (void); +int thread_start (thread *th, void *(*start_routine)(void *), void *arg); diff --git a/src/common/util.c b/src/common/util.c index 5a0ab6c5..9d9c2cff 100644 --- a/src/common/util.c +++ b/src/common/util.c @@ -16,26 +16,32 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA */ +#define WANTSOCKET +#include "inet.h" /* make it first to avoid macro redefinitions */ + #define __APPLE_API_STRICT_CONFORMANCE #define _FILE_OFFSET_BITS 64 #include <stdio.h> -#include <unistd.h> #include <string.h> #include <stdlib.h> #include <sys/types.h> #include <sys/stat.h> + #ifdef WIN32 #include <sys/timeb.h> #include <process.h> +#include <io.h> +#include "dirent-win32.h" #else -#include <sys/types.h> +#include <unistd.h> #include <pwd.h> #include <sys/time.h> #include <sys/utsname.h> +#include <dirent.h> #endif + #include <fcntl.h> -#include <dirent.h> #include <errno.h> #include "xchat.h" #include "xchatc.h" @@ -44,9 +50,6 @@ #include "util.h" #include "../../config.h" -#define WANTSOCKET -#include "inet.h" - #if defined (USING_FREEBSD) || defined (__APPLE__) #include <sys/sysctl.h> #endif @@ -54,9 +57,11 @@ #include <socks.h> #endif +#ifndef ENABLE_NLS #ifndef HAVE_SNPRINTF #define snprintf g_snprintf #endif +#endif #ifdef USE_DEBUG @@ -383,6 +388,28 @@ waitline (int sok, char *buf, int bufsize, int use_recv) } } +#ifdef WIN32 +/* waitline2 using win32 file descriptor and glib instead of _read. win32 can't _read() sok! */ +int +waitline2 (GIOChannel *source, char *buf, int bufsize) +{ + int i = 0; + int len; + + while (1) + { + if (g_io_channel_read (source, &buf[i], 1, &len) != G_IO_ERROR_NONE) + return -1; + if (buf[i] == '\n' || bufsize == i + 1) + { + buf[i] = 0; + return i; + } + i++; + } +} +#endif + /* checks for "~" in a file and expands */ char * @@ -624,30 +651,110 @@ get_mhz (void) return 0; /* fails on Win9x */ } +int +get_cpu_arch (void) +{ + SYSTEM_INFO si; + + GetSystemInfo (&si); + + if (si.wProcessorArchitecture == 9) + { + return 64; + } + else + { + return 86; + } +} + char * get_cpu_str (void) { static char verbuf[64]; - OSVERSIONINFO osvi; - SYSTEM_INFO si; + static char winver[20]; + OSVERSIONINFOEX osvi; double mhz; - osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFO); + osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFOEX); GetVersionEx (&osvi); - GetSystemInfo (&si); + + switch (osvi.dwMajorVersion) + { + case 5: + switch (osvi.dwMinorVersion) + { + case 1: + strcpy (winver, "XP"); + break; + case 2: + if (osvi.wProductType == VER_NT_WORKSTATION) + { + strcpy (winver, "XP x64 Edition"); + } + else + { + if (GetSystemMetrics(SM_SERVERR2) == 0) + { + strcpy (winver, "Server 2003"); + } + else + { + strcpy (winver, "Server 2003 R2"); + } + } + break; + } + break; + case 6: + switch (osvi.dwMinorVersion) + { + case 0: + if (osvi.wProductType == VER_NT_WORKSTATION) + { + strcpy (winver, "Vista"); + } + else + { + strcpy (winver, "Server 2008"); + } + break; + case 1: + if (osvi.wProductType == VER_NT_WORKSTATION) + { + strcpy (winver, "7"); + } + else + { + strcpy (winver, "Server 2008 R2"); + } + break; + case 2: + if (osvi.wProductType == VER_NT_WORKSTATION) + { + strcpy (winver, "8"); + } + else + { + strcpy (winver, "8 Server"); + } + break; + } + break; + } mhz = get_mhz (); if (mhz) { double cpuspeed = ( mhz > 1000 ) ? mhz / 1000 : mhz; const char *cpuspeedstr = ( mhz > 1000 ) ? "GHz" : "MHz"; - sprintf (verbuf, "Windows %ld.%ld [i%d86/%.2f%s]", - osvi.dwMajorVersion, osvi.dwMinorVersion, si.wProcessorLevel, - cpuspeed, cpuspeedstr); - } else - sprintf (verbuf, "Windows %ld.%ld [i%d86]", - osvi.dwMajorVersion, osvi.dwMinorVersion, si.wProcessorLevel); - + sprintf (verbuf, "Windows %s [%.2f%s]", winver, cpuspeed, cpuspeedstr); + } + else + { + sprintf (verbuf, "Windows %s", winver); + } + return verbuf; } @@ -1727,3 +1834,55 @@ safe_strcpy (char *dest, const char *src, int bytes_left) } } } + +void +canonalize_key (char *key) +{ + char *pos, token; + + for (pos = key; (token = *pos) != 0; pos++) + { + if (token != '_' && (token < '0' || token > '9') && (token < 'A' || token > 'Z') && (token < 'a' || token > 'z')) + { + *pos = '_'; + } + else + { + *pos = tolower(token); + } + } +} + +int +portable_mode () +{ +#ifdef WIN32 + if ((_access( "portable-mode", 0 )) != -1) + { + return 1; + } + else + { + return 0; + } +#else + return 0; +#endif +} + +int +xtray_mode () +{ +#ifdef WIN32 + if ((_access( "plugins/xtray.dll", 0 )) != -1) + { + return 1; + } + else + { + return 0; + } +#else + return 0; +#endif +} diff --git a/src/common/util.h b/src/common/util.h index fce45def..82d74366 100644 --- a/src/common/util.h +++ b/src/common/util.h @@ -43,6 +43,12 @@ int strip_color2 (const char *src, int len, char *dst, int flags); int strip_hidden_attribute (char *src, char *dst); char *errorstring (int err); int waitline (int sok, char *buf, int bufsize, int); +#ifdef WIN32 +int waitline2 (GIOChannel *source, char *buf, int bufsize); +int get_cpu_arch (void); +#else +#define waitline2(source,buf,size) waitline(serv->childread,buf,size,0) +#endif unsigned long make_ping_time (void); void move_file_utf8 (char *src_dir, char *dst_dir, char *fname, int dccpermissions); int mkdir_utf8 (char *dir); @@ -50,5 +56,8 @@ int token_foreach (char *str, char sep, int (*callback) (char *str, void *ud), v guint32 str_hash (const char *key); guint32 str_ihash (const unsigned char *key); void safe_strcpy (char *dest, const char *src, int bytes_left); +void canonalize_key (char *key); +int portable_mode (); +int xtray_mode (); #endif diff --git a/src/common/xchat-plugin.h b/src/common/xchat-plugin.h index 30b19295..1b7da8fb 100644 --- a/src/common/xchat-plugin.h +++ b/src/common/xchat-plugin.h @@ -137,6 +137,21 @@ struct _xchat_plugin int flags); void (*xchat_free) (xchat_plugin *ph, void *ptr); + int (*xchat_pluginpref_set_str) (xchat_plugin *ph, + const char *var, + const char *value); + int (*xchat_pluginpref_get_str) (xchat_plugin *ph, + const char *var, + char *dest); + int (*xchat_pluginpref_set_int) (xchat_plugin *ph, + const char *var, + int value); + int (*xchat_pluginpref_get_int) (xchat_plugin *ph, + const char *var); + int (*xchat_pluginpref_delete) (xchat_plugin *ph, + const char *var); + int (*xchat_pluginpref_list) (xchat_plugin *ph, + char *dest); }; #endif @@ -292,6 +307,32 @@ void xchat_free (xchat_plugin *ph, void *ptr); +int +xchat_pluginpref_set_str (xchat_plugin *ph, + const char *var, + const char *value); + +int +xchat_pluginpref_get_str (xchat_plugin *ph, + const char *var, + char *dest); + +int +xchat_pluginpref_set_int (xchat_plugin *ph, + const char *var, + int value); +int +xchat_pluginpref_get_int (xchat_plugin *ph, + const char *var); + +int +xchat_pluginpref_delete (xchat_plugin *ph, + const char *var); + +int +xchat_pluginpref_list (xchat_plugin *ph, + char *dest); + #if !defined(PLUGIN_C) && defined(WIN32) #ifndef XCHAT_PLUGIN_HANDLE #define XCHAT_PLUGIN_HANDLE (ph) @@ -326,6 +367,12 @@ xchat_free (xchat_plugin *ph, #define xchat_send_modes ((XCHAT_PLUGIN_HANDLE)->xchat_send_modes) #define xchat_strip ((XCHAT_PLUGIN_HANDLE)->xchat_strip) #define xchat_free ((XCHAT_PLUGIN_HANDLE)->xchat_free) +#define xchat_pluginpref_set_str ((XCHAT_PLUGIN_HANDLE)->xchat_pluginpref_set_str) +#define xchat_pluginpref_get_str ((XCHAT_PLUGIN_HANDLE)->xchat_pluginpref_get_str) +#define xchat_pluginpref_set_int ((XCHAT_PLUGIN_HANDLE)->xchat_pluginpref_set_int) +#define xchat_pluginpref_get_int ((XCHAT_PLUGIN_HANDLE)->xchat_pluginpref_get_int) +#define xchat_pluginpref_delete ((XCHAT_PLUGIN_HANDLE)->xchat_pluginpref_delete) +#define xchat_pluginpref_list ((XCHAT_PLUGIN_HANDLE)->xchat_pluginpref_list) #endif #ifdef __cplusplus diff --git a/src/common/xchat.c b/src/common/xchat.c index afac9a0e..22c4eddb 100644 --- a/src/common/xchat.c +++ b/src/common/xchat.c @@ -22,14 +22,16 @@ #include <time.h> #include <sys/types.h> #include <sys/stat.h> -#include <unistd.h> #define WANTSOCKET #include "inet.h" -#ifndef WIN32 +#ifdef WIN32 +#include <windows.h> +#else #include <sys/wait.h> #include <signal.h> +#include <unistd.h> #endif #include "xchat.h" @@ -590,6 +592,7 @@ static char defaultconf_commands[] = "NAME DMSG\n" "CMD msg =%2 &3\n\n"\ "NAME EXIT\n" "CMD quit\n\n"\ "NAME GREP\n" "CMD lastlog -r &2\n\n"\ + "NAME IGNALL\n" "CMD ignore %2!*@* ALL\n\n"\ "NAME J\n" "CMD join &2\n\n"\ "NAME KILL\n" "CMD quote KILL %2 :&3\n\n"\ "NAME LEAVE\n" "CMD part &2\n\n"\ @@ -903,7 +906,11 @@ int main (int argc, char *argv[]) { int ret; - + +#ifdef WIN32 + HANDLE mutex; +#endif + srand (time (0)); /* CL: do this only once! */ #ifdef SOCKS @@ -920,6 +927,21 @@ main (int argc, char *argv[]) load_config (); +#ifdef WIN32 + if (prefs.gui_one_instance && !portable_mode ()) + { + DWORD error; + + mutex = CreateMutex (NULL, TRUE, "Local\xchat"); + error = GetLastError (); + + if (error == ERROR_ALREADY_EXISTS || mutex == NULL) + { + return 1; + } + } +#endif + #ifdef USE_LIBPROXY libproxy_factory = px_proxy_factory_new(); #endif @@ -945,6 +967,11 @@ main (int argc, char *argv[]) #ifdef WIN32 WSACleanup (); + + if (prefs.gui_one_instance && !portable_mode ()) + { + CloseHandle (mutex); + } #endif return 0; diff --git a/src/common/xchat.h b/src/common/xchat.h index 6e31d7c5..95fb1324 100644 --- a/src/common/xchat.h +++ b/src/common/xchat.h @@ -8,12 +8,14 @@ #include "history.h" +#ifndef ENABLE_NLS #ifndef HAVE_SNPRINTF #define snprintf g_snprintf #endif #ifndef HAVE_VSNPRINTF -#define vsnprintf g_vsnprintf +#define vsnprintf _vsnprintf +#endif #endif #ifdef USE_DEBUG @@ -54,7 +56,7 @@ void *xchat_realloc (char *old, int len, char *file, int line); #ifdef WIN32 /* for win32 */ #define OFLAGS O_BINARY -#define sleep(t) _sleep(t*1000) +#define sleep(t) Sleep(t*1000) #include <direct.h> #define F_OK 0 #define X_OK 1 @@ -113,8 +115,16 @@ struct xchatprefs char awayreason[256]; char quitreason[256]; char partreason[256]; +#ifdef WIN32 + char font_normal[4 * FONTNAMELEN + 1]; + char font_main[FONTNAMELEN + 1]; + char font_alternative[3 * FONTNAMELEN + 1]; +#else char font_normal[FONTNAMELEN + 1]; +#endif char doubleclickuser[256]; + char gui_license[64]; + char spell_langs[64]; char sounddir[PATHLEN + 1]; char soundcmd[PATHLEN + 1]; char background[PATHLEN + 1]; @@ -178,6 +188,9 @@ struct xchatprefs int gui_usermenu; int gui_join_dialog; int gui_quit_dialog; +#ifdef WIN32 + int gui_one_instance; +#endif int dialog_left; int dialog_top; int dialog_width; @@ -205,6 +218,9 @@ struct xchatprefs unsigned int wallops; unsigned int skipmotd; unsigned int autorejoin; + unsigned int autocopy_text; + unsigned int autocopy_stamp; + unsigned int autocopy_color; unsigned int colorednicks; unsigned int chanmodebuttons; unsigned int userlistbuttons; @@ -292,7 +308,12 @@ struct xchatprefs unsigned int wait_on_exit; unsigned int confmode; unsigned int utf8_locale; +#ifdef WIN32 unsigned int identd; + unsigned int emoticons; + unsigned int tab_icons; + unsigned int tab_xp; +#endif unsigned int ctcp_number_limit; /*flood */ unsigned int ctcp_time_limit; /*seconds of floods */ diff --git a/src/fe-gtk/Makefile.am b/src/fe-gtk/Makefile.am index 7db38096..da36ed57 100644 --- a/src/fe-gtk/Makefile.am +++ b/src/fe-gtk/Makefile.am @@ -10,8 +10,8 @@ EXTRA_DIST = \ about.h ascii.h banlist.h chanlist.h chanview.h chanview-tabs.c \ chanview-tree.c custom-list.h editlist.h fe-gtk.h fkeys.h gtkutil.h joind.h \ maingui.h menu.h mmx_cmod.S mmx_cmod.h notifygui.h palette.h pixmaps.h \ - plugin-tray.h plugingui.c plugingui.h rawlog.h search.h sexy-spell-entry.h \ - textgui.h urlgrab.h userlistgui.h xtext.h + plugin-tray.h plugingui.c plugingui.h rawlog.h search.h sexy-iso-codes.h \ + sexy-spell-entry.h sexy-marshal.h textgui.h urlgrab.h userlistgui.h xtext.h if USE_MMX mmx_cmod_S = mmx_cmod.S @@ -22,11 +22,12 @@ plugingui_c = plugingui.c endif if USE_LIBSEXY -sexy_spell_entry_c = sexy-spell-entry.c +sexy_spell = \ + sexy-iso-codes.c sexy-marshal.c sexy-spell-entry.c endif xchat_SOURCES = about.c ascii.c banlist.c chanlist.c chanview.c custom-list.c \ dccgui.c editlist.c fe-gtk.c fkeys.c gtkutil.c ignoregui.c joind.c menu.c \ maingui.c $(mmx_cmod_S) notifygui.c palette.c pixmaps.c plugin-tray.c $(plugingui_c) \ - rawlog.c search.c servlistgui.c setup.c $(sexy_spell_entry_c) textgui.c \ + rawlog.c search.c servlistgui.c setup.c $(sexy_spell) textgui.c \ urlgrab.c userlistgui.c xtext.c diff --git a/src/fe-gtk/about.c b/src/fe-gtk/about.c index 60700aec..dc1cbf08 100644 --- a/src/fe-gtk/about.c +++ b/src/fe-gtk/about.c @@ -39,6 +39,7 @@ #include "../common/xchat.h" #include "../common/util.h" +#include "../common/xchatc.h" #include "palette.h" #include "pixmaps.h" #include "gtkutil.h" @@ -69,7 +70,7 @@ menu_about (GtkWidget * wid, gpointer sess) "(C) 1998-2005 Peter Zelezny", author, buf, 0)); } -#else +#endif static GtkWidget *about = 0; @@ -95,7 +96,7 @@ menu_about (GtkWidget * wid, gpointer sess) } about = gtk_dialog_new (); - gtk_window_set_position (GTK_WINDOW (about), GTK_WIN_POS_CENTER); + gtk_window_set_position (GTK_WINDOW (about), GTK_WIN_POS_CENTER_ON_PARENT); gtk_window_set_resizable (GTK_WINDOW (about), FALSE); gtk_window_set_title (GTK_WINDOW (about), _("About "DISPLAY_NAME)); if (parent_window) @@ -113,36 +114,47 @@ menu_about (GtkWidget * wid, gpointer sess) gtk_container_add (GTK_CONTAINER (vbox), label); g_get_charset (&locale); (snprintf) (buf, sizeof (buf), - "<span size=\"x-large\"><b>"DISPLAY_NAME" "PACKAGE_VERSION"</b></span>\n\n" - "%s\n\n" + "<span size=\"x-large\"><b>"DISPLAY_NAME" "PACKAGE_VERSION"</b></span>\n" #ifdef WIN32 - /* leave this message to avoid time wasting bug reports! */ - "This version is unofficial and comes with no support.\n\n" -#endif - "%s\n" + "%s%s%s" + "\n<b>XChat Release</b>: "XCHAT_RELEASE"\n\n" + "<b>OS</b>: %s\n" "<b>Charset</b>: %s " -#ifdef WIN32 "<b>GTK+</b>: %i.%i.%i\n" + "<b>Compiled</b>: "__DATE__"\n" + "<b>Portable Mode</b>: %s\n" + "<b>Build Type</b>: x%d\n\n" + "<small>This version is unofficial and comes with no support.\n" + "\302\251 1998-2010 Peter \305\275elezn\303\275 <zed@xchat.org>" + /* "\n<a href=\"http://code.google.com/p/xchat-wdk/\">http://code.google.com/p/xchat-wdk/</a>" this is broken in gtk ATM */ + "</small>", + (strcmp (prefs.gui_license, "") ? "<span size=\"x-large\">" : ""), + (strcmp (prefs.gui_license, "") ? prefs.gui_license : ""), + (strcmp (prefs.gui_license, "") ? "</span>\n" : ""), + get_cpu_str (), + locale, + gtk_major_version, + gtk_minor_version, + gtk_micro_version, + (portable_mode () ? "Yes" : "No"), + get_cpu_arch () #else + "\n%s\n\n" + "%s\n" + "<b>Charset</b>: %s " "<b>Renderer</b>: %s\n" -#endif "<b>Compiled</b>: "__DATE__"\n\n" "<small>\302\251 1998-2010 Peter \305\275elezn\303\275 <zed@xchat.org></small>", - _("A multiplatform IRC Client"), - get_cpu_str(), - locale, -#ifdef WIN32 - gtk_major_version, - gtk_minor_version, - gtk_micro_version -#else + _("A multiplatform IRC Client"), + get_cpu_str (), + locale, #ifdef USE_XFT - "Xft" + "Xft" #else - "Pango" + "Pango" #endif #endif - ); + ); gtk_label_set_markup (GTK_LABEL (label), buf); gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_CENTER); @@ -158,4 +170,3 @@ menu_about (GtkWidget * wid, gpointer sess) gtk_widget_show_all (about); } -#endif diff --git a/src/fe-gtk/banlist.c b/src/fe-gtk/banlist.c index afaa7eb4..fecb62a5 100644 --- a/src/fe-gtk/banlist.c +++ b/src/fe-gtk/banlist.c @@ -19,10 +19,13 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> -#include <unistd.h> #include <fcntl.h> #include <time.h> +#ifndef WIN32 +#include <unistd.h> +#endif + #include "fe-gtk.h" #include <gtk/gtkhbox.h> @@ -134,11 +137,8 @@ banlist_do_refresh (struct session *sess) gtk_list_store_clear (store); handle_command (sess, "ban", FALSE); -#ifdef WIN32 - if (0) -#else + if (supports_exempt (sess->server)) -#endif { snprintf (tbuf, sizeof (tbuf), "quote mode %s +e", sess->channel); handle_command (sess, tbuf, FALSE); diff --git a/src/fe-gtk/chanlist.c b/src/fe-gtk/chanlist.c index 2f65b518..4dca935b 100644 --- a/src/fe-gtk/chanlist.c +++ b/src/fe-gtk/chanlist.c @@ -19,10 +19,13 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> -#include <unistd.h> #include <fcntl.h> #include <time.h> +#ifndef WIN32 +#include <unistd.h> +#endif + #include "fe-gtk.h" #include <gtk/gtkalignment.h> diff --git a/src/fe-gtk/chanview-tabs.c b/src/fe-gtk/chanview-tabs.c index 8e3da8e6..f99e61f1 100644 --- a/src/fe-gtk/chanview-tabs.c +++ b/src/fe-gtk/chanview-tabs.c @@ -144,8 +144,8 @@ tab_scroll_left_up_clicked (GtkWidget *widget, chanview *cv) for (i = adj->value; ((i > new_value) && (tab_left_is_moving)); i -= 0.1) { gtk_adjustment_set_value (adj, i); - while (g_main_pending ()) - g_main_iteration (TRUE); + while (g_main_context_pending (NULL)) + g_main_context_iteration (NULL, TRUE); } gtk_adjustment_set_value (adj, new_value); @@ -191,8 +191,8 @@ tab_scroll_right_down_clicked (GtkWidget *widget, chanview *cv) for (i = adj->value; ((i < new_value) && (tab_right_is_moving)); i += 0.1) { gtk_adjustment_set_value (adj, i); - while (g_main_pending ()) - g_main_iteration (TRUE); + while (g_main_context_pending (NULL)) + g_main_context_iteration (NULL, TRUE); } gtk_adjustment_set_value (adj, new_value); diff --git a/src/fe-gtk/editlist.c b/src/fe-gtk/editlist.c index 5af67e32..d374d064 100644 --- a/src/fe-gtk/editlist.c +++ b/src/fe-gtk/editlist.c @@ -19,10 +19,14 @@ #include <stdio.h> #include <stdlib.h> #include <string.h> -#include <unistd.h> #include <fcntl.h> #include <sys/types.h> #include <sys/stat.h> + +#ifndef WIN32 +#include <unistd.h> +#endif + #include "fe-gtk.h" #include <gtk/gtkstock.h> diff --git a/src/fe-gtk/fe-gtk.c b/src/fe-gtk/fe-gtk.c index 5efcaeec..88a1138c 100644 --- a/src/fe-gtk/fe-gtk.c +++ b/src/fe-gtk/fe-gtk.c @@ -19,7 +19,6 @@ #include <stdio.h> #include <string.h> #include <stdlib.h> -#include <unistd.h> #include "fe-gtk.h" @@ -32,6 +31,12 @@ #include <gtk/gtkmessagedialog.h> #include <gtk/gtkversion.h> +#ifdef WIN32 +#include <gdk/gdkwin32.h> +#else +#include <unistd.h> +#endif + #include "../common/xchat.h" #include "../common/fe.h" #include "../common/util.h" @@ -39,6 +44,7 @@ #include "../common/cfgfiles.h" #include "../common/xchatc.h" #include "../common/plugin.h" +#include "../common/server.h" #include "gtkutil.h" #include "maingui.h" #include "pixmaps.h" @@ -136,11 +142,26 @@ static const GOptionEntry gopt_entries[] = {NULL} }; +#ifdef WIN32 +static void +create_msg_dialog (gchar *title, gchar *message) +{ + GtkWidget *dialog; + dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_CLOSE, message); + gtk_window_set_title (GTK_WINDOW (dialog), title); + gtk_dialog_run (GTK_DIALOG (dialog)); + gtk_widget_destroy (dialog); +} +#endif + int fe_args (int argc, char *argv[]) { GError *error = NULL; GOptionContext *context; +#ifdef WIN32 + char *buffer[2048]; +#endif #ifdef ENABLE_NLS bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); @@ -149,22 +170,67 @@ fe_args (int argc, char *argv[]) #endif context = g_option_context_new (NULL); +#ifdef WIN32 + g_option_context_set_help_enabled (context, FALSE); /* disable stdout help as stdout is unavailable for subsystem:windows */ +#endif g_option_context_add_main_entries (context, gopt_entries, GETTEXT_PACKAGE); g_option_context_add_group (context, gtk_get_option_group (FALSE)); g_option_context_parse (context, &argc, &argv, &error); +#ifdef WIN32 + if (error) /* workaround for argv not being available when using subsystem:windows */ + { + if (error->message) /* the error message contains argv so search for patterns in that */ + { + if (strstr (error->message, "--help-all") != NULL) + { + if (snprintf (buffer, 2048, g_option_context_get_help (context, FALSE, NULL))) + { + gtk_init (&argc, &argv); + create_msg_dialog ("Long Help", buffer); + } + return 0; + } else if (strstr (error->message, "--help") != NULL || strstr (error->message, "-?") != NULL) + { + if (snprintf (buffer, 2048, g_option_context_get_help (context, TRUE, NULL))) + { + gtk_init (&argc, &argv); + create_msg_dialog ("Help", buffer); + } + return 0; + } else + { + if (snprintf (buffer, 2048, "%s\n", error->message)) + { + gtk_init (&argc, &argv); + create_msg_dialog ("Error", buffer); + } + return 1; + } + } + } +#else if (error) { if (error->message) printf ("%s\n", error->message); return 1; } +#endif g_option_context_free (context); if (arg_show_version) { +#ifdef WIN32 + if (snprintf (buffer, 2048, DISPLAY_NAME" "PACKAGE_VERSION"\n")) + { + gtk_init (&argc, &argv); + create_msg_dialog ("Version Information", buffer); + } +#else printf (PACKAGE_TARNAME" "PACKAGE_VERSION"\n"); +#endif return 0; } @@ -177,7 +243,18 @@ fe_args (int argc, char *argv[]) if (sl) { *sl = 0; - printf ("%s\\plugins\n", exe); + if (snprintf (buffer, 2048, "%s\\plugins\n", exe)) + { + gtk_init (&argc, &argv); + create_msg_dialog ("Plugin Auto-load Directory", buffer); + } + } else + { + if (snprintf (buffer, 2048, ".\\plugins\n")) + { + gtk_init (&argc, &argv); + create_msg_dialog ("Plugin Auto-load Directory", buffer); + } } #else printf ("%s\n", XCHATLIBDIR"/plugins"); @@ -187,7 +264,15 @@ fe_args (int argc, char *argv[]) if (arg_show_config) { +#ifdef WIN32 + if (snprintf (buffer, 2048, "%s\n", get_xdir_fs ())) + { + gtk_init (&argc, &argv); + create_msg_dialog ("User Config Directory", buffer); + } +#else printf ("%s\n", get_xdir_fs ()); +#endif return 0; } @@ -330,7 +415,7 @@ log_handler (const gchar *log_domain, { session *sess; - if (getenv ("XCHAT_WARNING_IGNORE")) + /* if (getenv ("XCHAT_WARNING_IGNORE")) this gets ignored sometimes, so simply just disable all warnings */ return; sess = find_dialog (serv_list->data, "(warnings)"); @@ -845,7 +930,11 @@ fe_gui_info_ptr (session *sess, int info_type) { case 0: /* native window pointer (for plugins) */ #ifdef WIN32 +#if GTK_CHECK_VERSION(2,24,8) + return gdk_win32_window_get_impl_hwnd (sess->gui->window->window); +#else return GDK_WINDOW_HWND (sess->gui->window->window); +#endif #else return sess->gui->window; #endif diff --git a/src/fe-gtk/fe-gtk.h b/src/fe-gtk/fe-gtk.h index 12516259..8fffb3cc 100644 --- a/src/fe-gtk/fe-gtk.h +++ b/src/fe-gtk/fe-gtk.h @@ -1,13 +1,6 @@ #include "../../config.h" -#ifdef WIN32 -/* If you're compiling this for Windows, your release is un-official - * and not condoned. Please don't use the XChat name. Make up your - * own name! */ -#define DISPLAY_NAME "XChat-Unofficial" -#else -#define DISPLAY_NAME "XChat" -#endif +#define DISPLAY_NAME "XChat-WDK" #ifndef WIN32 #include <sys/types.h> diff --git a/src/fe-gtk/fkeys.c b/src/fe-gtk/fkeys.c index 014b5cc3..b9690731 100644 --- a/src/fe-gtk/fkeys.c +++ b/src/fe-gtk/fkeys.c @@ -20,11 +20,14 @@ #include <stdlib.h> #include <sys/types.h> #include <sys/stat.h> -#include <unistd.h> #include <string.h> #include <fcntl.h> #include <ctype.h> +#ifndef WIN32 +#include <unistd.h> +#endif + #include "fe-gtk.h" #include <gtk/gtklabel.h> @@ -315,7 +318,7 @@ key_handle_key_press (GtkWidget *wid, GdkEventKey *evt, session *sess) key_action_tab_clean (); break; -#if defined(USE_GTKSPELL) && !defined(WIN32) +#if defined(USE_GTKSPELL)/* && !defined(WIN32) */ /* gtktextview has no 'activate' event, so we trap ENTER here */ case GDK_Return: case GDK_KP_Enter: diff --git a/src/fe-gtk/gtkutil.c b/src/fe-gtk/gtkutil.c index 63ab491b..fe4e1737 100644 --- a/src/fe-gtk/gtkutil.c +++ b/src/fe-gtk/gtkutil.c @@ -22,8 +22,8 @@ #include <stdarg.h> #include <sys/types.h> #include <sys/stat.h> -#include <unistd.h> #include <fcntl.h> + #include "fe-gtk.h" #include <gtk/gtkbutton.h> @@ -52,6 +52,13 @@ #include "gtkutil.h" #include "pixmaps.h" +#ifdef WIN32 +#include "../common/fe.h" +#include "../common/thread.h" +#else +#include <unistd.h> +#endif + /* gtkutil.c, just some gtk wrappers */ extern void path_part (char *file, char *path, int pathlen); @@ -63,6 +70,13 @@ struct file_req void *userdata; filereqcallback callback; int flags; /* FRF_* flags */ + +#ifdef WIN32 + int multiple; + thread *th; + char *title; /* native locale */ + char *filter; +#endif }; static char last_dir[256] = ""; @@ -164,6 +178,190 @@ gtkutil_file_req_response (GtkWidget *dialog, gint res, struct file_req *freq) } } +#ifdef WIN32 +static int +win32_openfile (char *file_buf, int file_buf_len, char *title_text, char *filter, + int multiple) +{ + OPENFILENAME o; + + memset (&o, 0, sizeof (o)); + + o.lStructSize = sizeof (o); + o.lpstrFilter = filter; + o.lpstrFile = file_buf; + o.nMaxFile = file_buf_len; + o.lpstrTitle = title_text; + o.Flags = 0x02000000 | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY | + OFN_NOCHANGEDIR | OFN_EXPLORER | OFN_LONGNAMES | OFN_NONETWORKBUTTON; + if (multiple) + { + o.Flags |= OFN_ALLOWMULTISELECT; + } + + return GetOpenFileName (&o); +} + +static int +win32_savefile (char *file_buf, int file_buf_len, char *title_text, char *filter, + int multiple) +{ + /* we need the filter to get the default filename. it is from fe-gtk.c (fe_confirm); + * but that filter is actually the whole filename, so apply an empty filter and all good. + * in win32_thread2 we copy the filter ( = the filename) after the last dir into our + * LPTSTR file buffer to make it actually work. the docs for this amazingly retard api: + * + * http://msdn.microsoft.com/en-us/library/ms646839%28VS.85%29.aspx + */ + + OPENFILENAME o; + + memset (&o, 0, sizeof (o)); + + o.lStructSize = sizeof (o); + o.lpstrFilter = "All files\0*.*\0\0"; + o.lpstrFile = file_buf; + o.nMaxFile = file_buf_len; + o.lpstrTitle = title_text; + o.Flags = 0x02000000 | OFN_FILEMUSTEXIST | OFN_HIDEREADONLY | + OFN_NOCHANGEDIR | OFN_EXPLORER | OFN_LONGNAMES | OFN_NONETWORKBUTTON; + if (multiple) + { + o.Flags |= OFN_ALLOWMULTISELECT; + } + + return GetSaveFileName (&o); +} + +static void * +win32_thread (struct file_req *freq) +{ + char buf[1024 + 32]; + char file[1024]; + + memset (file, 0, sizeof (file)); + safe_strcpy (file, last_dir, sizeof (file)); + + if (win32_openfile (file, sizeof (file), freq->title, freq->filter, freq->multiple)) + { + if (freq->multiple) + { + char *f = file; + + if (f[strlen (f) + 1] == 0) /* only selected one file */ + { + snprintf (buf, sizeof (buf), "1\n%s\n", file); + write (freq->th->pipe_fd[1], buf, strlen (buf)); + } else + { + f += strlen (f) + 1; /* skip first, it's only the dir */ + while (f[0]) + { + snprintf (buf, sizeof (buf), "1\n%s\\%s\n", /*dir!*/file, f); + write (freq->th->pipe_fd[1], buf, strlen (buf)); + f += strlen (f) + 1; + } + } + + } else + { + snprintf (buf, sizeof (buf), "1\n%s\n", file); + write (freq->th->pipe_fd[1], buf, strlen (buf)); + } + } + + write (freq->th->pipe_fd[1], "0\n", 2); + Sleep (2000); + + return NULL; +} + +static void * +win32_thread2 (struct file_req *freq) +{ + char buf[1024 + 32]; + char file[1024]; + + memset (file, 0, sizeof (file)); + safe_strcpy (file, last_dir, sizeof (file)); + safe_strcpy (file, freq->filter, sizeof (file)); + + if (win32_savefile (file, sizeof (file), freq->title, NULL, freq->multiple)) + { + if (freq->multiple) + { + char *f = file; + + if (f[strlen (f) + 1] == 0) /* only selected one file */ + { + snprintf (buf, sizeof (buf), "1\n%s\n", file); + write (freq->th->pipe_fd[1], buf, strlen (buf)); + } else + { + f += strlen (f) + 1; /* skip first, it's only the dir */ + while (f[0]) + { + snprintf (buf, sizeof (buf), "1\n%s\\%s\n", /*dir!*/file, f); + write (freq->th->pipe_fd[1], buf, strlen (buf)); + f += strlen (f) + 1; + } + } + + } else + { + snprintf (buf, sizeof (buf), "1\n%s\n", file); + write (freq->th->pipe_fd[1], buf, strlen (buf)); + } + } + + write (freq->th->pipe_fd[1], "0\n", 2); + Sleep (2000); + + return NULL; +} + +static gboolean +win32_close_pipe (int fd) +{ + close (fd); + return 0; +} + +static gboolean +win32_read_thread (GIOChannel *source, GIOCondition cond, struct file_req *freq) +{ + char buf[512]; + char *file; + + waitline2 (source, buf, sizeof buf); + + switch (buf[0]) + { + case '0': /* filedialog has closed */ + freq->callback (freq->userdata, NULL); + break; + + case '1': /* got a filename! */ + waitline2 (source, buf, sizeof buf); + file = g_filename_to_utf8 (buf, -1, 0, 0, 0); + freq->callback (freq->userdata, file); + g_free (file); + return TRUE; + } + + /* it doesn't work to close them here, because of the weird + way giowin32 works. We must _return_ before closing them */ + g_timeout_add(3000, (GSourceFunc)win32_close_pipe, freq->th->pipe_fd[0]); + g_timeout_add(2000, (GSourceFunc)win32_close_pipe, freq->th->pipe_fd[1]); + + g_free (freq->title); + free (freq->th); + free (freq); + + return FALSE; +} +#endif + void gtkutil_file_req (const char *title, void *callback, void *userdata, char *filter, int flags) @@ -172,6 +370,58 @@ gtkutil_file_req (const char *title, void *callback, void *userdata, char *filte GtkWidget *dialog; extern char *get_xdir_fs (void); +#ifdef WIN32 + if (!(flags & FRF_WRITE)) + { + freq = malloc (sizeof (struct file_req)); + freq->th = thread_new (); + freq->flags = 0; + freq->multiple = (flags & FRF_MULTIPLE); + freq->callback = callback; + freq->userdata = userdata; + freq->title = g_locale_from_utf8 (title, -1, 0, 0, 0); + if (!filter) + { + freq->filter = "All files\0*.*\0" + "Executables\0*.exe\0" + "ZIP files\0*.zip\0\0"; + } + else + { + freq->filter = filter; + } + + thread_start (freq->th, win32_thread, freq); + fe_input_add (freq->th->pipe_fd[0], FIA_FD|FIA_READ, win32_read_thread, freq); + + return; + + } + + else { + freq = malloc (sizeof (struct file_req)); + freq->th = thread_new (); + freq->flags = 0; + freq->multiple = (flags & FRF_MULTIPLE); + freq->callback = callback; + freq->userdata = userdata; + freq->title = g_locale_from_utf8 (title, -1, 0, 0, 0); + if (!filter) + { + freq->filter = "All files\0*.*\0\0"; + } + else + { + freq->filter = filter; + } + + thread_start (freq->th, win32_thread2, freq); + fe_input_add (freq->th->pipe_fd[0], FIA_FD|FIA_READ, win32_read_thread, freq); + + return; + } +#endif + if (flags & FRF_WRITE) { dialog = gtk_file_chooser_dialog_new (title, NULL, diff --git a/src/fe-gtk/joind.c b/src/fe-gtk/joind.c index ee5c56d1..e645f0bc 100644 --- a/src/fe-gtk/joind.c +++ b/src/fe-gtk/joind.c @@ -9,10 +9,13 @@ #include <sys/types.h> #include <sys/stat.h> -#include <unistd.h> #include <string.h> #include <stdio.h> +#ifndef WIN32 +#include <unistd.h> +#endif + #include <gtk/gtkbbox.h> #include <gtk/gtkbutton.h> #include <gtk/gtkdialog.h> diff --git a/src/fe-gtk/maingui.c b/src/fe-gtk/maingui.c index ef269f95..28cf46a9 100644 --- a/src/fe-gtk/maingui.c +++ b/src/fe-gtk/maingui.c @@ -53,6 +53,8 @@ #include "../common/plugin.h" #include "../common/modes.h" #include "../common/url.h" +#include "../common/util.h" + #include "fe-gtk.h" #include "banlist.h" #include "gtkutil.h" @@ -214,60 +216,10 @@ mg_create_tab_colors (void) away_list = mg_attr_list_create (&colors[COL_AWAY], FALSE); } -#ifdef WIN32 -#define WINVER 0x0501 /* needed for vc6? */ -#include <windows.h> -#include <gdk/gdkwin32.h> - -/* Flash the taskbar button on Windows when there's a highlight event. */ - -static void -flash_window (GtkWidget *win) -{ - FLASHWINFO fi; - static HMODULE user = NULL; - static BOOL (*flash) (PFLASHWINFO) = NULL; - - if (!user) - { - user = GetModuleHandleA ("USER32"); - if (!user) - return; /* this should never fail */ - } - - if (!flash) - { - flash = (void *)GetProcAddress (user, "FlashWindowEx"); - if (!flash) - return; /* this fails on NT4.0 and Win95 */ - } - - fi.cbSize = sizeof (fi); - fi.hwnd = GDK_WINDOW_HWND (win->window); - fi.dwFlags = FLASHW_ALL | FLASHW_TIMERNOFG; - fi.uCount = 0; - fi.dwTimeout = 500; - flash (&fi); - /*FlashWindowEx (&fi);*/ -} -#else - -#ifdef USE_XLIB -#include <gdk/gdkx.h> - static void set_window_urgency (GtkWidget *win, gboolean set) { - XWMHints *hints; - - hints = XGetWMHints(GDK_WINDOW_XDISPLAY(win->window), GDK_WINDOW_XWINDOW(win->window)); - if (set) - hints->flags |= XUrgencyHint; - else - hints->flags &= ~XUrgencyHint; - XSetWMHints(GDK_WINDOW_XDISPLAY(win->window), - GDK_WINDOW_XWINDOW(win->window), hints); - XFree(hints); + gtk_window_set_urgency_hint (GTK_WINDOW (win), set); } static void @@ -281,18 +233,14 @@ unflash_window (GtkWidget *win) { set_window_urgency (win, FALSE); } -#endif -#endif /* flash the taskbar button */ void fe_flash_window (session *sess) { -#if defined(WIN32) || defined(USE_XLIB) if (fe_gui_info (sess, 0) != 1) /* only do it if not focused */ flash_window (sess->gui->window); -#endif } /* set a tab plain, red, light-red, or blue */ @@ -529,10 +477,22 @@ fe_set_title (session *sess) break; default: def: - gtk_window_set_title (GTK_WINDOW (sess->gui->window), DISPLAY_NAME); + snprintf (tbuf, sizeof (tbuf), DISPLAY_NAME); + if (strcmp (prefs.gui_license, "")) /* zero means gui_license is empty */ + { + strcat (tbuf, " - "); + strcat (tbuf, prefs.gui_license); + } + gtk_window_set_title (GTK_WINDOW (sess->gui->window), tbuf); return; } + if (strcmp (prefs.gui_license, "")) /* zero means gui_license is empty */ + { + strcat (tbuf, " - "); + strcat (tbuf, prefs.gui_license); + } + gtk_window_set_title (GTK_WINDOW (sess->gui->window), tbuf); } @@ -1334,7 +1294,7 @@ mg_open_quit_dialog (gboolean minimize_button) gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1), GTK_BUTTONBOX_END); - if (minimize_button) + if (minimize_button && !xtray_mode ()) { button = gtk_button_new_with_mnemonic (_("_Minimize to Tray")); gtk_widget_show (button); @@ -1632,7 +1592,12 @@ mg_create_alertmenu (session *sess, GtkWidget *menu) submenu = menu_quick_sub (_("_Extra Alerts"), menu, NULL, XCMENU_MNEMONIC, -1); mg_perchan_menu_item (_("Beep on _Message"), submenu, &sess->alert_beep, prefs.input_beep_chans); - mg_perchan_menu_item (_("Blink Tray _Icon"), submenu, &sess->alert_tray, prefs.input_tray_chans); + + if (!xtray_mode ()) /*disable this context menu item when xtray is loaded */ + { + mg_perchan_menu_item (_("Blink Tray _Icon"), submenu, &sess->alert_tray, prefs.input_tray_chans); + } + mg_perchan_menu_item (_("Blink Task _Bar"), submenu, &sess->alert_taskbar, prefs.input_flash_chans); } @@ -2972,11 +2937,7 @@ mg_tabwin_focus_cb (GtkWindow * win, GdkEventFocus *event, gpointer userdata) gtk_xtext_check_marker_visibility (GTK_XTEXT (current_sess->gui->xtext)); plugin_emit_dummy_print (current_sess, "Focus Window"); } -#ifndef WIN32 -#ifdef USE_XLIB unflash_window (GTK_WIDGET (win)); -#endif -#endif return FALSE; } @@ -2987,11 +2948,7 @@ mg_topwin_focus_cb (GtkWindow * win, GdkEventFocus *event, session *sess) if (!sess->server->server_session) sess->server->server_session = sess; gtk_xtext_check_marker_visibility(GTK_XTEXT (current_sess->gui->xtext)); -#ifndef WIN32 -#ifdef USE_XLIB unflash_window (GTK_WIDGET (win)); -#endif -#endif plugin_emit_dummy_print (sess, "Focus Window"); return FALSE; } diff --git a/src/fe-gtk/makefile.mak b/src/fe-gtk/makefile.mak new file mode 100644 index 00000000..27922405 --- /dev/null +++ b/src/fe-gtk/makefile.mak @@ -0,0 +1,62 @@ +include "..\makeinc.mak" + +FEGTK_OBJECTS = \ +about.obj \ +ascii.obj \ +banlist.obj \ +chanlist.obj \ +chanview.obj \ +custom-list.obj \ +dccgui.obj \ +editlist.obj \ +fe-gtk.obj \ +fkeys.obj \ +gtkutil.obj \ +ignoregui.obj \ +joind.obj \ +maingui.obj \ +menu.obj \ +notifygui.obj \ +palette.obj \ +pixmaps.obj \ +plugingui.obj \ +plugin-tray.obj \ +rawlog.obj \ +search.obj \ +servlistgui.obj \ +setup.obj \ +sexy-iso-codes.obj \ +sexy-marshal.obj \ +sexy-spell-entry.obj \ +textgui.obj \ +urlgrab.obj \ +userlistgui.obj \ +xtext.obj + +!ifdef X64 +MACHINE_FLAG = /MACHINE:X64 +!else +MACHINE_FLAG = /MACHINE:X86 +!endif + +COMLIB = ..\common\xchatcommon.lib +PROG = xchat.exe + +all: $(PROG) + +.c.obj:: + $(CC) $(CFLAGS) -I..\..\plugins $(GLIB) $(GTK) $< + +$(PROG): $(FEGTK_OBJECTS) $(COMLIB) xchat-icon.obj + $(LINK) /out:$(PROG) /entry:mainCRTStartup $(LDFLAGS) $(LIBS) $(FEGTK_OBJECTS) $(COMLIB) xchat-icon.obj + +xchat.res: xchat.rc ../../xchat.ico + rc /nologo /r xchat.rc + +xchat-icon.obj: xchat.res + cvtres /nologo $(MACHINE_FLAG) /OUT:xchat-icon.obj xchat.res + +clean: + @del *.obj + @del $(PROG) + @del xchat.res diff --git a/src/fe-gtk/menu.c b/src/fe-gtk/menu.c index d04be222..e6a5eca0 100644 --- a/src/fe-gtk/menu.c +++ b/src/fe-gtk/menu.c @@ -20,10 +20,11 @@ #include <stdlib.h> #include <fcntl.h> #include <string.h> -#include <unistd.h> #ifdef WIN32 #include <windows.h> +#else +#include <unistd.h> #endif #include "fe-gtk.h" @@ -1122,6 +1123,23 @@ usermenu_update (void) } } +#if 0 +static void +menu_saveconf (void) +{ + session *sess = current_sess; + + if (save_config ()) + { + PrintText (sess, "Settings have been saved successfully.\n"); + } + else + { + PrintText (sess, "Error saving settings.\n"); + } +} +#endif + static void menu_newserver_window (GtkWidget * wid, gpointer none) { @@ -1204,6 +1222,12 @@ menu_resetmarker (GtkWidget * wid, gpointer none) } static void +menu_copy_selection (GtkWidget * wid, gpointer none) +{ + gtk_xtext_copy_selection (GTK_XTEXT (current_sess->gui->xtext)); +} + +static void menu_flushbuffer (GtkWidget * wid, gpointer none) { fe_text_clear (current_sess, 0); @@ -1580,7 +1604,7 @@ static struct mymenu mymenu[] = { #endif {0, 0, 0, M_SEP, 0, 0, 0}, /* 11 */ #define DETACH_OFFSET (12) - {0, menu_detach, GTK_STOCK_REDO, M_MENUSTOCK, 0, 0, 1, GDK_I}, /* 12 */ + {0, menu_detach, GTK_STOCK_REDO, M_MENUSTOCK, 0, 0, 1, GDK_i}, /* 12 */ #define CLOSE_OFFSET (13) {0, menu_close, GTK_STOCK_CLOSE, M_MENUSTOCK, 0, 0, 1, GDK_w}, {0, 0, 0, M_SEP, 0, 0, 0}, @@ -1633,6 +1657,10 @@ static struct mymenu mymenu[] = { {N_("Userlist Popup..."), menu_ulpopup, 0, M_MENUITEM, 0, 0, 1}, {0, 0, 0, M_END, 0, 0, 0}, /* 53 */ +#if 0 + {N_("Save Settings to Disk"), menu_saveconf, GTK_STOCK_SAVE, M_MENUSTOCK, 0, 0, 1}, /* don't use this, a /set auto-save approach will be added instead */ +#endif + {N_("_Window"), 0, 0, M_NEWMENU, 0, 0, 1}, {N_("Ban List..."), menu_banlist, 0, M_MENUITEM, 0, 0, 1}, {N_("Character Chart..."), ascii_open, 0, M_MENUITEM, 0, 0, 1}, @@ -1645,12 +1673,13 @@ static struct mymenu mymenu[] = { {N_("URL Grabber..."), url_opengui, 0, M_MENUITEM, 0, 0, 1}, {0, 0, 0, M_SEP, 0, 0, 0}, {N_("Reset Marker Line"), menu_resetmarker, 0, M_MENUITEM, 0, 0, 1, GDK_m}, + {N_("_Copy Selection"), menu_copy_selection, 0, M_MENUITEM, 0, 0, 1, GDK_C}, {N_("C_lear Text"), menu_flushbuffer, GTK_STOCK_CLEAR, M_MENUSTOCK, 0, 0, 1, GDK_l}, -#define SEARCH_OFFSET 67 +#define SEARCH_OFFSET 68 {N_("Search Text..."), menu_search, GTK_STOCK_FIND, M_MENUSTOCK, 0, 0, 1, GDK_f}, {N_("Save Text..."), menu_savebuffer, GTK_STOCK_SAVE, M_MENUSTOCK, 0, 0, 1}, - {N_("_Help"), 0, 0, M_NEWMENU, 0, 0, 1}, /* 69 */ + {N_("_Help"), 0, 0, M_NEWMENU, 0, 0, 1}, /* 70 */ {N_("_Contents"), menu_docs, GTK_STOCK_HELP, M_MENUSTOCK, 0, 0, 1, GDK_F1}, #if 0 {N_("Check for updates"), menu_update, 0, M_MENUITEM, 0, 1}, @@ -2188,7 +2217,9 @@ normalitem: mymenu[i].key, mymenu[i].key == GDK_F1 ? 0 : mymenu[i].key == GDK_w ? close_mask : - GDK_CONTROL_MASK, + (g_ascii_isupper (mymenu[i].key)) ? + GDK_SHIFT_MASK | GDK_CONTROL_MASK : + GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); if (mymenu[i].callback) g_signal_connect (G_OBJECT (item), "activate", diff --git a/src/fe-gtk/palette.c b/src/fe-gtk/palette.c index ebae92ff..104700c2 100644 --- a/src/fe-gtk/palette.c +++ b/src/fe-gtk/palette.c @@ -18,11 +18,14 @@ #include <stdio.h> #include <stdlib.h> -#include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> +#ifndef WIN32 +#include <unistd.h> +#endif + #include "fe-gtk.h" #include "palette.h" @@ -78,8 +81,9 @@ GdkColor colors[] = { {0, 0x0000, 0x0000, 0xffff}, /* 38 tab Nick Mentioned (blue) */ {0, 0xffff, 0x0000, 0x0000}, /* 39 tab New Message (red) */ {0, 0x9595, 0x9595, 0x9595}, /* 40 away user (grey) */ + {0, 0xffff, 0x0000, 0x0000}, /* 41 spell checker color (red) */ }; -#define MAX_COL 40 +#define MAX_COL 41 void diff --git a/src/fe-gtk/palette.h b/src/fe-gtk/palette.h index c97693bb..627c6963 100644 --- a/src/fe-gtk/palette.h +++ b/src/fe-gtk/palette.h @@ -9,6 +9,7 @@ extern GdkColor colors[]; #define COL_HILIGHT 38 #define COL_NEW_MSG 39 #define COL_AWAY 40 +#define COL_SPELL 41 void palette_alloc (GtkWidget * widget); void palette_load (void); diff --git a/src/fe-gtk/plugin-tray.c b/src/fe-gtk/plugin-tray.c index e46d9570..b9f60f8d 100644 --- a/src/fe-gtk/plugin-tray.c +++ b/src/fe-gtk/plugin-tray.c @@ -1,7 +1,6 @@ /* Copyright (C) 2006-2007 Peter Zelezny. */ #include <string.h> -#include <unistd.h> #include "../common/xchat-plugin.h" #include "../common/xchat.h" #include "../common/xchatc.h" @@ -15,6 +14,10 @@ #include "menu.h" #include <gtk/gtk.h> +#ifndef WIN32 +#include <unistd.h> +#endif + #ifdef USE_LIBNOTIFY #include <libnotify/notify.h> #ifndef NOTIFY_CHECK_VERSION @@ -217,10 +220,10 @@ tray_stop_flash (void) nets = tray_count_networks (); chans = tray_count_channels (); if (nets) - tray_set_tipf (_("XChat: Connected to %u networks and %u channels"), + tray_set_tipf (_("XChat-WDK: Connected to %u networks and %u channels"), nets, chans); else - tray_set_tipf ("XChat: %s", _("Not connected.")); + tray_set_tipf ("XChat-WDK: %s", _("Not connected.")); } if (custom_icon1) @@ -370,7 +373,7 @@ tray_toggle_visibility (gboolean force_hide) /* ph may have an invalid context now */ xchat_set_context (ph, xchat_find_context (ph, NULL, NULL)); - win = (GtkWindow *)xchat_get_info (ph, "win_ptr"); + win = xchat_get_info (ph, "gtkwin_ptr"); tray_stop_flash (); tray_reset_counts (); @@ -505,11 +508,12 @@ tray_menu_cb (GtkWidget *widget, guint button, guint time, gpointer userdata) /*gtk_menu_set_screen (GTK_MENU (menu), gtk_widget_get_screen (widget));*/ if (tray_get_window_status () == WS_HIDDEN) - tray_make_item (menu, _("_Restore"), tray_menu_restore_cb, NULL); + tray_make_item (menu, _("_Restore Window"), tray_menu_restore_cb, NULL); else - tray_make_item (menu, _("_Hide"), tray_menu_restore_cb, NULL); + tray_make_item (menu, _("_Hide Window"), tray_menu_restore_cb, NULL); tray_make_item (menu, NULL, tray_menu_quit_cb, NULL); +#ifndef WIN32 /* somehow this is broken on win32 */ submenu = mg_submenu (menu, _("_Blink on")); blink_item (&prefs.input_tray_chans, submenu, _("Channel Message")); blink_item (&prefs.input_tray_priv, submenu, _("Private Message")); @@ -526,6 +530,8 @@ tray_menu_cb (GtkWidget *widget, guint button, guint time, gpointer userdata) gtk_widget_set_sensitive (item, FALSE); tray_make_item (menu, NULL, tray_menu_quit_cb, NULL); +#endif + mg_create_icon_item (_("_Quit"), GTK_STOCK_QUIT, menu, tray_menu_quit_cb, NULL); menu_add_plugin_items (menu, "\x5$TRAY", NULL); @@ -551,8 +557,12 @@ tray_init (void) sticon = gtk_status_icon_new_from_pixbuf (ICON_NORMAL); if (!sticon) return; + +#ifndef WIN32 g_signal_connect (G_OBJECT (sticon), "popup-menu", G_CALLBACK (tray_menu_cb), sticon); +#endif + g_signal_connect (G_OBJECT (sticon), "activate", G_CALLBACK (tray_menu_restore_cb), NULL); } @@ -570,15 +580,15 @@ tray_hilight_cb (char *word[], void *userdata) /* FIXME: hides any previous private messages */ tray_hilight_count++; if (tray_hilight_count == 1) - tray_set_tipf (_("XChat: Highlighted message from: %s (%s)"), + tray_set_tipf (_("XChat-WDK: Highlighted message from: %s (%s)"), word[1], xchat_get_info (ph, "channel")); else - tray_set_tipf (_("XChat: %u highlighted messages, latest from: %s (%s)"), + tray_set_tipf (_("XChat-WDK: %u highlighted messages, latest from: %s (%s)"), tray_hilight_count, word[1], xchat_get_info (ph, "channel")); } if (prefs.input_balloon_hilight) - tray_set_balloonf (word[2], _("XChat: Highlighted message from: %s (%s)"), + tray_set_balloonf (word[2], _("XChat-WDK: Highlighted message from: %s (%s)"), word[1], xchat_get_info (ph, "channel")); return XCHAT_EAT_NONE; @@ -596,14 +606,14 @@ tray_message_cb (char *word[], void *userdata) tray_pub_count++; if (tray_pub_count == 1) - tray_set_tipf (_("XChat: New public message from: %s (%s)"), + tray_set_tipf (_("XChat-WDK: New public message from: %s (%s)"), word[1], xchat_get_info (ph, "channel")); else - tray_set_tipf (_("XChat: %u new public messages."), tray_pub_count); + tray_set_tipf (_("XChat-WDK: %u new public messages."), tray_pub_count); } if (prefs.input_balloon_chans) - tray_set_balloonf (word[2], _("XChat: New public message from: %s (%s)"), + tray_set_balloonf (word[2], _("XChat-WDK: New public message from: %s (%s)"), word[1], xchat_get_info (ph, "channel")); return XCHAT_EAT_NONE; @@ -625,14 +635,14 @@ tray_priv (char *from, char *text) tray_priv_count++; if (tray_priv_count == 1) - tray_set_tipf (_("XChat: Private message from: %s (%s)"), + tray_set_tipf (_("XChat-WDK: Private message from: %s (%s)"), from, network); else - tray_set_tipf (_("XChat: %u private messages, latest from: %s (%s)"), + tray_set_tipf (_("XChat-WDK: %u private messages, latest from: %s (%s)"), tray_priv_count, from, network); if (prefs.input_balloon_priv) - tray_set_balloonf (text, _("XChat: Private message from: %s (%s)"), + tray_set_balloonf (text, _("XChat-WDK: Private message from: %s (%s)"), from, network); } @@ -678,15 +688,15 @@ tray_dcc_cb (char *word[], void *userdata) tray_file_count++; if (tray_file_count == 1) - tray_set_tipf (_("XChat: File offer from: %s (%s)"), + tray_set_tipf (_("XChat-WDK: File offer from: %s (%s)"), word[1], network); else - tray_set_tipf (_("XChat: %u file offers, latest from: %s (%s)"), + tray_set_tipf (_("XChat-WDK: %u file offers, latest from: %s (%s)"), tray_file_count, word[1], network); } if (prefs.input_balloon_priv) - tray_set_balloonf ("", _("XChat: File offer from: %s (%s)"), + tray_set_balloonf ("", _("XChat-WDK: File offer from: %s (%s)"), word[1], network); return XCHAT_EAT_NONE; @@ -722,7 +732,7 @@ tray_apply_setup (void) } else { - if (prefs.gui_tray) + if (prefs.gui_tray && !xtray_mode ()) tray_init (); } } @@ -754,7 +764,7 @@ tray_plugin_init (xchat_plugin *plugin_handle, char **plugin_name, xchat_hook_print (ph, "Focus Window", -1, tray_focus_cb, NULL); - if (prefs.gui_tray) + if (prefs.gui_tray && !xtray_mode ()) tray_init (); return 1; /* return 1 for success */ diff --git a/src/fe-gtk/plugingui.c b/src/fe-gtk/plugingui.c index de59e649..71d2f02e 100644 --- a/src/fe-gtk/plugingui.c +++ b/src/fe-gtk/plugingui.c @@ -146,8 +146,13 @@ plugingui_load_cb (session *sess, char *file) void plugingui_load (void) { - gtkutil_file_req (_("Select a Plugin or Script to load"), plugingui_load_cb, - current_sess, NULL, FRF_ADDFOLDER); + gtkutil_file_req (_("Select a Plugin or Script to load"), plugingui_load_cb, current_sess, +#ifdef WIN32 + "Plugins and Scripts\0*.dll;*.lua;*.pl;*.py;*.tcl\0" + "All files\0*.*\0\0", 0); +#else + NULL, FRF_ADDFOLDER); +#endif } static void diff --git a/src/fe-gtk/rawlog.c b/src/fe-gtk/rawlog.c index 56ca0510..593468c1 100644 --- a/src/fe-gtk/rawlog.c +++ b/src/fe-gtk/rawlog.c @@ -19,9 +19,12 @@ #include <stdio.h> #include <string.h> #include <fcntl.h> -#include <unistd.h> #include <stdlib.h> +#ifndef WIN32 +#include <unistd.h> +#endif + #include "fe-gtk.h" #include <gtk/gtkbutton.h> diff --git a/src/fe-gtk/search.c b/src/fe-gtk/search.c index d62e79c7..bbde9c5c 100644 --- a/src/fe-gtk/search.c +++ b/src/fe-gtk/search.c @@ -153,7 +153,7 @@ search_open (session * sess) _("_Find")); g_object_set_data (G_OBJECT (wid), "e", entry); - g_signal_connect (G_OBJECT (win), "key-press-event", G_CALLBACK (search_key_cb), win); + g_signal_connect (G_OBJECT (win), "key_press_event", G_CALLBACK (search_key_cb), win); gtk_widget_show (win); } diff --git a/src/fe-gtk/setup.c b/src/fe-gtk/setup.c index 517e0944..cec06b25 100644 --- a/src/fe-gtk/setup.c +++ b/src/fe-gtk/setup.c @@ -102,7 +102,12 @@ typedef struct static const setting textbox_settings[] = { {ST_HEADER, N_("Text Box Appearance"),0,0,0}, +#ifdef WIN32 + {ST_EFONT, N_("Main font:"), P_OFFSETNL(font_main), 0, 0, sizeof prefs.font_main}, + {ST_ENTRY, N_("Alternative fonts:"), P_OFFSETNL(font_alternative), "Separate multiple entries with commas without spaces before or after.", 0, sizeof prefs.font_alternative}, +#else {ST_EFONT, N_("Font:"), P_OFFSETNL(font_normal), 0, 0, sizeof prefs.font_normal}, +#endif {ST_EFILE, N_("Background image:"), P_OFFSETNL(background), 0, 0, sizeof prefs.background}, {ST_NUMBER, N_("Scrollback lines:"), P_OFFINTNL(max_lines),0,0,100000}, {ST_TOGGLE, N_("Colored nick names"), P_OFFINTNL(colorednicks), @@ -120,7 +125,24 @@ static const setting textbox_settings[] = {ST_HEADER, N_("Time Stamps"),0,0,0}, {ST_TOGGLE, N_("Enable time stamps"), P_OFFINTNL(timestamp),0,0,2}, {ST_ENTRY, N_("Time stamp format:"), P_OFFSETNL(stamp_format), - N_("See strftime manpage for details."),0,sizeof prefs.stamp_format}, +#ifdef WIN32 + N_("See the strftime MSDN article for details."),0,sizeof prefs.stamp_format}, +#else + N_("See the strftime manpage for details."),0,sizeof prefs.stamp_format}, +#endif + + {ST_HEADER, N_("Auto-Copy Behavior"),0,0,0}, + {ST_TOGGLE, N_("Automatically copy selected text"), P_OFFINTNL(autocopy_text), + N_("Copy selected text to clipboard when left mouse button is released. " + "Otherwise, CONTROL-SHIFT-C will copy the " + "selected text to the clipboard."), 0, 0}, + {ST_TOGGLE, N_("Automatically include time stamps"), P_OFFINTNL(autocopy_stamp), + N_("Automatically include time stamps in copied lines of text. Otherwise, " + "include time stamps if the SHIFT key is held down while selecting."), 0, 0}, + {ST_TOGGLE, N_("Automatically include color information"), P_OFFINTNL(autocopy_color), + N_("Automatically include color information in copied lines of text. " + "Otherwise, include color information if the CONTROL key is held down " + "while selecting."), 0, 0}, {ST_END, 0, 0, 0, 0, 0} }; @@ -138,6 +160,12 @@ static const setting inputbox_settings[] = {ST_TOGGLE, N_("Use the Text box font and colors"), P_OFFINTNL(style_inputbox),0,0,0}, #if defined(USE_GTKSPELL) || defined(USE_LIBSEXY) {ST_TOGGLE, N_("Spell checking"), P_OFFINTNL(gui_input_spell),0,0,0}, + {ST_ENTRY, N_("Dictionaries to use:"), P_OFFSETNL(spell_langs),0,0,sizeof prefs.spell_langs}, +#ifdef WIN32 + {ST_LABEL, N_("Use language codes (as in \"share\\myspell\\dicts\").\nSeparate multiple entries with commas.")}, +#else + {ST_LABEL, N_("Use language codes. Separate multiple entries with commas.")}, +#endif #endif {ST_HEADER, N_("Nick Completion"),0,0,0}, @@ -348,6 +376,24 @@ static const setting alert_settings[] = {ST_END, 0, 0, 0, 0, 0} }; +static const setting alert_settings_xtray[] = +{ + {ST_HEADER, N_("Alerts"),0,0,0}, + + {ST_ALERTHEAD}, + {ST_3OGGLE, N_("Blink task bar on:"), 0, 0, (void *)taskbarlist, 0}, + {ST_3OGGLE, N_("Make a beep sound on:"), 0, 0, (void *)beeplist, 0}, + + {ST_HEADER, N_("Highlighted Messages"),0,0,0}, + {ST_LABEL, N_("Highlighted messages are ones where your nickname is mentioned, but also:"), 0, 0, 0, 1}, + + {ST_ENTRY, N_("Extra words to highlight:"), P_OFFSETNL(irc_extra_hilight), 0, 0, sizeof prefs.irc_extra_hilight}, + {ST_ENTRY, N_("Nick names not to highlight:"), P_OFFSETNL(irc_no_hilight), 0, 0, sizeof prefs.irc_no_hilight}, + {ST_ENTRY, N_("Nick names to always highlight:"), P_OFFSETNL(irc_nick_hilight), 0, 0, sizeof prefs.irc_nick_hilight}, + {ST_LABEL, N_("Separate multiple words with commas.\nWildcards are accepted.")}, + {ST_END, 0, 0, 0, 0, 0} +}; + static const setting general_settings[] = { {ST_HEADER, N_("Default Messages"),0,0,0}, @@ -363,7 +409,6 @@ static const setting general_settings[] = {ST_END, 0, 0, 0, 0, 0} }; -#if 0 static const setting advanced_settings[] = { {ST_HEADER, N_("Advanced Settings"),0,0,0}, @@ -371,6 +416,25 @@ static const setting advanced_settings[] = {ST_TOGGLE, N_("Display MODEs in raw form"), P_OFFINTNL(raw_modes), 0, 0, 0}, {ST_TOGGLE, N_("Whois on notify"), P_OFFINTNL(whois_on_notifyonline), N_("Sends a /WHOIS when a user comes online in your notify list"), 0, 0}, {ST_TOGGLE, N_("Hide join and part messages"), P_OFFINTNL(confmode), N_("Hide channel join/part messages by default"), 0, 0}, + {ST_ENTRY, N_("License Text:"), P_OFFSETNL(gui_license), 0, 0, sizeof prefs.gui_license}, + {ST_HEADER, N_("Auto Open DCC Windows"),0,0,0}, + {ST_TOGGLE, N_("Send window"), P_OFFINTNL(autoopendccsendwindow), 0, 0, 0}, + {ST_TOGGLE, N_("Receive window"), P_OFFINTNL(autoopendccrecvwindow), 0, 0, 0}, + {ST_TOGGLE, N_("Chat window"), P_OFFINTNL(autoopendccchatwindow), 0, 0, 0}, + + {ST_END, 0, 0, 0, 0, 0} +}; + +#ifdef WIN32 +static const setting advanced_settings_oneinstance[] = +{ + {ST_HEADER, N_("Advanced Settings"),0,0,0}, + {ST_NUMBER, N_("Auto reconnect delay:"), P_OFFINTNL(recon_delay), 0, 0, 9999}, + {ST_TOGGLE, N_("Display MODEs in raw form"), P_OFFINTNL(raw_modes), 0, 0, 0}, + {ST_TOGGLE, N_("Whois on notify"), P_OFFINTNL(whois_on_notifyonline), N_("Sends a /WHOIS when a user comes online in your notify list"), 0, 0}, + {ST_TOGGLE, N_("Hide join and part messages"), P_OFFINTNL(confmode), N_("Hide channel join/part messages by default"), 0, 0}, + {ST_TOGGLE, N_("Allow only one instance of XChat to run"), P_OFFINTNL(gui_one_instance), 0, 0, 0}, + {ST_ENTRY, N_("License Text:"), P_OFFSETNL(gui_license), 0, 0, sizeof prefs.gui_license}, {ST_HEADER, N_("Auto Open DCC Windows"),0,0,0}, {ST_TOGGLE, N_("Send window"), P_OFFINTNL(autoopendccsendwindow), 0, 0, 0}, {ST_TOGGLE, N_("Receive window"), P_OFFINTNL(autoopendccrecvwindow), 0, 0, 0}, @@ -391,7 +455,11 @@ static const setting logging_settings[] = {ST_HEADER, N_("Time Stamps"),0,0,0}, {ST_TOGGLE, N_("Insert timestamps in logs"), P_OFFINTNL(timestamp_logs), 0, 0, 2}, {ST_ENTRY, N_("Log timestamp format:"), P_OFFSETNL(timestamp_log_format), 0, 0, sizeof prefs.timestamp_log_format}, - {ST_LABEL, N_("See strftime manpage for details.")}, +#ifdef WIN32 + {ST_LABEL, N_("See the strftime MSDN article for details.")}, +#else + {ST_LABEL, N_("See the strftime manpage for details.")}, +#endif {ST_END, 0, 0, 0, 0, 0} }; @@ -1328,6 +1396,9 @@ setup_create_color_page (void) setup_create_other_color (_("New message:"), COL_NEW_MSG, 10, tab); setup_create_other_colorR (_("Away user:"), COL_AWAY, 10, tab); setup_create_other_color (_("Highlight:"), COL_HILIGHT, 11, tab); +#if defined(USE_GTKSPELL) || defined(USE_LIBSEXY) + setup_create_other_colorR (_("Spell checker:"), COL_SPELL, 11, tab); +#endif return box; } @@ -1711,7 +1782,7 @@ static const char *const cata[] = N_("General"), N_("Logging"), N_("Sound"), -/* N_("Advanced"),*/ + N_("Advanced"), NULL, N_("Network"), N_("Network setup"), @@ -1732,10 +1803,33 @@ setup_create_pages (GtkWidget *box) setup_add_page (cata[3], book, setup_create_page (userlist_settings)); setup_add_page (cata[4], book, setup_create_page (tabs_settings)); setup_add_page (cata[5], book, setup_create_color_page ()); - setup_add_page (cata[8], book, setup_create_page (alert_settings)); + + if (xtray_mode ()) + { + setup_add_page (cata[8], book, setup_create_page (alert_settings_xtray)); + } + else + { + setup_add_page (cata[8], book, setup_create_page (alert_settings)); + } + setup_add_page (cata[9], book, setup_create_page (general_settings)); setup_add_page (cata[10], book, setup_create_page (logging_settings)); setup_add_page (cata[11], book, setup_create_sound_page ()); + +#ifdef WIN32 + if (portable_mode ()) + { + setup_add_page (cata[12], book, setup_create_page (advanced_settings)); + } + else + { + setup_add_page (cata[12], book, setup_create_page (advanced_settings_oneinstance)); + } +#else + setup_add_page (cata[12], book, setup_create_page (advanced_settings)); +#endif + setup_add_page (cata[14], book, setup_create_page (network_settings)); setup_add_page (cata[15], book, setup_create_page (filexfer_settings)); @@ -1971,6 +2065,12 @@ setup_apply_real (int new_pix, int do_ulist, int do_layout) static void setup_apply (struct xchatprefs *pr) { +#ifdef WIN32 + PangoFontDescription *old_desc; + PangoFontDescription *new_desc; + char buffer[4 * FONTNAMELEN + 1]; + time_t rawtime; +#endif int new_pix = FALSE; int noapply = FALSE; int do_ulist = FALSE; @@ -2014,6 +2114,30 @@ setup_apply (struct xchatprefs *pr) memcpy (&prefs, pr, sizeof (prefs)); +#ifdef WIN32 + /* merge font_main and font_alternative into font_normal */ + old_desc = pango_font_description_from_string (prefs.font_main); + sprintf (buffer, "%s,%s", pango_font_description_get_family (old_desc), prefs.font_alternative); + new_desc = pango_font_description_from_string (buffer); + pango_font_description_set_weight (new_desc, pango_font_description_get_weight (old_desc)); + pango_font_description_set_style (new_desc, pango_font_description_get_style (old_desc)); + pango_font_description_set_size (new_desc, pango_font_description_get_size (old_desc)); + sprintf (prefs.font_normal, "%s", pango_font_description_to_string (new_desc)); + + /* FIXME this is not required after pango_font_description_from_string() + g_free (old_desc); + g_free (new_desc); + */ + + /* workaround for strftime differences between POSIX and MSVC */ + time (&rawtime); + + if (!strftime (buffer, sizeof (buffer), prefs.stamp_format, localtime (&rawtime)) || !strftime (buffer, sizeof (buffer), prefs.timestamp_log_format, localtime (&rawtime))) + { + fe_message (_("Invalid time stamp format! See the strftime MSDN article for details."), FE_MSG_ERROR); + } +#endif + setup_apply_real (new_pix, do_ulist, do_layout); if (noapply) diff --git a/src/fe-gtk/sexy-iso-codes.c b/src/fe-gtk/sexy-iso-codes.c new file mode 100644 index 00000000..4b637c9f --- /dev/null +++ b/src/fe-gtk/sexy-iso-codes.c @@ -0,0 +1,305 @@ +/* + * Copyright (C) 2005 Nathan Fredrickson + * Borrowed from Galeon, renamed, and simplified to only use iso-codes with no + * fallback method. + * + * Copyright (C) 2004 Christian Persch + * Copyright (C) 2004 Crispin Flowerday + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + * + */ + +#include "../../config.h" + +#include "sexy-iso-codes.h" + +#include <glib/gi18n.h> + +#include <string.h> + +#include <libxml/xmlreader.h> + +static GHashTable *iso_639_table = NULL; +static GHashTable *iso_3166_table = NULL; + +#define ISO_639_DOMAIN "iso_639" +#define ISO_3166_DOMAIN "iso_3166" + +#ifdef HAVE_ISO_CODES + +#define ISOCODESLOCALEDIR "/share/locale" + +static void +read_iso_639_entry (xmlTextReaderPtr reader, + GHashTable *table) +{ + xmlChar *code, *name; + + code = xmlTextReaderGetAttribute (reader, (const xmlChar *) "iso_639_1_code"); + name = xmlTextReaderGetAttribute (reader, (const xmlChar *) "name"); + + /* Get iso-639-2 code */ + if (code == NULL || code[0] == '\0') + { + xmlFree (code); + /* FIXME: use the 2T or 2B code? */ + code = xmlTextReaderGetAttribute (reader, (const xmlChar *) "iso_639_2T_code"); + } + + if (code != NULL && code[0] != '\0' && name != NULL && name[0] != '\0') + { + g_hash_table_insert (table, code, name); + } + else + { + xmlFree (code); + xmlFree (name); + } +} + +static void +read_iso_3166_entry (xmlTextReaderPtr reader, + GHashTable *table) +{ + xmlChar *code, *name; + + code = xmlTextReaderGetAttribute (reader, (const xmlChar *) "alpha_2_code"); + name = xmlTextReaderGetAttribute (reader, (const xmlChar *) "name"); + + if (code != NULL && code[0] != '\0' && name != NULL && name[0] != '\0') + { + char *lcode; + + lcode = g_ascii_strdown ((char *) code, -1); + xmlFree (code); + + g_hash_table_insert (table, lcode, name); + } + else + { + xmlFree (code); + xmlFree (name); + } + +} + +typedef enum +{ + STATE_START, + STATE_STOP, + STATE_ENTRIES, +} ParserState; + +static gboolean +load_iso_entries (int iso, + GFunc read_entry_func, + gpointer user_data) +{ + xmlTextReaderPtr reader; + ParserState state = STATE_START; + xmlChar iso_entries[32], iso_entry[32]; + char *filename; + int ret = -1; + +#ifdef WIN32 + filename = g_strdup_printf (".\\share\\xml\\iso-codes\\iso_%d.xml", iso); +#else + filename = g_strdup_printf ("/usr/share/xml/iso-codes/iso_%d.xml", iso); +#endif + reader = xmlNewTextReaderFilename (filename); + if (reader == NULL) goto out; + + xmlStrPrintf (iso_entries, sizeof (iso_entries), + (xmlChar *)"iso_%d_entries", iso); + xmlStrPrintf (iso_entry, sizeof (iso_entry), + (xmlChar *)"iso_%d_entry", iso); + + ret = xmlTextReaderRead (reader); + + while (ret == 1) + { + const xmlChar *tag; + xmlReaderTypes type; + + tag = xmlTextReaderConstName (reader); + type = xmlTextReaderNodeType (reader); + + if (state == STATE_ENTRIES && + type == XML_READER_TYPE_ELEMENT && + xmlStrEqual (tag, iso_entry)) + { + read_entry_func (reader, user_data); + } + else if (state == STATE_START && + type == XML_READER_TYPE_ELEMENT && + xmlStrEqual (tag, iso_entries)) + { + state = STATE_ENTRIES; + } + else if (state == STATE_ENTRIES && + type == XML_READER_TYPE_END_ELEMENT && + xmlStrEqual (tag, iso_entries)) + { + state = STATE_STOP; + } + else if (type == XML_READER_TYPE_SIGNIFICANT_WHITESPACE || + type == XML_READER_TYPE_WHITESPACE || + type == XML_READER_TYPE_TEXT || + type == XML_READER_TYPE_COMMENT) + { + /* eat it */ + } + else + { + /* ignore it */ + } + + ret = xmlTextReaderRead (reader); + } + + xmlFreeTextReader (reader); + +out: + if (ret < 0 || state != STATE_STOP) + { + /* This is not critical, we will fallback to our own code */ + g_free (filename); + return FALSE; + } + + g_free (filename); + + return TRUE; +} + +#endif /* HAVE_ISO_CODES */ + + +static void +ensure_iso_codes_initialised (void) +{ + static gboolean initialised = FALSE; + + if (initialised == TRUE) + { + return; + } + initialised = TRUE; + +#if defined (ENABLE_NLS) && defined (HAVE_ISO_CODES) + bindtextdomain (ISO_639_DOMAIN, ISOCODESLOCALEDIR); + bind_textdomain_codeset (ISO_639_DOMAIN, "UTF-8"); + + bindtextdomain(ISO_3166_DOMAIN, ISOCODESLOCALEDIR); + bind_textdomain_codeset (ISO_3166_DOMAIN, "UTF-8"); +#endif + + iso_639_table = g_hash_table_new_full (g_str_hash, g_str_equal, + (GDestroyNotify) xmlFree, + (GDestroyNotify) xmlFree); + + iso_3166_table = g_hash_table_new_full (g_str_hash, g_str_equal, + (GDestroyNotify) g_free, + (GDestroyNotify) xmlFree); + +#ifdef HAVE_ISO_CODES + load_iso_entries (639, (GFunc) read_iso_639_entry, iso_639_table); + load_iso_entries (3166, (GFunc) read_iso_3166_entry, iso_3166_table); +#endif +} + + +static char * +get_iso_name_for_lang_code (const char *code) +{ + char **str; + char *name = NULL; + const char *langname, *localename; + int len; + + str = g_strsplit (code, "_", -1); + + /* count the entries */ + for (len = 0; str[len]; len++ ) /* empty */; + + g_return_val_if_fail (len != 0, NULL); + + langname = (const char *) g_hash_table_lookup (iso_639_table, str[0]); + + if (len == 1 && langname != NULL) + { + name = g_strdup (dgettext (ISO_639_DOMAIN, langname)); + } + else if (len == 2 && langname != NULL) + { + localename = (const char *) g_hash_table_lookup (iso_3166_table, str[1]); + + if (localename != NULL) + { + /* translators: the first %s is the language name, and the + * second %s is the locale name. Example: + * "French (France) + * + * Also: The text before the "|" is context to help you decide on + * the correct translation. You MUST OMIT it in the translated string. + */ + name = g_strdup_printf (Q_("language|%s (%s)"), + dgettext (ISO_639_DOMAIN, langname), + dgettext (ISO_3166_DOMAIN, localename)); + } + else + { + name = g_strdup_printf (Q_("language|%s (%s)"), + dgettext (ISO_639_DOMAIN, langname), str[1]); + } + } + + g_strfreev (str); + + return name; +} + +/** + * gtkspell_iso_codes_lookup_name_for_code: + * @code: A language code, e.g. en_CA + * + * Looks up a name to display to the user for a language code, + * this might use the iso-codes package if support was compiled + * in, and it is available + * + * Returns: the UTF-8 string to display to the user, or NULL if + * a name for the code could not be found + */ +char * +gtkspell_iso_codes_lookup_name_for_code (const char *code) +{ + char * lcode; + char * ret; + + g_return_val_if_fail (code != NULL, NULL); + + ensure_iso_codes_initialised (); + + lcode = g_ascii_strdown (code, -1); + + ret = get_iso_name_for_lang_code (lcode); + + g_free (lcode); + + return ret; +} + diff --git a/src/fe-gtk/sexy-iso-codes.h b/src/fe-gtk/sexy-iso-codes.h new file mode 100644 index 00000000..e5f37162 --- /dev/null +++ b/src/fe-gtk/sexy-iso-codes.h @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2005 Nathan Fredrickson + * Borrowed from Galeon, renamed, and simplified to only use iso-codes with no + * fallback method. + * + * Copyright (C) 2004 Christian Persch + * Copyright (C) 2004 Crispin Flowerday + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + * + */ + +#ifndef GTKSPELL_ISO_CODES_H +#define GTKSPELL_ISO_CODES_H + +#include <glib.h> + +G_BEGIN_DECLS + +char * gtkspell_iso_codes_lookup_name_for_code (const char *code); + +G_END_DECLS + +#endif diff --git a/src/fe-gtk/sexy-marshal.c b/src/fe-gtk/sexy-marshal.c new file mode 100644 index 00000000..10a629f2 --- /dev/null +++ b/src/fe-gtk/sexy-marshal.c @@ -0,0 +1,129 @@ + +#include <glib-object.h> + + +#ifdef G_ENABLE_DEBUG +#define g_marshal_value_peek_boolean(v) g_value_get_boolean (v) +#define g_marshal_value_peek_char(v) g_value_get_char (v) +#define g_marshal_value_peek_uchar(v) g_value_get_uchar (v) +#define g_marshal_value_peek_int(v) g_value_get_int (v) +#define g_marshal_value_peek_uint(v) g_value_get_uint (v) +#define g_marshal_value_peek_long(v) g_value_get_long (v) +#define g_marshal_value_peek_ulong(v) g_value_get_ulong (v) +#define g_marshal_value_peek_int64(v) g_value_get_int64 (v) +#define g_marshal_value_peek_uint64(v) g_value_get_uint64 (v) +#define g_marshal_value_peek_enum(v) g_value_get_enum (v) +#define g_marshal_value_peek_flags(v) g_value_get_flags (v) +#define g_marshal_value_peek_float(v) g_value_get_float (v) +#define g_marshal_value_peek_double(v) g_value_get_double (v) +#define g_marshal_value_peek_string(v) (char*) g_value_get_string (v) +#define g_marshal_value_peek_param(v) g_value_get_param (v) +#define g_marshal_value_peek_boxed(v) g_value_get_boxed (v) +#define g_marshal_value_peek_pointer(v) g_value_get_pointer (v) +#define g_marshal_value_peek_object(v) g_value_get_object (v) +#else /* !G_ENABLE_DEBUG */ +/* WARNING: This code accesses GValues directly, which is UNSUPPORTED API. + * Do not access GValues directly in your code. Instead, use the + * g_value_get_*() functions + */ +#define g_marshal_value_peek_boolean(v) (v)->data[0].v_int +#define g_marshal_value_peek_char(v) (v)->data[0].v_int +#define g_marshal_value_peek_uchar(v) (v)->data[0].v_uint +#define g_marshal_value_peek_int(v) (v)->data[0].v_int +#define g_marshal_value_peek_uint(v) (v)->data[0].v_uint +#define g_marshal_value_peek_long(v) (v)->data[0].v_long +#define g_marshal_value_peek_ulong(v) (v)->data[0].v_ulong +#define g_marshal_value_peek_int64(v) (v)->data[0].v_int64 +#define g_marshal_value_peek_uint64(v) (v)->data[0].v_uint64 +#define g_marshal_value_peek_enum(v) (v)->data[0].v_long +#define g_marshal_value_peek_flags(v) (v)->data[0].v_ulong +#define g_marshal_value_peek_float(v) (v)->data[0].v_float +#define g_marshal_value_peek_double(v) (v)->data[0].v_double +#define g_marshal_value_peek_string(v) (v)->data[0].v_pointer +#define g_marshal_value_peek_param(v) (v)->data[0].v_pointer +#define g_marshal_value_peek_boxed(v) (v)->data[0].v_pointer +#define g_marshal_value_peek_pointer(v) (v)->data[0].v_pointer +#define g_marshal_value_peek_object(v) (v)->data[0].v_pointer +#endif /* !G_ENABLE_DEBUG */ + + +/* BOOLEAN:STRING (./marshal.list:1) */ +void +sexy_marshal_BOOLEAN__STRING (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data) +{ + typedef gboolean (*GMarshalFunc_BOOLEAN__STRING) (gpointer data1, + gpointer arg_1, + gpointer data2); + register GMarshalFunc_BOOLEAN__STRING callback; + register GCClosure *cc = (GCClosure*) closure; + register gpointer data1, data2; + gboolean v_return; + + g_return_if_fail (return_value != NULL); + g_return_if_fail (n_param_values == 2); + + if (G_CCLOSURE_SWAP_DATA (closure)) + { + data1 = closure->data; + data2 = g_value_peek_pointer (param_values + 0); + } + else + { + data1 = g_value_peek_pointer (param_values + 0); + data2 = closure->data; + } + callback = (GMarshalFunc_BOOLEAN__STRING) (marshal_data ? marshal_data : cc->callback); + + v_return = callback (data1, + g_marshal_value_peek_string (param_values + 1), + data2); + + g_value_set_boolean (return_value, v_return); +} + +/* OBJECT:OBJECT,OBJECT (./marshal.list:2) */ +void +sexy_marshal_OBJECT__OBJECT_OBJECT (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data) +{ + typedef GObject* (*GMarshalFunc_OBJECT__OBJECT_OBJECT) (gpointer data1, + gpointer arg_1, + gpointer arg_2, + gpointer data2); + register GMarshalFunc_OBJECT__OBJECT_OBJECT callback; + register GCClosure *cc = (GCClosure*) closure; + register gpointer data1, data2; + GObject* v_return; + + g_return_if_fail (return_value != NULL); + g_return_if_fail (n_param_values == 3); + + if (G_CCLOSURE_SWAP_DATA (closure)) + { + data1 = closure->data; + data2 = g_value_peek_pointer (param_values + 0); + } + else + { + data1 = g_value_peek_pointer (param_values + 0); + data2 = closure->data; + } + callback = (GMarshalFunc_OBJECT__OBJECT_OBJECT) (marshal_data ? marshal_data : cc->callback); + + v_return = callback (data1, + g_marshal_value_peek_object (param_values + 1), + g_marshal_value_peek_object (param_values + 2), + data2); + + g_value_take_object (return_value, v_return); +} + diff --git a/src/fe-gtk/sexy-marshal.h b/src/fe-gtk/sexy-marshal.h new file mode 100644 index 00000000..f41eccbe --- /dev/null +++ b/src/fe-gtk/sexy-marshal.h @@ -0,0 +1,28 @@ + +#ifndef __sexy_marshal_MARSHAL_H__ +#define __sexy_marshal_MARSHAL_H__ + +#include <glib-object.h> + +G_BEGIN_DECLS + +/* BOOLEAN:STRING (./marshal.list:1) */ +extern void sexy_marshal_BOOLEAN__STRING (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); + +/* OBJECT:OBJECT,OBJECT (./marshal.list:2) */ +extern void sexy_marshal_OBJECT__OBJECT_OBJECT (GClosure *closure, + GValue *return_value, + guint n_param_values, + const GValue *param_values, + gpointer invocation_hint, + gpointer marshal_data); + +G_END_DECLS + +#endif /* __sexy_marshal_MARSHAL_H__ */ + diff --git a/src/fe-gtk/sexy-spell-entry.c b/src/fe-gtk/sexy-spell-entry.c index d67ffe2d..9483f04b 100644 --- a/src/fe-gtk/sexy-spell-entry.c +++ b/src/fe-gtk/sexy-spell-entry.c @@ -26,10 +26,19 @@ #include <gtk/gtk.h> #include "sexy-spell-entry.h" #include <string.h> +#include <fcntl.h> #include <glib/gi18n.h> #include <sys/types.h> -/*#include "gtkspell-iso-codes.h" -#include "sexy-marshal.h"*/ +#include <sys/stat.h> +#include "sexy-iso-codes.h" +#include "sexy-marshal.h" + +#ifdef WIN32 +#include "typedef.h" +#endif + +#include "../common/cfgfiles.h" +#include "../common/xchatc.h" /* * Bunch of poop to make enchant into a runtime dependency rather than a @@ -134,12 +143,19 @@ initialize_enchant () GModule *enchant; gpointer funcptr; +#ifdef WIN32 + enchant = g_module_open("libenchant.dll", 0); +#else enchant = g_module_open("libenchant", 0); +#endif if (enchant == NULL) { +#ifndef WIN32 enchant = g_module_open("libenchant.so.1", 0); - if (enchant == NULL) - return; + if (enchant == NULL) + return; +#endif + return; } have_enchant = TRUE; @@ -207,14 +223,14 @@ sexy_spell_entry_class_init(SexySpellEntryClass *klass) * Returns: %FALSE to indicate that the word should be marked as * correct. */ -/* signals[WORD_CHECK] = g_signal_new("word_check", + signals[WORD_CHECK] = g_signal_new("word_check", G_TYPE_FROM_CLASS(object_class), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET(SexySpellEntryClass, word_check), (GSignalAccumulator) spell_accumulator, NULL, sexy_marshal_BOOLEAN__STRING, G_TYPE_BOOLEAN, - 1, G_TYPE_STRING);*/ + 1, G_TYPE_STRING); } static void @@ -260,8 +276,42 @@ gtk_entry_find_position (GtkEntry *entry, gint x) static void insert_underline(SexySpellEntry *entry, guint start, guint end) { - PangoAttribute *ucolor = pango_attr_underline_color_new (65535, 0, 0); - PangoAttribute *unline = pango_attr_underline_new (PANGO_UNDERLINE_ERROR); + int fh, l; + int red, green, blue; + struct stat st; + char *cfg; + PangoAttribute *ucolor; + PangoAttribute *unline; + + fh = xchat_open_file ("colors.conf", O_RDONLY, 0, 0); + + if (fh != -1) + { + fstat (fh, &st); + cfg = malloc (st.st_size + 1); + + if (cfg) + { + cfg[0] = '\0'; + l = read (fh, cfg, st.st_size); + if (l >= 0) + { + cfg[l] = '\0'; + } + + cfg_get_color (cfg, "color_265", &red, &green, &blue); + free (cfg); + } + + close (fh); + } else + { + red = 65535; + green = blue = 0; + } + + ucolor = pango_attr_underline_color_new (red, green, blue); + unline = pango_attr_underline_new (PANGO_UNDERLINE_ERROR); ucolor->start_index = start; unline->start_index = start; @@ -457,10 +507,6 @@ build_spelling_menu(SexySpellEntry *entry, const gchar *word) if (entry->priv->dict_list == NULL) return topmenu; -#if 1 - dict = (struct EnchantDict *) entry->priv->dict_list->data; - build_suggestion_menu(entry, topmenu, dict, word); -#else /* Suggestions */ if (g_slist_length(entry->priv->dict_list) == 1) { dict = (struct EnchantDict *) entry->priv->dict_list->data; @@ -489,7 +535,6 @@ build_spelling_menu(SexySpellEntry *entry, const gchar *word) build_suggestion_menu(entry, menu, dict, word); } } -#endif /* Separator */ mi = gtk_separator_menu_item_new (); @@ -503,11 +548,6 @@ build_spelling_menu(SexySpellEntry *entry, const gchar *word) gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(mi), gtk_image_new_from_stock(GTK_STOCK_ADD, GTK_ICON_SIZE_MENU)); -#if 1 - dict = (struct EnchantDict *) entry->priv->dict_list->data; - g_object_set_data(G_OBJECT(mi), "enchant-dict", dict); - g_signal_connect(G_OBJECT(mi), "activate", G_CALLBACK(add_to_dictionary), entry); -#else if (g_slist_length(entry->priv->dict_list) == 1) { dict = (struct EnchantDict *) entry->priv->dict_list->data; g_object_set_data(G_OBJECT(mi), "enchant-dict", dict); @@ -539,7 +579,6 @@ build_spelling_menu(SexySpellEntry *entry, const gchar *word) gtk_menu_shell_append(GTK_MENU_SHELL(menu), submi); } } -#endif gtk_widget_show_all(mi); gtk_menu_shell_append(GTK_MENU_SHELL(topmenu), mi); @@ -721,11 +760,7 @@ word_misspelled(SexySpellEntry *entry, int start, int end) g_strlcpy(word, text + start, end - start + 1); -#if 0 g_signal_emit(entry, signals[WORD_CHECK], 0, word, &ret); -#else - ret = default_word_check (entry, word); -#endif g_free(word); return ret; @@ -921,10 +956,10 @@ void sexy_spell_entry_activate_default_languages(SexySpellEntry *entry) { #if GLIB_CHECK_VERSION (2, 6, 0) - const gchar* const *langs; + /*const gchar* const *langs; int i; - gchar *lastprefix = NULL; - GSList *enchant_langs; + gchar *lastprefix = NULL;*/ + GSList *enchant_langs, *i; if (!have_enchant) return; @@ -933,14 +968,14 @@ sexy_spell_entry_activate_default_languages(SexySpellEntry *entry) entry->priv->broker = enchant_broker_init(); - langs = g_get_language_names (); + /*langs = g_get_language_names (); if (langs == NULL) - return; + return;*/ enchant_langs = sexy_spell_entry_get_languages(entry); - for (i = 0; langs[i]; i++) { + /*for (i = 0; langs[i]; i++) { if ((g_strncasecmp(langs[i], "C", 1) != 0) && (strlen(langs[i]) >= 2) && enchant_has_lang(langs[i], enchant_langs)) { @@ -952,10 +987,19 @@ sexy_spell_entry_activate_default_languages(SexySpellEntry *entry) } } if (lastprefix != NULL) - g_free(lastprefix); + g_free(lastprefix);*/ + + for (i = enchant_langs; i; i = g_slist_next (i)) + { + if (strstr (prefs.spell_langs, i->data) != NULL) + { + sexy_spell_entry_activate_language_internal (entry, i->data, NULL); + } + } g_slist_foreach(enchant_langs, (GFunc) g_free, NULL); g_slist_free(enchant_langs); + g_slist_free (i); /* If we don't have any languages activated, use "en" */ if (entry->priv->dict_list == NULL) @@ -1083,8 +1127,8 @@ gchar * sexy_spell_entry_get_language_name(const SexySpellEntry *entry, const gchar *lang) { - /*if (have_enchant) - return gtkspell_iso_codes_lookup_name_for_code(lang);*/ + if (have_enchant) + return gtkspell_iso_codes_lookup_name_for_code(lang); return NULL; } diff --git a/src/fe-gtk/typedef.h b/src/fe-gtk/typedef.h new file mode 100644 index 00000000..b20612ea --- /dev/null +++ b/src/fe-gtk/typedef.h @@ -0,0 +1,11 @@ +#ifndef SSIZE_T_DEFINED +#ifdef ssize_t +#undef ssize_t +#endif +#ifdef _WIN64 +typedef __int64 ssize_t; +#else +typedef _W64 int ssize_t; +#endif +#define SSIZE_T_DEFINED +#endif diff --git a/src/fe-gtk/xchat.exe.manifest b/src/fe-gtk/xchat.exe.manifest new file mode 100644 index 00000000..13685d98 --- /dev/null +++ b/src/fe-gtk/xchat.exe.manifest @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> + <assemblyIdentity + name="XChat" + processorArchitecture="*" + version="1.0.0.0" + type="win32" + /> + <description>XChat IRC client</description> + <dependency> + <dependentAssembly> + <assemblyIdentity + type="win32" + name="Microsoft.Windows.Common-Controls" + version="6.0.0.0" + processorArchitecture="*" + publicKeyToken="6595b64144ccf1df" + language="*" + /> + </dependentAssembly> + </dependency> +</assembly> diff --git a/src/fe-gtk/xchat.rc b/src/fe-gtk/xchat.rc new file mode 100644 index 00000000..28676b83 --- /dev/null +++ b/src/fe-gtk/xchat.rc @@ -0,0 +1,28 @@ +#include <winver.h> +#include "../../config.h" +#include "../../resource.h" + +1 24 "xchat.exe.manifest" + +XC_ICON ICON "../../xchat.ico" + +VS_VERSION_INFO VERSIONINFO + FILEVERSION COMMA_VERSION + PRODUCTVERSION COMMA_VERSION + BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904B0" + BEGIN + + VALUE "FileDescription", "XChat-WDK IRC Client" + VALUE "ProductName", "XChat-WDK" + VALUE "ProductVersion", PACKAGE_VERSION + VALUE "FileVersion", PACKAGE_VERSION + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0409, 0x04B0 + END + END diff --git a/src/fe-gtk/xtext.c b/src/fe-gtk/xtext.c index fa9803c7..3bc9b6a8 100644 --- a/src/fe-gtk/xtext.c +++ b/src/fe-gtk/xtext.c @@ -42,7 +42,6 @@ #include <ctype.h> #include <stdlib.h> #include <time.h> -#include <unistd.h> #include <gtk/gtkmain.h> #include <gtk/gtksignal.h> #include <gtk/gtkselection.h> @@ -67,12 +66,16 @@ #endif #include "xtext.h" +#include "../common/xchat.h" +#include "../common/xchatc.h" #define charlen(str) g_utf8_skip[*(guchar *)(str)] #ifdef WIN32 #include <windows.h> #include <gdk/gdkwin32.h> +#else +#include <unistd.h> #endif /* is delimiter */ @@ -998,7 +1001,11 @@ gtk_xtext_realize (GtkWidget * widget) gdk_window_set_user_data (widget->window, widget); +#if GTK_CHECK_VERSION(2,24,0) + xtext->depth = gdk_window_get_visual (widget->window)->depth; +#else xtext->depth = gdk_drawable_get_visual (widget->window)->depth; +#endif val.subwindow_mode = GDK_INCLUDE_INFERIORS; val.graphics_exposures = 0; @@ -1941,7 +1948,7 @@ gtk_xtext_check_mark_stamp (GtkXText *xtext, GdkModifierType mask) { gboolean redraw = FALSE; - if ((mask & GDK_SHIFT_MASK)) + if (mask & GDK_SHIFT_MASK || prefs.autocopy_stamp) { if (!xtext->mark_stamp) { @@ -2106,7 +2113,16 @@ gtk_xtext_set_clip_owner (GtkWidget * xtext, GdkEventButton * event) free (str); } - gtk_selection_owner_set (xtext, GDK_SELECTION_PRIMARY, event->time); + if (event) + { + gtk_selection_owner_set (xtext, GDK_SELECTION_PRIMARY, event->time); + } +} + +void +gtk_xtext_copy_selection (GtkXText *xtext) +{ + gtk_xtext_set_clip_owner (xtext, NULL); } static void @@ -2182,9 +2198,12 @@ gtk_xtext_button_release (GtkWidget * widget, GdkEventButton * event) if (xtext->buffer->last_ent_start) { xtext->color_paste = FALSE; - if (event->state & GDK_CONTROL_MASK) + if (event->state & GDK_CONTROL_MASK || prefs.autocopy_color) xtext->color_paste = TRUE; - gtk_xtext_set_clip_owner (GTK_WIDGET (xtext), event); + if (prefs.autocopy_text) + { + gtk_xtext_set_clip_owner (GTK_WIDGET (xtext), event); + } } if (xtext->select_start_x == event->x && @@ -2249,7 +2268,10 @@ gtk_xtext_button_press (GtkWidget * widget, GdkEventButton * event) ent->mark_end = offset + len; gtk_xtext_selection_render (xtext, ent, offset, ent, offset + len); xtext->word_or_line_select = TRUE; - gtk_xtext_set_clip_owner (GTK_WIDGET (xtext), event); + if (prefs.autocopy_text) + { + gtk_xtext_set_clip_owner (GTK_WIDGET (xtext), event); + } } return FALSE; @@ -2265,7 +2287,10 @@ gtk_xtext_button_press (GtkWidget * widget, GdkEventButton * event) ent->mark_end = ent->str_len; gtk_xtext_selection_render (xtext, ent, 0, ent, ent->str_len); xtext->word_or_line_select = TRUE; - gtk_xtext_set_clip_owner (GTK_WIDGET (xtext), event); + if (prefs.autocopy_text) + { + gtk_xtext_set_clip_owner (GTK_WIDGET (xtext), event); + } } return FALSE; @@ -3836,7 +3861,7 @@ gtk_xtext_load_trans (GtkXText * xtext) PaintDesktop (hdc); ReleaseDC (hwnd, hdc); - gdk_window_get_size (GTK_WIDGET (xtext)->window, &width, &height); + gdk_drawable_get_size (GTK_WIDGET (xtext)->window, &width, &height); img = gdk_image_get (GTK_WIDGET (xtext)->window, 0, 0, width+128, height); xtext->pixmap = win32_tint (xtext, img, img->width, img->height); diff --git a/src/fe-gtk/xtext.h b/src/fe-gtk/xtext.h index a37ddc32..90fa1bca 100644 --- a/src/fe-gtk/xtext.h +++ b/src/fe-gtk/xtext.h @@ -270,6 +270,7 @@ void gtk_xtext_set_wordwrap (GtkXText *xtext, gboolean word_wrap); xtext_buffer *gtk_xtext_buffer_new (GtkXText *xtext); void gtk_xtext_buffer_free (xtext_buffer *buf); void gtk_xtext_buffer_show (GtkXText *xtext, xtext_buffer *buf, int render); +void gtk_xtext_copy_selection (GtkXText *xtext); GType gtk_xtext_get_type (void); #endif diff --git a/src/fe-text/fe-text.c b/src/fe-text/fe-text.c index 2bc2e649..f3c1ff05 100644 --- a/src/fe-text/fe-text.c +++ b/src/fe-text/fe-text.c @@ -22,60 +22,51 @@ #ifdef HAVE_STRINGS_H #include <strings.h> #endif +#ifdef WIN32 +#define STDIN_FILENO 0 +#define STDOUT_FILENO 1 +#else +#include <unistd.h> #include <sys/time.h> +#endif #include <sys/types.h> -#include <unistd.h> #include <ctype.h> +#include <glib.h> #include "../common/xchat.h" #include "../common/xchatc.h" +#include "../common/cfgfiles.h" #include "../common/outbound.h" #include "../common/util.h" #include "../common/fe.h" #include "fe-text.h" -static GSList *tmr_list; /* timer list */ -static int tmr_list_count; -static GSList *se_list; /* socket event list */ -static int se_list_count; static int done = FALSE; /* finished ? */ static void send_command (char *cmd) { - handle_multiline (sess_list->data, cmd, TRUE, FALSE); + handle_multiline (current_tab, cmd, TRUE, FALSE); } -static void -read_stdin (void) +static gboolean +handle_line (GIOChannel *channel, GIOCondition cond, gpointer data) { - int len, i = 0; - static int pos = 0; - static char inbuf[1024]; - char tmpbuf[512]; - - len = read (STDIN_FILENO, tmpbuf, sizeof tmpbuf - 1); - - while (i < len) - { - switch (tmpbuf[i]) - { - case '\r': - break; - case '\n': - inbuf[pos] = 0; - pos = 0; - send_command (inbuf); - break; + gchar *str_return; + gsize length, terminator_pos; + GError *error = NULL; + GIOStatus result; - default: - inbuf[pos] = tmpbuf[i]; - if (pos < (sizeof inbuf - 2)) - pos++; - } - i++; + result = g_io_channel_read_line(channel, &str_return, &length, &terminator_pos, &error); + if (result == G_IO_STATUS_ERROR) { + return FALSE; + } + else { + send_command(str_return); + g_free(str_return); + return TRUE; } } @@ -87,12 +78,13 @@ fe_new_window (struct session *sess, int focus) char buf[512]; sess->gui = malloc (4); + current_sess = sess; if (!sess->server->front_session) sess->server->front_session = sess; if (!sess->server->server_session) sess->server->server_session = sess; - if (!current_tab) + if (!current_tab || focus) current_tab = sess; if (done_intro) @@ -101,7 +93,7 @@ fe_new_window (struct session *sess, int focus) snprintf (buf, sizeof (buf), "\n" - " \017xchat \00310"PACKAGE_VERSION"\n" + " \017XChat-Text \00310"PACKAGE_VERSION"\n" " \017Running on \00310%s \017glib \00310%d.%d.%d\n" " \017This binary compiled \00310"__DATE__"\017\n", get_cpu_str(), @@ -133,15 +125,21 @@ get_stamp_str (time_t tim, char *dest, int size) } static int -timecat (char *buf) +timecat (char *buf, time_t stamp) { char stampbuf[64]; - get_stamp_str (time (0), stampbuf, sizeof (stampbuf)); + /* set the stamp to the current time if not provided */ + if (!stamp) + stamp = time (0); + + get_stamp_str (stamp, stampbuf, sizeof (stampbuf)); strcat (buf, stampbuf); return strlen (stampbuf); } +/* Windows doesn't handle ANSI codes in cmd.exe, need to not display them */ +#ifndef WIN32 /* 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 */ static const short colconv[] = { 0, 7, 4, 2, 1, 3, 5, 11, 13, 12, 6, 16, 14, 15, 10, 7 }; @@ -157,7 +155,7 @@ fe_print_text (struct session *sess, char *text, time_t stamp) if (prefs.timestamp) { newtext[0] = 0; - j += timecat (newtext); + j += timecat (newtext, stamp); } while (i < len) { @@ -165,7 +163,7 @@ fe_print_text (struct session *sess, char *text, time_t stamp) { dotime = FALSE; newtext[j] = 0; - j += timecat (newtext); + j += timecat (newtext, stamp); } switch (text[i]) { @@ -179,8 +177,7 @@ fe_print_text (struct session *sess, char *text, time_t stamp) j++; newtext[j] = 'm'; j++; - i--; - goto jump2; + goto endloop; } k = 0; comma = FALSE; @@ -226,13 +223,16 @@ fe_print_text (struct session *sess, char *text, time_t stamp) comma = TRUE; break; default: - goto jump; + goto endloop; } k = 0; } i++; } break; + /* don't actually want hidden text */ + case '\010': /* hidden */ + break; case '\026': /* REVERSE */ if (reverse) { @@ -296,120 +296,246 @@ fe_print_text (struct session *sess, char *text, time_t stamp) newtext[j] = text[i]; j++; } - jump2: i++; - jump: - i += 0; + endloop: + ; } + + /* make sure last character is a new line */ + if (text[i-1] != '\n') + newtext[j++] = '\n'; + newtext[j] = 0; write (STDOUT_FILENO, newtext, j); free (newtext); } - +#else +/* The win32 version for cmd.exe */ void -fe_timeout_remove (int tag) +fe_print_text (struct session *sess, char *text, time_t stamp) { - timerevent *te; - GSList *list; + int dotime = FALSE; + int comma, k, i = 0, j = 0, len = strlen (text); + + unsigned char *newtext = malloc (len + 1024); - list = tmr_list; - while (list) + if (prefs.timestamp) { - te = (timerevent *) list->data; - if (te->tag == tag) + newtext[0] = 0; + j += timecat (newtext, stamp); + } + while (i < len) + { + if (dotime && text[i] != 0) { - tmr_list = g_slist_remove (tmr_list, te); - free (te); - return; + dotime = FALSE; + newtext[j] = 0; + j += timecat (newtext, stamp); } - list = list->next; + switch (text[i]) + { + case 3: + i++; + if (!isdigit (text[i])) + { + goto endloop; + } + k = 0; + comma = FALSE; + while (i < len) + { + if (text[i] >= '0' && text[i] <= '9' && k < 2) + { + k++; + } else + { + switch (text[i]) + { + case ',': + comma = TRUE; + break; + default: + goto endloop; + } + k = 0; + + } + i++; + } + break; + /* don't actually want hidden text */ + case '\010': /* hidden */ + case '\026': /* REVERSE */ + case '\037': /* underline */ + case '\002': /* bold */ + case '\017': /* reset all */ + break; + case '\007': + if (!prefs.filterbeep) + { + newtext[j] = text[i]; + j++; + } + break; + case '\t': + newtext[j] = ' '; + j++; + break; + case '\n': + newtext[j] = '\r'; + j++; + if (prefs.timestamp) + dotime = TRUE; + default: + newtext[j] = text[i]; + j++; + } + i++; + endloop: + ; } + + /* make sure last character is a new line */ + if (text[i-1] != '\n') + newtext[j++] = '\n'; + + newtext[j] = 0; + write (STDOUT_FILENO, newtext, j); + free (newtext); +} +#endif + +void +fe_timeout_remove (int tag) +{ + g_source_remove (tag); } int fe_timeout_add (int interval, void *callback, void *userdata) { - struct timeval now; - timerevent *te = malloc (sizeof (timerevent)); - - tmr_list_count++; /* this overflows at 2.2Billion, who cares!! */ - - te->tag = tmr_list_count; - te->interval = interval; - te->callback = callback; - te->userdata = userdata; - - gettimeofday (&now, NULL); - te->next_call = now.tv_sec * 1000 + (now.tv_usec / 1000) + te->interval; - - tmr_list = g_slist_prepend (tmr_list, te); - - return te->tag; + return g_timeout_add (interval, (GSourceFunc) callback, userdata); } void fe_input_remove (int tag) { - socketevent *se; - GSList *list; - - list = se_list; - while (list) - { - se = (socketevent *) list->data; - if (se->tag == tag) - { - se_list = g_slist_remove (se_list, se); - free (se); - return; - } - list = list->next; - } + g_source_remove (tag); } int fe_input_add (int sok, int flags, void *func, void *data) { - socketevent *se = malloc (sizeof (socketevent)); + int tag, type = 0; + GIOChannel *channel; - se_list_count++; /* this overflows at 2.2Billion, who cares!! */ + channel = g_io_channel_unix_new (sok); - se->tag = se_list_count; - se->sok = sok; - se->rread = flags & FIA_READ; - se->wwrite = flags & FIA_WRITE; - se->eexcept = flags & FIA_EX; - se->callback = func; - se->userdata = data; - se_list = g_slist_prepend (se_list, se); + if (flags & FIA_READ) + type |= G_IO_IN | G_IO_HUP | G_IO_ERR; + if (flags & FIA_WRITE) + type |= G_IO_OUT | G_IO_ERR; + if (flags & FIA_EX) + type |= G_IO_PRI; - return se->tag; + tag = g_io_add_watch (channel, type, (GIOFunc) func, data); + g_io_channel_unref (channel); + + return tag; } +/* === command-line parameter parsing : requires glib 2.6 === */ + +static char *arg_cfgdir = NULL; +static gint arg_show_autoload = 0; +static gint arg_show_config = 0; +static gint arg_show_version = 0; + +static const GOptionEntry gopt_entries[] = +{ + {"no-auto", 'a', 0, G_OPTION_ARG_NONE, &arg_dont_autoconnect, N_("Don't auto connect to servers"), NULL}, + {"cfgdir", 'd', 0, G_OPTION_ARG_STRING, &arg_cfgdir, N_("Use a different config directory"), "PATH"}, + {"no-plugins", 'n', 0, G_OPTION_ARG_NONE, &arg_skip_plugins, N_("Don't auto load any plugins"), NULL}, + {"plugindir", 'p', 0, G_OPTION_ARG_NONE, &arg_show_autoload, N_("Show plugin auto-load directory"), NULL}, + {"configdir", 'u', 0, G_OPTION_ARG_NONE, &arg_show_config, N_("Show user config directory"), NULL}, + {"url", 0, 0, G_OPTION_ARG_STRING, &arg_url, N_("Open an irc://server:port/channel URL"), "URL"}, + {"version", 'v', 0, G_OPTION_ARG_NONE, &arg_show_version, N_("Show version information"), NULL}, + {NULL} +}; + int fe_args (int argc, char *argv[]) { - if (argc > 1) + GError *error = NULL; + GOptionContext *context; + +#ifdef ENABLE_NLS + bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); + bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); + textdomain (GETTEXT_PACKAGE); +#endif + + context = g_option_context_new (NULL); + g_option_context_add_main_entries (context, gopt_entries, GETTEXT_PACKAGE); + g_option_context_parse (context, &argc, &argv, &error); + + if (error) + { + if (error->message) + printf ("%s\n", error->message); + return 1; + } + + g_option_context_free (context); + + if (arg_show_version) + { + printf (PACKAGE_TARNAME" "PACKAGE_VERSION"\n"); + return 0; + } + + if (arg_show_autoload) { - if (!strcasecmp (argv[1], "--version") || !strcasecmp (argv[1], "-v")) +#ifdef WIN32 + /* see the chdir() below */ + char *sl, *exe = strdup (argv[0]); + sl = strrchr (exe, '\\'); + if (sl) { - puts (PACKAGE_VERSION); - return 0; + *sl = 0; + printf ("%s\\plugins\n", exe); } +#else + printf ("%s\n", XCHATLIBDIR"/plugins"); +#endif + return 0; } + + if (arg_show_config) + { + printf ("%s\n", get_xdir_fs ()); + return 0; + } + + if (arg_cfgdir) /* we want filesystem encoding */ + { + xdir_fs = strdup (arg_cfgdir); + if (xdir_fs[strlen (xdir_fs) - 1] == '/') + xdir_fs[strlen (xdir_fs) - 1] = 0; + g_free (arg_cfgdir); + } + return -1; } void fe_init (void) { - se_list = 0; - se_list_count = 0; - tmr_list = 0; - tmr_list_count = 0; + /* the following should be default generated, not enfoced in binary */ prefs.autosave = 0; prefs.use_server_tab = 0; prefs.autodialog = 0; + /* except for these, there is no lag meter, there is no server list */ prefs.lagometer = 0; prefs.slist_skip = 1; } @@ -417,129 +543,29 @@ fe_init (void) void fe_main (void) { - struct timeval timeout, now; - socketevent *se; - timerevent *te; - fd_set rd, wd, ex; - GSList *list; - guint64 shortest, delay; + GIOChannel *keyboard_input; - if (!sess_list) - new_ircwindow (NULL, NULL, SESS_SERVER, 0); + main_loop = g_main_loop_new(NULL, FALSE); -#ifdef ENABLE_NLS - bindtextdomain (GETTEXT_PACKAGE, PREFIX"/share/locale"); - bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); - textdomain (GETTEXT_PACKAGE); + /* Keyboard Entry Setup */ +#ifdef G_OS_WIN32 + keyboard_input = g_io_channel_win32_new_fd(STDIN_FILENO); +#else + keyboard_input = g_io_channel_unix_new(STDIN_FILENO); #endif - while (!done) - { - FD_ZERO (&rd); - FD_ZERO (&wd); - FD_ZERO (&ex); - - list = se_list; - while (list) - { - se = (socketevent *) list->data; - if (se->rread) - FD_SET (se->sok, &rd); - if (se->wwrite) - FD_SET (se->sok, &wd); - if (se->eexcept) - FD_SET (se->sok, &ex); - list = list->next; - } - - FD_SET (STDIN_FILENO, &rd); /* for reading keyboard */ - - /* find the shortest timeout event */ - shortest = 0; - list = tmr_list; - while (list) - { - te = (timerevent *) list->data; - if (te->next_call < shortest || shortest == 0) - shortest = te->next_call; - list = list->next; - } - gettimeofday (&now, NULL); - delay = shortest - ((now.tv_sec * 1000) + (now.tv_usec / 1000)); - timeout.tv_sec = delay / 1000; - timeout.tv_usec = (delay % 1000) * 1000; - - select (FD_SETSIZE, &rd, &wd, &ex, &timeout); - - if (FD_ISSET (STDIN_FILENO, &rd)) - read_stdin (); - - /* set all checked flags to false */ - list = se_list; - while (list) - { - se = (socketevent *) list->data; - se->checked = 0; - list = list->next; - } - - /* check all the socket callbacks */ - list = se_list; - while (list) - { - se = (socketevent *) list->data; - se->checked = 1; - if (se->rread && FD_ISSET (se->sok, &rd)) - { - se->callback (NULL, 1, se->userdata); - } else if (se->wwrite && FD_ISSET (se->sok, &wd)) - { - se->callback (NULL, 2, se->userdata); - } else if (se->eexcept && FD_ISSET (se->sok, &ex)) - { - se->callback (NULL, 4, se->userdata); - } - list = se_list; - if (list) - { - se = (socketevent *) list->data; - while (se->checked) - { - list = list->next; - if (!list) - break; - se = (socketevent *) list->data; - } - } - } + g_io_add_watch(keyboard_input, G_IO_IN, handle_line, NULL); - /* now check our list of timeout events, some might need to be called! */ - gettimeofday (&now, NULL); - list = tmr_list; - while (list) - { - te = (timerevent *) list->data; - list = list->next; - if (now.tv_sec * 1000 + (now.tv_usec / 1000) >= te->next_call) - { - /* if the callback returns 0, it must be removed */ - if (te->callback (te->userdata) == 0) - { - fe_timeout_remove (te->tag); - } else - { - te->next_call = now.tv_sec * 1000 + (now.tv_usec / 1000) + te->interval; - } - } - } + g_main_loop_run(main_loop); - } + return; } void fe_exit (void) { done = TRUE; + g_main_loop_quit(main_loop); } void @@ -793,10 +819,23 @@ fe_get_int (char *prompt, int def, void *callback, void *ud) void fe_idle_add (void *func, void *data) { + g_idle_add (func, data); } void fe_ctrl_gui (session *sess, fe_gui_action action, int arg) { + /* only one action type handled for now, but could add more */ + switch (action) + { + /* gui focus is really the only case xchat-text needs to wory about */ + case FE_GUI_FOCUS: + current_sess = sess; + current_tab = sess; + sess->server->front_session = sess; + break; + default: + break; + } } int fe_gui_info (session *sess, int info_type) diff --git a/src/fe-text/fe-text.h b/src/fe-text/fe-text.h index b8afa284..e4f6f6c0 100644 --- a/src/fe-text/fe-text.h +++ b/src/fe-text/fe-text.h @@ -1,29 +1 @@ - -typedef int (*socket_callback) (void *source, int condition, void *user_data); -typedef int (*timer_callback) (void *user_data); - -struct socketeventRec -{ - socket_callback callback; - void *userdata; - int sok; - int tag; - int rread:1; - int wwrite:1; - int eexcept:1; - int checked:1; -}; - -typedef struct socketeventRec socketevent; - - -struct timerRec -{ - timer_callback callback; - void *userdata; - int interval; - int tag; - guint64 next_call; /* miliseconds */ -}; - -typedef struct timerRec timerevent; +GMainLoop *main_loop; diff --git a/src/fe-text/makefile.mak b/src/fe-text/makefile.mak new file mode 100644 index 00000000..59d277d3 --- /dev/null +++ b/src/fe-text/makefile.mak @@ -0,0 +1,20 @@ +include "..\makeinc.mak" + +COMLIB = ..\common\xchatcommon.lib +PROG = xchat-text.exe + +!ifdef X64 +PLATOBJ = msvcrt_win2003.obj +!else +PLATOBJ = msvcrt_winxp.obj +!endif + +all: fe-text.obj + link /out:$(PROG) /subsystem:console /nologo $(PLATOBJ) $(LIBS) $(COMLIB) fe-text.obj + +fe-text.obj: fe-text.c makefile.mak + cl $(CFLAGS) $(GLIB) fe-text.c + +clean: + @del *.obj + @del $(PROG) diff --git a/src/gtk2-prefs/callbacks.cpp b/src/gtk2-prefs/callbacks.cpp new file mode 100644 index 00000000..9cc5c928 --- /dev/null +++ b/src/gtk2-prefs/callbacks.cpp @@ -0,0 +1,224 @@ +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include <gtk/gtk.h> +#include <iostream> + +#include "callbacks.h" +#include "interface.h" +#include "support.h" + +#include "main.h" + + + +extern GtkWidget* g_main_window; + +void +on_main_showpreviewtoggle_toggled (GtkToggleButton *togglebutton, + gpointer user_data) +{ + if (gtk_toggle_button_get_active (togglebutton)) { + gtk_widget_show(lookup_widget(g_main_window, "main_previewhbox")); + gtk_button_set_label(GTK_BUTTON(togglebutton), "Hide preview <<"); + gtk_window_resize(GTK_WINDOW(g_main_window), 700, 330); + } else { + gtk_widget_hide(lookup_widget(g_main_window, "main_previewhbox")); + gtk_button_set_label(GTK_BUTTON(togglebutton), "Show preview >>"); + gtk_window_resize(GTK_WINDOW(g_main_window), 300, 330); + } + +} + + +/* +extern GtkWidget* g_fontsel_dialog; + + +void +on_fontsel_dialog_response (GtkDialog *dialog, + gint id, + gpointer user_data) +{ + + switch(id) { + case GTK_RESPONSE_OK: + { + const char* font = gtk_font_selection_dialog_get_font_name (GTK_FONT_SELECTION_DIALOG(dialog)); + std::string f = (font ? font : ""); + set_theme(get_selected_theme(), f); + break; + } +// case GTK_RESPONSE_CANCEL: +// gtk_widget_destroy(g_fontsel_dialog); +// g_fontsel_dialog = 0; +// return; + + } + gtk_widget_destroy(g_fontsel_dialog); + g_fontsel_dialog = 0; + +} + + +gboolean +on_fontsel_dialog_delete_event (GtkWidget *widget, + GdkEvent *event, + gpointer user_data) +{ + gtk_widget_destroy(g_fontsel_dialog); + g_fontsel_dialog = 0; + + return FALSE; +} + + +void +on_main_fontselectbutton_clicked (GtkButton *button, + gpointer user_data) +{ + g_fontsel_dialog = create_fontsel_dialog(); + gtk_font_selection_dialog_set_font_name(GTK_FONT_SELECTION_DIALOG(g_fontsel_dialog), get_current_font().c_str()); + gtk_widget_show(g_fontsel_dialog); +} +*/ + + + + + +void +on_main_ok_button_clicked (GtkButton *button, + gpointer user_data) +{ + if (save_current_theme()) + gtk_main_quit(); +} + + +void +on_main_cancel_button_clicked (GtkButton *button, + gpointer user_data) +{ + gtk_main_quit(); +} + + +void +on_main_reset_button_clicked (GtkButton *button, + gpointer user_data) +{ + set_theme(get_orig_theme(), get_orig_font()); +} + + +gboolean +on_main_window_delete_event (GtkWidget *widget, + GdkEvent *event, + gpointer user_data) +{ + program_shutdown(); + return true; +} + + +void +on_main_use_default_font_radio_toggled (GtkToggleButton *togglebutton, + gpointer user_data) +{ + bool default_font = gtk_toggle_button_get_active(togglebutton); + + gtk_widget_set_sensitive(lookup_widget(g_main_window, "main_font_selector_button"), !default_font); + + apply_theme(get_selected_theme(), get_selected_font()); +} + + +void +on_main_font_selector_button_font_set (GtkFontButton *fontbutton, + gpointer user_data) +{ + apply_theme(get_selected_theme(), get_selected_font()); +} + + +void +on_new2_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ + +} + + +void +on_open2_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ + +} + + +void +on_save2_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ + +} + + +void +on_save_as2_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ + +} + + +void +on_quit2_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ + +} + + +void +on_cut2_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ + +} + + +void +on_copy2_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ + +} + + +void +on_paste2_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ + +} + + +void +on_delete2_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ + +} + + +void +on_about2_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ + +} + diff --git a/src/gtk2-prefs/callbacks.h b/src/gtk2-prefs/callbacks.h new file mode 100644 index 00000000..5759aebc --- /dev/null +++ b/src/gtk2-prefs/callbacks.h @@ -0,0 +1,71 @@ +#include <gtk/gtk.h> + + +void +on_main_showpreviewtoggle_toggled (GtkToggleButton *togglebutton, + gpointer user_data); + +void +on_main_ok_button_clicked (GtkButton *button, + gpointer user_data); + +void +on_main_cancel_button_clicked (GtkButton *button, + gpointer user_data); + +void +on_main_reset_button_clicked (GtkButton *button, + gpointer user_data); + +gboolean +on_main_window_delete_event (GtkWidget *widget, + GdkEvent *event, + gpointer user_data); + +void +on_main_use_default_font_radio_toggled (GtkToggleButton *togglebutton, + gpointer user_data); + +void +on_main_font_selector_button_font_set (GtkFontButton *fontbutton, + gpointer user_data); + +void +on_new2_activate (GtkMenuItem *menuitem, + gpointer user_data); + +void +on_open2_activate (GtkMenuItem *menuitem, + gpointer user_data); + +void +on_save2_activate (GtkMenuItem *menuitem, + gpointer user_data); + +void +on_save_as2_activate (GtkMenuItem *menuitem, + gpointer user_data); + +void +on_quit2_activate (GtkMenuItem *menuitem, + gpointer user_data); + +void +on_cut2_activate (GtkMenuItem *menuitem, + gpointer user_data); + +void +on_copy2_activate (GtkMenuItem *menuitem, + gpointer user_data); + +void +on_paste2_activate (GtkMenuItem *menuitem, + gpointer user_data); + +void +on_delete2_activate (GtkMenuItem *menuitem, + gpointer user_data); + +void +on_about2_activate (GtkMenuItem *menuitem, + gpointer user_data); diff --git a/src/gtk2-prefs/config.h b/src/gtk2-prefs/config.h new file mode 100644 index 00000000..4501a33b --- /dev/null +++ b/src/gtk2-prefs/config.h @@ -0,0 +1,59 @@ +/* Define to 1 if you have the <dlfcn.h> header file. */ +#undef HAVE_DLFCN_H + +/* Define to 1 if you have the <inttypes.h> header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the <memory.h> header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the <stdint.h> header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the <stdlib.h> header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the <strings.h> header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the <string.h> header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the <sys/stat.h> header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the <sys/types.h> header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the <unistd.h> header file. */ +#undef HAVE_UNISTD_H + +/* For gmessages.h error message */ +#define G_HAVE_ISO_VARARGS + +/* For mkdir */ +#define HAVE_DIRECT_H 1 + +/* Name of package */ +#define PACKAGE gtk2-prefs + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#define PACKAGE_NAME gtk2-prefs + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING gtk2-prefs 0.4.1 + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME gtk2-prefs + +/* Define to the version of this package. */ +#define PACKAGE_VERSION 0.4.1 + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* Version number of package */ +#define VERSION 0.4.1 diff --git a/src/gtk2-prefs/interface.cpp b/src/gtk2-prefs/interface.cpp new file mode 100644 index 00000000..7c1cc53c --- /dev/null +++ b/src/gtk2-prefs/interface.cpp @@ -0,0 +1,836 @@ +/* + * DO NOT EDIT THIS FILE - it is generated by Glade. + */ + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include <sys/types.h> +#include <sys/stat.h> +#ifdef HAVE_UNISTD_H +#include <unistd.h> +#endif +#include <string.h> +#include <stdio.h> + +#include <gdk/gdkkeysyms.h> +#include <gtk/gtk.h> + +#include "callbacks.h" +#include "interface.h" +#include "support.h" + +#define GLADE_HOOKUP_OBJECT(component,widget,name) \ + g_object_set_data_full (G_OBJECT (component), name, \ + gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref) + +#define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \ + g_object_set_data (G_OBJECT (component), name, widget) + +GtkWidget* +create_main_window (void) +{ + GtkWidget *main_window; + GtkWidget *main_hbox; + GtkWidget *vbox1; + GtkWidget *hbox1; + GtkWidget *frame2; + GtkWidget *alignment3; + GtkWidget *scrolledwindow3; + GtkWidget *main_themelist; + GtkWidget *label1234; + GtkWidget *frame3; + GtkWidget *alignment4; + GtkWidget *vbox7; + GtkWidget *hbox8; + GtkWidget *vbox9; + GtkWidget *main_use_default_font_radio; + GSList *main_use_default_font_radio_group = NULL; + GtkWidget *main_use_custom_font_radio; + GtkWidget *alignment5; + GtkWidget *vbox10; + GtkWidget *hbox9; + GtkWidget *vbox11; + GtkWidget *main_font_selector_button; + GtkWidget *label669; + GtkWidget *vbox13; + GtkWidget *hbox6666; + GtkWidget *main_use_system_config_checkbutton; + GtkWidget *main_showpreviewtoggle; + GtkWidget *hbuttonbox1; + GtkWidget *hbox7; + GtkWidget *hbox6665; + GtkWidget *image2; + GtkWidget *label2; + GtkWidget *vbox6; + GtkWidget *hbox5; + GtkWidget *main_ok_button; + GtkWidget *main_cancel_button; + GtkWidget *main_reset_button; + GtkWidget *alignment2; + GtkWidget *hbox6; + GtkWidget *image1; + GtkWidget *label667; + GtkWidget *main_previewhbox; + GtkWidget *vseparator2; + GtkWidget *frame4; + GtkWidget *alignment6; + GtkWidget *vbox12; + GtkWidget *main_previewbook; + GtkWidget *table1; + GtkWidget *vbox2; + GtkWidget *checkbutton1; + GtkWidget *checkbutton2; + GtkWidget *button4; + GtkWidget *togglebutton1; + GtkObject *spinbutton1_adj; + GtkWidget *spinbutton1; + GtkWidget *vbox4; + GtkWidget *menubar2; + GtkWidget *menuitem5; + GtkWidget *menuitem5_menu; + GtkWidget *new2; + GtkWidget *open2; + GtkWidget *save2; + GtkWidget *save_as2; + GtkWidget *separatormenuitem2; + GtkWidget *quit2; + GtkWidget *menuitem6; + GtkWidget *menuitem6_menu; + GtkWidget *cut2; + GtkWidget *copy2; + GtkWidget *paste2; + GtkWidget *delete2; + GtkWidget *menuitem8; + GtkWidget *menuitem8_menu; + GtkWidget *about2; + GtkWidget *combobox1; + GtkWidget *comboboxentry1; + GtkWidget *hscale1; + GtkWidget *scrolledwindow1; + GtkWidget *preview_treeview; + GtkWidget *statusbar1; + GtkWidget *progressbar1; + GtkWidget *vseparator1; + GtkWidget *frame1; + GtkWidget *vbox3; + GtkWidget *radiobutton1; + GSList *radiobutton1_group = NULL; + GtkWidget *radiobutton2; + GtkWidget *radiobutton3; + GtkWidget *label6; + GtkWidget *label4; + GtkWidget *scrolledwindow2; + GtkWidget *textview1; + GtkWidget *label5; + GtkWidget *vbox5; + GtkWidget *hbox4; + GtkWidget *about_label; + GtkWidget *label666; + GtkWidget *label670; + GtkAccelGroup *accel_group; + GtkTooltips *tooltips; + + tooltips = gtk_tooltips_new (); + + accel_group = gtk_accel_group_new (); + + main_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); + gtk_widget_set_name (main_window, "main_window"); + gtk_window_set_title (GTK_WINDOW (main_window), "GTK+ Preference Tool"); + + main_hbox = gtk_hbox_new (FALSE, 0); + gtk_widget_set_name (main_hbox, "main_hbox"); + gtk_widget_show (main_hbox); + gtk_container_add (GTK_CONTAINER (main_window), main_hbox); + gtk_widget_set_size_request (main_hbox, 310, 320); + + vbox1 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (vbox1, "vbox1"); + gtk_widget_show (vbox1); + gtk_box_pack_start (GTK_BOX (main_hbox), vbox1, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (vbox1), 3); + + hbox1 = gtk_hbox_new (FALSE, 0); + gtk_widget_set_name (hbox1, "hbox1"); + gtk_widget_show (hbox1); + gtk_box_pack_start (GTK_BOX (vbox1), hbox1, TRUE, TRUE, 0); + + frame2 = gtk_frame_new (NULL); + gtk_widget_set_name (frame2, "frame2"); + gtk_widget_show (frame2); + gtk_box_pack_start (GTK_BOX (hbox1), frame2, TRUE, TRUE, 0); + gtk_frame_set_shadow_type (GTK_FRAME (frame2), GTK_SHADOW_NONE); + + alignment3 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_widget_set_name (alignment3, "alignment3"); + gtk_widget_show (alignment3); + gtk_container_add (GTK_CONTAINER (frame2), alignment3); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment3), 0, 0, 12, 0); + + scrolledwindow3 = gtk_scrolled_window_new (NULL, NULL); + gtk_widget_set_name (scrolledwindow3, "scrolledwindow3"); + gtk_widget_show (scrolledwindow3); + gtk_container_add (GTK_CONTAINER (alignment3), scrolledwindow3); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow3), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow3), GTK_SHADOW_IN); + + main_themelist = gtk_tree_view_new (); + gtk_widget_set_name (main_themelist, "main_themelist"); + gtk_widget_show (main_themelist); + gtk_container_add (GTK_CONTAINER (scrolledwindow3), main_themelist); + GTK_WIDGET_SET_FLAGS (main_themelist, GTK_CAN_DEFAULT); + gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (main_themelist), FALSE); + + label1234 = gtk_label_new ("<b>Theme</b>"); + gtk_widget_set_name (label1234, "label1234"); + gtk_widget_show (label1234); + gtk_frame_set_label_widget (GTK_FRAME (frame2), label1234); + gtk_label_set_use_markup (GTK_LABEL (label1234), TRUE); + + frame3 = gtk_frame_new (NULL); + gtk_widget_set_name (frame3, "frame3"); + gtk_widget_show (frame3); + gtk_box_pack_start (GTK_BOX (vbox1), frame3, FALSE, FALSE, 9); + gtk_frame_set_shadow_type (GTK_FRAME (frame3), GTK_SHADOW_NONE); + + alignment4 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_widget_set_name (alignment4, "alignment4"); + gtk_widget_show (alignment4); + gtk_container_add (GTK_CONTAINER (frame3), alignment4); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment4), 0, 0, 12, 0); + + vbox7 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (vbox7, "vbox7"); + gtk_widget_show (vbox7); + gtk_container_add (GTK_CONTAINER (alignment4), vbox7); + + hbox8 = gtk_hbox_new (FALSE, 0); + gtk_widget_set_name (hbox8, "hbox8"); + gtk_widget_show (hbox8); + gtk_box_pack_start (GTK_BOX (vbox7), hbox8, FALSE, FALSE, 0); + + vbox9 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (vbox9, "vbox9"); + gtk_widget_show (vbox9); + gtk_box_pack_start (GTK_BOX (hbox8), vbox9, TRUE, TRUE, 0); + + main_use_default_font_radio = gtk_radio_button_new_with_mnemonic (NULL, "Use theme default font"); + gtk_widget_set_name (main_use_default_font_radio, "main_use_default_font_radio"); + gtk_widget_show (main_use_default_font_radio); + gtk_box_pack_start (GTK_BOX (vbox9), main_use_default_font_radio, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (main_use_default_font_radio), main_use_default_font_radio_group); + main_use_default_font_radio_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (main_use_default_font_radio)); + + main_use_custom_font_radio = gtk_radio_button_new_with_mnemonic (NULL, "Use custom font:"); + gtk_widget_set_name (main_use_custom_font_radio, "main_use_custom_font_radio"); + gtk_widget_show (main_use_custom_font_radio); + gtk_box_pack_start (GTK_BOX (vbox9), main_use_custom_font_radio, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (main_use_custom_font_radio), main_use_default_font_radio_group); + main_use_default_font_radio_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (main_use_custom_font_radio)); + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (main_use_custom_font_radio), TRUE); + + alignment5 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_widget_set_name (alignment5, "alignment5"); + gtk_widget_show (alignment5); + gtk_box_pack_start (GTK_BOX (vbox9), alignment5, TRUE, TRUE, 0); + gtk_alignment_set_padding (GTK_ALIGNMENT (alignment5), 0, 0, 12, 0); + + vbox10 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (vbox10, "vbox10"); + gtk_widget_show (vbox10); + gtk_container_add (GTK_CONTAINER (alignment5), vbox10); + + hbox9 = gtk_hbox_new (FALSE, 0); + gtk_widget_set_name (hbox9, "hbox9"); + gtk_widget_show (hbox9); + gtk_box_pack_start (GTK_BOX (vbox10), hbox9, FALSE, FALSE, 0); + + vbox11 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (vbox11, "vbox11"); + gtk_widget_show (vbox11); + gtk_box_pack_start (GTK_BOX (hbox9), vbox11, TRUE, TRUE, 0); + + main_font_selector_button = gtk_font_button_new (); + gtk_widget_set_name (main_font_selector_button, "main_font_selector_button"); + gtk_widget_show (main_font_selector_button); + gtk_box_pack_start (GTK_BOX (vbox11), main_font_selector_button, FALSE, FALSE, 0); + + label669 = gtk_label_new ("<b>Font</b>"); + gtk_widget_set_name (label669, "label669"); + gtk_widget_show (label669); + gtk_frame_set_label_widget (GTK_FRAME (frame3), label669); + gtk_label_set_use_markup (GTK_LABEL (label669), TRUE); + + vbox13 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (vbox13, "vbox13"); + gtk_widget_show (vbox13); + gtk_box_pack_start (GTK_BOX (vbox1), vbox13, FALSE, FALSE, 0); + + hbox6666 = gtk_hbox_new (FALSE, 0); + gtk_widget_set_name (hbox6666, "hbox6666"); + gtk_widget_show (hbox6666); + gtk_box_pack_start (GTK_BOX (vbox13), hbox6666, TRUE, TRUE, 0); + + /* main_use_system_config_checkbutton = gtk_check_button_new_with_mnemonic ("Apply for all users"); + gtk_widget_set_name (main_use_system_config_checkbutton, "main_use_system_config_checkbutton"); + gtk_widget_show (main_use_system_config_checkbutton); + gtk_box_pack_start (GTK_BOX (hbox6666), main_use_system_config_checkbutton, FALSE, FALSE, 12); + gtk_tooltips_set_tip (tooltips, main_use_system_config_checkbutton, "If this is enabled, the program will update the system-wide configuration file. NOT RECOMMENDED!", NULL); */ + + main_showpreviewtoggle = gtk_toggle_button_new_with_mnemonic ("Show preview >>"); + gtk_widget_set_name (main_showpreviewtoggle, "main_showpreviewtoggle"); + gtk_widget_show (main_showpreviewtoggle); + gtk_box_pack_end (GTK_BOX (hbox6666), main_showpreviewtoggle, FALSE, FALSE, 2); + + hbuttonbox1 = gtk_hbutton_box_new (); + gtk_widget_set_name (hbuttonbox1, "hbuttonbox1"); + gtk_widget_show (hbuttonbox1); + gtk_box_pack_start (GTK_BOX (vbox1), hbuttonbox1, FALSE, FALSE, 0); + + hbox7 = gtk_hbox_new (FALSE, 0); + gtk_widget_set_name (hbox7, "hbox7"); + gtk_widget_show (hbox7); + gtk_box_pack_start (GTK_BOX (vbox1), hbox7, FALSE, TRUE, 6); + + hbox6665 = gtk_hbox_new (FALSE, 0); + gtk_widget_set_name (hbox6665, "hbox6665"); + gtk_widget_show (hbox6665); + gtk_box_pack_start (GTK_BOX (hbox7), hbox6665, TRUE, FALSE, 0); + + image2 = gtk_image_new_from_stock ("gtk-dialog-info", GTK_ICON_SIZE_LARGE_TOOLBAR); + gtk_widget_set_name (image2, "image2"); + gtk_widget_show (image2); + gtk_box_pack_start (GTK_BOX (hbox6665), image2, FALSE, FALSE, 0); + + label2 = gtk_label_new ("You should restart XChat-WDK\nfor this change to take effect."); + gtk_widget_set_name (label2, "label2"); + gtk_widget_show (label2); + gtk_box_pack_start (GTK_BOX (hbox6665), label2, FALSE, FALSE, 0); + gtk_label_set_line_wrap (GTK_LABEL (label2), TRUE); + gtk_misc_set_alignment (GTK_MISC (label2), 0, 0.5); + + vbox6 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (vbox6, "vbox6"); + gtk_widget_show (vbox6); + gtk_box_pack_start (GTK_BOX (vbox1), vbox6, FALSE, FALSE, 0); + + hbox5 = gtk_hbox_new (TRUE, 0); + gtk_widget_set_name (hbox5, "hbox5"); + gtk_widget_show (hbox5); + gtk_box_pack_start (GTK_BOX (vbox6), hbox5, FALSE, FALSE, 0); + gtk_container_set_border_width (GTK_CONTAINER (hbox5), 4); + + main_ok_button = gtk_button_new_from_stock ("gtk-ok"); + gtk_widget_set_name (main_ok_button, "main_ok_button"); + gtk_widget_show (main_ok_button); + gtk_box_pack_end (GTK_BOX (hbox5), main_ok_button, TRUE, TRUE, 4); + GTK_WIDGET_SET_FLAGS (main_ok_button, GTK_CAN_DEFAULT); + + main_cancel_button = gtk_button_new_from_stock ("gtk-cancel"); + gtk_widget_set_name (main_cancel_button, "main_cancel_button"); + gtk_widget_show (main_cancel_button); + gtk_box_pack_end (GTK_BOX (hbox5), main_cancel_button, TRUE, TRUE, 4); + GTK_WIDGET_SET_FLAGS (main_cancel_button, GTK_CAN_DEFAULT); + + main_reset_button = gtk_button_new (); + gtk_widget_set_name (main_reset_button, "main_reset_button"); + gtk_widget_show (main_reset_button); + gtk_box_pack_end (GTK_BOX (hbox5), main_reset_button, TRUE, TRUE, 4); + + alignment2 = gtk_alignment_new (0.5, 0.5, 0, 0); + gtk_widget_set_name (alignment2, "alignment2"); + gtk_widget_show (alignment2); + gtk_container_add (GTK_CONTAINER (main_reset_button), alignment2); + + hbox6 = gtk_hbox_new (FALSE, 2); + gtk_widget_set_name (hbox6, "hbox6"); + gtk_widget_show (hbox6); + gtk_container_add (GTK_CONTAINER (alignment2), hbox6); + + image1 = gtk_image_new_from_stock ("gtk-revert-to-saved", GTK_ICON_SIZE_BUTTON); + gtk_widget_set_name (image1, "image1"); + gtk_widget_show (image1); + gtk_box_pack_start (GTK_BOX (hbox6), image1, FALSE, FALSE, 0); + + label667 = gtk_label_new_with_mnemonic ("_Reset"); + gtk_widget_set_name (label667, "label667"); + gtk_widget_show (label667); + gtk_box_pack_start (GTK_BOX (hbox6), label667, FALSE, FALSE, 0); + + main_previewhbox = gtk_hbox_new (FALSE, 0); + gtk_widget_set_name (main_previewhbox, "main_previewhbox"); + gtk_box_pack_start (GTK_BOX (main_hbox), main_previewhbox, TRUE, TRUE, 0); + + vseparator2 = gtk_vseparator_new (); + gtk_widget_set_name (vseparator2, "vseparator2"); + gtk_widget_show (vseparator2); + gtk_box_pack_start (GTK_BOX (main_previewhbox), vseparator2, FALSE, TRUE, 4); + + frame4 = gtk_frame_new (NULL); + gtk_widget_set_name (frame4, "frame4"); + gtk_widget_show (frame4); + gtk_box_pack_start (GTK_BOX (main_previewhbox), frame4, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (frame4), 3); + gtk_frame_set_shadow_type (GTK_FRAME (frame4), GTK_SHADOW_NONE); + + alignment6 = gtk_alignment_new (0.5, 0.5, 1, 1); + gtk_widget_set_name (alignment6, "alignment6"); + gtk_widget_show (alignment6); + gtk_container_add (GTK_CONTAINER (frame4), alignment6); + + vbox12 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (vbox12, "vbox12"); + gtk_widget_show (vbox12); + gtk_container_add (GTK_CONTAINER (alignment6), vbox12); + + main_previewbook = gtk_notebook_new (); + gtk_widget_set_name (main_previewbook, "main_previewbook"); + gtk_widget_show (main_previewbook); + gtk_box_pack_start (GTK_BOX (vbox12), main_previewbook, TRUE, TRUE, 0); + + table1 = gtk_table_new (3, 3, FALSE); + gtk_widget_set_name (table1, "table1"); + gtk_widget_show (table1); + gtk_container_add (GTK_CONTAINER (main_previewbook), table1); + gtk_container_set_border_width (GTK_CONTAINER (table1), 5); + + vbox2 = gtk_vbox_new (FALSE, 4); + gtk_widget_set_name (vbox2, "vbox2"); + gtk_widget_show (vbox2); + gtk_table_attach (GTK_TABLE (table1), vbox2, 0, 1, 0, 1, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0); + + checkbutton1 = gtk_check_button_new_with_mnemonic ("check button 1"); + gtk_widget_set_name (checkbutton1, "checkbutton1"); + gtk_widget_show (checkbutton1); + gtk_box_pack_start (GTK_BOX (vbox2), checkbutton1, FALSE, FALSE, 0); + + checkbutton2 = gtk_check_button_new_with_mnemonic ("check button 2"); + gtk_widget_set_name (checkbutton2, "checkbutton2"); + gtk_widget_show (checkbutton2); + gtk_box_pack_start (GTK_BOX (vbox2), checkbutton2, FALSE, FALSE, 0); + + button4 = gtk_button_new_with_mnemonic ("button"); + gtk_widget_set_name (button4, "button4"); + gtk_widget_show (button4); + gtk_box_pack_start (GTK_BOX (vbox2), button4, FALSE, FALSE, 0); + + togglebutton1 = gtk_toggle_button_new_with_mnemonic ("toggle button"); + gtk_widget_set_name (togglebutton1, "togglebutton1"); + gtk_widget_show (togglebutton1); + gtk_box_pack_start (GTK_BOX (vbox2), togglebutton1, FALSE, FALSE, 0); + + spinbutton1_adj = gtk_adjustment_new (0, 0, 100, 1, 10, 10); + spinbutton1 = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton1_adj), 1, 0); + gtk_widget_set_name (spinbutton1, "spinbutton1"); + gtk_widget_show (spinbutton1); + gtk_box_pack_start (GTK_BOX (vbox2), spinbutton1, FALSE, FALSE, 0); + + vbox4 = gtk_vbox_new (FALSE, 4); + gtk_widget_set_name (vbox4, "vbox4"); + gtk_widget_show (vbox4); + gtk_table_attach (GTK_TABLE (table1), vbox4, 2, 3, 0, 1, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (GTK_FILL), 0, 0); + + menubar2 = gtk_menu_bar_new (); + gtk_widget_set_name (menubar2, "menubar2"); + gtk_widget_show (menubar2); + gtk_box_pack_start (GTK_BOX (vbox4), menubar2, FALSE, FALSE, 0); + + menuitem5 = gtk_menu_item_new_with_mnemonic ("_File"); + gtk_widget_set_name (menuitem5, "menuitem5"); + gtk_widget_show (menuitem5); + gtk_container_add (GTK_CONTAINER (menubar2), menuitem5); + + menuitem5_menu = gtk_menu_new (); + gtk_widget_set_name (menuitem5_menu, "menuitem5_menu"); + gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem5), menuitem5_menu); + + new2 = gtk_image_menu_item_new_from_stock ("gtk-new", accel_group); + gtk_widget_set_name (new2, "new2"); + gtk_widget_show (new2); + gtk_container_add (GTK_CONTAINER (menuitem5_menu), new2); + + open2 = gtk_image_menu_item_new_from_stock ("gtk-open", accel_group); + gtk_widget_set_name (open2, "open2"); + gtk_widget_show (open2); + gtk_container_add (GTK_CONTAINER (menuitem5_menu), open2); + + save2 = gtk_image_menu_item_new_from_stock ("gtk-save", accel_group); + gtk_widget_set_name (save2, "save2"); + gtk_widget_show (save2); + gtk_container_add (GTK_CONTAINER (menuitem5_menu), save2); + + save_as2 = gtk_image_menu_item_new_from_stock ("gtk-save-as", accel_group); + gtk_widget_set_name (save_as2, "save_as2"); + gtk_widget_show (save_as2); + gtk_container_add (GTK_CONTAINER (menuitem5_menu), save_as2); + + separatormenuitem2 = gtk_separator_menu_item_new (); + gtk_widget_set_name (separatormenuitem2, "separatormenuitem2"); + gtk_widget_show (separatormenuitem2); + gtk_container_add (GTK_CONTAINER (menuitem5_menu), separatormenuitem2); + gtk_widget_set_sensitive (separatormenuitem2, FALSE); + + quit2 = gtk_image_menu_item_new_from_stock ("gtk-quit", accel_group); + gtk_widget_set_name (quit2, "quit2"); + gtk_widget_show (quit2); + gtk_container_add (GTK_CONTAINER (menuitem5_menu), quit2); + + menuitem6 = gtk_menu_item_new_with_mnemonic ("_Edit"); + gtk_widget_set_name (menuitem6, "menuitem6"); + gtk_widget_show (menuitem6); + gtk_container_add (GTK_CONTAINER (menubar2), menuitem6); + + menuitem6_menu = gtk_menu_new (); + gtk_widget_set_name (menuitem6_menu, "menuitem6_menu"); + gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem6), menuitem6_menu); + + cut2 = gtk_image_menu_item_new_from_stock ("gtk-cut", accel_group); + gtk_widget_set_name (cut2, "cut2"); + gtk_widget_show (cut2); + gtk_container_add (GTK_CONTAINER (menuitem6_menu), cut2); + + copy2 = gtk_image_menu_item_new_from_stock ("gtk-copy", accel_group); + gtk_widget_set_name (copy2, "copy2"); + gtk_widget_show (copy2); + gtk_container_add (GTK_CONTAINER (menuitem6_menu), copy2); + + paste2 = gtk_image_menu_item_new_from_stock ("gtk-paste", accel_group); + gtk_widget_set_name (paste2, "paste2"); + gtk_widget_show (paste2); + gtk_container_add (GTK_CONTAINER (menuitem6_menu), paste2); + + delete2 = gtk_image_menu_item_new_from_stock ("gtk-delete", accel_group); + gtk_widget_set_name (delete2, "delete2"); + gtk_widget_show (delete2); + gtk_container_add (GTK_CONTAINER (menuitem6_menu), delete2); + + menuitem8 = gtk_menu_item_new_with_mnemonic ("_Help"); + gtk_widget_set_name (menuitem8, "menuitem8"); + gtk_widget_show (menuitem8); + gtk_container_add (GTK_CONTAINER (menubar2), menuitem8); + + menuitem8_menu = gtk_menu_new (); + gtk_widget_set_name (menuitem8_menu, "menuitem8_menu"); + gtk_menu_item_set_submenu (GTK_MENU_ITEM (menuitem8), menuitem8_menu); + + about2 = gtk_menu_item_new_with_mnemonic ("_About"); + gtk_widget_set_name (about2, "about2"); + gtk_widget_show (about2); + gtk_container_add (GTK_CONTAINER (menuitem8_menu), about2); + + combobox1 = gtk_combo_box_new_text (); + gtk_widget_set_name (combobox1, "combobox1"); + gtk_widget_show (combobox1); + gtk_box_pack_start (GTK_BOX (vbox4), combobox1, FALSE, FALSE, 0); + gtk_combo_box_append_text (GTK_COMBO_BOX (combobox1), "item 1"); + gtk_combo_box_append_text (GTK_COMBO_BOX (combobox1), "item 2"); + gtk_combo_box_append_text (GTK_COMBO_BOX (combobox1), "item 3"); + + comboboxentry1 = gtk_combo_box_entry_new_text (); + gtk_widget_set_name (comboboxentry1, "comboboxentry1"); + gtk_widget_show (comboboxentry1); + gtk_box_pack_start (GTK_BOX (vbox4), comboboxentry1, FALSE, FALSE, 0); + gtk_widget_set_size_request (comboboxentry1, 80, 25); + gtk_combo_box_append_text (GTK_COMBO_BOX (comboboxentry1), "item 1"); + gtk_combo_box_append_text (GTK_COMBO_BOX (comboboxentry1), "item 2"); + gtk_combo_box_append_text (GTK_COMBO_BOX (comboboxentry1), "item 3"); + + hscale1 = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (15, 0, 50, 1, 0, 0))); + gtk_widget_set_name (hscale1, "hscale1"); + gtk_widget_show (hscale1); + gtk_box_pack_start (GTK_BOX (vbox4), hscale1, TRUE, TRUE, 0); + gtk_scale_set_digits (GTK_SCALE (hscale1), 0); + + scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL); + gtk_widget_set_name (scrolledwindow1, "scrolledwindow1"); + gtk_widget_show (scrolledwindow1); + gtk_table_attach (GTK_TABLE (table1), scrolledwindow1, 2, 3, 1, 2, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (GTK_FILL), 0, 0); + + preview_treeview = gtk_tree_view_new (); + gtk_widget_set_name (preview_treeview, "preview_treeview"); + gtk_widget_show (preview_treeview); + gtk_container_add (GTK_CONTAINER (scrolledwindow1), preview_treeview); + gtk_tree_view_set_reorderable (GTK_TREE_VIEW (preview_treeview), TRUE); + + statusbar1 = gtk_statusbar_new (); + gtk_widget_set_name (statusbar1, "statusbar1"); + gtk_widget_show (statusbar1); + gtk_table_attach (GTK_TABLE (table1), statusbar1, 1, 3, 2, 3, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_widget_set_size_request (statusbar1, 6, 20); + + progressbar1 = gtk_progress_bar_new (); + gtk_widget_set_name (progressbar1, "progressbar1"); + gtk_widget_show (progressbar1); + gtk_table_attach (GTK_TABLE (table1), progressbar1, 0, 1, 2, 3, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (0), 0, 0); + gtk_widget_set_size_request (progressbar1, 80, 20); + gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (progressbar1), 0.56); + gtk_progress_bar_set_text (GTK_PROGRESS_BAR (progressbar1), "56%"); + + vseparator1 = gtk_vseparator_new (); + gtk_widget_set_name (vseparator1, "vseparator1"); + gtk_widget_show (vseparator1); + gtk_table_attach (GTK_TABLE (table1), vseparator1, 1, 2, 0, 2, + (GtkAttachOptions) (GTK_FILL), + (GtkAttachOptions) (GTK_FILL), 5, 0); + + frame1 = gtk_frame_new (NULL); + gtk_widget_set_name (frame1, "frame1"); + gtk_widget_show (frame1); + gtk_table_attach (GTK_TABLE (table1), frame1, 0, 1, 1, 2, + (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), + (GtkAttachOptions) (GTK_EXPAND), 0, 0); + gtk_frame_set_label_align (GTK_FRAME (frame1), 0.5, 0.5); + + vbox3 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (vbox3, "vbox3"); + gtk_widget_show (vbox3); + gtk_container_add (GTK_CONTAINER (frame1), vbox3); + gtk_container_set_border_width (GTK_CONTAINER (vbox3), 5); + + radiobutton1 = gtk_radio_button_new_with_mnemonic (NULL, "radio 1"); + gtk_widget_set_name (radiobutton1, "radiobutton1"); + gtk_widget_show (radiobutton1); + gtk_box_pack_start (GTK_BOX (vbox3), radiobutton1, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton1), radiobutton1_group); + radiobutton1_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton1)); + + radiobutton2 = gtk_radio_button_new_with_mnemonic (NULL, "radio 2"); + gtk_widget_set_name (radiobutton2, "radiobutton2"); + gtk_widget_show (radiobutton2); + gtk_box_pack_start (GTK_BOX (vbox3), radiobutton2, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton2), radiobutton1_group); + radiobutton1_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton2)); + + radiobutton3 = gtk_radio_button_new_with_mnemonic (NULL, "radio 3"); + gtk_widget_set_name (radiobutton3, "radiobutton3"); + gtk_widget_show (radiobutton3); + gtk_box_pack_start (GTK_BOX (vbox3), radiobutton3, FALSE, FALSE, 0); + gtk_radio_button_set_group (GTK_RADIO_BUTTON (radiobutton3), radiobutton1_group); + radiobutton1_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radiobutton3)); + + label6 = gtk_label_new ("frame"); + gtk_widget_set_name (label6, "label6"); + gtk_widget_show (label6); + gtk_frame_set_label_widget (GTK_FRAME (frame1), label6); + gtk_misc_set_padding (GTK_MISC (label6), 1, 0); + + label4 = gtk_label_new ("Common widgets"); + gtk_widget_set_name (label4, "label4"); + gtk_widget_show (label4); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (main_previewbook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (main_previewbook), 0), label4); + + scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL); + gtk_widget_set_name (scrolledwindow2, "scrolledwindow2"); + gtk_widget_show (scrolledwindow2); + gtk_container_add (GTK_CONTAINER (main_previewbook), scrolledwindow2); + + textview1 = gtk_text_view_new (); + gtk_widget_set_name (textview1, "textview1"); + gtk_widget_show (textview1); + gtk_container_add (GTK_CONTAINER (scrolledwindow2), textview1); + gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (textview1), GTK_WRAP_WORD); + gtk_text_view_set_left_margin (GTK_TEXT_VIEW (textview1), 8); + gtk_text_view_set_right_margin (GTK_TEXT_VIEW (textview1), 8); + gtk_text_buffer_set_text (gtk_text_view_get_buffer (GTK_TEXT_VIEW (textview1)), "You can type some text here.\nYou can also click the right mouse button for a popup menu.", -1); + + label5 = gtk_label_new ("Text area"); + gtk_widget_set_name (label5, "label5"); + gtk_widget_show (label5); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (main_previewbook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (main_previewbook), 1), label5); + + vbox5 = gtk_vbox_new (FALSE, 0); + gtk_widget_set_name (vbox5, "vbox5"); + gtk_widget_show (vbox5); + gtk_container_add (GTK_CONTAINER (main_previewbook), vbox5); + + hbox4 = gtk_hbox_new (FALSE, 0); + gtk_widget_set_name (hbox4, "hbox4"); + gtk_widget_show (hbox4); + gtk_box_pack_start (GTK_BOX (vbox5), hbox4, TRUE, TRUE, 0); + gtk_container_set_border_width (GTK_CONTAINER (hbox4), 7); + + about_label = gtk_label_new (""); + gtk_widget_set_name (about_label, "about_label"); + gtk_widget_show (about_label); + gtk_box_pack_start (GTK_BOX (hbox4), about_label, FALSE, FALSE, 0); + gtk_label_set_line_wrap (GTK_LABEL (about_label), TRUE); + + label666 = gtk_label_new ("About"); + gtk_widget_set_name (label666, "label666"); + gtk_widget_show (label666); + gtk_notebook_set_tab_label (GTK_NOTEBOOK (main_previewbook), gtk_notebook_get_nth_page (GTK_NOTEBOOK (main_previewbook), 2), label666); + + label670 = gtk_label_new ("<b>Preview</b>"); + gtk_widget_set_name (label670, "label670"); + gtk_widget_show (label670); + gtk_frame_set_label_widget (GTK_FRAME (frame4), label670); + gtk_label_set_use_markup (GTK_LABEL (label670), TRUE); + + g_signal_connect ((gpointer) main_window, "delete_event", + G_CALLBACK (on_main_window_delete_event), + NULL); + g_signal_connect ((gpointer) main_use_default_font_radio, "toggled", + G_CALLBACK (on_main_use_default_font_radio_toggled), + NULL); + g_signal_connect ((gpointer) main_font_selector_button, "font_set", + G_CALLBACK (on_main_font_selector_button_font_set), + NULL); + g_signal_connect ((gpointer) main_showpreviewtoggle, "toggled", + G_CALLBACK (on_main_showpreviewtoggle_toggled), + NULL); + g_signal_connect ((gpointer) main_ok_button, "clicked", + G_CALLBACK (on_main_ok_button_clicked), + NULL); + g_signal_connect ((gpointer) main_cancel_button, "clicked", + G_CALLBACK (on_main_cancel_button_clicked), + NULL); + g_signal_connect ((gpointer) main_reset_button, "clicked", + G_CALLBACK (on_main_reset_button_clicked), + NULL); + g_signal_connect ((gpointer) new2, "activate", + G_CALLBACK (on_new2_activate), + NULL); + g_signal_connect ((gpointer) open2, "activate", + G_CALLBACK (on_open2_activate), + NULL); + g_signal_connect ((gpointer) save2, "activate", + G_CALLBACK (on_save2_activate), + NULL); + g_signal_connect ((gpointer) save_as2, "activate", + G_CALLBACK (on_save_as2_activate), + NULL); + g_signal_connect ((gpointer) quit2, "activate", + G_CALLBACK (on_quit2_activate), + NULL); + g_signal_connect ((gpointer) cut2, "activate", + G_CALLBACK (on_cut2_activate), + NULL); + g_signal_connect ((gpointer) copy2, "activate", + G_CALLBACK (on_copy2_activate), + NULL); + g_signal_connect ((gpointer) paste2, "activate", + G_CALLBACK (on_paste2_activate), + NULL); + g_signal_connect ((gpointer) delete2, "activate", + G_CALLBACK (on_delete2_activate), + NULL); + g_signal_connect ((gpointer) about2, "activate", + G_CALLBACK (on_about2_activate), + NULL); + + /* Store pointers to all widgets, for use by lookup_widget(). */ + GLADE_HOOKUP_OBJECT_NO_REF (main_window, main_window, "main_window"); + GLADE_HOOKUP_OBJECT (main_window, main_hbox, "main_hbox"); + GLADE_HOOKUP_OBJECT (main_window, vbox1, "vbox1"); + GLADE_HOOKUP_OBJECT (main_window, hbox1, "hbox1"); + GLADE_HOOKUP_OBJECT (main_window, frame2, "frame2"); + GLADE_HOOKUP_OBJECT (main_window, alignment3, "alignment3"); + GLADE_HOOKUP_OBJECT (main_window, scrolledwindow3, "scrolledwindow3"); + GLADE_HOOKUP_OBJECT (main_window, main_themelist, "main_themelist"); + GLADE_HOOKUP_OBJECT (main_window, label1234, "label1234"); + GLADE_HOOKUP_OBJECT (main_window, frame3, "frame3"); + GLADE_HOOKUP_OBJECT (main_window, alignment4, "alignment4"); + GLADE_HOOKUP_OBJECT (main_window, vbox7, "vbox7"); + GLADE_HOOKUP_OBJECT (main_window, hbox8, "hbox8"); + GLADE_HOOKUP_OBJECT (main_window, vbox9, "vbox9"); + GLADE_HOOKUP_OBJECT (main_window, main_use_default_font_radio, "main_use_default_font_radio"); + GLADE_HOOKUP_OBJECT (main_window, main_use_custom_font_radio, "main_use_custom_font_radio"); + GLADE_HOOKUP_OBJECT (main_window, alignment5, "alignment5"); + GLADE_HOOKUP_OBJECT (main_window, vbox10, "vbox10"); + GLADE_HOOKUP_OBJECT (main_window, hbox9, "hbox9"); + GLADE_HOOKUP_OBJECT (main_window, vbox11, "vbox11"); + GLADE_HOOKUP_OBJECT (main_window, main_font_selector_button, "main_font_selector_button"); + GLADE_HOOKUP_OBJECT (main_window, label669, "label669"); + GLADE_HOOKUP_OBJECT (main_window, vbox13, "vbox13"); + GLADE_HOOKUP_OBJECT (main_window, hbox6666, "hbox6666"); + /* GLADE_HOOKUP_OBJECT (main_window, main_use_system_config_checkbutton, "main_use_system_config_checkbutton"); */ + GLADE_HOOKUP_OBJECT (main_window, main_showpreviewtoggle, "main_showpreviewtoggle"); + GLADE_HOOKUP_OBJECT (main_window, hbuttonbox1, "hbuttonbox1"); + GLADE_HOOKUP_OBJECT (main_window, hbox7, "hbox7"); + GLADE_HOOKUP_OBJECT (main_window, hbox6665, "hbox6665"); + GLADE_HOOKUP_OBJECT (main_window, image2, "image2"); + GLADE_HOOKUP_OBJECT (main_window, label2, "label2"); + GLADE_HOOKUP_OBJECT (main_window, vbox6, "vbox6"); + GLADE_HOOKUP_OBJECT (main_window, hbox5, "hbox5"); + GLADE_HOOKUP_OBJECT (main_window, main_ok_button, "main_ok_button"); + GLADE_HOOKUP_OBJECT (main_window, main_cancel_button, "main_cancel_button"); + GLADE_HOOKUP_OBJECT (main_window, main_reset_button, "main_reset_button"); + GLADE_HOOKUP_OBJECT (main_window, alignment2, "alignment2"); + GLADE_HOOKUP_OBJECT (main_window, hbox6, "hbox6"); + GLADE_HOOKUP_OBJECT (main_window, image1, "image1"); + GLADE_HOOKUP_OBJECT (main_window, label667, "label667"); + GLADE_HOOKUP_OBJECT (main_window, main_previewhbox, "main_previewhbox"); + GLADE_HOOKUP_OBJECT (main_window, vseparator2, "vseparator2"); + GLADE_HOOKUP_OBJECT (main_window, frame4, "frame4"); + GLADE_HOOKUP_OBJECT (main_window, alignment6, "alignment6"); + GLADE_HOOKUP_OBJECT (main_window, vbox12, "vbox12"); + GLADE_HOOKUP_OBJECT (main_window, main_previewbook, "main_previewbook"); + GLADE_HOOKUP_OBJECT (main_window, table1, "table1"); + GLADE_HOOKUP_OBJECT (main_window, vbox2, "vbox2"); + GLADE_HOOKUP_OBJECT (main_window, checkbutton1, "checkbutton1"); + GLADE_HOOKUP_OBJECT (main_window, checkbutton2, "checkbutton2"); + GLADE_HOOKUP_OBJECT (main_window, button4, "button4"); + GLADE_HOOKUP_OBJECT (main_window, togglebutton1, "togglebutton1"); + GLADE_HOOKUP_OBJECT (main_window, spinbutton1, "spinbutton1"); + GLADE_HOOKUP_OBJECT (main_window, vbox4, "vbox4"); + GLADE_HOOKUP_OBJECT (main_window, menubar2, "menubar2"); + GLADE_HOOKUP_OBJECT (main_window, menuitem5, "menuitem5"); + GLADE_HOOKUP_OBJECT (main_window, menuitem5_menu, "menuitem5_menu"); + GLADE_HOOKUP_OBJECT (main_window, new2, "new2"); + GLADE_HOOKUP_OBJECT (main_window, open2, "open2"); + GLADE_HOOKUP_OBJECT (main_window, save2, "save2"); + GLADE_HOOKUP_OBJECT (main_window, save_as2, "save_as2"); + GLADE_HOOKUP_OBJECT (main_window, separatormenuitem2, "separatormenuitem2"); + GLADE_HOOKUP_OBJECT (main_window, quit2, "quit2"); + GLADE_HOOKUP_OBJECT (main_window, menuitem6, "menuitem6"); + GLADE_HOOKUP_OBJECT (main_window, menuitem6_menu, "menuitem6_menu"); + GLADE_HOOKUP_OBJECT (main_window, cut2, "cut2"); + GLADE_HOOKUP_OBJECT (main_window, copy2, "copy2"); + GLADE_HOOKUP_OBJECT (main_window, paste2, "paste2"); + GLADE_HOOKUP_OBJECT (main_window, delete2, "delete2"); + GLADE_HOOKUP_OBJECT (main_window, menuitem8, "menuitem8"); + GLADE_HOOKUP_OBJECT (main_window, menuitem8_menu, "menuitem8_menu"); + GLADE_HOOKUP_OBJECT (main_window, about2, "about2"); + GLADE_HOOKUP_OBJECT (main_window, combobox1, "combobox1"); + GLADE_HOOKUP_OBJECT (main_window, comboboxentry1, "comboboxentry1"); + GLADE_HOOKUP_OBJECT (main_window, hscale1, "hscale1"); + GLADE_HOOKUP_OBJECT (main_window, scrolledwindow1, "scrolledwindow1"); + GLADE_HOOKUP_OBJECT (main_window, preview_treeview, "preview_treeview"); + GLADE_HOOKUP_OBJECT (main_window, statusbar1, "statusbar1"); + GLADE_HOOKUP_OBJECT (main_window, progressbar1, "progressbar1"); + GLADE_HOOKUP_OBJECT (main_window, vseparator1, "vseparator1"); + GLADE_HOOKUP_OBJECT (main_window, frame1, "frame1"); + GLADE_HOOKUP_OBJECT (main_window, vbox3, "vbox3"); + GLADE_HOOKUP_OBJECT (main_window, radiobutton1, "radiobutton1"); + GLADE_HOOKUP_OBJECT (main_window, radiobutton2, "radiobutton2"); + GLADE_HOOKUP_OBJECT (main_window, radiobutton3, "radiobutton3"); + GLADE_HOOKUP_OBJECT (main_window, label6, "label6"); + GLADE_HOOKUP_OBJECT (main_window, label4, "label4"); + GLADE_HOOKUP_OBJECT (main_window, scrolledwindow2, "scrolledwindow2"); + GLADE_HOOKUP_OBJECT (main_window, textview1, "textview1"); + GLADE_HOOKUP_OBJECT (main_window, label5, "label5"); + GLADE_HOOKUP_OBJECT (main_window, vbox5, "vbox5"); + GLADE_HOOKUP_OBJECT (main_window, hbox4, "hbox4"); + GLADE_HOOKUP_OBJECT (main_window, about_label, "about_label"); + GLADE_HOOKUP_OBJECT (main_window, label666, "label666"); + GLADE_HOOKUP_OBJECT (main_window, label670, "label670"); + GLADE_HOOKUP_OBJECT_NO_REF (main_window, tooltips, "tooltips"); + + gtk_widget_grab_default (main_themelist); + gtk_window_add_accel_group (GTK_WINDOW (main_window), accel_group); + + return main_window; +} + diff --git a/src/gtk2-prefs/interface.h b/src/gtk2-prefs/interface.h new file mode 100644 index 00000000..11c79152 --- /dev/null +++ b/src/gtk2-prefs/interface.h @@ -0,0 +1,5 @@ +/* + * DO NOT EDIT THIS FILE - it is generated by Glade. + */ + +GtkWidget* create_main_window (void); diff --git a/src/gtk2-prefs/main.cpp b/src/gtk2-prefs/main.cpp new file mode 100644 index 00000000..42e425c2 --- /dev/null +++ b/src/gtk2-prefs/main.cpp @@ -0,0 +1,616 @@ +/*************************************************************************** + main.cpp - description + ------------------- + begin : Wed Jan 1 19:06:46 GMT+4 2003 + copyright : (C) 2003 - 2005 by Alex Shaduri + email : ashaduri '@' gmail.com + ***************************************************************************/ + + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <iostream> +#include <fstream> +#include <stdlib.h> +#include <sstream> +#include <gtk/gtk.h> + +#ifdef _WIN32 +#include "win32util.h" +#include <io.h> +#else +#include <sys/stat.h> +#endif + +#ifdef HAVE_UNISTD_H +#include <unistd.h> +#endif + +#include "interface.h" +#include "callbacks.h" +#include "support.h" + +#include "main.h" + + +// ------------------------------------------------------ + + + +GtkWidget* g_main_window = 0; +// GtkWidget* g_fontsel_dialog = 0; + + +static std::string s_tmp_file; + + + +// ------------------------------------------------------ + + + +static std::string gchar_to_string(gchar* gstr) +{ + std::string str = (gstr ? gstr : ""); + g_free(gstr); + return str; +} + + + +std::string get_home_dir() +{ + std::string dir; + + if (g_get_home_dir()) + dir = g_get_home_dir(); + +#ifdef _WIN32 + if (dir == "") { + dir = win32_get_registry_value_string(HKEY_CURRENT_USER, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", "Personal"); + } + if (dir == "") { + dir = win32_get_registry_value_string(HKEY_CURRENT_USER, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", "User"); + } +#endif + + return dir; + +} + + + + +// ------------------------------------------------------ + + +static std::string s_orig_theme; +static std::string s_orig_font; + +std::string& get_orig_theme() +{ + return s_orig_theme; +} + + +std::string& get_orig_font() +{ + return s_orig_font; +} + + +// ------------------------------------------------------ + + +std::string get_current_theme() +{ + + GtkSettings* settings = gtk_settings_get_default(); + gchar* theme; + g_object_get(settings, "gtk-theme-name", &theme, NULL); + + return gchar_to_string(theme); +} + + + + +std::string get_current_font() +{ + return gchar_to_string(pango_font_description_to_string(gtk_rc_get_style(g_main_window)->font_desc)); +} + + + +// ------------------------------------------------------ + + + +std::string get_selected_theme() +{ + GtkTreeView* treeview = GTK_TREE_VIEW(lookup_widget(g_main_window, "main_themelist")); + GtkTreeModel* model = gtk_tree_view_get_model(treeview); + GtkTreeSelection* selection = gtk_tree_view_get_selection(treeview); + + GtkTreeIter iter; + gtk_tree_selection_get_selected(selection, 0, &iter); + + gchar* theme_name; + gtk_tree_model_get(model, &iter, 0, &theme_name, -1); +// std::cout << theme_name << "\n"; + return gchar_to_string(theme_name); +} + + + +std::string get_selected_font() +{ +// GtkWidget* fontentry = lookup_widget(g_main_window, "main_fontentry"); +// return gtk_entry_get_text(GTK_ENTRY(fontentry)); + + bool default_font = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(lookup_widget(g_main_window, "main_use_default_font_radio"))); + + if (default_font) + return ""; + + GtkWidget* fontbutton = lookup_widget(g_main_window, "main_font_selector_button"); + return gtk_font_button_get_font_name(GTK_FONT_BUTTON(fontbutton)); +} + + +// ------------------------------------------------------ + + + +static void themelist_selection_changed_cb(GtkTreeSelection* selection, gpointer data) +{ + if (gtk_tree_selection_get_selected (selection, 0, 0)) + apply_theme(get_selected_theme(), get_current_font()); +} + + + +// ------------------------------------------------------ + + + +static void populate_with_themes(GtkWidget* w) +{ + + std::string search_path = gchar_to_string(gtk_rc_get_theme_dir()); + //std::string search_path = gchar_to_string(g_build_filename("lib", "gtk-2.0", "2.10.0", "engines", NULL)); + + if (search_path.size() && search_path[search_path.size() -1] != G_DIR_SEPARATOR) + search_path += G_DIR_SEPARATOR_S; + + GDir* gdir = g_dir_open(search_path.c_str(), 0, NULL); + if (gdir == NULL) + return; + + + char* name; + GList* glist = 0; + + while ( (name = const_cast<char*>(g_dir_read_name(gdir))) != NULL ) { + std::string filename = name; + +// if (g_ascii_strup(fname.c_str(), -1) == "Default") +// continue; + + std::string fullname = search_path + filename; + std::string rc = fullname; rc += G_DIR_SEPARATOR_S; rc += "gtk-2.0"; rc += G_DIR_SEPARATOR_S; rc += "gtkrc"; + + bool is_dir = 0; + if (g_file_test(fullname.c_str(), G_FILE_TEST_IS_DIR)) + is_dir = 1; + + if (is_dir && g_file_test(rc.c_str(), G_FILE_TEST_IS_REGULAR)) { + glist = g_list_insert_sorted(glist, g_strdup(filename.c_str()), (GCompareFunc)strcmp); + } + } + + g_dir_close(gdir); + + + + + // ---------------- tree + + + GtkTreeView* treeview = GTK_TREE_VIEW(w); + GtkListStore *store = gtk_list_store_new (1, G_TYPE_STRING); + gtk_tree_view_set_model(treeview, GTK_TREE_MODEL(store)); + + GtkTreeViewColumn* column = gtk_tree_view_column_new_with_attributes ( + "Theme", gtk_cell_renderer_text_new(), + "text", 0, + NULL); + gtk_tree_view_column_set_sizing(column, GTK_TREE_VIEW_COLUMN_GROW_ONLY); + gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column); + + + GtkTreeIter iter; + + int i =0, curr=0; + while (char* theme = (char*)g_list_nth_data(glist, i)) { + gtk_list_store_append (store, &iter); + gtk_list_store_set (store, &iter, 0, theme, -1); + + if (strcmp(theme, get_current_theme().c_str()) == 0) { + curr = i; + } + + ++i; + } + + + GtkTreeSelection* selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview)); + + // set the default theme + + // THIS IS IMPORTANT!!! + gtk_widget_grab_focus(w); + + std::stringstream str; + str << curr; + GtkTreePath* selpath = gtk_tree_path_new_from_string (str.str().c_str()); + if (selpath) { + gtk_tree_selection_select_path(selection, selpath); + gtk_tree_view_scroll_to_cell(treeview, selpath, NULL, true, 0.5, 0.0); + gtk_tree_path_free(selpath); + } + + g_signal_connect (G_OBJECT (selection), "changed", + G_CALLBACK (themelist_selection_changed_cb), NULL); + + g_object_unref (G_OBJECT (store)); + + + // ---------------- font + +// GtkWidget* fontentry = lookup_widget(g_main_window, "main_fontentry"); +// gtk_entry_set_text(GTK_ENTRY(fontentry), get_current_font().c_str()); + + GtkWidget* fontbutton = lookup_widget(g_main_window, "main_font_selector_button"); + gtk_font_button_set_font_name(GTK_FONT_BUTTON(fontbutton), get_current_font().c_str()); + + +} + + + + +// ------------------------------------------------------ + +#ifdef _WIN32 +static void redirect_to_file (const gchar* log_domain, GLogLevelFlags log_level, + const gchar* message, gpointer user_data) +{ + /* only write logs if running in portable mode, otherwise + we would get a permission error in program files */ + if ((_access( "portable-mode", 0 )) != -1) + { + std::fstream f; + f.open("gtk2-prefs.log", std::ios::app); + f << message << "\n"; + f.close(); + } +} +#endif + +// ------------------------------------------------------ + + + + +int main(int argc, char *argv[]) +{ + + // work around pango weirdness +#ifdef _WIN32 + // no longer needed as of pango 1.2.5, but won't do any harm +// putenv("PANGO_WIN32_NO_UNISCRIBE=1"); +#endif + + + + + std::string user = g_get_user_name(); + std::string tmp = g_get_tmp_dir(); + std::string tmp_file = tmp + G_DIR_SEPARATOR_S + "gtk_prefs_tmprc_" + user; + s_tmp_file = tmp_file; + gtk_rc_add_default_file(tmp_file.c_str()); + + + + gtk_init (&argc, &argv); + + // redirect gtk warnings to file when in win32 +#if defined _WIN32 && !defined DEBUG + g_log_set_handler ("GLib", GLogLevelFlags(G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL + | G_LOG_FLAG_RECURSION), redirect_to_file, NULL); + g_log_set_handler ("GModule", GLogLevelFlags(G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL + | G_LOG_FLAG_RECURSION), redirect_to_file, NULL); + g_log_set_handler ("GLib-GObject", GLogLevelFlags(G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL + | G_LOG_FLAG_RECURSION), redirect_to_file, NULL); + g_log_set_handler ("GThread", GLogLevelFlags(G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL + | G_LOG_FLAG_RECURSION), redirect_to_file, NULL); + g_log_set_handler ("Gtk", GLogLevelFlags(G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL + | G_LOG_FLAG_RECURSION), redirect_to_file, NULL); + g_log_set_handler ("Gdk", GLogLevelFlags(G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL + | G_LOG_FLAG_RECURSION), redirect_to_file, NULL); + g_log_set_handler ("GdkPixbuf", GLogLevelFlags(G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL + | G_LOG_FLAG_RECURSION), redirect_to_file, NULL); +#endif + + + add_pixmap_directory("."); + + g_main_window = create_main_window(); + + + populate_with_themes(lookup_widget(g_main_window, "main_themelist")); + + + std::string about_text = std::string("GTK+ Preference Tool") + "\n\ +\n\ +by Alex Shaduri <ashaduri@gmail.com>\n\ +\n\ + The authors make NO WARRANTY or representation, either express or implied, with respect to this software, its quality, accuracy, merchantability, or fitness for a particular purpose. This software is provided \"AS IS\", and you, its user, assume the entire risk as to its quality and accuracy.\n\ +\n\ + This is free software, and you are welcome to redistribute it under terms of GNU General Public License v2."; + + + gtk_label_set_text(GTK_LABEL(lookup_widget(g_main_window, "about_label")), about_text.c_str()); + + + GtkTreeView* treeview = GTK_TREE_VIEW(lookup_widget(g_main_window, "preview_treeview")); + GtkTreeStore *store = gtk_tree_store_new (2, G_TYPE_STRING, G_TYPE_INT); + gtk_tree_view_set_model(treeview, GTK_TREE_MODEL(store)); + + + GtkTreeViewColumn* column1 = gtk_tree_view_column_new_with_attributes ("Text", gtk_cell_renderer_text_new(), "text", 0, NULL); + gtk_tree_view_column_set_sizing(column1, GTK_TREE_VIEW_COLUMN_GROW_ONLY); + gtk_tree_view_column_set_resizable(column1, true); + gtk_tree_view_column_set_reorderable (column1, true); + gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column1); + + GtkTreeViewColumn* column2 = gtk_tree_view_column_new_with_attributes ("Number", gtk_cell_renderer_text_new(), "text", 1, NULL); + gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column2); + + + GtkTreeIter iter1, iter2; + + gtk_tree_store_append (store, &iter1, NULL); + gtk_tree_store_set (store, &iter1, 0, "Parent 2", 1, 66, -1); + + gtk_tree_store_append (store, &iter1, NULL); + gtk_tree_store_set (store, &iter1, 0, "Parent 1", 1, 65, -1); + + gtk_tree_store_append (store, &iter2, &iter1); + gtk_tree_store_set (store, &iter2, 0, "Child 1", 1, 67, -1); + + gtk_tree_view_column_set_sort_column_id(column1, 0); + gtk_tree_view_column_set_sort_order (column1, GTK_SORT_ASCENDING); + gtk_tree_view_column_set_sort_indicator(column1, true); + gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(store), 0, GTK_SORT_ASCENDING); + + g_object_unref (G_OBJECT (store)); + + + get_orig_theme() = get_current_theme(); + get_orig_font() = get_current_font(); + + + gtk_widget_show (g_main_window); + + + gtk_main(); + + return EXIT_SUCCESS; + +} + + + +// ------------------------------- + + + +void set_theme(const std::string& theme_name, const std::string& font) +{ + // set widgets accordingly + + // tree + GtkTreeView* treeview = GTK_TREE_VIEW(lookup_widget(g_main_window, "main_themelist")); + GtkTreeModel* model = gtk_tree_view_get_model(treeview); + GtkTreeSelection* selection = gtk_tree_view_get_selection(treeview); + + GtkTreeIter iter; + gtk_tree_model_get_iter_first(model, &iter); + + while(gtk_tree_model_iter_next(model, &iter)) { + + gchar* text; + gtk_tree_model_get (model, &iter, 0, &text, -1); + std::string theme = gchar_to_string(text); + + if (theme_name == theme) { + gtk_tree_selection_select_iter(selection, &iter); + break; + } + + } + + + // font +// GtkWidget* fontentry = lookup_widget(g_main_window, "main_fontentry"); +// gtk_entry_set_text(GTK_ENTRY(fontentry), font.c_str()); + + if (font != "") { + GtkWidget* fontbutton = lookup_widget(g_main_window, "main_font_selector_button"); + gtk_font_button_set_font_name(GTK_FONT_BUTTON(fontbutton), get_current_font().c_str()); + } + + + apply_theme(get_selected_theme(), get_selected_font()); + +} + + + + +void apply_theme(const std::string& theme_name, const std::string& font) +{ + + std::stringstream strstr; + strstr << "gtk-theme-name = \"" << theme_name << "\"\n"; + + if (font != "") + strstr << "style \"user-font\"\n{\nfont_name=\"" << font << "\"\n}\nwidget_class \"*\" style \"user-font\""; + +// std::cout << strstr.str() << "\n\n\n"; + std::fstream f; + f.open(s_tmp_file.c_str(), std::ios::out); + f << strstr.str(); + f.close(); + + + GtkSettings* settings = gtk_settings_get_default(); + + gtk_rc_reparse_all_for_settings (settings, true); +// gtk_rc_parse_string(strstr.str().c_str()); +// gtk_rc_parse("/root/.gtk-tmp"); +// gtk_rc_reset_styles(settings); + + unlink(s_tmp_file.c_str()); + + while (gtk_events_pending()) + gtk_main_iteration(); + + +} + + + + +#ifdef _WIN32 +#ifdef HAVE_DIRECT_H +#include <direct.h> +#define mkdir(a) _mkdir(a) +#else +#define mkdir(a, b) mkdir(a) +#endif +#endif + + +bool save_current_theme() +{ + + std::string conf_file = ""; + + if ((_access( "portable-mode", 0 )) != -1) { + + char* themes_dir_c = gtk_rc_get_theme_dir(); + char* conf_file_c = g_build_filename("etc", "gtk-2.0", "gtkrc", NULL); + + conf_file = (conf_file_c ? conf_file_c : ""); + + // file doesn't exist, try to get it from gtk. + if (!g_file_test(conf_file.c_str(), G_FILE_TEST_EXISTS)) { + + gchar** rc_files = gtk_rc_get_default_files(); + if (rc_files[0] != 0) { + conf_file = rc_files[0]; + } + + } + + + g_free(themes_dir_c); + g_free(conf_file_c); + + + // mkdir a directory, only one level deep + char* etc = g_path_get_dirname(conf_file.c_str()); + if (!g_file_test(etc, G_FILE_TEST_IS_DIR)) { + mkdir(etc, S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH); + } + g_free(etc); + + + } else { + + conf_file = get_home_dir(); + + if (conf_file[conf_file.length()-1] != G_DIR_SEPARATOR) + conf_file += G_DIR_SEPARATOR_S; + + conf_file += ".gtkrc-2.0"; + + } + + + + // ask + + GtkWidget* window = gtk_window_new(GTK_WINDOW_TOPLEVEL); + GtkWidget* dialog = gtk_dialog_new_with_buttons ("Query", GTK_WINDOW(window), + GtkDialogFlags(GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_MODAL), + GTK_STOCK_NO, GTK_RESPONSE_REJECT, + GTK_STOCK_YES, GTK_RESPONSE_ACCEPT, + NULL); + gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_MOUSE); + GtkWidget* hbox = gtk_hbox_new(1, 1); + gtk_container_set_border_width(GTK_CONTAINER(hbox), 10); + + gtk_container_add (GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), hbox); + gtk_container_add (GTK_CONTAINER(hbox), + gtk_label_new((std::string("\n\nThe file \"") + conf_file + "\" will be overwritten.\nAre you sure?\n\n").c_str())); + + gtk_widget_show_all (dialog); + + bool ret = 0; + gint result = gtk_dialog_run (GTK_DIALOG (dialog)); + switch (result) { + case GTK_RESPONSE_ACCEPT: + ret = 1; + break; + } + gtk_widget_destroy(dialog); + gtk_widget_destroy(window); + + if (!ret) // the user pressed "No". + return false; + + + std::string font = get_selected_font(); + + std::fstream f; + f.open(conf_file.c_str(), std::ios::out); + f << "# Auto-written by gtk2_prefs. Do not edit.\n\n"; + f << "gtk-theme-name = \"" << get_selected_theme() << "\"\n"; + + if (font != "") + f << "style \"user-font\"\n{\n\tfont_name=\"" << font << "\"\n}\nwidget_class \"*\" style \"user-font\""; + f.close(); + + + return true; + +} + + + + +void program_shutdown() +{ + gtk_main_quit(); +} + + + + + diff --git a/src/gtk2-prefs/main.h b/src/gtk2-prefs/main.h new file mode 100644 index 00000000..ab4e5cbd --- /dev/null +++ b/src/gtk2-prefs/main.h @@ -0,0 +1,32 @@ +/*************************************************************************** + main.cpp - description + ------------------- + begin : Wed Jan 1 2003 + copyright : (C) 2003 - 2005 by Alex Shaduri + email : ashaduri '@' gmail.com + ***************************************************************************/ + +#ifndef _MAIN_H_ +#define _MAIN_H_ + + +#include <string> + + +std::string& get_orig_theme(); +std::string& get_orig_font(); + +std::string get_current_theme(); +std::string get_current_font(); + +std::string get_selected_theme(); +std::string get_selected_font(); + +void set_theme(const std::string& theme_name, const std::string& font); +void apply_theme(const std::string& theme_name, const std::string& font); +bool save_current_theme(); + +void program_shutdown(); + + +#endif diff --git a/src/gtk2-prefs/makefile.mak b/src/gtk2-prefs/makefile.mak new file mode 100644 index 00000000..1eeeb565 --- /dev/null +++ b/src/gtk2-prefs/makefile.mak @@ -0,0 +1,24 @@ +include "..\makeinc.mak" + +TARGET = gtk2-prefs.exe + +PREF_OBJECTS = \ +callbacks.obj \ +interface.obj \ +support.obj \ +win32util.obj \ +main.obj + +CPPFLAGS = $(CPPFLAGS) /D_STL70_ /D_STATIC_CPPLIB /EHsc /DHAVE_CONFIG_H + +all: $(PREF_OBJECTS) $(TARGET) + +.cpp.obj: + $(CC) $(CPPFLAGS) $(GLIB) $(GTK) /I. /c $< + +$(TARGET): $(PREF_OBJECTS) + $(LINK) /out:$(TARGET) /entry:mainCRTStartup $(LDFLAGS) $(PREF_OBJECTS) ntstc_msvcrt.lib $(LIBS) + +clean: + del $(TARGET) + del *.obj diff --git a/src/gtk2-prefs/support.cpp b/src/gtk2-prefs/support.cpp new file mode 100644 index 00000000..bb19f284 --- /dev/null +++ b/src/gtk2-prefs/support.cpp @@ -0,0 +1,146 @@ +/* + * DO NOT EDIT THIS FILE - it is generated by Glade. + */ + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include <sys/types.h> +#include <sys/stat.h> +#ifdef HAVE_UNISTD_H +#include <unistd.h> +#endif +#include <string.h> +#include <stdio.h> + +#include <gtk/gtk.h> + +#include "support.h" + +GtkWidget* +lookup_widget (GtkWidget *widget, + const gchar *widget_name) +{ + GtkWidget *parent, *found_widget; + + for (;;) + { + if (GTK_IS_MENU (widget)) + parent = gtk_menu_get_attach_widget (GTK_MENU (widget)); + else + parent = widget->parent; + if (!parent) + parent = (GtkWidget*)g_object_get_data (G_OBJECT (widget), "GladeParentKey"); + if (parent == NULL) + break; + widget = parent; + } + + found_widget = (GtkWidget*) g_object_get_data (G_OBJECT (widget), + widget_name); + if (!found_widget) + g_warning ("Widget not found: %s", widget_name); + return found_widget; +} + +static GList *pixmaps_directories = NULL; + +/* Use this function to set the directory containing installed pixmaps. */ +void +add_pixmap_directory (const gchar *directory) +{ + pixmaps_directories = g_list_prepend (pixmaps_directories, + g_strdup (directory)); +} + +/* This is an internally used function to find pixmap files. */ +static gchar* +find_pixmap_file (const gchar *filename) +{ + GList *elem; + + /* We step through each of the pixmaps directory to find it. */ + elem = pixmaps_directories; + while (elem) + { + gchar *pathname = g_strdup_printf ("%s%s%s", (gchar*)elem->data, + G_DIR_SEPARATOR_S, filename); + if (g_file_test (pathname, G_FILE_TEST_EXISTS)) + return pathname; + g_free (pathname); + elem = elem->next; + } + return NULL; +} + +/* This is an internally used function to create pixmaps. */ +GtkWidget* +create_pixmap (GtkWidget *widget, + const gchar *filename) +{ + gchar *pathname = NULL; + GtkWidget *pixmap; + + if (!filename || !filename[0]) + return gtk_image_new (); + + pathname = find_pixmap_file (filename); + + if (!pathname) + { + g_warning ("Couldn't find pixmap file: %s", filename); + return gtk_image_new (); + } + + pixmap = gtk_image_new_from_file (pathname); + g_free (pathname); + return pixmap; +} + +/* This is an internally used function to create pixmaps. */ +GdkPixbuf* +create_pixbuf (const gchar *filename) +{ + gchar *pathname = NULL; + GdkPixbuf *pixbuf; + GError *error = NULL; + + if (!filename || !filename[0]) + return NULL; + + pathname = find_pixmap_file (filename); + + if (!pathname) + { + g_warning ("Couldn't find pixmap file: %s", filename); + return NULL; + } + + pixbuf = gdk_pixbuf_new_from_file (pathname, &error); + if (!pixbuf) + { + fprintf (stderr, "Failed to load pixbuf file: %s: %s\n", + pathname, error->message); + g_error_free (error); + } + g_free (pathname); + return pixbuf; +} + +/* This is used to set ATK action descriptions. */ +void +glade_set_atk_action_description (AtkAction *action, + const gchar *action_name, + const gchar *description) +{ + gint n_actions, i; + + n_actions = atk_action_get_n_actions (action); + for (i = 0; i < n_actions; i++) + { + if (!strcmp (atk_action_get_name (action, i), action_name)) + atk_action_set_description (action, i, description); + } +} + diff --git a/src/gtk2-prefs/support.h b/src/gtk2-prefs/support.h new file mode 100644 index 00000000..2dea079c --- /dev/null +++ b/src/gtk2-prefs/support.h @@ -0,0 +1,44 @@ +/* + * DO NOT EDIT THIS FILE - it is generated by Glade. + */ + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include <gtk/gtk.h> + +/* + * Public Functions. + */ + +/* + * This function returns a widget in a component created by Glade. + * Call it with the toplevel widget in the component (i.e. a window/dialog), + * or alternatively any widget in the component, and the name of the widget + * you want returned. + */ +GtkWidget* lookup_widget (GtkWidget *widget, + const gchar *widget_name); + + +/* Use this function to set the directory containing installed pixmaps. */ +void add_pixmap_directory (const gchar *directory); + + +/* + * Private Functions. + */ + +/* This is used to create the pixmaps used in the interface. */ +GtkWidget* create_pixmap (GtkWidget *widget, + const gchar *filename); + +/* This is used to create the pixbufs used in the interface. */ +GdkPixbuf* create_pixbuf (const gchar *filename); + +/* This is used to set ATK action descriptions. */ +void glade_set_atk_action_description (AtkAction *action, + const gchar *action_name, + const gchar *description); + diff --git a/src/gtk2-prefs/sys_win32.h b/src/gtk2-prefs/sys_win32.h new file mode 100644 index 00000000..0a106690 --- /dev/null +++ b/src/gtk2-prefs/sys_win32.h @@ -0,0 +1,28 @@ +/*************************************************************************** + sys_win32.h - description + ------------------- + begin : Wed Oct 22 2003 + copyright : (C) 2003 by Alex Shaduri, Irakli A. Elizbarashvili + email : alex_sh@land.ru + ***************************************************************************/ +#ifndef SYS_WIN32_H +#define SYS_WIN32_H + + + + + +#ifdef _WIN32 + +# define WIN32_LEAN_AND_MEAN +# include <windows.h> + +#endif + + + + + + + +#endif diff --git a/src/gtk2-prefs/win32util.cpp b/src/gtk2-prefs/win32util.cpp new file mode 100644 index 00000000..79cab17d --- /dev/null +++ b/src/gtk2-prefs/win32util.cpp @@ -0,0 +1,80 @@ +/*************************************************************************** + win32util.cpp - description + ------------------- + begin : Tue Jan 14 2003 + copyright : (C) 2003 by Alex Shaduri + email : alex_sh@land.ru + ***************************************************************************/ + +#ifdef _WIN32 + +#include <string> +#include "sys_win32.h" +#include "win32util.h" + + + + + +std::string win32_get_registry_value_string(HKEY base, const std::string& keydir, const std::string& key) +{ + + HKEY reg_key = NULL; + DWORD type; + DWORD nbytes; + char* result = NULL; +//HKEY_CURRENT_USER + nbytes = 0; + if ( RegOpenKeyEx ( base, keydir.c_str(), 0, KEY_QUERY_VALUE, ®_key) == ERROR_SUCCESS + && RegQueryValueEx (reg_key, key.c_str(), 0, &type, NULL, &nbytes) == ERROR_SUCCESS ) { + result = (char*)malloc(nbytes + 1); + RegQueryValueEx (reg_key, key.c_str(), 0, &type, (BYTE*)result, &nbytes); + result[nbytes] = '\0'; + } + + if (reg_key != NULL) + RegCloseKey (reg_key); + + std::string ret = ""; + + if (result) { + ret = result; + } + + return ret; + +} + + + + +void win32_set_registry_value_string(HKEY base, const std::string& keydir, const std::string& key, const std::string& value) +{ + + HKEY reg_key = NULL; + DWORD nbytes; + + nbytes = value.length() + 1; + + if ( RegOpenKeyEx ( base, keydir.c_str(), 0, KEY_QUERY_VALUE, ®_key) == ERROR_SUCCESS) { + RegSetValueEx (reg_key, key.c_str(), 0, REG_SZ, (const BYTE*)(value.c_str()), nbytes); + } + + if (reg_key != NULL) + RegCloseKey (reg_key); + +} + + + + + + + +#endif + + + + + + diff --git a/src/gtk2-prefs/win32util.h b/src/gtk2-prefs/win32util.h new file mode 100644 index 00000000..8c194a19 --- /dev/null +++ b/src/gtk2-prefs/win32util.h @@ -0,0 +1,26 @@ +/*************************************************************************** + win32util.h - description + ------------------- + begin : Tue Jan 14 2003 + copyright : (C) 2003 by Alex Shaduri + email : alex_sh@land.ru + ***************************************************************************/ +#ifndef WIN32UTIL_H +#define WIN32UTIL_H + +#ifdef _WIN32 + +#include <string> +#include "sys_win32.h" + + + +std::string win32_get_registry_value_string(HKEY base, const std::string& keydir, const std::string& key); +void win32_set_registry_value_string(HKEY base, const std::string& keydir, const std::string& key, const std::string& value); + + + + +#endif //_WIN32 + +#endif // WIN32UTIL_H diff --git a/src/makefile.mak b/src/makefile.mak new file mode 100644 index 00000000..cd73b879 --- /dev/null +++ b/src/makefile.mak @@ -0,0 +1,23 @@ +all: + @cd pixmaps + @-$(MAKE) /nologo /s /f makefile.mak $@ + @cd ..\common + @-$(MAKE) /nologo /s /f makefile.mak $@ + @cd ..\fe-gtk + @-$(MAKE) /nologo /s /f makefile.mak $@ + @cd ..\fe-text + @-$(MAKE) /nologo /s /f makefile.mak $@ + @cd ..\gtk2-prefs + @-$(MAKE) /nologo /s /f makefile.mak $@ + +clean: + @cd pixmaps + @-$(MAKE) /nologo /s /f makefile.mak clean $@ + @cd ..\common + @-$(MAKE) /nologo /s /f makefile.mak clean $@ + @cd ..\fe-gtk + @-$(MAKE) /nologo /s /f makefile.mak clean $@ + @cd ..\fe-text + @-$(MAKE) /nologo /s /f makefile.mak clean $@ + @cd ..\gtk2-prefs + @-$(MAKE) /nologo /s /f makefile.mak clean $@ diff --git a/src/makeinc.skel.mak b/src/makeinc.skel.mak new file mode 100644 index 00000000..552b6a6e --- /dev/null +++ b/src/makeinc.skel.mak @@ -0,0 +1,45 @@ +CC = cl +LINK = link +CFLAGS = $(CFLAGS) /Ox /c /MD /MP /W0 /nologo +CFLAGS = $(CFLAGS) /DWIN32 /DG_DISABLE_CAST_CHECKS /DG_DISABLE_DEPRECATED /DGDK_PIXBUF_DISABLE_DEPRECATED /DGDK_DISABLE_DEPRECATED /DHAVE_STRTOULL /Dstrtoull=_strtoui64 /Dstrcasecmp=stricmp /Dstrncasecmp=strnicmp +CFLAGS = $(CFLAGS) /I$(DEV)\include +CPPFLAGS = /c /MD /W0 /nologo /DWIN32 +LDFLAGS = /subsystem:windows /nologo +LIBS = $(LIBS) gdi32.lib shell32.lib user32.lib advapi32.lib imm32.lib ole32.lib winmm.lib ws2_32.lib wininet.lib comdlg32.lib libeay32.lib ssleay32.lib + +GLIB = /I$(DEV)\include\glib-2.0 /I$(DEV)\lib\glib-2.0\include /I$(DEV)\include\libxml2 +GTK = /I$(DEV)\include\gtk-2.0 /I$(DEV)\lib\gtk-2.0\include /I$(DEV)\include\atk-1.0 /I$(DEV)\include\cairo /I$(DEV)\include\pango-1.0 /I$(DEV)\include\gdk-pixbuf-2.0 +LIBS = $(LIBS) /libpath:$(DEV)\lib gtk-win32-2.0.lib gdk-win32-2.0.lib atk-1.0.lib gio-2.0.lib gdk_pixbuf-2.0.lib pangowin32-1.0.lib pangocairo-1.0.lib pango-1.0.lib cairo.lib gobject-2.0.lib gmodule-2.0.lib glib-2.0.lib intl.lib libxml2.lib +#obs LIBS = $(LIBS) /libpath:$(DEV)\lib libgtk-win32-2.0-0.lib libgdk-win32-2.0-0.lib libatk-1.0-0.lib libgio-2.0-0.lib libgdk_pixbuf-2.0-0.lib libpangowin32-1.0-0.lib libpangocairo-1.0-0.lib libpango-1.0-0.lib libcairo-2.lib libgobject-2.0-0.lib libgmodule-2.0-0.lib libglib-2.0-0.lib libintl-8.lib libxml2-2.lib + +LUALIB = lua51 +LUAOUTPUT = xclua.dll + +PERL512LIB = perl512 +PERL512OUTPUT = xcperl-512.dll +PERL514LIB = perl514 +PERL514OUTPUT = xcperl-514.dll + +PYTHONLIB = python27 +PYTHONOUTPUT = xcpython.dll + +TCLLIB = tcl85 +TCLOUTPUT = xctcl.dll + +!ifdef X64 +CFLAGS = $(CFLAGS) /favor:AMD64 /D_WIN64 +CPPFLAGS = $(CPPFLAGS) /favor:AMD64 /D_WIN64 +LDFLAGS = $(LDFLAGS) msvcrt_win2003.obj + +PERL512PATH = c:\mozilla-build\perl-5.12-x64 +PERL514PATH = c:\mozilla-build\perl-5.14-x64 +PYTHONPATH = c:\mozilla-build\python-2.7-x64 +TCLPATH = c:\mozilla-build\tcl-8.5-x64 +!else +LDFLAGS = $(LDFLAGS) msvcrt_winxp.obj + +PERL512PATH = c:\mozilla-build\perl-5.12-x86 +PERL514PATH = c:\mozilla-build\perl-5.14-x86 +PYTHONPATH = c:\mozilla-build\python-2.7-x86 +TCLPATH = c:\mozilla-build\tcl-8.5-x86 +!endif diff --git a/src/pixmaps/makefile.mak b/src/pixmaps/makefile.mak new file mode 100644 index 00000000..f9535dbe --- /dev/null +++ b/src/pixmaps/makefile.mak @@ -0,0 +1,18 @@ +CONV = gdk-pixbuf-csource + +LIST = bookpng book.png \ + hoppng hop.png \ + oppng op.png \ + purplepng purple.png \ + redpng red.png \ + trayfilepng fileoffer.png \ + trayhilightpng highlight.png \ + traymsgpng message.png \ + voicepng voice.png \ + xchatpng ..\..\xchat.png + +all: + @$(CONV) --build-list $(LIST) > inline_pngs.h + +clean: + @del *.h diff --git a/src/version-script b/src/version-script index 048c1f55..4441aeae 100644 --- a/src/version-script +++ b/src/version-script @@ -30,5 +30,11 @@ EXPORTED { xchat_send_modes; xchat_strip; xchat_free; + xchat_pluginpref_set_str; + xchat_pluginpref_get_str; + xchat_pluginpref_set_int; + xchat_pluginpref_get_int; + xchat_pluginpref_delete; + xchat_pluginpref_list; local: *; }; diff --git a/version.txt b/version.txt new file mode 100644 index 00000000..37021f4a --- /dev/null +++ b/version.txt @@ -0,0 +1 @@ +1500 \ No newline at end of file diff --git a/win32/bitmaps/wizardimage.bmp b/win32/bitmaps/wizardimage.bmp new file mode 100644 index 00000000..9f5a4c90 --- /dev/null +++ b/win32/bitmaps/wizardimage.bmp Binary files differdiff --git a/win32/bitmaps/wizardsmallimage.bmp b/win32/bitmaps/wizardsmallimage.bmp new file mode 100644 index 00000000..1bb8b790 --- /dev/null +++ b/win32/bitmaps/wizardsmallimage.bmp Binary files differdiff --git a/win32/build-spell.bat b/win32/build-spell.bat new file mode 100644 index 00000000..7325e426 --- /dev/null +++ b/win32/build-spell.bat @@ -0,0 +1,16 @@ +@echo off +set DEPS_ROOT=deps-x86 +set XCHAT_DEST=tmp-spell +rmdir /q /s %XCHAT_DEST% +mkdir %XCHAT_DEST% +xcopy /q /s /i %DEPS_ROOT%\myspell %XCHAT_DEST%\share\myspell +copy ..\COPYING %XCHAT_DEST% +echo [Setup] > xchat-wdk-spell.iss +echo WizardImageFile=%cd%\bitmaps\wizardimage.bmp >> xchat-wdk-spell.iss +echo WizardSmallImageFile=%cd%\bitmaps\wizardsmallimage.bmp >> xchat-wdk-spell.iss +cd .. +echo SetupIconFile=%cd%\xchat.ico >> build\xchat-wdk-spell.iss +type build\xchat-wdk-spell.skel.iss >> build\xchat-wdk-spell.iss +set PATH=%PROGRAMFILES(X86)%\Inno Setup 5 +compil32 /cc build\xchat-wdk-spell.iss +pause diff --git a/win32/build-x64.bat b/win32/build-x64.bat new file mode 100644 index 00000000..6b5b9d99 --- /dev/null +++ b/win32/build-x64.bat @@ -0,0 +1,46 @@ +@echo off +set WDK_ROOT=c:\WinDDK\7600.16385.1 +set INCLUDE=%WDK_ROOT%\inc\api;%WDK_ROOT%\inc\crt;%WDK_ROOT%\inc\api\crt\stl70;%WDK_ROOT%\inc\mfc42;%WDK_ROOT%\inc\ddk;%WDK_ROOT%\inc\api\dao360 +set LIB=%WDK_ROOT%\lib\wnet\amd64;%WDK_ROOT%\lib\Crt\amd64;%WDK_ROOT%\lib\Mfc\amd64;%WDK_ROOT%\lib\ATL\amd64 +set OPATH=%PATH% +set DEV_64=%cd%\deps-x64 +set PATH=%PROGRAMFILES(X86)%\Microsoft Visual Studio 10.0\VC\bin\amd64;%PROGRAMFILES(X86)%\Microsoft SDKs\Windows\v7.0A\Bin\x64;%DEV_64%\bin;c:\mozilla-build\gendef +set PERL_512=c:\mozilla-build\perl-5.12-x64\perl +set PERL_514=c:\mozilla-build\perl-5.14-x64\perl +echo [Setup] > xchat-wdk-x64.iss +echo WizardImageFile=%cd%\bitmaps\wizardimage.bmp >> xchat-wdk-x64.iss +echo WizardSmallImageFile=%cd%\bitmaps\wizardsmallimage.bmp >> xchat-wdk-x64.iss +del version.exe +cl /nologo version.c +version -a64 >> xchat-wdk-x64.iss +version -v >> xchat-wdk-x64.iss +version -i >> xchat-wdk-x64.iss +version -o64 >> xchat-wdk-x64.iss +cd .. +win32\version -r > resource.h +echo SetupIconFile=%cd%\xchat.ico >> win32\xchat-wdk-x64.iss +type win32\xchat-wdk-x64.skel.iss >> win32\xchat-wdk-x64.iss +cd src +echo DEV = %DEV_64% > makeinc.mak +echo X64 = YES >> makeinc.mak +type makeinc.skel.mak >> makeinc.mak +nmake /nologo /f makefile.mak clean +nmake /nologo /f makefile.mak +cd ..\plugins +nmake /nologo /f makefile.mak clean +nmake /nologo /f makefile.mak +cd perl +set OOPATH=%PATH% +set PATH=%OOPATH%;%PERL_512%\bin +nmake /nologo /s /f makefile-512.mak clean +nmake /nologo /s /f makefile-512.mak +set PATH=%OOPATH%;%PERL_514%\bin +nmake /nologo /s /f makefile-514.mak clean +nmake /nologo /s /f makefile-514.mak +cd ..\..\win32 +call compile-po-files.bat +set PATH=%OPATH% +call release-x64.bat +set PATH=%PROGRAMFILES(X86)%\Inno Setup 5 +compil32 /cc xchat-wdk-x64.iss +pause diff --git a/win32/build-x86.bat b/win32/build-x86.bat new file mode 100644 index 00000000..85c7c2d1 --- /dev/null +++ b/win32/build-x86.bat @@ -0,0 +1,45 @@ +@echo off +set WDK_ROOT=c:\WinDDK\7600.16385.1 +set INCLUDE=%WDK_ROOT%\inc\api;%WDK_ROOT%\inc\crt;%WDK_ROOT%\inc\api\crt\stl70;%WDK_ROOT%\inc\mfc42;%WDK_ROOT%\inc\ddk;%WDK_ROOT%\inc\api\dao360 +set LIB=%WDK_ROOT%\lib\wxp\i386;%WDK_ROOT%\lib\Crt\i386;%WDK_ROOT%\lib\Mfc\i386;%WDK_ROOT%\lib\ATL\i386 +set OPATH=%PATH% +set DEV_32=%cd%\deps-x86 +set PATH=%PROGRAMFILES(X86)%\Microsoft Visual Studio 10.0\VC\bin;%PROGRAMFILES(X86)%\Microsoft Visual Studio 10.0\Common7\IDE;%PROGRAMFILES(X86)%\Microsoft SDKs\Windows\v7.0A\Bin;%DEV_32%\bin;c:\mozilla-build\gendef +set PERL_512=c:\mozilla-build\perl-5.12-x86\perl +set PERL_514=c:\mozilla-build\perl-5.14-x86\perl +echo [Setup] > xchat-wdk-x86.iss +echo WizardImageFile=%cd%\bitmaps\wizardimage.bmp >> xchat-wdk-x86.iss +echo WizardSmallImageFile=%cd%\bitmaps\wizardsmallimage.bmp >> xchat-wdk-x86.iss +del version.exe +cl /nologo version.c +version -a32 >> xchat-wdk-x86.iss +version -v >> xchat-wdk-x86.iss +version -i >> xchat-wdk-x86.iss +version -o32 >> xchat-wdk-x86.iss +cd .. +win32\version -r > resource.h +echo SetupIconFile=%cd%\xchat.ico >> win32\xchat-wdk-x86.iss +type win32\xchat-wdk-x86.skel.iss >> win32\xchat-wdk-x86.iss +cd src +echo DEV = %DEV_32% > makeinc.mak +type makeinc.skel.mak >> makeinc.mak +nmake /nologo /f makefile.mak clean +nmake /nologo /f makefile.mak +cd ..\plugins +nmake /nologo /f makefile.mak clean +nmake /nologo /f makefile.mak +cd perl +set OOPATH=%PATH% +set PATH=%OOPATH%;%PERL_512%\bin +nmake /nologo /s /f makefile-512.mak clean +nmake /nologo /s /f makefile-512.mak +set PATH=%OOPATH%;%PERL_514%\bin +nmake /nologo /s /f makefile-514.mak clean +nmake /nologo /s /f makefile-514.mak +cd ..\..\win32 +call compile-po-files.bat +set PATH=%OPATH% +call release-x86.bat +set PATH=%PROGRAMFILES(X86)%\Inno Setup 5 +compil32 /cc xchat-wdk-x86.iss +pause diff --git a/win32/compile-po-files.bat b/win32/compile-po-files.bat new file mode 100644 index 00000000..6ffde997 --- /dev/null +++ b/win32/compile-po-files.bat @@ -0,0 +1,10 @@ +@echo off +echo.Compiling translations . . . +cd ..\po +rmdir /q /s locale +mkdir locale +for %%A in (*.po) do ( + mkdir locale\%%~nA\LC_MESSAGES + msgfmt -co locale\%%~nA\LC_MESSAGES\xchat.mo %%A +) +cd ..\win32 diff --git a/win32/compress.bat b/win32/compress.bat new file mode 100644 index 00000000..37df1292 --- /dev/null +++ b/win32/compress.bat @@ -0,0 +1,19 @@ +@echo off +set OPATH=%PATH% +set PATH=c:\mozilla-build\mpress;c:\mozilla-build\upx +cd ..\tmp +for %%A in (*.dll) do upx -9 -q %%A +for %%A in (*.x64) do mpress -q %%A +upx xchat.exe +cd lib\enchant +for %%A in (*.dll) do upx -9 -q %%A +for %%A in (*.x64) do mpress -q %%A +:: gtk-2.0\2.10.0\engines is already packed, skip it +cd ..\gtk-2.0\modules +for %%A in (*.dll) do upx -9 -q %%A +for %%A in (*.x64) do mpress -q %%A +cd ..\..\..\plugins +for %%A in (*.dll) do upx -9 -q %%A +for %%A in (*.x64) do mpress -q %%A +cd ..\..\build +set PATH=%OPATH% diff --git a/win32/deb-extract.bat b/win32/deb-extract.bat new file mode 100644 index 00000000..913397b9 --- /dev/null +++ b/win32/deb-extract.bat @@ -0,0 +1,2 @@ +@echo off +for %%A in (*.deb) do 7z x %%A && 7z x data.tar && del data.tar diff --git a/win32/dep-extract-x64.bat b/win32/dep-extract-x64.bat new file mode 100644 index 00000000..e346891a --- /dev/null +++ b/win32/dep-extract-x64.bat @@ -0,0 +1,25 @@ +@echo off +set PATH=%PATH%;%PROGRAMW6432%\7-Zip;c:\mozilla-build\gendef + +cd deps-x64 +::obs 7z x -y *.rpm +::obs 7z x *.cpio +::obs del *.cpio +::obs xcopy /q /s /i usr\x86_64-w64-mingw32\sys-root\mingw\* . +::obs rmdir /q /s usr +::obs set OPATH=%PATH% +::obs set PATH=%PATH%;c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64 +::obs cd lib +::obs for %%A in (..\bin\*.dll) do ( +::obs gendef %%A +::obs lib /nologo /machine:x64 /def:%%~nA.def +::obs ) +::obs cd .. +::obs set PATH=%OPATH% +7z x -y *.zip +7z x *.7z +::obs copy /y ..\build\glibconfig-x64.h lib\glib-2.0\include\glibconfig.h +cd share\locale +del /q /s gettext-tools.mo +del /q /s gettext-runtime.mo +pause diff --git a/win32/dep-extract-x86.bat b/win32/dep-extract-x86.bat new file mode 100644 index 00000000..702e3bf2 --- /dev/null +++ b/win32/dep-extract-x86.bat @@ -0,0 +1,25 @@ +@echo off +set PATH=%PATH%;%PROGRAMW6432%\7-Zip;c:\mozilla-build\gendef + +cd deps-x86 +::obs 7z x -y *.rpm +::obs 7z x *.cpio +::obs del *.cpio +::obs xcopy /q /s /i usr\i686-w64-mingw32\sys-root\mingw\* . +::obs rmdir /q /s usr +::obs set OPATH=%PATH% +::obs set PATH=%PATH%;c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin;c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE +::obs cd lib +::obs for %%A in (..\bin\*.dll) do ( +::obs gendef %%A +::obs lib /nologo /machine:x86 /def:%%~nA.def +::obs ) +::obs cd .. +::obs set PATH=%OPATH% +7z x -y *.zip +7z x *.7z +::obs copy /y ..\build\glibconfig-x86.h lib\glib-2.0\include\glibconfig.h +cd share\locale +del /q /s gettext-tools.mo +del /q /s gettext-runtime.mo +pause diff --git a/win32/deps-x64/deps-x64.txt b/win32/deps-x64/deps-x64.txt new file mode 100644 index 00000000..832478e5 --- /dev/null +++ b/win32/deps-x64/deps-x64.txt @@ -0,0 +1,21 @@ +http://ftp.gnome.org/pub/gnome/binaries/win64/atk/1.32/atk_1.32.0-1_win64.zip +http://ftp.gnome.org/pub/gnome/binaries/win64/atk/1.32/atk-dev_1.32.0-1_win64.zip +http://ftp.gnome.org/pub/gnome/binaries/win64/dependencies/cairo_1.10.2-1_win64.zip +http://ftp.gnome.org/pub/gnome/binaries/win64/dependencies/cairo-dev_1.10.2-1_win64.zip +http://ftp.gnome.org/pub/gnome/binaries/win64/dependencies/expat_2.0.1-3_win64.zip +http://ftp.gnome.org/pub/gnome/binaries/win64/dependencies/fontconfig_2.8.0-2_win64.zip +http://ftp.gnome.org/pub/gnome/binaries/win64/dependencies/freetype_2.4.4-1_win64.zip +http://ftp.gnome.org/pub/gnome/binaries/win64/dependencies/gettext-runtime_0.18.1.1-2_win64.zip +http://ftp.gnome.org/pub/gnome/binaries/win64/dependencies/gettext-runtime-dev_0.18.1.1-2_win64.zip +http://ftp.gnome.org/pub/gnome/binaries/win64/dependencies/gettext-tools-dev_0.18.1.1-2_win64.zip +http://ftp.gnome.org/pub/gnome/binaries/win64/dependencies/libpng_1.4.3-1_win64.zip +http://ftp.gnome.org/pub/gnome/binaries/win64/glib/2.26/glib_2.26.1-1_win64.zip +http://ftp.gnome.org/pub/gnome/binaries/win64/glib/2.26/glib-dev_2.26.1-1_win64.zip +http://ftp.gnome.org/pub/gnome/binaries/win64/gtk+/2.16/gtk+_2.16.6-3_win64.zip +http://ftp.gnome.org/pub/gnome/binaries/win64/gtk+/2.16/gtk+-dev_2.16.6-3_win64.zip +http://ftp.gnome.org/pub/gnome/binaries/win64/pango/1.28/pango_1.28.3-1_win64.zip +http://ftp.gnome.org/pub/gnome/binaries/win64/pango/1.28/pango-dev_1.28.3-1_win64.zip +http://xchat-wdk.googlecode.com/files/Enchant-WDK%201.6.0-2%20x64.7z +http://xchat-wdk.googlecode.com/files/Lua-WDK%205.1.4-2-2%20x64.7z +http://xchat-wdk.googlecode.com/files/OpenSSL-WDK%201.0.1%20x64.7z +http://xchat-wdk.googlecode.com/files/LibXML-WDK%202.7.8%20x64.7z diff --git a/win32/deps-x86/deps-x86.txt b/win32/deps-x86/deps-x86.txt new file mode 100644 index 00000000..706428d2 --- /dev/null +++ b/win32/deps-x86/deps-x86.txt @@ -0,0 +1,21 @@ +http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.32/atk_1.32.0-1_win32.zip +http://ftp.gnome.org/pub/gnome/binaries/win32/atk/1.32/atk-dev_1.32.0-1_win32.zip +http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo_1.10.2-1_win32.zip +http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo-dev_1.10.2-1_win32.zip +http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip +http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/fontconfig_2.8.0-2_win32.zip +http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/freetype_2.4.4-1_win32.zip +http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime_0.18.1.1-2_win32.zip +http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-runtime-dev_0.18.1.1-2_win32.zip +http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/gettext-tools-dev_0.18.1.1-2_win32.zip +http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng_1.4.3-1_win32.zip +http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.26/glib_2.26.1-1_win32.zip +http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.26/glib-dev_2.26.1-1_win32.zip +http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.16/gtk+_2.16.6-3_win32.zip +http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.16/gtk+-dev_2.16.6-3_win32.zip +http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.28/pango_1.28.3-1_win32.zip +http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.28/pango-dev_1.28.3-1_win32.zip +http://xchat-wdk.googlecode.com/files/Enchant-WDK%201.6.0-2%20x86.7z +http://xchat-wdk.googlecode.com/files/Lua-WDK%205.1.4-2-2%20x86.7z +http://xchat-wdk.googlecode.com/files/OpenSSL-WDK%201.0.1%20x86.7z +http://xchat-wdk.googlecode.com/files/LibXML-WDK%202.7.8%20x86.7z diff --git a/win32/etc/download.png b/win32/etc/download.png new file mode 100644 index 00000000..43253432 --- /dev/null +++ b/win32/etc/download.png Binary files differdiff --git a/win32/etc/gtk-2.0/gtkrc b/win32/etc/gtk-2.0/gtkrc new file mode 100644 index 00000000..6ac7b76c --- /dev/null +++ b/win32/etc/gtk-2.0/gtkrc @@ -0,0 +1,71 @@ +gtk-font-name = "sans 8" + +gtk-icon-sizes = "gtk-menu=13,13:gtk-small-toolbar=16,16:gtk-large-toolbar=24,24:gtk-dnd=32,32" +gtk-toolbar-icon-size = small-toolbar + +# disable images in buttons. i've only seen ugly delphi apps use this feature. +gtk-button-images = 0 + +# enable/disable images in menus. most "stock" microsoft apps don't use these, except sparingly. +# the office apps use them heavily, though. +gtk-menu-images = 1 + +# use the win32 button ordering instead of the GNOME HIG one, where applicable +gtk-alternative-button-order = 1 + +# use the win32 sort indicators direction, as in Explorer +gtk-alternative-sort-arrows = 1 + +# Windows users don't expect the PC Speaker beeping at them when they backspace in an empty textview and stuff like that +gtk-error-bell = 0 + +# hide mnemonic underlines until the Alt key is pressed (requires gtk 2.18+) +# gtk-auto-mnemonics = 1 + +style "msw-default" +{ + GtkWidget::interior-focus = 1 + GtkOptionMenu::indicator-size = { 9, 5 } + GtkOptionMenu::indicator-spacing = { 7, 5, 2, 2 } + GtkSpinButton::shadow-type = in + + # Owen and I disagree that these should be themable + #GtkUIManager::add-tearoffs = 0 + #GtkComboBox::add-tearoffs = 0 + + GtkComboBox::appears-as-list = 1 + GtkComboBox::focus-on-click = 0 + + GOComboBox::add_tearoffs = 0 + + GtkTreeView::allow-rules = 0 + GtkTreeView::expander-size = 12 + + GtkExpander::expander-size = 12 + + GtkScrolledWindow::scrollbar_spacing = 1 + + GtkSeparatorMenuItem::horizontal-padding = 2 + + engine "wimp" + { + } +} +class "*" style "msw-default" + +binding "ms-windows-tree-view" +{ + bind "Right" { "expand-collapse-cursor-row" (1,1,0) } + bind "Left" { "expand-collapse-cursor-row" (1,0,0) } +} + +class "GtkTreeView" binding "ms-windows-tree-view" + +style "msw-combobox-thickness" = "msw-default" +{ + xthickness = 0 + ythickness = 0 +} + +widget_class "*TreeView*ComboBox*" style "msw-combobox-thickness" +widget_class "*ComboBox*GtkFrame*" style "msw-combobox-thickness" diff --git a/win32/etc/gtkpref.png b/win32/etc/gtkpref.png new file mode 100644 index 00000000..9a6c9cf9 --- /dev/null +++ b/win32/etc/gtkpref.png Binary files differdiff --git a/win32/etc/music.png b/win32/etc/music.png new file mode 100644 index 00000000..3a72f118 --- /dev/null +++ b/win32/etc/music.png Binary files differdiff --git a/win32/etc/system.png b/win32/etc/system.png new file mode 100644 index 00000000..fc4282c7 --- /dev/null +++ b/win32/etc/system.png Binary files differdiff --git a/win32/ext/enchant-wdk/src/build-x64.bat b/win32/ext/enchant-wdk/src/build-x64.bat new file mode 100644 index 00000000..332af68f --- /dev/null +++ b/win32/ext/enchant-wdk/src/build-x64.bat @@ -0,0 +1,13 @@ +@echo off +set WDK_ROOT=c:\WinDDK\7600.16385.1 +set INCLUDE=%WDK_ROOT%\inc\api;%WDK_ROOT%\inc\crt;%WDK_ROOT%\inc\api\crt\stl70 +set LIB=%WDK_ROOT%\lib\wnet\amd64;%WDK_ROOT%\lib\Crt\amd64 +set OPATH=%PATH% +set PATH=%PROGRAMFILES(X86)%\Microsoft Visual Studio 10.0\VC\bin\amd64;%PROGRAMFILES(X86)%\Microsoft SDKs\Windows\v7.0A\Bin\x64 +nmake -f makefile.mak clean +nmake -f makefile.mak X64=1 DLL=1 MFLAGS=-MD GLIBDIR=..\glib-x64\include\glib-2.0 +echo.Press return when ready to install! +pause +set PATH=%OPATH% +call release-x64.bat +pause diff --git a/win32/ext/enchant-wdk/src/build-x86.bat b/win32/ext/enchant-wdk/src/build-x86.bat new file mode 100644 index 00000000..f5cc71b9 --- /dev/null +++ b/win32/ext/enchant-wdk/src/build-x86.bat @@ -0,0 +1,13 @@ +@echo off +set WDK_ROOT=c:\WinDDK\7600.16385.1 +set INCLUDE=%WDK_ROOT%\inc\api;%WDK_ROOT%\inc\crt;%WDK_ROOT%\inc\api\crt\stl70 +set LIB=%WDK_ROOT%\lib\wxp\i386;%WDK_ROOT%\lib\Crt\i386 +set OPATH=%PATH% +set PATH=%PROGRAMFILES(X86)%\Microsoft Visual Studio 10.0\VC\bin;%PROGRAMFILES(X86)%\Microsoft SDKs\Windows\v7.0A\Bin;%PROGRAMFILES(X86)%\Microsoft Visual Studio 10.0\Common7\IDE +nmake -f makefile.mak clean +nmake -f makefile.mak DLL=1 MFLAGS=-MD GLIBDIR=..\glib-x86\include\glib-2.0 +echo.Press return when ready to install! +pause +set PATH=%OPATH% +call release-x86.bat +pause diff --git a/win32/ext/enchant-wdk/src/config.h b/win32/ext/enchant-wdk/src/config.h new file mode 100644 index 00000000..d91c69c6 --- /dev/null +++ b/win32/ext/enchant-wdk/src/config.h @@ -0,0 +1,15 @@ +#include <sys/types.h> + +#ifndef SSIZE_T_DEFINED +#ifdef ssize_t +#undef ssize_t +#endif +#ifdef _WIN64 +typedef __int64 ssize_t; +#else +typedef _W64 int ssize_t; +#endif +#define SSIZE_T_DEFINED +#endif + +#define ENCHANT_VERSION_STRING "1.6.0" diff --git a/win32/ext/enchant-wdk/src/libenchant.rc b/win32/ext/enchant-wdk/src/libenchant.rc new file mode 100644 index 00000000..f8f52651 --- /dev/null +++ b/win32/ext/enchant-wdk/src/libenchant.rc @@ -0,0 +1,29 @@ +#include <winver.h> + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 1,6,0,2 + PRODUCTVERSION 1,6,0,0 + FILEFLAGSMASK 0 + FILEFLAGS 0 + FILEOS VOS__WINDOWS32 + FILETYPE VFT_DLL + FILESUBTYPE VFT2_UNKNOWN + BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904B0" + BEGIN + VALUE "CompanyName", "none" + VALUE "FileDescription", "libenchant" + VALUE "FileVersion", "1.6.0.2" + VALUE "InternalName", "libenchant" + VALUE "OriginalFilename", "libenchant.dll" + VALUE "ProductName", "libenchant" + VALUE "ProductVersion", "1.6.0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END + END diff --git a/win32/ext/enchant-wdk/src/makefile.mak b/win32/ext/enchant-wdk/src/makefile.mak new file mode 100644 index 00000000..77925ad6 --- /dev/null +++ b/win32/ext/enchant-wdk/src/makefile.mak @@ -0,0 +1,588 @@ +# -*- Makefile -*- for libenchant +# +# WDK fixes by Berke Viktor, 2010 +# +# This makefile targets the Microsoft Visual C++ platform and is intended to build the enchant library along with its executables and test programs. +# It was written by Tolon (alex@tolon.co.uk). He thinks it was originally based on an MSVC makefile from glib, but can't quite remember. +# Tolon surrenders all rights regarding this file to the enchant project (http://www.abisource.com/enchant). +# Please direct any comments, bug-fixes, etc. to alex@tolon.co.uk. +# +# Example of my usage of this makefile with MSVC9: +# NMAKE -f Makefile.msvc DLL=1 PREFIX=C:\usr-msvc9 GLIBDIR=D:\dev\lib\glib +# +# Example of my usage of this makefile with MSVC6: +# NMAKE -f Makefile.msvc DLL=1 PREFIX=C:\usr-msvc6 GLIBDIR=D:\dev\lib\glib MANIFEST=0 +# +# This makefile expects glib-2.0.lib and gmodule-2.0.lib to be available in the $(PREFIX)\lib folder. + +ENCHANT_MAJOR_VERSION=1 +ENCHANT_MINOR_VERSION=6 +ENCHANT_MICRO_VERSION=0 +BUILDNUMBER=0 +ENCHANT_VERSION="$(ENCHANT_MAJOR_VERSION).$(ENCHANT_MINOR_VERSION).$(ENCHANT_MICRO_VERSION)" + +#### Start of system configuration section. #### + +# Flags that can be set on the nmake command line: +# DLL=1 for compiling a .dll with a stub .lib (default is a static .lib) +# Note that this works only with MFLAGS=-MD. +# MFLAGS={-ML|-MT|-MD} for defining the compilation model +# MFLAGS=-ML (the default) Single-threaded, statically linked - libc.lib +# MFLAGS=-MT Multi-threaded, statically linked - libcmt.lib +# MFLAGS=-MD Multi-threaded, dynamically linked - msvcrt.lib +# DEBUG=1 for compiling with debugging information +# PREFIX=Some\Directory Base directory for installation +# IIPREFIX=Some\\Directory Same thing with doubled backslashes +# GLIBDIR=Some\Directory Path to glib include directory +# MANIFEST=0 Disables embedding of manifest +!if !defined(DLL) +DLL=0 +!endif +!if !defined(DEBUG) +DEBUG=0 +!endif +!if !defined(MFLAGS) +!if !$(DLL) +MFLAGS= +!else +!if !$(DEBUG) +MFLAGS=-MD +!else +MFLAGS=-MDd +!endif +!endif +!endif +!if !defined(PREFIX) +PREFIX = c:\usr +!endif +!if !defined(IIPREFIX) +IIPREFIX = c:\\usr +!endif + +!if !defined(MANIFEST) +MANIFEST=1 +!endif + +# Directories used by "make": +glibdir = $(GLIBDIR) +rootdir = .\.. +topsrcdir = $(rootdir)\src +toptestdir = $(rootdir)\tests +bindir=$(rootdir)\bin +!if $(DEBUG) +outdir=$(rootdir)\bin\debug +!else +outdir=$(rootdir)\bin\release +!endif +objdir=$(outdir)\obj +pdbdir=$(outdir)\pdb +libdir=$(outdir) + +# Directories used by "make install": +prefix = $(PREFIX) +exec_prefix = $(prefix) +#bindir = $(exec_prefix)\bin +#otherlibdir = $(exec_prefix)\lib +otherlibdir = $(GLIBDIR)\..\..\lib +includedir = $(prefix)\include +#datadir = $(prefix)\share +#localedir = $(datadir)\locale +#aliaspath = +#IIprefix = $(IIPREFIX) +#IIexec_prefix = $(IIprefix) +#IIbindir = $(IIexec_prefix)\\bin +#IIlibdir = $(IIexec_prefix)\\lib +#IIincludedir = $(IIprefix)\\include +#IIdatadir = $(IIprefix)\\share +#IIlocaledir = $(IIdatadir)\\locale +#IIaliaspath = + +# Programs used by "make": + +CC = cl +LINK = link +MT = mt + +# Set to -W3 if you want to see maximum amount of warnings, including stupid +# ones. Set to -W1 to avoid warnings about signed/unsigned combinations. +WARN_CFLAGS = -W1 + +!if $(DEBUG) +OPTIMFLAGS = -Od +!else +# Some people prefer -O2 -G6 instead of -O1, but -O2 is not reliable in MSVC5. +OPTIMFLAGS = -DNDEBUG -D_NDEBUG -Ox -MP2 +!endif + +OUTPUTFLAGS = \ + -Fo"$(objdir)\\" + +WINFLAGS = \ + -DWINDOWS \ + -D_WINDOWS \ + -DWIN32 \ + -D_WIN32 \ + -DUNICODE \ + -D_UNICODE + +DEBUGFLAGS = -Zi + +EXCEPTIONFLAGS = -EHsc + +CPPFLAGS = -D_STL70_ -D_STATIC_CPPLIB + +CFLAGS = \ + -FI "$(topsrcdir)\config.h" \ + $(MFLAGS) \ + $(WARN_CFLAGS) \ + $(EXCEPTIONFLAGS) \ + $(OPTIMFLAGS) \ + $(CPPFLAGS) \ + $(WINFLAGS) \ + $(OUTPUTFLAGS) + +INCLUDES = \ + -I$(topsrcdir) \ + -I$(rootdir) \ + -I$(includedir) \ + -I$(glibdir) \ + -I$(glibdir)\glib \ + -I$(glibdir)\gmodule \ + -I$(glibdir)\..\..\lib\glib-2.0\include + +!ifdef X64 +LINKOBJ = msvcrt_win2003.obj +MACHINE_FLAG = X64 +CFLAGS = $(CFLAGS) /favor:AMD64 /D_WIN64 +!else +MACHINE_FLAG = X86 +LINKOBJ = msvcrt_winxp.obj +!endif + +LINKFLAGS = \ + -INCREMENTAL:NO \ + -MANIFEST \ + -MANIFESTUAC:"level='asInvoker' uiAccess='false'" \ + -PDB:$(pdbdir)\\ \ + -MACHINE:$(MACHINE_FLAG) \ + -OPT:REF \ + -OPT:ICF \ + -DEBUG \ + $(LINKOBJ) + +AR = lib +AR_FLAGS = /out: + +LN = copy +RM = -del + +# Programs used by "make install": +INSTALL = copy +INSTALL_PROGRAM = copy +INSTALL_DATA = copy + +#### End of system configuration section. #### + +SHELL = /bin/sh + +CC_OBJ = $(CC) $(INCLUDES) $(CFLAGS) -c + +CC_LINK = $(LINK) $(LINKFLAGS) +LINK_EXE = $(CC_LINK) /SUBSYSTEM:CONSOLE +LINK_DLL = $(CC_LINK) /DLL /SUBSYSTEM:WINDOWS + +!if $(MANIFEST) +EMBED_MANIFEST = $(MT) /manifest $(outdir)\exe_name.manifest /outputresource:"$(outdir)\exe_name;1" +CLEAN_MANIFEST = $(RM) $(outdir)\exe_name.manifest +!else +EMBED_MANIFEST = +CLEAN_MANIFEST = +!endif + +# test-enchantxx isn't part of all as it has problems on MSVC6. +all: makedirs libenchant libenchant_ispell libenchant_myspell enchant enchant_lsmod test-enchant +#all: makedirs libenchant libenchant_ispell enchant enchant_lsmod test-enchant + +makedirs: force + -mkdir $(bindir) + -mkdir $(outdir) + -mkdir $(libdir) + -mkdir $(objdir) + -mkdir $(pdbdir) + +################################################################################ +#### ENCHANT #### + +srcdir = $(toptestdir) + +ENCHANT_EXE=$(outdir)\enchant.exe +ENCHANT_PDB=$(pdbdir)\enchant.pdb + +ENCHANT_DEFINES = \ + -D_CONSOLE \ + -DVERSION=\"$(ENCHANT_VERSION)\" + +ENCHANT_LIBS = \ + $(otherlibdir)\glib-2.0.lib \ + $(libdir)\libenchant.lib + +ENCHANT_OBJECTS = \ + $(objdir)\enchant-ispell.obj + +$(objdir)\enchant-ispell.obj : $(srcdir)\enchant-ispell.c + $(CC_OBJ) $** $(ENCHANT_DEFINES) + +enchant: $(ENCHANT_EXE) + +$(ENCHANT_EXE): $(ENCHANT_OBJECTS) + $(LINK_EXE) $(ENCHANT_OBJECTS) $(ENCHANT_LIBS) -OUT:$(ENCHANT_EXE) + $(EMBED_MANIFEST:exe_name=enchant.exe) + $(CLEAN_MANIFEST:exe_name=enchant.exe) + +enchant_clean: + $(RM) $(ENCHANT_OBJECTS) $(ENCHANT_EXE) $(ENCHANT_PDB) + +################################################################################ +#### ENCHANT-LSMOD #### + +srcdir = $(toptestdir) + +ENCHANT_LSMOD_EXE=$(outdir)\enchant-lsmod.exe +ENCHANT_LSMOD_PDB=$(pdbdir)\enchant-lsmod.pdb + +ENCHANT_LSMOD_DEFINES = \ + -D_CONSOLE \ + -DVERSION=\"$(ENCHANT_VERSION)\" + +ENCHANT_LSMOD_LIBS = \ + $(otherlibdir)\glib-2.0.lib \ + $(libdir)\libenchant.lib + +ENCHANT_LSMOD_OBJECTS = \ + $(objdir)\enchant-lsmod.obj + +$(objdir)\enchant-lsmod.obj : $(srcdir)\enchant-lsmod.c + $(CC_OBJ) $** $(ENCHANT_LSMOD_DEFINES) + +enchant_lsmod: $(ENCHANT_LSMOD_EXE) + +$(ENCHANT_LSMOD_EXE): $(ENCHANT_LSMOD_OBJECTS) + $(LINK_EXE) $(ENCHANT_LSMOD_OBJECTS) $(ENCHANT_LSMOD_LIBS) -OUT:$(ENCHANT_LSMOD_EXE) + $(EMBED_MANIFEST:exe_name=enchant-lsmod.exe) + $(CLEAN_MANIFEST:exe_name=enchant-lsmod.exe) + +enchant_lsmod_clean: + $(RM) $(ENCHANT_LSMOD_OBJECTS) $(ENCHANT_LSMOD_EXE) $(ENCHANT_LSMOD_PDB) + +################################################################################ +#### TEST-ENCHANT #### + +srcdir = $(toptestdir) + +TEST_ENCHANT_EXE=$(outdir)\test-enchant.exe +TEST_ENCHANT_PDB=$(pdbdir)\test-enchant.pdb + +TEST_ENCHANT_DEFINES = \ + -D_CONSOLE \ + -DVERSION=\"$(ENCHANT_VERSION)\" + +TEST_ENCHANT_LIBS = \ + $(otherlibdir)\glib-2.0.lib \ + $(libdir)\libenchant.lib + +TEST_ENCHANT_OBJECTS = \ + $(objdir)\test-enchant.obj + +$(objdir)\test-enchant.obj : $(srcdir)\test-enchant.c + $(CC_OBJ) $** $(TEST_ENCHANT_DEFINES) + +test-enchant: $(TEST_ENCHANT_EXE) + +$(TEST_ENCHANT_EXE): $(TEST_ENCHANT_OBJECTS) + $(LINK_EXE) $(TEST_ENCHANT_OBJECTS) $(TEST_ENCHANT_LIBS) -OUT:$(TEST_ENCHANT_EXE) + $(EMBED_MANIFEST:exe_name=test-enchant.exe) + $(CLEAN_MANIFEST:exe_name=test-enchant.exe) + +test-enchant_clean: + $(RM) $(TEST_ENCHANT_OBJECTS) $(TEST_ENCHANT_EXE) $(TEST_ENCHANT_PDB) + +################################################################################ +#### TEST-ENCHANTXX #### + +srcdir = $(toptestdir) + +TEST_ENCHANTXX_EXE=$(outdir)\test-enchantxx.exe +TEST_ENCHANTXX_PDB=$(pdbdir)\test-enchantxx.pdb + +TEST_ENCHANTXX_DEFINES = \ + -D_CONSOLE \ + -DVERSION=\"$(ENCHANT_VERSION)\" + +TEST_ENCHANTXX_LIBS = \ + $(otherlibdir)\glib-2.0.lib \ + $(libdir)\libenchant.lib + +TEST_ENCHANTXX_OBJECTS = \ + $(objdir)\test-enchantxx.obj + +$(objdir)\test-enchantxx.obj : $(srcdir)\test-enchantxx.cpp + $(CC_OBJ) $** $(TEST_ENCHANTXX_DEFINES) + +test-enchantxx: $(TEST_ENCHANTXX_EXE) + +$(TEST_ENCHANTXX_EXE): $(TEST_ENCHANTXX_OBJECTS) + $(LINK_EXE) $(TEST_ENCHANTXX_OBJECTS) $(TEST_ENCHANTXX_LIBS) -OUT:$(TEST_ENCHANTXX_EXE) + $(EMBED_MANIFEST:exe_name=test-enchantxx.exe) + $(CLEAN_MANIFEST:exe_name=test-enchantxx.exe) + +test-enchantxx_clean: + $(RM) $(TEST_ENCHANTXX_OBJECTS) $(TEST_ENCHANTXX_EXE) $(TEST_ENCHANTXX_PDB) + +################################################################################ +#### LIBENCHANT #### + +srcdir = $(topsrcdir) + +LIBENCHANT_DEFINES = \ + -D_ENCHANT_BUILD=1 \ + -DWINDLL + +LIBENCHANT_DLL=$(outdir)\libenchant.dll +LIBENCHANT_LIB=$(outdir)\libenchant.lib +LIBENCHANT_PDB=$(pdbdir)\libenchant.pdb +LIBENCHANT_RES=$(srcdir)\libenchant.res +LIBENCHANT_RC=$(srcdir)\libenchant.rc + +LIBENCHANT_LIBS = \ + $(otherlibdir)\glib-2.0.lib \ + $(otherlibdir)\gmodule-2.0.lib \ + advapi32.lib + +LIBENCHANT_OBJECTS = \ + $(objdir)\enchant.obj \ + $(objdir)\prefix.obj \ + $(objdir)\pwl.obj + + + +$(objdir)\pwl.obj : $(srcdir)\pwl.c + $(CC_OBJ) $** $(LIBENCHANT_DEFINES) + +$(objdir)\prefix.obj : $(srcdir)\prefix.c + $(CC_OBJ) $** $(LIBENCHANT_DEFINES) + +$(objdir)\enchant.obj : $(srcdir)\enchant.c + $(CC_OBJ) $** $(LIBENCHANT_DEFINES) + +$(LIBENCHANT_RES) : $(LIBENCHANT_RC) + rc -Fo $(LIBENCHANT_RES) $(LIBENCHANT_RC) + +!if !$(DLL) +libenchant: LIBENCHANT_LIB +libenchant_clean: libenchant_lib_clean +!else +libenchant: LIBENCHANT_DLL +libenchant_clean: libenchant_dll_clean +!endif + +LIBENCHANT_LIB : $(LIBENCHANT_OBJECTS) + -$(RM) libenchant.lib + $(AR) $(AR_FLAGS)$(LIBENCHANT_LIB) $(LIBENCHANT_OBJECTS) + +# libenchant.dll and libenchant.lib are created together. +LIBENCHANT_DLL : $(LIBENCHANT_OBJECTS) $(LIBENCHANT_RES) + $(LINK_DLL) $(LIBENCHANT_OBJECTS) $(LIBENCHANT_LIBS) $(LIBENCHANT_RES) -OUT:$(LIBENCHANT_DLL) + $(EMBED_MANIFEST:exe_name=libenchant.dll) + $(CLEAN_MANIFEST:exe_name=libenchant.dll) + +libenchant_lib_clean: + $(RM) $(LIBENCHANT_OBJECTS) $(LIBENCHANT_LIB) + +libenchant_dll_clean: + $(RM) $(LIBENCHANT_OBJECTS) $(LIBENCHANT_LIB) $(LIBENCHANT_DLL) $(LIBENCHANT_PDB) $(LIBENCHANT_RES) $(LIBENCHANT_RC) + +################################################################################ +#### LIBENCHANT_ISPELL #### + +srcdir = $(topsrcdir)\ispell + +LIBENCHANT_ISPELL_DEFINES = \ + -D "_ENCHANT_BUILD=1" \ + -D "ISPELL_PROVIDER_EXPORTS" \ + -D_USRDLL \ + -D_WINDLL + +LIBENCHANT_ISPELL_DLL=$(outdir)\libenchant_ispell.dll +LIBENCHANT_ISPELL_LIB=$(libdir)\libenchant_ispell.lib +LIBENCHANT_ISPELL_PDB=$(pdbdir)\libenchant_ispell.pdb + +LIBENCHANT_ISPELL_LIBS = \ + $(otherlibdir)\glib-2.0.lib \ + $(otherlibdir)\gmodule-2.0.lib \ + $(libdir)\libenchant.lib \ + advapi32.lib ntstc_msvcrt.lib + +LIBENCHANT_ISPELL_OBJECTS = \ + $(objdir)\correct.obj \ + $(objdir)\good.obj \ + $(objdir)\hash.obj \ + $(objdir)\ispell_checker.obj \ + $(objdir)\lookup.obj \ + $(objdir)\makedent.obj \ + $(objdir)\tgood.obj + +!if !$(DLL) +libenchant_ispell: LIBENCHANT_ISPELL_LIB +libenchant_ispell_clean: libenchant_ispell_lib_clean +!else +libenchant_ispell: LIBENCHANT_ISPELL_DLL +libenchant_ispell_clean: libenchant_ispell_dll_clean +!endif + +$(objdir)\correct.obj : $(srcdir)\correct.cpp + $(CC_OBJ) $** $(LIBENCHANT_ISPELL_DEFINES) + +$(objdir)\good.obj : $(srcdir)\good.cpp + $(CC_OBJ) $** $(LIBENCHANT_ISPELL_DEFINES) + +$(objdir)\hash.obj : $(srcdir)\hash.cpp + $(CC_OBJ) $** $(LIBENCHANT_ISPELL_DEFINES) + +$(objdir)\ispell_checker.obj : $(srcdir)\ispell_checker.cpp + $(CC_OBJ) $** $(LIBENCHANT_ISPELL_DEFINES) + +$(objdir)\lookup.obj : $(srcdir)\lookup.cpp + $(CC_OBJ) $** $(LIBENCHANT_ISPELL_DEFINES) + +$(objdir)\makedent.obj : $(srcdir)\makedent.cpp + $(CC_OBJ) $** $(LIBENCHANT_ISPELL_DEFINES) + +$(objdir)\tgood.obj : $(srcdir)\tgood.cpp + $(CC_OBJ) $** $(LIBENCHANT_ISPELL_DEFINES) + +LIBENCHANT_ISPELL_LIB : $(LIBENCHANT_ISPELL_OBJECTS) + -$(RM) $(LIBENCHANT_ISPELL_LIB) + $(AR) $(AR_FLAGS)$(LIBENCHANT_ISPELL_LIB) $(LIBENCHANT_ISPELL_OBJECTS) + +# libenchant_ispell.dll and libenchant_ispell.lib are created together. +LIBENCHANT_ISPELL_DLL : $(LIBENCHANT_ISPELL_OBJECTS) + $(LINK_DLL) $(LIBENCHANT_ISPELL_OBJECTS) $(LIBENCHANT_ISPELL_LIBS) -OUT:$(LIBENCHANT_ISPELL_DLL) + $(EMBED_MANIFEST:exe_name=libenchant_ispell.dll) + $(CLEAN_MANIFEST:exe_name=libenchant_ispell.dll) + +libenchant_ispell_lib_clean: + $(RM) $(LIBENCHANT_ISPELL_OBJECTS) $(LIBENCHANT_ISPELL_LIB) + +libenchant_ispell_dll_clean: + $(RM) $(LIBENCHANT_ISPELL_OBJECTS) $(LIBENCHANT_ISPELL_LIB) $(LIBENCHANT_ISPELL_DLL) $(LIBENCHANT_ISPELL_PDB) + +################################################################################ +#### LIBENCHANT_MYSPELL #### + +srcdir = $(topsrcdir)\myspell + +LIBENCHANT_MYSPELL_DEFINES = \ + -D "HUNSPELL_STATIC" \ + -D "_ENCHANT_BUILD=1" \ + -D "_USRDLL" \ + -D "MYSPELL_PROVIDER_EXPORTS" \ + -D "_WINDLL" + +LIBENCHANT_MYSPELL_DLL=$(outdir)\libenchant_myspell.dll +LIBENCHANT_MYSPELL_LIB=$(libdir)\libenchant_myspell.lib +LIBENCHANT_MYSPELL_PDB=$(pdbdir)\libenchant_myspell.pdb + +LIBENCHANT_MYSPELL_LIBS = \ + $(otherlibdir)\glib-2.0.lib \ + $(otherlibdir)\gmodule-2.0.lib \ + $(libdir)\libenchant.lib \ + advapi32.lib ntstc_msvcrt.lib + +LIBENCHANT_MYSPELL_OBJECTS = \ + $(objdir)\affentry.obj \ + $(objdir)\affixmgr.obj \ + $(objdir)\dictmgr.obj \ + $(objdir)\csutil.obj \ + $(objdir)\utf_info.obj \ + $(objdir)\hashmgr.obj \ + $(objdir)\suggestmgr.obj \ + $(objdir)\hunspell.obj \ + $(objdir)\filemgr.obj \ + $(objdir)\phonet.obj \ + $(objdir)\hunzip.obj \ + $(objdir)\myspell_checker.obj + +!if !$(DLL) +libenchant_myspell: LIBENCHANT_MYSPELL_LIB +libenchant_myspell_clean: libenchant_myspell_lib_clean +!else +libenchant_myspell: LIBENCHANT_MYSPELL_DLL +libenchant_myspell_clean: libenchant_myspell_dll_clean +!endif + +$(objdir)\affentry.obj : $(srcdir)\affentry.cxx + $(CC_OBJ) $** $(LIBENCHANT_MYSPELL_DEFINES) + +$(objdir)\affixmgr.obj : $(srcdir)\affixmgr.cxx + $(CC_OBJ) $** $(LIBENCHANT_MYSPELL_DEFINES) + +$(objdir)\dictmgr.obj : $(srcdir)\dictmgr.cxx + $(CC_OBJ) $** $(LIBENCHANT_MYSPELL_DEFINES) + +$(objdir)\csutil.obj : $(srcdir)\csutil.cxx + $(CC_OBJ) $** $(LIBENCHANT_MYSPELL_DEFINES) + +$(objdir)\utf_info.obj : $(srcdir)\utf_info.cxx + $(CC_OBJ) $** $(LIBENCHANT_MYSPELL_DEFINES) + +$(objdir)\hashmgr.obj : $(srcdir)\hashmgr.cxx + $(CC_OBJ) $** $(LIBENCHANT_MYSPELL_DEFINES) + +$(objdir)\suggestmgr.obj : $(srcdir)\suggestmgr.cxx + $(CC_OBJ) $** $(LIBENCHANT_MYSPELL_DEFINES) + +$(objdir)\hunspell.obj : $(srcdir)\hunspell.cxx + $(CC_OBJ) $** $(LIBENCHANT_MYSPELL_DEFINES) + +$(objdir)\filemgr.obj : $(srcdir)\filemgr.cxx + $(CC_OBJ) $** $(LIBENCHANT_MYSPELL_DEFINES) + +$(objdir)\phonet.obj : $(srcdir)\phonet.cxx + $(CC_OBJ) $** $(LIBENCHANT_MYSPELL_DEFINES) + +$(objdir)\hunzip.obj : $(srcdir)\hunzip.cxx + $(CC_OBJ) $** $(LIBENCHANT_MYSPELL_DEFINES) + +$(objdir)\myspell_checker.obj : $(srcdir)\myspell_checker.cpp + $(CC_OBJ) $** $(LIBENCHANT_MYSPELL_DEFINES) + +LIBENCHANT_MYSPELL_LIB : $(LIBENCHANT_MYSPELL_OBJECTS) + -$(RM) $(LIBENCHANT_MYSPELL_LIB) + $(AR) $(AR_FLAGS)$(LIBENCHANT_MYSPELL_LIB) $(LIBENCHANT_MYSPELL_OBJECTS) + +# libenchant_myspell.dll and libenchant_myspell.lib are created together. +LIBENCHANT_MYSPELL_DLL : $(LIBENCHANT_MYSPELL_OBJECTS) + $(LINK_DLL) $(LIBENCHANT_MYSPELL_OBJECTS) $(LIBENCHANT_MYSPELL_LIBS) -OUT:$(LIBENCHANT_MYSPELL_DLL) + $(EMBED_MANIFEST:exe_name=libenchant_myspell.dll) + $(CLEAN_MANIFEST:exe_name=libenchant_myspell.dll) + +libenchant_myspell_lib_clean: + $(RM) $(LIBENCHANT_MYSPELL_OBJECTS) $(LIBENCHANT_MYSPELL_LIB) + +libenchant_myspell_dll_clean: + $(RM) $(LIBENCHANT_MYSPELL_OBJECTS) $(LIBENCHANT_MYSPELL_LIB) $(LIBENCHANT_MYSPELL_DLL) $(LIBENCHANT_MYSPELL_PDB) + +################################################################################ + +check : all + +mostlyclean : clean + +clean: libenchant_clean libenchant_ispell_clean libenchant_myspell_clean enchant_clean enchant_lsmod_clean test-enchant_clean test-enchantxx_clean + +distclean : clean + +maintainer-clean : distclean + +force : + diff --git a/win32/ext/enchant-wdk/src/release-x64.bat b/win32/ext/enchant-wdk/src/release-x64.bat new file mode 100644 index 00000000..0a40fc71 --- /dev/null +++ b/win32/ext/enchant-wdk/src/release-x64.bat @@ -0,0 +1,20 @@ +@echo off +set ENCHANT_DEST=..\..\enchant-wdk-1.6.0-x64 +set RELEASE_DIR=..\bin\release +rmdir /q /s %ENCHANT_DEST% +mkdir %ENCHANT_DEST% +copy ..\COPYING.LIB %ENCHANT_DEST%\LICENSE.ENCHANT +xcopy /q /s /i %RELEASE_DIR%\enchant.exe %ENCHANT_DEST%\bin\ +copy %RELEASE_DIR%\enchant-lsmod.exe %ENCHANT_DEST%\bin +copy %RELEASE_DIR%\libenchant.dll %ENCHANT_DEST%\bin +xcopy /q /s /i enchant.h %ENCHANT_DEST%\include\enchant\ +copy "enchant++.h" %ENCHANT_DEST%\include\enchant\ +copy enchant-provider.h %ENCHANT_DEST%\include\enchant\ +xcopy /q /s /i %RELEASE_DIR%\libenchant_ispell.dll %ENCHANT_DEST%\lib\enchant\ +copy %RELEASE_DIR%\libenchant_ispell.exp %ENCHANT_DEST%\lib\enchant\ +copy %RELEASE_DIR%\libenchant_ispell.lib %ENCHANT_DEST%\lib\enchant\ +copy %RELEASE_DIR%\libenchant_myspell.dll %ENCHANT_DEST%\lib\enchant\ +copy %RELEASE_DIR%\libenchant_myspell.exp %ENCHANT_DEST%\lib\enchant\ +copy %RELEASE_DIR%\libenchant_myspell.lib %ENCHANT_DEST%\lib\enchant\ +copy %RELEASE_DIR%\libenchant.exp %ENCHANT_DEST%\lib +copy %RELEASE_DIR%\libenchant.lib %ENCHANT_DEST%\lib diff --git a/win32/ext/enchant-wdk/src/release-x86.bat b/win32/ext/enchant-wdk/src/release-x86.bat new file mode 100644 index 00000000..a33bec76 --- /dev/null +++ b/win32/ext/enchant-wdk/src/release-x86.bat @@ -0,0 +1,20 @@ +@echo off +set ENCHANT_DEST=..\..\enchant-wdk-1.6.0-x86 +set RELEASE_DIR=..\bin\release +rmdir /q /s %ENCHANT_DEST% +mkdir %ENCHANT_DEST% +copy ..\COPYING.LIB %ENCHANT_DEST%\LICENSE.ENCHANT +xcopy /q /s /i %RELEASE_DIR%\enchant.exe %ENCHANT_DEST%\bin\ +copy %RELEASE_DIR%\enchant-lsmod.exe %ENCHANT_DEST%\bin +copy %RELEASE_DIR%\libenchant.dll %ENCHANT_DEST%\bin +xcopy /q /s /i enchant.h %ENCHANT_DEST%\include\enchant\ +copy "enchant++.h" %ENCHANT_DEST%\include\enchant\ +copy enchant-provider.h %ENCHANT_DEST%\include\enchant\ +xcopy /q /s /i %RELEASE_DIR%\libenchant_ispell.dll %ENCHANT_DEST%\lib\enchant\ +copy %RELEASE_DIR%\libenchant_ispell.exp %ENCHANT_DEST%\lib\enchant\ +copy %RELEASE_DIR%\libenchant_ispell.lib %ENCHANT_DEST%\lib\enchant\ +copy %RELEASE_DIR%\libenchant_myspell.dll %ENCHANT_DEST%\lib\enchant\ +copy %RELEASE_DIR%\libenchant_myspell.exp %ENCHANT_DEST%\lib\enchant\ +copy %RELEASE_DIR%\libenchant_myspell.lib %ENCHANT_DEST%\lib\enchant\ +copy %RELEASE_DIR%\libenchant.exp %ENCHANT_DEST%\lib +copy %RELEASE_DIR%\libenchant.lib %ENCHANT_DEST%\lib diff --git a/win32/ext/libxml-wdk/libxml-wdk.patch b/win32/ext/libxml-wdk/libxml-wdk.patch new file mode 100644 index 00000000..fa8979b2 --- /dev/null +++ b/win32/ext/libxml-wdk/libxml-wdk.patch @@ -0,0 +1,57 @@ +diff -ruN --strip-trailing-cr libxml2-2.7.8.orig/libxml.h libxml2-2.7.8/libxml.h +--- libxml2-2.7.8.orig/libxml.h 2010-10-12 08:25:32 +0200 ++++ libxml2-2.7.8/libxml.h 2011-08-07 09:12:07 +0200 +@@ -94,3 +94,7 @@ + # define LIBXML_STATIC + #endif + #endif /* ! __XML_LIBXML_H__ */ ++ ++#ifndef vsnprintf ++#define vsnprintf _vsnprintf ++#endif +diff -ruN --strip-trailing-cr libxml2-2.7.8.orig/win32/Makefile.msvc libxml2-2.7.8/win32/Makefile.msvc +--- libxml2-2.7.8.orig/win32/Makefile.msvc 2010-11-04 14:58:44 +0100 ++++ libxml2-2.7.8/win32/Makefile.msvc 2011-08-07 09:23:47 +0200 +@@ -58,12 +58,20 @@ + !if "$(WITH_ZLIB)" == "1" + CFLAGS = $(CFLAGS) /D "HAVE_ZLIB_H" + !endif +-CFLAGS = $(CFLAGS) /D_CRT_SECURE_NO_DEPRECATE /D_CRT_NONSTDC_NO_DEPRECATE ++CFLAGS = $(CFLAGS) + + # The linker and its options. + LD = link.exe + LDFLAGS = /nologo /VERSION:$(LIBXML_MAJOR_VERSION).$(LIBXML_MINOR_VERSION) + LDFLAGS = $(LDFLAGS) /LIBPATH:$(BINDIR) /LIBPATH:$(LIBPREFIX) ++ ++!ifdef X64 ++CFLAGS = $(CFLAGS) /favor:AMD64 ++LDFLAGS = $(LDFLAGS) msvcrt_win2003.obj ++!else ++LDFLAGS = $(LDFLAGS) msvcrt_winxp.obj ++!endif ++ + LIBS = + !if "$(WITH_FTP)" == "1" || "$(WITH_HTTP)" == "1" + LIBS = $(LIBS) wsock32.lib ws2_32.lib +@@ -71,9 +79,9 @@ + !if "$(WITH_ICONV)" == "1" + LIBS = $(LIBS) iconv.lib + !endif +-+!if "$(WITH_ICU)" == "1" ++!if "$(WITH_ICU)" == "1" + +LIBS = $(LIBS) icu.lib +-+!endif ++!endif + !if "$(WITH_ZLIB)" == "1" + LIBS = $(LIBS) zdll.lib + !endif +@@ -94,7 +102,7 @@ + LDFLAGS = $(LDFLAGS) /DEBUG + !else + CFLAGS = $(CFLAGS) /D "NDEBUG" /O2 +-LDFLAGS = $(LDFLAGS) /OPT:NOWIN98 ++LDFLAGS = $(LDFLAGS) + !endif + + # Libxml object files. diff --git a/win32/ext/libxml-wdk/win32/build-x64.bat b/win32/ext/libxml-wdk/win32/build-x64.bat new file mode 100644 index 00000000..fadfe4c8 --- /dev/null +++ b/win32/ext/libxml-wdk/win32/build-x64.bat @@ -0,0 +1,20 @@ +@echo off +set TARGET="LibXML-WDK 2.7.8 x64.7z" +set WDK_ROOT=c:\WinDDK\7600.16385.1 +set INCLUDE=%WDK_ROOT%\inc\api;%WDK_ROOT%\inc\crt +set LIB=%WDK_ROOT%\lib\wnet\amd64;%WDK_ROOT%\lib\Crt\amd64 +set PATH=%PROGRAMFILES(X86)%\Microsoft Visual Studio 10.0\VC\bin\amd64;%PROGRAMFILES(X86)%\Microsoft SDKs\Windows\v7.0A\Bin\x64;%SystemRoot%\SysWOW64 +set X64=1 +cscript configure.js compiler=msvc iconv=no iso8859x=yes +nmake /nologo /f Makefile.msvc clean +nmake /nologo /f Makefile.msvc +rmdir /q /s bin +rmdir /q /s include +rmdir /q /s lib +nmake /nologo /f Makefile.msvc install +move lib\libxml2.dll bin +copy /y ..\COPYING LICENSE.LIBXML +set PATH=%PATH%;%PROGRAMW6432%\7-Zip +del %TARGET% +7z a %TARGET% bin include lib LICENSE.LIBXML +pause diff --git a/win32/ext/libxml-wdk/win32/build-x86.bat b/win32/ext/libxml-wdk/win32/build-x86.bat new file mode 100644 index 00000000..961fafc8 --- /dev/null +++ b/win32/ext/libxml-wdk/win32/build-x86.bat @@ -0,0 +1,19 @@ +@echo off +set TARGET="LibXML-WDK 2.7.8 x86.7z" +set WDK_ROOT=c:\WinDDK\7600.16385.1 +set INCLUDE=%WDK_ROOT%\inc\api;%WDK_ROOT%\inc\crt +set LIB=%WDK_ROOT%\lib\wxp\i386;%WDK_ROOT%\lib\Crt\i386 +set PATH=%PROGRAMFILES(X86)%\Microsoft Visual Studio 10.0\VC\bin;%PROGRAMFILES(X86)%\Microsoft Visual Studio 10.0\Common7\IDE;%PROGRAMFILES(X86)%\Microsoft SDKs\Windows\v7.0A\Bin;%SystemRoot%\system32 +cscript configure.js compiler=msvc iconv=no iso8859x=yes +nmake /nologo /f Makefile.msvc clean +nmake /nologo /f Makefile.msvc +rmdir /q /s bin +rmdir /q /s include +rmdir /q /s lib +nmake /nologo /f Makefile.msvc install +move lib\libxml2.dll bin +copy /y ..\COPYING LICENSE.LIBXML +set PATH=%PATH%;%PROGRAMW6432%\7-Zip +del %TARGET% +7z a %TARGET% bin include lib LICENSE.LIBXML +pause diff --git a/win32/ext/lua-wdk/COPYRIGHT b/win32/ext/lua-wdk/COPYRIGHT new file mode 100644 index 00000000..ef050312 --- /dev/null +++ b/win32/ext/lua-wdk/COPYRIGHT @@ -0,0 +1,34 @@ +Lua License +----------- + +Lua is licensed under the terms of the MIT license reproduced below. +This means that Lua is free software and can be used for both academic +and commercial purposes at absolutely no cost. + +For details and rationale, see http://www.lua.org/license.html . + +=============================================================================== + +Copyright (C) 1994-2011 Lua.org, PUC-Rio. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +=============================================================================== + +(end of COPYRIGHT) diff --git a/win32/ext/lua-wdk/build-x64.bat b/win32/ext/lua-wdk/build-x64.bat new file mode 100644 index 00000000..f51baee1 --- /dev/null +++ b/win32/ext/lua-wdk/build-x64.bat @@ -0,0 +1,55 @@ +@echo off +set WDK_ROOT=c:\WinDDK\7600.16385.1 +set OPATH=%PATH% +set INCLUDE=%WDK_ROOT%\inc\api;%WDK_ROOT%\inc\crt;%WDK_ROOT%\inc\ddk +set LIB=%WDK_ROOT%\lib\wnet\amd64;%WDK_ROOT%\lib\Crt\amd64 +set PATH=%PROGRAMFILES(X86)%\Microsoft Visual Studio 10.0\VC\bin\amd64 +set DEST=..\lua-wdk-5.2.0-x64 + +set MYCOMPILE=cl /nologo /MD /O2 /W3 /c +set MYLINK=link /nologo msvcrt_win2003.obj +set MYMT=mt /nologo + +cd src +%MYCOMPILE% /DLUA_BUILD_AS_DLL l*.c +del lua.obj luac.obj +%MYLINK% /DLL /out:lua52.dll l*.obj +if exist lua52.dll.manifest^ + %MYMT% -manifest lua52.dll.manifest -outputresource:lua52.dll;2 +%MYCOMPILE% /DLUA_BUILD_AS_DLL lua.c +%MYLINK% /out:lua.exe lua.obj lua52.lib +if exist lua.exe.manifest^ + %MYMT% -manifest lua.exe.manifest -outputresource:lua.exe +%MYCOMPILE% luac.c +@rem del lua.obj linit.obj lbaselib.obj ldblib.obj liolib.obj lmathlib.obj^ +@rem loslib.obj ltablib.obj lstrlib.obj loadlib.obj +%MYLINK% /out:luac.exe luac.obj lua52.lib +if exist luac.exe.manifest^ + %MYMT% -manifest luac.exe.manifest -outputresource:luac.exe +del *.obj *.manifest +cd .. + +echo.Press return when ready to install! +pause +set PATH=%OPATH% +rmdir /Q /S %DEST% +mkdir %DEST% +mkdir %DEST%\bin +mkdir %DEST%\lib +mkdir %DEST%\include +copy COPYRIGHT %DEST%\LICENSE.LUA +:: binaries and libraries +copy src\lua.exe %DEST%\bin +copy src\lua52.dll %DEST%\bin +copy src\lua52.exp %DEST%\bin +copy src\luac.exe %DEST%\bin +:: library +copy src\lua52.lib %DEST%\lib +:: api +copy src\lua.h %DEST%\include +copy src\luaconf.h %DEST%\include +copy src\lualib.h %DEST%\include +copy src\lauxlib.h %DEST%\include +copy src\lua.hpp %DEST%\include +echo.Finished! +pause diff --git a/win32/ext/lua-wdk/build-x86.bat b/win32/ext/lua-wdk/build-x86.bat new file mode 100644 index 00000000..0bfb7b49 --- /dev/null +++ b/win32/ext/lua-wdk/build-x86.bat @@ -0,0 +1,55 @@ +@echo off +set WDK_ROOT=c:\WinDDK\7600.16385.1 +set OPATH=%PATH% +set INCLUDE=%WDK_ROOT%\inc\api;%WDK_ROOT%\inc\crt;%WDK_ROOT%\inc\ddk +set LIB=%WDK_ROOT%\lib\wxp\i386;%WDK_ROOT%\lib\Crt\i386 +set PATH=%PROGRAMFILES(X86)%\Microsoft Visual Studio 10.0\VC\bin;%PROGRAMFILES(X86)%\Microsoft Visual Studio 10.0\Common7\IDE +set DEST=..\lua-wdk-5.2.0-x86 + +set MYCOMPILE=cl /nologo /MD /O2 /W3 /c +set MYLINK=link /nologo msvcrt_winxp.obj +set MYMT=mt /nologo + +cd src +%MYCOMPILE% /DLUA_BUILD_AS_DLL l*.c +del lua.obj luac.obj +%MYLINK% /DLL /out:lua52.dll l*.obj +if exist lua52.dll.manifest^ + %MYMT% -manifest lua52.dll.manifest -outputresource:lua52.dll;2 +%MYCOMPILE% /DLUA_BUILD_AS_DLL lua.c +%MYLINK% /out:lua.exe lua.obj lua52.lib +if exist lua.exe.manifest^ + %MYMT% -manifest lua.exe.manifest -outputresource:lua.exe +%MYCOMPILE% luac.c +@rem del lua.obj linit.obj lbaselib.obj ldblib.obj liolib.obj lmathlib.obj^ +@rem loslib.obj ltablib.obj lstrlib.obj loadlib.obj +%MYLINK% /out:luac.exe luac.obj lua52.lib +if exist luac.exe.manifest^ + %MYMT% -manifest luac.exe.manifest -outputresource:luac.exe +del *.obj *.manifest +cd .. + +echo.Press return when ready to install! +pause +set PATH=%OPATH% +rmdir /Q /S %DEST% +mkdir %DEST% +mkdir %DEST%\bin +mkdir %DEST%\lib +mkdir %DEST%\include +copy COPYRIGHT %DEST%\LICENSE.LUA +:: binaries and libraries +copy src\lua.exe %DEST%\bin +copy src\lua52.dll %DEST%\bin +copy src\lua52.exp %DEST%\bin +copy src\luac.exe %DEST%\bin +:: library +copy src\lua52.lib %DEST%\lib +:: api +copy src\lua.h %DEST%\include +copy src\luaconf.h %DEST%\include +copy src\lualib.h %DEST%\include +copy src\lauxlib.h %DEST%\include +copy src\lua.hpp %DEST%\include +echo.Finished! +pause diff --git a/win32/ext/lua-wdk/lua-wdk.patch b/win32/ext/lua-wdk/lua-wdk.patch new file mode 100644 index 00000000..5ba3415c --- /dev/null +++ b/win32/ext/lua-wdk/lua-wdk.patch @@ -0,0 +1,36 @@ +diff -ruN --strip-trailing-cr lua-5.2.0.orig/src/lopcodes.h lua-5.2.0/src/lopcodes.h +--- lua-5.2.0.orig/src/lopcodes.h 2011-07-15 15:50:28 +0200 ++++ lua-5.2.0/src/lopcodes.h 2012-01-10 15:41:33 +0100 +@@ -269,7 +269,8 @@ + OpArgK /* argument is a constant or register/constant */ + }; + +-LUAI_DDEC const lu_byte luaP_opmodes[NUM_OPCODES]; ++/* LUAI_DDEC const lu_byte luaP_opmodes[NUM_OPCODES]; */ ++const lu_byte luaP_opmodes[NUM_OPCODES]; + + #define getOpMode(m) (cast(enum OpMode, luaP_opmodes[m] & 3)) + #define getBMode(m) (cast(enum OpArgMask, (luaP_opmodes[m] >> 4) & 3)) +@@ -278,7 +279,8 @@ + #define testTMode(m) (luaP_opmodes[m] & (1 << 7)) + + +-LUAI_DDEC const char *const luaP_opnames[NUM_OPCODES+1]; /* opcode names */ ++/* LUAI_DDEC const char *const luaP_opnames[NUM_OPCODES+1]; */ ++const char *const luaP_opnames[NUM_OPCODES+1]; /* opcode names */ + + + /* number of list items to accumulate before a SETLIST instruction */ +diff -ruN --strip-trailing-cr lua-5.2.0.orig/src/lundump.h lua-5.2.0/src/lundump.h +--- lua-5.2.0.orig/src/lundump.h 2011-05-06 16:35:16 +0200 ++++ lua-5.2.0/src/lundump.h 2012-01-10 15:39:37 +0100 +@@ -17,7 +17,8 @@ + LUAI_FUNC void luaU_header (lu_byte* h); + + /* dump one chunk; from ldump.c */ +-LUAI_FUNC int luaU_dump (lua_State* L, const Proto* f, lua_Writer w, void* data, int strip); ++/* LUAI_FUNC int luaU_dump (lua_State* L, const Proto* f, lua_Writer w, void* data, int strip); */ ++LUALIB_API int luaU_dump (lua_State* L, const Proto* f, lua_Writer w, void* data, int strip); + + /* data to catch conversion errors */ + #define LUAC_TAIL "\x19\x93\r\n\x1a\n" diff --git a/win32/ext/nss-wdk/build-x64.bat b/win32/ext/nss-wdk/build-x64.bat new file mode 100644 index 00000000..96bb0422 --- /dev/null +++ b/win32/ext/nss-wdk/build-x64.bat @@ -0,0 +1,13 @@ +@echo off +set WDK_ROOT=c:\WinDDK\7600.16385.1 +set INCLUDE=%WDK_ROOT%\inc\api;%WDK_ROOT%\inc\crt;%WDK_ROOT%\inc\ddk +set LIB=%WDK_ROOT%\lib\wnet\amd64;%WDK_ROOT%\lib\Crt\amd64 +set PATH=%PROGRAMFILES(X86)%\Microsoft Visual Studio 10.0\VC\bin\amd64;%PROGRAMFILES(X86)%\Microsoft SDKs\Windows\v7.0A\Bin\x64;c:\mozilla-build\msys\bin;c:\mozilla-build\moztools-x64\bin +set BUILD_OPT=1 +set USE_64=1 +set WINDDK_BUILD=1 +cd mozilla\security\nss +make nss_build_all +cd ..\..\.. +echo.Finished! +pause diff --git a/win32/ext/nss-wdk/build-x86.bat b/win32/ext/nss-wdk/build-x86.bat new file mode 100644 index 00000000..c6d4868e --- /dev/null +++ b/win32/ext/nss-wdk/build-x86.bat @@ -0,0 +1,13 @@ +@echo off +set WDK_ROOT=c:\WinDDK\7600.16385.1 +set INCLUDE=%WDK_ROOT%\inc\api;%WDK_ROOT%\inc\crt +set LIB=%WDK_ROOT%\lib\wxp\i386;%WDK_ROOT%\lib\Crt\i386 +set PATH=%PROGRAMFILES(X86)%\Microsoft Visual Studio 10.0\VC\bin;%PROGRAMFILES(X86)%\Microsoft Visual Studio 10.0\Common7\IDE;%PROGRAMFILES(X86)%\Microsoft SDKs\Windows\v7.0A\Bin;c:\mozilla-build\msys\bin;c:\mozilla-build\moztools\bin +set BUILD_OPT=1 +set USE_64= +set WINDDK_BUILD=1 +cd mozilla\security\nss +make nss_build_all +cd ..\..\.. +echo.Finished! +pause diff --git a/win32/ext/nss-wdk/nss-wdk.patch b/win32/ext/nss-wdk/nss-wdk.patch new file mode 100644 index 00000000..fdbdbf8c --- /dev/null +++ b/win32/ext/nss-wdk/nss-wdk.patch @@ -0,0 +1,273 @@ +diff -ruN --strip-trailing-cr nss-3.12.9.orig/mozilla/dbm/include/mcom_db.h nss-3.12.9/mozilla/dbm/include/mcom_db.h +--- nss-3.12.9.orig/mozilla/dbm/include/mcom_db.h 2009-06-05 01:18:50 +0200 ++++ nss-3.12.9/mozilla/dbm/include/mcom_db.h 2011-02-11 00:03:42 +0100 +@@ -40,6 +40,15 @@ + #define off_t long + #endif + ++#ifdef WINDDK_BUILD ++#ifndef stat ++#define stat _stat ++#endif ++#ifndef getpid ++#define getpid GetCurrentProcessId ++#endif ++#endif ++ + #ifndef macintosh + #include <sys/types.h> + #endif +diff -ruN --strip-trailing-cr nss-3.12.9.orig/mozilla/dbm/src/mktemp.c nss-3.12.9/mozilla/dbm/src/mktemp.c +--- nss-3.12.9.orig/mozilla/dbm/src/mktemp.c 2009-06-05 01:19:32 +0200 ++++ nss-3.12.9/mozilla/dbm/src/mktemp.c 2011-02-11 00:03:42 +0100 +@@ -45,13 +45,13 @@ + #include <ctype.h> + #include "mcom_db.h" + +-#ifndef _WINDOWS +-#include <unistd.h> +-#endif +- + #ifdef _WINDOWS ++#ifndef WINDDK_BUILD + #include <process.h> ++#endif + #include "winfile.h" ++#else ++#include <unistd.h> + #endif + + static int _gettemp(char *path, register int *doopen, int extraFlags); +diff -ruN --strip-trailing-cr nss-3.12.9.orig/mozilla/nsprpub/config/config.mk nss-3.12.9/mozilla/nsprpub/config/config.mk +--- nss-3.12.9.orig/mozilla/nsprpub/config/config.mk 2010-07-09 04:10:34 +0200 ++++ nss-3.12.9/mozilla/nsprpub/config/config.mk 2011-02-11 00:03:42 +0100 +@@ -154,6 +154,15 @@ + DEFINES += -DMOZ_UNICODE + endif + ++ifdef WINDDK_BUILD ++OS_CFLAGS += -DWINDDK_BUILD ++ifdef USE_64 ++OS_LIBS += msvcrt_win2003.obj ++else ++OS_LIBS += msvcrt_winxp.obj ++endif ++endif ++ + #################################################################### + # + # Configuration for the release process +diff -ruN --strip-trailing-cr nss-3.12.9.orig/mozilla/nsprpub/pr/src/Makefile.in nss-3.12.9/mozilla/nsprpub/pr/src/Makefile.in +--- nss-3.12.9.orig/mozilla/nsprpub/pr/src/Makefile.in 2010-10-13 02:52:54 +0200 ++++ nss-3.12.9/mozilla/nsprpub/pr/src/Makefile.in 2011-02-11 00:03:42 +0100 +@@ -197,9 +197,17 @@ + ifdef NS_USE_GCC + OS_LIBS = -ladvapi32 -lwsock32 -lwinmm + else ++ifdef WINDDK_BUILD ++ifdef USE_64 ++OS_LIBS = advapi32.lib wsock32.lib winmm.lib msvcrt_win2003.obj ++else ++OS_LIBS = advapi32.lib wsock32.lib winmm.lib msvcrt_winxp.obj ++endif ++else + OS_LIBS = advapi32.lib wsock32.lib winmm.lib + endif + endif ++endif + + ifeq ($(OS_ARCH),WINCE) + OS_LIBS = ws2.lib +diff -ruN --strip-trailing-cr nss-3.12.9.orig/mozilla/nsprpub/pr/src/md/windows/ntmisc.c nss-3.12.9/mozilla/nsprpub/pr/src/md/windows/ntmisc.c +--- nss-3.12.9.orig/mozilla/nsprpub/pr/src/md/windows/ntmisc.c 2010-08-15 22:59:14 +0200 ++++ nss-3.12.9/mozilla/nsprpub/pr/src/md/windows/ntmisc.c 2011-02-11 00:03:42 +0100 +@@ -625,7 +625,11 @@ + */ + hasFdInheritBuffer = (attr && attr->fdInheritBuffer); + if ((envp == NULL) && hasFdInheritBuffer) { ++#ifdef WINDDK_BUILD ++ envp = getenv; ++#else + envp = environ; ++#endif + } + + if (envp != NULL) { +diff -ruN --strip-trailing-cr nss-3.12.9.orig/mozilla/security/coreconf/WIN32.mk nss-3.12.9/mozilla/security/coreconf/WIN32.mk +--- nss-3.12.9.orig/mozilla/security/coreconf/WIN32.mk 2010-08-18 03:28:06 +0200 ++++ nss-3.12.9/mozilla/security/coreconf/WIN32.mk 2011-02-11 00:03:42 +0100 +@@ -145,6 +145,14 @@ + else # !NS_USE_GCC + OS_CFLAGS += -W3 -nologo -D_CRT_SECURE_NO_WARNINGS + OS_DLLFLAGS += -nologo -DLL -SUBSYSTEM:WINDOWS ++ ifdef WINDDK_BUILD ++ OS_CFLAGS += -DWINDDK_BUILD ++ ifdef USE_64 ++ OS_LIBS += msvcrt_win2003.obj ++ else ++ OS_LIBS += msvcrt_winxp.obj ++ endif ++ endif + ifeq ($(_MSC_VER),$(_MSC_VER_6)) + ifndef MOZ_DEBUG_SYMBOLS + OS_DLLFLAGS += -PDB:NONE +diff -ruN --strip-trailing-cr nss-3.12.9.orig/mozilla/security/coreconf/arch.mk nss-3.12.9/mozilla/security/coreconf/arch.mk +--- nss-3.12.9.orig/mozilla/security/coreconf/arch.mk 2009-06-05 04:14:50 +0200 ++++ nss-3.12.9/mozilla/security/coreconf/arch.mk 2011-02-11 00:03:42 +0100 +@@ -268,7 +268,15 @@ + # the uname.exe in the MSYS toolkit. + # + ifeq (MINGW32_NT,$(findstring MINGW32_NT,$(OS_ARCH))) +- OS_RELEASE := $(patsubst MINGW32_NT-%,%,$(OS_ARCH)) ++ ifdef WINDDK_BUILD ++ ifdef USE_64 ++ OS_RELEASE := 5.2 ++ else ++ OS_RELEASE := 5.1 ++ endif ++ else ++ OS_RELEASE := $(patsubst MINGW32_NT-%,%,$(OS_ARCH)) ++ endif + OS_ARCH = WINNT + USE_MSYS = 1 + ifndef CPU_ARCH +diff -ruN --strip-trailing-cr nss-3.12.9.orig/mozilla/security/nss/cmd/platlibs.mk nss-3.12.9/mozilla/security/nss/cmd/platlibs.mk +--- nss-3.12.9.orig/mozilla/security/nss/cmd/platlibs.mk 2010-06-12 02:58:34 +0200 ++++ nss-3.12.9/mozilla/security/nss/cmd/platlibs.mk 2011-02-11 00:03:42 +0100 +@@ -249,3 +249,11 @@ + endif + + JAR_LIBS = $(DIST)/lib/$(LIB_PREFIX)jar.$(LIB_SUFFIX) ++ ++ifdef WINDDK_BUILD ++ifdef USE_64 ++OS_LIBS += msvcrt_win2003.obj ++else ++OS_LIBS += msvcrt_winxp.obj ++endif ++endif +diff -ruN --strip-trailing-cr nss-3.12.9.orig/mozilla/security/nss/cmd/selfserv/selfserv.c nss-3.12.9/mozilla/security/nss/cmd/selfserv/selfserv.c +--- nss-3.12.9.orig/mozilla/security/nss/cmd/selfserv/selfserv.c 2010-04-03 20:27:28 +0200 ++++ nss-3.12.9/mozilla/security/nss/cmd/selfserv/selfserv.c 2011-02-11 00:03:42 +0100 +@@ -51,8 +51,13 @@ + #endif + + #if defined(_WINDOWS) ++#ifdef WINDDK_BUILD ++#include <windows.h> ++#define getpid GetCurrentProcessId ++#else + #include <process.h> /* for getpid() */ + #endif ++#endif + + #include <signal.h> + #include <stdlib.h> +diff -ruN --strip-trailing-cr nss-3.12.9.orig/mozilla/security/nss/lib/freebl/mpi/mpcpucache.c nss-3.12.9/mozilla/security/nss/lib/freebl/mpi/mpcpucache.c +--- nss-3.12.9.orig/mozilla/security/nss/lib/freebl/mpi/mpcpucache.c 2009-03-10 22:18:08 +0100 ++++ nss-3.12.9/mozilla/security/nss/lib/freebl/mpi/mpcpucache.c 2011-02-11 00:03:42 +0100 +@@ -80,7 +80,11 @@ + + #elif defined(_MSC_VER) + ++#ifdef WINDDK_BUILD ++#include <ntddk.h> ++#else + #include <intrin.h> ++#endif + + void freebl_cpuid(unsigned long op, unsigned long *eax, + unsigned long *ebx, unsigned long *ecx, +diff -ruN --strip-trailing-cr nss-3.12.9.orig/mozilla/security/nss/lib/freebl/win_rand.c nss-3.12.9/mozilla/security/nss/lib/freebl/win_rand.c +--- nss-3.12.9.orig/mozilla/security/nss/lib/freebl/win_rand.c 2011-01-06 20:05:58 +0100 ++++ nss-3.12.9/mozilla/security/nss/lib/freebl/win_rand.c 2011-02-11 00:03:42 +0100 +@@ -50,6 +50,13 @@ + #include <sys/types.h> + #include <sys/stat.h> + #endif ++ ++#ifdef WINDDK_BUILD ++#ifndef stat ++#define stat _stat ++#endif ++#endif ++ + #include <stdio.h> + #include "prio.h" + #include "prerror.h" +diff -ruN --strip-trailing-cr nss-3.12.9.orig/mozilla/security/nss/lib/softoken/legacydb/config.mk nss-3.12.9/mozilla/security/nss/lib/softoken/legacydb/config.mk +--- nss-3.12.9.orig/mozilla/security/nss/lib/softoken/legacydb/config.mk 2009-06-11 02:55:50 +0200 ++++ nss-3.12.9/mozilla/security/nss/lib/softoken/legacydb/config.mk 2011-02-11 00:03:42 +0100 +@@ -96,3 +96,11 @@ + ifeq ($(OS_TARGET),WINCE) + DEFINES += -DDBM_USING_NSPR + endif ++ ++ifdef WINDDK_BUILD ++ifdef USE_64 ++OS_LIBS += msvcrt_win2003.obj ++else ++OS_LIBS += msvcrt_winxp.obj ++endif ++endif +diff -ruN --strip-trailing-cr nss-3.12.9.orig/mozilla/security/nss/lib/sqlite/sqlite3.c nss-3.12.9/mozilla/security/nss/lib/sqlite/sqlite3.c +--- nss-3.12.9.orig/mozilla/security/nss/lib/sqlite/sqlite3.c 2010-01-08 06:42:38 +0100 ++++ nss-3.12.9/mozilla/security/nss/lib/sqlite/sqlite3.c 2011-02-11 00:03:42 +0100 +@@ -10980,7 +10980,8 @@ + ** localtime_s(). + */ + #if !defined(HAVE_LOCALTIME_R) && !defined(HAVE_LOCALTIME_S) && \ +- defined(_MSC_VER) && defined(_CRT_INSECURE_DEPRECATE) ++ defined(_MSC_VER) && defined(_CRT_INSECURE_DEPRECATE) && \ ++ !defined(WINDDK_BUILD) + #define HAVE_LOCALTIME_S 1 + #endif + +diff -ruN --strip-trailing-cr nss-3.12.9.orig/mozilla/security/nss/lib/ssl/sslimpl.h nss-3.12.9/mozilla/security/nss/lib/ssl/sslimpl.h +--- nss-3.12.9.orig/mozilla/security/nss/lib/ssl/sslimpl.h 2010-07-31 06:33:52 +0200 ++++ nss-3.12.9/mozilla/security/nss/lib/ssl/sslimpl.h 2011-02-11 00:03:42 +0100 +@@ -1624,8 +1624,13 @@ + #elif defined(_WIN32_WCE) + #define SSL_GETPID GetCurrentProcessId + #elif defined(WIN32) ++#ifdef WINDDK_BUILD ++#include <windows.h> ++#define SSL_GETPID GetCurrentProcessId ++#else + extern int __cdecl _getpid(void); + #define SSL_GETPID _getpid ++#endif + #else + #define SSL_GETPID() 0 + #endif +diff -ruN --strip-trailing-cr nss-3.12.9.orig/mozilla/security/nss/lib/zlib/config.mk nss-3.12.9/mozilla/security/nss/lib/zlib/config.mk +--- nss-3.12.9.orig/mozilla/security/nss/lib/zlib/config.mk 2009-11-07 02:13:10 +0100 ++++ nss-3.12.9/mozilla/security/nss/lib/zlib/config.mk 2011-02-11 00:03:42 +0100 +@@ -46,3 +46,11 @@ + PROGRAM = + + EXTRA_LIBS = $(LIBRARY) ++ ++ifdef WINDDK_BUILD ++ifdef USE_64 ++OS_LIBS += msvcrt_win2003.obj ++else ++OS_LIBS += msvcrt_winxp.obj ++endif ++endif +diff -ruN --strip-trailing-cr nss-3.12.9.orig/mozilla/security/nss/lib/zlib/gzio.c nss-3.12.9/mozilla/security/nss/lib/zlib/gzio.c +--- nss-3.12.9.orig/mozilla/security/nss/lib/zlib/gzio.c 2009-11-07 02:13:10 +0100 ++++ nss-3.12.9/mozilla/security/nss/lib/zlib/gzio.c 2011-02-11 00:03:42 +0100 +@@ -11,6 +11,12 @@ + + #include "zutil.h" + ++#ifdef WINDDK_BUILD ++#ifndef vsnprintf ++#define vsnprintf _vsnprintf ++#endif ++#endif ++ + #ifdef NO_DEFLATE /* for compatibility with old definition */ + # define NO_GZCOMPRESS + #endif diff --git a/win32/ext/openssl-wdk/build-x64.bat b/win32/ext/openssl-wdk/build-x64.bat new file mode 100644 index 00000000..fc917a48 --- /dev/null +++ b/win32/ext/openssl-wdk/build-x64.bat @@ -0,0 +1,30 @@ +@echo off +set WDK_ROOT=c:\WinDDK\7600.16385.1 +set PERL_PATH=c:\mozilla-build\perl-5.12-x64\perl\bin +set NASM_PATH=c:\mozilla-build\nasm +set OPENSSL_DEST=..\openssl-wdk-1.0.1-x64 +set INCLUDE=%WDK_ROOT%\inc\api;%WDK_ROOT%\inc\crt;%WDK_ROOT%\inc\ddk;ms;zlib-x64\include +set LIB=%WDK_ROOT%\lib\wnet\amd64;%WDK_ROOT%\lib\Crt\amd64;zlib-x64\lib +set PATH=%PROGRAMFILES(X86)%\Microsoft Visual Studio 10.0\VC\bin\amd64;%PROGRAMFILES(X86)%\Microsoft SDKs\Windows\v7.0A\Bin\x64;%PERL_PATH%;%NASM_PATH%;%SystemRoot%\System32;..\zlib-x64\bin +perl Configure VC-WIN64A enable-camellia zlib-dynamic --openssldir=./ +call ms\do_win64a +nmake -f ms\ntdll.mak vclean +nmake -f ms\ntdll.mak +nmake -f ms\ntdll.mak test +perl mk-ca-bundle.pl -n +echo.Press return when ready to install! +pause +move include include-orig +nmake -f ms\ntdll.mak install +rmdir /q /s %OPENSSL_DEST% +mkdir %OPENSSL_DEST% +move bin %OPENSSL_DEST% +move include %OPENSSL_DEST% +move lib %OPENSSL_DEST% +mkdir %OPENSSL_DEST%\share +move openssl.cnf %OPENSSL_DEST%\share\openssl.cnf.example +move include-orig include +copy zlib-x64\bin\zlib1.dll %OPENSSL_DEST%\bin +move cert.pem %OPENSSL_DEST%\bin +echo.Finished! +pause diff --git a/win32/ext/openssl-wdk/build-x86.bat b/win32/ext/openssl-wdk/build-x86.bat new file mode 100644 index 00000000..4bad8216 --- /dev/null +++ b/win32/ext/openssl-wdk/build-x86.bat @@ -0,0 +1,31 @@ +@echo off +set WDK_ROOT=c:\WinDDK\7600.16385.1 +set PERL_PATH=c:\mozilla-build\perl-5.12-x86\perl\bin +set NASM_PATH=c:\mozilla-build\nasm +set OPENSSL_DEST=..\openssl-wdk-1.0.1-x86 +set INCLUDE=%WDK_ROOT%\inc\api;%WDK_ROOT%\inc\crt;%WDK_ROOT%\inc\ddk;ms;zlib-x86\include +set LIB=%WDK_ROOT%\lib\wxp\i386;%WDK_ROOT%\lib\Crt\i386;zlib-x86\lib +set PATH=%PROGRAMFILES(X86)%\Microsoft Visual Studio 10.0\VC\bin;%PROGRAMFILES(X86)%\Microsoft Visual Studio 10.0\Common7\IDE;%PROGRAMFILES(X86)%\Microsoft SDKs\Windows\v7.0A\Bin;%PERL_PATH%;%NASM_PATH%;%SystemRoot%\System32;..\zlib-x86\bin +perl Configure VC-WIN32 enable-camellia zlib-dynamic --openssldir=./ +call ms\do_nasm +@echo off +nmake -f ms\ntdll.mak vclean +nmake -f ms\ntdll.mak +nmake -f ms\ntdll.mak test +perl mk-ca-bundle.pl -n +echo.Press return when ready to install! +pause +move include include-orig +nmake -f ms\ntdll.mak install +rmdir /q /s %OPENSSL_DEST% +mkdir %OPENSSL_DEST% +move bin %OPENSSL_DEST% +move include %OPENSSL_DEST% +move lib %OPENSSL_DEST% +mkdir %OPENSSL_DEST%\share +move openssl.cnf %OPENSSL_DEST%\share\openssl.cnf.example +move include-orig include +copy zlib-x86\bin\zlib1.dll %OPENSSL_DEST%\bin +move cert.pem %OPENSSL_DEST%\bin +echo.Finished! +pause diff --git a/win32/ext/openssl-wdk/certdata.txt b/win32/ext/openssl-wdk/certdata.txt new file mode 100644 index 00000000..69209b1f --- /dev/null +++ b/win32/ext/openssl-wdk/certdata.txt @@ -0,0 +1,23477 @@ +# +# ***** BEGIN LICENSE BLOCK ***** +# Version: MPL 1.1/GPL 2.0/LGPL 2.1 +# +# The contents of this file are subject to the Mozilla Public License Version +# 1.1 (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# http://www.mozilla.org/MPL/ +# +# Software distributed under the License is distributed on an "AS IS" basis, +# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License +# for the specific language governing rights and limitations under the +# License. +# +# The Original Code is the Netscape security libraries. +# +# The Initial Developer of the Original Code is +# Netscape Communications Corporation. +# Portions created by the Initial Developer are Copyright (C) 1994-2000 +# the Initial Developer. All Rights Reserved. +# +# Contributor(s): +# +# Alternatively, the contents of this file may be used under the terms of +# either the GNU General Public License Version 2 or later (the "GPL"), or +# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), +# in which case the provisions of the GPL or the LGPL are applicable instead +# of those above. If you wish to allow use of your version of this file only +# under the terms of either the GPL or the LGPL, and not to allow others to +# use your version of this file under the terms of the MPL, indicate your +# decision by deleting the provisions above and replace them with the notice +# and other provisions required by the GPL or the LGPL. If you do not delete +# the provisions above, a recipient may use your version of this file under +# the terms of any one of the MPL, the GPL or the LGPL. +# +# ***** END LICENSE BLOCK ***** +CVS_ID "@(#) $RCSfile: certdata.txt,v $ $Revision: 1.82 $ $Date: 2012/02/18 21:41:46 $" + +# +# 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 "GTE CyberTrust Global Root" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "GTE CyberTrust Global Root" +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\125\123\061 +\030\060\026\006\003\125\004\012\023\017\107\124\105\040\103\157 +\162\160\157\162\141\164\151\157\156\061\047\060\045\006\003\125 +\004\013\023\036\107\124\105\040\103\171\142\145\162\124\162\165 +\163\164\040\123\157\154\165\164\151\157\156\163\054\040\111\156 +\143\056\061\043\060\041\006\003\125\004\003\023\032\107\124\105 +\040\103\171\142\145\162\124\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\165\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\030\060\026\006\003\125\004\012\023\017\107\124\105\040\103\157 +\162\160\157\162\141\164\151\157\156\061\047\060\045\006\003\125 +\004\013\023\036\107\124\105\040\103\171\142\145\162\124\162\165 +\163\164\040\123\157\154\165\164\151\157\156\163\054\040\111\156 +\143\056\061\043\060\041\006\003\125\004\003\023\032\107\124\105 +\040\103\171\142\145\162\124\162\165\163\164\040\107\154\157\142 +\141\154\040\122\157\157\164 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\002\001\245 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\002\132\060\202\001\303\002\002\001\245\060\015\006\011 +\052\206\110\206\367\015\001\001\004\005\000\060\165\061\013\060 +\011\006\003\125\004\006\023\002\125\123\061\030\060\026\006\003 +\125\004\012\023\017\107\124\105\040\103\157\162\160\157\162\141 +\164\151\157\156\061\047\060\045\006\003\125\004\013\023\036\107 +\124\105\040\103\171\142\145\162\124\162\165\163\164\040\123\157 +\154\165\164\151\157\156\163\054\040\111\156\143\056\061\043\060 +\041\006\003\125\004\003\023\032\107\124\105\040\103\171\142\145 +\162\124\162\165\163\164\040\107\154\157\142\141\154\040\122\157 +\157\164\060\036\027\015\071\070\060\070\061\063\060\060\062\071 +\060\060\132\027\015\061\070\060\070\061\063\062\063\065\071\060 +\060\132\060\165\061\013\060\011\006\003\125\004\006\023\002\125 +\123\061\030\060\026\006\003\125\004\012\023\017\107\124\105\040 +\103\157\162\160\157\162\141\164\151\157\156\061\047\060\045\006 +\003\125\004\013\023\036\107\124\105\040\103\171\142\145\162\124 +\162\165\163\164\040\123\157\154\165\164\151\157\156\163\054\040 +\111\156\143\056\061\043\060\041\006\003\125\004\003\023\032\107 +\124\105\040\103\171\142\145\162\124\162\165\163\164\040\107\154 +\157\142\141\154\040\122\157\157\164\060\201\237\060\015\006\011 +\052\206\110\206\367\015\001\001\001\005\000\003\201\215\000\060 +\201\211\002\201\201\000\225\017\240\266\360\120\234\350\172\307 +\210\315\335\027\016\056\260\224\320\033\075\016\366\224\300\212 +\224\307\006\310\220\227\310\270\144\032\172\176\154\074\123\341 +\067\050\163\140\177\262\227\123\007\237\123\371\155\130\224\322 +\257\215\155\210\147\200\346\355\262\225\317\162\061\312\245\034 +\162\272\134\002\347\144\102\347\371\251\054\326\072\015\254\215 +\102\252\044\001\071\346\234\077\001\205\127\015\130\207\105\370 +\323\205\252\223\151\046\205\160\110\200\077\022\025\307\171\264 +\037\005\057\073\142\231\002\003\001\000\001\060\015\006\011\052 +\206\110\206\367\015\001\001\004\005\000\003\201\201\000\155\353 +\033\011\351\136\331\121\333\147\042\141\244\052\074\110\167\343 +\240\174\246\336\163\242\024\003\205\075\373\253\016\060\305\203 +\026\063\201\023\010\236\173\064\116\337\100\310\164\327\271\175 +\334\364\166\125\175\233\143\124\030\351\360\352\363\134\261\331 +\213\102\036\271\300\225\116\272\372\325\342\174\365\150\141\277 +\216\354\005\227\137\133\260\327\243\205\064\304\044\247\015\017 +\225\223\357\313\224\330\236\037\235\134\205\155\307\252\256\117 +\037\042\265\315\225\255\272\247\314\371\253\013\172\177 +END + +# Trust for Certificate "GTE CyberTrust Global Root" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "GTE CyberTrust Global Root" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\227\201\171\120\330\034\226\160\314\064\330\011\317\171\104\061 +\066\176\364\164 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\312\075\323\150\361\003\134\320\062\372\270\053\131\350\132\333 +END +CKA_ISSUER MULTILINE_OCTAL +\060\165\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\030\060\026\006\003\125\004\012\023\017\107\124\105\040\103\157 +\162\160\157\162\141\164\151\157\156\061\047\060\045\006\003\125 +\004\013\023\036\107\124\105\040\103\171\142\145\162\124\162\165 +\163\164\040\123\157\154\165\164\151\157\156\163\054\040\111\156 +\143\056\061\043\060\041\006\003\125\004\003\023\032\107\124\105 +\040\103\171\142\145\162\124\162\165\163\164\040\107\154\157\142 +\141\154\040\122\157\157\164 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\002\001\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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Thawte Server 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 "Thawte Server CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\304\061\013\060\011\006\003\125\004\006\023\002\132\101 +\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145 +\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007 +\023\011\103\141\160\145\040\124\157\167\156\061\035\060\033\006 +\003\125\004\012\023\024\124\150\141\167\164\145\040\103\157\156 +\163\165\154\164\151\156\147\040\143\143\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\031\060\027\006\003\125\004\003\023\020\124 +\150\141\167\164\145\040\123\145\162\166\145\162\040\103\101\061 +\046\060\044\006\011\052\206\110\206\367\015\001\011\001\026\027 +\163\145\162\166\145\162\055\143\145\162\164\163\100\164\150\141 +\167\164\145\056\143\157\155 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\304\061\013\060\011\006\003\125\004\006\023\002\132\101 +\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145 +\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007 +\023\011\103\141\160\145\040\124\157\167\156\061\035\060\033\006 +\003\125\004\012\023\024\124\150\141\167\164\145\040\103\157\156 +\163\165\154\164\151\156\147\040\143\143\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\031\060\027\006\003\125\004\003\023\020\124 +\150\141\167\164\145\040\123\145\162\166\145\162\040\103\101\061 +\046\060\044\006\011\052\206\110\206\367\015\001\011\001\026\027 +\163\145\162\166\145\162\055\143\145\162\164\163\100\164\150\141 +\167\164\145\056\143\157\155 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\023\060\202\002\174\240\003\002\001\002\002\001\001 +\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060 +\201\304\061\013\060\011\006\003\125\004\006\023\002\132\101\061 +\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145\162 +\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007\023 +\011\103\141\160\145\040\124\157\167\156\061\035\060\033\006\003 +\125\004\012\023\024\124\150\141\167\164\145\040\103\157\156\163 +\165\154\164\151\156\147\040\143\143\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\031\060\027\006\003\125\004\003\023\020\124\150 +\141\167\164\145\040\123\145\162\166\145\162\040\103\101\061\046 +\060\044\006\011\052\206\110\206\367\015\001\011\001\026\027\163 +\145\162\166\145\162\055\143\145\162\164\163\100\164\150\141\167 +\164\145\056\143\157\155\060\036\027\015\071\066\060\070\060\061 +\060\060\060\060\060\060\132\027\015\062\060\061\062\063\061\062 +\063\065\071\065\071\132\060\201\304\061\013\060\011\006\003\125 +\004\006\023\002\132\101\061\025\060\023\006\003\125\004\010\023 +\014\127\145\163\164\145\162\156\040\103\141\160\145\061\022\060 +\020\006\003\125\004\007\023\011\103\141\160\145\040\124\157\167 +\156\061\035\060\033\006\003\125\004\012\023\024\124\150\141\167 +\164\145\040\103\157\156\163\165\154\164\151\156\147\040\143\143 +\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\031\060\027\006\003 +\125\004\003\023\020\124\150\141\167\164\145\040\123\145\162\166 +\145\162\040\103\101\061\046\060\044\006\011\052\206\110\206\367 +\015\001\011\001\026\027\163\145\162\166\145\162\055\143\145\162 +\164\163\100\164\150\141\167\164\145\056\143\157\155\060\201\237 +\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003 +\201\215\000\060\201\211\002\201\201\000\323\244\120\156\310\377 +\126\153\346\317\135\266\352\014\150\165\107\242\252\302\332\204 +\045\374\250\364\107\121\332\205\265\040\164\224\206\036\017\165 +\311\351\010\141\365\006\155\060\156\025\031\002\351\122\300\142 +\333\115\231\236\342\152\014\104\070\315\376\276\343\144\011\160 +\305\376\261\153\051\266\057\111\310\073\324\047\004\045\020\227 +\057\347\220\155\300\050\102\231\327\114\103\336\303\365\041\155 +\124\237\135\303\130\341\300\344\331\133\260\270\334\264\173\337 +\066\072\302\265\146\042\022\326\207\015\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 +\004\005\000\003\201\201\000\007\372\114\151\134\373\225\314\106 +\356\205\203\115\041\060\216\312\331\250\157\111\032\346\332\121 +\343\140\160\154\204\141\021\241\032\310\110\076\131\103\175\117 +\225\075\241\213\267\013\142\230\172\165\212\335\210\116\116\236 +\100\333\250\314\062\164\271\157\015\306\343\263\104\013\331\212 +\157\232\051\233\231\030\050\073\321\343\100\050\232\132\074\325 +\265\347\040\033\213\312\244\253\215\351\121\331\342\114\054\131 +\251\332\271\262\165\033\366\102\362\357\307\362\030\371\211\274 +\243\377\212\043\056\160\107 +END + +# Trust for Certificate "Thawte Server 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 "Thawte Server CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\043\345\224\224\121\225\362\101\110\003\264\325\144\322\243\243 +\365\330\213\214 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\305\160\304\242\355\123\170\014\310\020\123\201\144\313\320\035 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\304\061\013\060\011\006\003\125\004\006\023\002\132\101 +\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145 +\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007 +\023\011\103\141\160\145\040\124\157\167\156\061\035\060\033\006 +\003\125\004\012\023\024\124\150\141\167\164\145\040\103\157\156 +\163\165\154\164\151\156\147\040\143\143\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\031\060\027\006\003\125\004\003\023\020\124 +\150\141\167\164\145\040\123\145\162\166\145\162\040\103\101\061 +\046\060\044\006\011\052\206\110\206\367\015\001\011\001\026\027 +\163\145\162\166\145\162\055\143\145\162\164\163\100\164\150\141 +\167\164\145\056\143\157\155 +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_TRUST_UNKNOWN +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Thawte Premium Server 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 "Thawte Premium Server CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\316\061\013\060\011\006\003\125\004\006\023\002\132\101 +\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145 +\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007 +\023\011\103\141\160\145\040\124\157\167\156\061\035\060\033\006 +\003\125\004\012\023\024\124\150\141\167\164\145\040\103\157\156 +\163\165\154\164\151\156\147\040\143\143\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\041\060\037\006\003\125\004\003\023\030\124 +\150\141\167\164\145\040\120\162\145\155\151\165\155\040\123\145 +\162\166\145\162\040\103\101\061\050\060\046\006\011\052\206\110 +\206\367\015\001\011\001\026\031\160\162\145\155\151\165\155\055 +\163\145\162\166\145\162\100\164\150\141\167\164\145\056\143\157 +\155 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\316\061\013\060\011\006\003\125\004\006\023\002\132\101 +\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145 +\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007 +\023\011\103\141\160\145\040\124\157\167\156\061\035\060\033\006 +\003\125\004\012\023\024\124\150\141\167\164\145\040\103\157\156 +\163\165\154\164\151\156\147\040\143\143\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\041\060\037\006\003\125\004\003\023\030\124 +\150\141\167\164\145\040\120\162\145\155\151\165\155\040\123\145 +\162\166\145\162\040\103\101\061\050\060\046\006\011\052\206\110 +\206\367\015\001\011\001\026\031\160\162\145\155\151\165\155\055 +\163\145\162\166\145\162\100\164\150\141\167\164\145\056\143\157 +\155 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\047\060\202\002\220\240\003\002\001\002\002\001\001 +\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060 +\201\316\061\013\060\011\006\003\125\004\006\023\002\132\101\061 +\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145\162 +\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007\023 +\011\103\141\160\145\040\124\157\167\156\061\035\060\033\006\003 +\125\004\012\023\024\124\150\141\167\164\145\040\103\157\156\163 +\165\154\164\151\156\147\040\143\143\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\041\060\037\006\003\125\004\003\023\030\124\150 +\141\167\164\145\040\120\162\145\155\151\165\155\040\123\145\162 +\166\145\162\040\103\101\061\050\060\046\006\011\052\206\110\206 +\367\015\001\011\001\026\031\160\162\145\155\151\165\155\055\163 +\145\162\166\145\162\100\164\150\141\167\164\145\056\143\157\155 +\060\036\027\015\071\066\060\070\060\061\060\060\060\060\060\060 +\132\027\015\062\060\061\062\063\061\062\063\065\071\065\071\132 +\060\201\316\061\013\060\011\006\003\125\004\006\023\002\132\101 +\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145 +\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007 +\023\011\103\141\160\145\040\124\157\167\156\061\035\060\033\006 +\003\125\004\012\023\024\124\150\141\167\164\145\040\103\157\156 +\163\165\154\164\151\156\147\040\143\143\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\041\060\037\006\003\125\004\003\023\030\124 +\150\141\167\164\145\040\120\162\145\155\151\165\155\040\123\145 +\162\166\145\162\040\103\101\061\050\060\046\006\011\052\206\110 +\206\367\015\001\011\001\026\031\160\162\145\155\151\165\155\055 +\163\145\162\166\145\162\100\164\150\141\167\164\145\056\143\157 +\155\060\201\237\060\015\006\011\052\206\110\206\367\015\001\001 +\001\005\000\003\201\215\000\060\201\211\002\201\201\000\322\066 +\066\152\213\327\302\133\236\332\201\101\142\217\070\356\111\004 +\125\326\320\357\034\033\225\026\107\357\030\110\065\072\122\364 +\053\152\006\217\073\057\352\126\343\257\206\215\236\027\367\236 +\264\145\165\002\115\357\313\011\242\041\121\330\233\320\147\320 +\272\015\222\006\024\163\324\223\313\227\052\000\234\134\116\014 +\274\372\025\122\374\362\104\156\332\021\112\156\010\237\057\055 +\343\371\252\072\206\163\266\106\123\130\310\211\005\275\203\021 +\270\163\077\252\007\215\364\102\115\347\100\235\034\067\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\004\005\000\003\201\201\000\046\110\054\026\302 +\130\372\350\026\164\014\252\252\137\124\077\362\327\311\170\140 +\136\136\156\067\143\042\167\066\176\262\027\304\064\271\365\010 +\205\374\311\001\070\377\115\276\362\026\102\103\347\273\132\106 +\373\301\306\021\037\361\112\260\050\106\311\303\304\102\175\274 +\372\253\131\156\325\267\121\210\021\343\244\205\031\153\202\114 +\244\014\022\255\351\244\256\077\361\303\111\145\232\214\305\310 +\076\045\267\224\231\273\222\062\161\007\360\206\136\355\120\047 +\246\015\246\043\371\273\313\246\007\024\102 +END + +# Trust for Certificate "Thawte Premium Server 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 "Thawte Premium Server CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\142\177\215\170\047\145\143\231\322\175\177\220\104\311\376\263 +\363\076\372\232 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\006\237\151\171\026\146\220\002\033\214\214\242\303\007\157\072 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\316\061\013\060\011\006\003\125\004\006\023\002\132\101 +\061\025\060\023\006\003\125\004\010\023\014\127\145\163\164\145 +\162\156\040\103\141\160\145\061\022\060\020\006\003\125\004\007 +\023\011\103\141\160\145\040\124\157\167\156\061\035\060\033\006 +\003\125\004\012\023\024\124\150\141\167\164\145\040\103\157\156 +\163\165\154\164\151\156\147\040\143\143\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\041\060\037\006\003\125\004\003\023\030\124 +\150\141\167\164\145\040\120\162\145\155\151\165\155\040\123\145 +\162\166\145\162\040\103\101\061\050\060\046\006\011\052\206\110 +\206\367\015\001\011\001\026\031\160\162\145\155\151\165\155\055 +\163\145\162\166\145\162\100\164\150\141\167\164\145\056\143\157 +\155 +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_TRUST_UNKNOWN +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Equifax Secure 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 "Equifax Secure 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\125\123\061 +\020\060\016\006\003\125\004\012\023\007\105\161\165\151\146\141 +\170\061\055\060\053\006\003\125\004\013\023\044\105\161\165\151 +\146\141\170\040\123\145\143\165\162\145\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\116\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\020\060\016\006\003\125\004\012\023\007\105\161\165\151\146\141 +\170\061\055\060\053\006\003\125\004\013\023\044\105\161\165\151 +\146\141\170\040\123\145\143\165\162\145\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\004\065\336\364\317 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\040\060\202\002\211\240\003\002\001\002\002\004\065 +\336\364\317\060\015\006\011\052\206\110\206\367\015\001\001\005 +\005\000\060\116\061\013\060\011\006\003\125\004\006\023\002\125 +\123\061\020\060\016\006\003\125\004\012\023\007\105\161\165\151 +\146\141\170\061\055\060\053\006\003\125\004\013\023\044\105\161 +\165\151\146\141\170\040\123\145\143\165\162\145\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\071\070\060\070\062\062\061\066\064\061 +\065\061\132\027\015\061\070\060\070\062\062\061\066\064\061\065 +\061\132\060\116\061\013\060\011\006\003\125\004\006\023\002\125 +\123\061\020\060\016\006\003\125\004\012\023\007\105\161\165\151 +\146\141\170\061\055\060\053\006\003\125\004\013\023\044\105\161 +\165\151\146\141\170\040\123\145\143\165\162\145\040\103\145\162 +\164\151\146\151\143\141\164\145\040\101\165\164\150\157\162\151 +\164\171\060\201\237\060\015\006\011\052\206\110\206\367\015\001 +\001\001\005\000\003\201\215\000\060\201\211\002\201\201\000\301 +\135\261\130\147\010\142\356\240\232\055\037\010\155\221\024\150 +\230\012\036\376\332\004\157\023\204\142\041\303\321\174\316\237 +\005\340\270\001\360\116\064\354\342\212\225\004\144\254\361\153 +\123\137\005\263\313\147\200\277\102\002\216\376\335\001\011\354 +\341\000\024\117\374\373\360\014\335\103\272\133\053\341\037\200 +\160\231\025\127\223\026\361\017\227\152\267\302\150\043\034\314 +\115\131\060\254\121\036\073\257\053\326\356\143\105\173\305\331 +\137\120\322\343\120\017\072\210\347\277\024\375\340\307\271\002 +\003\001\000\001\243\202\001\011\060\202\001\005\060\160\006\003 +\125\035\037\004\151\060\147\060\145\240\143\240\141\244\137\060 +\135\061\013\060\011\006\003\125\004\006\023\002\125\123\061\020 +\060\016\006\003\125\004\012\023\007\105\161\165\151\146\141\170 +\061\055\060\053\006\003\125\004\013\023\044\105\161\165\151\146 +\141\170\040\123\145\143\165\162\145\040\103\145\162\164\151\146 +\151\143\141\164\145\040\101\165\164\150\157\162\151\164\171\061 +\015\060\013\006\003\125\004\003\023\004\103\122\114\061\060\032 +\006\003\125\035\020\004\023\060\021\201\017\062\060\061\070\060 +\070\062\062\061\066\064\061\065\061\132\060\013\006\003\125\035 +\017\004\004\003\002\001\006\060\037\006\003\125\035\043\004\030 +\060\026\200\024\110\346\150\371\053\322\262\225\327\107\330\043 +\040\020\117\063\230\220\237\324\060\035\006\003\125\035\016\004 +\026\004\024\110\346\150\371\053\322\262\225\327\107\330\043\040 +\020\117\063\230\220\237\324\060\014\006\003\125\035\023\004\005 +\060\003\001\001\377\060\032\006\011\052\206\110\206\366\175\007 +\101\000\004\015\060\013\033\005\126\063\056\060\143\003\002\006 +\300\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000 +\003\201\201\000\130\316\051\352\374\367\336\265\316\002\271\027 +\265\205\321\271\343\340\225\314\045\061\015\000\246\222\156\177 +\266\222\143\236\120\225\321\232\157\344\021\336\143\205\156\230 +\356\250\377\132\310\323\125\262\146\161\127\336\300\041\353\075 +\052\247\043\111\001\004\206\102\173\374\356\177\242\026\122\265 +\147\147\323\100\333\073\046\130\262\050\167\075\256\024\167\141 +\326\372\052\146\047\240\015\372\247\163\134\352\160\361\224\041 +\145\104\137\372\374\357\051\150\251\242\207\171\357\171\357\117 +\254\007\167\070 +END + +# Trust for Certificate "Equifax Secure 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 "Equifax Secure CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\322\062\011\255\043\323\024\043\041\164\344\015\177\235\142\023 +\227\206\143\072 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\147\313\235\300\023\044\212\202\233\262\027\036\321\033\354\324 +END +CKA_ISSUER MULTILINE_OCTAL +\060\116\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\020\060\016\006\003\125\004\012\023\007\105\161\165\151\146\141 +\170\061\055\060\053\006\003\125\004\013\023\044\105\161\165\151 +\146\141\170\040\123\145\143\165\162\145\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\004\065\336\364\317 +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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Digital Signature Trust Co. Global CA 1" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Digital Signature Trust Co. Global CA 1" +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\125\123\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\021\060\017\006\003\125\004\013\023\010 +\104\123\124\103\101\040\105\061 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\106\061\013\060\011\006\003\125\004\006\023\002\125\123\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\021\060\017\006\003\125\004\013\023\010 +\104\123\124\103\101\040\105\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\066\160\025\226 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\051\060\202\002\222\240\003\002\001\002\002\004\066 +\160\025\226\060\015\006\011\052\206\110\206\367\015\001\001\005 +\005\000\060\106\061\013\060\011\006\003\125\004\006\023\002\125 +\123\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\021\060\017\006\003\125\004\013 +\023\010\104\123\124\103\101\040\105\061\060\036\027\015\071\070 +\061\062\061\060\061\070\061\060\062\063\132\027\015\061\070\061 +\062\061\060\061\070\064\060\062\063\132\060\106\061\013\060\011 +\006\003\125\004\006\023\002\125\123\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 +\021\060\017\006\003\125\004\013\023\010\104\123\124\103\101\040 +\105\061\060\201\235\060\015\006\011\052\206\110\206\367\015\001 +\001\001\005\000\003\201\213\000\060\201\207\002\201\201\000\240 +\154\201\251\317\064\036\044\335\376\206\050\314\336\203\057\371 +\136\324\102\322\350\164\140\146\023\230\006\034\251\121\022\151 +\157\061\125\271\111\162\000\010\176\323\245\142\104\067\044\231 +\217\331\203\110\217\231\155\225\023\273\103\073\056\111\116\210 +\067\301\273\130\177\376\341\275\370\273\141\315\363\107\300\231 +\246\361\363\221\350\170\174\000\313\141\311\104\047\161\151\125 +\112\176\111\115\355\242\243\276\002\114\000\312\002\250\356\001 +\002\061\144\017\122\055\023\164\166\066\265\172\264\055\161\002 +\001\003\243\202\001\044\060\202\001\040\060\021\006\011\140\206 +\110\001\206\370\102\001\001\004\004\003\002\000\007\060\150\006 +\003\125\035\037\004\141\060\137\060\135\240\133\240\131\244\127 +\060\125\061\013\060\011\006\003\125\004\006\023\002\125\123\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\021\060\017\006\003\125\004\013\023\010 +\104\123\124\103\101\040\105\061\061\015\060\013\006\003\125\004 +\003\023\004\103\122\114\061\060\053\006\003\125\035\020\004\044 +\060\042\200\017\061\071\071\070\061\062\061\060\061\070\061\060 +\062\063\132\201\017\062\060\061\070\061\062\061\060\061\070\061 +\060\062\063\132\060\013\006\003\125\035\017\004\004\003\002\001 +\006\060\037\006\003\125\035\043\004\030\060\026\200\024\152\171 +\176\221\151\106\030\023\012\002\167\245\131\133\140\230\045\016 +\242\370\060\035\006\003\125\035\016\004\026\004\024\152\171\176 +\221\151\106\030\023\012\002\167\245\131\133\140\230\045\016\242 +\370\060\014\006\003\125\035\023\004\005\060\003\001\001\377\060 +\031\006\011\052\206\110\206\366\175\007\101\000\004\014\060\012 +\033\004\126\064\056\060\003\002\004\220\060\015\006\011\052\206 +\110\206\367\015\001\001\005\005\000\003\201\201\000\042\022\330 +\172\035\334\201\006\266\011\145\262\207\310\037\136\264\057\351 +\304\036\362\074\301\273\004\220\021\112\203\116\176\223\271\115 +\102\307\222\046\240\134\064\232\070\162\370\375\153\026\076\040 +\356\202\213\061\052\223\066\205\043\210\212\074\003\150\323\311 +\011\017\115\374\154\244\332\050\162\223\016\211\200\260\175\376 +\200\157\145\155\030\063\227\213\302\153\211\356\140\075\310\233 +\357\177\053\062\142\163\223\313\074\343\173\342\166\170\105\274 +\241\223\004\273\206\237\072\133\103\172\303\212\145 +END + +# Trust for Certificate "Digital Signature Trust Co. Global CA 1" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Digital Signature Trust Co. Global CA 1" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\201\226\213\072\357\034\334\160\365\372\062\151\302\222\243\143 +\133\321\043\323 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\045\172\272\203\056\266\242\013\332\376\365\002\017\010\327\255 +END +CKA_ISSUER MULTILINE_OCTAL +\060\106\061\013\060\011\006\003\125\004\006\023\002\125\123\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\021\060\017\006\003\125\004\013\023\010 +\104\123\124\103\101\040\105\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\066\160\025\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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Digital Signature Trust Co. Global CA 3" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Digital Signature Trust Co. Global CA 3" +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\125\123\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\021\060\017\006\003\125\004\013\023\010 +\104\123\124\103\101\040\105\062 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\106\061\013\060\011\006\003\125\004\006\023\002\125\123\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\021\060\017\006\003\125\004\013\023\010 +\104\123\124\103\101\040\105\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\066\156\323\316 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\051\060\202\002\222\240\003\002\001\002\002\004\066 +\156\323\316\060\015\006\011\052\206\110\206\367\015\001\001\005 +\005\000\060\106\061\013\060\011\006\003\125\004\006\023\002\125 +\123\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\021\060\017\006\003\125\004\013 +\023\010\104\123\124\103\101\040\105\062\060\036\027\015\071\070 +\061\062\060\071\061\071\061\067\062\066\132\027\015\061\070\061 +\062\060\071\061\071\064\067\062\066\132\060\106\061\013\060\011 +\006\003\125\004\006\023\002\125\123\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 +\021\060\017\006\003\125\004\013\023\010\104\123\124\103\101\040 +\105\062\060\201\235\060\015\006\011\052\206\110\206\367\015\001 +\001\001\005\000\003\201\213\000\060\201\207\002\201\201\000\277 +\223\217\027\222\357\063\023\030\353\020\177\116\026\277\377\006 +\217\052\205\274\136\371\044\246\044\210\266\003\267\301\303\137 +\003\133\321\157\256\176\102\352\146\043\270\143\203\126\373\050 +\055\341\070\213\264\356\250\001\341\316\034\266\210\052\042\106 +\205\373\237\247\160\251\107\024\077\316\336\145\360\250\161\367 +\117\046\154\214\274\306\265\357\336\111\047\377\110\052\175\350 +\115\003\314\307\262\122\306\027\061\023\073\265\115\333\310\304 +\366\303\017\044\052\332\014\235\347\221\133\200\315\224\235\002 +\001\003\243\202\001\044\060\202\001\040\060\021\006\011\140\206 +\110\001\206\370\102\001\001\004\004\003\002\000\007\060\150\006 +\003\125\035\037\004\141\060\137\060\135\240\133\240\131\244\127 +\060\125\061\013\060\011\006\003\125\004\006\023\002\125\123\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\021\060\017\006\003\125\004\013\023\010 +\104\123\124\103\101\040\105\062\061\015\060\013\006\003\125\004 +\003\023\004\103\122\114\061\060\053\006\003\125\035\020\004\044 +\060\042\200\017\061\071\071\070\061\062\060\071\061\071\061\067 +\062\066\132\201\017\062\060\061\070\061\062\060\071\061\071\061 +\067\062\066\132\060\013\006\003\125\035\017\004\004\003\002\001 +\006\060\037\006\003\125\035\043\004\030\060\026\200\024\036\202 +\115\050\145\200\074\311\101\156\254\065\056\132\313\336\356\370 +\071\133\060\035\006\003\125\035\016\004\026\004\024\036\202\115 +\050\145\200\074\311\101\156\254\065\056\132\313\336\356\370\071 +\133\060\014\006\003\125\035\023\004\005\060\003\001\001\377\060 +\031\006\011\052\206\110\206\366\175\007\101\000\004\014\060\012 +\033\004\126\064\056\060\003\002\004\220\060\015\006\011\052\206 +\110\206\367\015\001\001\005\005\000\003\201\201\000\107\215\203 +\255\142\362\333\260\236\105\042\005\271\242\326\003\016\070\162 +\347\236\374\173\346\223\266\232\245\242\224\310\064\035\221\321 +\305\327\364\012\045\017\075\170\201\236\017\261\147\304\220\114 +\143\335\136\247\342\272\237\365\367\115\245\061\173\234\051\055 +\114\376\144\076\354\266\123\376\352\233\355\202\333\164\165\113 +\007\171\156\036\330\031\203\163\336\365\076\320\265\336\347\113 +\150\175\103\056\052\040\341\176\240\170\104\236\010\365\230\371 +\307\177\033\033\326\006\040\002\130\241\303\242\003 +END + +# Trust for Certificate "Digital Signature Trust Co. Global CA 3" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Digital Signature Trust Co. Global CA 3" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\253\110\363\063\333\004\253\271\300\162\332\133\014\301\320\127 +\360\066\233\106 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\223\302\216\021\173\324\363\003\031\275\050\165\023\112\105\112 +END +CKA_ISSUER MULTILINE_OCTAL +\060\106\061\013\060\011\006\003\125\004\006\023\002\125\123\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\021\060\017\006\003\125\004\013\023\010 +\104\123\124\103\101\040\105\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\066\156\323\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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Verisign Class 3 Public Primary Certification Authority" +# +CKA_CLASS CK_OBJECT_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" +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\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\067\060\065\006\003\125\004 +\013\023\056\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 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\137\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\067\060\065\006\003\125\004 +\013\023\056\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 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\160\272\344\035\020\331\051\064\266\070\312\173\003\314 +\272\277 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\002\074\060\202\001\245\002\020\160\272\344\035\020\331 +\051\064\266\070\312\173\003\314\272\277\060\015\006\011\052\206 +\110\206\367\015\001\001\002\005\000\060\137\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\067\060\065\006\003\125\004\013\023\056\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\060\036\027\015\071\066 +\060\061\062\071\060\060\060\060\060\060\132\027\015\062\070\060 +\070\060\061\062\063\065\071\065\071\132\060\137\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\067\060\065\006\003\125\004\013\023\056\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\060\201\237\060\015 +\006\011\052\206\110\206\367\015\001\001\001\005\000\003\201\215 +\000\060\201\211\002\201\201\000\311\134\131\236\362\033\212\001 +\024\264\020\337\004\100\333\343\127\257\152\105\100\217\204\014 +\013\321\063\331\331\021\317\356\002\130\037\045\367\052\250\104 +\005\252\354\003\037\170\177\236\223\271\232\000\252\043\175\326 +\254\205\242\143\105\307\162\047\314\364\114\306\165\161\322\071 +\357\117\102\360\165\337\012\220\306\216\040\157\230\017\370\254 +\043\137\160\051\066\244\311\206\347\261\232\040\313\123\245\205 +\347\075\276\175\232\376\044\105\063\334\166\025\355\017\242\161 +\144\114\145\056\201\150\105\247\002\003\001\000\001\060\015\006 +\011\052\206\110\206\367\015\001\001\002\005\000\003\201\201\000 +\273\114\022\053\317\054\046\000\117\024\023\335\246\373\374\012 +\021\204\214\363\050\034\147\222\057\174\266\305\372\337\360\350 +\225\274\035\217\154\054\250\121\314\163\330\244\300\123\360\116 +\326\046\300\166\001\127\201\222\136\041\361\321\261\377\347\320 +\041\130\315\151\027\343\104\034\234\031\104\071\211\134\334\234 +\000\017\126\215\002\231\355\242\220\105\114\344\273\020\244\075 +\360\062\003\016\361\316\370\350\311\121\214\346\142\237\346\237 +\300\175\267\162\234\311\066\072\153\237\116\250\377\144\015\144 +END + +# Trust for Certificate "Verisign Class 3 Public Primary Certification Authority" +CKA_CLASS CK_OBJECT_CLASS 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" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\164\054\061\222\346\007\344\044\353\105\111\124\053\341\273\305 +\076\141\164\342 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\020\374\143\135\366\046\076\015\363\045\276\137\171\315\147\147 +END +CKA_ISSUER MULTILINE_OCTAL +\060\137\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\067\060\065\006\003\125\004 +\013\023\056\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 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\160\272\344\035\020\331\051\064\266\070\312\173\003\314 +\272\277 +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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Verisign Class 1 Public Primary Certification Authority - G2" +# +CKA_CLASS CK_OBJECT_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 - G2" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\301\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\074\060\072\006\003\125 +\004\013\023\063\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\062\061\072\060\070\006\003\125\004\013 +\023\061\050\143\051\040\061\071\071\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\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 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\301\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\074\060\072\006\003\125 +\004\013\023\063\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\062\061\072\060\070\006\003\125\004\013 +\023\061\050\143\051\040\061\071\071\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\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 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\114\307\352\252\230\076\161\323\223\020\370\075\072\211 +\221\222 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\002\060\202\002\153\002\020\114\307\352\252\230\076 +\161\323\223\020\370\075\072\211\221\222\060\015\006\011\052\206 +\110\206\367\015\001\001\005\005\000\060\201\301\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\074\060\072\006\003\125\004\013\023\063\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\062 +\061\072\060\070\006\003\125\004\013\023\061\050\143\051\040\061 +\071\071\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\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\060\036\027 +\015\071\070\060\065\061\070\060\060\060\060\060\060\132\027\015 +\062\070\060\070\060\061\062\063\065\071\065\071\132\060\201\301 +\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\074\060\072\006\003\125\004\013\023 +\063\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\062\061\072\060\070\006\003\125\004\013\023\061\050 +\143\051\040\061\071\071\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\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\060\201\237\060\015\006\011\052\206\110\206\367\015\001\001 +\001\005\000\003\201\215\000\060\201\211\002\201\201\000\252\320 +\272\276\026\055\270\203\324\312\322\017\274\166\061\312\224\330 +\035\223\214\126\002\274\331\157\032\157\122\066\156\165\126\012 +\125\323\337\103\207\041\021\145\212\176\217\275\041\336\153\062 +\077\033\204\064\225\005\235\101\065\353\222\353\226\335\252\131 +\077\001\123\155\231\117\355\345\342\052\132\220\301\271\304\246 +\025\317\310\105\353\246\135\216\234\076\360\144\044\166\245\315 +\253\032\157\266\330\173\121\141\156\246\177\207\310\342\267\345 +\064\334\101\210\352\011\100\276\163\222\075\153\347\165\002\003 +\001\000\001\060\015\006\011\052\206\110\206\367\015\001\001\005 +\005\000\003\201\201\000\251\117\303\015\307\147\276\054\313\331 +\250\315\055\165\347\176\025\236\073\162\353\176\353\134\055\011 +\207\326\153\155\140\174\345\256\305\220\043\014\134\112\320\257 +\261\135\363\307\266\012\333\340\025\223\015\335\003\274\307\166 +\212\265\335\117\303\233\023\165\270\001\300\346\311\133\153\245 +\270\211\334\254\244\335\162\355\116\241\367\117\274\006\323\352 +\310\144\164\173\302\225\101\234\145\163\130\361\220\232\074\152 +\261\230\311\304\207\274\317\105\155\105\342\156\042\077\376\274 +\017\061\134\350\362\331 +END + +# Trust for Certificate "Verisign Class 1 Public Primary Certification Authority - G2" +CKA_CLASS CK_OBJECT_CLASS 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 - G2" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\047\076\341\044\127\375\304\371\014\125\350\053\126\026\177\142 +\365\062\345\107 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\333\043\075\371\151\372\113\271\225\200\104\163\136\175\101\203 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\301\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\074\060\072\006\003\125 +\004\013\023\063\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\062\061\072\060\070\006\003\125\004\013 +\023\061\050\143\051\040\061\071\071\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\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 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\114\307\352\252\230\076\161\323\223\020\370\075\072\211 +\221\222 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Verisign Class 2 Public Primary Certification Authority - G2" +# +CKA_CLASS CK_OBJECT_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 - G2" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\301\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\074\060\072\006\003\125 +\004\013\023\063\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\062\061\072\060\070\006\003\125\004\013 +\023\061\050\143\051\040\061\071\071\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\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 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\301\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\074\060\072\006\003\125 +\004\013\023\063\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\062\061\072\060\070\006\003\125\004\013 +\023\061\050\143\051\040\061\071\071\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\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 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\021\000\271\057\140\314\210\237\241\172\106\011\270\133\160 +\154\212\257 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\003\060\202\002\154\002\021\000\271\057\140\314\210 +\237\241\172\106\011\270\133\160\154\212\257\060\015\006\011\052 +\206\110\206\367\015\001\001\005\005\000\060\201\301\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\074\060\072\006\003\125\004\013\023\063\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 +\062\061\072\060\070\006\003\125\004\013\023\061\050\143\051\040 +\061\071\071\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\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\060\036 +\027\015\071\070\060\065\061\070\060\060\060\060\060\060\132\027 +\015\062\070\060\070\060\061\062\063\065\071\065\071\132\060\201 +\301\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\074\060\072\006\003\125\004\013 +\023\063\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\062\061\072\060\070\006\003\125\004\013\023\061 +\050\143\051\040\061\071\071\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\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\060\201\237\060\015\006\011\052\206\110\206\367\015\001 +\001\001\005\000\003\201\215\000\060\201\211\002\201\201\000\247 +\210\001\041\164\054\347\032\003\360\230\341\227\074\017\041\010 +\361\234\333\227\351\232\374\302\004\006\023\276\137\122\310\314 +\036\054\022\126\054\270\001\151\054\314\231\037\255\260\226\256 +\171\004\362\023\071\301\173\230\272\010\054\350\302\204\023\054 +\252\151\351\011\364\307\251\002\244\102\302\043\117\112\330\360 +\016\242\373\061\154\311\346\157\231\047\007\365\346\364\114\170 +\236\155\353\106\206\372\271\206\311\124\362\262\304\257\324\106 +\034\132\311\025\060\377\015\154\365\055\016\155\316\177\167\002 +\003\001\000\001\060\015\006\011\052\206\110\206\367\015\001\001 +\005\005\000\003\201\201\000\162\056\371\177\321\361\161\373\304 +\236\366\305\136\121\212\100\230\270\150\370\233\034\203\330\342 +\235\275\377\355\241\346\146\352\057\011\364\312\327\352\245\053 +\225\366\044\140\206\115\104\056\203\245\304\055\240\323\256\170 +\151\157\162\332\154\256\010\360\143\222\067\346\273\304\060\027 +\255\167\314\111\065\252\317\330\217\321\276\267\030\226\107\163 +\152\124\042\064\144\055\266\026\233\131\133\264\121\131\072\263 +\013\024\364\022\337\147\240\364\255\062\144\136\261\106\162\047 +\214\022\173\305\104\264\256 +END + +# Trust for Certificate "Verisign Class 2 Public Primary Certification Authority - G2" +CKA_CLASS CK_OBJECT_CLASS 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 - G2" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\263\352\304\107\166\311\310\034\352\362\235\225\266\314\240\010 +\033\147\354\235 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\055\273\345\045\323\321\145\202\072\267\016\372\346\353\342\341 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\301\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\074\060\072\006\003\125 +\004\013\023\063\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\062\061\072\060\070\006\003\125\004\013 +\023\061\050\143\051\040\061\071\071\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\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 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\021\000\271\057\140\314\210\237\241\172\106\011\270\133\160 +\154\212\257 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Verisign Class 3 Public Primary Certification Authority - G2" +# +CKA_CLASS CK_OBJECT_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 - G2" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\301\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\074\060\072\006\003\125 +\004\013\023\063\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\062\061\072\060\070\006\003\125\004\013 +\023\061\050\143\051\040\061\071\071\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\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 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\301\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\074\060\072\006\003\125 +\004\013\023\063\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\062\061\072\060\070\006\003\125\004\013 +\023\061\050\143\051\040\061\071\071\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\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 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\175\331\376\007\317\250\036\267\020\171\147\373\247\211 +\064\306 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\002\060\202\002\153\002\020\175\331\376\007\317\250 +\036\267\020\171\147\373\247\211\064\306\060\015\006\011\052\206 +\110\206\367\015\001\001\005\005\000\060\201\301\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\074\060\072\006\003\125\004\013\023\063\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\062 +\061\072\060\070\006\003\125\004\013\023\061\050\143\051\040\061 +\071\071\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\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\060\036\027 +\015\071\070\060\065\061\070\060\060\060\060\060\060\132\027\015 +\062\070\060\070\060\061\062\063\065\071\065\071\132\060\201\301 +\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\074\060\072\006\003\125\004\013\023 +\063\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\062\061\072\060\070\006\003\125\004\013\023\061\050 +\143\051\040\061\071\071\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\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\060\201\237\060\015\006\011\052\206\110\206\367\015\001\001 +\001\005\000\003\201\215\000\060\201\211\002\201\201\000\314\136 +\321\021\135\134\151\320\253\323\271\152\114\231\037\131\230\060 +\216\026\205\040\106\155\107\077\324\205\040\204\341\155\263\370 +\244\355\014\361\027\017\073\371\247\371\045\327\301\317\204\143 +\362\174\143\317\242\107\362\306\133\063\216\144\100\004\150\301 +\200\271\144\034\105\167\307\330\156\365\225\051\074\120\350\064 +\327\170\037\250\272\155\103\221\225\217\105\127\136\176\305\373 +\312\244\004\353\352\227\067\124\060\157\273\001\107\062\063\315 +\334\127\233\144\151\141\370\233\035\034\211\117\134\147\002\003 +\001\000\001\060\015\006\011\052\206\110\206\367\015\001\001\005 +\005\000\003\201\201\000\121\115\315\276\134\313\230\031\234\025 +\262\001\071\170\056\115\017\147\160\160\231\306\020\132\224\244 +\123\115\124\155\053\257\015\135\100\213\144\323\327\356\336\126 +\141\222\137\246\304\035\020\141\066\323\054\047\074\350\051\011 +\271\021\144\164\314\265\163\237\034\110\251\274\141\001\356\342 +\027\246\014\343\100\010\073\016\347\353\104\163\052\232\361\151 +\222\357\161\024\303\071\254\161\247\221\011\157\344\161\006\263 +\272\131\127\046\171\000\366\370\015\242\063\060\050\324\252\130 +\240\235\235\151\221\375 +END + +# Trust for Certificate "Verisign Class 3 Public Primary Certification Authority - G2" +CKA_CLASS CK_OBJECT_CLASS 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 - G2" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\205\067\034\246\345\120\024\075\316\050\003\107\033\336\072\011 +\350\370\167\017 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\242\063\233\114\164\170\163\324\154\347\301\363\215\313\134\351 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\301\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\074\060\072\006\003\125 +\004\013\023\063\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\062\061\072\060\070\006\003\125\004\013 +\023\061\050\143\051\040\061\071\071\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\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 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\175\331\376\007\317\250\036\267\020\171\147\373\247\211 +\064\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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "GlobalSign Root 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 "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 + +# Trust for Certificate "GlobalSign Root 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 "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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "GlobalSign Root CA - R2" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "GlobalSign Root CA - R2" +CKA_CLASS CK_OBJECT_CLASS 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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "ValiCert Class 1 VA" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "ValiCert Class 1 VA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\273\061\044\060\042\006\003\125\004\007\023\033\126\141 +\154\151\103\145\162\164\040\126\141\154\151\144\141\164\151\157 +\156\040\116\145\164\167\157\162\153\061\027\060\025\006\003\125 +\004\012\023\016\126\141\154\151\103\145\162\164\054\040\111\156 +\143\056\061\065\060\063\006\003\125\004\013\023\054\126\141\154 +\151\103\145\162\164\040\103\154\141\163\163\040\061\040\120\157 +\154\151\143\171\040\126\141\154\151\144\141\164\151\157\156\040 +\101\165\164\150\157\162\151\164\171\061\041\060\037\006\003\125 +\004\003\023\030\150\164\164\160\072\057\057\167\167\167\056\166 +\141\154\151\143\145\162\164\056\143\157\155\057\061\040\060\036 +\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156\146 +\157\100\166\141\154\151\143\145\162\164\056\143\157\155 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\273\061\044\060\042\006\003\125\004\007\023\033\126\141 +\154\151\103\145\162\164\040\126\141\154\151\144\141\164\151\157 +\156\040\116\145\164\167\157\162\153\061\027\060\025\006\003\125 +\004\012\023\016\126\141\154\151\103\145\162\164\054\040\111\156 +\143\056\061\065\060\063\006\003\125\004\013\023\054\126\141\154 +\151\103\145\162\164\040\103\154\141\163\163\040\061\040\120\157 +\154\151\143\171\040\126\141\154\151\144\141\164\151\157\156\040 +\101\165\164\150\157\162\151\164\171\061\041\060\037\006\003\125 +\004\003\023\030\150\164\164\160\072\057\057\167\167\167\056\166 +\141\154\151\143\145\162\164\056\143\157\155\057\061\040\060\036 +\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156\146 +\157\100\166\141\154\151\143\145\162\164\056\143\157\155 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\002\347\060\202\002\120\002\001\001\060\015\006\011\052 +\206\110\206\367\015\001\001\005\005\000\060\201\273\061\044\060 +\042\006\003\125\004\007\023\033\126\141\154\151\103\145\162\164 +\040\126\141\154\151\144\141\164\151\157\156\040\116\145\164\167 +\157\162\153\061\027\060\025\006\003\125\004\012\023\016\126\141 +\154\151\103\145\162\164\054\040\111\156\143\056\061\065\060\063 +\006\003\125\004\013\023\054\126\141\154\151\103\145\162\164\040 +\103\154\141\163\163\040\061\040\120\157\154\151\143\171\040\126 +\141\154\151\144\141\164\151\157\156\040\101\165\164\150\157\162 +\151\164\171\061\041\060\037\006\003\125\004\003\023\030\150\164 +\164\160\072\057\057\167\167\167\056\166\141\154\151\143\145\162 +\164\056\143\157\155\057\061\040\060\036\006\011\052\206\110\206 +\367\015\001\011\001\026\021\151\156\146\157\100\166\141\154\151 +\143\145\162\164\056\143\157\155\060\036\027\015\071\071\060\066 +\062\065\062\062\062\063\064\070\132\027\015\061\071\060\066\062 +\065\062\062\062\063\064\070\132\060\201\273\061\044\060\042\006 +\003\125\004\007\023\033\126\141\154\151\103\145\162\164\040\126 +\141\154\151\144\141\164\151\157\156\040\116\145\164\167\157\162 +\153\061\027\060\025\006\003\125\004\012\023\016\126\141\154\151 +\103\145\162\164\054\040\111\156\143\056\061\065\060\063\006\003 +\125\004\013\023\054\126\141\154\151\103\145\162\164\040\103\154 +\141\163\163\040\061\040\120\157\154\151\143\171\040\126\141\154 +\151\144\141\164\151\157\156\040\101\165\164\150\157\162\151\164 +\171\061\041\060\037\006\003\125\004\003\023\030\150\164\164\160 +\072\057\057\167\167\167\056\166\141\154\151\143\145\162\164\056 +\143\157\155\057\061\040\060\036\006\011\052\206\110\206\367\015 +\001\011\001\026\021\151\156\146\157\100\166\141\154\151\143\145 +\162\164\056\143\157\155\060\201\237\060\015\006\011\052\206\110 +\206\367\015\001\001\001\005\000\003\201\215\000\060\201\211\002 +\201\201\000\330\131\202\172\211\270\226\272\246\057\150\157\130 +\056\247\124\034\006\156\364\352\215\110\274\061\224\027\360\363 +\116\274\262\270\065\222\166\260\320\245\245\001\327\000\003\022 +\042\031\010\370\377\021\043\233\316\007\365\277\151\032\046\376 +\116\351\321\177\235\054\100\035\131\150\156\246\370\130\260\235 +\032\217\323\077\361\334\031\006\201\250\016\340\072\335\310\123 +\105\011\006\346\017\160\303\372\100\246\016\342\126\005\017\030 +\115\374\040\202\321\163\125\164\215\166\162\240\035\235\035\300 +\335\077\161\002\003\001\000\001\060\015\006\011\052\206\110\206 +\367\015\001\001\005\005\000\003\201\201\000\120\150\075\111\364 +\054\034\006\224\337\225\140\177\226\173\027\376\117\161\255\144 +\310\335\167\322\357\131\125\350\077\350\216\005\052\041\362\007 +\322\265\247\122\376\234\261\266\342\133\167\027\100\352\162\326 +\043\313\050\201\062\303\000\171\030\354\131\027\211\311\306\152 +\036\161\311\375\267\164\245\045\105\151\305\110\253\031\341\105 +\212\045\153\031\356\345\273\022\365\177\367\246\215\121\303\360 +\235\164\267\251\076\240\245\377\266\111\003\023\332\042\314\355 +\161\202\053\231\317\072\267\365\055\162\310 +END + +# Trust for Certificate "ValiCert Class 1 VA" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "ValiCert Class 1 VA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\345\337\164\074\266\001\304\233\230\103\334\253\214\350\152\201 +\020\237\344\216 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\145\130\253\025\255\127\154\036\250\247\265\151\254\277\377\353 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\273\061\044\060\042\006\003\125\004\007\023\033\126\141 +\154\151\103\145\162\164\040\126\141\154\151\144\141\164\151\157 +\156\040\116\145\164\167\157\162\153\061\027\060\025\006\003\125 +\004\012\023\016\126\141\154\151\103\145\162\164\054\040\111\156 +\143\056\061\065\060\063\006\003\125\004\013\023\054\126\141\154 +\151\103\145\162\164\040\103\154\141\163\163\040\061\040\120\157 +\154\151\143\171\040\126\141\154\151\144\141\164\151\157\156\040 +\101\165\164\150\157\162\151\164\171\061\041\060\037\006\003\125 +\004\003\023\030\150\164\164\160\072\057\057\167\167\167\056\166 +\141\154\151\143\145\162\164\056\143\157\155\057\061\040\060\036 +\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156\146 +\157\100\166\141\154\151\143\145\162\164\056\143\157\155 +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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "ValiCert Class 2 VA" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "ValiCert Class 2 VA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\273\061\044\060\042\006\003\125\004\007\023\033\126\141 +\154\151\103\145\162\164\040\126\141\154\151\144\141\164\151\157 +\156\040\116\145\164\167\157\162\153\061\027\060\025\006\003\125 +\004\012\023\016\126\141\154\151\103\145\162\164\054\040\111\156 +\143\056\061\065\060\063\006\003\125\004\013\023\054\126\141\154 +\151\103\145\162\164\040\103\154\141\163\163\040\062\040\120\157 +\154\151\143\171\040\126\141\154\151\144\141\164\151\157\156\040 +\101\165\164\150\157\162\151\164\171\061\041\060\037\006\003\125 +\004\003\023\030\150\164\164\160\072\057\057\167\167\167\056\166 +\141\154\151\143\145\162\164\056\143\157\155\057\061\040\060\036 +\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156\146 +\157\100\166\141\154\151\143\145\162\164\056\143\157\155 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\273\061\044\060\042\006\003\125\004\007\023\033\126\141 +\154\151\103\145\162\164\040\126\141\154\151\144\141\164\151\157 +\156\040\116\145\164\167\157\162\153\061\027\060\025\006\003\125 +\004\012\023\016\126\141\154\151\103\145\162\164\054\040\111\156 +\143\056\061\065\060\063\006\003\125\004\013\023\054\126\141\154 +\151\103\145\162\164\040\103\154\141\163\163\040\062\040\120\157 +\154\151\143\171\040\126\141\154\151\144\141\164\151\157\156\040 +\101\165\164\150\157\162\151\164\171\061\041\060\037\006\003\125 +\004\003\023\030\150\164\164\160\072\057\057\167\167\167\056\166 +\141\154\151\143\145\162\164\056\143\157\155\057\061\040\060\036 +\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156\146 +\157\100\166\141\154\151\143\145\162\164\056\143\157\155 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\002\347\060\202\002\120\002\001\001\060\015\006\011\052 +\206\110\206\367\015\001\001\005\005\000\060\201\273\061\044\060 +\042\006\003\125\004\007\023\033\126\141\154\151\103\145\162\164 +\040\126\141\154\151\144\141\164\151\157\156\040\116\145\164\167 +\157\162\153\061\027\060\025\006\003\125\004\012\023\016\126\141 +\154\151\103\145\162\164\054\040\111\156\143\056\061\065\060\063 +\006\003\125\004\013\023\054\126\141\154\151\103\145\162\164\040 +\103\154\141\163\163\040\062\040\120\157\154\151\143\171\040\126 +\141\154\151\144\141\164\151\157\156\040\101\165\164\150\157\162 +\151\164\171\061\041\060\037\006\003\125\004\003\023\030\150\164 +\164\160\072\057\057\167\167\167\056\166\141\154\151\143\145\162 +\164\056\143\157\155\057\061\040\060\036\006\011\052\206\110\206 +\367\015\001\011\001\026\021\151\156\146\157\100\166\141\154\151 +\143\145\162\164\056\143\157\155\060\036\027\015\071\071\060\066 +\062\066\060\060\061\071\065\064\132\027\015\061\071\060\066\062 +\066\060\060\061\071\065\064\132\060\201\273\061\044\060\042\006 +\003\125\004\007\023\033\126\141\154\151\103\145\162\164\040\126 +\141\154\151\144\141\164\151\157\156\040\116\145\164\167\157\162 +\153\061\027\060\025\006\003\125\004\012\023\016\126\141\154\151 +\103\145\162\164\054\040\111\156\143\056\061\065\060\063\006\003 +\125\004\013\023\054\126\141\154\151\103\145\162\164\040\103\154 +\141\163\163\040\062\040\120\157\154\151\143\171\040\126\141\154 +\151\144\141\164\151\157\156\040\101\165\164\150\157\162\151\164 +\171\061\041\060\037\006\003\125\004\003\023\030\150\164\164\160 +\072\057\057\167\167\167\056\166\141\154\151\143\145\162\164\056 +\143\157\155\057\061\040\060\036\006\011\052\206\110\206\367\015 +\001\011\001\026\021\151\156\146\157\100\166\141\154\151\143\145 +\162\164\056\143\157\155\060\201\237\060\015\006\011\052\206\110 +\206\367\015\001\001\001\005\000\003\201\215\000\060\201\211\002 +\201\201\000\316\072\161\312\345\253\310\131\222\125\327\253\330 +\164\016\371\356\331\366\125\107\131\145\107\016\005\125\334\353 +\230\066\074\134\123\135\323\060\317\070\354\275\101\211\355\045 +\102\011\044\153\012\136\263\174\335\122\055\114\346\324\326\175 +\132\131\251\145\324\111\023\055\044\115\034\120\157\265\301\205 +\124\073\376\161\344\323\134\102\371\200\340\221\032\012\133\071 +\066\147\363\077\125\174\033\077\264\137\144\163\064\343\264\022 +\277\207\144\370\332\022\377\067\047\301\263\103\273\357\173\156 +\056\151\367\002\003\001\000\001\060\015\006\011\052\206\110\206 +\367\015\001\001\005\005\000\003\201\201\000\073\177\120\157\157 +\120\224\231\111\142\070\070\037\113\370\245\310\076\247\202\201 +\366\053\307\350\305\316\350\072\020\202\313\030\000\216\115\275 +\250\130\177\241\171\000\265\273\351\215\257\101\331\017\064\356 +\041\201\031\240\062\111\050\364\304\216\126\325\122\063\375\120 +\325\176\231\154\003\344\311\114\374\313\154\253\146\263\112\041 +\214\345\265\014\062\076\020\262\314\154\241\334\232\230\114\002 +\133\363\316\271\236\245\162\016\112\267\077\074\346\026\150\370 +\276\355\164\114\274\133\325\142\037\103\335 +END + +# Trust for Certificate "ValiCert Class 2 VA" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "ValiCert Class 2 VA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\061\172\052\320\177\053\063\136\365\241\303\116\113\127\350\267 +\330\361\374\246 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\251\043\165\233\272\111\066\156\061\302\333\362\347\146\272\207 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\273\061\044\060\042\006\003\125\004\007\023\033\126\141 +\154\151\103\145\162\164\040\126\141\154\151\144\141\164\151\157 +\156\040\116\145\164\167\157\162\153\061\027\060\025\006\003\125 +\004\012\023\016\126\141\154\151\103\145\162\164\054\040\111\156 +\143\056\061\065\060\063\006\003\125\004\013\023\054\126\141\154 +\151\103\145\162\164\040\103\154\141\163\163\040\062\040\120\157 +\154\151\143\171\040\126\141\154\151\144\141\164\151\157\156\040 +\101\165\164\150\157\162\151\164\171\061\041\060\037\006\003\125 +\004\003\023\030\150\164\164\160\072\057\057\167\167\167\056\166 +\141\154\151\143\145\162\164\056\143\157\155\057\061\040\060\036 +\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156\146 +\157\100\166\141\154\151\143\145\162\164\056\143\157\155 +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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "RSA Root Certificate 1" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "RSA Root Certificate 1" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\273\061\044\060\042\006\003\125\004\007\023\033\126\141 +\154\151\103\145\162\164\040\126\141\154\151\144\141\164\151\157 +\156\040\116\145\164\167\157\162\153\061\027\060\025\006\003\125 +\004\012\023\016\126\141\154\151\103\145\162\164\054\040\111\156 +\143\056\061\065\060\063\006\003\125\004\013\023\054\126\141\154 +\151\103\145\162\164\040\103\154\141\163\163\040\063\040\120\157 +\154\151\143\171\040\126\141\154\151\144\141\164\151\157\156\040 +\101\165\164\150\157\162\151\164\171\061\041\060\037\006\003\125 +\004\003\023\030\150\164\164\160\072\057\057\167\167\167\056\166 +\141\154\151\143\145\162\164\056\143\157\155\057\061\040\060\036 +\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156\146 +\157\100\166\141\154\151\143\145\162\164\056\143\157\155 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\273\061\044\060\042\006\003\125\004\007\023\033\126\141 +\154\151\103\145\162\164\040\126\141\154\151\144\141\164\151\157 +\156\040\116\145\164\167\157\162\153\061\027\060\025\006\003\125 +\004\012\023\016\126\141\154\151\103\145\162\164\054\040\111\156 +\143\056\061\065\060\063\006\003\125\004\013\023\054\126\141\154 +\151\103\145\162\164\040\103\154\141\163\163\040\063\040\120\157 +\154\151\143\171\040\126\141\154\151\144\141\164\151\157\156\040 +\101\165\164\150\157\162\151\164\171\061\041\060\037\006\003\125 +\004\003\023\030\150\164\164\160\072\057\057\167\167\167\056\166 +\141\154\151\143\145\162\164\056\143\157\155\057\061\040\060\036 +\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156\146 +\157\100\166\141\154\151\143\145\162\164\056\143\157\155 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\002\347\060\202\002\120\002\001\001\060\015\006\011\052 +\206\110\206\367\015\001\001\005\005\000\060\201\273\061\044\060 +\042\006\003\125\004\007\023\033\126\141\154\151\103\145\162\164 +\040\126\141\154\151\144\141\164\151\157\156\040\116\145\164\167 +\157\162\153\061\027\060\025\006\003\125\004\012\023\016\126\141 +\154\151\103\145\162\164\054\040\111\156\143\056\061\065\060\063 +\006\003\125\004\013\023\054\126\141\154\151\103\145\162\164\040 +\103\154\141\163\163\040\063\040\120\157\154\151\143\171\040\126 +\141\154\151\144\141\164\151\157\156\040\101\165\164\150\157\162 +\151\164\171\061\041\060\037\006\003\125\004\003\023\030\150\164 +\164\160\072\057\057\167\167\167\056\166\141\154\151\143\145\162 +\164\056\143\157\155\057\061\040\060\036\006\011\052\206\110\206 +\367\015\001\011\001\026\021\151\156\146\157\100\166\141\154\151 +\143\145\162\164\056\143\157\155\060\036\027\015\071\071\060\066 +\062\066\060\060\062\062\063\063\132\027\015\061\071\060\066\062 +\066\060\060\062\062\063\063\132\060\201\273\061\044\060\042\006 +\003\125\004\007\023\033\126\141\154\151\103\145\162\164\040\126 +\141\154\151\144\141\164\151\157\156\040\116\145\164\167\157\162 +\153\061\027\060\025\006\003\125\004\012\023\016\126\141\154\151 +\103\145\162\164\054\040\111\156\143\056\061\065\060\063\006\003 +\125\004\013\023\054\126\141\154\151\103\145\162\164\040\103\154 +\141\163\163\040\063\040\120\157\154\151\143\171\040\126\141\154 +\151\144\141\164\151\157\156\040\101\165\164\150\157\162\151\164 +\171\061\041\060\037\006\003\125\004\003\023\030\150\164\164\160 +\072\057\057\167\167\167\056\166\141\154\151\143\145\162\164\056 +\143\157\155\057\061\040\060\036\006\011\052\206\110\206\367\015 +\001\011\001\026\021\151\156\146\157\100\166\141\154\151\143\145 +\162\164\056\143\157\155\060\201\237\060\015\006\011\052\206\110 +\206\367\015\001\001\001\005\000\003\201\215\000\060\201\211\002 +\201\201\000\343\230\121\226\034\350\325\261\006\201\152\127\303 +\162\165\223\253\317\236\246\374\363\026\122\326\055\115\237\065 +\104\250\056\004\115\007\111\212\070\051\365\167\067\347\267\253 +\135\337\066\161\024\231\217\334\302\222\361\347\140\222\227\354 +\330\110\334\277\301\002\040\306\044\244\050\114\060\132\166\155 +\261\134\363\335\336\236\020\161\241\210\307\133\233\101\155\312 +\260\270\216\025\356\255\063\053\317\107\004\134\165\161\012\230 +\044\230\051\247\111\131\245\335\370\267\103\142\141\363\323\342 +\320\125\077\002\003\001\000\001\060\015\006\011\052\206\110\206 +\367\015\001\001\005\005\000\003\201\201\000\126\273\002\130\204 +\147\010\054\337\037\333\173\111\063\365\323\147\235\364\264\012 +\020\263\311\305\054\342\222\152\161\170\047\362\160\203\102\323 +\076\317\251\124\364\361\330\222\026\214\321\004\313\113\253\311 +\237\105\256\074\212\251\260\161\063\135\310\305\127\337\257\250 +\065\263\177\211\207\351\350\045\222\270\177\205\172\256\326\274 +\036\067\130\052\147\311\221\317\052\201\076\355\306\071\337\300 +\076\031\234\031\314\023\115\202\101\265\214\336\340\075\140\010 +\040\017\105\176\153\242\177\243\214\025\356 +END + +# Trust for Certificate "RSA Root Certificate 1" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "RSA Root Certificate 1" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\151\275\214\364\234\323\000\373\131\056\027\223\312\125\152\363 +\354\252\065\373 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\242\157\123\267\356\100\333\112\150\347\372\030\331\020\113\162 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\273\061\044\060\042\006\003\125\004\007\023\033\126\141 +\154\151\103\145\162\164\040\126\141\154\151\144\141\164\151\157 +\156\040\116\145\164\167\157\162\153\061\027\060\025\006\003\125 +\004\012\023\016\126\141\154\151\103\145\162\164\054\040\111\156 +\143\056\061\065\060\063\006\003\125\004\013\023\054\126\141\154 +\151\103\145\162\164\040\103\154\141\163\163\040\063\040\120\157 +\154\151\143\171\040\126\141\154\151\144\141\164\151\157\156\040 +\101\165\164\150\157\162\151\164\171\061\041\060\037\006\003\125 +\004\003\023\030\150\164\164\160\072\057\057\167\167\167\056\166 +\141\154\151\143\145\162\164\056\143\157\155\057\061\040\060\036 +\006\011\052\206\110\206\367\015\001\011\001\026\021\151\156\146 +\157\100\166\141\154\151\143\145\162\164\056\143\157\155 +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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Verisign Class 1 Public Primary Certification Authority - G3" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "Verisign Class 1 Public Primary Certification Authority - G3" +CKA_CLASS CK_OBJECT_CLASS 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_TRUST_UNKNOWN +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Verisign Class 2 Public Primary Certification Authority - G3" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "Verisign Class 2 Public Primary Certification Authority - G3" +CKA_CLASS CK_OBJECT_CLASS 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_TRUST_UNKNOWN +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Verisign Class 3 Public Primary Certification Authority - G3" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "Verisign Class 3 Public Primary Certification Authority - G3" +CKA_CLASS CK_OBJECT_CLASS 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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Verisign Class 4 Public Primary Certification Authority - G3" +# +CKA_CLASS CK_OBJECT_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 4 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 +\064\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 +\064\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\354\240\247\213\156\165\152\001\317\304\174\314\057 +\224\136\327 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\032\060\202\003\002\002\021\000\354\240\247\213\156 +\165\152\001\317\304\174\314\057\224\136\327\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\064\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\064\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\255\313\245\021\151\306\131\253\361\217\265 +\031\017\126\316\314\265\037\040\344\236\046\045\113\340\163\145 +\211\131\336\320\203\344\365\017\265\273\255\361\174\350\041\374 +\344\350\014\356\174\105\042\031\166\222\264\023\267\040\133\011 +\372\141\256\250\362\245\215\205\302\052\326\336\146\066\322\233 +\002\364\250\222\140\174\234\151\264\217\044\036\320\206\122\366 +\062\234\101\130\036\042\275\315\105\142\225\010\156\320\146\335 +\123\242\314\360\020\334\124\163\213\004\241\106\063\063\134\027 +\100\271\236\115\323\363\276\125\203\350\261\211\216\132\174\232 +\226\042\220\073\210\045\362\322\123\210\002\014\013\170\362\346 +\067\027\113\060\106\007\344\200\155\246\330\226\056\350\054\370 +\021\263\070\015\146\246\233\352\311\043\133\333\216\342\363\023 +\216\032\131\055\252\002\360\354\244\207\146\334\301\077\365\330 +\271\364\354\202\306\322\075\225\035\345\300\117\204\311\331\243 +\104\050\006\152\327\105\254\360\153\152\357\116\137\370\021\202 +\036\070\143\064\146\120\324\076\223\163\372\060\303\146\255\377 +\223\055\227\357\003\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\217\372 +\045\153\117\133\344\244\116\047\125\253\042\025\131\074\312\265 +\012\324\112\333\253\335\241\137\123\305\240\127\071\302\316\107 +\053\276\072\310\126\277\302\331\047\020\072\261\005\074\300\167 +\061\273\072\323\005\173\155\232\034\060\214\200\313\223\223\052 +\203\253\005\121\202\002\000\021\147\153\363\210\141\107\137\003 +\223\325\133\015\340\361\324\241\062\065\205\262\072\333\260\202 +\253\321\313\012\274\117\214\133\305\113\000\073\037\052\202\246 +\176\066\205\334\176\074\147\000\265\344\073\122\340\250\353\135 +\025\371\306\155\360\255\035\016\205\267\251\232\163\024\132\133 +\217\101\050\300\325\350\055\115\244\136\315\252\331\355\316\334 +\330\325\074\102\035\027\301\022\135\105\070\303\070\363\374\205 +\056\203\106\110\262\327\040\137\222\066\217\347\171\017\230\136 +\231\350\360\320\244\273\365\123\275\052\316\131\260\257\156\177 +\154\273\322\036\000\260\041\355\370\101\142\202\271\330\262\304 +\273\106\120\363\061\305\217\001\250\164\353\365\170\047\332\347 +\367\146\103\363\236\203\076\040\252\303\065\140\221\316 +END + +# Trust for Certificate "Verisign Class 4 Public Primary Certification Authority - G3" +CKA_CLASS CK_OBJECT_CLASS 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 4 Public Primary Certification Authority - G3" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\310\354\214\207\222\151\313\113\253\071\351\215\176\127\147\363 +\024\225\163\235 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\333\310\362\047\056\261\352\152\051\043\135\376\126\076\063\337 +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 +\064\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\354\240\247\213\156\165\152\001\317\304\174\314\057 +\224\136\327 +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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Entrust.net Secure Server 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 "Entrust.net Secure Server CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\303\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\024\060\022\006\003\125\004\012\023\013\105\156\164\162\165 +\163\164\056\156\145\164\061\073\060\071\006\003\125\004\013\023 +\062\167\167\167\056\145\156\164\162\165\163\164\056\156\145\164 +\057\103\120\123\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\072\060\070\006\003 +\125\004\003\023\061\105\156\164\162\165\163\164\056\156\145\164 +\040\123\145\143\165\162\145\040\123\145\162\166\145\162\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\303\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\024\060\022\006\003\125\004\012\023\013\105\156\164\162\165 +\163\164\056\156\145\164\061\073\060\071\006\003\125\004\013\023 +\062\167\167\167\056\145\156\164\162\165\163\164\056\156\145\164 +\057\103\120\123\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\072\060\070\006\003 +\125\004\003\023\061\105\156\164\162\165\163\164\056\156\145\164 +\040\123\145\143\165\162\145\040\123\145\162\166\145\162\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\067\112\322\103 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\330\060\202\004\101\240\003\002\001\002\002\004\067 +\112\322\103\060\015\006\011\052\206\110\206\367\015\001\001\005 +\005\000\060\201\303\061\013\060\011\006\003\125\004\006\023\002 +\125\123\061\024\060\022\006\003\125\004\012\023\013\105\156\164 +\162\165\163\164\056\156\145\164\061\073\060\071\006\003\125\004 +\013\023\062\167\167\167\056\145\156\164\162\165\163\164\056\156 +\145\164\057\103\120\123\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\072\060\070 +\006\003\125\004\003\023\061\105\156\164\162\165\163\164\056\156 +\145\164\040\123\145\143\165\162\145\040\123\145\162\166\145\162 +\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\071\071\060\065 +\062\065\061\066\060\071\064\060\132\027\015\061\071\060\065\062 +\065\061\066\063\071\064\060\132\060\201\303\061\013\060\011\006 +\003\125\004\006\023\002\125\123\061\024\060\022\006\003\125\004 +\012\023\013\105\156\164\162\165\163\164\056\156\145\164\061\073 +\060\071\006\003\125\004\013\023\062\167\167\167\056\145\156\164 +\162\165\163\164\056\156\145\164\057\103\120\123\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\072\060\070\006\003\125\004\003\023\061\105\156\164 +\162\165\163\164\056\156\145\164\040\123\145\143\165\162\145\040 +\123\145\162\166\145\162\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\201 +\235\060\015\006\011\052\206\110\206\367\015\001\001\001\005\000 +\003\201\213\000\060\201\207\002\201\201\000\315\050\203\064\124 +\033\211\363\017\257\067\221\061\377\257\061\140\311\250\350\262 +\020\150\355\237\347\223\066\361\012\144\273\107\365\004\027\077 +\043\107\115\305\047\031\201\046\014\124\162\015\210\055\331\037 +\232\022\237\274\263\161\323\200\031\077\107\146\173\214\065\050 +\322\271\012\337\044\332\234\326\120\171\201\172\132\323\067\367 +\302\112\330\051\222\046\144\321\344\230\154\072\000\212\365\064 +\233\145\370\355\343\020\377\375\270\111\130\334\240\336\202\071 +\153\201\261\026\031\141\271\124\266\346\103\002\001\003\243\202 +\001\327\060\202\001\323\060\021\006\011\140\206\110\001\206\370 +\102\001\001\004\004\003\002\000\007\060\202\001\031\006\003\125 +\035\037\004\202\001\020\060\202\001\014\060\201\336\240\201\333 +\240\201\330\244\201\325\060\201\322\061\013\060\011\006\003\125 +\004\006\023\002\125\123\061\024\060\022\006\003\125\004\012\023 +\013\105\156\164\162\165\163\164\056\156\145\164\061\073\060\071 +\006\003\125\004\013\023\062\167\167\167\056\145\156\164\162\165 +\163\164\056\156\145\164\057\103\120\123\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\072\060\070\006\003\125\004\003\023\061\105\156\164\162\165 +\163\164\056\156\145\164\040\123\145\143\165\162\145\040\123\145 +\162\166\145\162\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\015\060\013 +\006\003\125\004\003\023\004\103\122\114\061\060\051\240\047\240 +\045\206\043\150\164\164\160\072\057\057\167\167\167\056\145\156 +\164\162\165\163\164\056\156\145\164\057\103\122\114\057\156\145 +\164\061\056\143\162\154\060\053\006\003\125\035\020\004\044\060 +\042\200\017\061\071\071\071\060\065\062\065\061\066\060\071\064 +\060\132\201\017\062\060\061\071\060\065\062\065\061\066\060\071 +\064\060\132\060\013\006\003\125\035\017\004\004\003\002\001\006 +\060\037\006\003\125\035\043\004\030\060\026\200\024\360\027\142 +\023\125\075\263\377\012\000\153\373\120\204\227\363\355\142\320 +\032\060\035\006\003\125\035\016\004\026\004\024\360\027\142\023 +\125\075\263\377\012\000\153\373\120\204\227\363\355\142\320\032 +\060\014\006\003\125\035\023\004\005\060\003\001\001\377\060\031 +\006\011\052\206\110\206\366\175\007\101\000\004\014\060\012\033 +\004\126\064\056\060\003\002\004\220\060\015\006\011\052\206\110 +\206\367\015\001\001\005\005\000\003\201\201\000\220\334\060\002 +\372\144\164\302\247\012\245\174\041\215\064\027\250\373\107\016 +\377\045\174\215\023\012\373\344\230\265\357\214\370\305\020\015 +\367\222\276\361\303\325\325\225\152\004\273\054\316\046\066\145 +\310\061\306\347\356\077\343\127\165\204\172\021\357\106\117\030 +\364\323\230\273\250\207\062\272\162\366\074\342\075\237\327\035 +\331\303\140\103\214\130\016\042\226\057\142\243\054\037\272\255 +\005\357\253\062\170\207\240\124\163\031\265\134\005\371\122\076 +\155\055\105\013\367\012\223\352\355\006\371\262 +END + +# Trust for Certificate "Entrust.net Secure Server 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 "Entrust.net Secure Server CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\231\246\233\346\032\376\210\153\115\053\202\000\174\270\124\374 +\061\176\025\071 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\337\362\200\163\314\361\346\141\163\374\365\102\351\305\174\356 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\303\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\024\060\022\006\003\125\004\012\023\013\105\156\164\162\165 +\163\164\056\156\145\164\061\073\060\071\006\003\125\004\013\023 +\062\167\167\167\056\145\156\164\162\165\163\164\056\156\145\164 +\057\103\120\123\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\072\060\070\006\003 +\125\004\003\023\061\105\156\164\162\165\163\164\056\156\145\164 +\040\123\145\143\165\162\145\040\123\145\162\166\145\162\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\067\112\322\103 +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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Entrust.net Premium 2048 Secure Server 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 "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\271\146 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\134\060\202\003\104\240\003\002\001\002\002\004\070 +\143\271\146\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\061\071\061\062 +\062\064\061\070\062\060\065\061\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\164\060\162\060\021\006\011\140\206 +\110\001\206\370\102\001\001\004\004\003\002\000\007\060\037\006 +\003\125\035\043\004\030\060\026\200\024\125\344\201\321\021\200 +\276\330\211\271\010\243\061\371\241\044\011\026\271\160\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\035\006 +\011\052\206\110\206\366\175\007\101\000\004\020\060\016\033\010 +\126\065\056\060\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 +\131\107\254\041\204\212\027\311\234\211\123\036\272\200\205\032 +\306\074\116\076\261\234\266\174\306\222\135\030\144\002\343\323 +\006\010\021\141\174\143\343\053\235\061\003\160\166\322\243\050 +\240\364\273\232\143\163\355\155\345\052\333\355\024\251\053\306 +\066\021\320\053\353\007\213\245\332\236\134\031\235\126\022\365 +\124\051\310\005\355\262\022\052\215\364\003\033\377\347\222\020 +\207\260\072\265\303\235\005\067\022\243\307\364\025\271\325\244 +\071\026\233\123\072\043\221\361\250\202\242\152\210\150\301\171 +\002\042\274\252\246\326\256\337\260\024\137\270\207\320\335\174 +\177\173\377\257\034\317\346\333\007\255\136\333\205\235\320\053 +\015\063\333\004\321\346\111\100\023\053\166\373\076\351\234\211 +\017\025\316\030\260\205\170\041\117\153\117\016\372\066\147\315 +\007\362\377\010\320\342\336\331\277\052\257\270\207\206\041\074 +\004\312\267\224\150\177\317\074\351\230\327\070\377\354\300\331 +\120\360\056\113\130\256\106\157\320\056\303\140\332\162\125\162 +\275\114\105\236\141\272\277\204\201\222\003\321\322\151\174\305 +END + +# Trust for Certificate "Entrust.net Premium 2048 Secure Server 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 "Entrust.net Premium 2048 Secure Server CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\200\035\142\320\173\104\235\134\134\003\134\230\352\141\372\104 +\074\052\130\376 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\272\041\352\040\326\335\333\217\301\127\213\100\255\241\374\374 +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\271\146 +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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Baltimore CyberTrust Root" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "Baltimore CyberTrust Root" +CKA_CLASS CK_OBJECT_CLASS 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_TRUST_UNKNOWN +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Equifax Secure Global eBusiness 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 "Equifax Secure Global eBusiness 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\125\123\061 +\034\060\032\006\003\125\004\012\023\023\105\161\165\151\146\141 +\170\040\123\145\143\165\162\145\040\111\156\143\056\061\055\060 +\053\006\003\125\004\003\023\044\105\161\165\151\146\141\170\040 +\123\145\143\165\162\145\040\107\154\157\142\141\154\040\145\102 +\165\163\151\156\145\163\163\040\103\101\055\061 +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 +\034\060\032\006\003\125\004\012\023\023\105\161\165\151\146\141 +\170\040\123\145\143\165\162\145\040\111\156\143\056\061\055\060 +\053\006\003\125\004\003\023\044\105\161\165\151\146\141\170\040 +\123\145\143\165\162\145\040\107\154\157\142\141\154\040\145\102 +\165\163\151\156\145\163\163\040\103\101\055\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\002\220\060\202\001\371\240\003\002\001\002\002\001\001 +\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060 +\132\061\013\060\011\006\003\125\004\006\023\002\125\123\061\034 +\060\032\006\003\125\004\012\023\023\105\161\165\151\146\141\170 +\040\123\145\143\165\162\145\040\111\156\143\056\061\055\060\053 +\006\003\125\004\003\023\044\105\161\165\151\146\141\170\040\123 +\145\143\165\162\145\040\107\154\157\142\141\154\040\145\102\165 +\163\151\156\145\163\163\040\103\101\055\061\060\036\027\015\071 +\071\060\066\062\061\060\064\060\060\060\060\132\027\015\062\060 +\060\066\062\061\060\064\060\060\060\060\132\060\132\061\013\060 +\011\006\003\125\004\006\023\002\125\123\061\034\060\032\006\003 +\125\004\012\023\023\105\161\165\151\146\141\170\040\123\145\143 +\165\162\145\040\111\156\143\056\061\055\060\053\006\003\125\004 +\003\023\044\105\161\165\151\146\141\170\040\123\145\143\165\162 +\145\040\107\154\157\142\141\154\040\145\102\165\163\151\156\145 +\163\163\040\103\101\055\061\060\201\237\060\015\006\011\052\206 +\110\206\367\015\001\001\001\005\000\003\201\215\000\060\201\211 +\002\201\201\000\272\347\027\220\002\145\261\064\125\074\111\302 +\121\325\337\247\321\067\217\321\347\201\163\101\122\140\233\235 +\241\027\046\170\255\307\261\350\046\224\062\265\336\063\215\072 +\057\333\362\232\172\132\163\230\243\134\351\373\212\163\033\134 +\347\303\277\200\154\315\251\364\326\053\300\367\371\231\252\143 +\242\261\107\002\017\324\344\121\072\022\074\154\212\132\124\204 +\160\333\301\305\220\317\162\105\313\250\131\300\315\063\235\077 +\243\226\353\205\063\041\034\076\036\076\140\156\166\234\147\205 +\305\310\303\141\002\003\001\000\001\243\146\060\144\060\021\006 +\011\140\206\110\001\206\370\102\001\001\004\004\003\002\000\007 +\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\276\250 +\240\164\162\120\153\104\267\311\043\330\373\250\377\263\127\153 +\150\154\060\035\006\003\125\035\016\004\026\004\024\276\250\240 +\164\162\120\153\104\267\311\043\330\373\250\377\263\127\153\150 +\154\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000 +\003\201\201\000\060\342\001\121\252\307\352\137\332\271\320\145 +\017\060\326\076\332\015\024\111\156\221\223\047\024\061\357\304 +\367\055\105\370\354\307\277\242\101\015\043\264\222\371\031\000 +\147\275\001\257\315\340\161\374\132\317\144\304\340\226\230\320 +\243\100\342\001\212\357\047\007\361\145\001\212\104\055\006\145 +\165\122\300\206\020\040\041\137\154\153\017\154\256\011\034\257 +\362\242\030\064\304\165\244\163\034\361\215\334\357\255\371\263 +\166\264\222\277\334\225\020\036\276\313\310\073\132\204\140\031 +\126\224\251\125 +END + +# Trust for Certificate "Equifax Secure Global eBusiness 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 "Equifax Secure Global eBusiness CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\176\170\112\020\034\202\145\314\055\341\361\155\107\264\100\312 +\331\012\031\105 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\217\135\167\006\047\304\230\074\133\223\170\347\327\175\233\314 +END +CKA_ISSUER MULTILINE_OCTAL +\060\132\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\034\060\032\006\003\125\004\012\023\023\105\161\165\151\146\141 +\170\040\123\145\143\165\162\145\040\111\156\143\056\061\055\060 +\053\006\003\125\004\003\023\044\105\161\165\151\146\141\170\040 +\123\145\143\165\162\145\040\107\154\157\142\141\154\040\145\102 +\165\163\151\156\145\163\163\040\103\101\055\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_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Equifax Secure eBusiness CA 1" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Equifax Secure eBusiness CA 1" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\123\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\034\060\032\006\003\125\004\012\023\023\105\161\165\151\146\141 +\170\040\123\145\143\165\162\145\040\111\156\143\056\061\046\060 +\044\006\003\125\004\003\023\035\105\161\165\151\146\141\170\040 +\123\145\143\165\162\145\040\145\102\165\163\151\156\145\163\163 +\040\103\101\055\061 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\123\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\034\060\032\006\003\125\004\012\023\023\105\161\165\151\146\141 +\170\040\123\145\143\165\162\145\040\111\156\143\056\061\046\060 +\044\006\003\125\004\003\023\035\105\161\165\151\146\141\170\040 +\123\145\143\165\162\145\040\145\102\165\163\151\156\145\163\163 +\040\103\101\055\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\004 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\002\202\060\202\001\353\240\003\002\001\002\002\001\004 +\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060 +\123\061\013\060\011\006\003\125\004\006\023\002\125\123\061\034 +\060\032\006\003\125\004\012\023\023\105\161\165\151\146\141\170 +\040\123\145\143\165\162\145\040\111\156\143\056\061\046\060\044 +\006\003\125\004\003\023\035\105\161\165\151\146\141\170\040\123 +\145\143\165\162\145\040\145\102\165\163\151\156\145\163\163\040 +\103\101\055\061\060\036\027\015\071\071\060\066\062\061\060\064 +\060\060\060\060\132\027\015\062\060\060\066\062\061\060\064\060 +\060\060\060\132\060\123\061\013\060\011\006\003\125\004\006\023 +\002\125\123\061\034\060\032\006\003\125\004\012\023\023\105\161 +\165\151\146\141\170\040\123\145\143\165\162\145\040\111\156\143 +\056\061\046\060\044\006\003\125\004\003\023\035\105\161\165\151 +\146\141\170\040\123\145\143\165\162\145\040\145\102\165\163\151 +\156\145\163\163\040\103\101\055\061\060\201\237\060\015\006\011 +\052\206\110\206\367\015\001\001\001\005\000\003\201\215\000\060 +\201\211\002\201\201\000\316\057\031\274\027\267\167\336\223\251 +\137\132\015\027\117\064\032\014\230\364\042\331\131\324\304\150 +\106\360\264\065\305\205\003\040\306\257\105\245\041\121\105\101 +\353\026\130\066\062\157\342\120\142\144\371\375\121\234\252\044 +\331\364\235\203\052\207\012\041\323\022\070\064\154\215\000\156 +\132\240\331\102\356\032\041\225\371\122\114\125\132\305\017\070 +\117\106\372\155\370\056\065\326\035\174\353\342\360\260\165\200 +\310\251\023\254\276\210\357\072\156\253\137\052\070\142\002\260 +\022\173\376\217\246\003\002\003\001\000\001\243\146\060\144\060 +\021\006\011\140\206\110\001\206\370\102\001\001\004\004\003\002 +\000\007\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 +\112\170\062\122\021\333\131\026\066\136\337\301\024\066\100\152 +\107\174\114\241\060\035\006\003\125\035\016\004\026\004\024\112 +\170\062\122\021\333\131\026\066\136\337\301\024\066\100\152\107 +\174\114\241\060\015\006\011\052\206\110\206\367\015\001\001\004 +\005\000\003\201\201\000\165\133\250\233\003\021\346\351\126\114 +\315\371\251\114\300\015\232\363\314\145\151\346\045\166\314\131 +\267\326\124\303\035\315\231\254\031\335\264\205\325\340\075\374 +\142\040\247\204\113\130\145\361\342\371\225\041\077\365\324\176 +\130\036\107\207\124\076\130\241\265\265\370\052\357\161\347\274 +\303\366\261\111\106\342\327\240\153\345\126\172\232\047\230\174 +\106\142\024\347\311\374\156\003\022\171\200\070\035\110\202\215 +\374\027\376\052\226\053\265\142\246\246\075\275\177\222\131\315 +\132\052\202\262\067\171 +END + +# Trust for Certificate "Equifax Secure eBusiness CA 1" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Equifax Secure eBusiness CA 1" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\332\100\030\213\221\211\243\355\356\256\332\227\376\057\235\365 +\267\321\212\101 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\144\234\357\056\104\374\306\217\122\007\320\121\163\217\313\075 +END +CKA_ISSUER MULTILINE_OCTAL +\060\123\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\034\060\032\006\003\125\004\012\023\023\105\161\165\151\146\141 +\170\040\123\145\143\165\162\145\040\111\156\143\056\061\046\060 +\044\006\003\125\004\003\023\035\105\161\165\151\146\141\170\040 +\123\145\143\165\162\145\040\145\102\165\163\151\156\145\163\163 +\040\103\101\055\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\004 +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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Equifax Secure eBusiness CA 2" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Equifax Secure eBusiness CA 2" +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\125\123\061 +\027\060\025\006\003\125\004\012\023\016\105\161\165\151\146\141 +\170\040\123\145\143\165\162\145\061\046\060\044\006\003\125\004 +\013\023\035\105\161\165\151\146\141\170\040\123\145\143\165\162 +\145\040\145\102\165\163\151\156\145\163\163\040\103\101\055\062 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\116\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\027\060\025\006\003\125\004\012\023\016\105\161\165\151\146\141 +\170\040\123\145\143\165\162\145\061\046\060\044\006\003\125\004 +\013\023\035\105\161\165\151\146\141\170\040\123\145\143\165\162 +\145\040\145\102\165\163\151\156\145\163\163\040\103\101\055\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\067\160\317\265 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\040\060\202\002\211\240\003\002\001\002\002\004\067 +\160\317\265\060\015\006\011\052\206\110\206\367\015\001\001\005 +\005\000\060\116\061\013\060\011\006\003\125\004\006\023\002\125 +\123\061\027\060\025\006\003\125\004\012\023\016\105\161\165\151 +\146\141\170\040\123\145\143\165\162\145\061\046\060\044\006\003 +\125\004\013\023\035\105\161\165\151\146\141\170\040\123\145\143 +\165\162\145\040\145\102\165\163\151\156\145\163\163\040\103\101 +\055\062\060\036\027\015\071\071\060\066\062\063\061\062\061\064 +\064\065\132\027\015\061\071\060\066\062\063\061\062\061\064\064 +\065\132\060\116\061\013\060\011\006\003\125\004\006\023\002\125 +\123\061\027\060\025\006\003\125\004\012\023\016\105\161\165\151 +\146\141\170\040\123\145\143\165\162\145\061\046\060\044\006\003 +\125\004\013\023\035\105\161\165\151\146\141\170\040\123\145\143 +\165\162\145\040\145\102\165\163\151\156\145\163\163\040\103\101 +\055\062\060\201\237\060\015\006\011\052\206\110\206\367\015\001 +\001\001\005\000\003\201\215\000\060\201\211\002\201\201\000\344 +\071\071\223\036\122\006\033\050\066\370\262\243\051\305\355\216 +\262\021\275\376\353\347\264\164\302\217\377\005\347\331\235\006 +\277\022\310\077\016\362\326\321\044\262\021\336\321\163\011\212 +\324\261\054\230\011\015\036\120\106\262\203\246\105\215\142\150 +\273\205\033\040\160\062\252\100\315\246\226\137\304\161\067\077 +\004\363\267\101\044\071\007\032\036\056\141\130\240\022\013\345 +\245\337\305\253\352\067\161\314\034\310\067\072\271\227\122\247 +\254\305\152\044\224\116\234\173\317\300\152\326\337\041\275\002 +\003\001\000\001\243\202\001\011\060\202\001\005\060\160\006\003 +\125\035\037\004\151\060\147\060\145\240\143\240\141\244\137\060 +\135\061\013\060\011\006\003\125\004\006\023\002\125\123\061\027 +\060\025\006\003\125\004\012\023\016\105\161\165\151\146\141\170 +\040\123\145\143\165\162\145\061\046\060\044\006\003\125\004\013 +\023\035\105\161\165\151\146\141\170\040\123\145\143\165\162\145 +\040\145\102\165\163\151\156\145\163\163\040\103\101\055\062\061 +\015\060\013\006\003\125\004\003\023\004\103\122\114\061\060\032 +\006\003\125\035\020\004\023\060\021\201\017\062\060\061\071\060 +\066\062\063\061\062\061\064\064\065\132\060\013\006\003\125\035 +\017\004\004\003\002\001\006\060\037\006\003\125\035\043\004\030 +\060\026\200\024\120\236\013\352\257\136\271\040\110\246\120\152 +\313\375\330\040\172\247\202\166\060\035\006\003\125\035\016\004 +\026\004\024\120\236\013\352\257\136\271\040\110\246\120\152\313 +\375\330\040\172\247\202\166\060\014\006\003\125\035\023\004\005 +\060\003\001\001\377\060\032\006\011\052\206\110\206\366\175\007 +\101\000\004\015\060\013\033\005\126\063\056\060\143\003\002\006 +\300\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000 +\003\201\201\000\014\206\202\255\350\116\032\365\216\211\047\342 +\065\130\075\051\264\007\217\066\120\225\277\156\301\236\353\304 +\220\262\205\250\273\267\102\340\017\007\071\337\373\236\220\262 +\321\301\076\123\237\003\104\260\176\113\364\157\344\174\037\347 +\342\261\344\270\232\357\303\275\316\336\013\062\064\331\336\050 +\355\063\153\304\324\327\075\022\130\253\175\011\055\313\160\365 +\023\212\224\241\047\244\326\160\305\155\224\265\311\175\235\240 +\322\306\010\111\331\146\233\246\323\364\013\334\305\046\127\341 +\221\060\352\315 +END + +# Trust for Certificate "Equifax Secure eBusiness CA 2" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Equifax Secure eBusiness CA 2" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\071\117\366\205\013\006\276\122\345\030\126\314\020\341\200\350 +\202\263\205\314 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\252\277\277\144\227\332\230\035\157\306\010\072\225\160\063\312 +END +CKA_ISSUER MULTILINE_OCTAL +\060\116\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\027\060\025\006\003\125\004\012\023\016\105\161\165\151\146\141 +\170\040\123\145\143\165\162\145\061\046\060\044\006\003\125\004 +\013\023\035\105\161\165\151\146\141\170\040\123\145\143\165\162 +\145\040\145\102\165\163\151\156\145\163\163\040\103\101\055\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\067\160\317\265 +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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "AddTrust Low-Value Services Root" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "AddTrust Low-Value Services Root" +CKA_CLASS CK_OBJECT_CLASS 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_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "AddTrust External Root" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "AddTrust External Root" +CKA_CLASS CK_OBJECT_CLASS 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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "AddTrust Public Services Root" +# +CKA_CLASS CK_OBJECT_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 Public Services Root" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\144\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\040\060\036\006\003\125\004\003\023\027\101 +\144\144\124\162\165\163\164\040\120\165\142\154\151\143\040\103 +\101\040\122\157\157\164 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\144\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\040\060\036\006\003\125\004\003\023\027\101 +\144\144\124\162\165\163\164\040\120\165\142\154\151\143\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\025\060\202\002\375\240\003\002\001\002\002\001\001 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\144\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\040\060\036\006\003\125\004\003\023\027\101\144 +\144\124\162\165\163\164\040\120\165\142\154\151\143\040\103\101 +\040\122\157\157\164\060\036\027\015\060\060\060\065\063\060\061 +\060\064\061\065\060\132\027\015\062\060\060\065\063\060\061\060 +\064\061\065\060\132\060\144\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\040\060\036\006\003\125 +\004\003\023\027\101\144\144\124\162\165\163\164\040\120\165\142 +\154\151\143\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\351\032\060\217 +\203\210\024\301\040\330\074\233\217\033\176\003\164\273\332\151 +\323\106\245\370\216\302\014\021\220\121\245\057\146\124\100\125 +\352\333\037\112\126\356\237\043\156\364\071\313\241\271\157\362 +\176\371\135\207\046\141\236\034\370\342\354\246\201\370\041\305 +\044\314\021\014\077\333\046\162\172\307\001\227\007\027\371\327 +\030\054\060\175\016\172\036\142\036\306\113\300\375\175\142\167 +\323\104\036\047\366\077\113\104\263\267\070\331\071\037\140\325 +\121\222\163\003\264\000\151\343\363\024\116\356\321\334\011\317 +\167\064\106\120\260\370\021\362\376\070\171\367\007\071\376\121 +\222\227\013\133\010\137\064\206\001\255\210\227\353\146\315\136 +\321\377\334\175\362\204\332\272\167\255\334\200\010\307\247\207 +\326\125\237\227\152\350\310\021\144\272\347\031\051\077\021\263 +\170\220\204\040\122\133\021\357\170\320\203\366\325\110\220\320 +\060\034\317\200\371\140\376\171\344\210\362\335\000\353\224\105 +\353\145\224\151\100\272\300\325\264\270\272\175\004\021\250\353 +\061\005\226\224\116\130\041\216\237\320\140\375\002\003\001\000 +\001\243\201\321\060\201\316\060\035\006\003\125\035\016\004\026 +\004\024\201\076\067\330\222\260\037\167\237\134\264\253\163\252 +\347\366\064\140\057\372\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\216\006\003\125\035\043\004\201\206\060 +\201\203\200\024\201\076\067\330\222\260\037\167\237\134\264\253 +\163\252\347\366\064\140\057\372\241\150\244\146\060\144\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\040\060\036\006\003\125\004\003\023\027\101\144\144\124\162 +\165\163\164\040\120\165\142\154\151\143\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\003\367\025\112\370\044\332 +\043\126\026\223\166\335\066\050\271\256\033\270\303\361\144\272 +\040\030\170\225\051\047\127\005\274\174\052\364\271\121\125\332 +\207\002\336\017\026\027\061\370\252\171\056\011\023\273\257\262 +\040\031\022\345\223\371\113\371\203\350\104\325\262\101\045\277 +\210\165\157\377\020\374\112\124\320\137\360\372\357\066\163\175 +\033\066\105\306\041\155\264\025\270\116\317\234\134\245\075\132 +\000\216\006\343\074\153\062\173\362\237\360\266\375\337\360\050 +\030\110\360\306\274\320\277\064\200\226\302\112\261\155\216\307 +\220\105\336\057\147\254\105\004\243\172\334\125\222\311\107\146 +\330\032\214\307\355\234\116\232\340\022\273\265\152\114\204\341 +\341\042\015\207\000\144\376\214\175\142\071\145\246\357\102\266 +\200\045\022\141\001\250\044\023\160\000\021\046\137\372\065\120 +\305\110\314\006\107\350\047\330\160\215\137\144\346\241\104\046 +\136\042\354\222\315\377\102\232\104\041\155\134\305\343\042\035 +\137\107\022\347\316\137\135\372\330\252\261\063\055\331\166\362 +\116\072\063\014\053\263\055\220\006 +END + +# Trust for Certificate "AddTrust Public Services Root" +CKA_CLASS CK_OBJECT_CLASS 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 Public Services Root" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\052\266\050\110\136\170\373\363\255\236\171\020\335\153\337\231 +\162\054\226\345 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\301\142\076\043\305\202\163\234\003\131\113\053\351\167\111\177 +END +CKA_ISSUER MULTILINE_OCTAL +\060\144\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\040\060\036\006\003\125\004\003\023\027\101 +\144\144\124\162\165\163\164\040\120\165\142\154\151\143\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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "AddTrust Qualified Certificates Root" +# +CKA_CLASS CK_OBJECT_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 Qualified Certificates Root" +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\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\043\060\041\006\003\125\004\003\023\032\101 +\144\144\124\162\165\163\164\040\121\165\141\154\151\146\151\145 +\144\040\103\101\040\122\157\157\164 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\147\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\043\060\041\006\003\125\004\003\023\032\101 +\144\144\124\162\165\163\164\040\121\165\141\154\151\146\151\145 +\144\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\036\060\202\003\006\240\003\002\001\002\002\001\001 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\147\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\043\060\041\006\003\125\004\003\023\032\101\144 +\144\124\162\165\163\164\040\121\165\141\154\151\146\151\145\144 +\040\103\101\040\122\157\157\164\060\036\027\015\060\060\060\065 +\063\060\061\060\064\064\065\060\132\027\015\062\060\060\065\063 +\060\061\060\064\064\065\060\132\060\147\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\043\060\041 +\006\003\125\004\003\023\032\101\144\144\124\162\165\163\164\040 +\121\165\141\154\151\146\151\145\144\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\344\036\232\376\334\011\132\207\244\237\107\276\021\137 +\257\204\064\333\142\074\171\170\267\351\060\265\354\014\034\052 +\304\026\377\340\354\161\353\212\365\021\156\355\117\015\221\322 +\022\030\055\111\025\001\302\244\042\023\307\021\144\377\042\022 +\232\271\216\134\057\010\317\161\152\263\147\001\131\361\135\106 +\363\260\170\245\366\016\102\172\343\177\033\314\320\360\267\050 +\375\052\352\236\263\260\271\004\252\375\366\307\264\261\270\052 +\240\373\130\361\031\240\157\160\045\176\076\151\112\177\017\042 +\330\357\255\010\021\232\051\231\341\252\104\105\232\022\136\076 +\235\155\122\374\347\240\075\150\057\360\113\160\174\023\070\255 +\274\025\045\361\326\316\253\242\300\061\326\057\237\340\377\024 +\131\374\204\223\331\207\174\114\124\023\353\237\321\055\021\370 +\030\072\072\336\045\331\367\323\100\355\244\006\022\304\073\341 +\221\301\126\065\360\024\334\145\066\011\156\253\244\007\307\065 +\321\302\003\063\066\133\165\046\155\102\361\022\153\103\157\113 +\161\224\372\064\035\355\023\156\312\200\177\230\057\154\271\145 +\330\351\002\003\001\000\001\243\201\324\060\201\321\060\035\006 +\003\125\035\016\004\026\004\024\071\225\213\142\213\134\311\324 +\200\272\130\017\227\077\025\010\103\314\230\247\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\221\006\003\125 +\035\043\004\201\211\060\201\206\200\024\071\225\213\142\213\134 +\311\324\200\272\130\017\227\077\025\010\103\314\230\247\241\153 +\244\151\060\147\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\043\060\041\006\003\125\004\003\023 +\032\101\144\144\124\162\165\163\164\040\121\165\141\154\151\146 +\151\145\144\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\031\253\165\352\370\213\145\141\225\023\272\151\004\357 +\206\312\023\240\307\252\117\144\033\077\030\366\250\055\054\125 +\217\005\267\060\352\102\152\035\300\045\121\055\247\277\014\263 +\355\357\010\177\154\074\106\032\352\030\103\337\166\314\371\146 +\206\234\054\150\365\351\027\370\061\263\030\304\326\110\175\043 +\114\150\301\176\273\001\024\157\305\331\156\336\273\004\102\152 +\370\366\134\175\345\332\372\207\353\015\065\122\147\320\236\227 +\166\005\223\077\225\307\001\346\151\125\070\177\020\141\231\311 +\343\137\246\312\076\202\143\110\252\342\010\110\076\252\362\262 +\205\142\246\264\247\331\275\067\234\150\265\055\126\175\260\267 +\077\240\261\007\326\351\117\334\336\105\161\060\062\177\033\056 +\011\371\277\122\241\356\302\200\076\006\134\056\125\100\301\033 +\365\160\105\260\334\135\372\366\162\132\167\322\143\315\317\130 +\211\000\102\143\077\171\071\320\104\260\202\156\101\031\350\335 +\340\301\210\132\321\036\161\223\037\044\060\164\345\036\250\336 +\074\047\067\177\203\256\236\167\317\360\060\261\377\113\231\350 +\306\241 +END + +# Trust for Certificate "AddTrust Qualified Certificates Root" +CKA_CLASS CK_OBJECT_CLASS 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 Qualified Certificates Root" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\115\043\170\354\221\225\071\265\000\177\165\217\003\073\041\036 +\305\115\213\317 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\047\354\071\107\315\332\132\257\342\232\001\145\041\251\114\273 +END +CKA_ISSUER MULTILINE_OCTAL +\060\147\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\043\060\041\006\003\125\004\003\023\032\101 +\144\144\124\162\165\163\164\040\121\165\141\154\151\146\151\145 +\144\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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Entrust Root Certification Authority" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "Entrust Root Certification Authority" +CKA_CLASS CK_OBJECT_CLASS 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_TRUST_UNKNOWN +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "RSA Security 2048 v3" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "RSA Security 2048 v3" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\072\061\031\060\027\006\003\125\004\012\023\020\122\123\101 +\040\123\145\143\165\162\151\164\171\040\111\156\143\061\035\060 +\033\006\003\125\004\013\023\024\122\123\101\040\123\145\143\165 +\162\151\164\171\040\062\060\064\070\040\126\063 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\072\061\031\060\027\006\003\125\004\012\023\020\122\123\101 +\040\123\145\143\165\162\151\164\171\040\111\156\143\061\035\060 +\033\006\003\125\004\013\023\024\122\123\101\040\123\145\143\165 +\162\151\164\171\040\062\060\064\070\040\126\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\012\001\001\001\000\000\002\174\000\000\000\012\000\000 +\000\002 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\141\060\202\002\111\240\003\002\001\002\002\020\012 +\001\001\001\000\000\002\174\000\000\000\012\000\000\000\002\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\072 +\061\031\060\027\006\003\125\004\012\023\020\122\123\101\040\123 +\145\143\165\162\151\164\171\040\111\156\143\061\035\060\033\006 +\003\125\004\013\023\024\122\123\101\040\123\145\143\165\162\151 +\164\171\040\062\060\064\070\040\126\063\060\036\027\015\060\061 +\060\062\062\062\062\060\063\071\062\063\132\027\015\062\066\060 +\062\062\062\062\060\063\071\062\063\132\060\072\061\031\060\027 +\006\003\125\004\012\023\020\122\123\101\040\123\145\143\165\162 +\151\164\171\040\111\156\143\061\035\060\033\006\003\125\004\013 +\023\024\122\123\101\040\123\145\143\165\162\151\164\171\040\062 +\060\064\070\040\126\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\267\217\125\161\322\200\335\173\151 +\171\247\360\030\120\062\074\142\147\366\012\225\007\335\346\033 +\363\236\331\322\101\124\153\255\237\174\276\031\315\373\106\253 +\101\150\036\030\352\125\310\057\221\170\211\050\373\047\051\140 +\377\337\217\214\073\311\111\233\265\244\224\316\001\352\076\265 +\143\173\177\046\375\031\335\300\041\275\204\321\055\117\106\303 +\116\334\330\067\071\073\050\257\313\235\032\352\053\257\041\245 +\301\043\042\270\270\033\132\023\207\127\203\321\360\040\347\350 +\117\043\102\260\000\245\175\211\351\351\141\163\224\230\161\046 +\274\055\152\340\367\115\360\361\266\052\070\061\201\015\051\341 +\000\301\121\017\114\122\370\004\132\252\175\162\323\270\207\052 +\273\143\020\003\052\263\241\117\015\132\136\106\267\075\016\365 +\164\354\231\237\371\075\044\201\210\246\335\140\124\350\225\066 +\075\306\011\223\232\243\022\200\000\125\231\031\107\275\320\245 +\174\303\272\373\037\367\365\017\370\254\271\265\364\067\230\023 +\030\336\205\133\267\014\202\073\207\157\225\071\130\060\332\156 +\001\150\027\042\314\300\013\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\007\303 +\121\060\244\252\351\105\256\065\044\372\377\044\054\063\320\261 +\235\214\060\035\006\003\125\035\016\004\026\004\024\007\303\121 +\060\244\252\351\105\256\065\044\372\377\044\054\063\320\261\235 +\214\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000 +\003\202\001\001\000\137\076\206\166\156\270\065\074\116\066\034 +\036\171\230\277\375\325\022\021\171\122\016\356\061\211\274\335 +\177\371\321\306\025\041\350\212\001\124\015\072\373\124\271\326 +\143\324\261\252\226\115\242\102\115\324\123\037\213\020\336\177 +\145\276\140\023\047\161\210\244\163\343\204\143\321\244\125\341 +\120\223\346\033\016\171\320\147\274\106\310\277\077\027\015\225 +\346\306\220\151\336\347\264\057\336\225\175\320\022\077\075\076 +\177\115\077\024\150\365\021\120\325\301\364\220\245\010\035\061 +\140\377\140\214\043\124\012\257\376\241\156\305\321\172\052\150 +\170\317\036\202\012\040\264\037\255\345\205\262\152\150\165\116 +\255\045\067\224\205\276\275\241\324\352\267\014\113\074\235\350 +\022\000\360\137\254\015\341\254\160\143\163\367\177\171\237\062 +\045\102\164\005\200\050\277\275\301\044\226\130\025\261\027\041 +\351\211\113\333\007\210\147\364\025\255\160\076\057\115\205\073 +\302\267\333\376\230\150\043\211\341\164\017\336\364\305\204\143 +\051\033\314\313\007\311\000\244\251\327\302\042\117\147\327\167 +\354\040\005\141\336 +END + +# Trust for Certificate "RSA Security 2048 v3" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "RSA Security 2048 v3" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\045\001\220\031\317\373\331\231\034\267\150\045\164\215\224\137 +\060\223\225\102 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\167\015\031\261\041\375\000\102\234\076\014\245\335\013\002\216 +END +CKA_ISSUER MULTILINE_OCTAL +\060\072\061\031\060\027\006\003\125\004\012\023\020\122\123\101 +\040\123\145\143\165\162\151\164\171\040\111\156\143\061\035\060 +\033\006\003\125\004\013\023\024\122\123\101\040\123\145\143\165 +\162\151\164\171\040\062\060\064\070\040\126\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\012\001\001\001\000\000\002\174\000\000\000\012\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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "GeoTrust Global 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 "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 + +# Trust for Certificate "GeoTrust Global 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 "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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "GeoTrust Global CA 2" +# +CKA_CLASS CK_OBJECT_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 2" +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 +\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165 +\163\164\040\111\156\143\056\061\035\060\033\006\003\125\004\003 +\023\024\107\145\157\124\162\165\163\164\040\107\154\157\142\141 +\154\040\103\101\040\062 +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 +\026\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165 +\163\164\040\111\156\143\056\061\035\060\033\006\003\125\004\003 +\023\024\107\145\157\124\162\165\163\164\040\107\154\157\142\141 +\154\040\103\101\040\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\146\060\202\002\116\240\003\002\001\002\002\001\001 +\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\026 +\060\024\006\003\125\004\012\023\015\107\145\157\124\162\165\163 +\164\040\111\156\143\056\061\035\060\033\006\003\125\004\003\023 +\024\107\145\157\124\162\165\163\164\040\107\154\157\142\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\061\071\060\063\060\064\060\065 +\060\060\060\060\132\060\104\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\035\060\033 +\006\003\125\004\003\023\024\107\145\157\124\162\165\163\164\040 +\107\154\157\142\141\154\040\103\101\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\357\074\115\100 +\075\020\337\073\123\000\341\147\376\224\140\025\076\205\210\361 +\211\015\220\310\050\043\231\005\350\053\040\235\306\363\140\106 +\330\301\262\325\214\061\331\334\040\171\044\201\277\065\062\374 +\143\151\333\261\052\153\356\041\130\362\010\351\170\313\157\313 +\374\026\122\310\221\304\377\075\163\336\261\076\247\302\175\146 +\301\365\176\122\044\032\342\325\147\221\320\202\020\327\170\113 +\117\053\102\071\275\144\055\100\240\260\020\323\070\110\106\210 +\241\014\273\072\063\052\142\230\373\000\235\023\131\177\157\073 +\162\252\356\246\017\206\371\005\141\352\147\177\014\067\226\213 +\346\151\026\107\021\302\047\131\003\263\246\140\302\041\100\126 +\372\240\307\175\072\023\343\354\127\307\263\326\256\235\211\200 +\367\001\347\054\366\226\053\023\015\171\054\331\300\344\206\173 +\113\214\014\162\202\212\373\027\315\000\154\072\023\074\260\204 +\207\113\026\172\051\262\117\333\035\324\013\363\146\067\275\330 +\366\127\273\136\044\172\270\074\213\271\372\222\032\032\204\236 +\330\164\217\252\033\177\136\364\376\105\042\041\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\161\070\066\362\002\061\123\107\053\156\272\145\106\251\020 +\025\130\040\005\011\060\037\006\003\125\035\043\004\030\060\026 +\200\024\161\070\066\362\002\061\123\107\053\156\272\145\106\251 +\020\025\130\040\005\011\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\001\001\000\003\367\265\053\253\135 +\020\374\173\262\262\136\254\233\016\176\123\170\131\076\102\004 +\376\165\243\255\254\201\116\327\002\213\136\304\055\310\122\166 +\307\054\037\374\201\062\230\321\113\306\222\223\063\065\061\057 +\374\330\035\104\335\340\201\177\235\351\213\341\144\221\142\013 +\071\010\214\254\164\235\131\331\172\131\122\227\021\271\026\173 +\157\105\323\226\331\061\175\002\066\017\234\073\156\317\054\015 +\003\106\105\353\240\364\177\110\104\306\010\100\314\336\033\160 +\265\051\255\272\213\073\064\145\165\033\161\041\035\054\024\012 +\260\226\225\270\326\352\362\145\373\051\272\117\352\221\223\164 +\151\266\362\377\341\032\320\014\321\166\205\313\212\045\275\227 +\136\054\157\025\231\046\347\266\051\377\042\354\311\002\307\126 +\000\315\111\271\263\154\173\123\004\032\342\250\311\252\022\005 +\043\302\316\347\273\004\002\314\300\107\242\344\304\051\057\133 +\105\127\211\121\356\074\353\122\010\377\007\065\036\237\065\152 +\107\112\126\230\321\132\205\037\214\365\042\277\253\316\203\363 +\342\042\051\256\175\203\100\250\272\154 +END + +# Trust for Certificate "GeoTrust Global CA 2" +CKA_CLASS CK_OBJECT_CLASS 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 2" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\251\351\170\010\024\067\130\210\362\005\031\260\155\053\015\053 +\140\026\220\175 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\016\100\247\154\336\003\135\217\321\017\344\321\215\371\154\251 +END +CKA_ISSUER MULTILINE_OCTAL +\060\104\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\035\060\033\006\003\125\004\003 +\023\024\107\145\157\124\162\165\163\164\040\107\154\157\142\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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "GeoTrust Universal 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 "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 + +# Trust for Certificate "GeoTrust Universal 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 "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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "GeoTrust Universal CA 2" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "GeoTrust Universal CA 2" +CKA_CLASS CK_OBJECT_CLASS 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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "UTN-USER First-Network Applications" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "UTN-USER First-Network Applications" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\243\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060 +\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153 +\145\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\041\060\037\006\003\125\004\013\023 +\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162 +\164\162\165\163\164\056\143\157\155\061\053\060\051\006\003\125 +\004\003\023\042\125\124\116\055\125\123\105\122\106\151\162\163 +\164\055\116\145\164\167\157\162\153\040\101\160\160\154\151\143 +\141\164\151\157\156\163 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\243\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060 +\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153 +\145\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\041\060\037\006\003\125\004\013\023 +\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162 +\164\162\165\163\164\056\143\157\155\061\053\060\051\006\003\125 +\004\003\023\042\125\124\116\055\125\123\105\122\106\151\162\163 +\164\055\116\145\164\167\157\162\153\040\101\160\160\154\151\143 +\141\164\151\157\156\163 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\104\276\014\213\120\000\044\264\021\323\066\060\113\300 +\063\167 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\144\060\202\003\114\240\003\002\001\002\002\020\104 +\276\014\213\120\000\044\264\021\323\066\060\113\300\063\167\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201 +\243\061\013\060\011\006\003\125\004\006\023\002\125\123\061\013 +\060\011\006\003\125\004\010\023\002\125\124\061\027\060\025\006 +\003\125\004\007\023\016\123\141\154\164\040\114\141\153\145\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\041\060\037\006\003\125\004\013\023\030\150 +\164\164\160\072\057\057\167\167\167\056\165\163\145\162\164\162 +\165\163\164\056\143\157\155\061\053\060\051\006\003\125\004\003 +\023\042\125\124\116\055\125\123\105\122\106\151\162\163\164\055 +\116\145\164\167\157\162\153\040\101\160\160\154\151\143\141\164 +\151\157\156\163\060\036\027\015\071\071\060\067\060\071\061\070 +\064\070\063\071\132\027\015\061\071\060\067\060\071\061\070\065 +\067\064\071\132\060\201\243\061\013\060\011\006\003\125\004\006 +\023\002\125\123\061\013\060\011\006\003\125\004\010\023\002\125 +\124\061\027\060\025\006\003\125\004\007\023\016\123\141\154\164 +\040\114\141\153\145\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\041\060\037\006\003 +\125\004\013\023\030\150\164\164\160\072\057\057\167\167\167\056 +\165\163\145\162\164\162\165\163\164\056\143\157\155\061\053\060 +\051\006\003\125\004\003\023\042\125\124\116\055\125\123\105\122 +\106\151\162\163\164\055\116\145\164\167\157\162\153\040\101\160 +\160\154\151\143\141\164\151\157\156\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\263\373\221\241\344 +\066\125\205\254\006\064\133\240\232\130\262\370\265\017\005\167 +\203\256\062\261\166\222\150\354\043\112\311\166\077\343\234\266 +\067\171\003\271\253\151\215\007\045\266\031\147\344\260\033\030 +\163\141\112\350\176\315\323\057\144\343\246\174\014\372\027\200 +\243\015\107\211\117\121\161\057\356\374\077\371\270\026\200\207 +\211\223\045\040\232\103\202\151\044\166\050\131\065\241\035\300 +\177\203\006\144\026\040\054\323\111\244\205\264\300\141\177\121 +\010\370\150\025\221\200\313\245\325\356\073\072\364\204\004\136 +\140\131\247\214\064\162\356\270\170\305\321\073\022\112\157\176 +\145\047\271\244\125\305\271\157\103\244\305\035\054\231\300\122 +\244\170\114\025\263\100\230\010\153\103\306\001\260\172\173\365 +\153\034\042\077\313\357\377\250\320\072\113\166\025\236\322\321 +\306\056\343\333\127\033\062\242\270\157\350\206\246\077\160\253 +\345\160\222\253\104\036\100\120\373\234\243\142\344\154\156\240 +\310\336\342\200\102\372\351\057\350\316\062\004\217\174\215\267 +\034\243\065\074\025\335\236\303\256\227\245\002\003\001\000\001 +\243\201\221\060\201\216\060\013\006\003\125\035\017\004\004\003 +\002\001\306\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\372 +\206\311\333\340\272\351\170\365\113\250\326\025\337\360\323\341 +\152\024\074\060\117\006\003\125\035\037\004\110\060\106\060\104 +\240\102\240\100\206\076\150\164\164\160\072\057\057\143\162\154 +\056\165\163\145\162\164\162\165\163\164\056\143\157\155\057\125 +\124\116\055\125\123\105\122\106\151\162\163\164\055\116\145\164 +\167\157\162\153\101\160\160\154\151\143\141\164\151\157\156\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\244\363\045\314\321\324\221\203 +\042\320\314\062\253\233\226\116\064\221\124\040\045\064\141\137 +\052\002\025\341\213\252\377\175\144\121\317\012\377\274\175\330 +\041\152\170\313\057\121\157\370\102\035\063\275\353\265\173\224 +\303\303\251\240\055\337\321\051\037\035\376\217\077\273\250\105 +\052\177\321\156\125\044\342\273\002\373\061\077\276\350\274\354 +\100\053\370\001\324\126\070\344\312\104\202\265\141\040\041\147 +\145\366\360\013\347\064\370\245\302\234\243\134\100\037\205\223 +\225\006\336\117\324\047\251\266\245\374\026\315\163\061\077\270 +\145\047\317\324\123\032\360\254\156\237\117\005\014\003\201\247 +\204\051\304\132\275\144\127\162\255\073\317\067\030\246\230\306 +\255\006\264\334\010\243\004\325\051\244\226\232\022\147\112\214 +\140\105\235\361\043\232\260\000\234\150\265\230\120\323\357\216 +\056\222\145\261\110\076\041\276\025\060\052\015\265\014\243\153 +\077\256\177\127\365\037\226\174\337\157\335\202\060\054\145\033 +\100\112\315\150\271\162\354\161\166\354\124\216\037\205\014\001 +\152\372\246\070\254\037\304\204 +END + +# Trust for Certificate "UTN-USER First-Network Applications" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "UTN-USER First-Network Applications" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\135\230\234\333\025\226\021\066\121\145\144\033\126\017\333\352 +\052\302\076\361 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\277\140\131\243\133\272\366\247\166\102\332\157\032\173\120\317 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\243\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060 +\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153 +\145\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\041\060\037\006\003\125\004\013\023 +\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162 +\164\162\165\163\164\056\143\157\155\061\053\060\051\006\003\125 +\004\003\023\042\125\124\116\055\125\123\105\122\106\151\162\163 +\164\055\116\145\164\167\157\162\153\040\101\160\160\154\151\143 +\141\164\151\157\156\163 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\104\276\014\213\120\000\044\264\021\323\066\060\113\300 +\063\167 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "America Online Root Certification Authority 1" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "America Online Root Certification Authority 1" +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 +\034\060\032\006\003\125\004\012\023\023\101\155\145\162\151\143 +\141\040\117\156\154\151\156\145\040\111\156\143\056\061\066\060 +\064\006\003\125\004\003\023\055\101\155\145\162\151\143\141\040 +\117\156\154\151\156\145\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\061 +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 +\034\060\032\006\003\125\004\012\023\023\101\155\145\162\151\143 +\141\040\117\156\154\151\156\145\040\111\156\143\056\061\066\060 +\064\006\003\125\004\003\023\055\101\155\145\162\151\143\141\040 +\117\156\154\151\156\145\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\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\244\060\202\002\214\240\003\002\001\002\002\001\001 +\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\034 +\060\032\006\003\125\004\012\023\023\101\155\145\162\151\143\141 +\040\117\156\154\151\156\145\040\111\156\143\056\061\066\060\064 +\006\003\125\004\003\023\055\101\155\145\162\151\143\141\040\117 +\156\154\151\156\145\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\061\060\036\027\015\060\062\060\065\062\070\060\066 +\060\060\060\060\132\027\015\063\067\061\061\061\071\062\060\064 +\063\060\060\132\060\143\061\013\060\011\006\003\125\004\006\023 +\002\125\123\061\034\060\032\006\003\125\004\012\023\023\101\155 +\145\162\151\143\141\040\117\156\154\151\156\145\040\111\156\143 +\056\061\066\060\064\006\003\125\004\003\023\055\101\155\145\162 +\151\143\141\040\117\156\154\151\156\145\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\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\250\057\350\244\151\006 +\003\107\303\351\052\230\377\031\242\160\232\306\120\262\176\245 +\337\150\115\033\174\017\266\227\150\175\055\246\213\227\351\144 +\206\311\243\357\240\206\277\140\145\234\113\124\210\302\110\305 +\112\071\277\024\343\131\125\345\031\264\164\310\264\005\071\134 +\026\245\342\225\005\340\022\256\131\213\242\063\150\130\034\246 +\324\025\267\330\237\327\334\161\253\176\232\277\233\216\063\017 +\042\375\037\056\347\007\066\357\142\071\305\335\313\272\045\024 +\043\336\014\306\075\074\316\202\010\346\146\076\332\121\073\026 +\072\243\005\177\240\334\207\325\234\374\162\251\240\175\170\344 +\267\061\125\036\145\273\324\141\260\041\140\355\020\062\162\305 +\222\045\036\370\220\112\030\170\107\337\176\060\067\076\120\033 +\333\034\323\153\232\206\123\007\260\357\254\006\170\370\204\231 +\376\041\215\114\200\266\014\202\366\146\160\171\032\323\117\243 +\317\361\317\106\260\113\017\076\335\210\142\270\214\251\011\050 +\073\172\307\227\341\036\345\364\237\300\300\256\044\240\310\241 +\331\017\326\173\046\202\151\062\075\247\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\000 +\255\331\243\366\171\366\156\164\251\177\063\075\201\027\327\114 +\317\063\336\060\037\006\003\125\035\043\004\030\060\026\200\024 +\000\255\331\243\366\171\366\156\164\251\177\063\075\201\027\327 +\114\317\063\336\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\001\001\000\174\212\321\037\030\067\202\340 +\270\260\243\355\126\225\310\142\141\234\005\242\315\302\142\046 +\141\315\020\026\327\314\264\145\064\320\021\212\255\250\251\005 +\146\357\164\363\155\137\235\231\257\366\213\373\353\122\262\005 +\230\242\157\052\305\124\275\045\275\137\256\310\206\352\106\054 +\301\263\275\301\351\111\160\030\026\227\010\023\214\040\340\033 +\056\072\107\313\036\344\000\060\225\133\364\105\243\300\032\260 +\001\116\253\275\300\043\156\143\077\200\112\305\007\355\334\342 +\157\307\301\142\361\343\162\326\004\310\164\147\013\372\210\253 +\241\001\310\157\360\024\257\322\231\315\121\223\176\355\056\070 +\307\275\316\106\120\075\162\343\171\045\235\233\210\053\020\040 +\335\245\270\062\237\215\340\051\337\041\164\206\202\333\057\202 +\060\306\307\065\206\263\371\226\137\106\333\014\105\375\363\120 +\303\157\306\303\110\255\106\246\341\047\107\012\035\016\233\266 +\302\167\177\143\362\340\175\032\276\374\340\337\327\307\247\154 +\260\371\256\272\074\375\164\264\021\350\130\015\200\274\323\250 +\200\072\231\355\165\314\106\173 +END + +# Trust for Certificate "America Online Root Certification Authority 1" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "America Online Root Certification Authority 1" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\071\041\301\025\301\135\016\312\134\313\133\304\360\175\041\330 +\005\013\126\152 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\024\361\010\255\235\372\144\342\211\347\034\317\250\255\175\136 +END +CKA_ISSUER MULTILINE_OCTAL +\060\143\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\034\060\032\006\003\125\004\012\023\023\101\155\145\162\151\143 +\141\040\117\156\154\151\156\145\040\111\156\143\056\061\066\060 +\064\006\003\125\004\003\023\055\101\155\145\162\151\143\141\040 +\117\156\154\151\156\145\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\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_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "America Online Root Certification Authority 2" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "America Online Root Certification Authority 2" +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 +\034\060\032\006\003\125\004\012\023\023\101\155\145\162\151\143 +\141\040\117\156\154\151\156\145\040\111\156\143\056\061\066\060 +\064\006\003\125\004\003\023\055\101\155\145\162\151\143\141\040 +\117\156\154\151\156\145\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\062 +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 +\034\060\032\006\003\125\004\012\023\023\101\155\145\162\151\143 +\141\040\117\156\154\151\156\145\040\111\156\143\056\061\066\060 +\064\006\003\125\004\003\023\055\101\155\145\162\151\143\141\040 +\117\156\154\151\156\145\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\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\244\060\202\003\214\240\003\002\001\002\002\001\001 +\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\034 +\060\032\006\003\125\004\012\023\023\101\155\145\162\151\143\141 +\040\117\156\154\151\156\145\040\111\156\143\056\061\066\060\064 +\006\003\125\004\003\023\055\101\155\145\162\151\143\141\040\117 +\156\154\151\156\145\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\062\060\036\027\015\060\062\060\065\062\070\060\066 +\060\060\060\060\132\027\015\063\067\060\071\062\071\061\064\060 +\070\060\060\132\060\143\061\013\060\011\006\003\125\004\006\023 +\002\125\123\061\034\060\032\006\003\125\004\012\023\023\101\155 +\145\162\151\143\141\040\117\156\154\151\156\145\040\111\156\143 +\056\061\066\060\064\006\003\125\004\003\023\055\101\155\145\162 +\151\143\141\040\117\156\154\151\156\145\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\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\314\101\105\035\351\075 +\115\020\366\214\261\101\311\340\136\313\015\267\277\107\163\323 +\360\125\115\335\306\014\372\261\146\005\152\315\170\264\334\002 +\333\116\201\363\327\247\174\161\274\165\143\240\135\343\007\014 +\110\354\045\304\003\040\364\377\016\073\022\377\233\215\341\306 +\325\033\264\155\042\343\261\333\177\041\144\257\206\274\127\042 +\052\326\107\201\127\104\202\126\123\275\206\024\001\013\374\177 +\164\244\132\256\361\272\021\265\233\130\132\200\264\067\170\011 +\063\174\062\107\003\134\304\245\203\110\364\127\126\156\201\066 +\047\030\117\354\233\050\302\324\264\327\174\014\076\014\053\337 +\312\004\327\306\216\352\130\116\250\244\245\030\034\154\105\230 +\243\101\321\055\322\307\155\215\031\361\255\171\267\201\077\275 +\006\202\047\055\020\130\005\265\170\005\271\057\333\014\153\220 +\220\176\024\131\070\273\224\044\023\345\321\235\024\337\323\202 +\115\106\360\200\071\122\062\017\343\204\262\172\103\362\136\336 +\137\077\035\335\343\262\033\240\241\052\043\003\156\056\001\025 +\207\134\246\165\165\307\227\141\276\336\206\334\324\110\333\275 +\052\277\112\125\332\350\175\120\373\264\200\027\270\224\277\001 +\075\352\332\272\174\340\130\147\027\271\130\340\210\206\106\147 +\154\235\020\107\130\062\320\065\174\171\052\220\242\132\020\021 +\043\065\255\057\314\344\112\133\247\310\047\362\203\336\136\273 +\136\167\347\350\245\156\143\302\015\135\141\320\214\322\154\132 +\041\016\312\050\243\316\052\351\225\307\110\317\226\157\035\222 +\045\310\306\306\301\301\014\005\254\046\304\322\165\322\341\052 +\147\300\075\133\245\232\353\317\173\032\250\235\024\105\345\017 +\240\232\145\336\057\050\275\316\157\224\146\203\110\051\330\352 +\145\214\257\223\331\144\237\125\127\046\277\157\313\067\061\231 +\243\140\273\034\255\211\064\062\142\270\103\041\006\162\014\241 +\134\155\106\305\372\051\317\060\336\211\334\161\133\335\266\067 +\076\337\120\365\270\007\045\046\345\274\265\376\074\002\263\267 +\370\276\103\301\207\021\224\236\043\154\027\212\270\212\047\014 +\124\107\360\251\263\300\200\214\240\047\353\035\031\343\007\216 +\167\160\312\053\364\175\166\340\170\147\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\115 +\105\301\150\070\273\163\251\151\241\040\347\355\365\042\241\043 +\024\327\236\060\037\006\003\125\035\043\004\030\060\026\200\024 +\115\105\301\150\070\273\163\251\151\241\040\347\355\365\042\241 +\043\024\327\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 +\005\005\000\003\202\002\001\000\147\153\006\271\137\105\073\052 +\113\063\263\346\033\153\131\116\042\314\271\267\244\045\311\247 +\304\360\124\226\013\144\363\261\130\117\136\121\374\262\227\173 +\047\145\302\345\312\347\015\014\045\173\142\343\372\237\264\207 +\267\105\106\257\203\245\227\110\214\245\275\361\026\053\233\166 +\054\172\065\140\154\021\200\227\314\251\222\122\346\053\346\151 +\355\251\370\066\055\054\167\277\141\110\321\143\013\271\133\122 +\355\030\260\103\102\042\246\261\167\256\336\151\305\315\307\034 +\241\261\245\034\020\373\030\276\032\160\335\301\222\113\276\051 +\132\235\077\065\276\345\175\121\370\125\340\045\165\043\207\036 +\134\334\272\235\260\254\263\151\333\027\203\311\367\336\014\274 +\010\334\221\236\250\320\327\025\067\163\245\065\270\374\176\305 +\104\100\006\303\353\370\042\200\134\107\316\002\343\021\237\104 +\377\375\232\062\314\175\144\121\016\353\127\046\166\072\343\036 +\042\074\302\246\066\335\031\357\247\374\022\363\046\300\131\061 +\205\114\234\330\317\337\244\314\314\051\223\377\224\155\166\134 +\023\010\227\362\355\245\013\115\335\350\311\150\016\146\323\000 +\016\063\022\133\274\225\345\062\220\250\263\306\154\203\255\167 +\356\213\176\176\261\251\253\323\341\361\266\300\261\352\210\300 +\347\323\220\351\050\222\224\173\150\173\227\052\012\147\055\205 +\002\070\020\344\003\141\324\332\045\066\307\010\130\055\241\247 +\121\257\060\012\111\365\246\151\207\007\055\104\106\166\216\052 +\345\232\073\327\030\242\374\234\070\020\314\306\073\322\265\027 +\072\157\375\256\045\275\365\162\131\144\261\164\052\070\137\030 +\114\337\317\161\004\132\066\324\277\057\231\234\350\331\272\261 +\225\346\002\113\041\241\133\325\301\117\217\256\151\155\123\333 +\001\223\265\134\036\030\335\144\132\312\030\050\076\143\004\021 +\375\034\215\000\017\270\067\337\147\212\235\146\251\002\152\221 +\377\023\312\057\135\203\274\207\223\154\334\044\121\026\004\045 +\146\372\263\331\302\272\051\276\232\110\070\202\231\364\277\073 +\112\061\031\371\277\216\041\063\024\312\117\124\137\373\316\373 +\217\161\177\375\136\031\240\017\113\221\270\304\124\274\006\260 +\105\217\046\221\242\216\376\251 +END + +# Trust for Certificate "America Online Root Certification Authority 2" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "America Online Root Certification Authority 2" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\205\265\377\147\233\014\171\226\037\310\156\104\042\000\106\023 +\333\027\222\204 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\326\355\074\312\342\146\017\257\020\103\015\167\233\004\011\277 +END +CKA_ISSUER MULTILINE_OCTAL +\060\143\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\034\060\032\006\003\125\004\012\023\023\101\155\145\162\151\143 +\141\040\117\156\154\151\156\145\040\111\156\143\056\061\066\060 +\064\006\003\125\004\003\023\055\101\155\145\162\151\143\141\040 +\117\156\154\151\156\145\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\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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Visa eCommerce Root" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Visa eCommerce Root" +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\125\123\061 +\015\060\013\006\003\125\004\012\023\004\126\111\123\101\061\057 +\060\055\006\003\125\004\013\023\046\126\151\163\141\040\111\156 +\164\145\162\156\141\164\151\157\156\141\154\040\123\145\162\166 +\151\143\145\040\101\163\163\157\143\151\141\164\151\157\156\061 +\034\060\032\006\003\125\004\003\023\023\126\151\163\141\040\145 +\103\157\155\155\145\162\143\145\040\122\157\157\164 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\153\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\015\060\013\006\003\125\004\012\023\004\126\111\123\101\061\057 +\060\055\006\003\125\004\013\023\046\126\151\163\141\040\111\156 +\164\145\162\156\141\164\151\157\156\141\154\040\123\145\162\166 +\151\143\145\040\101\163\163\157\143\151\141\164\151\157\156\061 +\034\060\032\006\003\125\004\003\023\023\126\151\163\141\040\145 +\103\157\155\155\145\162\143\145\040\122\157\157\164 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\023\206\065\115\035\077\006\362\301\371\145\005\325\220 +\034\142 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\242\060\202\002\212\240\003\002\001\002\002\020\023 +\206\065\115\035\077\006\362\301\371\145\005\325\220\034\142\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\153 +\061\013\060\011\006\003\125\004\006\023\002\125\123\061\015\060 +\013\006\003\125\004\012\023\004\126\111\123\101\061\057\060\055 +\006\003\125\004\013\023\046\126\151\163\141\040\111\156\164\145 +\162\156\141\164\151\157\156\141\154\040\123\145\162\166\151\143 +\145\040\101\163\163\157\143\151\141\164\151\157\156\061\034\060 +\032\006\003\125\004\003\023\023\126\151\163\141\040\145\103\157 +\155\155\145\162\143\145\040\122\157\157\164\060\036\027\015\060 +\062\060\066\062\066\060\062\061\070\063\066\132\027\015\062\062 +\060\066\062\064\060\060\061\066\061\062\132\060\153\061\013\060 +\011\006\003\125\004\006\023\002\125\123\061\015\060\013\006\003 +\125\004\012\023\004\126\111\123\101\061\057\060\055\006\003\125 +\004\013\023\046\126\151\163\141\040\111\156\164\145\162\156\141 +\164\151\157\156\141\154\040\123\145\162\166\151\143\145\040\101 +\163\163\157\143\151\141\164\151\157\156\061\034\060\032\006\003 +\125\004\003\023\023\126\151\163\141\040\145\103\157\155\155\145 +\162\143\145\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\257\127\336\126\036\156\241 +\332\140\261\224\047\313\027\333\007\077\200\205\117\310\234\266 +\320\364\157\117\317\231\330\341\333\302\110\134\072\254\071\063 +\307\037\152\213\046\075\053\065\365\110\261\221\301\002\116\004 +\226\221\173\260\063\360\261\024\116\021\157\265\100\257\033\105 +\245\112\357\176\266\254\362\240\037\130\077\022\106\140\074\215 +\241\340\175\317\127\076\063\036\373\107\361\252\025\227\007\125 +\146\245\265\055\056\330\200\131\262\247\015\267\106\354\041\143 +\377\065\253\245\002\317\052\364\114\376\173\365\224\135\204\115 +\250\362\140\217\333\016\045\074\237\163\161\317\224\337\112\352 +\333\337\162\070\214\363\226\275\361\027\274\322\272\073\105\132 +\306\247\366\306\027\213\001\235\374\031\250\052\203\026\270\072 +\110\376\116\076\240\253\006\031\351\123\363\200\023\007\355\055 +\277\077\012\074\125\040\071\054\054\000\151\164\225\112\274\040 +\262\251\171\345\030\211\221\250\334\034\115\357\273\176\067\013 +\135\376\071\245\210\122\214\000\154\354\030\174\101\275\366\213 +\165\167\272\140\235\204\347\376\055\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\025\070 +\203\017\077\054\077\160\063\036\315\106\376\007\214\040\340\327 +\303\267\060\015\006\011\052\206\110\206\367\015\001\001\005\005 +\000\003\202\001\001\000\137\361\101\175\174\134\010\271\053\340 +\325\222\107\372\147\134\245\023\303\003\041\233\053\114\211\106 +\317\131\115\311\376\245\100\266\143\315\335\161\050\225\147\021 +\314\044\254\323\104\154\161\256\001\040\153\003\242\217\030\267 +\051\072\175\345\026\140\123\170\074\300\257\025\203\367\217\122 +\063\044\275\144\223\227\356\213\367\333\030\250\155\161\263\367 +\054\027\320\164\045\151\367\376\153\074\224\276\115\113\101\214 +\116\342\163\320\343\220\042\163\103\315\363\357\352\163\316\105 +\212\260\246\111\377\114\175\235\161\210\304\166\035\220\133\035 +\356\375\314\367\356\375\140\245\261\172\026\161\321\026\320\174 +\022\074\154\151\227\333\256\137\071\232\160\057\005\074\031\106 +\004\231\040\066\320\140\156\141\006\273\026\102\214\160\367\060 +\373\340\333\146\243\000\001\275\346\054\332\221\137\240\106\213 +\115\152\234\075\075\335\005\106\376\166\277\240\012\074\344\000 +\346\047\267\377\204\055\336\272\042\047\226\020\161\353\042\355 +\337\337\063\234\317\343\255\256\216\324\216\346\117\121\257\026 +\222\340\134\366\007\017 +END + +# Trust for Certificate "Visa eCommerce Root" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Visa eCommerce Root" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\160\027\233\206\214\000\244\372\140\221\122\042\077\237\076\062 +\275\340\005\142 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\374\021\270\330\010\223\060\000\155\043\371\176\353\122\036\002 +END +CKA_ISSUER MULTILINE_OCTAL +\060\153\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\015\060\013\006\003\125\004\012\023\004\126\111\123\101\061\057 +\060\055\006\003\125\004\013\023\046\126\151\163\141\040\111\156 +\164\145\162\156\141\164\151\157\156\141\154\040\123\145\162\166 +\151\143\145\040\101\163\163\157\143\151\141\164\151\157\156\061 +\034\060\032\006\003\125\004\003\023\023\126\151\163\141\040\145 +\103\157\155\155\145\162\143\145\040\122\157\157\164 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\023\206\065\115\035\077\006\362\301\371\145\005\325\220 +\034\142 +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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Certum Root 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 "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 + +# Trust for Certificate "Certum Root 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 "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_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Comodo AAA Services root" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "Comodo AAA Services root" +CKA_CLASS CK_OBJECT_CLASS 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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Comodo Secure Services root" +# +CKA_CLASS CK_OBJECT_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 Secure Services root" +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\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\044\060\042\006\003 +\125\004\003\014\033\123\145\143\165\162\145\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\176\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\044\060\042\006\003 +\125\004\003\014\033\123\145\143\165\162\145\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\077\060\202\003\047\240\003\002\001\002\002\001\001 +\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\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\044\060\042\006\003\125 +\004\003\014\033\123\145\143\165\162\145\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 +\176\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\044\060\042\006\003\125 +\004\003\014\033\123\145\143\165\162\145\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 +\300\161\063\202\212\320\160\353\163\207\202\100\325\035\344\313 +\311\016\102\220\371\336\064\271\241\272\021\364\045\205\363\314 +\162\155\362\173\227\153\263\007\361\167\044\221\137\045\217\366 +\164\075\344\200\302\370\074\015\363\277\100\352\367\310\122\321 +\162\157\357\310\253\101\270\156\056\027\052\225\151\014\315\322 +\036\224\173\055\224\035\252\165\327\263\230\313\254\274\144\123 +\100\274\217\254\254\066\313\134\255\273\335\340\224\027\354\321 +\134\320\277\357\245\225\311\220\305\260\254\373\033\103\337\172 +\010\135\267\270\362\100\033\053\047\236\120\316\136\145\202\210 +\214\136\323\116\014\172\352\010\221\266\066\252\053\102\373\352 +\302\243\071\345\333\046\070\255\213\012\356\031\143\307\034\044 +\337\003\170\332\346\352\301\107\032\013\013\106\011\335\002\374 +\336\313\207\137\327\060\143\150\241\256\334\062\241\272\276\376 +\104\253\150\266\245\027\025\375\275\325\247\247\232\344\104\063 +\351\210\216\374\355\121\353\223\161\116\255\001\347\104\216\253 +\055\313\250\376\001\111\110\360\300\335\307\150\330\222\376\075 +\002\003\001\000\001\243\201\307\060\201\304\060\035\006\003\125 +\035\016\004\026\004\024\074\330\223\210\302\300\202\011\314\001 +\231\006\223\040\351\236\160\011\143\117\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\201\201\006\003 +\125\035\037\004\172\060\170\060\073\240\071\240\067\206\065\150 +\164\164\160\072\057\057\143\162\154\056\143\157\155\157\144\157 +\143\141\056\143\157\155\057\123\145\143\165\162\145\103\145\162 +\164\151\146\151\143\141\164\145\123\145\162\166\151\143\145\163 +\056\143\162\154\060\071\240\067\240\065\206\063\150\164\164\160 +\072\057\057\143\162\154\056\143\157\155\157\144\157\056\156\145 +\164\057\123\145\143\165\162\145\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\207\001\155\043\035\176\133\027\175\301\141\062\317 +\217\347\363\212\224\131\146\340\236\050\250\136\323\267\364\064 +\346\252\071\262\227\026\305\202\157\062\244\351\214\347\257\375 +\357\302\350\271\113\252\243\364\346\332\215\145\041\373\272\200 +\353\046\050\205\032\376\071\214\336\133\004\004\264\124\371\243 +\147\236\101\372\011\122\314\005\110\250\311\077\041\004\036\316 +\110\153\374\205\350\302\173\257\177\267\314\370\137\072\375\065 +\306\015\357\227\334\114\253\021\341\153\313\061\321\154\373\110 +\200\253\334\234\067\270\041\024\113\015\161\075\354\203\063\156 +\321\156\062\026\354\230\307\026\213\131\246\064\253\005\127\055 +\223\367\252\023\313\322\023\342\267\056\073\315\153\120\027\011 +\150\076\265\046\127\356\266\340\266\335\271\051\200\171\175\217 +\243\360\244\050\244\025\304\205\364\047\324\153\277\345\134\344 +\145\002\166\124\264\343\067\146\044\323\031\141\310\122\020\345 +\213\067\232\271\251\371\035\277\352\231\222\141\226\377\001\315 +\241\137\015\274\161\274\016\254\013\035\107\105\035\301\354\174 +\354\375\051 +END + +# Trust for Certificate "Comodo Secure Services root" +CKA_CLASS CK_OBJECT_CLASS 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 Secure Services root" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\112\145\325\364\035\357\071\270\270\220\112\112\323\144\201\063 +\317\307\241\321 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\323\331\275\256\237\254\147\044\263\310\033\122\341\271\251\275 +END +CKA_ISSUER MULTILINE_OCTAL +\060\176\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\044\060\042\006\003 +\125\004\003\014\033\123\145\143\165\162\145\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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Comodo Trusted Services root" +# +CKA_CLASS CK_OBJECT_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 Trusted Services 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\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\045\060\043\006\003 +\125\004\003\014\034\124\162\165\163\164\145\144\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\177\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\045\060\043\006\003 +\125\004\003\014\034\124\162\165\163\164\145\144\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\103\060\202\003\053\240\003\002\001\002\002\001\001 +\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\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\045\060\043\006\003\125 +\004\003\014\034\124\162\165\163\164\145\144\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\177\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\045\060\043\006\003 +\125\004\003\014\034\124\162\165\163\164\145\144\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\337\161\157\066\130\123\132\362\066\124\127\200\304\164 +\010\040\355\030\177\052\035\346\065\232\036\045\254\234\345\226 +\176\162\122\240\025\102\333\131\335\144\172\032\320\270\173\335 +\071\025\274\125\110\304\355\072\000\352\061\021\272\362\161\164 +\032\147\270\317\063\314\250\061\257\243\343\327\177\277\063\055 +\114\152\074\354\213\303\222\322\123\167\044\164\234\007\156\160 +\374\275\013\133\166\272\137\362\377\327\067\113\112\140\170\367 +\360\372\312\160\264\352\131\252\243\316\110\057\251\303\262\013 +\176\027\162\026\014\246\007\014\033\070\317\311\142\267\077\240 +\223\245\207\101\362\267\160\100\167\330\276\024\174\343\250\300 +\172\216\351\143\152\321\017\232\306\322\364\213\072\024\004\126 +\324\355\270\314\156\365\373\342\054\130\275\177\117\153\053\367 +\140\044\130\044\316\046\357\064\221\072\325\343\201\320\262\360 +\004\002\327\133\267\076\222\254\153\022\212\371\344\005\260\073 +\221\111\134\262\353\123\352\370\237\107\206\356\277\225\300\300 +\006\237\322\133\136\021\033\364\307\004\065\051\322\125\134\344 +\355\353\002\003\001\000\001\243\201\311\060\201\306\060\035\006 +\003\125\035\016\004\026\004\024\305\173\130\275\355\332\045\151 +\322\367\131\026\250\263\062\300\173\047\133\364\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\201\203 +\006\003\125\035\037\004\174\060\172\060\074\240\072\240\070\206 +\066\150\164\164\160\072\057\057\143\162\154\056\143\157\155\157 +\144\157\143\141\056\143\157\155\057\124\162\165\163\164\145\144 +\103\145\162\164\151\146\151\143\141\164\145\123\145\162\166\151 +\143\145\163\056\143\162\154\060\072\240\070\240\066\206\064\150 +\164\164\160\072\057\057\143\162\154\056\143\157\155\157\144\157 +\056\156\145\164\057\124\162\165\163\164\145\144\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\310\223\201\073\211\264\257\270\204 +\022\114\215\322\360\333\160\272\127\206\025\064\020\271\057\177 +\036\260\250\211\140\241\212\302\167\014\120\112\233\000\213\330 +\213\364\101\342\320\203\212\112\034\024\006\260\243\150\005\160 +\061\060\247\123\233\016\351\112\240\130\151\147\016\256\235\366 +\245\054\101\277\074\006\153\344\131\314\155\020\361\226\157\037 +\337\364\004\002\244\237\105\076\310\330\372\066\106\104\120\077 +\202\227\221\037\050\333\030\021\214\052\344\145\203\127\022\022 +\214\027\077\224\066\376\135\260\300\004\167\023\270\364\025\325 +\077\070\314\224\072\125\320\254\230\365\272\000\137\340\206\031 +\201\170\057\050\300\176\323\314\102\012\365\256\120\240\321\076 +\306\241\161\354\077\240\040\214\146\072\211\264\216\324\330\261 +\115\045\107\356\057\210\310\265\341\005\105\300\276\024\161\336 +\172\375\216\173\175\115\010\226\245\022\163\360\055\312\067\047 +\164\022\047\114\313\266\227\351\331\256\010\155\132\071\100\335 +\005\107\165\152\132\041\263\243\030\317\116\367\056\127\267\230 +\160\136\310\304\170\260\142 +END + +# Trust for Certificate "Comodo Trusted Services root" +CKA_CLASS CK_OBJECT_CLASS 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 Trusted Services root" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\341\237\343\016\213\204\140\236\200\233\027\015\162\250\305\272 +\156\024\011\275 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\221\033\077\156\315\236\253\356\007\376\037\161\322\263\141\047 +END +CKA_ISSUER MULTILINE_OCTAL +\060\177\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\045\060\043\006\003 +\125\004\003\014\034\124\162\165\163\164\145\144\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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "QuoVadis Root 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 "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 + +# Trust for Certificate "QuoVadis Root 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 "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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "QuoVadis Root CA 2" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "QuoVadis Root CA 2" +CKA_CLASS CK_OBJECT_CLASS 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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "QuoVadis Root CA 3" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "QuoVadis Root CA 3" +CKA_CLASS CK_OBJECT_CLASS 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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Security Communication Root 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 "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 + +# Trust for Certificate "Security Communication Root 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 "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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Sonera Class 1 Root 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 "Sonera Class 1 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\061\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\061\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\044 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\040\060\202\002\010\240\003\002\001\002\002\001\044 +\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\061\040\103\101\060\036\027\015\060\061 +\060\064\060\066\061\060\064\071\061\063\132\027\015\062\061\060 +\064\060\066\061\060\064\071\061\063\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\061\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\265\211\037\053\117\147\012\171\377\305 +\036\370\177\074\355\321\176\332\260\315\155\057\066\254\064\306 +\333\331\144\027\010\143\060\063\042\212\114\356\216\273\017\015 +\102\125\311\235\056\245\357\367\247\214\303\253\271\227\313\216 +\357\077\025\147\250\202\162\143\123\017\101\214\175\020\225\044 +\241\132\245\006\372\222\127\235\372\245\001\362\165\351\037\274 +\126\046\122\116\170\031\145\130\125\003\130\300\024\256\214\174 +\125\137\160\133\167\043\006\066\227\363\044\265\232\106\225\344 +\337\015\013\005\105\345\321\362\035\202\273\306\023\340\376\252 +\172\375\151\060\224\363\322\105\205\374\362\062\133\062\336\350 +\154\135\037\313\244\042\164\260\200\216\135\224\367\006\000\113 +\251\324\136\056\065\120\011\363\200\227\364\014\027\256\071\330 +\137\315\063\301\034\312\211\302\042\367\105\022\355\136\022\223 +\235\143\253\202\056\271\353\102\101\104\313\112\032\000\202\015 +\236\371\213\127\076\114\307\027\355\054\213\162\063\137\162\172 +\070\126\325\346\331\256\005\032\035\165\105\261\313\245\045\034 +\022\127\066\375\042\067\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\107\342\014\213\366 +\123\210\122\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\213\032\262\311\135\141\264\341\271\053\271\123 +\321\262\205\235\167\216\026\356\021\075\333\302\143\331\133\227 +\145\373\022\147\330\052\134\266\253\345\136\303\267\026\057\310 +\350\253\035\212\375\253\032\174\325\137\143\317\334\260\335\167 +\271\250\346\322\042\070\207\007\024\331\377\276\126\265\375\007 +\016\074\125\312\026\314\247\246\167\067\373\333\134\037\116\131 +\006\207\243\003\103\365\026\253\267\204\275\116\357\237\061\067 +\360\106\361\100\266\321\014\245\144\370\143\136\041\333\125\116 +\117\061\166\234\020\141\216\266\123\072\243\021\276\257\155\174 +\036\275\256\055\342\014\151\307\205\123\150\242\141\272\305\076 +\264\171\124\170\236\012\307\002\276\142\321\021\202\113\145\057 +\221\132\302\250\207\261\126\150\224\171\371\045\367\301\325\256 +\032\270\273\075\217\251\212\070\025\367\163\320\132\140\321\200 +\260\360\334\325\120\315\116\356\222\110\151\355\262\043\036\060 +\314\310\224\310\266\365\073\206\177\077\246\056\237\366\076\054 +\265\222\226\076\337\054\223\212\377\201\214\017\017\131\041\031 +\127\275\125\232 +END + +# Trust for Certificate "Sonera Class 1 Root 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 "Sonera Class 1 Root CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\007\107\042\001\231\316\164\271\174\260\075\171\262\144\242\310 +\125\351\063\377 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\063\267\204\365\137\047\327\150\047\336\024\336\022\052\355\157 +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\061\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\044 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Sonera Class 2 Root 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 "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 + +# Trust for Certificate "Sonera Class 2 Root 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 "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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Staat der Nederlanden Root 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 "Staat der Nederlanden Root CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\125\061\013\060\011\006\003\125\004\006\023\002\116\114\061 +\036\060\034\006\003\125\004\012\023\025\123\164\141\141\164\040 +\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061 +\046\060\044\006\003\125\004\003\023\035\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 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\125\061\013\060\011\006\003\125\004\006\023\002\116\114\061 +\036\060\034\006\003\125\004\012\023\025\123\164\141\141\164\040 +\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061 +\046\060\044\006\003\125\004\003\023\035\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 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\000\230\226\212 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\272\060\202\002\242\240\003\002\001\002\002\004\000 +\230\226\212\060\015\006\011\052\206\110\206\367\015\001\001\005 +\005\000\060\125\061\013\060\011\006\003\125\004\006\023\002\116 +\114\061\036\060\034\006\003\125\004\012\023\025\123\164\141\141 +\164\040\144\145\162\040\116\145\144\145\162\154\141\156\144\145 +\156\061\046\060\044\006\003\125\004\003\023\035\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\060\036\027\015\060\062\061 +\062\061\067\060\071\062\063\064\071\132\027\015\061\065\061\062 +\061\066\060\071\061\065\063\070\132\060\125\061\013\060\011\006 +\003\125\004\006\023\002\116\114\061\036\060\034\006\003\125\004 +\012\023\025\123\164\141\141\164\040\144\145\162\040\116\145\144 +\145\162\154\141\156\144\145\156\061\046\060\044\006\003\125\004 +\003\023\035\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 +\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\322\265\121\021\172\201\246\024\230\161\155\276\314\347 +\023\033\326\047\016\172\263\152\030\034\266\141\132\325\141\011 +\277\336\220\023\307\147\356\335\363\332\305\014\022\236\065\125 +\076\054\047\210\100\153\367\334\335\042\141\365\302\307\016\365 +\366\325\166\123\115\217\214\274\030\166\067\205\235\350\312\111 +\307\322\117\230\023\011\242\076\042\210\234\177\326\362\020\145 +\264\356\137\030\325\027\343\370\305\375\342\235\242\357\123\016 +\205\167\242\017\341\060\107\356\000\347\063\175\104\147\032\013 +\121\350\213\240\236\120\230\150\064\122\037\056\155\001\362\140 +\105\362\061\353\251\061\150\051\273\172\101\236\306\031\177\224 +\264\121\071\003\177\262\336\247\062\233\264\107\216\157\264\112 +\256\345\257\261\334\260\033\141\274\231\162\336\344\211\267\172 +\046\135\332\063\111\133\122\234\016\365\212\255\303\270\075\350 +\006\152\302\325\052\013\154\173\204\275\126\005\313\206\145\222 +\354\104\053\260\216\271\334\160\013\106\332\255\274\143\210\071 +\372\333\152\376\043\372\274\344\110\364\147\053\152\021\020\041 +\111\002\003\001\000\001\243\201\221\060\201\216\060\014\006\003 +\125\035\023\004\005\060\003\001\001\377\060\117\006\003\125\035 +\040\004\110\060\106\060\104\006\004\125\035\040\000\060\074\060 +\072\006\010\053\006\001\005\005\007\002\001\026\056\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\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\250\175\353\274\143\244\164\023\164\000 +\354\226\340\323\064\301\054\277\154\370\060\015\006\011\052\206 +\110\206\367\015\001\001\005\005\000\003\202\001\001\000\005\204 +\207\125\164\066\141\301\273\321\324\306\025\250\023\264\237\244 +\376\273\356\025\264\057\006\014\051\362\250\222\244\141\015\374 +\253\134\010\133\121\023\053\115\302\052\141\310\370\011\130\374 +\055\002\262\071\175\231\146\201\277\156\134\225\105\040\154\346 +\171\247\321\330\034\051\374\302\040\047\121\310\361\174\135\064 +\147\151\205\021\060\306\000\322\327\363\323\174\266\360\061\127 +\050\022\202\163\351\063\057\246\125\264\013\221\224\107\234\372 +\273\172\102\062\350\256\176\055\310\274\254\024\277\331\017\331 +\133\374\301\371\172\225\341\175\176\226\374\161\260\302\114\310 +\337\105\064\311\316\015\362\234\144\010\320\073\303\051\305\262 +\355\220\004\301\261\051\221\305\060\157\301\251\162\063\314\376 +\135\026\027\054\021\151\347\176\376\305\203\010\337\274\334\042 +\072\056\040\151\043\071\126\140\147\220\213\056\166\071\373\021 +\210\227\366\174\275\113\270\040\026\147\005\215\342\073\301\162 +\077\224\225\067\307\135\271\236\330\223\241\027\217\377\014\146 +\025\301\044\174\062\174\003\035\073\241\130\105\062\223 +END + +# Trust for Certificate "Staat der Nederlanden Root 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 "Staat der Nederlanden Root CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\020\035\372\077\325\013\313\273\233\265\140\014\031\125\244\032 +\364\163\072\004 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\140\204\174\132\316\333\014\324\313\247\351\376\002\306\251\300 +END +CKA_ISSUER MULTILINE_OCTAL +\060\125\061\013\060\011\006\003\125\004\006\023\002\116\114\061 +\036\060\034\006\003\125\004\012\023\025\123\164\141\141\164\040 +\144\145\162\040\116\145\144\145\162\154\141\156\144\145\156\061 +\046\060\044\006\003\125\004\003\023\035\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 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\000\230\226\212 +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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "TDC Internet Root 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 "TDC Internet Root CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\103\061\013\060\011\006\003\125\004\006\023\002\104\113\061 +\025\060\023\006\003\125\004\012\023\014\124\104\103\040\111\156 +\164\145\162\156\145\164\061\035\060\033\006\003\125\004\013\023 +\024\124\104\103\040\111\156\164\145\162\156\145\164\040\122\157 +\157\164\040\103\101 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\103\061\013\060\011\006\003\125\004\006\023\002\104\113\061 +\025\060\023\006\003\125\004\012\023\014\124\104\103\040\111\156 +\164\145\162\156\145\164\061\035\060\033\006\003\125\004\013\023 +\024\124\104\103\040\111\156\164\145\162\156\145\164\040\122\157 +\157\164\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\072\314\245\114 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\053\060\202\003\023\240\003\002\001\002\002\004\072 +\314\245\114\060\015\006\011\052\206\110\206\367\015\001\001\005 +\005\000\060\103\061\013\060\011\006\003\125\004\006\023\002\104 +\113\061\025\060\023\006\003\125\004\012\023\014\124\104\103\040 +\111\156\164\145\162\156\145\164\061\035\060\033\006\003\125\004 +\013\023\024\124\104\103\040\111\156\164\145\162\156\145\164\040 +\122\157\157\164\040\103\101\060\036\027\015\060\061\060\064\060 +\065\061\066\063\063\061\067\132\027\015\062\061\060\064\060\065 +\061\067\060\063\061\067\132\060\103\061\013\060\011\006\003\125 +\004\006\023\002\104\113\061\025\060\023\006\003\125\004\012\023 +\014\124\104\103\040\111\156\164\145\162\156\145\164\061\035\060 +\033\006\003\125\004\013\023\024\124\104\103\040\111\156\164\145 +\162\156\145\164\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\304\270\100 +\274\221\325\143\037\327\231\240\213\014\100\036\164\267\110\235 +\106\214\002\262\340\044\137\360\031\023\247\067\203\153\135\307 +\216\371\204\060\316\032\073\372\373\316\213\155\043\306\303\156 +\146\237\211\245\337\340\102\120\147\372\037\154\036\364\320\005 +\326\277\312\326\116\344\150\140\154\106\252\034\135\143\341\007 +\206\016\145\000\247\056\246\161\306\274\271\201\250\072\175\032 +\322\371\321\254\113\313\316\165\257\334\173\372\201\163\324\374 +\272\275\101\210\324\164\263\371\136\070\072\074\103\250\322\225 +\116\167\155\023\014\235\217\170\001\267\132\040\037\003\067\065 +\342\054\333\113\053\054\170\271\111\333\304\320\307\234\234\344 +\212\040\011\041\026\126\146\377\005\354\133\343\360\317\253\044 +\044\136\303\177\160\172\022\304\322\265\020\240\266\041\341\215 +\170\151\125\104\151\365\312\226\034\064\205\027\045\167\342\366 +\057\047\230\170\375\171\006\072\242\326\132\103\301\377\354\004 +\073\356\023\357\323\130\132\377\222\353\354\256\332\362\067\003 +\107\101\266\227\311\055\012\101\042\273\273\346\247\002\003\001 +\000\001\243\202\001\045\060\202\001\041\060\021\006\011\140\206 +\110\001\206\370\102\001\001\004\004\003\002\000\007\060\145\006 +\003\125\035\037\004\136\060\134\060\132\240\130\240\126\244\124 +\060\122\061\013\060\011\006\003\125\004\006\023\002\104\113\061 +\025\060\023\006\003\125\004\012\023\014\124\104\103\040\111\156 +\164\145\162\156\145\164\061\035\060\033\006\003\125\004\013\023 +\024\124\104\103\040\111\156\164\145\162\156\145\164\040\122\157 +\157\164\040\103\101\061\015\060\013\006\003\125\004\003\023\004 +\103\122\114\061\060\053\006\003\125\035\020\004\044\060\042\200 +\017\062\060\060\061\060\064\060\065\061\066\063\063\061\067\132 +\201\017\062\060\062\061\060\064\060\065\061\067\060\063\061\067 +\132\060\013\006\003\125\035\017\004\004\003\002\001\006\060\037 +\006\003\125\035\043\004\030\060\026\200\024\154\144\001\307\375 +\205\155\254\310\332\236\120\010\205\010\265\074\126\250\120\060 +\035\006\003\125\035\016\004\026\004\024\154\144\001\307\375\205 +\155\254\310\332\236\120\010\205\010\265\074\126\250\120\060\014 +\006\003\125\035\023\004\005\060\003\001\001\377\060\035\006\011 +\052\206\110\206\366\175\007\101\000\004\020\060\016\033\010\126 +\065\056\060\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\116 +\103\314\321\335\035\020\033\006\177\267\244\372\323\331\115\373 +\043\237\043\124\133\346\213\057\004\050\213\265\047\155\211\241 +\354\230\151\334\347\215\046\203\005\171\164\354\264\271\243\227 +\301\065\000\375\025\332\071\201\072\225\061\220\336\227\351\206 +\250\231\167\014\345\132\240\204\377\022\026\254\156\270\215\303 +\173\222\302\254\056\320\175\050\354\266\363\140\070\151\157\076 +\330\004\125\076\236\314\125\322\272\376\273\107\004\327\012\331 +\026\012\064\051\365\130\023\325\117\317\217\126\113\263\036\356 +\323\230\171\332\010\036\014\157\270\370\026\047\357\302\157\075 +\366\243\113\076\016\344\155\154\333\073\101\022\233\275\015\107 +\043\177\074\112\320\257\300\257\366\357\033\265\025\304\353\203 +\304\011\137\164\213\331\021\373\302\126\261\074\370\160\312\064 +\215\103\100\023\214\375\231\003\124\171\306\056\352\206\241\366 +\072\324\011\274\364\274\146\314\075\130\320\127\111\012\356\045 +\342\101\356\023\371\233\070\064\321\000\365\176\347\224\035\374 +\151\003\142\270\231\005\005\075\153\170\022\275\260\157\145 +END + +# Trust for Certificate "TDC Internet Root 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 "TDC Internet Root CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\041\374\275\216\177\154\257\005\033\321\263\103\354\250\347\141 +\107\362\017\212 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\221\364\003\125\040\241\370\143\054\142\336\254\373\141\034\216 +END +CKA_ISSUER MULTILINE_OCTAL +\060\103\061\013\060\011\006\003\125\004\006\023\002\104\113\061 +\025\060\023\006\003\125\004\012\023\014\124\104\103\040\111\156 +\164\145\162\156\145\164\061\035\060\033\006\003\125\004\013\023 +\024\124\104\103\040\111\156\164\145\162\156\145\164\040\122\157 +\157\164\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\072\314\245\114 +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 "TDC OCES Root 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 "TDC OCES Root CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\061\061\013\060\011\006\003\125\004\006\023\002\104\113\061 +\014\060\012\006\003\125\004\012\023\003\124\104\103\061\024\060 +\022\006\003\125\004\003\023\013\124\104\103\040\117\103\105\123 +\040\103\101 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\061\061\013\060\011\006\003\125\004\006\023\002\104\113\061 +\014\060\012\006\003\125\004\012\023\003\124\104\103\061\024\060 +\022\006\003\125\004\003\023\013\124\104\103\040\117\103\105\123 +\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\076\110\275\304 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\031\060\202\004\001\240\003\002\001\002\002\004\076 +\110\275\304\060\015\006\011\052\206\110\206\367\015\001\001\005 +\005\000\060\061\061\013\060\011\006\003\125\004\006\023\002\104 +\113\061\014\060\012\006\003\125\004\012\023\003\124\104\103\061 +\024\060\022\006\003\125\004\003\023\013\124\104\103\040\117\103 +\105\123\040\103\101\060\036\027\015\060\063\060\062\061\061\060 +\070\063\071\063\060\132\027\015\063\067\060\062\061\061\060\071 +\060\071\063\060\132\060\061\061\013\060\011\006\003\125\004\006 +\023\002\104\113\061\014\060\012\006\003\125\004\012\023\003\124 +\104\103\061\024\060\022\006\003\125\004\003\023\013\124\104\103 +\040\117\103\105\123\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\142\366\141\040\262\317 +\300\306\205\327\343\171\346\314\355\362\071\222\244\227\056\144 +\243\204\133\207\234\114\375\244\363\304\137\041\275\126\020\353 +\333\056\141\354\223\151\343\243\314\275\231\303\005\374\006\270 +\312\066\034\376\220\216\111\114\304\126\232\057\126\274\317\173 +\014\361\157\107\246\015\103\115\342\351\035\071\064\315\215\054 +\331\022\230\371\343\341\301\112\174\206\070\304\251\304\141\210 +\322\136\257\032\046\115\325\344\240\042\107\204\331\144\267\031 +\226\374\354\031\344\262\227\046\116\112\114\313\217\044\213\124 +\030\034\110\141\173\325\210\150\332\135\265\352\315\032\060\301 +\200\203\166\120\252\117\321\324\335\070\360\357\026\364\341\014 +\120\006\277\352\373\172\111\241\050\053\034\366\374\025\062\243 +\164\152\217\251\303\142\051\161\061\345\073\244\140\027\136\164 +\346\332\023\355\351\037\037\033\321\262\150\163\306\020\064\165 +\106\020\020\343\220\000\166\100\313\213\267\103\011\041\377\253 +\116\223\306\130\351\245\202\333\167\304\072\231\261\162\225\111 +\004\360\267\053\372\173\131\216\335\002\003\001\000\001\243\202 +\002\067\060\202\002\063\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\354\006\003\125\035\040\004 +\201\344\060\201\341\060\201\336\006\010\052\201\120\201\051\001 +\001\001\060\201\321\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\143\145 +\162\164\151\146\151\153\141\164\056\144\153\057\162\145\160\157 +\163\151\164\157\162\171\060\201\235\006\010\053\006\001\005\005 +\007\002\002\060\201\220\060\012\026\003\124\104\103\060\003\002 +\001\001\032\201\201\103\145\162\164\151\146\151\153\141\164\145 +\162\040\146\162\141\040\144\145\156\156\145\040\103\101\040\165 +\144\163\164\145\144\145\163\040\165\156\144\145\162\040\117\111 +\104\040\061\056\062\056\062\060\070\056\061\066\071\056\061\056 +\061\056\061\056\040\103\145\162\164\151\146\151\143\141\164\145 +\163\040\146\162\157\155\040\164\150\151\163\040\103\101\040\141 +\162\145\040\151\163\163\165\145\144\040\165\156\144\145\162\040 +\117\111\104\040\061\056\062\056\062\060\070\056\061\066\071\056 +\061\056\061\056\061\056\060\021\006\011\140\206\110\001\206\370 +\102\001\001\004\004\003\002\000\007\060\201\201\006\003\125\035 +\037\004\172\060\170\060\110\240\106\240\104\244\102\060\100\061 +\013\060\011\006\003\125\004\006\023\002\104\113\061\014\060\012 +\006\003\125\004\012\023\003\124\104\103\061\024\060\022\006\003 +\125\004\003\023\013\124\104\103\040\117\103\105\123\040\103\101 +\061\015\060\013\006\003\125\004\003\023\004\103\122\114\061\060 +\054\240\052\240\050\206\046\150\164\164\160\072\057\057\143\162 +\154\056\157\143\145\163\056\143\145\162\164\151\146\151\153\141 +\164\056\144\153\057\157\143\145\163\056\143\162\154\060\053\006 +\003\125\035\020\004\044\060\042\200\017\062\060\060\063\060\062 +\061\061\060\070\063\071\063\060\132\201\017\062\060\063\067\060 +\062\061\061\060\071\060\071\063\060\132\060\037\006\003\125\035 +\043\004\030\060\026\200\024\140\265\205\354\126\144\176\022\031 +\047\147\035\120\025\113\163\256\073\371\022\060\035\006\003\125 +\035\016\004\026\004\024\140\265\205\354\126\144\176\022\031\047 +\147\035\120\025\113\163\256\073\371\022\060\035\006\011\052\206 +\110\206\366\175\007\101\000\004\020\060\016\033\010\126\066\056 +\060\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\012\272\046 +\046\106\323\163\250\011\363\153\013\060\231\375\212\341\127\172 +\021\323\270\224\327\011\020\156\243\261\070\003\321\266\362\103 +\101\051\142\247\162\330\373\174\005\346\061\160\047\124\030\116 +\212\174\116\345\321\312\214\170\210\317\033\323\220\213\346\043 +\370\013\016\063\103\175\234\342\012\031\217\311\001\076\164\135 +\164\311\213\034\003\345\030\310\001\114\077\313\227\005\135\230 +\161\246\230\157\266\174\275\067\177\276\341\223\045\155\157\360 +\012\255\027\030\341\003\274\007\051\310\255\046\350\370\141\360 +\375\041\011\176\232\216\251\150\175\110\142\162\275\000\352\001 +\231\270\006\202\121\201\116\361\365\264\221\124\271\043\172\000 +\232\237\135\215\340\074\144\271\032\022\222\052\307\202\104\162 +\071\334\342\074\306\330\125\365\025\116\310\005\016\333\306\320 +\142\246\354\025\264\265\002\202\333\254\214\242\201\360\233\231 +\061\365\040\040\250\210\141\012\007\237\224\374\320\327\033\314 +\056\027\363\004\047\166\147\353\124\203\375\244\220\176\006\075 +\004\243\103\055\332\374\013\142\352\057\137\142\123 +END + +# Trust for Certificate "TDC OCES Root 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 "TDC OCES Root CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\207\201\302\132\226\275\302\373\114\145\006\117\371\071\013\046 +\004\212\016\001 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\223\177\220\034\355\204\147\027\244\145\137\233\313\060\002\227 +END +CKA_ISSUER MULTILINE_OCTAL +\060\061\061\013\060\011\006\003\125\004\006\023\002\104\113\061 +\014\060\012\006\003\125\004\012\023\003\124\104\103\061\024\060 +\022\006\003\125\004\003\023\013\124\104\103\040\117\103\105\123 +\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\076\110\275\304 +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 "UTN DATACorp SGC Root 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 "UTN DATACorp SGC Root CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\223\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060 +\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153 +\145\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\041\060\037\006\003\125\004\013\023 +\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162 +\164\162\165\163\164\056\143\157\155\061\033\060\031\006\003\125 +\004\003\023\022\125\124\116\040\055\040\104\101\124\101\103\157 +\162\160\040\123\107\103 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\223\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060 +\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153 +\145\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\041\060\037\006\003\125\004\013\023 +\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162 +\164\162\165\163\164\056\143\157\155\061\033\060\031\006\003\125 +\004\003\023\022\125\124\116\040\055\040\104\101\124\101\103\157 +\162\160\040\123\107\103 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\104\276\014\213\120\000\041\264\021\323\052\150\006\251 +\255\151 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\136\060\202\003\106\240\003\002\001\002\002\020\104 +\276\014\213\120\000\041\264\021\323\052\150\006\251\255\151\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201 +\223\061\013\060\011\006\003\125\004\006\023\002\125\123\061\013 +\060\011\006\003\125\004\010\023\002\125\124\061\027\060\025\006 +\003\125\004\007\023\016\123\141\154\164\040\114\141\153\145\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\041\060\037\006\003\125\004\013\023\030\150 +\164\164\160\072\057\057\167\167\167\056\165\163\145\162\164\162 +\165\163\164\056\143\157\155\061\033\060\031\006\003\125\004\003 +\023\022\125\124\116\040\055\040\104\101\124\101\103\157\162\160 +\040\123\107\103\060\036\027\015\071\071\060\066\062\064\061\070 +\065\067\062\061\132\027\015\061\071\060\066\062\064\061\071\060 +\066\063\060\132\060\201\223\061\013\060\011\006\003\125\004\006 +\023\002\125\123\061\013\060\011\006\003\125\004\010\023\002\125 +\124\061\027\060\025\006\003\125\004\007\023\016\123\141\154\164 +\040\114\141\153\145\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\041\060\037\006\003 +\125\004\013\023\030\150\164\164\160\072\057\057\167\167\167\056 +\165\163\145\162\164\162\165\163\164\056\143\157\155\061\033\060 +\031\006\003\125\004\003\023\022\125\124\116\040\055\040\104\101 +\124\101\103\157\162\160\040\123\107\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\337\356\130\020\242 +\053\156\125\304\216\277\056\106\011\347\340\010\017\056\053\172 +\023\224\033\275\366\266\200\216\145\005\223\000\036\274\257\342 +\017\216\031\015\022\107\354\254\255\243\372\056\160\370\336\156 +\373\126\102\025\236\056\134\357\043\336\041\271\005\166\047\031 +\017\117\326\303\234\264\276\224\031\143\362\246\021\012\353\123 +\110\234\276\362\051\073\026\350\032\240\114\246\311\364\030\131 +\150\300\160\362\123\000\300\136\120\202\245\126\157\066\371\112 +\340\104\206\240\115\116\326\107\156\111\112\313\147\327\246\304 +\005\271\216\036\364\374\377\315\347\066\340\234\005\154\262\063 +\042\025\320\264\340\314\027\300\262\300\364\376\062\077\051\052 +\225\173\330\362\247\116\017\124\174\241\015\200\263\011\003\301 +\377\134\335\136\232\076\274\256\274\107\212\152\256\161\312\037 +\261\052\270\137\102\005\013\354\106\060\321\162\013\312\351\126 +\155\365\357\337\170\276\141\272\262\245\256\004\114\274\250\254 +\151\025\227\275\357\353\264\214\277\065\370\324\303\321\050\016 +\134\072\237\160\030\063\040\167\304\242\257\002\003\001\000\001 +\243\201\253\060\201\250\060\013\006\003\125\035\017\004\004\003 +\002\001\306\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\123 +\062\321\263\317\177\372\340\361\240\135\205\116\222\322\236\105 +\035\264\117\060\075\006\003\125\035\037\004\066\060\064\060\062 +\240\060\240\056\206\054\150\164\164\160\072\057\057\143\162\154 +\056\165\163\145\162\164\162\165\163\164\056\143\157\155\057\125 +\124\116\055\104\101\124\101\103\157\162\160\123\107\103\056\143 +\162\154\060\052\006\003\125\035\045\004\043\060\041\006\010\053 +\006\001\005\005\007\003\001\006\012\053\006\001\004\001\202\067 +\012\003\003\006\011\140\206\110\001\206\370\102\004\001\060\015 +\006\011\052\206\110\206\367\015\001\001\005\005\000\003\202\001 +\001\000\047\065\227\000\212\213\050\275\306\063\060\036\051\374 +\342\367\325\230\324\100\273\140\312\277\253\027\054\011\066\177 +\120\372\101\334\256\226\072\012\043\076\211\131\311\243\007\355 +\033\067\255\374\174\276\121\111\132\336\072\012\124\010\026\105 +\302\231\261\207\315\214\150\340\151\003\351\304\116\230\262\073 +\214\026\263\016\240\014\230\120\233\223\251\160\011\310\054\243 +\217\337\002\344\340\161\072\361\264\043\162\240\252\001\337\337 +\230\076\024\120\240\061\046\275\050\351\132\060\046\165\371\173 +\140\034\215\363\315\120\046\155\004\047\232\337\325\015\105\107 +\051\153\054\346\166\331\251\051\175\062\335\311\066\074\275\256 +\065\361\021\236\035\273\220\077\022\107\116\216\327\176\017\142 +\163\035\122\046\070\034\030\111\375\060\164\232\304\345\042\057 +\330\300\215\355\221\172\114\000\217\162\177\135\332\335\033\213 +\105\153\347\335\151\227\250\305\126\114\017\014\366\237\172\221 +\067\366\227\202\340\335\161\151\377\166\077\140\115\074\317\367 +\231\371\306\127\364\311\125\071\170\272\054\171\311\246\210\053 +\364\010 +END + +# Trust for Certificate "UTN DATACorp SGC Root 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 "UTN DATACorp SGC Root CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\130\021\237\016\022\202\207\352\120\375\331\207\105\157\117\170 +\334\372\326\324 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\263\245\076\167\041\155\254\112\300\311\373\325\101\075\312\006 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\223\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060 +\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153 +\145\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\041\060\037\006\003\125\004\013\023 +\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162 +\164\162\165\163\164\056\143\157\155\061\033\060\031\006\003\125 +\004\003\023\022\125\124\116\040\055\040\104\101\124\101\103\157 +\162\160\040\123\107\103 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\104\276\014\213\120\000\041\264\021\323\052\150\006\251 +\255\151 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "UTN USERFirst Email Root 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 "UTN USERFirst Email Root CA" +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\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060 +\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153 +\145\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\041\060\037\006\003\125\004\013\023 +\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162 +\164\162\165\163\164\056\143\157\155\061\066\060\064\006\003\125 +\004\003\023\055\125\124\116\055\125\123\105\122\106\151\162\163 +\164\055\103\154\151\145\156\164\040\101\165\164\150\145\156\164 +\151\143\141\164\151\157\156\040\141\156\144\040\105\155\141\151 +\154 +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\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060 +\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153 +\145\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\041\060\037\006\003\125\004\013\023 +\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162 +\164\162\165\163\164\056\143\157\155\061\066\060\064\006\003\125 +\004\003\023\055\125\124\116\055\125\123\105\122\106\151\162\163 +\164\055\103\154\151\145\156\164\040\101\165\164\150\145\156\164 +\151\143\141\164\151\157\156\040\141\156\144\040\105\155\141\151 +\154 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\104\276\014\213\120\000\044\264\021\323\066\045\045\147 +\311\211 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\242\060\202\003\212\240\003\002\001\002\002\020\104 +\276\014\213\120\000\044\264\021\323\066\045\045\147\311\211\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\125\123\061\013 +\060\011\006\003\125\004\010\023\002\125\124\061\027\060\025\006 +\003\125\004\007\023\016\123\141\154\164\040\114\141\153\145\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\041\060\037\006\003\125\004\013\023\030\150 +\164\164\160\072\057\057\167\167\167\056\165\163\145\162\164\162 +\165\163\164\056\143\157\155\061\066\060\064\006\003\125\004\003 +\023\055\125\124\116\055\125\123\105\122\106\151\162\163\164\055 +\103\154\151\145\156\164\040\101\165\164\150\145\156\164\151\143 +\141\164\151\157\156\040\141\156\144\040\105\155\141\151\154\060 +\036\027\015\071\071\060\067\060\071\061\067\062\070\065\060\132 +\027\015\061\071\060\067\060\071\061\067\063\066\065\070\132\060 +\201\256\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060\025 +\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153\145 +\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\041\060\037\006\003\125\004\013\023\030 +\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162\164 +\162\165\163\164\056\143\157\155\061\066\060\064\006\003\125\004 +\003\023\055\125\124\116\055\125\123\105\122\106\151\162\163\164 +\055\103\154\151\145\156\164\040\101\165\164\150\145\156\164\151 +\143\141\164\151\157\156\040\141\156\144\040\105\155\141\151\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\262\071\205\244\362\175\253\101\073\142\106\067\256\315\301 +\140\165\274\071\145\371\112\032\107\242\271\314\110\314\152\230 +\325\115\065\031\271\244\102\345\316\111\342\212\057\036\174\322 +\061\007\307\116\264\203\144\235\056\051\325\242\144\304\205\275 +\205\121\065\171\244\116\150\220\173\034\172\244\222\250\027\362 +\230\025\362\223\314\311\244\062\225\273\014\117\060\275\230\240 +\013\213\345\156\033\242\106\372\170\274\242\157\253\131\136\245 +\057\317\312\332\155\252\057\353\254\241\263\152\252\267\056\147 +\065\213\171\341\036\151\210\342\346\106\315\240\245\352\276\013 +\316\166\072\172\016\233\352\374\332\047\133\075\163\037\042\346 +\110\141\306\114\363\151\261\250\056\033\266\324\061\040\054\274 +\202\212\216\244\016\245\327\211\103\374\026\132\257\035\161\327 +\021\131\332\272\207\015\257\372\363\341\302\360\244\305\147\214 +\326\326\124\072\336\012\244\272\003\167\263\145\310\375\036\323 +\164\142\252\030\312\150\223\036\241\205\176\365\107\145\313\370 +\115\127\050\164\322\064\377\060\266\356\366\142\060\024\214\054 +\353\002\003\001\000\001\243\201\271\060\201\266\060\013\006\003 +\125\035\017\004\004\003\002\001\306\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\211\202\147\175\304\235\046\160\000\113\264 +\120\110\174\336\075\256\004\156\175\060\130\006\003\125\035\037 +\004\121\060\117\060\115\240\113\240\111\206\107\150\164\164\160 +\072\057\057\143\162\154\056\165\163\145\162\164\162\165\163\164 +\056\143\157\155\057\125\124\116\055\125\123\105\122\106\151\162 +\163\164\055\103\154\151\145\156\164\101\165\164\150\145\156\164 +\151\143\141\164\151\157\156\141\156\144\105\155\141\151\154\056 +\143\162\154\060\035\006\003\125\035\045\004\026\060\024\006\010 +\053\006\001\005\005\007\003\002\006\010\053\006\001\005\005\007 +\003\004\060\015\006\011\052\206\110\206\367\015\001\001\005\005 +\000\003\202\001\001\000\261\155\141\135\246\032\177\174\253\112 +\344\060\374\123\157\045\044\306\312\355\342\061\134\053\016\356 +\356\141\125\157\004\076\317\071\336\305\033\111\224\344\353\040 +\114\264\346\236\120\056\162\331\215\365\252\243\263\112\332\126 +\034\140\227\200\334\202\242\255\112\275\212\053\377\013\011\264 +\306\327\040\004\105\344\315\200\001\272\272\053\156\316\252\327 +\222\376\344\257\353\364\046\035\026\052\177\154\060\225\067\057 +\063\022\254\177\335\307\321\021\214\121\230\262\320\243\221\320 +\255\366\237\236\203\223\036\035\102\270\106\257\153\146\360\233 +\177\352\343\003\002\345\002\121\301\252\325\065\235\162\100\003 +\211\272\061\035\305\020\150\122\236\337\242\205\305\134\010\246 +\170\346\123\117\261\350\267\323\024\236\223\246\303\144\343\254 +\176\161\315\274\237\351\003\033\314\373\351\254\061\301\257\174 +\025\164\002\231\303\262\107\246\302\062\141\327\307\157\110\044 +\121\047\241\325\207\125\362\173\217\230\075\026\236\356\165\266 +\370\320\216\362\363\306\256\050\133\247\360\363\066\027\374\303 +\005\323\312\003\112\124 +END + +# Trust for Certificate "UTN USERFirst Email Root 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 "UTN USERFirst Email Root CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\261\162\261\245\155\225\371\037\345\002\207\341\115\067\352\152 +\104\143\166\212 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\327\064\075\357\035\047\011\050\341\061\002\133\023\053\335\367 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\256\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060 +\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153 +\145\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\041\060\037\006\003\125\004\013\023 +\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162 +\164\162\165\163\164\056\143\157\155\061\066\060\064\006\003\125 +\004\003\023\055\125\124\116\055\125\123\105\122\106\151\162\163 +\164\055\103\154\151\145\156\164\040\101\165\164\150\145\156\164 +\151\143\141\164\151\157\156\040\141\156\144\040\105\155\141\151 +\154 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\104\276\014\213\120\000\044\264\021\323\066\045\045\147 +\311\211 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "UTN USERFirst Hardware Root 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 "UTN USERFirst Hardware Root CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060 +\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153 +\145\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\041\060\037\006\003\125\004\013\023 +\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162 +\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125 +\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163 +\164\055\110\141\162\144\167\141\162\145 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060 +\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153 +\145\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\041\060\037\006\003\125\004\013\023 +\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162 +\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125 +\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163 +\164\055\110\141\162\144\167\141\162\145 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\104\276\014\213\120\000\044\264\021\323\066\052\376\145 +\012\375 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\164\060\202\003\134\240\003\002\001\002\002\020\104 +\276\014\213\120\000\044\264\021\323\066\052\376\145\012\375\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201 +\227\061\013\060\011\006\003\125\004\006\023\002\125\123\061\013 +\060\011\006\003\125\004\010\023\002\125\124\061\027\060\025\006 +\003\125\004\007\023\016\123\141\154\164\040\114\141\153\145\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\041\060\037\006\003\125\004\013\023\030\150 +\164\164\160\072\057\057\167\167\167\056\165\163\145\162\164\162 +\165\163\164\056\143\157\155\061\037\060\035\006\003\125\004\003 +\023\026\125\124\116\055\125\123\105\122\106\151\162\163\164\055 +\110\141\162\144\167\141\162\145\060\036\027\015\071\071\060\067 +\060\071\061\070\061\060\064\062\132\027\015\061\071\060\067\060 +\071\061\070\061\071\062\062\132\060\201\227\061\013\060\011\006 +\003\125\004\006\023\002\125\123\061\013\060\011\006\003\125\004 +\010\023\002\125\124\061\027\060\025\006\003\125\004\007\023\016 +\123\141\154\164\040\114\141\153\145\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\041 +\060\037\006\003\125\004\013\023\030\150\164\164\160\072\057\057 +\167\167\167\056\165\163\145\162\164\162\165\163\164\056\143\157 +\155\061\037\060\035\006\003\125\004\003\023\026\125\124\116\055 +\125\123\105\122\106\151\162\163\164\055\110\141\162\144\167\141 +\162\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\261\367\303\070\077\264\250\177\317\071\202\121\147 +\320\155\237\322\377\130\363\347\237\053\354\015\211\124\231\271 +\070\231\026\367\340\041\171\110\302\273\141\164\022\226\035\074 +\152\162\325\074\020\147\072\071\355\053\023\315\146\353\225\011 +\063\244\154\227\261\350\306\354\301\165\171\234\106\136\215\253 +\320\152\375\271\052\125\027\020\124\263\031\360\232\366\361\261 +\135\266\247\155\373\340\161\027\153\242\210\373\000\337\376\032 +\061\167\014\232\001\172\261\062\343\053\001\007\070\156\303\245 +\136\043\274\105\233\173\120\301\311\060\217\333\345\053\172\323 +\133\373\063\100\036\240\325\230\027\274\213\207\303\211\323\135 +\240\216\262\252\252\366\216\151\210\006\305\372\211\041\363\010 +\235\151\056\011\063\233\051\015\106\017\214\314\111\064\260\151 +\121\275\371\006\315\150\255\146\114\274\076\254\141\275\012\210 +\016\310\337\075\356\174\004\114\235\012\136\153\221\326\356\307 +\355\050\215\253\115\207\211\163\320\156\244\320\036\026\213\024 +\341\166\104\003\177\143\254\344\315\111\234\305\222\364\253\062 +\241\110\133\002\003\001\000\001\243\201\271\060\201\266\060\013 +\006\003\125\035\017\004\004\003\002\001\306\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\241\162\137\046\033\050\230\103\225 +\135\007\067\325\205\226\235\113\322\303\105\060\104\006\003\125 +\035\037\004\075\060\073\060\071\240\067\240\065\206\063\150\164 +\164\160\072\057\057\143\162\154\056\165\163\145\162\164\162\165 +\163\164\056\143\157\155\057\125\124\116\055\125\123\105\122\106 +\151\162\163\164\055\110\141\162\144\167\141\162\145\056\143\162 +\154\060\061\006\003\125\035\045\004\052\060\050\006\010\053\006 +\001\005\005\007\003\001\006\010\053\006\001\005\005\007\003\005 +\006\010\053\006\001\005\005\007\003\006\006\010\053\006\001\005 +\005\007\003\007\060\015\006\011\052\206\110\206\367\015\001\001 +\005\005\000\003\202\001\001\000\107\031\017\336\164\306\231\227 +\257\374\255\050\136\165\216\353\055\147\356\116\173\053\327\014 +\377\366\336\313\125\242\012\341\114\124\145\223\140\153\237\022 +\234\255\136\203\054\353\132\256\300\344\055\364\000\143\035\270 +\300\154\362\317\111\273\115\223\157\006\246\012\042\262\111\142 +\010\116\377\310\310\024\262\210\026\135\347\001\344\022\225\345 +\105\064\263\213\151\275\317\264\205\217\165\121\236\175\072\070 +\072\024\110\022\306\373\247\073\032\215\015\202\100\007\350\004 +\010\220\241\211\313\031\120\337\312\034\001\274\035\004\031\173 +\020\166\227\073\356\220\220\312\304\016\037\026\156\165\357\063 +\370\323\157\133\036\226\343\340\164\167\164\173\212\242\156\055 +\335\166\326\071\060\202\360\253\234\122\362\052\307\257\111\136 +\176\307\150\345\202\201\310\152\047\371\047\210\052\325\130\120 +\225\037\360\073\034\127\273\175\024\071\142\053\232\311\224\222 +\052\243\042\014\377\211\046\175\137\043\053\107\327\025\035\251 +\152\236\121\015\052\121\236\201\371\324\073\136\160\022\177\020 +\062\234\036\273\235\370\146\250 +END + +# Trust for Certificate "UTN USERFirst Hardware Root 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 "UTN USERFirst Hardware Root CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\004\203\355\063\231\254\066\010\005\207\042\355\274\136\106\000 +\343\276\371\327 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\114\126\101\345\015\273\053\350\312\243\355\030\010\255\103\071 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060 +\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153 +\145\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\041\060\037\006\003\125\004\013\023 +\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162 +\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125 +\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163 +\164\055\110\141\162\144\167\141\162\145 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\104\276\014\213\120\000\044\264\021\323\066\052\376\145 +\012\375 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "UTN USERFirst Object Root 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 "UTN USERFirst Object Root CA" +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\125\123 +\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060 +\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153 +\145\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\041\060\037\006\003\125\004\013\023 +\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162 +\164\162\165\163\164\056\143\157\155\061\035\060\033\006\003\125 +\004\003\023\024\125\124\116\055\125\123\105\122\106\151\162\163 +\164\055\117\142\152\145\143\164 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\225\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060 +\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153 +\145\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\041\060\037\006\003\125\004\013\023 +\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162 +\164\162\165\163\164\056\143\157\155\061\035\060\033\006\003\125 +\004\003\023\024\125\124\116\055\125\123\105\122\106\151\162\163 +\164\055\117\142\152\145\143\164 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\104\276\014\213\120\000\044\264\021\323\066\055\340\263 +\137\033 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\146\060\202\003\116\240\003\002\001\002\002\020\104 +\276\014\213\120\000\044\264\021\323\066\055\340\263\137\033\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\125\123\061\013 +\060\011\006\003\125\004\010\023\002\125\124\061\027\060\025\006 +\003\125\004\007\023\016\123\141\154\164\040\114\141\153\145\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\041\060\037\006\003\125\004\013\023\030\150 +\164\164\160\072\057\057\167\167\167\056\165\163\145\162\164\162 +\165\163\164\056\143\157\155\061\035\060\033\006\003\125\004\003 +\023\024\125\124\116\055\125\123\105\122\106\151\162\163\164\055 +\117\142\152\145\143\164\060\036\027\015\071\071\060\067\060\071 +\061\070\063\061\062\060\132\027\015\061\071\060\067\060\071\061 +\070\064\060\063\066\132\060\201\225\061\013\060\011\006\003\125 +\004\006\023\002\125\123\061\013\060\011\006\003\125\004\010\023 +\002\125\124\061\027\060\025\006\003\125\004\007\023\016\123\141 +\154\164\040\114\141\153\145\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\041\060\037 +\006\003\125\004\013\023\030\150\164\164\160\072\057\057\167\167 +\167\056\165\163\145\162\164\162\165\163\164\056\143\157\155\061 +\035\060\033\006\003\125\004\003\023\024\125\124\116\055\125\123 +\105\122\106\151\162\163\164\055\117\142\152\145\143\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\316 +\252\201\077\243\243\141\170\252\061\000\125\225\021\236\047\017 +\037\034\337\072\233\202\150\060\300\112\141\035\361\057\016\372 +\276\171\367\245\043\357\125\121\226\204\315\333\343\271\156\076 +\061\330\012\040\147\307\364\331\277\224\353\107\004\076\002\316 +\052\242\135\207\004\011\366\060\235\030\212\227\262\252\034\374 +\101\322\241\066\313\373\075\221\272\347\331\160\065\372\344\347 +\220\303\233\243\233\323\074\365\022\231\167\261\267\011\340\150 +\346\034\270\363\224\143\210\152\152\376\013\166\311\276\364\042 +\344\147\271\253\032\136\167\301\205\007\335\015\154\277\356\006 +\307\167\152\101\236\247\017\327\373\356\224\027\267\374\205\276 +\244\253\304\034\061\335\327\266\321\344\360\357\337\026\217\262 +\122\223\327\241\324\211\241\007\056\277\341\001\022\102\036\032 +\341\330\225\064\333\144\171\050\377\272\056\021\302\345\350\133 +\222\110\373\107\013\302\154\332\255\062\203\101\363\245\345\101 +\160\375\145\220\155\372\372\121\304\371\275\226\053\031\004\054 +\323\155\247\334\360\177\157\203\145\342\152\253\207\206\165\002 +\003\001\000\001\243\201\257\060\201\254\060\013\006\003\125\035 +\017\004\004\003\002\001\306\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\355\144\164\024\234\024\074\253\335\231\251\275 +\133\050\115\213\074\311\330\060\102\006\003\125\035\037\004\073 +\060\071\060\067\240\065\240\063\206\061\150\164\164\160\072\057 +\057\143\162\154\056\165\163\145\162\164\162\165\163\164\056\143 +\157\155\057\125\124\116\055\125\123\105\122\106\151\162\163\164 +\055\117\142\152\145\143\164\056\143\162\154\060\051\006\003\125 +\035\045\004\042\060\040\006\010\053\006\001\005\005\007\003\003 +\006\010\053\006\001\005\005\007\003\010\006\012\053\006\001\004 +\001\202\067\012\003\004\060\015\006\011\052\206\110\206\367\015 +\001\001\005\005\000\003\202\001\001\000\010\037\122\261\067\104 +\170\333\375\316\271\332\225\226\230\252\125\144\200\265\132\100 +\335\041\245\305\301\363\137\054\114\310\107\132\151\352\350\360 +\065\065\364\320\045\363\310\246\244\207\112\275\033\261\163\010 +\275\324\303\312\266\065\273\131\206\167\061\315\247\200\024\256 +\023\357\374\261\110\371\153\045\045\055\121\266\054\155\105\301 +\230\310\212\126\135\076\356\103\116\076\153\047\216\320\072\113 +\205\013\137\323\355\152\247\165\313\321\132\207\057\071\165\023 +\132\162\260\002\201\237\276\360\017\204\124\040\142\154\151\324 +\341\115\306\015\231\103\001\015\022\226\214\170\235\277\120\242 +\261\104\252\152\317\027\172\317\157\017\324\370\044\125\137\360 +\064\026\111\146\076\120\106\311\143\161\070\061\142\270\142\271 +\363\123\255\154\265\053\242\022\252\031\117\011\332\136\347\223 +\306\216\024\010\376\360\060\200\030\240\206\205\115\310\175\327 +\213\003\376\156\325\367\235\026\254\222\054\240\043\345\234\221 +\122\037\224\337\027\224\163\303\263\301\301\161\005\040\000\170 +\275\023\122\035\250\076\315\000\037\310 +END + +# Trust for Certificate "UTN USERFirst Object Root 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 "UTN USERFirst Object Root CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\341\055\373\113\101\327\331\303\053\060\121\113\254\035\201\330 +\070\136\055\106 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\247\362\344\026\006\101\021\120\060\153\234\343\264\234\260\311 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\225\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060 +\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153 +\145\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\041\060\037\006\003\125\004\013\023 +\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162 +\164\162\165\163\164\056\143\157\155\061\035\060\033\006\003\125 +\004\003\023\024\125\124\116\055\125\123\105\122\106\151\162\163 +\164\055\117\142\152\145\143\164 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\104\276\014\213\120\000\044\264\021\323\066\055\340\263 +\137\033 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Camerfirma Chambers of Commerce Root" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "Camerfirma Chambers of Commerce Root" +CKA_CLASS CK_OBJECT_CLASS 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_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Camerfirma Global Chambersign Root" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "Camerfirma Global Chambersign Root" +CKA_CLASS CK_OBJECT_CLASS 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_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "NetLock Qualified (Class QA) Root" +# +CKA_CLASS CK_OBJECT_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 Qualified (Class QA) Root" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\311\061\013\060\011\006\003\125\004\006\023\002\110\125 +\061\021\060\017\006\003\125\004\007\023\010\102\165\144\141\160 +\145\163\164\061\047\060\045\006\003\125\004\012\023\036\116\145 +\164\114\157\143\153\040\110\141\154\157\172\141\164\142\151\172 +\164\157\156\163\141\147\151\040\113\146\164\056\061\032\060\030 +\006\003\125\004\013\023\021\124\141\156\165\163\151\164\166\141 +\156\171\153\151\141\144\157\153\061\102\060\100\006\003\125\004 +\003\023\071\116\145\164\114\157\143\153\040\115\151\156\157\163 +\151\164\145\164\164\040\113\157\172\152\145\147\171\172\157\151 +\040\050\103\154\141\163\163\040\121\101\051\040\124\141\156\165 +\163\151\164\166\141\156\171\153\151\141\144\157\061\036\060\034 +\006\011\052\206\110\206\367\015\001\011\001\026\017\151\156\146 +\157\100\156\145\164\154\157\143\153\056\150\165 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\311\061\013\060\011\006\003\125\004\006\023\002\110\125 +\061\021\060\017\006\003\125\004\007\023\010\102\165\144\141\160 +\145\163\164\061\047\060\045\006\003\125\004\012\023\036\116\145 +\164\114\157\143\153\040\110\141\154\157\172\141\164\142\151\172 +\164\157\156\163\141\147\151\040\113\146\164\056\061\032\060\030 +\006\003\125\004\013\023\021\124\141\156\165\163\151\164\166\141 +\156\171\153\151\141\144\157\153\061\102\060\100\006\003\125\004 +\003\023\071\116\145\164\114\157\143\153\040\115\151\156\157\163 +\151\164\145\164\164\040\113\157\172\152\145\147\171\172\157\151 +\040\050\103\154\141\163\163\040\121\101\051\040\124\141\156\165 +\163\151\164\166\141\156\171\153\151\141\144\157\061\036\060\034 +\006\011\052\206\110\206\367\015\001\011\001\026\017\151\156\146 +\157\100\156\145\164\154\157\143\153\056\150\165 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\173 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\006\321\060\202\005\271\240\003\002\001\002\002\001\173 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\201\311\061\013\060\011\006\003\125\004\006\023\002\110\125\061 +\021\060\017\006\003\125\004\007\023\010\102\165\144\141\160\145 +\163\164\061\047\060\045\006\003\125\004\012\023\036\116\145\164 +\114\157\143\153\040\110\141\154\157\172\141\164\142\151\172\164 +\157\156\163\141\147\151\040\113\146\164\056\061\032\060\030\006 +\003\125\004\013\023\021\124\141\156\165\163\151\164\166\141\156 +\171\153\151\141\144\157\153\061\102\060\100\006\003\125\004\003 +\023\071\116\145\164\114\157\143\153\040\115\151\156\157\163\151 +\164\145\164\164\040\113\157\172\152\145\147\171\172\157\151\040 +\050\103\154\141\163\163\040\121\101\051\040\124\141\156\165\163 +\151\164\166\141\156\171\153\151\141\144\157\061\036\060\034\006 +\011\052\206\110\206\367\015\001\011\001\026\017\151\156\146\157 +\100\156\145\164\154\157\143\153\056\150\165\060\036\027\015\060 +\063\060\063\063\060\060\061\064\067\061\061\132\027\015\062\062 +\061\062\061\065\060\061\064\067\061\061\132\060\201\311\061\013 +\060\011\006\003\125\004\006\023\002\110\125\061\021\060\017\006 +\003\125\004\007\023\010\102\165\144\141\160\145\163\164\061\047 +\060\045\006\003\125\004\012\023\036\116\145\164\114\157\143\153 +\040\110\141\154\157\172\141\164\142\151\172\164\157\156\163\141 +\147\151\040\113\146\164\056\061\032\060\030\006\003\125\004\013 +\023\021\124\141\156\165\163\151\164\166\141\156\171\153\151\141 +\144\157\153\061\102\060\100\006\003\125\004\003\023\071\116\145 +\164\114\157\143\153\040\115\151\156\157\163\151\164\145\164\164 +\040\113\157\172\152\145\147\171\172\157\151\040\050\103\154\141 +\163\163\040\121\101\051\040\124\141\156\165\163\151\164\166\141 +\156\171\153\151\141\144\157\061\036\060\034\006\011\052\206\110 +\206\367\015\001\011\001\026\017\151\156\146\157\100\156\145\164 +\154\157\143\153\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\307\122\045\262\330\075\324\204 +\125\011\247\033\275\154\271\024\364\212\002\333\166\374\152\052 +\170\253\345\167\360\156\340\214\043\147\333\245\144\231\271\335 +\001\076\157\357\055\232\074\042\360\135\311\127\240\125\101\177 +\362\103\136\130\202\123\061\145\316\036\362\046\272\000\124\036 +\257\260\274\034\344\122\214\240\062\257\267\067\261\123\147\150 +\164\147\120\366\055\056\144\336\256\046\171\337\337\231\206\253 +\253\177\205\354\240\373\200\314\364\270\014\036\223\105\143\271 +\334\270\133\233\355\133\071\324\137\142\260\247\216\174\146\070 +\054\252\261\010\143\027\147\175\314\275\263\361\303\077\317\120 +\071\355\321\031\203\025\333\207\022\047\226\267\332\352\345\235 +\274\272\352\071\117\213\357\164\232\347\305\320\322\352\206\121 +\034\344\376\144\010\050\004\171\005\353\312\305\161\016\013\357 +\253\352\354\022\021\241\030\005\062\151\321\014\054\032\075\045 +\231\077\265\174\312\155\260\256\231\231\372\010\140\347\031\302 +\362\275\121\323\314\323\002\254\301\021\014\200\316\253\334\224 +\235\153\243\071\123\072\326\205\002\003\000\305\175\243\202\002 +\300\060\202\002\274\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\202\002\165\006\011\140 +\206\110\001\206\370\102\001\015\004\202\002\146\026\202\002\142 +\106\111\107\131\105\114\105\115\041\040\105\172\145\156\040\164 +\141\156\165\163\151\164\166\141\156\171\040\141\040\116\145\164 +\114\157\143\153\040\113\146\164\056\040\115\151\156\157\163\151 +\164\145\164\164\040\123\172\157\154\147\141\154\164\141\164\141 +\163\151\040\123\172\141\142\141\154\171\172\141\164\141\142\141 +\156\040\154\145\151\162\164\040\145\154\152\141\162\141\163\157 +\153\040\141\154\141\160\152\141\156\040\153\145\163\172\165\154 +\164\056\040\101\040\155\151\156\157\163\151\164\145\164\164\040 +\145\154\145\153\164\162\157\156\151\153\165\163\040\141\154\141 +\151\162\141\163\040\152\157\147\150\141\164\141\163\040\145\162 +\166\145\156\171\145\163\165\154\145\163\145\156\145\153\054\040 +\166\141\154\141\155\151\156\164\040\145\154\146\157\147\141\144 +\141\163\141\156\141\153\040\146\145\154\164\145\164\145\154\145 +\040\141\040\115\151\156\157\163\151\164\145\164\164\040\123\172 +\157\154\147\141\154\164\141\164\141\163\151\040\123\172\141\142 +\141\154\171\172\141\164\142\141\156\054\040\141\172\040\101\154 +\164\141\154\141\156\157\163\040\123\172\145\162\172\157\144\145 +\163\151\040\106\145\154\164\145\164\145\154\145\153\142\145\156 +\040\145\154\157\151\162\164\040\145\154\154\145\156\157\162\172 +\145\163\151\040\145\154\152\141\162\141\163\040\155\145\147\164 +\145\164\145\154\145\056\040\101\040\144\157\153\165\155\145\156 +\164\165\155\157\153\040\155\145\147\164\141\154\141\154\150\141 +\164\157\153\040\141\040\150\164\164\160\163\072\057\057\167\167 +\167\056\156\145\164\154\157\143\153\056\150\165\057\144\157\143 +\163\057\040\143\151\155\145\156\040\166\141\147\171\040\153\145 +\162\150\145\164\157\153\040\141\172\040\151\156\146\157\100\156 +\145\164\154\157\143\153\056\156\145\164\040\145\055\155\141\151 +\154\040\143\151\155\145\156\056\040\127\101\122\116\111\116\107 +\041\040\124\150\145\040\151\163\163\165\141\156\143\145\040\141 +\156\144\040\164\150\145\040\165\163\145\040\157\146\040\164\150 +\151\163\040\143\145\162\164\151\146\151\143\141\164\145\040\141 +\162\145\040\163\165\142\152\145\143\164\040\164\157\040\164\150 +\145\040\116\145\164\114\157\143\153\040\121\165\141\154\151\146 +\151\145\144\040\103\120\123\040\141\166\141\151\154\141\142\154 +\145\040\141\164\040\150\164\164\160\163\072\057\057\167\167\167 +\056\156\145\164\154\157\143\153\056\150\165\057\144\157\143\163 +\057\040\157\162\040\142\171\040\145\055\155\141\151\154\040\141 +\164\040\151\156\146\157\100\156\145\164\154\157\143\153\056\156 +\145\164\060\035\006\003\125\035\016\004\026\004\024\011\152\142 +\026\222\260\132\273\125\016\313\165\062\072\062\345\262\041\311 +\050\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000 +\003\202\001\001\000\221\152\120\234\333\170\201\233\077\213\102 +\343\073\374\246\303\356\103\340\317\363\342\200\065\111\105\166 +\002\342\343\057\005\305\361\052\347\300\101\063\306\266\233\320 +\063\071\315\300\333\241\255\154\067\002\114\130\101\073\362\227 +\222\306\110\250\315\345\212\071\211\141\371\122\227\351\275\366 +\371\224\164\350\161\016\274\167\206\303\006\314\132\174\112\176 +\064\120\060\056\373\177\062\232\215\075\363\040\133\370\152\312 +\206\363\061\114\054\131\200\002\175\376\070\311\060\165\034\267 +\125\343\274\237\272\250\155\204\050\005\165\263\213\015\300\221 +\124\041\347\246\013\264\231\365\121\101\334\315\243\107\042\331 +\307\001\201\304\334\107\117\046\352\037\355\333\315\015\230\364 +\243\234\264\163\062\112\226\231\376\274\177\310\045\130\370\130 +\363\166\146\211\124\244\246\076\304\120\134\272\211\030\202\165 +\110\041\322\117\023\350\140\176\007\166\333\020\265\121\346\252 +\271\150\252\315\366\235\220\165\022\352\070\032\312\104\350\267 +\231\247\052\150\225\146\225\253\255\357\211\313\140\251\006\022 +\306\224\107\351\050 +END + +# Trust for Certificate "NetLock Qualified (Class QA) Root" +CKA_CLASS CK_OBJECT_CLASS 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 Qualified (Class QA) Root" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\001\150\227\341\240\270\362\303\261\064\146\134\040\247\047\267 +\241\130\342\217 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\324\200\145\150\044\371\211\042\050\333\365\244\232\027\217\024 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\311\061\013\060\011\006\003\125\004\006\023\002\110\125 +\061\021\060\017\006\003\125\004\007\023\010\102\165\144\141\160 +\145\163\164\061\047\060\045\006\003\125\004\012\023\036\116\145 +\164\114\157\143\153\040\110\141\154\157\172\141\164\142\151\172 +\164\157\156\163\141\147\151\040\113\146\164\056\061\032\060\030 +\006\003\125\004\013\023\021\124\141\156\165\163\151\164\166\141 +\156\171\153\151\141\144\157\153\061\102\060\100\006\003\125\004 +\003\023\071\116\145\164\114\157\143\153\040\115\151\156\157\163 +\151\164\145\164\164\040\113\157\172\152\145\147\171\172\157\151 +\040\050\103\154\141\163\163\040\121\101\051\040\124\141\156\165 +\163\151\164\166\141\156\171\153\151\141\144\157\061\036\060\034 +\006\011\052\206\110\206\367\015\001\011\001\026\017\151\156\146 +\157\100\156\145\164\154\157\143\153\056\150\165 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\173 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "NetLock Notary (Class A) Root" +# +CKA_CLASS CK_OBJECT_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 Notary (Class A) Root" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\257\061\013\060\011\006\003\125\004\006\023\002\110\125 +\061\020\060\016\006\003\125\004\010\023\007\110\165\156\147\141 +\162\171\061\021\060\017\006\003\125\004\007\023\010\102\165\144 +\141\160\145\163\164\061\047\060\045\006\003\125\004\012\023\036 +\116\145\164\114\157\143\153\040\110\141\154\157\172\141\164\142 +\151\172\164\157\156\163\141\147\151\040\113\146\164\056\061\032 +\060\030\006\003\125\004\013\023\021\124\141\156\165\163\151\164 +\166\141\156\171\153\151\141\144\157\153\061\066\060\064\006\003 +\125\004\003\023\055\116\145\164\114\157\143\153\040\113\157\172 +\152\145\147\171\172\157\151\040\050\103\154\141\163\163\040\101 +\051\040\124\141\156\165\163\151\164\166\141\156\171\153\151\141 +\144\157 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\257\061\013\060\011\006\003\125\004\006\023\002\110\125 +\061\020\060\016\006\003\125\004\010\023\007\110\165\156\147\141 +\162\171\061\021\060\017\006\003\125\004\007\023\010\102\165\144 +\141\160\145\163\164\061\047\060\045\006\003\125\004\012\023\036 +\116\145\164\114\157\143\153\040\110\141\154\157\172\141\164\142 +\151\172\164\157\156\163\141\147\151\040\113\146\164\056\061\032 +\060\030\006\003\125\004\013\023\021\124\141\156\165\163\151\164 +\166\141\156\171\153\151\141\144\157\153\061\066\060\064\006\003 +\125\004\003\023\055\116\145\164\114\157\143\153\040\113\157\172 +\152\145\147\171\172\157\151\040\050\103\154\141\163\163\040\101 +\051\040\124\141\156\165\163\151\164\166\141\156\171\153\151\141 +\144\157 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\002\001\003 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\006\175\060\202\005\145\240\003\002\001\002\002\002\001 +\003\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000 +\060\201\257\061\013\060\011\006\003\125\004\006\023\002\110\125 +\061\020\060\016\006\003\125\004\010\023\007\110\165\156\147\141 +\162\171\061\021\060\017\006\003\125\004\007\023\010\102\165\144 +\141\160\145\163\164\061\047\060\045\006\003\125\004\012\023\036 +\116\145\164\114\157\143\153\040\110\141\154\157\172\141\164\142 +\151\172\164\157\156\163\141\147\151\040\113\146\164\056\061\032 +\060\030\006\003\125\004\013\023\021\124\141\156\165\163\151\164 +\166\141\156\171\153\151\141\144\157\153\061\066\060\064\006\003 +\125\004\003\023\055\116\145\164\114\157\143\153\040\113\157\172 +\152\145\147\171\172\157\151\040\050\103\154\141\163\163\040\101 +\051\040\124\141\156\165\163\151\164\166\141\156\171\153\151\141 +\144\157\060\036\027\015\071\071\060\062\062\064\062\063\061\064 +\064\067\132\027\015\061\071\060\062\061\071\062\063\061\064\064 +\067\132\060\201\257\061\013\060\011\006\003\125\004\006\023\002 +\110\125\061\020\060\016\006\003\125\004\010\023\007\110\165\156 +\147\141\162\171\061\021\060\017\006\003\125\004\007\023\010\102 +\165\144\141\160\145\163\164\061\047\060\045\006\003\125\004\012 +\023\036\116\145\164\114\157\143\153\040\110\141\154\157\172\141 +\164\142\151\172\164\157\156\163\141\147\151\040\113\146\164\056 +\061\032\060\030\006\003\125\004\013\023\021\124\141\156\165\163 +\151\164\166\141\156\171\153\151\141\144\157\153\061\066\060\064 +\006\003\125\004\003\023\055\116\145\164\114\157\143\153\040\113 +\157\172\152\145\147\171\172\157\151\040\050\103\154\141\163\163 +\040\101\051\040\124\141\156\165\163\151\164\166\141\156\171\153 +\151\141\144\157\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\274\164\214\017\273\114\364\067\036\251\005 +\202\330\346\341\154\160\352\170\265\156\321\070\104\015\250\203 +\316\135\322\326\325\201\305\324\113\347\133\224\160\046\333\073 +\235\152\114\142\367\161\363\144\326\141\073\075\353\163\243\067 +\331\317\352\214\222\073\315\367\007\334\146\164\227\364\105\042 +\335\364\134\340\277\155\363\276\145\063\344\025\072\277\333\230 +\220\125\070\304\355\246\125\143\013\260\170\004\364\343\156\301 +\077\216\374\121\170\037\222\236\203\302\376\331\260\251\311\274 +\132\000\377\251\250\230\164\373\366\054\076\025\071\015\266\004 +\125\250\016\230\040\102\263\261\045\255\176\232\157\135\123\261 +\253\014\374\353\340\363\172\263\250\263\377\106\366\143\242\330 +\072\230\173\266\254\205\377\260\045\117\164\143\347\023\007\245 +\012\217\005\367\300\144\157\176\247\047\200\226\336\324\056\206 +\140\307\153\053\136\163\173\027\347\221\077\144\014\330\113\042 +\064\053\233\062\362\110\037\237\241\012\204\172\342\302\255\227 +\075\216\325\301\371\126\243\120\351\306\264\372\230\242\356\225 +\346\052\003\214\337\002\003\001\000\001\243\202\002\237\060\202 +\002\233\060\016\006\003\125\035\017\001\001\377\004\004\003\002 +\000\006\060\022\006\003\125\035\023\001\001\377\004\010\060\006 +\001\001\377\002\001\004\060\021\006\011\140\206\110\001\206\370 +\102\001\001\004\004\003\002\000\007\060\202\002\140\006\011\140 +\206\110\001\206\370\102\001\015\004\202\002\121\026\202\002\115 +\106\111\107\131\105\114\105\115\041\040\105\172\145\156\040\164 +\141\156\165\163\151\164\166\141\156\171\040\141\040\116\145\164 +\114\157\143\153\040\113\146\164\056\040\101\154\164\141\154\141 +\156\157\163\040\123\172\157\154\147\141\154\164\141\164\141\163 +\151\040\106\145\154\164\145\164\145\154\145\151\142\145\156\040 +\154\145\151\162\164\040\145\154\152\141\162\141\163\157\153\040 +\141\154\141\160\152\141\156\040\153\145\163\172\165\154\164\056 +\040\101\040\150\151\164\145\154\145\163\151\164\145\163\040\146 +\157\154\171\141\155\141\164\141\164\040\141\040\116\145\164\114 +\157\143\153\040\113\146\164\056\040\164\145\162\155\145\153\146 +\145\154\145\154\157\163\163\145\147\055\142\151\172\164\157\163 +\151\164\141\163\141\040\166\145\144\151\056\040\101\040\144\151 +\147\151\164\141\154\151\163\040\141\154\141\151\162\141\163\040 +\145\154\146\157\147\141\144\141\163\141\156\141\153\040\146\145 +\154\164\145\164\145\154\145\040\141\172\040\145\154\157\151\162 +\164\040\145\154\154\145\156\157\162\172\145\163\151\040\145\154 +\152\141\162\141\163\040\155\145\147\164\145\164\145\154\145\056 +\040\101\172\040\145\154\152\141\162\141\163\040\154\145\151\162 +\141\163\141\040\155\145\147\164\141\154\141\154\150\141\164\157 +\040\141\040\116\145\164\114\157\143\153\040\113\146\164\056\040 +\111\156\164\145\162\156\145\164\040\150\157\156\154\141\160\152 +\141\156\040\141\040\150\164\164\160\163\072\057\057\167\167\167 +\056\156\145\164\154\157\143\153\056\156\145\164\057\144\157\143 +\163\040\143\151\155\145\156\040\166\141\147\171\040\153\145\162 +\150\145\164\157\040\141\172\040\145\154\154\145\156\157\162\172 +\145\163\100\156\145\164\154\157\143\153\056\156\145\164\040\145 +\055\155\141\151\154\040\143\151\155\145\156\056\040\111\115\120 +\117\122\124\101\116\124\041\040\124\150\145\040\151\163\163\165 +\141\156\143\145\040\141\156\144\040\164\150\145\040\165\163\145 +\040\157\146\040\164\150\151\163\040\143\145\162\164\151\146\151 +\143\141\164\145\040\151\163\040\163\165\142\152\145\143\164\040 +\164\157\040\164\150\145\040\116\145\164\114\157\143\153\040\103 +\120\123\040\141\166\141\151\154\141\142\154\145\040\141\164\040 +\150\164\164\160\163\072\057\057\167\167\167\056\156\145\164\154 +\157\143\153\056\156\145\164\057\144\157\143\163\040\157\162\040 +\142\171\040\145\055\155\141\151\154\040\141\164\040\143\160\163 +\100\156\145\164\154\157\143\153\056\156\145\164\056\060\015\006 +\011\052\206\110\206\367\015\001\001\004\005\000\003\202\001\001 +\000\110\044\106\367\272\126\157\372\310\050\003\100\116\345\061 +\071\153\046\153\123\177\333\337\337\363\161\075\046\300\024\016 +\306\147\173\043\250\014\163\335\001\273\306\312\156\067\071\125 +\325\307\214\126\040\016\050\012\016\322\052\244\260\111\122\306 +\070\007\376\276\012\011\214\321\230\317\312\332\024\061\241\117 +\322\071\374\017\021\054\103\303\335\253\223\307\125\076\107\174 +\030\032\000\334\363\173\330\362\177\122\154\040\364\013\137\151 +\122\364\356\370\262\051\140\353\343\111\061\041\015\326\265\020 +\101\342\101\011\154\342\032\232\126\113\167\002\366\240\233\232 +\047\207\350\125\051\161\302\220\237\105\170\032\341\025\144\075 +\320\016\330\240\166\237\256\305\320\056\352\326\017\126\354\144 +\177\132\233\024\130\001\047\176\023\120\307\153\052\346\150\074 +\277\134\240\012\033\341\016\172\351\342\200\303\351\351\366\375 +\154\021\236\320\345\050\047\053\124\062\102\024\202\165\346\112 +\360\053\146\165\143\214\242\373\004\076\203\016\233\066\360\030 +\344\046\040\303\214\360\050\007\255\074\027\146\210\265\375\266 +\210 +END + +# Trust for Certificate "NetLock Notary (Class A) Root" +CKA_CLASS CK_OBJECT_CLASS 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 Notary (Class A) Root" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\254\355\137\145\123\375\045\316\001\137\037\172\110\073\152\164 +\237\141\170\306 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\206\070\155\136\111\143\154\205\134\333\155\334\224\267\320\367 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\257\061\013\060\011\006\003\125\004\006\023\002\110\125 +\061\020\060\016\006\003\125\004\010\023\007\110\165\156\147\141 +\162\171\061\021\060\017\006\003\125\004\007\023\010\102\165\144 +\141\160\145\163\164\061\047\060\045\006\003\125\004\012\023\036 +\116\145\164\114\157\143\153\040\110\141\154\157\172\141\164\142 +\151\172\164\157\156\163\141\147\151\040\113\146\164\056\061\032 +\060\030\006\003\125\004\013\023\021\124\141\156\165\163\151\164 +\166\141\156\171\153\151\141\144\157\153\061\066\060\064\006\003 +\125\004\003\023\055\116\145\164\114\157\143\153\040\113\157\172 +\152\145\147\171\172\157\151\040\050\103\154\141\163\163\040\101 +\051\040\124\141\156\165\163\151\164\166\141\156\171\153\151\141 +\144\157 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\002\001\003 +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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "NetLock Business (Class B) Root" +# +CKA_CLASS CK_OBJECT_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 Business (Class B) Root" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\231\061\013\060\011\006\003\125\004\006\023\002\110\125 +\061\021\060\017\006\003\125\004\007\023\010\102\165\144\141\160 +\145\163\164\061\047\060\045\006\003\125\004\012\023\036\116\145 +\164\114\157\143\153\040\110\141\154\157\172\141\164\142\151\172 +\164\157\156\163\141\147\151\040\113\146\164\056\061\032\060\030 +\006\003\125\004\013\023\021\124\141\156\165\163\151\164\166\141 +\156\171\153\151\141\144\157\153\061\062\060\060\006\003\125\004 +\003\023\051\116\145\164\114\157\143\153\040\125\172\154\145\164 +\151\040\050\103\154\141\163\163\040\102\051\040\124\141\156\165 +\163\151\164\166\141\156\171\153\151\141\144\157 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\231\061\013\060\011\006\003\125\004\006\023\002\110\125 +\061\021\060\017\006\003\125\004\007\023\010\102\165\144\141\160 +\145\163\164\061\047\060\045\006\003\125\004\012\023\036\116\145 +\164\114\157\143\153\040\110\141\154\157\172\141\164\142\151\172 +\164\157\156\163\141\147\151\040\113\146\164\056\061\032\060\030 +\006\003\125\004\013\023\021\124\141\156\165\163\151\164\166\141 +\156\171\153\151\141\144\157\153\061\062\060\060\006\003\125\004 +\003\023\051\116\145\164\114\157\143\153\040\125\172\154\145\164 +\151\040\050\103\154\141\163\163\040\102\051\040\124\141\156\165 +\163\151\164\166\141\156\171\153\151\141\144\157 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\151 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\113\060\202\004\264\240\003\002\001\002\002\001\151 +\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060 +\201\231\061\013\060\011\006\003\125\004\006\023\002\110\125\061 +\021\060\017\006\003\125\004\007\023\010\102\165\144\141\160\145 +\163\164\061\047\060\045\006\003\125\004\012\023\036\116\145\164 +\114\157\143\153\040\110\141\154\157\172\141\164\142\151\172\164 +\157\156\163\141\147\151\040\113\146\164\056\061\032\060\030\006 +\003\125\004\013\023\021\124\141\156\165\163\151\164\166\141\156 +\171\153\151\141\144\157\153\061\062\060\060\006\003\125\004\003 +\023\051\116\145\164\114\157\143\153\040\125\172\154\145\164\151 +\040\050\103\154\141\163\163\040\102\051\040\124\141\156\165\163 +\151\164\166\141\156\171\153\151\141\144\157\060\036\027\015\071 +\071\060\062\062\065\061\064\061\060\062\062\132\027\015\061\071 +\060\062\062\060\061\064\061\060\062\062\132\060\201\231\061\013 +\060\011\006\003\125\004\006\023\002\110\125\061\021\060\017\006 +\003\125\004\007\023\010\102\165\144\141\160\145\163\164\061\047 +\060\045\006\003\125\004\012\023\036\116\145\164\114\157\143\153 +\040\110\141\154\157\172\141\164\142\151\172\164\157\156\163\141 +\147\151\040\113\146\164\056\061\032\060\030\006\003\125\004\013 +\023\021\124\141\156\165\163\151\164\166\141\156\171\153\151\141 +\144\157\153\061\062\060\060\006\003\125\004\003\023\051\116\145 +\164\114\157\143\153\040\125\172\154\145\164\151\040\050\103\154 +\141\163\163\040\102\051\040\124\141\156\165\163\151\164\166\141 +\156\171\153\151\141\144\157\060\201\237\060\015\006\011\052\206 +\110\206\367\015\001\001\001\005\000\003\201\215\000\060\201\211 +\002\201\201\000\261\352\004\354\040\240\043\302\217\070\140\317 +\307\106\263\325\033\376\373\271\231\236\004\334\034\177\214\112 +\201\230\356\244\324\312\212\027\271\042\177\203\012\165\114\233 +\300\151\330\144\071\243\355\222\243\375\133\134\164\032\300\107 +\312\072\151\166\232\272\342\104\027\374\114\243\325\376\270\227 +\210\257\210\003\211\037\244\362\004\076\310\007\013\346\371\263 +\057\172\142\024\011\106\024\312\144\365\213\200\265\142\250\330 +\153\326\161\223\055\263\277\011\124\130\355\006\353\250\173\334 +\103\261\241\151\002\003\001\000\001\243\202\002\237\060\202\002 +\233\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\000\006\060\021\006\011\140\206\110\001\206\370\102 +\001\001\004\004\003\002\000\007\060\202\002\140\006\011\140\206 +\110\001\206\370\102\001\015\004\202\002\121\026\202\002\115\106 +\111\107\131\105\114\105\115\041\040\105\172\145\156\040\164\141 +\156\165\163\151\164\166\141\156\171\040\141\040\116\145\164\114 +\157\143\153\040\113\146\164\056\040\101\154\164\141\154\141\156 +\157\163\040\123\172\157\154\147\141\154\164\141\164\141\163\151 +\040\106\145\154\164\145\164\145\154\145\151\142\145\156\040\154 +\145\151\162\164\040\145\154\152\141\162\141\163\157\153\040\141 +\154\141\160\152\141\156\040\153\145\163\172\165\154\164\056\040 +\101\040\150\151\164\145\154\145\163\151\164\145\163\040\146\157 +\154\171\141\155\141\164\141\164\040\141\040\116\145\164\114\157 +\143\153\040\113\146\164\056\040\164\145\162\155\145\153\146\145 +\154\145\154\157\163\163\145\147\055\142\151\172\164\157\163\151 +\164\141\163\141\040\166\145\144\151\056\040\101\040\144\151\147 +\151\164\141\154\151\163\040\141\154\141\151\162\141\163\040\145 +\154\146\157\147\141\144\141\163\141\156\141\153\040\146\145\154 +\164\145\164\145\154\145\040\141\172\040\145\154\157\151\162\164 +\040\145\154\154\145\156\157\162\172\145\163\151\040\145\154\152 +\141\162\141\163\040\155\145\147\164\145\164\145\154\145\056\040 +\101\172\040\145\154\152\141\162\141\163\040\154\145\151\162\141 +\163\141\040\155\145\147\164\141\154\141\154\150\141\164\157\040 +\141\040\116\145\164\114\157\143\153\040\113\146\164\056\040\111 +\156\164\145\162\156\145\164\040\150\157\156\154\141\160\152\141 +\156\040\141\040\150\164\164\160\163\072\057\057\167\167\167\056 +\156\145\164\154\157\143\153\056\156\145\164\057\144\157\143\163 +\040\143\151\155\145\156\040\166\141\147\171\040\153\145\162\150 +\145\164\157\040\141\172\040\145\154\154\145\156\157\162\172\145 +\163\100\156\145\164\154\157\143\153\056\156\145\164\040\145\055 +\155\141\151\154\040\143\151\155\145\156\056\040\111\115\120\117 +\122\124\101\116\124\041\040\124\150\145\040\151\163\163\165\141 +\156\143\145\040\141\156\144\040\164\150\145\040\165\163\145\040 +\157\146\040\164\150\151\163\040\143\145\162\164\151\146\151\143 +\141\164\145\040\151\163\040\163\165\142\152\145\143\164\040\164 +\157\040\164\150\145\040\116\145\164\114\157\143\153\040\103\120 +\123\040\141\166\141\151\154\141\142\154\145\040\141\164\040\150 +\164\164\160\163\072\057\057\167\167\167\056\156\145\164\154\157 +\143\153\056\156\145\164\057\144\157\143\163\040\157\162\040\142 +\171\040\145\055\155\141\151\154\040\141\164\040\143\160\163\100 +\156\145\164\154\157\143\153\056\156\145\164\056\060\015\006\011 +\052\206\110\206\367\015\001\001\004\005\000\003\201\201\000\004 +\333\256\214\027\257\370\016\220\061\116\315\076\011\300\155\072 +\260\370\063\114\107\114\343\165\210\020\227\254\260\070\025\221 +\306\051\226\314\041\300\155\074\245\164\317\330\202\245\071\303 +\145\343\102\160\273\042\220\343\175\333\065\166\341\240\265\332 +\237\160\156\223\032\060\071\035\060\333\056\343\174\262\221\262 +\321\067\051\372\271\326\027\134\107\117\343\035\070\353\237\325 +\173\225\250\050\236\025\112\321\321\320\053\000\227\240\342\222 +\066\053\143\254\130\001\153\063\051\120\206\203\361\001\110 +END + +# Trust for Certificate "NetLock Business (Class B) Root" +CKA_CLASS CK_OBJECT_CLASS 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 Business (Class B) Root" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\207\237\113\356\005\337\230\130\073\343\140\326\063\347\015\077 +\376\230\161\257 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\071\026\252\271\152\101\341\024\151\337\236\154\073\162\334\266 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\231\061\013\060\011\006\003\125\004\006\023\002\110\125 +\061\021\060\017\006\003\125\004\007\023\010\102\165\144\141\160 +\145\163\164\061\047\060\045\006\003\125\004\012\023\036\116\145 +\164\114\157\143\153\040\110\141\154\157\172\141\164\142\151\172 +\164\157\156\163\141\147\151\040\113\146\164\056\061\032\060\030 +\006\003\125\004\013\023\021\124\141\156\165\163\151\164\166\141 +\156\171\153\151\141\144\157\153\061\062\060\060\006\003\125\004 +\003\023\051\116\145\164\114\157\143\153\040\125\172\154\145\164 +\151\040\050\103\154\141\163\163\040\102\051\040\124\141\156\165 +\163\151\164\166\141\156\171\153\151\141\144\157 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\151 +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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "NetLock Express (Class C) Root" +# +CKA_CLASS CK_OBJECT_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 Express (Class C) Root" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\233\061\013\060\011\006\003\125\004\006\023\002\110\125 +\061\021\060\017\006\003\125\004\007\023\010\102\165\144\141\160 +\145\163\164\061\047\060\045\006\003\125\004\012\023\036\116\145 +\164\114\157\143\153\040\110\141\154\157\172\141\164\142\151\172 +\164\157\156\163\141\147\151\040\113\146\164\056\061\032\060\030 +\006\003\125\004\013\023\021\124\141\156\165\163\151\164\166\141 +\156\171\153\151\141\144\157\153\061\064\060\062\006\003\125\004 +\003\023\053\116\145\164\114\157\143\153\040\105\170\160\162\145 +\163\163\172\040\050\103\154\141\163\163\040\103\051\040\124\141 +\156\165\163\151\164\166\141\156\171\153\151\141\144\157 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\233\061\013\060\011\006\003\125\004\006\023\002\110\125 +\061\021\060\017\006\003\125\004\007\023\010\102\165\144\141\160 +\145\163\164\061\047\060\045\006\003\125\004\012\023\036\116\145 +\164\114\157\143\153\040\110\141\154\157\172\141\164\142\151\172 +\164\157\156\163\141\147\151\040\113\146\164\056\061\032\060\030 +\006\003\125\004\013\023\021\124\141\156\165\163\151\164\166\141 +\156\171\153\151\141\144\157\153\061\064\060\062\006\003\125\004 +\003\023\053\116\145\164\114\157\143\153\040\105\170\160\162\145 +\163\163\172\040\050\103\154\141\163\163\040\103\051\040\124\141 +\156\165\163\151\164\166\141\156\171\153\151\141\144\157 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\150 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\117\060\202\004\270\240\003\002\001\002\002\001\150 +\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060 +\201\233\061\013\060\011\006\003\125\004\006\023\002\110\125\061 +\021\060\017\006\003\125\004\007\023\010\102\165\144\141\160\145 +\163\164\061\047\060\045\006\003\125\004\012\023\036\116\145\164 +\114\157\143\153\040\110\141\154\157\172\141\164\142\151\172\164 +\157\156\163\141\147\151\040\113\146\164\056\061\032\060\030\006 +\003\125\004\013\023\021\124\141\156\165\163\151\164\166\141\156 +\171\153\151\141\144\157\153\061\064\060\062\006\003\125\004\003 +\023\053\116\145\164\114\157\143\153\040\105\170\160\162\145\163 +\163\172\040\050\103\154\141\163\163\040\103\051\040\124\141\156 +\165\163\151\164\166\141\156\171\153\151\141\144\157\060\036\027 +\015\071\071\060\062\062\065\061\064\060\070\061\061\132\027\015 +\061\071\060\062\062\060\061\064\060\070\061\061\132\060\201\233 +\061\013\060\011\006\003\125\004\006\023\002\110\125\061\021\060 +\017\006\003\125\004\007\023\010\102\165\144\141\160\145\163\164 +\061\047\060\045\006\003\125\004\012\023\036\116\145\164\114\157 +\143\153\040\110\141\154\157\172\141\164\142\151\172\164\157\156 +\163\141\147\151\040\113\146\164\056\061\032\060\030\006\003\125 +\004\013\023\021\124\141\156\165\163\151\164\166\141\156\171\153 +\151\141\144\157\153\061\064\060\062\006\003\125\004\003\023\053 +\116\145\164\114\157\143\153\040\105\170\160\162\145\163\163\172 +\040\050\103\154\141\163\163\040\103\051\040\124\141\156\165\163 +\151\164\166\141\156\171\153\151\141\144\157\060\201\237\060\015 +\006\011\052\206\110\206\367\015\001\001\001\005\000\003\201\215 +\000\060\201\211\002\201\201\000\353\354\260\154\141\212\043\045 +\257\140\040\343\331\237\374\223\013\333\135\215\260\241\263\100 +\072\202\316\375\165\340\170\062\003\206\132\206\225\221\355\123 +\372\235\100\374\346\350\335\331\133\172\003\275\135\363\073\014 +\303\121\171\233\255\125\240\351\320\003\020\257\012\272\024\102 +\331\122\046\021\042\307\322\040\314\202\244\232\251\376\270\201 +\166\235\152\267\322\066\165\076\261\206\011\366\156\155\176\116 +\267\172\354\256\161\204\366\004\063\010\045\062\353\164\254\026 +\104\306\344\100\223\035\177\255\002\003\001\000\001\243\202\002 +\237\060\202\002\233\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\000\006\060\021\006\011\140\206\110 +\001\206\370\102\001\001\004\004\003\002\000\007\060\202\002\140 +\006\011\140\206\110\001\206\370\102\001\015\004\202\002\121\026 +\202\002\115\106\111\107\131\105\114\105\115\041\040\105\172\145 +\156\040\164\141\156\165\163\151\164\166\141\156\171\040\141\040 +\116\145\164\114\157\143\153\040\113\146\164\056\040\101\154\164 +\141\154\141\156\157\163\040\123\172\157\154\147\141\154\164\141 +\164\141\163\151\040\106\145\154\164\145\164\145\154\145\151\142 +\145\156\040\154\145\151\162\164\040\145\154\152\141\162\141\163 +\157\153\040\141\154\141\160\152\141\156\040\153\145\163\172\165 +\154\164\056\040\101\040\150\151\164\145\154\145\163\151\164\145 +\163\040\146\157\154\171\141\155\141\164\141\164\040\141\040\116 +\145\164\114\157\143\153\040\113\146\164\056\040\164\145\162\155 +\145\153\146\145\154\145\154\157\163\163\145\147\055\142\151\172 +\164\157\163\151\164\141\163\141\040\166\145\144\151\056\040\101 +\040\144\151\147\151\164\141\154\151\163\040\141\154\141\151\162 +\141\163\040\145\154\146\157\147\141\144\141\163\141\156\141\153 +\040\146\145\154\164\145\164\145\154\145\040\141\172\040\145\154 +\157\151\162\164\040\145\154\154\145\156\157\162\172\145\163\151 +\040\145\154\152\141\162\141\163\040\155\145\147\164\145\164\145 +\154\145\056\040\101\172\040\145\154\152\141\162\141\163\040\154 +\145\151\162\141\163\141\040\155\145\147\164\141\154\141\154\150 +\141\164\157\040\141\040\116\145\164\114\157\143\153\040\113\146 +\164\056\040\111\156\164\145\162\156\145\164\040\150\157\156\154 +\141\160\152\141\156\040\141\040\150\164\164\160\163\072\057\057 +\167\167\167\056\156\145\164\154\157\143\153\056\156\145\164\057 +\144\157\143\163\040\143\151\155\145\156\040\166\141\147\171\040 +\153\145\162\150\145\164\157\040\141\172\040\145\154\154\145\156 +\157\162\172\145\163\100\156\145\164\154\157\143\153\056\156\145 +\164\040\145\055\155\141\151\154\040\143\151\155\145\156\056\040 +\111\115\120\117\122\124\101\116\124\041\040\124\150\145\040\151 +\163\163\165\141\156\143\145\040\141\156\144\040\164\150\145\040 +\165\163\145\040\157\146\040\164\150\151\163\040\143\145\162\164 +\151\146\151\143\141\164\145\040\151\163\040\163\165\142\152\145 +\143\164\040\164\157\040\164\150\145\040\116\145\164\114\157\143 +\153\040\103\120\123\040\141\166\141\151\154\141\142\154\145\040 +\141\164\040\150\164\164\160\163\072\057\057\167\167\167\056\156 +\145\164\154\157\143\153\056\156\145\164\057\144\157\143\163\040 +\157\162\040\142\171\040\145\055\155\141\151\154\040\141\164\040 +\143\160\163\100\156\145\164\154\157\143\153\056\156\145\164\056 +\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\003 +\201\201\000\020\255\177\327\014\062\200\012\330\206\361\171\230 +\265\255\324\315\263\066\304\226\110\301\134\315\232\331\005\056 +\237\276\120\353\364\046\024\020\055\324\146\027\370\236\301\047 +\375\361\355\344\173\113\240\154\265\253\232\127\160\246\355\240 +\244\355\056\365\375\374\275\376\115\067\010\014\274\343\226\203 +\042\365\111\033\177\113\053\264\124\301\200\174\231\116\035\320 +\214\356\320\254\345\222\372\165\126\376\144\240\023\217\270\270 +\026\235\141\005\147\200\310\320\330\245\007\002\064\230\004\215 +\063\004\324 +END + +# Trust for Certificate "NetLock Express (Class C) Root" +CKA_CLASS CK_OBJECT_CLASS 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 Express (Class C) Root" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\343\222\121\057\012\317\365\005\337\366\336\006\177\165\067\341 +\145\352\127\113 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\117\353\361\360\160\302\200\143\135\130\237\332\022\074\251\304 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\233\061\013\060\011\006\003\125\004\006\023\002\110\125 +\061\021\060\017\006\003\125\004\007\023\010\102\165\144\141\160 +\145\163\164\061\047\060\045\006\003\125\004\012\023\036\116\145 +\164\114\157\143\153\040\110\141\154\157\172\141\164\142\151\172 +\164\157\156\163\141\147\151\040\113\146\164\056\061\032\060\030 +\006\003\125\004\013\023\021\124\141\156\165\163\151\164\166\141 +\156\171\153\151\141\144\157\153\061\064\060\062\006\003\125\004 +\003\023\053\116\145\164\114\157\143\153\040\105\170\160\162\145 +\163\163\172\040\050\103\154\141\163\163\040\103\051\040\124\141 +\156\165\163\151\164\166\141\156\171\153\151\141\144\157 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\150 +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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "XRamp Global CA Root" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "XRamp Global CA Root" +CKA_CLASS CK_OBJECT_CLASS 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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Go Daddy Class 2 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 "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 + +# Trust for Certificate "Go Daddy Class 2 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 "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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Starfield Class 2 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 "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 + +# Trust for Certificate "Starfield Class 2 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 "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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "StartCom Certification Authority" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "StartCom Certification Authority" +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\111\114\061 +\026\060\024\006\003\125\004\012\023\015\123\164\141\162\164\103 +\157\155\040\114\164\144\056\061\053\060\051\006\003\125\004\013 +\023\042\123\145\143\165\162\145\040\104\151\147\151\164\141\154 +\040\103\145\162\164\151\146\151\143\141\164\145\040\123\151\147 +\156\151\156\147\061\051\060\047\006\003\125\004\003\023\040\123 +\164\141\162\164\103\157\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 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\175\061\013\060\011\006\003\125\004\006\023\002\111\114\061 +\026\060\024\006\003\125\004\012\023\015\123\164\141\162\164\103 +\157\155\040\114\164\144\056\061\053\060\051\006\003\125\004\013 +\023\042\123\145\143\165\162\145\040\104\151\147\151\164\141\154 +\040\103\145\162\164\151\146\151\143\141\164\145\040\123\151\147 +\156\151\156\147\061\051\060\047\006\003\125\004\003\023\040\123 +\164\141\162\164\103\157\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 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\007\311\060\202\005\261\240\003\002\001\002\002\001\001 +\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\111\114\061\026 +\060\024\006\003\125\004\012\023\015\123\164\141\162\164\103\157 +\155\040\114\164\144\056\061\053\060\051\006\003\125\004\013\023 +\042\123\145\143\165\162\145\040\104\151\147\151\164\141\154\040 +\103\145\162\164\151\146\151\143\141\164\145\040\123\151\147\156 +\151\156\147\061\051\060\047\006\003\125\004\003\023\040\123\164 +\141\162\164\103\157\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\060\036 +\027\015\060\066\060\071\061\067\061\071\064\066\063\066\132\027 +\015\063\066\060\071\061\067\061\071\064\066\063\066\132\060\175 +\061\013\060\011\006\003\125\004\006\023\002\111\114\061\026\060 +\024\006\003\125\004\012\023\015\123\164\141\162\164\103\157\155 +\040\114\164\144\056\061\053\060\051\006\003\125\004\013\023\042 +\123\145\143\165\162\145\040\104\151\147\151\164\141\154\040\103 +\145\162\164\151\146\151\143\141\164\145\040\123\151\147\156\151 +\156\147\061\051\060\047\006\003\125\004\003\023\040\123\164\141 +\162\164\103\157\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\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\301\210 +\333\011\274\154\106\174\170\237\225\173\265\063\220\362\162\142 +\326\301\066\040\042\044\136\316\351\167\362\103\012\242\006\144 +\244\314\216\066\370\070\346\043\360\156\155\261\074\335\162\243 +\205\034\241\323\075\264\063\053\323\057\257\376\352\260\101\131 +\147\266\304\006\175\012\236\164\205\326\171\114\200\067\172\337 +\071\005\122\131\367\364\033\106\103\244\322\205\205\322\303\161 +\363\165\142\064\272\054\212\177\036\217\356\355\064\320\021\307 +\226\315\122\075\272\063\326\335\115\336\013\073\112\113\237\302 +\046\057\372\265\026\034\162\065\167\312\074\135\346\312\341\046 +\213\032\066\166\134\001\333\164\024\045\376\355\265\240\210\017 +\335\170\312\055\037\007\227\060\001\055\162\171\372\106\326\023 +\052\250\271\246\253\203\111\035\345\362\357\335\344\001\216\030 +\012\217\143\123\026\205\142\251\016\031\072\314\265\146\246\302 +\153\164\007\344\053\341\166\076\264\155\330\366\104\341\163\142 +\037\073\304\276\240\123\126\045\154\121\011\367\252\253\312\277 +\166\375\155\233\363\235\333\277\075\146\274\014\126\252\257\230 +\110\225\072\113\337\247\130\120\331\070\165\251\133\352\103\014 +\002\377\231\353\350\154\115\160\133\051\145\234\335\252\135\314 +\257\001\061\354\014\353\322\215\350\352\234\173\346\156\367\047 +\146\014\032\110\327\156\102\343\077\336\041\076\173\341\015\160 +\373\143\252\250\154\032\124\264\134\045\172\311\242\311\213\026 +\246\273\054\176\027\136\005\115\130\156\022\035\001\356\022\020 +\015\306\062\177\030\377\374\364\372\315\156\221\350\066\111\276 +\032\110\151\213\302\226\115\032\022\262\151\027\301\012\220\326 +\372\171\042\110\277\272\173\151\370\160\307\372\172\067\330\330 +\015\322\166\117\127\377\220\267\343\221\322\335\357\302\140\267 +\147\072\335\376\252\234\360\324\213\177\162\042\316\306\237\227 +\266\370\257\212\240\020\250\331\373\030\306\266\265\134\122\074 +\211\266\031\052\163\001\012\017\003\263\022\140\362\172\057\201 +\333\243\156\377\046\060\227\365\213\335\211\127\266\255\075\263 +\257\053\305\267\166\002\360\245\326\053\232\206\024\052\162\366 +\343\063\214\135\011\113\023\337\273\214\164\023\122\113\002\003 +\001\000\001\243\202\002\122\060\202\002\116\060\014\006\003\125 +\035\023\004\005\060\003\001\001\377\060\013\006\003\125\035\017 +\004\004\003\002\001\256\060\035\006\003\125\035\016\004\026\004 +\024\116\013\357\032\244\100\133\245\027\151\207\060\312\064\150 +\103\320\101\256\362\060\144\006\003\125\035\037\004\135\060\133 +\060\054\240\052\240\050\206\046\150\164\164\160\072\057\057\143 +\145\162\164\056\163\164\141\162\164\143\157\155\056\157\162\147 +\057\163\146\163\143\141\055\143\162\154\056\143\162\154\060\053 +\240\051\240\047\206\045\150\164\164\160\072\057\057\143\162\154 +\056\163\164\141\162\164\143\157\155\056\157\162\147\057\163\146 +\163\143\141\055\143\162\154\056\143\162\154\060\202\001\135\006 +\003\125\035\040\004\202\001\124\060\202\001\120\060\202\001\114 +\006\013\053\006\001\004\001\201\265\067\001\001\001\060\202\001 +\073\060\057\006\010\053\006\001\005\005\007\002\001\026\043\150 +\164\164\160\072\057\057\143\145\162\164\056\163\164\141\162\164 +\143\157\155\056\157\162\147\057\160\157\154\151\143\171\056\160 +\144\146\060\065\006\010\053\006\001\005\005\007\002\001\026\051 +\150\164\164\160\072\057\057\143\145\162\164\056\163\164\141\162 +\164\143\157\155\056\157\162\147\057\151\156\164\145\162\155\145 +\144\151\141\164\145\056\160\144\146\060\201\320\006\010\053\006 +\001\005\005\007\002\002\060\201\303\060\047\026\040\123\164\141 +\162\164\040\103\157\155\155\145\162\143\151\141\154\040\050\123 +\164\141\162\164\103\157\155\051\040\114\164\144\056\060\003\002 +\001\001\032\201\227\114\151\155\151\164\145\144\040\114\151\141 +\142\151\154\151\164\171\054\040\162\145\141\144\040\164\150\145 +\040\163\145\143\164\151\157\156\040\052\114\145\147\141\154\040 +\114\151\155\151\164\141\164\151\157\156\163\052\040\157\146\040 +\164\150\145\040\123\164\141\162\164\103\157\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\040\120\157\154\151\143\171\040\141\166\141\151 +\154\141\142\154\145\040\141\164\040\150\164\164\160\072\057\057 +\143\145\162\164\056\163\164\141\162\164\143\157\155\056\157\162 +\147\057\160\157\154\151\143\171\056\160\144\146\060\021\006\011 +\140\206\110\001\206\370\102\001\001\004\004\003\002\000\007\060 +\070\006\011\140\206\110\001\206\370\102\001\015\004\053\026\051 +\123\164\141\162\164\103\157\155\040\106\162\145\145\040\123\123 +\114\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\015\006\011\052\206\110 +\206\367\015\001\001\005\005\000\003\202\002\001\000\026\154\231 +\364\146\014\064\365\320\205\136\175\012\354\332\020\116\070\034 +\136\337\246\045\005\113\221\062\301\350\073\361\075\335\104\011 +\133\007\111\212\051\313\146\002\267\261\232\367\045\230\011\074 +\216\033\341\335\066\207\053\113\273\150\323\071\146\075\240\046 +\307\362\071\221\035\121\253\202\173\176\325\316\132\344\342\003 +\127\160\151\227\010\371\136\130\246\012\337\214\006\232\105\026 +\026\070\012\136\127\366\142\307\172\002\005\346\274\036\265\362 +\236\364\251\051\203\370\262\024\343\156\050\207\104\303\220\032 +\336\070\251\074\254\103\115\144\105\316\335\050\251\134\362\163 +\173\004\370\027\350\253\261\363\056\134\144\156\163\061\072\022 +\270\274\263\021\344\175\217\201\121\232\073\215\211\364\115\223 +\146\173\074\003\355\323\232\035\232\363\145\120\365\240\320\165 +\237\057\257\360\352\202\103\230\370\151\234\211\171\304\103\216 +\106\162\343\144\066\022\257\367\045\036\070\211\220\167\176\303 +\153\152\271\303\313\104\113\254\170\220\213\347\307\054\036\113 +\021\104\310\064\122\047\315\012\135\237\205\301\211\325\032\170 +\362\225\020\123\062\335\200\204\146\165\331\265\150\050\373\141 +\056\276\204\250\070\300\231\022\206\245\036\147\144\255\006\056 +\057\251\160\205\307\226\017\174\211\145\365\216\103\124\016\253 +\335\245\200\071\224\140\300\064\311\226\160\054\243\022\365\037 +\110\173\275\034\176\153\267\235\220\364\042\073\256\370\374\052 +\312\372\202\122\240\357\257\113\125\223\353\301\265\360\042\213 +\254\064\116\046\042\004\241\207\054\165\112\267\345\175\023\327 +\270\014\144\300\066\322\311\057\206\022\214\043\011\301\033\202 +\073\163\111\243\152\127\207\224\345\326\170\305\231\103\143\343 +\115\340\167\055\341\145\231\162\151\004\032\107\011\346\017\001 +\126\044\373\037\277\016\171\251\130\056\271\304\011\001\176\225 +\272\155\000\006\076\262\352\112\020\071\330\320\053\365\277\354 +\165\277\227\002\305\011\033\010\334\125\067\342\201\373\067\204 +\103\142\040\312\347\126\113\145\352\376\154\301\044\223\044\241 +\064\353\005\377\232\042\256\233\175\077\361\145\121\012\246\060 +\152\263\364\210\034\200\015\374\162\212\350\203\136 +END + +# Trust for Certificate "StartCom Certification Authority" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "StartCom Certification Authority" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\076\053\367\362\003\033\226\363\214\346\304\330\250\135\076\055 +\130\107\152\017 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\042\115\217\212\374\367\065\302\273\127\064\220\173\213\042\026 +END +CKA_ISSUER MULTILINE_OCTAL +\060\175\061\013\060\011\006\003\125\004\006\023\002\111\114\061 +\026\060\024\006\003\125\004\012\023\015\123\164\141\162\164\103 +\157\155\040\114\164\144\056\061\053\060\051\006\003\125\004\013 +\023\042\123\145\143\165\162\145\040\104\151\147\151\164\141\154 +\040\103\145\162\164\151\146\151\143\141\164\145\040\123\151\147 +\156\151\156\147\061\051\060\047\006\003\125\004\003\023\040\123 +\164\141\162\164\103\157\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 +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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Taiwan GRCA" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "Taiwan GRCA" +CKA_CLASS CK_OBJECT_CLASS 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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Firmaprofesional Root 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 "Firmaprofesional Root CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\235\061\013\060\011\006\003\125\004\006\023\002\105\123 +\061\042\060\040\006\003\125\004\007\023\031\103\057\040\115\165 +\156\164\141\156\145\162\040\062\064\064\040\102\141\162\143\145 +\154\157\156\141\061\102\060\100\006\003\125\004\003\023\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\061\046\060\044\006\011\052\206 +\110\206\367\015\001\011\001\026\027\143\141\100\146\151\162\155 +\141\160\162\157\146\145\163\151\157\156\141\154\056\143\157\155 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\235\061\013\060\011\006\003\125\004\006\023\002\105\123 +\061\042\060\040\006\003\125\004\007\023\031\103\057\040\115\165 +\156\164\141\156\145\162\040\062\064\064\040\102\141\162\143\145 +\154\157\156\141\061\102\060\100\006\003\125\004\003\023\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\061\046\060\044\006\011\052\206 +\110\206\367\015\001\011\001\026\027\143\141\100\146\151\162\155 +\141\160\162\157\146\145\163\151\157\156\141\154\056\143\157\155 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\127\060\202\003\077\240\003\002\001\002\002\001\001 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\201\235\061\013\060\011\006\003\125\004\006\023\002\105\123\061 +\042\060\040\006\003\125\004\007\023\031\103\057\040\115\165\156 +\164\141\156\145\162\040\062\064\064\040\102\141\162\143\145\154 +\157\156\141\061\102\060\100\006\003\125\004\003\023\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\061\046\060\044\006\011\052\206\110 +\206\367\015\001\011\001\026\027\143\141\100\146\151\162\155\141 +\160\162\157\146\145\163\151\157\156\141\154\056\143\157\155\060 +\036\027\015\060\061\061\060\062\064\062\062\060\060\060\060\132 +\027\015\061\063\061\060\062\064\062\062\060\060\060\060\132\060 +\201\235\061\013\060\011\006\003\125\004\006\023\002\105\123\061 +\042\060\040\006\003\125\004\007\023\031\103\057\040\115\165\156 +\164\141\156\145\162\040\062\064\064\040\102\141\162\143\145\154 +\157\156\141\061\102\060\100\006\003\125\004\003\023\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\061\046\060\044\006\011\052\206\110 +\206\367\015\001\011\001\026\027\143\141\100\146\151\162\155\141 +\160\162\157\146\145\163\151\157\156\141\154\056\143\157\155\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 +\347\043\003\157\157\043\245\136\170\316\225\054\355\224\036\156 +\012\236\001\307\352\060\321\054\235\335\067\350\233\230\171\126 +\323\374\163\337\320\212\336\125\217\121\371\132\352\336\265\160 +\304\355\244\355\377\243\015\156\017\144\120\061\257\001\047\130 +\256\376\154\247\112\057\027\055\323\163\325\023\034\217\131\245 +\064\054\035\124\004\105\315\150\270\240\300\003\245\317\205\102 +\107\225\050\133\317\357\200\154\340\220\227\212\001\074\035\363 +\207\020\060\046\110\175\327\374\351\235\221\161\377\101\232\251 +\100\265\067\234\051\040\117\037\122\343\240\175\023\155\124\267 +\012\336\351\152\116\007\254\254\031\137\334\176\142\164\366\262 +\005\000\272\205\240\375\035\070\156\313\132\273\206\274\224\147 +\063\065\203\054\037\043\315\370\310\221\161\314\227\213\357\256 +\017\334\051\003\033\300\071\353\160\355\301\156\016\330\147\013 +\211\251\274\065\344\357\266\064\264\245\266\304\055\245\276\320 +\303\224\044\110\333\337\226\323\000\265\146\032\213\146\005\017 +\335\077\077\313\077\252\136\232\112\370\264\112\357\225\067\033 +\002\003\001\000\001\243\201\237\060\201\234\060\052\006\003\125 +\035\021\004\043\060\041\206\037\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\060\022\006\003\125\035\023\001\001 +\377\004\010\060\006\001\001\377\002\001\001\060\053\006\003\125 +\035\020\004\044\060\042\200\017\062\060\060\061\061\060\062\064 +\062\062\060\060\060\060\132\201\017\062\060\061\063\061\060\062 +\064\062\062\060\060\060\060\132\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\063\013\240\146\321\352\332\316\336\142\223\004\050 +\122\265\024\177\070\150\267\060\015\006\011\052\206\110\206\367 +\015\001\001\005\005\000\003\202\001\001\000\107\163\376\215\047 +\124\360\365\324\167\234\047\171\127\127\267\025\126\354\307\330 +\130\267\001\002\364\063\355\223\120\210\236\174\106\261\275\077 +\024\157\361\263\107\110\213\214\227\006\327\352\176\243\134\052 +\273\115\057\107\342\370\071\006\311\234\056\061\032\003\170\364 +\274\070\306\042\213\063\061\360\026\004\004\175\371\166\344\113 +\327\300\346\203\354\131\314\077\336\377\117\153\267\147\176\246 +\206\201\062\043\003\235\310\367\137\301\112\140\245\222\251\261 +\244\240\140\303\170\207\263\042\363\052\353\133\251\355\005\253 +\067\017\261\342\323\225\166\143\126\164\214\130\162\033\067\345 +\144\241\276\115\014\223\230\014\227\366\207\155\263\077\347\313 +\200\246\355\210\307\137\120\142\002\350\231\164\026\320\346\264 +\071\361\047\313\310\100\326\343\206\020\251\043\022\222\340\151 +\101\143\247\257\045\013\300\305\222\313\036\230\243\132\272\305 +\063\017\240\227\001\335\177\340\173\326\006\124\317\241\342\115 +\070\353\113\120\265\313\046\364\312\332\160\112\152\241\342\171 +\252\341\247\063\366\375\112\037\366\331\140 +END + +# Trust for Certificate "Firmaprofesional Root 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 "Firmaprofesional Root CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\251\142\217\113\230\251\033\110\065\272\322\301\106\062\206\273 +\146\144\152\214 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\021\222\171\100\074\261\203\100\345\253\146\112\147\222\200\337 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\235\061\013\060\011\006\003\125\004\006\023\002\105\123 +\061\042\060\040\006\003\125\004\007\023\031\103\057\040\115\165 +\156\164\141\156\145\162\040\062\064\064\040\102\141\162\143\145 +\154\157\156\141\061\102\060\100\006\003\125\004\003\023\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\061\046\060\044\006\011\052\206 +\110\206\367\015\001\011\001\026\027\143\141\100\146\151\162\155 +\141\160\162\157\146\145\163\151\157\156\141\154\056\143\157\155 +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_TRUST_UNKNOWN +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Wells Fargo Root 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 "Wells Fargo Root CA" +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\024\060\022\006\003\125\004\012\023\013\127\145\154\154\163 +\040\106\141\162\147\157\061\054\060\052\006\003\125\004\013\023 +\043\127\145\154\154\163\040\106\141\162\147\157\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\057\060\055\006\003\125\004\003\023\046\127 +\145\154\154\163\040\106\141\162\147\157\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 +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\024\060\022\006\003\125\004\012\023\013\127\145\154\154\163 +\040\106\141\162\147\157\061\054\060\052\006\003\125\004\013\023 +\043\127\145\154\154\163\040\106\141\162\147\157\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\057\060\055\006\003\125\004\003\023\046\127 +\145\154\154\163\040\106\141\162\147\157\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 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\071\344\227\236 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\345\060\202\002\315\240\003\002\001\002\002\004\071 +\344\227\236\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\024\060\022\006\003\125\004\012\023\013\127\145\154 +\154\163\040\106\141\162\147\157\061\054\060\052\006\003\125\004 +\013\023\043\127\145\154\154\163\040\106\141\162\147\157\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\057\060\055\006\003\125\004\003\023 +\046\127\145\154\154\163\040\106\141\162\147\157\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\060\036\027\015\060\060\061\060\061 +\061\061\066\064\061\062\070\132\027\015\062\061\060\061\061\064 +\061\066\064\061\062\070\132\060\201\202\061\013\060\011\006\003 +\125\004\006\023\002\125\123\061\024\060\022\006\003\125\004\012 +\023\013\127\145\154\154\163\040\106\141\162\147\157\061\054\060 +\052\006\003\125\004\013\023\043\127\145\154\154\163\040\106\141 +\162\147\157\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\057\060\055\006 +\003\125\004\003\023\046\127\145\154\154\163\040\106\141\162\147 +\157\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\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\250\063 +\073\046\371\064\377\315\233\176\345\004\107\316\000\342\175\167 +\347\061\302\056\047\245\115\150\271\061\272\215\103\131\227\307 +\163\252\177\075\134\100\236\005\345\241\342\211\331\114\270\077 +\233\371\014\264\310\142\031\054\105\256\221\036\163\161\101\304 +\113\023\375\160\302\045\254\042\365\165\013\267\123\344\245\053 +\335\316\275\034\072\172\303\367\023\217\046\124\234\026\153\153 +\257\373\330\226\261\140\232\110\340\045\042\044\171\064\316\016 +\046\000\013\116\253\375\213\316\202\327\057\010\160\150\301\250 +\012\371\164\117\007\253\244\371\342\203\176\047\163\164\076\270 +\371\070\102\374\245\250\133\110\043\263\353\343\045\262\200\256 +\226\324\012\234\302\170\232\306\150\030\256\067\142\067\136\121 +\165\250\130\143\300\121\356\100\170\176\250\257\032\240\341\260 +\170\235\120\214\173\347\263\374\216\043\260\333\145\000\160\204 +\001\010\000\024\156\124\206\232\272\314\371\067\020\366\340\336 +\204\055\235\244\205\067\323\207\343\025\320\301\027\220\176\031 +\041\152\022\251\166\375\022\002\351\117\041\136\027\002\003\001 +\000\001\243\141\060\137\060\017\006\003\125\035\023\001\001\377 +\004\005\060\003\001\001\377\060\114\006\003\125\035\040\004\105 +\060\103\060\101\006\013\140\206\110\001\206\373\173\207\007\001 +\013\060\062\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\167\145\154\154 +\163\146\141\162\147\157\056\143\157\155\057\143\145\162\164\160 +\157\154\151\143\171\060\015\006\011\052\206\110\206\367\015\001 +\001\005\005\000\003\202\001\001\000\322\047\335\234\012\167\053 +\273\042\362\002\265\112\112\221\371\321\055\276\344\273\032\150 +\357\016\244\000\351\356\347\357\356\366\371\345\164\244\302\330 +\122\130\304\164\373\316\153\265\073\051\171\030\132\357\233\355 +\037\153\066\356\110\045\045\024\266\126\242\020\350\356\247\177 +\320\077\243\320\303\135\046\356\007\314\303\301\044\041\207\036 +\337\052\022\123\157\101\026\347\355\256\224\372\214\162\372\023 +\107\360\074\176\256\175\021\072\023\354\355\372\157\162\144\173 +\235\175\177\046\375\172\373\045\255\352\076\051\177\114\343\000 +\127\062\260\263\351\355\123\027\331\213\262\024\016\060\350\345 +\325\023\306\144\257\304\000\325\330\130\044\374\365\217\354\361 +\307\175\245\333\017\047\321\306\362\100\210\346\037\366\141\250 +\364\102\310\271\067\323\251\276\054\126\170\302\162\233\131\135 +\065\100\212\350\116\143\032\266\351\040\152\121\342\316\244\220 +\337\166\160\231\134\160\103\115\267\266\247\031\144\116\222\267 +\305\221\074\177\110\026\145\173\026\375\313\374\373\331\325\326 +\117\041\145\073\112\177\107\243\373 +END + +# Trust for Certificate "Wells Fargo Root 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 "Wells Fargo Root CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\223\346\253\042\003\003\265\043\050\334\332\126\236\272\344\321 +\321\314\373\145 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\040\013\112\172\210\247\251\102\206\212\137\164\126\173\210\005 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\202\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\024\060\022\006\003\125\004\012\023\013\127\145\154\154\163 +\040\106\141\162\147\157\061\054\060\052\006\003\125\004\013\023 +\043\127\145\154\154\163\040\106\141\162\147\157\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\057\060\055\006\003\125\004\003\023\046\127 +\145\154\154\163\040\106\141\162\147\157\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 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\071\344\227\236 +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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Swisscom Root CA 1" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Swisscom Root CA 1" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\144\061\013\060\011\006\003\125\004\006\023\002\143\150\061 +\021\060\017\006\003\125\004\012\023\010\123\167\151\163\163\143 +\157\155\061\045\060\043\006\003\125\004\013\023\034\104\151\147 +\151\164\141\154\040\103\145\162\164\151\146\151\143\141\164\145 +\040\123\145\162\166\151\143\145\163\061\033\060\031\006\003\125 +\004\003\023\022\123\167\151\163\163\143\157\155\040\122\157\157 +\164\040\103\101\040\061 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\144\061\013\060\011\006\003\125\004\006\023\002\143\150\061 +\021\060\017\006\003\125\004\012\023\010\123\167\151\163\163\143 +\157\155\061\045\060\043\006\003\125\004\013\023\034\104\151\147 +\151\164\141\154\040\103\145\162\164\151\146\151\143\141\164\145 +\040\123\145\162\166\151\143\145\163\061\033\060\031\006\003\125 +\004\003\023\022\123\167\151\163\163\143\157\155\040\122\157\157 +\164\040\103\101\040\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\134\013\205\134\013\347\131\101\337\127\314\077\177\235 +\250\066 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\331\060\202\003\301\240\003\002\001\002\002\020\134 +\013\205\134\013\347\131\101\337\127\314\077\177\235\250\066\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\144 +\061\013\060\011\006\003\125\004\006\023\002\143\150\061\021\060 +\017\006\003\125\004\012\023\010\123\167\151\163\163\143\157\155 +\061\045\060\043\006\003\125\004\013\023\034\104\151\147\151\164 +\141\154\040\103\145\162\164\151\146\151\143\141\164\145\040\123 +\145\162\166\151\143\145\163\061\033\060\031\006\003\125\004\003 +\023\022\123\167\151\163\163\143\157\155\040\122\157\157\164\040 +\103\101\040\061\060\036\027\015\060\065\060\070\061\070\061\062 +\060\066\062\060\132\027\015\062\065\060\070\061\070\062\062\060 +\066\062\060\132\060\144\061\013\060\011\006\003\125\004\006\023 +\002\143\150\061\021\060\017\006\003\125\004\012\023\010\123\167 +\151\163\163\143\157\155\061\045\060\043\006\003\125\004\013\023 +\034\104\151\147\151\164\141\154\040\103\145\162\164\151\146\151 +\143\141\164\145\040\123\145\162\166\151\143\145\163\061\033\060 +\031\006\003\125\004\003\023\022\123\167\151\163\163\143\157\155 +\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\320\271\260\250\014 +\331\273\077\041\370\033\325\063\223\200\026\145\040\165\262\075 +\233\140\155\106\310\214\061\157\027\303\372\232\154\126\355\074 +\305\221\127\303\315\253\226\111\220\052\031\113\036\243\155\127 +\335\361\053\142\050\165\105\136\252\326\133\372\013\045\330\241 +\026\371\034\304\056\346\225\052\147\314\320\051\156\074\205\064 +\070\141\111\261\000\237\326\072\161\137\115\155\316\137\271\251 +\344\211\177\152\122\372\312\233\362\334\251\371\235\231\107\077 +\116\051\137\264\246\215\135\173\013\231\021\003\003\376\347\333 +\333\243\377\035\245\315\220\036\001\037\065\260\177\000\333\220 +\157\306\176\173\321\356\172\172\247\252\014\127\157\244\155\305 +\023\073\260\245\331\355\062\034\264\136\147\213\124\334\163\207 +\345\323\027\174\146\120\162\135\324\032\130\301\331\317\330\211 +\002\157\247\111\264\066\135\320\244\336\007\054\266\165\267\050 +\221\326\227\276\050\365\230\036\352\133\046\311\275\260\227\163 +\332\256\221\046\353\150\301\371\071\025\326\147\113\012\155\117 +\313\317\260\344\102\161\214\123\171\347\356\341\333\035\240\156 +\035\214\032\167\065\134\026\036\053\123\037\064\213\321\154\374 +\362\147\007\172\365\255\355\326\232\253\241\261\113\341\314\067 +\137\375\177\315\115\256\270\037\234\103\371\052\130\125\103\105 +\274\226\315\160\016\374\311\343\146\272\116\215\073\201\313\025 +\144\173\271\224\350\135\063\122\205\161\056\117\216\242\006\021 +\121\311\343\313\241\156\061\010\144\014\302\322\074\365\066\350 +\327\320\016\170\043\040\221\311\044\052\145\051\133\042\367\041 +\316\203\136\244\363\336\113\323\150\217\106\165\134\203\011\156 +\051\153\304\160\214\365\235\327\040\057\377\106\322\053\070\302 +\057\165\034\075\176\332\245\357\036\140\205\151\102\323\314\370 +\143\376\036\103\071\205\246\266\143\101\020\263\163\036\274\323 +\372\312\175\026\107\342\247\325\320\243\212\012\010\226\142\126 +\156\064\333\331\002\271\060\165\343\004\322\347\217\302\260\021 +\100\012\254\325\161\002\142\213\061\276\335\306\043\130\061\102 +\103\055\164\371\306\236\246\212\017\351\376\277\203\346\103\127 +\044\272\357\106\064\252\327\022\001\070\355\002\003\001\000\001 +\243\201\206\060\201\203\060\016\006\003\125\035\017\001\001\377 +\004\004\003\002\001\206\060\035\006\003\125\035\041\004\026\060 +\024\060\022\006\007\140\205\164\001\123\000\001\006\007\140\205 +\164\001\123\000\001\060\022\006\003\125\035\023\001\001\377\004 +\010\060\006\001\001\377\002\001\007\060\037\006\003\125\035\043 +\004\030\060\026\200\024\003\045\057\336\157\202\001\072\134\054 +\334\053\241\151\265\147\324\214\323\375\060\035\006\003\125\035 +\016\004\026\004\024\003\045\057\336\157\202\001\072\134\054\334 +\053\241\151\265\147\324\214\323\375\060\015\006\011\052\206\110 +\206\367\015\001\001\005\005\000\003\202\002\001\000\065\020\313 +\354\246\004\015\015\017\315\300\333\253\250\362\210\227\014\337 +\223\057\115\174\100\126\061\172\353\244\017\140\315\172\363\276 +\303\047\216\003\076\244\335\022\357\176\036\164\006\074\077\061 +\362\034\173\221\061\041\264\360\320\154\227\324\351\227\262\044 +\126\036\126\303\065\275\210\005\017\133\020\032\144\341\307\202 +\060\371\062\255\236\120\054\347\170\005\320\061\261\132\230\212 +\165\116\220\134\152\024\052\340\122\107\202\140\346\036\332\201 +\261\373\024\013\132\361\237\322\225\272\076\320\033\326\025\035 +\243\276\206\325\333\017\300\111\144\273\056\120\031\113\322\044 +\370\335\036\007\126\320\070\240\225\160\040\166\214\327\335\036 +\336\237\161\304\043\357\203\023\134\243\044\025\115\051\100\074 +\152\304\251\330\267\246\104\245\015\364\340\235\167\036\100\160 +\046\374\332\331\066\344\171\344\265\077\274\233\145\276\273\021 +\226\317\333\306\050\071\072\010\316\107\133\123\132\305\231\376 +\135\251\335\357\114\324\306\245\255\002\346\214\007\022\036\157 +\003\321\157\240\243\363\051\275\022\307\120\242\260\177\210\251 +\231\167\232\261\300\245\071\056\134\174\151\342\054\260\352\067 +\152\244\341\132\341\365\120\345\203\357\245\273\052\210\347\214 +\333\375\155\136\227\031\250\176\146\165\153\161\352\277\261\307 +\157\240\364\216\244\354\064\121\133\214\046\003\160\241\167\325 +\001\022\127\000\065\333\043\336\016\212\050\231\375\261\020\157 +\113\377\070\055\140\116\054\234\353\147\265\255\111\356\113\037 +\254\257\373\015\220\132\146\140\160\135\252\315\170\324\044\356 +\310\101\240\223\001\222\234\152\236\374\271\044\305\263\025\202 +\176\276\256\225\053\353\261\300\332\343\001\140\013\136\151\254 +\204\126\141\276\161\027\376\035\023\017\376\306\207\105\351\376 +\062\240\032\015\023\244\224\125\161\245\026\213\272\312\211\260 +\262\307\374\217\330\124\265\223\142\235\316\317\131\373\075\030 +\316\052\313\065\025\202\135\377\124\042\133\161\122\373\267\311 +\376\140\233\000\101\144\360\252\052\354\266\102\103\316\211\146 +\201\310\213\237\071\124\003\045\323\026\065\216\204\320\137\372 +\060\032\365\232\154\364\016\123\371\072\133\321\034 +END + +# Trust for Certificate "Swisscom Root CA 1" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Swisscom Root CA 1" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\137\072\374\012\213\144\366\206\147\064\164\337\176\251\242\376 +\371\372\172\121 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\370\070\174\167\210\337\054\026\150\056\302\342\122\113\270\371 +END +CKA_ISSUER MULTILINE_OCTAL +\060\144\061\013\060\011\006\003\125\004\006\023\002\143\150\061 +\021\060\017\006\003\125\004\012\023\010\123\167\151\163\163\143 +\157\155\061\045\060\043\006\003\125\004\013\023\034\104\151\147 +\151\164\141\154\040\103\145\162\164\151\146\151\143\141\164\145 +\040\123\145\162\166\151\143\145\163\061\033\060\031\006\003\125 +\004\003\023\022\123\167\151\163\163\143\157\155\040\122\157\157 +\164\040\103\101\040\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\134\013\205\134\013\347\131\101\337\127\314\077\177\235 +\250\066 +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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "DigiCert Assured ID Root 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 "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 + +# Trust for Certificate "DigiCert Assured ID Root 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 "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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "DigiCert Global Root 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 "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 + +# Trust for Certificate "DigiCert Global Root 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 "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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "DigiCert High Assurance EV Root 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 "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 + +# Trust for Certificate "DigiCert High Assurance EV Root 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 "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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Certplus Class 2 Primary 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 "Certplus Class 2 Primary CA" +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\106\122\061 +\021\060\017\006\003\125\004\012\023\010\103\145\162\164\160\154 +\165\163\061\033\060\031\006\003\125\004\003\023\022\103\154\141 +\163\163\040\062\040\120\162\151\155\141\162\171\040\103\101 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\075\061\013\060\011\006\003\125\004\006\023\002\106\122\061 +\021\060\017\006\003\125\004\012\023\010\103\145\162\164\160\154 +\165\163\061\033\060\031\006\003\125\004\003\023\022\103\154\141 +\163\163\040\062\040\120\162\151\155\141\162\171\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\021\000\205\275\113\363\330\332\343\151\366\224\327\137\303 +\245\104\043 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\222\060\202\002\172\240\003\002\001\002\002\021\000 +\205\275\113\363\330\332\343\151\366\224\327\137\303\245\104\043 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\075\061\013\060\011\006\003\125\004\006\023\002\106\122\061\021 +\060\017\006\003\125\004\012\023\010\103\145\162\164\160\154\165 +\163\061\033\060\031\006\003\125\004\003\023\022\103\154\141\163 +\163\040\062\040\120\162\151\155\141\162\171\040\103\101\060\036 +\027\015\071\071\060\067\060\067\061\067\060\065\060\060\132\027 +\015\061\071\060\067\060\066\062\063\065\071\065\071\132\060\075 +\061\013\060\011\006\003\125\004\006\023\002\106\122\061\021\060 +\017\006\003\125\004\012\023\010\103\145\162\164\160\154\165\163 +\061\033\060\031\006\003\125\004\003\023\022\103\154\141\163\163 +\040\062\040\120\162\151\155\141\162\171\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\334\120 +\226\320\022\370\065\322\010\170\172\266\122\160\375\157\356\317 +\271\021\313\135\167\341\354\351\176\004\215\326\314\157\163\103 +\127\140\254\063\012\104\354\003\137\034\200\044\221\345\250\221 +\126\022\202\367\340\053\364\333\256\141\056\211\020\215\153\154 +\272\263\002\275\325\066\305\110\067\043\342\360\132\067\122\063 +\027\022\342\321\140\115\276\057\101\021\343\366\027\045\014\213 +\221\300\033\231\173\231\126\015\257\356\322\274\107\127\343\171 +\111\173\064\211\047\044\204\336\261\354\351\130\116\376\116\337 +\132\276\101\255\254\010\305\030\016\357\322\123\356\154\320\235 +\022\001\023\215\334\200\142\367\225\251\104\210\112\161\116\140 +\125\236\333\043\031\171\126\007\014\077\143\013\134\260\342\276 +\176\025\374\224\063\130\101\070\164\304\341\217\213\337\046\254 +\037\265\213\073\267\103\131\153\260\044\246\155\220\213\304\162 +\352\135\063\230\267\313\336\136\173\357\224\361\033\076\312\311 +\041\301\305\230\002\252\242\366\133\167\233\365\176\226\125\064 +\034\147\151\300\361\102\343\107\254\374\050\034\146\125\002\003 +\001\000\001\243\201\214\060\201\211\060\017\006\003\125\035\023 +\004\010\060\006\001\001\377\002\001\012\060\013\006\003\125\035 +\017\004\004\003\002\001\006\060\035\006\003\125\035\016\004\026 +\004\024\343\163\055\337\313\016\050\014\336\335\263\244\312\171 +\270\216\273\350\060\211\060\021\006\011\140\206\110\001\206\370 +\102\001\001\004\004\003\002\001\006\060\067\006\003\125\035\037 +\004\060\060\056\060\054\240\052\240\050\206\046\150\164\164\160 +\072\057\057\167\167\167\056\143\145\162\164\160\154\165\163\056 +\143\157\155\057\103\122\114\057\143\154\141\163\163\062\056\143 +\162\154\060\015\006\011\052\206\110\206\367\015\001\001\005\005 +\000\003\202\001\001\000\247\124\317\210\104\031\313\337\324\177 +\000\337\126\063\142\265\367\121\001\220\353\303\077\321\210\104 +\351\044\135\357\347\024\275\040\267\232\074\000\376\155\237\333 +\220\334\327\364\142\326\213\160\135\347\345\004\110\251\150\174 +\311\361\102\363\154\177\305\172\174\035\121\210\272\322\012\076 +\047\135\336\055\121\116\323\023\144\151\344\056\343\323\347\233 +\011\231\246\340\225\233\316\032\327\177\276\074\316\122\263\021 +\025\301\017\027\315\003\273\234\045\025\272\242\166\211\374\006 +\361\030\320\223\113\016\174\202\267\245\364\366\137\376\355\100 +\246\235\204\164\071\271\334\036\205\026\332\051\033\206\043\000 +\311\273\211\176\156\200\210\036\057\024\264\003\044\250\062\157 +\003\232\107\054\060\276\126\306\247\102\002\160\033\352\100\330 +\272\005\003\160\007\244\226\377\375\110\063\012\341\334\245\201 +\220\233\115\335\175\347\347\262\315\134\310\152\225\370\245\366 +\215\304\135\170\010\276\173\006\326\111\317\031\066\120\043\056 +\010\346\236\005\115\107\030\325\026\351\261\326\266\020\325\273 +\227\277\242\216\264\124 +END + +# Trust for Certificate "Certplus Class 2 Primary 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 "Certplus Class 2 Primary CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\164\040\164\101\162\234\335\222\354\171\061\330\043\020\215\302 +\201\222\342\273 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\210\054\214\122\270\242\074\363\367\273\003\352\256\254\102\013 +END +CKA_ISSUER MULTILINE_OCTAL +\060\075\061\013\060\011\006\003\125\004\006\023\002\106\122\061 +\021\060\017\006\003\125\004\012\023\010\103\145\162\164\160\154 +\165\163\061\033\060\031\006\003\125\004\003\023\022\103\154\141 +\163\163\040\062\040\120\162\151\155\141\162\171\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\021\000\205\275\113\363\330\332\343\151\366\224\327\137\303 +\245\104\043 +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_TRUST_UNKNOWN +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "DST Root CA X3" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "DST Root CA X3" +CKA_CLASS CK_OBJECT_CLASS 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_TRUST_UNKNOWN +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "DST ACES CA X6" +# +CKA_CLASS CK_OBJECT_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 ACES CA X6" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\133\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\040\060\036\006\003\125\004\012\023\027\104\151\147\151\164\141 +\154\040\123\151\147\156\141\164\165\162\145\040\124\162\165\163 +\164\061\021\060\017\006\003\125\004\013\023\010\104\123\124\040 +\101\103\105\123\061\027\060\025\006\003\125\004\003\023\016\104 +\123\124\040\101\103\105\123\040\103\101\040\130\066 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\133\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\040\060\036\006\003\125\004\012\023\027\104\151\147\151\164\141 +\154\040\123\151\147\156\141\164\165\162\145\040\124\162\165\163 +\164\061\021\060\017\006\003\125\004\013\023\010\104\123\124\040 +\101\103\105\123\061\027\060\025\006\003\125\004\003\023\016\104 +\123\124\040\101\103\105\123\040\103\101\040\130\066 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\015\136\231\012\326\235\267\170\354\330\007\126\073\206 +\025\331 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\011\060\202\002\361\240\003\002\001\002\002\020\015 +\136\231\012\326\235\267\170\354\330\007\126\073\206\025\331\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\133 +\061\013\060\011\006\003\125\004\006\023\002\125\123\061\040\060 +\036\006\003\125\004\012\023\027\104\151\147\151\164\141\154\040 +\123\151\147\156\141\164\165\162\145\040\124\162\165\163\164\061 +\021\060\017\006\003\125\004\013\023\010\104\123\124\040\101\103 +\105\123\061\027\060\025\006\003\125\004\003\023\016\104\123\124 +\040\101\103\105\123\040\103\101\040\130\066\060\036\027\015\060 +\063\061\061\062\060\062\061\061\071\065\070\132\027\015\061\067 +\061\061\062\060\062\061\061\071\065\070\132\060\133\061\013\060 +\011\006\003\125\004\006\023\002\125\123\061\040\060\036\006\003 +\125\004\012\023\027\104\151\147\151\164\141\154\040\123\151\147 +\156\141\164\165\162\145\040\124\162\165\163\164\061\021\060\017 +\006\003\125\004\013\023\010\104\123\124\040\101\103\105\123\061 +\027\060\025\006\003\125\004\003\023\016\104\123\124\040\101\103 +\105\123\040\103\101\040\130\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\271\075\365\054\311\224\334 +\165\212\225\135\143\350\204\167\166\146\271\131\221\134\106\335 +\222\076\237\371\016\003\264\075\141\222\275\043\046\265\143\356 +\222\322\236\326\074\310\015\220\137\144\201\261\250\010\015\114 +\330\371\323\005\050\122\264\001\045\305\225\034\014\176\076\020 +\204\165\317\301\031\221\143\317\350\250\221\210\271\103\122\273 +\200\261\125\211\213\061\372\320\267\166\276\101\075\060\232\244 +\042\045\027\163\350\036\342\323\254\052\275\133\070\041\325\052 +\113\327\125\175\343\072\125\275\327\155\153\002\127\153\346\107 +\174\010\310\202\272\336\247\207\075\241\155\270\060\126\302\263 +\002\201\137\055\365\342\232\060\030\050\270\146\323\313\001\226 +\157\352\212\105\125\326\340\235\377\147\053\027\002\246\116\032 +\152\021\013\176\267\173\347\230\326\214\166\157\301\073\333\120 +\223\176\345\320\216\037\067\270\275\272\306\237\154\351\174\063 +\362\062\074\046\107\372\047\044\002\311\176\035\133\210\102\023 +\152\065\174\175\065\351\056\146\221\162\223\325\062\046\304\164 +\365\123\243\263\135\232\366\011\313\002\003\001\000\001\243\201 +\310\060\201\305\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\037\006\003\125\035\021\004\030\060\026 +\201\024\160\153\151\055\157\160\163\100\164\162\165\163\164\144 +\163\164\056\143\157\155\060\142\006\003\125\035\040\004\133\060 +\131\060\127\006\012\140\206\110\001\145\003\002\001\001\001\060 +\111\060\107\006\010\053\006\001\005\005\007\002\001\026\073\150 +\164\164\160\072\057\057\167\167\167\056\164\162\165\163\164\144 +\163\164\056\143\157\155\057\143\145\162\164\151\146\151\143\141 +\164\145\163\057\160\157\154\151\143\171\057\101\103\105\123\055 +\151\156\144\145\170\056\150\164\155\154\060\035\006\003\125\035 +\016\004\026\004\024\011\162\006\116\030\103\017\345\326\314\303 +\152\213\061\173\170\217\250\203\270\060\015\006\011\052\206\110 +\206\367\015\001\001\005\005\000\003\202\001\001\000\243\330\216 +\326\262\333\316\005\347\062\315\001\323\004\003\345\166\344\126 +\053\234\231\220\350\010\060\154\337\175\075\356\345\277\265\044 +\100\204\111\341\321\050\256\304\302\072\123\060\210\361\365\167 +\156\121\312\372\377\231\257\044\137\033\240\375\362\254\204\312 +\337\251\360\137\004\056\255\026\277\041\227\020\201\075\343\377 +\207\215\062\334\224\345\107\212\136\152\023\311\224\225\075\322 +\356\310\064\225\320\200\324\255\062\010\200\124\074\340\275\122 +\123\327\122\174\262\151\077\177\172\317\152\164\312\372\004\052 +\234\114\132\006\245\351\040\255\105\146\017\151\361\335\277\351 +\343\062\213\372\340\301\206\115\162\074\056\330\223\170\012\052 +\370\330\322\047\075\031\211\137\132\173\212\073\314\014\332\121 +\256\307\013\367\053\260\067\005\354\274\127\043\342\070\322\233 +\150\363\126\022\210\117\102\174\270\061\304\265\333\344\310\041 +\064\351\110\021\065\356\372\307\222\127\305\237\064\344\307\366 +\367\016\013\114\234\150\170\173\161\061\307\353\036\340\147\101 +\363\267\240\247\315\345\172\063\066\152\372\232\053 +END + +# Trust for Certificate "DST ACES CA X6" +CKA_CLASS CK_OBJECT_CLASS 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 ACES CA X6" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\100\124\332\157\034\077\100\164\254\355\017\354\315\333\171\321 +\123\373\220\035 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\041\330\114\202\053\231\011\063\242\353\024\044\215\216\137\350 +END +CKA_ISSUER MULTILINE_OCTAL +\060\133\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\040\060\036\006\003\125\004\012\023\027\104\151\147\151\164\141 +\154\040\123\151\147\156\141\164\165\162\145\040\124\162\165\163 +\164\061\021\060\017\006\003\125\004\013\023\010\104\123\124\040 +\101\103\105\123\061\027\060\025\006\003\125\004\003\023\016\104 +\123\124\040\101\103\105\123\040\103\101\040\130\066 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\015\136\231\012\326\235\267\170\354\330\007\126\073\206 +\025\331 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "TURKTRUST Certificate Services Provider Root 1" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "TURKTRUST Certificate Services Provider Root 1" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\267\061\077\060\075\006\003\125\004\003\014\066\124\303 +\234\122\113\124\122\125\123\124\040\105\154\145\153\164\162\157 +\156\151\153\040\123\145\162\164\151\146\151\153\141\040\110\151 +\172\155\145\164\040\123\141\304\237\154\141\171\304\261\143\304 +\261\163\304\261\061\013\060\011\006\003\125\004\006\014\002\124 +\122\061\017\060\015\006\003\125\004\007\014\006\101\116\113\101 +\122\101\061\126\060\124\006\003\125\004\012\014\115\050\143\051 +\040\062\060\060\065\040\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 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\267\061\077\060\075\006\003\125\004\003\014\066\124\303 +\234\122\113\124\122\125\123\124\040\105\154\145\153\164\162\157 +\156\151\153\040\123\145\162\164\151\146\151\153\141\040\110\151 +\172\155\145\164\040\123\141\304\237\154\141\171\304\261\143\304 +\261\163\304\261\061\013\060\011\006\003\125\004\006\014\002\124 +\122\061\017\060\015\006\003\125\004\007\014\006\101\116\113\101 +\122\101\061\126\060\124\006\003\125\004\012\014\115\050\143\051 +\040\062\060\060\065\040\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 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\373\060\202\002\343\240\003\002\001\002\002\001\001 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\201\267\061\077\060\075\006\003\125\004\003\014\066\124\303\234 +\122\113\124\122\125\123\124\040\105\154\145\153\164\162\157\156 +\151\153\040\123\145\162\164\151\146\151\153\141\040\110\151\172 +\155\145\164\040\123\141\304\237\154\141\171\304\261\143\304\261 +\163\304\261\061\013\060\011\006\003\125\004\006\014\002\124\122 +\061\017\060\015\006\003\125\004\007\014\006\101\116\113\101\122 +\101\061\126\060\124\006\003\125\004\012\014\115\050\143\051\040 +\062\060\060\065\040\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\060\036\027\015\060\065\060 +\065\061\063\061\060\062\067\061\067\132\027\015\061\065\060\063 +\062\062\061\060\062\067\061\067\132\060\201\267\061\077\060\075 +\006\003\125\004\003\014\066\124\303\234\122\113\124\122\125\123 +\124\040\105\154\145\153\164\162\157\156\151\153\040\123\145\162 +\164\151\146\151\153\141\040\110\151\172\155\145\164\040\123\141 +\304\237\154\141\171\304\261\143\304\261\163\304\261\061\013\060 +\011\006\003\125\004\006\014\002\124\122\061\017\060\015\006\003 +\125\004\007\014\006\101\116\113\101\122\101\061\126\060\124\006 +\003\125\004\012\014\115\050\143\051\040\062\060\060\065\040\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\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\312\122\005\326\143\003\330\034\137\335\322\173 +\135\362\014\140\141\133\153\073\164\053\170\015\175\105\275\042 +\164\350\214\003\301\306\021\052\075\225\274\251\224\260\273\221 +\227\310\151\174\204\305\264\221\154\154\023\152\244\125\255\244 +\205\350\225\176\263\000\257\000\302\005\030\365\160\235\066\213 +\256\313\344\033\201\177\223\210\373\152\125\273\175\205\222\316 +\272\130\237\333\062\305\275\135\357\042\112\057\101\007\176\111 +\141\263\206\354\116\246\101\156\204\274\003\354\365\073\034\310 +\037\302\356\250\356\352\022\112\215\024\317\363\012\340\120\071 +\371\010\065\370\021\131\255\347\042\352\113\312\024\006\336\102 +\272\262\231\363\055\124\210\020\006\352\341\032\076\075\147\037 +\373\316\373\174\202\350\021\135\112\301\271\024\352\124\331\146 +\233\174\211\175\004\232\142\311\351\122\074\236\234\357\322\365 +\046\344\346\345\030\174\213\156\337\154\314\170\133\117\162\262 +\313\134\077\214\005\215\321\114\214\255\222\307\341\170\177\145 +\154\111\006\120\054\236\062\302\327\112\306\165\212\131\116\165 +\157\107\136\301\002\003\001\000\001\243\020\060\016\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\025 +\365\125\377\067\226\200\131\041\244\374\241\025\114\040\366\324 +\137\332\003\044\374\317\220\032\364\041\012\232\356\072\261\152 +\357\357\370\140\321\114\066\146\105\035\363\146\002\164\004\173 +\222\060\250\336\012\166\017\357\225\156\275\311\067\346\032\015 +\254\211\110\133\314\203\066\302\365\106\134\131\202\126\264\325 +\376\043\264\330\124\034\104\253\304\247\345\024\316\074\101\141 +\174\103\346\315\304\201\011\213\044\373\124\045\326\026\250\226 +\014\147\007\157\263\120\107\343\034\044\050\335\052\230\244\141 +\376\333\352\022\067\274\001\032\064\205\275\156\117\347\221\162 +\007\104\205\036\130\312\124\104\335\367\254\271\313\211\041\162 +\333\217\300\151\051\227\052\243\256\030\043\227\034\101\052\213 +\174\052\301\174\220\350\251\050\300\323\221\306\255\050\207\100 +\150\265\377\354\247\322\323\070\030\234\323\175\151\135\360\306 +\245\036\044\033\243\107\374\151\007\150\347\344\232\264\355\017 +\241\207\207\002\316\207\322\110\116\341\274\377\313\361\162\222 +\104\144\003\045\352\336\133\156\237\311\362\116\254\335\307 +END + +# Trust for Certificate "TURKTRUST Certificate Services Provider Root 1" +CKA_CLASS CK_OBJECT_CLASS 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 Certificate Services Provider Root 1" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\171\230\243\010\341\115\145\205\346\302\036\025\072\161\237\272 +\132\323\112\331 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\361\152\042\030\311\315\337\316\202\035\035\267\170\134\251\245 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\267\061\077\060\075\006\003\125\004\003\014\066\124\303 +\234\122\113\124\122\125\123\124\040\105\154\145\153\164\162\157 +\156\151\153\040\123\145\162\164\151\146\151\153\141\040\110\151 +\172\155\145\164\040\123\141\304\237\154\141\171\304\261\143\304 +\261\163\304\261\061\013\060\011\006\003\125\004\006\014\002\124 +\122\061\017\060\015\006\003\125\004\007\014\006\101\116\113\101 +\122\101\061\126\060\124\006\003\125\004\012\014\115\050\143\051 +\040\062\060\060\065\040\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 +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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "TURKTRUST Certificate Services Provider Root 2" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "TURKTRUST Certificate Services Provider Root 2" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\276\061\077\060\075\006\003\125\004\003\014\066\124\303 +\234\122\113\124\122\125\123\124\040\105\154\145\153\164\162\157 +\156\151\153\040\123\145\162\164\151\146\151\153\141\040\110\151 +\172\155\145\164\040\123\141\304\237\154\141\171\304\261\143\304 +\261\163\304\261\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\135\060\133\006\003\125\004\012\014\124\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\062\060\060 +\065 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\276\061\077\060\075\006\003\125\004\003\014\066\124\303 +\234\122\113\124\122\125\123\124\040\105\154\145\153\164\162\157 +\156\151\153\040\123\145\162\164\151\146\151\153\141\040\110\151 +\172\155\145\164\040\123\141\304\237\154\141\171\304\261\143\304 +\261\163\304\261\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\135\060\133\006\003\125\004\012\014\124\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\062\060\060 +\065 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\074\060\202\003\044\240\003\002\001\002\002\001\001 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\201\276\061\077\060\075\006\003\125\004\003\014\066\124\303\234 +\122\113\124\122\125\123\124\040\105\154\145\153\164\162\157\156 +\151\153\040\123\145\162\164\151\146\151\153\141\040\110\151\172 +\155\145\164\040\123\141\304\237\154\141\171\304\261\143\304\261 +\163\304\261\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\135\060\133\006\003\125\004\012\014\124\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\062\060\060\065 +\060\036\027\015\060\065\061\061\060\067\061\060\060\067\065\067 +\132\027\015\061\065\060\071\061\066\061\060\060\067\065\067\132 +\060\201\276\061\077\060\075\006\003\125\004\003\014\066\124\303 +\234\122\113\124\122\125\123\124\040\105\154\145\153\164\162\157 +\156\151\153\040\123\145\162\164\151\146\151\153\141\040\110\151 +\172\155\145\164\040\123\141\304\237\154\141\171\304\261\143\304 +\261\163\304\261\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\135\060\133\006\003\125\004\012\014\124\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\062\060\060 +\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\251\066\176\303\221\103\114\303\031\230\010\310\307\130 +\173\117\026\214\245\316\111\001\037\163\016\254\165\023\246\372 +\236\054\040\336\330\220\016\012\321\151\322\047\373\252\167\237 +\047\122\045\342\313\135\330\330\203\120\027\175\212\265\202\077 +\004\216\264\325\360\111\247\144\267\036\056\137\040\234\120\165 +\117\257\341\265\101\024\364\230\222\210\307\345\345\144\107\141 +\107\171\375\300\121\361\301\231\347\334\316\152\373\257\265\001 +\060\334\106\034\357\212\354\225\357\334\377\257\020\034\353\235 +\330\260\252\152\205\030\015\027\311\076\277\361\233\320\011\211 +\102\375\240\102\264\235\211\121\125\051\317\033\160\274\204\124 +\255\301\023\037\230\364\056\166\140\213\135\077\232\255\312\014 +\277\247\126\133\217\167\270\325\236\171\111\222\077\340\361\227 +\044\172\154\233\027\017\155\357\123\230\221\053\344\017\276\131 +\171\007\170\273\227\225\364\237\151\324\130\207\012\251\343\314 +\266\130\031\237\046\041\261\304\131\215\262\101\165\300\255\151 +\316\234\000\010\362\066\377\076\360\241\017\032\254\024\375\246 +\140\017\002\003\001\000\001\243\103\060\101\060\035\006\003\125 +\035\016\004\026\004\024\331\067\263\116\005\375\331\317\237\022 +\026\256\266\211\057\353\045\072\210\034\060\017\006\003\125\035 +\017\001\001\377\004\005\003\003\007\006\000\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 +\162\140\226\267\311\334\330\051\136\043\205\137\262\263\055\166 +\373\210\327\027\376\173\155\105\270\366\205\154\237\042\374\052 +\020\042\354\252\271\060\366\253\130\326\071\020\061\231\051\000 +\275\211\146\101\373\164\336\221\301\030\013\237\265\141\313\235 +\072\276\365\250\224\243\042\125\156\027\111\377\322\051\361\070 +\046\135\357\245\252\072\371\161\173\346\332\130\035\323\164\302 +\001\372\076\151\130\137\255\313\150\276\024\056\233\154\300\266 +\334\240\046\372\167\032\342\044\332\032\067\340\147\255\321\163 +\203\015\245\032\035\156\022\222\176\204\142\000\027\275\274\045 +\030\127\362\327\251\157\131\210\274\064\267\056\205\170\235\226 +\334\024\303\054\212\122\233\226\214\122\146\075\206\026\213\107 +\270\121\011\214\352\175\315\210\162\263\140\063\261\360\012\104 +\357\017\365\011\067\210\044\016\054\153\040\072\242\372\021\362 +\100\065\234\104\150\143\073\254\063\157\143\274\054\273\362\322 +\313\166\175\175\210\330\035\310\005\035\156\274\224\251\146\214 +\167\161\307\372\221\372\057\121\236\351\071\122\266\347\004\102 +END + +# Trust for Certificate "TURKTRUST Certificate Services Provider Root 2" +CKA_CLASS CK_OBJECT_CLASS 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 Certificate Services Provider Root 2" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\264\065\324\341\021\235\034\146\220\247\111\353\263\224\275\143 +\173\247\202\267 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\067\245\156\324\261\045\204\227\267\375\126\025\172\371\242\000 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\276\061\077\060\075\006\003\125\004\003\014\066\124\303 +\234\122\113\124\122\125\123\124\040\105\154\145\153\164\162\157 +\156\151\153\040\123\145\162\164\151\146\151\153\141\040\110\151 +\172\155\145\164\040\123\141\304\237\154\141\171\304\261\143\304 +\261\163\304\261\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\135\060\133\006\003\125\004\012\014\124\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\062\060\060 +\065 +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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "SwissSign Platinum CA - G2" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "SwissSign Platinum CA - G2" +CKA_CLASS CK_OBJECT_CLASS 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_TRUST_UNKNOWN +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "SwissSign Gold CA - G2" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "SwissSign Gold CA - G2" +CKA_CLASS CK_OBJECT_CLASS 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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "SwissSign Silver CA - G2" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "SwissSign Silver CA - G2" +CKA_CLASS CK_OBJECT_CLASS 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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "GeoTrust Primary Certification Authority" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "GeoTrust Primary Certification Authority" +CKA_CLASS CK_OBJECT_CLASS 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_TRUST_UNKNOWN +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "thawte Primary Root 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 "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 + +# Trust for Certificate "thawte Primary Root 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 "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_TRUST_UNKNOWN +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "VeriSign Class 3 Public Primary Certification Authority - G5" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "VeriSign Class 3 Public Primary Certification Authority - G5" +CKA_CLASS CK_OBJECT_CLASS 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_TRUST_UNKNOWN +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "SecureTrust 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 "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 + +# Trust for Certificate "SecureTrust 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 "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_TRUST_UNKNOWN +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Secure Global 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 "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 + +# Trust for Certificate "Secure Global 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 "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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "COMODO Certification Authority" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "COMODO Certification Authority" +CKA_CLASS CK_OBJECT_CLASS 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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Network Solutions Certificate Authority" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "Network Solutions Certificate Authority" +CKA_CLASS CK_OBJECT_CLASS 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_TRUST_UNKNOWN +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "WellsSecure Public Root Certificate Authority" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "WellsSecure Public Root Certificate 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\125\123 +\061\040\060\036\006\003\125\004\012\014\027\127\145\154\154\163 +\040\106\141\162\147\157\040\127\145\154\154\163\123\145\143\165 +\162\145\061\034\060\032\006\003\125\004\013\014\023\127\145\154 +\154\163\040\106\141\162\147\157\040\102\141\156\153\040\116\101 +\061\066\060\064\006\003\125\004\003\014\055\127\145\154\154\163 +\123\145\143\165\162\145\040\120\165\142\154\151\143\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 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\205\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\040\060\036\006\003\125\004\012\014\027\127\145\154\154\163 +\040\106\141\162\147\157\040\127\145\154\154\163\123\145\143\165 +\162\145\061\034\060\032\006\003\125\004\013\014\023\127\145\154 +\154\163\040\106\141\162\147\157\040\102\141\156\153\040\116\101 +\061\066\060\064\006\003\125\004\003\014\055\127\145\154\154\163 +\123\145\143\165\162\145\040\120\165\142\154\151\143\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 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\275\060\202\003\245\240\003\002\001\002\002\001\001 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\201\205\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\040\060\036\006\003\125\004\012\014\027\127\145\154\154\163\040 +\106\141\162\147\157\040\127\145\154\154\163\123\145\143\165\162 +\145\061\034\060\032\006\003\125\004\013\014\023\127\145\154\154 +\163\040\106\141\162\147\157\040\102\141\156\153\040\116\101\061 +\066\060\064\006\003\125\004\003\014\055\127\145\154\154\163\123 +\145\143\165\162\145\040\120\165\142\154\151\143\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\060\036\027\015\060\067\061\062\061 +\063\061\067\060\067\065\064\132\027\015\062\062\061\062\061\064 +\060\060\060\067\065\064\132\060\201\205\061\013\060\011\006\003 +\125\004\006\023\002\125\123\061\040\060\036\006\003\125\004\012 +\014\027\127\145\154\154\163\040\106\141\162\147\157\040\127\145 +\154\154\163\123\145\143\165\162\145\061\034\060\032\006\003\125 +\004\013\014\023\127\145\154\154\163\040\106\141\162\147\157\040 +\102\141\156\153\040\116\101\061\066\060\064\006\003\125\004\003 +\014\055\127\145\154\154\163\123\145\143\165\162\145\040\120\165 +\142\154\151\143\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\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 +\356\157\264\275\171\342\217\010\041\236\070\004\101\045\357\253 +\133\034\123\222\254\155\236\335\302\304\056\105\224\003\065\210 +\147\164\127\343\337\214\270\247\166\217\073\367\250\304\333\051 +\143\016\221\150\066\212\227\216\212\161\150\011\007\344\350\324 +\016\117\370\326\053\114\244\026\371\357\103\230\217\263\236\122 +\337\155\221\071\217\070\275\167\213\103\143\353\267\223\374\060 +\114\034\001\223\266\023\373\367\241\037\277\045\341\164\067\054 +\036\244\136\074\150\370\113\277\015\271\036\056\066\350\251\344 +\247\370\017\313\202\165\174\065\055\042\326\302\277\013\363\264 +\374\154\225\141\036\127\327\004\201\062\203\122\171\346\203\143 +\317\267\313\143\213\021\342\275\136\353\366\215\355\225\162\050 +\264\254\022\142\351\112\063\346\203\062\256\005\165\225\275\204 +\225\333\052\134\233\216\056\014\270\201\053\101\346\070\126\237 +\111\233\154\166\372\212\135\367\001\171\201\174\301\203\100\005 +\376\161\375\014\077\314\116\140\011\016\145\107\020\057\001\300 +\005\077\217\370\263\101\357\132\102\176\131\357\322\227\014\145 +\002\003\001\000\001\243\202\001\064\060\202\001\060\060\017\006 +\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060\071 +\006\003\125\035\037\004\062\060\060\060\056\240\054\240\052\206 +\050\150\164\164\160\072\057\057\143\162\154\056\160\153\151\056 +\167\145\154\154\163\146\141\162\147\157\056\143\157\155\057\167 +\163\160\162\143\141\056\143\162\154\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\046\225\031\020\331\350\241\227\221\377\334\031 +\331\265\004\076\322\163\012\152\060\201\262\006\003\125\035\043 +\004\201\252\060\201\247\200\024\046\225\031\020\331\350\241\227 +\221\377\334\031\331\265\004\076\322\163\012\152\241\201\213\244 +\201\210\060\201\205\061\013\060\011\006\003\125\004\006\023\002 +\125\123\061\040\060\036\006\003\125\004\012\014\027\127\145\154 +\154\163\040\106\141\162\147\157\040\127\145\154\154\163\123\145 +\143\165\162\145\061\034\060\032\006\003\125\004\013\014\023\127 +\145\154\154\163\040\106\141\162\147\157\040\102\141\156\153\040 +\116\101\061\066\060\064\006\003\125\004\003\014\055\127\145\154 +\154\163\123\145\143\165\162\145\040\120\165\142\154\151\143\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\202\001\001\060\015\006 +\011\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001 +\000\271\025\261\104\221\314\043\310\053\115\167\343\370\232\173 +\047\015\315\162\273\231\000\312\174\146\031\120\306\325\230\355 +\253\277\003\132\345\115\345\036\310\117\161\227\206\325\343\035 +\375\220\311\074\165\167\127\172\175\370\336\364\324\325\367\225 +\346\164\156\035\074\256\174\235\333\002\003\005\054\161\113\045 +\076\007\343\136\232\365\146\027\051\210\032\070\237\317\252\101 +\003\204\227\153\223\070\172\312\060\104\033\044\104\063\320\344 +\321\334\050\070\364\023\103\065\065\051\143\250\174\242\265\255 +\070\244\355\255\375\306\232\037\377\227\163\376\373\263\065\247 +\223\206\306\166\221\000\346\254\121\026\304\047\062\134\333\163 +\332\245\223\127\216\076\155\065\046\010\131\325\347\104\327\166 +\040\143\347\254\023\147\303\155\261\160\106\174\325\226\021\075 +\211\157\135\250\241\353\215\012\332\303\035\063\154\243\352\147 +\031\232\231\177\113\075\203\121\052\035\312\057\206\014\242\176 +\020\055\053\324\026\225\013\007\252\056\024\222\111\267\051\157 +\330\155\061\175\365\374\241\020\007\207\316\057\131\334\076\130 +\333 +END + +# Trust for Certificate "WellsSecure Public Root Certificate Authority" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "WellsSecure Public Root Certificate Authority" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\347\264\366\235\141\354\220\151\333\176\220\247\100\032\074\364 +\175\117\350\356 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\025\254\245\302\222\055\171\274\350\177\313\147\355\002\317\066 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\205\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\040\060\036\006\003\125\004\012\014\027\127\145\154\154\163 +\040\106\141\162\147\157\040\127\145\154\154\163\123\145\143\165 +\162\145\061\034\060\032\006\003\125\004\013\014\023\127\145\154 +\154\163\040\106\141\162\147\157\040\102\141\156\153\040\116\101 +\061\066\060\064\006\003\125\004\003\014\055\127\145\154\154\163 +\123\145\143\165\162\145\040\120\165\142\154\151\143\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 +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_TRUST_UNKNOWN +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "COMODO ECC Certification Authority" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "COMODO ECC Certification Authority" +CKA_CLASS CK_OBJECT_CLASS 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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "MD5 Collisions Forged Rogue CA 25c3" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "MD5 Collisions Forged Rogue CA 25c3" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\074\061\072\060\070\006\003\125\004\003\023\061\115\104\065 +\040\103\157\154\154\151\163\151\157\156\163\040\111\156\143\056 +\040\050\150\164\164\160\072\057\057\167\167\167\056\160\150\162 +\145\145\144\157\155\056\157\162\147\057\155\144\065\051 +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 +\034\060\032\006\003\125\004\012\023\023\105\161\165\151\146\141 +\170\040\123\145\143\165\162\145\040\111\156\143\056\061\055\060 +\053\006\003\125\004\003\023\044\105\161\165\151\146\141\170\040 +\123\145\143\165\162\145\040\107\154\157\142\141\154\040\145\102 +\165\163\151\156\145\163\163\040\103\101\055\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\102 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\062\060\202\003\233\240\003\002\001\002\002\001\102 +\060\015\006\011\052\206\110\206\367\015\001\001\004\005\000\060 +\132\061\013\060\011\006\003\125\004\006\023\002\125\123\061\034 +\060\032\006\003\125\004\012\023\023\105\161\165\151\146\141\170 +\040\123\145\143\165\162\145\040\111\156\143\056\061\055\060\053 +\006\003\125\004\003\023\044\105\161\165\151\146\141\170\040\123 +\145\143\165\162\145\040\107\154\157\142\141\154\040\145\102\165 +\163\151\156\145\163\163\040\103\101\055\061\060\036\027\015\060 +\064\060\067\063\061\060\060\060\060\060\061\132\027\015\060\064 +\060\071\060\062\060\060\060\060\060\061\132\060\074\061\072\060 +\070\006\003\125\004\003\023\061\115\104\065\040\103\157\154\154 +\151\163\151\157\156\163\040\111\156\143\056\040\050\150\164\164 +\160\072\057\057\167\167\167\056\160\150\162\145\145\144\157\155 +\056\157\162\147\057\155\144\065\051\060\201\237\060\015\006\011 +\052\206\110\206\367\015\001\001\001\005\000\003\201\215\000\060 +\201\211\002\201\201\000\272\246\131\311\054\050\326\052\260\370 +\355\237\106\244\244\067\356\016\031\150\131\321\263\003\231\121 +\326\026\232\136\067\153\025\340\016\113\365\204\144\370\243\333 +\101\157\065\325\233\025\037\333\304\070\122\160\201\227\136\217 +\240\265\367\176\071\360\062\254\036\255\104\322\263\372\110\303 +\316\221\233\354\364\234\174\341\132\365\310\067\153\232\203\336 +\347\312\040\227\061\102\163\025\221\150\364\210\257\371\050\050 +\305\351\017\163\260\027\113\023\114\231\165\320\104\346\176\010 +\154\032\362\117\033\101\002\003\001\000\001\243\202\002\044\060 +\202\002\040\060\013\006\003\125\035\017\004\004\003\002\001\306 +\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\247\004\140\037 +\253\162\103\010\305\177\010\220\125\126\034\326\316\346\070\353 +\060\037\006\003\125\035\043\004\030\060\026\200\024\276\250\240 +\164\162\120\153\104\267\311\043\330\373\250\377\263\127\153\150 +\154\060\202\001\276\006\011\140\206\110\001\206\370\102\001\015 +\004\202\001\257\026\202\001\253\063\000\000\000\047\136\071\340 +\211\141\017\116\243\305\105\013\066\273\001\321\123\252\303\010 +\217\157\370\117\076\207\207\104\021\334\140\340\337\222\125\371 +\270\163\033\124\223\305\237\320\106\304\140\266\065\142\315\271 +\257\034\250\151\032\311\133\074\226\067\300\355\147\357\273\376 +\300\213\234\120\057\051\275\203\042\236\216\010\372\254\023\160 +\242\130\177\142\142\212\021\367\211\366\337\266\147\131\163\026 +\373\143\026\212\264\221\070\316\056\365\266\276\114\244\224\111 +\344\145\021\012\102\025\311\301\060\342\151\325\105\175\245\046 +\273\271\141\354\142\144\360\071\341\347\274\150\330\120\121\236 +\035\140\323\321\243\247\012\370\003\040\241\160\001\027\221\066 +\117\002\160\061\206\203\335\367\017\330\007\035\021\263\023\004 +\245\334\360\256\120\261\050\016\143\151\052\014\202\157\217\107 +\063\337\154\242\006\222\361\117\105\276\331\060\066\243\053\214 +\326\167\256\065\143\177\116\114\232\223\110\066\331\237\002\003 +\001\000\001\243\201\275\060\201\272\060\016\006\003\125\035\017 +\001\001\377\004\004\003\002\004\360\060\035\006\003\125\035\016 +\004\026\004\024\315\246\203\372\245\140\067\367\226\067\027\051 +\336\101\170\361\207\211\125\347\060\073\006\003\125\035\037\004 +\064\060\062\060\060\240\056\240\054\206\052\150\164\164\160\072 +\057\057\143\162\154\056\147\145\157\164\162\165\163\164\056\143 +\157\155\057\143\162\154\163\057\147\154\157\142\141\154\143\141 +\061\056\143\162\154\060\037\006\003\125\035\043\004\030\060\026 +\200\024\276\250\240\164\162\120\153\104\267\311\043\330\373\250 +\377\263\127\153\150\154\060\035\006\003\125\035\045\004\026\060 +\024\006\010\053\006\001\005\005\007\003\001\006\010\053\006\001 +\005\005\007\003\002\060\014\006\003\125\035\023\001\001\377\004 +\002\060\000\060\015\006\011\052\206\110\206\367\015\001\001\004 +\005\000\003\201\201\000\247\041\002\215\321\016\242\200\167\045 +\375\103\140\025\217\354\357\220\107\324\204\102\025\046\021\034 +\315\302\074\020\051\251\266\337\253\127\165\221\332\345\053\263 +\220\105\034\060\143\126\077\212\331\120\372\355\130\154\300\145 +\254\146\127\336\034\306\166\073\365\000\016\216\105\316\177\114 +\220\354\053\306\315\263\264\217\142\320\376\267\305\046\162\104 +\355\366\230\133\256\313\321\225\365\332\010\276\150\106\261\165 +\310\354\035\217\036\172\224\361\252\123\170\242\105\256\124\352 +\321\236\164\310\166\147 +END + +# Trust for Certificate "MD5 Collisions Forged Rogue CA 25c3" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "MD5 Collisions Forged Rogue CA 25c3" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\144\043\023\176\134\123\326\112\246\144\205\355\066\124\365\253 +\005\132\213\212 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\026\172\023\025\271\027\071\243\361\005\152\346\076\331\072\070 +END +CKA_ISSUER MULTILINE_OCTAL +\060\132\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\034\060\032\006\003\125\004\012\023\023\105\161\165\151\146\141 +\170\040\123\145\143\165\162\145\040\111\156\143\056\061\055\060 +\053\006\003\125\004\003\023\044\105\161\165\151\146\141\170\040 +\123\145\143\165\162\145\040\107\154\157\142\141\154\040\145\102 +\165\163\151\156\145\163\163\040\103\101\055\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\102 +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 "IGC/A" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "IGC/A" +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\106\122 +\061\017\060\015\006\003\125\004\010\023\006\106\162\141\156\143 +\145\061\016\060\014\006\003\125\004\007\023\005\120\141\162\151 +\163\061\020\060\016\006\003\125\004\012\023\007\120\115\057\123 +\107\104\116\061\016\060\014\006\003\125\004\013\023\005\104\103 +\123\123\111\061\016\060\014\006\003\125\004\003\023\005\111\107 +\103\057\101\061\043\060\041\006\011\052\206\110\206\367\015\001 +\011\001\026\024\151\147\143\141\100\163\147\144\156\056\160\155 +\056\147\157\165\166\056\146\162 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\205\061\013\060\011\006\003\125\004\006\023\002\106\122 +\061\017\060\015\006\003\125\004\010\023\006\106\162\141\156\143 +\145\061\016\060\014\006\003\125\004\007\023\005\120\141\162\151 +\163\061\020\060\016\006\003\125\004\012\023\007\120\115\057\123 +\107\104\116\061\016\060\014\006\003\125\004\013\023\005\104\103 +\123\123\111\061\016\060\014\006\003\125\004\003\023\005\111\107 +\103\057\101\061\043\060\041\006\011\052\206\110\206\367\015\001 +\011\001\026\024\151\147\143\141\100\163\147\144\156\056\160\155 +\056\147\157\165\166\056\146\162 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\005\071\021\105\020\224 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\002\060\202\002\352\240\003\002\001\002\002\005\071 +\021\105\020\224\060\015\006\011\052\206\110\206\367\015\001\001 +\005\005\000\060\201\205\061\013\060\011\006\003\125\004\006\023 +\002\106\122\061\017\060\015\006\003\125\004\010\023\006\106\162 +\141\156\143\145\061\016\060\014\006\003\125\004\007\023\005\120 +\141\162\151\163\061\020\060\016\006\003\125\004\012\023\007\120 +\115\057\123\107\104\116\061\016\060\014\006\003\125\004\013\023 +\005\104\103\123\123\111\061\016\060\014\006\003\125\004\003\023 +\005\111\107\103\057\101\061\043\060\041\006\011\052\206\110\206 +\367\015\001\011\001\026\024\151\147\143\141\100\163\147\144\156 +\056\160\155\056\147\157\165\166\056\146\162\060\036\027\015\060 +\062\061\062\061\063\061\064\062\071\062\063\132\027\015\062\060 +\061\060\061\067\061\064\062\071\062\062\132\060\201\205\061\013 +\060\011\006\003\125\004\006\023\002\106\122\061\017\060\015\006 +\003\125\004\010\023\006\106\162\141\156\143\145\061\016\060\014 +\006\003\125\004\007\023\005\120\141\162\151\163\061\020\060\016 +\006\003\125\004\012\023\007\120\115\057\123\107\104\116\061\016 +\060\014\006\003\125\004\013\023\005\104\103\123\123\111\061\016 +\060\014\006\003\125\004\003\023\005\111\107\103\057\101\061\043 +\060\041\006\011\052\206\110\206\367\015\001\011\001\026\024\151 +\147\143\141\100\163\147\144\156\056\160\155\056\147\157\165\166 +\056\146\162\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\037\321\320\142\305\063\073\300\004\206\210 +\263\334\370\210\367\375\337\103\337\172\215\232\111\134\366\116 +\252\314\034\271\241\353\047\211\362\106\351\073\112\161\325\035 +\216\055\317\346\255\253\143\120\307\124\013\156\022\311\220\066 +\306\330\057\332\221\252\150\305\162\376\027\012\262\027\176\171 +\265\062\210\160\312\160\300\226\112\216\344\125\315\035\047\224 +\277\316\162\052\354\134\371\163\040\376\275\367\056\211\147\270 +\273\107\163\022\367\321\065\151\072\362\012\271\256\377\106\102 +\106\242\277\241\205\032\371\277\344\377\111\205\367\243\160\206 +\062\034\135\237\140\367\251\255\245\377\317\321\064\371\175\133 +\027\306\334\326\016\050\153\302\335\361\365\063\150\235\116\374 +\207\174\066\022\326\243\200\350\103\015\125\141\224\352\144\067 +\107\352\167\312\320\262\130\005\303\135\176\261\250\106\220\061 +\126\316\160\052\226\262\060\270\167\346\171\300\275\051\073\375 +\224\167\114\275\040\315\101\045\340\056\307\033\273\356\244\004 +\101\322\135\255\022\152\212\233\107\373\311\335\106\100\341\235 +\074\063\320\265\002\003\001\000\001\243\167\060\165\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\106\060\025\006\003\125 +\035\040\004\016\060\014\060\012\006\010\052\201\172\001\171\001 +\001\001\060\035\006\003\125\035\016\004\026\004\024\243\005\057 +\030\140\120\302\211\012\335\053\041\117\377\216\116\250\060\061 +\066\060\037\006\003\125\035\043\004\030\060\026\200\024\243\005 +\057\030\140\120\302\211\012\335\053\041\117\377\216\116\250\060 +\061\066\060\015\006\011\052\206\110\206\367\015\001\001\005\005 +\000\003\202\001\001\000\005\334\046\330\372\167\025\104\150\374 +\057\146\072\164\340\135\344\051\377\006\007\023\204\112\253\317 +\155\240\037\121\224\370\111\313\164\066\024\274\025\335\333\211 +\057\335\217\240\135\174\365\022\353\237\236\070\244\107\314\263 +\226\331\276\234\045\253\003\176\063\017\225\201\015\375\026\340 +\210\276\067\360\154\135\320\061\233\062\053\135\027\145\223\230 +\140\274\156\217\261\250\074\036\331\034\363\251\046\102\371\144 +\035\302\347\222\366\364\036\132\252\031\122\135\257\350\242\367 +\140\240\366\215\360\211\365\156\340\012\005\001\225\311\213\040 +\012\272\132\374\232\054\074\275\303\267\311\135\170\045\005\077 +\126\024\233\014\332\373\072\110\376\227\151\136\312\020\206\367 +\116\226\004\010\115\354\260\276\135\334\073\216\117\301\375\232 +\066\064\232\114\124\176\027\003\110\225\010\021\034\007\157\205 +\010\176\135\115\304\235\333\373\256\316\262\321\263\270\203\154 +\035\262\263\171\361\330\160\231\176\360\023\002\316\136\335\121 +\323\337\066\201\241\033\170\057\161\263\361\131\114\106\030\050 +\253\205\322\140\126\132 +END + +# Trust for Certificate "IGC/A" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "IGC/A" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\140\326\211\164\265\302\145\236\212\017\301\210\174\210\322\106 +\151\033\030\054 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\014\177\335\152\364\052\271\310\233\275\040\176\251\333\134\067 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\205\061\013\060\011\006\003\125\004\006\023\002\106\122 +\061\017\060\015\006\003\125\004\010\023\006\106\162\141\156\143 +\145\061\016\060\014\006\003\125\004\007\023\005\120\141\162\151 +\163\061\020\060\016\006\003\125\004\012\023\007\120\115\057\123 +\107\104\116\061\016\060\014\006\003\125\004\013\023\005\104\103 +\123\123\111\061\016\060\014\006\003\125\004\003\023\005\111\107 +\103\057\101\061\043\060\041\006\011\052\206\110\206\367\015\001 +\011\001\026\024\151\147\143\141\100\163\147\144\156\056\160\155 +\056\147\157\165\166\056\146\162 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\005\071\021\105\020\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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Security Communication EV RootCA1" +# +CKA_CLASS CK_OBJECT_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 EV RootCA1" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\140\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\052\060\050\006\003\125\004\013\023 +\041\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156 +\151\143\141\164\151\157\156\040\105\126\040\122\157\157\164\103 +\101\061 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\140\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\052\060\050\006\003\125\004\013\023 +\041\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156 +\151\143\141\164\151\157\156\040\105\126\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\175\060\202\002\145\240\003\002\001\002\002\001\000 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\140\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\052\060\050\006\003\125\004\013\023\041 +\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156\151 +\143\141\164\151\157\156\040\105\126\040\122\157\157\164\103\101 +\061\060\036\027\015\060\067\060\066\060\066\060\062\061\062\063 +\062\132\027\015\063\067\060\066\060\066\060\062\061\062\063\062 +\132\060\140\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\052\060\050\006\003\125\004\013 +\023\041\123\145\143\165\162\151\164\171\040\103\157\155\155\165 +\156\151\143\141\164\151\157\156\040\105\126\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\274\177\354\127\233\044\340\376\234\272\102\171 +\251\210\212\372\200\340\365\007\051\103\352\216\012\064\066\215 +\034\372\247\265\071\170\377\227\165\367\057\344\252\153\004\204 +\104\312\246\342\150\216\375\125\120\142\017\244\161\016\316\007 +\070\055\102\205\120\255\074\226\157\213\325\242\016\317\336\111 +\211\075\326\144\056\070\345\036\154\265\127\212\236\357\110\016 +\315\172\151\026\207\104\265\220\344\006\235\256\241\004\227\130 +\171\357\040\112\202\153\214\042\277\354\037\017\351\204\161\355 +\361\016\344\270\030\023\314\126\066\135\321\232\036\121\153\071 +\156\140\166\210\064\013\363\263\321\260\235\312\141\342\144\035 +\301\106\007\270\143\335\036\063\145\263\216\011\125\122\075\265 +\275\377\007\353\255\141\125\030\054\251\151\230\112\252\100\305 +\063\024\145\164\000\371\221\336\257\003\110\305\100\124\334\017 +\204\220\150\040\305\222\226\334\056\345\002\105\252\300\137\124 +\370\155\352\111\317\135\154\113\257\357\232\302\126\134\306\065 +\126\102\152\060\137\302\253\366\342\075\077\263\311\021\217\061 +\114\327\237\111\002\003\001\000\001\243\102\060\100\060\035\006 +\003\125\035\016\004\026\004\024\065\112\365\115\257\077\327\202 +\070\254\253\161\145\027\165\214\235\125\223\346\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\250\207\351\354\370\100\147\135\303\301\146\307\100\113\227 +\374\207\023\220\132\304\357\240\312\137\213\267\247\267\361\326 +\265\144\267\212\263\270\033\314\332\373\254\146\210\101\316\350 +\374\344\333\036\210\246\355\047\120\033\002\060\044\106\171\376 +\004\207\160\227\100\163\321\300\301\127\031\232\151\245\047\231 +\253\235\142\204\366\121\301\054\311\043\025\330\050\267\253\045 +\023\265\106\341\206\002\377\046\214\304\210\222\035\126\376\031 +\147\362\125\344\200\243\153\234\253\167\341\121\161\015\040\333 +\020\232\333\275\166\171\007\167\231\050\255\232\136\332\261\117 +\104\054\065\216\245\226\307\375\203\360\130\306\171\326\230\174 +\250\215\376\206\076\007\026\222\341\173\347\035\354\063\166\176 +\102\056\112\205\371\221\211\150\204\003\201\245\233\232\276\343 +\067\305\124\253\126\073\030\055\101\244\014\370\102\333\231\240 +\340\162\157\273\135\341\026\117\123\012\144\371\116\364\277\116 +\124\275\170\154\210\352\277\234\023\044\302\160\151\242\177\017 +\310\074\255\010\311\260\230\100\243\052\347\210\203\355\167\217 +\164 +END + +# Trust for Certificate "Security Communication EV RootCA1" +CKA_CLASS CK_OBJECT_CLASS 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 EV RootCA1" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\376\270\304\062\334\371\166\232\316\256\075\330\220\217\375\050 +\206\145\144\175 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\042\055\246\001\352\174\012\367\360\154\126\103\077\167\166\323 +END +CKA_ISSUER MULTILINE_OCTAL +\060\140\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\052\060\050\006\003\125\004\013\023 +\041\123\145\143\165\162\151\164\171\040\103\157\155\155\165\156 +\151\143\141\164\151\157\156\040\105\126\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_TRUST_UNKNOWN +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "OISTE WISeKey Global Root GA 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 "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 + +# Trust for Certificate "OISTE WISeKey Global Root GA 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 "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_TRUST_UNKNOWN +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "S-TRUST Authentication and Encryption Root CA 2005 PN" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "S-TRUST Authentication and Encryption Root CA 2005 PN" +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\104\105 +\061\040\060\036\006\003\125\004\010\023\027\102\141\144\145\156 +\055\127\165\145\162\164\164\145\155\142\145\162\147\040\050\102 +\127\051\061\022\060\020\006\003\125\004\007\023\011\123\164\165 +\164\164\147\141\162\164\061\051\060\047\006\003\125\004\012\023 +\040\104\145\165\164\163\143\150\145\162\040\123\160\141\162\153 +\141\163\163\145\156\040\126\145\162\154\141\147\040\107\155\142 +\110\061\076\060\074\006\003\125\004\003\023\065\123\055\124\122 +\125\123\124\040\101\165\164\150\145\156\164\151\143\141\164\151 +\157\156\040\141\156\144\040\105\156\143\162\171\160\164\151\157 +\156\040\122\157\157\164\040\103\101\040\062\060\060\065\072\120 +\116 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\256\061\013\060\011\006\003\125\004\006\023\002\104\105 +\061\040\060\036\006\003\125\004\010\023\027\102\141\144\145\156 +\055\127\165\145\162\164\164\145\155\142\145\162\147\040\050\102 +\127\051\061\022\060\020\006\003\125\004\007\023\011\123\164\165 +\164\164\147\141\162\164\061\051\060\047\006\003\125\004\012\023 +\040\104\145\165\164\163\143\150\145\162\040\123\160\141\162\153 +\141\163\163\145\156\040\126\145\162\154\141\147\040\107\155\142 +\110\061\076\060\074\006\003\125\004\003\023\065\123\055\124\122 +\125\123\124\040\101\165\164\150\145\156\164\151\143\141\164\151 +\157\156\040\141\156\144\040\105\156\143\162\171\160\164\151\157 +\156\040\122\157\157\164\040\103\101\040\062\060\060\065\072\120 +\116 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\067\031\030\346\123\124\174\032\265\270\313\131\132\333 +\065\267 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\173\060\202\003\143\240\003\002\001\002\002\020\067 +\031\030\346\123\124\174\032\265\270\313\131\132\333\065\267\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\104\105\061\040 +\060\036\006\003\125\004\010\023\027\102\141\144\145\156\055\127 +\165\145\162\164\164\145\155\142\145\162\147\040\050\102\127\051 +\061\022\060\020\006\003\125\004\007\023\011\123\164\165\164\164 +\147\141\162\164\061\051\060\047\006\003\125\004\012\023\040\104 +\145\165\164\163\143\150\145\162\040\123\160\141\162\153\141\163 +\163\145\156\040\126\145\162\154\141\147\040\107\155\142\110\061 +\076\060\074\006\003\125\004\003\023\065\123\055\124\122\125\123 +\124\040\101\165\164\150\145\156\164\151\143\141\164\151\157\156 +\040\141\156\144\040\105\156\143\162\171\160\164\151\157\156\040 +\122\157\157\164\040\103\101\040\062\060\060\065\072\120\116\060 +\036\027\015\060\065\060\066\062\062\060\060\060\060\060\060\132 +\027\015\063\060\060\066\062\061\062\063\065\071\065\071\132\060 +\201\256\061\013\060\011\006\003\125\004\006\023\002\104\105\061 +\040\060\036\006\003\125\004\010\023\027\102\141\144\145\156\055 +\127\165\145\162\164\164\145\155\142\145\162\147\040\050\102\127 +\051\061\022\060\020\006\003\125\004\007\023\011\123\164\165\164 +\164\147\141\162\164\061\051\060\047\006\003\125\004\012\023\040 +\104\145\165\164\163\143\150\145\162\040\123\160\141\162\153\141 +\163\163\145\156\040\126\145\162\154\141\147\040\107\155\142\110 +\061\076\060\074\006\003\125\004\003\023\065\123\055\124\122\125 +\123\124\040\101\165\164\150\145\156\164\151\143\141\164\151\157 +\156\040\141\156\144\040\105\156\143\162\171\160\164\151\157\156 +\040\122\157\157\164\040\103\101\040\062\060\060\065\072\120\116 +\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\265\112\301\323\063\352\323\106\263\321\342\114\322\365 +\266\203\320\157\325\030\351\223\257\047\216\023\315\265\045\066 +\120\064\022\144\051\241\125\341\072\140\223\236\050\311\343\363 +\233\341\004\260\043\277\225\212\216\133\033\101\177\132\303\350 +\115\114\325\044\026\076\207\110\324\047\256\346\367\123\035\273 +\014\000\357\076\141\161\255\277\072\172\130\037\224\075\134\201 +\325\325\157\337\270\233\322\365\345\313\203\162\222\302\123\262 +\202\002\353\255\255\137\026\055\222\123\166\361\211\266\054\365 +\301\057\340\247\112\157\240\060\152\062\353\232\164\003\150\170 +\023\235\312\057\233\013\035\276\317\165\015\046\227\233\307\365 +\136\012\237\170\337\263\274\354\232\272\357\125\217\033\232\246 +\007\143\051\027\131\142\011\052\171\007\167\245\340\321\027\151 +\351\133\335\366\220\253\342\230\012\000\321\045\155\236\327\205 +\207\057\222\361\321\166\203\117\013\072\131\067\050\057\063\247 +\027\120\326\040\013\012\364\046\371\237\070\347\055\244\270\233 +\211\215\255\255\311\152\175\211\027\273\366\177\200\203\172\346 +\355\002\003\001\000\001\243\201\222\060\201\217\060\022\006\003 +\125\035\023\001\001\377\004\010\060\006\001\001\377\002\001\000 +\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006 +\060\051\006\003\125\035\021\004\042\060\040\244\036\060\034\061 +\032\060\030\006\003\125\004\003\023\021\123\124\122\157\156\154 +\151\156\145\061\055\062\060\064\070\055\065\060\035\006\003\125 +\035\016\004\026\004\024\017\312\036\134\171\340\242\363\051\266 +\322\205\263\013\112\265\145\354\153\122\060\037\006\003\125\035 +\043\004\030\060\026\200\024\017\312\036\134\171\340\242\363\051 +\266\322\205\263\013\112\265\145\354\153\122\060\015\006\011\052 +\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000\257 +\001\360\355\031\074\050\350\115\134\273\245\143\034\210\063\003 +\247\000\207\244\037\040\253\326\034\343\006\037\227\176\124\275 +\267\321\262\311\325\332\200\354\027\327\212\365\173\302\000\366 +\351\021\157\204\240\132\045\061\342\211\371\244\000\077\061\150 +\056\325\075\350\156\346\325\035\074\077\262\275\237\167\353\235 +\323\214\272\300\327\266\115\354\123\234\017\004\156\352\065\147 +\127\343\012\145\173\220\072\341\117\076\303\000\222\172\273\005 +\211\163\214\313\246\115\300\373\366\002\326\260\007\243\003\302 +\047\100\237\014\344\205\202\055\257\232\102\035\320\307\215\370 +\100\356\235\006\127\034\331\242\330\200\024\376\341\143\055\062 +\207\325\224\122\226\072\106\306\161\226\075\367\230\016\262\221 +\252\217\332\364\116\044\000\071\125\350\255\027\271\323\064\053 +\112\251\100\314\027\052\125\145\101\164\102\176\365\300\257\310 +\223\255\362\030\133\075\211\014\333\107\071\044\370\340\114\362 +\037\260\075\012\312\005\116\211\041\032\343\052\231\254\374\177 +\241\361\017\033\037\075\236\004\203\335\226\331\035\072\224 +END + +# Trust for Certificate "S-TRUST Authentication and Encryption Root CA 2005 PN" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "S-TRUST Authentication and Encryption Root CA 2005 PN" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\276\265\251\225\164\153\236\337\163\213\126\346\337\103\172\167 +\276\020\153\201 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\004\113\375\311\154\332\052\062\205\174\131\204\141\106\212\144 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\256\061\013\060\011\006\003\125\004\006\023\002\104\105 +\061\040\060\036\006\003\125\004\010\023\027\102\141\144\145\156 +\055\127\165\145\162\164\164\145\155\142\145\162\147\040\050\102 +\127\051\061\022\060\020\006\003\125\004\007\023\011\123\164\165 +\164\164\147\141\162\164\061\051\060\047\006\003\125\004\012\023 +\040\104\145\165\164\163\143\150\145\162\040\123\160\141\162\153 +\141\163\163\145\156\040\126\145\162\154\141\147\040\107\155\142 +\110\061\076\060\074\006\003\125\004\003\023\065\123\055\124\122 +\125\123\124\040\101\165\164\150\145\156\164\151\143\141\164\151 +\157\156\040\141\156\144\040\105\156\143\162\171\160\164\151\157 +\156\040\122\157\157\164\040\103\101\040\062\060\060\065\072\120 +\116 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\067\031\030\346\123\124\174\032\265\270\313\131\132\333 +\065\267 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Microsec e-Szigno Root 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 "Microsec e-Szigno Root CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\162\061\013\060\011\006\003\125\004\006\023\002\110\125\061 +\021\060\017\006\003\125\004\007\023\010\102\165\144\141\160\145 +\163\164\061\026\060\024\006\003\125\004\012\023\015\115\151\143 +\162\157\163\145\143\040\114\164\144\056\061\024\060\022\006\003 +\125\004\013\023\013\145\055\123\172\151\147\156\157\040\103\101 +\061\042\060\040\006\003\125\004\003\023\031\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 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\162\061\013\060\011\006\003\125\004\006\023\002\110\125\061 +\021\060\017\006\003\125\004\007\023\010\102\165\144\141\160\145 +\163\164\061\026\060\024\006\003\125\004\012\023\015\115\151\143 +\162\157\163\145\143\040\114\164\144\056\061\024\060\022\006\003 +\125\004\013\023\013\145\055\123\172\151\147\156\157\040\103\101 +\061\042\060\040\006\003\125\004\003\023\031\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 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\021\000\314\270\347\277\116\051\032\375\242\334\146\245\034 +\054\017\021 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\007\250\060\202\006\220\240\003\002\001\002\002\021\000 +\314\270\347\277\116\051\032\375\242\334\146\245\034\054\017\021 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\162\061\013\060\011\006\003\125\004\006\023\002\110\125\061\021 +\060\017\006\003\125\004\007\023\010\102\165\144\141\160\145\163 +\164\061\026\060\024\006\003\125\004\012\023\015\115\151\143\162 +\157\163\145\143\040\114\164\144\056\061\024\060\022\006\003\125 +\004\013\023\013\145\055\123\172\151\147\156\157\040\103\101\061 +\042\060\040\006\003\125\004\003\023\031\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\060\036\027\015\060\065\060\064\060\066\061\062\062 +\070\064\064\132\027\015\061\067\060\064\060\066\061\062\062\070 +\064\064\132\060\162\061\013\060\011\006\003\125\004\006\023\002 +\110\125\061\021\060\017\006\003\125\004\007\023\010\102\165\144 +\141\160\145\163\164\061\026\060\024\006\003\125\004\012\023\015 +\115\151\143\162\157\163\145\143\040\114\164\144\056\061\024\060 +\022\006\003\125\004\013\023\013\145\055\123\172\151\147\156\157 +\040\103\101\061\042\060\040\006\003\125\004\003\023\031\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\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\355\310\000\325\201\173\315\070 +\000\107\314\333\204\301\041\151\054\164\220\014\041\331\123\207 +\355\076\103\104\123\257\253\370\200\233\074\170\215\324\215\256 +\270\357\323\021\334\201\346\317\073\226\214\326\157\025\306\167 +\176\241\057\340\137\222\266\047\327\166\232\035\103\074\352\331 +\354\057\356\071\363\152\147\113\213\202\317\042\370\145\125\376 +\054\313\057\175\110\172\075\165\371\252\240\047\273\170\302\006 +\312\121\302\176\146\113\257\315\242\247\115\002\202\077\202\254 +\205\306\341\017\220\107\231\224\012\161\162\223\052\311\246\300 +\276\074\126\114\163\222\047\361\153\265\365\375\374\060\005\140 +\222\306\353\226\176\001\221\302\151\261\036\035\173\123\105\270 +\334\101\037\311\213\161\326\124\024\343\213\124\170\077\276\364 +\142\073\133\365\243\354\325\222\164\342\164\060\357\001\333\341 +\324\253\231\233\052\153\370\275\246\034\206\043\102\137\354\111 +\336\232\213\133\364\162\072\100\305\111\076\245\276\216\252\161 +\353\154\372\365\032\344\152\375\173\175\125\100\357\130\156\346 +\331\325\274\044\253\301\357\267\002\003\001\000\001\243\202\004 +\067\060\202\004\063\060\147\006\010\053\006\001\005\005\007\001 +\001\004\133\060\131\060\050\006\010\053\006\001\005\005\007\060 +\001\206\034\150\164\164\160\163\072\057\057\162\143\141\056\145 +\055\163\172\151\147\156\157\056\150\165\057\157\143\163\160\060 +\055\006\010\053\006\001\005\005\007\060\002\206\041\150\164\164 +\160\072\057\057\167\167\167\056\145\055\163\172\151\147\156\157 +\056\150\165\057\122\157\157\164\103\101\056\143\162\164\060\017 +\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060 +\202\001\163\006\003\125\035\040\004\202\001\152\060\202\001\146 +\060\202\001\142\006\014\053\006\001\004\001\201\250\030\002\001 +\001\001\060\202\001\120\060\050\006\010\053\006\001\005\005\007 +\002\001\026\034\150\164\164\160\072\057\057\167\167\167\056\145 +\055\163\172\151\147\156\157\056\150\165\057\123\132\123\132\057 +\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\040\000\164\000\141\000\156 +\000\372\000\163\000\355\000\164\000\166\000\341\000\156\000\171 +\000\040\000\351\000\162\000\164\000\145\000\154\000\155\000\145 +\000\172\000\351\000\163\000\351\000\150\000\145\000\172\000\040 +\000\351\000\163\000\040\000\145\000\154\000\146\000\157\000\147 +\000\141\000\144\000\341\000\163\000\341\000\150\000\157\000\172 +\000\040\000\141\000\040\000\123\000\172\000\157\000\154\000\147 +\000\341\000\154\000\164\000\141\000\164\000\363\000\040\000\123 +\000\172\000\157\000\154\000\147\000\341\000\154\000\164\000\141 +\000\164\000\341\000\163\000\151\000\040\000\123\000\172\000\141 +\000\142\000\341\000\154\000\171\000\172\000\141\000\164\000\141 +\000\040\000\163\000\172\000\145\000\162\000\151\000\156\000\164 +\000\040\000\153\000\145\000\154\000\154\000\040\000\145\000\154 +\000\152\000\341\000\162\000\156\000\151\000\072\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\145\000\055\000\163\000\172\000\151\000\147 +\000\156\000\157\000\056\000\150\000\165\000\057\000\123\000\132 +\000\123\000\132\000\057\060\201\310\006\003\125\035\037\004\201 +\300\060\201\275\060\201\272\240\201\267\240\201\264\206\041\150 +\164\164\160\072\057\057\167\167\167\056\145\055\163\172\151\147 +\156\157\056\150\165\057\122\157\157\164\103\101\056\143\162\154 +\206\201\216\154\144\141\160\072\057\057\154\144\141\160\056\145 +\055\163\172\151\147\156\157\056\150\165\057\103\116\075\115\151 +\143\162\157\163\145\143\045\062\060\145\055\123\172\151\147\156 +\157\045\062\060\122\157\157\164\045\062\060\103\101\054\117\125 +\075\145\055\123\172\151\147\156\157\045\062\060\103\101\054\117 +\075\115\151\143\162\157\163\145\143\045\062\060\114\164\144\056 +\054\114\075\102\165\144\141\160\145\163\164\054\103\075\110\125 +\077\143\145\162\164\151\146\151\143\141\164\145\122\145\166\157 +\143\141\164\151\157\156\114\151\163\164\073\142\151\156\141\162 +\171\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001 +\006\060\201\226\006\003\125\035\021\004\201\216\060\201\213\201 +\020\151\156\146\157\100\145\055\163\172\151\147\156\157\056\150 +\165\244\167\060\165\061\043\060\041\006\003\125\004\003\014\032 +\115\151\143\162\157\163\145\143\040\145\055\123\172\151\147\156 +\303\263\040\122\157\157\164\040\103\101\061\026\060\024\006\003 +\125\004\013\014\015\145\055\123\172\151\147\156\303\263\040\110 +\123\132\061\026\060\024\006\003\125\004\012\023\015\115\151\143 +\162\157\163\145\143\040\113\146\164\056\061\021\060\017\006\003 +\125\004\007\023\010\102\165\144\141\160\145\163\164\061\013\060 +\011\006\003\125\004\006\023\002\110\125\060\201\254\006\003\125 +\035\043\004\201\244\060\201\241\200\024\307\240\111\165\026\141 +\204\333\061\113\204\322\361\067\100\220\357\116\334\367\241\166 +\244\164\060\162\061\013\060\011\006\003\125\004\006\023\002\110 +\125\061\021\060\017\006\003\125\004\007\023\010\102\165\144\141 +\160\145\163\164\061\026\060\024\006\003\125\004\012\023\015\115 +\151\143\162\157\163\145\143\040\114\164\144\056\061\024\060\022 +\006\003\125\004\013\023\013\145\055\123\172\151\147\156\157\040 +\103\101\061\042\060\040\006\003\125\004\003\023\031\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\202\021\000\314\270\347\277\116\051\032 +\375\242\334\146\245\034\054\017\021\060\035\006\003\125\035\016 +\004\026\004\024\307\240\111\165\026\141\204\333\061\113\204\322 +\361\067\100\220\357\116\334\367\060\015\006\011\052\206\110\206 +\367\015\001\001\005\005\000\003\202\001\001\000\323\023\234\146 +\143\131\056\312\134\160\014\374\203\274\125\261\364\216\007\154 +\146\047\316\301\073\040\251\034\273\106\124\160\356\132\314\240 +\167\352\150\104\047\353\362\051\335\167\251\325\373\343\324\247 +\004\304\225\270\013\341\104\150\140\007\103\060\061\102\141\345 +\356\331\345\044\325\033\337\341\112\033\252\237\307\137\370\172 +\021\352\023\223\000\312\212\130\261\356\355\016\115\264\327\250 +\066\046\174\340\072\301\325\127\202\361\165\266\375\211\137\332 +\363\250\070\237\065\006\010\316\042\225\276\315\325\374\276\133 +\336\171\153\334\172\251\145\146\276\261\045\132\137\355\176\323 +\254\106\155\114\364\062\207\264\040\004\340\154\170\260\167\321 +\205\106\113\246\022\267\165\350\112\311\126\154\327\222\253\235 +\365\111\070\322\117\123\343\125\220\021\333\230\226\306\111\362 +\076\364\237\033\340\367\210\334\045\142\231\104\330\163\277\077 +\060\363\014\067\076\324\302\050\200\163\261\001\267\235\132\226 +\024\001\113\251\021\235\051\152\056\320\135\201\300\317\262\040 +\103\307\003\340\067\116\135\012\334\131\040\045 +END + +# Trust for Certificate "Microsec e-Szigno Root 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 "Microsec e-Szigno Root CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\043\210\311\323\161\314\236\226\075\377\175\074\247\316\374\326 +\045\354\031\015 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\360\226\266\057\305\020\325\147\216\203\045\062\350\136\056\345 +END +CKA_ISSUER MULTILINE_OCTAL +\060\162\061\013\060\011\006\003\125\004\006\023\002\110\125\061 +\021\060\017\006\003\125\004\007\023\010\102\165\144\141\160\145 +\163\164\061\026\060\024\006\003\125\004\012\023\015\115\151\143 +\162\157\163\145\143\040\114\164\144\056\061\024\060\022\006\003 +\125\004\013\023\013\145\055\123\172\151\147\156\157\040\103\101 +\061\042\060\040\006\003\125\004\003\023\031\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 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\021\000\314\270\347\277\116\051\032\375\242\334\146\245\034 +\054\017\021 +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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Certigna" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "Certigna" +CKA_CLASS CK_OBJECT_CLASS 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_TRUST_UNKNOWN +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "AC Raiz Certicamara S.A." +# +CKA_CLASS CK_OBJECT_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 Ra\xC3\xADz Certic\xC3\xA1mara S.A." +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\103\117\061 +\107\060\105\006\003\125\004\012\014\076\123\157\143\151\145\144 +\141\144\040\103\141\155\145\162\141\154\040\144\145\040\103\145 +\162\164\151\146\151\143\141\143\151\303\263\156\040\104\151\147 +\151\164\141\154\040\055\040\103\145\162\164\151\143\303\241\155 +\141\162\141\040\123\056\101\056\061\043\060\041\006\003\125\004 +\003\014\032\101\103\040\122\141\303\255\172\040\103\145\162\164 +\151\143\303\241\155\141\162\141\040\123\056\101\056 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\173\061\013\060\011\006\003\125\004\006\023\002\103\117\061 +\107\060\105\006\003\125\004\012\014\076\123\157\143\151\145\144 +\141\144\040\103\141\155\145\162\141\154\040\144\145\040\103\145 +\162\164\151\146\151\143\141\143\151\303\263\156\040\104\151\147 +\151\164\141\154\040\055\040\103\145\162\164\151\143\303\241\155 +\141\162\141\040\123\056\101\056\061\043\060\041\006\003\125\004 +\003\014\032\101\103\040\122\141\303\255\172\040\103\145\162\164 +\151\143\303\241\155\141\162\141\040\123\056\101\056 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\017\007\176\122\223\173\340\025\343\127\360\151\214\313\354 +\014 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\006\146\060\202\004\116\240\003\002\001\002\002\017\007 +\176\122\223\173\340\025\343\127\360\151\214\313\354\014\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\103\117\061\107\060\105 +\006\003\125\004\012\014\076\123\157\143\151\145\144\141\144\040 +\103\141\155\145\162\141\154\040\144\145\040\103\145\162\164\151 +\146\151\143\141\143\151\303\263\156\040\104\151\147\151\164\141 +\154\040\055\040\103\145\162\164\151\143\303\241\155\141\162\141 +\040\123\056\101\056\061\043\060\041\006\003\125\004\003\014\032 +\101\103\040\122\141\303\255\172\040\103\145\162\164\151\143\303 +\241\155\141\162\141\040\123\056\101\056\060\036\027\015\060\066 +\061\061\062\067\062\060\064\066\062\071\132\027\015\063\060\060 +\064\060\062\062\061\064\062\060\062\132\060\173\061\013\060\011 +\006\003\125\004\006\023\002\103\117\061\107\060\105\006\003\125 +\004\012\014\076\123\157\143\151\145\144\141\144\040\103\141\155 +\145\162\141\154\040\144\145\040\103\145\162\164\151\146\151\143 +\141\143\151\303\263\156\040\104\151\147\151\164\141\154\040\055 +\040\103\145\162\164\151\143\303\241\155\141\162\141\040\123\056 +\101\056\061\043\060\041\006\003\125\004\003\014\032\101\103\040 +\122\141\303\255\172\040\103\145\162\164\151\143\303\241\155\141 +\162\141\040\123\056\101\056\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\253\153\211\243\123\314\110\043 +\010\373\303\317\121\226\010\056\270\010\172\155\074\220\027\206 +\251\351\355\056\023\064\107\262\320\160\334\311\074\320\215\312 +\356\113\027\253\320\205\260\247\043\004\313\250\242\374\345\165 +\333\100\312\142\211\217\120\236\001\075\046\133\030\204\034\313 +\174\067\267\175\354\323\177\163\031\260\152\262\330\210\212\055 +\105\164\250\367\263\270\300\324\332\315\042\211\164\115\132\025 +\071\163\030\164\117\265\353\231\247\301\036\210\264\302\223\220 +\143\227\363\247\247\022\262\011\042\007\063\331\221\315\016\234 +\037\016\040\307\356\273\063\215\217\302\322\130\247\137\375\145 +\067\342\210\302\330\217\206\165\136\371\055\247\207\063\362\170 +\067\057\213\274\035\206\067\071\261\224\362\330\274\112\234\203 +\030\132\006\374\363\324\324\272\214\025\011\045\360\371\266\215 +\004\176\027\022\063\153\127\110\114\117\333\046\036\353\314\220 +\347\213\371\150\174\160\017\243\052\320\072\070\337\067\227\342 +\133\336\200\141\323\200\330\221\203\102\132\114\004\211\150\021 +\074\254\137\150\200\101\314\140\102\316\015\132\052\014\017\233 +\060\300\246\360\206\333\253\111\327\227\155\110\213\371\003\300 +\122\147\233\022\367\302\362\056\230\145\102\331\326\232\343\320 +\031\061\014\255\207\325\127\002\172\060\350\206\046\373\217\043 +\212\124\207\344\277\074\356\353\303\165\110\137\036\071\157\201 +\142\154\305\055\304\027\124\031\267\067\215\234\067\221\310\366 +\013\325\352\143\157\203\254\070\302\363\077\336\232\373\341\043 +\141\360\310\046\313\066\310\241\363\060\217\244\243\242\241\335 +\123\263\336\360\232\062\037\203\221\171\060\301\251\037\123\233 +\123\242\025\123\077\335\235\263\020\073\110\175\211\017\374\355 +\003\365\373\045\144\165\016\027\031\015\217\000\026\147\171\172 +\100\374\055\131\007\331\220\372\232\255\075\334\200\212\346\134 +\065\242\147\114\021\153\261\370\200\144\000\055\157\042\141\305 +\254\113\046\345\132\020\202\233\244\203\173\064\367\236\211\221 +\040\227\216\267\102\307\146\303\320\351\244\326\365\040\215\304 +\303\225\254\104\012\235\133\163\074\046\075\057\112\276\247\311 +\247\020\036\373\237\120\151\363\002\003\001\000\001\243\201\346 +\060\201\343\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\321 +\011\320\351\327\316\171\164\124\371\072\060\263\364\155\054\003 +\003\033\150\060\201\240\006\003\125\035\040\004\201\230\060\201 +\225\060\201\222\006\004\125\035\040\000\060\201\211\060\053\006 +\010\053\006\001\005\005\007\002\001\026\037\150\164\164\160\072 +\057\057\167\167\167\056\143\145\162\164\151\143\141\155\141\162 +\141\056\143\157\155\057\144\160\143\057\060\132\006\010\053\006 +\001\005\005\007\002\002\060\116\032\114\114\151\155\151\164\141 +\143\151\157\156\145\163\040\144\145\040\147\141\162\141\156\164 +\355\141\163\040\144\145\040\145\163\164\145\040\143\145\162\164 +\151\146\151\143\141\144\157\040\163\145\040\160\165\145\144\145 +\156\040\145\156\143\157\156\164\162\141\162\040\145\156\040\154 +\141\040\104\120\103\056\060\015\006\011\052\206\110\206\367\015 +\001\001\005\005\000\003\202\002\001\000\134\224\265\270\105\221 +\115\216\141\037\003\050\017\123\174\346\244\131\251\263\212\172 +\305\260\377\010\174\054\243\161\034\041\023\147\241\225\022\100 +\065\203\203\217\164\333\063\134\360\111\166\012\201\122\335\111 +\324\232\062\063\357\233\247\313\165\345\172\313\227\022\220\134 +\272\173\305\233\337\273\071\043\310\377\230\316\012\115\042\001 +\110\007\176\212\300\325\040\102\224\104\357\277\167\242\211\147 +\110\033\100\003\005\241\211\354\317\142\343\075\045\166\146\277 +\046\267\273\042\276\157\377\071\127\164\272\172\311\001\225\301 +\225\121\350\253\054\370\261\206\040\351\077\313\065\133\322\027 +\351\052\376\203\023\027\100\356\210\142\145\133\325\073\140\351 +\173\074\270\311\325\177\066\002\045\252\150\302\061\025\267\060 +\145\353\177\035\110\171\261\317\071\342\102\200\026\323\365\223 +\043\374\114\227\311\132\067\154\174\042\330\112\315\322\216\066 +\203\071\221\220\020\310\361\311\065\176\077\270\323\201\306\040 +\144\032\266\120\302\041\244\170\334\320\057\073\144\223\164\360 +\226\220\361\357\373\011\132\064\100\226\360\066\022\301\243\164 +\214\223\176\101\336\167\213\354\206\331\322\017\077\055\321\314 +\100\242\211\146\110\036\040\263\234\043\131\163\251\104\163\274 +\044\171\220\126\067\263\306\051\176\243\017\361\051\071\357\176 +\134\050\062\160\065\254\332\270\310\165\146\374\233\114\071\107 +\216\033\157\233\115\002\124\042\063\357\141\272\236\051\204\357 +\116\113\063\107\166\227\152\313\176\137\375\025\246\236\102\103 +\133\146\132\212\210\015\367\026\271\077\121\145\053\146\152\213 +\321\070\122\242\326\106\021\372\374\232\034\164\236\217\227\013 +\002\117\144\306\365\150\323\113\055\377\244\067\036\213\077\277 +\104\276\141\106\241\204\075\010\047\114\201\040\167\211\010\352 +\147\100\136\154\010\121\137\064\132\214\226\150\315\327\367\211 +\302\034\323\062\000\257\122\313\323\140\133\052\072\107\176\153 +\060\063\241\142\051\177\112\271\341\055\347\024\043\016\016\030 +\107\341\171\374\025\125\320\261\374\045\161\143\165\063\034\043 +\053\257\134\331\355\107\167\140\016\073\017\036\322\300\334\144 +\005\211\374\170\326\134\054\046\103\251 +END + +# Trust for Certificate "AC Raiz Certicamara S.A." +CKA_CLASS CK_OBJECT_CLASS 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 Ra\xC3\xADz Certic\xC3\xA1mara S.A." +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\313\241\305\370\260\343\136\270\271\105\022\323\371\064\242\351 +\006\020\323\066 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\223\052\076\366\375\043\151\015\161\040\324\053\107\231\053\246 +END +CKA_ISSUER MULTILINE_OCTAL +\060\173\061\013\060\011\006\003\125\004\006\023\002\103\117\061 +\107\060\105\006\003\125\004\012\014\076\123\157\143\151\145\144 +\141\144\040\103\141\155\145\162\141\154\040\144\145\040\103\145 +\162\164\151\146\151\143\141\143\151\303\263\156\040\104\151\147 +\151\164\141\154\040\055\040\103\145\162\164\151\143\303\241\155 +\141\162\141\040\123\056\101\056\061\043\060\041\006\003\125\004 +\003\014\032\101\103\040\122\141\303\255\172\040\103\145\162\164 +\151\143\303\241\155\141\162\141\040\123\056\101\056 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\017\007\176\122\223\173\340\025\343\127\360\151\214\313\354 +\014 +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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "TC TrustCenter Class 2 CA II" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "TC TrustCenter Class 2 CA II" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\166\061\013\060\011\006\003\125\004\006\023\002\104\105\061 +\034\060\032\006\003\125\004\012\023\023\124\103\040\124\162\165 +\163\164\103\145\156\164\145\162\040\107\155\142\110\061\042\060 +\040\006\003\125\004\013\023\031\124\103\040\124\162\165\163\164 +\103\145\156\164\145\162\040\103\154\141\163\163\040\062\040\103 +\101\061\045\060\043\006\003\125\004\003\023\034\124\103\040\124 +\162\165\163\164\103\145\156\164\145\162\040\103\154\141\163\163 +\040\062\040\103\101\040\111\111 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\166\061\013\060\011\006\003\125\004\006\023\002\104\105\061 +\034\060\032\006\003\125\004\012\023\023\124\103\040\124\162\165 +\163\164\103\145\156\164\145\162\040\107\155\142\110\061\042\060 +\040\006\003\125\004\013\023\031\124\103\040\124\162\165\163\164 +\103\145\156\164\145\162\040\103\154\141\163\163\040\062\040\103 +\101\061\045\060\043\006\003\125\004\003\023\034\124\103\040\124 +\162\165\163\164\103\145\156\164\145\162\040\103\154\141\163\163 +\040\062\040\103\101\040\111\111 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\016\056\152\000\001\000\002\037\327\122\041\054\021\134\073 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\252\060\202\003\222\240\003\002\001\002\002\016\056 +\152\000\001\000\002\037\327\122\041\054\021\134\073\060\015\006 +\011\052\206\110\206\367\015\001\001\005\005\000\060\166\061\013 +\060\011\006\003\125\004\006\023\002\104\105\061\034\060\032\006 +\003\125\004\012\023\023\124\103\040\124\162\165\163\164\103\145 +\156\164\145\162\040\107\155\142\110\061\042\060\040\006\003\125 +\004\013\023\031\124\103\040\124\162\165\163\164\103\145\156\164 +\145\162\040\103\154\141\163\163\040\062\040\103\101\061\045\060 +\043\006\003\125\004\003\023\034\124\103\040\124\162\165\163\164 +\103\145\156\164\145\162\040\103\154\141\163\163\040\062\040\103 +\101\040\111\111\060\036\027\015\060\066\060\061\061\062\061\064 +\063\070\064\063\132\027\015\062\065\061\062\063\061\062\062\065 +\071\065\071\132\060\166\061\013\060\011\006\003\125\004\006\023 +\002\104\105\061\034\060\032\006\003\125\004\012\023\023\124\103 +\040\124\162\165\163\164\103\145\156\164\145\162\040\107\155\142 +\110\061\042\060\040\006\003\125\004\013\023\031\124\103\040\124 +\162\165\163\164\103\145\156\164\145\162\040\103\154\141\163\163 +\040\062\040\103\101\061\045\060\043\006\003\125\004\003\023\034 +\124\103\040\124\162\165\163\164\103\145\156\164\145\162\040\103 +\154\141\163\163\040\062\040\103\101\040\111\111\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\200\207 +\233\216\360\303\174\207\327\350\044\202\021\263\074\335\103\142 +\356\370\303\105\332\350\341\240\137\321\052\262\352\223\150\337 +\264\310\326\103\351\304\165\131\177\374\341\035\370\061\160\043 +\033\210\236\047\271\173\375\072\322\311\251\351\024\057\220\276 +\003\122\301\111\315\366\375\344\010\146\013\127\212\242\102\240 +\270\325\177\151\134\220\062\262\227\015\312\112\334\106\076\002 +\125\211\123\343\032\132\313\066\306\007\126\367\214\317\021\364 +\114\273\060\160\004\225\245\366\071\214\375\163\201\010\175\211 +\136\062\036\042\251\042\105\113\260\146\056\060\314\237\145\375 +\374\313\201\251\361\340\073\257\243\206\321\211\352\304\105\171 +\120\135\256\351\041\164\222\115\213\131\202\217\224\343\351\112 +\361\347\111\260\024\343\365\142\313\325\162\275\037\271\322\237 +\240\315\250\372\001\310\331\015\337\332\374\107\235\263\310\124 +\337\111\112\361\041\251\376\030\116\356\110\324\031\273\357\175 +\344\342\235\313\133\266\156\377\343\315\132\347\164\202\005\272 +\200\045\070\313\344\151\236\257\101\252\032\204\365\002\003\001 +\000\001\243\202\001\064\060\202\001\060\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\253\124\114\200\241\333\126\103\267 +\221\112\313\363\202\172\023\134\010\253\060\201\355\006\003\125 +\035\037\004\201\345\060\201\342\060\201\337\240\201\334\240\201 +\331\206\065\150\164\164\160\072\057\057\167\167\167\056\164\162 +\165\163\164\143\145\156\164\145\162\056\144\145\057\143\162\154 +\057\166\062\057\164\143\137\143\154\141\163\163\137\062\137\143 +\141\137\111\111\056\143\162\154\206\201\237\154\144\141\160\072 +\057\057\167\167\167\056\164\162\165\163\164\143\145\156\164\145 +\162\056\144\145\057\103\116\075\124\103\045\062\060\124\162\165 +\163\164\103\145\156\164\145\162\045\062\060\103\154\141\163\163 +\045\062\060\062\045\062\060\103\101\045\062\060\111\111\054\117 +\075\124\103\045\062\060\124\162\165\163\164\103\145\156\164\145 +\162\045\062\060\107\155\142\110\054\117\125\075\162\157\157\164 +\143\145\162\164\163\054\104\103\075\164\162\165\163\164\143\145 +\156\164\145\162\054\104\103\075\144\145\077\143\145\162\164\151 +\146\151\143\141\164\145\122\145\166\157\143\141\164\151\157\156 +\114\151\163\164\077\142\141\163\145\077\060\015\006\011\052\206 +\110\206\367\015\001\001\005\005\000\003\202\001\001\000\214\327 +\337\176\356\033\200\020\263\203\365\333\021\352\153\113\250\222 +\030\331\367\007\071\365\054\276\006\165\172\150\123\025\034\352 +\112\355\136\374\043\262\023\240\323\011\377\366\366\056\153\101 +\161\171\315\342\155\375\256\131\153\205\035\270\116\042\232\355 +\146\071\156\113\224\346\125\374\013\033\213\167\301\123\023\146 +\211\331\050\326\213\363\105\112\143\267\375\173\013\141\135\270 +\155\276\303\334\133\171\322\355\206\345\242\115\276\136\164\174 +\152\355\026\070\037\177\130\201\132\032\353\062\210\055\262\363 +\071\167\200\257\136\266\141\165\051\333\043\115\210\312\120\050 +\313\205\322\323\020\242\131\156\323\223\124\000\172\242\106\225 +\206\005\234\251\031\230\345\061\162\014\000\342\147\331\100\340 +\044\063\173\157\054\271\134\253\145\235\054\254\166\352\065\231 +\365\227\271\017\044\354\307\166\041\050\145\256\127\350\007\210 +\165\112\126\240\322\005\072\244\346\215\222\210\054\363\362\341 +\301\306\141\333\101\305\307\233\367\016\032\121\105\302\141\153 +\334\144\047\027\214\132\267\332\164\050\315\227\344\275 +END + +# Trust for Certificate "TC TrustCenter Class 2 CA II" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "TC TrustCenter Class 2 CA II" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\256\120\203\355\174\364\134\274\217\141\306\041\376\150\135\171 +\102\041\025\156 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\316\170\063\134\131\170\001\156\030\352\271\066\240\271\056\043 +END +CKA_ISSUER MULTILINE_OCTAL +\060\166\061\013\060\011\006\003\125\004\006\023\002\104\105\061 +\034\060\032\006\003\125\004\012\023\023\124\103\040\124\162\165 +\163\164\103\145\156\164\145\162\040\107\155\142\110\061\042\060 +\040\006\003\125\004\013\023\031\124\103\040\124\162\165\163\164 +\103\145\156\164\145\162\040\103\154\141\163\163\040\062\040\103 +\101\061\045\060\043\006\003\125\004\003\023\034\124\103\040\124 +\162\165\163\164\103\145\156\164\145\162\040\103\154\141\163\163 +\040\062\040\103\101\040\111\111 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\016\056\152\000\001\000\002\037\327\122\041\054\021\134\073 +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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "TC TrustCenter Class 3 CA II" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "TC TrustCenter Class 3 CA II" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\166\061\013\060\011\006\003\125\004\006\023\002\104\105\061 +\034\060\032\006\003\125\004\012\023\023\124\103\040\124\162\165 +\163\164\103\145\156\164\145\162\040\107\155\142\110\061\042\060 +\040\006\003\125\004\013\023\031\124\103\040\124\162\165\163\164 +\103\145\156\164\145\162\040\103\154\141\163\163\040\063\040\103 +\101\061\045\060\043\006\003\125\004\003\023\034\124\103\040\124 +\162\165\163\164\103\145\156\164\145\162\040\103\154\141\163\163 +\040\063\040\103\101\040\111\111 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\166\061\013\060\011\006\003\125\004\006\023\002\104\105\061 +\034\060\032\006\003\125\004\012\023\023\124\103\040\124\162\165 +\163\164\103\145\156\164\145\162\040\107\155\142\110\061\042\060 +\040\006\003\125\004\013\023\031\124\103\040\124\162\165\163\164 +\103\145\156\164\145\162\040\103\154\141\163\163\040\063\040\103 +\101\061\045\060\043\006\003\125\004\003\023\034\124\103\040\124 +\162\165\163\164\103\145\156\164\145\162\040\103\154\141\163\163 +\040\063\040\103\101\040\111\111 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\016\112\107\000\001\000\002\345\240\135\326\077\000\121\277 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\252\060\202\003\222\240\003\002\001\002\002\016\112 +\107\000\001\000\002\345\240\135\326\077\000\121\277\060\015\006 +\011\052\206\110\206\367\015\001\001\005\005\000\060\166\061\013 +\060\011\006\003\125\004\006\023\002\104\105\061\034\060\032\006 +\003\125\004\012\023\023\124\103\040\124\162\165\163\164\103\145 +\156\164\145\162\040\107\155\142\110\061\042\060\040\006\003\125 +\004\013\023\031\124\103\040\124\162\165\163\164\103\145\156\164 +\145\162\040\103\154\141\163\163\040\063\040\103\101\061\045\060 +\043\006\003\125\004\003\023\034\124\103\040\124\162\165\163\164 +\103\145\156\164\145\162\040\103\154\141\163\163\040\063\040\103 +\101\040\111\111\060\036\027\015\060\066\060\061\061\062\061\064 +\064\061\065\067\132\027\015\062\065\061\062\063\061\062\062\065 +\071\065\071\132\060\166\061\013\060\011\006\003\125\004\006\023 +\002\104\105\061\034\060\032\006\003\125\004\012\023\023\124\103 +\040\124\162\165\163\164\103\145\156\164\145\162\040\107\155\142 +\110\061\042\060\040\006\003\125\004\013\023\031\124\103\040\124 +\162\165\163\164\103\145\156\164\145\162\040\103\154\141\163\163 +\040\063\040\103\101\061\045\060\043\006\003\125\004\003\023\034 +\124\103\040\124\162\165\163\164\103\145\156\164\145\162\040\103 +\154\141\163\163\040\063\040\103\101\040\111\111\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\340\273 +\121\273\071\134\213\004\305\114\171\034\043\206\061\020\143\103 +\125\047\077\306\105\307\244\075\354\011\015\032\036\040\302\126 +\036\336\033\067\007\060\042\057\157\361\006\361\253\255\326\310 +\253\141\243\057\103\304\260\262\055\374\303\226\151\173\176\212 +\344\314\300\071\022\220\102\140\311\314\065\150\356\332\137\220 +\126\137\315\034\115\133\130\111\353\016\001\117\144\372\054\074 +\211\130\330\057\056\342\260\150\351\042\073\165\211\326\104\032 +\145\362\033\227\046\035\050\155\254\350\275\131\035\053\044\366 +\326\204\003\146\210\044\000\170\140\361\370\253\376\002\262\153 +\373\042\373\065\346\026\321\255\366\056\022\344\372\065\152\345 +\031\271\135\333\073\036\032\373\323\377\025\024\010\330\011\152 +\272\105\235\024\171\140\175\257\100\212\007\163\263\223\226\323 +\164\064\215\072\067\051\336\134\354\365\356\056\061\302\040\334 +\276\361\117\177\043\122\331\133\342\144\331\234\252\007\010\265 +\105\275\321\320\061\301\253\124\237\251\322\303\142\140\003\361 +\273\071\112\222\112\075\012\271\235\305\240\376\067\002\003\001 +\000\001\243\202\001\064\060\202\001\060\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\324\242\374\237\263\303\330\003\323\127 +\134\007\244\320\044\247\300\362\000\324\060\201\355\006\003\125 +\035\037\004\201\345\060\201\342\060\201\337\240\201\334\240\201 +\331\206\065\150\164\164\160\072\057\057\167\167\167\056\164\162 +\165\163\164\143\145\156\164\145\162\056\144\145\057\143\162\154 +\057\166\062\057\164\143\137\143\154\141\163\163\137\063\137\143 +\141\137\111\111\056\143\162\154\206\201\237\154\144\141\160\072 +\057\057\167\167\167\056\164\162\165\163\164\143\145\156\164\145 +\162\056\144\145\057\103\116\075\124\103\045\062\060\124\162\165 +\163\164\103\145\156\164\145\162\045\062\060\103\154\141\163\163 +\045\062\060\063\045\062\060\103\101\045\062\060\111\111\054\117 +\075\124\103\045\062\060\124\162\165\163\164\103\145\156\164\145 +\162\045\062\060\107\155\142\110\054\117\125\075\162\157\157\164 +\143\145\162\164\163\054\104\103\075\164\162\165\163\164\143\145 +\156\164\145\162\054\104\103\075\144\145\077\143\145\162\164\151 +\146\151\143\141\164\145\122\145\166\157\143\141\164\151\157\156 +\114\151\163\164\077\142\141\163\145\077\060\015\006\011\052\206 +\110\206\367\015\001\001\005\005\000\003\202\001\001\000\066\140 +\344\160\367\006\040\103\331\043\032\102\362\370\243\262\271\115 +\212\264\363\302\232\125\061\174\304\073\147\232\264\337\115\016 +\212\223\112\027\213\033\215\312\211\341\317\072\036\254\035\361 +\234\062\264\216\131\166\242\101\205\045\067\240\023\320\365\174 +\116\325\352\226\342\156\162\301\273\052\376\154\156\370\221\230 +\106\374\311\033\127\133\352\310\032\073\077\260\121\230\074\007 +\332\054\131\001\332\213\104\350\341\164\375\247\150\335\124\272 +\203\106\354\310\106\265\370\257\227\300\073\011\034\217\316\162 +\226\075\063\126\160\274\226\313\330\325\175\040\232\203\237\032 +\334\071\361\305\162\243\021\003\375\073\102\122\051\333\350\001 +\367\233\136\214\326\215\206\116\031\372\274\034\276\305\041\245 +\207\236\170\056\066\333\011\161\243\162\064\370\154\343\006\011 +\362\136\126\245\323\335\230\372\324\346\006\364\360\266\040\143 +\113\352\051\275\252\202\146\036\373\201\252\247\067\255\023\030 +\346\222\303\201\301\063\273\210\036\241\347\342\264\275\061\154 +\016\121\075\157\373\226\126\200\342\066\027\321\334\344 +END + +# Trust for Certificate "TC TrustCenter Class 3 CA II" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "TC TrustCenter Class 3 CA II" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\200\045\357\364\156\160\310\324\162\044\145\204\376\100\073\212 +\215\152\333\365 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\126\137\252\200\141\022\027\366\147\041\346\053\155\141\126\216 +END +CKA_ISSUER MULTILINE_OCTAL +\060\166\061\013\060\011\006\003\125\004\006\023\002\104\105\061 +\034\060\032\006\003\125\004\012\023\023\124\103\040\124\162\165 +\163\164\103\145\156\164\145\162\040\107\155\142\110\061\042\060 +\040\006\003\125\004\013\023\031\124\103\040\124\162\165\163\164 +\103\145\156\164\145\162\040\103\154\141\163\163\040\063\040\103 +\101\061\045\060\043\006\003\125\004\003\023\034\124\103\040\124 +\162\165\163\164\103\145\156\164\145\162\040\103\154\141\163\163 +\040\063\040\103\101\040\111\111 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\016\112\107\000\001\000\002\345\240\135\326\077\000\121\277 +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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "TC TrustCenter Universal CA I" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "TC TrustCenter Universal CA I" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\171\061\013\060\011\006\003\125\004\006\023\002\104\105\061 +\034\060\032\006\003\125\004\012\023\023\124\103\040\124\162\165 +\163\164\103\145\156\164\145\162\040\107\155\142\110\061\044\060 +\042\006\003\125\004\013\023\033\124\103\040\124\162\165\163\164 +\103\145\156\164\145\162\040\125\156\151\166\145\162\163\141\154 +\040\103\101\061\046\060\044\006\003\125\004\003\023\035\124\103 +\040\124\162\165\163\164\103\145\156\164\145\162\040\125\156\151 +\166\145\162\163\141\154\040\103\101\040\111 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\171\061\013\060\011\006\003\125\004\006\023\002\104\105\061 +\034\060\032\006\003\125\004\012\023\023\124\103\040\124\162\165 +\163\164\103\145\156\164\145\162\040\107\155\142\110\061\044\060 +\042\006\003\125\004\013\023\033\124\103\040\124\162\165\163\164 +\103\145\156\164\145\162\040\125\156\151\166\145\162\163\141\154 +\040\103\101\061\046\060\044\006\003\125\004\003\023\035\124\103 +\040\124\162\165\163\164\103\145\156\164\145\162\040\125\156\151 +\166\145\162\163\141\154\040\103\101\040\111 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\016\035\242\000\001\000\002\354\267\140\200\170\215\266\006 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\335\060\202\002\305\240\003\002\001\002\002\016\035 +\242\000\001\000\002\354\267\140\200\170\215\266\006\060\015\006 +\011\052\206\110\206\367\015\001\001\005\005\000\060\171\061\013 +\060\011\006\003\125\004\006\023\002\104\105\061\034\060\032\006 +\003\125\004\012\023\023\124\103\040\124\162\165\163\164\103\145 +\156\164\145\162\040\107\155\142\110\061\044\060\042\006\003\125 +\004\013\023\033\124\103\040\124\162\165\163\164\103\145\156\164 +\145\162\040\125\156\151\166\145\162\163\141\154\040\103\101\061 +\046\060\044\006\003\125\004\003\023\035\124\103\040\124\162\165 +\163\164\103\145\156\164\145\162\040\125\156\151\166\145\162\163 +\141\154\040\103\101\040\111\060\036\027\015\060\066\060\063\062 +\062\061\065\065\064\062\070\132\027\015\062\065\061\062\063\061 +\062\062\065\071\065\071\132\060\171\061\013\060\011\006\003\125 +\004\006\023\002\104\105\061\034\060\032\006\003\125\004\012\023 +\023\124\103\040\124\162\165\163\164\103\145\156\164\145\162\040 +\107\155\142\110\061\044\060\042\006\003\125\004\013\023\033\124 +\103\040\124\162\165\163\164\103\145\156\164\145\162\040\125\156 +\151\166\145\162\163\141\154\040\103\101\061\046\060\044\006\003 +\125\004\003\023\035\124\103\040\124\162\165\163\164\103\145\156 +\164\145\162\040\125\156\151\166\145\162\163\141\154\040\103\101 +\040\111\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\244\167\043\226\104\257\220\364\061\247\020\364\046 +\207\234\363\070\331\017\136\336\317\101\350\061\255\306\164\221 +\044\226\170\036\011\240\233\232\225\112\112\365\142\174\002\250 +\312\254\373\132\004\166\071\336\137\361\371\263\277\363\003\130 +\125\322\252\267\343\004\042\321\370\224\332\042\010\000\215\323 +\174\046\135\314\167\171\347\054\170\071\250\046\163\016\242\135 +\045\151\205\117\125\016\232\357\306\271\104\341\127\075\337\037 +\124\042\345\157\145\252\063\204\072\363\316\172\276\125\227\256 +\215\022\017\024\063\342\120\160\303\111\207\023\274\121\336\327 +\230\022\132\357\072\203\063\222\006\165\213\222\174\022\150\173 +\160\152\017\265\233\266\167\133\110\131\235\344\357\132\255\363 +\301\236\324\327\105\116\312\126\064\041\274\076\027\133\157\167 +\014\110\001\103\051\260\335\077\226\156\346\225\252\014\300\040 +\266\375\076\066\047\234\343\134\317\116\201\334\031\273\221\220 +\175\354\346\227\004\036\223\314\042\111\327\227\206\266\023\012 +\074\103\043\167\176\360\334\346\315\044\037\073\203\233\064\072 +\203\064\343\002\003\001\000\001\243\143\060\141\060\037\006\003 +\125\035\043\004\030\060\026\200\024\222\244\165\054\244\236\276 +\201\104\353\171\374\212\305\225\245\353\020\165\163\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\222\244\165\054\244\236\276 +\201\104\353\171\374\212\305\225\245\353\020\165\163\060\015\006 +\011\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001 +\000\050\322\340\206\325\346\370\173\360\227\334\042\153\073\225 +\024\126\017\021\060\245\232\117\072\260\072\340\006\313\145\365 +\355\306\227\047\376\045\362\127\346\136\225\214\076\144\140\025 +\132\177\057\015\001\305\261\140\375\105\065\317\360\262\277\006 +\331\357\132\276\263\142\041\264\327\253\065\174\123\076\246\047 +\361\241\055\332\032\043\235\314\335\354\074\055\236\047\064\135 +\017\302\066\171\274\311\112\142\055\355\153\331\175\101\103\174 +\266\252\312\355\141\261\067\202\025\011\032\212\026\060\330\354 +\311\326\107\162\170\113\020\106\024\216\137\016\257\354\307\057 +\253\020\327\266\361\156\354\206\262\302\350\015\222\163\334\242 +\364\017\072\277\141\043\020\211\234\110\100\156\160\000\263\323 +\272\067\104\130\021\172\002\152\210\360\067\064\360\031\351\254 +\324\145\163\366\151\214\144\224\072\171\205\051\260\026\053\014 +\202\077\006\234\307\375\020\053\236\017\054\266\236\343\025\277 +\331\066\034\272\045\032\122\075\032\354\042\014\034\340\244\242 +\075\360\350\071\317\201\300\173\355\135\037\157\305\320\013\327 +\230 +END + +# Trust for Certificate "TC TrustCenter Universal CA I" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "TC TrustCenter Universal CA I" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\153\057\064\255\211\130\276\142\375\260\153\134\316\273\235\331 +\117\116\071\363 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\105\341\245\162\305\251\066\144\100\236\365\344\130\204\147\214 +END +CKA_ISSUER MULTILINE_OCTAL +\060\171\061\013\060\011\006\003\125\004\006\023\002\104\105\061 +\034\060\032\006\003\125\004\012\023\023\124\103\040\124\162\165 +\163\164\103\145\156\164\145\162\040\107\155\142\110\061\044\060 +\042\006\003\125\004\013\023\033\124\103\040\124\162\165\163\164 +\103\145\156\164\145\162\040\125\156\151\166\145\162\163\141\154 +\040\103\101\061\046\060\044\006\003\125\004\003\023\035\124\103 +\040\124\162\165\163\164\103\145\156\164\145\162\040\125\156\151 +\166\145\162\163\141\154\040\103\101\040\111 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\016\035\242\000\001\000\002\354\267\140\200\170\215\266\006 +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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Deutsche Telekom Root CA 2" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Deutsche Telekom Root CA 2" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\161\061\013\060\011\006\003\125\004\006\023\002\104\105\061 +\034\060\032\006\003\125\004\012\023\023\104\145\165\164\163\143 +\150\145\040\124\145\154\145\153\157\155\040\101\107\061\037\060 +\035\006\003\125\004\013\023\026\124\055\124\145\154\145\123\145 +\143\040\124\162\165\163\164\040\103\145\156\164\145\162\061\043 +\060\041\006\003\125\004\003\023\032\104\145\165\164\163\143\150 +\145\040\124\145\154\145\153\157\155\040\122\157\157\164\040\103 +\101\040\062 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\161\061\013\060\011\006\003\125\004\006\023\002\104\105\061 +\034\060\032\006\003\125\004\012\023\023\104\145\165\164\163\143 +\150\145\040\124\145\154\145\153\157\155\040\101\107\061\037\060 +\035\006\003\125\004\013\023\026\124\055\124\145\154\145\123\145 +\143\040\124\162\165\163\164\040\103\145\156\164\145\162\061\043 +\060\041\006\003\125\004\003\023\032\104\145\165\164\163\143\150 +\145\040\124\145\154\145\153\157\155\040\122\157\157\164\040\103 +\101\040\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\046 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\237\060\202\002\207\240\003\002\001\002\002\001\046 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\161\061\013\060\011\006\003\125\004\006\023\002\104\105\061\034 +\060\032\006\003\125\004\012\023\023\104\145\165\164\163\143\150 +\145\040\124\145\154\145\153\157\155\040\101\107\061\037\060\035 +\006\003\125\004\013\023\026\124\055\124\145\154\145\123\145\143 +\040\124\162\165\163\164\040\103\145\156\164\145\162\061\043\060 +\041\006\003\125\004\003\023\032\104\145\165\164\163\143\150\145 +\040\124\145\154\145\153\157\155\040\122\157\157\164\040\103\101 +\040\062\060\036\027\015\071\071\060\067\060\071\061\062\061\061 +\060\060\132\027\015\061\071\060\067\060\071\062\063\065\071\060 +\060\132\060\161\061\013\060\011\006\003\125\004\006\023\002\104 +\105\061\034\060\032\006\003\125\004\012\023\023\104\145\165\164 +\163\143\150\145\040\124\145\154\145\153\157\155\040\101\107\061 +\037\060\035\006\003\125\004\013\023\026\124\055\124\145\154\145 +\123\145\143\040\124\162\165\163\164\040\103\145\156\164\145\162 +\061\043\060\041\006\003\125\004\003\023\032\104\145\165\164\163 +\143\150\145\040\124\145\154\145\153\157\155\040\122\157\157\164 +\040\103\101\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\253\013\243\065\340\213\051\024\261\024 +\205\257\074\020\344\071\157\065\135\112\256\335\352\141\215\225 +\111\364\157\144\243\032\140\146\244\251\100\042\204\331\324\245 +\345\170\223\016\150\001\255\271\115\134\072\316\323\270\250\102 +\100\337\317\243\272\202\131\152\222\033\254\034\232\332\010\053 +\045\047\371\151\043\107\361\340\353\054\172\233\365\023\002\320 +\176\064\174\302\236\074\000\131\253\365\332\014\365\062\074\053 +\254\120\332\326\303\336\203\224\312\250\014\231\062\016\010\110 +\126\133\152\373\332\341\130\130\001\111\137\162\101\074\025\006 +\001\216\135\255\252\270\223\264\315\236\353\247\350\152\055\122 +\064\333\072\357\134\165\121\332\333\363\061\371\356\161\230\062 +\304\124\025\104\014\371\233\125\355\255\337\030\010\240\243\206 +\212\111\356\123\005\217\031\114\325\336\130\171\233\322\152\034 +\102\253\305\325\247\317\150\017\226\344\341\141\230\166\141\310 +\221\174\326\076\000\342\221\120\207\341\235\012\346\255\227\322 +\035\306\072\175\313\274\332\003\064\325\216\133\001\365\152\007 +\267\026\266\156\112\177\002\003\001\000\001\243\102\060\100\060 +\035\006\003\125\035\016\004\026\004\024\061\303\171\033\272\365 +\123\327\027\340\211\172\055\027\154\012\263\053\235\063\060\017 +\006\003\125\035\023\004\010\060\006\001\001\377\002\001\005\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\224\144\131\255\071\144\347\051\353\023\376\132\303 +\213\023\127\310\004\044\360\164\167\300\140\343\147\373\351\211 +\246\203\277\226\202\174\156\324\303\075\357\236\200\156\273\051 +\264\230\172\261\073\124\353\071\027\107\176\032\216\013\374\037 +\061\131\061\004\262\316\027\363\054\307\142\066\125\342\042\330 +\211\125\264\230\110\252\144\372\326\034\066\330\104\170\132\132 +\043\072\127\227\365\172\060\117\256\237\152\114\113\053\216\240 +\003\343\076\340\251\324\322\173\322\263\250\342\162\074\255\236 +\377\200\131\344\233\105\264\366\073\260\315\071\031\230\062\345 +\352\041\141\220\344\061\041\216\064\261\367\057\065\112\205\020 +\332\347\212\067\041\276\131\143\340\362\205\210\061\123\324\124 +\024\205\160\171\364\056\006\167\047\165\057\037\270\212\371\376 +\305\272\330\066\344\203\354\347\145\267\277\143\132\363\106\257 +\201\224\067\324\101\214\326\043\326\036\317\365\150\033\104\143 +\242\132\272\247\065\131\241\345\160\005\233\016\043\127\231\224 +\012\155\272\071\143\050\206\222\363\030\204\330\373\321\317\005 +\126\144\127 +END + +# Trust for Certificate "Deutsche Telekom Root CA 2" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Deutsche Telekom Root CA 2" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\205\244\010\300\234\031\076\135\121\130\175\315\326\023\060\375 +\214\336\067\277 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\164\001\112\221\261\010\304\130\316\107\315\360\335\021\123\010 +END +CKA_ISSUER MULTILINE_OCTAL +\060\161\061\013\060\011\006\003\125\004\006\023\002\104\105\061 +\034\060\032\006\003\125\004\012\023\023\104\145\165\164\163\143 +\150\145\040\124\145\154\145\153\157\155\040\101\107\061\037\060 +\035\006\003\125\004\013\023\026\124\055\124\145\154\145\123\145 +\143\040\124\162\165\163\164\040\103\145\156\164\145\162\061\043 +\060\041\006\003\125\004\003\023\032\104\145\165\164\163\143\150 +\145\040\124\145\154\145\153\157\155\040\122\157\157\164\040\103 +\101\040\062 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "ComSign 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 "ComSign CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\064\061\023\060\021\006\003\125\004\003\023\012\103\157\155 +\123\151\147\156\040\103\101\061\020\060\016\006\003\125\004\012 +\023\007\103\157\155\123\151\147\156\061\013\060\011\006\003\125 +\004\006\023\002\111\114 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\064\061\023\060\021\006\003\125\004\003\023\012\103\157\155 +\123\151\147\156\040\103\101\061\020\060\016\006\003\125\004\012 +\023\007\103\157\155\123\151\147\156\061\013\060\011\006\003\125 +\004\006\023\002\111\114 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\024\023\226\203\024\125\214\352\173\143\345\374\064\207 +\167\104 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\223\060\202\002\173\240\003\002\001\002\002\020\024 +\023\226\203\024\125\214\352\173\143\345\374\064\207\167\104\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\064 +\061\023\060\021\006\003\125\004\003\023\012\103\157\155\123\151 +\147\156\040\103\101\061\020\060\016\006\003\125\004\012\023\007 +\103\157\155\123\151\147\156\061\013\060\011\006\003\125\004\006 +\023\002\111\114\060\036\027\015\060\064\060\063\062\064\061\061 +\063\062\061\070\132\027\015\062\071\060\063\061\071\061\065\060 +\062\061\070\132\060\064\061\023\060\021\006\003\125\004\003\023 +\012\103\157\155\123\151\147\156\040\103\101\061\020\060\016\006 +\003\125\004\012\023\007\103\157\155\123\151\147\156\061\013\060 +\011\006\003\125\004\006\023\002\111\114\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\360\344\124\151\053 +\323\307\217\152\104\344\176\130\047\370\013\320\344\224\022\212 +\361\033\070\070\057\037\061\234\006\324\054\247\336\013\052\256 +\032\240\343\236\152\277\237\074\307\156\242\371\213\144\154\072 +\255\205\125\121\124\245\070\125\270\253\203\004\362\077\144\066 +\367\300\215\103\103\152\146\321\367\027\052\325\357\066\372\060 +\020\102\327\123\315\371\372\063\163\114\263\351\204\040\212\326 +\101\047\065\344\070\372\224\233\270\172\344\171\037\063\373\033 +\330\041\011\050\174\115\030\151\136\144\212\172\031\223\312\176 +\354\363\162\347\067\007\130\131\050\254\102\371\305\377\315\077 +\347\245\372\070\261\320\014\307\331\122\032\123\326\201\314\102 +\172\065\133\355\113\072\172\366\265\216\314\377\017\174\344\140 +\066\207\057\255\360\241\045\175\377\322\113\021\210\160\124\246 +\101\250\147\123\122\102\136\344\064\236\344\276\243\354\252\142 +\135\335\303\114\246\202\101\344\063\013\254\311\063\017\144\202 +\127\052\375\014\255\066\341\014\256\113\305\357\073\231\331\043 +\263\133\135\264\127\354\164\160\014\052\117\002\003\001\000\001 +\243\201\240\060\201\235\060\014\006\003\125\035\023\004\005\060 +\003\001\001\377\060\075\006\003\125\035\037\004\066\060\064\060 +\062\240\060\240\056\206\054\150\164\164\160\072\057\057\146\145 +\144\151\162\056\143\157\155\163\151\147\156\056\143\157\056\151 +\154\057\143\162\154\057\103\157\155\123\151\147\156\103\101\056 +\143\162\154\060\016\006\003\125\035\017\001\001\377\004\004\003 +\002\001\206\060\037\006\003\125\035\043\004\030\060\026\200\024 +\113\001\233\076\126\032\145\066\166\313\173\227\252\222\005\356 +\062\347\050\061\060\035\006\003\125\035\016\004\026\004\024\113 +\001\233\076\126\032\145\066\166\313\173\227\252\222\005\356\062 +\347\050\061\060\015\006\011\052\206\110\206\367\015\001\001\005 +\005\000\003\202\001\001\000\320\331\245\176\376\051\140\105\235 +\176\203\317\156\274\107\156\365\032\236\124\166\102\161\264\074 +\130\077\055\100\045\102\366\201\234\361\211\020\310\016\252\170 +\117\070\011\127\260\074\300\010\374\065\216\361\110\121\215\014 +\161\164\272\204\304\327\162\233\204\174\070\116\144\006\047\052 +\341\247\265\354\010\231\264\012\015\324\205\163\310\022\341\065 +\355\361\005\061\035\163\231\014\353\226\312\335\323\346\205\252 +\360\212\373\165\301\362\011\074\145\145\144\363\114\330\255\313 +\210\151\363\344\203\267\014\275\027\132\226\027\312\133\377\255 +\273\034\351\055\204\200\330\041\276\205\122\331\324\164\271\151 +\205\272\115\355\050\062\353\371\141\112\344\304\066\036\031\334 +\157\204\021\037\225\365\203\050\030\250\063\222\103\047\335\135 +\023\004\105\117\207\325\106\315\075\250\272\360\363\270\126\044 +\105\353\067\307\341\166\117\162\071\030\337\176\164\162\307\163 +\055\071\352\140\346\255\021\242\126\207\173\303\150\232\376\370 +\214\160\250\337\145\062\364\244\100\214\241\302\104\003\016\224 +\000\147\240\161\000\202\110 +END + +# Trust for Certificate "ComSign 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 "ComSign CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\341\244\133\024\032\041\332\032\171\364\032\102\251\141\326\151 +\315\006\064\301 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\315\364\071\363\265\030\120\327\076\244\305\221\240\076\041\113 +END +CKA_ISSUER MULTILINE_OCTAL +\060\064\061\023\060\021\006\003\125\004\003\023\012\103\157\155 +\123\151\147\156\040\103\101\061\020\060\016\006\003\125\004\012 +\023\007\103\157\155\123\151\147\156\061\013\060\011\006\003\125 +\004\006\023\002\111\114 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\024\023\226\203\024\125\214\352\173\143\345\374\064\207 +\167\104 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "ComSign Secured 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 "ComSign Secured CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\074\061\033\060\031\006\003\125\004\003\023\022\103\157\155 +\123\151\147\156\040\123\145\143\165\162\145\144\040\103\101\061 +\020\060\016\006\003\125\004\012\023\007\103\157\155\123\151\147 +\156\061\013\060\011\006\003\125\004\006\023\002\111\114 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\074\061\033\060\031\006\003\125\004\003\023\022\103\157\155 +\123\151\147\156\040\123\145\143\165\162\145\144\040\103\101\061 +\020\060\016\006\003\125\004\012\023\007\103\157\155\123\151\147 +\156\061\013\060\011\006\003\125\004\006\023\002\111\114 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\021\000\307\050\107\011\263\270\154\105\214\035\372\044\365 +\066\116\351 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\253\060\202\002\223\240\003\002\001\002\002\021\000 +\307\050\107\011\263\270\154\105\214\035\372\044\365\066\116\351 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\074\061\033\060\031\006\003\125\004\003\023\022\103\157\155\123 +\151\147\156\040\123\145\143\165\162\145\144\040\103\101\061\020 +\060\016\006\003\125\004\012\023\007\103\157\155\123\151\147\156 +\061\013\060\011\006\003\125\004\006\023\002\111\114\060\036\027 +\015\060\064\060\063\062\064\061\061\063\067\062\060\132\027\015 +\062\071\060\063\061\066\061\065\060\064\065\066\132\060\074\061 +\033\060\031\006\003\125\004\003\023\022\103\157\155\123\151\147 +\156\040\123\145\143\165\162\145\144\040\103\101\061\020\060\016 +\006\003\125\004\012\023\007\103\157\155\123\151\147\156\061\013 +\060\011\006\003\125\004\006\023\002\111\114\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\265\150\137 +\035\224\025\303\244\010\125\055\343\240\127\172\357\351\164\052 +\273\271\174\127\111\032\021\136\117\051\207\014\110\326\152\347 +\217\324\176\127\044\271\006\211\344\034\074\352\254\343\332\041 +\200\163\041\012\357\171\230\154\037\010\377\241\120\175\362\230 +\033\311\124\157\076\245\050\354\041\004\017\105\273\007\075\241 +\300\372\052\230\035\116\006\223\373\365\210\073\253\137\313\026 +\277\346\363\236\112\207\355\031\352\302\237\103\344\361\201\245 +\177\020\117\076\321\112\142\255\123\033\313\203\377\007\145\245 +\222\055\146\251\133\270\132\364\035\264\041\221\112\027\173\236 +\062\376\126\044\071\262\124\204\103\365\204\302\330\274\101\220 +\314\235\326\150\332\351\202\120\251\073\150\317\265\135\002\224 +\140\026\261\103\331\103\135\335\135\207\156\352\273\263\311\153 +\366\003\224\011\160\336\026\021\172\053\350\166\217\111\020\230 +\167\271\143\134\213\063\227\165\366\013\214\262\253\133\336\164 +\040\045\077\343\363\021\371\207\150\206\065\161\303\035\214\055 +\353\345\032\254\017\163\325\202\131\100\200\323\002\003\001\000 +\001\243\201\247\060\201\244\060\014\006\003\125\035\023\004\005 +\060\003\001\001\377\060\104\006\003\125\035\037\004\075\060\073 +\060\071\240\067\240\065\206\063\150\164\164\160\072\057\057\146 +\145\144\151\162\056\143\157\155\163\151\147\156\056\143\157\056 +\151\154\057\143\162\154\057\103\157\155\123\151\147\156\123\145 +\143\165\162\145\144\103\101\056\143\162\154\060\016\006\003\125 +\035\017\001\001\377\004\004\003\002\001\206\060\037\006\003\125 +\035\043\004\030\060\026\200\024\301\113\355\160\266\367\076\174 +\000\073\000\217\307\076\016\105\237\036\135\354\060\035\006\003 +\125\035\016\004\026\004\024\301\113\355\160\266\367\076\174\000 +\073\000\217\307\076\016\105\237\036\135\354\060\015\006\011\052 +\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000\026 +\317\356\222\023\120\253\173\024\236\063\266\102\040\152\324\025 +\275\011\253\374\162\350\357\107\172\220\254\121\301\144\116\351 +\210\275\103\105\201\343\146\043\077\022\206\115\031\344\005\260 +\346\067\302\215\332\006\050\311\017\211\244\123\251\165\077\260 +\226\373\253\114\063\125\371\170\046\106\157\033\066\230\373\102 +\166\301\202\271\216\336\373\105\371\143\033\142\073\071\006\312 +\167\172\250\074\011\317\154\066\075\017\012\105\113\151\026\032 +\105\175\063\003\145\371\122\161\220\046\225\254\114\014\365\213 +\223\077\314\165\164\205\230\272\377\142\172\115\037\211\376\256 +\275\224\000\231\277\021\245\334\340\171\305\026\013\175\002\141 +\035\352\205\371\002\025\117\347\132\211\116\024\157\343\067\113 +\205\365\301\074\141\340\375\005\101\262\222\177\303\035\240\320 +\256\122\144\140\153\030\306\046\234\330\365\144\344\066\032\142 +\237\212\017\076\377\155\116\031\126\116\040\221\154\237\064\063 +\072\064\127\120\072\157\201\136\006\306\365\076\174\116\216\053 +\316\145\006\056\135\322\052\123\164\136\323\156\047\236\217 +END + +# Trust for Certificate "ComSign Secured 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 "ComSign Secured CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\371\315\016\054\332\166\044\301\217\275\360\360\253\266\105\270 +\367\376\325\172 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\100\001\045\006\215\041\103\152\016\103\000\234\347\103\363\325 +END +CKA_ISSUER MULTILINE_OCTAL +\060\074\061\033\060\031\006\003\125\004\003\023\022\103\157\155 +\123\151\147\156\040\123\145\143\165\162\145\144\040\103\101\061 +\020\060\016\006\003\125\004\012\023\007\103\157\155\123\151\147 +\156\061\013\060\011\006\003\125\004\006\023\002\111\114 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\021\000\307\050\107\011\263\270\154\105\214\035\372\044\365 +\066\116\351 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Cybertrust Global Root" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "Cybertrust Global Root" +CKA_CLASS CK_OBJECT_CLASS 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_TRUST_UNKNOWN +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "ePKI Root Certification Authority" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "ePKI Root Certification Authority" +CKA_CLASS CK_OBJECT_CLASS 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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "TUBITAK UEKAE Kok Sertifika Hizmet Saglayicisi - Surum 3" +# +CKA_CLASS CK_OBJECT_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\xc3\x9c\x42\xC4\xB0TAK UEKAE K\xC3\xB6k Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1 - S\xC3\xBCr\xC3\xBCm 3" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\202\001\053\061\013\060\011\006\003\125\004\006\023\002\124 +\122\061\030\060\026\006\003\125\004\007\014\017\107\145\142\172 +\145\040\055\040\113\157\143\141\145\154\151\061\107\060\105\006 +\003\125\004\012\014\076\124\303\274\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\305\237\164\304\261\162\155 +\141\040\113\165\162\165\155\165\040\055\040\124\303\234\102\304 +\260\124\101\113\061\110\060\106\006\003\125\004\013\014\077\125 +\154\165\163\141\154\040\105\154\145\153\164\162\157\156\151\153 +\040\166\145\040\113\162\151\160\164\157\154\157\152\151\040\101 +\162\141\305\237\164\304\261\162\155\141\040\105\156\163\164\151 +\164\303\274\163\303\274\040\055\040\125\105\113\101\105\061\043 +\060\041\006\003\125\004\013\014\032\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\061\112\060\110\006\003\125\004\003\014\101\124\303 +\234\102\304\260\124\101\113\040\125\105\113\101\105\040\113\303 +\266\153\040\123\145\162\164\151\146\151\153\141\040\110\151\172 +\155\145\164\040\123\141\304\237\154\141\171\304\261\143\304\261 +\163\304\261\040\055\040\123\303\274\162\303\274\155\040\063 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\202\001\053\061\013\060\011\006\003\125\004\006\023\002\124 +\122\061\030\060\026\006\003\125\004\007\014\017\107\145\142\172 +\145\040\055\040\113\157\143\141\145\154\151\061\107\060\105\006 +\003\125\004\012\014\076\124\303\274\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\305\237\164\304\261\162\155 +\141\040\113\165\162\165\155\165\040\055\040\124\303\234\102\304 +\260\124\101\113\061\110\060\106\006\003\125\004\013\014\077\125 +\154\165\163\141\154\040\105\154\145\153\164\162\157\156\151\153 +\040\166\145\040\113\162\151\160\164\157\154\157\152\151\040\101 +\162\141\305\237\164\304\261\162\155\141\040\105\156\163\164\151 +\164\303\274\163\303\274\040\055\040\125\105\113\101\105\061\043 +\060\041\006\003\125\004\013\014\032\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\061\112\060\110\006\003\125\004\003\014\101\124\303 +\234\102\304\260\124\101\113\040\125\105\113\101\105\040\113\303 +\266\153\040\123\145\162\164\151\146\151\153\141\040\110\151\172 +\155\145\164\040\123\141\304\237\154\141\171\304\261\143\304\261 +\163\304\261\040\055\040\123\303\274\162\303\274\155\040\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\021 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\027\060\202\003\377\240\003\002\001\002\002\001\021 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\202\001\053\061\013\060\011\006\003\125\004\006\023\002\124\122 +\061\030\060\026\006\003\125\004\007\014\017\107\145\142\172\145 +\040\055\040\113\157\143\141\145\154\151\061\107\060\105\006\003 +\125\004\012\014\076\124\303\274\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\305\237\164\304\261\162\155\141 +\040\113\165\162\165\155\165\040\055\040\124\303\234\102\304\260 +\124\101\113\061\110\060\106\006\003\125\004\013\014\077\125\154 +\165\163\141\154\040\105\154\145\153\164\162\157\156\151\153\040 +\166\145\040\113\162\151\160\164\157\154\157\152\151\040\101\162 +\141\305\237\164\304\261\162\155\141\040\105\156\163\164\151\164 +\303\274\163\303\274\040\055\040\125\105\113\101\105\061\043\060 +\041\006\003\125\004\013\014\032\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\061\112\060\110\006\003\125\004\003\014\101\124\303\234 +\102\304\260\124\101\113\040\125\105\113\101\105\040\113\303\266 +\153\040\123\145\162\164\151\146\151\153\141\040\110\151\172\155 +\145\164\040\123\141\304\237\154\141\171\304\261\143\304\261\163 +\304\261\040\055\040\123\303\274\162\303\274\155\040\063\060\036 +\027\015\060\067\060\070\062\064\061\061\063\067\060\067\132\027 +\015\061\067\060\070\062\061\061\061\063\067\060\067\132\060\202 +\001\053\061\013\060\011\006\003\125\004\006\023\002\124\122\061 +\030\060\026\006\003\125\004\007\014\017\107\145\142\172\145\040 +\055\040\113\157\143\141\145\154\151\061\107\060\105\006\003\125 +\004\012\014\076\124\303\274\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\305\237\164\304\261\162\155\141\040 +\113\165\162\165\155\165\040\055\040\124\303\234\102\304\260\124 +\101\113\061\110\060\106\006\003\125\004\013\014\077\125\154\165 +\163\141\154\040\105\154\145\153\164\162\157\156\151\153\040\166 +\145\040\113\162\151\160\164\157\154\157\152\151\040\101\162\141 +\305\237\164\304\261\162\155\141\040\105\156\163\164\151\164\303 +\274\163\303\274\040\055\040\125\105\113\101\105\061\043\060\041 +\006\003\125\004\013\014\032\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\061\112\060\110\006\003\125\004\003\014\101\124\303\234\102 +\304\260\124\101\113\040\125\105\113\101\105\040\113\303\266\153 +\040\123\145\162\164\151\146\151\153\141\040\110\151\172\155\145 +\164\040\123\141\304\237\154\141\171\304\261\143\304\261\163\304 +\261\040\055\040\123\303\274\162\303\274\155\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\212\155 +\113\377\020\210\072\303\366\176\224\350\352\040\144\160\256\041 +\201\276\072\173\074\333\361\035\122\177\131\372\363\042\114\225 +\240\220\274\110\116\021\253\373\267\265\215\172\203\050\214\046 +\106\330\116\225\100\207\141\237\305\236\155\201\207\127\154\212 +\073\264\146\352\314\100\374\343\252\154\262\313\001\333\062\277 +\322\353\205\317\241\015\125\303\133\070\127\160\270\165\306\171 +\321\024\060\355\033\130\133\153\357\065\362\241\041\116\305\316 +\174\231\137\154\271\270\042\223\120\247\315\114\160\152\276\152 +\005\177\023\234\053\036\352\376\107\316\004\245\157\254\223\056 +\174\053\237\236\171\023\221\350\352\236\312\070\165\216\142\260 +\225\223\052\345\337\351\136\227\156\040\137\137\204\172\104\071 +\031\100\034\272\125\053\373\060\262\201\357\204\343\334\354\230 +\070\071\003\205\010\251\124\003\005\051\360\311\217\213\352\013 +\206\145\031\021\323\351\011\043\336\150\223\003\311\066\034\041 +\156\316\214\146\361\231\060\330\327\263\303\035\370\201\056\250 +\275\202\013\146\376\202\313\341\340\032\202\303\100\201\002\003 +\001\000\001\243\102\060\100\060\035\006\003\125\035\016\004\026 +\004\024\275\210\207\311\217\366\244\012\013\252\353\305\376\221 +\043\235\253\112\212\062\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\035\174\372\111\217 +\064\351\267\046\222\026\232\005\164\347\113\320\155\071\154\303 +\046\366\316\270\061\274\304\337\274\052\370\067\221\030\334\004 +\310\144\231\053\030\155\200\003\131\311\256\370\130\320\076\355 +\303\043\237\151\074\206\070\034\236\357\332\047\170\321\204\067 +\161\212\074\113\071\317\176\105\006\326\055\330\212\115\170\022 +\326\255\302\323\313\322\320\101\363\046\066\112\233\225\154\014 +\356\345\321\103\047\146\301\210\367\172\263\040\154\352\260\151 +\053\307\040\350\014\003\304\101\005\231\342\077\344\153\370\240 +\206\201\307\204\306\037\325\113\201\022\262\026\041\054\023\241 +\200\262\136\014\112\023\236\040\330\142\100\253\220\352\144\112 +\057\254\015\001\022\171\105\250\057\207\031\150\310\342\205\307 +\060\262\165\371\070\077\262\300\223\264\153\342\003\104\316\147 +\240\337\211\326\255\214\166\243\023\303\224\141\053\153\331\154 +\301\007\012\042\007\205\154\205\044\106\251\276\077\213\170\204 +\202\176\044\014\235\375\201\067\343\045\250\355\066\116\225\054 +\311\234\220\332\354\251\102\074\255\266\002 +END + +# Trust for Certificate "TUBITAK UEKAE Kok Sertifika Hizmet Saglayicisi - Surum 3" +CKA_CLASS CK_OBJECT_CLASS 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\xc3\x9c\x42\xC4\xB0TAK UEKAE K\xC3\xB6k Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1 - S\xC3\xBCr\xC3\xBCm 3" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\033\113\071\141\046\047\153\144\221\242\150\155\327\002\103\041 +\055\037\035\226 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\355\101\365\214\120\305\053\234\163\346\356\154\353\302\250\046 +END +CKA_ISSUER MULTILINE_OCTAL +\060\202\001\053\061\013\060\011\006\003\125\004\006\023\002\124 +\122\061\030\060\026\006\003\125\004\007\014\017\107\145\142\172 +\145\040\055\040\113\157\143\141\145\154\151\061\107\060\105\006 +\003\125\004\012\014\076\124\303\274\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\305\237\164\304\261\162\155 +\141\040\113\165\162\165\155\165\040\055\040\124\303\234\102\304 +\260\124\101\113\061\110\060\106\006\003\125\004\013\014\077\125 +\154\165\163\141\154\040\105\154\145\153\164\162\157\156\151\153 +\040\166\145\040\113\162\151\160\164\157\154\157\152\151\040\101 +\162\141\305\237\164\304\261\162\155\141\040\105\156\163\164\151 +\164\303\274\163\303\274\040\055\040\125\105\113\101\105\061\043 +\060\041\006\003\125\004\013\014\032\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\061\112\060\110\006\003\125\004\003\014\101\124\303 +\234\102\304\260\124\101\113\040\125\105\113\101\105\040\113\303 +\266\153\040\123\145\162\164\151\146\151\153\141\040\110\151\172 +\155\145\164\040\123\141\304\237\154\141\171\304\261\143\304\261 +\163\304\261\040\055\040\123\303\274\162\303\274\155\040\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\021 +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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Buypass Class 2 CA 1" +# +CKA_CLASS CK_OBJECT_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 CA 1" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\113\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\035 +\060\033\006\003\125\004\003\014\024\102\165\171\160\141\163\163 +\040\103\154\141\163\163\040\062\040\103\101\040\061 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\113\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\035 +\060\033\006\003\125\004\003\014\024\102\165\171\160\141\163\163 +\040\103\154\141\163\163\040\062\040\103\101\040\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\123\060\202\002\073\240\003\002\001\002\002\001\001 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\113\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\035\060 +\033\006\003\125\004\003\014\024\102\165\171\160\141\163\163\040 +\103\154\141\163\163\040\062\040\103\101\040\061\060\036\027\015 +\060\066\061\060\061\063\061\060\062\065\060\071\132\027\015\061 +\066\061\060\061\063\061\060\062\065\060\071\132\060\113\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\035\060\033\006\003 +\125\004\003\014\024\102\165\171\160\141\163\163\040\103\154\141 +\163\163\040\062\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\213\074\007\105\330\366 +\337\346\307\312\272\215\103\305\107\215\260\132\301\070\333\222 +\204\034\257\023\324\017\157\066\106\040\304\056\314\161\160\064 +\242\064\323\067\056\330\335\072\167\057\300\353\051\350\134\322 +\265\251\221\064\207\042\131\376\314\333\347\231\257\226\301\250 +\307\100\335\245\025\214\156\310\174\227\003\313\346\040\362\327 +\227\137\061\241\057\067\322\276\356\276\251\255\250\114\236\041 +\146\103\073\250\274\363\011\243\070\325\131\044\301\302\107\166 +\261\210\134\202\073\273\053\246\004\327\214\007\217\315\325\101 +\035\360\256\270\051\054\224\122\140\064\224\073\332\340\070\321 +\235\063\076\025\364\223\062\305\000\332\265\051\146\016\072\170 +\017\041\122\137\002\345\222\173\045\323\222\036\057\025\235\201 +\344\235\216\350\357\211\316\024\114\124\035\034\201\022\115\160 +\250\276\020\005\027\176\037\321\270\127\125\355\315\273\122\302 +\260\036\170\302\115\066\150\313\126\046\301\122\301\275\166\367 +\130\325\162\176\037\104\166\273\000\211\035\026\235\121\065\357 +\115\302\126\357\153\340\214\073\015\351\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\077 +\215\232\131\213\374\173\173\234\243\257\070\260\071\355\220\161 +\200\326\310\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\025\032\176\023\212\271\350\007\243 +\113\047\062\262\100\221\362\041\321\144\205\276\143\152\322\317 +\201\302\025\325\172\176\014\051\254\067\036\034\174\166\122\225 +\332\265\177\043\241\051\167\145\311\062\235\250\056\126\253\140 +\166\316\026\264\215\177\170\300\325\231\121\203\177\136\331\276 +\014\250\120\355\042\307\255\005\114\166\373\355\356\036\107\144 +\366\367\047\175\134\050\017\105\305\134\142\136\246\232\221\221 +\267\123\027\056\334\255\140\235\226\144\071\275\147\150\262\256 +\005\313\115\347\137\037\127\206\325\040\234\050\373\157\023\070 +\365\366\021\222\366\175\231\136\037\014\350\253\104\044\051\162 +\100\075\066\122\257\214\130\220\163\301\354\141\054\171\241\354 +\207\265\077\332\115\331\041\000\060\336\220\332\016\323\032\110 +\251\076\205\013\024\213\214\274\101\236\152\367\016\160\300\065 +\367\071\242\135\146\320\173\131\237\250\107\022\232\047\043\244 +\055\216\047\203\222\040\241\327\025\177\361\056\030\356\364\110 +\177\057\177\361\241\030\265\241\013\224\240\142\040\062\234\035 +\366\324\357\277\114\210\150 +END + +# Trust for Certificate "Buypass Class 2 CA 1" +CKA_CLASS CK_OBJECT_CLASS 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 CA 1" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\240\241\253\220\311\374\204\173\073\022\141\350\227\175\137\323 +\042\141\323\314 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\270\010\232\360\003\314\033\015\310\154\013\166\241\165\144\043 +END +CKA_ISSUER MULTILINE_OCTAL +\060\113\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\035 +\060\033\006\003\125\004\003\014\024\102\165\171\160\141\163\163 +\040\103\154\141\163\163\040\062\040\103\101\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_TRUST_UNKNOWN +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Buypass Class 3 CA 1" +# +CKA_CLASS CK_OBJECT_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 CA 1" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\113\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\035 +\060\033\006\003\125\004\003\014\024\102\165\171\160\141\163\163 +\040\103\154\141\163\163\040\063\040\103\101\040\061 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\113\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\035 +\060\033\006\003\125\004\003\014\024\102\165\171\160\141\163\163 +\040\103\154\141\163\163\040\063\040\103\101\040\061 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\002 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\123\060\202\002\073\240\003\002\001\002\002\001\002 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\113\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\035\060 +\033\006\003\125\004\003\014\024\102\165\171\160\141\163\163\040 +\103\154\141\163\163\040\063\040\103\101\040\061\060\036\027\015 +\060\065\060\065\060\071\061\064\061\063\060\063\132\027\015\061 +\065\060\065\060\071\061\064\061\063\060\063\132\060\113\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\035\060\033\006\003 +\125\004\003\014\024\102\165\171\160\141\163\163\040\103\154\141 +\163\163\040\063\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\244\216\327\164\331\051 +\144\336\137\037\207\200\221\352\116\071\346\031\306\104\013\200 +\325\013\257\123\007\213\022\275\346\147\360\002\261\211\366\140 +\212\304\133\260\102\321\300\041\250\313\341\233\357\144\121\266 +\247\317\025\365\164\200\150\004\220\240\130\242\346\164\246\123 +\123\125\110\143\077\222\126\335\044\116\216\370\272\053\377\363 +\064\212\236\050\327\064\237\254\057\326\017\361\244\057\275\122 +\262\111\205\155\071\065\360\104\060\223\106\044\363\266\347\123 +\373\274\141\257\251\243\024\373\302\027\027\204\154\340\174\210 +\370\311\034\127\054\360\075\176\224\274\045\223\204\350\232\000 +\232\105\005\102\127\200\364\116\316\331\256\071\366\310\123\020 +\014\145\072\107\173\140\302\326\372\221\311\306\161\154\275\221 +\207\074\221\206\111\253\363\017\240\154\046\166\136\034\254\233 +\161\345\215\274\233\041\036\234\326\070\176\044\200\025\061\202 +\226\261\111\323\142\067\133\210\014\012\142\064\376\247\110\176 +\231\261\060\213\220\067\225\034\250\037\245\054\215\364\125\310 +\333\335\131\012\302\255\170\240\364\213\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\070 +\024\346\310\360\251\244\003\364\116\076\042\243\133\362\326\340 +\255\100\164\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\001\147\243\214\311\045\075\023\143 +\135\026\157\354\241\076\011\134\221\025\052\052\331\200\041\117 +\005\334\273\245\211\253\023\063\052\236\070\267\214\157\002\162 +\143\307\163\167\036\011\006\272\073\050\173\244\107\311\141\153 +\010\010\040\374\212\005\212\037\274\272\306\302\376\317\156\354 +\023\063\161\147\056\151\372\251\054\077\146\300\022\131\115\013 +\124\002\222\204\273\333\022\357\203\160\160\170\310\123\372\337 +\306\306\377\334\210\057\007\300\111\235\062\127\140\323\362\366 +\231\051\137\347\252\001\314\254\063\250\034\012\273\221\304\003 +\240\157\266\064\371\206\323\263\166\124\230\364\112\201\263\123 +\235\115\100\354\345\167\023\105\257\133\252\037\330\057\114\202 +\173\376\052\304\130\273\117\374\236\375\003\145\032\052\016\303 +\245\040\026\224\153\171\246\242\022\264\273\032\244\043\172\137 +\360\256\204\044\344\363\053\373\212\044\243\047\230\145\332\060 +\165\166\374\031\221\350\333\353\233\077\062\277\100\227\007\046 +\272\314\363\224\205\112\172\047\223\317\220\102\324\270\133\026 +\246\347\313\100\003\335\171 +END + +# Trust for Certificate "Buypass Class 3 CA 1" +CKA_CLASS CK_OBJECT_CLASS 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 CA 1" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\141\127\072\021\337\016\330\176\325\222\145\042\352\320\126\327 +\104\263\043\161 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\337\074\163\131\201\347\071\120\201\004\114\064\242\313\263\173 +END +CKA_ISSUER MULTILINE_OCTAL +\060\113\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\035 +\060\033\006\003\125\004\003\014\024\102\165\171\160\141\163\163 +\040\103\154\141\163\163\040\063\040\103\101\040\061 +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_TRUST_UNKNOWN +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "EBG Elektronik Sertifika Hizmet Saglayicisi" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "EBG Elektronik Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\200\061\070\060\066\006\003\125\004\003\014\057\105\102 +\107\040\105\154\145\153\164\162\157\156\151\153\040\123\145\162 +\164\151\146\151\153\141\040\110\151\172\155\145\164\040\123\141 +\304\237\154\141\171\304\261\143\304\261\163\304\261\061\067\060 +\065\006\003\125\004\012\014\056\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\013\060\011\006\003\125\004\006\023 +\002\124\122 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\200\061\070\060\066\006\003\125\004\003\014\057\105\102 +\107\040\105\154\145\153\164\162\157\156\151\153\040\123\145\162 +\164\151\146\151\153\141\040\110\151\172\155\145\164\040\123\141 +\304\237\154\141\171\304\261\143\304\261\163\304\261\061\067\060 +\065\006\003\125\004\012\014\056\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\013\060\011\006\003\125\004\006\023 +\002\124\122 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\114\257\163\102\034\216\164\002 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\347\060\202\003\317\240\003\002\001\002\002\010\114 +\257\163\102\034\216\164\002\060\015\006\011\052\206\110\206\367 +\015\001\001\005\005\000\060\201\200\061\070\060\066\006\003\125 +\004\003\014\057\105\102\107\040\105\154\145\153\164\162\157\156 +\151\153\040\123\145\162\164\151\146\151\153\141\040\110\151\172 +\155\145\164\040\123\141\304\237\154\141\171\304\261\143\304\261 +\163\304\261\061\067\060\065\006\003\125\004\012\014\056\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\013\060\011 +\006\003\125\004\006\023\002\124\122\060\036\027\015\060\066\060 +\070\061\067\060\060\062\061\060\071\132\027\015\061\066\060\070 +\061\064\060\060\063\061\060\071\132\060\201\200\061\070\060\066 +\006\003\125\004\003\014\057\105\102\107\040\105\154\145\153\164 +\162\157\156\151\153\040\123\145\162\164\151\146\151\153\141\040 +\110\151\172\155\145\164\040\123\141\304\237\154\141\171\304\261 +\143\304\261\163\304\261\061\067\060\065\006\003\125\004\012\014 +\056\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 +\013\060\011\006\003\125\004\006\023\002\124\122\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\356\240\204 +\141\320\072\152\146\020\062\330\061\070\177\247\247\345\375\241 +\341\373\227\167\270\161\226\350\023\226\106\203\117\266\362\137 +\162\126\156\023\140\245\001\221\342\133\305\315\127\037\167\143 +\121\377\057\075\333\271\077\252\251\065\347\171\320\365\320\044 +\266\041\352\353\043\224\376\051\277\373\211\221\014\144\232\005 +\112\053\314\014\356\361\075\233\202\151\244\114\370\232\157\347 +\042\332\020\272\137\222\374\030\047\012\250\252\104\372\056\054 +\264\373\106\232\010\003\203\162\253\210\344\152\162\311\345\145 +\037\156\052\017\235\263\350\073\344\014\156\172\332\127\375\327 +\353\171\213\136\040\006\323\166\013\154\002\225\243\226\344\313 +\166\121\321\050\235\241\032\374\104\242\115\314\172\166\250\015 +\075\277\027\117\042\210\120\375\256\266\354\220\120\112\133\237 +\225\101\252\312\017\262\112\376\200\231\116\243\106\025\253\370 +\163\102\152\302\146\166\261\012\046\025\335\223\222\354\333\251 +\137\124\042\122\221\160\135\023\352\110\354\156\003\154\331\335 +\154\374\353\015\003\377\246\203\022\233\361\251\223\017\305\046 +\114\061\262\143\231\141\162\347\052\144\231\322\270\351\165\342 +\174\251\251\232\032\252\303\126\333\020\232\074\203\122\266\173 +\226\267\254\207\167\250\271\362\147\013\224\103\263\257\076\163 +\372\102\066\261\045\305\012\061\046\067\126\147\272\243\013\175 +\326\367\211\315\147\241\267\072\036\146\117\366\240\125\024\045 +\114\054\063\015\246\101\214\275\004\061\152\020\162\012\235\016 +\056\166\275\136\363\121\211\213\250\077\125\163\277\333\072\306 +\044\005\226\222\110\252\113\215\052\003\345\127\221\020\364\152 +\050\025\156\107\167\204\134\121\164\237\031\351\346\036\143\026 +\071\343\021\025\343\130\032\104\275\313\304\154\146\327\204\006 +\337\060\364\067\242\103\042\171\322\020\154\337\273\346\023\021 +\374\235\204\012\023\173\360\073\320\374\243\012\327\211\352\226 +\176\215\110\205\036\144\137\333\124\242\254\325\172\002\171\153 +\322\212\360\147\332\145\162\015\024\160\344\351\216\170\217\062 +\164\174\127\362\326\326\364\066\211\033\370\051\154\213\271\366 +\227\321\244\056\252\276\013\031\302\105\351\160\135\002\003\000 +\235\331\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\035\006\003\125\035\016\004\026 +\004\024\347\316\306\117\374\026\147\226\372\112\243\007\301\004 +\247\313\152\336\332\107\060\037\006\003\125\035\043\004\030\060 +\026\200\024\347\316\306\117\374\026\147\226\372\112\243\007\301 +\004\247\313\152\336\332\107\060\015\006\011\052\206\110\206\367 +\015\001\001\005\005\000\003\202\002\001\000\233\230\232\135\276 +\363\050\043\166\306\154\367\177\346\100\236\300\066\334\225\015 +\035\255\025\305\066\330\325\071\357\362\036\042\136\263\202\264 +\135\273\114\032\312\222\015\337\107\044\036\263\044\332\221\210 +\351\203\160\335\223\327\351\272\263\337\026\132\076\336\340\310 +\373\323\375\154\051\370\025\106\240\150\046\314\223\122\256\202 +\001\223\220\312\167\312\115\111\357\342\132\331\052\275\060\316 +\114\262\201\266\060\316\131\117\332\131\035\152\172\244\105\260 +\202\046\201\206\166\365\365\020\000\270\356\263\011\350\117\207 +\002\007\256\044\134\360\137\254\012\060\314\212\100\240\163\004 +\301\373\211\044\366\232\034\134\267\074\012\147\066\005\010\061 +\263\257\330\001\150\052\340\170\217\164\336\270\121\244\214\154 +\040\075\242\373\263\324\011\375\173\302\200\252\223\154\051\230 +\041\250\273\026\363\251\022\137\164\265\207\230\362\225\046\337 +\064\357\212\123\221\210\135\032\224\243\077\174\042\370\327\210 +\272\246\214\226\250\075\122\064\142\237\000\036\124\125\102\147 +\306\115\106\217\273\024\105\075\012\226\026\216\020\241\227\231 +\325\323\060\205\314\336\264\162\267\274\212\074\030\051\150\375 +\334\161\007\356\044\071\152\372\355\245\254\070\057\371\036\020 +\016\006\161\032\020\114\376\165\176\377\036\127\071\102\312\327 +\341\025\241\126\125\131\033\321\243\257\021\330\116\303\245\053 +\357\220\277\300\354\202\023\133\215\326\162\054\223\116\217\152 +\051\337\205\074\323\015\340\242\030\022\314\125\057\107\267\247 +\233\002\376\101\366\210\114\155\332\251\001\107\203\144\047\142 +\020\202\326\022\173\136\003\037\064\251\311\221\376\257\135\155 +\206\047\267\043\252\165\030\312\040\347\260\017\327\211\016\246 +\147\042\143\364\203\101\053\006\113\273\130\325\321\327\267\271 +\020\143\330\211\112\264\252\335\026\143\365\156\276\140\241\370 +\355\350\326\220\117\032\306\305\240\051\323\247\041\250\365\132 +\074\367\307\111\242\041\232\112\225\122\040\226\162\232\146\313 +\367\322\206\103\174\042\276\226\371\275\001\250\107\335\345\073 +\100\371\165\053\233\053\106\144\206\215\036\364\217\373\007\167 +\320\352\111\242\034\215\122\024\246\012\223 +END + +# Trust for Certificate "EBG Elektronik Sertifika Hizmet Saglayicisi" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "EBG Elektronik Sertifika Hizmet Sa\xC4\x9Flay\xc4\xb1\x63\xc4\xb1s\xc4\xb1" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\214\226\272\353\335\053\007\007\110\356\060\062\146\240\363\230 +\156\174\256\130 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\054\040\046\235\313\032\112\000\205\265\267\132\256\302\001\067 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\200\061\070\060\066\006\003\125\004\003\014\057\105\102 +\107\040\105\154\145\153\164\162\157\156\151\153\040\123\145\162 +\164\151\146\151\153\141\040\110\151\172\155\145\164\040\123\141 +\304\237\154\141\171\304\261\143\304\261\163\304\261\061\067\060 +\065\006\003\125\004\012\014\056\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\013\060\011\006\003\125\004\006\023 +\002\124\122 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\114\257\163\102\034\216\164\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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "certSIGN ROOT 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 "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 + +# Trust for Certificate "certSIGN ROOT 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 "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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "CNNIC ROOT" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "CNNIC ROOT" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\062\061\013\060\011\006\003\125\004\006\023\002\103\116\061 +\016\060\014\006\003\125\004\012\023\005\103\116\116\111\103\061 +\023\060\021\006\003\125\004\003\023\012\103\116\116\111\103\040 +\122\117\117\124 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\062\061\013\060\011\006\003\125\004\006\023\002\103\116\061 +\016\060\014\006\003\125\004\012\023\005\103\116\116\111\103\061 +\023\060\021\006\003\125\004\003\023\012\103\116\116\111\103\040 +\122\117\117\124 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\111\063\000\001 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\125\060\202\002\075\240\003\002\001\002\002\004\111 +\063\000\001\060\015\006\011\052\206\110\206\367\015\001\001\005 +\005\000\060\062\061\013\060\011\006\003\125\004\006\023\002\103 +\116\061\016\060\014\006\003\125\004\012\023\005\103\116\116\111 +\103\061\023\060\021\006\003\125\004\003\023\012\103\116\116\111 +\103\040\122\117\117\124\060\036\027\015\060\067\060\064\061\066 +\060\067\060\071\061\064\132\027\015\062\067\060\064\061\066\060 +\067\060\071\061\064\132\060\062\061\013\060\011\006\003\125\004 +\006\023\002\103\116\061\016\060\014\006\003\125\004\012\023\005 +\103\116\116\111\103\061\023\060\021\006\003\125\004\003\023\012 +\103\116\116\111\103\040\122\117\117\124\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\065\367\077\163 +\167\255\350\133\163\027\302\321\157\355\125\274\156\352\350\244 +\171\262\154\303\243\357\341\237\261\073\110\205\365\232\134\041 +\042\020\054\305\202\316\332\343\232\156\067\341\207\054\334\271 +\014\132\272\210\125\337\375\252\333\037\061\352\001\361\337\071 +\001\301\023\375\110\122\041\304\125\337\332\330\263\124\166\272 +\164\261\267\175\327\300\350\366\131\305\115\310\275\255\037\024 +\332\337\130\104\045\062\031\052\307\176\176\216\256\070\260\060 +\173\107\162\011\061\360\060\333\303\033\166\051\273\151\166\116 +\127\371\033\144\242\223\126\267\157\231\156\333\012\004\234\021 +\343\200\037\313\143\224\020\012\251\341\144\202\061\371\214\047 +\355\246\231\000\366\160\223\030\370\241\064\206\243\335\172\302 +\030\171\366\172\145\065\317\220\353\275\063\223\237\123\253\163 +\073\346\233\064\040\057\035\357\251\035\143\032\240\200\333\003 +\057\371\046\032\206\322\215\273\251\276\122\072\207\147\110\015 +\277\264\240\330\046\276\043\137\163\067\177\046\346\222\004\243 +\177\317\040\247\267\363\072\312\313\231\313\002\003\001\000\001 +\243\163\060\161\060\021\006\011\140\206\110\001\206\370\102\001 +\001\004\004\003\002\000\007\060\037\006\003\125\035\043\004\030 +\060\026\200\024\145\362\061\255\052\367\367\335\122\226\012\307 +\002\301\016\357\246\325\073\021\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\376\060\035\006\003\125\035\016\004\026\004 +\024\145\362\061\255\052\367\367\335\122\226\012\307\002\301\016 +\357\246\325\073\021\060\015\006\011\052\206\110\206\367\015\001 +\001\005\005\000\003\202\001\001\000\113\065\356\314\344\256\277 +\303\156\255\237\225\073\113\077\133\036\337\127\051\242\131\312 +\070\342\271\032\377\236\346\156\062\335\036\256\352\065\267\365 +\223\221\116\332\102\341\303\027\140\120\362\321\134\046\271\202 +\267\352\155\344\234\204\347\003\171\027\257\230\075\224\333\307 +\272\000\347\270\277\001\127\301\167\105\062\014\073\361\264\034 +\010\260\375\121\240\241\335\232\035\023\066\232\155\267\307\074 +\271\341\305\331\027\372\203\325\075\025\240\074\273\036\013\342 +\310\220\077\250\206\014\374\371\213\136\205\313\117\133\113\142 +\021\107\305\105\174\005\057\101\261\236\020\151\033\231\226\340 +\125\171\373\116\206\231\270\224\332\206\070\152\223\243\347\313 +\156\345\337\352\041\125\211\234\175\175\177\230\365\000\211\356 +\343\204\300\134\226\265\305\106\352\106\340\205\125\266\033\311 +\022\326\301\315\315\200\363\002\001\074\310\151\313\105\110\143 +\330\224\320\354\205\016\073\116\021\145\364\202\214\246\075\256 +\056\042\224\011\310\134\352\074\201\135\026\052\003\227\026\125 +\011\333\212\101\202\236\146\233\021 +END + +# Trust for Certificate "CNNIC ROOT" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "CNNIC ROOT" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\213\257\114\233\035\360\052\222\367\332\022\216\271\033\254\364 +\230\140\113\157 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\041\274\202\253\111\304\023\073\113\262\053\134\153\220\234\031 +END +CKA_ISSUER MULTILINE_OCTAL +\060\062\061\013\060\011\006\003\125\004\006\023\002\103\116\061 +\016\060\014\006\003\125\004\012\023\005\103\116\116\111\103\061 +\023\060\021\006\003\125\004\003\023\012\103\116\116\111\103\040 +\122\117\117\124 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\111\063\000\001 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "ApplicationCA - Japanese Government" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "ApplicationCA - Japanese Government" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\103\061\013\060\011\006\003\125\004\006\023\002\112\120\061 +\034\060\032\006\003\125\004\012\023\023\112\141\160\141\156\145 +\163\145\040\107\157\166\145\162\156\155\145\156\164\061\026\060 +\024\006\003\125\004\013\023\015\101\160\160\154\151\143\141\164 +\151\157\156\103\101 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\103\061\013\060\011\006\003\125\004\006\023\002\112\120\061 +\034\060\032\006\003\125\004\012\023\023\112\141\160\141\156\145 +\163\145\040\107\157\166\145\162\156\155\145\156\164\061\026\060 +\024\006\003\125\004\013\023\015\101\160\160\154\151\143\141\164 +\151\157\156\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\061 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\240\060\202\002\210\240\003\002\001\002\002\001\061 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\103\061\013\060\011\006\003\125\004\006\023\002\112\120\061\034 +\060\032\006\003\125\004\012\023\023\112\141\160\141\156\145\163 +\145\040\107\157\166\145\162\156\155\145\156\164\061\026\060\024 +\006\003\125\004\013\023\015\101\160\160\154\151\143\141\164\151 +\157\156\103\101\060\036\027\015\060\067\061\062\061\062\061\065 +\060\060\060\060\132\027\015\061\067\061\062\061\062\061\065\060 +\060\060\060\132\060\103\061\013\060\011\006\003\125\004\006\023 +\002\112\120\061\034\060\032\006\003\125\004\012\023\023\112\141 +\160\141\156\145\163\145\040\107\157\166\145\162\156\155\145\156 +\164\061\026\060\024\006\003\125\004\013\023\015\101\160\160\154 +\151\143\141\164\151\157\156\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\247\155\340\164\116\207 +\217\245\006\336\150\242\333\206\231\113\144\015\161\360\012\005 +\233\216\252\341\314\056\322\152\073\301\172\264\227\141\215\212 +\276\306\232\234\006\264\206\121\344\067\016\164\170\176\137\212 +\177\224\244\327\107\010\375\120\132\126\344\150\254\050\163\240 +\173\351\177\030\222\100\117\055\235\365\256\104\110\163\066\006 +\236\144\054\073\064\043\333\134\046\344\161\171\217\324\156\171 +\042\271\223\301\312\315\301\126\355\210\152\327\240\071\041\004 +\127\054\242\365\274\107\101\117\136\064\042\225\265\037\051\155 +\136\112\363\115\162\276\101\126\040\207\374\351\120\107\327\060 +\024\356\134\214\125\272\131\215\207\374\043\336\223\320\004\214 +\375\357\155\275\320\172\311\245\072\152\162\063\306\112\015\005 +\027\052\055\173\261\247\330\326\360\276\364\077\352\016\050\155 +\101\141\043\166\170\303\270\145\244\363\132\256\314\302\252\331 +\347\130\336\266\176\235\205\156\237\052\012\157\237\003\051\060 +\227\050\035\274\267\317\124\051\116\121\061\371\047\266\050\046 +\376\242\143\346\101\026\360\063\230\107\002\003\001\000\001\243 +\201\236\060\201\233\060\035\006\003\125\035\016\004\026\004\024 +\124\132\313\046\077\161\314\224\106\015\226\123\352\153\110\320 +\223\376\102\165\060\016\006\003\125\035\017\001\001\377\004\004 +\003\002\001\006\060\131\006\003\125\035\021\004\122\060\120\244 +\116\060\114\061\013\060\011\006\003\125\004\006\023\002\112\120 +\061\030\060\026\006\003\125\004\012\014\017\346\227\245\346\234 +\254\345\233\275\346\224\277\345\272\234\061\043\060\041\006\003 +\125\004\013\014\032\343\202\242\343\203\227\343\203\252\343\202 +\261\343\203\274\343\202\267\343\203\247\343\203\263\103\101\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\071\152\104\166\167\070\072\354\243\147\106\017 +\371\213\006\250\373\152\220\061\316\176\354\332\321\211\174\172 +\353\056\014\275\231\062\347\260\044\326\303\377\365\262\210\011 +\207\054\343\124\341\243\246\262\010\013\300\205\250\310\322\234 +\161\366\035\237\140\374\070\063\023\341\236\334\013\137\332\026 +\120\051\173\057\160\221\017\231\272\064\064\215\225\164\305\176 +\170\251\146\135\275\312\041\167\102\020\254\146\046\075\336\221 +\253\375\025\360\157\355\154\137\020\370\363\026\366\003\212\217 +\247\022\021\014\313\375\077\171\301\234\375\142\356\243\317\124 +\014\321\053\137\027\076\343\076\277\300\053\076\011\233\376\210 +\246\176\264\222\027\374\043\224\201\275\156\247\305\214\302\353 +\021\105\333\370\101\311\226\166\352\160\137\171\022\153\344\243 +\007\132\005\357\047\111\317\041\237\212\114\011\160\146\251\046 +\301\053\021\116\063\322\016\374\326\154\322\016\062\144\150\377 +\255\005\170\137\003\035\250\343\220\254\044\340\017\100\247\113 +\256\213\050\267\202\312\030\007\346\267\133\164\351\040\031\177 +\262\033\211\124 +END + +# Trust for Certificate "ApplicationCA - Japanese Government" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "ApplicationCA - Japanese Government" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\177\212\260\317\320\121\207\152\146\363\066\017\107\310\215\214 +\323\065\374\164 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\176\043\116\133\247\245\264\045\351\000\007\164\021\142\256\326 +END +CKA_ISSUER MULTILINE_OCTAL +\060\103\061\013\060\011\006\003\125\004\006\023\002\112\120\061 +\034\060\032\006\003\125\004\012\023\023\112\141\160\141\156\145 +\163\145\040\107\157\166\145\162\156\155\145\156\164\061\026\060 +\024\006\003\125\004\013\023\015\101\160\160\154\151\143\141\164 +\151\157\156\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\061 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "GeoTrust Primary Certification Authority - G3" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "GeoTrust Primary Certification Authority - G3" +CKA_CLASS CK_OBJECT_CLASS 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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "thawte Primary Root CA - G2" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "thawte Primary Root CA - G2" +CKA_CLASS CK_OBJECT_CLASS 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_TRUST_UNKNOWN +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "thawte Primary Root CA - G3" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "thawte Primary Root CA - G3" +CKA_CLASS CK_OBJECT_CLASS 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_TRUST_UNKNOWN +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "GeoTrust Primary Certification Authority - G2" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "GeoTrust Primary Certification Authority - G2" +CKA_CLASS CK_OBJECT_CLASS 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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "VeriSign Universal Root Certification Authority" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "VeriSign Universal Root Certification Authority" +CKA_CLASS CK_OBJECT_CLASS 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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "VeriSign Class 3 Public Primary Certification Authority - G4" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "VeriSign Class 3 Public Primary Certification Authority - G4" +CKA_CLASS CK_OBJECT_CLASS 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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "NetLock Arany (Class Gold) FÅ‘tanúsÃtvány" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "NetLock Arany (Class Gold) FÅ‘tanúsÃtvány" +CKA_CLASS CK_OBJECT_CLASS 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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Staat der Nederlanden Root CA - G2" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "Staat der Nederlanden Root CA - G2" +CKA_CLASS CK_OBJECT_CLASS 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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "CA Disig" +# +CKA_CLASS CK_OBJECT_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" +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\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\021\060\017\006\003\125 +\004\003\023\010\103\101\040\104\151\163\151\147 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\112\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\021\060\017\006\003\125 +\004\003\023\010\103\101\040\104\151\163\151\147 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\017\060\202\002\367\240\003\002\001\002\002\001\001 +\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\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\021\060\017\006\003\125\004 +\003\023\010\103\101\040\104\151\163\151\147\060\036\027\015\060 +\066\060\063\062\062\060\061\063\071\063\064\132\027\015\061\066 +\060\063\062\062\060\061\063\071\063\064\132\060\112\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\021\060\017\006\003\125\004\003\023\010\103 +\101\040\104\151\163\151\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\222\366\061\301\175\210\375\231 +\001\251\330\173\362\161\165\361\061\306\363\165\146\372\121\050 +\106\204\227\170\064\274\154\374\274\105\131\210\046\030\112\304 +\067\037\241\112\104\275\343\161\004\365\104\027\342\077\374\110 +\130\157\134\236\172\011\272\121\067\042\043\146\103\041\260\074 +\144\242\370\152\025\016\077\353\121\341\124\251\335\006\231\327 +\232\074\124\213\071\003\077\017\305\316\306\353\203\162\002\250 +\037\161\363\055\370\165\010\333\142\114\350\372\316\371\347\152 +\037\266\153\065\202\272\342\217\026\222\175\005\014\154\106\003 +\135\300\355\151\277\072\301\212\240\350\216\331\271\105\050\207 +\010\354\264\312\025\276\202\335\265\104\213\055\255\206\014\150 +\142\155\205\126\362\254\024\143\072\306\321\231\254\064\170\126 +\113\317\266\255\077\214\212\327\004\345\343\170\114\365\206\252 +\365\217\372\075\154\161\243\055\312\147\353\150\173\156\063\251 +\014\202\050\250\114\152\041\100\025\040\014\046\133\203\302\251 +\026\025\300\044\202\135\053\026\255\312\143\366\164\000\260\337 +\103\304\020\140\126\147\143\105\002\003\001\000\001\243\201\377 +\060\201\374\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\215 +\262\111\150\235\162\010\045\271\300\047\365\120\223\126\110\106 +\161\371\217\060\016\006\003\125\035\017\001\001\377\004\004\003 +\002\001\006\060\066\006\003\125\035\021\004\057\060\055\201\023 +\143\141\157\160\145\162\141\164\157\162\100\144\151\163\151\147 +\056\163\153\206\026\150\164\164\160\072\057\057\167\167\167\056 +\144\151\163\151\147\056\163\153\057\143\141\060\146\006\003\125 +\035\037\004\137\060\135\060\055\240\053\240\051\206\047\150\164 +\164\160\072\057\057\167\167\167\056\144\151\163\151\147\056\163 +\153\057\143\141\057\143\162\154\057\143\141\137\144\151\163\151 +\147\056\143\162\154\060\054\240\052\240\050\206\046\150\164\164 +\160\072\057\057\143\141\056\144\151\163\151\147\056\163\153\057 +\143\141\057\143\162\154\057\143\141\137\144\151\163\151\147\056 +\143\162\154\060\032\006\003\125\035\040\004\023\060\021\060\017 +\006\015\053\201\036\221\223\346\012\000\000\000\001\001\001\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003\202 +\001\001\000\135\064\164\141\114\257\073\330\377\237\155\130\066 +\034\075\013\201\015\022\053\106\020\200\375\347\074\047\320\172 +\310\251\266\176\164\060\063\243\072\212\173\164\300\171\171\102 +\223\155\377\261\051\024\202\253\041\214\057\027\371\077\046\057 +\365\131\306\357\200\006\267\232\111\051\354\316\176\161\074\152 +\020\101\300\366\323\232\262\174\132\221\234\300\254\133\310\115 +\136\367\341\123\377\103\167\374\236\113\147\154\327\363\203\321 +\240\340\177\045\337\270\230\013\232\062\070\154\060\240\363\377 +\010\025\063\367\120\112\173\076\243\076\040\251\334\057\126\200 +\012\355\101\120\260\311\364\354\262\343\046\104\000\016\157\236 +\006\274\042\226\123\160\145\304\120\012\106\153\244\057\047\201 +\022\047\023\137\020\241\166\316\212\173\067\352\303\071\141\003 +\225\230\072\347\154\210\045\010\374\171\150\015\207\175\142\370 +\264\137\373\305\330\114\275\130\274\077\103\133\324\036\001\115 +\074\143\276\043\357\214\315\132\120\270\150\124\371\012\231\063 +\021\000\341\236\302\106\167\202\365\131\006\214\041\114\207\011 +\315\345\250 +END + +# Trust for Certificate "CA Disig" +CKA_CLASS CK_OBJECT_CLASS 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" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\052\310\325\213\127\316\277\057\111\257\362\374\166\217\121\024 +\142\220\172\101 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\077\105\226\071\342\120\207\367\273\376\230\014\074\040\230\346 +END +CKA_ISSUER MULTILINE_OCTAL +\060\112\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\021\060\017\006\003\125 +\004\003\023\010\103\101\040\104\151\163\151\147 +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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Juur-SK" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Juur-SK" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\135\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\061\013\060\011 +\006\003\125\004\006\023\002\105\105\061\042\060\040\006\003\125 +\004\012\023\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\020\060 +\016\006\003\125\004\003\023\007\112\165\165\162\055\123\113 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\135\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\061\013\060\011 +\006\003\125\004\006\023\002\105\105\061\042\060\040\006\003\125 +\004\012\023\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\020\060 +\016\006\003\125\004\003\023\007\112\165\165\162\055\123\113 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\073\216\113\374 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\346\060\202\003\316\240\003\002\001\002\002\004\073 +\216\113\374\060\015\006\011\052\206\110\206\367\015\001\001\005 +\005\000\060\135\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\061\013 +\060\011\006\003\125\004\006\023\002\105\105\061\042\060\040\006 +\003\125\004\012\023\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 +\020\060\016\006\003\125\004\003\023\007\112\165\165\162\055\123 +\113\060\036\027\015\060\061\060\070\063\060\061\064\062\063\060 +\061\132\027\015\061\066\060\070\062\066\061\064\062\063\060\061 +\132\060\135\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\061\013\060 +\011\006\003\125\004\006\023\002\105\105\061\042\060\040\006\003 +\125\004\012\023\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\020 +\060\016\006\003\125\004\003\023\007\112\165\165\162\055\123\113 +\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\201\161\066\076\063\007\326\343\060\215\023\176\167\062\106 +\313\317\031\262\140\061\106\227\206\364\230\106\244\302\145\105 +\317\323\100\174\343\132\042\250\020\170\063\314\210\261\323\201 +\112\366\142\027\173\137\115\012\056\320\317\213\043\356\117\002 +\116\273\353\016\312\275\030\143\350\200\034\215\341\034\215\075 +\340\377\133\137\352\144\345\227\350\077\231\177\014\012\011\063 +\000\032\123\247\041\341\070\113\326\203\033\255\257\144\302\371 +\034\172\214\146\110\115\146\037\030\012\342\076\273\037\007\145 +\223\205\271\032\260\271\304\373\015\021\366\365\326\371\033\307 +\054\053\267\030\121\376\340\173\366\250\110\257\154\073\117\057 +\357\370\321\107\036\046\127\360\121\035\063\226\377\357\131\075 +\332\115\321\025\064\307\352\077\026\110\173\221\034\200\103\017 +\075\270\005\076\321\263\225\315\330\312\017\302\103\147\333\267 +\223\340\042\202\056\276\365\150\050\203\271\301\073\151\173\040 +\332\116\234\155\341\272\315\217\172\154\260\011\042\327\213\013 +\333\034\325\132\046\133\015\300\352\345\140\320\237\376\065\337 +\077\002\003\001\000\001\243\202\001\254\060\202\001\250\060\017 +\006\003\125\035\023\001\001\377\004\005\060\003\001\001\377\060 +\202\001\026\006\003\125\035\040\004\202\001\015\060\202\001\011 +\060\202\001\005\006\012\053\006\001\004\001\316\037\001\001\001 +\060\201\366\060\201\320\006\010\053\006\001\005\005\007\002\002 +\060\201\303\036\201\300\000\123\000\145\000\145\000\040\000\163 +\000\145\000\162\000\164\000\151\000\146\000\151\000\153\000\141 +\000\141\000\164\000\040\000\157\000\156\000\040\000\166\000\344 +\000\154\000\152\000\141\000\163\000\164\000\141\000\164\000\165 +\000\144\000\040\000\101\000\123\000\055\000\151\000\163\000\040 +\000\123\000\145\000\162\000\164\000\151\000\146\000\151\000\164 +\000\163\000\145\000\145\000\162\000\151\000\155\000\151\000\163 +\000\153\000\145\000\163\000\153\000\165\000\163\000\040\000\141 +\000\154\000\141\000\155\000\055\000\123\000\113\000\040\000\163 +\000\145\000\162\000\164\000\151\000\146\000\151\000\153\000\141 +\000\141\000\164\000\151\000\144\000\145\000\040\000\153\000\151 +\000\156\000\156\000\151\000\164\000\141\000\155\000\151\000\163 +\000\145\000\153\000\163\060\041\006\010\053\006\001\005\005\007 +\002\001\026\025\150\164\164\160\072\057\057\167\167\167\056\163 +\153\056\145\145\057\143\160\163\057\060\053\006\003\125\035\037 +\004\044\060\042\060\040\240\036\240\034\206\032\150\164\164\160 +\072\057\057\167\167\167\056\163\153\056\145\145\057\152\165\165 +\162\057\143\162\154\057\060\035\006\003\125\035\016\004\026\004 +\024\004\252\172\107\243\344\211\257\032\317\012\100\247\030\077 +\157\357\351\175\276\060\037\006\003\125\035\043\004\030\060\026 +\200\024\004\252\172\107\243\344\211\257\032\317\012\100\247\030 +\077\157\357\351\175\276\060\016\006\003\125\035\017\001\001\377 +\004\004\003\002\001\346\060\015\006\011\052\206\110\206\367\015 +\001\001\005\005\000\003\202\001\001\000\173\301\030\224\123\242 +\011\363\376\046\147\232\120\344\303\005\057\053\065\170\221\114 +\174\250\021\021\171\114\111\131\254\310\367\205\145\134\106\273 +\073\020\240\002\257\315\117\265\314\066\052\354\135\376\357\240 +\221\311\266\223\157\174\200\124\354\307\010\160\015\216\373\202 +\354\052\140\170\151\066\066\321\305\234\213\151\265\100\310\224 +\145\167\362\127\041\146\073\316\205\100\266\063\143\032\277\171 +\036\374\134\035\323\035\223\033\213\014\135\205\275\231\060\062 +\030\011\221\122\351\174\241\272\377\144\222\232\354\376\065\356 +\214\057\256\374\040\206\354\112\336\033\170\062\067\246\201\322 +\235\257\132\022\026\312\231\133\374\157\155\016\305\240\036\206 +\311\221\320\134\230\202\137\143\014\212\132\253\330\225\246\314 +\313\212\326\277\144\113\216\312\212\262\260\351\041\062\236\252 +\250\205\230\064\201\071\041\073\250\072\122\062\075\366\153\067 +\206\006\132\025\230\334\360\021\146\376\064\040\267\003\364\101 +\020\175\071\204\171\226\162\143\266\226\002\345\153\271\255\031 +\115\273\306\104\333\066\313\052\234\216 +END + +# Trust for Certificate "Juur-SK" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Juur-SK" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\100\235\113\331\027\265\134\047\266\233\144\313\230\042\104\015 +\315\011\270\211 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\252\216\135\331\370\333\012\130\267\215\046\207\154\202\065\125 +END +CKA_ISSUER MULTILINE_OCTAL +\060\135\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\061\013\060\011 +\006\003\125\004\006\023\002\105\105\061\042\060\040\006\003\125 +\004\012\023\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\020\060 +\016\006\003\125\004\003\023\007\112\165\165\162\055\123\113 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\073\216\113\374 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Hongkong Post Root CA 1" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "Hongkong Post Root CA 1" +CKA_CLASS CK_OBJECT_CLASS 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_TRUST_UNKNOWN +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "SecureSign RootCA11" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "SecureSign RootCA11" +CKA_CLASS CK_OBJECT_CLASS 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_TRUST_UNKNOWN +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "ACEDICOM Root" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "ACEDICOM Root" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\104\061\026\060\024\006\003\125\004\003\014\015\101\103\105 +\104\111\103\117\115\040\122\157\157\164\061\014\060\012\006\003 +\125\004\013\014\003\120\113\111\061\017\060\015\006\003\125\004 +\012\014\006\105\104\111\103\117\115\061\013\060\011\006\003\125 +\004\006\023\002\105\123 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\104\061\026\060\024\006\003\125\004\003\014\015\101\103\105 +\104\111\103\117\115\040\122\157\157\164\061\014\060\012\006\003 +\125\004\013\014\003\120\113\111\061\017\060\015\006\003\125\004 +\012\014\006\105\104\111\103\117\115\061\013\060\011\006\003\125 +\004\006\023\002\105\123 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\141\215\307\206\073\001\202\005 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\265\060\202\003\235\240\003\002\001\002\002\010\141 +\215\307\206\073\001\202\005\060\015\006\011\052\206\110\206\367 +\015\001\001\005\005\000\060\104\061\026\060\024\006\003\125\004 +\003\014\015\101\103\105\104\111\103\117\115\040\122\157\157\164 +\061\014\060\012\006\003\125\004\013\014\003\120\113\111\061\017 +\060\015\006\003\125\004\012\014\006\105\104\111\103\117\115\061 +\013\060\011\006\003\125\004\006\023\002\105\123\060\036\027\015 +\060\070\060\064\061\070\061\066\062\064\062\062\132\027\015\062 +\070\060\064\061\063\061\066\062\064\062\062\132\060\104\061\026 +\060\024\006\003\125\004\003\014\015\101\103\105\104\111\103\117 +\115\040\122\157\157\164\061\014\060\012\006\003\125\004\013\014 +\003\120\113\111\061\017\060\015\006\003\125\004\012\014\006\105 +\104\111\103\117\115\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\377\222\225\341\150\006\166\264\054\310\130\110\312 +\375\200\124\051\125\143\044\377\220\145\233\020\165\173\303\152 +\333\142\002\001\362\030\206\265\174\132\070\261\344\130\271\373 +\323\330\055\237\275\062\067\277\054\025\155\276\265\364\041\322 +\023\221\331\007\255\001\005\326\363\275\167\316\137\102\201\012 +\371\152\343\203\000\250\053\056\125\023\143\201\312\107\034\173 +\134\026\127\172\033\203\140\004\072\076\145\303\315\001\336\336 +\244\326\014\272\216\336\331\004\356\027\126\042\233\217\143\375 +\115\026\013\267\173\167\214\371\045\265\321\155\231\022\056\117 +\032\270\346\352\004\222\256\075\021\271\121\102\075\207\260\061 +\205\257\171\132\234\376\347\116\136\222\117\103\374\253\072\255 +\245\022\046\146\271\342\014\327\230\316\324\130\245\225\100\012 +\267\104\235\023\164\053\302\245\353\042\025\230\020\330\213\305 +\004\237\035\217\140\345\006\033\233\317\271\171\240\075\242\043 +\077\102\077\153\372\034\003\173\060\215\316\154\300\277\346\033 +\137\277\147\270\204\031\325\025\357\173\313\220\066\061\142\311 +\274\002\253\106\137\233\376\032\150\224\064\075\220\216\255\366 +\344\035\011\177\112\210\070\077\276\147\375\064\226\365\035\274 +\060\164\313\070\356\325\154\253\324\374\364\000\267\000\133\205 +\062\026\166\063\351\330\243\231\235\005\000\252\026\346\363\201 +\175\157\175\252\206\155\255\025\164\323\304\242\161\252\364\024 +\175\347\062\270\037\274\325\361\116\275\157\027\002\071\327\016 +\225\102\072\307\000\076\351\046\143\021\352\013\321\112\377\030 +\235\262\327\173\057\072\331\226\373\350\036\222\256\023\125\310 +\331\047\366\334\110\033\260\044\301\205\343\167\235\232\244\363 +\014\021\035\015\310\264\024\356\265\202\127\011\277\040\130\177 +\057\042\043\330\160\313\171\154\311\113\362\251\052\310\374\207 +\053\327\032\120\370\047\350\057\103\343\072\275\330\127\161\375 +\316\246\122\133\371\335\115\355\345\366\157\211\355\273\223\234 +\166\041\165\360\222\114\051\367\057\234\001\056\376\120\106\236 +\144\014\024\263\007\133\305\302\163\154\361\007\134\105\044\024 +\065\256\203\361\152\115\211\172\372\263\330\055\146\360\066\207 +\365\053\123\002\003\001\000\001\243\201\252\060\201\247\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\246\263\341\053 +\053\111\266\327\163\241\252\224\365\001\347\163\145\114\254\120 +\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\246\263\341\053\053 +\111\266\327\163\241\252\224\365\001\347\163\145\114\254\120\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\072\057\057\141\143\145\144\151\143\157 +\155\056\145\144\151\143\157\155\147\162\157\165\160\056\143\157 +\155\057\144\157\143\060\015\006\011\052\206\110\206\367\015\001 +\001\005\005\000\003\202\002\001\000\316\054\013\122\121\142\046 +\175\014\047\203\217\305\366\332\240\150\173\117\222\136\352\244 +\163\062\021\123\104\262\104\313\235\354\017\171\102\263\020\246 +\307\015\235\313\266\372\077\072\174\352\277\210\123\033\074\367 +\202\372\005\065\063\341\065\250\127\300\347\375\215\117\077\223 +\062\117\170\146\003\167\007\130\351\225\310\176\076\320\171\000 +\214\362\033\121\063\233\274\224\351\072\173\156\122\055\062\236 +\043\244\105\373\266\056\023\260\213\030\261\335\316\325\035\247 +\102\177\125\276\373\133\273\107\324\374\044\315\004\256\226\005 +\025\326\254\316\060\363\312\013\305\272\342\042\340\246\255\042 +\344\002\356\164\021\177\114\377\170\035\065\332\346\002\064\353 +\030\022\141\167\006\011\026\143\352\030\255\242\207\037\362\307 +\200\011\011\165\116\020\250\217\075\206\270\165\021\300\044\142 +\212\226\173\112\105\351\354\131\305\276\153\203\346\341\350\254 +\265\060\036\376\005\007\200\371\341\043\015\120\217\005\230\377 +\054\137\350\073\266\255\317\201\265\041\207\312\010\052\043\047 +\060\040\053\317\355\224\133\254\262\172\322\307\050\241\212\013 +\233\115\112\054\155\205\077\011\162\074\147\342\331\334\007\272 +\353\145\173\132\001\143\326\220\133\117\027\146\075\177\013\031 +\243\223\143\020\122\052\237\024\026\130\342\334\245\364\241\026 +\213\016\221\213\201\312\233\131\372\330\153\221\007\145\125\137 +\122\037\257\072\373\220\335\151\245\133\234\155\016\054\266\372 +\316\254\245\174\062\112\147\100\334\060\064\043\335\327\004\043 +\146\360\374\125\200\247\373\146\031\202\065\147\142\160\071\136 +\157\307\352\220\100\104\010\036\270\262\326\333\356\131\247\015 +\030\171\064\274\124\030\136\123\312\064\121\355\105\012\346\216 +\307\202\066\076\247\070\143\251\060\054\027\020\140\222\237\125 +\207\022\131\020\302\017\147\151\021\314\116\036\176\112\232\255 +\257\100\250\165\254\126\220\164\270\240\234\245\171\157\334\351 +\032\310\151\005\351\272\372\003\263\174\344\340\116\302\316\235 +\350\266\106\015\156\176\127\072\147\224\302\313\037\234\167\112 +\147\116\151\206\103\223\070\373\266\333\117\203\221\324\140\176 +\113\076\053\070\007\125\230\136\244 +END + +# Trust for Certificate "ACEDICOM Root" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "ACEDICOM Root" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\340\264\062\056\262\366\245\150\266\124\123\204\110\030\112\120 +\066\207\103\204 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\102\201\240\342\034\343\125\020\336\125\211\102\145\226\042\346 +END +CKA_ISSUER MULTILINE_OCTAL +\060\104\061\026\060\024\006\003\125\004\003\014\015\101\103\105 +\104\111\103\117\115\040\122\157\157\164\061\014\060\012\006\003 +\125\004\013\014\003\120\113\111\061\017\060\015\006\003\125\004 +\012\014\006\105\104\111\103\117\115\061\013\060\011\006\003\125 +\004\006\023\002\105\123 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\010\141\215\307\206\073\001\202\005 +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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + + +# +# Certificate "Verisign Class 1 Public Primary Certification Authority" +# +CKA_CLASS CK_OBJECT_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" +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\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\067\060\065\006\003\125\004 +\013\023\056\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 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\137\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\067\060\065\006\003\125\004 +\013\023\056\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 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\077\151\036\201\234\360\232\112\363\163\377\271\110\242 +\344\335 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\002\074\060\202\001\245\002\020\077\151\036\201\234\360 +\232\112\363\163\377\271\110\242\344\335\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\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\067\060\065\006\003\125\004\013\023\056\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\060\036\027\015\071\066 +\060\061\062\071\060\060\060\060\060\060\132\027\015\062\070\060 +\070\060\062\062\063\065\071\065\071\132\060\137\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\067\060\065\006\003\125\004\013\023\056\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\060\201\237\060\015 +\006\011\052\206\110\206\367\015\001\001\001\005\000\003\201\215 +\000\060\201\211\002\201\201\000\345\031\277\155\243\126\141\055 +\231\110\161\366\147\336\271\215\353\267\236\206\200\012\221\016 +\372\070\045\257\106\210\202\345\163\250\240\233\044\135\015\037 +\314\145\156\014\260\320\126\204\030\207\232\006\233\020\241\163 +\337\264\130\071\153\156\301\366\025\325\250\250\077\252\022\006 +\215\061\254\177\260\064\327\217\064\147\210\011\315\024\021\342 +\116\105\126\151\037\170\002\200\332\334\107\221\051\273\066\311 +\143\134\305\340\327\055\207\173\241\267\062\260\173\060\272\052 +\057\061\252\356\243\147\332\333\002\003\001\000\001\060\015\006 +\011\052\206\110\206\367\015\001\001\005\005\000\003\201\201\000 +\130\025\051\071\074\167\243\332\134\045\003\174\140\372\356\011 +\231\074\047\020\160\310\014\011\346\263\207\317\012\342\030\226 +\065\142\314\277\233\047\171\211\137\311\304\011\364\316\265\035 +\337\052\275\345\333\206\234\150\045\345\060\174\266\211\025\376 +\147\321\255\341\120\254\074\174\142\113\217\272\204\327\022\025 +\033\037\312\135\017\301\122\224\052\021\231\332\173\317\014\066 +\023\325\065\334\020\031\131\352\224\301\000\277\165\217\331\372 +\375\166\004\333\142\273\220\152\003\331\106\065\331\370\174\133 +END + +# Trust for Certificate "Verisign Class 1 Public Primary Certification Authority" +CKA_CLASS CK_OBJECT_CLASS 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" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\316\152\144\243\011\344\057\273\331\205\034\105\076\144\011\352 +\350\175\140\361 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\206\254\336\053\305\155\303\331\214\050\210\323\215\026\023\036 +END +CKA_ISSUER MULTILINE_OCTAL +\060\137\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\067\060\065\006\003\125\004 +\013\023\056\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 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\077\151\036\201\234\360\232\112\363\163\377\271\110\242 +\344\335 +END +CKA_TRUST_SERVER_AUTH CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_EMAIL_PROTECTION CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Verisign Class 3 Public Primary Certification Authority" +# +CKA_CLASS CK_OBJECT_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" +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\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\067\060\065\006\003\125\004 +\013\023\056\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 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\137\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\067\060\065\006\003\125\004 +\013\023\056\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 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\074\221\061\313\037\366\320\033\016\232\270\320\104\277 +\022\276 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\002\074\060\202\001\245\002\020\074\221\061\313\037\366 +\320\033\016\232\270\320\104\277\022\276\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\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\067\060\065\006\003\125\004\013\023\056\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\060\036\027\015\071\066 +\060\061\062\071\060\060\060\060\060\060\132\027\015\062\070\060 +\070\060\062\062\063\065\071\065\071\132\060\137\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\067\060\065\006\003\125\004\013\023\056\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\060\201\237\060\015 +\006\011\052\206\110\206\367\015\001\001\001\005\000\003\201\215 +\000\060\201\211\002\201\201\000\311\134\131\236\362\033\212\001 +\024\264\020\337\004\100\333\343\127\257\152\105\100\217\204\014 +\013\321\063\331\331\021\317\356\002\130\037\045\367\052\250\104 +\005\252\354\003\037\170\177\236\223\271\232\000\252\043\175\326 +\254\205\242\143\105\307\162\047\314\364\114\306\165\161\322\071 +\357\117\102\360\165\337\012\220\306\216\040\157\230\017\370\254 +\043\137\160\051\066\244\311\206\347\261\232\040\313\123\245\205 +\347\075\276\175\232\376\044\105\063\334\166\025\355\017\242\161 +\144\114\145\056\201\150\105\247\002\003\001\000\001\060\015\006 +\011\052\206\110\206\367\015\001\001\005\005\000\003\201\201\000 +\020\162\122\251\005\024\031\062\010\101\360\305\153\012\314\176 +\017\041\031\315\344\147\334\137\251\033\346\312\350\163\235\042 +\330\230\156\163\003\141\221\305\174\260\105\100\156\104\235\215 +\260\261\226\164\141\055\015\251\105\322\244\222\052\326\232\165 +\227\156\077\123\375\105\231\140\035\250\053\114\371\136\247\011 +\330\165\060\327\322\145\140\075\147\326\110\125\165\151\077\221 +\365\110\013\107\151\042\151\202\226\276\311\310\070\206\112\172 +\054\163\031\110\151\116\153\174\145\277\017\374\160\316\210\220 +END + +# Trust for Certificate "Verisign Class 3 Public Primary Certification Authority" +CKA_CLASS CK_OBJECT_CLASS 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" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\241\333\143\223\221\157\027\344\030\125\011\100\004\025\307\002 +\100\260\256\153 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\357\132\361\063\357\361\315\273\121\002\356\022\024\113\226\304 +END +CKA_ISSUER MULTILINE_OCTAL +\060\137\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\067\060\065\006\003\125\004 +\013\023\056\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 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\074\221\061\313\037\366\320\033\016\232\270\320\104\277 +\022\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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Microsec e-Szigno Root CA 2009" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "Microsec e-Szigno Root CA 2009" +CKA_CLASS CK_OBJECT_CLASS 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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "E-Guven Kok Elektronik Sertifika Hizmet Saglayicisi" +# +CKA_CLASS CK_OBJECT_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-Guven Kok Elektronik Sertifika Hizmet Saglayicisi" +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\124\122\061 +\050\060\046\006\003\125\004\012\023\037\105\154\145\153\164\162 +\157\156\151\153\040\102\151\154\147\151\040\107\165\166\145\156 +\154\151\147\151\040\101\056\123\056\061\074\060\072\006\003\125 +\004\003\023\063\145\055\107\165\166\145\156\040\113\157\153\040 +\105\154\145\153\164\162\157\156\151\153\040\123\145\162\164\151 +\146\151\153\141\040\110\151\172\155\145\164\040\123\141\147\154 +\141\171\151\143\151\163\151 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\165\061\013\060\011\006\003\125\004\006\023\002\124\122\061 +\050\060\046\006\003\125\004\012\023\037\105\154\145\153\164\162 +\157\156\151\153\040\102\151\154\147\151\040\107\165\166\145\156 +\154\151\147\151\040\101\056\123\056\061\074\060\072\006\003\125 +\004\003\023\063\145\055\107\165\166\145\156\040\113\157\153\040 +\105\154\145\153\164\162\157\156\151\153\040\123\145\162\164\151 +\146\151\153\141\040\110\151\172\155\145\164\040\123\141\147\154 +\141\171\151\143\151\163\151 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\104\231\215\074\300\003\047\275\234\166\225\271\352\333 +\254\265 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\266\060\202\002\236\240\003\002\001\002\002\020\104 +\231\215\074\300\003\047\275\234\166\225\271\352\333\254\265\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\124\122\061\050\060 +\046\006\003\125\004\012\023\037\105\154\145\153\164\162\157\156 +\151\153\040\102\151\154\147\151\040\107\165\166\145\156\154\151 +\147\151\040\101\056\123\056\061\074\060\072\006\003\125\004\003 +\023\063\145\055\107\165\166\145\156\040\113\157\153\040\105\154 +\145\153\164\162\157\156\151\153\040\123\145\162\164\151\146\151 +\153\141\040\110\151\172\155\145\164\040\123\141\147\154\141\171 +\151\143\151\163\151\060\036\027\015\060\067\060\061\060\064\061 +\061\063\062\064\070\132\027\015\061\067\060\061\060\064\061\061 +\063\062\064\070\132\060\165\061\013\060\011\006\003\125\004\006 +\023\002\124\122\061\050\060\046\006\003\125\004\012\023\037\105 +\154\145\153\164\162\157\156\151\153\040\102\151\154\147\151\040 +\107\165\166\145\156\154\151\147\151\040\101\056\123\056\061\074 +\060\072\006\003\125\004\003\023\063\145\055\107\165\166\145\156 +\040\113\157\153\040\105\154\145\153\164\162\157\156\151\153\040 +\123\145\162\164\151\146\151\153\141\040\110\151\172\155\145\164 +\040\123\141\147\154\141\171\151\143\151\163\151\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\303\022\040 +\236\260\136\000\145\215\116\106\273\200\134\351\054\006\227\325 +\363\162\311\160\271\347\113\145\200\301\113\276\176\074\327\124 +\061\224\336\325\022\272\123\026\002\352\130\143\357\133\330\363 +\355\052\032\252\161\110\243\334\020\055\137\137\353\134\113\234 +\226\010\102\045\050\021\314\212\132\142\001\120\325\353\011\123 +\057\370\303\217\376\263\374\375\235\242\343\137\175\276\355\013 +\340\140\353\151\354\063\355\330\215\373\022\111\203\000\311\213 +\227\214\073\163\052\062\263\022\367\271\115\362\364\115\155\307 +\346\326\046\067\010\362\331\375\153\134\243\345\110\134\130\274 +\102\276\003\132\201\272\034\065\014\000\323\365\043\176\161\060 +\010\046\070\334\045\021\107\055\363\272\043\020\245\277\274\002 +\367\103\136\307\376\260\067\120\231\173\017\223\316\346\103\054 +\303\176\015\362\034\103\146\140\313\141\061\107\207\243\117\256 +\275\126\154\114\274\274\370\005\312\144\364\351\064\241\054\265 +\163\341\302\076\350\310\311\064\045\010\134\363\355\246\307\224 +\237\255\210\103\045\327\341\071\140\376\254\071\131\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\237\356\104\263\224\325\372\221\117\056\331\125\232\004 +\126\333\055\304\333\245\060\015\006\011\052\206\110\206\367\015 +\001\001\005\005\000\003\202\001\001\000\177\137\271\123\133\143 +\075\165\062\347\372\304\164\032\313\106\337\106\151\034\122\317 +\252\117\302\150\353\377\200\251\121\350\075\142\167\211\075\012 +\165\071\361\156\135\027\207\157\150\005\301\224\154\331\135\337 +\332\262\131\313\245\020\212\312\314\071\315\237\353\116\336\122 +\377\014\360\364\222\251\362\154\123\253\233\322\107\240\037\164 +\367\233\232\361\057\025\237\172\144\060\030\007\074\052\017\147 +\312\374\017\211\141\235\145\245\074\345\274\023\133\010\333\343 +\377\355\273\006\273\152\006\261\172\117\145\306\202\375\036\234 +\213\265\015\356\110\273\270\275\252\010\264\373\243\174\313\237 +\315\220\166\134\206\226\170\127\012\146\371\130\032\235\375\227 +\051\140\336\021\246\220\034\031\034\356\001\226\042\064\064\056 +\221\371\267\304\047\321\173\346\277\373\200\104\132\026\345\353 +\340\324\012\070\274\344\221\343\325\353\134\301\254\337\033\152 +\174\236\345\165\322\266\227\207\333\314\207\053\103\072\204\010 +\257\253\074\333\367\074\146\061\206\260\235\123\171\355\370\043 +\336\102\343\055\202\361\017\345\372\227 +END + +# Trust for Certificate "E-Guven Kok Elektronik Sertifika Hizmet Saglayicisi" +CKA_CLASS CK_OBJECT_CLASS 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-Guven Kok Elektronik Sertifika Hizmet Saglayicisi" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\335\341\322\251\001\200\056\035\207\136\204\263\200\176\113\261 +\375\231\101\064 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\075\101\051\313\036\252\021\164\315\135\260\142\257\260\103\133 +END +CKA_ISSUER MULTILINE_OCTAL +\060\165\061\013\060\011\006\003\125\004\006\023\002\124\122\061 +\050\060\046\006\003\125\004\012\023\037\105\154\145\153\164\162 +\157\156\151\153\040\102\151\154\147\151\040\107\165\166\145\156 +\154\151\147\151\040\101\056\123\056\061\074\060\072\006\003\125 +\004\003\023\063\145\055\107\165\166\145\156\040\113\157\153\040 +\105\154\145\153\164\162\157\156\151\153\040\123\145\162\164\151 +\146\151\153\141\040\110\151\172\155\145\164\040\123\141\147\154 +\141\171\151\143\151\163\151 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\104\231\215\074\300\003\047\275\234\166\225\271\352\333 +\254\265 +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_TRUST_UNKNOWN +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "GlobalSign Root CA - R3" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "GlobalSign Root CA - R3" +CKA_CLASS CK_OBJECT_CLASS 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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "TC TrustCenter Universal CA III" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "TC TrustCenter Universal CA III" +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\104\105\061 +\034\060\032\006\003\125\004\012\023\023\124\103\040\124\162\165 +\163\164\103\145\156\164\145\162\040\107\155\142\110\061\044\060 +\042\006\003\125\004\013\023\033\124\103\040\124\162\165\163\164 +\103\145\156\164\145\162\040\125\156\151\166\145\162\163\141\154 +\040\103\101\061\050\060\046\006\003\125\004\003\023\037\124\103 +\040\124\162\165\163\164\103\145\156\164\145\162\040\125\156\151 +\166\145\162\163\141\154\040\103\101\040\111\111\111 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\173\061\013\060\011\006\003\125\004\006\023\002\104\105\061 +\034\060\032\006\003\125\004\012\023\023\124\103\040\124\162\165 +\163\164\103\145\156\164\145\162\040\107\155\142\110\061\044\060 +\042\006\003\125\004\013\023\033\124\103\040\124\162\165\163\164 +\103\145\156\164\145\162\040\125\156\151\166\145\162\163\141\154 +\040\103\101\061\050\060\046\006\003\125\004\003\023\037\124\103 +\040\124\162\165\163\164\103\145\156\164\145\162\040\125\156\151 +\166\145\162\163\141\154\040\103\101\040\111\111\111 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\016\143\045\000\001\000\002\024\215\063\025\002\344\154\364 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\341\060\202\002\311\240\003\002\001\002\002\016\143 +\045\000\001\000\002\024\215\063\025\002\344\154\364\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\104\105\061\034\060\032\006 +\003\125\004\012\023\023\124\103\040\124\162\165\163\164\103\145 +\156\164\145\162\040\107\155\142\110\061\044\060\042\006\003\125 +\004\013\023\033\124\103\040\124\162\165\163\164\103\145\156\164 +\145\162\040\125\156\151\166\145\162\163\141\154\040\103\101\061 +\050\060\046\006\003\125\004\003\023\037\124\103\040\124\162\165 +\163\164\103\145\156\164\145\162\040\125\156\151\166\145\162\163 +\141\154\040\103\101\040\111\111\111\060\036\027\015\060\071\060 +\071\060\071\060\070\061\065\062\067\132\027\015\062\071\061\062 +\063\061\062\063\065\071\065\071\132\060\173\061\013\060\011\006 +\003\125\004\006\023\002\104\105\061\034\060\032\006\003\125\004 +\012\023\023\124\103\040\124\162\165\163\164\103\145\156\164\145 +\162\040\107\155\142\110\061\044\060\042\006\003\125\004\013\023 +\033\124\103\040\124\162\165\163\164\103\145\156\164\145\162\040 +\125\156\151\166\145\162\163\141\154\040\103\101\061\050\060\046 +\006\003\125\004\003\023\037\124\103\040\124\162\165\163\164\103 +\145\156\164\145\162\040\125\156\151\166\145\162\163\141\154\040 +\103\101\040\111\111\111\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\302\332\234\142\260\271\161\022\260 +\013\310\032\127\262\256\203\024\231\263\064\113\233\220\242\305 +\347\347\057\002\240\115\055\244\372\205\332\233\045\205\055\100 +\050\040\155\352\340\275\261\110\203\042\051\104\237\116\203\356 +\065\121\023\163\164\325\274\362\060\146\224\123\300\100\066\057 +\014\204\145\316\017\156\302\130\223\350\054\013\072\351\301\216 +\373\362\153\312\074\342\234\116\216\344\371\175\323\047\237\033 +\325\147\170\207\055\177\013\107\263\307\350\311\110\174\257\057 +\314\012\331\101\357\237\376\232\341\262\256\371\123\265\345\351 +\106\237\140\343\337\215\323\177\373\226\176\263\265\162\370\113 +\255\010\171\315\151\211\100\047\365\052\301\255\103\354\244\123 +\310\141\266\367\322\171\052\147\030\166\110\155\133\045\001\321 +\046\305\267\127\151\043\025\133\141\212\255\360\033\055\331\257 +\134\361\046\220\151\251\325\014\100\365\063\200\103\217\234\243 +\166\052\105\264\257\277\177\076\207\077\166\305\315\052\336\040 +\305\026\130\313\371\033\365\017\313\015\021\122\144\270\322\166 +\142\167\203\361\130\237\377\002\003\001\000\001\243\143\060\141 +\060\037\006\003\125\035\043\004\030\060\026\200\024\126\347\341 +\133\045\103\200\340\366\214\341\161\274\216\345\200\057\304\110 +\342\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\126\347\341 +\133\045\103\200\340\366\214\341\161\274\216\345\200\057\304\110 +\342\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000 +\003\202\001\001\000\203\307\257\352\177\115\012\074\071\261\150 +\276\173\155\211\056\351\263\011\347\030\127\215\205\232\027\363 +\166\102\120\023\017\307\220\157\063\255\305\111\140\053\154\111 +\130\031\324\342\276\267\277\253\111\274\224\310\253\276\050\154 +\026\150\340\310\227\106\040\240\150\147\140\210\071\040\121\330 +\150\001\021\316\247\366\021\007\366\354\354\254\032\037\262\146 +\156\126\147\140\172\164\136\300\155\227\066\256\265\015\135\146 +\163\300\045\062\105\330\112\006\007\217\304\267\007\261\115\006 +\015\341\245\353\364\165\312\272\234\320\275\263\323\062\044\114 +\356\176\342\166\004\113\111\123\330\362\351\124\063\374\345\161 +\037\075\024\134\226\113\361\072\362\000\273\154\264\372\226\125 +\010\210\011\301\314\221\031\051\260\040\055\377\313\070\244\100 +\341\027\276\171\141\200\377\007\003\206\114\116\173\006\237\021 +\206\215\211\356\047\304\333\342\274\031\216\013\303\303\023\307 +\055\003\143\073\323\350\344\242\052\302\202\010\224\026\124\360 +\357\037\047\220\045\270\015\016\050\033\107\167\107\275\034\250 +\045\361\224\264\146 +END + +# Trust for Certificate "TC TrustCenter Universal CA III" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "TC TrustCenter Universal CA III" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\226\126\315\173\127\226\230\225\320\341\101\106\150\006\373\270 +\306\021\006\207 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\237\335\333\253\377\216\377\105\041\137\360\154\235\217\376\053 +END +CKA_ISSUER MULTILINE_OCTAL +\060\173\061\013\060\011\006\003\125\004\006\023\002\104\105\061 +\034\060\032\006\003\125\004\012\023\023\124\103\040\124\162\165 +\163\164\103\145\156\164\145\162\040\107\155\142\110\061\044\060 +\042\006\003\125\004\013\023\033\124\103\040\124\162\165\163\164 +\103\145\156\164\145\162\040\125\156\151\166\145\162\163\141\154 +\040\103\101\061\050\060\046\006\003\125\004\003\023\037\124\103 +\040\124\162\165\163\164\103\145\156\164\145\162\040\125\156\151 +\166\145\162\163\141\154\040\103\101\040\111\111\111 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\016\143\045\000\001\000\002\024\215\063\025\002\344\154\364 +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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Autoridad de Certificacion Firmaprofesional CIF A62634068" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "Autoridad de Certificacion Firmaprofesional CIF A62634068" +CKA_CLASS CK_OBJECT_CLASS 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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Izenpe.com" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "Izenpe.com" +CKA_CLASS CK_OBJECT_CLASS 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_TRUST_UNKNOWN +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Chambers of Commerce Root - 2008" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "Chambers of Commerce Root - 2008" +CKA_CLASS CK_OBJECT_CLASS 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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Global Chambersign Root - 2008" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "Global Chambersign Root - 2008" +CKA_CLASS CK_OBJECT_CLASS 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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Bogus Mozilla Addons" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Bogus Mozilla Addons" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\342\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\016\060\014\006\003\125\004\021\023\005\063\070\064\067\067 +\061\020\060\016\006\003\125\004\010\023\007\106\154\157\162\151 +\144\141\061\020\060\016\006\003\125\004\007\023\007\105\156\147 +\154\151\163\150\061\027\060\025\006\003\125\004\011\023\016\123 +\145\141\040\126\151\154\154\141\147\145\040\061\060\061\024\060 +\022\006\003\125\004\012\023\013\107\157\157\147\154\145\040\114 +\164\144\056\061\023\060\021\006\003\125\004\013\023\012\124\145 +\143\150\040\104\145\160\164\056\061\050\060\046\006\003\125\004 +\013\023\037\110\157\163\164\145\144\040\142\171\040\107\124\111 +\040\107\162\157\165\160\040\103\157\162\160\157\162\141\164\151 +\157\156\061\024\060\022\006\003\125\004\013\023\013\120\154\141 +\164\151\156\165\155\123\123\114\061\033\060\031\006\003\125\004 +\003\023\022\141\144\144\157\156\163\056\155\157\172\151\154\154 +\141\056\157\162\147 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060 +\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153 +\145\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\041\060\037\006\003\125\004\013\023 +\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162 +\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125 +\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163 +\164\055\110\141\162\144\167\141\162\145 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\021\000\222\071\325\064\217\100\321\151\132\164\124\160\341 +\362\077\103 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\370\060\202\004\340\240\003\002\001\002\002\021\000 +\222\071\325\064\217\100\321\151\132\164\124\160\341\362\077\103 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060\025 +\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153\145 +\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\041\060\037\006\003\125\004\013\023\030 +\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162\164 +\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125\004 +\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163\164 +\055\110\141\162\144\167\141\162\145\060\036\027\015\061\061\060 +\063\061\065\060\060\060\060\060\060\132\027\015\061\064\060\063 +\061\064\062\063\065\071\065\071\132\060\201\342\061\013\060\011 +\006\003\125\004\006\023\002\125\123\061\016\060\014\006\003\125 +\004\021\023\005\063\070\064\067\067\061\020\060\016\006\003\125 +\004\010\023\007\106\154\157\162\151\144\141\061\020\060\016\006 +\003\125\004\007\023\007\105\156\147\154\151\163\150\061\027\060 +\025\006\003\125\004\011\023\016\123\145\141\040\126\151\154\154 +\141\147\145\040\061\060\061\024\060\022\006\003\125\004\012\023 +\013\107\157\157\147\154\145\040\114\164\144\056\061\023\060\021 +\006\003\125\004\013\023\012\124\145\143\150\040\104\145\160\164 +\056\061\050\060\046\006\003\125\004\013\023\037\110\157\163\164 +\145\144\040\142\171\040\107\124\111\040\107\162\157\165\160\040 +\103\157\162\160\157\162\141\164\151\157\156\061\024\060\022\006 +\003\125\004\013\023\013\120\154\141\164\151\156\165\155\123\123 +\114\061\033\060\031\006\003\125\004\003\023\022\141\144\144\157 +\156\163\056\155\157\172\151\154\154\141\056\157\162\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\253 +\306\155\066\363\025\163\170\203\163\316\164\205\325\256\354\262 +\360\340\044\037\023\203\270\040\254\273\232\376\210\273\253\241 +\035\013\037\105\000\252\111\267\065\067\014\152\357\107\114\271 +\321\276\343\127\022\004\215\222\307\266\354\001\274\266\332\307 +\201\070\040\255\162\205\346\016\374\201\154\007\255\150\166\070 +\305\104\327\314\306\112\305\227\076\144\364\121\346\360\176\262 +\354\126\367\045\202\115\111\230\313\026\230\335\043\361\211\221 +\321\027\227\100\231\046\326\342\242\053\136\337\275\211\362\033 +\032\123\055\314\120\101\172\320\075\052\014\125\160\024\001\351 +\130\111\020\172\013\223\202\213\341\036\355\072\200\020\202\316 +\226\212\064\360\314\327\323\271\264\120\207\125\124\011\270\235 +\102\050\125\000\345\214\065\124\277\335\045\221\106\267\015\345 +\135\203\250\345\213\373\204\344\074\256\166\332\304\103\053\133 +\164\013\370\276\135\150\361\170\133\265\316\175\361\135\231\100 +\332\312\356\070\201\120\276\230\241\154\270\044\255\363\257\214 +\017\327\021\050\054\204\030\114\175\265\331\217\060\265\033\002 +\003\001\000\001\243\202\001\360\060\202\001\354\060\037\006\003 +\125\035\043\004\030\060\026\200\024\241\162\137\046\033\050\230 +\103\225\135\007\067\325\205\226\235\113\322\303\105\060\035\006 +\003\125\035\016\004\026\004\024\335\200\322\124\075\367\114\160 +\312\243\260\335\064\172\062\344\350\073\132\073\060\016\006\003 +\125\035\017\001\001\377\004\004\003\002\005\240\060\014\006\003 +\125\035\023\001\001\377\004\002\060\000\060\035\006\003\125\035 +\045\004\026\060\024\006\010\053\006\001\005\005\007\003\001\006 +\010\053\006\001\005\005\007\003\002\060\106\006\003\125\035\040 +\004\077\060\075\060\073\006\014\053\006\001\004\001\262\061\001 +\002\001\003\004\060\053\060\051\006\010\053\006\001\005\005\007 +\002\001\026\035\150\164\164\160\163\072\057\057\163\145\143\165 +\162\145\056\143\157\155\157\144\157\056\143\157\155\057\103\120 +\123\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\125\124\116\055 +\125\123\105\122\106\151\162\163\164\055\110\141\162\144\167\141 +\162\145\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\125\124\116\055\125\123\105\122\106\151\162\163 +\164\055\110\141\162\144\167\141\162\145\056\143\162\154\060\161 +\006\010\053\006\001\005\005\007\001\001\004\145\060\143\060\073 +\006\010\053\006\001\005\005\007\060\002\206\057\150\164\164\160 +\072\057\057\143\162\164\056\143\157\155\157\144\157\143\141\056 +\143\157\155\057\125\124\116\101\144\144\124\162\165\163\164\123 +\145\162\166\145\162\103\101\056\143\162\164\060\044\006\010\053 +\006\001\005\005\007\060\001\206\030\150\164\164\160\072\057\057 +\157\143\163\160\056\143\157\155\157\144\157\143\141\056\143\157 +\155\060\065\006\003\125\035\021\004\056\060\054\202\022\141\144 +\144\157\156\163\056\155\157\172\151\154\154\141\056\157\162\147 +\202\026\167\167\167\056\141\144\144\157\156\163\056\155\157\172 +\151\154\154\141\056\157\162\147\060\015\006\011\052\206\110\206 +\367\015\001\001\005\005\000\003\202\001\001\000\063\073\143\025 +\374\261\354\024\054\223\335\165\224\336\201\132\331\116\231\276 +\373\112\244\071\125\115\241\100\172\336\023\052\207\251\067\317 +\350\325\373\255\321\173\155\157\214\040\207\202\124\346\127\111 +\274\040\050\204\315\326\001\331\223\213\027\156\043\146\345\204 +\310\200\077\306\241\160\200\344\354\115\035\371\374\221\132\163 +\142\051\232\367\040\034\141\340\213\071\237\312\274\176\215\335 +\274\331\261\343\237\236\337\025\123\221\041\122\013\331\032\043 +\017\146\066\333\254\223\226\112\243\245\042\317\051\367\242\231 +\250\366\266\331\100\256\331\176\266\366\130\056\233\254\066\312 +\144\217\145\122\334\206\234\202\253\156\120\113\332\137\372\005 +\000\210\060\016\336\215\126\277\201\107\215\075\006\342\262\142 +\222\147\217\236\310\232\262\345\006\270\160\044\270\167\174\043 +\012\070\303\171\010\330\261\121\235\254\225\021\307\100\027\236 +\243\034\217\362\021\247\150\047\332\111\005\204\030\174\130\055 +\001\147\134\345\237\241\051\273\112\071\105\057\277\021\252\171 +\242\355\264\324\265\145\103\267\223\106\212\323 +END + +# Trust for Certificate "Bogus Mozilla Addons" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Bogus Mozilla Addons" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\060\137\213\321\172\242\313\304\203\244\304\033\031\243\232\014 +\165\332\071\326 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\204\305\030\147\037\052\032\220\276\342\261\030\117\003\000\062 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060 +\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153 +\145\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\041\060\037\006\003\125\004\013\023 +\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162 +\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125 +\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163 +\164\055\110\141\162\144\167\141\162\145 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\021\000\222\071\325\064\217\100\321\151\132\164\124\160\341 +\362\077\103 +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 "Bogus Global Trustee" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Bogus Global Trustee" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\343\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\016\060\014\006\003\125\004\021\023\005\063\070\064\067\067 +\061\020\060\016\006\003\125\004\010\023\007\106\154\157\162\151 +\144\141\061\016\060\014\006\003\125\004\007\023\005\124\141\155 +\160\141\061\027\060\025\006\003\125\004\011\023\016\123\145\141 +\040\126\151\154\154\141\147\145\040\061\060\061\027\060\025\006 +\003\125\004\012\023\016\107\154\157\142\141\154\040\124\162\165 +\163\164\145\145\061\027\060\025\006\003\125\004\013\023\016\107 +\154\157\142\141\154\040\124\162\165\163\164\145\145\061\050\060 +\046\006\003\125\004\013\023\037\110\157\163\164\145\144\040\142 +\171\040\107\124\111\040\107\162\157\165\160\040\103\157\162\160 +\157\162\141\164\151\157\156\061\024\060\022\006\003\125\004\013 +\023\013\120\154\141\164\151\156\165\155\123\123\114\061\027\060 +\025\006\003\125\004\003\023\016\147\154\157\142\141\154\040\164 +\162\165\163\164\145\145 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060 +\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153 +\145\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\041\060\037\006\003\125\004\013\023 +\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162 +\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125 +\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163 +\164\055\110\141\162\144\167\141\162\145 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\021\000\330\363\137\116\267\207\053\055\253\006\222\343\025 +\070\057\260 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\006\335\060\202\005\305\240\003\002\001\002\002\021\000 +\330\363\137\116\267\207\053\055\253\006\222\343\025\070\057\260 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060\025 +\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153\145 +\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\041\060\037\006\003\125\004\013\023\030 +\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162\164 +\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125\004 +\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163\164 +\055\110\141\162\144\167\141\162\145\060\036\027\015\061\061\060 +\063\061\065\060\060\060\060\060\060\132\027\015\061\064\060\063 +\061\064\062\063\065\071\065\071\132\060\201\343\061\013\060\011 +\006\003\125\004\006\023\002\125\123\061\016\060\014\006\003\125 +\004\021\023\005\063\070\064\067\067\061\020\060\016\006\003\125 +\004\010\023\007\106\154\157\162\151\144\141\061\016\060\014\006 +\003\125\004\007\023\005\124\141\155\160\141\061\027\060\025\006 +\003\125\004\011\023\016\123\145\141\040\126\151\154\154\141\147 +\145\040\061\060\061\027\060\025\006\003\125\004\012\023\016\107 +\154\157\142\141\154\040\124\162\165\163\164\145\145\061\027\060 +\025\006\003\125\004\013\023\016\107\154\157\142\141\154\040\124 +\162\165\163\164\145\145\061\050\060\046\006\003\125\004\013\023 +\037\110\157\163\164\145\144\040\142\171\040\107\124\111\040\107 +\162\157\165\160\040\103\157\162\160\157\162\141\164\151\157\156 +\061\024\060\022\006\003\125\004\013\023\013\120\154\141\164\151 +\156\165\155\123\123\114\061\027\060\025\006\003\125\004\003\023 +\016\147\154\157\142\141\154\040\164\162\165\163\164\145\145\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\164\362\252\101\035\337\365\302\026\103\111\134\051\277\266 +\211\164\051\274\234\215\014\106\117\131\176\262\101\027\146\064 +\014\145\211\341\154\045\343\206\012\236\042\105\042\214\335\235 +\346\243\225\336\334\210\002\125\134\343\133\221\165\353\046\151 +\143\271\056\306\312\056\047\337\210\272\002\040\156\376\271\013 +\051\327\247\326\327\110\032\034\316\335\037\251\047\016\142\117 +\241\226\036\335\124\072\064\143\112\166\365\167\175\131\147\330 +\020\324\265\017\072\103\042\230\333\364\011\304\012\160\316\335 +\220\324\057\357\164\023\303\315\302\211\071\142\025\235\346\164 +\250\350\233\360\143\156\234\211\266\016\255\233\367\314\202\350 +\350\055\270\013\332\042\354\111\205\007\210\231\230\077\364\164 +\251\011\367\201\174\227\013\131\231\030\162\213\333\224\202\053 +\247\350\252\153\227\277\210\176\165\260\213\105\105\014\307\250 +\011\352\033\101\130\060\073\137\170\145\025\064\322\344\074\064 +\015\035\330\144\074\212\245\126\111\231\050\055\113\362\317\315 +\331\156\111\144\233\251\171\220\167\125\251\010\033\255\032\164 +\236\340\003\223\012\011\267\255\247\264\134\357\203\154\267\232 +\264\306\150\100\200\035\102\321\156\171\233\251\031\041\232\234 +\371\206\055\000\321\064\376\340\266\371\125\266\365\046\305\225 +\026\245\174\163\237\012\051\211\254\072\230\367\233\164\147\267 +\220\267\135\011\043\152\152\355\054\020\356\123\012\020\360\026 +\037\127\263\261\015\171\221\031\260\353\315\060\077\240\024\137 +\263\306\375\134\063\247\260\377\230\260\125\214\271\245\362\157 +\107\044\111\041\151\314\102\242\121\000\100\205\214\202\202\253 +\062\245\313\232\334\320\331\030\015\337\031\364\257\203\015\301 +\076\061\333\044\110\266\165\200\241\341\311\167\144\036\247\345 +\213\177\025\115\113\247\302\320\355\171\225\136\221\061\354\030 +\377\116\237\110\024\352\165\272\041\316\051\166\351\037\116\121 +\207\056\263\314\004\140\272\043\037\037\145\262\012\270\325\156 +\217\113\102\211\107\251\201\220\133\053\262\266\256\346\240\160 +\173\170\220\012\172\305\345\347\305\373\012\366\057\151\214\214 +\037\127\340\006\231\377\021\325\122\062\040\227\047\230\356\145 +\002\003\001\000\001\243\202\001\324\060\202\001\320\060\037\006 +\003\125\035\043\004\030\060\026\200\024\241\162\137\046\033\050 +\230\103\225\135\007\067\325\205\226\235\113\322\303\105\060\035 +\006\003\125\035\016\004\026\004\024\267\303\336\032\103\355\101 +\227\251\217\051\170\234\003\271\254\100\102\000\254\060\016\006 +\003\125\035\017\001\001\377\004\004\003\002\005\240\060\014\006 +\003\125\035\023\001\001\377\004\002\060\000\060\035\006\003\125 +\035\045\004\026\060\024\006\010\053\006\001\005\005\007\003\001 +\006\010\053\006\001\005\005\007\003\002\060\106\006\003\125\035 +\040\004\077\060\075\060\073\006\014\053\006\001\004\001\262\061 +\001\002\001\003\004\060\053\060\051\006\010\053\006\001\005\005 +\007\002\001\026\035\150\164\164\160\163\072\057\057\163\145\143 +\165\162\145\056\143\157\155\157\144\157\056\143\157\155\057\103 +\120\123\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\125\124\116 +\055\125\123\105\122\106\151\162\163\164\055\110\141\162\144\167 +\141\162\145\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\125\124\116\055\125\123\105\122\106\151\162 +\163\164\055\110\141\162\144\167\141\162\145\056\143\162\154\060 +\161\006\010\053\006\001\005\005\007\001\001\004\145\060\143\060 +\073\006\010\053\006\001\005\005\007\060\002\206\057\150\164\164 +\160\072\057\057\143\162\164\056\143\157\155\157\144\157\143\141 +\056\143\157\155\057\125\124\116\101\144\144\124\162\165\163\164 +\123\145\162\166\145\162\103\101\056\143\162\164\060\044\006\010 +\053\006\001\005\005\007\060\001\206\030\150\164\164\160\072\057 +\057\157\143\163\160\056\143\157\155\157\144\157\143\141\056\143 +\157\155\060\031\006\003\125\035\021\004\022\060\020\202\016\147 +\154\157\142\141\154\040\164\162\165\163\164\145\145\060\015\006 +\011\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001 +\000\217\272\165\272\071\324\046\323\160\017\304\263\002\247\305 +\022\043\161\311\376\143\351\243\142\170\044\104\117\324\271\021 +\076\037\307\050\347\125\153\356\364\341\000\221\206\212\311\011 +\153\237\056\244\105\071\321\141\142\136\223\245\005\105\170\237 +\140\022\054\364\154\145\145\015\314\106\064\213\050\272\240\306 +\364\231\161\144\363\042\166\254\117\363\142\311\247\063\132\007 +\037\075\311\206\200\334\333\004\057\207\047\350\277\110\104\201 +\300\360\111\043\156\037\345\344\003\206\044\023\242\205\142\174 +\130\004\312\346\215\023\162\012\272\126\104\242\017\274\373\240 +\075\015\052\177\373\236\251\011\075\267\132\324\212\215\341\045 +\350\244\011\204\160\255\022\104\271\317\271\063\172\272\134\346 +\113\246\273\005\006\230\377\362\230\122\173\167\200\047\112\331 +\342\372\271\122\324\373\373\346\326\055\236\217\301\025\104\215 +\233\164\057\356\224\132\116\323\304\213\212\254\103\235\163\366 +\256\014\207\211\255\207\311\311\307\335\272\024\140\172\370\265 +\065\235\302\215\306\226\201\015\251\122\212\051\100\004\351\031 +\264 +END + +# Trust for Certificate "Bogus Global Trustee" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Bogus Global Trustee" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\141\171\077\313\372\117\220\010\060\233\272\137\361\055\054\262 +\234\324\025\032 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\376\015\001\156\161\313\214\330\077\016\014\315\111\065\270\127 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060 +\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153 +\145\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\041\060\037\006\003\125\004\013\023 +\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162 +\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125 +\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163 +\164\055\110\141\162\144\167\141\162\145 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\021\000\330\363\137\116\267\207\053\055\253\006\222\343\025 +\070\057\260 +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 "Bogus GMail" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Bogus GMail" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\337\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\016\060\014\006\003\125\004\021\023\005\063\070\064\067\067 +\061\020\060\016\006\003\125\004\010\023\007\106\154\157\162\151 +\144\141\061\020\060\016\006\003\125\004\007\023\007\105\156\147 +\154\151\163\150\061\027\060\025\006\003\125\004\011\023\016\123 +\145\141\040\126\151\154\154\141\147\145\040\061\060\061\024\060 +\022\006\003\125\004\012\023\013\107\157\157\147\154\145\040\114 +\164\144\056\061\023\060\021\006\003\125\004\013\023\012\124\145 +\143\150\040\104\145\160\164\056\061\050\060\046\006\003\125\004 +\013\023\037\110\157\163\164\145\144\040\142\171\040\107\124\111 +\040\107\162\157\165\160\040\103\157\162\160\157\162\141\164\151 +\157\156\061\024\060\022\006\003\125\004\013\023\013\120\154\141 +\164\151\156\165\155\123\123\114\061\030\060\026\006\003\125\004 +\003\023\017\155\141\151\154\056\147\157\157\147\154\145\056\143 +\157\155 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060 +\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153 +\145\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\041\060\037\006\003\125\004\013\023 +\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162 +\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125 +\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163 +\164\055\110\141\162\144\167\141\162\145 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\004\176\313\351\374\245\137\173\320\236\256\066\341\014 +\256\036 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\356\060\202\004\326\240\003\002\001\002\002\020\004 +\176\313\351\374\245\137\173\320\236\256\066\341\014\256\036\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201 +\227\061\013\060\011\006\003\125\004\006\023\002\125\123\061\013 +\060\011\006\003\125\004\010\023\002\125\124\061\027\060\025\006 +\003\125\004\007\023\016\123\141\154\164\040\114\141\153\145\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\041\060\037\006\003\125\004\013\023\030\150 +\164\164\160\072\057\057\167\167\167\056\165\163\145\162\164\162 +\165\163\164\056\143\157\155\061\037\060\035\006\003\125\004\003 +\023\026\125\124\116\055\125\123\105\122\106\151\162\163\164\055 +\110\141\162\144\167\141\162\145\060\036\027\015\061\061\060\063 +\061\065\060\060\060\060\060\060\132\027\015\061\064\060\063\061 +\064\062\063\065\071\065\071\132\060\201\337\061\013\060\011\006 +\003\125\004\006\023\002\125\123\061\016\060\014\006\003\125\004 +\021\023\005\063\070\064\067\067\061\020\060\016\006\003\125\004 +\010\023\007\106\154\157\162\151\144\141\061\020\060\016\006\003 +\125\004\007\023\007\105\156\147\154\151\163\150\061\027\060\025 +\006\003\125\004\011\023\016\123\145\141\040\126\151\154\154\141 +\147\145\040\061\060\061\024\060\022\006\003\125\004\012\023\013 +\107\157\157\147\154\145\040\114\164\144\056\061\023\060\021\006 +\003\125\004\013\023\012\124\145\143\150\040\104\145\160\164\056 +\061\050\060\046\006\003\125\004\013\023\037\110\157\163\164\145 +\144\040\142\171\040\107\124\111\040\107\162\157\165\160\040\103 +\157\162\160\157\162\141\164\151\157\156\061\024\060\022\006\003 +\125\004\013\023\013\120\154\141\164\151\156\165\155\123\123\114 +\061\030\060\026\006\003\125\004\003\023\017\155\141\151\154\056 +\147\157\157\147\154\145\056\143\157\155\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\163\360\362\004 +\356\302\242\106\312\064\052\252\273\140\043\321\021\166\037\037 +\072\320\145\203\116\232\105\250\103\160\205\166\360\037\207\000 +\002\037\156\073\027\027\304\265\351\031\106\242\222\045\215\142 +\052\264\143\060\037\271\205\370\065\341\026\132\166\111\314\120 +\110\123\071\131\211\326\204\002\373\232\354\033\307\121\325\166 +\225\220\324\072\052\270\246\336\002\115\006\373\315\355\245\106 +\101\137\125\164\345\354\176\100\334\120\234\265\344\065\135\036 +\150\040\370\351\336\243\152\050\277\101\322\241\263\342\045\215 +\014\033\312\075\223\014\030\256\337\305\274\375\274\202\272\150 +\000\327\026\062\161\237\145\265\021\332\150\131\320\246\127\144 +\033\311\376\230\345\365\245\145\352\341\333\356\364\263\235\263 +\216\352\207\256\026\322\036\240\174\174\151\077\051\026\205\001 +\123\247\154\361\140\253\335\242\374\045\107\324\062\321\022\335 +\367\110\022\340\374\234\242\167\230\351\211\231\270\370\070\361 +\214\006\302\172\043\066\155\233\235\315\060\310\307\064\027\036 +\273\175\102\310\253\347\025\026\366\163\265\002\003\001\000\001 +\243\202\001\352\060\202\001\346\060\037\006\003\125\035\043\004 +\030\060\026\200\024\241\162\137\046\033\050\230\103\225\135\007 +\067\325\205\226\235\113\322\303\105\060\035\006\003\125\035\016 +\004\026\004\024\030\052\242\310\324\172\077\173\255\004\213\275 +\157\236\020\106\023\170\161\235\060\016\006\003\125\035\017\001 +\001\377\004\004\003\002\005\240\060\014\006\003\125\035\023\001 +\001\377\004\002\060\000\060\035\006\003\125\035\045\004\026\060 +\024\006\010\053\006\001\005\005\007\003\001\006\010\053\006\001 +\005\005\007\003\002\060\106\006\003\125\035\040\004\077\060\075 +\060\073\006\014\053\006\001\004\001\262\061\001\002\001\003\004 +\060\053\060\051\006\010\053\006\001\005\005\007\002\001\026\035 +\150\164\164\160\163\072\057\057\163\145\143\165\162\145\056\143 +\157\155\157\144\157\056\143\157\155\057\103\120\123\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\125\124\116\055\125\123\105\122 +\106\151\162\163\164\055\110\141\162\144\167\141\162\145\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 +\125\124\116\055\125\123\105\122\106\151\162\163\164\055\110\141 +\162\144\167\141\162\145\056\143\162\154\060\161\006\010\053\006 +\001\005\005\007\001\001\004\145\060\143\060\073\006\010\053\006 +\001\005\005\007\060\002\206\057\150\164\164\160\072\057\057\143 +\162\164\056\143\157\155\157\144\157\143\141\056\143\157\155\057 +\125\124\116\101\144\144\124\162\165\163\164\123\145\162\166\145 +\162\103\101\056\143\162\164\060\044\006\010\053\006\001\005\005 +\007\060\001\206\030\150\164\164\160\072\057\057\157\143\163\160 +\056\143\157\155\157\144\157\143\141\056\143\157\155\060\057\006 +\003\125\035\021\004\050\060\046\202\017\155\141\151\154\056\147 +\157\157\147\154\145\056\143\157\155\202\023\167\167\167\056\155 +\141\151\154\056\147\157\157\147\154\145\056\143\157\155\060\015 +\006\011\052\206\110\206\367\015\001\001\005\005\000\003\202\001 +\001\000\147\006\010\012\047\305\223\156\002\362\336\027\077\320 +\323\033\174\377\265\315\172\307\167\307\276\337\022\312\031\336 +\260\023\127\014\003\221\304\171\122\317\177\267\136\125\040\204 +\111\335\365\320\051\057\016\004\332\131\236\016\023\237\364\300 +\062\233\377\241\021\044\052\227\243\362\077\075\052\153\250\255 +\214\031\165\225\016\035\045\375\117\304\172\025\303\035\307\023 +\100\310\015\276\227\140\162\246\376\045\276\217\354\325\246\206 +\303\041\134\131\122\331\152\013\134\237\113\336\265\371\354\342 +\364\305\314\142\123\166\211\145\344\051\332\267\277\226\340\140 +\215\015\267\011\125\326\100\125\035\301\362\226\041\165\257\211 +\206\037\135\201\227\051\050\036\051\327\226\301\040\003\062\173 +\000\073\152\067\027\132\243\263\032\157\062\073\156\361\243\135 +\253\253\314\052\313\060\014\037\065\043\213\151\104\134\352\254 +\050\140\355\253\153\143\236\366\222\274\275\232\132\046\114\305 +\230\270\016\031\076\374\005\061\343\026\331\375\220\005\003\206 +\306\127\001\037\177\170\240\317\063\152\252\146\153\042\320\247 +\111\043 +END + +# Trust for Certificate "Bogus GMail" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Bogus GMail" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\144\061\162\060\066\375\046\336\245\002\171\057\245\225\222\044 +\223\003\017\227 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\114\167\037\353\312\061\301\051\230\351\054\020\263\257\111\034 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060 +\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153 +\145\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\041\060\037\006\003\125\004\013\023 +\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162 +\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125 +\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163 +\164\055\110\141\162\144\167\141\162\145 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\004\176\313\351\374\245\137\173\320\236\256\066\341\014 +\256\036 +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 "Bogus Google" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Bogus Google" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\336\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\016\060\014\006\003\125\004\021\023\005\063\070\064\067\067 +\061\020\060\016\006\003\125\004\010\023\007\106\154\157\162\151 +\144\141\061\020\060\016\006\003\125\004\007\023\007\105\156\147 +\154\151\163\150\061\027\060\025\006\003\125\004\011\023\016\123 +\145\141\040\126\151\154\154\141\147\145\040\061\060\061\024\060 +\022\006\003\125\004\012\023\013\107\157\157\147\154\145\040\114 +\164\144\056\061\023\060\021\006\003\125\004\013\023\012\124\145 +\143\150\040\104\145\160\164\056\061\050\060\046\006\003\125\004 +\013\023\037\110\157\163\164\145\144\040\142\171\040\107\124\111 +\040\107\162\157\165\160\040\103\157\162\160\157\162\141\164\151 +\157\156\061\024\060\022\006\003\125\004\013\023\013\120\154\141 +\164\151\156\165\155\123\123\114\061\027\060\025\006\003\125\004 +\003\023\016\167\167\167\056\147\157\157\147\154\145\056\143\157 +\155 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060 +\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153 +\145\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\041\060\037\006\003\125\004\013\023 +\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162 +\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125 +\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163 +\164\055\110\141\162\144\167\141\162\145 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\021\000\365\310\152\363\141\142\361\072\144\365\117\155\311 +\130\174\006 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\344\060\202\004\314\240\003\002\001\002\002\021\000 +\365\310\152\363\141\142\361\072\144\365\117\155\311\130\174\006 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060\025 +\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153\145 +\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\041\060\037\006\003\125\004\013\023\030 +\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162\164 +\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125\004 +\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163\164 +\055\110\141\162\144\167\141\162\145\060\036\027\015\061\061\060 +\063\061\065\060\060\060\060\060\060\132\027\015\061\064\060\063 +\061\064\062\063\065\071\065\071\132\060\201\336\061\013\060\011 +\006\003\125\004\006\023\002\125\123\061\016\060\014\006\003\125 +\004\021\023\005\063\070\064\067\067\061\020\060\016\006\003\125 +\004\010\023\007\106\154\157\162\151\144\141\061\020\060\016\006 +\003\125\004\007\023\007\105\156\147\154\151\163\150\061\027\060 +\025\006\003\125\004\011\023\016\123\145\141\040\126\151\154\154 +\141\147\145\040\061\060\061\024\060\022\006\003\125\004\012\023 +\013\107\157\157\147\154\145\040\114\164\144\056\061\023\060\021 +\006\003\125\004\013\023\012\124\145\143\150\040\104\145\160\164 +\056\061\050\060\046\006\003\125\004\013\023\037\110\157\163\164 +\145\144\040\142\171\040\107\124\111\040\107\162\157\165\160\040 +\103\157\162\160\157\162\141\164\151\157\156\061\024\060\022\006 +\003\125\004\013\023\013\120\154\141\164\151\156\165\155\123\123 +\114\061\027\060\025\006\003\125\004\003\023\016\167\167\167\056 +\147\157\157\147\154\145\056\143\157\155\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\163\360\362\004 +\356\302\242\106\312\064\052\252\273\140\043\321\021\166\037\037 +\072\320\145\203\116\232\105\250\103\160\205\166\360\037\207\000 +\002\037\156\073\027\027\304\265\351\031\106\242\222\045\215\142 +\052\264\143\060\037\271\205\370\065\341\026\132\166\111\314\120 +\110\123\071\131\211\326\204\002\373\232\354\033\307\121\325\166 +\225\220\324\072\052\270\246\336\002\115\006\373\315\355\245\106 +\101\137\125\164\345\354\176\100\334\120\234\265\344\065\135\036 +\150\040\370\351\336\243\152\050\277\101\322\241\263\342\045\215 +\014\033\312\075\223\014\030\256\337\305\274\375\274\202\272\150 +\000\327\026\062\161\237\145\265\021\332\150\131\320\246\127\144 +\033\311\376\230\345\365\245\145\352\341\333\356\364\263\235\263 +\216\352\207\256\026\322\036\240\174\174\151\077\051\026\205\001 +\123\247\154\361\140\253\335\242\374\045\107\324\062\321\022\335 +\367\110\022\340\374\234\242\167\230\351\211\231\270\370\070\361 +\214\006\302\172\043\066\155\233\235\315\060\310\307\064\027\036 +\273\175\102\310\253\347\025\026\366\163\265\002\003\001\000\001 +\243\202\001\340\060\202\001\334\060\037\006\003\125\035\043\004 +\030\060\026\200\024\241\162\137\046\033\050\230\103\225\135\007 +\067\325\205\226\235\113\322\303\105\060\035\006\003\125\035\016 +\004\026\004\024\030\052\242\310\324\172\077\173\255\004\213\275 +\157\236\020\106\023\170\161\235\060\016\006\003\125\035\017\001 +\001\377\004\004\003\002\005\240\060\014\006\003\125\035\023\001 +\001\377\004\002\060\000\060\035\006\003\125\035\045\004\026\060 +\024\006\010\053\006\001\005\005\007\003\001\006\010\053\006\001 +\005\005\007\003\002\060\106\006\003\125\035\040\004\077\060\075 +\060\073\006\014\053\006\001\004\001\262\061\001\002\001\003\004 +\060\053\060\051\006\010\053\006\001\005\005\007\002\001\026\035 +\150\164\164\160\163\072\057\057\163\145\143\165\162\145\056\143 +\157\155\157\144\157\056\143\157\155\057\103\120\123\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\125\124\116\055\125\123\105\122 +\106\151\162\163\164\055\110\141\162\144\167\141\162\145\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 +\125\124\116\055\125\123\105\122\106\151\162\163\164\055\110\141 +\162\144\167\141\162\145\056\143\162\154\060\161\006\010\053\006 +\001\005\005\007\001\001\004\145\060\143\060\073\006\010\053\006 +\001\005\005\007\060\002\206\057\150\164\164\160\072\057\057\143 +\162\164\056\143\157\155\157\144\157\143\141\056\143\157\155\057 +\125\124\116\101\144\144\124\162\165\163\164\123\145\162\166\145 +\162\103\101\056\143\162\164\060\044\006\010\053\006\001\005\005 +\007\060\001\206\030\150\164\164\160\072\057\057\157\143\163\160 +\056\143\157\155\157\144\157\143\141\056\143\157\155\060\045\006 +\003\125\035\021\004\036\060\034\202\016\167\167\167\056\147\157 +\157\147\154\145\056\143\157\155\202\012\147\157\157\147\154\145 +\056\143\157\155\060\015\006\011\052\206\110\206\367\015\001\001 +\005\005\000\003\202\001\001\000\161\300\231\077\136\366\275\063 +\377\236\026\313\250\277\335\160\371\322\123\073\066\256\311\027 +\310\256\136\115\335\142\367\267\323\076\167\243\376\300\173\062 +\265\311\224\005\122\120\362\137\075\171\204\111\117\135\154\260 +\327\131\275\324\154\210\372\374\305\145\206\353\050\122\242\102 +\366\174\274\152\307\007\056\045\321\220\142\040\306\215\121\302 +\054\105\071\116\003\332\367\030\350\314\012\072\331\105\330\154 +\156\064\213\142\234\116\025\371\103\356\345\227\300\077\255\065 +\023\305\053\006\307\101\375\342\367\176\105\255\233\321\341\146 +\355\370\172\113\224\071\172\057\353\350\077\103\330\065\326\126 +\372\164\347\155\346\355\254\145\204\376\320\115\006\022\336\332 +\131\000\074\011\134\317\210\113\350\075\264\025\041\222\314\155 +\246\121\342\216\227\361\364\202\106\313\304\123\136\332\134\235 +\145\222\001\145\211\000\345\266\231\377\046\100\361\057\031\061 +\010\032\261\147\125\206\015\256\065\063\206\274\227\110\222\327 +\226\140\370\316\374\226\353\207\304\163\314\224\233\130\133\363 +\172\244\047\023\326\117\364\151 +END + +# Trust for Certificate "Bogus Google" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Bogus Google" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\031\026\242\257\064\155\071\237\120\061\074\071\062\000\361\101 +\100\105\146\026 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\001\163\251\130\360\274\311\276\224\053\032\114\230\044\343\270 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060 +\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153 +\145\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\041\060\037\006\003\125\004\013\023 +\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162 +\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125 +\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163 +\164\055\110\141\162\144\167\141\162\145 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\021\000\365\310\152\363\141\142\361\072\144\365\117\155\311 +\130\174\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 "Bogus Skype" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Bogus Skype" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\337\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\016\060\014\006\003\125\004\021\023\005\063\070\064\067\067 +\061\020\060\016\006\003\125\004\010\023\007\106\154\157\162\151 +\144\141\061\020\060\016\006\003\125\004\007\023\007\105\156\147 +\154\151\163\150\061\027\060\025\006\003\125\004\011\023\016\123 +\145\141\040\126\151\154\154\141\147\145\040\061\060\061\024\060 +\022\006\003\125\004\012\023\013\107\157\157\147\154\145\040\114 +\164\144\056\061\023\060\021\006\003\125\004\013\023\012\124\145 +\143\150\040\104\145\160\164\056\061\050\060\046\006\003\125\004 +\013\023\037\110\157\163\164\145\144\040\142\171\040\107\124\111 +\040\107\162\157\165\160\040\103\157\162\160\157\162\141\164\151 +\157\156\061\024\060\022\006\003\125\004\013\023\013\120\154\141 +\164\151\156\165\155\123\123\114\061\030\060\026\006\003\125\004 +\003\023\017\154\157\147\151\156\056\163\153\171\160\145\056\143 +\157\155 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060 +\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153 +\145\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\041\060\037\006\003\125\004\013\023 +\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162 +\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125 +\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163 +\164\055\110\141\162\144\167\141\162\145 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\021\000\351\002\213\225\170\344\025\334\032\161\012\053\210 +\025\104\107 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\357\060\202\004\327\240\003\002\001\002\002\021\000 +\351\002\213\225\170\344\025\334\032\161\012\053\210\025\104\107 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060\025 +\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153\145 +\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\041\060\037\006\003\125\004\013\023\030 +\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162\164 +\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125\004 +\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163\164 +\055\110\141\162\144\167\141\162\145\060\036\027\015\061\061\060 +\063\061\065\060\060\060\060\060\060\132\027\015\061\064\060\063 +\061\064\062\063\065\071\065\071\132\060\201\337\061\013\060\011 +\006\003\125\004\006\023\002\125\123\061\016\060\014\006\003\125 +\004\021\023\005\063\070\064\067\067\061\020\060\016\006\003\125 +\004\010\023\007\106\154\157\162\151\144\141\061\020\060\016\006 +\003\125\004\007\023\007\105\156\147\154\151\163\150\061\027\060 +\025\006\003\125\004\011\023\016\123\145\141\040\126\151\154\154 +\141\147\145\040\061\060\061\024\060\022\006\003\125\004\012\023 +\013\107\157\157\147\154\145\040\114\164\144\056\061\023\060\021 +\006\003\125\004\013\023\012\124\145\143\150\040\104\145\160\164 +\056\061\050\060\046\006\003\125\004\013\023\037\110\157\163\164 +\145\144\040\142\171\040\107\124\111\040\107\162\157\165\160\040 +\103\157\162\160\157\162\141\164\151\157\156\061\024\060\022\006 +\003\125\004\013\023\013\120\154\141\164\151\156\165\155\123\123 +\114\061\030\060\026\006\003\125\004\003\023\017\154\157\147\151 +\156\056\163\153\171\160\145\056\143\157\155\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\170\231\206 +\016\242\163\043\324\132\303\111\353\261\066\214\174\312\204\256 +\074\257\070\210\050\231\215\055\130\023\261\227\170\076\122\040 +\147\254\133\163\230\154\062\125\311\160\321\331\252\025\350\056 +\046\205\201\274\126\344\274\200\143\333\116\327\365\002\276\121 +\143\036\074\333\337\327\000\135\132\271\345\173\152\352\070\040 +\262\073\266\356\165\124\204\371\246\312\070\160\335\277\260\377 +\245\205\135\264\101\376\335\075\331\052\341\060\103\032\230\171 +\223\240\137\340\147\154\225\372\076\172\256\161\173\343\155\210 +\102\077\045\324\356\276\150\150\254\255\254\140\340\040\243\071 +\203\271\133\050\243\223\155\241\275\166\012\343\353\256\207\047 +\016\124\217\264\110\014\232\124\364\135\216\067\120\334\136\244 +\213\153\113\334\246\363\064\276\167\131\042\210\377\031\053\155 +\166\144\163\332\014\207\007\053\232\067\072\320\342\214\366\066 +\062\153\232\171\314\322\073\223\157\032\115\154\346\301\235\100 +\254\055\164\303\276\352\134\163\145\001\051\261\052\277\160\131 +\301\316\306\303\242\310\105\137\272\147\075\017\002\003\001\000 +\001\243\202\001\352\060\202\001\346\060\037\006\003\125\035\043 +\004\030\060\026\200\024\241\162\137\046\033\050\230\103\225\135 +\007\067\325\205\226\235\113\322\303\105\060\035\006\003\125\035 +\016\004\026\004\024\325\216\132\121\023\264\051\015\061\266\034 +\215\076\121\121\061\012\063\252\201\060\016\006\003\125\035\017 +\001\001\377\004\004\003\002\005\240\060\014\006\003\125\035\023 +\001\001\377\004\002\060\000\060\035\006\003\125\035\045\004\026 +\060\024\006\010\053\006\001\005\005\007\003\001\006\010\053\006 +\001\005\005\007\003\002\060\106\006\003\125\035\040\004\077\060 +\075\060\073\006\014\053\006\001\004\001\262\061\001\002\001\003 +\004\060\053\060\051\006\010\053\006\001\005\005\007\002\001\026 +\035\150\164\164\160\163\072\057\057\163\145\143\165\162\145\056 +\143\157\155\157\144\157\056\143\157\155\057\103\120\123\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\125\124\116\055\125\123\105 +\122\106\151\162\163\164\055\110\141\162\144\167\141\162\145\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\125\124\116\055\125\123\105\122\106\151\162\163\164\055\110 +\141\162\144\167\141\162\145\056\143\162\154\060\161\006\010\053 +\006\001\005\005\007\001\001\004\145\060\143\060\073\006\010\053 +\006\001\005\005\007\060\002\206\057\150\164\164\160\072\057\057 +\143\162\164\056\143\157\155\157\144\157\143\141\056\143\157\155 +\057\125\124\116\101\144\144\124\162\165\163\164\123\145\162\166 +\145\162\103\101\056\143\162\164\060\044\006\010\053\006\001\005 +\005\007\060\001\206\030\150\164\164\160\072\057\057\157\143\163 +\160\056\143\157\155\157\144\157\143\141\056\143\157\155\060\057 +\006\003\125\035\021\004\050\060\046\202\017\154\157\147\151\156 +\056\163\153\171\160\145\056\143\157\155\202\023\167\167\167\056 +\154\157\147\151\156\056\163\153\171\160\145\056\143\157\155\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003\202 +\001\001\000\010\362\201\165\221\273\316\022\004\030\302\115\132 +\373\106\220\012\124\104\364\362\335\007\201\360\037\246\172\157 +\237\317\270\016\054\117\234\304\232\365\250\366\272\244\311\172 +\135\261\342\132\312\074\372\140\250\150\076\313\272\055\342\315 +\326\266\344\222\074\151\255\127\352\250\057\070\020\204\162\345 +\150\161\355\276\353\156\030\357\143\172\276\347\044\377\300\143 +\375\130\073\114\201\222\330\051\253\216\065\135\327\323\011\153 +\205\323\325\163\005\104\342\345\273\203\123\020\313\362\317\267 +\156\341\151\267\241\222\144\305\317\315\202\273\066\240\070\255 +\327\044\337\123\374\077\142\267\267\325\307\127\343\223\061\160 +\216\044\211\206\312\143\053\071\272\135\331\152\140\354\241\116 +\212\376\123\370\136\222\337\057\134\046\027\155\003\175\002\017 +\017\252\103\147\155\260\142\277\176\123\335\314\354\170\163\225 +\345\245\366\000\243\004\375\077\004\052\263\230\305\267\003\034 +\333\311\120\253\260\005\035\036\276\126\264\317\076\102\023\224 +\236\371\347\001\201\245\170\157\014\172\166\254\005\206\354\254 +\302\021\254 +END + +# Trust for Certificate "Bogus Skype" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Bogus Skype" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\107\034\224\232\201\103\333\132\325\315\361\311\162\206\112\045 +\004\372\043\311 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\205\244\264\304\151\041\337\241\152\015\130\126\130\113\063\104 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060 +\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153 +\145\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\041\060\037\006\003\125\004\013\023 +\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162 +\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125 +\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163 +\164\055\110\141\162\144\167\141\162\145 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\021\000\351\002\213\225\170\344\025\334\032\161\012\053\210 +\025\104\107 +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 "Bogus Yahoo 1" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Bogus Yahoo 1" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\337\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\016\060\014\006\003\125\004\021\023\005\063\070\064\067\067 +\061\020\060\016\006\003\125\004\010\023\007\106\154\157\162\151 +\144\141\061\020\060\016\006\003\125\004\007\023\007\105\156\147 +\154\151\163\150\061\027\060\025\006\003\125\004\011\023\016\123 +\145\141\040\126\151\154\154\141\147\145\040\061\060\061\024\060 +\022\006\003\125\004\012\023\013\107\157\157\147\154\145\040\114 +\164\144\056\061\023\060\021\006\003\125\004\013\023\012\124\145 +\143\150\040\104\145\160\164\056\061\050\060\046\006\003\125\004 +\013\023\037\110\157\163\164\145\144\040\142\171\040\107\124\111 +\040\107\162\157\165\160\040\103\157\162\160\157\162\141\164\151 +\157\156\061\024\060\022\006\003\125\004\013\023\013\120\154\141 +\164\151\156\165\155\123\123\114\061\030\060\026\006\003\125\004 +\003\023\017\154\157\147\151\156\056\171\141\150\157\157\056\143 +\157\155 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060 +\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153 +\145\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\041\060\037\006\003\125\004\013\023 +\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162 +\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125 +\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163 +\164\055\110\141\162\144\167\141\162\145 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\021\000\327\125\217\332\365\361\020\133\262\023\050\053\160 +\167\051\243 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\357\060\202\004\327\240\003\002\001\002\002\021\000 +\327\125\217\332\365\361\020\133\262\023\050\053\160\167\051\243 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060\025 +\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153\145 +\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\041\060\037\006\003\125\004\013\023\030 +\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162\164 +\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125\004 +\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163\164 +\055\110\141\162\144\167\141\162\145\060\036\027\015\061\061\060 +\063\061\065\060\060\060\060\060\060\132\027\015\061\064\060\063 +\061\064\062\063\065\071\065\071\132\060\201\337\061\013\060\011 +\006\003\125\004\006\023\002\125\123\061\016\060\014\006\003\125 +\004\021\023\005\063\070\064\067\067\061\020\060\016\006\003\125 +\004\010\023\007\106\154\157\162\151\144\141\061\020\060\016\006 +\003\125\004\007\023\007\105\156\147\154\151\163\150\061\027\060 +\025\006\003\125\004\011\023\016\123\145\141\040\126\151\154\154 +\141\147\145\040\061\060\061\024\060\022\006\003\125\004\012\023 +\013\107\157\157\147\154\145\040\114\164\144\056\061\023\060\021 +\006\003\125\004\013\023\012\124\145\143\150\040\104\145\160\164 +\056\061\050\060\046\006\003\125\004\013\023\037\110\157\163\164 +\145\144\040\142\171\040\107\124\111\040\107\162\157\165\160\040 +\103\157\162\160\157\162\141\164\151\157\156\061\024\060\022\006 +\003\125\004\013\023\013\120\154\141\164\151\156\165\155\123\123 +\114\061\030\060\026\006\003\125\004\003\023\017\154\157\147\151 +\156\056\171\141\150\157\157\056\143\157\155\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\241\244\005\075 +\355\205\105\223\212\030\115\306\003\000\127\342\100\167\360\034 +\353\320\031\337\042\135\010\177\321\007\074\101\211\106\027\243 +\011\372\374\370\251\004\321\226\217\253\327\117\074\371\255\030 +\251\164\201\304\127\012\072\046\026\316\142\076\274\077\154\041 +\356\223\215\313\015\240\037\232\226\320\217\255\365\223\223\202 +\356\162\014\241\165\025\243\173\204\126\270\255\377\122\021\161 +\204\274\072\060\013\176\230\250\341\250\077\067\122\320\361\174 +\157\220\330\105\012\254\071\162\152\141\325\273\303\214\371\302 +\314\337\375\072\161\271\257\274\334\072\334\014\266\261\322\321 +\211\273\101\266\362\336\127\325\025\337\374\375\342\061\305\337 +\312\301\330\217\054\277\360\016\133\161\340\064\161\303\305\115 +\175\172\324\372\355\060\113\057\352\266\056\236\223\074\342\072 +\370\102\242\032\356\334\337\315\017\251\366\171\204\032\216\154 +\002\266\206\345\277\121\152\146\370\363\234\323\131\014\173\245 +\231\170\315\174\231\372\306\226\107\330\062\324\164\166\016\167 +\113\040\164\244\267\211\165\222\112\264\133\125\002\003\001\000 +\001\243\202\001\352\060\202\001\346\060\037\006\003\125\035\043 +\004\030\060\026\200\024\241\162\137\046\033\050\230\103\225\135 +\007\067\325\205\226\235\113\322\303\105\060\035\006\003\125\035 +\016\004\026\004\024\206\111\105\374\063\031\063\324\004\355\047 +\141\356\350\001\311\014\177\057\176\060\016\006\003\125\035\017 +\001\001\377\004\004\003\002\005\240\060\014\006\003\125\035\023 +\001\001\377\004\002\060\000\060\035\006\003\125\035\045\004\026 +\060\024\006\010\053\006\001\005\005\007\003\001\006\010\053\006 +\001\005\005\007\003\002\060\106\006\003\125\035\040\004\077\060 +\075\060\073\006\014\053\006\001\004\001\262\061\001\002\001\003 +\004\060\053\060\051\006\010\053\006\001\005\005\007\002\001\026 +\035\150\164\164\160\163\072\057\057\163\145\143\165\162\145\056 +\143\157\155\157\144\157\056\143\157\155\057\103\120\123\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\125\124\116\055\125\123\105 +\122\106\151\162\163\164\055\110\141\162\144\167\141\162\145\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\125\124\116\055\125\123\105\122\106\151\162\163\164\055\110 +\141\162\144\167\141\162\145\056\143\162\154\060\161\006\010\053 +\006\001\005\005\007\001\001\004\145\060\143\060\073\006\010\053 +\006\001\005\005\007\060\002\206\057\150\164\164\160\072\057\057 +\143\162\164\056\143\157\155\157\144\157\143\141\056\143\157\155 +\057\125\124\116\101\144\144\124\162\165\163\164\123\145\162\166 +\145\162\103\101\056\143\162\164\060\044\006\010\053\006\001\005 +\005\007\060\001\206\030\150\164\164\160\072\057\057\157\143\163 +\160\056\143\157\155\157\144\157\143\141\056\143\157\155\060\057 +\006\003\125\035\021\004\050\060\046\202\017\154\157\147\151\156 +\056\171\141\150\157\157\056\143\157\155\202\023\167\167\167\056 +\154\157\147\151\156\056\171\141\150\157\157\056\143\157\155\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\003\202 +\001\001\000\075\127\311\110\044\134\356\144\201\365\256\276\125 +\051\026\377\052\057\204\355\331\370\243\003\310\060\146\273\310 +\324\201\055\041\367\010\367\254\226\102\232\101\165\172\272\135 +\020\043\313\222\102\141\372\212\332\155\145\064\031\345\251\326 +\055\023\170\327\201\104\222\251\156\200\143\025\313\376\065\037 +\002\321\212\024\260\250\314\224\040\073\250\032\360\135\066\120 +\333\015\256\351\144\344\366\215\151\175\060\310\024\027\000\112 +\345\246\065\373\175\015\042\235\171\166\122\054\274\227\006\210 +\232\025\364\163\346\361\365\230\245\315\007\104\221\270\247\150 +\147\105\322\162\021\140\342\161\267\120\125\342\212\251\015\326 +\222\356\004\052\213\060\240\242\005\106\064\155\222\306\073\252 +\115\240\320\253\001\031\012\062\267\350\343\317\361\322\227\111 +\173\254\244\227\367\360\127\256\143\167\232\177\226\332\115\375 +\276\334\007\066\343\045\275\211\171\216\051\022\023\213\210\007 +\373\153\333\244\315\263\055\047\351\324\312\140\327\205\123\373 +\164\306\134\065\214\160\037\371\262\267\222\047\040\307\224\325 +\147\024\060 +END + +# Trust for Certificate "Bogus Yahoo 1" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Bogus Yahoo 1" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\143\376\256\226\013\252\221\343\103\316\053\330\267\027\230\307 +\153\333\167\320 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\014\037\276\323\374\011\156\346\156\302\146\071\165\206\153\353 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060 +\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153 +\145\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\041\060\037\006\003\125\004\013\023 +\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162 +\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125 +\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163 +\164\055\110\141\162\144\167\141\162\145 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\021\000\327\125\217\332\365\361\020\133\262\023\050\053\160 +\167\051\243 +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 "Bogus Yahoo 2" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Bogus Yahoo 2" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\337\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\016\060\014\006\003\125\004\021\023\005\063\070\064\067\067 +\061\020\060\016\006\003\125\004\010\023\007\106\154\157\162\151 +\144\141\061\020\060\016\006\003\125\004\007\023\007\105\156\147 +\154\151\163\150\061\027\060\025\006\003\125\004\011\023\016\123 +\145\141\040\126\151\154\154\141\147\145\040\061\060\061\024\060 +\022\006\003\125\004\012\023\013\107\157\157\147\154\145\040\114 +\164\144\056\061\023\060\021\006\003\125\004\013\023\012\124\145 +\143\150\040\104\145\160\164\056\061\050\060\046\006\003\125\004 +\013\023\037\110\157\163\164\145\144\040\142\171\040\107\124\111 +\040\107\162\157\165\160\040\103\157\162\160\157\162\141\164\151 +\157\156\061\024\060\022\006\003\125\004\013\023\013\120\154\141 +\164\151\156\165\155\123\123\114\061\030\060\026\006\003\125\004 +\003\023\017\154\157\147\151\156\056\171\141\150\157\157\056\143 +\157\155 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060 +\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153 +\145\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\041\060\037\006\003\125\004\013\023 +\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162 +\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125 +\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163 +\164\055\110\141\162\144\167\141\162\145 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\071\052\103\117\016\007\337\037\212\243\005\336\064\340 +\302\051 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\331\060\202\004\301\240\003\002\001\002\002\020\071 +\052\103\117\016\007\337\037\212\243\005\336\064\340\302\051\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201 +\227\061\013\060\011\006\003\125\004\006\023\002\125\123\061\013 +\060\011\006\003\125\004\010\023\002\125\124\061\027\060\025\006 +\003\125\004\007\023\016\123\141\154\164\040\114\141\153\145\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\041\060\037\006\003\125\004\013\023\030\150 +\164\164\160\072\057\057\167\167\167\056\165\163\145\162\164\162 +\165\163\164\056\143\157\155\061\037\060\035\006\003\125\004\003 +\023\026\125\124\116\055\125\123\105\122\106\151\162\163\164\055 +\110\141\162\144\167\141\162\145\060\036\027\015\061\061\060\063 +\061\065\060\060\060\060\060\060\132\027\015\061\064\060\063\061 +\064\062\063\065\071\065\071\132\060\201\337\061\013\060\011\006 +\003\125\004\006\023\002\125\123\061\016\060\014\006\003\125\004 +\021\023\005\063\070\064\067\067\061\020\060\016\006\003\125\004 +\010\023\007\106\154\157\162\151\144\141\061\020\060\016\006\003 +\125\004\007\023\007\105\156\147\154\151\163\150\061\027\060\025 +\006\003\125\004\011\023\016\123\145\141\040\126\151\154\154\141 +\147\145\040\061\060\061\024\060\022\006\003\125\004\012\023\013 +\107\157\157\147\154\145\040\114\164\144\056\061\023\060\021\006 +\003\125\004\013\023\012\124\145\143\150\040\104\145\160\164\056 +\061\050\060\046\006\003\125\004\013\023\037\110\157\163\164\145 +\144\040\142\171\040\107\124\111\040\107\162\157\165\160\040\103 +\157\162\160\157\162\141\164\151\157\156\061\024\060\022\006\003 +\125\004\013\023\013\120\154\141\164\151\156\165\155\123\123\114 +\061\030\060\026\006\003\125\004\003\023\017\154\157\147\151\156 +\056\171\141\150\157\157\056\143\157\155\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\241\244\005\075\355 +\205\105\223\212\030\115\306\003\000\127\342\100\167\360\034\353 +\320\031\337\042\135\010\177\321\007\074\101\211\106\027\243\011 +\372\374\370\251\004\321\226\217\253\327\117\074\371\255\030\251 +\164\201\304\127\012\072\046\026\316\142\076\274\077\154\041\356 +\223\215\313\015\240\037\232\226\320\217\255\365\223\223\202\356 +\162\014\241\165\025\243\173\204\126\270\255\377\122\021\161\204 +\274\072\060\013\176\230\250\341\250\077\067\122\320\361\174\157 +\220\330\105\012\254\071\162\152\141\325\273\303\214\371\302\314 +\337\375\072\161\271\257\274\334\072\334\014\266\261\322\321\211 +\273\101\266\362\336\127\325\025\337\374\375\342\061\305\337\312 +\301\330\217\054\277\360\016\133\161\340\064\161\303\305\115\175 +\172\324\372\355\060\113\057\352\266\056\236\223\074\342\072\370 +\102\242\032\356\334\337\315\017\251\366\171\204\032\216\154\002 +\266\206\345\277\121\152\146\370\363\234\323\131\014\173\245\231 +\170\315\174\231\372\306\226\107\330\062\324\164\166\016\167\113 +\040\164\244\267\211\165\222\112\264\133\125\002\003\001\000\001 +\243\202\001\325\060\202\001\321\060\037\006\003\125\035\043\004 +\030\060\026\200\024\241\162\137\046\033\050\230\103\225\135\007 +\067\325\205\226\235\113\322\303\105\060\035\006\003\125\035\016 +\004\026\004\024\206\111\105\374\063\031\063\324\004\355\047\141 +\356\350\001\311\014\177\057\176\060\016\006\003\125\035\017\001 +\001\377\004\004\003\002\005\240\060\014\006\003\125\035\023\001 +\001\377\004\002\060\000\060\035\006\003\125\035\045\004\026\060 +\024\006\010\053\006\001\005\005\007\003\001\006\010\053\006\001 +\005\005\007\003\002\060\106\006\003\125\035\040\004\077\060\075 +\060\073\006\014\053\006\001\004\001\262\061\001\002\001\003\004 +\060\053\060\051\006\010\053\006\001\005\005\007\002\001\026\035 +\150\164\164\160\163\072\057\057\163\145\143\165\162\145\056\143 +\157\155\157\144\157\056\143\157\155\057\103\120\123\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\125\124\116\055\125\123\105\122 +\106\151\162\163\164\055\110\141\162\144\167\141\162\145\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 +\125\124\116\055\125\123\105\122\106\151\162\163\164\055\110\141 +\162\144\167\141\162\145\056\143\162\154\060\161\006\010\053\006 +\001\005\005\007\001\001\004\145\060\143\060\073\006\010\053\006 +\001\005\005\007\060\002\206\057\150\164\164\160\072\057\057\143 +\162\164\056\143\157\155\157\144\157\143\141\056\143\157\155\057 +\125\124\116\101\144\144\124\162\165\163\164\123\145\162\166\145 +\162\103\101\056\143\162\164\060\044\006\010\053\006\001\005\005 +\007\060\001\206\030\150\164\164\160\072\057\057\157\143\163\160 +\056\143\157\155\157\144\157\143\141\056\143\157\155\060\032\006 +\003\125\035\021\004\023\060\021\202\017\154\157\147\151\156\056 +\171\141\150\157\157\056\143\157\155\060\015\006\011\052\206\110 +\206\367\015\001\001\005\005\000\003\202\001\001\000\127\142\341 +\167\353\374\037\277\210\123\257\130\323\324\326\155\147\060\027 +\100\276\340\037\144\336\207\025\314\340\244\126\251\321\237\371 +\001\376\002\261\261\352\342\137\356\161\026\061\371\010\325\302 +\327\232\233\262\132\070\327\251\177\351\207\153\061\371\013\254 +\331\375\120\161\340\333\202\222\017\201\234\215\167\351\353\056 +\352\324\043\101\207\354\055\262\170\263\216\261\147\322\356\161 +\003\010\022\231\263\002\051\157\336\213\336\301\251\003\012\132 +\063\034\075\021\003\306\110\014\230\234\025\056\331\246\205\122 +\347\005\212\256\060\043\353\355\050\154\140\351\055\177\217\107 +\213\057\320\334\346\273\017\176\137\362\110\201\216\120\004\143 +\261\121\200\165\232\251\266\020\034\020\137\157\030\157\340\016 +\226\105\316\356\361\265\040\333\357\332\156\310\225\343\366\105 +\375\312\374\245\137\111\155\006\036\322\336\141\075\025\175\067 +\345\034\065\216\006\302\153\367\264\250\050\054\061\313\252\264 +\247\227\117\235\212\366\257\176\067\271\173\075\337\222\146\213 +\217\116\235\306\066\347\134\246\253\022\017\326\317 +END + +# Trust for Certificate "Bogus Yahoo 2" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Bogus Yahoo 2" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\320\030\266\055\305\030\220\162\107\337\120\222\133\260\232\317 +\112\134\263\255 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\162\334\310\162\154\123\073\262\375\314\135\031\275\257\246\061 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060 +\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153 +\145\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\041\060\037\006\003\125\004\013\023 +\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162 +\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125 +\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163 +\164\055\110\141\162\144\167\141\162\145 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\071\052\103\117\016\007\337\037\212\243\005\336\064\340 +\302\051 +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 "Bogus Yahoo 3" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Bogus Yahoo 3" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\337\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\016\060\014\006\003\125\004\021\023\005\063\070\064\067\067 +\061\020\060\016\006\003\125\004\010\023\007\106\154\157\162\151 +\144\141\061\020\060\016\006\003\125\004\007\023\007\105\156\147 +\154\151\163\150\061\027\060\025\006\003\125\004\011\023\016\123 +\145\141\040\126\151\154\154\141\147\145\040\061\060\061\024\060 +\022\006\003\125\004\012\023\013\107\157\157\147\154\145\040\114 +\164\144\056\061\023\060\021\006\003\125\004\013\023\012\124\145 +\143\150\040\104\145\160\164\056\061\050\060\046\006\003\125\004 +\013\023\037\110\157\163\164\145\144\040\142\171\040\107\124\111 +\040\107\162\157\165\160\040\103\157\162\160\157\162\141\164\151 +\157\156\061\024\060\022\006\003\125\004\013\023\013\120\154\141 +\164\151\156\165\155\123\123\114\061\030\060\026\006\003\125\004 +\003\023\017\154\157\147\151\156\056\171\141\150\157\157\056\143 +\157\155 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060 +\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153 +\145\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\041\060\037\006\003\125\004\013\023 +\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162 +\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125 +\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163 +\164\055\110\141\162\144\167\141\162\145 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\076\165\316\324\153\151\060\041\041\210\060\256\206\250 +\052\161 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\331\060\202\004\301\240\003\002\001\002\002\020\076 +\165\316\324\153\151\060\041\041\210\060\256\206\250\052\161\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201 +\227\061\013\060\011\006\003\125\004\006\023\002\125\123\061\013 +\060\011\006\003\125\004\010\023\002\125\124\061\027\060\025\006 +\003\125\004\007\023\016\123\141\154\164\040\114\141\153\145\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\041\060\037\006\003\125\004\013\023\030\150 +\164\164\160\072\057\057\167\167\167\056\165\163\145\162\164\162 +\165\163\164\056\143\157\155\061\037\060\035\006\003\125\004\003 +\023\026\125\124\116\055\125\123\105\122\106\151\162\163\164\055 +\110\141\162\144\167\141\162\145\060\036\027\015\061\061\060\063 +\061\065\060\060\060\060\060\060\132\027\015\061\064\060\063\061 +\064\062\063\065\071\065\071\132\060\201\337\061\013\060\011\006 +\003\125\004\006\023\002\125\123\061\016\060\014\006\003\125\004 +\021\023\005\063\070\064\067\067\061\020\060\016\006\003\125\004 +\010\023\007\106\154\157\162\151\144\141\061\020\060\016\006\003 +\125\004\007\023\007\105\156\147\154\151\163\150\061\027\060\025 +\006\003\125\004\011\023\016\123\145\141\040\126\151\154\154\141 +\147\145\040\061\060\061\024\060\022\006\003\125\004\012\023\013 +\107\157\157\147\154\145\040\114\164\144\056\061\023\060\021\006 +\003\125\004\013\023\012\124\145\143\150\040\104\145\160\164\056 +\061\050\060\046\006\003\125\004\013\023\037\110\157\163\164\145 +\144\040\142\171\040\107\124\111\040\107\162\157\165\160\040\103 +\157\162\160\157\162\141\164\151\157\156\061\024\060\022\006\003 +\125\004\013\023\013\120\154\141\164\151\156\165\155\123\123\114 +\061\030\060\026\006\003\125\004\003\023\017\154\157\147\151\156 +\056\171\141\150\157\157\056\143\157\155\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\241\244\005\075\355 +\205\105\223\212\030\115\306\003\000\127\342\100\167\360\034\353 +\320\031\337\042\135\010\177\321\007\074\101\211\106\027\243\011 +\372\374\370\251\004\321\226\217\253\327\117\074\371\255\030\251 +\164\201\304\127\012\072\046\026\316\142\076\274\077\154\041\356 +\223\215\313\015\240\037\232\226\320\217\255\365\223\223\202\356 +\162\014\241\165\025\243\173\204\126\270\255\377\122\021\161\204 +\274\072\060\013\176\230\250\341\250\077\067\122\320\361\174\157 +\220\330\105\012\254\071\162\152\141\325\273\303\214\371\302\314 +\337\375\072\161\271\257\274\334\072\334\014\266\261\322\321\211 +\273\101\266\362\336\127\325\025\337\374\375\342\061\305\337\312 +\301\330\217\054\277\360\016\133\161\340\064\161\303\305\115\175 +\172\324\372\355\060\113\057\352\266\056\236\223\074\342\072\370 +\102\242\032\356\334\337\315\017\251\366\171\204\032\216\154\002 +\266\206\345\277\121\152\146\370\363\234\323\131\014\173\245\231 +\170\315\174\231\372\306\226\107\330\062\324\164\166\016\167\113 +\040\164\244\267\211\165\222\112\264\133\125\002\003\001\000\001 +\243\202\001\325\060\202\001\321\060\037\006\003\125\035\043\004 +\030\060\026\200\024\241\162\137\046\033\050\230\103\225\135\007 +\067\325\205\226\235\113\322\303\105\060\035\006\003\125\035\016 +\004\026\004\024\206\111\105\374\063\031\063\324\004\355\047\141 +\356\350\001\311\014\177\057\176\060\016\006\003\125\035\017\001 +\001\377\004\004\003\002\005\240\060\014\006\003\125\035\023\001 +\001\377\004\002\060\000\060\035\006\003\125\035\045\004\026\060 +\024\006\010\053\006\001\005\005\007\003\001\006\010\053\006\001 +\005\005\007\003\002\060\106\006\003\125\035\040\004\077\060\075 +\060\073\006\014\053\006\001\004\001\262\061\001\002\001\003\004 +\060\053\060\051\006\010\053\006\001\005\005\007\002\001\026\035 +\150\164\164\160\163\072\057\057\163\145\143\165\162\145\056\143 +\157\155\157\144\157\056\143\157\155\057\103\120\123\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\125\124\116\055\125\123\105\122 +\106\151\162\163\164\055\110\141\162\144\167\141\162\145\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 +\125\124\116\055\125\123\105\122\106\151\162\163\164\055\110\141 +\162\144\167\141\162\145\056\143\162\154\060\161\006\010\053\006 +\001\005\005\007\001\001\004\145\060\143\060\073\006\010\053\006 +\001\005\005\007\060\002\206\057\150\164\164\160\072\057\057\143 +\162\164\056\143\157\155\157\144\157\143\141\056\143\157\155\057 +\125\124\116\101\144\144\124\162\165\163\164\123\145\162\166\145 +\162\103\101\056\143\162\164\060\044\006\010\053\006\001\005\005 +\007\060\001\206\030\150\164\164\160\072\057\057\157\143\163\160 +\056\143\157\155\157\144\157\143\141\056\143\157\155\060\032\006 +\003\125\035\021\004\023\060\021\202\017\154\157\147\151\156\056 +\171\141\150\157\157\056\143\157\155\060\015\006\011\052\206\110 +\206\367\015\001\001\005\005\000\003\202\001\001\000\123\151\230 +\216\050\116\234\053\133\035\314\153\167\050\075\273\372\245\116 +\176\126\051\244\352\020\342\364\346\055\006\321\204\333\043\316 +\227\363\150\266\017\072\336\025\013\044\035\221\343\154\056\060 +\267\351\160\260\303\106\200\360\323\261\121\277\117\326\170\240 +\374\254\306\317\061\004\143\342\064\125\005\112\075\366\060\272 +\363\063\345\272\322\226\363\325\261\266\223\211\032\244\150\276 +\176\355\143\264\032\110\300\123\344\243\360\071\014\062\222\307 +\103\015\032\161\355\320\106\223\277\223\142\154\063\113\315\066 +\015\151\136\273\154\226\231\041\151\304\113\147\162\333\154\152 +\270\367\150\355\305\217\255\143\145\225\012\114\340\371\017\176 +\067\075\252\324\223\272\147\011\303\245\244\015\003\132\155\325 +\013\376\360\100\024\264\366\270\151\174\155\302\062\113\237\265 +\032\347\106\256\114\132\053\252\172\136\220\127\225\372\333\146 +\002\040\036\152\151\146\025\234\302\266\365\274\120\265\375\105 +\307\037\150\264\107\131\254\304\033\050\223\116\122\123\022\003 +\130\113\161\203\237\146\346\254\171\110\376\376\107 +END + +# Trust for Certificate "Bogus Yahoo 3" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Bogus Yahoo 3" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\200\226\052\344\326\305\264\102\211\116\225\241\076\112\151\236 +\007\326\224\317 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\112\334\074\147\355\041\315\133\316\135\310\021\344\236\317\075 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060 +\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153 +\145\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\041\060\037\006\003\125\004\013\023 +\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162 +\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125 +\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163 +\164\055\110\141\162\144\167\141\162\145 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\076\165\316\324\153\151\060\041\041\210\060\256\206\250 +\052\161 +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 "Bogus live.com" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Bogus live.com" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\336\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\016\060\014\006\003\125\004\021\023\005\063\070\064\067\067 +\061\020\060\016\006\003\125\004\010\023\007\106\154\157\162\151 +\144\141\061\020\060\016\006\003\125\004\007\023\007\105\156\147 +\154\151\163\150\061\027\060\025\006\003\125\004\011\023\016\123 +\145\141\040\126\151\154\154\141\147\145\040\061\060\061\024\060 +\022\006\003\125\004\012\023\013\107\157\157\147\154\145\040\114 +\164\144\056\061\023\060\021\006\003\125\004\013\023\012\124\145 +\143\150\040\104\145\160\164\056\061\050\060\046\006\003\125\004 +\013\023\037\110\157\163\164\145\144\040\142\171\040\107\124\111 +\040\107\162\157\165\160\040\103\157\162\160\157\162\141\164\151 +\157\156\061\024\060\022\006\003\125\004\013\023\013\120\154\141 +\164\151\156\165\155\123\123\114\061\027\060\025\006\003\125\004 +\003\023\016\154\157\147\151\156\056\154\151\166\145\056\143\157 +\155 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060 +\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153 +\145\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\041\060\037\006\003\125\004\013\023 +\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162 +\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125 +\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163 +\164\055\110\141\162\144\167\141\162\145 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\021\000\260\267\023\076\320\226\371\265\157\256\221\310\164 +\275\072\300 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\354\060\202\004\324\240\003\002\001\002\002\021\000 +\260\267\023\076\320\226\371\265\157\256\221\310\164\275\072\300 +\060\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060 +\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060\025 +\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153\145 +\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\041\060\037\006\003\125\004\013\023\030 +\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162\164 +\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125\004 +\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163\164 +\055\110\141\162\144\167\141\162\145\060\036\027\015\061\061\060 +\063\061\065\060\060\060\060\060\060\132\027\015\061\064\060\063 +\061\064\062\063\065\071\065\071\132\060\201\336\061\013\060\011 +\006\003\125\004\006\023\002\125\123\061\016\060\014\006\003\125 +\004\021\023\005\063\070\064\067\067\061\020\060\016\006\003\125 +\004\010\023\007\106\154\157\162\151\144\141\061\020\060\016\006 +\003\125\004\007\023\007\105\156\147\154\151\163\150\061\027\060 +\025\006\003\125\004\011\023\016\123\145\141\040\126\151\154\154 +\141\147\145\040\061\060\061\024\060\022\006\003\125\004\012\023 +\013\107\157\157\147\154\145\040\114\164\144\056\061\023\060\021 +\006\003\125\004\013\023\012\124\145\143\150\040\104\145\160\164 +\056\061\050\060\046\006\003\125\004\013\023\037\110\157\163\164 +\145\144\040\142\171\040\107\124\111\040\107\162\157\165\160\040 +\103\157\162\160\157\162\141\164\151\157\156\061\024\060\022\006 +\003\125\004\013\023\013\120\154\141\164\151\156\165\155\123\123 +\114\061\027\060\025\006\003\125\004\003\023\016\154\157\147\151 +\156\056\154\151\166\145\056\143\157\155\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\363\374\053\057\357 +\341\255\131\360\102\074\302\361\202\277\054\101\223\321\366\230 +\063\225\114\274\142\361\225\130\010\266\351\173\167\110\260\323 +\334\027\077\274\156\346\354\036\354\215\027\376\034\044\306\076 +\147\075\222\225\242\060\300\247\127\040\317\160\210\227\112\005 +\223\171\223\102\227\057\076\377\304\024\024\050\242\023\066\264 +\370\356\276\035\274\170\135\141\223\137\353\210\327\321\344\053 +\232\315\130\342\007\105\237\117\270\271\100\152\063\054\133\041 +\003\132\112\224\362\172\227\131\033\250\265\102\330\203\000\252 +\064\314\247\166\320\107\003\137\005\257\073\341\271\241\064\045 +\267\154\137\232\060\204\230\302\302\327\362\270\102\112\020\125 +\275\372\123\201\135\215\150\146\105\054\122\176\345\304\004\303 +\124\347\303\071\332\172\112\305\271\230\202\040\341\054\140\127 +\277\272\362\106\000\274\137\072\334\343\063\227\370\112\230\271 +\354\063\117\055\140\154\025\222\246\201\112\013\351\354\166\160 +\064\061\027\160\346\160\113\216\213\323\165\313\170\111\253\146 +\233\206\237\217\251\304\001\350\312\033\347\002\003\001\000\001 +\243\202\001\350\060\202\001\344\060\037\006\003\125\035\043\004 +\030\060\026\200\024\241\162\137\046\033\050\230\103\225\135\007 +\067\325\205\226\235\113\322\303\105\060\035\006\003\125\035\016 +\004\026\004\024\324\144\366\251\350\245\176\327\277\143\122\003 +\203\123\333\305\101\215\352\200\060\016\006\003\125\035\017\001 +\001\377\004\004\003\002\005\240\060\014\006\003\125\035\023\001 +\001\377\004\002\060\000\060\035\006\003\125\035\045\004\026\060 +\024\006\010\053\006\001\005\005\007\003\001\006\010\053\006\001 +\005\005\007\003\002\060\106\006\003\125\035\040\004\077\060\075 +\060\073\006\014\053\006\001\004\001\262\061\001\002\001\003\004 +\060\053\060\051\006\010\053\006\001\005\005\007\002\001\026\035 +\150\164\164\160\163\072\057\057\163\145\143\165\162\145\056\143 +\157\155\157\144\157\056\143\157\155\057\103\120\123\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\125\124\116\055\125\123\105\122 +\106\151\162\163\164\055\110\141\162\144\167\141\162\145\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 +\125\124\116\055\125\123\105\122\106\151\162\163\164\055\110\141 +\162\144\167\141\162\145\056\143\162\154\060\161\006\010\053\006 +\001\005\005\007\001\001\004\145\060\143\060\073\006\010\053\006 +\001\005\005\007\060\002\206\057\150\164\164\160\072\057\057\143 +\162\164\056\143\157\155\157\144\157\143\141\056\143\157\155\057 +\125\124\116\101\144\144\124\162\165\163\164\123\145\162\166\145 +\162\103\101\056\143\162\164\060\044\006\010\053\006\001\005\005 +\007\060\001\206\030\150\164\164\160\072\057\057\157\143\163\160 +\056\143\157\155\157\144\157\143\141\056\143\157\155\060\055\006 +\003\125\035\021\004\046\060\044\202\016\154\157\147\151\156\056 +\154\151\166\145\056\143\157\155\202\022\167\167\167\056\154\157 +\147\151\156\056\154\151\166\145\056\143\157\155\060\015\006\011 +\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000 +\124\343\244\232\044\322\363\035\102\255\033\360\036\253\373\332 +\325\252\351\317\132\263\036\127\173\061\362\156\127\113\061\257 +\063\273\266\015\025\307\136\131\001\316\104\265\267\277\011\311 +\325\334\151\204\351\305\032\267\360\076\324\300\044\275\051\137 +\264\351\326\130\353\105\021\211\064\064\323\021\353\064\316\052 +\117\000\075\366\162\357\151\146\300\237\232\254\176\160\120\254 +\125\107\332\276\103\133\354\213\310\305\043\204\311\237\266\122 +\010\317\221\033\057\200\151\346\064\063\346\263\237\244\345\015 +\232\025\371\127\374\013\251\101\013\365\377\130\101\222\042\047 +\146\022\006\307\052\330\131\247\306\337\104\022\117\300\250\177 +\247\101\310\310\151\377\272\005\056\227\255\073\320\353\363\025 +\155\176\033\345\272\335\064\276\042\021\354\150\230\063\201\002 +\152\013\023\125\171\061\165\116\072\310\266\023\275\227\157\067 +\012\013\055\210\016\336\147\220\302\263\312\040\312\232\121\364 +\144\076\333\364\056\105\362\307\107\027\250\364\372\220\132\177 +\200\246\202\254\344\154\201\106\273\122\205\040\044\370\200\352 +END + +# Trust for Certificate "Bogus live.com" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Bogus live.com" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\316\245\206\262\316\131\076\307\331\071\211\203\067\305\170\024 +\160\212\262\276 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\320\324\071\343\314\134\122\335\010\315\351\253\350\021\131\324 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060 +\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153 +\145\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\041\060\037\006\003\125\004\013\023 +\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162 +\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125 +\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163 +\164\055\110\141\162\144\167\141\162\145 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\021\000\260\267\023\076\320\226\371\265\157\256\221\310\164 +\275\072\300 +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 "Bogus kuix.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 "Bogus kuix.de" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\361\061\013\060\011\006\003\125\004\006\023\002\104\105 +\061\016\060\014\006\003\125\004\021\023\005\061\062\063\064\065 +\061\023\060\021\006\003\125\004\010\023\012\124\145\163\164\040 +\123\164\141\164\145\061\022\060\020\006\003\125\004\007\023\011 +\124\145\163\164\040\103\151\164\171\061\024\060\022\006\003\125 +\004\011\023\013\124\145\163\164\040\123\164\162\145\145\164\061 +\023\060\021\006\003\125\004\012\023\012\113\141\151\040\105\156 +\147\145\162\164\061\042\060\040\006\003\125\004\013\023\031\106 +\157\162\040\124\145\163\164\151\156\147\040\120\165\162\160\157 +\163\145\163\040\117\156\154\171\061\055\060\053\006\003\125\004 +\013\023\044\124\105\123\124\040\125\123\105\040\117\116\114\131 +\040\055\040\116\117\040\127\101\122\122\101\116\124\131\040\101 +\124\124\101\103\110\105\104\061\031\060\027\006\003\125\004\013 +\023\020\103\157\155\157\144\157\040\124\162\151\141\154\040\123 +\123\114\061\020\060\016\006\003\125\004\003\023\007\153\165\151 +\170\056\144\145 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060 +\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153 +\145\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\041\060\037\006\003\125\004\013\023 +\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162 +\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125 +\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163 +\164\055\110\141\162\144\167\141\162\145 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\162\003\041\005\305\014\010\127\075\216\245\060\116\376 +\350\260 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\154\060\202\004\124\240\003\002\001\002\002\020\162 +\003\041\005\305\014\010\127\075\216\245\060\116\376\350\260\060 +\015\006\011\052\206\110\206\367\015\001\001\005\005\000\060\201 +\227\061\013\060\011\006\003\125\004\006\023\002\125\123\061\013 +\060\011\006\003\125\004\010\023\002\125\124\061\027\060\025\006 +\003\125\004\007\023\016\123\141\154\164\040\114\141\153\145\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\041\060\037\006\003\125\004\013\023\030\150 +\164\164\160\072\057\057\167\167\167\056\165\163\145\162\164\162 +\165\163\164\056\143\157\155\061\037\060\035\006\003\125\004\003 +\023\026\125\124\116\055\125\123\105\122\106\151\162\163\164\055 +\110\141\162\144\167\141\162\145\060\036\027\015\061\061\060\063 +\061\067\060\060\060\060\060\060\132\027\015\061\061\060\064\061 +\066\062\063\065\071\065\071\132\060\201\361\061\013\060\011\006 +\003\125\004\006\023\002\104\105\061\016\060\014\006\003\125\004 +\021\023\005\061\062\063\064\065\061\023\060\021\006\003\125\004 +\010\023\012\124\145\163\164\040\123\164\141\164\145\061\022\060 +\020\006\003\125\004\007\023\011\124\145\163\164\040\103\151\164 +\171\061\024\060\022\006\003\125\004\011\023\013\124\145\163\164 +\040\123\164\162\145\145\164\061\023\060\021\006\003\125\004\012 +\023\012\113\141\151\040\105\156\147\145\162\164\061\042\060\040 +\006\003\125\004\013\023\031\106\157\162\040\124\145\163\164\151 +\156\147\040\120\165\162\160\157\163\145\163\040\117\156\154\171 +\061\055\060\053\006\003\125\004\013\023\044\124\105\123\124\040 +\125\123\105\040\117\116\114\131\040\055\040\116\117\040\127\101 +\122\122\101\116\124\131\040\101\124\124\101\103\110\105\104\061 +\031\060\027\006\003\125\004\013\023\020\103\157\155\157\144\157 +\040\124\162\151\141\154\040\123\123\114\061\020\060\016\006\003 +\125\004\003\023\007\153\165\151\170\056\144\145\060\201\237\060 +\015\006\011\052\206\110\206\367\015\001\001\001\005\000\003\201 +\215\000\060\201\211\002\201\201\000\270\252\216\365\227\107\007 +\137\345\170\166\156\223\153\216\337\113\074\333\231\057\161\123 +\051\156\245\363\044\117\110\045\043\100\001\354\012\025\013\354 +\156\310\236\046\043\146\373\351\333\330\050\205\041\117\036\337 +\173\114\345\143\301\013\262\142\126\224\123\313\277\234\241\115 +\331\207\305\151\110\074\261\277\245\150\122\041\035\172\334\224 +\117\104\156\107\045\035\237\234\222\322\067\035\371\133\133\262 +\335\076\030\327\363\207\146\255\243\364\316\217\321\157\360\271 +\264\357\261\352\025\143\012\316\201\002\003\001\000\001\243\202 +\001\332\060\202\001\326\060\037\006\003\125\035\043\004\030\060 +\026\200\024\241\162\137\046\033\050\230\103\225\135\007\067\325 +\205\226\235\113\322\303\105\060\035\006\003\125\035\016\004\026 +\004\024\100\217\071\046\234\114\206\043\231\306\121\011\246\346 +\362\301\376\247\366\267\060\016\006\003\125\035\017\001\001\377 +\004\004\003\002\005\240\060\014\006\003\125\035\023\001\001\377 +\004\002\060\000\060\035\006\003\125\035\045\004\026\060\024\006 +\010\053\006\001\005\005\007\003\001\006\010\053\006\001\005\005 +\007\003\002\060\106\006\003\125\035\040\004\077\060\075\060\073 +\006\014\053\006\001\004\001\262\061\001\002\001\003\004\060\053 +\060\051\006\010\053\006\001\005\005\007\002\001\026\035\150\164 +\164\160\163\072\057\057\163\145\143\165\162\145\056\143\157\155 +\157\144\157\056\143\157\155\057\103\120\123\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\125\124\116\055\125\123\105\122\106\151 +\162\163\164\055\110\141\162\144\167\141\162\145\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\125\124 +\116\055\125\123\105\122\106\151\162\163\164\055\110\141\162\144 +\167\141\162\145\056\143\162\154\060\161\006\010\053\006\001\005 +\005\007\001\001\004\145\060\143\060\073\006\010\053\006\001\005 +\005\007\060\002\206\057\150\164\164\160\072\057\057\143\162\164 +\056\143\157\155\157\144\157\143\141\056\143\157\155\057\125\124 +\116\101\144\144\124\162\165\163\164\123\145\162\166\145\162\103 +\101\056\143\162\164\060\044\006\010\053\006\001\005\005\007\060 +\001\206\030\150\164\164\160\072\057\057\157\143\163\160\056\143 +\157\155\157\144\157\143\141\056\143\157\155\060\037\006\003\125 +\035\021\004\030\060\026\202\007\153\165\151\170\056\144\145\202 +\013\167\167\167\056\153\165\151\170\056\144\145\060\015\006\011 +\052\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000 +\216\141\036\046\036\242\331\031\320\360\324\275\211\371\352\222 +\021\171\152\136\173\174\237\176\071\163\011\126\121\346\206\124 +\307\155\106\166\122\312\152\250\064\300\140\076\003\316\263\311 +\110\227\321\237\246\241\152\017\376\167\321\036\020\263\127\200 +\251\006\046\204\246\373\172\067\023\316\204\314\167\171\011\056 +\342\104\276\037\254\167\156\167\106\101\333\260\262\151\221\164 +\321\200\226\141\061\014\057\012\317\265\320\334\010\055\353\366 +\165\202\336\212\056\272\075\007\220\140\071\126\203\341\202\312 +\043\254\337\343\317\115\160\127\301\270\267\223\232\355\334\213 +\336\112\240\125\050\002\253\103\014\124\227\150\030\242\353\071 +\341\271\374\277\163\200\144\063\022\173\207\140\002\347\076\160 +\311\207\312\251\066\074\005\361\006\136\161\012\016\012\066\231 +\260\207\347\151\132\261\240\060\116\175\141\130\313\306\250\226 +\200\136\175\301\052\377\233\112\112\353\051\147\212\017\157\346 +\031\355\202\317\201\127\341\044\255\242\321\372\332\024\227\260 +\154\174\107\306\327\224\021\041\354\326\132\322\335\217\177\221 +END + +# Trust for Certificate "Bogus kuix.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 "Bogus kuix.de" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\202\141\113\354\227\110\025\336\314\232\314\156\204\041\161\171 +\262\144\040\100 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\367\137\230\274\330\144\014\026\345\256\356\252\000\366\037\007 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\227\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\013\060\011\006\003\125\004\010\023\002\125\124\061\027\060 +\025\006\003\125\004\007\023\016\123\141\154\164\040\114\141\153 +\145\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\041\060\037\006\003\125\004\013\023 +\030\150\164\164\160\072\057\057\167\167\167\056\165\163\145\162 +\164\162\165\163\164\056\143\157\155\061\037\060\035\006\003\125 +\004\003\023\026\125\124\116\055\125\123\105\122\106\151\162\163 +\164\055\110\141\162\144\167\141\162\145 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\020\162\003\041\005\305\014\010\127\075\216\245\060\116\376 +\350\260 +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 "Go Daddy Root Certificate Authority - G2" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "Go Daddy Root Certificate Authority - G2" +CKA_CLASS CK_OBJECT_CLASS 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_TRUST_UNKNOWN +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Starfield Root Certificate Authority - G2" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "Starfield Root Certificate Authority - G2" +CKA_CLASS CK_OBJECT_CLASS 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_TRUST_UNKNOWN +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Starfield Services Root Certificate Authority - G2" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "Starfield Services Root Certificate Authority - G2" +CKA_CLASS CK_OBJECT_CLASS 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_TRUST_UNKNOWN +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "AffirmTrust Commercial" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "AffirmTrust Commercial" +CKA_CLASS CK_OBJECT_CLASS 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_TRUST_UNKNOWN +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "AffirmTrust Networking" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "AffirmTrust Networking" +CKA_CLASS CK_OBJECT_CLASS 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_TRUST_UNKNOWN +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "AffirmTrust Premium" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "AffirmTrust Premium" +CKA_CLASS CK_OBJECT_CLASS 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_TRUST_UNKNOWN +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "AffirmTrust Premium ECC" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "AffirmTrust Premium ECC" +CKA_CLASS CK_OBJECT_CLASS 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_TRUST_UNKNOWN +CKA_TRUST_CODE_SIGNING CK_TRUST CKT_NSS_TRUST_UNKNOWN +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Certum Trusted Network 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 "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 + +# Trust for Certificate "Certum Trusted Network 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 "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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "Certinomis - Autorité Racine" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Certinomis - Autorité Racine" +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\106\122\061 +\023\060\021\006\003\125\004\012\023\012\103\145\162\164\151\156 +\157\155\151\163\061\027\060\025\006\003\125\004\013\023\016\060 +\060\060\062\040\064\063\063\071\071\070\071\060\063\061\046\060 +\044\006\003\125\004\003\014\035\103\145\162\164\151\156\157\155 +\151\163\040\055\040\101\165\164\157\162\151\164\303\251\040\122 +\141\143\151\156\145 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\143\061\013\060\011\006\003\125\004\006\023\002\106\122\061 +\023\060\021\006\003\125\004\012\023\012\103\145\162\164\151\156 +\157\155\151\163\061\027\060\025\006\003\125\004\013\023\016\060 +\060\060\062\040\064\063\063\071\071\070\071\060\063\061\046\060 +\044\006\003\125\004\003\014\035\103\145\162\164\151\156\157\155 +\151\163\040\055\040\101\165\164\157\162\151\164\303\251\040\122 +\141\143\151\156\145 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\001\001 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\234\060\202\003\204\240\003\002\001\002\002\001\001 +\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\106\122\061\023 +\060\021\006\003\125\004\012\023\012\103\145\162\164\151\156\157 +\155\151\163\061\027\060\025\006\003\125\004\013\023\016\060\060 +\060\062\040\064\063\063\071\071\070\071\060\063\061\046\060\044 +\006\003\125\004\003\014\035\103\145\162\164\151\156\157\155\151 +\163\040\055\040\101\165\164\157\162\151\164\303\251\040\122\141 +\143\151\156\145\060\036\027\015\060\070\060\071\061\067\060\070 +\062\070\065\071\132\027\015\062\070\060\071\061\067\060\070\062 +\070\065\071\132\060\143\061\013\060\011\006\003\125\004\006\023 +\002\106\122\061\023\060\021\006\003\125\004\012\023\012\103\145 +\162\164\151\156\157\155\151\163\061\027\060\025\006\003\125\004 +\013\023\016\060\060\060\062\040\064\063\063\071\071\070\071\060 +\063\061\046\060\044\006\003\125\004\003\014\035\103\145\162\164 +\151\156\157\155\151\163\040\055\040\101\165\164\157\162\151\164 +\303\251\040\122\141\143\151\156\145\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\235\205\237\206\323\343 +\257\307\262\153\156\063\340\236\267\102\064\125\235\371\201\276 +\143\330\043\166\016\227\124\315\231\114\032\361\071\307\210\330 +\027\120\014\236\141\332\300\116\125\336\347\132\270\172\116\167 +\207\015\345\270\353\372\236\136\173\036\304\317\050\164\307\223 +\365\024\306\042\050\004\371\221\303\253\047\163\152\016\056\115 +\363\056\050\037\160\337\125\057\116\355\307\161\157\011\162\056 +\355\325\062\227\320\361\130\167\321\140\274\116\136\333\232\204 +\366\107\141\105\053\366\120\246\177\152\161\047\110\204\065\236 +\254\376\151\251\236\172\136\065\045\372\264\247\111\065\167\226 +\247\066\133\341\315\337\043\160\330\135\114\245\010\203\361\246 +\044\070\023\250\354\057\250\241\147\307\246\055\206\107\356\212 +\374\354\233\016\164\364\053\111\002\173\220\165\214\374\231\071 +\001\071\326\112\211\345\236\166\253\076\226\050\070\046\213\335 +\215\214\300\366\001\036\157\245\061\022\070\175\225\302\161\356 +\355\164\256\344\066\242\103\165\325\361\000\233\342\344\327\314 +\102\003\113\170\172\345\175\273\270\256\056\040\223\323\344\141 +\337\161\341\166\147\227\077\266\337\152\163\132\144\042\345\102 +\333\317\201\003\223\330\364\343\020\340\162\366\000\160\254\360 +\301\172\017\005\177\317\064\151\105\265\223\344\031\333\122\026 +\043\005\211\016\215\110\344\045\157\263\170\277\142\365\007\372 +\225\044\302\226\262\350\243\043\302\135\003\374\303\323\345\174 +\311\165\043\327\364\365\274\336\344\337\315\200\277\221\210\175 +\247\023\264\071\272\054\272\275\321\153\314\363\245\050\355\104 +\236\175\122\243\157\226\056\031\176\034\363\133\307\026\216\273 +\140\175\167\146\107\124\202\000\021\140\154\062\301\250\070\033 +\353\156\230\023\326\356\070\365\360\237\016\357\376\061\201\301 +\322\044\225\057\123\172\151\242\360\017\206\105\216\130\202\053 +\114\042\324\136\240\347\175\046\047\110\337\045\106\215\112\050 +\174\206\236\371\233\032\131\271\145\277\005\335\266\102\135\075 +\346\000\110\202\136\040\367\021\202\336\312\330\237\346\067\107 +\046\036\353\170\367\141\303\101\144\130\002\101\371\332\340\321 +\370\371\350\375\122\070\266\365\211\337\002\003\001\000\001\243 +\133\060\131\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\015 +\214\266\141\332\104\270\321\024\175\303\276\175\136\110\360\316 +\312\152\260\060\027\006\003\125\035\040\004\020\060\016\060\014 +\006\012\052\201\172\001\126\002\002\000\001\001\060\015\006\011 +\052\206\110\206\367\015\001\001\005\005\000\003\202\002\001\000 +\044\076\140\006\176\035\357\072\076\333\352\257\034\232\054\001 +\013\364\305\265\331\111\061\364\135\101\215\211\014\116\377\154 +\242\375\377\342\006\310\071\237\361\132\251\335\042\130\025\250 +\212\323\261\346\062\011\202\003\154\327\077\010\307\370\271\272 +\000\155\271\326\374\122\062\135\244\177\244\061\224\273\266\114 +\070\177\050\060\065\377\237\043\123\267\266\356\024\160\000\100 +\053\332\107\253\064\176\136\247\126\060\141\053\213\103\254\375 +\266\210\050\365\153\266\076\140\112\272\102\220\064\147\215\352 +\353\137\105\124\073\027\254\213\344\306\145\017\356\320\214\135 +\146\071\316\062\247\330\020\227\300\176\064\234\237\224\363\366 +\206\037\317\033\163\255\224\171\207\150\160\303\063\245\160\347 +\330\325\070\224\157\143\171\353\277\012\016\010\347\305\057\017 +\102\240\053\024\100\377\041\340\005\305\047\341\204\021\023\272 +\326\206\035\101\013\023\043\211\323\311\013\350\212\272\172\243 +\243\163\067\065\200\175\022\270\063\167\100\070\300\372\136\060 +\322\362\266\243\261\326\242\225\227\201\233\122\355\151\114\377 +\200\344\123\333\124\133\003\155\124\137\261\270\357\044\275\157 +\237\021\303\307\144\302\017\050\142\205\146\136\032\173\262\267 +\357\256\065\311\031\063\250\270\047\333\063\125\277\150\341\165 +\110\104\126\373\315\323\110\273\107\211\072\254\151\365\200\306 +\344\104\120\057\124\304\252\103\305\061\061\130\275\226\305\352 +\165\154\232\165\261\115\370\367\227\377\226\026\362\227\115\350 +\366\363\021\371\072\175\212\070\156\004\313\341\323\105\025\252 +\245\321\035\235\135\143\350\044\346\066\024\342\207\255\033\131 +\365\104\233\373\327\167\174\037\001\160\142\241\040\032\242\305 +\032\050\364\041\003\356\056\331\301\200\352\271\331\202\326\133 +\166\302\313\073\265\322\000\360\243\016\341\255\156\100\367\333 +\240\264\320\106\256\025\327\104\302\115\065\371\322\013\362\027 +\366\254\146\325\044\262\117\321\034\231\300\156\365\175\353\164 +\004\270\371\115\167\011\327\264\317\007\060\011\361\270\000\126 +\331\027\026\026\012\053\206\337\217\001\031\032\345\273\202\143 +\377\276\013\166\026\136\067\067\346\330\164\227\242\231\105\171 +END + +# Trust for Certificate "Certinomis - Autorité Racine" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Certinomis - Autorité Racine" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\056\024\332\354\050\360\372\036\216\070\232\116\253\353\046\300 +\012\323\203\303 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\177\060\170\214\003\343\312\311\012\342\311\352\036\252\125\032 +END +CKA_ISSUER MULTILINE_OCTAL +\060\143\061\013\060\011\006\003\125\004\006\023\002\106\122\061 +\023\060\021\006\003\125\004\012\023\012\103\145\162\164\151\156 +\157\155\151\163\061\027\060\025\006\003\125\004\013\023\016\060 +\060\060\062\040\064\063\063\071\071\070\071\060\063\061\046\060 +\044\006\003\125\004\003\014\035\103\145\162\164\151\156\157\155 +\151\163\040\055\040\101\165\164\157\162\151\164\303\251\040\122 +\141\143\151\156\145 +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 "Root CA Generalitat Valenciana" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Root CA Generalitat Valenciana" +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\105\123\061 +\037\060\035\006\003\125\004\012\023\026\107\145\156\145\162\141 +\154\151\164\141\164\040\126\141\154\145\156\143\151\141\156\141 +\061\017\060\015\006\003\125\004\013\023\006\120\113\111\107\126 +\101\061\047\060\045\006\003\125\004\003\023\036\122\157\157\164 +\040\103\101\040\107\145\156\145\162\141\154\151\164\141\164\040 +\126\141\154\145\156\143\151\141\156\141 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\150\061\013\060\011\006\003\125\004\006\023\002\105\123\061 +\037\060\035\006\003\125\004\012\023\026\107\145\156\145\162\141 +\154\151\164\141\164\040\126\141\154\145\156\143\151\141\156\141 +\061\017\060\015\006\003\125\004\013\023\006\120\113\111\107\126 +\101\061\047\060\045\006\003\125\004\003\023\036\122\157\157\164 +\040\103\101\040\107\145\156\145\162\141\154\151\164\141\164\040 +\126\141\154\145\156\143\151\141\156\141 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\073\105\345\150 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\006\213\060\202\005\163\240\003\002\001\002\002\004\073 +\105\345\150\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\105 +\123\061\037\060\035\006\003\125\004\012\023\026\107\145\156\145 +\162\141\154\151\164\141\164\040\126\141\154\145\156\143\151\141 +\156\141\061\017\060\015\006\003\125\004\013\023\006\120\113\111 +\107\126\101\061\047\060\045\006\003\125\004\003\023\036\122\157 +\157\164\040\103\101\040\107\145\156\145\162\141\154\151\164\141 +\164\040\126\141\154\145\156\143\151\141\156\141\060\036\027\015 +\060\061\060\067\060\066\061\066\062\062\064\067\132\027\015\062 +\061\060\067\060\061\061\065\062\062\064\067\132\060\150\061\013 +\060\011\006\003\125\004\006\023\002\105\123\061\037\060\035\006 +\003\125\004\012\023\026\107\145\156\145\162\141\154\151\164\141 +\164\040\126\141\154\145\156\143\151\141\156\141\061\017\060\015 +\006\003\125\004\013\023\006\120\113\111\107\126\101\061\047\060 +\045\006\003\125\004\003\023\036\122\157\157\164\040\103\101\040 +\107\145\156\145\162\141\154\151\164\141\164\040\126\141\154\145 +\156\143\151\141\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\306\052\253\127\021\067\057\042\212 +\312\003\164\035\312\355\055\242\013\274\063\122\100\046\107\276 +\132\151\246\073\162\066\027\114\350\337\270\273\057\166\341\100 +\106\164\145\002\220\122\010\264\377\250\214\301\340\307\211\126 +\020\071\063\357\150\264\137\137\332\155\043\241\211\136\042\243 +\112\006\360\047\360\127\271\370\351\116\062\167\012\077\101\144 +\363\353\145\356\166\376\124\252\175\035\040\256\363\327\164\302 +\012\137\365\010\050\122\010\314\125\135\322\017\333\232\201\245 +\273\241\263\301\224\315\124\340\062\165\061\221\032\142\262\336 +\165\342\317\117\211\331\221\220\017\101\033\264\132\112\167\275 +\147\203\340\223\347\136\247\014\347\201\323\364\122\254\123\262 +\003\307\104\046\373\171\345\313\064\140\120\020\173\033\333\153 +\327\107\253\137\174\150\312\156\235\101\003\020\356\153\231\173 +\136\045\250\302\253\344\300\363\134\234\343\276\316\061\114\144 +\036\136\200\242\365\203\176\014\326\312\214\125\216\276\340\276 +\111\007\017\243\044\101\172\130\035\204\352\130\022\310\341\267 +\355\357\223\336\224\010\061\002\003\001\000\001\243\202\003\073 +\060\202\003\067\060\062\006\010\053\006\001\005\005\007\001\001 +\004\046\060\044\060\042\006\010\053\006\001\005\005\007\060\001 +\206\026\150\164\164\160\072\057\057\157\143\163\160\056\160\153 +\151\056\147\166\141\056\145\163\060\022\006\003\125\035\023\001 +\001\377\004\010\060\006\001\001\377\002\001\002\060\202\002\064 +\006\003\125\035\040\004\202\002\053\060\202\002\047\060\202\002 +\043\006\012\053\006\001\004\001\277\125\002\001\000\060\202\002 +\023\060\202\001\350\006\010\053\006\001\005\005\007\002\002\060 +\202\001\332\036\202\001\326\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\107\000\145\000\156\000\145\000\162\000\141\000 +\154\000\151\000\164\000\141\000\164\000\040\000\126\000\141\000 +\154\000\145\000\156\000\143\000\151\000\141\000\156\000\141\000 +\056\000\015\000\012\000\114\000\141\000\040\000\104\000\145\000 +\143\000\154\000\141\000\162\000\141\000\143\000\151\000\363\000 +\156\000\040\000\144\000\145\000\040\000\120\000\162\000\341\000 +\143\000\164\000\151\000\143\000\141\000\163\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 +\161\000\165\000\145\000\040\000\162\000\151\000\147\000\145\000 +\040\000\145\000\154\000\040\000\146\000\165\000\156\000\143\000 +\151\000\157\000\156\000\141\000\155\000\151\000\145\000\156\000 +\164\000\157\000\040\000\144\000\145\000\040\000\154\000\141\000 +\040\000\160\000\162\000\145\000\163\000\145\000\156\000\164\000 +\145\000\040\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\163\000\145\000\040\000 +\145\000\156\000\143\000\165\000\145\000\156\000\164\000\162\000 +\141\000\040\000\145\000\156\000\040\000\154\000\141\000\040\000 +\144\000\151\000\162\000\145\000\143\000\143\000\151\000\363\000 +\156\000\040\000\167\000\145\000\142\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\160\000\153\000\151\000\056\000\147\000\166\000\141\000 +\056\000\145\000\163\000\057\000\143\000\160\000\163\060\045\006 +\010\053\006\001\005\005\007\002\001\026\031\150\164\164\160\072 +\057\057\167\167\167\056\160\153\151\056\147\166\141\056\145\163 +\057\143\160\163\060\035\006\003\125\035\016\004\026\004\024\173 +\065\323\100\322\034\170\031\146\357\164\020\050\334\076\117\262 +\170\004\374\060\201\225\006\003\125\035\043\004\201\215\060\201 +\212\200\024\173\065\323\100\322\034\170\031\146\357\164\020\050 +\334\076\117\262\170\004\374\241\154\244\152\060\150\061\013\060 +\011\006\003\125\004\006\023\002\105\123\061\037\060\035\006\003 +\125\004\012\023\026\107\145\156\145\162\141\154\151\164\141\164 +\040\126\141\154\145\156\143\151\141\156\141\061\017\060\015\006 +\003\125\004\013\023\006\120\113\111\107\126\101\061\047\060\045 +\006\003\125\004\003\023\036\122\157\157\164\040\103\101\040\107 +\145\156\145\162\141\154\151\164\141\164\040\126\141\154\145\156 +\143\151\141\156\141\202\004\073\105\345\150\060\015\006\011\052 +\206\110\206\367\015\001\001\005\005\000\003\202\001\001\000\044 +\141\116\365\265\310\102\002\052\263\134\165\255\305\155\312\347 +\224\077\245\150\225\210\301\124\300\020\151\242\022\057\030\077 +\045\120\250\174\112\352\306\011\331\364\165\306\100\332\257\120 +\235\075\245\026\273\155\061\306\307\163\012\110\376\040\162\355 +\157\314\350\203\141\026\106\220\001\225\113\175\216\232\122\011 +\057\366\157\034\344\241\161\317\214\052\132\027\163\203\107\115 +\017\066\373\004\115\111\121\342\024\311\144\141\373\324\024\340 +\364\236\267\064\217\012\046\275\227\134\364\171\072\112\060\031 +\314\255\117\240\230\212\264\061\227\052\342\163\155\176\170\270 +\370\210\211\117\261\042\221\144\113\365\120\336\003\333\345\305 +\166\347\023\146\165\176\145\373\001\237\223\207\210\235\371\106 +\127\174\115\140\257\230\163\023\043\244\040\221\201\372\320\141 +\146\270\175\321\257\326\157\036\154\075\351\021\375\251\371\202 +\042\206\231\063\161\132\352\031\127\075\221\315\251\300\243\156 +\007\023\246\311\355\370\150\243\236\303\132\162\011\207\050\321 +\304\163\304\163\030\137\120\165\026\061\237\267\350\174\303 +END + +# Trust for Certificate "Root CA Generalitat Valenciana" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "Root CA Generalitat Valenciana" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\240\163\345\305\275\103\141\015\206\114\041\023\012\205\130\127 +\314\234\352\106 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\054\214\027\136\261\124\253\223\027\265\066\132\333\321\306\362 +END +CKA_ISSUER MULTILINE_OCTAL +\060\150\061\013\060\011\006\003\125\004\006\023\002\105\123\061 +\037\060\035\006\003\125\004\012\023\026\107\145\156\145\162\141 +\154\151\164\141\164\040\126\141\154\145\156\143\151\141\156\141 +\061\017\060\015\006\003\125\004\013\023\006\120\113\111\107\126 +\101\061\047\060\045\006\003\125\004\003\023\036\122\157\157\164 +\040\103\101\040\107\145\156\145\162\141\154\151\164\141\164\040 +\126\141\154\145\156\143\151\141\156\141 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\073\105\345\150 +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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "A-Trust-nQual-03" +# +CKA_CLASS CK_OBJECT_CLASS CKO_CERTIFICATE +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "A-Trust-nQual-03" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\201\215\061\013\060\011\006\003\125\004\006\023\002\101\124 +\061\110\060\106\006\003\125\004\012\014\077\101\055\124\162\165 +\163\164\040\107\145\163\056\040\146\056\040\123\151\143\150\145 +\162\150\145\151\164\163\163\171\163\164\145\155\145\040\151\155 +\040\145\154\145\153\164\162\056\040\104\141\164\145\156\166\145 +\162\153\145\150\162\040\107\155\142\110\061\031\060\027\006\003 +\125\004\013\014\020\101\055\124\162\165\163\164\055\156\121\165 +\141\154\055\060\063\061\031\060\027\006\003\125\004\003\014\020 +\101\055\124\162\165\163\164\055\156\121\165\141\154\055\060\063 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\201\215\061\013\060\011\006\003\125\004\006\023\002\101\124 +\061\110\060\106\006\003\125\004\012\014\077\101\055\124\162\165 +\163\164\040\107\145\163\056\040\146\056\040\123\151\143\150\145 +\162\150\145\151\164\163\163\171\163\164\145\155\145\040\151\155 +\040\145\154\145\153\164\162\056\040\104\141\164\145\156\166\145 +\162\153\145\150\162\040\107\155\142\110\061\031\060\027\006\003 +\125\004\013\014\020\101\055\124\162\165\163\164\055\156\121\165 +\141\154\055\060\063\061\031\060\027\006\003\125\004\003\014\020 +\101\055\124\162\165\163\164\055\156\121\165\141\154\055\060\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\003\001\154\036 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\317\060\202\002\267\240\003\002\001\002\002\003\001 +\154\036\060\015\006\011\052\206\110\206\367\015\001\001\005\005 +\000\060\201\215\061\013\060\011\006\003\125\004\006\023\002\101 +\124\061\110\060\106\006\003\125\004\012\014\077\101\055\124\162 +\165\163\164\040\107\145\163\056\040\146\056\040\123\151\143\150 +\145\162\150\145\151\164\163\163\171\163\164\145\155\145\040\151 +\155\040\145\154\145\153\164\162\056\040\104\141\164\145\156\166 +\145\162\153\145\150\162\040\107\155\142\110\061\031\060\027\006 +\003\125\004\013\014\020\101\055\124\162\165\163\164\055\156\121 +\165\141\154\055\060\063\061\031\060\027\006\003\125\004\003\014 +\020\101\055\124\162\165\163\164\055\156\121\165\141\154\055\060 +\063\060\036\027\015\060\065\060\070\061\067\062\062\060\060\060 +\060\132\027\015\061\065\060\070\061\067\062\062\060\060\060\060 +\132\060\201\215\061\013\060\011\006\003\125\004\006\023\002\101 +\124\061\110\060\106\006\003\125\004\012\014\077\101\055\124\162 +\165\163\164\040\107\145\163\056\040\146\056\040\123\151\143\150 +\145\162\150\145\151\164\163\163\171\163\164\145\155\145\040\151 +\155\040\145\154\145\153\164\162\056\040\104\141\164\145\156\166 +\145\162\153\145\150\162\040\107\155\142\110\061\031\060\027\006 +\003\125\004\013\014\020\101\055\124\162\165\163\164\055\156\121 +\165\141\154\055\060\063\061\031\060\027\006\003\125\004\003\014 +\020\101\055\124\162\165\163\164\055\156\121\165\141\154\055\060 +\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\255\075\141\156\003\363\220\073\300\101\013\204\200\315 +\354\052\243\235\153\273\156\302\102\204\367\121\024\341\240\250 +\055\121\243\121\362\336\043\360\064\104\377\224\353\314\005\043 +\225\100\271\007\170\245\045\366\012\275\105\206\350\331\275\300 +\004\216\205\104\141\357\177\247\311\372\301\045\314\205\054\143 +\077\005\140\163\111\005\340\140\170\225\020\113\334\371\021\131 +\316\161\177\100\233\212\252\044\337\013\102\342\333\126\274\112 +\322\245\014\233\267\103\076\335\203\323\046\020\002\317\352\043 +\304\111\116\345\323\351\264\210\253\014\256\142\222\324\145\207 +\331\152\327\364\205\237\344\063\042\045\245\345\310\063\272\303 +\307\101\334\137\306\152\314\000\016\155\062\250\266\207\066\000 +\142\167\233\036\037\064\313\220\074\170\210\164\005\353\171\365 +\223\161\145\312\235\307\153\030\055\075\134\116\347\325\370\077 +\061\175\217\207\354\012\042\057\043\351\376\273\175\311\340\364 +\354\353\174\304\260\303\055\142\265\232\161\326\261\152\350\354 +\331\355\325\162\354\276\127\001\316\005\125\237\336\321\140\210 +\020\263\002\003\001\000\001\243\066\060\064\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\104\152\225\147\125\171\021\117\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\125\324\124\321\131\110\134\263\223\205\252\277\143 +\057\344\200\316\064\243\064\142\076\366\330\356\147\210\061\004 +\003\157\013\324\007\373\116\165\017\323\056\323\300\027\307\306 +\050\354\006\015\021\044\016\016\245\135\277\214\262\023\226\161 +\334\324\316\016\015\012\150\062\154\271\101\061\031\253\261\007 +\173\115\230\323\134\260\321\360\247\102\240\265\304\216\257\376 +\361\077\364\357\117\106\000\166\353\002\373\371\235\322\100\226 +\307\210\072\270\237\021\171\363\200\145\250\275\037\323\170\201 +\240\121\114\067\264\246\135\045\160\321\146\311\150\371\056\021 +\024\150\361\124\230\010\254\046\222\017\336\211\236\324\372\263 +\171\053\322\243\171\324\354\213\254\207\123\150\102\114\121\121 +\164\036\033\047\056\343\365\037\051\164\115\355\257\367\341\222 +\231\201\350\276\072\307\027\120\366\267\306\374\233\260\212\153 +\326\210\003\221\217\006\167\072\205\002\335\230\325\103\170\077 +\306\060\025\254\233\153\313\127\267\211\121\213\072\350\311\204 +\014\333\261\120\040\012\032\112\272\152\032\275\354\033\310\305 +\204\232\315 +END + +# Trust for Certificate "A-Trust-nQual-03" +CKA_CLASS CK_OBJECT_CLASS CKO_NSS_TRUST +CKA_TOKEN CK_BBOOL CK_TRUE +CKA_PRIVATE CK_BBOOL CK_FALSE +CKA_MODIFIABLE CK_BBOOL CK_FALSE +CKA_LABEL UTF8 "A-Trust-nQual-03" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\323\300\143\362\031\355\007\076\064\255\135\165\013\062\166\051 +\377\325\232\362 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\111\143\256\047\364\325\225\075\330\333\044\206\270\234\007\123 +END +CKA_ISSUER MULTILINE_OCTAL +\060\201\215\061\013\060\011\006\003\125\004\006\023\002\101\124 +\061\110\060\106\006\003\125\004\012\014\077\101\055\124\162\165 +\163\164\040\107\145\163\056\040\146\056\040\123\151\143\150\145 +\162\150\145\151\164\163\163\171\163\164\145\155\145\040\151\155 +\040\145\154\145\153\164\162\056\040\104\141\164\145\156\166\145 +\162\153\145\150\162\040\107\155\142\110\061\031\060\027\006\003 +\125\004\013\014\020\101\055\124\162\165\163\164\055\156\121\165 +\141\154\055\060\063\061\031\060\027\006\003\125\004\003\014\020 +\101\055\124\162\165\163\164\055\156\121\165\141\154\055\060\063 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\003\001\154\036 +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 "TWCA Root Certification Authority" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "TWCA Root Certification Authority" +CKA_CLASS CK_OBJECT_CLASS 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" +# +CKA_CLASS CK_OBJECT_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" +CKA_CLASS CK_OBJECT_CLASS 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 Distrust DigiNotar Services 1024 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 "Explicitly Distrust DigiNotar Services 1024 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\116\114\061 +\022\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157 +\164\141\162\061\043\060\041\006\003\125\004\003\023\032\104\151 +\147\151\116\157\164\141\162\040\123\145\162\166\151\143\145\163 +\040\061\060\062\064\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\150\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\043\060\041\006\003\125\004\003\023\032\104\151 +\147\151\116\157\164\141\162\040\123\145\162\166\151\143\145\163 +\040\061\060\062\064\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\004\017\377\377\377 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\161\060\202\002\332\240\003\002\001\002\002\004\017 +\377\377\377\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\116 +\114\061\022\060\020\006\003\125\004\012\023\011\104\151\147\151 +\116\157\164\141\162\061\043\060\041\006\003\125\004\003\023\032 +\104\151\147\151\116\157\164\141\162\040\123\145\162\166\151\143 +\145\163\040\061\060\062\064\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\066\061\065\065\071\060\061\132\027\015\061 +\063\060\070\062\066\061\066\062\071\060\061\132\060\150\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 +\043\060\041\006\003\125\004\003\023\032\104\151\147\151\116\157 +\164\141\162\040\123\145\162\166\151\143\145\163\040\061\060\062 +\064\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\201\237\060\015\006\011\052\206\110 +\206\367\015\001\001\001\005\000\003\201\215\000\060\201\211\002 +\201\201\000\332\233\115\135\074\371\321\342\213\306\306\010\040 +\305\331\036\110\354\146\130\147\171\142\053\101\143\364\211\215 +\150\332\257\270\224\066\213\031\044\244\240\223\322\231\017\262 +\255\055\065\115\315\057\152\341\371\233\031\053\274\004\032\176 +\055\075\122\144\315\361\076\147\017\211\056\350\362\117\256\246 +\010\241\205\376\241\251\011\346\306\253\076\103\374\257\172\003 +\221\332\246\071\246\141\356\230\117\030\250\323\263\257\146\202 +\351\237\274\335\162\371\006\004\275\022\331\030\044\347\253\223 +\123\213\131\002\003\001\000\001\243\202\001\046\060\202\001\042 +\060\022\006\003\125\035\023\001\001\377\004\010\060\006\001\001 +\377\002\001\000\060\047\006\003\125\035\045\004\040\060\036\006 +\010\053\006\001\005\005\007\003\001\006\010\053\006\001\005\005 +\007\003\002\006\010\053\006\001\005\005\007\003\004\060\021\006 +\003\125\035\040\004\012\060\010\060\006\006\004\125\035\040\000 +\060\063\006\010\053\006\001\005\005\007\001\001\004\047\060\045 +\060\043\006\010\053\006\001\005\005\007\060\001\206\027\150\164 +\164\160\072\057\057\157\143\163\160\056\145\156\164\162\165\163 +\164\056\156\145\164\060\063\006\003\125\035\037\004\054\060\052 +\060\050\240\046\240\044\206\042\150\164\164\160\072\057\057\143 +\162\154\056\145\156\164\162\165\163\164\056\156\145\164\057\163 +\145\162\166\145\162\061\056\143\162\154\060\035\006\003\125\035 +\016\004\026\004\024\376\334\224\111\014\157\357\134\177\306\361 +\022\231\117\026\111\255\373\202\145\060\013\006\003\125\035\017 +\004\004\003\002\001\006\060\037\006\003\125\035\043\004\030\060 +\026\200\024\360\027\142\023\125\075\263\377\012\000\153\373\120 +\204\227\363\355\142\320\032\060\031\006\011\052\206\110\206\366 +\175\007\101\000\004\014\060\012\033\004\126\067\056\061\003\002 +\000\201\060\015\006\011\052\206\110\206\367\015\001\001\005\005 +\000\003\201\201\000\143\164\152\067\251\077\226\234\146\310\130 +\254\011\311\357\365\145\224\177\243\002\304\070\061\275\135\043 +\207\354\324\126\262\311\262\156\344\005\006\374\354\365\372\210 +\160\131\324\356\346\335\265\172\240\243\140\057\002\014\253\336 +\022\135\257\360\065\113\252\212\107\221\032\365\205\054\102\307 +\035\357\225\103\263\136\270\225\223\245\332\305\050\252\255\162 +\055\061\255\231\153\154\377\214\041\047\257\255\232\221\053\307 +\335\130\303\156\007\305\237\171\322\307\214\125\277\114\307\047 +\136\121\026\053\076 +END + +# Trust for Certificate "Explicitly Distrust DigiNotar Services 1024 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 "Explicitly Distrust DigiNotar Services 1024 CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\022\073\352\312\146\147\167\141\340\353\150\362\376\355\242\017 +\040\005\125\160 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\057\026\150\227\114\150\117\316\122\212\354\123\217\223\111\370 +END +CKA_ISSUER MULTILINE_OCTAL +\060\150\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\043\060\041\006\003\125\004\003\023\032\104\151 +\147\151\116\157\164\141\162\040\123\145\162\166\151\143\145\163 +\040\061\060\062\064\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\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 "Explicitly Distrust DigiNotar Cyber 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 "Explicitly Distrust DigiNotar Cyber CA" +CKA_CERTIFICATE_TYPE CK_CERTIFICATE_TYPE CKC_X_509 +CKA_SUBJECT MULTILINE_OCTAL +\060\140\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\033\060\031\006\003\125\004\003\023\022\104\151 +\147\151\116\157\164\141\162\040\103\171\142\145\162\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\140\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\033\060\031\006\003\125\004\003\023\022\104\151 +\147\151\116\157\164\141\162\040\103\171\142\145\162\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\004\017\377\377\377 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\105\060\202\004\256\240\003\002\001\002\002\004\017 +\377\377\377\060\015\006\011\052\206\110\206\367\015\001\001\005 +\005\000\060\140\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\033\060\031\006\003\125\004\003\023\022 +\104\151\147\151\116\157\164\141\162\040\103\171\142\145\162\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\066\061\060\060\064\061\060 +\065\064\061\062\132\027\015\061\061\061\060\060\064\061\060\065 +\063\061\062\132\060\140\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\033\060\031\006\003\125\004\003 +\023\022\104\151\147\151\116\157\164\141\162\040\103\171\142\145 +\162\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\322\316\025\012\055\250\136\204\147 +\255\375\276\357\106\307\310\271\317\163\374\364\064\271\371\054 +\103\347\140\023\075\172\343\262\317\073\147\154\220\255\300\271 +\077\204\122\360\065\102\334\164\334\050\073\275\122\264\247\254 +\162\105\027\306\360\211\353\264\252\045\362\135\113\136\321\331 +\207\272\326\175\174\365\316\062\237\020\063\305\261\112\273\136 +\221\061\302\320\351\101\302\221\144\176\011\101\073\333\213\010 +\067\152\252\312\122\336\265\071\036\300\210\003\245\077\213\231 +\023\141\103\265\233\202\263\356\040\157\317\241\104\242\352\057 +\153\100\237\217\053\127\255\241\123\302\205\042\151\235\240\077 +\121\337\013\101\221\015\245\341\250\252\134\111\010\135\275\336 +\160\101\261\017\311\143\153\323\177\064\164\002\057\064\132\170 +\165\034\150\172\201\147\212\363\332\100\360\140\143\364\222\040 +\327\003\246\075\243\036\147\304\204\033\101\245\311\214\346\275 +\352\110\266\005\026\010\263\067\022\132\367\141\074\367\070\157 +\056\227\340\157\126\070\124\323\050\265\255\024\156\056\113\144 +\265\047\145\267\165\045\011\266\007\075\225\126\002\012\202\140 +\262\163\105\340\063\046\121\164\232\271\324\120\034\366\115\133 +\133\122\122\023\132\246\177\247\016\341\350\101\124\147\230\214 +\207\325\311\323\154\313\323\124\222\006\011\064\101\367\201\157 +\077\236\311\174\165\125\260\347\301\263\167\350\303\304\000\065 +\225\100\160\020\112\005\336\045\273\237\131\245\144\274\107\140 +\277\140\343\166\213\023\125\335\341\164\172\271\317\044\246\152 +\177\336\144\042\104\130\150\202\152\020\371\075\345\076\033\271 +\275\374\042\364\140\004\211\273\125\155\050\125\372\336\216\215 +\033\041\024\327\067\213\064\173\115\366\262\262\020\317\063\261 +\175\034\142\231\110\313\053\154\166\226\125\277\031\015\035\037 +\273\145\252\033\216\231\265\306\050\220\345\202\055\170\120\040 +\232\375\171\057\044\177\360\211\051\151\364\175\315\163\276\263 +\355\116\301\321\355\122\136\217\367\270\327\215\207\255\262\331 +\033\121\022\377\126\263\341\257\064\175\134\244\170\210\020\236 +\235\003\306\245\252\242\044\121\367\111\024\305\261\356\131\103 +\225\337\253\150\050\060\077\002\003\001\000\001\243\202\001\206 +\060\202\001\202\060\022\006\003\125\035\023\001\001\377\004\010 +\060\006\001\001\377\002\001\001\060\123\006\003\125\035\040\004 +\114\060\112\060\110\006\011\053\006\001\004\001\261\076\001\000 +\060\073\060\071\006\010\053\006\001\005\005\007\002\001\026\055 +\150\164\164\160\072\057\057\167\167\167\056\160\165\142\154\151 +\143\055\164\162\165\163\164\056\143\157\155\057\103\120\123\057 +\117\155\156\151\122\157\157\164\056\150\164\155\154\060\016\006 +\003\125\035\017\001\001\377\004\004\003\002\001\006\060\201\240 +\006\003\125\035\043\004\201\230\060\201\225\200\024\246\014\035 +\237\141\377\007\027\265\277\070\106\333\103\060\325\216\260\122 +\006\241\171\244\167\060\165\061\013\060\011\006\003\125\004\006 +\023\002\125\123\061\030\060\026\006\003\125\004\012\023\017\107 +\124\105\040\103\157\162\160\157\162\141\164\151\157\156\061\047 +\060\045\006\003\125\004\013\023\036\107\124\105\040\103\171\142 +\145\162\124\162\165\163\164\040\123\157\154\165\164\151\157\156 +\163\054\040\111\156\143\056\061\043\060\041\006\003\125\004\003 +\023\032\107\124\105\040\103\171\142\145\162\124\162\165\163\164 +\040\107\154\157\142\141\154\040\122\157\157\164\202\002\001\245 +\060\105\006\003\125\035\037\004\076\060\074\060\072\240\070\240 +\066\206\064\150\164\164\160\072\057\057\167\167\167\056\160\165 +\142\154\151\143\055\164\162\165\163\164\056\143\157\155\057\143 +\147\151\055\142\151\156\057\103\122\114\057\062\060\061\070\057 +\143\144\160\056\143\162\154\060\035\006\003\125\035\016\004\026 +\004\024\253\371\150\337\317\112\067\327\173\105\214\137\162\336 +\100\104\303\145\273\302\060\015\006\011\052\206\110\206\367\015 +\001\001\005\005\000\003\201\201\000\217\150\153\245\133\007\272 +\104\146\016\034\250\134\060\173\063\344\012\046\004\374\357\236 +\032\070\326\056\241\037\320\231\107\302\165\144\044\375\236\073 +\050\166\271\046\050\141\221\014\155\054\370\004\237\174\120\001 +\325\343\151\257\357\025\322\105\233\044\011\052\146\005\117\045 +\201\312\135\276\252\301\131\047\256\063\216\202\367\337\164\260 +\125\263\216\370\347\067\310\156\252\126\104\366\275\123\201\043 +\226\075\264\372\062\212\123\146\104\045\242\045\306\246\074\045 +\214\360\340\050\006\042\267\046\101 +END + +# Trust for Certificate "Explicitly Distrust DigiNotar Cyber 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 "Explicitly Distrust DigiNotar Cyber CA" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\245\216\240\354\366\104\126\065\031\035\150\133\307\240\344\034 +\260\115\171\056 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\274\275\211\022\264\377\345\371\046\107\310\140\066\133\331\124 +END +CKA_ISSUER MULTILINE_OCTAL +\060\140\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\033\060\031\006\003\125\004\003\023\022\104\151 +\147\151\116\157\164\141\162\040\103\171\142\145\162\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\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 "Explicitly Distrust DigiNotar Cyber CA 2nd" +# +CKA_CLASS CK_OBJECT_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 Cyber CA 2nd" +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\116\114\061 +\022\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157 +\164\141\162\061\033\060\031\006\003\125\004\003\023\022\104\151 +\147\151\116\157\164\141\162\040\103\171\142\145\162\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\116\114\061 +\022\060\020\006\003\125\004\012\023\011\104\151\147\151\116\157 +\164\141\162\061\033\060\031\006\003\125\004\003\023\022\104\151 +\147\151\116\157\164\141\162\040\103\171\142\145\162\040\103\101 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\017\377\377\377 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\005\001\060\202\004\152\240\003\002\001\002\002\004\017 +\377\377\377\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\116 +\114\061\022\060\020\006\003\125\004\012\023\011\104\151\147\151 +\116\157\164\141\162\061\033\060\031\006\003\125\004\003\023\022 +\104\151\147\151\116\157\164\141\162\040\103\171\142\145\162\040 +\103\101\060\036\027\015\060\066\060\071\062\067\061\060\065\063 +\065\063\132\027\015\061\063\060\071\062\060\060\071\064\064\060 +\067\132\060\076\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\033\060\031\006\003\125\004\003\023\022 +\104\151\147\151\116\157\164\141\162\040\103\171\142\145\162\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\322\316\025\012\055\250\136\204\147\255\375\276\357 +\106\307\310\271\317\163\374\364\064\271\371\054\103\347\140\023 +\075\172\343\262\317\073\147\154\220\255\300\271\077\204\122\360 +\065\102\334\164\334\050\073\275\122\264\247\254\162\105\027\306 +\360\211\353\264\252\045\362\135\113\136\321\331\207\272\326\175 +\174\365\316\062\237\020\063\305\261\112\273\136\221\061\302\320 +\351\101\302\221\144\176\011\101\073\333\213\010\067\152\252\312 +\122\336\265\071\036\300\210\003\245\077\213\231\023\141\103\265 +\233\202\263\356\040\157\317\241\104\242\352\057\153\100\237\217 +\053\127\255\241\123\302\205\042\151\235\240\077\121\337\013\101 +\221\015\245\341\250\252\134\111\010\135\275\336\160\101\261\017 +\311\143\153\323\177\064\164\002\057\064\132\170\165\034\150\172 +\201\147\212\363\332\100\360\140\143\364\222\040\327\003\246\075 +\243\036\147\304\204\033\101\245\311\214\346\275\352\110\266\005 +\026\010\263\067\022\132\367\141\074\367\070\157\056\227\340\157 +\126\070\124\323\050\265\255\024\156\056\113\144\265\047\145\267 +\165\045\011\266\007\075\225\126\002\012\202\140\262\163\105\340 +\063\046\121\164\232\271\324\120\034\366\115\133\133\122\122\023 +\132\246\177\247\016\341\350\101\124\147\230\214\207\325\311\323 +\154\313\323\124\222\006\011\064\101\367\201\157\077\236\311\174 +\165\125\260\347\301\263\167\350\303\304\000\065\225\100\160\020 +\112\005\336\045\273\237\131\245\144\274\107\140\277\140\343\166 +\213\023\125\335\341\164\172\271\317\044\246\152\177\336\144\042 +\104\130\150\202\152\020\371\075\345\076\033\271\275\374\042\364 +\140\004\211\273\125\155\050\125\372\336\216\215\033\041\024\327 +\067\213\064\173\115\366\262\262\020\317\063\261\175\034\142\231 +\110\313\053\154\166\226\125\277\031\015\035\037\273\145\252\033 +\216\231\265\306\050\220\345\202\055\170\120\040\232\375\171\057 +\044\177\360\211\051\151\364\175\315\163\276\263\355\116\301\321 +\355\122\136\217\367\270\327\215\207\255\262\331\033\121\022\377 +\126\263\341\257\064\175\134\244\170\210\020\236\235\003\306\245 +\252\242\044\121\367\111\024\305\261\356\131\103\225\337\253\150 +\050\060\077\002\003\001\000\001\243\202\001\206\060\202\001\202 +\060\022\006\003\125\035\023\001\001\377\004\010\060\006\001\001 +\377\002\001\001\060\123\006\003\125\035\040\004\114\060\112\060 +\110\006\011\053\006\001\004\001\261\076\001\000\060\073\060\071 +\006\010\053\006\001\005\005\007\002\001\026\055\150\164\164\160 +\072\057\057\167\167\167\056\160\165\142\154\151\143\055\164\162 +\165\163\164\056\143\157\155\057\103\120\123\057\117\155\156\151 +\122\157\157\164\056\150\164\155\154\060\016\006\003\125\035\017 +\001\001\377\004\004\003\002\001\006\060\201\240\006\003\125\035 +\043\004\201\230\060\201\225\200\024\246\014\035\237\141\377\007 +\027\265\277\070\106\333\103\060\325\216\260\122\006\241\171\244 +\167\060\165\061\013\060\011\006\003\125\004\006\023\002\125\123 +\061\030\060\026\006\003\125\004\012\023\017\107\124\105\040\103 +\157\162\160\157\162\141\164\151\157\156\061\047\060\045\006\003 +\125\004\013\023\036\107\124\105\040\103\171\142\145\162\124\162 +\165\163\164\040\123\157\154\165\164\151\157\156\163\054\040\111 +\156\143\056\061\043\060\041\006\003\125\004\003\023\032\107\124 +\105\040\103\171\142\145\162\124\162\165\163\164\040\107\154\157 +\142\141\154\040\122\157\157\164\202\002\001\245\060\105\006\003 +\125\035\037\004\076\060\074\060\072\240\070\240\066\206\064\150 +\164\164\160\072\057\057\167\167\167\056\160\165\142\154\151\143 +\055\164\162\165\163\164\056\143\157\155\057\143\147\151\055\142 +\151\156\057\103\122\114\057\062\060\061\070\057\143\144\160\056 +\143\162\154\060\035\006\003\125\035\016\004\026\004\024\253\371 +\150\337\317\112\067\327\173\105\214\137\162\336\100\104\303\145 +\273\302\060\015\006\011\052\206\110\206\367\015\001\001\005\005 +\000\003\201\201\000\011\312\142\017\215\273\112\340\324\172\065 +\053\006\055\321\050\141\266\254\001\373\203\111\274\256\324\057 +\055\206\256\031\203\245\326\035\023\342\027\276\376\062\164\351 +\172\024\070\312\224\136\367\051\001\151\161\033\221\032\375\243 +\273\252\035\312\173\342\026\375\241\243\016\363\014\137\262\341 +\040\061\224\053\136\222\166\355\372\351\265\043\246\277\012\073 +\003\251\157\122\140\124\315\137\351\267\057\174\242\047\375\101 +\203\165\266\015\373\170\046\363\261\105\351\062\225\052\032\065 +\041\225\305\242\165 +END + +# Trust for Certificate "Explicitly Distrust DigiNotar Cyber CA 2nd" +CKA_CLASS CK_OBJECT_CLASS 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 Cyber CA 2nd" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\210\036\105\005\017\230\331\131\373\012\065\371\114\016\050\227 +\125\026\051\263 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\360\256\251\075\362\054\210\334\174\205\033\226\175\132\034\021 +END +CKA_ISSUER MULTILINE_OCTAL +\060\076\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\033\060\031\006\003\125\004\003\023\022\104\151 +\147\151\116\157\164\141\162\040\103\171\142\145\162\040\103\101 +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 "Explicitly Distrusted DigiNotar PKIoverheid" +# +CKA_CLASS CK_OBJECT_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" +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 +\027\060\025\006\003\125\004\012\023\016\104\151\147\151\116\157 +\164\141\162\040\102\056\126\056\061\067\060\065\006\003\125\004 +\003\023\056\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\166\145\162 +\150\145\151\144\040\145\156\040\102\145\144\162\151\152\166\145 +\156 +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 +\027\060\025\006\003\125\004\012\023\016\104\151\147\151\116\157 +\164\141\162\040\102\056\126\056\061\067\060\065\006\003\125\004 +\003\023\056\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\166\145\162 +\150\145\151\144\040\145\156\040\102\145\144\162\151\152\166\145 +\156 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\004\017\377\377\377 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\216\060\202\003\166\240\003\002\001\002\002\004\017 +\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\027\060\025\006\003\125\004\012\023\016\104\151\147\151 +\116\157\164\141\162\040\102\056\126\056\061\067\060\065\006\003 +\125\004\003\023\056\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\166 +\145\162\150\145\151\144\040\145\156\040\102\145\144\162\151\152 +\166\145\156\060\036\027\015\060\067\060\067\060\065\060\070\064 +\062\060\070\132\027\015\061\065\060\067\062\067\060\070\063\071 +\064\067\132\060\137\061\013\060\011\006\003\125\004\006\023\002 +\116\114\061\027\060\025\006\003\125\004\012\023\016\104\151\147 +\151\116\157\164\141\162\040\102\056\126\056\061\067\060\065\006 +\003\125\004\003\023\056\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 +\166\145\162\150\145\151\144\040\145\156\040\102\145\144\162\151 +\152\166\145\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\334\275\322\247\116\152\012\273\073\242\205 +\341\177\000\255\276\264\060\150\230\007\315\240\172\304\224\317 +\161\371\212\067\344\123\353\127\166\314\213\346\154\376\356\207 +\125\310\076\273\004\071\000\247\200\170\254\133\117\176\364\275 +\270\124\270\161\073\007\061\111\071\223\124\174\040\073\171\053 +\217\273\141\220\175\261\254\346\037\220\056\235\105\001\251\144 +\055\115\303\057\271\347\120\325\116\052\134\253\166\166\067\106 +\327\171\354\102\231\367\242\354\244\211\160\334\070\053\207\246 +\252\044\346\235\222\044\033\276\366\375\324\057\031\027\172\346 +\062\007\224\124\005\123\103\351\154\274\257\107\313\274\313\375 +\275\073\104\022\201\361\153\113\273\355\264\317\253\045\117\030 +\322\314\002\374\243\117\265\102\063\313\131\315\011\334\323\120 +\375\240\166\214\254\176\146\212\102\366\255\034\222\363\266\373 +\024\106\353\115\327\057\060\340\155\356\133\066\276\104\164\267 +\040\005\127\205\115\350\000\031\242\366\014\346\256\241\300\102 +\337\247\254\202\135\307\150\267\030\346\211\113\232\153\372\316 +\171\371\363\054\247\002\003\001\000\001\243\202\001\120\060\202 +\001\114\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\200 +\006\003\125\035\043\004\171\060\167\200\024\013\206\326\017\167 +\243\150\261\373\144\011\303\210\156\134\004\034\127\351\075\241 +\131\244\127\060\125\061\013\060\011\006\003\125\004\006\023\002 +\116\114\061\036\060\034\006\003\125\004\012\023\025\123\164\141 +\141\164\040\144\145\162\040\116\145\144\145\162\154\141\156\144 +\145\156\061\046\060\044\006\003\125\004\003\023\035\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\202\004\000\230\232\171 +\060\075\006\003\125\035\037\004\066\060\064\060\062\240\060\240 +\056\206\054\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\166\114\141\164\145\163\164\103\122\114\056\143\162\154\060 +\035\006\003\125\035\016\004\026\004\024\114\010\311\215\166\361 +\230\307\076\337\074\327\057\165\015\261\166\171\227\314\060\015 +\006\011\052\206\110\206\367\015\001\001\005\005\000\003\202\001 +\001\000\014\224\207\032\277\115\343\205\342\356\327\330\143\171 +\016\120\337\306\204\133\322\273\331\365\061\012\032\065\227\164 +\337\024\372\052\017\076\355\240\343\010\366\325\116\133\257\246 +\256\045\342\105\153\042\017\267\124\050\176\222\336\215\024\154 +\321\034\345\156\164\004\234\267\357\064\104\105\337\311\203\035 +\031\037\300\051\151\337\211\325\077\302\260\123\155\345\116\027 +\344\163\141\043\023\046\161\103\375\114\131\313\303\337\042\252 +\041\053\331\277\225\021\032\212\244\342\253\247\135\113\157\051 +\365\122\321\344\322\025\261\213\376\360\003\317\247\175\351\231 +\207\070\263\015\163\024\344\162\054\341\316\365\255\006\110\144 +\372\323\051\271\242\330\273\364\325\013\245\100\104\103\216\240 +\277\316\132\245\122\114\144\323\027\061\141\314\350\244\212\350 +\344\210\373\351\345\057\006\063\063\233\224\146\146\261\253\120 +\072\241\011\201\164\123\132\047\271\246\322\045\317\323\303\247 +\377\226\320\057\352\340\036\215\122\351\030\034\040\012\107\240 +\226\126\016\100\220\121\104\254\032\375\361\356\205\037\367\102 +\132\145 +END + +# Trust for Certificate "Explicitly Distrusted DigiNotar PKIoverheid" +CKA_CLASS CK_OBJECT_CLASS 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" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\247\250\311\254\364\137\220\222\166\206\270\300\242\016\223\130 +\175\336\060\344 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\243\317\263\377\371\117\247\261\353\072\165\130\116\056\237\352 +END +CKA_ISSUER MULTILINE_OCTAL +\060\137\061\013\060\011\006\003\125\004\006\023\002\116\114\061 +\027\060\025\006\003\125\004\012\023\016\104\151\147\151\116\157 +\164\141\162\040\102\056\126\056\061\067\060\065\006\003\125\004 +\003\023\056\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\166\145\162 +\150\145\151\144\040\145\156\040\102\145\144\162\151\152\166\145 +\156 +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 "Explicitly Distrusted DigiNotar PKIoverheid G2" +# +CKA_CLASS CK_OBJECT_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" +CKA_CLASS CK_OBJECT_CLASS 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 "Explicitly Distrusted Malaysian Digicert Sdn. Bhd. (cyb)" +# +CKA_CLASS CK_OBJECT_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 Malaysian Digicert Sdn. Bhd. (cyb)" +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\115\131\061 +\033\060\031\006\003\125\004\012\023\022\104\151\147\151\143\145 +\162\164\040\123\144\156\056\040\102\150\144\056\061\021\060\017 +\006\003\125\004\013\023\010\064\065\067\066\060\070\055\113\061 +\044\060\042\006\003\125\004\003\023\033\104\151\147\151\163\151 +\147\156\040\123\145\162\166\145\162\040\111\104\040\050\105\156 +\162\151\143\150\051 +END +CKA_ID UTF8 "0" +CKA_ISSUER MULTILINE_OCTAL +\060\165\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\030\060\026\006\003\125\004\012\023\017\107\124\105\040\103\157 +\162\160\157\162\141\164\151\157\156\061\047\060\045\006\003\125 +\004\013\023\036\107\124\105\040\103\171\142\145\162\124\162\165 +\163\164\040\123\157\154\165\164\151\157\156\163\054\040\111\156 +\143\056\061\043\060\041\006\003\125\004\003\023\032\107\124\105 +\040\103\171\142\145\162\124\162\165\163\164\040\107\154\157\142 +\141\154\040\122\157\157\164 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\006\007\377\377\377\377\377 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\003\315\060\202\003\066\240\003\002\001\002\002\006\007 +\377\377\377\377\377\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\125\123\061\030\060\026\006\003\125\004\012\023\017\107\124 +\105\040\103\157\162\160\157\162\141\164\151\157\156\061\047\060 +\045\006\003\125\004\013\023\036\107\124\105\040\103\171\142\145 +\162\124\162\165\163\164\040\123\157\154\165\164\151\157\156\163 +\054\040\111\156\143\056\061\043\060\041\006\003\125\004\003\023 +\032\107\124\105\040\103\171\142\145\162\124\162\165\163\164\040 +\107\154\157\142\141\154\040\122\157\157\164\060\036\027\015\060 +\067\060\067\061\067\061\065\061\067\064\071\132\027\015\061\062 +\060\067\061\067\061\065\061\066\065\065\132\060\143\061\013\060 +\011\006\003\125\004\006\023\002\115\131\061\033\060\031\006\003 +\125\004\012\023\022\104\151\147\151\143\145\162\164\040\123\144 +\156\056\040\102\150\144\056\061\021\060\017\006\003\125\004\013 +\023\010\064\065\067\066\060\070\055\113\061\044\060\042\006\003 +\125\004\003\023\033\104\151\147\151\163\151\147\156\040\123\145 +\162\166\145\162\040\111\104\040\050\105\156\162\151\143\150\051 +\060\201\237\060\015\006\011\052\206\110\206\367\015\001\001\001 +\005\000\003\201\215\000\060\201\211\002\201\201\000\255\250\144 +\113\115\207\307\204\131\271\373\220\106\240\246\211\300\361\376 +\325\332\124\202\067\015\231\053\105\046\012\350\126\260\177\312 +\250\364\216\107\204\001\202\051\343\263\152\265\221\363\373\225 +\205\274\162\250\144\350\012\100\234\305\364\161\256\173\173\152 +\007\352\220\024\117\215\211\257\224\253\262\006\324\002\152\173 +\230\037\131\271\072\315\124\372\040\337\262\052\012\351\270\335 +\151\220\300\051\323\116\320\227\355\146\314\305\031\111\006\177 +\372\136\054\174\173\205\033\062\102\337\173\225\045\002\003\001 +\000\001\243\202\001\170\060\202\001\164\060\022\006\003\125\035 +\023\001\001\377\004\010\060\006\001\001\377\002\001\000\060\134 +\006\003\125\035\040\004\125\060\123\060\110\006\011\053\006\001 +\004\001\261\076\001\000\060\073\060\071\006\010\053\006\001\005 +\005\007\002\001\026\055\150\164\164\160\072\057\057\143\171\142 +\145\162\164\162\165\163\164\056\157\155\156\151\162\157\157\164 +\056\143\157\155\057\162\145\160\157\163\151\164\157\162\171\056 +\143\146\155\060\007\006\005\140\203\112\001\001\060\016\006\003 +\125\035\017\001\001\377\004\004\003\002\001\346\060\201\211\006 +\003\125\035\043\004\201\201\060\177\241\171\244\167\060\165\061 +\013\060\011\006\003\125\004\006\023\002\125\123\061\030\060\026 +\006\003\125\004\012\023\017\107\124\105\040\103\157\162\160\157 +\162\141\164\151\157\156\061\047\060\045\006\003\125\004\013\023 +\036\107\124\105\040\103\171\142\145\162\124\162\165\163\164\040 +\123\157\154\165\164\151\157\156\163\054\040\111\156\143\056\061 +\043\060\041\006\003\125\004\003\023\032\107\124\105\040\103\171 +\142\145\162\124\162\165\163\164\040\107\154\157\142\141\154\040 +\122\157\157\164\202\002\001\245\060\105\006\003\125\035\037\004 +\076\060\074\060\072\240\070\240\066\206\064\150\164\164\160\072 +\057\057\167\167\167\056\160\165\142\154\151\143\055\164\162\165 +\163\164\056\143\157\155\057\143\147\151\055\142\151\156\057\103 +\122\114\057\062\060\061\070\057\143\144\160\056\143\162\154\060 +\035\006\003\125\035\016\004\026\004\024\306\026\223\116\026\027 +\354\026\256\214\224\166\363\206\155\305\164\156\204\167\060\015 +\006\011\052\206\110\206\367\015\001\001\005\005\000\003\201\201 +\000\166\000\173\246\170\053\146\035\216\136\066\306\244\216\005 +\362\043\222\174\223\147\323\364\300\012\175\213\055\331\352\325 +\157\032\363\341\112\051\132\042\204\115\120\057\113\014\362\377 +\205\302\173\125\324\104\202\276\155\254\147\216\274\264\037\222 +\234\121\200\032\024\366\156\253\141\210\013\255\034\177\367\113 +\120\121\326\145\033\246\107\161\025\136\260\161\363\065\024\362 +\067\275\143\310\325\360\223\132\064\137\330\075\350\135\367\305 +\036\300\345\317\037\206\044\251\074\007\146\315\301\322\066\143 +\131 +END + +# Trust for Certificate "Explicitly Distrusted Malaysian Digicert Sdn. Bhd. (cyb)" +CKA_CLASS CK_OBJECT_CLASS 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 Malaysian Digicert Sdn. Bhd. (cyb)" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\125\120\257\354\277\350\303\255\304\013\343\255\014\247\344\025 +\214\071\131\117 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\322\336\256\120\244\230\055\157\067\267\206\122\310\055\113\152 +END +CKA_ISSUER MULTILINE_OCTAL +\060\165\061\013\060\011\006\003\125\004\006\023\002\125\123\061 +\030\060\026\006\003\125\004\012\023\017\107\124\105\040\103\157 +\162\160\157\162\141\164\151\157\156\061\047\060\045\006\003\125 +\004\013\023\036\107\124\105\040\103\171\142\145\162\124\162\165 +\163\164\040\123\157\154\165\164\151\157\156\163\054\040\111\156 +\143\056\061\043\060\041\006\003\125\004\003\023\032\107\124\105 +\040\103\171\142\145\162\124\162\165\163\164\040\107\154\157\142 +\141\154\040\122\157\157\164 +END +CKA_SERIAL_NUMBER MULTILINE_OCTAL +\002\006\007\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 Malaysian Digicert Sdn. Bhd. (en)" +# +CKA_CLASS CK_OBJECT_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 Malaysian Digicert Sdn. Bhd. (en)" +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\115\131\061 +\033\060\031\006\003\125\004\012\023\022\104\151\147\151\143\145 +\162\164\040\123\144\156\056\040\102\150\144\056\061\021\060\017 +\006\003\125\004\013\023\010\064\065\067\066\060\070\055\113\061 +\046\060\044\006\003\125\004\003\023\035\104\151\147\151\163\151 +\147\156\040\123\145\162\166\145\162\040\111\104\040\055\040\050 +\105\156\162\151\143\150\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\006\007\377\377\377\377\377 +END +CKA_VALUE MULTILINE_OCTAL +\060\202\004\320\060\202\003\270\240\003\002\001\002\002\006\007 +\377\377\377\377\377\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\061 +\060\060\067\061\066\061\067\062\063\063\070\132\027\015\061\065 +\060\067\061\066\061\067\065\063\063\070\132\060\145\061\013\060 +\011\006\003\125\004\006\023\002\115\131\061\033\060\031\006\003 +\125\004\012\023\022\104\151\147\151\143\145\162\164\040\123\144 +\156\056\040\102\150\144\056\061\021\060\017\006\003\125\004\013 +\023\010\064\065\067\066\060\070\055\113\061\046\060\044\006\003 +\125\004\003\023\035\104\151\147\151\163\151\147\156\040\123\145 +\162\166\145\162\040\111\104\040\055\040\050\105\156\162\151\143 +\150\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\305\211\344\364\015\006\100\222\131\307\032\263\065 +\321\016\114\052\063\371\370\257\312\236\177\356\271\247\155\140 +\364\124\350\157\325\233\363\033\143\061\004\150\162\321\064\026 +\214\264\027\054\227\336\163\305\330\220\025\240\032\053\365\313 +\263\110\206\104\360\035\210\114\316\101\102\032\357\365\014\336 +\376\100\332\071\040\367\006\125\072\152\235\106\301\322\157\245 +\262\310\127\076\051\243\234\340\351\205\167\146\350\230\247\044 +\176\276\300\131\040\345\104\157\266\127\330\276\316\302\145\167 +\130\306\141\101\321\164\004\310\177\111\102\305\162\251\162\026 +\356\214\335\022\135\264\112\324\321\257\120\267\330\252\165\166 +\150\255\076\135\252\060\155\141\250\253\020\133\076\023\277\063 +\340\257\104\235\070\042\133\357\114\057\246\161\046\025\046\312 +\050\214\331\372\216\216\251\242\024\065\342\233\044\210\264\364 +\177\205\235\203\117\007\241\266\024\220\066\304\064\034\215\046 +\141\155\023\157\170\276\350\217\047\307\113\204\226\243\206\150 +\014\043\276\013\354\214\224\000\251\004\212\023\220\367\337\205 +\154\014\261\002\003\001\000\001\243\202\001\064\060\202\001\060 +\060\016\006\003\125\035\017\001\001\377\004\004\003\002\001\006 +\060\022\006\003\125\035\023\001\001\377\004\010\060\006\001\001 +\377\002\001\000\060\047\006\003\125\035\045\004\040\060\036\006 +\010\053\006\001\005\005\007\003\001\006\010\053\006\001\005\005 +\007\003\002\006\010\053\006\001\005\005\007\003\004\060\063\006 +\010\053\006\001\005\005\007\001\001\004\047\060\045\060\043\006 +\010\053\006\001\005\005\007\060\001\206\027\150\164\164\160\072 +\057\057\157\143\163\160\056\145\156\164\162\165\163\164\056\156 +\145\164\060\104\006\003\125\035\040\004\075\060\073\060\071\006 +\005\140\203\112\001\001\060\060\060\056\006\010\053\006\001\005 +\005\007\002\001\026\042\150\164\164\160\072\057\057\167\167\167 +\056\144\151\147\151\143\145\162\164\056\143\157\155\056\155\171 +\057\143\160\163\056\150\164\155\060\062\006\003\125\035\037\004 +\053\060\051\060\047\240\045\240\043\206\041\150\164\164\160\072 +\057\057\143\162\154\056\145\156\164\162\165\163\164\056\156\145 +\164\057\062\060\064\070\143\141\056\143\162\154\060\021\006\003 +\125\035\016\004\012\004\010\114\116\314\045\050\003\051\201\060 +\037\006\003\125\035\043\004\030\060\026\200\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\227\114\357\112\072\111\254\162\374\060\040\153 +\264\051\133\247\305\225\004\220\371\062\325\302\205\152\336\003 +\241\067\371\211\000\260\132\254\125\176\333\103\065\377\311\001 +\370\121\276\314\046\312\310\152\244\304\124\076\046\036\347\014 +\243\315\227\147\224\335\246\102\353\134\315\217\071\171\153\063 +\171\041\006\171\372\202\104\025\231\314\301\267\071\323\106\142 +\174\262\160\353\157\316\040\252\076\031\267\351\164\202\234\264 +\245\113\115\141\000\067\344\207\322\362\024\072\144\174\270\251 +\173\141\340\223\042\347\325\237\076\107\346\066\166\240\123\330 +\000\003\072\017\265\063\376\226\312\323\322\202\072\056\335\327 +\110\341\344\247\151\314\034\351\231\112\347\312\160\105\327\013 +\007\016\232\165\033\320\057\222\157\366\244\007\303\275\034\113 +\246\204\266\175\250\232\251\322\247\051\361\013\127\151\036\227 +\127\046\354\053\103\254\324\105\203\005\000\351\343\360\106\100 +\007\372\352\261\121\163\223\034\245\335\123\021\067\310\052\247 +\025\047\035\264\252\314\177\252\061\060\374\270\105\237\110\011 +\355\020\342\305 +END + +# Trust for Certificate "Explicitly Distrusted Malaysian Digicert Sdn. Bhd. (en)" +CKA_CLASS CK_OBJECT_CLASS 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 Malaysian Digicert Sdn. Bhd. (en)" +CKA_CERT_SHA1_HASH MULTILINE_OCTAL +\153\074\073\200\255\312\246\272\212\237\124\246\172\355\022\151 +\005\155\061\046 +END +CKA_CERT_MD5_HASH MULTILINE_OCTAL +\327\151\141\177\065\017\234\106\243\252\353\370\125\374\204\362 +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\006\007\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 "Security Communication RootCA2" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "Security Communication RootCA2" +CKA_CLASS CK_OBJECT_CLASS 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_TRUSTED_DELEGATOR +CKA_TRUST_STEP_UP_APPROVED CK_BBOOL CK_FALSE + +# +# Certificate "EC-ACC" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "EC-ACC" +CKA_CLASS CK_OBJECT_CLASS 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" +# +CKA_CLASS CK_OBJECT_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 + +# Trust for Certificate "Hellenic Academic and Research Institutions RootCA 2011" +CKA_CLASS CK_OBJECT_CLASS 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_TRUSTED_DELEGATOR +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 diff --git a/win32/ext/openssl-wdk/mk-ca-bundle.pl b/win32/ext/openssl-wdk/mk-ca-bundle.pl new file mode 100644 index 00000000..3b4e16ae --- /dev/null +++ b/win32/ext/openssl-wdk/mk-ca-bundle.pl @@ -0,0 +1,195 @@ +#!/usr/bin/perl -w +# *************************************************************************** +# * _ _ ____ _ +# * Project ___| | | | _ \| | +# * / __| | | | |_) | | +# * | (__| |_| | _ <| |___ +# * \___|\___/|_| \_\_____| +# * +# * Copyright (C) 1998 - 2008, Daniel Stenberg, <daniel@haxx.se>, et al. +# * +# * This software is licensed as described in the file COPYING, which +# * you should have received as part of this distribution. The terms +# * are also available at http://curl.haxx.se/docs/copyright.html. +# * +# * You may opt to use, copy, modify, merge, publish, distribute and/or sell +# * copies of the Software, and permit persons to whom the Software is +# * furnished to do so, under the terms of the COPYING file. +# * +# * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY +# * KIND, either express or implied. +# * +# * $Id: mk-ca-bundle.pl,v 1.10 2008/02/15 00:41:54 gknauf Exp $ +# *************************************************************************** +# This Perl script creates a fresh ca-bundle.crt file for use with libcurl. +# It downloads certdata.txt from Mozilla's source tree (see URL below), +# then parses certdata.txt and extracts CA Root Certificates into PEM format. +# These are then processed with the OpenSSL commandline tool to produce the +# final ca-bundle.crt file. +# The script is based on the parse-certs script written by Roland Krikava. +# This Perl script works on almost any platform since its only external +# dependency is the OpenSSL commandline tool for optional text listing. +# Hacked by Guenter Knauf. +# +# Hacked again by Cameron Kaiser to use cURL *instead* of LWP. +# +use Getopt::Std; +use MIME::Base64; +#use LWP::UserAgent; +use strict; +use vars qw($opt_b $opt_h $opt_i $opt_l $opt_n $opt_q $opt_t $opt_u $opt_v); + +# more up-to-date revisions can always be found at http://hg.mozilla.org/mozilla-central/ +# in the security/nss/lib/ckfw/builtins folder +my $url = 'http://mxr.mozilla.org/seamonkey/source/security/nss/lib/ckfw/builtins/certdata.txt?raw=1'; +# If the OpenSSL commandline is not in search path you can configure it here! +my $openssl = 'openssl'; + +my $version = $1 if ('$Revision: 1.10 $' =~ /\s(\d+\.\d+)\s/); + +getopts('bhilnqtuv'); + +if ($opt_i) { + print ("=" x 78 . "\n"); + print "Script Version : $version\n"; + print "Perl Version : $]\n"; + print "Operating System Name : $^O\n"; + print "Getopt::Std.pm Version : ${Getopt::Std::VERSION}\n"; + print "MIME::Base64.pm Version : ${MIME::Base64::VERSION}\n"; +# print "LWP::UserAgent.pm Version : ${LWP::UserAgent::VERSION}\n"; +# print "LWP.pm Version : ${LWP::VERSION}\n"; + print "This version uses cURL. As it should.\n"; + print `curl --version`; + print ("=" x 78 . "\n"); +} + +$0 =~ s/\\/\//g; +$0 = substr($0, rindex($0, '/') + 1); +if ($opt_h) { + printf("Usage:\t%s [-b] [-i] [-l] [-n] [-q] [-t] [-u] [-v] [<outputfile>]\n", $0); + print "\t-b\tbackup an existing version of ca-bundle.crt\n"; + print "\t-i\tprint version info about used modules\n"; + print "\t-l\tprint license info about certdata.txt\n"; + print "\t-n\tno download of certdata.txt (to use existing)\n"; + print "\t-q\tbe really quiet (no progress output at all)\n"; + print "\t-t\tinclude plain text listing of certificates\n"; + print "\t-u\tunlink (remove) certdata.txt after processing\n"; + print "\t-v\tbe verbose and print out processed CAs\n"; + exit; +} + +#my $crt = $ARGV[0] || 'ca-bundle.crt'; +my $crt = $ARGV[0] || 'cert.pem'; +my $txt = substr($url, rindex($url, '/') + 1); +$txt =~ s/\?.*//; + +if (!$opt_n || !-e $txt) { + print "Downloading '$txt' ...\n" if (!$opt_q); + #my $ua = new LWP::UserAgent(agent => "$0/$version"); + #my $req = new HTTP::Request('GET', $url); + #my $res = $ua->request($req); + #if ($res->is_success) { + # open(TXT,">$txt") or die "Couldn't open $txt: $!"; + # print TXT $res->content . "\n"; + # close(TXT) or die "Couldn't close $txt: $!"; + #} else { + # die $res->status_line; + #} + system("curl $url > $txt"); +} + +if ($opt_b && -e $crt) { + my $bk = 1; + while (-e "$crt.~${bk}~") { + $bk++; + } + rename $crt, "$crt.~${bk}~"; +} + +my $format = $opt_t ? "plain text and " : ""; +my $currentdate = scalar gmtime() . " UTC"; +open(CRT,">$crt") or die "Couldn't open $crt: $!"; +print CRT <<EOT; +## +## $crt -- Bundle of CA Root Certificates +## +## Converted at: ${currentdate} +## +## This is a bundle of X.509 certificates of public Certificate Authorities +## (CA). These were automatically extracted from Mozilla's root certificates +## file (certdata.txt). This file can be found in the mozilla source tree: +## '/mozilla/security/nss/lib/ckfw/builtins/certdata.txt' +## +## It contains the certificates in ${format}PEM format and therefore +## can be directly used with curl / libcurl / php_curl, or with +## an Apache+mod_ssl webserver for SSL client authentication. +## Just configure this file as the SSLCACertificateFile. +## + +EOT + +close(CRT) or die "Couldn't close $crt: $!"; + +print "Processing '$txt' ...\n" if (!$opt_q); +my $caname; +my $certnum = 0; +open(TXT,"$txt") or die "Couldn't open $txt: $!"; +while (<TXT>) { + if (/\*\*\*\*\* BEGIN LICENSE BLOCK \*\*\*\*\*/) { + open(CRT, ">>$crt") or die "Couldn't open $crt: $!"; + print CRT; + print if ($opt_l); + while (<TXT>) { + print CRT; + print if ($opt_l); + last if (/\*\*\*\*\* END LICENSE BLOCK \*\*\*\*\*/); + } + close(CRT) or die "Couldn't close $crt: $!"; + } + next if /^#|^\s*$/; + chomp; + if (/^CVS_ID\s+\"(.*)\"/) { + open(CRT, ">>$crt") or die "Couldn't open $crt: $!"; + print CRT "# $1\n"; + close(CRT) or die "Couldn't close $crt: $!"; + } + if (/^CKA_LABEL\s+[A-Z0-9]+\s+\"(.*)\"/) { + $caname = $1; + } + if (/^CKA_VALUE MULTILINE_OCTAL/) { + my $data; + while (<TXT>) { + last if (/^END/); + chomp; + my @octets = split(/\\/); + shift @octets; + for (@octets) { + $data .= chr(oct); + } + } + my $pem = "-----BEGIN CERTIFICATE-----\n" + . MIME::Base64::encode($data) + . "-----END CERTIFICATE-----\n"; + open(CRT, ">>$crt") or die "Couldn't open $crt: $!"; + print CRT "\n$caname\n"; + print CRT ("=" x length($caname) . "\n"); + if (!$opt_t) { + print CRT $pem; + } + close(CRT) or die "Couldn't close $crt: $!"; + if ($opt_t) { + open(TMP, "|$openssl x509 -md5 -fingerprint -text -inform PEM >> $crt") or die "Couldn't open openssl pipe: $!"; + print TMP $pem; + close(TMP) or die "Couldn't close openssl pipe: $!"; + } + print "Parsing: $caname\n" if ($opt_v); + $certnum ++; + } +} +close(TXT) or die "Couldn't close $txt: $!"; +unlink $txt if ($opt_u); +print "Done ($certnum CA certs processed).\n" if (!$opt_q); + +exit; + + diff --git a/win32/ext/openssl-wdk/openssl-wdk.patch b/win32/ext/openssl-wdk/openssl-wdk.patch new file mode 100644 index 00000000..36cd861d --- /dev/null +++ b/win32/ext/openssl-wdk/openssl-wdk.patch @@ -0,0 +1,64 @@ +diff -ruN --strip-trailing-cr openssl-1.0.1.orig/Configure openssl-1.0.1/Configure +--- openssl-1.0.1.orig/Configure 2012-03-03 14:18:06 +0100 ++++ openssl-1.0.1/Configure 2012-03-14 20:34:29 +0100 +@@ -517,12 +517,12 @@ + # + # Win64 targets, WIN64I denotes IA-64 and WIN64A - AMD64 + "VC-WIN64I","cl:-W3 -Gs0 -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE:::WIN64I::SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:ia64cpuid.o:ia64.o ia64-mont.o::aes_core.o aes_cbc.o aes-ia64.o::md5-ia64.o:sha1-ia64.o sha256-ia64.o sha512-ia64.o:::::::ghash-ia64.o::ias:win32", +-"VC-WIN64A","cl:-W3 -Gs0 -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE:::WIN64A::SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:".eval{my $asm=$x86_64_asm;$asm=~s/x86_64-gcc\.o/bn_asm.o/;$asm}.":auto:win32", ++"VC-WIN64A","cl:-W3 -Gs0 -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DUNICODE -D_UNICODE:::WIN64A::SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:".eval{my $asm=$x86_64_asm;$asm=~s/x86_64-gcc\.o/bn_asm.o/;$asm}.":auto:win32", + "debug-VC-WIN64I","cl:-W3 -Gs0 -Gy -Zi -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE:::WIN64I::SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:ia64cpuid.o:ia64.o::aes_core.o aes_cbc.o aes-ia64.o::md5-ia64.o:sha1-ia64.o sha256-ia64.o sha512-ia64.o:::::::ghash-ia64.o::ias:win32", + "debug-VC-WIN64A","cl:-W3 -Gs0 -Gy -Zi -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -DUNICODE -D_UNICODE -D_CRT_SECURE_NO_DEPRECATE:::WIN64A::SIXTY_FOUR_BIT RC4_CHUNK_LL DES_INT EXPORT_VAR_AS_FN:".eval{my $asm=$x86_64_asm;$asm=~s/x86_64-gcc\.o/bn_asm.o/;$asm}.":auto:win32", + # x86 Win32 target defaults to ANSI API, if you want UNICODE, complement + # 'perl Configure VC-WIN32' with '-DUNICODE -D_UNICODE' +-"VC-WIN32","cl:-W3 -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE:::WIN32::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${x86_asm}:win32n:win32", ++"VC-WIN32","cl:-W3 -Gs0 -GF -Gy -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN:::WIN32::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${x86_asm}:win32n:win32", + # Unified CE target + "debug-VC-WIN32","cl:-W3 -WX -Gs0 -GF -Gy -Zi -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE:::WIN32::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${x86_asm}:win32n:win32", + "VC-CE","cl::::WINCE::BN_LLONG RC4_INDEX EXPORT_VAR_AS_FN ${x86_gcc_opts}:${no_asm}:win32", +diff -ruN --strip-trailing-cr openssl-1.0.1.orig/engines/e_aep.c openssl-1.0.1/engines/e_aep.c +--- openssl-1.0.1.orig/engines/e_aep.c 2012-01-25 00:00:36 +0100 ++++ openssl-1.0.1/engines/e_aep.c 2012-03-14 20:33:58 +0100 +@@ -61,7 +61,12 @@ + #include <sys/types.h> + #include <unistd.h> + #else ++#ifdef _MSC_VER ++#include <windows.h> ++#define _getpid GetCurrentProcessId ++#else + #include <process.h> ++#endif + typedef int pid_t; + #endif + +diff -ruN --strip-trailing-cr openssl-1.0.1.orig/util/pl/VC-32.pl openssl-1.0.1/util/pl/VC-32.pl +--- openssl-1.0.1.orig/util/pl/VC-32.pl 2011-06-17 15:50:40 +0200 ++++ openssl-1.0.1/util/pl/VC-32.pl 2012-03-14 20:33:58 +0100 +@@ -47,7 +47,7 @@ + $lib_cflag='/Zl' if (!$shlib); # remove /DEFAULTLIBs from static lib + $opt_cflags=$f.' /Ox'; + $dbg_cflags=$f.'d /Od -DDEBUG -D_DEBUG'; +- $lflags="/nologo /subsystem:console /opt:ref"; ++ $lflags="/nologo /subsystem:console /opt:ref msvcrt_win2003.obj"; + + *::perlasm_compile_target = sub { + my ($target,$source,$bname)=@_; +@@ -128,7 +128,7 @@ + $lib_cflag='/Zl' if (!$shlib); # remove /DEFAULTLIBs from static lib + $opt_cflags=$f.' /Ox /O2 /Ob2'; + $dbg_cflags=$f.'d /Od -DDEBUG -D_DEBUG'; +- $lflags="/nologo /subsystem:console /opt:ref"; ++ $lflags="/nologo /subsystem:console /opt:ref msvcrt_winxp.obj"; + } + $mlflags=''; + +@@ -189,7 +189,7 @@ + $lfile='/out:'; + + $shlib_ex_obj=""; +-$app_ex_obj="setargv.obj" if ($FLAVOR !~ /CE/); ++$app_ex_obj="" if ($FLAVOR !~ /CE/); + if ($FLAVOR =~ /WIN64A/) { + if (`nasm -v 2>NUL` =~ /NASM version ([0-9]+\.[0-9]+)/ && $1 >= 2.0) { + $asm='nasm -f win64 -DNEAR -Ox -g'; diff --git a/win32/ext/zlib-wdk/LICENSE.ZLIB b/win32/ext/zlib-wdk/LICENSE.ZLIB new file mode 100644 index 00000000..a62a5d7b --- /dev/null +++ b/win32/ext/zlib-wdk/LICENSE.ZLIB @@ -0,0 +1,29 @@ +/* zlib.h -- interface of the 'zlib' general purpose compression library + version 1.2.3, July 18th, 2005 + + Copyright (C) 1995-2005 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu + + + The data format used by the zlib library is described by RFCs (Request for + Comments) 1950 to 1952 in the files http://www.ietf.org/rfc/rfc1950.txt + (zlib format), rfc1951.txt (deflate format) and rfc1952.txt (gzip format). +*/ diff --git a/win32/ext/zlib-wdk/install.props b/win32/ext/zlib-wdk/install.props new file mode 100644 index 00000000..d3517733 --- /dev/null +++ b/win32/ext/zlib-wdk/install.props @@ -0,0 +1,55 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ImportGroup Label="PropertySheets" /> + <PropertyGroup Label="UserMacros"> + <ZlibDoInstall32> + mkdir $(SolutionDir)x86\dist + mkdir $(SolutionDir)x86\dist\bin + copy $(SolutionDir)x86\MiniUnzipRelease\miniunz.exe $(SolutionDir)x86\dist\bin + copy $(SolutionDir)x86\MiniZipRelease\minizip.exe $(SolutionDir)x86\dist\bin + copy $(SolutionDir)x86\TestZlibDllRelease\testzlibdll.exe $(SolutionDir)x86\dist\bin + copy $(SolutionDir)x86\TestZlibRelease\testzlib.exe $(SolutionDir)x86\dist\bin + copy $(SolutionDir)x86\ZlibDllRelease\zlibwapi.dll $(SolutionDir)x86\dist\bin + mkdir $(SolutionDir)x86\dist\include + copy ..\..\..\zconf.h $(SolutionDir)x86\dist\include + copy ..\..\..\zlib.h $(SolutionDir)x86\dist\include + mkdir $(SolutionDir)x86\dist\lib + copy $(SolutionDir)x86\ZlibDllRelease\zlibwapi.exp $(SolutionDir)x86\dist\lib + copy $(SolutionDir)x86\ZlibDllRelease\zlibwapi.lib $(SolutionDir)x86\dist\lib + copy $(SolutionDir)x86\ZlibStatRelease\zlibstat.lib $(SolutionDir)x86\dist\lib + copy $(SolutionDir)zlibvc.def $(SolutionDir)x86\dist\lib + copy $(SolutionDir)LICENSE.ZLIB $(SolutionDir)x86\dist + </ZlibDoInstall32> + <ZlibDoInstall64> + mkdir $(SolutionDir)x64\dist + mkdir $(SolutionDir)x64\dist\bin + copy $(SolutionDir)x64\MiniUnzipRelease\miniunz.exe $(SolutionDir)x64\dist\bin + copy $(SolutionDir)x64\MiniZipRelease\minizip.exe $(SolutionDir)x64\dist\bin + copy $(SolutionDir)x64\TestZlibDllRelease\testzlibdll.exe $(SolutionDir)x64\dist\bin + copy $(SolutionDir)x64\TestZlibRelease\testzlib.exe $(SolutionDir)x64\dist\bin + copy $(SolutionDir)x64\ZlibDllRelease\zlibwapi.dll $(SolutionDir)x64\dist\bin + mkdir $(SolutionDir)x64\dist\include + copy ..\..\..\zconf.h $(SolutionDir)x64\dist\include + copy ..\..\..\zlib.h $(SolutionDir)x64\dist\include + mkdir $(SolutionDir)x64\dist\lib + copy $(SolutionDir)x64\ZlibDllRelease\zlibwapi.exp $(SolutionDir)x64\dist\lib + copy $(SolutionDir)x64\ZlibDllRelease\zlibwapi.lib $(SolutionDir)x64\dist\lib + copy $(SolutionDir)x64\ZlibStatRelease\zlibstat.lib $(SolutionDir)x64\dist\lib + copy $(SolutionDir)zlibvc.def $(SolutionDir)x64\dist\lib + copy $(SolutionDir)LICENSE.ZLIB $(SolutionDir)x64\dist + </ZlibDoInstall64> + </PropertyGroup> + <ItemDefinitionGroup> + <ClCompile> + <AdditionalIncludeDirectories>c:\WinDDK\7600.16385.1\inc\api;c:\WinDDK\7600.16385.1\inc\crt</AdditionalIncludeDirectories> + </ClCompile> + <Link> + <WDK32Dependencies>msvcrt_winxp.obj</WDK32Dependencies> + <WDK64Dependencies>msvcrt_win2003.obj</WDK64Dependencies> + <WDK32LibraryDirectories>c:\WinDDK\7600.16385.1\lib\Crt\i386;c:\WinDDK\7600.16385.1\lib\wxp\i386</WDK32LibraryDirectories> + <WDK64LibraryDirectories>c:\WinDDK\7600.16385.1\lib\Crt\amd64;c:\WinDDK\7600.16385.1\lib\wnet\amd64</WDK64LibraryDirectories> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + </ItemGroup> +</Project> diff --git a/win32/ext/zlib-wdk/install.vcxproj b/win32/ext/zlib-wdk/install.vcxproj new file mode 100644 index 00000000..f19aba87 --- /dev/null +++ b/win32/ext/zlib-wdk/install.vcxproj @@ -0,0 +1,94 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <ItemGroup> + <None Include="install.props"> + <SubType>Designer</SubType> + </None> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{6064E3A9-3939-4937-A387-C09299FC2952}</ProjectGuid> + <RootNamespace>install</RootNamespace> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>false</UseDebugLibraries> + <WholeProgramOptimization>true</WholeProgramOptimization> + <CharacterSet>MultiByte</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <UseDebugLibraries>false</UseDebugLibraries> + <WholeProgramOptimization>true</WholeProgramOptimization> + <CharacterSet>MultiByte</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="install.props" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="install.props" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <OutDir>x86\Install$(Configuration)\</OutDir> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <IntDir>x86\Install$(Configuration)\Tmp\</IntDir> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <OutDir>x64\Install$(Configuration)\</OutDir> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <IntDir>x64\Install$(Configuration)\Tmp\</IntDir> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <Optimization>MaxSpeed</Optimization> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + </ClCompile> + <Link> + <GenerateDebugInformation>true</GenerateDebugInformation> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + </Link> + <PreBuildEvent> + <Command>$(ZlibDoInstall32)</Command> + </PreBuildEvent> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <WarningLevel>Level3</WarningLevel> + <Optimization>MaxSpeed</Optimization> + <FunctionLevelLinking>true</FunctionLevelLinking> + <IntrinsicFunctions>true</IntrinsicFunctions> + </ClCompile> + <Link> + <GenerateDebugInformation>true</GenerateDebugInformation> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <OptimizeReferences>true</OptimizeReferences> + </Link> + <PreBuildEvent> + <Command>$(ZlibDoInstall64)</Command> + </PreBuildEvent> + </ItemDefinitionGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project> \ No newline at end of file diff --git a/win32/ext/zlib-wdk/install.vcxproj.filters b/win32/ext/zlib-wdk/install.vcxproj.filters new file mode 100644 index 00000000..86fd366d --- /dev/null +++ b/win32/ext/zlib-wdk/install.vcxproj.filters @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Resource Files"> + <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <None Include="install.props"> + <Filter>Resource Files</Filter> + </None> + </ItemGroup> +</Project> \ No newline at end of file diff --git a/win32/ext/zlib-wdk/install.vcxproj.user b/win32/ext/zlib-wdk/install.vcxproj.user new file mode 100644 index 00000000..695b5c78 --- /dev/null +++ b/win32/ext/zlib-wdk/install.vcxproj.user @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +</Project> \ No newline at end of file diff --git a/win32/ext/zlib-wdk/miniunz.vcxproj b/win32/ext/zlib-wdk/miniunz.vcxproj new file mode 100644 index 00000000..56b846d0 --- /dev/null +++ b/win32/ext/zlib-wdk/miniunz.vcxproj @@ -0,0 +1,130 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{C52F9E7B-498A-42BE-8DB4-85A15694382A}</ProjectGuid> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="install.props" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="install.props" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\MiniUnzip$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\MiniUnzip$(Configuration)\Tmp\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</GenerateManifest> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">x64\MiniUnzip$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">x64\MiniUnzip$(Configuration)\Tmp\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> + <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</GenerateManifest> + <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> + <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> + <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> + <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet> + <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> + <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <Optimization>MaxSpeed</Optimization> + <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> + <OmitFramePointers>true</OmitFramePointers> + <AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;NO_MSCVER_FILE64_FUNC;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <BasicRuntimeChecks>Default</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <BufferSecurityCheck>false</BufferSecurityCheck> + <FunctionLevelLinking>true</FunctionLevelLinking> + <PrecompiledHeader> + </PrecompiledHeader> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <AdditionalDependencies>x86\ZlibDllRelease\zlibwapi.lib;%(WDK32Dependencies);%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>$(OutDir)miniunz.exe</OutputFile> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + <AdditionalLibraryDirectories>%(WDK32LibraryDirectories)</AdditionalLibraryDirectories> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <Midl> + <TargetEnvironment>X64</TargetEnvironment> + </Midl> + <ClCompile> + <Optimization>MaxSpeed</Optimization> + <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> + <OmitFramePointers>true</OmitFramePointers> + <AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;NO_MSCVER_FILE64_FUNC;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <BasicRuntimeChecks>Default</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <BufferSecurityCheck>false</BufferSecurityCheck> + <FunctionLevelLinking>true</FunctionLevelLinking> + <PrecompiledHeader> + </PrecompiledHeader> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <AdditionalDependencies>x64\ZlibDllRelease\zlibwapi.lib;%(WDK64Dependencies);%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>$(OutDir)miniunz.exe</OutputFile> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <TargetMachine>MachineX64</TargetMachine> + <AdditionalLibraryDirectories>%(WDK64LibraryDirectories)</AdditionalLibraryDirectories> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="..\..\minizip\miniunz.c" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="zlibvc.vcxproj"> + <Project>{8fd826f8-3739-44e6-8cc8-997122e53b8d}</Project> + </ProjectReference> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project> \ No newline at end of file diff --git a/win32/ext/zlib-wdk/miniunz.vcxproj.filters b/win32/ext/zlib-wdk/miniunz.vcxproj.filters new file mode 100644 index 00000000..0b2a3de2 --- /dev/null +++ b/win32/ext/zlib-wdk/miniunz.vcxproj.filters @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{048af943-022b-4db6-beeb-a54c34774ee2}</UniqueIdentifier> + <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{c1d600d2-888f-4aea-b73e-8b0dd9befa0c}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{0844199a-966b-4f19-81db-1e0125e141b9}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\minizip\miniunz.c"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> +</Project> \ No newline at end of file diff --git a/win32/ext/zlib-wdk/miniunz.vcxproj.user b/win32/ext/zlib-wdk/miniunz.vcxproj.user new file mode 100644 index 00000000..695b5c78 --- /dev/null +++ b/win32/ext/zlib-wdk/miniunz.vcxproj.user @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +</Project> \ No newline at end of file diff --git a/win32/ext/zlib-wdk/minizip.vcxproj b/win32/ext/zlib-wdk/minizip.vcxproj new file mode 100644 index 00000000..aed19fe1 --- /dev/null +++ b/win32/ext/zlib-wdk/minizip.vcxproj @@ -0,0 +1,128 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}</ProjectGuid> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="install.props" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="install.props" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\MiniZip$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\MiniZip$(Configuration)\Tmp\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">x64\MiniZip$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">x64\MiniZip$(Configuration)\Tmp\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> + <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> + <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> + <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> + <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet> + <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> + <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <Optimization>MaxSpeed</Optimization> + <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> + <OmitFramePointers>true</OmitFramePointers> + <AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;NO_MSCVER_FILE64_FUNC;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <BasicRuntimeChecks>Default</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <BufferSecurityCheck>false</BufferSecurityCheck> + <FunctionLevelLinking>true</FunctionLevelLinking> + <PrecompiledHeader> + </PrecompiledHeader> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <AdditionalDependencies>x86\ZlibDllRelease\zlibwapi.lib;%(WDK32Dependencies);%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>$(OutDir)minizip.exe</OutputFile> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + <AdditionalLibraryDirectories>%(WDK32LibraryDirectories)</AdditionalLibraryDirectories> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <Midl> + <TargetEnvironment>X64</TargetEnvironment> + </Midl> + <ClCompile> + <Optimization>MaxSpeed</Optimization> + <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> + <OmitFramePointers>true</OmitFramePointers> + <AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;NO_MSCVER_FILE64_FUNC;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <BasicRuntimeChecks>Default</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <BufferSecurityCheck>false</BufferSecurityCheck> + <FunctionLevelLinking>true</FunctionLevelLinking> + <PrecompiledHeader> + </PrecompiledHeader> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <AdditionalDependencies>x64\ZlibDllRelease\zlibwapi.lib;%(WDK64Dependencies);%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>$(OutDir)minizip.exe</OutputFile> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <TargetMachine>MachineX64</TargetMachine> + <AdditionalLibraryDirectories>%(WDK64LibraryDirectories)</AdditionalLibraryDirectories> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="..\..\minizip\minizip.c" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="zlibvc.vcxproj"> + <Project>{8fd826f8-3739-44e6-8cc8-997122e53b8d}</Project> + </ProjectReference> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project> \ No newline at end of file diff --git a/win32/ext/zlib-wdk/minizip.vcxproj.filters b/win32/ext/zlib-wdk/minizip.vcxproj.filters new file mode 100644 index 00000000..dd73cd31 --- /dev/null +++ b/win32/ext/zlib-wdk/minizip.vcxproj.filters @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{c0419b40-bf50-40da-b153-ff74215b79de}</UniqueIdentifier> + <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{bb87b070-735b-478e-92ce-7383abb2f36c}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{f46ab6a6-548f-43cb-ae96-681abb5bd5db}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\minizip\minizip.c"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> +</Project> \ No newline at end of file diff --git a/win32/ext/zlib-wdk/minizip.vcxproj.user b/win32/ext/zlib-wdk/minizip.vcxproj.user new file mode 100644 index 00000000..695b5c78 --- /dev/null +++ b/win32/ext/zlib-wdk/minizip.vcxproj.user @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +</Project> \ No newline at end of file diff --git a/win32/ext/zlib-wdk/testzlib.vcxproj b/win32/ext/zlib-wdk/testzlib.vcxproj new file mode 100644 index 00000000..ab7f1abc --- /dev/null +++ b/win32/ext/zlib-wdk/testzlib.vcxproj @@ -0,0 +1,123 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}</ProjectGuid> + <RootNamespace>testzlib</RootNamespace> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="install.props" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="install.props" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\TestZlib$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\TestZlib$(Configuration)\Tmp\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</GenerateManifest> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">x64\TestZlib$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">x64\TestZlib$(Configuration)\Tmp\</IntDir> + <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</GenerateManifest> + <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> + <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> + <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> + <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet> + <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> + <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <Optimization>MaxSpeed</Optimization> + <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> + <OmitFramePointers>true</OmitFramePointers> + <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;NO_MSCVER_FILE64_FUNC;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <BasicRuntimeChecks>Default</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <BufferSecurityCheck>false</BufferSecurityCheck> + <FunctionLevelLinking>true</FunctionLevelLinking> + <PrecompiledHeader> + </PrecompiledHeader> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <OutputFile>$(OutDir)testzlib.exe</OutputFile> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + <AdditionalDependencies>%(WDK32Dependencies);%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalLibraryDirectories>%(WDK32LibraryDirectories)</AdditionalLibraryDirectories> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <ClCompile> + <AdditionalIncludeDirectories>..\..\..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;_CRT_NONSTDC_NO_WARNINGS;WIN64;NO_MSCVER_FILE64_FUNC;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <BasicRuntimeChecks>Default</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <BufferSecurityCheck>false</BufferSecurityCheck> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + </ClCompile> + <Link> + <AdditionalDependencies>%(WDK64Dependencies)</AdditionalDependencies> + <GenerateDebugInformation>true</GenerateDebugInformation> + <AdditionalLibraryDirectories>%(WDK64LibraryDirectories)</AdditionalLibraryDirectories> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="..\..\..\adler32.c" /> + <ClCompile Include="..\..\..\compress.c" /> + <ClCompile Include="..\..\..\crc32.c" /> + <ClCompile Include="..\..\..\deflate.c" /> + <ClCompile Include="..\..\..\infback.c" /> + <ClCompile Include="..\..\masmx64\inffas8664.c"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + </ClCompile> + <ClCompile Include="..\..\..\inffast.c" /> + <ClCompile Include="..\..\..\inflate.c" /> + <ClCompile Include="..\..\..\inftrees.c" /> + <ClCompile Include="..\..\testzlib\testzlib.c" /> + <ClCompile Include="..\..\..\trees.c" /> + <ClCompile Include="..\..\..\uncompr.c" /> + <ClCompile Include="..\..\..\zutil.c" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project> \ No newline at end of file diff --git a/win32/ext/zlib-wdk/testzlib.vcxproj.filters b/win32/ext/zlib-wdk/testzlib.vcxproj.filters new file mode 100644 index 00000000..249daa89 --- /dev/null +++ b/win32/ext/zlib-wdk/testzlib.vcxproj.filters @@ -0,0 +1,58 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{c1f6a2e3-5da5-4955-8653-310d3efe05a9}</UniqueIdentifier> + <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{c2aaffdc-2c95-4d6f-8466-4bec5890af2c}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{c274fe07-05f2-461c-964b-f6341e4e7eb5}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\..\adler32.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\compress.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\crc32.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\deflate.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\infback.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\masmx64\inffas8664.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\inffast.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\inflate.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\inftrees.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\testzlib\testzlib.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\trees.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\uncompr.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\zutil.c"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> +</Project> \ No newline at end of file diff --git a/win32/ext/zlib-wdk/testzlib.vcxproj.user b/win32/ext/zlib-wdk/testzlib.vcxproj.user new file mode 100644 index 00000000..695b5c78 --- /dev/null +++ b/win32/ext/zlib-wdk/testzlib.vcxproj.user @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +</Project> \ No newline at end of file diff --git a/win32/ext/zlib-wdk/testzlibdll.vcxproj b/win32/ext/zlib-wdk/testzlibdll.vcxproj new file mode 100644 index 00000000..600b3586 --- /dev/null +++ b/win32/ext/zlib-wdk/testzlibdll.vcxproj @@ -0,0 +1,130 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{C52F9E7B-498A-42BE-8DB4-85A15694366A}</ProjectGuid> + <Keyword>Win32Proj</Keyword> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>Application</ConfigurationType> + <CharacterSet>MultiByte</CharacterSet> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="install.props" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="install.props" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\TestZlibDll$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\TestZlibDll$(Configuration)\Tmp\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</GenerateManifest> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">x64\TestZlibDll$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">x64\TestZlibDll$(Configuration)\Tmp\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> + <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</GenerateManifest> + <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> + <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> + <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> + <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet> + <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> + <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <Optimization>MaxSpeed</Optimization> + <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> + <OmitFramePointers>true</OmitFramePointers> + <AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;NDEBUG;_CONSOLE;NO_MSCVER_FILE64_FUNC;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <BasicRuntimeChecks>Default</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <BufferSecurityCheck>false</BufferSecurityCheck> + <FunctionLevelLinking>true</FunctionLevelLinking> + <PrecompiledHeader> + </PrecompiledHeader> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <AdditionalDependencies>x86\ZlibDllRelease\zlibwapi.lib;%(WDK32Dependencies);%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>$(OutDir)testzlibdll.exe</OutputFile> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <TargetMachine>MachineX86</TargetMachine> + <AdditionalLibraryDirectories>%(WDK32LibraryDirectories)</AdditionalLibraryDirectories> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <Midl> + <TargetEnvironment>X64</TargetEnvironment> + </Midl> + <ClCompile> + <Optimization>MaxSpeed</Optimization> + <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> + <OmitFramePointers>true</OmitFramePointers> + <AdditionalIncludeDirectories>..\..\..;..\..\minizip;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>ZLIB_WINAPI;NDEBUG;_CONSOLE;WIN64;NO_MSCVER_FILE64_FUNC;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <BasicRuntimeChecks>Default</BasicRuntimeChecks> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <BufferSecurityCheck>false</BufferSecurityCheck> + <FunctionLevelLinking>true</FunctionLevelLinking> + <PrecompiledHeader> + </PrecompiledHeader> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <WarningLevel>Level3</WarningLevel> + <DebugInformationFormat>ProgramDatabase</DebugInformationFormat> + </ClCompile> + <Link> + <AdditionalDependencies>x64\ZlibDllRelease\zlibwapi.lib;%(WDK64Dependencies);%(AdditionalDependencies)</AdditionalDependencies> + <OutputFile>$(OutDir)testzlibdll.exe</OutputFile> + <GenerateDebugInformation>true</GenerateDebugInformation> + <SubSystem>Console</SubSystem> + <OptimizeReferences>true</OptimizeReferences> + <EnableCOMDATFolding>true</EnableCOMDATFolding> + <TargetMachine>MachineX64</TargetMachine> + <AdditionalLibraryDirectories>%(WDK64LibraryDirectories)</AdditionalLibraryDirectories> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="..\..\testzlib\testzlib.c" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="zlibvc.vcxproj"> + <Project>{8fd826f8-3739-44e6-8cc8-997122e53b8d}</Project> + </ProjectReference> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project> \ No newline at end of file diff --git a/win32/ext/zlib-wdk/testzlibdll.vcxproj.filters b/win32/ext/zlib-wdk/testzlibdll.vcxproj.filters new file mode 100644 index 00000000..53a8693b --- /dev/null +++ b/win32/ext/zlib-wdk/testzlibdll.vcxproj.filters @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{fa61a89f-93fc-4c89-b29e-36224b7592f4}</UniqueIdentifier> + <Extensions>cpp;c;cxx;def;odl;idl;hpj;bat;asm</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{d4b85da0-2ba2-4934-b57f-e2584e3848ee}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;inc</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{e573e075-00bd-4a7d-bd67-a8cc9bfc5aca}</UniqueIdentifier> + <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\testzlib\testzlib.c"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> +</Project> \ No newline at end of file diff --git a/win32/ext/zlib-wdk/testzlibdll.vcxproj.user b/win32/ext/zlib-wdk/testzlibdll.vcxproj.user new file mode 100644 index 00000000..695b5c78 --- /dev/null +++ b/win32/ext/zlib-wdk/testzlibdll.vcxproj.user @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +</Project> \ No newline at end of file diff --git a/win32/ext/zlib-wdk/zlib.rc b/win32/ext/zlib-wdk/zlib.rc new file mode 100644 index 00000000..f8224508 --- /dev/null +++ b/win32/ext/zlib-wdk/zlib.rc @@ -0,0 +1,32 @@ +#include <windows.h> + +#define IDR_VERSION1 1 +IDR_VERSION1 VERSIONINFO MOVEABLE IMPURE LOADONCALL DISCARDABLE + FILEVERSION 1,2,5,0 + PRODUCTVERSION 1,2,5,0 + FILEFLAGSMASK VS_FFI_FILEFLAGSMASK + FILEFLAGS 0 + FILEOS VOS_DOS_WINDOWS32 + FILETYPE VFT_DLL + FILESUBTYPE 0 // not used +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904E4" + //language ID = U.S. English, char set = Windows, Multilingual + + BEGIN + VALUE "FileDescription", "zlib data compression and ZIP file I/O library\0" + VALUE "FileVersion", "1.2.5\0" + VALUE "InternalName", "zlib\0" + VALUE "OriginalFilename", "zlib.dll\0" + VALUE "ProductName", "ZLib.DLL\0" + VALUE "Comments","DLL support by Alessandro Iacopetti & Gilles Vollant\0" + VALUE "LegalCopyright", "(C) 1995-2010 Jean-loup Gailly & Mark Adler\0" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0409, 1252 + END +END diff --git a/win32/ext/zlib-wdk/zlibstat.vcxproj b/win32/ext/zlib-wdk/zlibstat.vcxproj new file mode 100644 index 00000000..13d887ff --- /dev/null +++ b/win32/ext/zlib-wdk/zlibstat.vcxproj @@ -0,0 +1,139 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}</ProjectGuid> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>StaticLibrary</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="install.props" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="install.props" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\ZlibStat$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\ZlibStat$(Configuration)\Tmp\</IntDir> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">x64\ZlibStat$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">x64\ZlibStat$(Configuration)\Tmp\</IntDir> + <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> + <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> + <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> + <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet> + <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> + <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <ClCompile> + <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> + <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;ZLIB_WINAPI;_CRT_NONSTDC_NO_WARNINGS;NO_MSCVER_FILE64_FUNC;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <ExceptionHandling> + </ExceptionHandling> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <BufferSecurityCheck>false</BufferSecurityCheck> + <FunctionLevelLinking>true</FunctionLevelLinking> + <PrecompiledHeaderOutputFile>$(IntDir)zlibstat.pch</PrecompiledHeaderOutputFile> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <ObjectFileName>$(IntDir)</ObjectFileName> + <ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + </ClCompile> + <ResourceCompile> + <Culture>0x040c</Culture> + </ResourceCompile> + <Lib> + <AdditionalOptions>/MACHINE:X86 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions> + <OutputFile>$(OutDir)zlibstat.lib</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + </Lib> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <Midl> + <TargetEnvironment>X64</TargetEnvironment> + </Midl> + <ClCompile> + <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> + <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>ZLIB_WINAPI;_CRT_NONSTDC_NO_WARNINGS;WIN64;NO_MSCVER_FILE64_FUNC;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <ExceptionHandling> + </ExceptionHandling> + <RuntimeLibrary>MultiThreaded</RuntimeLibrary> + <BufferSecurityCheck>false</BufferSecurityCheck> + <FunctionLevelLinking>true</FunctionLevelLinking> + <PrecompiledHeaderOutputFile>$(IntDir)zlibstat.pch</PrecompiledHeaderOutputFile> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <ObjectFileName>$(IntDir)</ObjectFileName> + <ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + </ClCompile> + <ResourceCompile> + <Culture>0x040c</Culture> + </ResourceCompile> + <Lib> + <AdditionalOptions>/MACHINE:AMD64 /NODEFAULTLIB %(AdditionalOptions)</AdditionalOptions> + <OutputFile>$(OutDir)zlibstat.lib</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + </Lib> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="..\..\..\adler32.c" /> + <ClCompile Include="..\..\..\compress.c" /> + <ClCompile Include="..\..\..\crc32.c" /> + <ClCompile Include="..\..\..\deflate.c" /> + <ClCompile Include="..\..\..\gzclose.c" /> + <ClCompile Include="..\..\..\gzlib.c" /> + <ClCompile Include="..\..\..\gzread.c" /> + <ClCompile Include="..\..\..\gzwrite.c" /> + <ClCompile Include="..\..\..\infback.c" /> + <ClCompile Include="..\..\masmx64\inffas8664.c"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + </ClCompile> + <ClCompile Include="..\..\..\inffast.c" /> + <ClCompile Include="..\..\..\inflate.c" /> + <ClCompile Include="..\..\..\inftrees.c" /> + <ClCompile Include="..\..\minizip\ioapi.c" /> + <ClCompile Include="..\..\..\trees.c" /> + <ClCompile Include="..\..\..\uncompr.c" /> + <ClCompile Include="..\..\minizip\unzip.c" /> + <ClCompile Include="..\..\minizip\zip.c" /> + <ClCompile Include="..\..\..\zutil.c" /> + </ItemGroup> + <ItemGroup> + <ResourceCompile Include="zlib.rc" /> + </ItemGroup> + <ItemGroup> + <None Include="zlibvc.def" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project> \ No newline at end of file diff --git a/win32/ext/zlib-wdk/zlibstat.vcxproj.filters b/win32/ext/zlib-wdk/zlibstat.vcxproj.filters new file mode 100644 index 00000000..c8c7f7ea --- /dev/null +++ b/win32/ext/zlib-wdk/zlibstat.vcxproj.filters @@ -0,0 +1,77 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{174213f6-7f66-4ae8-a3a8-a1e0a1e6ffdd}</UniqueIdentifier> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\..\adler32.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\compress.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\crc32.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\deflate.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\gzclose.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\gzlib.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\gzread.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\gzwrite.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\infback.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\masmx64\inffas8664.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\inffast.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\inflate.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\inftrees.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\minizip\ioapi.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\trees.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\uncompr.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\minizip\unzip.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\minizip\zip.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\zutil.c"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ResourceCompile Include="zlib.rc"> + <Filter>Source Files</Filter> + </ResourceCompile> + </ItemGroup> + <ItemGroup> + <None Include="zlibvc.def"> + <Filter>Source Files</Filter> + </None> + </ItemGroup> +</Project> \ No newline at end of file diff --git a/win32/ext/zlib-wdk/zlibstat.vcxproj.user b/win32/ext/zlib-wdk/zlibstat.vcxproj.user new file mode 100644 index 00000000..695b5c78 --- /dev/null +++ b/win32/ext/zlib-wdk/zlibstat.vcxproj.user @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +</Project> \ No newline at end of file diff --git a/win32/ext/zlib-wdk/zlibvc.def b/win32/ext/zlib-wdk/zlibvc.def new file mode 100644 index 00000000..0269ef72 --- /dev/null +++ b/win32/ext/zlib-wdk/zlibvc.def @@ -0,0 +1,130 @@ +LIBRARY +; zlib data compression and ZIP file I/O library + +VERSION 1.24 + +EXPORTS + adler32 @1 + compress @2 + crc32 @3 + deflate @4 + deflateCopy @5 + deflateEnd @6 + deflateInit2_ @7 + deflateInit_ @8 + deflateParams @9 + deflateReset @10 + deflateSetDictionary @11 + gzclose @12 + gzdopen @13 + gzerror @14 + gzflush @15 + gzopen @16 + gzread @17 + gzwrite @18 + inflate @19 + inflateEnd @20 + inflateInit2_ @21 + inflateInit_ @22 + inflateReset @23 + inflateSetDictionary @24 + inflateSync @25 + uncompress @26 + zlibVersion @27 + gzprintf @28 + gzputc @29 + gzgetc @30 + gzseek @31 + gzrewind @32 + gztell @33 + gzeof @34 + gzsetparams @35 + zError @36 + inflateSyncPoint @37 + get_crc_table @38 + compress2 @39 + gzputs @40 + gzgets @41 + inflateCopy @42 + inflateBackInit_ @43 + inflateBack @44 + inflateBackEnd @45 + compressBound @46 + deflateBound @47 + gzclearerr @48 + gzungetc @49 + zlibCompileFlags @50 + deflatePrime @51 + + unzOpen @61 + unzClose @62 + unzGetGlobalInfo @63 + unzGetCurrentFileInfo @64 + unzGoToFirstFile @65 + unzGoToNextFile @66 + unzOpenCurrentFile @67 + unzReadCurrentFile @68 + unzOpenCurrentFile3 @69 + unztell @70 + unzeof @71 + unzCloseCurrentFile @72 + unzGetGlobalComment @73 + unzStringFileNameCompare @74 + unzLocateFile @75 + unzGetLocalExtrafield @76 + unzOpen2 @77 + unzOpenCurrentFile2 @78 + unzOpenCurrentFilePassword @79 + + zipOpen @80 + zipOpenNewFileInZip @81 + zipWriteInFileInZip @82 + zipCloseFileInZip @83 + zipClose @84 + zipOpenNewFileInZip2 @86 + zipCloseFileInZipRaw @87 + zipOpen2 @88 + zipOpenNewFileInZip3 @89 + + unzGetFilePos @100 + unzGoToFilePos @101 + + fill_win32_filefunc @110 + +; zlibwapi v1.2.4 added: + fill_win32_filefunc64 @111 + fill_win32_filefunc64A @112 + fill_win32_filefunc64W @113 + + unzOpen64 @120 + unzOpen2_64 @121 + unzGetGlobalInfo64 @122 + unzGetCurrentFileInfo64 @124 + unzGetCurrentFileZStreamPos64 @125 + unztell64 @126 + unzGetFilePos64 @127 + unzGoToFilePos64 @128 + + zipOpen64 @130 + zipOpen2_64 @131 + zipOpenNewFileInZip64 @132 + zipOpenNewFileInZip2_64 @133 + zipOpenNewFileInZip3_64 @134 + zipOpenNewFileInZip4_64 @135 + zipCloseFileInZipRaw64 @136 + +; zlib1 v1.2.4 added: + adler32_combine @140 + crc32_combine @142 + deflateSetHeader @144 + deflateTune @145 + gzbuffer @146 + gzclose_r @147 + gzclose_w @148 + gzdirect @149 + gzoffset @150 + inflateGetHeader @156 + inflateMark @157 + inflatePrime @158 + inflateReset2 @159 + inflateUndermine @160 diff --git a/win32/ext/zlib-wdk/zlibvc.sln b/win32/ext/zlib-wdk/zlibvc.sln new file mode 100644 index 00000000..de207fdc --- /dev/null +++ b/win32/ext/zlib-wdk/zlibvc.sln @@ -0,0 +1,62 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibvc", "zlibvc.vcxproj", "{8FD826F8-3739-44E6-8CC8-997122E53B8D}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "zlibstat", "zlibstat.vcxproj", "{745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testzlib", "testzlib.vcxproj", "{AA6666AA-E09F-4135-9C0C-4FE50C3C654B}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testzlibdll", "testzlibdll.vcxproj", "{C52F9E7B-498A-42BE-8DB4-85A15694366A}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "minizip", "minizip.vcxproj", "{48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "miniunz", "miniunz.vcxproj", "{C52F9E7B-498A-42BE-8DB4-85A15694382A}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "install", "install.vcxproj", "{6064E3A9-3939-4937-A387-C09299FC2952}" + ProjectSection(ProjectDependencies) = postProject + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8} = {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8} + {C52F9E7B-498A-42BE-8DB4-85A15694366A} = {C52F9E7B-498A-42BE-8DB4-85A15694366A} + {C52F9E7B-498A-42BE-8DB4-85A15694382A} = {C52F9E7B-498A-42BE-8DB4-85A15694382A} + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B} = {AA6666AA-E09F-4135-9C0C-4FE50C3C654B} + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B} = {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B} + {8FD826F8-3739-44E6-8CC8-997122E53B8D} = {8FD826F8-3739-44E6-8CC8-997122E53B8D} + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.ActiveCfg = Release|Win32 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|Win32.Build.0 = Release|Win32 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.ActiveCfg = Release|x64 + {8FD826F8-3739-44E6-8CC8-997122E53B8D}.Release|x64.Build.0 = Release|x64 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.ActiveCfg = Release|Win32 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|Win32.Build.0 = Release|Win32 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.ActiveCfg = Release|x64 + {745DEC58-EBB3-47A9-A9B8-4C6627C01BF8}.Release|x64.Build.0 = Release|x64 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32 + {AA6666AA-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.ActiveCfg = Release|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|Win32.Build.0 = Release|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.ActiveCfg = Release|x64 + {C52F9E7B-498A-42BE-8DB4-85A15694366A}.Release|x64.Build.0 = Release|x64 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.ActiveCfg = Release|Win32 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|Win32.Build.0 = Release|Win32 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.ActiveCfg = Release|x64 + {48CDD9DC-E09F-4135-9C0C-4FE50C3C654B}.Release|x64.Build.0 = Release|x64 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.ActiveCfg = Release|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|Win32.Build.0 = Release|Win32 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.ActiveCfg = Release|x64 + {C52F9E7B-498A-42BE-8DB4-85A15694382A}.Release|x64.Build.0 = Release|x64 + {6064E3A9-3939-4937-A387-C09299FC2952}.Release|Win32.ActiveCfg = Release|Win32 + {6064E3A9-3939-4937-A387-C09299FC2952}.Release|Win32.Build.0 = Release|Win32 + {6064E3A9-3939-4937-A387-C09299FC2952}.Release|x64.ActiveCfg = Release|x64 + {6064E3A9-3939-4937-A387-C09299FC2952}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/win32/ext/zlib-wdk/zlibvc.vcxproj b/win32/ext/zlib-wdk/zlibvc.vcxproj new file mode 100644 index 00000000..0d2448d4 --- /dev/null +++ b/win32/ext/zlib-wdk/zlibvc.vcxproj @@ -0,0 +1,199 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup Label="ProjectConfigurations"> + <ProjectConfiguration Include="Release|Win32"> + <Configuration>Release</Configuration> + <Platform>Win32</Platform> + </ProjectConfiguration> + <ProjectConfiguration Include="Release|x64"> + <Configuration>Release</Configuration> + <Platform>x64</Platform> + </ProjectConfiguration> + </ItemGroup> + <PropertyGroup Label="Globals"> + <ProjectGuid>{8FD826F8-3739-44E6-8CC8-997122E53B8D}</ProjectGuid> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration"> + <ConfigurationType>DynamicLibrary</ConfigurationType> + <UseOfMfc>false</UseOfMfc> + <WholeProgramOptimization>true</WholeProgramOptimization> + </PropertyGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> + <ImportGroup Label="ExtensionSettings"> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="install.props" /> + </ImportGroup> + <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets"> + <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> + <Import Project="install.props" /> + </ImportGroup> + <PropertyGroup Label="UserMacros" /> + <PropertyGroup> + <_ProjectFileVersion>10.0.30128.1</_ProjectFileVersion> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\ZlibDll$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">x86\ZlibDll$(Configuration)\Tmp\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental> + <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</GenerateManifest> + <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">x64\ZlibDll$(Configuration)\</OutDir> + <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">x64\ZlibDll$(Configuration)\Tmp\</IntDir> + <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental> + <GenerateManifest Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</GenerateManifest> + <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">AllRules.ruleset</CodeAnalysisRuleSet> + <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> + <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" /> + <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='Release|x64'">AllRules.ruleset</CodeAnalysisRuleSet> + <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> + <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='Release|x64'" /> + </PropertyGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> + <Midl> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MkTypLibCompatible>true</MkTypLibCompatible> + <SuppressStartupBanner>true</SuppressStartupBanner> + <TargetEnvironment>Win32</TargetEnvironment> + <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName> + </Midl> + <ClCompile> + <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> + <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;NO_MSCVER_FILE64_FUNC;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <ExceptionHandling> + </ExceptionHandling> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <BufferSecurityCheck>false</BufferSecurityCheck> + <FunctionLevelLinking>true</FunctionLevelLinking> + <PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile> + <AssemblerOutput>All</AssemblerOutput> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <ObjectFileName>$(IntDir)</ObjectFileName> + <ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName> + <BrowseInformation> + </BrowseInformation> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x040c</Culture> + </ResourceCompile> + <Link> + <AdditionalOptions>/MACHINE:I386 %(AdditionalOptions)</AdditionalOptions> + <OutputFile>$(OutDir)zlibwapi.dll</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries> + <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile> + <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile> + <GenerateMapFile>true</GenerateMapFile> + <MapFileName>$(OutDir)zlibwapi.map</MapFileName> + <SubSystem>Windows</SubSystem> + <RandomizedBaseAddress>false</RandomizedBaseAddress> + <DataExecutionPrevention> + </DataExecutionPrevention> + <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary> + <GenerateDebugInformation>true</GenerateDebugInformation> + <AdditionalDependencies>%(WDK32Dependencies);%(AdditionalDependencies)</AdditionalDependencies> + <AdditionalLibraryDirectories>%(WDK32LibraryDirectories)</AdditionalLibraryDirectories> + </Link> + </ItemDefinitionGroup> + <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> + <Midl> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <MkTypLibCompatible>true</MkTypLibCompatible> + <SuppressStartupBanner>true</SuppressStartupBanner> + <TargetEnvironment>X64</TargetEnvironment> + <TypeLibraryName>$(OutDir)zlibvc.tlb</TypeLibraryName> + </Midl> + <ClCompile> + <InlineFunctionExpansion>OnlyExplicitInline</InlineFunctionExpansion> + <AdditionalIncludeDirectories>..\..\..;..\..\masmx86;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <PreprocessorDefinitions>WIN32;_CRT_NONSTDC_NO_WARNINGS;ZLIB_WINAPI;WIN64;NO_MSCVER_FILE64_FUNC;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <StringPooling>true</StringPooling> + <ExceptionHandling> + </ExceptionHandling> + <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> + <BufferSecurityCheck>false</BufferSecurityCheck> + <FunctionLevelLinking>true</FunctionLevelLinking> + <PrecompiledHeaderOutputFile>$(IntDir)zlibvc.pch</PrecompiledHeaderOutputFile> + <AssemblerOutput>All</AssemblerOutput> + <AssemblerListingLocation>$(IntDir)</AssemblerListingLocation> + <ObjectFileName>$(IntDir)</ObjectFileName> + <ProgramDataBaseFileName>$(OutDir)</ProgramDataBaseFileName> + <BrowseInformation> + </BrowseInformation> + <WarningLevel>Level3</WarningLevel> + <SuppressStartupBanner>true</SuppressStartupBanner> + </ClCompile> + <ResourceCompile> + <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> + <Culture>0x040c</Culture> + </ResourceCompile> + <Link> + <OutputFile>$(OutDir)zlibwapi.dll</OutputFile> + <SuppressStartupBanner>true</SuppressStartupBanner> + <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries> + <ModuleDefinitionFile>.\zlibvc.def</ModuleDefinitionFile> + <ProgramDatabaseFile>$(OutDir)zlibwapi.pdb</ProgramDatabaseFile> + <GenerateMapFile>true</GenerateMapFile> + <MapFileName>$(OutDir)zlibwapi.map</MapFileName> + <SubSystem>Windows</SubSystem> + <ImportLibrary>$(OutDir)zlibwapi.lib</ImportLibrary> + <TargetMachine>MachineX64</TargetMachine> + <GenerateDebugInformation>true</GenerateDebugInformation> + <AdditionalDependencies>%(WDK64Dependencies)</AdditionalDependencies> + <AdditionalLibraryDirectories>%(WDK64LibraryDirectories)</AdditionalLibraryDirectories> + </Link> + </ItemDefinitionGroup> + <ItemGroup> + <ClCompile Include="..\..\..\adler32.c" /> + <ClCompile Include="..\..\..\compress.c" /> + <ClCompile Include="..\..\..\crc32.c" /> + <ClCompile Include="..\..\..\deflate.c" /> + <ClCompile Include="..\..\..\gzclose.c" /> + <ClCompile Include="..\..\..\gzlib.c" /> + <ClCompile Include="..\..\..\gzread.c" /> + <ClCompile Include="..\..\..\gzwrite.c" /> + <ClCompile Include="..\..\..\infback.c" /> + <ClCompile Include="..\..\masmx64\inffas8664.c"> + <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> + </ClCompile> + <ClCompile Include="..\..\..\inffast.c" /> + <ClCompile Include="..\..\..\inflate.c" /> + <ClCompile Include="..\..\..\inftrees.c" /> + <ClCompile Include="..\..\minizip\ioapi.c" /> + <ClCompile Include="..\..\minizip\iowin32.c" /> + <ClCompile Include="..\..\..\trees.c" /> + <ClCompile Include="..\..\..\uncompr.c" /> + <ClCompile Include="..\..\minizip\unzip.c" /> + <ClCompile Include="..\..\minizip\zip.c" /> + <ClCompile Include="..\..\..\zutil.c" /> + </ItemGroup> + <ItemGroup> + <ResourceCompile Include="zlib.rc" /> + </ItemGroup> + <ItemGroup> + <None Include="zlibvc.def" /> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\..\deflate.h" /> + <ClInclude Include="..\..\..\infblock.h" /> + <ClInclude Include="..\..\..\infcodes.h" /> + <ClInclude Include="..\..\..\inffast.h" /> + <ClInclude Include="..\..\..\inftrees.h" /> + <ClInclude Include="..\..\..\infutil.h" /> + <ClInclude Include="..\..\..\zconf.h" /> + <ClInclude Include="..\..\..\zlib.h" /> + <ClInclude Include="..\..\..\zutil.h" /> + </ItemGroup> + <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> + <ImportGroup Label="ExtensionTargets"> + </ImportGroup> +</Project> \ No newline at end of file diff --git a/win32/ext/zlib-wdk/zlibvc.vcxproj.filters b/win32/ext/zlib-wdk/zlibvc.vcxproj.filters new file mode 100644 index 00000000..180b71cd --- /dev/null +++ b/win32/ext/zlib-wdk/zlibvc.vcxproj.filters @@ -0,0 +1,118 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <ItemGroup> + <Filter Include="Source Files"> + <UniqueIdentifier>{07934a85-8b61-443d-a0ee-b2eedb74f3cd}</UniqueIdentifier> + <Extensions>cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90</Extensions> + </Filter> + <Filter Include="Header Files"> + <UniqueIdentifier>{1d99675b-433d-4a21-9e50-ed4ab8b19762}</UniqueIdentifier> + <Extensions>h;hpp;hxx;hm;inl;fi;fd</Extensions> + </Filter> + <Filter Include="Resource Files"> + <UniqueIdentifier>{431c0958-fa71-44d0-9084-2d19d100c0cc}</UniqueIdentifier> + <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe</Extensions> + </Filter> + </ItemGroup> + <ItemGroup> + <ClCompile Include="..\..\..\adler32.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\compress.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\crc32.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\deflate.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\gzclose.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\gzlib.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\gzread.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\gzwrite.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\infback.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\masmx64\inffas8664.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\inffast.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\inflate.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\inftrees.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\minizip\ioapi.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\minizip\iowin32.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\trees.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\uncompr.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\minizip\unzip.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\minizip\zip.c"> + <Filter>Source Files</Filter> + </ClCompile> + <ClCompile Include="..\..\..\zutil.c"> + <Filter>Source Files</Filter> + </ClCompile> + </ItemGroup> + <ItemGroup> + <ResourceCompile Include="zlib.rc"> + <Filter>Source Files</Filter> + </ResourceCompile> + </ItemGroup> + <ItemGroup> + <None Include="zlibvc.def"> + <Filter>Source Files</Filter> + </None> + </ItemGroup> + <ItemGroup> + <ClInclude Include="..\..\..\deflate.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\infblock.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\infcodes.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\inffast.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\inftrees.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\infutil.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\zconf.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\zlib.h"> + <Filter>Header Files</Filter> + </ClInclude> + <ClInclude Include="..\..\..\zutil.h"> + <Filter>Header Files</Filter> + </ClInclude> + </ItemGroup> +</Project> \ No newline at end of file diff --git a/win32/ext/zlib-wdk/zlibvc.vcxproj.user b/win32/ext/zlib-wdk/zlibvc.vcxproj.user new file mode 100644 index 00000000..695b5c78 --- /dev/null +++ b/win32/ext/zlib-wdk/zlibvc.vcxproj.user @@ -0,0 +1,3 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> +</Project> \ No newline at end of file diff --git a/win32/glibconfig-x64.h b/win32/glibconfig-x64.h new file mode 100644 index 00000000..84a6e22b --- /dev/null +++ b/win32/glibconfig-x64.h @@ -0,0 +1,225 @@ +/* glibconfig.h + * + * This is a generated file. Please modify 'configure.ac' + */ + +#ifndef __G_LIBCONFIG_H__ +#define __G_LIBCONFIG_H__ + +#include <glib/gmacros.h> + +#include <limits.h> +#include <float.h> + +G_BEGIN_DECLS + +#define G_MINFLOAT FLT_MIN +#define G_MAXFLOAT FLT_MAX +#define G_MINDOUBLE DBL_MIN +#define G_MAXDOUBLE DBL_MAX +#define G_MINSHORT SHRT_MIN +#define G_MAXSHORT SHRT_MAX +#define G_MAXUSHORT USHRT_MAX +#define G_MININT INT_MIN +#define G_MAXINT INT_MAX +#define G_MAXUINT UINT_MAX +#define G_MINLONG LONG_MIN +#define G_MAXLONG LONG_MAX +#define G_MAXULONG ULONG_MAX + +typedef signed char gint8; +typedef unsigned char guint8; +typedef signed short gint16; +typedef unsigned short guint16; +#define G_GINT16_MODIFIER "h" +#define G_GINT16_FORMAT "hi" +#define G_GUINT16_FORMAT "hu" +typedef signed int gint32; +typedef unsigned int guint32; +#define G_GINT32_MODIFIER "" +#define G_GINT32_FORMAT "i" +#define G_GUINT32_FORMAT "u" +#define G_HAVE_GINT64 1 /* deprecated, always true */ + +G_GNUC_EXTENSION typedef signed long long gint64; +G_GNUC_EXTENSION typedef unsigned long long guint64; + +#define G_GINT64_CONSTANT(val) (G_GNUC_EXTENSION (val##LL)) +#define G_GUINT64_CONSTANT(val) (G_GNUC_EXTENSION (val##ULL)) +#define G_GINT64_MODIFIER "I64" +#define G_GINT64_FORMAT "I64i" +#define G_GUINT64_FORMAT "I64u" + +#define GLIB_SIZEOF_VOID_P 8 +#define GLIB_SIZEOF_LONG 4 +#define GLIB_SIZEOF_SIZE_T 8 + +typedef signed long long gssize; +typedef unsigned long long gsize; +#define G_GSIZE_MODIFIER "I64" +#define G_GSSIZE_FORMAT "I64i" +#define G_GSIZE_FORMAT "I64u" + +#define G_MAXSIZE G_MAXUINT64 +#define G_MINSSIZE G_MININT64 +#define G_MAXSSIZE G_MAXINT64 + +typedef gint64 goffset; +#define G_MINOFFSET G_MININT64 +#define G_MAXOFFSET G_MAXINT64 + +#define G_GOFFSET_MODIFIER G_GINT64_MODIFIER +#define G_GOFFSET_FORMAT G_GINT64_FORMAT +#define G_GOFFSET_CONSTANT(val) G_GINT64_CONSTANT(val) + + +#define GPOINTER_TO_INT(p) ((gint) (gint64) (p)) +#define GPOINTER_TO_UINT(p) ((guint) (guint64) (p)) + +#define GINT_TO_POINTER(i) ((gpointer) (gint64) (i)) +#define GUINT_TO_POINTER(u) ((gpointer) (guint64) (u)) + +typedef signed long long gintptr; +typedef unsigned long long guintptr; + +#define G_GINTPTR_MODIFIER "I64" +#define G_GINTPTR_FORMAT "I64i" +#define G_GUINTPTR_FORMAT "I64u" + +#ifdef NeXT /* @#%@! NeXTStep */ +# define g_ATEXIT(proc) (!atexit (proc)) +#else +# define g_ATEXIT(proc) (atexit (proc)) +#endif + +#define g_memmove(dest,src,len) G_STMT_START { memmove ((dest), (src), (len)); } G_STMT_END + +#define GLIB_MAJOR_VERSION 2 +#define GLIB_MINOR_VERSION 30 +#define GLIB_MICRO_VERSION 2 + +#define G_OS_WIN32 +#define G_PLATFORM_WIN32 + + +#define G_VA_COPY va_copy + +#ifdef __cplusplus +#define G_HAVE_INLINE 1 +#else /* !__cplusplus */ +#ifndef _MSC_VER +#define G_HAVE_INLINE 1 +#endif /* _MSC_VER */ +#define G_HAVE___INLINE 1 +#if !defined(_MSC_VER) && !defined(__DMC__) +#define G_HAVE___INLINE__ 1 +#endif /* !_MSC_VER and !__DMC__ */ +#endif /* !__cplusplus */ + +#ifdef __cplusplus +#define G_CAN_INLINE 1 +#else /* !__cplusplus */ +#define G_CAN_INLINE 1 +#endif + +#ifndef __cplusplus +# define G_HAVE_ISO_VARARGS 1 +#endif + +/* gcc-2.95.x supports both gnu style and ISO varargs, but if -ansi + * is passed ISO vararg support is turned off, and there is no work + * around to turn it on, so we unconditionally turn it off. + */ +#if __GNUC__ == 2 && __GNUC_MINOR__ == 95 +# undef G_HAVE_ISO_VARARGS +#endif + +#define G_HAVE_GNUC_VARARGS 1 +#define G_HAVE_GROWING_STACK 0 + +#if defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590) +#define G_GNUC_INTERNAL __attribute__((visibility("hidden"))) +#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550) +#define G_GNUC_INTERNAL __hidden +#elif defined (__GNUC__) && defined (G_HAVE_GNUC_VISIBILITY) +#define G_GNUC_INTERNAL __attribute__((visibility("hidden"))) +#else +#define G_GNUC_INTERNAL +#endif + +#define G_THREADS_ENABLED +#define G_THREADS_IMPL_WIN32 +typedef struct _GMutex* GStaticMutex; +#define G_STATIC_MUTEX_INIT NULL +#define g_static_mutex_get_mutex(mutex) \ + (g_static_mutex_get_mutex_impl_shortcut (mutex)) +/* This represents a system thread as used by the implementation. An + * alien implementaion, as loaded by g_thread_init can only count on + * "sizeof (gpointer)" bytes to store their info. We however need more + * for some of our native implementations. */ +typedef union _GSystemThread GSystemThread; +union _GSystemThread +{ + char data[8]; + double dummy_double; + void *dummy_pointer; + long dummy_long; +}; + +#define G_ATOMIC_OP_USE_GCC_BUILTINS 1 + +#define GINT16_TO_LE(val) ((gint16) (val)) +#define GUINT16_TO_LE(val) ((guint16) (val)) +#define GINT16_TO_BE(val) ((gint16) GUINT16_SWAP_LE_BE (val)) +#define GUINT16_TO_BE(val) (GUINT16_SWAP_LE_BE (val)) +#define GINT32_TO_LE(val) ((gint32) (val)) +#define GUINT32_TO_LE(val) ((guint32) (val)) +#define GINT32_TO_BE(val) ((gint32) GUINT32_SWAP_LE_BE (val)) +#define GUINT32_TO_BE(val) (GUINT32_SWAP_LE_BE (val)) +#define GINT64_TO_LE(val) ((gint64) (val)) +#define GUINT64_TO_LE(val) ((guint64) (val)) +#define GINT64_TO_BE(val) ((gint64) GUINT64_SWAP_LE_BE (val)) +#define GUINT64_TO_BE(val) (GUINT64_SWAP_LE_BE (val)) +#define GLONG_TO_LE(val) ((glong) GINT32_TO_LE (val)) +#define GULONG_TO_LE(val) ((gulong) GUINT32_TO_LE (val)) +#define GLONG_TO_BE(val) ((glong) GINT32_TO_BE (val)) +#define GULONG_TO_BE(val) ((gulong) GUINT32_TO_BE (val)) +#define GINT_TO_LE(val) ((gint) GINT32_TO_LE (val)) +#define GUINT_TO_LE(val) ((guint) GUINT32_TO_LE (val)) +#define GINT_TO_BE(val) ((gint) GINT32_TO_BE (val)) +#define GUINT_TO_BE(val) ((guint) GUINT32_TO_BE (val)) +#define GSIZE_TO_LE(val) ((gsize) GUINT64_TO_LE (val)) +#define GSSIZE_TO_LE(val) ((gssize) GINT64_TO_LE (val)) +#define GSIZE_TO_BE(val) ((gsize) GUINT64_TO_BE (val)) +#define GSSIZE_TO_BE(val) ((gssize) GINT64_TO_BE (val)) +#define G_BYTE_ORDER G_LITTLE_ENDIAN + +#define GLIB_SYSDEF_POLLIN =1 +#define GLIB_SYSDEF_POLLOUT =4 +#define GLIB_SYSDEF_POLLPRI =2 +#define GLIB_SYSDEF_POLLHUP =16 +#define GLIB_SYSDEF_POLLERR =8 +#define GLIB_SYSDEF_POLLNVAL =32 + +#define G_MODULE_SUFFIX "dll" + +/* A GPid is an abstraction for a process "handle". It is *not* an + * abstraction for a process identifier in general. GPid is used in + * GLib only for descendant processes spawned with the g_spawn* + * functions. On POSIX there is no "process handle" concept as such, + * but on Windows a GPid is a handle to a process, a kind of pointer, + * not a process identifier. + */ +typedef void * GPid; + +#define GLIB_SYSDEF_AF_UNIX 1 +#define GLIB_SYSDEF_AF_INET 2 +#define GLIB_SYSDEF_AF_INET6 23 + +#define GLIB_SYSDEF_MSG_OOB 1 +#define GLIB_SYSDEF_MSG_PEEK 2 +#define GLIB_SYSDEF_MSG_DONTROUTE 4 + +G_END_DECLS + +#endif /* GLIBCONFIG_H */ diff --git a/win32/glibconfig-x86.h b/win32/glibconfig-x86.h new file mode 100644 index 00000000..7f8a0636 --- /dev/null +++ b/win32/glibconfig-x86.h @@ -0,0 +1,225 @@ +/* glibconfig.h + * + * This is a generated file. Please modify 'configure.ac' + */ + +#ifndef __G_LIBCONFIG_H__ +#define __G_LIBCONFIG_H__ + +#include <glib/gmacros.h> + +#include <limits.h> +#include <float.h> + +G_BEGIN_DECLS + +#define G_MINFLOAT FLT_MIN +#define G_MAXFLOAT FLT_MAX +#define G_MINDOUBLE DBL_MIN +#define G_MAXDOUBLE DBL_MAX +#define G_MINSHORT SHRT_MIN +#define G_MAXSHORT SHRT_MAX +#define G_MAXUSHORT USHRT_MAX +#define G_MININT INT_MIN +#define G_MAXINT INT_MAX +#define G_MAXUINT UINT_MAX +#define G_MINLONG LONG_MIN +#define G_MAXLONG LONG_MAX +#define G_MAXULONG ULONG_MAX + +typedef signed char gint8; +typedef unsigned char guint8; +typedef signed short gint16; +typedef unsigned short guint16; +#define G_GINT16_MODIFIER "h" +#define G_GINT16_FORMAT "hi" +#define G_GUINT16_FORMAT "hu" +typedef signed int gint32; +typedef unsigned int guint32; +#define G_GINT32_MODIFIER "" +#define G_GINT32_FORMAT "i" +#define G_GUINT32_FORMAT "u" +#define G_HAVE_GINT64 1 /* deprecated, always true */ + +G_GNUC_EXTENSION typedef signed long long gint64; +G_GNUC_EXTENSION typedef unsigned long long guint64; + +#define G_GINT64_CONSTANT(val) (G_GNUC_EXTENSION (val##LL)) +#define G_GUINT64_CONSTANT(val) (G_GNUC_EXTENSION (val##ULL)) +#define G_GINT64_MODIFIER "I64" +#define G_GINT64_FORMAT "I64i" +#define G_GUINT64_FORMAT "I64u" + +#define GLIB_SIZEOF_VOID_P 4 +#define GLIB_SIZEOF_LONG 4 +#define GLIB_SIZEOF_SIZE_T 4 + +typedef signed int gssize; +typedef unsigned int gsize; +#define G_GSIZE_MODIFIER "" +#define G_GSSIZE_FORMAT "i" +#define G_GSIZE_FORMAT "u" + +#define G_MAXSIZE G_MAXUINT +#define G_MINSSIZE G_MININT +#define G_MAXSSIZE G_MAXINT + +typedef gint64 goffset; +#define G_MINOFFSET G_MININT64 +#define G_MAXOFFSET G_MAXINT64 + +#define G_GOFFSET_MODIFIER G_GINT64_MODIFIER +#define G_GOFFSET_FORMAT G_GINT64_FORMAT +#define G_GOFFSET_CONSTANT(val) G_GINT64_CONSTANT(val) + + +#define GPOINTER_TO_INT(p) ((gint) (p)) +#define GPOINTER_TO_UINT(p) ((guint) (p)) + +#define GINT_TO_POINTER(i) ((gpointer) (i)) +#define GUINT_TO_POINTER(u) ((gpointer) (u)) + +typedef signed int gintptr; +typedef unsigned int guintptr; + +#define G_GINTPTR_MODIFIER "" +#define G_GINTPTR_FORMAT "i" +#define G_GUINTPTR_FORMAT "u" + +#ifdef NeXT /* @#%@! NeXTStep */ +# define g_ATEXIT(proc) (!atexit (proc)) +#else +# define g_ATEXIT(proc) (atexit (proc)) +#endif + +#define g_memmove(dest,src,len) G_STMT_START { memmove ((dest), (src), (len)); } G_STMT_END + +#define GLIB_MAJOR_VERSION 2 +#define GLIB_MINOR_VERSION 30 +#define GLIB_MICRO_VERSION 2 + +#define G_OS_WIN32 +#define G_PLATFORM_WIN32 + + +#define G_VA_COPY va_copy + +#ifdef __cplusplus +#define G_HAVE_INLINE 1 +#else /* !__cplusplus */ +#ifndef _MSC_VER +#define G_HAVE_INLINE 1 +#endif /* _MSC_VER */ +#define G_HAVE___INLINE 1 +#if !defined(_MSC_VER) && !defined(__DMC__) +#define G_HAVE___INLINE__ 1 +#endif /* !_MSC_VER and !__DMC__ */ +#endif /* !__cplusplus */ + +#ifdef __cplusplus +#define G_CAN_INLINE 1 +#else /* !__cplusplus */ +#define G_CAN_INLINE 1 +#endif + +#ifndef __cplusplus +# define G_HAVE_ISO_VARARGS 1 +#endif + +/* gcc-2.95.x supports both gnu style and ISO varargs, but if -ansi + * is passed ISO vararg support is turned off, and there is no work + * around to turn it on, so we unconditionally turn it off. + */ +#if __GNUC__ == 2 && __GNUC_MINOR__ == 95 +# undef G_HAVE_ISO_VARARGS +#endif + +#define G_HAVE_GNUC_VARARGS 1 +#define G_HAVE_GROWING_STACK 0 + +#if defined(__SUNPRO_C) && (__SUNPRO_C >= 0x590) +#define G_GNUC_INTERNAL __attribute__((visibility("hidden"))) +#elif defined(__SUNPRO_C) && (__SUNPRO_C >= 0x550) +#define G_GNUC_INTERNAL __hidden +#elif defined (__GNUC__) && defined (G_HAVE_GNUC_VISIBILITY) +#define G_GNUC_INTERNAL __attribute__((visibility("hidden"))) +#else +#define G_GNUC_INTERNAL +#endif + +#define G_THREADS_ENABLED +#define G_THREADS_IMPL_WIN32 +typedef struct _GMutex* GStaticMutex; +#define G_STATIC_MUTEX_INIT NULL +#define g_static_mutex_get_mutex(mutex) \ + (g_static_mutex_get_mutex_impl_shortcut (mutex)) +/* This represents a system thread as used by the implementation. An + * alien implementaion, as loaded by g_thread_init can only count on + * "sizeof (gpointer)" bytes to store their info. We however need more + * for some of our native implementations. */ +typedef union _GSystemThread GSystemThread; +union _GSystemThread +{ + char data[4]; + double dummy_double; + void *dummy_pointer; + long dummy_long; +}; + +#define G_ATOMIC_OP_USE_GCC_BUILTINS 1 + +#define GINT16_TO_LE(val) ((gint16) (val)) +#define GUINT16_TO_LE(val) ((guint16) (val)) +#define GINT16_TO_BE(val) ((gint16) GUINT16_SWAP_LE_BE (val)) +#define GUINT16_TO_BE(val) (GUINT16_SWAP_LE_BE (val)) +#define GINT32_TO_LE(val) ((gint32) (val)) +#define GUINT32_TO_LE(val) ((guint32) (val)) +#define GINT32_TO_BE(val) ((gint32) GUINT32_SWAP_LE_BE (val)) +#define GUINT32_TO_BE(val) (GUINT32_SWAP_LE_BE (val)) +#define GINT64_TO_LE(val) ((gint64) (val)) +#define GUINT64_TO_LE(val) ((guint64) (val)) +#define GINT64_TO_BE(val) ((gint64) GUINT64_SWAP_LE_BE (val)) +#define GUINT64_TO_BE(val) (GUINT64_SWAP_LE_BE (val)) +#define GLONG_TO_LE(val) ((glong) GINT32_TO_LE (val)) +#define GULONG_TO_LE(val) ((gulong) GUINT32_TO_LE (val)) +#define GLONG_TO_BE(val) ((glong) GINT32_TO_BE (val)) +#define GULONG_TO_BE(val) ((gulong) GUINT32_TO_BE (val)) +#define GINT_TO_LE(val) ((gint) GINT32_TO_LE (val)) +#define GUINT_TO_LE(val) ((guint) GUINT32_TO_LE (val)) +#define GINT_TO_BE(val) ((gint) GINT32_TO_BE (val)) +#define GUINT_TO_BE(val) ((guint) GUINT32_TO_BE (val)) +#define GSIZE_TO_LE(val) ((gsize) GUINT32_TO_LE (val)) +#define GSSIZE_TO_LE(val) ((gssize) GINT32_TO_LE (val)) +#define GSIZE_TO_BE(val) ((gsize) GUINT32_TO_BE (val)) +#define GSSIZE_TO_BE(val) ((gssize) GINT32_TO_BE (val)) +#define G_BYTE_ORDER G_LITTLE_ENDIAN + +#define GLIB_SYSDEF_POLLIN =1 +#define GLIB_SYSDEF_POLLOUT =4 +#define GLIB_SYSDEF_POLLPRI =2 +#define GLIB_SYSDEF_POLLHUP =16 +#define GLIB_SYSDEF_POLLERR =8 +#define GLIB_SYSDEF_POLLNVAL =32 + +#define G_MODULE_SUFFIX "dll" + +/* A GPid is an abstraction for a process "handle". It is *not* an + * abstraction for a process identifier in general. GPid is used in + * GLib only for descendant processes spawned with the g_spawn* + * functions. On POSIX there is no "process handle" concept as such, + * but on Windows a GPid is a handle to a process, a kind of pointer, + * not a process identifier. + */ +typedef void * GPid; + +#define GLIB_SYSDEF_AF_UNIX 1 +#define GLIB_SYSDEF_AF_INET 2 +#define GLIB_SYSDEF_AF_INET6 23 + +#define GLIB_SYSDEF_MSG_OOB 1 +#define GLIB_SYSDEF_MSG_PEEK 2 +#define GLIB_SYSDEF_MSG_DONTROUTE 4 + +G_END_DECLS + +#endif /* GLIBCONFIG_H */ diff --git a/win32/isskin/watercolorlite-blue.cjstyles b/win32/isskin/watercolorlite-blue.cjstyles new file mode 100644 index 00000000..a457029b --- /dev/null +++ b/win32/isskin/watercolorlite-blue.cjstyles Binary files differdiff --git a/win32/isskin/watercolorlite-green.cjstyles b/win32/isskin/watercolorlite-green.cjstyles new file mode 100644 index 00000000..2b77026d --- /dev/null +++ b/win32/isskin/watercolorlite-green.cjstyles Binary files differdiff --git a/win32/release-src.bat b/win32/release-src.bat new file mode 100644 index 00000000..9df98250 --- /dev/null +++ b/win32/release-src.bat @@ -0,0 +1,7 @@ +@echo off +set PATH=%PATH%;%PROGRAMW6432%\7-Zip;%PROGRAMFILES(X86)%\Git\bin +git clone --branch wdk https://xchat-wdk.googlecode.com/git/ xchat-wdk +rmdir /q /s xchat-wdk\.git +7z a xchat-wdk-head.7z xchat-wdk +rmdir /q /s xchat-wdk +pause diff --git a/win32/release-x64.bat b/win32/release-x64.bat new file mode 100644 index 00000000..8437f525 --- /dev/null +++ b/win32/release-x64.bat @@ -0,0 +1,81 @@ +@echo off +set DEPS_ROOT=deps-x64 +set XCHAT_DEST=dist-x64 +rmdir /q /s %XCHAT_DEST% +mkdir %XCHAT_DEST% +echo 2> portable-mode +move portable-mode %XCHAT_DEST% +copy ..\src\fe-gtk\xchat.exe %XCHAT_DEST% +copy ..\src\fe-text\xchat-text.exe %XCHAT_DEST% +::obs copy ..\src\gtk2-prefs\gtk2-prefs.exe %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libatk-1.0-0.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libcairo-2.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libexpat-1.dll %XCHAT_DEST% +::obs copy %DEPS_ROOT%\bin\libffi-5.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libfontconfig-1.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libfreetype-6.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libgdk_pixbuf-2.0-0.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libgdk-win32-2.0-0.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libgio-2.0-0.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libglib-2.0-0.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libgmodule-2.0-0.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libgobject-2.0-0.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libgthread-2.0-0.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libgtk-win32-2.0-0.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libintl-8.dll %XCHAT_DEST% +::obs copy %DEPS_ROOT%\bin\libjasper-1.dll %XCHAT_DEST% +::obs copy %DEPS_ROOT%\bin\libjpeg-8.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libpango-1.0-0.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libpangocairo-1.0-0.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libpangoft2-1.0-0.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libpangowin32-1.0-0.dll %XCHAT_DEST% +::obs copy %DEPS_ROOT%\bin\libpixman-1-0.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libpng14-14.dll %XCHAT_DEST% +::obs copy %DEPS_ROOT%\bin\libpng15-15.dll %XCHAT_DEST% +::obs copy %DEPS_ROOT%\bin\libtiff-3.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libxml2.dll %XCHAT_DEST% +::obs copy %DEPS_ROOT%\bin\libxml2-2.dll %XCHAT_DEST% +xcopy /q /s /i %DEPS_ROOT%\lib\gtk-2.0\2.10.0\engines %XCHAT_DEST%\lib\gtk-2.0\2.10.0\engines +xcopy /q /s /i %DEPS_ROOT%\lib\gtk-2.0\modules\libgail.dll %XCHAT_DEST%\lib\gtk-2.0\modules\ +xcopy /q /s /i etc %XCHAT_DEST%\etc +xcopy /q /s /i share %XCHAT_DEST%\share +::obs xcopy /q /s /i %DEPS_ROOT%\share\themes %XCHAT_DEST%\share\themes +copy ..\COPYING %XCHAT_DEST% +copy %DEPS_ROOT%\LICENSE.OPENSSL %XCHAT_DEST% +copy %DEPS_ROOT%\LICENSE.ZLIB %XCHAT_DEST% +copy %DEPS_ROOT%\share\gettext\intl\COPYING.LIB-2.0 %XCHAT_DEST%\LICENSE.GTK +copy %DEPS_ROOT%\share\gettext\intl\COPYING.LIB-2.1 %XCHAT_DEST%\LICENSE.CAIRO +copy %DEPS_ROOT%\LICENSE.LUA %XCHAT_DEST% +copy %DEPS_ROOT%\LICENSE.ENCHANT %XCHAT_DEST% +copy %DEPS_ROOT%\LICENSE.LIBXML %XCHAT_DEST% +::obs copy %DEPS_ROOT%\share\doc\libxml2-2.7.8\Copyright %XCHAT_DEST%\LICENSE.LIBXML +copy %DEPS_ROOT%\bin\libeay32.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\ssleay32.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\zlib1.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\cert.pem %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libenchant.dll %XCHAT_DEST% +xcopy /q /s /i %DEPS_ROOT%\lib\enchant\libenchant_myspell.dll %XCHAT_DEST%\lib\enchant\ +xcopy /q /s /i ..\plugins\checksum\xcchecksum.dll %XCHAT_DEST%\plugins\ +copy ..\plugins\dns\xcdns.dll %XCHAT_DEST%\plugins +copy ..\plugins\doat\xcdoat.dll %XCHAT_DEST%\plugins +copy ..\plugins\exec\xcexec.dll %XCHAT_DEST%\plugins +copy ..\plugins\fishlim\xcfishlim.dll %XCHAT_DEST%\plugins +copy ..\plugins\lua\xclua.dll %XCHAT_DEST%\plugins +::obs copy ..\plugins\gtkpref\xcgtkpref.dll %XCHAT_DEST%\plugins +copy ..\plugins\mpcinfo\xcmpcinfo.dll %XCHAT_DEST%\plugins +::copy ..\plugins\nonbmp\xcnonbmp.dll %XCHAT_DEST%\plugins +copy ..\plugins\perl\xcperl-512.dll %XCHAT_DEST%\plugins +copy ..\plugins\perl\xcperl-514.dll %XCHAT_DEST%\plugins +copy ..\plugins\python\xcpython.dll %XCHAT_DEST%\plugins +copy ..\plugins\tcl\xctcl.dll %XCHAT_DEST%\plugins +copy ..\plugins\upd\xcupd.dll %XCHAT_DEST%\plugins +copy ..\plugins\xsasl\xcxsasl.dll %XCHAT_DEST%\plugins +copy ..\plugins\xtray\xtray.dll %XCHAT_DEST%\plugins +copy ..\plugins\winamp\xcwinamp.dll %XCHAT_DEST%\plugins +copy ..\plugins\winsys\xcwinsys.dll %XCHAT_DEST%\plugins +copy ..\plugins\wmpa\xcwmpa.dll %XCHAT_DEST%\plugins +copy %DEPS_ROOT%\bin\lua51.dll %XCHAT_DEST% +xcopy /q /s /i ..\po\locale %XCHAT_DEST%\locale +xcopy /q /s /i %DEPS_ROOT%\share\locale %XCHAT_DEST%\share\locale +copy "%PROGRAMFILES(X86)%\Codejock Software\ISSkin\ISSkinU.dll" %XCHAT_DEST% +copy isskin\watercolorlite-blue.cjstyles %XCHAT_DEST% diff --git a/win32/release-x86.bat b/win32/release-x86.bat new file mode 100644 index 00000000..dc022b75 --- /dev/null +++ b/win32/release-x86.bat @@ -0,0 +1,83 @@ +@echo off +set DEPS_ROOT=deps-x86 +set XCHAT_DEST=dist-x86 +rmdir /q /s %XCHAT_DEST% +mkdir %XCHAT_DEST% +echo 2> portable-mode +move portable-mode %XCHAT_DEST% +copy ..\src\fe-gtk\xchat.exe %XCHAT_DEST% +copy ..\src\fe-text\xchat-text.exe %XCHAT_DEST% +::obs copy ..\src\gtk2-prefs\gtk2-prefs.exe %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libatk-1.0-0.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libcairo-2.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libexpat-1.dll %XCHAT_DEST% +::obs copy %DEPS_ROOT%\bin\libffi-5.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libfontconfig-1.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\freetype6.dll %XCHAT_DEST% +::obs copy %DEPS_ROOT%\bin\libfreetype-6.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libgdk_pixbuf-2.0-0.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libgdk-win32-2.0-0.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libgio-2.0-0.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libglib-2.0-0.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libgmodule-2.0-0.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libgobject-2.0-0.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libgthread-2.0-0.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libgtk-win32-2.0-0.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\intl.dll %XCHAT_DEST% +::obs copy %DEPS_ROOT%\bin\libintl-8.dll %XCHAT_DEST% +::obs copy %DEPS_ROOT%\bin\libjasper-1.dll %XCHAT_DEST% +::obs copy %DEPS_ROOT%\bin\libjpeg-8.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libpango-1.0-0.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libpangocairo-1.0-0.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libpangoft2-1.0-0.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libpangowin32-1.0-0.dll %XCHAT_DEST% +::obs copy %DEPS_ROOT%\bin\libpixman-1-0.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libpng14-14.dll %XCHAT_DEST% +::obs copy %DEPS_ROOT%\bin\libpng15-15.dll %XCHAT_DEST% +::obs copy %DEPS_ROOT%\bin\libtiff-3.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libxml2.dll %XCHAT_DEST% +::obs copy %DEPS_ROOT%\bin\libxml2-2.dll %XCHAT_DEST% +xcopy /q /s /i %DEPS_ROOT%\lib\gtk-2.0\2.10.0\engines %XCHAT_DEST%\lib\gtk-2.0\2.10.0\engines +xcopy /q /s /i %DEPS_ROOT%\lib\gtk-2.0\modules\libgail.dll %XCHAT_DEST%\lib\gtk-2.0\modules\ +xcopy /q /s /i etc %XCHAT_DEST%\etc +xcopy /q /s /i share %XCHAT_DEST%\share +::obs xcopy /q /s /i %DEPS_ROOT%\share\themes %XCHAT_DEST%\share\themes +copy ..\COPYING %XCHAT_DEST% +copy %DEPS_ROOT%\LICENSE.OPENSSL %XCHAT_DEST% +copy %DEPS_ROOT%\LICENSE.ZLIB %XCHAT_DEST% +copy %DEPS_ROOT%\share\gettext\intl\COPYING.LIB-2.0 %XCHAT_DEST%\LICENSE.GTK +copy %DEPS_ROOT%\share\gettext\intl\COPYING.LIB-2.1 %XCHAT_DEST%\LICENSE.CAIRO +copy %DEPS_ROOT%\LICENSE.LUA %XCHAT_DEST% +copy %DEPS_ROOT%\LICENSE.ENCHANT %XCHAT_DEST% +copy %DEPS_ROOT%\LICENSE.LIBXML %XCHAT_DEST% +::obs copy %DEPS_ROOT%\share\doc\libxml2-2.7.8\Copyright %XCHAT_DEST%\LICENSE.LIBXML +copy %DEPS_ROOT%\bin\libeay32.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\ssleay32.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\zlib1.dll %XCHAT_DEST% +copy %DEPS_ROOT%\bin\cert.pem %XCHAT_DEST% +copy %DEPS_ROOT%\bin\libenchant.dll %XCHAT_DEST% +xcopy /q /s /i %DEPS_ROOT%\lib\enchant\libenchant_myspell.dll %XCHAT_DEST%\lib\enchant\ +xcopy /q /s /i ..\plugins\checksum\xcchecksum.dll %XCHAT_DEST%\plugins\ +copy ..\plugins\dns\xcdns.dll %XCHAT_DEST%\plugins +copy ..\plugins\doat\xcdoat.dll %XCHAT_DEST%\plugins +copy ..\plugins\exec\xcexec.dll %XCHAT_DEST%\plugins +copy ..\plugins\fishlim\xcfishlim.dll %XCHAT_DEST%\plugins +copy ..\plugins\lua\xclua.dll %XCHAT_DEST%\plugins +::obs copy ..\plugins\gtkpref\xcgtkpref.dll %XCHAT_DEST%\plugins +copy ..\plugins\mpcinfo\xcmpcinfo.dll %XCHAT_DEST%\plugins +::copy ..\plugins\nonbmp\xcnonbmp.dll %XCHAT_DEST%\plugins +copy ..\plugins\perl\xcperl-512.dll %XCHAT_DEST%\plugins +copy ..\plugins\perl\xcperl-514.dll %XCHAT_DEST%\plugins +copy ..\plugins\python\xcpython.dll %XCHAT_DEST%\plugins +copy ..\plugins\tcl\xctcl.dll %XCHAT_DEST%\plugins +copy ..\plugins\upd\xcupd.dll %XCHAT_DEST%\plugins +copy ..\plugins\xsasl\xcxsasl.dll %XCHAT_DEST%\plugins +copy ..\plugins\xtray\xtray.dll %XCHAT_DEST%\plugins +copy ..\plugins\winamp\xcwinamp.dll %XCHAT_DEST%\plugins +copy ..\plugins\winsys\xcwinsys.dll %XCHAT_DEST%\plugins +copy ..\plugins\wmpa\xcwmpa.dll %XCHAT_DEST%\plugins +copy %DEPS_ROOT%\bin\lua51.dll %XCHAT_DEST% +xcopy /q /s /i ..\po\locale %XCHAT_DEST%\locale +xcopy /q /s /i %DEPS_ROOT%\share\locale %XCHAT_DEST%\share\locale +copy "%PROGRAMFILES(X86)%\Codejock Software\ISSkin\ISSkinU.dll" %XCHAT_DEST% +copy isskin\watercolorlite-green.cjstyles %XCHAT_DEST% diff --git a/win32/share/themes/Murrine/gtk-2.0/gtkrc b/win32/share/themes/Murrine/gtk-2.0/gtkrc new file mode 100644 index 00000000..b9d95848 --- /dev/null +++ b/win32/share/themes/Murrine/gtk-2.0/gtkrc @@ -0,0 +1,7 @@ +style "default" +{ + engine "murrine" + { + } +} +class "*" style "default" diff --git a/win32/share/xml/iso-codes/iso_3166.xml b/win32/share/xml/iso-codes/iso_3166.xml new file mode 100644 index 00000000..77c72eb2 --- /dev/null +++ b/win32/share/xml/iso-codes/iso_3166.xml @@ -0,0 +1,1703 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<!-- +This file gives a list of all countries in the ISO 3166 +standard, and is used to provide translations via gettext + +Copyright (C) 2002, 2004, 2006 Alastair McKinstry <mckinstry@computer.org> +Copyright (C) 2004 Andreas Jochens <aj@andaco.de> +Copyright (C) 2004, 2007 Christian Perrier <bubulle@debian.org> +Copyright (C) 2005, 2006, 2007 Tobias Quathamer <toddy@debian.org> + + This file is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This file 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this file; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Source: <http://www.iso.org/iso/country_codes> +--> + +<!DOCTYPE iso_3166_entries [ + <!ELEMENT iso_3166_entries (iso_3166_entry+, iso_3166_3_entry*)> + <!ELEMENT iso_3166_entry EMPTY> + <!ATTLIST iso_3166_entry + alpha_2_code CDATA #REQUIRED + alpha_3_code CDATA #REQUIRED + numeric_code CDATA #REQUIRED + common_name CDATA #IMPLIED + name CDATA #REQUIRED + official_name CDATA #IMPLIED + > + <!ELEMENT iso_3166_3_entry EMPTY> + <!ATTLIST iso_3166_3_entry + alpha_4_code CDATA #REQUIRED + alpha_3_code CDATA #REQUIRED + numeric_code CDATA #IMPLIED + date_withdrawn CDATA #IMPLIED + names CDATA #REQUIRED + comment CDATA #IMPLIED + > +]> + +<iso_3166_entries> + <iso_3166_entry + alpha_2_code="AF" + alpha_3_code="AFG" + numeric_code="004" + name="Afghanistan" + official_name="Islamic Republic of Afghanistan" /> + <iso_3166_entry + alpha_2_code="AX" + alpha_3_code="ALA" + numeric_code="248" + name="Åland Islands" /> + <iso_3166_entry + alpha_2_code="AL" + alpha_3_code="ALB" + numeric_code="008" + name="Albania" + official_name="Republic of Albania" /> + <iso_3166_entry + alpha_2_code="DZ" + alpha_3_code="DZA" + numeric_code="012" + name="Algeria" + official_name="People's Democratic Republic of Algeria" /> + <iso_3166_entry + alpha_2_code="AS" + alpha_3_code="ASM" + numeric_code="016" + name="American Samoa" /> + <iso_3166_entry + alpha_2_code="AD" + alpha_3_code="AND" + numeric_code="020" + name="Andorra" + official_name="Principality of Andorra" /> + <iso_3166_entry + alpha_2_code="AO" + alpha_3_code="AGO" + numeric_code="024" + name="Angola" + official_name="Republic of Angola" /> + <iso_3166_entry + alpha_2_code="AI" + alpha_3_code="AIA" + numeric_code="660" + name="Anguilla" /> + <iso_3166_entry + alpha_2_code="AQ" + alpha_3_code="ATA" + numeric_code="010" + name="Antarctica" /> + <iso_3166_entry + alpha_2_code="AG" + alpha_3_code="ATG" + numeric_code="028" + name="Antigua and Barbuda" /> + <iso_3166_entry + alpha_2_code="AR" + alpha_3_code="ARG" + numeric_code="032" + name="Argentina" + official_name="Argentine Republic" /> + <iso_3166_entry + alpha_2_code="AM" + alpha_3_code="ARM" + numeric_code="051" + name="Armenia" + official_name="Republic of Armenia" /> + <iso_3166_entry + alpha_2_code="AW" + alpha_3_code="ABW" + numeric_code="533" + name="Aruba" /> + <iso_3166_entry + alpha_2_code="AU" + alpha_3_code="AUS" + numeric_code="036" + name="Australia" /> + <iso_3166_entry + alpha_2_code="AT" + alpha_3_code="AUT" + numeric_code="040" + name="Austria" + official_name="Republic of Austria" /> + <iso_3166_entry + alpha_2_code="AZ" + alpha_3_code="AZE" + numeric_code="031" + name="Azerbaijan" + official_name="Republic of Azerbaijan" /> + <iso_3166_entry + alpha_2_code="BS" + alpha_3_code="BHS" + numeric_code="044" + name="Bahamas" + official_name="Commonwealth of the Bahamas" /> + <iso_3166_entry + alpha_2_code="BH" + alpha_3_code="BHR" + numeric_code="048" + name="Bahrain" + official_name="Kingdom of Bahrain" /> + <iso_3166_entry + alpha_2_code="BD" + alpha_3_code="BGD" + numeric_code="050" + name="Bangladesh" + official_name="People's Republic of Bangladesh" /> + <iso_3166_entry + alpha_2_code="BB" + alpha_3_code="BRB" + numeric_code="052" + name="Barbados" /> + <iso_3166_entry + alpha_2_code="BY" + alpha_3_code="BLR" + numeric_code="112" + name="Belarus" + official_name="Republic of Belarus" /> + <iso_3166_entry + alpha_2_code="BE" + alpha_3_code="BEL" + numeric_code="056" + name="Belgium" + official_name="Kingdom of Belgium" /> + <iso_3166_entry + alpha_2_code="BZ" + alpha_3_code="BLZ" + numeric_code="084" + name="Belize" /> + <iso_3166_entry + alpha_2_code="BJ" + alpha_3_code="BEN" + numeric_code="204" + name="Benin" + official_name="Republic of Benin" /> + <iso_3166_entry + alpha_2_code="BM" + alpha_3_code="BMU" + numeric_code="060" + name="Bermuda" /> + <iso_3166_entry + alpha_2_code="BT" + alpha_3_code="BTN" + numeric_code="064" + name="Bhutan" + official_name="Kingdom of Bhutan" /> + <iso_3166_entry + alpha_2_code="BO" + alpha_3_code="BOL" + numeric_code="068" + common_name="Bolivia" + name="Bolivia, Plurinational State of" + official_name="Plurinational State of Bolivia" /> + <iso_3166_entry + alpha_2_code="BQ" + alpha_3_code="BES" + numeric_code="535" + name="Bonaire, Sint Eustatius and Saba" + official_name="Bonaire, Sint Eustatius and Saba" /> + <iso_3166_entry + alpha_2_code="BA" + alpha_3_code="BIH" + numeric_code="070" + name="Bosnia and Herzegovina" + official_name="Republic of Bosnia and Herzegovina" /> + <iso_3166_entry + alpha_2_code="BW" + alpha_3_code="BWA" + numeric_code="072" + name="Botswana" + official_name="Republic of Botswana" /> + <iso_3166_entry + alpha_2_code="BV" + alpha_3_code="BVT" + numeric_code="074" + name="Bouvet Island" /> + <iso_3166_entry + alpha_2_code="BR" + alpha_3_code="BRA" + numeric_code="076" + name="Brazil" + official_name="Federative Republic of Brazil" /> + <iso_3166_entry + alpha_2_code="IO" + alpha_3_code="IOT" + numeric_code="086" + name="British Indian Ocean Territory" /> + <iso_3166_entry + alpha_2_code="BN" + alpha_3_code="BRN" + numeric_code="096" + name="Brunei Darussalam" /> + <iso_3166_entry + alpha_2_code="BG" + alpha_3_code="BGR" + numeric_code="100" + name="Bulgaria" + official_name="Republic of Bulgaria" /> + <iso_3166_entry + alpha_2_code="BF" + alpha_3_code="BFA" + numeric_code="854" + name="Burkina Faso" /> + <iso_3166_entry + alpha_2_code="BI" + alpha_3_code="BDI" + numeric_code="108" + name="Burundi" + official_name="Republic of Burundi" /> + <iso_3166_entry + alpha_2_code="KH" + alpha_3_code="KHM" + numeric_code="116" + name="Cambodia" + official_name="Kingdom of Cambodia" /> + <iso_3166_entry + alpha_2_code="CM" + alpha_3_code="CMR" + numeric_code="120" + name="Cameroon" + official_name="Republic of Cameroon" /> + <iso_3166_entry + alpha_2_code="CA" + alpha_3_code="CAN" + numeric_code="124" + name="Canada" /> + <iso_3166_entry + alpha_2_code="CV" + alpha_3_code="CPV" + numeric_code="132" + name="Cape Verde" + official_name="Republic of Cape Verde" /> + <iso_3166_entry + alpha_2_code="KY" + alpha_3_code="CYM" + numeric_code="136" + name="Cayman Islands" /> + <iso_3166_entry + alpha_2_code="CF" + alpha_3_code="CAF" + numeric_code="140" + name="Central African Republic" /> + <iso_3166_entry + alpha_2_code="TD" + alpha_3_code="TCD" + numeric_code="148" + name="Chad" + official_name="Republic of Chad" /> + <iso_3166_entry + alpha_2_code="CL" + alpha_3_code="CHL" + numeric_code="152" + name="Chile" + official_name="Republic of Chile" /> + <iso_3166_entry + alpha_2_code="CN" + alpha_3_code="CHN" + numeric_code="156" + name="China" + official_name="People's Republic of China" /> + <iso_3166_entry + alpha_2_code="CX" + alpha_3_code="CXR" + numeric_code="162" + name="Christmas Island" /> + <iso_3166_entry + alpha_2_code="CC" + alpha_3_code="CCK" + numeric_code="166" + name="Cocos (Keeling) Islands" /> + <iso_3166_entry + alpha_2_code="CO" + alpha_3_code="COL" + numeric_code="170" + name="Colombia" + official_name="Republic of Colombia" /> + <iso_3166_entry + alpha_2_code="KM" + alpha_3_code="COM" + numeric_code="174" + name="Comoros" + official_name="Union of the Comoros" /> + <iso_3166_entry + alpha_2_code="CG" + alpha_3_code="COG" + numeric_code="178" + name="Congo" + official_name="Republic of the Congo" /> + <iso_3166_entry + alpha_2_code="CD" + alpha_3_code="COD" + numeric_code="180" + name="Congo, The Democratic Republic of the" /> + <iso_3166_entry + alpha_2_code="CK" + alpha_3_code="COK" + numeric_code="184" + name="Cook Islands" /> + <iso_3166_entry + alpha_2_code="CR" + alpha_3_code="CRI" + numeric_code="188" + name="Costa Rica" + official_name="Republic of Costa Rica" /> + <iso_3166_entry + alpha_2_code="CI" + alpha_3_code="CIV" + numeric_code="384" + name="Côte d'Ivoire" + official_name="Republic of Côte d'Ivoire" /> + <iso_3166_entry + alpha_2_code="HR" + alpha_3_code="HRV" + numeric_code="191" + name="Croatia" + official_name="Republic of Croatia" /> + <iso_3166_entry + alpha_2_code="CU" + alpha_3_code="CUB" + numeric_code="192" + name="Cuba" + official_name="Republic of Cuba" /> + <iso_3166_entry + alpha_2_code="CW" + alpha_3_code="CUW" + numeric_code="531" + name="Curaçao" + official_name="Curaçao" /> + <iso_3166_entry + alpha_2_code="CY" + alpha_3_code="CYP" + numeric_code="196" + name="Cyprus" + official_name="Republic of Cyprus" /> + <iso_3166_entry + alpha_2_code="CZ" + alpha_3_code="CZE" + numeric_code="203" + name="Czech Republic" /> + <iso_3166_entry + alpha_2_code="DK" + alpha_3_code="DNK" + numeric_code="208" + name="Denmark" + official_name="Kingdom of Denmark" /> + <iso_3166_entry + alpha_2_code="DJ" + alpha_3_code="DJI" + numeric_code="262" + name="Djibouti" + official_name="Republic of Djibouti" /> + <iso_3166_entry + alpha_2_code="DM" + alpha_3_code="DMA" + numeric_code="212" + name="Dominica" + official_name="Commonwealth of Dominica" /> + <iso_3166_entry + alpha_2_code="DO" + alpha_3_code="DOM" + numeric_code="214" + name="Dominican Republic" /> + <iso_3166_entry + alpha_2_code="EC" + alpha_3_code="ECU" + numeric_code="218" + name="Ecuador" + official_name="Republic of Ecuador" /> + <iso_3166_entry + alpha_2_code="EG" + alpha_3_code="EGY" + numeric_code="818" + name="Egypt" + official_name="Arab Republic of Egypt" /> + <iso_3166_entry + alpha_2_code="SV" + alpha_3_code="SLV" + numeric_code="222" + name="El Salvador" + official_name="Republic of El Salvador" /> + <iso_3166_entry + alpha_2_code="GQ" + alpha_3_code="GNQ" + numeric_code="226" + name="Equatorial Guinea" + official_name="Republic of Equatorial Guinea" /> + <iso_3166_entry + alpha_2_code="ER" + alpha_3_code="ERI" + numeric_code="232" + name="Eritrea" /> + <iso_3166_entry + alpha_2_code="EE" + alpha_3_code="EST" + numeric_code="233" + name="Estonia" + official_name="Republic of Estonia" /> + <iso_3166_entry + alpha_2_code="ET" + alpha_3_code="ETH" + numeric_code="231" + name="Ethiopia" + official_name="Federal Democratic Republic of Ethiopia" /> + <iso_3166_entry + alpha_2_code="FK" + alpha_3_code="FLK" + numeric_code="238" + name="Falkland Islands (Malvinas)" /> + <iso_3166_entry + alpha_2_code="FO" + alpha_3_code="FRO" + numeric_code="234" + name="Faroe Islands" /> + <iso_3166_entry + alpha_2_code="FJ" + alpha_3_code="FJI" + numeric_code="242" + name="Fiji" + official_name="Republic of Fiji" /> + <iso_3166_entry + alpha_2_code="FI" + alpha_3_code="FIN" + numeric_code="246" + name="Finland" + official_name="Republic of Finland" /> + <iso_3166_entry + alpha_2_code="FR" + alpha_3_code="FRA" + numeric_code="250" + name="France" + official_name="French Republic" /> + <iso_3166_entry + alpha_2_code="GF" + alpha_3_code="GUF" + numeric_code="254" + name="French Guiana" /> + <iso_3166_entry + alpha_2_code="PF" + alpha_3_code="PYF" + numeric_code="258" + name="French Polynesia" /> + <iso_3166_entry + alpha_2_code="TF" + alpha_3_code="ATF" + numeric_code="260" + name="French Southern Territories" /> + <iso_3166_entry + alpha_2_code="GA" + alpha_3_code="GAB" + numeric_code="266" + name="Gabon" + official_name="Gabonese Republic" /> + <iso_3166_entry + alpha_2_code="GM" + alpha_3_code="GMB" + numeric_code="270" + name="Gambia" + official_name="Republic of the Gambia" /> + <iso_3166_entry + alpha_2_code="GE" + alpha_3_code="GEO" + numeric_code="268" + name="Georgia" /> + <iso_3166_entry + alpha_2_code="DE" + alpha_3_code="DEU" + numeric_code="276" + name="Germany" + official_name="Federal Republic of Germany" /> + <iso_3166_entry + alpha_2_code="GH" + alpha_3_code="GHA" + numeric_code="288" + name="Ghana" + official_name="Republic of Ghana" /> + <iso_3166_entry + alpha_2_code="GI" + alpha_3_code="GIB" + numeric_code="292" + name="Gibraltar" /> + <iso_3166_entry + alpha_2_code="GR" + alpha_3_code="GRC" + numeric_code="300" + name="Greece" + official_name="Hellenic Republic" /> + <iso_3166_entry + alpha_2_code="GL" + alpha_3_code="GRL" + numeric_code="304" + name="Greenland" /> + <iso_3166_entry + alpha_2_code="GD" + alpha_3_code="GRD" + numeric_code="308" + name="Grenada" /> + <iso_3166_entry + alpha_2_code="GP" + alpha_3_code="GLP" + numeric_code="312" + name="Guadeloupe" /> + <iso_3166_entry + alpha_2_code="GU" + alpha_3_code="GUM" + numeric_code="316" + name="Guam" /> + <iso_3166_entry + alpha_2_code="GT" + alpha_3_code="GTM" + numeric_code="320" + name="Guatemala" + official_name="Republic of Guatemala" /> + <iso_3166_entry + alpha_2_code="GG" + alpha_3_code="GGY" + numeric_code="831" + name="Guernsey" /> + <iso_3166_entry + alpha_2_code="GN" + alpha_3_code="GIN" + numeric_code="324" + name="Guinea" + official_name="Republic of Guinea" /> + <iso_3166_entry + alpha_2_code="GW" + alpha_3_code="GNB" + numeric_code="624" + name="Guinea-Bissau" + official_name="Republic of Guinea-Bissau" /> + <iso_3166_entry + alpha_2_code="GY" + alpha_3_code="GUY" + numeric_code="328" + name="Guyana" + official_name="Republic of Guyana" /> + <iso_3166_entry + alpha_2_code="HT" + alpha_3_code="HTI" + numeric_code="332" + name="Haiti" + official_name="Republic of Haiti" /> + <iso_3166_entry + alpha_2_code="HM" + alpha_3_code="HMD" + numeric_code="334" + name="Heard Island and McDonald Islands" /> + <iso_3166_entry + alpha_2_code="VA" + alpha_3_code="VAT" + numeric_code="336" + name="Holy See (Vatican City State)" /> + <iso_3166_entry + alpha_2_code="HN" + alpha_3_code="HND" + numeric_code="340" + name="Honduras" + official_name="Republic of Honduras" /> + <iso_3166_entry + alpha_2_code="HK" + alpha_3_code="HKG" + numeric_code="344" + name="Hong Kong" + official_name="Hong Kong Special Administrative Region of China" /> + <iso_3166_entry + alpha_2_code="HU" + alpha_3_code="HUN" + numeric_code="348" + name="Hungary" + official_name="Republic of Hungary" /> + <iso_3166_entry + alpha_2_code="IS" + alpha_3_code="ISL" + numeric_code="352" + name="Iceland" + official_name="Republic of Iceland" /> + <iso_3166_entry + alpha_2_code="IN" + alpha_3_code="IND" + numeric_code="356" + name="India" + official_name="Republic of India" /> + <iso_3166_entry + alpha_2_code="ID" + alpha_3_code="IDN" + numeric_code="360" + name="Indonesia" + official_name="Republic of Indonesia" /> + <iso_3166_entry + alpha_2_code="IR" + alpha_3_code="IRN" + numeric_code="364" + name="Iran, Islamic Republic of" + official_name="Islamic Republic of Iran" /> + <iso_3166_entry + alpha_2_code="IQ" + alpha_3_code="IRQ" + numeric_code="368" + name="Iraq" + official_name="Republic of Iraq" /> + <iso_3166_entry + alpha_2_code="IE" + alpha_3_code="IRL" + numeric_code="372" + name="Ireland" /> + <iso_3166_entry + alpha_2_code="IM" + alpha_3_code="IMN" + numeric_code="833" + name="Isle of Man" /> + <iso_3166_entry + alpha_2_code="IL" + alpha_3_code="ISR" + numeric_code="376" + name="Israel" + official_name="State of Israel" /> + <iso_3166_entry + alpha_2_code="IT" + alpha_3_code="ITA" + numeric_code="380" + name="Italy" + official_name="Italian Republic" /> + <iso_3166_entry + alpha_2_code="JM" + alpha_3_code="JAM" + numeric_code="388" + name="Jamaica" /> + <iso_3166_entry + alpha_2_code="JP" + alpha_3_code="JPN" + numeric_code="392" + name="Japan" /> + <iso_3166_entry + alpha_2_code="JE" + alpha_3_code="JEY" + numeric_code="832" + name="Jersey" /> + <iso_3166_entry + alpha_2_code="JO" + alpha_3_code="JOR" + numeric_code="400" + name="Jordan" + official_name="Hashemite Kingdom of Jordan" /> + <iso_3166_entry + alpha_2_code="KZ" + alpha_3_code="KAZ" + numeric_code="398" + name="Kazakhstan" + official_name="Republic of Kazakhstan" /> + <iso_3166_entry + alpha_2_code="KE" + alpha_3_code="KEN" + numeric_code="404" + name="Kenya" + official_name="Republic of Kenya" /> + <iso_3166_entry + alpha_2_code="KI" + alpha_3_code="KIR" + numeric_code="296" + name="Kiribati" + official_name="Republic of Kiribati" /> + <iso_3166_entry + alpha_2_code="KP" + alpha_3_code="PRK" + numeric_code="408" + name="Korea, Democratic People's Republic of" + official_name="Democratic People's Republic of Korea" /> + <iso_3166_entry + alpha_2_code="KR" + alpha_3_code="KOR" + numeric_code="410" + name="Korea, Republic of" /> + <iso_3166_entry + alpha_2_code="KW" + alpha_3_code="KWT" + numeric_code="414" + name="Kuwait" + official_name="State of Kuwait" /> + <iso_3166_entry + alpha_2_code="KG" + alpha_3_code="KGZ" + numeric_code="417" + name="Kyrgyzstan" + official_name="Kyrgyz Republic" /> + <iso_3166_entry + alpha_2_code="LA" + alpha_3_code="LAO" + numeric_code="418" + name="Lao People's Democratic Republic" /> + <iso_3166_entry + alpha_2_code="LV" + alpha_3_code="LVA" + numeric_code="428" + name="Latvia" + official_name="Republic of Latvia" /> + <iso_3166_entry + alpha_2_code="LB" + alpha_3_code="LBN" + numeric_code="422" + name="Lebanon" + official_name="Lebanese Republic" /> + <iso_3166_entry + alpha_2_code="LS" + alpha_3_code="LSO" + numeric_code="426" + name="Lesotho" + official_name="Kingdom of Lesotho" /> + <iso_3166_entry + alpha_2_code="LR" + alpha_3_code="LBR" + numeric_code="430" + name="Liberia" + official_name="Republic of Liberia" /> + <iso_3166_entry + alpha_2_code="LY" + alpha_3_code="LBY" + numeric_code="434" + common_name="Libya" + name="Libyan Arab Jamahiriya" + official_name="Socialist People's Libyan Arab Jamahiriya" /> + <iso_3166_entry + alpha_2_code="LI" + alpha_3_code="LIE" + numeric_code="438" + name="Liechtenstein" + official_name="Principality of Liechtenstein" /> + <iso_3166_entry + alpha_2_code="LT" + alpha_3_code="LTU" + numeric_code="440" + name="Lithuania" + official_name="Republic of Lithuania" /> + <iso_3166_entry + alpha_2_code="LU" + alpha_3_code="LUX" + numeric_code="442" + name="Luxembourg" + official_name="Grand Duchy of Luxembourg" /> + <iso_3166_entry + alpha_2_code="MO" + alpha_3_code="MAC" + numeric_code="446" + name="Macao" + official_name="Macao Special Administrative Region of China" /> + <iso_3166_entry + alpha_2_code="MK" + alpha_3_code="MKD" + numeric_code="807" + name="Macedonia, Republic of" + official_name="The Former Yugoslav Republic of Macedonia" /> + <iso_3166_entry + alpha_2_code="MG" + alpha_3_code="MDG" + numeric_code="450" + name="Madagascar" + official_name="Republic of Madagascar" /> + <iso_3166_entry + alpha_2_code="MW" + alpha_3_code="MWI" + numeric_code="454" + name="Malawi" + official_name="Republic of Malawi" /> + <iso_3166_entry + alpha_2_code="MY" + alpha_3_code="MYS" + numeric_code="458" + name="Malaysia" /> + <iso_3166_entry + alpha_2_code="MV" + alpha_3_code="MDV" + numeric_code="462" + name="Maldives" + official_name="Republic of Maldives" /> + <iso_3166_entry + alpha_2_code="ML" + alpha_3_code="MLI" + numeric_code="466" + name="Mali" + official_name="Republic of Mali" /> + <iso_3166_entry + alpha_2_code="MT" + alpha_3_code="MLT" + numeric_code="470" + name="Malta" + official_name="Republic of Malta" /> + <iso_3166_entry + alpha_2_code="MH" + alpha_3_code="MHL" + numeric_code="584" + name="Marshall Islands" + official_name="Republic of the Marshall Islands" /> + <iso_3166_entry + alpha_2_code="MQ" + alpha_3_code="MTQ" + numeric_code="474" + name="Martinique" /> + <iso_3166_entry + alpha_2_code="MR" + alpha_3_code="MRT" + numeric_code="478" + name="Mauritania" + official_name="Islamic Republic of Mauritania" /> + <iso_3166_entry + alpha_2_code="MU" + alpha_3_code="MUS" + numeric_code="480" + name="Mauritius" + official_name="Republic of Mauritius" /> + <iso_3166_entry + alpha_2_code="YT" + alpha_3_code="MYT" + numeric_code="175" + name="Mayotte" /> + <iso_3166_entry + alpha_2_code="MX" + alpha_3_code="MEX" + numeric_code="484" + name="Mexico" + official_name="United Mexican States" /> + <iso_3166_entry + alpha_2_code="FM" + alpha_3_code="FSM" + numeric_code="583" + name="Micronesia, Federated States of" + official_name="Federated States of Micronesia" /> + <iso_3166_entry + alpha_2_code="MD" + alpha_3_code="MDA" + numeric_code="498" + common_name="Moldova" + name="Moldova, Republic of" + official_name="Republic of Moldova" /> + <iso_3166_entry + alpha_2_code="MC" + alpha_3_code="MCO" + numeric_code="492" + name="Monaco" + official_name="Principality of Monaco" /> + <iso_3166_entry + alpha_2_code="MN" + alpha_3_code="MNG" + numeric_code="496" + name="Mongolia" /> + <iso_3166_entry + alpha_2_code="ME" + alpha_3_code="MNE" + numeric_code="499" + name="Montenegro" + official_name="Montenegro" /> + <iso_3166_entry + alpha_2_code="MS" + alpha_3_code="MSR" + numeric_code="500" + name="Montserrat" /> + <iso_3166_entry + alpha_2_code="MA" + alpha_3_code="MAR" + numeric_code="504" + name="Morocco" + official_name="Kingdom of Morocco" /> + <iso_3166_entry + alpha_2_code="MZ" + alpha_3_code="MOZ" + numeric_code="508" + name="Mozambique" + official_name="Republic of Mozambique" /> + <iso_3166_entry + alpha_2_code="MM" + alpha_3_code="MMR" + numeric_code="104" + name="Myanmar" + official_name="Republic of Myanmar" /> + <iso_3166_entry + alpha_2_code="NA" + alpha_3_code="NAM" + numeric_code="516" + name="Namibia" + official_name="Republic of Namibia" /> + <iso_3166_entry + alpha_2_code="NR" + alpha_3_code="NRU" + numeric_code="520" + name="Nauru" + official_name="Republic of Nauru" /> + <iso_3166_entry + alpha_2_code="NP" + alpha_3_code="NPL" + numeric_code="524" + name="Nepal" + official_name="Federal Democratic Republic of Nepal" /> + <iso_3166_entry + alpha_2_code="NL" + alpha_3_code="NLD" + numeric_code="528" + name="Netherlands" + official_name="Kingdom of the Netherlands" /> + <iso_3166_entry + alpha_2_code="NC" + alpha_3_code="NCL" + numeric_code="540" + name="New Caledonia" /> + <iso_3166_entry + alpha_2_code="NZ" + alpha_3_code="NZL" + numeric_code="554" + name="New Zealand" /> + <iso_3166_entry + alpha_2_code="NI" + alpha_3_code="NIC" + numeric_code="558" + name="Nicaragua" + official_name="Republic of Nicaragua" /> + <iso_3166_entry + alpha_2_code="NE" + alpha_3_code="NER" + numeric_code="562" + name="Niger" + official_name="Republic of the Niger" /> + <iso_3166_entry + alpha_2_code="NG" + alpha_3_code="NGA" + numeric_code="566" + name="Nigeria" + official_name="Federal Republic of Nigeria" /> + <iso_3166_entry + alpha_2_code="NU" + alpha_3_code="NIU" + numeric_code="570" + name="Niue" + official_name="Niue" /> + <iso_3166_entry + alpha_2_code="NF" + alpha_3_code="NFK" + numeric_code="574" + name="Norfolk Island" /> + <iso_3166_entry + alpha_2_code="MP" + alpha_3_code="MNP" + numeric_code="580" + name="Northern Mariana Islands" + official_name="Commonwealth of the Northern Mariana Islands" /> + <iso_3166_entry + alpha_2_code="NO" + alpha_3_code="NOR" + numeric_code="578" + name="Norway" + official_name="Kingdom of Norway" /> + <iso_3166_entry + alpha_2_code="OM" + alpha_3_code="OMN" + numeric_code="512" + name="Oman" + official_name="Sultanate of Oman" /> + <iso_3166_entry + alpha_2_code="PK" + alpha_3_code="PAK" + numeric_code="586" + name="Pakistan" + official_name="Islamic Republic of Pakistan" /> + <iso_3166_entry + alpha_2_code="PW" + alpha_3_code="PLW" + numeric_code="585" + name="Palau" + official_name="Republic of Palau" /> + <iso_3166_entry + alpha_2_code="PS" + alpha_3_code="PSE" + numeric_code="275" + name="Palestinian Territory, Occupied" + official_name="Occupied Palestinian Territory" /> + <iso_3166_entry + alpha_2_code="PA" + alpha_3_code="PAN" + numeric_code="591" + name="Panama" + official_name="Republic of Panama" /> + <iso_3166_entry + alpha_2_code="PG" + alpha_3_code="PNG" + numeric_code="598" + name="Papua New Guinea" /> + <iso_3166_entry + alpha_2_code="PY" + alpha_3_code="PRY" + numeric_code="600" + name="Paraguay" + official_name="Republic of Paraguay" /> + <iso_3166_entry + alpha_2_code="PE" + alpha_3_code="PER" + numeric_code="604" + name="Peru" + official_name="Republic of Peru" /> + <iso_3166_entry + alpha_2_code="PH" + alpha_3_code="PHL" + numeric_code="608" + name="Philippines" + official_name="Republic of the Philippines" /> + <iso_3166_entry + alpha_2_code="PN" + alpha_3_code="PCN" + numeric_code="612" + name="Pitcairn" /> + <iso_3166_entry + alpha_2_code="PL" + alpha_3_code="POL" + numeric_code="616" + name="Poland" + official_name="Republic of Poland" /> + <iso_3166_entry + alpha_2_code="PT" + alpha_3_code="PRT" + numeric_code="620" + name="Portugal" + official_name="Portuguese Republic" /> + <iso_3166_entry + alpha_2_code="PR" + alpha_3_code="PRI" + numeric_code="630" + name="Puerto Rico" /> + <iso_3166_entry + alpha_2_code="QA" + alpha_3_code="QAT" + numeric_code="634" + name="Qatar" + official_name="State of Qatar" /> + <iso_3166_entry + alpha_2_code="RE" + alpha_3_code="REU" + numeric_code="638" + name="Reunion" /> + <iso_3166_entry + alpha_2_code="RO" + alpha_3_code="ROU" + numeric_code="642" + name="Romania" /> + <iso_3166_entry + alpha_2_code="RU" + alpha_3_code="RUS" + numeric_code="643" + name="Russian Federation" /> + <iso_3166_entry + alpha_2_code="RW" + alpha_3_code="RWA" + numeric_code="646" + name="Rwanda" + official_name="Rwandese Republic" /> + <iso_3166_entry + alpha_2_code="BL" + alpha_3_code="BLM" + numeric_code="652" + name="Saint Barthélemy" /> + <iso_3166_entry + alpha_2_code="SH" + alpha_3_code="SHN" + numeric_code="654" + name="Saint Helena, Ascension and Tristan da Cunha" /> + <iso_3166_entry + alpha_2_code="KN" + alpha_3_code="KNA" + numeric_code="659" + name="Saint Kitts and Nevis" /> + <iso_3166_entry + alpha_2_code="LC" + alpha_3_code="LCA" + numeric_code="662" + name="Saint Lucia" /> + <iso_3166_entry + alpha_2_code="MF" + alpha_3_code="MAF" + numeric_code="663" + name="Saint Martin (French part)" /> + <iso_3166_entry + alpha_2_code="PM" + alpha_3_code="SPM" + numeric_code="666" + name="Saint Pierre and Miquelon" /> + <iso_3166_entry + alpha_2_code="VC" + alpha_3_code="VCT" + numeric_code="670" + name="Saint Vincent and the Grenadines" /> + <iso_3166_entry + alpha_2_code="WS" + alpha_3_code="WSM" + numeric_code="882" + name="Samoa" + official_name="Independent State of Samoa" /> + <iso_3166_entry + alpha_2_code="SM" + alpha_3_code="SMR" + numeric_code="674" + name="San Marino" + official_name="Republic of San Marino" /> + <iso_3166_entry + alpha_2_code="ST" + alpha_3_code="STP" + numeric_code="678" + name="Sao Tome and Principe" + official_name="Democratic Republic of Sao Tome and Principe" /> + <iso_3166_entry + alpha_2_code="SA" + alpha_3_code="SAU" + numeric_code="682" + name="Saudi Arabia" + official_name="Kingdom of Saudi Arabia" /> + <iso_3166_entry + alpha_2_code="SN" + alpha_3_code="SEN" + numeric_code="686" + name="Senegal" + official_name="Republic of Senegal" /> + <iso_3166_entry + alpha_2_code="RS" + alpha_3_code="SRB" + numeric_code="688" + name="Serbia" + official_name="Republic of Serbia" /> + <iso_3166_entry + alpha_2_code="SC" + alpha_3_code="SYC" + numeric_code="690" + name="Seychelles" + official_name="Republic of Seychelles" /> + <iso_3166_entry + alpha_2_code="SL" + alpha_3_code="SLE" + numeric_code="694" + name="Sierra Leone" + official_name="Republic of Sierra Leone" /> + <iso_3166_entry + alpha_2_code="SG" + alpha_3_code="SGP" + numeric_code="702" + name="Singapore" + official_name="Republic of Singapore" /> + <iso_3166_entry + alpha_2_code="SX" + alpha_3_code="SXM" + numeric_code="702" + name="Sint Maarten" + official_name="Sint Maarten (Dutch part)" /> + <iso_3166_entry + alpha_2_code="SK" + alpha_3_code="SVK" + numeric_code="703" + name="Slovakia" + official_name="Slovak Republic" /> + <iso_3166_entry + alpha_2_code="SI" + alpha_3_code="SVN" + numeric_code="705" + name="Slovenia" + official_name="Republic of Slovenia" /> + <iso_3166_entry + alpha_2_code="SB" + alpha_3_code="SLB" + numeric_code="090" + name="Solomon Islands" /> + <iso_3166_entry + alpha_2_code="SO" + alpha_3_code="SOM" + numeric_code="706" + name="Somalia" + official_name="Somali Republic" /> + <iso_3166_entry + alpha_2_code="ZA" + alpha_3_code="ZAF" + numeric_code="710" + name="South Africa" + official_name="Republic of South Africa" /> + <iso_3166_entry + alpha_2_code="GS" + alpha_3_code="SGS" + numeric_code="239" + name="South Georgia and the South Sandwich Islands" /> + <iso_3166_entry + alpha_2_code="ES" + alpha_3_code="ESP" + numeric_code="724" + name="Spain" + official_name="Kingdom of Spain" /> + <iso_3166_entry + alpha_2_code="LK" + alpha_3_code="LKA" + numeric_code="144" + name="Sri Lanka" + official_name="Democratic Socialist Republic of Sri Lanka" /> + <iso_3166_entry + alpha_2_code="SD" + alpha_3_code="SDN" + numeric_code="736" + name="Sudan" + official_name="Republic of the Sudan" /> + <iso_3166_entry + alpha_2_code="SR" + alpha_3_code="SUR" + numeric_code="740" + name="Suriname" + official_name="Republic of Suriname" /> + <iso_3166_entry + alpha_2_code="SJ" + alpha_3_code="SJM" + numeric_code="744" + name="Svalbard and Jan Mayen" /> + <iso_3166_entry + alpha_2_code="SZ" + alpha_3_code="SWZ" + numeric_code="748" + name="Swaziland" + official_name="Kingdom of Swaziland" /> + <iso_3166_entry + alpha_2_code="SE" + alpha_3_code="SWE" + numeric_code="752" + name="Sweden" + official_name="Kingdom of Sweden" /> + <iso_3166_entry + alpha_2_code="CH" + alpha_3_code="CHE" + numeric_code="756" + name="Switzerland" + official_name="Swiss Confederation" /> + <iso_3166_entry + alpha_2_code="SY" + alpha_3_code="SYR" + numeric_code="760" + name="Syrian Arab Republic" /> + <iso_3166_entry + alpha_2_code="TW" + alpha_3_code="TWN" + numeric_code="158" + common_name="Taiwan" + name="Taiwan, Province of China" + official_name="Taiwan, Province of China" /> + <iso_3166_entry + alpha_2_code="TJ" + alpha_3_code="TJK" + numeric_code="762" + name="Tajikistan" + official_name="Republic of Tajikistan" /> + <iso_3166_entry + alpha_2_code="TZ" + alpha_3_code="TZA" + numeric_code="834" + name="Tanzania, United Republic of" + official_name="United Republic of Tanzania" /> + <iso_3166_entry + alpha_2_code="TH" + alpha_3_code="THA" + numeric_code="764" + name="Thailand" + official_name="Kingdom of Thailand" /> + <iso_3166_entry + alpha_2_code="TL" + alpha_3_code="TLS" + numeric_code="626" + name="Timor-Leste" + official_name="Democratic Republic of Timor-Leste" /> + <iso_3166_entry + alpha_2_code="TG" + alpha_3_code="TGO" + numeric_code="768" + name="Togo" + official_name="Togolese Republic" /> + <iso_3166_entry + alpha_2_code="TK" + alpha_3_code="TKL" + numeric_code="772" + name="Tokelau" /> + <iso_3166_entry + alpha_2_code="TO" + alpha_3_code="TON" + numeric_code="776" + name="Tonga" + official_name="Kingdom of Tonga" /> + <iso_3166_entry + alpha_2_code="TT" + alpha_3_code="TTO" + numeric_code="780" + name="Trinidad and Tobago" + official_name="Republic of Trinidad and Tobago" /> + <iso_3166_entry + alpha_2_code="TN" + alpha_3_code="TUN" + numeric_code="788" + name="Tunisia" + official_name="Republic of Tunisia" /> + <iso_3166_entry + alpha_2_code="TR" + alpha_3_code="TUR" + numeric_code="792" + name="Turkey" + official_name="Republic of Turkey" /> + <iso_3166_entry + alpha_2_code="TM" + alpha_3_code="TKM" + numeric_code="795" + name="Turkmenistan" /> + <iso_3166_entry + alpha_2_code="TC" + alpha_3_code="TCA" + numeric_code="796" + name="Turks and Caicos Islands" /> + <iso_3166_entry + alpha_2_code="TV" + alpha_3_code="TUV" + numeric_code="798" + name="Tuvalu" /> + <iso_3166_entry + alpha_2_code="UG" + alpha_3_code="UGA" + numeric_code="800" + name="Uganda" + official_name="Republic of Uganda" /> + <iso_3166_entry + alpha_2_code="UA" + alpha_3_code="UKR" + numeric_code="804" + name="Ukraine" /> + <iso_3166_entry + alpha_2_code="AE" + alpha_3_code="ARE" + numeric_code="784" + name="United Arab Emirates" /> + <iso_3166_entry + alpha_2_code="GB" + alpha_3_code="GBR" + numeric_code="826" + name="United Kingdom" + official_name="United Kingdom of Great Britain and Northern Ireland" /> + <iso_3166_entry + alpha_2_code="US" + alpha_3_code="USA" + numeric_code="840" + name="United States" + official_name="United States of America" /> + <iso_3166_entry + alpha_2_code="UM" + alpha_3_code="UMI" + numeric_code="581" + name="United States Minor Outlying Islands" /> + <iso_3166_entry + alpha_2_code="UY" + alpha_3_code="URY" + numeric_code="858" + name="Uruguay" + official_name="Eastern Republic of Uruguay" /> + <iso_3166_entry + alpha_2_code="UZ" + alpha_3_code="UZB" + numeric_code="860" + name="Uzbekistan" + official_name="Republic of Uzbekistan" /> + <iso_3166_entry + alpha_2_code="VU" + alpha_3_code="VUT" + numeric_code="548" + name="Vanuatu" + official_name="Republic of Vanuatu" /> + <iso_3166_entry + alpha_2_code="VE" + alpha_3_code="VEN" + numeric_code="862" + common_name="Venezuela" + name="Venezuela, Bolivarian republic of" + official_name="Bolivarian Republic of Venezuela" /> + <iso_3166_entry + alpha_2_code="VN" + alpha_3_code="VNM" + numeric_code="704" + name="Viet Nam" + official_name="Socialist Republic of Viet Nam" /> + <!-- FIXME CHECK OFFICIAL NAME --> + <iso_3166_entry + alpha_2_code="VG" + alpha_3_code="VGB" + numeric_code="092" + name="Virgin Islands, British" + official_name="British Virgin Islands" /> + <iso_3166_entry + alpha_2_code="VI" + alpha_3_code="VIR" + numeric_code="850" + name="Virgin Islands, U.S." + official_name="Virgin Islands of the United States" /> + <iso_3166_entry + alpha_2_code="WF" + alpha_3_code="WLF" + numeric_code="876" + name="Wallis and Futuna" /> + <iso_3166_entry + alpha_2_code="EH" + alpha_3_code="ESH" + numeric_code="732" + name="Western Sahara" /> + <iso_3166_entry + alpha_2_code="YE" + alpha_3_code="YEM" + numeric_code="887" + name="Yemen" + official_name="Republic of Yemen" /> + <iso_3166_entry + alpha_2_code="ZM" + alpha_3_code="ZMB" + numeric_code="894" + name="Zambia" + official_name="Republic of Zambia" /> + <iso_3166_entry + alpha_2_code="ZW" + alpha_3_code="ZWE" + numeric_code="716" + name="Zimbabwe" + official_name="Republic of Zimbabwe" /> + <iso_3166_3_entry + alpha_4_code="BQAQ" + alpha_3_code="ATB" + date_withdrawn="1979" + names="British Antarctic Territory" /> + <iso_3166_3_entry + alpha_4_code="BUMM" + alpha_3_code="BUR" + numeric_code="104" + date_withdrawn="1989-12-05" + names="Burma, Socialist Republic of the Union of" /> + <iso_3166_3_entry + alpha_4_code="BYAA" + alpha_3_code="BYS" + numeric_code="112" + date_withdrawn="1992-06-15" + names="Byelorussian SSR Soviet Socialist Republic" /> + <iso_3166_3_entry + alpha_4_code="CTKI" + alpha_3_code="CTE" + numeric_code="128" + date_withdrawn="1984" + names="Canton and Enderbury Islands" /> + <iso_3166_3_entry + alpha_4_code="CSHH" + alpha_3_code="CSK" + numeric_code="200" + date_withdrawn="1993-06-15" + names="Czechoslovakia, Czechoslovak Socialist Republic" /> + <iso_3166_3_entry + alpha_4_code="DYBJ" + alpha_3_code="DHY" + numeric_code="204" + date_withdrawn="1977" + names="Dahomey" /> + <iso_3166_3_entry + alpha_4_code="NQAQ" + alpha_3_code="ATN" + numeric_code="216" + date_withdrawn="1983" + names="Dronning Maud Land" /> + <iso_3166_3_entry + alpha_4_code="TPTL" + alpha_3_code="TMP" + numeric_code="626" + date_withdrawn="2002-05-20" + names="East Timor" + comment="was Portuguese Timor" /> + <iso_3166_3_entry + alpha_4_code="ET" + alpha_3_code="ETH" + numeric_code="230" + date_withdrawn="1993-07-16" + names="Ethiopia" /> + <iso_3166_3_entry + alpha_4_code="FXFR" + alpha_3_code="FXX" + numeric_code="249" + date_withdrawn="1997-07-14" + names="France, Metropolitan" /> + <iso_3166_3_entry + alpha_4_code="AIDJ" + alpha_3_code="AFI" + numeric_code="262" + date_withdrawn="1977" + names="French Afars and Issas" /> + <iso_3166_3_entry + alpha_4_code="FQHH" + alpha_3_code="ATF" + date_withdrawn="1979" + names="French Southern and Antarctic Territories" + comment="now split between AQ and TF" /> + <iso_3166_3_entry + alpha_4_code="DDDE" + alpha_3_code="DDR" + numeric_code="278" + date_withdrawn="1990-10-30" + names="German Democratic Republic" /> + <iso_3166_3_entry + alpha_4_code="DE" + alpha_3_code="DEU" + numeric_code="280" + date_withdrawn="1990-10-30" + names="Germany, Federal Republic of" /> + <iso_3166_3_entry + alpha_4_code="GEHH" + alpha_3_code="GEL" + numeric_code="296" + date_withdrawn="1979" + names="Gilbert and Ellice Islands" + comment="now split into Kiribati and Tuvalu" /> + <iso_3166_3_entry + alpha_4_code="JTUM" + alpha_3_code="JTN" + numeric_code="396" + date_withdrawn="1986" + names="Johnston Island" /> + <iso_3166_3_entry + alpha_4_code="MIUM" + alpha_3_code="MID" + numeric_code="488" + date_withdrawn="1986" + names="Midway Islands" /> + <iso_3166_3_entry + alpha_4_code="AN" + alpha_3_code="ANT" + numeric_code="532" + date_withdrawn="1993-07-12" + names="Netherlands Antilles" /> + <iso_3166_3_entry + alpha_4_code="NTHH" + alpha_3_code="NTZ" + numeric_code="536" + date_withdrawn="1993-07-12" + names="Neutral Zone" + comment="formerly between Saudi Arabia and Iraq" /> + <iso_3166_3_entry + alpha_4_code="NHVU" + alpha_3_code="NHB" + numeric_code="548" + date_withdrawn="1980" + names="New Hebrides" /> + <iso_3166_3_entry + alpha_4_code="PCHH" + alpha_3_code="PCI" + numeric_code="582" + date_withdrawn="1986" + names="Pacific Islands (trust territory)" + comment="divided into FM, MH, MP, and PW" /> + <iso_3166_3_entry + alpha_4_code="PA" + alpha_3_code="PAN" + numeric_code="590" + date_withdrawn="1993-07-22" + names="Panama, Republic of" /> + <iso_3166_3_entry + alpha_4_code="PZPA" + alpha_3_code="PCZ" + date_withdrawn="1980" + names="Panama Canal Zone" /> + <iso_3166_3_entry + alpha_4_code="RO" + alpha_3_code="ROM" + numeric_code="642" + date_withdrawn="2002-02-01" + names="Romania, Socialist Republic of" /> + <iso_3166_3_entry + alpha_4_code="KN" + alpha_3_code="KNA" + numeric_code="658" + date_withdrawn="1988" + names="St. Kitts-Nevis-Anguilla" + comment="now St. Kitts and Nevis and Anguilla" /> + <iso_3166_3_entry + alpha_4_code="CSXX" + alpha_3_code="SCG" + numeric_code="891" + date_withdrawn="2006-06-05" + names="Serbia and Montenegro" /> + <iso_3166_3_entry + alpha_4_code="SKIN" + alpha_3_code="SKM" + date_withdrawn="1975" + names="Sikkim" /> + <iso_3166_3_entry + alpha_4_code="RHZW" + alpha_3_code="RHO" + numeric_code="716" + date_withdrawn="1980" + names="Southern Rhodesia" /> + <iso_3166_3_entry + alpha_4_code="EH" + alpha_3_code="ESH" + numeric_code="732" + date_withdrawn="1988" + names="Spanish Sahara" + comment="now Western Sahara" /> + <iso_3166_3_entry + alpha_4_code="PUUM" + alpha_3_code="PUS" + numeric_code="849" + date_withdrawn="1986" + names="US Miscellaneous Pacific Islands" /> + <iso_3166_3_entry + alpha_4_code="SUHH" + alpha_3_code="SUN" + numeric_code="810" + date_withdrawn="1992-08-30" + names="USSR, Union of Soviet Socialist Republics" /> + <iso_3166_3_entry + alpha_4_code="HVBF" + alpha_3_code="HVO" + numeric_code="854" + date_withdrawn="1984" + names="Upper Volta, Republic of" /> + <iso_3166_3_entry + alpha_4_code="VA" + alpha_3_code="VAT" + numeric_code="336" + date_withdrawn="1996-04-03" + names="Vatican City State (Holy See)" /> + <iso_3166_3_entry + alpha_4_code="VDVN" + alpha_3_code="VDR" + date_withdrawn="1977" + names="Viet-Nam, Democratic Republic of" /> + <iso_3166_3_entry + alpha_4_code="WKUM" + alpha_3_code="WAK" + numeric_code="872" + date_withdrawn="1986" + names="Wake Island" /> + <iso_3166_3_entry + alpha_4_code="YDYE" + alpha_3_code="YMD" + numeric_code="720" + date_withdrawn="1990-08-14" + names="Yemen, Democratic, People's Democratic Republic of" /> + <iso_3166_3_entry + alpha_4_code="YE" + alpha_3_code="YEM" + numeric_code="891" + date_withdrawn="1990-08-14" + names="Yemen, Yemen Arab Republic" /> + <iso_3166_3_entry + alpha_4_code="YUCS" + alpha_3_code="YUG" + numeric_code="891" + date_withdrawn="1993-07-28" + names="Yugoslavia, Socialist Federal Republic of" /> + <iso_3166_3_entry + alpha_4_code="ZRCD" + alpha_3_code="ZAR" + numeric_code="180" + date_withdrawn="1997-07-14" + names="Zaire, Republic of" /> +</iso_3166_entries> diff --git a/win32/share/xml/iso-codes/iso_639.xml b/win32/share/xml/iso-codes/iso_639.xml new file mode 100644 index 00000000..02fa01fb --- /dev/null +++ b/win32/share/xml/iso-codes/iso_639.xml @@ -0,0 +1,2169 @@ +<?xml version="1.0" encoding="UTF-8" ?> + +<!-- +This file gives a list of all languages in the ISO 639 +standard, and is used to provide translations via gettext + +Copyright (C) 2004-2006 Alastair McKinstry <mckinstry@computer.org> +Copyright (C) 2004-2009 Christian Perrier <bubulle@debian.org> +Copyright (C) 2005-2008 Tobias Quathamer <toddy@debian.org> + + This file is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This file 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this file; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Source: <http://www.loc.gov/standards/iso639-2/> +--> + +<!DOCTYPE iso_639_entries [ + <!ELEMENT iso_639_entries (iso_639_entry+)> + <!ELEMENT iso_639_entry EMPTY> + <!ATTLIST iso_639_entry + iso_639_2B_code CDATA #REQUIRED + iso_639_2T_code CDATA #REQUIRED + iso_639_1_code CDATA #IMPLIED + name CDATA #REQUIRED + > +]> + +<iso_639_entries> + <iso_639_entry + iso_639_2B_code="aar" + iso_639_2T_code="aar" + iso_639_1_code="aa" + name="Afar" /> + <iso_639_entry + iso_639_2B_code="abk" + iso_639_2T_code="abk" + iso_639_1_code="ab" + name="Abkhazian" /> + <iso_639_entry + iso_639_2B_code="ace" + iso_639_2T_code="ace" + name="Achinese" /> + <iso_639_entry + iso_639_2B_code="ach" + iso_639_2T_code="ach" + name="Acoli" /> + <iso_639_entry + iso_639_2B_code="ada" + iso_639_2T_code="ada" + name="Adangme" /> + <iso_639_entry + iso_639_2B_code="ady" + iso_639_2T_code="ady" + name="Adyghe; Adygei" /> + <iso_639_entry + iso_639_2B_code="afa" + iso_639_2T_code="afa" + name="Afro-Asiatic languages" /> + <iso_639_entry + iso_639_2B_code="afh" + iso_639_2T_code="afh" + name="Afrihili" /> + <iso_639_entry + iso_639_2B_code="afr" + iso_639_2T_code="afr" + iso_639_1_code="af" + name="Afrikaans" /> + <iso_639_entry + iso_639_2B_code="ain" + iso_639_2T_code="ain" + name="Ainu" /> + <iso_639_entry + iso_639_2B_code="aka" + iso_639_2T_code="aka" + iso_639_1_code="ak" + name="Akan" /> + <iso_639_entry + iso_639_2B_code="akk" + iso_639_2T_code="akk" + name="Akkadian" /> + <iso_639_entry + iso_639_2B_code="alb" + iso_639_2T_code="sqi" + iso_639_1_code="sq" + name="Albanian" /> + <iso_639_entry + iso_639_2B_code="ale" + iso_639_2T_code="ale" + name="Aleut" /> + <iso_639_entry + iso_639_2B_code="alg" + iso_639_2T_code="alg" + name="Algonquian languages" /> + <iso_639_entry + iso_639_2B_code="alt" + iso_639_2T_code="alt" + name="Southern Altai" /> + <iso_639_entry + iso_639_2B_code="amh" + iso_639_2T_code="amh" + iso_639_1_code="am" + name="Amharic" /> + <iso_639_entry + iso_639_2B_code="ang" + iso_639_2T_code="ang" + name="English, Old (ca. 450-1100)" /> + <iso_639_entry + iso_639_2B_code="anp" + iso_639_2T_code="anp" + name="Angika" /> + <iso_639_entry + iso_639_2B_code="apa" + iso_639_2T_code="apa" + name="Apache languages" /> + <iso_639_entry + iso_639_2B_code="ara" + iso_639_2T_code="ara" + iso_639_1_code="ar" + name="Arabic" /> + <iso_639_entry + iso_639_2B_code="arc" + iso_639_2T_code="arc" + name="Official Aramaic (700-300 BCE); Imperial Aramaic (700-300 BCE)" /> + <iso_639_entry + iso_639_2B_code="arg" + iso_639_2T_code="arg" + iso_639_1_code="an" + name="Aragonese" /> + <iso_639_entry + iso_639_2B_code="arm" + iso_639_2T_code="hye" + iso_639_1_code="hy" + name="Armenian" /> + <iso_639_entry + iso_639_2B_code="arn" + iso_639_2T_code="arn" + name="Mapudungun; Mapuche" /> + <iso_639_entry + iso_639_2B_code="arp" + iso_639_2T_code="arp" + name="Arapaho" /> + <iso_639_entry + iso_639_2B_code="art" + iso_639_2T_code="art" + name="Artificial languages" /> + <iso_639_entry + iso_639_2B_code="arw" + iso_639_2T_code="arw" + name="Arawak" /> + <iso_639_entry + iso_639_2B_code="asm" + iso_639_2T_code="asm" + iso_639_1_code="as" + name="Assamese" /> + <iso_639_entry + iso_639_2B_code="ast" + iso_639_2T_code="ast" + name="Asturian; Bable; Leonese; Asturleonese" /> + <iso_639_entry + iso_639_2B_code="ath" + iso_639_2T_code="ath" + name="Athapascan languages" /> + <iso_639_entry + iso_639_2B_code="aus" + iso_639_2T_code="aus" + name="Australian languages" /> + <iso_639_entry + iso_639_2B_code="ava" + iso_639_2T_code="ava" + iso_639_1_code="av" + name="Avaric" /> + <iso_639_entry + iso_639_2B_code="ave" + iso_639_2T_code="ave" + iso_639_1_code="ae" + name="Avestan" /> + <iso_639_entry + iso_639_2B_code="awa" + iso_639_2T_code="awa" + name="Awadhi" /> + <iso_639_entry + iso_639_2B_code="aym" + iso_639_2T_code="aym" + iso_639_1_code="ay" + name="Aymara" /> + <iso_639_entry + iso_639_2B_code="aze" + iso_639_2T_code="aze" + iso_639_1_code="az" + name="Azerbaijani" /> + <iso_639_entry + iso_639_2B_code="bad" + iso_639_2T_code="bad" + name="Banda languages" /> + <iso_639_entry + iso_639_2B_code="bai" + iso_639_2T_code="bai" + name="Bamileke languages" /> + <iso_639_entry + iso_639_2B_code="bak" + iso_639_2T_code="bak" + iso_639_1_code="ba" + name="Bashkir" /> + <iso_639_entry + iso_639_2B_code="bal" + iso_639_2T_code="bal" + name="Baluchi" /> + <iso_639_entry + iso_639_2B_code="bam" + iso_639_2T_code="bam" + iso_639_1_code="bm" + name="Bambara" /> + <iso_639_entry + iso_639_2B_code="ban" + iso_639_2T_code="ban" + name="Balinese" /> + <iso_639_entry + iso_639_2B_code="baq" + iso_639_2T_code="eus" + iso_639_1_code="eu" + name="Basque" /> + <iso_639_entry + iso_639_2B_code="bas" + iso_639_2T_code="bas" + name="Basa" /> + <iso_639_entry + iso_639_2B_code="bat" + iso_639_2T_code="bat" + name="Baltic languages" /> + <iso_639_entry + iso_639_2B_code="bej" + iso_639_2T_code="bej" + name="Beja; Bedawiyet" /> + <iso_639_entry + iso_639_2B_code="bel" + iso_639_2T_code="bel" + iso_639_1_code="be" + name="Belarusian" /> + <iso_639_entry + iso_639_2B_code="bem" + iso_639_2T_code="bem" + name="Bemba" /> + <iso_639_entry + iso_639_2B_code="ben" + iso_639_2T_code="ben" + iso_639_1_code="bn" + name="Bengali" /> + <iso_639_entry + iso_639_2B_code="ber" + iso_639_2T_code="ber" + name="Berber languages" /> + <iso_639_entry + iso_639_2B_code="bho" + iso_639_2T_code="bho" + name="Bhojpuri" /> + <iso_639_entry + iso_639_2B_code="bih" + iso_639_2T_code="bih" + iso_639_1_code="bh" + name="Bihari languages" /> + <iso_639_entry + iso_639_2B_code="bik" + iso_639_2T_code="bik" + name="Bikol" /> + <iso_639_entry + iso_639_2B_code="bin" + iso_639_2T_code="bin" + name="Bini; Edo" /> + <iso_639_entry + iso_639_2B_code="bis" + iso_639_2T_code="bis" + iso_639_1_code="bi" + name="Bislama" /> + <iso_639_entry + iso_639_2B_code="bla" + iso_639_2T_code="bla" + name="Siksika" /> + <iso_639_entry + iso_639_2B_code="bnt" + iso_639_2T_code="bnt" + name="Bantu languages" /> + <iso_639_entry + iso_639_2B_code="bos" + iso_639_2T_code="bos" + iso_639_1_code="bs" + name="Bosnian" /> + <iso_639_entry + iso_639_2B_code="bra" + iso_639_2T_code="bra" + name="Braj" /> + <iso_639_entry + iso_639_2B_code="bre" + iso_639_2T_code="bre" + iso_639_1_code="br" + name="Breton" /> + <iso_639_entry + iso_639_2B_code="btk" + iso_639_2T_code="btk" + name="Batak languages" /> + <iso_639_entry + iso_639_2B_code="bua" + iso_639_2T_code="bua" + name="Buriat" /> + <iso_639_entry + iso_639_2B_code="bug" + iso_639_2T_code="bug" + name="Buginese" /> + <iso_639_entry + iso_639_2B_code="bul" + iso_639_2T_code="bul" + iso_639_1_code="bg" + name="Bulgarian" /> + <iso_639_entry + iso_639_2B_code="bur" + iso_639_2T_code="mya" + iso_639_1_code="my" + name="Burmese" /> + <iso_639_entry + iso_639_2B_code="byn" + iso_639_2T_code="byn" + name="Blin; Bilin" /> + <iso_639_entry + iso_639_2B_code="cad" + iso_639_2T_code="cad" + name="Caddo" /> + <iso_639_entry + iso_639_2B_code="cai" + iso_639_2T_code="cai" + name="Central American Indian languages" /> + <iso_639_entry + iso_639_2B_code="car" + iso_639_2T_code="car" + name="Galibi Carib" /> + <iso_639_entry + iso_639_2B_code="cat" + iso_639_2T_code="cat" + iso_639_1_code="ca" + name="Catalan; Valencian" /> + <iso_639_entry + iso_639_2B_code="cau" + iso_639_2T_code="cau" + name="Caucasian languages" /> + <iso_639_entry + iso_639_2B_code="ceb" + iso_639_2T_code="ceb" + name="Cebuano" /> + <iso_639_entry + iso_639_2B_code="cel" + iso_639_2T_code="cel" + name="Celtic languages" /> + <iso_639_entry + iso_639_2B_code="cha" + iso_639_2T_code="cha" + iso_639_1_code="ch" + name="Chamorro" /> + <iso_639_entry + iso_639_2B_code="chb" + iso_639_2T_code="chb" + name="Chibcha" /> + <iso_639_entry + iso_639_2B_code="che" + iso_639_2T_code="che" + iso_639_1_code="ce" + name="Chechen" /> + <iso_639_entry + iso_639_2B_code="chg" + iso_639_2T_code="chg" + name="Chagatai" /> + <iso_639_entry + iso_639_2B_code="chi" + iso_639_2T_code="zho" + iso_639_1_code="zh" + name="Chinese" /> + <iso_639_entry + iso_639_2B_code="chk" + iso_639_2T_code="chk" + name="Chuukese" /> + <iso_639_entry + iso_639_2B_code="chm" + iso_639_2T_code="chm" + name="Mari" /> + <iso_639_entry + iso_639_2B_code="chn" + iso_639_2T_code="chn" + name="Chinook jargon" /> + <iso_639_entry + iso_639_2B_code="cho" + iso_639_2T_code="cho" + name="Choctaw" /> + <iso_639_entry + iso_639_2B_code="chp" + iso_639_2T_code="chp" + name="Chipewyan; Dene Suline" /> + <iso_639_entry + iso_639_2B_code="chr" + iso_639_2T_code="chr" + name="Cherokee" /> + <iso_639_entry + iso_639_2B_code="chu" + iso_639_2T_code="chu" + iso_639_1_code="cu" + name="Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic" /> + <iso_639_entry + iso_639_2B_code="chv" + iso_639_2T_code="chv" + iso_639_1_code="cv" + name="Chuvash" /> + <iso_639_entry + iso_639_2B_code="chy" + iso_639_2T_code="chy" + name="Cheyenne" /> + <iso_639_entry + iso_639_2B_code="cmc" + iso_639_2T_code="cmc" + name="Chamic languages" /> + <iso_639_entry + iso_639_2B_code="cop" + iso_639_2T_code="cop" + name="Coptic" /> + <iso_639_entry + iso_639_2B_code="cor" + iso_639_2T_code="cor" + iso_639_1_code="kw" + name="Cornish" /> + <iso_639_entry + iso_639_2B_code="cos" + iso_639_2T_code="cos" + iso_639_1_code="co" + name="Corsican" /> + <iso_639_entry + iso_639_2B_code="cpe" + iso_639_2T_code="cpe" + name="Creoles and pidgins, English based" /> + <iso_639_entry + iso_639_2B_code="cpf" + iso_639_2T_code="cpf" + name="Creoles and pidgins, French-based" /> + <iso_639_entry + iso_639_2B_code="cpp" + iso_639_2T_code="cpp" + name="Creoles and pidgins, Portuguese-based" /> + <iso_639_entry + iso_639_2B_code="cre" + iso_639_2T_code="cre" + iso_639_1_code="cr" + name="Cree" /> + <iso_639_entry + iso_639_2B_code="crh" + iso_639_2T_code="crh" + name="Crimean Tatar; Crimean Turkish" /> + <iso_639_entry + iso_639_2B_code="crp" + iso_639_2T_code="crp" + name="Creoles and pidgins" /> + <iso_639_entry + iso_639_2B_code="csb" + iso_639_2T_code="csb" + name="Kashubian" /> + <iso_639_entry + iso_639_2B_code="cus" + iso_639_2T_code="cus" + name="Cushitic languages" /> + <iso_639_entry + iso_639_2B_code="cze" + iso_639_2T_code="ces" + iso_639_1_code="cs" + name="Czech" /> + <iso_639_entry + iso_639_2B_code="dak" + iso_639_2T_code="dak" + name="Dakota" /> + <iso_639_entry + iso_639_2B_code="dan" + iso_639_2T_code="dan" + iso_639_1_code="da" + name="Danish" /> + <iso_639_entry + iso_639_2B_code="dar" + iso_639_2T_code="dar" + name="Dargwa" /> + <iso_639_entry + iso_639_2B_code="day" + iso_639_2T_code="day" + name="Land Dayak languages" /> + <iso_639_entry + iso_639_2B_code="del" + iso_639_2T_code="del" + name="Delaware" /> + <iso_639_entry + iso_639_2B_code="den" + iso_639_2T_code="den" + name="Slave (Athapascan)" /> + <iso_639_entry + iso_639_2B_code="dgr" + iso_639_2T_code="dgr" + name="Dogrib" /> + <iso_639_entry + iso_639_2B_code="din" + iso_639_2T_code="din" + name="Dinka" /> + <iso_639_entry + iso_639_2B_code="div" + iso_639_2T_code="div" + iso_639_1_code="dv" + name="Divehi; Dhivehi; Maldivian" /> + <iso_639_entry + iso_639_2B_code="doi" + iso_639_2T_code="doi" + name="Dogri" /> + <iso_639_entry + iso_639_2B_code="dra" + iso_639_2T_code="dra" + name="Dravidian languages" /> + <iso_639_entry + iso_639_2B_code="dsb" + iso_639_2T_code="dsb" + name="Lower Sorbian" /> + <iso_639_entry + iso_639_2B_code="dua" + iso_639_2T_code="dua" + name="Duala" /> + <iso_639_entry + iso_639_2B_code="dum" + iso_639_2T_code="dum" + name="Dutch, Middle (ca. 1050-1350)" /> + <iso_639_entry + iso_639_2B_code="dut" + iso_639_2T_code="nld" + iso_639_1_code="nl" + name="Dutch; Flemish" /> + <iso_639_entry + iso_639_2B_code="dyu" + iso_639_2T_code="dyu" + name="Dyula" /> + <iso_639_entry + iso_639_2B_code="dzo" + iso_639_2T_code="dzo" + iso_639_1_code="dz" + name="Dzongkha" /> + <iso_639_entry + iso_639_2B_code="efi" + iso_639_2T_code="efi" + name="Efik" /> + <iso_639_entry + iso_639_2B_code="egy" + iso_639_2T_code="egy" + name="Egyptian (Ancient)" /> + <iso_639_entry + iso_639_2B_code="eka" + iso_639_2T_code="eka" + name="Ekajuk" /> + <iso_639_entry + iso_639_2B_code="elx" + iso_639_2T_code="elx" + name="Elamite" /> + <iso_639_entry + iso_639_2B_code="eng" + iso_639_2T_code="eng" + iso_639_1_code="en" + name="English" /> + <iso_639_entry + iso_639_2B_code="enm" + iso_639_2T_code="enm" + name="English, Middle (1100-1500)" /> + <iso_639_entry + iso_639_2B_code="epo" + iso_639_2T_code="epo" + iso_639_1_code="eo" + name="Esperanto" /> + <iso_639_entry + iso_639_2B_code="est" + iso_639_2T_code="est" + iso_639_1_code="et" + name="Estonian" /> + <iso_639_entry + iso_639_2B_code="ewe" + iso_639_2T_code="ewe" + iso_639_1_code="ee" + name="Ewe" /> + <iso_639_entry + iso_639_2B_code="ewo" + iso_639_2T_code="ewo" + name="Ewondo" /> + <iso_639_entry + iso_639_2B_code="fan" + iso_639_2T_code="fan" + name="Fang" /> + <iso_639_entry + iso_639_2B_code="fao" + iso_639_2T_code="fao" + iso_639_1_code="fo" + name="Faroese" /> + <iso_639_entry + iso_639_2B_code="fat" + iso_639_2T_code="fat" + name="Fanti" /> + <iso_639_entry + iso_639_2B_code="fij" + iso_639_2T_code="fij" + iso_639_1_code="fj" + name="Fijian" /> + <iso_639_entry + iso_639_2B_code="fil" + iso_639_2T_code="fil" + name="Filipino; Pilipino" /> + <iso_639_entry + iso_639_2B_code="fin" + iso_639_2T_code="fin" + iso_639_1_code="fi" + name="Finnish" /> + <iso_639_entry + iso_639_2B_code="fiu" + iso_639_2T_code="fiu" + name="Finno-Ugrian languages" /> + <iso_639_entry + iso_639_2B_code="fon" + iso_639_2T_code="fon" + name="Fon" /> + <iso_639_entry + iso_639_2B_code="fre" + iso_639_2T_code="fra" + iso_639_1_code="fr" + name="French" /> + <iso_639_entry + iso_639_2B_code="frm" + iso_639_2T_code="frm" + name="French, Middle (ca. 1400-1600)" /> + <iso_639_entry + iso_639_2B_code="fro" + iso_639_2T_code="fro" + name="French, Old (842-ca. 1400)" /> + <iso_639_entry + iso_639_2B_code="frr" + iso_639_2T_code="frr" + name="Northern Frisian" /> + <iso_639_entry + iso_639_2B_code="frs" + iso_639_2T_code="frs" + name="Eastern Frisian" /> + <iso_639_entry + iso_639_2B_code="fry" + iso_639_2T_code="fry" + iso_639_1_code="fy" + name="Western Frisian" /> + <iso_639_entry + iso_639_2B_code="ful" + iso_639_2T_code="ful" + iso_639_1_code="ff" + name="Fulah" /> + <iso_639_entry + iso_639_2B_code="fur" + iso_639_2T_code="fur" + name="Friulian" /> + <iso_639_entry + iso_639_2B_code="gaa" + iso_639_2T_code="gaa" + name="Ga" /> + <iso_639_entry + iso_639_2B_code="gay" + iso_639_2T_code="gay" + name="Gayo" /> + <iso_639_entry + iso_639_2B_code="gba" + iso_639_2T_code="gba" + name="Gbaya" /> + <iso_639_entry + iso_639_2B_code="gem" + iso_639_2T_code="gem" + name="Germanic languages" /> + <iso_639_entry + iso_639_2B_code="geo" + iso_639_2T_code="kat" + iso_639_1_code="ka" + name="Georgian" /> + <iso_639_entry + iso_639_2B_code="ger" + iso_639_2T_code="deu" + iso_639_1_code="de" + name="German" /> + <iso_639_entry + iso_639_2B_code="gez" + iso_639_2T_code="gez" + name="Geez" /> + <iso_639_entry + iso_639_2B_code="gil" + iso_639_2T_code="gil" + name="Gilbertese" /> + <iso_639_entry + iso_639_2B_code="gla" + iso_639_2T_code="gla" + iso_639_1_code="gd" + name="Gaelic; Scottish Gaelic" /> + <iso_639_entry + iso_639_2B_code="gle" + iso_639_2T_code="gle" + iso_639_1_code="ga" + name="Irish" /> + <iso_639_entry + iso_639_2B_code="glg" + iso_639_2T_code="glg" + iso_639_1_code="gl" + name="Galician" /> + <iso_639_entry + iso_639_2B_code="glv" + iso_639_2T_code="glv" + iso_639_1_code="gv" + name="Manx" /> + <iso_639_entry + iso_639_2B_code="gmh" + iso_639_2T_code="gmh" + name="German, Middle High (ca. 1050-1500)" /> + <iso_639_entry + iso_639_2B_code="goh" + iso_639_2T_code="goh" + name="German, Old High (ca. 750-1050)" /> + <iso_639_entry + iso_639_2B_code="gon" + iso_639_2T_code="gon" + name="Gondi" /> + <iso_639_entry + iso_639_2B_code="gor" + iso_639_2T_code="gor" + name="Gorontalo" /> + <iso_639_entry + iso_639_2B_code="got" + iso_639_2T_code="got" + name="Gothic" /> + <iso_639_entry + iso_639_2B_code="grb" + iso_639_2T_code="grb" + name="Grebo" /> + <iso_639_entry + iso_639_2B_code="grc" + iso_639_2T_code="grc" + name="Greek, Ancient (to 1453)" /> + <iso_639_entry + iso_639_2B_code="gre" + iso_639_2T_code="ell" + iso_639_1_code="el" + name="Greek, Modern (1453-)" /> + <iso_639_entry + iso_639_2B_code="grn" + iso_639_2T_code="grn" + iso_639_1_code="gn" + name="Guarani" /> + <iso_639_entry + iso_639_2B_code="gsw" + iso_639_2T_code="gsw" + name="Swiss German; Alemannic; Alsatian" /> + <iso_639_entry + iso_639_2B_code="guj" + iso_639_2T_code="guj" + iso_639_1_code="gu" + name="Gujarati" /> + <iso_639_entry + iso_639_2B_code="gwi" + iso_639_2T_code="gwi" + name="Gwich'in" /> + <iso_639_entry + iso_639_2B_code="hai" + iso_639_2T_code="hai" + name="Haida" /> + <iso_639_entry + iso_639_2B_code="hat" + iso_639_2T_code="hat" + iso_639_1_code="ht" + name="Haitian; Haitian Creole" /> + <iso_639_entry + iso_639_2B_code="hau" + iso_639_2T_code="hau" + iso_639_1_code="ha" + name="Hausa" /> + <iso_639_entry + iso_639_2B_code="haw" + iso_639_2T_code="haw" + name="Hawaiian" /> + <iso_639_entry + iso_639_2B_code="heb" + iso_639_2T_code="heb" + iso_639_1_code="he" + name="Hebrew" /> + <iso_639_entry + iso_639_2B_code="her" + iso_639_2T_code="her" + iso_639_1_code="hz" + name="Herero" /> + <iso_639_entry + iso_639_2B_code="hil" + iso_639_2T_code="hil" + name="Hiligaynon" /> + <iso_639_entry + iso_639_2B_code="him" + iso_639_2T_code="him" + name="Himachali languages; Western Pahari languages" /> + <iso_639_entry + iso_639_2B_code="hin" + iso_639_2T_code="hin" + iso_639_1_code="hi" + name="Hindi" /> + <iso_639_entry + iso_639_2B_code="hit" + iso_639_2T_code="hit" + name="Hittite" /> + <iso_639_entry + iso_639_2B_code="hmn" + iso_639_2T_code="hmn" + name="Hmong; Mong" /> + <iso_639_entry + iso_639_2B_code="hmo" + iso_639_2T_code="hmo" + iso_639_1_code="ho" + name="Hiri Motu" /> + <iso_639_entry + iso_639_2B_code="hrv" + iso_639_2T_code="hrv" + iso_639_1_code="hr" + name="Croatian" /> + <iso_639_entry + iso_639_2B_code="hsb" + iso_639_2T_code="hsb" + name="Upper Sorbian" /> + <iso_639_entry + iso_639_2B_code="hun" + iso_639_2T_code="hun" + iso_639_1_code="hu" + name="Hungarian" /> + <iso_639_entry + iso_639_2B_code="hup" + iso_639_2T_code="hup" + name="Hupa" /> + <iso_639_entry + iso_639_2B_code="iba" + iso_639_2T_code="iba" + name="Iban" /> + <iso_639_entry + iso_639_2B_code="ibo" + iso_639_2T_code="ibo" + iso_639_1_code="ig" + name="Igbo" /> + <iso_639_entry + iso_639_2B_code="ice" + iso_639_2T_code="isl" + iso_639_1_code="is" + name="Icelandic" /> + <iso_639_entry + iso_639_2B_code="ido" + iso_639_2T_code="ido" + iso_639_1_code="io" + name="Ido" /> + <iso_639_entry + iso_639_2B_code="iii" + iso_639_2T_code="iii" + iso_639_1_code="ii" + name="Sichuan Yi; Nuosu" /> + <iso_639_entry + iso_639_2B_code="ijo" + iso_639_2T_code="ijo" + name="Ijo languages" /> + <iso_639_entry + iso_639_2B_code="iku" + iso_639_2T_code="iku" + iso_639_1_code="iu" + name="Inuktitut" /> + <iso_639_entry + iso_639_2B_code="ile" + iso_639_2T_code="ile" + iso_639_1_code="ie" + name="Interlingue; Occidental" /> + <iso_639_entry + iso_639_2B_code="ilo" + iso_639_2T_code="ilo" + name="Iloko" /> + <iso_639_entry + iso_639_2B_code="ina" + iso_639_2T_code="ina" + iso_639_1_code="ia" + name="Interlingua (International Auxiliary Language Association)" /> + <iso_639_entry + iso_639_2B_code="inc" + iso_639_2T_code="inc" + name="Indic languages" /> + <iso_639_entry + iso_639_2B_code="ind" + iso_639_2T_code="ind" + iso_639_1_code="id" + name="Indonesian" /> + <iso_639_entry + iso_639_2B_code="ine" + iso_639_2T_code="ine" + name="Indo-European languages" /> + <iso_639_entry + iso_639_2B_code="inh" + iso_639_2T_code="inh" + name="Ingush" /> + <iso_639_entry + iso_639_2B_code="ipk" + iso_639_2T_code="ipk" + iso_639_1_code="ik" + name="Inupiaq" /> + <iso_639_entry + iso_639_2B_code="ira" + iso_639_2T_code="ira" + name="Iranian languages" /> + <iso_639_entry + iso_639_2B_code="iro" + iso_639_2T_code="iro" + name="Iroquoian languages" /> + <iso_639_entry + iso_639_2B_code="ita" + iso_639_2T_code="ita" + iso_639_1_code="it" + name="Italian" /> + <iso_639_entry + iso_639_2B_code="jav" + iso_639_2T_code="jav" + iso_639_1_code="jv" + name="Javanese" /> + <iso_639_entry + iso_639_2B_code="jbo" + iso_639_2T_code="jbo" + name="Lojban" /> + <iso_639_entry + iso_639_2B_code="jpn" + iso_639_2T_code="jpn" + iso_639_1_code="ja" + name="Japanese" /> + <iso_639_entry + iso_639_2B_code="jpr" + iso_639_2T_code="jpr" + name="Judeo-Persian" /> + <iso_639_entry + iso_639_2B_code="jrb" + iso_639_2T_code="jrb" + name="Judeo-Arabic" /> + <iso_639_entry + iso_639_2B_code="kaa" + iso_639_2T_code="kaa" + name="Kara-Kalpak" /> + <iso_639_entry + iso_639_2B_code="kab" + iso_639_2T_code="kab" + name="Kabyle" /> + <iso_639_entry + iso_639_2B_code="kac" + iso_639_2T_code="kac" + name="Kachin; Jingpho" /> + <iso_639_entry + iso_639_2B_code="kal" + iso_639_2T_code="kal" + iso_639_1_code="kl" + name="Kalaallisut; Greenlandic" /> + <iso_639_entry + iso_639_2B_code="kam" + iso_639_2T_code="kam" + name="Kamba" /> + <iso_639_entry + iso_639_2B_code="kan" + iso_639_2T_code="kan" + iso_639_1_code="kn" + name="Kannada" /> + <iso_639_entry + iso_639_2B_code="kar" + iso_639_2T_code="kar" + name="Karen languages" /> + <iso_639_entry + iso_639_2B_code="kas" + iso_639_2T_code="kas" + iso_639_1_code="ks" + name="Kashmiri" /> + <iso_639_entry + iso_639_2B_code="kau" + iso_639_2T_code="kau" + iso_639_1_code="kr" + name="Kanuri" /> + <iso_639_entry + iso_639_2B_code="kaw" + iso_639_2T_code="kaw" + name="Kawi" /> + <iso_639_entry + iso_639_2B_code="kaz" + iso_639_2T_code="kaz" + iso_639_1_code="kk" + name="Kazakh" /> + <iso_639_entry + iso_639_2B_code="kbd" + iso_639_2T_code="kbd" + name="Kabardian" /> + <iso_639_entry + iso_639_2B_code="kha" + iso_639_2T_code="kha" + name="Khasi" /> + <iso_639_entry + iso_639_2B_code="khi" + iso_639_2T_code="khi" + name="Khoisan languages" /> + <iso_639_entry + iso_639_2B_code="khm" + iso_639_2T_code="khm" + iso_639_1_code="km" + name="Central Khmer" /> + <iso_639_entry + iso_639_2B_code="kho" + iso_639_2T_code="kho" + name="Khotanese;Sakan" /> + <iso_639_entry + iso_639_2B_code="kik" + iso_639_2T_code="kik" + iso_639_1_code="ki" + name="Kikuyu; Gikuyu" /> + <iso_639_entry + iso_639_2B_code="kin" + iso_639_2T_code="kin" + iso_639_1_code="rw" + name="Kinyarwanda" /> + <iso_639_entry + iso_639_2B_code="kir" + iso_639_2T_code="kir" + iso_639_1_code="ky" + name="Kirghiz; Kyrgyz" /> + <iso_639_entry + iso_639_2B_code="kmb" + iso_639_2T_code="kmb" + name="Kimbundu" /> + <iso_639_entry + iso_639_2B_code="kok" + iso_639_2T_code="kok" + name="Konkani" /> + <iso_639_entry + iso_639_2B_code="kom" + iso_639_2T_code="kom" + iso_639_1_code="kv" + name="Komi" /> + <iso_639_entry + iso_639_2B_code="kon" + iso_639_2T_code="kon" + iso_639_1_code="kg" + name="Kongo" /> + <iso_639_entry + iso_639_2B_code="kor" + iso_639_2T_code="kor" + iso_639_1_code="ko" + name="Korean" /> + <iso_639_entry + iso_639_2B_code="kos" + iso_639_2T_code="kos" + name="Kosraean" /> + <iso_639_entry + iso_639_2B_code="kpe" + iso_639_2T_code="kpe" + name="Kpelle" /> + <iso_639_entry + iso_639_2B_code="krc" + iso_639_2T_code="krc" + name="Karachay-Balkar" /> + <iso_639_entry + iso_639_2B_code="krl" + iso_639_2T_code="krl" + name="Karelian" /> + <iso_639_entry + iso_639_2B_code="kro" + iso_639_2T_code="kro" + name="Kru languages" /> + <iso_639_entry + iso_639_2B_code="kru" + iso_639_2T_code="kru" + name="Kurukh" /> + <iso_639_entry + iso_639_2B_code="kua" + iso_639_2T_code="kua" + iso_639_1_code="kj" + name="Kuanyama; Kwanyama" /> + <iso_639_entry + iso_639_2B_code="kum" + iso_639_2T_code="kum" + name="Kumyk" /> + <iso_639_entry + iso_639_2B_code="kur" + iso_639_2T_code="kur" + iso_639_1_code="ku" + name="Kurdish" /> + <iso_639_entry + iso_639_2B_code="kut" + iso_639_2T_code="kut" + name="Kutenai" /> + <iso_639_entry + iso_639_2B_code="lad" + iso_639_2T_code="lad" + name="Ladino" /> + <iso_639_entry + iso_639_2B_code="lah" + iso_639_2T_code="lah" + name="Lahnda" /> + <iso_639_entry + iso_639_2B_code="lam" + iso_639_2T_code="lam" + name="Lamba" /> + <iso_639_entry + iso_639_2B_code="lao" + iso_639_2T_code="lao" + iso_639_1_code="lo" + name="Lao" /> + <iso_639_entry + iso_639_2B_code="lat" + iso_639_2T_code="lat" + iso_639_1_code="la" + name="Latin" /> + <iso_639_entry + iso_639_2B_code="lav" + iso_639_2T_code="lav" + iso_639_1_code="lv" + name="Latvian" /> + <iso_639_entry + iso_639_2B_code="lez" + iso_639_2T_code="lez" + name="Lezghian" /> + <iso_639_entry + iso_639_2B_code="lim" + iso_639_2T_code="lim" + iso_639_1_code="li" + name="Limburgan; Limburger; Limburgish" /> + <iso_639_entry + iso_639_2B_code="lin" + iso_639_2T_code="lin" + iso_639_1_code="ln" + name="Lingala" /> + <iso_639_entry + iso_639_2B_code="lit" + iso_639_2T_code="lit" + iso_639_1_code="lt" + name="Lithuanian" /> + <iso_639_entry + iso_639_2B_code="lol" + iso_639_2T_code="lol" + name="Mongo" /> + <iso_639_entry + iso_639_2B_code="loz" + iso_639_2T_code="loz" + name="Lozi" /> + <iso_639_entry + iso_639_2B_code="ltz" + iso_639_2T_code="ltz" + iso_639_1_code="lb" + name="Luxembourgish; Letzeburgesch" /> + <iso_639_entry + iso_639_2B_code="lua" + iso_639_2T_code="lua" + name="Luba-Lulua" /> + <iso_639_entry + iso_639_2B_code="lub" + iso_639_2T_code="lub" + iso_639_1_code="lu" + name="Luba-Katanga" /> + <iso_639_entry + iso_639_2B_code="lug" + iso_639_2T_code="lug" + iso_639_1_code="lg" + name="Ganda" /> + <iso_639_entry + iso_639_2B_code="lui" + iso_639_2T_code="lui" + name="Luiseno" /> + <iso_639_entry + iso_639_2B_code="lun" + iso_639_2T_code="lun" + name="Lunda" /> + <iso_639_entry + iso_639_2B_code="luo" + iso_639_2T_code="luo" + name="Luo (Kenya and Tanzania)" /> + <iso_639_entry + iso_639_2B_code="lus" + iso_639_2T_code="lus" + name="Lushai" /> + <iso_639_entry + iso_639_2B_code="mac" + iso_639_2T_code="mkd" + iso_639_1_code="mk" + name="Macedonian" /> + <iso_639_entry + iso_639_2B_code="mad" + iso_639_2T_code="mad" + name="Madurese" /> + <iso_639_entry + iso_639_2B_code="mag" + iso_639_2T_code="mag" + name="Magahi" /> + <iso_639_entry + iso_639_2B_code="mah" + iso_639_2T_code="mah" + iso_639_1_code="mh" + name="Marshallese" /> + <iso_639_entry + iso_639_2B_code="mai" + iso_639_2T_code="mai" + name="Maithili" /> + <iso_639_entry + iso_639_2B_code="mak" + iso_639_2T_code="mak" + name="Makasar" /> + <iso_639_entry + iso_639_2B_code="mal" + iso_639_2T_code="mal" + iso_639_1_code="ml" + name="Malayalam" /> + <iso_639_entry + iso_639_2B_code="man" + iso_639_2T_code="man" + name="Mandingo" /> + <iso_639_entry + iso_639_2B_code="mao" + iso_639_2T_code="mri" + iso_639_1_code="mi" + name="Maori" /> + <iso_639_entry + iso_639_2B_code="map" + iso_639_2T_code="map" + name="Austronesian languages" /> + <iso_639_entry + iso_639_2B_code="mar" + iso_639_2T_code="mar" + iso_639_1_code="mr" + name="Marathi" /> + <iso_639_entry + iso_639_2B_code="mas" + iso_639_2T_code="mas" + name="Masai" /> + <iso_639_entry + iso_639_2B_code="may" + iso_639_2T_code="msa" + iso_639_1_code="ms" + name="Malay" /> + <iso_639_entry + iso_639_2B_code="mdf" + iso_639_2T_code="mdf" + name="Moksha" /> + <iso_639_entry + iso_639_2B_code="mdr" + iso_639_2T_code="mdr" + name="Mandar" /> + <iso_639_entry + iso_639_2B_code="men" + iso_639_2T_code="men" + name="Mende" /> + <iso_639_entry + iso_639_2B_code="mga" + iso_639_2T_code="mga" + name="Irish, Middle (900-1200)" /> + <iso_639_entry + iso_639_2B_code="mic" + iso_639_2T_code="mic" + name="Mi'kmaq; Micmac" /> + <iso_639_entry + iso_639_2B_code="min" + iso_639_2T_code="min" + name="Minangkabau" /> + <iso_639_entry + iso_639_2B_code="mis" + iso_639_2T_code="mis" + name="Uncoded languages" /> + <iso_639_entry + iso_639_2B_code="mkh" + iso_639_2T_code="mkh" + name="Mon-Khmer languages" /> + <iso_639_entry + iso_639_2B_code="mlg" + iso_639_2T_code="mlg" + iso_639_1_code="mg" + name="Malagasy" /> + <iso_639_entry + iso_639_2B_code="mlt" + iso_639_2T_code="mlt" + iso_639_1_code="mt" + name="Maltese" /> + <iso_639_entry + iso_639_2B_code="mnc" + iso_639_2T_code="mnc" + name="Manchu" /> + <iso_639_entry + iso_639_2B_code="mni" + iso_639_2T_code="mni" + name="Manipuri" /> + <iso_639_entry + iso_639_2B_code="mno" + iso_639_2T_code="mno" + name="Manobo languages" /> + <iso_639_entry + iso_639_2B_code="moh" + iso_639_2T_code="moh" + name="Mohawk" /> + <iso_639_entry + iso_639_2B_code="mol" + iso_639_2T_code="mol" + iso_639_1_code="mo" + name="Moldavian; Moldovan" /> + <iso_639_entry + iso_639_2B_code="mon" + iso_639_2T_code="mon" + iso_639_1_code="mn" + name="Mongolian" /> + <iso_639_entry + iso_639_2B_code="mos" + iso_639_2T_code="mos" + name="Mossi" /> + <iso_639_entry + iso_639_2B_code="mul" + iso_639_2T_code="mul" + name="Multiple languages" /> + <iso_639_entry + iso_639_2B_code="mun" + iso_639_2T_code="mun" + name="Munda languages" /> + <iso_639_entry + iso_639_2B_code="mus" + iso_639_2T_code="mus" + name="Creek" /> + <iso_639_entry + iso_639_2B_code="mwl" + iso_639_2T_code="mwl" + name="Mirandese" /> + <iso_639_entry + iso_639_2B_code="mwr" + iso_639_2T_code="mwr" + name="Marwari" /> + <iso_639_entry + iso_639_2B_code="myn" + iso_639_2T_code="myn" + name="Mayan languages" /> + <iso_639_entry + iso_639_2B_code="myv" + iso_639_2T_code="myv" + name="Erzya" /> + <iso_639_entry + iso_639_2B_code="nah" + iso_639_2T_code="nah" + name="Nahuatl languages" /> + <iso_639_entry + iso_639_2B_code="nai" + iso_639_2T_code="nai" + name="North American Indian languages" /> + <iso_639_entry + iso_639_2B_code="nap" + iso_639_2T_code="nap" + name="Neapolitan" /> + <iso_639_entry + iso_639_2B_code="nau" + iso_639_2T_code="nau" + iso_639_1_code="na" + name="Nauru" /> + <iso_639_entry + iso_639_2B_code="nav" + iso_639_2T_code="nav" + iso_639_1_code="nv" + name="Navajo; Navaho" /> + <iso_639_entry + iso_639_2B_code="nbl" + iso_639_2T_code="nbl" + iso_639_1_code="nr" + name="Ndebele, South; South Ndebele" /> + <iso_639_entry + iso_639_2B_code="nde" + iso_639_2T_code="nde" + iso_639_1_code="nd" + name="Ndebele, North; North Ndebele" /> + <iso_639_entry + iso_639_2B_code="ndo" + iso_639_2T_code="ndo" + iso_639_1_code="ng" + name="Ndonga" /> + <iso_639_entry + iso_639_2B_code="nds" + iso_639_2T_code="nds" + name="Low German; Low Saxon; German, Low; Saxon, Low" /> + <iso_639_entry + iso_639_2B_code="nep" + iso_639_2T_code="nep" + iso_639_1_code="ne" + name="Nepali" /> + <iso_639_entry + iso_639_2B_code="new" + iso_639_2T_code="new" + name="Nepal Bhasa; Newari" /> + <iso_639_entry + iso_639_2B_code="nia" + iso_639_2T_code="nia" + name="Nias" /> + <iso_639_entry + iso_639_2B_code="nic" + iso_639_2T_code="nic" + name="Niger-Kordofanian languages" /> + <iso_639_entry + iso_639_2B_code="niu" + iso_639_2T_code="niu" + name="Niuean" /> + <iso_639_entry + iso_639_2B_code="nno" + iso_639_2T_code="nno" + iso_639_1_code="nn" + name="Norwegian Nynorsk; Nynorsk, Norwegian" /> + <iso_639_entry + iso_639_2B_code="nob" + iso_639_2T_code="nob" + iso_639_1_code="nb" + name="Bokmål, Norwegian; Norwegian Bokmål" /> + <iso_639_entry + iso_639_2B_code="nog" + iso_639_2T_code="nog" + name="Nogai" /> + <iso_639_entry + iso_639_2B_code="non" + iso_639_2T_code="non" + name="Norse, Old" /> + <iso_639_entry + iso_639_2B_code="nor" + iso_639_2T_code="nor" + iso_639_1_code="no" + name="Norwegian" /> + <iso_639_entry + iso_639_2B_code="nqo" + iso_639_2T_code="nqo" + name="N'Ko" /> + <iso_639_entry + iso_639_2B_code="nso" + iso_639_2T_code="nso" + name="Pedi; Sepedi; Northern Sotho" /> + <iso_639_entry + iso_639_2B_code="nub" + iso_639_2T_code="nub" + name="Nubian languages" /> + <iso_639_entry + iso_639_2B_code="nwc" + iso_639_2T_code="nwc" + name="Classical Newari; Old Newari; Classical Nepal Bhasa" /> + <iso_639_entry + iso_639_2B_code="nya" + iso_639_2T_code="nya" + iso_639_1_code="ny" + name="Chichewa; Chewa; Nyanja" /> + <iso_639_entry + iso_639_2B_code="nym" + iso_639_2T_code="nym" + name="Nyamwezi" /> + <iso_639_entry + iso_639_2B_code="nyn" + iso_639_2T_code="nyn" + name="Nyankole" /> + <iso_639_entry + iso_639_2B_code="nyo" + iso_639_2T_code="nyo" + name="Nyoro" /> + <iso_639_entry + iso_639_2B_code="nzi" + iso_639_2T_code="nzi" + name="Nzima" /> + <iso_639_entry + iso_639_2B_code="oci" + iso_639_2T_code="oci" + iso_639_1_code="oc" + name="Occitan (post 1500)" /> + <iso_639_entry + iso_639_2B_code="oji" + iso_639_2T_code="oji" + iso_639_1_code="oj" + name="Ojibwa" /> + <iso_639_entry + iso_639_2B_code="ori" + iso_639_2T_code="ori" + iso_639_1_code="or" + name="Oriya" /> + <iso_639_entry + iso_639_2B_code="orm" + iso_639_2T_code="orm" + iso_639_1_code="om" + name="Oromo" /> + <iso_639_entry + iso_639_2B_code="osa" + iso_639_2T_code="osa" + name="Osage" /> + <iso_639_entry + iso_639_2B_code="oss" + iso_639_2T_code="oss" + iso_639_1_code="os" + name="Ossetian; Ossetic" /> + <iso_639_entry + iso_639_2B_code="ota" + iso_639_2T_code="ota" + name="Turkish, Ottoman (1500-1928)" /> + <iso_639_entry + iso_639_2B_code="oto" + iso_639_2T_code="oto" + name="Otomian languages" /> + <iso_639_entry + iso_639_2B_code="paa" + iso_639_2T_code="paa" + name="Papuan languages" /> + <iso_639_entry + iso_639_2B_code="pag" + iso_639_2T_code="pag" + name="Pangasinan" /> + <iso_639_entry + iso_639_2B_code="pal" + iso_639_2T_code="pal" + name="Pahlavi" /> + <iso_639_entry + iso_639_2B_code="pam" + iso_639_2T_code="pam" + name="Pampanga; Kapampangan" /> + <iso_639_entry + iso_639_2B_code="pan" + iso_639_2T_code="pan" + iso_639_1_code="pa" + name="Panjabi; Punjabi" /> + <iso_639_entry + iso_639_2B_code="pap" + iso_639_2T_code="pap" + name="Papiamento" /> + <iso_639_entry + iso_639_2B_code="pau" + iso_639_2T_code="pau" + name="Palauan" /> + <iso_639_entry + iso_639_2B_code="peo" + iso_639_2T_code="peo" + name="Persian, Old (ca. 600-400 B.C.)" /> + <iso_639_entry + iso_639_2B_code="per" + iso_639_2T_code="fas" + iso_639_1_code="fa" + name="Persian" /> + <iso_639_entry + iso_639_2B_code="phi" + iso_639_2T_code="phi" + name="Philippine languages" /> + <iso_639_entry + iso_639_2B_code="phn" + iso_639_2T_code="phn" + name="Phoenician" /> + <iso_639_entry + iso_639_2B_code="pli" + iso_639_2T_code="pli" + iso_639_1_code="pi" + name="Pali" /> + <iso_639_entry + iso_639_2B_code="pol" + iso_639_2T_code="pol" + iso_639_1_code="pl" + name="Polish" /> + <iso_639_entry + iso_639_2B_code="pon" + iso_639_2T_code="pon" + name="Pohnpeian" /> + <iso_639_entry + iso_639_2B_code="por" + iso_639_2T_code="por" + iso_639_1_code="pt" + name="Portuguese" /> + <iso_639_entry + iso_639_2B_code="pra" + iso_639_2T_code="pra" + name="Prakrit languages" /> + <iso_639_entry + iso_639_2B_code="pro" + iso_639_2T_code="pro" + name="Provençal, Old (to 1500); Occitan, Old (to 1500)" /> + <iso_639_entry + iso_639_2B_code="pus" + iso_639_2T_code="pus" + iso_639_1_code="ps" + name="Pushto; Pashto" /> + <iso_639_entry + iso_639_2B_code="qaa-qtz" + iso_639_2T_code="qaa-qtz" + name="Reserved for local use" /> + <iso_639_entry + iso_639_2B_code="que" + iso_639_2T_code="que" + iso_639_1_code="qu" + name="Quechua" /> + <iso_639_entry + iso_639_2B_code="raj" + iso_639_2T_code="raj" + name="Rajasthani" /> + <iso_639_entry + iso_639_2B_code="rap" + iso_639_2T_code="rap" + name="Rapanui" /> + <iso_639_entry + iso_639_2B_code="rar" + iso_639_2T_code="rar" + name="Rarotongan; Cook Islands Maori" /> + <iso_639_entry + iso_639_2B_code="roa" + iso_639_2T_code="roa" + name="Romance languages" /> + <iso_639_entry + iso_639_2B_code="roh" + iso_639_2T_code="roh" + iso_639_1_code="rm" + name="Romansh" /> + <iso_639_entry + iso_639_2B_code="rom" + iso_639_2T_code="rom" + name="Romany" /> + <iso_639_entry + iso_639_2B_code="rum" + iso_639_2T_code="ron" + iso_639_1_code="ro" + name="Romanian" /> + <iso_639_entry + iso_639_2B_code="run" + iso_639_2T_code="run" + iso_639_1_code="rn" + name="Rundi" /> + <iso_639_entry + iso_639_2B_code="rup" + iso_639_2T_code="rup" + name="Aromanian; Arumanian; Macedo-Romanian" /> + <iso_639_entry + iso_639_2B_code="rus" + iso_639_2T_code="rus" + iso_639_1_code="ru" + name="Russian" /> + <iso_639_entry + iso_639_2B_code="sad" + iso_639_2T_code="sad" + name="Sandawe" /> + <iso_639_entry + iso_639_2B_code="sag" + iso_639_2T_code="sag" + iso_639_1_code="sg" + name="Sango" /> + <iso_639_entry + iso_639_2B_code="sah" + iso_639_2T_code="sah" + name="Yakut" /> + <iso_639_entry + iso_639_2B_code="sai" + iso_639_2T_code="sai" + name="South American Indian languages" /> + <iso_639_entry + iso_639_2B_code="sal" + iso_639_2T_code="sal" + name="Salishan languages" /> + <iso_639_entry + iso_639_2B_code="sam" + iso_639_2T_code="sam" + name="Samaritan Aramaic" /> + <iso_639_entry + iso_639_2B_code="san" + iso_639_2T_code="san" + iso_639_1_code="sa" + name="Sanskrit" /> + <iso_639_entry + iso_639_2B_code="sas" + iso_639_2T_code="sas" + name="Sasak" /> + <iso_639_entry + iso_639_2B_code="sat" + iso_639_2T_code="sat" + name="Santali" /> + <iso_639_entry + iso_639_2B_code="scn" + iso_639_2T_code="scn" + name="Sicilian" /> + <iso_639_entry + iso_639_2B_code="sco" + iso_639_2T_code="sco" + name="Scots" /> + <iso_639_entry + iso_639_2B_code="sel" + iso_639_2T_code="sel" + name="Selkup" /> + <iso_639_entry + iso_639_2B_code="sem" + iso_639_2T_code="sem" + name="Semitic languages" /> + <iso_639_entry + iso_639_2B_code="sga" + iso_639_2T_code="sga" + name="Irish, Old (to 900)" /> + <iso_639_entry + iso_639_2B_code="sgn" + iso_639_2T_code="sgn" + name="Sign Languages" /> + <iso_639_entry + iso_639_2B_code="shn" + iso_639_2T_code="shn" + name="Shan" /> + <iso_639_entry + iso_639_2B_code="sid" + iso_639_2T_code="sid" + name="Sidamo" /> + <iso_639_entry + iso_639_2B_code="sin" + iso_639_2T_code="sin" + iso_639_1_code="si" + name="Sinhala; Sinhalese" /> + <iso_639_entry + iso_639_2B_code="sio" + iso_639_2T_code="sio" + name="Siouan languages" /> + <iso_639_entry + iso_639_2B_code="sit" + iso_639_2T_code="sit" + name="Sino-Tibetan languages" /> + <iso_639_entry + iso_639_2B_code="sla" + iso_639_2T_code="sla" + name="Slavic languages" /> + <iso_639_entry + iso_639_2B_code="slo" + iso_639_2T_code="slk" + iso_639_1_code="sk" + name="Slovak" /> + <iso_639_entry + iso_639_2B_code="slv" + iso_639_2T_code="slv" + iso_639_1_code="sl" + name="Slovenian" /> + <iso_639_entry + iso_639_2B_code="sma" + iso_639_2T_code="sma" + name="Southern Sami" /> + <iso_639_entry + iso_639_2B_code="sme" + iso_639_2T_code="sme" + iso_639_1_code="se" + name="Northern Sami" /> + <iso_639_entry + iso_639_2B_code="smi" + iso_639_2T_code="smi" + name="Sami languages" /> + <iso_639_entry + iso_639_2B_code="smj" + iso_639_2T_code="smj" + name="Lule Sami" /> + <iso_639_entry + iso_639_2B_code="smn" + iso_639_2T_code="smn" + name="Inari Sami" /> + <iso_639_entry + iso_639_2B_code="smo" + iso_639_2T_code="smo" + iso_639_1_code="sm" + name="Samoan" /> + <iso_639_entry + iso_639_2B_code="sms" + iso_639_2T_code="sms" + name="Skolt Sami" /> + <iso_639_entry + iso_639_2B_code="sna" + iso_639_2T_code="sna" + iso_639_1_code="sn" + name="Shona" /> + <iso_639_entry + iso_639_2B_code="snd" + iso_639_2T_code="snd" + iso_639_1_code="sd" + name="Sindhi" /> + <iso_639_entry + iso_639_2B_code="snk" + iso_639_2T_code="snk" + name="Soninke" /> + <iso_639_entry + iso_639_2B_code="sog" + iso_639_2T_code="sog" + name="Sogdian" /> + <iso_639_entry + iso_639_2B_code="som" + iso_639_2T_code="som" + iso_639_1_code="so" + name="Somali" /> + <iso_639_entry + iso_639_2B_code="son" + iso_639_2T_code="son" + name="Songhai languages" /> + <iso_639_entry + iso_639_2B_code="sot" + iso_639_2T_code="sot" + iso_639_1_code="st" + name="Sotho, Southern" /> + <iso_639_entry + iso_639_2B_code="spa" + iso_639_2T_code="spa" + iso_639_1_code="es" + name="Spanish; Castilian" /> + <iso_639_entry + iso_639_2B_code="srd" + iso_639_2T_code="srd" + iso_639_1_code="sc" + name="Sardinian" /> + <iso_639_entry + iso_639_2B_code="srn" + iso_639_2T_code="srn" + name="Sranan Tongo" /> + <iso_639_entry + iso_639_2B_code="srp" + iso_639_2T_code="srp" + iso_639_1_code="sr" + name="Serbian" /> + <iso_639_entry + iso_639_2B_code="srr" + iso_639_2T_code="srr" + name="Serer" /> + <iso_639_entry + iso_639_2B_code="ssa" + iso_639_2T_code="ssa" + name="Nilo-Saharan languages" /> + <iso_639_entry + iso_639_2B_code="ssw" + iso_639_2T_code="ssw" + iso_639_1_code="ss" + name="Swati" /> + <iso_639_entry + iso_639_2B_code="suk" + iso_639_2T_code="suk" + name="Sukuma" /> + <iso_639_entry + iso_639_2B_code="sun" + iso_639_2T_code="sun" + iso_639_1_code="su" + name="Sundanese" /> + <iso_639_entry + iso_639_2B_code="sus" + iso_639_2T_code="sus" + name="Susu" /> + <iso_639_entry + iso_639_2B_code="sux" + iso_639_2T_code="sux" + name="Sumerian" /> + <iso_639_entry + iso_639_2B_code="swa" + iso_639_2T_code="swa" + iso_639_1_code="sw" + name="Swahili" /> + <iso_639_entry + iso_639_2B_code="swe" + iso_639_2T_code="swe" + iso_639_1_code="sv" + name="Swedish" /> + <iso_639_entry + iso_639_2B_code="syc" + iso_639_2T_code="syc" + name="Classical Syriac" /> + <iso_639_entry + iso_639_2B_code="syr" + iso_639_2T_code="syr" + name="Syriac" /> + <iso_639_entry + iso_639_2B_code="tah" + iso_639_2T_code="tah" + iso_639_1_code="ty" + name="Tahitian" /> + <iso_639_entry + iso_639_2B_code="tai" + iso_639_2T_code="tai" + name="Tai languages" /> + <iso_639_entry + iso_639_2B_code="tam" + iso_639_2T_code="tam" + iso_639_1_code="ta" + name="Tamil" /> + <iso_639_entry + iso_639_2B_code="tat" + iso_639_2T_code="tat" + iso_639_1_code="tt" + name="Tatar" /> + <iso_639_entry + iso_639_2B_code="tel" + iso_639_2T_code="tel" + iso_639_1_code="te" + name="Telugu" /> + <iso_639_entry + iso_639_2B_code="tem" + iso_639_2T_code="tem" + name="Timne" /> + <iso_639_entry + iso_639_2B_code="ter" + iso_639_2T_code="ter" + name="Tereno" /> + <iso_639_entry + iso_639_2B_code="tet" + iso_639_2T_code="tet" + name="Tetum" /> + <iso_639_entry + iso_639_2B_code="tgk" + iso_639_2T_code="tgk" + iso_639_1_code="tg" + name="Tajik" /> + <iso_639_entry + iso_639_2B_code="tgl" + iso_639_2T_code="tgl" + iso_639_1_code="tl" + name="Tagalog" /> + <iso_639_entry + iso_639_2B_code="tha" + iso_639_2T_code="tha" + iso_639_1_code="th" + name="Thai" /> + <iso_639_entry + iso_639_2B_code="tib" + iso_639_2T_code="bod" + iso_639_1_code="bo" + name="Tibetan" /> + <iso_639_entry + iso_639_2B_code="tig" + iso_639_2T_code="tig" + name="Tigre" /> + <iso_639_entry + iso_639_2B_code="tir" + iso_639_2T_code="tir" + iso_639_1_code="ti" + name="Tigrinya" /> + <iso_639_entry + iso_639_2B_code="tiv" + iso_639_2T_code="tiv" + name="Tiv" /> + <iso_639_entry + iso_639_2B_code="tkl" + iso_639_2T_code="tkl" + name="Tokelau" /> + <iso_639_entry + iso_639_2B_code="tlh" + iso_639_2T_code="tlh" + name="Klingon; tlhIngan-Hol" /> + <iso_639_entry + iso_639_2B_code="tli" + iso_639_2T_code="tli" + name="Tlingit" /> + <iso_639_entry + iso_639_2B_code="tmh" + iso_639_2T_code="tmh" + name="Tamashek" /> + <iso_639_entry + iso_639_2B_code="tog" + iso_639_2T_code="tog" + name="Tonga (Nyasa)" /> + <iso_639_entry + iso_639_2B_code="ton" + iso_639_2T_code="ton" + iso_639_1_code="to" + name="Tonga (Tonga Islands)" /> + <iso_639_entry + iso_639_2B_code="tpi" + iso_639_2T_code="tpi" + name="Tok Pisin" /> + <iso_639_entry + iso_639_2B_code="tsi" + iso_639_2T_code="tsi" + name="Tsimshian" /> + <iso_639_entry + iso_639_2B_code="tsn" + iso_639_2T_code="tsn" + iso_639_1_code="tn" + name="Tswana" /> + <iso_639_entry + iso_639_2B_code="tso" + iso_639_2T_code="tso" + iso_639_1_code="ts" + name="Tsonga" /> + <iso_639_entry + iso_639_2B_code="tuk" + iso_639_2T_code="tuk" + iso_639_1_code="tk" + name="Turkmen" /> + <iso_639_entry + iso_639_2B_code="tum" + iso_639_2T_code="tum" + name="Tumbuka" /> + <iso_639_entry + iso_639_2B_code="tup" + iso_639_2T_code="tup" + name="Tupi languages" /> + <iso_639_entry + iso_639_2B_code="tur" + iso_639_2T_code="tur" + iso_639_1_code="tr" + name="Turkish" /> + <iso_639_entry + iso_639_2B_code="tut" + iso_639_2T_code="tut" + name="Altaic languages" /> + <iso_639_entry + iso_639_2B_code="tvl" + iso_639_2T_code="tvl" + name="Tuvalu" /> + <iso_639_entry + iso_639_2B_code="twi" + iso_639_2T_code="twi" + iso_639_1_code="tw" + name="Twi" /> + <iso_639_entry + iso_639_2B_code="tyv" + iso_639_2T_code="tyv" + name="Tuvinian" /> + <iso_639_entry + iso_639_2B_code="udm" + iso_639_2T_code="udm" + name="Udmurt" /> + <iso_639_entry + iso_639_2B_code="uga" + iso_639_2T_code="uga" + name="Ugaritic" /> + <iso_639_entry + iso_639_2B_code="uig" + iso_639_2T_code="uig" + iso_639_1_code="ug" + name="Uighur; Uyghur" /> + <iso_639_entry + iso_639_2B_code="ukr" + iso_639_2T_code="ukr" + iso_639_1_code="uk" + name="Ukrainian" /> + <iso_639_entry + iso_639_2B_code="umb" + iso_639_2T_code="umb" + name="Umbundu" /> + <iso_639_entry + iso_639_2B_code="und" + iso_639_2T_code="und" + name="Undetermined" /> + <iso_639_entry + iso_639_2B_code="urd" + iso_639_2T_code="urd" + iso_639_1_code="ur" + name="Urdu" /> + <iso_639_entry + iso_639_2B_code="uzb" + iso_639_2T_code="uzb" + iso_639_1_code="uz" + name="Uzbek" /> + <iso_639_entry + iso_639_2B_code="vai" + iso_639_2T_code="vai" + name="Vai" /> + <iso_639_entry + iso_639_2B_code="ven" + iso_639_2T_code="ven" + iso_639_1_code="ve" + name="Venda" /> + <iso_639_entry + iso_639_2B_code="vie" + iso_639_2T_code="vie" + iso_639_1_code="vi" + name="Vietnamese" /> + <iso_639_entry + iso_639_2B_code="vol" + iso_639_2T_code="vol" + iso_639_1_code="vo" + name="Volapük" /> + <iso_639_entry + iso_639_2B_code="vot" + iso_639_2T_code="vot" + name="Votic" /> + <iso_639_entry + iso_639_2B_code="wak" + iso_639_2T_code="wak" + name="Wakashan languages" /> + <iso_639_entry + iso_639_2B_code="wal" + iso_639_2T_code="wal" + name="Wolaitta; Wolaytta" /> + <iso_639_entry + iso_639_2B_code="war" + iso_639_2T_code="war" + name="Waray" /> + <iso_639_entry + iso_639_2B_code="was" + iso_639_2T_code="was" + name="Washo" /> + <iso_639_entry + iso_639_2B_code="wel" + iso_639_2T_code="cym" + iso_639_1_code="cy" + name="Welsh" /> + <iso_639_entry + iso_639_2B_code="wen" + iso_639_2T_code="wen" + name="Sorbian languages" /> + <iso_639_entry + iso_639_2B_code="wln" + iso_639_2T_code="wln" + iso_639_1_code="wa" + name="Walloon" /> + <iso_639_entry + iso_639_2B_code="wol" + iso_639_2T_code="wol" + iso_639_1_code="wo" + name="Wolof" /> + <iso_639_entry + iso_639_2B_code="xal" + iso_639_2T_code="xal" + name="Kalmyk; Oirat" /> + <iso_639_entry + iso_639_2B_code="xho" + iso_639_2T_code="xho" + iso_639_1_code="xh" + name="Xhosa" /> + <iso_639_entry + iso_639_2B_code="yao" + iso_639_2T_code="yao" + name="Yao" /> + <iso_639_entry + iso_639_2B_code="yap" + iso_639_2T_code="yap" + name="Yapese" /> + <iso_639_entry + iso_639_2B_code="yid" + iso_639_2T_code="yid" + iso_639_1_code="yi" + name="Yiddish" /> + <iso_639_entry + iso_639_2B_code="yor" + iso_639_2T_code="yor" + iso_639_1_code="yo" + name="Yoruba" /> + <iso_639_entry + iso_639_2B_code="ypk" + iso_639_2T_code="ypk" + name="Yupik languages" /> + <iso_639_entry + iso_639_2B_code="zap" + iso_639_2T_code="zap" + name="Zapotec" /> + <iso_639_entry + iso_639_2B_code="zbl" + iso_639_2T_code="zbl" + name="Blissymbols; Blissymbolics; Bliss" /> + <iso_639_entry + iso_639_2B_code="zen" + iso_639_2T_code="zen" + name="Zenaga" /> + <iso_639_entry + iso_639_2B_code="zha" + iso_639_2T_code="zha" + iso_639_1_code="za" + name="Zhuang; Chuang" /> + <iso_639_entry + iso_639_2B_code="znd" + iso_639_2T_code="znd" + name="Zande languages" /> + <iso_639_entry + iso_639_2B_code="zul" + iso_639_2T_code="zul" + iso_639_1_code="zu" + name="Zulu" /> + <iso_639_entry + iso_639_2B_code="zun" + iso_639_2T_code="zun" + name="Zuni" /> + <iso_639_entry + iso_639_2B_code="zxx" + iso_639_2T_code="zxx" + name="No linguistic content; Not applicable" /> + <iso_639_entry + iso_639_2B_code="zza" + iso_639_2T_code="zza" + name="Zaza; Dimili; Dimli; Kirdki; Kirmanjki; Zazaki" /> +</iso_639_entries> diff --git a/win32/version.c b/win32/version.c new file mode 100644 index 00000000..0201d298 --- /dev/null +++ b/win32/version.c @@ -0,0 +1,143 @@ +/* XChat-WDK + * Copyright (c) 2011 Berke Viktor. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * 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. + */ + +#include <stdio.h> +#include <stdlib.h> +#include <malloc.h> +#include "../config.h" + +char * +comma () +{ + int major, minor; + char *version_string; /* nnnn,n,n,n format */ + + version_string = (char*) malloc (11); + + if (sscanf (PACKAGE_VERSION, "%d-%d", &major, &minor) > 1) + { + sprintf (version_string, "%d,%d,0,0", major, minor); + } else + { + sprintf (version_string, "%d,0,0,0", major); + } + + return version_string; +} + +char * +point () +{ + int major1, major2, major3, major4, minor; + char *version_string; /* nn.nn.nn.nn format */ + + version_string = (char*) malloc (12); + + if (sscanf (PACKAGE_VERSION, "%c%c%c%c-%d", &major1, &major2, &major3, &major4, &minor) > 4) + { + sprintf (version_string, "%c%c.%c%c.%d.0", major1, major2, major3, major4, minor); + } else + { + sprintf (version_string, "%c%c.%c%c.0.0", major1, major2, major3, major4); + } + + return version_string; +} + +int +main (int argc, char *argv[]) +{ + if (argc > 1) + { + if (!strcmp (argv[1], "-r")) /* xchat.rc/FILEVERSION, PRODUCTVERSION */ + { + printf ("#define COMMA_VERSION %s\n", comma ()); + } + else if (!strcmp (argv[1], "-a32")) /* xchat-wdk.iss/AppVerName */ + { + printf ("AppVerName=XChat-WDK %s (x86)\n", PACKAGE_VERSION); + } + else if (!strcmp (argv[1], "-a64")) /* xchat-wdk.iss/AppVerName */ + { + printf ("AppVerName=XChat-WDK %s (x64)\n", PACKAGE_VERSION); + } + else if (!strcmp (argv[1], "-v")) /* xchat-wdk.iss/AppVersion */ + { + printf ("AppVersion=%s\n", point ()); + } + else if (!strcmp (argv[1], "-i")) /* xchat-wdk.iss/VersionInfoVersion */ + { + printf ("VersionInfoVersion=%s\n", point ()); + } + else if (!strcmp (argv[1], "-o32")) /* xchat-wdk.iss/OutputBaseFilename */ + { + printf ("OutputBaseFilename=XChat-WDK %s x86\n", PACKAGE_VERSION); + } + else if (!strcmp (argv[1], "-o64")) /* xchat-wdk.iss/OutputBaseFilename */ + { + printf ("OutputBaseFilename=XChat-WDK %s x64\n", PACKAGE_VERSION); + } + else if (!strcmp (argv[1], "-v")) /* version.txt */ + { + printf ("%s", PACKAGE_VERSION); + } else + { + printf ("usage:\n\t-a\txchat-wdk.iss/AppVerName\n\t-i\txchat-wdk.iss/VersionInfoVersion\n\t-o\txchat-wdk.iss/OutputBaseFilename\n\t-r\txchat.rc/FILEVERSION, PRODUCTVERSION\n\t-v\txchat-wdk.iss/AppVersion\n"); + } + } else + { + printf ("usage:\n\t-a\txchat-wdk.iss/AppVerName\n\t-i\txchat-wdk.iss/VersionInfoVersion\n\t-o\txchat-wdk.iss/OutputBaseFilename\n\t-r\txchat.rc/FILEVERSION, PRODUCTVERSION\n\t-v\txchat-wdk.iss/AppVersion\n"); + } + +#if 0 /* ugly hack */ + switch ((int) argv[1][0]) + { + case 'r': /* xchat.rc/FILEVERSION, PRODUCTVERSION*/ + printf ("#define COMMA_VERSION \"%s\"\n", comma ()); + break; + case 'a': /* xchat-wdk.iss/AppVerName */ + printf ("AppVerName=XChat-WDK %s\n", PACKAGE_VERSION); + break; + case 'v': /* xchat-wdk.iss/AppVersion */ + printf ("AppVersion=%s\n", point ()); + break; + case 'i': /* xchat-wdk.iss/VersionInfoVersion */ + printf ("VersionInfoVersion=%s\n", point ()); + break; + case 'o': /* xchat-wdk.iss/OutputBaseFilename */ + printf ("OutputBaseFilename=XChat-WDK %s\n", PACKAGE_VERSION); + break; + case 'u': /* version.txt */ + printf ("%s", PACKAGE_VERSION); + break; + default: + printf ("use a, i, o, r or v.\n"); + break; + } +#endif + + return 0; +} diff --git a/win32/xchat-wdk-spell.skel.iss b/win32/xchat-wdk-spell.skel.iss new file mode 100644 index 00000000..6d1b26b6 --- /dev/null +++ b/win32/xchat-wdk-spell.skel.iss @@ -0,0 +1,39 @@ +AppName=XChat-WDK Spelling Dictionaries +AppVerName=XChat-WDK Spelling Dictionaries r1 +AppVersion=1.0 +VersionInfoVersion=1.0 +OutputBaseFilename=XChat-WDK Spelling Dictionaries r1 +AppPublisher=XChat-WDK +AppPublisherURL=http://code.google.com/p/xchat-wdk/ +AppCopyright=Copyright (C) 1998-2010 Peter Zelezny +AppSupportURL=http://code.google.com/p/xchat-wdk/issues/list +AppUpdatesURL=http://code.google.com/p/xchat-wdk/wiki/InfoXChat +LicenseFile=COPYING +UninstallDisplayIcon={app}\xchat.exe +UninstallDisplayName=XChat-WDK Spelling Dictionaries +DefaultDirName={pf}\XChat-WDK +DefaultGroupName=XChat-WDK +DisableProgramGroupPage=yes +SolidCompression=yes +SourceDir=..\tmp-spell +OutputDir=..\build +FlatComponentsList=no +PrivilegesRequired=none +ShowComponentSizes=no +CreateUninstallRegKey=not IsTaskSelected('portable') +Uninstallable=not IsTaskSelected('portable') +DirExistsWarning=no +ArchitecturesAllowed=x86 x64 +ArchitecturesInstallIn64BitMode=x64 + +[Tasks] +Name: portable; Description: "Yes"; GroupDescription: "Portable Install (no Registry entries, no Start Menu icons, no uninstaller):"; Flags: unchecked + +[Files] +Source: "share\myspell\*"; DestDir: "{app}\share\myspell"; Flags: createallsubdirs recursesubdirs + +[Icons] +Name: "{group}\Uninstall Spelling Dictionaries"; Filename: "{uninstallexe}"; Tasks: not portable + +[Messages] +BeveledLabel= XChat-WDK diff --git a/win32/xchat-wdk-x64.skel.iss b/win32/xchat-wdk-x64.skel.iss new file mode 100644 index 00000000..1caf8198 --- /dev/null +++ b/win32/xchat-wdk-x64.skel.iss @@ -0,0 +1,279 @@ +AppName=XChat-WDK (x64) +AppPublisher=XChat-WDK +AppPublisherURL=http://www.xchat-wdk.org/ +AppCopyright=Copyright (C) 1998-2010 Peter Zelezny +AppSupportURL=http://code.google.com/p/xchat-wdk/issues/list +AppUpdatesURL=http://www.xchat-wdk.org/home/downloads +LicenseFile=COPYING +UninstallDisplayIcon={app}\xchat.exe +UninstallDisplayName=XChat-WDK (x64) +DefaultDirName={pf}\XChat-WDK +DefaultGroupName=XChat-WDK +DisableProgramGroupPage=yes +SolidCompression=yes +SourceDir=dist-x64 +OutputDir=..\ +FlatComponentsList=no +PrivilegesRequired=none +ShowComponentSizes=no +CreateUninstallRegKey=not IsTaskSelected('portable') +Uninstallable=not IsTaskSelected('portable') +ArchitecturesAllowed=x64 +ArchitecturesInstallIn64BitMode=x64 + +[Types] +Name: "normal"; Description: "Normal Installation" +Name: "full"; Description: "Full Installation" +Name: "minimal"; Description: "Minimal Installation" +Name: "custom"; Description: "Custom Installation"; Flags: iscustom + +[Components] +Name: "libs"; Description: "XChat-WDK"; Types: normal full minimal custom; Flags: fixed +Name: "xctext"; Description: "XChat-Text"; Types: full custom; Flags: disablenouninstallwarning +Name: "translations"; Description: "Translations"; Types: normal full custom; Flags: disablenouninstallwarning +;obs Name: "gtkengines"; Description: "GTK+ Engines"; Types: full custom; Flags: disablenouninstallwarning +;Name: "spelling"; Description: "Spelling Dictionaries"; Types: full custom; Flags: disablenouninstallwarning +Name: "plugins"; Description: "Plugins"; Types: full custom; Flags: disablenouninstallwarning +Name: "plugins\checksum"; Description: "Checksum"; Types: full custom; Flags: disablenouninstallwarning +Name: "plugins\dns"; Description: "DNS"; Types: full custom; Flags: disablenouninstallwarning +Name: "plugins\doat"; Description: "Do At"; Types: full custom; Flags: disablenouninstallwarning +Name: "plugins\exec"; Description: "Exec"; Types: full custom; Flags: disablenouninstallwarning +Name: "plugins\fishlim"; Description: "FiSHLiM"; Types: full custom; Flags: disablenouninstallwarning +Name: "plugins\mpcinfo"; Description: "mpcInfo"; Types: full custom; Flags: disablenouninstallwarning +;Name: "plugins\nonbmp"; Description: "Non-BMP"; Types: normal full custom; Flags: disablenouninstallwarning +Name: "plugins\upd"; Description: "Update Checker"; Types: normal full custom; Flags: disablenouninstallwarning +Name: "plugins\winamp"; Description: "Winamp"; Types: full custom; Flags: disablenouninstallwarning +Name: "plugins\winsys"; Description: "WinSys"; Types: full custom; Flags: disablenouninstallwarning +Name: "plugins\wmpa"; Description: "Windows Media Player Announcer"; Types: full custom; Flags: disablenouninstallwarning +Name: "plugins\xsasl"; Description: "X-SASL"; Types: full custom; Flags: disablenouninstallwarning +Name: "plugins\xtray"; Description: "X-Tray"; Types: full custom; Flags: disablenouninstallwarning +Name: "langs"; Description: "Language Interfaces"; Types: full custom; Flags: disablenouninstallwarning +Name: "langs\lua"; Description: "Lua"; Types: full custom; Flags: disablenouninstallwarning +Name: "langs\lua\luawdk"; Description: "Lua-WDK"; Types: full custom; Flags: disablenouninstallwarning +Name: "langs\perl"; Description: "Perl"; Types: full custom; Flags: disablenouninstallwarning +Name: "langs\python"; Description: "Python"; Types: full custom; Flags: disablenouninstallwarning +Name: "langs\tcl"; Description: "Tcl"; Types: full custom; Flags: disablenouninstallwarning + +[Tasks] +Name: portable; Description: "Yes"; GroupDescription: "Portable Install (no Registry entries, no Start Menu icons, no uninstaller):"; Flags: unchecked + +Name: perl512; Description: "5.12"; GroupDescription: "Perl version:"; Flags: exclusive; Components: langs\perl +Name: perl514; Description: "5.14"; GroupDescription: "Perl version:"; Flags: exclusive unchecked; Components: langs\perl + +[Registry] +Root: HKCR; Subkey: "irc"; ValueType: none; ValueName: ""; ValueData: ""; Flags: deletekey uninsdeletekey; Tasks: not portable +Root: HKCR; Subkey: "irc"; ValueType: string; ValueName: ""; ValueData: "URL:IRC Protocol"; Flags: uninsdeletevalue; Tasks: not portable +Root: HKCR; Subkey: "irc"; ValueType: string; ValueName: "URL Protocol"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable +Root: HKCR; Subkey: "irc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\xchat.exe,0"; Flags: uninsdeletevalue; Tasks: not portable +Root: HKCR; Subkey: "irc\shell"; ValueType: string; ValueName: ""; ValueData: "open"; Flags: uninsdeletevalue; Tasks: not portable +Root: HKCR; Subkey: "irc\shell\open\command"; ValueType: string; ValueName: ""; ValueData: "{app}\xchat.exe --url=""%1"""; Flags: uninsdeletevalue; Tasks: not portable + +[Run] +Filename: "{app}\xchat.exe"; Description: "Run XChat-WDK after closing the Wizard"; Flags: nowait postinstall skipifsilent + +[Files] +; Add the ISSkin DLL used for skinning Inno Setup installations. +Source: ISSkinU.dll; DestDir: {app}; Flags: dontcopy + +; Add the Visual Style resource contains resources used for skinning, +; you can also use Microsoft Visual Styles (*.msstyles) resources. +Source: watercolorlite-blue.cjstyles; DestDir: {tmp}; Flags: dontcopy + +Source: "portable-mode"; DestDir: "{app}"; Tasks: portable + +Source: "cert.pem"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "COPYING"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "LICENSE.OPENSSL"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "LICENSE.ZLIB"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "LICENSE.GTK"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "LICENSE.CAIRO"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "LICENSE.LUA"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "LICENSE.ENCHANT"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "LICENSE.LIBXML"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "etc\gtk-2.0\gtkrc"; DestDir: "{app}\etc\gtk-2.0"; Flags: ignoreversion; Components: libs +;Source: "etc\gtk-2.0\gtkrc"; DestDir: "{app}\etc\gtk-2.0"; Flags: ignoreversion; Components: libs and not gtkengines +Source: "share\xml\*"; DestDir: "{app}\share\xml"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: libs +Source: "locale\*"; DestDir: "{app}\locale"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: translations +Source: "share\locale\*"; DestDir: "{app}\share\locale"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: translations +;Source: "share\myspell\*"; DestDir: "{app}\share\myspell"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: spelling + +Source: "libatk-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libcairo-2.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libeay32.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libexpat-1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +;obs Source: "libffi-5.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libfreetype-6.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libfontconfig-1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libgdk_pixbuf-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libgdk-win32-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libgio-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libglib-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libgmodule-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libgobject-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libgthread-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libgtk-win32-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libintl-8.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +;obs Source: "libjasper-1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +;obs Source: "libjpeg-8.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libpango-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libpangocairo-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libpangoft2-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libpangowin32-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +;obs Source: "libpixman-1-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +;obs Source: "libtiff-3.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libpng14-14.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +;obs Source: "libpng15-15.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "lua51.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "ssleay32.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "zlib1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libxml2.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +;obs Source: "libxml2-2.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libenchant.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs + +Source: "lib\enchant\libenchant_myspell.dll"; DestDir: "{app}\lib\enchant"; Flags: ignoreversion; Components: libs + +Source: "lib\gtk-2.0\2.10.0\engines\libpixmap.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: libs +Source: "lib\gtk-2.0\2.10.0\engines\libwimp.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: libs +Source: "lib\gtk-2.0\modules\libgail.dll"; DestDir: "{app}\lib\gtk-2.0\modules"; Flags: ignoreversion; Components: libs + +;obs Source: "etc\gtkpref.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: gtkengines +;obs Source: "lib\gtk-2.0\2.10.0\engines\libclearlooks.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines +;obs Source: "lib\gtk-2.0\2.10.0\engines\libcrux-engine.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines +;obs Source: "lib\gtk-2.0\2.10.0\engines\libglide.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines +;obs Source: "lib\gtk-2.0\2.10.0\engines\libhcengine.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines +;obs Source: "lib\gtk-2.0\2.10.0\engines\libindustrial.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines +;obs Source: "lib\gtk-2.0\2.10.0\engines\libmist.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines +;obs Source: "lib\gtk-2.0\2.10.0\engines\libmurrine.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines +;obs Source: "lib\gtk-2.0\2.10.0\engines\libredmond95.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines +;obs Source: "lib\gtk-2.0\2.10.0\engines\libthinice.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines +;obs Source: "plugins\xcgtkpref.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: gtkengines +;obs Source: "share\themes\*"; DestDir: "{app}\share\themes"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: gtkengines +;obs Source: "gtk2-prefs.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: gtkengines + +Source: "plugins\xcchecksum.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\checksum +Source: "plugins\xcdns.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\dns +Source: "plugins\xcdoat.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\doat +Source: "plugins\xcexec.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\exec +Source: "plugins\xcfishlim.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\fishlim +Source: "etc\music.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: plugins\winamp or plugins\mpcinfo +Source: "plugins\xcmpcinfo.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\mpcinfo +;Source: "plugins\xcnonbmp.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\nonbmp +Source: "etc\download.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: plugins\upd +Source: "plugins\xcupd.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\upd +Source: "plugins\xcwinamp.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\winamp +Source: "etc\system.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: plugins\winsys +Source: "plugins\xcwinsys.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\winsys +Source: "plugins\xcxsasl.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\xsasl +Source: "plugins\xtray.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\xtray +Source: "plugins\xcwmpa.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\wmpa + +Source: "plugins\xclua.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: langs\lua +Source: "plugins\xcpython.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: langs\python +Source: "plugins\xctcl.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: langs\tcl + +Source: "plugins\xcperl-512.dll"; DestDir: "{app}\plugins"; DestName: "xcperl.dll"; Flags: ignoreversion; Components: langs\perl; Tasks: perl512 +Source: "plugins\xcperl-514.dll"; DestDir: "{app}\plugins"; DestName: "xcperl.dll"; Flags: ignoreversion; Components: langs\perl; Tasks: perl514 + +Source: "xchat.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "xchat-text.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: xctext + +[Icons] +Name: "{group}\XChat-WDK (x64)"; Filename: "{app}\xchat.exe"; Tasks: not portable +Name: "{group}\XChat-Text (x64)"; Filename: "{app}\xchat-text.exe"; Components: xctext; Tasks: not portable +Name: "{group}\Uninstall XChat-WDK (x64)"; Filename: "{uninstallexe}"; Tasks: not portable + +[Messages] +BeveledLabel= XChat-WDK + +[Code] +///////////////////////////////////////////////////////////////////// +// these are required for x86->x64 or reverse upgrades +///////////////////////////////////////////////////////////////////// +function GetUninstallString(): String; +var + sUnInstPath: String; + sUnInstallString: String; +begin + sUnInstPath := ExpandConstant('Software\Microsoft\Windows\CurrentVersion\Uninstall\XChat-WDK (x64)_is1'); + sUnInstallString := ''; + if not RegQueryStringValue(HKLM, sUnInstPath, 'UninstallString', sUnInstallString) then + RegQueryStringValue(HKCU, sUnInstPath, 'UninstallString', sUnInstallString); + Result := sUnInstallString; +end; + + +///////////////////////////////////////////////////////////////////// +function IsUpgrade(): Boolean; +begin + Result := (GetUninstallString() <> ''); +end; + + +///////////////////////////////////////////////////////////////////// +function UnInstallOldVersion(): Integer; +var + sUnInstallString: String; + iResultCode: Integer; +begin +// Return Values: +// 1 - uninstall string is empty +// 2 - error executing the UnInstallString +// 3 - successfully executed the UnInstallString + + // default return value + Result := 0; + + // get the uninstall string of the old app + sUnInstallString := GetUninstallString(); + if sUnInstallString <> '' then begin + sUnInstallString := RemoveQuotes(sUnInstallString); + if Exec(sUnInstallString, '/SILENT /NORESTART /SUPPRESSMSGBOXES','', SW_HIDE, ewWaitUntilTerminated, iResultCode) then + Result := 3 + else + Result := 2; + end else + Result := 1; +end; + +///////////////////////////////////////////////////////////////////// +procedure CurStepChanged(CurStep: TSetupStep); +begin + if not (IsTaskSelected('portable')) then + begin + if (CurStep=ssInstall) then + begin + if (IsUpgrade()) then + begin + UnInstallOldVersion(); + end; + end; + end; +end; + +///////////////////////////////////////////////////////////////////// +// Importing LoadSkin API from ISSkin.DLL +procedure LoadSkin(lpszPath: String; lpszIniFileName: String); +external 'LoadSkin@files:isskinu.dll stdcall'; + +// Importing UnloadSkin API from ISSkin.DLL +procedure UnloadSkin(); +external 'UnloadSkin@files:isskinu.dll stdcall'; + +// Importing ShowWindow Windows API from User32.DLL +function ShowWindow(hWnd: Integer; uType: Integer): Integer; +external 'ShowWindow@user32.dll stdcall'; + +function InitializeSetup(): Boolean; +begin + ExtractTemporaryFile('watercolorlite-blue.cjstyles'); + LoadSkin(ExpandConstant('{tmp}\watercolorlite-blue.cjstyles'), ''); + Result := True; +end; + +procedure DeinitializeSetup(); +begin + // Hide Window before unloading skin so user does not get + // a glimpse of an unskinned window before it is closed. + ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), 0); + UnloadSkin(); +end; diff --git a/win32/xchat-wdk-x86.skel.iss b/win32/xchat-wdk-x86.skel.iss new file mode 100644 index 00000000..a53e7cfd --- /dev/null +++ b/win32/xchat-wdk-x86.skel.iss @@ -0,0 +1,280 @@ +AppName=XChat-WDK (x86) +AppPublisher=XChat-WDK +AppPublisherURL=http://www.xchat-wdk.org/ +AppCopyright=Copyright (C) 1998-2010 Peter Zelezny +AppSupportURL=http://code.google.com/p/xchat-wdk/issues/list +AppUpdatesURL=http://www.xchat-wdk.org/home/downloads +LicenseFile=COPYING +UninstallDisplayIcon={app}\xchat.exe +UninstallDisplayName=XChat-WDK (x86) +DefaultDirName={pf}\XChat-WDK +DefaultGroupName=XChat-WDK +DisableProgramGroupPage=yes +SolidCompression=yes +SourceDir=dist-x86 +OutputDir=..\ +FlatComponentsList=no +PrivilegesRequired=none +ShowComponentSizes=no +CreateUninstallRegKey=not IsTaskSelected('portable') +Uninstallable=not IsTaskSelected('portable') +ArchitecturesAllowed=x86 x64 + +[Types] +Name: "normal"; Description: "Normal Installation" +Name: "full"; Description: "Full Installation" +Name: "minimal"; Description: "Minimal Installation" +Name: "custom"; Description: "Custom Installation"; Flags: iscustom + +[Components] +Name: "libs"; Description: "XChat-WDK"; Types: normal full minimal custom; Flags: fixed +Name: "xctext"; Description: "XChat-Text"; Types: full custom; Flags: disablenouninstallwarning +Name: "translations"; Description: "Translations"; Types: normal full custom; Flags: disablenouninstallwarning +;obs Name: "gtkengines"; Description: "GTK+ Engines"; Types: full custom; Flags: disablenouninstallwarning +;Name: "spelling"; Description: "Spelling Dictionaries"; Types: full custom; Flags: disablenouninstallwarning +Name: "plugins"; Description: "Plugins"; Types: full custom; Flags: disablenouninstallwarning +Name: "plugins\checksum"; Description: "Checksum"; Types: full custom; Flags: disablenouninstallwarning +Name: "plugins\dns"; Description: "DNS"; Types: full custom; Flags: disablenouninstallwarning +Name: "plugins\doat"; Description: "Do At"; Types: full custom; Flags: disablenouninstallwarning +Name: "plugins\exec"; Description: "Exec"; Types: full custom; Flags: disablenouninstallwarning +Name: "plugins\fishlim"; Description: "FiSHLiM"; Types: full custom; Flags: disablenouninstallwarning +Name: "plugins\mpcinfo"; Description: "mpcInfo"; Types: full custom; Flags: disablenouninstallwarning +;Name: "plugins\nonbmp"; Description: "Non-BMP"; Types: normal full custom; Flags: disablenouninstallwarning +Name: "plugins\upd"; Description: "Update Checker"; Types: normal full custom; Flags: disablenouninstallwarning +Name: "plugins\winamp"; Description: "Winamp"; Types: full custom; Flags: disablenouninstallwarning +Name: "plugins\winsys"; Description: "WinSys"; Types: full custom; Flags: disablenouninstallwarning +Name: "plugins\wmpa"; Description: "Windows Media Player Announcer"; Types: full custom; Flags: disablenouninstallwarning +Name: "plugins\xsasl"; Description: "X-SASL"; Types: full custom; Flags: disablenouninstallwarning +Name: "plugins\xtray"; Description: "X-Tray"; Types: full custom; Flags: disablenouninstallwarning +Name: "langs"; Description: "Language Interfaces"; Types: full custom; Flags: disablenouninstallwarning +Name: "langs\lua"; Description: "Lua"; Types: full custom; Flags: disablenouninstallwarning +Name: "langs\lua\luawdk"; Description: "Lua-WDK"; Types: full custom; Flags: disablenouninstallwarning +Name: "langs\perl"; Description: "Perl"; Types: full custom; Flags: disablenouninstallwarning +Name: "langs\python"; Description: "Python"; Types: full custom; Flags: disablenouninstallwarning +Name: "langs\tcl"; Description: "Tcl"; Types: full custom; Flags: disablenouninstallwarning + +[Tasks] +Name: portable; Description: "Yes"; GroupDescription: "Portable Install (no Registry entries, no Start Menu icons, no uninstaller):"; Flags: unchecked + +Name: perl512; Description: "5.12"; GroupDescription: "Perl version:"; Flags: exclusive; Components: langs\perl +Name: perl514; Description: "5.14"; GroupDescription: "Perl version:"; Flags: exclusive unchecked; Components: langs\perl + +[Registry] +Root: HKCR; Subkey: "irc"; ValueType: none; ValueName: ""; ValueData: ""; Flags: deletekey uninsdeletekey; Tasks: not portable +Root: HKCR; Subkey: "irc"; ValueType: string; ValueName: ""; ValueData: "URL:IRC Protocol"; Flags: uninsdeletevalue; Tasks: not portable +Root: HKCR; Subkey: "irc"; ValueType: string; ValueName: "URL Protocol"; ValueData: ""; Flags: uninsdeletevalue; Tasks: not portable +Root: HKCR; Subkey: "irc\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\xchat.exe,0"; Flags: uninsdeletevalue; Tasks: not portable +Root: HKCR; Subkey: "irc\shell"; ValueType: string; ValueName: ""; ValueData: "open"; Flags: uninsdeletevalue; Tasks: not portable +Root: HKCR; Subkey: "irc\shell\open\command"; ValueType: string; ValueName: ""; ValueData: "{app}\xchat.exe --url=""%1"""; Flags: uninsdeletevalue; Tasks: not portable + +[Run] +Filename: "{app}\xchat.exe"; Description: "Run XChat-WDK after closing the Wizard"; Flags: nowait postinstall skipifsilent + +[Files] +; Add the ISSkin DLL used for skinning Inno Setup installations. +Source: ISSkinU.dll; DestDir: {app}; Flags: dontcopy + +; Add the Visual Style resource contains resources used for skinning, +; you can also use Microsoft Visual Styles (*.msstyles) resources. +Source: watercolorlite-green.cjstyles; DestDir: {tmp}; Flags: dontcopy + +Source: "portable-mode"; DestDir: "{app}"; Tasks: portable + +Source: "cert.pem"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "COPYING"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "LICENSE.OPENSSL"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "LICENSE.ZLIB"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "LICENSE.GTK"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "LICENSE.CAIRO"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "LICENSE.LUA"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "LICENSE.ENCHANT"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "LICENSE.LIBXML"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "etc\gtk-2.0\gtkrc"; DestDir: "{app}\etc\gtk-2.0"; Flags: ignoreversion; Components: libs +;Source: "etc\gtk-2.0\gtkrc"; DestDir: "{app}\etc\gtk-2.0"; Flags: ignoreversion; Components: libs and not gtkengines +Source: "share\xml\*"; DestDir: "{app}\share\xml"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: libs +Source: "locale\*"; DestDir: "{app}\locale"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: translations +Source: "share\locale\*"; DestDir: "{app}\share\locale"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: translations +;Source: "share\myspell\*"; DestDir: "{app}\share\myspell"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: spelling + +Source: "libatk-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libcairo-2.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libeay32.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libexpat-1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +;obs Source: "libffi-5.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "freetype6.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +;obs Source: "libfreetype-6.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libfontconfig-1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libgdk_pixbuf-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libgdk-win32-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libgio-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libglib-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libgmodule-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libgobject-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libgthread-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libgtk-win32-2.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "intl.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +;obs Source: "libintl-8.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +;obs Source: "libjasper-1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +;obs Source: "libjpeg-8.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libpango-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libpangocairo-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libpangoft2-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libpangowin32-1.0-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +;obs Source: "libpixman-1-0.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +;obs Source: "libtiff-3.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libpng14-14.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +;obs Source: "libpng15-15.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "lua51.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "ssleay32.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "zlib1.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libxml2.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +;obs Source: "libxml2-2.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "libenchant.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: libs + +Source: "lib\enchant\libenchant_myspell.dll"; DestDir: "{app}\lib\enchant"; Flags: ignoreversion; Components: libs + +Source: "lib\gtk-2.0\2.10.0\engines\libpixmap.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: libs +Source: "lib\gtk-2.0\2.10.0\engines\libwimp.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: libs +Source: "lib\gtk-2.0\modules\libgail.dll"; DestDir: "{app}\lib\gtk-2.0\modules"; Flags: ignoreversion; Components: libs + +;obs Source: "etc\gtkpref.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: gtkengines +;obs Source: "lib\gtk-2.0\2.10.0\engines\libclearlooks.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines +;obs Source: "lib\gtk-2.0\2.10.0\engines\libcrux-engine.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines +;obs Source: "lib\gtk-2.0\2.10.0\engines\libglide.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines +;obs Source: "lib\gtk-2.0\2.10.0\engines\libhcengine.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines +;obs Source: "lib\gtk-2.0\2.10.0\engines\libindustrial.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines +;obs Source: "lib\gtk-2.0\2.10.0\engines\libmist.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines +;obs Source: "lib\gtk-2.0\2.10.0\engines\libmurrine.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines +;obs Source: "lib\gtk-2.0\2.10.0\engines\libredmond95.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines +;obs Source: "lib\gtk-2.0\2.10.0\engines\libthinice.dll"; DestDir: "{app}\lib\gtk-2.0\2.10.0\engines"; Flags: ignoreversion; Components: gtkengines +;obs Source: "plugins\xcgtkpref.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: gtkengines +;obs Source: "share\themes\*"; DestDir: "{app}\share\themes"; Flags: ignoreversion createallsubdirs recursesubdirs; Components: gtkengines +;obs Source: "gtk2-prefs.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: gtkengines + +Source: "plugins\xcchecksum.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\checksum +Source: "plugins\xcdns.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\dns +Source: "plugins\xcdoat.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\doat +Source: "plugins\xcexec.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\exec +Source: "plugins\xcfishlim.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\fishlim +Source: "etc\music.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: plugins\winamp or plugins\mpcinfo +Source: "plugins\xcmpcinfo.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\mpcinfo +;Source: "plugins\xcnonbmp.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\nonbmp +Source: "etc\download.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: plugins\upd +Source: "plugins\xcupd.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\upd +Source: "plugins\xcwinamp.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\winamp +Source: "etc\system.png"; DestDir: "{app}\etc"; Flags: ignoreversion; Components: plugins\winsys +Source: "plugins\xcwinsys.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\winsys +Source: "plugins\xcxsasl.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\xsasl +Source: "plugins\xtray.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\xtray +Source: "plugins\xcwmpa.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: plugins\wmpa + +Source: "plugins\xclua.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: langs\lua +Source: "plugins\xcpython.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: langs\python +Source: "plugins\xctcl.dll"; DestDir: "{app}\plugins"; Flags: ignoreversion; Components: langs\tcl + +Source: "plugins\xcperl-512.dll"; DestDir: "{app}\plugins"; DestName: "xcperl.dll"; Flags: ignoreversion; Components: langs\perl; Tasks: perl512 +Source: "plugins\xcperl-514.dll"; DestDir: "{app}\plugins"; DestName: "xcperl.dll"; Flags: ignoreversion; Components: langs\perl; Tasks: perl514 + +Source: "xchat.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: libs +Source: "xchat-text.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: xctext + +[Icons] +Name: "{group}\XChat-WDK (x86)"; Filename: "{app}\xchat.exe"; Tasks: not portable +Name: "{group}\XChat-Text (x86)"; Filename: "{app}\xchat-text.exe"; Components: xctext; Tasks: not portable +Name: "{group}\Uninstall XChat-WDK (x86)"; Filename: "{uninstallexe}"; Tasks: not portable + +[Messages] +BeveledLabel= XChat-WDK + +[Code] +///////////////////////////////////////////////////////////////////// +// these are required for x86->x64 or reverse upgrades +///////////////////////////////////////////////////////////////////// +function GetUninstallString(): String; +var + sUnInstPath: String; + sUnInstallString: String; +begin + sUnInstPath := ExpandConstant('Software\Microsoft\Windows\CurrentVersion\Uninstall\XChat-WDK (x86)_is1'); + sUnInstallString := ''; + if not RegQueryStringValue(HKLM, sUnInstPath, 'UninstallString', sUnInstallString) then + RegQueryStringValue(HKCU, sUnInstPath, 'UninstallString', sUnInstallString); + Result := sUnInstallString; +end; + + +///////////////////////////////////////////////////////////////////// +function IsUpgrade(): Boolean; +begin + Result := (GetUninstallString() <> ''); +end; + + +///////////////////////////////////////////////////////////////////// +function UnInstallOldVersion(): Integer; +var + sUnInstallString: String; + iResultCode: Integer; +begin +// Return Values: +// 1 - uninstall string is empty +// 2 - error executing the UnInstallString +// 3 - successfully executed the UnInstallString + + // default return value + Result := 0; + + // get the uninstall string of the old app + sUnInstallString := GetUninstallString(); + if sUnInstallString <> '' then begin + sUnInstallString := RemoveQuotes(sUnInstallString); + if Exec(sUnInstallString, '/SILENT /NORESTART /SUPPRESSMSGBOXES','', SW_HIDE, ewWaitUntilTerminated, iResultCode) then + Result := 3 + else + Result := 2; + end else + Result := 1; +end; + +///////////////////////////////////////////////////////////////////// +procedure CurStepChanged(CurStep: TSetupStep); +begin + if not (IsTaskSelected('portable')) then + begin + if (CurStep=ssInstall) then + begin + if (IsUpgrade()) then + begin + UnInstallOldVersion(); + end; + end; + end; +end; + +///////////////////////////////////////////////////////////////////// +// Importing LoadSkin API from ISSkin.DLL +procedure LoadSkin(lpszPath: String; lpszIniFileName: String); +external 'LoadSkin@files:isskinu.dll stdcall'; + +// Importing UnloadSkin API from ISSkin.DLL +procedure UnloadSkin(); +external 'UnloadSkin@files:isskinu.dll stdcall'; + +// Importing ShowWindow Windows API from User32.DLL +function ShowWindow(hWnd: Integer; uType: Integer): Integer; +external 'ShowWindow@user32.dll stdcall'; + +function InitializeSetup(): Boolean; +begin + ExtractTemporaryFile('watercolorlite-green.cjstyles'); + LoadSkin(ExpandConstant('{tmp}\watercolorlite-green.cjstyles'), ''); + Result := True; +end; + +procedure DeinitializeSetup(); +begin + // Hide Window before unloading skin so user does not get + // a glimpse of an unskinned window before it is closed. + ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), 0); + UnloadSkin(); +end; |