PKI Tutorials

August 3, 2011

PKI Tutorials

About This Book

Introduction of PKI (Public Key Infrastructure)

What Is PKI (Public Key Infrastructure)?

Usage Examples of Public Key Infrastructure

Most Popular Certificate Authorities

Introduction of HTTPS (Hypertext Transfer Protocol Secure)

What Is HTTPS (Hypertext Transfer Protocol Secure)?

HTTPS Server Authentication Process

HTTPS Communication Data Encryption

Using HTTPS with IE (Internet Explorer) 8

Visiting “https” Web Site with IE 8

Viewing Server Certificate Details in IE 8

Viewing Server Certificate Path in IE 8

Installing Server Certificate Permanently in IE 8

Viewing Certificates in Certificate Stores in IE 8

Listing of Trusted Root CA in IE 8

Exporting Certificate to File from IE 8

Saving Server Certificate to File with IE 8

Deleting Certificates from IE 8

IE 8 Supporting Multiple Certificate Paths

IE 8 Reinstalling Root Certificates Automatically

Windows XP Component “Update Root Certificates”

Windows XP Component – Removing “Update Root Certificates”

IE 8 Displaying Certificate Error Page

IE 8 Displaying Certificate Error Icon

Viewing Certificate Path Validation Error in IE 8

Importing Root Certificate from a File to IE 8

Using HTTPS with Firefox 3

Visiting “https” Web Site with Firefox 3

Viewing Server Certificate Details in Firefox 3

Viewing Server Certificate Path in Firefox 3

Exporting Server Certificate to File in Firefox 3

Viewing Pre-Installed Certificates in Firefox 3

Listing of Trusted Root CA in Firefox 3

Exporting Certificate to File from Firefox 3

Deleting Root CA Certificates from Firefox 3

Firefox 3 Displaying Certificate Error Page

Adding Security Exception in Firefox 3

Failing to Import Root CA Certificates to Firefox 3

Certificate Trust Settings in Firefox 3

Perl Scripts Communicating with HTTPS Servers

Installing Crypt::SSLeay 0.57 on Windows

Crypt::SSLeay Test Perl Script

HTTPS Request and Response Example

Asking Crypt::SSLeay to Verify Server’s Certificate

Crypt::SSLeay Failing to Verify Server’s Certificate

Multiple CA Certificates in a Single File

PHP Scripts Communicating with HTTPS Servers

Configuring PHP OpenSSL on Windows

Testing OpenSSL with file_get_contents()

OpenSSL Configuration Errors

SSL Context Options for OpenSSL

Asking OpenSSL to Verify Server’s Certificate

OpenSSL Failing to Verify Server’s Certificate

Multiple CA Certificates in a Single File

Testing OpenSSL with fopen()

Java Programs Communicating with HTTPS Servers

Java Secure Socket Extension (JSSE)

Using openStream() Method in java.net.URL Class

javax.net.ssl.trustStore System Property

Default Trusted KeyStore File – cacerts

PKIX Path Building Failed – No CA Certificate

Using openConnection() Method in java.net.URL Class

Certificate Stores and Certificate Console

Microsoft Management Console (MMC)

Creating Certificates Console as a MMC Snap-In

Exporting a List of Root CA Certificates

Viewing Certificate Properties and Purposes

Exporting a Root CA Certificate to a File

Deleting a Root CA Certificate

Importing a Root CA Certificate from a File

Dispabling a Root CA Certificate

.NET Programs Communicating with HTTPS Servers

System.Net.Request Class for HTTPS

Test with CA Certificate Disabled

Test with Second CA Certificate Disabled

.NET Program Failed with CA Certificates Deleted

.NET Reporting Certificate Validation Failed

CAcert.org – Root CA Offering Free Certificates

About CAcert.org

Join CAcert.org as a Member

Installing CAcert.org Root CA in Firefox 3

Installig CAcert.org Root CA in IE 8

Adding and Validating Domain Names

Generating Certificate Signing Request (CSR)

Getting Server Certificate Signed by CAcert.org

PKI CA Administration – Issuing Certificates

Root CA and Intermediate CA

Requesting and Signing Personal Certificate

Generating a Private-Public Key Pair for Amy

Generating a CSR (Certificate Signing Request)

Verifying Requester’s Email Address

Exporting a Private Key from a KeyStore File

Signing a CSR into a Certificate

Importing Certificate Reply Back to KeyStore

“bad decrypt:./crypto/evp/evp_enc.c:461″ Error

Requesting and Signing Server Certificate

Digital Signature – Microsoft Word 2007

What Is Digital Signature?

PKI Digital Signature

Applying Digital Signatures with MS Word 2007

Creating a Digital ID and Sign Word Documents

View Digital Signatures in Word Documents

Viewing Digital ID Created by MS Word

Obtaining a Trial Digital ID from ARX CoSign

Viewing Digital ID Obtained from ARX CoSign

Digital Signature – OpenOffice.org 3

OpenOffice.org 3 – Applying Digital Signatures

Converting KeyStore Files to PKCS12 Files

Importing Private-Public Key Pair with Internet Options

Viewing a Certificate with a Private Key

Importing CA Certificates into the Trusted Store

Signing OpenOffice.org 3 Document Failed

Generating CSR for a Personal Certificate

Getting Personal Certificate Signed by CAcert.org

Storing Personal Certificate with Its Keys

Installing Personal Certificate with Internet Options

Signing OpenOffice.org 3 Document Worked

S/MIME and Email Security

What Is S/MIME?

Digital Signature Scheme for Email Messages

A Simple Email Message Example

Email Messages with Attachments using MIME

Email Messages with Digital Signatures using S/MIME

Encrypted Email Messages using S/MIME

Digital Signature and Encryption in Outlook 2007

Email Security Settings in Outlook 2007

Valid Certificate Required in Outlook 2007

Message Security Properties in Outlook 2007

Firefox Extension – Gmail S/MIME

PKI (Public Key Infrastructure) Terminology

References

Printable Copy – PDF Version

XML Schema Tutorials

December 21, 2007

XML Schema Tutorials

This free book is a collection of tutorial examples and notes written by the author while he was learning XML Schema and writing XSD (XML Schema Definition) documents. Topics include XML Schema specifications, XML data types, XSD document samples, XML document validation tools like XML Spy, XML document validation programming interfaces like Xerces-J.

Table of Contents

About This Book

Introduction to XML Schema

What Is XML Schema?

“Hello world!” Example of XSD

XML Schema Processors

XML Editor and Schema Processor – XMLPad

Installing WMHelp XMLPad Pro

Creating and Editing XML Documents

Creating and Editing XML Schema Documents

Assigning XML Schema to XML Documents

Validating XML Documents with Assigned XSD

Validating Non-Conforming XML Documents

XMLPad Crash When Validating Non-Conforming XML Documents

Generating XML Schema Diagrams

Java API for XML Processing – JAXP

What Is JAXP?

Downloading and installing Java SE 1.6 Update 2

Compiling and Running Java Programs

XML File DOM Parser – XmlDomFileParser.java

JAXP – XML Schema (XSD) Validation

Standard Steps to Validate XML Docuements Against a Schema

XSD Schema File Loader – XsdSchemaLoader.java

XSD Schema File Loading Errors

XSD Schema XML DOM Validator – XsdSchemaDomValidator.java

XSD Schema XML DOM Validation Errors

XSD Schema XML DOM Validator with Error Handler

XSD Schema XML SAX Validator – XsdSchemaSaxValidator.java

XSD Schema XML SAX Validation Errors

XSD Schema XML SAX Validator with Error Handler

XSD Schema XML Validator – Final Version

XML Parser API – Xerces2 Java Parser

Installing Xerces2 Java Parser

Testing Examples of XSD File and XML File

XML Schema (XSD) Validation using XMLReader

XML Schema (XSD) Validation using SAXParser

XML Schema Language – Basics

Schema and Schema XML Representation

Checking Schema Documents – XsdSchemaChecker.java

Creating Schema Documents – “schema” Element

Declaring Root Elements – “element” Element

Specifying Element Datatype – “type” Attribute

Using XML Schema Built-in Datatypes

Using XML Schema Built-in Datatypes Incorrectly

Validating XML Documents again Schema Documents

Deriving New Simple Datatypes – “simpleType” Element

Defining Complex Datatypes – “complexType” Element

Validation Error Examples on Complex Datatypes

XML Schema Built-in Datatypes

Overview of XML Schema Built-in Datatypes

List of Built-in Datatypes

Deriving from Built-in Datatypes – simpleType

Built-in Datatype – “string”

Built-in Datatype – “string” Errors

Built-in Datatype – “dateTime”

Built-in Datatype – “dateTime” Errors

Built-in Datatype – “decimal”

Built-in Datatype – “decimal” Errors

Complex Element Declaration

Complex Element vs. Simple Element

Declaring Empty Elements

Declaring Simple Elements

Declaring Complex Elements with Simple Content

Declaring Complex Elements with Attributes Only

Declaring Complex Elements with Sub Elements Only

Declaring Complex Elements with Attributes and Sub Elements

Declaring Complex Elements with Attributes, Sub Elements & Text Content

Using Shorthand for “complexContent” with “restriction”

XML Schema Location and Namespace in XML Documents

Assigning XML Schema Location in XML Documents

Validating XML Documents with Schema Locations

Validating XML Documents with Schema Locations – JAXP

Assigning XML Schema Location with Namespaces

Testing XML Schema Location with Namespaces

Testing XML Schema Location with Namespaces – JAXP

Overriding Element Types in XML Documents

Overriding Element Type to Empty Content – nillable

Overriding Element Type to Empty Content – xsi:nil

Defining a Derived Datatype from a Base Datatype

Overriding the Base Datatype – xsi:type

Overriding the Base Datatype – Errors

Linking Multiple Schema Documents Together

Schema Component Reuse – “include”, “redefine” or “import”

Including Old Schema Documents – “include” Component

Including Old Schema Documents – Examples

Including Old Schema Documents – Errors

Redefining Old Datatypes – “redefine” Component

Redefining Old Datatypes – XML Examples

Redefining Old Datatypes – Errors

Importing Declarations Across Namespaces – “import” Component

Importing Declarations Across Namespaces – Examples

Using Elements Declared in Different Namespaces

Using Elements Declared in Different Namespaces – Errors

Glossary

References

PDF Printing Version

Hello world!

December 21, 2007

Welcome to WordPress.com. This is your first post. Edit or delete it and start blogging!


Follow

Get every new post delivered to your Inbox.