Tomas Eduardo Fernandez Lobbe created SOLR-16635:
----------------------------------------------------

             Summary: Bad PublicKeyHandler configuration when using 
MiniSolrCloudCluster
                 Key: SOLR-16635
                 URL: https://issues.apache.org/jira/browse/SOLR-16635
             Project: Solr
          Issue Type: Bug
      Security Level: Public (Default Security Level. Issues are Public)
          Components: test-framework
    Affects Versions: 9.1, 9.0, main (10.0)
            Reporter: Tomas Eduardo Fernandez Lobbe
            Assignee: Tomas Eduardo Fernandez Lobbe


I changed some external test code to use Solr 9.1 and I started getting this 
exception when using MiniSolrCloudCluster:

{noformat}
14:55:25.477 [jetty-launcher-7-thread-1] ERROR 
org.apache.solr.servlet.CoreContainerProvider - Could not start Solr. Check 
solr/home property and the logs
14:55:25.498 [jetty-launcher-7-thread-1] ERROR org.apache.solr.core.SolrCore - 
null
java.lang.RuntimeException: Bad PublicKeyHandler configuration.
        at org.apache.solr.core.CoreContainer.<init>(CoreContainer.java:386)
        at org.apache.solr.core.CoreContainer.<init>(CoreContainer.java:363)
        at 
org.apache.solr.servlet.CoreContainerProvider.createCoreContainer(CoreContainerProvider.java:376)
        at 
org.apache.solr.servlet.CoreContainerProvider.init(CoreContainerProvider.java:226)
        at 
org.apache.solr.client.solrj.embedded.JettySolrRunner$1.lifeCycleStarted(JettySolrRunner.java:402)
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.setStarted(AbstractLifeCycle.java:194)
        at 
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:74)
        at 
org.apache.solr.client.solrj.embedded.JettySolrRunner.retryOnPortBindFailure(JettySolrRunner.java:614)
        at 
org.apache.solr.client.solrj.embedded.JettySolrRunner.start(JettySolrRunner.java:552)
        at 
org.apache.solr.client.solrj.embedded.JettySolrRunner.start(JettySolrRunner.java:523)
        at 
org.apache.solr.cloud.MiniSolrCloudCluster.startJettySolrRunner(MiniSolrCloudCluster.java:550)
        at 
org.apache.solr.cloud.MiniSolrCloudCluster.lambda$new$0(MiniSolrCloudCluster.java:355)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at 
org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor.lambda$execute$0(ExecutorUtil.java:271)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.net.MalformedURLException: no protocol: 
cryptokeys/priv_key512_pkcs8.pem
        at java.base/java.net.URL.<init>(URL.java:645)
        at java.base/java.net.URL.<init>(URL.java:541)
        at java.base/java.net.URL.<init>(URL.java:488)
        at 
org.apache.solr.security.PublicKeyHandler.createKeyPair(PublicKeyHandler.java:59)
        at 
org.apache.solr.security.PublicKeyHandler.<init>(PublicKeyHandler.java:42)
        at org.apache.solr.core.CoreContainer.<init>(CoreContainer.java:384)
        ... 16 common frames omitted
{noformat}
I believe the issue may have been introduced by SOLR-14223, in particular, 
[this 
code|https://github.com/apache/lucene-solr/pull/1217/files#diff-c3ed2e54e8d8f256575f36532ab4eec6d9e7424e0a6fd237cdbfcefa5fcbaeb0R116-R117].
 I believe we don't hit this in Solr because of [this 
code|https://github.com/apache/lucene-solr/pull/1217/files#diff-7cb8f3a46dbdb99ccfdcc1d07c4457167188e7366534a7e7e4a0b5aff93c1cc4R304-R305],
 so I'm forced to do something like this in my external code, or at least do 
something like:

{code:java}
System.setProperty("pkiHandlerPublicKeyPath", "");
System.setProperty("pkiHandlerPrivateKeyPath", "");
{code}
which I doubt it's the intention. We can have {{MiniSolrCloudCluster}} resolve 
the location of the crypto keys and use that in the default solr.xml string 
that it includes.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to