Oracle对象存储PrivateKey获取及文件上传配置技术咨询
关于Oracle对象存储客户端初始化的密钥获取指南
一、privateKey和privateKeyPassphrase的说明
- privateKey:是你本地生成的RSA私钥文件的内容(并非从Oracle控制台直接获取,需自行生成后上传对应公钥到控制台)
- privateKeyPassphrase:是你生成私钥时设置的保护密码(如果生成私钥时未设置密码,此参数传空字符串即可)
二、生成并配置密钥的完整步骤
生成RSA密钥对
使用OpenSSL命令在本地生成密钥对:# 生成无密码保护的私钥 openssl genrsa -out ~/.oci/oci_api_key.pem 2048如果需要密码保护,添加
-des3参数:openssl genrsa -des3 -out ~/.oci/oci_api_key.pem 2048再生成对应的公钥文件:
openssl rsa -pubout -in ~/.oci/oci_api_key.pem -out ~/.oci/oci_api_key_public.pem在Oracle控制台上传公钥
- 登录Oracle Cloud控制台,点击右上角用户头像,选择「我的资料」进入用户设置页面
- 左侧菜单找到「API密钥」选项,点击「添加API密钥」
- 选择「粘贴公钥内容」,复制本地生成的
oci_api_key_public.pem文件内容粘贴进去,点击「添加」 - 保存页面显示的密钥指纹(就是你代码中已填写的类似
98:bc:6b:...的字符串,它会和你的私钥一一对应)
三、代码参数的正确填写示例
你的代码中NewRawConfigurationProvider需要补充privateKey和privateKeyPassphrase参数,Go语言示例如下:
import "os" // 读取本地私钥文件内容 privateKeyBytes, err := os.ReadFile("~/.oci/oci_api_key.pem") if err != nil { panic(err) } privateKey := string(privateKeyBytes) // 私钥密码(未设置则传"",用指针类型传入) privateKeyPassphrase := "your_key_passphrase" c, clerr := objectstorage.NewObjectStorageClientWithConfigurationProvider(common.NewRawConfigurationProvider( "ocid1.tenancy.oc1..aaaaaaa5jo3pz1alm1o45rzx1ucaab4njxbwaqqbc7ld3l6biayjaert5la", // 租户OCID "ocid1.user.oc1..aaaaaaaauax5bo2gg3az46h53467u57ue86rk9h2wax8w7zzamxgwvsi34ja", // 用户OCID "ap-seoul-1", // 区域 "98:bc:6b:13:c1:64:ds:8b:9c:15:11:d2:8d:e5:92:db", // 密钥指纹 privateKey, // 私钥内容 &privateKeyPassphrase, // 私钥密码(无需则传nil) ))
四、注意事项
- 私钥文件需妥善保管,避免泄露,权限设置为仅自身可读(如执行
chmod 600 ~/.oci/oci_api_key.pem) - 若私钥丢失或泄露,需立即在控制台「API密钥」页面删除对应公钥,重新生成新的密钥对
内容的提问来源于stack exchange,提问作者madol
相关产品推荐
相关产品推荐

