Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8068797

Ability to pass CRYPT_ACQUIRE_SILENT_FLAG in CryptAcquireCertificatePrivateKey

    Details

    • Type: Enhancement
    • Status: Closed
    • Priority: P3
    • Resolution: Duplicate
    • Affects Version/s: 8u25
    • Fix Version/s: None
    • Component/s: security-libs
    • Labels:

      Description

      We have a Java application which aims to generate digital signatures on
      documents and transactions. The process for generating this signature is by
      using our CSP MiniDriver for Windows 7. The problem is that at some point
      these applications use calls to read from the Windows certificate repository
      (using KeyStore.getInstance ("Windows-MY")).
      For each certificate found, even if it is not necessary for the operation,
      the application displays a popup stating that the item found is not required
      for operation.

      Assuming you have 5 or more certificates in the repository, and the read
      operation is executed multiple times, and many popups are displayed, which
      disrupts the operation. According to what was found, the access to the
      Windows repository is done by the sunmscapi.dll library, which is installed
      as part of the JRE.
      This DLL sometimes would call the CryptAcquireCertificatePrivateKey()
      function and this function would be displaying the popup.
      Is there any way, from the Java application to hide the appearance of this
      popup?

      Could, for instance, the function be passed the CRYPT_ACQUIRE_SILENT_FLAG
      flag?

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                igerasim Ivan Gerasimov
                Reporter:
                shadowbug Shadow Bug
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: