diff options
Diffstat (limited to 'libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/SubjectKeyIdentifierTest.java')
-rw-r--r-- | libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/SubjectKeyIdentifierTest.java | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/SubjectKeyIdentifierTest.java b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/SubjectKeyIdentifierTest.java new file mode 100644 index 000000000..469e25ea5 --- /dev/null +++ b/libraries/spongycastle/core/src/test/java/org/spongycastle/asn1/test/SubjectKeyIdentifierTest.java @@ -0,0 +1,52 @@ +package org.spongycastle.asn1.test; + +import java.io.IOException; + +import org.spongycastle.asn1.ASN1Primitive; +import org.spongycastle.asn1.x509.SubjectKeyIdentifier; +import org.spongycastle.asn1.x509.SubjectPublicKeyInfo; +import org.spongycastle.util.Arrays; +import org.spongycastle.util.encoders.Base64; +import org.spongycastle.util.encoders.Hex; +import org.spongycastle.util.test.SimpleTest; + +public class SubjectKeyIdentifierTest + extends SimpleTest +{ + private static byte[] pubKeyInfo = Base64.decode( + "MFgwCwYJKoZIhvcNAQEBA0kAMEYCQQC6wMMmHYMZszT/7bNFMn+gaZoiWJLVP8ODRuu1C2jeAe" + + "QpxM+5Oe7PaN2GNy3nBE4EOYkB5pMJWA0y9n04FX8NAgED"); + + private static byte[] shaID = Hex.decode("d8128a06d6c2feb0865994a2936e7b75b836a021"); + private static byte[] shaTruncID = Hex.decode("436e7b75b836a021"); + + public String getName() + { + return "SubjectKeyIdentifier"; + } + + public void performTest() + throws IOException + { + SubjectPublicKeyInfo pubInfo = SubjectPublicKeyInfo.getInstance(ASN1Primitive.fromByteArray(pubKeyInfo)); + SubjectKeyIdentifier ski = SubjectKeyIdentifier.createSHA1KeyIdentifier(pubInfo); + + if (!Arrays.areEqual(shaID, ski.getKeyIdentifier())) + { + fail("SHA-1 ID does not match"); + } + + ski = SubjectKeyIdentifier.createTruncatedSHA1KeyIdentifier(pubInfo); + + if (!Arrays.areEqual(shaTruncID, ski.getKeyIdentifier())) + { + fail("truncated SHA-1 ID does not match"); + } + } + + public static void main( + String[] args) + { + runTest(new SubjectKeyIdentifierTest()); + } +} |