summaryrefslogtreecommitdiff
path: root/flash-src/third-party/com/hurlant/crypto/cert/X509CertificateCollection.as
diff options
context:
space:
mode:
authorHiroshi Ichikawa <gimite@gmail.com>2011-08-28 22:14:15 +0900
committerHiroshi Ichikawa <gimite@gmail.com>2011-08-28 22:14:15 +0900
commit80c91d84bc3e84f684f53172e8eb7cad81795fb1 (patch)
tree70d3a71d8020902ed246fc7b908ebf9c3478f653 /flash-src/third-party/com/hurlant/crypto/cert/X509CertificateCollection.as
parented0622a890de811eb6d766d5c5a9a62d726f0593 (diff)
downloadweb-socket-js-80c91d84bc3e84f684f53172e8eb7cad81795fb1.tar.gz
Moving our own .as files into flash-src/src and third-party .as files into flash-src/third-party.
Adding build rule for WebSocketWithoutDependencies.swc.
Diffstat (limited to 'flash-src/third-party/com/hurlant/crypto/cert/X509CertificateCollection.as')
-rwxr-xr-xflash-src/third-party/com/hurlant/crypto/cert/X509CertificateCollection.as57
1 files changed, 57 insertions, 0 deletions
diff --git a/flash-src/third-party/com/hurlant/crypto/cert/X509CertificateCollection.as b/flash-src/third-party/com/hurlant/crypto/cert/X509CertificateCollection.as
new file mode 100755
index 0000000..db11e40
--- /dev/null
+++ b/flash-src/third-party/com/hurlant/crypto/cert/X509CertificateCollection.as
@@ -0,0 +1,57 @@
+/**
+ * X509CertificateCollection
+ *
+ * A class to store and index X509 Certificates by Subject.
+ * Copyright (c) 2007 Henri Torgemane
+ *
+ * See LICENSE.txt for full license information.
+ */
+package com.hurlant.crypto.cert {
+
+ public class X509CertificateCollection {
+
+ private var _map:Object;
+
+ public function X509CertificateCollection() {
+ _map = {};
+ }
+
+ /**
+ * Mostly meant for built-in CA loading.
+ * This entry-point allows to index CAs without parsing them.
+ *
+ * @param name A friendly name. not currently used
+ * @param subject base64 DER encoded Subject principal for the Cert
+ * @param pem PEM encoded certificate data
+ *
+ */
+ public function addPEMCertificate(name:String, subject:String, pem:String):void {
+ _map[subject] = new X509Certificate(pem);
+ }
+
+ /**
+ * Adds a X509 certificate to the collection.
+ * This call will force the certificate to be parsed.
+ *
+ * @param cert A X509 certificate
+ *
+ */
+ public function addCertificate(cert:X509Certificate):void {
+ var subject:String = cert.getSubjectPrincipal();
+ _map[subject] = cert;
+ }
+
+ /**
+ * Returns a X509 Certificate present in the collection, given
+ * a base64 DER encoded X500 Subject principal
+ *
+ * @param subject A Base64 DER-encoded Subject principal
+ * @return A matching certificate, or null.
+ *
+ */
+ public function getCertificate(subject:String):X509Certificate {
+ return _map[subject];
+ }
+
+ }
+} \ No newline at end of file