我創建使用牡丹:連載ECDH私鑰
Botan::EC_Group ecgroup("brainpool512r1");
Botan::ECDH_PrivateKey privKey(CBotanInitEx::RNG(), ecgroup);
新的密鑰對
嘗試使用PKCS#8序列化,按照建議在這裏(相對於RSA,這是快!) : https://botan.randombit.net/manual/pubkey.html#serializing-public-keys
datPubKey = Botan::X509::BER_encode(privKey);
txtPubKey = Botan::X509::PEM_encode(privKey);
datPrivKey = Botan::PKCS8::BER_encode(privKey, CBotanInitEx::RNG(), pwd);
txtPrivKey = Botan::PKCS8::PEM_encode(privKey, CBotanInitEx::RNG(), pwd);
我得到一個異常:
PK algo ECDH has no defined OIDs
即使牡丹初始化並通過這條線:
add_oid(config, "1.3.36.3.3.2.8.1.1.13", "brainpool512r1");
如何序列化一個ECDH_PrivateKey?
曲線的OID與密鑰類型的OID不同。你爲什麼*需要*序列化ECDH密鑰?靜態DH沒有那麼用。或者你是否將它用於ECDSA(不同的算法,相同的密鑰類型)? –
猜猜我需要閱讀我實際上在做什麼 - 所有的TLA..FLA都在讓我的腦袋旋轉。我來自現有的RSA公鑰「示例」,其中密鑰被序列化以用於端點之間的交換。 – peterchen