2 * X509CertificateCollection
\r
4 * A class to store and index X509 Certificates by Subject.
\r
5 * Copyright (c) 2007 Henri Torgemane
\r
7 * See LICENSE.txt for full license information.
\r
9 package com.hurlant.crypto.cert {
\r
11 public class X509CertificateCollection {
\r
13 private var _map:Object;
\r
15 public function X509CertificateCollection() {
\r
20 * Mostly meant for built-in CA loading.
\r
21 * This entry-point allows to index CAs without parsing them.
\r
23 * @param name A friendly name. not currently used
\r
24 * @param subject base64 DER encoded Subject principal for the Cert
\r
25 * @param pem PEM encoded certificate data
\r
28 public function addPEMCertificate(name:String, subject:String, pem:String):void {
\r
29 _map[subject] = new X509Certificate(pem);
\r
33 * Adds a X509 certificate to the collection.
\r
34 * This call will force the certificate to be parsed.
\r
36 * @param cert A X509 certificate
\r
39 public function addCertificate(cert:X509Certificate):void {
\r
40 var subject:String = cert.getSubjectPrincipal();
\r
41 _map[subject] = cert;
\r
45 * Returns a X509 Certificate present in the collection, given
\r
46 * a base64 DER encoded X500 Subject principal
\r
48 * @param subject A Base64 DER-encoded Subject principal
\r
49 * @return A matching certificate, or null.
\r
52 public function getCertificate(subject:String):X509Certificate {
\r
53 return _map[subject];
\r