MCPcopy Create free account
hub / github.com/akash-network/node / Read

Method Read

x/cert/utils/key_pair_manager.go:217–247  ·  view source on GitHub ↗
(fin ...io.Reader)

Source from the content-addressed store, hash-verified

215}
216
217func (kpm *keyPairManager) Read(fin ...io.Reader) ([]byte, []byte, []byte, error) {
218 var pemIn io.Reader
219 var closeMe io.ReadCloser
220
221 if len(fin) != 0 {
222 if len(fin) != 1 {
223 return nil, nil, nil, fmt.Errorf("%w: Read() takes exactly 1 or 0 arguments, not %d", certerrors.ErrCertificate, len(fin))
224 }
225 pemIn = fin[0]
226 }
227
228 if pemIn == nil {
229 fopen, err := os.OpenFile(kpm.getKeyPath(), os.O_RDONLY, 0x0)
230 if err != nil {
231 return nil, nil, nil, fmt.Errorf("could not open certificate PEM file: %w", err)
232 }
233 closeMe = fopen
234 pemIn = fopen
235 }
236
237 cert, privKey, pubKey, err := kpm.readImpl(pemIn)
238
239 if closeMe != nil {
240 closeErr := closeMe.Close()
241 if closeErr != nil {
242 return nil, nil, nil, fmt.Errorf("could not close PEM file: %w", closeErr)
243 }
244 }
245
246 return cert, privKey, pubKey, err
247}
248
249func (kpm *keyPairManager) readImpl(fin io.Reader) ([]byte, []byte, []byte, error) {
250 buf := &bytes.Buffer{}

Callers 1

ReadX509KeyPairMethod · 0.95

Calls 3

getKeyPathMethod · 0.95
readImplMethod · 0.95
CloseMethod · 0.65

Tested by

no test coverage detected