Electrostatic potentials around DNA are obtained by solving the nonlinear Poisson-Boltzmann (PB) equation. The detailed charge distribution of the DNA and the different polarizabilities of the macromolecule and solvent are included explicitly in the calculations. The PB equation is solved using extensions of a finite difference approach applied previously to proteins. Electrical potentials and ion concentrations are compared to those obtained with simpler models. It is found that the shape of the dielectric boundary between the macromolecule and solvent has significant effects on the calculated potentials near the surface, particularly in the grooves. Sequence-specific patterns are found, the most surprising result being the existence of positive regions of potential near the bases in both the major and minor grooves. The effect of solvent and ionic atmosphere screening of phosphate-phosphate repulsions is studied, and an effective dielectric function, appropriate for molecular mechanics simulations, is derived.