如何在设备神经上复制crt文件
How to copy crt file on device nerves
我想复制ca文件来建立ssl连接。我将 ca 放在 lib
中
lib/
mymodule.ex #using the ca path here
mycrt.crt
然后使用 mix firmware
我给出这样的相对路径
def getPath() do
{path,0} = System.cmd("pwd",[])
String.replace(path,"\n","/lib/mycrt.crt")
end
但是我们 运行 在主机上使用 iex -S mix
所以我必须在 mycrt.crt
之前加上 /lib
前缀
我不确定它是否被正确地复制到 /lib
或者 pwd 在设备上刻录后是否获得了正确的路径。这是正确的做法吗?因为当我在设备上执行 ls
时,我看不到在目录
中复制的 mycrt.crt
使用神经在设备上复制文件的正确方法是什么
而不是 lib
使用 priv
,所以:
priv/mycrt.crt
然后在代码中:
Path.join(:code.priv_dir(:my_app), "mycrt.crt")
参见https://erlang.org/doc/man/code.html#priv_dir-1。
或者,您可以使用模块属性在编译时读取文件内容:
@crt_bin File.read!("lib/mycrt.crt")
无论您只是希望文件在目标上可用,还是想要模块属性版本,我建议将文件存储在 priv
per: http://erlang.org/doc/design_principles/applications.html#7.4 中。特别是:
priv
- Optional. Used for application specific files.
和:
The priv directory holds assets that the application needs during
runtime. Executables should reside in priv/bin and dynamically-linked
libraries should reside in priv/lib. Other assets are free to reside
within the priv directory but it is recommended it does so in a
structured manner.
我想复制ca文件来建立ssl连接。我将 ca 放在 lib
lib/
mymodule.ex #using the ca path here
mycrt.crt
然后使用 mix firmware
我给出这样的相对路径
def getPath() do
{path,0} = System.cmd("pwd",[])
String.replace(path,"\n","/lib/mycrt.crt")
end
但是我们 运行 在主机上使用 iex -S mix
所以我必须在 mycrt.crt
/lib
前缀
我不确定它是否被正确地复制到 /lib
或者 pwd 在设备上刻录后是否获得了正确的路径。这是正确的做法吗?因为当我在设备上执行 ls
时,我看不到在目录
使用神经在设备上复制文件的正确方法是什么
而不是 lib
使用 priv
,所以:
priv/mycrt.crt
然后在代码中:
Path.join(:code.priv_dir(:my_app), "mycrt.crt")
参见https://erlang.org/doc/man/code.html#priv_dir-1。
或者,您可以使用模块属性在编译时读取文件内容:
@crt_bin File.read!("lib/mycrt.crt")
无论您只是希望文件在目标上可用,还是想要模块属性版本,我建议将文件存储在 priv
per: http://erlang.org/doc/design_principles/applications.html#7.4 中。特别是:
priv
- Optional. Used for application specific files.
和:
The priv directory holds assets that the application needs during runtime. Executables should reside in priv/bin and dynamically-linked libraries should reside in priv/lib. Other assets are free to reside within the priv directory but it is recommended it does so in a structured manner.