Hi Which JRE are you using? Perhaps it's not the same as for lein run?
This seems very relevant: https://github.com/funcool/buddy-core/issues/43 BR -- Henrik On Wed, Dec 21, 2016 at 11:54 AM, Ray Miller <r...@1729.org.uk> wrote: > Hi, > > I ran into a problem reading a private key from a file using buddy-core > version 1.1.1. I created a private key using: > > openssl genrsa -aes256 -out resources/auth_privkey.pem 2048 > > Here's the code: > > (ns tryme-buddy.core > (:require [buddy.core.keys :as ks] > [clojure.java.io :as io]) > (:gen-class)) > > (defn read-key > [] > (ks/private-key (io/resource "auth_privkey.pem") "secret")) > > (defn -main > [& args] > (read-key) > (println "OK")) > > This works as expected when invoked with `lein run`, but if I create an > uberjar with `lein do clean, uberjar` and invoke with `java -jar ...` I get > the following exception: > > Exception in thread "main" org.bouncycastle.openssl.PEMException: Unable > to create OpenSSL PBDKF: PBKDF-OpenSSL SecretKeyFactory not available > at org.bouncycastle.openssl.jcajce.PEMUtilities.getKey(Unknown Source) > at org.bouncycastle.openssl.jcajce.PEMUtilities.getKey(Unknown Source) > at org.bouncycastle.openssl.jcajce.PEMUtilities.crypt(Unknown Source) > at > org.bouncycastle.openssl.jcajce.JcePEMDecryptorProviderBuilder$1$1.decrypt(Unknown > Source) > at org.bouncycastle.openssl.PEMEncryptedKeyPair.decryptKeyPair(Unknown > Source) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke( > NativeMethodAccessorImpl.java:62) > at sun.reflect.DelegatingMethodAccessorImpl.invoke( > DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93) > at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28) > at buddy.core.keys$read_pem__GT_privkey.invokeStatic(keys.clj:60) > at buddy.core.keys$read_pem__GT_privkey.invoke(keys.clj:51) > at buddy.core.keys$private_key.invokeStatic(keys.clj:96) > at buddy.core.keys$private_key.invoke(keys.clj:91) > at tryme_buddy.core$read_key.invokeStatic(core.clj:8) > at tryme_buddy.core$read_key.invoke(core.clj:6) > at tryme_buddy.core$_main.invokeStatic(core.clj:12) > at tryme_buddy.core$_main.doInvoke(core.clj:10) > at clojure.lang.RestFn.invoke(RestFn.java:397) > at clojure.lang.AFn.applyToHelper(AFn.java:152) > at clojure.lang.RestFn.applyTo(RestFn.java:132) > at tryme_buddy.core.main(Unknown Source) > Caused by: java.security.NoSuchAlgorithmException: PBKDF-OpenSSL > SecretKeyFactory not available > at javax.crypto.SecretKeyFactory.<init> (SecretKeyFactory.java:122) > javax.crypto.SecretKeyFactory.getInstance (SecretKeyFactory.java:160) > org.bouncycastle.jcajce.util.DefaultJcaJceHelper.createSecretKeyFactory > (:-1) org.bouncycastle.openssl.jcajce.PEMUtilities.getKey (:-1) > org.bouncycastle.openssl.jcajce.PEMUtilities.getKey (:-1) > org.bouncycastle.openssl.jcajce.PEMUtilities.crypt (:-1) > org.bouncycastle.openssl.jcajce.JcePEMDecryptorProviderBuilder$1$1.decrypt > (:-1) org.bouncycastle.openssl.PEMEncryptedKeyPair.decryptKeyPair (:-1) > sun.reflect.NativeMethodAccessorImpl.invoke0 > (NativeMethodAccessorImpl.java:-2) > sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) > sun.reflect.DelegatingMethodAccessorImpl.invoke > (DelegatingMethodAccessorImpl.java:43) java.lang.reflect.Method.invoke > (Method.java:498) clojure.lang.Reflector.invokeMatchingMethod > (Reflector.java:93) clojure.lang.Reflector.invokeInstanceMethod > (Reflector.java:28) buddy.core.keys$read_pem__GT_privkey.invokeStatic > (keys.clj:60) buddy.core.keys$read_pem__GT_privkey.invoke (keys.clj:51) > buddy.core.keys$private_key.invokeStatic (keys.clj:96) > buddy.core.keys$private_key.invoke (keys.clj:91) > tryme_buddy.core$read_key.invokeStatic (core.clj:13) > tryme_buddy.core$read_key.invoke (core.clj:11) > tryme_buddy.core$_main$fn__109.invoke > (core.clj:19) tryme_buddy.core$_main.invokeStatic (core.clj:18) > tryme_buddy.core$_main.doInvoke (core.clj:15) clojure.lang.RestFn.invoke > (RestFn.java:397) clojure.lang.AFn.applyToHelper (AFn.java:152) > clojure.lang.RestFn.applyTo (RestFn.java:132) tryme_buddy.core.main (:-1) > > What do I need to do to create a working uberjar? > > Ray. > > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@googlegroups.com > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com > For more options, visit this group at > http://groups.google.com/group/clojure?hl=en > --- > You received this message because you are subscribed to the Google Groups > "Clojure" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to clojure+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.