code: func ToPEM(pfxData []byte, password string) ([]*pem.Block, error) {
  	encodedPassword, err := bmpString(password)
  	if err != nil {
  		return nil, ErrIncorrectPassword
  	}
  
  	bags, encodedPassword, err := getSafeContents(pfxData, encodedPassword)
  
  	if err != nil {
  		return nil, err
  	}
  
  	blocks := make([]*pem.Block, 0, len(bags))
  	for _, bag := range bags {
  		block, err := convertBag(&bag, encodedPassword)
  		if err != nil {
  			return nil, err
  		}
  		blocks = append(blocks, block)
  	}
  
  	return blocks, nil
  }
docs: // ConvertToPEM converts all "safe bags" contained in pfxData to PEM blocks.