title: how to find paired ECDSA private key PKCS11 having public key
body: <p>I have an application that works with smartcards that have RSA certificates on them
  For some reason manufacturer does not fill CKA_LABEL on them, so i fidn private key object for RSA like this:</p>
  <pre><code>RsaKeyParameters rsaPubKeyParams = (RsaKeyParameters)pubKeyParams;
                      privKeySearchTemplate.Add(session.Factories.ObjectAttributeFactory.Create(CKA.CKA_KEY_TYPE, CKK.CKK_RSA));
                      privKeySearchTemplate.Add(session.Factories.ObjectAttributeFactory.Create(CKA.CKA_MODULUS, rsaPubKeyParams.Modulus.ToByteArrayUnsigned()));
                      privKeySearchTemplate.Add(session.Factories.ObjectAttributeFactory.Create(CKA.CKA_PUBLIC_EXPONENT, rsaPubKeyParams.Exponent.ToByteArrayUnsigned()));
  </code></pre>
  <p>now i have to support smartcards that have ECDSA certificates, no CKA_LABEL also
  SO the question is how can i find according private key like with RSA ?</p>
  <p>Note: all smart cards have 2 certificates (auth,sign) in random order, so i cant just take first or last object found:</p>
  <pre><code>ECPublicKeyParameters ecdsaPubKeyParams = (ECPublicKeyParameters)pubKeyParams;
                      privKeySearchTemplate.Add(session.Factories.ObjectAttributeFactory.Create(CKA.CKA_KEY_TYPE, CKK.CKK_ECDSA));
  </code></pre>
  <p>-----some more params needed to identify the needed the private key</p>