Из российских дворян. Службу начал сержантом в Смоленском пехотном полку 20 февраля 1776 г. 15 марта 1782 г. был переведён капралом в л.-гв. Измайловский полк. Из гвардии выпущен подпоручиком в Малороссийский гренадерский полк 1 октября 1787 г.
Участвовал в русско-турецкой войне 1787—1791 гг. и польской кампании 1794 г. В 1803 г. переведён майором в Подольский мушкетерский полк, из которого через некоторое время возвращён назад.
В сражении под Аустерлицем был ранен пулей в правую щёку и за отличие награждён 12 января 1806 года орденом Св. Георгия 4-го кл.
в воздаяние отличного мужества и храбрости, оказанных в сражениях против французских войск, где 24 октября при м.Этингене с неустрашимостью поражал несколько раз неприятеля штыками и 30 при Кремсе, будучи на правом фланге в горах и действуя с расторопностью, опрокидывал неприятеля штыками и огнем, собирал рассеянных людей и, останавливая идущих назад обращал их против неприятеля.
20 августа 1807 г. был назначен командиром Малороссийского гренадерского полка, а 12 декабря 1807 г. произведён в подполковники. 24 апреля 1809 г. уволен от службы «за ранами» с мундиром и полной пенсией и с производством в чин полковника.
21 апреля 1810 г. принят прежним подполковничьим чином в 1-й морской полк на должность полкового командира. 31 января 1811 г. зачислен в л.-гв. Егерский полк с оставлением командиром в 1-м морском полку. 23 июня 1811 г. произведён в полковники. Командиром Екатеринославского гренадерского полка назначен 5 октября 1811 г.
В начале 1812 г. Екатеринославский гренадерский полк, командиром которого был Криштафович, в составе 2-й бригады 1-й гренадерской дивизии входил в 3-й пехотный корпус 1-й Западной армии. За отличие в Бородинской битве награждён орденом Св. Владимира 4-й ст. с бантом. Получил ранение в правую руку. Принимал участие в заграничных кампаниях 1813—1814 гг. За проявленную храбрость и мужество 15 сентября 1813 г. пожалован чином генерал-майора.
После войны состоял при начальнике 1-й, а затем 2-й гренадерской дивизии. 11 сентября 1816 г. назначен командиром 2-й бригады 2-й гренадерской дивизии, затем командовал бригадами в 12-й и 10-й пехотных дивизиях. 11 мая 1824 г. назначен начальником 2-й пехотной дивизии. 22 августа 1826 г. произведён в генерал-лейтенанты. 30 марта 1829 г. назначен командовать войсками в Динабурге.