1 files changed, 10 insertions, 0 deletions
diff --git a/crypto/src/pkcs/Pkcs12Store.cs b/crypto/src/pkcs/Pkcs12Store.cs
index dba76cdb5..d71fbe862 100644
--- a/crypto/src/pkcs/Pkcs12Store.cs
+++ b/crypto/src/pkcs/Pkcs12Store.cs
@@ -361,6 +361,16 @@ namespace Org.BouncyCastle.Pkcs
// the same OID - currently, differing values give an error
if (attributes.Contains(aOid.Id))
{
+ // we've found more than one - one might be incorrect
+ if (aOid.Equals(PkcsObjectIdentifiers.Pkcs9AtLocalKeyID))
+ {
+ String id = Hex.ToHexString(Asn1OctetString.GetInstance(attr).GetOctets());
+ if (!(keys.Keys[id] != null || localIds.Keys[id] != null))
+ {
+ continue; // ignore this one - it's not valid
+ }
+ }
+
// OK, but the value has to be the same
if (!attributes[aOid.Id].Equals(attr))
{
|