summary refs log tree commit diff
path: root/crypto/src/cmp
diff options
context:
space:
mode:
authorMegan Woods <megan@flygfisk.com>2019-01-15 14:55:39 +1100
committerMegan Woods <megan@flygfisk.com>2019-01-15 14:55:39 +1100
commit6614f7fda643ebb09a1c21979a067fab17c3ab6c (patch)
treefffaf374910dd8eb533fe23139d896fe8d42fbdd /crypto/src/cmp
parentfirst cut on Pkcs8 (diff)
downloadBouncyCastle.NET-ed25519-6614f7fda643ebb09a1c21979a067fab17c3ab6c.tar.xz
Updated C# doc.
Removed EJBCA EnrollmentTest as it s not viable to produce an example on .Net Framework 2.0
Diffstat (limited to 'crypto/src/cmp')
-rw-r--r--crypto/src/cmp/CertificateConfirmationContent.cs4
-rw-r--r--crypto/src/cmp/CertificateConfirmationContentBuilder.cs5
-rw-r--r--crypto/src/cmp/CertificateStatus.cs5
-rw-r--r--crypto/src/cmp/CmpException.cs3
-rw-r--r--crypto/src/cmp/GeneralPkiMessage.cs25
-rw-r--r--crypto/src/cmp/ProtectedPkiMessage.cs81
-rw-r--r--crypto/src/cmp/ProtectedPkiMessageBuilder.cs2
7 files changed, 81 insertions, 44 deletions
diff --git a/crypto/src/cmp/CertificateConfirmationContent.cs b/crypto/src/cmp/CertificateConfirmationContent.cs
index 882bd2091..13d1dab8e 100644
--- a/crypto/src/cmp/CertificateConfirmationContent.cs
+++ b/crypto/src/cmp/CertificateConfirmationContent.cs
@@ -1,6 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
+
 using Org.BouncyCastle.Cms;
 using Org.BouncyCastle.Asn1.Cmp;
 
diff --git a/crypto/src/cmp/CertificateConfirmationContentBuilder.cs b/crypto/src/cmp/CertificateConfirmationContentBuilder.cs
index 126484917..56f5d5ccb 100644
--- a/crypto/src/cmp/CertificateConfirmationContentBuilder.cs
+++ b/crypto/src/cmp/CertificateConfirmationContentBuilder.cs
@@ -1,7 +1,4 @@
-using System;
-using System.Collections;
-using System.Collections.Generic;
-using System.Text;
+using System.Collections;
 using Org.BouncyCastle.Asn1;
 using Org.BouncyCastle.Asn1.Cmp;
 using Org.BouncyCastle.Asn1.X509;
diff --git a/crypto/src/cmp/CertificateStatus.cs b/crypto/src/cmp/CertificateStatus.cs
index e8c3546dd..92a94ea05 100644
--- a/crypto/src/cmp/CertificateStatus.cs
+++ b/crypto/src/cmp/CertificateStatus.cs
@@ -1,7 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-using Org.BouncyCastle.Asn1.Cmp;
+using Org.BouncyCastle.Asn1.Cmp;
 using Org.BouncyCastle.Asn1.X509;
 using Org.BouncyCastle.Cms;
 using Org.BouncyCastle.Crypto.IO;
diff --git a/crypto/src/cmp/CmpException.cs b/crypto/src/cmp/CmpException.cs
index 7ecdf5af8..2f50f7780 100644
--- a/crypto/src/cmp/CmpException.cs
+++ b/crypto/src/cmp/CmpException.cs
@@ -1,7 +1,6 @@
 using System;
-using System.Collections.Generic;
 using System.Runtime.Serialization;
-using System.Text;
+
 
 namespace Org.BouncyCastle.Cmp
 {
diff --git a/crypto/src/cmp/GeneralPkiMessage.cs b/crypto/src/cmp/GeneralPkiMessage.cs
index d91b8ef7e..ad55a8005 100644
--- a/crypto/src/cmp/GeneralPkiMessage.cs
+++ b/crypto/src/cmp/GeneralPkiMessage.cs
@@ -1,8 +1,4 @@
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace Org.BouncyCastle.Asn1.Cmp
+namespace Org.BouncyCastle.Asn1.Cmp
 {
     public class GeneralPKIMessage
     {
@@ -13,17 +9,28 @@ namespace Org.BouncyCastle.Asn1.Cmp
             return PkiMessage.GetInstance(Asn1Object.FromByteArray(encoding));
         }
 
+
+        /// <summary>
+        /// Wrap a PKIMessage ASN.1 structure.
+        /// </summary>
+        /// <param name="pkiMessage">PKI message.</param>
         public GeneralPKIMessage(PkiMessage pkiMessage)
         {
             this.pkiMessage = pkiMessage;
         }
 
+        /// <summary>
+        /// Create a PKIMessage from the passed in bytes.
+        /// </summary>
+        /// <param name="encoding">BER/DER encoding of the PKIMessage</param>
         public GeneralPKIMessage(byte[] encoding) : this(parseBytes(encoding))
         {
         }
 
-        public PkiHeader Header {
-            get {
+        public PkiHeader Header
+        {
+            get
+            {
                 return pkiMessage.Header;
             }
         }
@@ -36,6 +43,10 @@ namespace Org.BouncyCastle.Asn1.Cmp
             }
         }
 
+        /// <summary>
+        /// Return true if this message has protection bits on it. A return value of true
+        /// indicates the message can be used to construct a ProtectedPKIMessage.
+        /// </summary>
         public bool HasProtection
         {
             get { return pkiMessage.Protection != null; }
diff --git a/crypto/src/cmp/ProtectedPkiMessage.cs b/crypto/src/cmp/ProtectedPkiMessage.cs
index 159f08722..d3cf4a524 100644
--- a/crypto/src/cmp/ProtectedPkiMessage.cs
+++ b/crypto/src/cmp/ProtectedPkiMessage.cs
@@ -1,30 +1,30 @@
 using Org.BouncyCastle.Asn1.X509;
 using Org.BouncyCastle.X509;
 using System;
-using System.Collections.Generic;
-using System.Text;
 using Org.BouncyCastle.Asn1;
 using Org.BouncyCastle.Asn1.Cmp;
-using Org.BouncyCastle.Asn1.Crmf;
-using Org.BouncyCastle.Asn1.Pkcs;
 using Org.BouncyCastle.Crypto;
-using Org.BouncyCastle.Crypto.Operators;
-using Org.BouncyCastle.Crypto.Paddings;
 using Org.BouncyCastle.Utilities;
-using Org.BouncyCastle.Utilities.Encoders;
+
 using Org.BouncyCastle.Crmf;
 
 namespace Org.BouncyCastle.Cmp
 {
-   
+    /// <summary>
+    /// Wrapper for a PKIMessage with protection attached to it.
+    /// </summary>
     public class ProtectedPkiMessage
     {
         private PkiMessage pkiMessage;
-        
 
+        /// <summary>
+        /// Wrap a general message.
+        /// </summary>
+        /// <exception cref="ArgumentException">If the general message does not have protection.</exception>
+        /// <param name="pkiMessage">The General message</param>
         public ProtectedPkiMessage(GeneralPKIMessage pkiMessage)
         {
-            
+
             if (!pkiMessage.HasProtection)
             {
                 throw new ArgumentException("pki message not protected");
@@ -32,7 +32,12 @@ namespace Org.BouncyCastle.Cmp
 
             this.pkiMessage = pkiMessage.ToAsn1Structure();
         }
-           
+
+        /// <summary>
+        /// Wrap a PKI message.
+        /// </summary>
+        /// <exception cref="ArgumentException">If the PKI message does not have protection.</exception>
+        /// <param name="pkiMessage">The PKI message</param>
         public ProtectedPkiMessage(PkiMessage pkiMessage)
         {
             if (pkiMessage.Header.ProtectionAlg == null)
@@ -43,13 +48,33 @@ namespace Org.BouncyCastle.Cmp
             this.pkiMessage = pkiMessage;
         }
 
+        /// <summary>
+        /// Message header
+        /// </summary>
         public PkiHeader Header { get { return pkiMessage.Header; } }
+
+        /// <summary>
+        /// Message Body
+        /// </summary>
         public PkiBody Body { get { return pkiMessage.Body; } }
 
+        /// <summary>
+        /// Return the underlying ASN.1 structure contained in this object.
+        /// </summary>
+        /// <returns>PKI Message structure</returns>
         public PkiMessage ToAsn1Message() { return pkiMessage; }
 
+        /// <summary>
+        /// Determine whether the message is protected by a password based MAC. Use verify(PKMACBuilder, char[])
+        /// to verify the message if this method returns true.
+        /// </summary>
+        /// <returns>true if protection MAC PBE based, false otherwise.</returns>
         public bool HasPasswordBasedMacProtected { get { return Header.ProtectionAlg.Algorithm.Equals(CmpObjectIdentifiers.passwordBasedMac); } }
 
+        /// <summary>
+        /// Return the extra certificates associated with this message.
+        /// </summary>
+        /// <returns>an array of extra certificates, zero length if none present.</returns>
         public X509Certificate[] GetCertificates()
         {
             CmpCertificate[] certs = pkiMessage.GetExtraCerts();
@@ -60,7 +85,7 @@ namespace Org.BouncyCastle.Cmp
             }
 
             X509Certificate[] res = new X509Certificate[certs.Length];
-           for (int t=0; t<certs.Length;t++)
+            for (int t = 0; t < certs.Length; t++)
             {
                 res[t] = new X509Certificate(X509CertificateStructure.GetInstance(certs[t].GetEncoded()));
             }
@@ -68,6 +93,11 @@ namespace Org.BouncyCastle.Cmp
             return res;
         }
 
+        /// <summary>
+        /// Verify a message with a public key based signature attached.
+        /// </summary>
+        /// <param name="verifierFactory">a factory of signature verifiers.</param>
+        /// <returns>true if the provider is able to create a verifier that validates the signature, false otherwise.</returns>      
         public bool Verify(IVerifierFactory verifierFactory)
         {
             IStreamCalculator streamCalculator = verifierFactory.CreateCalculator();
@@ -79,18 +109,25 @@ namespace Org.BouncyCastle.Cmp
 
         private Object Process(IStreamCalculator streamCalculator)
         {
-           Asn1EncodableVector avec = new Asn1EncodableVector();
-           avec.Add(pkiMessage.Header);
-           avec.Add(pkiMessage.Body);
-           byte[] enc =   new DerSequence(avec).GetDerEncoded();
-
-           streamCalculator.Stream.Write(enc,0,enc.Length);
-           streamCalculator.Stream.Flush();
-           streamCalculator.Stream.Close();
-          
-           return streamCalculator.GetResult();          
+            Asn1EncodableVector avec = new Asn1EncodableVector();
+            avec.Add(pkiMessage.Header);
+            avec.Add(pkiMessage.Body);
+            byte[] enc = new DerSequence(avec).GetDerEncoded();
+
+            streamCalculator.Stream.Write(enc, 0, enc.Length);
+            streamCalculator.Stream.Flush();
+            streamCalculator.Stream.Close();
+
+            return streamCalculator.GetResult();
         }
 
+        /// <summary>
+        /// Verify a message with password based MAC protection.
+        /// </summary>
+        /// <param name="pkMacBuilder">MAC builder that can be used to construct the appropriate MacCalculator</param>
+        /// <param name="password">the MAC password</param>
+        /// <returns>true if the passed in password and MAC builder verify the message, false otherwise.</returns>
+        /// <exception cref="InvalidOperationException">if algorithm not MAC based, or an exception is thrown verifying the MAC.</exception>
         public bool Verify(PKMacBuilder pkMacBuilder, char[] password)
         {
             if (!CmpObjectIdentifiers.passwordBasedMac.Equals(pkiMessage.Header.ProtectionAlg.Algorithm))
diff --git a/crypto/src/cmp/ProtectedPkiMessageBuilder.cs b/crypto/src/cmp/ProtectedPkiMessageBuilder.cs
index e660f844a..3ee223ba8 100644
--- a/crypto/src/cmp/ProtectedPkiMessageBuilder.cs
+++ b/crypto/src/cmp/ProtectedPkiMessageBuilder.cs
@@ -1,13 +1,11 @@
 using System;
 using System.Collections;
-using Org.BouncyCastle.Asn1.Crmf;
 using Org.BouncyCastle.Asn1;
 using Org.BouncyCastle.Asn1.Cmp;
 using Org.BouncyCastle.Asn1.X509;
 using Org.BouncyCastle.Crypto;
 using Org.BouncyCastle.Crypto.Operators;
 using Org.BouncyCastle.X509;
-using Org.BouncyCastle.Crmf;
 
 namespace Org.BouncyCastle.Cmp
 {