@@ -847,6 +847,44 @@ public class Pkcs12StoreTest
847847 + "TK5wp093iTAxMCEwCQYFKw4DAhoFAAQU1SGg9xV7jfLcJh3tzd+phZTMN38E"
848848 + "CL6WgCtEom7kAgIIAA==" ) ;
849849
850+ private static readonly char [ ] hmacSha384TestPassword = "changeit" . ToCharArray ( ) ;
851+ private static readonly byte [ ] hmacSha384Test = Base64 . Decode (
852+ "MIIHqwIBAzCCB1MGCSqGSIb3DQEHAaCCB0QEggdAMIIHPDCCA8EGCSqGSIb3DQEHAaCCA7IEggOu"
853+ + "MIIDqjCCA6YGCyqGSIb3DQEMCgECoIIC4TCCAt0wVwYJKoZIhvcNAQUNMEowKQYJKoZIhvcNAQUM"
854+ + "MBwECHr9d4C/ERNtAgEFAgEgMAoGCCqGSIb3DQIKMB0GCWCGSAFlAwQBKgQQBBHQHKcLHAX7jo6J"
855+ + "M/sMzQSCAoD91XNClszEu+poVuGFzgwUGEhASjEv5mr6RYcCmrISM2jmEFsgnwImwTi0BUlmKpwe"
856+ + "mLYFMEwxpQ4ee5Vn9WLNDxGB1T8CNWNNmwWAftB8LdlElMqJgUeQUGNJYbkatYH04ntGl0G9DVt4"
857+ + "553zfLH8/QnQbUne/dm2Ja45ITWLh6xrCrt/lkNwHBKojh3yGVI2Gl8taS3I8KMEO8WK4YWATPeL"
858+ + "ogSKcq0vIrbYwzFNOwrZflRRb5EE4y9CIiIt6mdK27KTpZtDZPTgMZ4d7Bibdr7Sk9Z0Ww7v3dLp"
859+ + "cu53X6VNmLrb4RKfeBC58RhArtwCvXAbGDzTMRdGeP08RXd5NqaPMCYF1YWzaOJouEiBp4YwB19n"
860+ + "ndE8uVHRp1aqo1KpdveYT7DEhwoSaNAj9wr3azYTmZFUK9Q5vMOMhFNufUXlRZf3eKruC4m4nOiJ"
861+ + "Mn9HIlkhyy3U61fe0mL4dFbGQkR/TfwSMeWn1nMn7qCmN7oFal7H+Opa/DDWTrqneN57EfyTVjAs"
862+ + "+7E2I/oX7y7gHLx1rIEo6+OBCyjDB+DbU1WR2dL8wSdMTke6yr94i8izNsXUK3b0eRj/g2uEBghV"
863+ + "Zr0fh9FKt4aWtFMr5PKmP9kK0Xoc113y9mP9L8JnR0K8wZ7gVOOJUknbh8ylt9TF0c+yU3gaCM25"
864+ + "QFGoq8UcHscb8TP7qXYjtfRore0dikootp54GkYIJdW70Qds9uR3awoyjbZlbhja/jUxgPTGzLLK"
865+ + "Npmd7QkRs2407huOnzADQWMCFw5BXBSZ+NOgClMz8oqwZK8IzrOtQlbI4+LJw7ey1ph9+qhl5BPc"
866+ + "/mfze/WeFcUM2uQ9nwM7l7cOu3t4MYGxMBcGCSqGSIb3DQEJFDEKHggAdABlAHMAdDCBlQYJKoZI"
867+ + "hvcNAQkVMYGHBIGEA4GBAI9A0ETHxeorkIigLpmi0N/bu3QkilHohRvB/Qk+AS+ZS/Dv3dDnhiMR"
868+ + "gyGD5cjDzrO1MfY32ykzf975N04J4a7zVOqtxZzHluqPZ9oh8ZQtsWrWxPTrcBvrUdTCbAx9ACPj"
869+ + "mSpxp1Op+JaGr46YQdyHBcNk0+NFe6ST6/cL/xj0MIIDcwYJKoZIhvcNAQcGoIIDZDCCA2ACAQAw"
870+ + "ggNZBgkqhkiG9w0BBwEwWAYJKoZIhvcNAQUNMEswKgYJKoZIhvcNAQUMMB0ECAIb5DVQwEFuAgIE"
871+ + "AAIBIDAKBggqhkiG9w0CCjAdBglghkgBZQMEASoEECbYCIyif4aZ1t/7vYThlgGAggLw0F5IvITu"
872+ + "48RqqlO1DmRxpOzhFmB5EzixWwniCNZga/wRx9kdWd1sivm2hI4doXIJqOgE1n18Gmy9oBjVHhig"
873+ + "v2HQGFiZ5GHIVq9xLy4wXdIltGmFIPZ+BGKm0hTdwF7mGF3ZKJn+7d4Hd9X3TE6GITwt7XESnKt+"
874+ + "uk4AqG3j/vVwtnNNnW6R9x8sCqlkBSvVfYU6o5+CpfqMX7RUW31N0kSNCQOBlWja5xHCZo3wUXJn"
875+ + "sV76ZMUP7E8A+XrFsX5nlLo95lkQXjKUfAN7J6JKi+NCaTdcSkgJX56Rc/Tgr+7HYF4YSVnEnfh2"
876+ + "cRkbISYqCjD+3SVCRIVo/klfgruvHDN1stjeSwi5xVoh4l8JnNAIN8zGJzKaR+ow9Soug2AyBNc9"
877+ + "JHJ0eQLir8JNYKKYJB/4diHXSDE9hMtMz1jtf/FPoQfldK2jQLI1lxtHX8H4uUW3anfV6KLY+jwg"
878+ + "1rzoT+zQYlgwTtrp+okL5yHO+Qlmitd7kjx3AzsajyTtcYBbmHA8R19paUpD0BjRqq50+6pHJmsr"
879+ + "RVbIy/IXxXd2rUfijxFaPR7n/bTsuoKirJ4IMIwgHeVaYdN1g9Z5dT0GxvvP+7/C5Oby+1IvymWo"
880+ + "lROQrey5ZeA8NDwWEduSA/wsK4VrQIdi4eo52P0YWoQjZ80/Ba3o+KliKJTF0tk43AD576bTai8g"
881+ + "iSUU4TM4WwLJczi/D9T7sLKHZyYbYBwLfqx/95yFQzJq2gk0DdsNAnl5ehZn/7eJpUnObXI1NZzs"
882+ + "+SASDxtA+vUgMfZlag2OaDFmPYEI725t28beop8gzoaeXAoZR3HsYq7nifn1SgfYVgu6Hr3KKhpE"
883+ + "fHSDCBDG2PZsNQ0aTkF3+VSQnIfd+sfx6GfbDUYTmZUcwaHyUSvEBv1llBrxCASccQofs1EEJUzA"
884+ + "uisSC69bxQfpJ6fMTcW2nMfskzG7n9IlLseU6Qd+j/jAc7lU03qg3GpLgZAVh2sFMkcAU0Lj0NI4"
885+ + "ERxk5YMwTzA/MAsGCWCGSAFlAwQCAgQwaichjWMbJcIUvKOyeSpHeYJpUPVud6BnZT/lQ71ZTYwv"
886+ + "05M2znIOOdFEiVubcf9IBAgdTcmL1rwzgQICBAA=" ) ;
887+
850888 private readonly SecureRandom Random = new SecureRandom ( ) ;
851889
852890 /**
@@ -1426,6 +1464,13 @@ private void DoTestLoadRepeatedLocalKeyID()
14261464 IsTrue ( store . GetCertificateChain ( "45cbf1116fb3f38b2984b3c7224cae70a74f7789" ) . Length == 1 ) ;
14271465 }
14281466
1467+ private void DoTestHmacSha384 ( )
1468+ {
1469+ Pkcs12Store store = new Pkcs12StoreBuilder ( ) . Build ( ) ;
1470+ store . Load ( new MemoryStream ( hmacSha384Test , false ) , hmacSha384TestPassword ) ;
1471+ IsTrue ( store . GetCertificateChain ( "test" ) . Length == 1 ) ;
1472+ }
1473+
14291474 public override string Name
14301475 {
14311476 get { return "PKCS12Store" ; }
@@ -1436,14 +1481,15 @@ public override void PerformTest()
14361481 DoTestCertsOnly ( ) ;
14371482 DoTestPkcs12Store ( ) ;
14381483 DoTestLoadRepeatedLocalKeyID ( ) ;
1484+ DoTestHmacSha384 ( ) ;
14391485 }
14401486
14411487 [ Test ]
14421488 public void TestFunction ( )
14431489 {
14441490 string resultText = Perform ( ) . ToString ( ) ;
14451491
1446- Assert . AreEqual ( Name + ": Okay" , resultText ) ;
1492+ Assert . AreEqual ( Name + ": Okay" , resultText , resultText ) ;
14471493 }
14481494 }
14491495}
0 commit comments