2017-07-25 21 views
1

我正在嘗試使用java實現snmpset, 和我正在使用bouncy castle版本1.52庫來編碼oids的值,現在我想編碼一個IP地址,我如何重新調整它? 我嘗試這樣做:如何使用彈性城堡庫編碼ip地址?

new GeneralName(GeneralName.iPAddress,"xx.xx.xx.xx"); 

卻得到了一個

snmpInASNParseErrs

錯誤

UPDATE:

OK,我覺得我很接近權現在回答,我用這個:

InetAddress ip = InetAddress.getByName("xx.xx.xx.xx"); 
byte[] bytes = ip.getAddress(); 
v.add(new DERApplicationSpecific(0, new DEROctetString(bytes))); 

現在,結果是:

C/X/IpAddress_04_04_0a_00_00_64

還需要更多的幫助!

+0

可能這是一個重複的問題。你有沒有檢查過https://stackoverflow.com/questions/43677981?答案建議升級到BC v1.56。 – Robert

+0

更新至1.56,仍然收到錯誤 – zenis

回答

0

最後,我解決了這個問題,通過這樣的:

InetAddress ip = InetAddress.getByName(ipv4Address); 
byte[] bytes = ip.getAddress(); 
v.add(new DERApplicationSpecific(0, bytes));